Files
qiming/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-KaWiGpaZ.js
2026-06-12 21:17:51 +08:00

269 lines
737 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
(function(){const a=document.createElement("link").relList;if(a&&a.supports&&a.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const d of o)if(d.type==="childList")for(const p of d.addedNodes)p.tagName==="LINK"&&p.rel==="modulepreload"&&r(p)}).observe(document,{childList:!0,subtree:!0});function l(o){const d={};return o.integrity&&(d.integrity=o.integrity),o.referrerPolicy&&(d.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?d.credentials="include":o.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function r(o){if(o.ep)return;o.ep=!0;const d=l(o);fetch(o.href,d)}})();function Zk(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Df={exports:{}},Or={};/**
* @license React
* react-jsx-runtime.production.js
*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var $g;function Jk(){if($g)return Or;$g=1;var e=Symbol.for("react.transitional.element"),a=Symbol.for("react.fragment");function l(r,o,d){var p=null;if(d!==void 0&&(p=""+d),o.key!==void 0&&(p=""+o.key),"key"in o){d={};for(var h in o)h!=="key"&&(d[h]=o[h])}else d=o;return o=d.ref,{$$typeof:e,type:r,key:p,ref:o!==void 0?o:null,props:d}}return Or.Fragment=a,Or.jsx=l,Or.jsxs=l,Or}var Dg;function Fk(){return Dg||(Dg=1,Df.exports=Jk()),Df.exports}var s=Fk(),zf={exports:{}},Re={};/**
* @license React
* react.production.js
*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var zg;function Pk(){if(zg)return Re;zg=1;var e=Symbol.for("react.transitional.element"),a=Symbol.for("react.portal"),l=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),d=Symbol.for("react.consumer"),p=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),_=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),x=Symbol.for("react.lazy"),S=Symbol.for("react.activity"),C=Symbol.iterator;function z(E){return E===null||typeof E!="object"?null:(E=C&&E[C]||E["@@iterator"],typeof E=="function"?E:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},D=Object.assign,N={};function k(E,J,se){this.props=E,this.context=J,this.refs=N,this.updater=se||w}k.prototype.isReactComponent={},k.prototype.setState=function(E,J){if(typeof E!="object"&&typeof E!="function"&&E!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,E,J,"setState")},k.prototype.forceUpdate=function(E){this.updater.enqueueForceUpdate(this,E,"forceUpdate")};function A(){}A.prototype=k.prototype;function O(E,J,se){this.props=E,this.context=J,this.refs=N,this.updater=se||w}var te=O.prototype=new A;te.constructor=O,D(te,k.prototype),te.isPureReactComponent=!0;var I=Array.isArray;function ie(){}var Z={H:null,A:null,T:null,S:null},K=Object.prototype.hasOwnProperty;function pe(E,J,se){var ue=se.ref;return{$$typeof:e,type:E,key:J,ref:ue!==void 0?ue:null,props:se}}function P(E,J){return pe(E.type,J,E.props)}function q(E){return typeof E=="object"&&E!==null&&E.$$typeof===e}function ce(E){var J={"=":"=0",":":"=2"};return"$"+E.replace(/[=:]/g,function(se){return J[se]})}var R=/\/+/g;function M(E,J){return typeof E=="object"&&E!==null&&E.key!=null?ce(""+E.key):J.toString(36)}function ne(E){switch(E.status){case"fulfilled":return E.value;case"rejected":throw E.reason;default:switch(typeof E.status=="string"?E.then(ie,ie):(E.status="pending",E.then(function(J){E.status==="pending"&&(E.status="fulfilled",E.value=J)},function(J){E.status==="pending"&&(E.status="rejected",E.reason=J)})),E.status){case"fulfilled":return E.value;case"rejected":throw E.reason}}throw E}function B(E,J,se,ue,ve){var Ee=typeof E;(Ee==="undefined"||Ee==="boolean")&&(E=null);var ae=!1;if(E===null)ae=!0;else switch(Ee){case"bigint":case"string":case"number":ae=!0;break;case"object":switch(E.$$typeof){case e:case a:ae=!0;break;case x:return ae=E._init,B(ae(E._payload),J,se,ue,ve)}}if(ae)return ve=ve(E),ae=ue===""?"."+M(E,0):ue,I(ve)?(se="",ae!=null&&(se=ae.replace(R,"$&/")+"/"),B(ve,J,se,"",function(V){return V})):ve!=null&&(q(ve)&&(ve=P(ve,se+(ve.key==null||E&&E.key===ve.key?"":(""+ve.key).replace(R,"$&/")+"/")+ae)),J.push(ve)),1;ae=0;var he=ue===""?".":ue+":";if(I(E))for(var Ie=0;Ie<E.length;Ie++)ue=E[Ie],Ee=he+M(ue,Ie),ae+=B(ue,J,se,Ee,ve);else if(Ie=z(E),typeof Ie=="function")for(E=Ie.call(E),Ie=0;!(ue=E.next()).done;)ue=ue.value,Ee=he+M(ue,Ie++),ae+=B(ue,J,se,Ee,ve);else if(Ee==="object"){if(typeof E.then=="function")return B(ne(E),J,se,ue,ve);throw J=String(E),Error("Objects are not valid as a React child (found: "+(J==="[object Object]"?"object with keys {"+Object.keys(E).join(", ")+"}":J)+"). If you meant to render a collection of children, use an array instead.")}return ae}function U(E,J,se){if(E==null)return E;var ue=[],ve=0;return B(E,ue,"","",function(Ee){return J.call(se,Ee,ve++)}),ue}function le(E){if(E._status===-1){var J=E._result;J=J(),J.then(function(se){(E._status===0||E._status===-1)&&(E._status=1,E._result=se)},function(se){(E._status===0||E._status===-1)&&(E._status=2,E._result=se)}),E._status===-1&&(E._status=0,E._result=J)}if(E._status===1)return E._result.default;throw E._result}var de=typeof reportError=="function"?reportError:function(E){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var J=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof E=="object"&&E!==null&&typeof E.message=="string"?String(E.message):String(E),error:E});if(!window.dispatchEvent(J))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",E);return}console.error(E)},Te={map:U,forEach:function(E,J,se){U(E,function(){J.apply(this,arguments)},se)},count:function(E){var J=0;return U(E,function(){J++}),J},toArray:function(E){return U(E,function(J){return J})||[]},only:function(E){if(!q(E))throw Error("React.Children.only expected to receive a single React element child.");return E}};return Re.Activity=S,Re.Children=Te,Re.Component=k,Re.Fragment=l,Re.Profiler=o,Re.PureComponent=O,Re.StrictMode=r,Re.Suspense=_,Re.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Z,Re.__COMPILER_RUNTIME={__proto__:null,c:function(E){return Z.H.useMemoCache(E)}},Re.cache=function(E){return function(){return E.apply(null,arguments)}},Re.cacheSignal=function(){return null},Re.cloneElement=function(E,J,se){if(E==null)throw Error("The argument must be a React element, but you passed "+E+".");var ue=D({},E.props),ve=E.key;if(J!=null)for(Ee in J.key!==void 0&&(ve=""+J.key),J)!K.call(J,Ee)||Ee==="key"||Ee==="__self"||Ee==="__source"||Ee==="ref"&&J.ref===void 0||(ue[Ee]=J[Ee]);var Ee=arguments.length-2;if(Ee===1)ue.children=se;else if(1<Ee){for(var ae=Array(Ee),he=0;he<Ee;he++)ae[he]=arguments[he+2];ue.children=ae}return pe(E.type,ve,ue)},Re.createContext=function(E){return E={$$typeof:p,_currentValue:E,_currentValue2:E,_threadCount:0,Provider:null,Consumer:null},E.Provider=E,E.Consumer={$$typeof:d,_context:E},E},Re.createElement=function(E,J,se){var ue,ve={},Ee=null;if(J!=null)for(ue in J.key!==void 0&&(Ee=""+J.key),J)K.call(J,ue)&&ue!=="key"&&ue!=="__self"&&ue!=="__source"&&(ve[ue]=J[ue]);var ae=arguments.length-2;if(ae===1)ve.children=se;else if(1<ae){for(var he=Array(ae),Ie=0;Ie<ae;Ie++)he[Ie]=arguments[Ie+2];ve.children=he}if(E&&E.defaultProps)for(ue in ae=E.defaultProps,ae)ve[ue]===void 0&&(ve[ue]=ae[ue]);return pe(E,Ee,ve)},Re.createRef=function(){return{current:null}},Re.forwardRef=function(E){return{$$typeof:h,render:E}},Re.isValidElement=q,Re.lazy=function(E){return{$$typeof:x,_payload:{_status:-1,_result:E},_init:le}},Re.memo=function(E,J){return{$$typeof:g,type:E,compare:J===void 0?null:J}},Re.startTransition=function(E){var J=Z.T,se={};Z.T=se;try{var ue=E(),ve=Z.S;ve!==null&&ve(se,ue),typeof ue=="object"&&ue!==null&&typeof ue.then=="function"&&ue.then(ie,de)}catch(Ee){de(Ee)}finally{J!==null&&se.types!==null&&(J.types=se.types),Z.T=J}},Re.unstable_useCacheRefresh=function(){return Z.H.useCacheRefresh()},Re.use=function(E){return Z.H.use(E)},Re.useActionState=function(E,J,se){return Z.H.useActionState(E,J,se)},Re.useCallback=function(E,J){return Z.H.useCallback(E,J)},Re.useContext=function(E){return Z.H.useContext(E)},Re.useDebugValue=function(){},Re.useDeferredValue=function(E,J){return Z.H.useDeferredValue(E,J)},Re.useEffect=function(E,J){return Z.H.useEffect(E,J)},Re.useEffectEvent=function(E){return Z.H.useEffectEvent(E)},Re.useId=function(){return Z.H.useId()},Re.useImperativeHandle=function(E,J,se){return Z.H.useImperativeHandle(E,J,se)},Re.useInsertionEffect=function(E,J){return Z.H.useInsertionEffect(E,J)},Re.useLayoutEffect=function(E,J){return Z.H.useLayoutEffect(E,J)},Re.useMemo=function(E,J){return Z.H.useMemo(E,J)},Re.useOptimistic=function(E,J){return Z.H.useOptimistic(E,J)},Re.useReducer=function(E,J,se){return Z.H.useReducer(E,J,se)},Re.useRef=function(E){return Z.H.useRef(E)},Re.useState=function(E){return Z.H.useState(E)},Re.useSyncExternalStore=function(E,J,se){return Z.H.useSyncExternalStore(E,J,se)},Re.useTransition=function(){return Z.H.useTransition()},Re.version="19.2.7",Re}var Mg;function Tm(){return Mg||(Mg=1,zf.exports=Pk()),zf.exports}var v=Tm();const Wk=Zk(v);var Mf={exports:{}},qr={},Of={exports:{}},qf={};/**
* @license React
* scheduler.production.js
*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var Og;function e0(){return Og||(Og=1,(function(e){function a(B,U){var le=B.length;B.push(U);e:for(;0<le;){var de=le-1>>>1,Te=B[de];if(0<o(Te,U))B[de]=U,B[le]=Te,le=de;else break e}}function l(B){return B.length===0?null:B[0]}function r(B){if(B.length===0)return null;var U=B[0],le=B.pop();if(le!==U){B[0]=le;e:for(var de=0,Te=B.length,E=Te>>>1;de<E;){var J=2*(de+1)-1,se=B[J],ue=J+1,ve=B[ue];if(0>o(se,le))ue<Te&&0>o(ve,se)?(B[de]=ve,B[ue]=le,de=ue):(B[de]=se,B[J]=le,de=J);else if(ue<Te&&0>o(ve,le))B[de]=ve,B[ue]=le,de=ue;else break e}}return U}function o(B,U){var le=B.sortIndex-U.sortIndex;return le!==0?le:B.id-U.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var d=performance;e.unstable_now=function(){return d.now()}}else{var p=Date,h=p.now();e.unstable_now=function(){return p.now()-h}}var _=[],g=[],x=1,S=null,C=3,z=!1,w=!1,D=!1,N=!1,k=typeof setTimeout=="function"?setTimeout:null,A=typeof clearTimeout=="function"?clearTimeout:null,O=typeof setImmediate<"u"?setImmediate:null;function te(B){for(var U=l(g);U!==null;){if(U.callback===null)r(g);else if(U.startTime<=B)r(g),U.sortIndex=U.expirationTime,a(_,U);else break;U=l(g)}}function I(B){if(D=!1,te(B),!w)if(l(_)!==null)w=!0,ie||(ie=!0,ce());else{var U=l(g);U!==null&&ne(I,U.startTime-B)}}var ie=!1,Z=-1,K=5,pe=-1;function P(){return N?!0:!(e.unstable_now()-pe<K)}function q(){if(N=!1,ie){var B=e.unstable_now();pe=B;var U=!0;try{e:{w=!1,D&&(D=!1,A(Z),Z=-1),z=!0;var le=C;try{t:{for(te(B),S=l(_);S!==null&&!(S.expirationTime>B&&P());){var de=S.callback;if(typeof de=="function"){S.callback=null,C=S.priorityLevel;var Te=de(S.expirationTime<=B);if(B=e.unstable_now(),typeof Te=="function"){S.callback=Te,te(B),U=!0;break t}S===l(_)&&r(_),te(B)}else r(_);S=l(_)}if(S!==null)U=!0;else{var E=l(g);E!==null&&ne(I,E.startTime-B),U=!1}}break e}finally{S=null,C=le,z=!1}U=void 0}}finally{U?ce():ie=!1}}}var ce;if(typeof O=="function")ce=function(){O(q)};else if(typeof MessageChannel<"u"){var R=new MessageChannel,M=R.port2;R.port1.onmessage=q,ce=function(){M.postMessage(null)}}else ce=function(){k(q,0)};function ne(B,U){Z=k(function(){B(e.unstable_now())},U)}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(B){B.callback=null},e.unstable_forceFrameRate=function(B){0>B||125<B?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):K=0<B?Math.floor(1e3/B):5},e.unstable_getCurrentPriorityLevel=function(){return C},e.unstable_next=function(B){switch(C){case 1:case 2:case 3:var U=3;break;default:U=C}var le=C;C=U;try{return B()}finally{C=le}},e.unstable_requestPaint=function(){N=!0},e.unstable_runWithPriority=function(B,U){switch(B){case 1:case 2:case 3:case 4:case 5:break;default:B=3}var le=C;C=B;try{return U()}finally{C=le}},e.unstable_scheduleCallback=function(B,U,le){var de=e.unstable_now();switch(typeof le=="object"&&le!==null?(le=le.delay,le=typeof le=="number"&&0<le?de+le:de):le=de,B){case 1:var Te=-1;break;case 2:Te=250;break;case 5:Te=1073741823;break;case 4:Te=1e4;break;default:Te=5e3}return Te=le+Te,B={id:x++,callback:U,priorityLevel:B,startTime:le,expirationTime:Te,sortIndex:-1},le>de?(B.sortIndex=le,a(g,B),l(_)===null&&B===l(g)&&(D?(A(Z),Z=-1):D=!0,ne(I,le-de))):(B.sortIndex=Te,a(_,B),w||z||(w=!0,ie||(ie=!0,ce()))),B},e.unstable_shouldYield=P,e.unstable_wrapCallback=function(B){var U=C;return function(){var le=C;C=U;try{return B.apply(this,arguments)}finally{C=le}}}})(qf)),qf}var qg;function t0(){return qg||(qg=1,Of.exports=e0()),Of.exports}var Lf={exports:{}},Pt={};/**
* @license React
* react-dom.production.js
*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var Lg;function n0(){if(Lg)return Pt;Lg=1;var e=Tm();function a(_){var g="https://react.dev/errors/"+_;if(1<arguments.length){g+="?args[]="+encodeURIComponent(arguments[1]);for(var x=2;x<arguments.length;x++)g+="&args[]="+encodeURIComponent(arguments[x])}return"Minified React error #"+_+"; visit "+g+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function l(){}var r={d:{f:l,r:function(){throw Error(a(522))},D:l,C:l,L:l,m:l,X:l,S:l,M:l},p:0,findDOMNode:null},o=Symbol.for("react.portal");function d(_,g,x){var S=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o,key:S==null?null:""+S,children:_,containerInfo:g,implementation:x}}var p=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function h(_,g){if(_==="font")return"";if(typeof g=="string")return g==="use-credentials"?g:""}return Pt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,Pt.createPortal=function(_,g){var x=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!g||g.nodeType!==1&&g.nodeType!==9&&g.nodeType!==11)throw Error(a(299));return d(_,g,null,x)},Pt.flushSync=function(_){var g=p.T,x=r.p;try{if(p.T=null,r.p=2,_)return _()}finally{p.T=g,r.p=x,r.d.f()}},Pt.preconnect=function(_,g){typeof _=="string"&&(g?(g=g.crossOrigin,g=typeof g=="string"?g==="use-credentials"?g:"":void 0):g=null,r.d.C(_,g))},Pt.prefetchDNS=function(_){typeof _=="string"&&r.d.D(_)},Pt.preinit=function(_,g){if(typeof _=="string"&&g&&typeof g.as=="string"){var x=g.as,S=h(x,g.crossOrigin),C=typeof g.integrity=="string"?g.integrity:void 0,z=typeof g.fetchPriority=="string"?g.fetchPriority:void 0;x==="style"?r.d.S(_,typeof g.precedence=="string"?g.precedence:void 0,{crossOrigin:S,integrity:C,fetchPriority:z}):x==="script"&&r.d.X(_,{crossOrigin:S,integrity:C,fetchPriority:z,nonce:typeof g.nonce=="string"?g.nonce:void 0})}},Pt.preinitModule=function(_,g){if(typeof _=="string")if(typeof g=="object"&&g!==null){if(g.as==null||g.as==="script"){var x=h(g.as,g.crossOrigin);r.d.M(_,{crossOrigin:x,integrity:typeof g.integrity=="string"?g.integrity:void 0,nonce:typeof g.nonce=="string"?g.nonce:void 0})}}else g==null&&r.d.M(_)},Pt.preload=function(_,g){if(typeof _=="string"&&typeof g=="object"&&g!==null&&typeof g.as=="string"){var x=g.as,S=h(x,g.crossOrigin);r.d.L(_,x,{crossOrigin:S,integrity:typeof g.integrity=="string"?g.integrity:void 0,nonce:typeof g.nonce=="string"?g.nonce:void 0,type:typeof g.type=="string"?g.type:void 0,fetchPriority:typeof g.fetchPriority=="string"?g.fetchPriority:void 0,referrerPolicy:typeof g.referrerPolicy=="string"?g.referrerPolicy:void 0,imageSrcSet:typeof g.imageSrcSet=="string"?g.imageSrcSet:void 0,imageSizes:typeof g.imageSizes=="string"?g.imageSizes:void 0,media:typeof g.media=="string"?g.media:void 0})}},Pt.preloadModule=function(_,g){if(typeof _=="string")if(g){var x=h(g.as,g.crossOrigin);r.d.m(_,{as:typeof g.as=="string"&&g.as!=="script"?g.as:void 0,crossOrigin:x,integrity:typeof g.integrity=="string"?g.integrity:void 0})}else r.d.m(_)},Pt.requestFormReset=function(_){r.d.r(_)},Pt.unstable_batchedUpdates=function(_,g){return _(g)},Pt.useFormState=function(_,g,x){return p.H.useFormState(_,g,x)},Pt.useFormStatus=function(){return p.H.useHostTransitionStatus()},Pt.version="19.2.7",Pt}var Bg;function a0(){if(Bg)return Lf.exports;Bg=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(a){console.error(a)}}return e(),Lf.exports=n0(),Lf.exports}/**
* @license React
* react-dom-client.production.js
*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/var Ug;function l0(){if(Ug)return qr;Ug=1;var e=t0(),a=Tm(),l=a0();function r(t){var n="https://react.dev/errors/"+t;if(1<arguments.length){n+="?args[]="+encodeURIComponent(arguments[1]);for(var i=2;i<arguments.length;i++)n+="&args[]="+encodeURIComponent(arguments[i])}return"Minified React error #"+t+"; visit "+n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function o(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function d(t){var n=t,i=t;if(t.alternate)for(;n.return;)n=n.return;else{t=n;do n=t,(n.flags&4098)!==0&&(i=n.return),t=n.return;while(t)}return n.tag===3?i:null}function p(t){if(t.tag===13){var n=t.memoizedState;if(n===null&&(t=t.alternate,t!==null&&(n=t.memoizedState)),n!==null)return n.dehydrated}return null}function h(t){if(t.tag===31){var n=t.memoizedState;if(n===null&&(t=t.alternate,t!==null&&(n=t.memoizedState)),n!==null)return n.dehydrated}return null}function _(t){if(d(t)!==t)throw Error(r(188))}function g(t){var n=t.alternate;if(!n){if(n=d(t),n===null)throw Error(r(188));return n!==t?null:t}for(var i=t,c=n;;){var f=i.return;if(f===null)break;var m=f.alternate;if(m===null){if(c=f.return,c!==null){i=c;continue}break}if(f.child===m.child){for(m=f.child;m;){if(m===i)return _(f),t;if(m===c)return _(f),n;m=m.sibling}throw Error(r(188))}if(i.return!==c.return)i=f,c=m;else{for(var y=!1,j=f.child;j;){if(j===i){y=!0,i=f,c=m;break}if(j===c){y=!0,c=f,i=m;break}j=j.sibling}if(!y){for(j=m.child;j;){if(j===i){y=!0,i=m,c=f;break}if(j===c){y=!0,c=m,i=f;break}j=j.sibling}if(!y)throw Error(r(189))}}if(i.alternate!==c)throw Error(r(190))}if(i.tag!==3)throw Error(r(188));return i.stateNode.current===i?t:n}function x(t){var n=t.tag;if(n===5||n===26||n===27||n===6)return t;for(t=t.child;t!==null;){if(n=x(t),n!==null)return n;t=t.sibling}return null}var S=Object.assign,C=Symbol.for("react.element"),z=Symbol.for("react.transitional.element"),w=Symbol.for("react.portal"),D=Symbol.for("react.fragment"),N=Symbol.for("react.strict_mode"),k=Symbol.for("react.profiler"),A=Symbol.for("react.consumer"),O=Symbol.for("react.context"),te=Symbol.for("react.forward_ref"),I=Symbol.for("react.suspense"),ie=Symbol.for("react.suspense_list"),Z=Symbol.for("react.memo"),K=Symbol.for("react.lazy"),pe=Symbol.for("react.activity"),P=Symbol.for("react.memo_cache_sentinel"),q=Symbol.iterator;function ce(t){return t===null||typeof t!="object"?null:(t=q&&t[q]||t["@@iterator"],typeof t=="function"?t:null)}var R=Symbol.for("react.client.reference");function M(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===R?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case D:return"Fragment";case k:return"Profiler";case N:return"StrictMode";case I:return"Suspense";case ie:return"SuspenseList";case pe:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case w:return"Portal";case O:return t.displayName||"Context";case A:return(t._context.displayName||"Context")+".Consumer";case te:var n=t.render;return t=t.displayName,t||(t=n.displayName||n.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case Z:return n=t.displayName||null,n!==null?n:M(t.type)||"Memo";case K:n=t._payload,t=t._init;try{return M(t(n))}catch{}}return null}var ne=Array.isArray,B=a.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,U=l.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,le={pending:!1,data:null,method:null,action:null},de=[],Te=-1;function E(t){return{current:t}}function J(t){0>Te||(t.current=de[Te],de[Te]=null,Te--)}function se(t,n){Te++,de[Te]=t.current,t.current=n}var ue=E(null),ve=E(null),Ee=E(null),ae=E(null);function he(t,n){switch(se(Ee,n),se(ve,t),se(ue,null),n.nodeType){case 9:case 11:t=(t=n.documentElement)&&(t=t.namespaceURI)?tg(t):0;break;default:if(t=n.tagName,n=n.namespaceURI)n=tg(n),t=ng(n,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}J(ue),se(ue,t)}function Ie(){J(ue),J(ve),J(Ee)}function V(t){t.memoizedState!==null&&se(ae,t);var n=ue.current,i=ng(n,t.type);n!==i&&(se(ve,t),se(ue,i))}function Ce(t){ve.current===t&&(J(ue),J(ve)),ae.current===t&&(J(ae),$r._currentValue=le)}var yt,He;function Ke(t){if(yt===void 0)try{throw Error()}catch(i){var n=i.stack.trim().match(/\n( *(at )?)/);yt=n&&n[1]||"",He=-1<i.stack.indexOf(`
at`)?" (<anonymous>)":-1<i.stack.indexOf("@")?"@unknown:0:0":""}return`
`+yt+t+He}var Dt=!1;function wa(t,n){if(!t||Dt)return"";Dt=!0;var i=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var c={DetermineComponentFrameRoot:function(){try{if(n){var ee=function(){throw Error()};if(Object.defineProperty(ee.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(ee,[])}catch(X){var Y=X}Reflect.construct(t,[],ee)}else{try{ee.call()}catch(X){Y=X}t.call(ee.prototype)}}else{try{throw Error()}catch(X){Y=X}(ee=t())&&typeof ee.catch=="function"&&ee.catch(function(){})}}catch(X){if(X&&Y&&typeof X.stack=="string")return[X.stack,Y.stack]}return[null,null]}};c.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var f=Object.getOwnPropertyDescriptor(c.DetermineComponentFrameRoot,"name");f&&f.configurable&&Object.defineProperty(c.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var m=c.DetermineComponentFrameRoot(),y=m[0],j=m[1];if(y&&j){var T=y.split(`
`),G=j.split(`
`);for(f=c=0;c<T.length&&!T[c].includes("DetermineComponentFrameRoot");)c++;for(;f<G.length&&!G[f].includes("DetermineComponentFrameRoot");)f++;if(c===T.length||f===G.length)for(c=T.length-1,f=G.length-1;1<=c&&0<=f&&T[c]!==G[f];)f--;for(;1<=c&&0<=f;c--,f--)if(T[c]!==G[f]){if(c!==1||f!==1)do if(c--,f--,0>f||T[c]!==G[f]){var F=`
`+T[c].replace(" at new "," at ");return t.displayName&&F.includes("<anonymous>")&&(F=F.replace("<anonymous>",t.displayName)),F}while(1<=c&&0<=f);break}}}finally{Dt=!1,Error.prepareStackTrace=i}return(i=t?t.displayName||t.name:"")?Ke(i):""}function Ci(t,n){switch(t.tag){case 26:case 27:case 5:return Ke(t.type);case 16:return Ke("Lazy");case 13:return t.child!==n&&n!==null?Ke("Suspense Fallback"):Ke("Suspense");case 19:return Ke("SuspenseList");case 0:case 15:return wa(t.type,!1);case 11:return wa(t.type.render,!1);case 1:return wa(t.type,!0);case 31:return Ke("Activity");default:return""}}function Ms(t){try{var n="",i=null;do n+=Ci(t,i),i=t,t=t.return;while(t);return n}catch(c){return`
Error generating stack: `+c.message+`
`+c.stack}}var Ql=Object.prototype.hasOwnProperty,Ni=e.unstable_scheduleCallback,Ei=e.unstable_cancelCallback,oc=e.unstable_shouldYield,Os=e.unstable_requestPaint,Xt=e.unstable_now,Ai=e.unstable_getCurrentPriorityLevel,il=e.unstable_ImmediatePriority,Vl=e.unstable_UserBlockingPriority,sl=e.unstable_NormalPriority,En=e.unstable_LowPriority,Ca=e.unstable_IdlePriority,rl=e.log,dc=e.unstable_setDisableYieldValue,Xl=null,Ut=null;function ra(t){if(typeof rl=="function"&&dc(t),Ut&&typeof Ut.setStrictMode=="function")try{Ut.setStrictMode(Xl,t)}catch{}}var Wt=Math.clz32?Math.clz32:me,en=Math.log,uc=Math.LN2;function me(t){return t>>>=0,t===0?32:31-(en(t)/uc|0)|0}var ca=256,Fe=262144,Zt=4194304;function An(t){var n=t&42;if(n!==0)return n;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function sn(t,n,i){var c=t.pendingLanes;if(c===0)return 0;var f=0,m=t.suspendedLanes,y=t.pingedLanes;t=t.warmLanes;var j=c&134217727;return j!==0?(c=j&~m,c!==0?f=An(c):(y&=j,y!==0?f=An(y):i||(i=j&~t,i!==0&&(f=An(i))))):(j=c&~m,j!==0?f=An(j):y!==0?f=An(y):i||(i=c&~t,i!==0&&(f=An(i)))),f===0?0:n!==0&&n!==f&&(n&m)===0&&(m=f&-f,i=n&-n,m>=i||m===32&&(i&4194048)!==0)?n:f}function zt(t,n){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&n)===0}function Ti(t,n){switch(t){case 1:case 2:case 4:case 8:case 64:return n+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function oa(){var t=Zt;return Zt<<=1,(Zt&62914560)===0&&(Zt=4194304),t}function Na(t){for(var n=[],i=0;31>i;i++)n.push(t);return n}function Ea(t,n){t.pendingLanes|=n,n!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function tn(t,n,i,c,f,m){var y=t.pendingLanes;t.pendingLanes=i,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=i,t.entangledLanes&=i,t.errorRecoveryDisabledLanes&=i,t.shellSuspendCounter=0;var j=t.entanglements,T=t.expirationTimes,G=t.hiddenUpdates;for(i=y&~i;0<i;){var F=31-Wt(i),ee=1<<F;j[F]=0,T[F]=-1;var Y=G[F];if(Y!==null)for(G[F]=null,F=0;F<Y.length;F++){var X=Y[F];X!==null&&(X.lane&=-536870913)}i&=~ee}c!==0&&fc(t,c,0),m!==0&&f===0&&t.tag!==0&&(t.suspendedLanes|=m&~(y&~n))}function fc(t,n,i){t.pendingLanes|=n,t.suspendedLanes&=~n;var c=31-Wt(n);t.entangledLanes|=n,t.entanglements[c]=t.entanglements[c]|1073741824|i&261930}function qs(t,n){var i=t.entangledLanes|=n;for(t=t.entanglements;i;){var c=31-Wt(i),f=1<<c;f&n|t[c]&n&&(t[c]|=n),i&=~f}}function Aa(t,n){var i=n&-n;return i=(i&42)!==0?1:Ls(i),(i&(t.suspendedLanes|n))!==0?0:i}function Ls(t){switch(t){case 2:t=1;break;case 8:t=4;break;case 32:t=16;break;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:t=128;break;case 268435456:t=134217728;break;default:t=0}return t}function Zl(t){return t&=-t,2<t?8<t?(t&134217727)!==0?32:268435456:8:2}function mc(){var t=U.p;return t!==0?t:(t=window.event,t===void 0?32:wg(t.type))}function pc(t,n){var i=U.p;try{return U.p=t,n()}finally{U.p=i}}var da=Math.random().toString(36).slice(2),Mt="__reactFiber$"+da,pt="__reactProps$"+da,Xe="__reactContainer$"+da,Me="__reactEvents$"+da,Bs="__reactListeners$"+da,sp="__reactHandles$"+da,Yn="__reactResources$"+da,Ri="__reactMarker$"+da;function Tn(t){delete t[Mt],delete t[pt],delete t[Me],delete t[Bs],delete t[sp]}function ze(t){var n=t[Mt];if(n)return n;for(var i=t.parentNode;i;){if(n=i[Xe]||i[Mt]){if(i=n.alternate,n.child!==null||i!==null&&i.child!==null)for(t=og(t);t!==null;){if(i=t[Mt])return i;t=og(t)}return n}t=i,i=t.parentNode}return null}function Kn(t){if(t=t[Mt]||t[Xe]){var n=t.tag;if(n===5||n===6||n===13||n===31||n===26||n===27||n===3)return t}return null}function Et(t){var n=t.tag;if(n===5||n===26||n===27||n===6)return t.stateNode;throw Error(r(33))}function Ta(t){var n=t[Yn];return n||(n=t[Yn]={hoistableStyles:new Map,hoistableScripts:new Map}),n}function St(t){t[Ri]=!0}var Ra=new Set,Ae={};function ua(t,n){Rn(t,n),Rn(t+"Capture",n)}function Rn(t,n){for(Ae[t]=n,t=0;t<n.length;t++)Ra.add(n[t])}var Td=RegExp("^[: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]*$"),Qn={},fa={};function Rd(t){return Ql.call(fa,t)?!0:Ql.call(Qn,t)?!1:Td.test(t)?fa[t]=!0:(Qn[t]=!0,!1)}function $i(t,n,i){if(Rd(n))if(i===null)t.removeAttribute(n);else{switch(typeof i){case"undefined":case"function":case"symbol":t.removeAttribute(n);return;case"boolean":var c=n.toLowerCase().slice(0,5);if(c!=="data-"&&c!=="aria-"){t.removeAttribute(n);return}}t.setAttribute(n,""+i)}}function It(t,n,i){if(i===null)t.removeAttribute(n);else{switch(typeof i){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(n);return}t.setAttribute(n,""+i)}}function Vn(t,n,i,c){if(c===null)t.removeAttribute(i);else{switch(typeof c){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(i);return}t.setAttributeNS(n,i,""+c)}}function rn(t){switch(typeof t){case"bigint":case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function _c(t){var n=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function $d(t,n,i){var c=Object.getOwnPropertyDescriptor(t.constructor.prototype,n);if(!t.hasOwnProperty(n)&&typeof c<"u"&&typeof c.get=="function"&&typeof c.set=="function"){var f=c.get,m=c.set;return Object.defineProperty(t,n,{configurable:!0,get:function(){return f.call(this)},set:function(y){i=""+y,m.call(this,y)}}),Object.defineProperty(t,n,{enumerable:c.enumerable}),{getValue:function(){return i},setValue:function(y){i=""+y},stopTracking:function(){t._valueTracker=null,delete t[n]}}}}function Jl(t){if(!t._valueTracker){var n=_c(t)?"checked":"value";t._valueTracker=$d(t,n,""+t[n])}}function Us(t){if(!t)return!1;var n=t._valueTracker;if(!n)return!0;var i=n.getValue(),c="";return t&&(c=_c(t)?t.checked?"true":"false":t.value),t=c,t!==i?(n.setValue(t),!0):!1}function Fl(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Dd=/[\n"\\]/g;function Jt(t){return t.replace(Dd,function(n){return"\\"+n.charCodeAt(0).toString(16)+" "})}function Di(t,n,i,c,f,m,y,j){t.name="",y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"?t.type=y:t.removeAttribute("type"),n!=null?y==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+rn(n)):t.value!==""+rn(n)&&(t.value=""+rn(n)):y!=="submit"&&y!=="reset"||t.removeAttribute("value"),n!=null?Mi(t,y,rn(n)):i!=null?Mi(t,y,rn(i)):c!=null&&t.removeAttribute("value"),f==null&&m!=null&&(t.defaultChecked=!!m),f!=null&&(t.checked=f&&typeof f!="function"&&typeof f!="symbol"),j!=null&&typeof j!="function"&&typeof j!="symbol"&&typeof j!="boolean"?t.name=""+rn(j):t.removeAttribute("name")}function zi(t,n,i,c,f,m,y,j){if(m!=null&&typeof m!="function"&&typeof m!="symbol"&&typeof m!="boolean"&&(t.type=m),n!=null||i!=null){if(!(m!=="submit"&&m!=="reset"||n!=null)){Jl(t);return}i=i!=null?""+rn(i):"",n=n!=null?""+rn(n):i,j||n===t.value||(t.value=n),t.defaultValue=n}c=c??f,c=typeof c!="function"&&typeof c!="symbol"&&!!c,t.checked=j?t.checked:!!c,t.defaultChecked=!!c,y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"&&(t.name=y),Jl(t)}function Mi(t,n,i){n==="number"&&Fl(t.ownerDocument)===t||t.defaultValue===""+i||(t.defaultValue=""+i)}function $a(t,n,i,c){if(t=t.options,n){n={};for(var f=0;f<i.length;f++)n["$"+i[f]]=!0;for(i=0;i<t.length;i++)f=n.hasOwnProperty("$"+t[i].value),t[i].selected!==f&&(t[i].selected=f),f&&c&&(t[i].defaultSelected=!0)}else{for(i=""+rn(i),n=null,f=0;f<t.length;f++){if(t[f].value===i){t[f].selected=!0,c&&(t[f].defaultSelected=!0);return}n!==null||t[f].disabled||(n=t[f])}n!==null&&(n.selected=!0)}}function hc(t,n,i){if(n!=null&&(n=""+rn(n),n!==t.value&&(t.value=n),i==null)){t.defaultValue!==n&&(t.defaultValue=n);return}t.defaultValue=i!=null?""+rn(i):""}function Is(t,n,i,c){if(n==null){if(c!=null){if(i!=null)throw Error(r(92));if(ne(c)){if(1<c.length)throw Error(r(93));c=c[0]}i=c}i==null&&(i=""),n=i}i=rn(n),t.defaultValue=i,c=t.textContent,c===i&&c!==""&&c!==null&&(t.value=c),Jl(t)}function cl(t,n){if(n){var i=t.firstChild;if(i&&i===t.lastChild&&i.nodeType===3){i.nodeValue=n;return}}t.textContent=n}var gc=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function yc(t,n,i){var c=n.indexOf("--")===0;i==null||typeof i=="boolean"||i===""?c?t.setProperty(n,""):n==="float"?t.cssFloat="":t[n]="":c?t.setProperty(n,i):typeof i!="number"||i===0||gc.has(n)?n==="float"?t.cssFloat=i:t[n]=(""+i).trim():t[n]=i+"px"}function Hs(t,n,i){if(n!=null&&typeof n!="object")throw Error(r(62));if(t=t.style,i!=null){for(var c in i)!i.hasOwnProperty(c)||n!=null&&n.hasOwnProperty(c)||(c.indexOf("--")===0?t.setProperty(c,""):c==="float"?t.cssFloat="":t[c]="");for(var f in n)c=n[f],n.hasOwnProperty(f)&&i[f]!==c&&yc(t,f,c)}else for(var m in n)n.hasOwnProperty(m)&&yc(t,m,n[m])}function bc(t){if(t.indexOf("-")===-1)return!1;switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Pl=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),zd=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Oi(t){return zd.test(""+t)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":t}function Xn(){}var Gs=null;function Ys(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var ol=null,Da=null;function Ks(t){var n=Kn(t);if(n&&(t=n.stateNode)){var i=t[pt]||null;e:switch(t=n.stateNode,n.type){case"input":if(Di(t,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name),n=i.name,i.type==="radio"&&n!=null){for(i=t;i.parentNode;)i=i.parentNode;for(i=i.querySelectorAll('input[name="'+Jt(""+n)+'"][type="radio"]'),n=0;n<i.length;n++){var c=i[n];if(c!==t&&c.form===t.form){var f=c[pt]||null;if(!f)throw Error(r(90));Di(c,f.value,f.defaultValue,f.defaultValue,f.checked,f.defaultChecked,f.type,f.name)}}for(n=0;n<i.length;n++)c=i[n],c.form===t.form&&Us(c)}break e;case"textarea":hc(t,i.value,i.defaultValue);break e;case"select":n=i.value,n!=null&&$a(t,!!i.multiple,n,!1)}}}var qi=!1;function vc(t,n,i){if(qi)return t(n,i);qi=!0;try{var c=t(n);return c}finally{if(qi=!1,(ol!==null||Da!==null)&&(fo(),ol&&(n=ol,t=Da,Da=ol=null,Ks(n),t)))for(n=0;n<t.length;n++)Ks(t[n])}}function Wl(t,n){var i=t.stateNode;if(i===null)return null;var c=i[pt]||null;if(c===null)return null;i=c[n];e:switch(n){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(c=!c.disabled)||(t=t.type,c=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!c;break e;default:t=!1}if(t)return null;if(i&&typeof i!="function")throw Error(r(231,n,typeof i));return i}var Zn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Qs=!1;if(Zn)try{var dl={};Object.defineProperty(dl,"passive",{get:function(){Qs=!0}}),window.addEventListener("test",dl,dl),window.removeEventListener("test",dl,dl)}catch{Qs=!1}var ma=null,Vs=null,Li=null;function xc(){if(Li)return Li;var t,n=Vs,i=n.length,c,f="value"in ma?ma.value:ma.textContent,m=f.length;for(t=0;t<i&&n[t]===f[t];t++);var y=i-t;for(c=1;c<=y&&n[i-c]===f[m-c];c++);return Li=f.slice(t,1<c?1-c:void 0)}function Bi(t){var n=t.keyCode;return"charCode"in t?(t=t.charCode,t===0&&n===13&&(t=13)):t=n,t===10&&(t=13),32<=t||t===13?t:0}function Ui(){return!0}function Xs(){return!1}function Ft(t){function n(i,c,f,m,y){this._reactName=i,this._targetInst=f,this.type=c,this.nativeEvent=m,this.target=y,this.currentTarget=null;for(var j in t)t.hasOwnProperty(j)&&(i=t[j],this[j]=i?i(m):m[j]);return this.isDefaultPrevented=(m.defaultPrevented!=null?m.defaultPrevented:m.returnValue===!1)?Ui:Xs,this.isPropagationStopped=Xs,this}return S(n.prototype,{preventDefault:function(){this.defaultPrevented=!0;var i=this.nativeEvent;i&&(i.preventDefault?i.preventDefault():typeof i.returnValue!="unknown"&&(i.returnValue=!1),this.isDefaultPrevented=Ui)},stopPropagation:function(){var i=this.nativeEvent;i&&(i.stopPropagation?i.stopPropagation():typeof i.cancelBubble!="unknown"&&(i.cancelBubble=!0),this.isPropagationStopped=Ui)},persist:function(){},isPersistent:Ui}),n}var Jn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},pa=Ft(Jn),ei=S({},Jn,{view:0,detail:0}),Zs=Ft(ei),za,Js,ti,Ma=S({},ei,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Hi,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==ti&&(ti&&t.type==="mousemove"?(za=t.screenX-ti.screenX,Js=t.screenY-ti.screenY):Js=za=0,ti=t),za)},movementY:function(t){return"movementY"in t?t.movementY:Js}}),kc=Ft(Ma),Md=S({},Ma,{dataTransfer:0}),Fs=Ft(Md),Ps=S({},ei,{relatedTarget:0}),Ii=Ft(Ps),Od=S({},Jn,{animationName:0,elapsedTime:0,pseudoElement:0}),Ws=Ft(Od),Sc=S({},Jn,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),ul=Ft(Sc),qd=S({},Jn,{data:0}),jc=Ft(qd),Ld={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},wc={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"},Cc={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Nc(t){var n=this.nativeEvent;return n.getModifierState?n.getModifierState(t):(t=Cc[t])?!!n[t]:!1}function Hi(){return Nc}var Ec=S({},ei,{key:function(t){if(t.key){var n=Ld[t.key]||t.key;if(n!=="Unidentified")return n}return t.type==="keypress"?(t=Bi(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?wc[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Hi,charCode:function(t){return t.type==="keypress"?Bi(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?Bi(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),Ac=Ft(Ec),b=S({},Ma,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Q=Ft(b),re=S({},ei,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Hi}),ye=Ft(re),_e=S({},Jn,{propertyName:0,elapsedTime:0,pseudoElement:0}),Qe=Ft(_e),_t=S({},Ma,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),at=Ft(_t),ke=S({},Jn,{newState:0,oldState:0}),dt=Ft(ke),et=[9,13,27,32],cn=Zn&&"CompositionEvent"in window,Fn=null;Zn&&"documentMode"in document&&(Fn=document.documentMode);var yx=Zn&&"TextEvent"in window&&!Fn,rp=Zn&&(!cn||Fn&&8<Fn&&11>=Fn),cp=" ",op=!1;function dp(t,n){switch(t){case"keyup":return et.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function up(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Gi=!1;function bx(t,n){switch(t){case"compositionend":return up(n);case"keypress":return n.which!==32?null:(op=!0,cp);case"textInput":return t=n.data,t===cp&&op?null:t;default:return null}}function vx(t,n){if(Gi)return t==="compositionend"||!cn&&dp(t,n)?(t=xc(),Li=Vs=ma=null,Gi=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1<n.char.length)return n.char;if(n.which)return String.fromCharCode(n.which)}return null;case"compositionend":return rp&&n.locale!=="ko"?null:n.data;default:return null}}var xx={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 fp(t){var n=t&&t.nodeName&&t.nodeName.toLowerCase();return n==="input"?!!xx[t.type]:n==="textarea"}function mp(t,n,i,c){ol?Da?Da.push(c):Da=[c]:ol=c,n=bo(n,"onChange"),0<n.length&&(i=new pa("onChange","change",null,i,c),t.push({event:i,listeners:n}))}var er=null,tr=null;function kx(t){Zh(t,0)}function Tc(t){var n=Et(t);if(Us(n))return t}function pp(t,n){if(t==="change")return n}var _p=!1;if(Zn){var Bd;if(Zn){var Ud="oninput"in document;if(!Ud){var hp=document.createElement("div");hp.setAttribute("oninput","return;"),Ud=typeof hp.oninput=="function"}Bd=Ud}else Bd=!1;_p=Bd&&(!document.documentMode||9<document.documentMode)}function gp(){er&&(er.detachEvent("onpropertychange",yp),tr=er=null)}function yp(t){if(t.propertyName==="value"&&Tc(tr)){var n=[];mp(n,tr,t,Ys(t)),vc(kx,n)}}function Sx(t,n,i){t==="focusin"?(gp(),er=n,tr=i,er.attachEvent("onpropertychange",yp)):t==="focusout"&&gp()}function jx(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return Tc(tr)}function wx(t,n){if(t==="click")return Tc(n)}function Cx(t,n){if(t==="input"||t==="change")return Tc(n)}function Nx(t,n){return t===n&&(t!==0||1/t===1/n)||t!==t&&n!==n}var bn=typeof Object.is=="function"?Object.is:Nx;function nr(t,n){if(bn(t,n))return!0;if(typeof t!="object"||t===null||typeof n!="object"||n===null)return!1;var i=Object.keys(t),c=Object.keys(n);if(i.length!==c.length)return!1;for(c=0;c<i.length;c++){var f=i[c];if(!Ql.call(n,f)||!bn(t[f],n[f]))return!1}return!0}function bp(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function vp(t,n){var i=bp(t);t=0;for(var c;i;){if(i.nodeType===3){if(c=t+i.textContent.length,t<=n&&c>=n)return{node:i,offset:n-t};t=c}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=bp(i)}}function xp(t,n){return t&&n?t===n?!0:t&&t.nodeType===3?!1:n&&n.nodeType===3?xp(t,n.parentNode):"contains"in t?t.contains(n):t.compareDocumentPosition?!!(t.compareDocumentPosition(n)&16):!1:!1}function kp(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var n=Fl(t.document);n instanceof t.HTMLIFrameElement;){try{var i=typeof n.contentWindow.location.href=="string"}catch{i=!1}if(i)t=n.contentWindow;else break;n=Fl(t.document)}return n}function Id(t){var n=t&&t.nodeName&&t.nodeName.toLowerCase();return n&&(n==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||n==="textarea"||t.contentEditable==="true")}var Ex=Zn&&"documentMode"in document&&11>=document.documentMode,Yi=null,Hd=null,ar=null,Gd=!1;function Sp(t,n,i){var c=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;Gd||Yi==null||Yi!==Fl(c)||(c=Yi,"selectionStart"in c&&Id(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),ar&&nr(ar,c)||(ar=c,c=bo(Hd,"onSelect"),0<c.length&&(n=new pa("onSelect","select",null,n,i),t.push({event:n,listeners:c}),n.target=Yi)))}function ni(t,n){var i={};return i[t.toLowerCase()]=n.toLowerCase(),i["Webkit"+t]="webkit"+n,i["Moz"+t]="moz"+n,i}var Ki={animationend:ni("Animation","AnimationEnd"),animationiteration:ni("Animation","AnimationIteration"),animationstart:ni("Animation","AnimationStart"),transitionrun:ni("Transition","TransitionRun"),transitionstart:ni("Transition","TransitionStart"),transitioncancel:ni("Transition","TransitionCancel"),transitionend:ni("Transition","TransitionEnd")},Yd={},jp={};Zn&&(jp=document.createElement("div").style,"AnimationEvent"in window||(delete Ki.animationend.animation,delete Ki.animationiteration.animation,delete Ki.animationstart.animation),"TransitionEvent"in window||delete Ki.transitionend.transition);function ai(t){if(Yd[t])return Yd[t];if(!Ki[t])return t;var n=Ki[t],i;for(i in n)if(n.hasOwnProperty(i)&&i in jp)return Yd[t]=n[i];return t}var wp=ai("animationend"),Cp=ai("animationiteration"),Np=ai("animationstart"),Ax=ai("transitionrun"),Tx=ai("transitionstart"),Rx=ai("transitioncancel"),Ep=ai("transitionend"),Ap=new Map,Kd="abort auxClick beforeToggle 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(" ");Kd.push("scrollEnd");function Pn(t,n){Ap.set(t,n),ua(n,[t])}var Rc=typeof reportError=="function"?reportError:function(t){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var n=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof t=="object"&&t!==null&&typeof t.message=="string"?String(t.message):String(t),error:t});if(!window.dispatchEvent(n))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",t);return}console.error(t)},$n=[],Qi=0,Qd=0;function $c(){for(var t=Qi,n=Qd=Qi=0;n<t;){var i=$n[n];$n[n++]=null;var c=$n[n];$n[n++]=null;var f=$n[n];$n[n++]=null;var m=$n[n];if($n[n++]=null,c!==null&&f!==null){var y=c.pending;y===null?f.next=f:(f.next=y.next,y.next=f),c.pending=f}m!==0&&Tp(i,f,m)}}function Dc(t,n,i,c){$n[Qi++]=t,$n[Qi++]=n,$n[Qi++]=i,$n[Qi++]=c,Qd|=c,t.lanes|=c,t=t.alternate,t!==null&&(t.lanes|=c)}function Vd(t,n,i,c){return Dc(t,n,i,c),zc(t)}function li(t,n){return Dc(t,null,null,n),zc(t)}function Tp(t,n,i){t.lanes|=i;var c=t.alternate;c!==null&&(c.lanes|=i);for(var f=!1,m=t.return;m!==null;)m.childLanes|=i,c=m.alternate,c!==null&&(c.childLanes|=i),m.tag===22&&(t=m.stateNode,t===null||t._visibility&1||(f=!0)),t=m,m=m.return;return t.tag===3?(m=t.stateNode,f&&n!==null&&(f=31-Wt(i),t=m.hiddenUpdates,c=t[f],c===null?t[f]=[n]:c.push(n),n.lane=i|536870912),m):null}function zc(t){if(50<wr)throw wr=0,nf=null,Error(r(185));for(var n=t.return;n!==null;)t=n,n=t.return;return t.tag===3?t.stateNode:null}var Vi={};function $x(t,n,i,c){this.tag=t,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=c,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function vn(t,n,i,c){return new $x(t,n,i,c)}function Xd(t){return t=t.prototype,!(!t||!t.isReactComponent)}function Oa(t,n){var i=t.alternate;return i===null?(i=vn(t.tag,n,t.key,t.mode),i.elementType=t.elementType,i.type=t.type,i.stateNode=t.stateNode,i.alternate=t,t.alternate=i):(i.pendingProps=n,i.type=t.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=t.flags&65011712,i.childLanes=t.childLanes,i.lanes=t.lanes,i.child=t.child,i.memoizedProps=t.memoizedProps,i.memoizedState=t.memoizedState,i.updateQueue=t.updateQueue,n=t.dependencies,i.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},i.sibling=t.sibling,i.index=t.index,i.ref=t.ref,i.refCleanup=t.refCleanup,i}function Rp(t,n){t.flags&=65011714;var i=t.alternate;return i===null?(t.childLanes=0,t.lanes=n,t.child=null,t.subtreeFlags=0,t.memoizedProps=null,t.memoizedState=null,t.updateQueue=null,t.dependencies=null,t.stateNode=null):(t.childLanes=i.childLanes,t.lanes=i.lanes,t.child=i.child,t.subtreeFlags=0,t.deletions=null,t.memoizedProps=i.memoizedProps,t.memoizedState=i.memoizedState,t.updateQueue=i.updateQueue,t.type=i.type,n=i.dependencies,t.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext}),t}function Mc(t,n,i,c,f,m){var y=0;if(c=t,typeof t=="function")Xd(t)&&(y=1);else if(typeof t=="string")y=qk(t,i,ue.current)?26:t==="html"||t==="head"||t==="body"?27:5;else e:switch(t){case pe:return t=vn(31,i,n,f),t.elementType=pe,t.lanes=m,t;case D:return ii(i.children,f,m,n);case N:y=8,f|=24;break;case k:return t=vn(12,i,n,f|2),t.elementType=k,t.lanes=m,t;case I:return t=vn(13,i,n,f),t.elementType=I,t.lanes=m,t;case ie:return t=vn(19,i,n,f),t.elementType=ie,t.lanes=m,t;default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case O:y=10;break e;case A:y=9;break e;case te:y=11;break e;case Z:y=14;break e;case K:y=16,c=null;break e}y=29,i=Error(r(130,t===null?"null":typeof t,"")),c=null}return n=vn(y,i,n,f),n.elementType=t,n.type=c,n.lanes=m,n}function ii(t,n,i,c){return t=vn(7,t,c,n),t.lanes=i,t}function Zd(t,n,i){return t=vn(6,t,null,n),t.lanes=i,t}function $p(t){var n=vn(18,null,null,0);return n.stateNode=t,n}function Jd(t,n,i){return n=vn(4,t.children!==null?t.children:[],t.key,n),n.lanes=i,n.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},n}var Dp=new WeakMap;function Dn(t,n){if(typeof t=="object"&&t!==null){var i=Dp.get(t);return i!==void 0?i:(n={value:t,source:n,stack:Ms(n)},Dp.set(t,n),n)}return{value:t,source:n,stack:Ms(n)}}var Xi=[],Zi=0,Oc=null,lr=0,zn=[],Mn=0,fl=null,_a=1,ha="";function qa(t,n){Xi[Zi++]=lr,Xi[Zi++]=Oc,Oc=t,lr=n}function zp(t,n,i){zn[Mn++]=_a,zn[Mn++]=ha,zn[Mn++]=fl,fl=t;var c=_a;t=ha;var f=32-Wt(c)-1;c&=~(1<<f),i+=1;var m=32-Wt(n)+f;if(30<m){var y=f-f%5;m=(c&(1<<y)-1).toString(32),c>>=y,f-=y,_a=1<<32-Wt(n)+f|i<<f|c,ha=m+t}else _a=1<<m|i<<f|c,ha=t}function Fd(t){t.return!==null&&(qa(t,1),zp(t,1,0))}function Pd(t){for(;t===Oc;)Oc=Xi[--Zi],Xi[Zi]=null,lr=Xi[--Zi],Xi[Zi]=null;for(;t===fl;)fl=zn[--Mn],zn[Mn]=null,ha=zn[--Mn],zn[Mn]=null,_a=zn[--Mn],zn[Mn]=null}function Mp(t,n){zn[Mn++]=_a,zn[Mn++]=ha,zn[Mn++]=fl,_a=n.id,ha=n.overflow,fl=t}var Ht=null,ut=null,Ge=!1,ml=null,On=!1,Wd=Error(r(519));function pl(t){var n=Error(r(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw ir(Dn(n,t)),Wd}function Op(t){var n=t.stateNode,i=t.type,c=t.memoizedProps;switch(n[Mt]=t,n[pt]=c,i){case"dialog":qe("cancel",n),qe("close",n);break;case"iframe":case"object":case"embed":qe("load",n);break;case"video":case"audio":for(i=0;i<Nr.length;i++)qe(Nr[i],n);break;case"source":qe("error",n);break;case"img":case"image":case"link":qe("error",n),qe("load",n);break;case"details":qe("toggle",n);break;case"input":qe("invalid",n),zi(n,c.value,c.defaultValue,c.checked,c.defaultChecked,c.type,c.name,!0);break;case"select":qe("invalid",n);break;case"textarea":qe("invalid",n),Is(n,c.value,c.defaultValue,c.children)}i=c.children,typeof i!="string"&&typeof i!="number"&&typeof i!="bigint"||n.textContent===""+i||c.suppressHydrationWarning===!0||Wh(n.textContent,i)?(c.popover!=null&&(qe("beforetoggle",n),qe("toggle",n)),c.onScroll!=null&&qe("scroll",n),c.onScrollEnd!=null&&qe("scrollend",n),c.onClick!=null&&(n.onclick=Xn),n=!0):n=!1,n||pl(t,!0)}function qp(t){for(Ht=t.return;Ht;)switch(Ht.tag){case 5:case 31:case 13:On=!1;return;case 27:case 3:On=!0;return;default:Ht=Ht.return}}function Ji(t){if(t!==Ht)return!1;if(!Ge)return qp(t),Ge=!0,!1;var n=t.tag,i;if((i=n!==3&&n!==27)&&((i=n===5)&&(i=t.type,i=!(i!=="form"&&i!=="button")||yf(t.type,t.memoizedProps)),i=!i),i&&ut&&pl(t),qp(t),n===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));ut=cg(t)}else if(n===31){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));ut=cg(t)}else n===27?(n=ut,El(t.type)?(t=Sf,Sf=null,ut=t):ut=n):ut=Ht?Ln(t.stateNode.nextSibling):null;return!0}function si(){ut=Ht=null,Ge=!1}function eu(){var t=ml;return t!==null&&(fn===null?fn=t:fn.push.apply(fn,t),ml=null),t}function ir(t){ml===null?ml=[t]:ml.push(t)}var tu=E(null),ri=null,La=null;function _l(t,n,i){se(tu,n._currentValue),n._currentValue=i}function Ba(t){t._currentValue=tu.current,J(tu)}function nu(t,n,i){for(;t!==null;){var c=t.alternate;if((t.childLanes&n)!==n?(t.childLanes|=n,c!==null&&(c.childLanes|=n)):c!==null&&(c.childLanes&n)!==n&&(c.childLanes|=n),t===i)break;t=t.return}}function au(t,n,i,c){var f=t.child;for(f!==null&&(f.return=t);f!==null;){var m=f.dependencies;if(m!==null){var y=f.child;m=m.firstContext;e:for(;m!==null;){var j=m;m=f;for(var T=0;T<n.length;T++)if(j.context===n[T]){m.lanes|=i,j=m.alternate,j!==null&&(j.lanes|=i),nu(m.return,i,t),c||(y=null);break e}m=j.next}}else if(f.tag===18){if(y=f.return,y===null)throw Error(r(341));y.lanes|=i,m=y.alternate,m!==null&&(m.lanes|=i),nu(y,i,t),y=null}else y=f.child;if(y!==null)y.return=f;else for(y=f;y!==null;){if(y===t){y=null;break}if(f=y.sibling,f!==null){f.return=y.return,y=f;break}y=y.return}f=y}}function Fi(t,n,i,c){t=null;for(var f=n,m=!1;f!==null;){if(!m){if((f.flags&524288)!==0)m=!0;else if((f.flags&262144)!==0)break}if(f.tag===10){var y=f.alternate;if(y===null)throw Error(r(387));if(y=y.memoizedProps,y!==null){var j=f.type;bn(f.pendingProps.value,y.value)||(t!==null?t.push(j):t=[j])}}else if(f===ae.current){if(y=f.alternate,y===null)throw Error(r(387));y.memoizedState.memoizedState!==f.memoizedState.memoizedState&&(t!==null?t.push($r):t=[$r])}f=f.return}t!==null&&au(n,t,i,c),n.flags|=262144}function qc(t){for(t=t.firstContext;t!==null;){if(!bn(t.context._currentValue,t.memoizedValue))return!0;t=t.next}return!1}function ci(t){ri=t,La=null,t=t.dependencies,t!==null&&(t.firstContext=null)}function Gt(t){return Lp(ri,t)}function Lc(t,n){return ri===null&&ci(t),Lp(t,n)}function Lp(t,n){var i=n._currentValue;if(n={context:n,memoizedValue:i,next:null},La===null){if(t===null)throw Error(r(308));La=n,t.dependencies={lanes:0,firstContext:n},t.flags|=524288}else La=La.next=n;return i}var Dx=typeof AbortController<"u"?AbortController:function(){var t=[],n=this.signal={aborted:!1,addEventListener:function(i,c){t.push(c)}};this.abort=function(){n.aborted=!0,t.forEach(function(i){return i()})}},zx=e.unstable_scheduleCallback,Mx=e.unstable_NormalPriority,At={$$typeof:O,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function lu(){return{controller:new Dx,data:new Map,refCount:0}}function sr(t){t.refCount--,t.refCount===0&&zx(Mx,function(){t.controller.abort()})}var rr=null,iu=0,Pi=0,Wi=null;function Ox(t,n){if(rr===null){var i=rr=[];iu=0,Pi=of(),Wi={status:"pending",value:void 0,then:function(c){i.push(c)}}}return iu++,n.then(Bp,Bp),n}function Bp(){if(--iu===0&&rr!==null){Wi!==null&&(Wi.status="fulfilled");var t=rr;rr=null,Pi=0,Wi=null;for(var n=0;n<t.length;n++)(0,t[n])()}}function qx(t,n){var i=[],c={status:"pending",value:null,reason:null,then:function(f){i.push(f)}};return t.then(function(){c.status="fulfilled",c.value=n;for(var f=0;f<i.length;f++)(0,i[f])(n)},function(f){for(c.status="rejected",c.reason=f,f=0;f<i.length;f++)(0,i[f])(void 0)}),c}var Up=B.S;B.S=function(t,n){Sh=Xt(),typeof n=="object"&&n!==null&&typeof n.then=="function"&&Ox(t,n),Up!==null&&Up(t,n)};var oi=E(null);function su(){var t=oi.current;return t!==null?t:ct.pooledCache}function Bc(t,n){n===null?se(oi,oi.current):se(oi,n.pool)}function Ip(){var t=su();return t===null?null:{parent:At._currentValue,pool:t}}var es=Error(r(460)),ru=Error(r(474)),Uc=Error(r(542)),Ic={then:function(){}};function Hp(t){return t=t.status,t==="fulfilled"||t==="rejected"}function Gp(t,n,i){switch(i=t[i],i===void 0?t.push(n):i!==n&&(n.then(Xn,Xn),n=i),n.status){case"fulfilled":return n.value;case"rejected":throw t=n.reason,Kp(t),t;default:if(typeof n.status=="string")n.then(Xn,Xn);else{if(t=ct,t!==null&&100<t.shellSuspendCounter)throw Error(r(482));t=n,t.status="pending",t.then(function(c){if(n.status==="pending"){var f=n;f.status="fulfilled",f.value=c}},function(c){if(n.status==="pending"){var f=n;f.status="rejected",f.reason=c}})}switch(n.status){case"fulfilled":return n.value;case"rejected":throw t=n.reason,Kp(t),t}throw ui=n,es}}function di(t){try{var n=t._init;return n(t._payload)}catch(i){throw i!==null&&typeof i=="object"&&typeof i.then=="function"?(ui=i,es):i}}var ui=null;function Yp(){if(ui===null)throw Error(r(459));var t=ui;return ui=null,t}function Kp(t){if(t===es||t===Uc)throw Error(r(483))}var ts=null,cr=0;function Hc(t){var n=cr;return cr+=1,ts===null&&(ts=[]),Gp(ts,t,n)}function or(t,n){n=n.props.ref,t.ref=n!==void 0?n:null}function Gc(t,n){throw n.$$typeof===C?Error(r(525)):(t=Object.prototype.toString.call(n),Error(r(31,t==="[object Object]"?"object with keys {"+Object.keys(n).join(", ")+"}":t)))}function Qp(t){function n(L,$){if(t){var H=L.deletions;H===null?(L.deletions=[$],L.flags|=16):H.push($)}}function i(L,$){if(!t)return null;for(;$!==null;)n(L,$),$=$.sibling;return null}function c(L){for(var $=new Map;L!==null;)L.key!==null?$.set(L.key,L):$.set(L.index,L),L=L.sibling;return $}function f(L,$){return L=Oa(L,$),L.index=0,L.sibling=null,L}function m(L,$,H){return L.index=H,t?(H=L.alternate,H!==null?(H=H.index,H<$?(L.flags|=67108866,$):H):(L.flags|=67108866,$)):(L.flags|=1048576,$)}function y(L){return t&&L.alternate===null&&(L.flags|=67108866),L}function j(L,$,H,W){return $===null||$.tag!==6?($=Zd(H,L.mode,W),$.return=L,$):($=f($,H),$.return=L,$)}function T(L,$,H,W){var Se=H.type;return Se===D?F(L,$,H.props.children,W,H.key):$!==null&&($.elementType===Se||typeof Se=="object"&&Se!==null&&Se.$$typeof===K&&di(Se)===$.type)?($=f($,H.props),or($,H),$.return=L,$):($=Mc(H.type,H.key,H.props,null,L.mode,W),or($,H),$.return=L,$)}function G(L,$,H,W){return $===null||$.tag!==4||$.stateNode.containerInfo!==H.containerInfo||$.stateNode.implementation!==H.implementation?($=Jd(H,L.mode,W),$.return=L,$):($=f($,H.children||[]),$.return=L,$)}function F(L,$,H,W,Se){return $===null||$.tag!==7?($=ii(H,L.mode,W,Se),$.return=L,$):($=f($,H),$.return=L,$)}function ee(L,$,H){if(typeof $=="string"&&$!==""||typeof $=="number"||typeof $=="bigint")return $=Zd(""+$,L.mode,H),$.return=L,$;if(typeof $=="object"&&$!==null){switch($.$$typeof){case z:return H=Mc($.type,$.key,$.props,null,L.mode,H),or(H,$),H.return=L,H;case w:return $=Jd($,L.mode,H),$.return=L,$;case K:return $=di($),ee(L,$,H)}if(ne($)||ce($))return $=ii($,L.mode,H,null),$.return=L,$;if(typeof $.then=="function")return ee(L,Hc($),H);if($.$$typeof===O)return ee(L,Lc(L,$),H);Gc(L,$)}return null}function Y(L,$,H,W){var Se=$!==null?$.key:null;if(typeof H=="string"&&H!==""||typeof H=="number"||typeof H=="bigint")return Se!==null?null:j(L,$,""+H,W);if(typeof H=="object"&&H!==null){switch(H.$$typeof){case z:return H.key===Se?T(L,$,H,W):null;case w:return H.key===Se?G(L,$,H,W):null;case K:return H=di(H),Y(L,$,H,W)}if(ne(H)||ce(H))return Se!==null?null:F(L,$,H,W,null);if(typeof H.then=="function")return Y(L,$,Hc(H),W);if(H.$$typeof===O)return Y(L,$,Lc(L,H),W);Gc(L,H)}return null}function X(L,$,H,W,Se){if(typeof W=="string"&&W!==""||typeof W=="number"||typeof W=="bigint")return L=L.get(H)||null,j($,L,""+W,Se);if(typeof W=="object"&&W!==null){switch(W.$$typeof){case z:return L=L.get(W.key===null?H:W.key)||null,T($,L,W,Se);case w:return L=L.get(W.key===null?H:W.key)||null,G($,L,W,Se);case K:return W=di(W),X(L,$,H,W,Se)}if(ne(W)||ce(W))return L=L.get(H)||null,F($,L,W,Se,null);if(typeof W.then=="function")return X(L,$,H,Hc(W),Se);if(W.$$typeof===O)return X(L,$,H,Lc($,W),Se);Gc($,W)}return null}function ge(L,$,H,W){for(var Se=null,Ze=null,xe=$,De=$=0,Ue=null;xe!==null&&De<H.length;De++){xe.index>De?(Ue=xe,xe=null):Ue=xe.sibling;var Je=Y(L,xe,H[De],W);if(Je===null){xe===null&&(xe=Ue);break}t&&xe&&Je.alternate===null&&n(L,xe),$=m(Je,$,De),Ze===null?Se=Je:Ze.sibling=Je,Ze=Je,xe=Ue}if(De===H.length)return i(L,xe),Ge&&qa(L,De),Se;if(xe===null){for(;De<H.length;De++)xe=ee(L,H[De],W),xe!==null&&($=m(xe,$,De),Ze===null?Se=xe:Ze.sibling=xe,Ze=xe);return Ge&&qa(L,De),Se}for(xe=c(xe);De<H.length;De++)Ue=X(xe,L,De,H[De],W),Ue!==null&&(t&&Ue.alternate!==null&&xe.delete(Ue.key===null?De:Ue.key),$=m(Ue,$,De),Ze===null?Se=Ue:Ze.sibling=Ue,Ze=Ue);return t&&xe.forEach(function(Dl){return n(L,Dl)}),Ge&&qa(L,De),Se}function Ne(L,$,H,W){if(H==null)throw Error(r(151));for(var Se=null,Ze=null,xe=$,De=$=0,Ue=null,Je=H.next();xe!==null&&!Je.done;De++,Je=H.next()){xe.index>De?(Ue=xe,xe=null):Ue=xe.sibling;var Dl=Y(L,xe,Je.value,W);if(Dl===null){xe===null&&(xe=Ue);break}t&&xe&&Dl.alternate===null&&n(L,xe),$=m(Dl,$,De),Ze===null?Se=Dl:Ze.sibling=Dl,Ze=Dl,xe=Ue}if(Je.done)return i(L,xe),Ge&&qa(L,De),Se;if(xe===null){for(;!Je.done;De++,Je=H.next())Je=ee(L,Je.value,W),Je!==null&&($=m(Je,$,De),Ze===null?Se=Je:Ze.sibling=Je,Ze=Je);return Ge&&qa(L,De),Se}for(xe=c(xe);!Je.done;De++,Je=H.next())Je=X(xe,L,De,Je.value,W),Je!==null&&(t&&Je.alternate!==null&&xe.delete(Je.key===null?De:Je.key),$=m(Je,$,De),Ze===null?Se=Je:Ze.sibling=Je,Ze=Je);return t&&xe.forEach(function(Xk){return n(L,Xk)}),Ge&&qa(L,De),Se}function st(L,$,H,W){if(typeof H=="object"&&H!==null&&H.type===D&&H.key===null&&(H=H.props.children),typeof H=="object"&&H!==null){switch(H.$$typeof){case z:e:{for(var Se=H.key;$!==null;){if($.key===Se){if(Se=H.type,Se===D){if($.tag===7){i(L,$.sibling),W=f($,H.props.children),W.return=L,L=W;break e}}else if($.elementType===Se||typeof Se=="object"&&Se!==null&&Se.$$typeof===K&&di(Se)===$.type){i(L,$.sibling),W=f($,H.props),or(W,H),W.return=L,L=W;break e}i(L,$);break}else n(L,$);$=$.sibling}H.type===D?(W=ii(H.props.children,L.mode,W,H.key),W.return=L,L=W):(W=Mc(H.type,H.key,H.props,null,L.mode,W),or(W,H),W.return=L,L=W)}return y(L);case w:e:{for(Se=H.key;$!==null;){if($.key===Se)if($.tag===4&&$.stateNode.containerInfo===H.containerInfo&&$.stateNode.implementation===H.implementation){i(L,$.sibling),W=f($,H.children||[]),W.return=L,L=W;break e}else{i(L,$);break}else n(L,$);$=$.sibling}W=Jd(H,L.mode,W),W.return=L,L=W}return y(L);case K:return H=di(H),st(L,$,H,W)}if(ne(H))return ge(L,$,H,W);if(ce(H)){if(Se=ce(H),typeof Se!="function")throw Error(r(150));return H=Se.call(H),Ne(L,$,H,W)}if(typeof H.then=="function")return st(L,$,Hc(H),W);if(H.$$typeof===O)return st(L,$,Lc(L,H),W);Gc(L,H)}return typeof H=="string"&&H!==""||typeof H=="number"||typeof H=="bigint"?(H=""+H,$!==null&&$.tag===6?(i(L,$.sibling),W=f($,H),W.return=L,L=W):(i(L,$),W=Zd(H,L.mode,W),W.return=L,L=W),y(L)):i(L,$)}return function(L,$,H,W){try{cr=0;var Se=st(L,$,H,W);return ts=null,Se}catch(xe){if(xe===es||xe===Uc)throw xe;var Ze=vn(29,xe,null,L.mode);return Ze.lanes=W,Ze.return=L,Ze}finally{}}}var fi=Qp(!0),Vp=Qp(!1),hl=!1;function cu(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ou(t,n){t=t.updateQueue,n.updateQueue===t&&(n.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function gl(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function yl(t,n,i){var c=t.updateQueue;if(c===null)return null;if(c=c.shared,(Pe&2)!==0){var f=c.pending;return f===null?n.next=n:(n.next=f.next,f.next=n),c.pending=n,n=zc(t),Tp(t,null,i),n}return Dc(t,c,n,i),zc(t)}function dr(t,n,i){if(n=n.updateQueue,n!==null&&(n=n.shared,(i&4194048)!==0)){var c=n.lanes;c&=t.pendingLanes,i|=c,n.lanes=i,qs(t,i)}}function du(t,n){var i=t.updateQueue,c=t.alternate;if(c!==null&&(c=c.updateQueue,i===c)){var f=null,m=null;if(i=i.firstBaseUpdate,i!==null){do{var y={lane:i.lane,tag:i.tag,payload:i.payload,callback:null,next:null};m===null?f=m=y:m=m.next=y,i=i.next}while(i!==null);m===null?f=m=n:m=m.next=n}else f=m=n;i={baseState:c.baseState,firstBaseUpdate:f,lastBaseUpdate:m,shared:c.shared,callbacks:c.callbacks},t.updateQueue=i;return}t=i.lastBaseUpdate,t===null?i.firstBaseUpdate=n:t.next=n,i.lastBaseUpdate=n}var uu=!1;function ur(){if(uu){var t=Wi;if(t!==null)throw t}}function fr(t,n,i,c){uu=!1;var f=t.updateQueue;hl=!1;var m=f.firstBaseUpdate,y=f.lastBaseUpdate,j=f.shared.pending;if(j!==null){f.shared.pending=null;var T=j,G=T.next;T.next=null,y===null?m=G:y.next=G,y=T;var F=t.alternate;F!==null&&(F=F.updateQueue,j=F.lastBaseUpdate,j!==y&&(j===null?F.firstBaseUpdate=G:j.next=G,F.lastBaseUpdate=T))}if(m!==null){var ee=f.baseState;y=0,F=G=T=null,j=m;do{var Y=j.lane&-536870913,X=Y!==j.lane;if(X?(Be&Y)===Y:(c&Y)===Y){Y!==0&&Y===Pi&&(uu=!0),F!==null&&(F=F.next={lane:0,tag:j.tag,payload:j.payload,callback:null,next:null});e:{var ge=t,Ne=j;Y=n;var st=i;switch(Ne.tag){case 1:if(ge=Ne.payload,typeof ge=="function"){ee=ge.call(st,ee,Y);break e}ee=ge;break e;case 3:ge.flags=ge.flags&-65537|128;case 0:if(ge=Ne.payload,Y=typeof ge=="function"?ge.call(st,ee,Y):ge,Y==null)break e;ee=S({},ee,Y);break e;case 2:hl=!0}}Y=j.callback,Y!==null&&(t.flags|=64,X&&(t.flags|=8192),X=f.callbacks,X===null?f.callbacks=[Y]:X.push(Y))}else X={lane:Y,tag:j.tag,payload:j.payload,callback:j.callback,next:null},F===null?(G=F=X,T=ee):F=F.next=X,y|=Y;if(j=j.next,j===null){if(j=f.shared.pending,j===null)break;X=j,j=X.next,X.next=null,f.lastBaseUpdate=X,f.shared.pending=null}}while(!0);F===null&&(T=ee),f.baseState=T,f.firstBaseUpdate=G,f.lastBaseUpdate=F,m===null&&(f.shared.lanes=0),Sl|=y,t.lanes=y,t.memoizedState=ee}}function Xp(t,n){if(typeof t!="function")throw Error(r(191,t));t.call(n)}function Zp(t,n){var i=t.callbacks;if(i!==null)for(t.callbacks=null,t=0;t<i.length;t++)Xp(i[t],n)}var ns=E(null),Yc=E(0);function Jp(t,n){t=Xa,se(Yc,t),se(ns,n),Xa=t|n.baseLanes}function fu(){se(Yc,Xa),se(ns,ns.current)}function mu(){Xa=Yc.current,J(ns),J(Yc)}var xn=E(null),qn=null;function bl(t){var n=t.alternate;se(jt,jt.current&1),se(xn,t),qn===null&&(n===null||ns.current!==null||n.memoizedState!==null)&&(qn=t)}function pu(t){se(jt,jt.current),se(xn,t),qn===null&&(qn=t)}function Fp(t){t.tag===22?(se(jt,jt.current),se(xn,t),qn===null&&(qn=t)):vl()}function vl(){se(jt,jt.current),se(xn,xn.current)}function kn(t){J(xn),qn===t&&(qn=null),J(jt)}var jt=E(0);function Kc(t){for(var n=t;n!==null;){if(n.tag===13){var i=n.memoizedState;if(i!==null&&(i=i.dehydrated,i===null||xf(i)||kf(i)))return n}else if(n.tag===19&&(n.memoizedProps.revealOrder==="forwards"||n.memoizedProps.revealOrder==="backwards"||n.memoizedProps.revealOrder==="unstable_legacy-backwards"||n.memoizedProps.revealOrder==="together")){if((n.flags&128)!==0)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Ua=0,$e=null,lt=null,Tt=null,Qc=!1,as=!1,mi=!1,Vc=0,mr=0,ls=null,Lx=0;function xt(){throw Error(r(321))}function _u(t,n){if(n===null)return!1;for(var i=0;i<n.length&&i<t.length;i++)if(!bn(t[i],n[i]))return!1;return!0}function hu(t,n,i,c,f,m){return Ua=m,$e=n,n.memoizedState=null,n.updateQueue=null,n.lanes=0,B.H=t===null||t.memoizedState===null?z_:Ru,mi=!1,m=i(c,f),mi=!1,as&&(m=Wp(n,i,c,f)),Pp(t),m}function Pp(t){B.H=hr;var n=lt!==null&&lt.next!==null;if(Ua=0,Tt=lt=$e=null,Qc=!1,mr=0,ls=null,n)throw Error(r(300));t===null||Rt||(t=t.dependencies,t!==null&&qc(t)&&(Rt=!0))}function Wp(t,n,i,c){$e=t;var f=0;do{if(as&&(ls=null),mr=0,as=!1,25<=f)throw Error(r(301));if(f+=1,Tt=lt=null,t.updateQueue!=null){var m=t.updateQueue;m.lastEffect=null,m.events=null,m.stores=null,m.memoCache!=null&&(m.memoCache.index=0)}B.H=M_,m=n(i,c)}while(as);return m}function Bx(){var t=B.H,n=t.useState()[0];return n=typeof n.then=="function"?pr(n):n,t=t.useState()[0],(lt!==null?lt.memoizedState:null)!==t&&($e.flags|=1024),n}function gu(){var t=Vc!==0;return Vc=0,t}function yu(t,n,i){n.updateQueue=t.updateQueue,n.flags&=-2053,t.lanes&=~i}function bu(t){if(Qc){for(t=t.memoizedState;t!==null;){var n=t.queue;n!==null&&(n.pending=null),t=t.next}Qc=!1}Ua=0,Tt=lt=$e=null,as=!1,mr=Vc=0,ls=null}function nn(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Tt===null?$e.memoizedState=Tt=t:Tt=Tt.next=t,Tt}function wt(){if(lt===null){var t=$e.alternate;t=t!==null?t.memoizedState:null}else t=lt.next;var n=Tt===null?$e.memoizedState:Tt.next;if(n!==null)Tt=n,lt=t;else{if(t===null)throw $e.alternate===null?Error(r(467)):Error(r(310));lt=t,t={memoizedState:lt.memoizedState,baseState:lt.baseState,baseQueue:lt.baseQueue,queue:lt.queue,next:null},Tt===null?$e.memoizedState=Tt=t:Tt=Tt.next=t}return Tt}function Xc(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function pr(t){var n=mr;return mr+=1,ls===null&&(ls=[]),t=Gp(ls,t,n),n=$e,(Tt===null?n.memoizedState:Tt.next)===null&&(n=n.alternate,B.H=n===null||n.memoizedState===null?z_:Ru),t}function Zc(t){if(t!==null&&typeof t=="object"){if(typeof t.then=="function")return pr(t);if(t.$$typeof===O)return Gt(t)}throw Error(r(438,String(t)))}function vu(t){var n=null,i=$e.updateQueue;if(i!==null&&(n=i.memoCache),n==null){var c=$e.alternate;c!==null&&(c=c.updateQueue,c!==null&&(c=c.memoCache,c!=null&&(n={data:c.data.map(function(f){return f.slice()}),index:0})))}if(n==null&&(n={data:[],index:0}),i===null&&(i=Xc(),$e.updateQueue=i),i.memoCache=n,i=n.data[n.index],i===void 0)for(i=n.data[n.index]=Array(t),c=0;c<t;c++)i[c]=P;return n.index++,i}function Ia(t,n){return typeof n=="function"?n(t):n}function Jc(t){var n=wt();return xu(n,lt,t)}function xu(t,n,i){var c=t.queue;if(c===null)throw Error(r(311));c.lastRenderedReducer=i;var f=t.baseQueue,m=c.pending;if(m!==null){if(f!==null){var y=f.next;f.next=m.next,m.next=y}n.baseQueue=f=m,c.pending=null}if(m=t.baseState,f===null)t.memoizedState=m;else{n=f.next;var j=y=null,T=null,G=n,F=!1;do{var ee=G.lane&-536870913;if(ee!==G.lane?(Be&ee)===ee:(Ua&ee)===ee){var Y=G.revertLane;if(Y===0)T!==null&&(T=T.next={lane:0,revertLane:0,gesture:null,action:G.action,hasEagerState:G.hasEagerState,eagerState:G.eagerState,next:null}),ee===Pi&&(F=!0);else if((Ua&Y)===Y){G=G.next,Y===Pi&&(F=!0);continue}else ee={lane:0,revertLane:G.revertLane,gesture:null,action:G.action,hasEagerState:G.hasEagerState,eagerState:G.eagerState,next:null},T===null?(j=T=ee,y=m):T=T.next=ee,$e.lanes|=Y,Sl|=Y;ee=G.action,mi&&i(m,ee),m=G.hasEagerState?G.eagerState:i(m,ee)}else Y={lane:ee,revertLane:G.revertLane,gesture:G.gesture,action:G.action,hasEagerState:G.hasEagerState,eagerState:G.eagerState,next:null},T===null?(j=T=Y,y=m):T=T.next=Y,$e.lanes|=ee,Sl|=ee;G=G.next}while(G!==null&&G!==n);if(T===null?y=m:T.next=j,!bn(m,t.memoizedState)&&(Rt=!0,F&&(i=Wi,i!==null)))throw i;t.memoizedState=m,t.baseState=y,t.baseQueue=T,c.lastRenderedState=m}return f===null&&(c.lanes=0),[t.memoizedState,c.dispatch]}function ku(t){var n=wt(),i=n.queue;if(i===null)throw Error(r(311));i.lastRenderedReducer=t;var c=i.dispatch,f=i.pending,m=n.memoizedState;if(f!==null){i.pending=null;var y=f=f.next;do m=t(m,y.action),y=y.next;while(y!==f);bn(m,n.memoizedState)||(Rt=!0),n.memoizedState=m,n.baseQueue===null&&(n.baseState=m),i.lastRenderedState=m}return[m,c]}function e_(t,n,i){var c=$e,f=wt(),m=Ge;if(m){if(i===void 0)throw Error(r(407));i=i()}else i=n();var y=!bn((lt||f).memoizedState,i);if(y&&(f.memoizedState=i,Rt=!0),f=f.queue,wu(a_.bind(null,c,f,t),[t]),f.getSnapshot!==n||y||Tt!==null&&Tt.memoizedState.tag&1){if(c.flags|=2048,is(9,{destroy:void 0},n_.bind(null,c,f,i,n),null),ct===null)throw Error(r(349));m||(Ua&127)!==0||t_(c,n,i)}return i}function t_(t,n,i){t.flags|=16384,t={getSnapshot:n,value:i},n=$e.updateQueue,n===null?(n=Xc(),$e.updateQueue=n,n.stores=[t]):(i=n.stores,i===null?n.stores=[t]:i.push(t))}function n_(t,n,i,c){n.value=i,n.getSnapshot=c,l_(n)&&i_(t)}function a_(t,n,i){return i(function(){l_(n)&&i_(t)})}function l_(t){var n=t.getSnapshot;t=t.value;try{var i=n();return!bn(t,i)}catch{return!0}}function i_(t){var n=li(t,2);n!==null&&mn(n,t,2)}function Su(t){var n=nn();if(typeof t=="function"){var i=t;if(t=i(),mi){ra(!0);try{i()}finally{ra(!1)}}}return n.memoizedState=n.baseState=t,n.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ia,lastRenderedState:t},n}function s_(t,n,i,c){return t.baseState=i,xu(t,lt,typeof c=="function"?c:Ia)}function Ux(t,n,i,c,f){if(Wc(t))throw Error(r(485));if(t=n.action,t!==null){var m={payload:f,action:t,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(y){m.listeners.push(y)}};B.T!==null?i(!0):m.isTransition=!1,c(m),i=n.pending,i===null?(m.next=n.pending=m,r_(n,m)):(m.next=i.next,n.pending=i.next=m)}}function r_(t,n){var i=n.action,c=n.payload,f=t.state;if(n.isTransition){var m=B.T,y={};B.T=y;try{var j=i(f,c),T=B.S;T!==null&&T(y,j),c_(t,n,j)}catch(G){ju(t,n,G)}finally{m!==null&&y.types!==null&&(m.types=y.types),B.T=m}}else try{m=i(f,c),c_(t,n,m)}catch(G){ju(t,n,G)}}function c_(t,n,i){i!==null&&typeof i=="object"&&typeof i.then=="function"?i.then(function(c){o_(t,n,c)},function(c){return ju(t,n,c)}):o_(t,n,i)}function o_(t,n,i){n.status="fulfilled",n.value=i,d_(n),t.state=i,n=t.pending,n!==null&&(i=n.next,i===n?t.pending=null:(i=i.next,n.next=i,r_(t,i)))}function ju(t,n,i){var c=t.pending;if(t.pending=null,c!==null){c=c.next;do n.status="rejected",n.reason=i,d_(n),n=n.next;while(n!==c)}t.action=null}function d_(t){t=t.listeners;for(var n=0;n<t.length;n++)(0,t[n])()}function u_(t,n){return n}function f_(t,n){if(Ge){var i=ct.formState;if(i!==null){e:{var c=$e;if(Ge){if(ut){t:{for(var f=ut,m=On;f.nodeType!==8;){if(!m){f=null;break t}if(f=Ln(f.nextSibling),f===null){f=null;break t}}m=f.data,f=m==="F!"||m==="F"?f:null}if(f){ut=Ln(f.nextSibling),c=f.data==="F!";break e}}pl(c)}c=!1}c&&(n=i[0])}}return i=nn(),i.memoizedState=i.baseState=n,c={pending:null,lanes:0,dispatch:null,lastRenderedReducer:u_,lastRenderedState:n},i.queue=c,i=R_.bind(null,$e,c),c.dispatch=i,c=Su(!1),m=Tu.bind(null,$e,!1,c.queue),c=nn(),f={state:n,dispatch:null,action:t,pending:null},c.queue=f,i=Ux.bind(null,$e,f,m,i),f.dispatch=i,c.memoizedState=t,[n,i,!1]}function m_(t){var n=wt();return p_(n,lt,t)}function p_(t,n,i){if(n=xu(t,n,u_)[0],t=Jc(Ia)[0],typeof n=="object"&&n!==null&&typeof n.then=="function")try{var c=pr(n)}catch(y){throw y===es?Uc:y}else c=n;n=wt();var f=n.queue,m=f.dispatch;return i!==n.memoizedState&&($e.flags|=2048,is(9,{destroy:void 0},Ix.bind(null,f,i),null)),[c,m,t]}function Ix(t,n){t.action=n}function __(t){var n=wt(),i=lt;if(i!==null)return p_(n,i,t);wt(),n=n.memoizedState,i=wt();var c=i.queue.dispatch;return i.memoizedState=t,[n,c,!1]}function is(t,n,i,c){return t={tag:t,create:i,deps:c,inst:n,next:null},n=$e.updateQueue,n===null&&(n=Xc(),$e.updateQueue=n),i=n.lastEffect,i===null?n.lastEffect=t.next=t:(c=i.next,i.next=t,t.next=c,n.lastEffect=t),t}function h_(){return wt().memoizedState}function Fc(t,n,i,c){var f=nn();$e.flags|=t,f.memoizedState=is(1|n,{destroy:void 0},i,c===void 0?null:c)}function Pc(t,n,i,c){var f=wt();c=c===void 0?null:c;var m=f.memoizedState.inst;lt!==null&&c!==null&&_u(c,lt.memoizedState.deps)?f.memoizedState=is(n,m,i,c):($e.flags|=t,f.memoizedState=is(1|n,m,i,c))}function g_(t,n){Fc(8390656,8,t,n)}function wu(t,n){Pc(2048,8,t,n)}function Hx(t){$e.flags|=4;var n=$e.updateQueue;if(n===null)n=Xc(),$e.updateQueue=n,n.events=[t];else{var i=n.events;i===null?n.events=[t]:i.push(t)}}function y_(t){var n=wt().memoizedState;return Hx({ref:n,nextImpl:t}),function(){if((Pe&2)!==0)throw Error(r(440));return n.impl.apply(void 0,arguments)}}function b_(t,n){return Pc(4,2,t,n)}function v_(t,n){return Pc(4,4,t,n)}function x_(t,n){if(typeof n=="function"){t=t();var i=n(t);return function(){typeof i=="function"?i():n(null)}}if(n!=null)return t=t(),n.current=t,function(){n.current=null}}function k_(t,n,i){i=i!=null?i.concat([t]):null,Pc(4,4,x_.bind(null,n,t),i)}function Cu(){}function S_(t,n){var i=wt();n=n===void 0?null:n;var c=i.memoizedState;return n!==null&&_u(n,c[1])?c[0]:(i.memoizedState=[t,n],t)}function j_(t,n){var i=wt();n=n===void 0?null:n;var c=i.memoizedState;if(n!==null&&_u(n,c[1]))return c[0];if(c=t(),mi){ra(!0);try{t()}finally{ra(!1)}}return i.memoizedState=[c,n],c}function Nu(t,n,i){return i===void 0||(Ua&1073741824)!==0&&(Be&261930)===0?t.memoizedState=n:(t.memoizedState=i,t=wh(),$e.lanes|=t,Sl|=t,i)}function w_(t,n,i,c){return bn(i,n)?i:ns.current!==null?(t=Nu(t,i,c),bn(t,n)||(Rt=!0),t):(Ua&42)===0||(Ua&1073741824)!==0&&(Be&261930)===0?(Rt=!0,t.memoizedState=i):(t=wh(),$e.lanes|=t,Sl|=t,n)}function C_(t,n,i,c,f){var m=U.p;U.p=m!==0&&8>m?m:8;var y=B.T,j={};B.T=j,Tu(t,!1,n,i);try{var T=f(),G=B.S;if(G!==null&&G(j,T),T!==null&&typeof T=="object"&&typeof T.then=="function"){var F=qx(T,c);_r(t,n,F,wn(t))}else _r(t,n,c,wn(t))}catch(ee){_r(t,n,{then:function(){},status:"rejected",reason:ee},wn())}finally{U.p=m,y!==null&&j.types!==null&&(y.types=j.types),B.T=y}}function Gx(){}function Eu(t,n,i,c){if(t.tag!==5)throw Error(r(476));var f=N_(t).queue;C_(t,f,n,le,i===null?Gx:function(){return E_(t),i(c)})}function N_(t){var n=t.memoizedState;if(n!==null)return n;n={memoizedState:le,baseState:le,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ia,lastRenderedState:le},next:null};var i={};return n.next={memoizedState:i,baseState:i,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ia,lastRenderedState:i},next:null},t.memoizedState=n,t=t.alternate,t!==null&&(t.memoizedState=n),n}function E_(t){var n=N_(t);n.next===null&&(n=t.alternate.memoizedState),_r(t,n.next.queue,{},wn())}function Au(){return Gt($r)}function A_(){return wt().memoizedState}function T_(){return wt().memoizedState}function Yx(t){for(var n=t.return;n!==null;){switch(n.tag){case 24:case 3:var i=wn();t=gl(i);var c=yl(n,t,i);c!==null&&(mn(c,n,i),dr(c,n,i)),n={cache:lu()},t.payload=n;return}n=n.return}}function Kx(t,n,i){var c=wn();i={lane:c,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},Wc(t)?$_(n,i):(i=Vd(t,n,i,c),i!==null&&(mn(i,t,c),D_(i,n,c)))}function R_(t,n,i){var c=wn();_r(t,n,i,c)}function _r(t,n,i,c){var f={lane:c,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null};if(Wc(t))$_(n,f);else{var m=t.alternate;if(t.lanes===0&&(m===null||m.lanes===0)&&(m=n.lastRenderedReducer,m!==null))try{var y=n.lastRenderedState,j=m(y,i);if(f.hasEagerState=!0,f.eagerState=j,bn(j,y))return Dc(t,n,f,0),ct===null&&$c(),!1}catch{}finally{}if(i=Vd(t,n,f,c),i!==null)return mn(i,t,c),D_(i,n,c),!0}return!1}function Tu(t,n,i,c){if(c={lane:2,revertLane:of(),gesture:null,action:c,hasEagerState:!1,eagerState:null,next:null},Wc(t)){if(n)throw Error(r(479))}else n=Vd(t,i,c,2),n!==null&&mn(n,t,2)}function Wc(t){var n=t.alternate;return t===$e||n!==null&&n===$e}function $_(t,n){as=Qc=!0;var i=t.pending;i===null?n.next=n:(n.next=i.next,i.next=n),t.pending=n}function D_(t,n,i){if((i&4194048)!==0){var c=n.lanes;c&=t.pendingLanes,i|=c,n.lanes=i,qs(t,i)}}var hr={readContext:Gt,use:Zc,useCallback:xt,useContext:xt,useEffect:xt,useImperativeHandle:xt,useLayoutEffect:xt,useInsertionEffect:xt,useMemo:xt,useReducer:xt,useRef:xt,useState:xt,useDebugValue:xt,useDeferredValue:xt,useTransition:xt,useSyncExternalStore:xt,useId:xt,useHostTransitionStatus:xt,useFormState:xt,useActionState:xt,useOptimistic:xt,useMemoCache:xt,useCacheRefresh:xt};hr.useEffectEvent=xt;var z_={readContext:Gt,use:Zc,useCallback:function(t,n){return nn().memoizedState=[t,n===void 0?null:n],t},useContext:Gt,useEffect:g_,useImperativeHandle:function(t,n,i){i=i!=null?i.concat([t]):null,Fc(4194308,4,x_.bind(null,n,t),i)},useLayoutEffect:function(t,n){return Fc(4194308,4,t,n)},useInsertionEffect:function(t,n){Fc(4,2,t,n)},useMemo:function(t,n){var i=nn();n=n===void 0?null:n;var c=t();if(mi){ra(!0);try{t()}finally{ra(!1)}}return i.memoizedState=[c,n],c},useReducer:function(t,n,i){var c=nn();if(i!==void 0){var f=i(n);if(mi){ra(!0);try{i(n)}finally{ra(!1)}}}else f=n;return c.memoizedState=c.baseState=f,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:f},c.queue=t,t=t.dispatch=Kx.bind(null,$e,t),[c.memoizedState,t]},useRef:function(t){var n=nn();return t={current:t},n.memoizedState=t},useState:function(t){t=Su(t);var n=t.queue,i=R_.bind(null,$e,n);return n.dispatch=i,[t.memoizedState,i]},useDebugValue:Cu,useDeferredValue:function(t,n){var i=nn();return Nu(i,t,n)},useTransition:function(){var t=Su(!1);return t=C_.bind(null,$e,t.queue,!0,!1),nn().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,n,i){var c=$e,f=nn();if(Ge){if(i===void 0)throw Error(r(407));i=i()}else{if(i=n(),ct===null)throw Error(r(349));(Be&127)!==0||t_(c,n,i)}f.memoizedState=i;var m={value:i,getSnapshot:n};return f.queue=m,g_(a_.bind(null,c,m,t),[t]),c.flags|=2048,is(9,{destroy:void 0},n_.bind(null,c,m,i,n),null),i},useId:function(){var t=nn(),n=ct.identifierPrefix;if(Ge){var i=ha,c=_a;i=(c&~(1<<32-Wt(c)-1)).toString(32)+i,n="_"+n+"R_"+i,i=Vc++,0<i&&(n+="H"+i.toString(32)),n+="_"}else i=Lx++,n="_"+n+"r_"+i.toString(32)+"_";return t.memoizedState=n},useHostTransitionStatus:Au,useFormState:f_,useActionState:f_,useOptimistic:function(t){var n=nn();n.memoizedState=n.baseState=t;var i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return n.queue=i,n=Tu.bind(null,$e,!0,i),i.dispatch=n,[t,n]},useMemoCache:vu,useCacheRefresh:function(){return nn().memoizedState=Yx.bind(null,$e)},useEffectEvent:function(t){var n=nn(),i={impl:t};return n.memoizedState=i,function(){if((Pe&2)!==0)throw Error(r(440));return i.impl.apply(void 0,arguments)}}},Ru={readContext:Gt,use:Zc,useCallback:S_,useContext:Gt,useEffect:wu,useImperativeHandle:k_,useInsertionEffect:b_,useLayoutEffect:v_,useMemo:j_,useReducer:Jc,useRef:h_,useState:function(){return Jc(Ia)},useDebugValue:Cu,useDeferredValue:function(t,n){var i=wt();return w_(i,lt.memoizedState,t,n)},useTransition:function(){var t=Jc(Ia)[0],n=wt().memoizedState;return[typeof t=="boolean"?t:pr(t),n]},useSyncExternalStore:e_,useId:A_,useHostTransitionStatus:Au,useFormState:m_,useActionState:m_,useOptimistic:function(t,n){var i=wt();return s_(i,lt,t,n)},useMemoCache:vu,useCacheRefresh:T_};Ru.useEffectEvent=y_;var M_={readContext:Gt,use:Zc,useCallback:S_,useContext:Gt,useEffect:wu,useImperativeHandle:k_,useInsertionEffect:b_,useLayoutEffect:v_,useMemo:j_,useReducer:ku,useRef:h_,useState:function(){return ku(Ia)},useDebugValue:Cu,useDeferredValue:function(t,n){var i=wt();return lt===null?Nu(i,t,n):w_(i,lt.memoizedState,t,n)},useTransition:function(){var t=ku(Ia)[0],n=wt().memoizedState;return[typeof t=="boolean"?t:pr(t),n]},useSyncExternalStore:e_,useId:A_,useHostTransitionStatus:Au,useFormState:__,useActionState:__,useOptimistic:function(t,n){var i=wt();return lt!==null?s_(i,lt,t,n):(i.baseState=t,[t,i.queue.dispatch])},useMemoCache:vu,useCacheRefresh:T_};M_.useEffectEvent=y_;function $u(t,n,i,c){n=t.memoizedState,i=i(c,n),i=i==null?n:S({},n,i),t.memoizedState=i,t.lanes===0&&(t.updateQueue.baseState=i)}var Du={enqueueSetState:function(t,n,i){t=t._reactInternals;var c=wn(),f=gl(c);f.payload=n,i!=null&&(f.callback=i),n=yl(t,f,c),n!==null&&(mn(n,t,c),dr(n,t,c))},enqueueReplaceState:function(t,n,i){t=t._reactInternals;var c=wn(),f=gl(c);f.tag=1,f.payload=n,i!=null&&(f.callback=i),n=yl(t,f,c),n!==null&&(mn(n,t,c),dr(n,t,c))},enqueueForceUpdate:function(t,n){t=t._reactInternals;var i=wn(),c=gl(i);c.tag=2,n!=null&&(c.callback=n),n=yl(t,c,i),n!==null&&(mn(n,t,i),dr(n,t,i))}};function O_(t,n,i,c,f,m,y){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(c,m,y):n.prototype&&n.prototype.isPureReactComponent?!nr(i,c)||!nr(f,m):!0}function q_(t,n,i,c){t=n.state,typeof n.componentWillReceiveProps=="function"&&n.componentWillReceiveProps(i,c),typeof n.UNSAFE_componentWillReceiveProps=="function"&&n.UNSAFE_componentWillReceiveProps(i,c),n.state!==t&&Du.enqueueReplaceState(n,n.state,null)}function pi(t,n){var i=n;if("ref"in n){i={};for(var c in n)c!=="ref"&&(i[c]=n[c])}if(t=t.defaultProps){i===n&&(i=S({},i));for(var f in t)i[f]===void 0&&(i[f]=t[f])}return i}function L_(t){Rc(t)}function B_(t){console.error(t)}function U_(t){Rc(t)}function eo(t,n){try{var i=t.onUncaughtError;i(n.value,{componentStack:n.stack})}catch(c){setTimeout(function(){throw c})}}function I_(t,n,i){try{var c=t.onCaughtError;c(i.value,{componentStack:i.stack,errorBoundary:n.tag===1?n.stateNode:null})}catch(f){setTimeout(function(){throw f})}}function zu(t,n,i){return i=gl(i),i.tag=3,i.payload={element:null},i.callback=function(){eo(t,n)},i}function H_(t){return t=gl(t),t.tag=3,t}function G_(t,n,i,c){var f=i.type.getDerivedStateFromError;if(typeof f=="function"){var m=c.value;t.payload=function(){return f(m)},t.callback=function(){I_(n,i,c)}}var y=i.stateNode;y!==null&&typeof y.componentDidCatch=="function"&&(t.callback=function(){I_(n,i,c),typeof f!="function"&&(jl===null?jl=new Set([this]):jl.add(this));var j=c.stack;this.componentDidCatch(c.value,{componentStack:j!==null?j:""})})}function Qx(t,n,i,c,f){if(i.flags|=32768,c!==null&&typeof c=="object"&&typeof c.then=="function"){if(n=i.alternate,n!==null&&Fi(n,i,f,!0),i=xn.current,i!==null){switch(i.tag){case 31:case 13:return qn===null?mo():i.alternate===null&&kt===0&&(kt=3),i.flags&=-257,i.flags|=65536,i.lanes=f,c===Ic?i.flags|=16384:(n=i.updateQueue,n===null?i.updateQueue=new Set([c]):n.add(c),sf(t,c,f)),!1;case 22:return i.flags|=65536,c===Ic?i.flags|=16384:(n=i.updateQueue,n===null?(n={transitions:null,markerInstances:null,retryQueue:new Set([c])},i.updateQueue=n):(i=n.retryQueue,i===null?n.retryQueue=new Set([c]):i.add(c)),sf(t,c,f)),!1}throw Error(r(435,i.tag))}return sf(t,c,f),mo(),!1}if(Ge)return n=xn.current,n!==null?((n.flags&65536)===0&&(n.flags|=256),n.flags|=65536,n.lanes=f,c!==Wd&&(t=Error(r(422),{cause:c}),ir(Dn(t,i)))):(c!==Wd&&(n=Error(r(423),{cause:c}),ir(Dn(n,i))),t=t.current.alternate,t.flags|=65536,f&=-f,t.lanes|=f,c=Dn(c,i),f=zu(t.stateNode,c,f),du(t,f),kt!==4&&(kt=2)),!1;var m=Error(r(520),{cause:c});if(m=Dn(m,i),jr===null?jr=[m]:jr.push(m),kt!==4&&(kt=2),n===null)return!0;c=Dn(c,i),i=n;do{switch(i.tag){case 3:return i.flags|=65536,t=f&-f,i.lanes|=t,t=zu(i.stateNode,c,t),du(i,t),!1;case 1:if(n=i.type,m=i.stateNode,(i.flags&128)===0&&(typeof n.getDerivedStateFromError=="function"||m!==null&&typeof m.componentDidCatch=="function"&&(jl===null||!jl.has(m))))return i.flags|=65536,f&=-f,i.lanes|=f,f=H_(f),G_(f,t,i,c),du(i,f),!1}i=i.return}while(i!==null);return!1}var Mu=Error(r(461)),Rt=!1;function Yt(t,n,i,c){n.child=t===null?Vp(n,null,i,c):fi(n,t.child,i,c)}function Y_(t,n,i,c,f){i=i.render;var m=n.ref;if("ref"in c){var y={};for(var j in c)j!=="ref"&&(y[j]=c[j])}else y=c;return ci(n),c=hu(t,n,i,y,m,f),j=gu(),t!==null&&!Rt?(yu(t,n,f),Ha(t,n,f)):(Ge&&j&&Fd(n),n.flags|=1,Yt(t,n,c,f),n.child)}function K_(t,n,i,c,f){if(t===null){var m=i.type;return typeof m=="function"&&!Xd(m)&&m.defaultProps===void 0&&i.compare===null?(n.tag=15,n.type=m,Q_(t,n,m,c,f)):(t=Mc(i.type,null,c,n,n.mode,f),t.ref=n.ref,t.return=n,n.child=t)}if(m=t.child,!Gu(t,f)){var y=m.memoizedProps;if(i=i.compare,i=i!==null?i:nr,i(y,c)&&t.ref===n.ref)return Ha(t,n,f)}return n.flags|=1,t=Oa(m,c),t.ref=n.ref,t.return=n,n.child=t}function Q_(t,n,i,c,f){if(t!==null){var m=t.memoizedProps;if(nr(m,c)&&t.ref===n.ref)if(Rt=!1,n.pendingProps=c=m,Gu(t,f))(t.flags&131072)!==0&&(Rt=!0);else return n.lanes=t.lanes,Ha(t,n,f)}return Ou(t,n,i,c,f)}function V_(t,n,i,c){var f=c.children,m=t!==null?t.memoizedState:null;if(t===null&&n.stateNode===null&&(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),c.mode==="hidden"){if((n.flags&128)!==0){if(m=m!==null?m.baseLanes|i:i,t!==null){for(c=n.child=t.child,f=0;c!==null;)f=f|c.lanes|c.childLanes,c=c.sibling;c=f&~m}else c=0,n.child=null;return X_(t,n,m,i,c)}if((i&536870912)!==0)n.memoizedState={baseLanes:0,cachePool:null},t!==null&&Bc(n,m!==null?m.cachePool:null),m!==null?Jp(n,m):fu(),Fp(n);else return c=n.lanes=536870912,X_(t,n,m!==null?m.baseLanes|i:i,i,c)}else m!==null?(Bc(n,m.cachePool),Jp(n,m),vl(),n.memoizedState=null):(t!==null&&Bc(n,null),fu(),vl());return Yt(t,n,f,i),n.child}function gr(t,n){return t!==null&&t.tag===22||n.stateNode!==null||(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),n.sibling}function X_(t,n,i,c,f){var m=su();return m=m===null?null:{parent:At._currentValue,pool:m},n.memoizedState={baseLanes:i,cachePool:m},t!==null&&Bc(n,null),fu(),Fp(n),t!==null&&Fi(t,n,c,!0),n.childLanes=f,null}function to(t,n){return n=ao({mode:n.mode,children:n.children},t.mode),n.ref=t.ref,t.child=n,n.return=t,n}function Z_(t,n,i){return fi(n,t.child,null,i),t=to(n,n.pendingProps),t.flags|=2,kn(n),n.memoizedState=null,t}function Vx(t,n,i){var c=n.pendingProps,f=(n.flags&128)!==0;if(n.flags&=-129,t===null){if(Ge){if(c.mode==="hidden")return t=to(n,c),n.lanes=536870912,gr(null,t);if(pu(n),(t=ut)?(t=rg(t,On),t=t!==null&&t.data==="&"?t:null,t!==null&&(n.memoizedState={dehydrated:t,treeContext:fl!==null?{id:_a,overflow:ha}:null,retryLane:536870912,hydrationErrors:null},i=$p(t),i.return=n,n.child=i,Ht=n,ut=null)):t=null,t===null)throw pl(n);return n.lanes=536870912,null}return to(n,c)}var m=t.memoizedState;if(m!==null){var y=m.dehydrated;if(pu(n),f)if(n.flags&256)n.flags&=-257,n=Z_(t,n,i);else if(n.memoizedState!==null)n.child=t.child,n.flags|=128,n=null;else throw Error(r(558));else if(Rt||Fi(t,n,i,!1),f=(i&t.childLanes)!==0,Rt||f){if(c=ct,c!==null&&(y=Aa(c,i),y!==0&&y!==m.retryLane))throw m.retryLane=y,li(t,y),mn(c,t,y),Mu;mo(),n=Z_(t,n,i)}else t=m.treeContext,ut=Ln(y.nextSibling),Ht=n,Ge=!0,ml=null,On=!1,t!==null&&Mp(n,t),n=to(n,c),n.flags|=4096;return n}return t=Oa(t.child,{mode:c.mode,children:c.children}),t.ref=n.ref,n.child=t,t.return=n,t}function no(t,n){var i=n.ref;if(i===null)t!==null&&t.ref!==null&&(n.flags|=4194816);else{if(typeof i!="function"&&typeof i!="object")throw Error(r(284));(t===null||t.ref!==i)&&(n.flags|=4194816)}}function Ou(t,n,i,c,f){return ci(n),i=hu(t,n,i,c,void 0,f),c=gu(),t!==null&&!Rt?(yu(t,n,f),Ha(t,n,f)):(Ge&&c&&Fd(n),n.flags|=1,Yt(t,n,i,f),n.child)}function J_(t,n,i,c,f,m){return ci(n),n.updateQueue=null,i=Wp(n,c,i,f),Pp(t),c=gu(),t!==null&&!Rt?(yu(t,n,m),Ha(t,n,m)):(Ge&&c&&Fd(n),n.flags|=1,Yt(t,n,i,m),n.child)}function F_(t,n,i,c,f){if(ci(n),n.stateNode===null){var m=Vi,y=i.contextType;typeof y=="object"&&y!==null&&(m=Gt(y)),m=new i(c,m),n.memoizedState=m.state!==null&&m.state!==void 0?m.state:null,m.updater=Du,n.stateNode=m,m._reactInternals=n,m=n.stateNode,m.props=c,m.state=n.memoizedState,m.refs={},cu(n),y=i.contextType,m.context=typeof y=="object"&&y!==null?Gt(y):Vi,m.state=n.memoizedState,y=i.getDerivedStateFromProps,typeof y=="function"&&($u(n,i,y,c),m.state=n.memoizedState),typeof i.getDerivedStateFromProps=="function"||typeof m.getSnapshotBeforeUpdate=="function"||typeof m.UNSAFE_componentWillMount!="function"&&typeof m.componentWillMount!="function"||(y=m.state,typeof m.componentWillMount=="function"&&m.componentWillMount(),typeof m.UNSAFE_componentWillMount=="function"&&m.UNSAFE_componentWillMount(),y!==m.state&&Du.enqueueReplaceState(m,m.state,null),fr(n,c,m,f),ur(),m.state=n.memoizedState),typeof m.componentDidMount=="function"&&(n.flags|=4194308),c=!0}else if(t===null){m=n.stateNode;var j=n.memoizedProps,T=pi(i,j);m.props=T;var G=m.context,F=i.contextType;y=Vi,typeof F=="object"&&F!==null&&(y=Gt(F));var ee=i.getDerivedStateFromProps;F=typeof ee=="function"||typeof m.getSnapshotBeforeUpdate=="function",j=n.pendingProps!==j,F||typeof m.UNSAFE_componentWillReceiveProps!="function"&&typeof m.componentWillReceiveProps!="function"||(j||G!==y)&&q_(n,m,c,y),hl=!1;var Y=n.memoizedState;m.state=Y,fr(n,c,m,f),ur(),G=n.memoizedState,j||Y!==G||hl?(typeof ee=="function"&&($u(n,i,ee,c),G=n.memoizedState),(T=hl||O_(n,i,T,c,Y,G,y))?(F||typeof m.UNSAFE_componentWillMount!="function"&&typeof m.componentWillMount!="function"||(typeof m.componentWillMount=="function"&&m.componentWillMount(),typeof m.UNSAFE_componentWillMount=="function"&&m.UNSAFE_componentWillMount()),typeof m.componentDidMount=="function"&&(n.flags|=4194308)):(typeof m.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=c,n.memoizedState=G),m.props=c,m.state=G,m.context=y,c=T):(typeof m.componentDidMount=="function"&&(n.flags|=4194308),c=!1)}else{m=n.stateNode,ou(t,n),y=n.memoizedProps,F=pi(i,y),m.props=F,ee=n.pendingProps,Y=m.context,G=i.contextType,T=Vi,typeof G=="object"&&G!==null&&(T=Gt(G)),j=i.getDerivedStateFromProps,(G=typeof j=="function"||typeof m.getSnapshotBeforeUpdate=="function")||typeof m.UNSAFE_componentWillReceiveProps!="function"&&typeof m.componentWillReceiveProps!="function"||(y!==ee||Y!==T)&&q_(n,m,c,T),hl=!1,Y=n.memoizedState,m.state=Y,fr(n,c,m,f),ur();var X=n.memoizedState;y!==ee||Y!==X||hl||t!==null&&t.dependencies!==null&&qc(t.dependencies)?(typeof j=="function"&&($u(n,i,j,c),X=n.memoizedState),(F=hl||O_(n,i,F,c,Y,X,T)||t!==null&&t.dependencies!==null&&qc(t.dependencies))?(G||typeof m.UNSAFE_componentWillUpdate!="function"&&typeof m.componentWillUpdate!="function"||(typeof m.componentWillUpdate=="function"&&m.componentWillUpdate(c,X,T),typeof m.UNSAFE_componentWillUpdate=="function"&&m.UNSAFE_componentWillUpdate(c,X,T)),typeof m.componentDidUpdate=="function"&&(n.flags|=4),typeof m.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof m.componentDidUpdate!="function"||y===t.memoizedProps&&Y===t.memoizedState||(n.flags|=4),typeof m.getSnapshotBeforeUpdate!="function"||y===t.memoizedProps&&Y===t.memoizedState||(n.flags|=1024),n.memoizedProps=c,n.memoizedState=X),m.props=c,m.state=X,m.context=T,c=F):(typeof m.componentDidUpdate!="function"||y===t.memoizedProps&&Y===t.memoizedState||(n.flags|=4),typeof m.getSnapshotBeforeUpdate!="function"||y===t.memoizedProps&&Y===t.memoizedState||(n.flags|=1024),c=!1)}return m=c,no(t,n),c=(n.flags&128)!==0,m||c?(m=n.stateNode,i=c&&typeof i.getDerivedStateFromError!="function"?null:m.render(),n.flags|=1,t!==null&&c?(n.child=fi(n,t.child,null,f),n.child=fi(n,null,i,f)):Yt(t,n,i,f),n.memoizedState=m.state,t=n.child):t=Ha(t,n,f),t}function P_(t,n,i,c){return si(),n.flags|=256,Yt(t,n,i,c),n.child}var qu={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Lu(t){return{baseLanes:t,cachePool:Ip()}}function Bu(t,n,i){return t=t!==null?t.childLanes&~i:0,n&&(t|=jn),t}function W_(t,n,i){var c=n.pendingProps,f=!1,m=(n.flags&128)!==0,y;if((y=m)||(y=t!==null&&t.memoizedState===null?!1:(jt.current&2)!==0),y&&(f=!0,n.flags&=-129),y=(n.flags&32)!==0,n.flags&=-33,t===null){if(Ge){if(f?bl(n):vl(),(t=ut)?(t=rg(t,On),t=t!==null&&t.data!=="&"?t:null,t!==null&&(n.memoizedState={dehydrated:t,treeContext:fl!==null?{id:_a,overflow:ha}:null,retryLane:536870912,hydrationErrors:null},i=$p(t),i.return=n,n.child=i,Ht=n,ut=null)):t=null,t===null)throw pl(n);return kf(t)?n.lanes=32:n.lanes=536870912,null}var j=c.children;return c=c.fallback,f?(vl(),f=n.mode,j=ao({mode:"hidden",children:j},f),c=ii(c,f,i,null),j.return=n,c.return=n,j.sibling=c,n.child=j,c=n.child,c.memoizedState=Lu(i),c.childLanes=Bu(t,y,i),n.memoizedState=qu,gr(null,c)):(bl(n),Uu(n,j))}var T=t.memoizedState;if(T!==null&&(j=T.dehydrated,j!==null)){if(m)n.flags&256?(bl(n),n.flags&=-257,n=Iu(t,n,i)):n.memoizedState!==null?(vl(),n.child=t.child,n.flags|=128,n=null):(vl(),j=c.fallback,f=n.mode,c=ao({mode:"visible",children:c.children},f),j=ii(j,f,i,null),j.flags|=2,c.return=n,j.return=n,c.sibling=j,n.child=c,fi(n,t.child,null,i),c=n.child,c.memoizedState=Lu(i),c.childLanes=Bu(t,y,i),n.memoizedState=qu,n=gr(null,c));else if(bl(n),kf(j)){if(y=j.nextSibling&&j.nextSibling.dataset,y)var G=y.dgst;y=G,c=Error(r(419)),c.stack="",c.digest=y,ir({value:c,source:null,stack:null}),n=Iu(t,n,i)}else if(Rt||Fi(t,n,i,!1),y=(i&t.childLanes)!==0,Rt||y){if(y=ct,y!==null&&(c=Aa(y,i),c!==0&&c!==T.retryLane))throw T.retryLane=c,li(t,c),mn(y,t,c),Mu;xf(j)||mo(),n=Iu(t,n,i)}else xf(j)?(n.flags|=192,n.child=t.child,n=null):(t=T.treeContext,ut=Ln(j.nextSibling),Ht=n,Ge=!0,ml=null,On=!1,t!==null&&Mp(n,t),n=Uu(n,c.children),n.flags|=4096);return n}return f?(vl(),j=c.fallback,f=n.mode,T=t.child,G=T.sibling,c=Oa(T,{mode:"hidden",children:c.children}),c.subtreeFlags=T.subtreeFlags&65011712,G!==null?j=Oa(G,j):(j=ii(j,f,i,null),j.flags|=2),j.return=n,c.return=n,c.sibling=j,n.child=c,gr(null,c),c=n.child,j=t.child.memoizedState,j===null?j=Lu(i):(f=j.cachePool,f!==null?(T=At._currentValue,f=f.parent!==T?{parent:T,pool:T}:f):f=Ip(),j={baseLanes:j.baseLanes|i,cachePool:f}),c.memoizedState=j,c.childLanes=Bu(t,y,i),n.memoizedState=qu,gr(t.child,c)):(bl(n),i=t.child,t=i.sibling,i=Oa(i,{mode:"visible",children:c.children}),i.return=n,i.sibling=null,t!==null&&(y=n.deletions,y===null?(n.deletions=[t],n.flags|=16):y.push(t)),n.child=i,n.memoizedState=null,i)}function Uu(t,n){return n=ao({mode:"visible",children:n},t.mode),n.return=t,t.child=n}function ao(t,n){return t=vn(22,t,null,n),t.lanes=0,t}function Iu(t,n,i){return fi(n,t.child,null,i),t=Uu(n,n.pendingProps.children),t.flags|=2,n.memoizedState=null,t}function eh(t,n,i){t.lanes|=n;var c=t.alternate;c!==null&&(c.lanes|=n),nu(t.return,n,i)}function Hu(t,n,i,c,f,m){var y=t.memoizedState;y===null?t.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:c,tail:i,tailMode:f,treeForkCount:m}:(y.isBackwards=n,y.rendering=null,y.renderingStartTime=0,y.last=c,y.tail=i,y.tailMode=f,y.treeForkCount=m)}function th(t,n,i){var c=n.pendingProps,f=c.revealOrder,m=c.tail;c=c.children;var y=jt.current,j=(y&2)!==0;if(j?(y=y&1|2,n.flags|=128):y&=1,se(jt,y),Yt(t,n,c,i),c=Ge?lr:0,!j&&t!==null&&(t.flags&128)!==0)e:for(t=n.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&eh(t,i,n);else if(t.tag===19)eh(t,i,n);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===n)break e;for(;t.sibling===null;){if(t.return===null||t.return===n)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}switch(f){case"forwards":for(i=n.child,f=null;i!==null;)t=i.alternate,t!==null&&Kc(t)===null&&(f=i),i=i.sibling;i=f,i===null?(f=n.child,n.child=null):(f=i.sibling,i.sibling=null),Hu(n,!1,f,i,m,c);break;case"backwards":case"unstable_legacy-backwards":for(i=null,f=n.child,n.child=null;f!==null;){if(t=f.alternate,t!==null&&Kc(t)===null){n.child=f;break}t=f.sibling,f.sibling=i,i=f,f=t}Hu(n,!0,i,null,m,c);break;case"together":Hu(n,!1,null,null,void 0,c);break;default:n.memoizedState=null}return n.child}function Ha(t,n,i){if(t!==null&&(n.dependencies=t.dependencies),Sl|=n.lanes,(i&n.childLanes)===0)if(t!==null){if(Fi(t,n,i,!1),(i&n.childLanes)===0)return null}else return null;if(t!==null&&n.child!==t.child)throw Error(r(153));if(n.child!==null){for(t=n.child,i=Oa(t,t.pendingProps),n.child=i,i.return=n;t.sibling!==null;)t=t.sibling,i=i.sibling=Oa(t,t.pendingProps),i.return=n;i.sibling=null}return n.child}function Gu(t,n){return(t.lanes&n)!==0?!0:(t=t.dependencies,!!(t!==null&&qc(t)))}function Xx(t,n,i){switch(n.tag){case 3:he(n,n.stateNode.containerInfo),_l(n,At,t.memoizedState.cache),si();break;case 27:case 5:V(n);break;case 4:he(n,n.stateNode.containerInfo);break;case 10:_l(n,n.type,n.memoizedProps.value);break;case 31:if(n.memoizedState!==null)return n.flags|=128,pu(n),null;break;case 13:var c=n.memoizedState;if(c!==null)return c.dehydrated!==null?(bl(n),n.flags|=128,null):(i&n.child.childLanes)!==0?W_(t,n,i):(bl(n),t=Ha(t,n,i),t!==null?t.sibling:null);bl(n);break;case 19:var f=(t.flags&128)!==0;if(c=(i&n.childLanes)!==0,c||(Fi(t,n,i,!1),c=(i&n.childLanes)!==0),f){if(c)return th(t,n,i);n.flags|=128}if(f=n.memoizedState,f!==null&&(f.rendering=null,f.tail=null,f.lastEffect=null),se(jt,jt.current),c)break;return null;case 22:return n.lanes=0,V_(t,n,i,n.pendingProps);case 24:_l(n,At,t.memoizedState.cache)}return Ha(t,n,i)}function nh(t,n,i){if(t!==null)if(t.memoizedProps!==n.pendingProps)Rt=!0;else{if(!Gu(t,i)&&(n.flags&128)===0)return Rt=!1,Xx(t,n,i);Rt=(t.flags&131072)!==0}else Rt=!1,Ge&&(n.flags&1048576)!==0&&zp(n,lr,n.index);switch(n.lanes=0,n.tag){case 16:e:{var c=n.pendingProps;if(t=di(n.elementType),n.type=t,typeof t=="function")Xd(t)?(c=pi(t,c),n.tag=1,n=F_(null,n,t,c,i)):(n.tag=0,n=Ou(null,n,t,c,i));else{if(t!=null){var f=t.$$typeof;if(f===te){n.tag=11,n=Y_(null,n,t,c,i);break e}else if(f===Z){n.tag=14,n=K_(null,n,t,c,i);break e}}throw n=M(t)||t,Error(r(306,n,""))}}return n;case 0:return Ou(t,n,n.type,n.pendingProps,i);case 1:return c=n.type,f=pi(c,n.pendingProps),F_(t,n,c,f,i);case 3:e:{if(he(n,n.stateNode.containerInfo),t===null)throw Error(r(387));c=n.pendingProps;var m=n.memoizedState;f=m.element,ou(t,n),fr(n,c,null,i);var y=n.memoizedState;if(c=y.cache,_l(n,At,c),c!==m.cache&&au(n,[At],i,!0),ur(),c=y.element,m.isDehydrated)if(m={element:c,isDehydrated:!1,cache:y.cache},n.updateQueue.baseState=m,n.memoizedState=m,n.flags&256){n=P_(t,n,c,i);break e}else if(c!==f){f=Dn(Error(r(424)),n),ir(f),n=P_(t,n,c,i);break e}else{switch(t=n.stateNode.containerInfo,t.nodeType){case 9:t=t.body;break;default:t=t.nodeName==="HTML"?t.ownerDocument.body:t}for(ut=Ln(t.firstChild),Ht=n,Ge=!0,ml=null,On=!0,i=Vp(n,null,c,i),n.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling}else{if(si(),c===f){n=Ha(t,n,i);break e}Yt(t,n,c,i)}n=n.child}return n;case 26:return no(t,n),t===null?(i=mg(n.type,null,n.pendingProps,null))?n.memoizedState=i:Ge||(i=n.type,t=n.pendingProps,c=vo(Ee.current).createElement(i),c[Mt]=n,c[pt]=t,Kt(c,i,t),St(c),n.stateNode=c):n.memoizedState=mg(n.type,t.memoizedProps,n.pendingProps,t.memoizedState),null;case 27:return V(n),t===null&&Ge&&(c=n.stateNode=dg(n.type,n.pendingProps,Ee.current),Ht=n,On=!0,f=ut,El(n.type)?(Sf=f,ut=Ln(c.firstChild)):ut=f),Yt(t,n,n.pendingProps.children,i),no(t,n),t===null&&(n.flags|=4194304),n.child;case 5:return t===null&&Ge&&((f=c=ut)&&(c=jk(c,n.type,n.pendingProps,On),c!==null?(n.stateNode=c,Ht=n,ut=Ln(c.firstChild),On=!1,f=!0):f=!1),f||pl(n)),V(n),f=n.type,m=n.pendingProps,y=t!==null?t.memoizedProps:null,c=m.children,yf(f,m)?c=null:y!==null&&yf(f,y)&&(n.flags|=32),n.memoizedState!==null&&(f=hu(t,n,Bx,null,null,i),$r._currentValue=f),no(t,n),Yt(t,n,c,i),n.child;case 6:return t===null&&Ge&&((t=i=ut)&&(i=wk(i,n.pendingProps,On),i!==null?(n.stateNode=i,Ht=n,ut=null,t=!0):t=!1),t||pl(n)),null;case 13:return W_(t,n,i);case 4:return he(n,n.stateNode.containerInfo),c=n.pendingProps,t===null?n.child=fi(n,null,c,i):Yt(t,n,c,i),n.child;case 11:return Y_(t,n,n.type,n.pendingProps,i);case 7:return Yt(t,n,n.pendingProps,i),n.child;case 8:return Yt(t,n,n.pendingProps.children,i),n.child;case 12:return Yt(t,n,n.pendingProps.children,i),n.child;case 10:return c=n.pendingProps,_l(n,n.type,c.value),Yt(t,n,c.children,i),n.child;case 9:return f=n.type._context,c=n.pendingProps.children,ci(n),f=Gt(f),c=c(f),n.flags|=1,Yt(t,n,c,i),n.child;case 14:return K_(t,n,n.type,n.pendingProps,i);case 15:return Q_(t,n,n.type,n.pendingProps,i);case 19:return th(t,n,i);case 31:return Vx(t,n,i);case 22:return V_(t,n,i,n.pendingProps);case 24:return ci(n),c=Gt(At),t===null?(f=su(),f===null&&(f=ct,m=lu(),f.pooledCache=m,m.refCount++,m!==null&&(f.pooledCacheLanes|=i),f=m),n.memoizedState={parent:c,cache:f},cu(n),_l(n,At,f)):((t.lanes&i)!==0&&(ou(t,n),fr(n,null,null,i),ur()),f=t.memoizedState,m=n.memoizedState,f.parent!==c?(f={parent:c,cache:c},n.memoizedState=f,n.lanes===0&&(n.memoizedState=n.updateQueue.baseState=f),_l(n,At,c)):(c=m.cache,_l(n,At,c),c!==f.cache&&au(n,[At],i,!0))),Yt(t,n,n.pendingProps.children,i),n.child;case 29:throw n.pendingProps}throw Error(r(156,n.tag))}function Ga(t){t.flags|=4}function Yu(t,n,i,c,f){if((n=(t.mode&32)!==0)&&(n=!1),n){if(t.flags|=16777216,(f&335544128)===f)if(t.stateNode.complete)t.flags|=8192;else if(Ah())t.flags|=8192;else throw ui=Ic,ru}else t.flags&=-16777217}function ah(t,n){if(n.type!=="stylesheet"||(n.state.loading&4)!==0)t.flags&=-16777217;else if(t.flags|=16777216,!yg(n))if(Ah())t.flags|=8192;else throw ui=Ic,ru}function lo(t,n){n!==null&&(t.flags|=4),t.flags&16384&&(n=t.tag!==22?oa():536870912,t.lanes|=n,os|=n)}function yr(t,n){if(!Ge)switch(t.tailMode){case"hidden":n=t.tail;for(var i=null;n!==null;)n.alternate!==null&&(i=n),n=n.sibling;i===null?t.tail=null:i.sibling=null;break;case"collapsed":i=t.tail;for(var c=null;i!==null;)i.alternate!==null&&(c=i),i=i.sibling;c===null?n||t.tail===null?t.tail=null:t.tail.sibling=null:c.sibling=null}}function ft(t){var n=t.alternate!==null&&t.alternate.child===t.child,i=0,c=0;if(n)for(var f=t.child;f!==null;)i|=f.lanes|f.childLanes,c|=f.subtreeFlags&65011712,c|=f.flags&65011712,f.return=t,f=f.sibling;else for(f=t.child;f!==null;)i|=f.lanes|f.childLanes,c|=f.subtreeFlags,c|=f.flags,f.return=t,f=f.sibling;return t.subtreeFlags|=c,t.childLanes=i,n}function Zx(t,n,i){var c=n.pendingProps;switch(Pd(n),n.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ft(n),null;case 1:return ft(n),null;case 3:return i=n.stateNode,c=null,t!==null&&(c=t.memoizedState.cache),n.memoizedState.cache!==c&&(n.flags|=2048),Ba(At),Ie(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(t===null||t.child===null)&&(Ji(n)?Ga(n):t===null||t.memoizedState.isDehydrated&&(n.flags&256)===0||(n.flags|=1024,eu())),ft(n),null;case 26:var f=n.type,m=n.memoizedState;return t===null?(Ga(n),m!==null?(ft(n),ah(n,m)):(ft(n),Yu(n,f,null,c,i))):m?m!==t.memoizedState?(Ga(n),ft(n),ah(n,m)):(ft(n),n.flags&=-16777217):(t=t.memoizedProps,t!==c&&Ga(n),ft(n),Yu(n,f,t,c,i)),null;case 27:if(Ce(n),i=Ee.current,f=n.type,t!==null&&n.stateNode!=null)t.memoizedProps!==c&&Ga(n);else{if(!c){if(n.stateNode===null)throw Error(r(166));return ft(n),null}t=ue.current,Ji(n)?Op(n):(t=dg(f,c,i),n.stateNode=t,Ga(n))}return ft(n),null;case 5:if(Ce(n),f=n.type,t!==null&&n.stateNode!=null)t.memoizedProps!==c&&Ga(n);else{if(!c){if(n.stateNode===null)throw Error(r(166));return ft(n),null}if(m=ue.current,Ji(n))Op(n);else{var y=vo(Ee.current);switch(m){case 1:m=y.createElementNS("http://www.w3.org/2000/svg",f);break;case 2:m=y.createElementNS("http://www.w3.org/1998/Math/MathML",f);break;default:switch(f){case"svg":m=y.createElementNS("http://www.w3.org/2000/svg",f);break;case"math":m=y.createElementNS("http://www.w3.org/1998/Math/MathML",f);break;case"script":m=y.createElement("div"),m.innerHTML="<script><\/script>",m=m.removeChild(m.firstChild);break;case"select":m=typeof c.is=="string"?y.createElement("select",{is:c.is}):y.createElement("select"),c.multiple?m.multiple=!0:c.size&&(m.size=c.size);break;default:m=typeof c.is=="string"?y.createElement(f,{is:c.is}):y.createElement(f)}}m[Mt]=n,m[pt]=c;e:for(y=n.child;y!==null;){if(y.tag===5||y.tag===6)m.appendChild(y.stateNode);else if(y.tag!==4&&y.tag!==27&&y.child!==null){y.child.return=y,y=y.child;continue}if(y===n)break e;for(;y.sibling===null;){if(y.return===null||y.return===n)break e;y=y.return}y.sibling.return=y.return,y=y.sibling}n.stateNode=m;e:switch(Kt(m,f,c),f){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}c&&Ga(n)}}return ft(n),Yu(n,n.type,t===null?null:t.memoizedProps,n.pendingProps,i),null;case 6:if(t&&n.stateNode!=null)t.memoizedProps!==c&&Ga(n);else{if(typeof c!="string"&&n.stateNode===null)throw Error(r(166));if(t=Ee.current,Ji(n)){if(t=n.stateNode,i=n.memoizedProps,c=null,f=Ht,f!==null)switch(f.tag){case 27:case 5:c=f.memoizedProps}t[Mt]=n,t=!!(t.nodeValue===i||c!==null&&c.suppressHydrationWarning===!0||Wh(t.nodeValue,i)),t||pl(n,!0)}else t=vo(t).createTextNode(c),t[Mt]=n,n.stateNode=t}return ft(n),null;case 31:if(i=n.memoizedState,t===null||t.memoizedState!==null){if(c=Ji(n),i!==null){if(t===null){if(!c)throw Error(r(318));if(t=n.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(557));t[Mt]=n}else si(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;ft(n),t=!1}else i=eu(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=i),t=!0;if(!t)return n.flags&256?(kn(n),n):(kn(n),null);if((n.flags&128)!==0)throw Error(r(558))}return ft(n),null;case 13:if(c=n.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(f=Ji(n),c!==null&&c.dehydrated!==null){if(t===null){if(!f)throw Error(r(318));if(f=n.memoizedState,f=f!==null?f.dehydrated:null,!f)throw Error(r(317));f[Mt]=n}else si(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;ft(n),f=!1}else f=eu(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=f),f=!0;if(!f)return n.flags&256?(kn(n),n):(kn(n),null)}return kn(n),(n.flags&128)!==0?(n.lanes=i,n):(i=c!==null,t=t!==null&&t.memoizedState!==null,i&&(c=n.child,f=null,c.alternate!==null&&c.alternate.memoizedState!==null&&c.alternate.memoizedState.cachePool!==null&&(f=c.alternate.memoizedState.cachePool.pool),m=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(m=c.memoizedState.cachePool.pool),m!==f&&(c.flags|=2048)),i!==t&&i&&(n.child.flags|=8192),lo(n,n.updateQueue),ft(n),null);case 4:return Ie(),t===null&&mf(n.stateNode.containerInfo),ft(n),null;case 10:return Ba(n.type),ft(n),null;case 19:if(J(jt),c=n.memoizedState,c===null)return ft(n),null;if(f=(n.flags&128)!==0,m=c.rendering,m===null)if(f)yr(c,!1);else{if(kt!==0||t!==null&&(t.flags&128)!==0)for(t=n.child;t!==null;){if(m=Kc(t),m!==null){for(n.flags|=128,yr(c,!1),t=m.updateQueue,n.updateQueue=t,lo(n,t),n.subtreeFlags=0,t=i,i=n.child;i!==null;)Rp(i,t),i=i.sibling;return se(jt,jt.current&1|2),Ge&&qa(n,c.treeForkCount),n.child}t=t.sibling}c.tail!==null&&Xt()>oo&&(n.flags|=128,f=!0,yr(c,!1),n.lanes=4194304)}else{if(!f)if(t=Kc(m),t!==null){if(n.flags|=128,f=!0,t=t.updateQueue,n.updateQueue=t,lo(n,t),yr(c,!0),c.tail===null&&c.tailMode==="hidden"&&!m.alternate&&!Ge)return ft(n),null}else 2*Xt()-c.renderingStartTime>oo&&i!==536870912&&(n.flags|=128,f=!0,yr(c,!1),n.lanes=4194304);c.isBackwards?(m.sibling=n.child,n.child=m):(t=c.last,t!==null?t.sibling=m:n.child=m,c.last=m)}return c.tail!==null?(t=c.tail,c.rendering=t,c.tail=t.sibling,c.renderingStartTime=Xt(),t.sibling=null,i=jt.current,se(jt,f?i&1|2:i&1),Ge&&qa(n,c.treeForkCount),t):(ft(n),null);case 22:case 23:return kn(n),mu(),c=n.memoizedState!==null,t!==null?t.memoizedState!==null!==c&&(n.flags|=8192):c&&(n.flags|=8192),c?(i&536870912)!==0&&(n.flags&128)===0&&(ft(n),n.subtreeFlags&6&&(n.flags|=8192)):ft(n),i=n.updateQueue,i!==null&&lo(n,i.retryQueue),i=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(i=t.memoizedState.cachePool.pool),c=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(c=n.memoizedState.cachePool.pool),c!==i&&(n.flags|=2048),t!==null&&J(oi),null;case 24:return i=null,t!==null&&(i=t.memoizedState.cache),n.memoizedState.cache!==i&&(n.flags|=2048),Ba(At),ft(n),null;case 25:return null;case 30:return null}throw Error(r(156,n.tag))}function Jx(t,n){switch(Pd(n),n.tag){case 1:return t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 3:return Ba(At),Ie(),t=n.flags,(t&65536)!==0&&(t&128)===0?(n.flags=t&-65537|128,n):null;case 26:case 27:case 5:return Ce(n),null;case 31:if(n.memoizedState!==null){if(kn(n),n.alternate===null)throw Error(r(340));si()}return t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 13:if(kn(n),t=n.memoizedState,t!==null&&t.dehydrated!==null){if(n.alternate===null)throw Error(r(340));si()}return t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 19:return J(jt),null;case 4:return Ie(),null;case 10:return Ba(n.type),null;case 22:case 23:return kn(n),mu(),t!==null&&J(oi),t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 24:return Ba(At),null;case 25:return null;default:return null}}function lh(t,n){switch(Pd(n),n.tag){case 3:Ba(At),Ie();break;case 26:case 27:case 5:Ce(n);break;case 4:Ie();break;case 31:n.memoizedState!==null&&kn(n);break;case 13:kn(n);break;case 19:J(jt);break;case 10:Ba(n.type);break;case 22:case 23:kn(n),mu(),t!==null&&J(oi);break;case 24:Ba(At)}}function br(t,n){try{var i=n.updateQueue,c=i!==null?i.lastEffect:null;if(c!==null){var f=c.next;i=f;do{if((i.tag&t)===t){c=void 0;var m=i.create,y=i.inst;c=m(),y.destroy=c}i=i.next}while(i!==f)}}catch(j){nt(n,n.return,j)}}function xl(t,n,i){try{var c=n.updateQueue,f=c!==null?c.lastEffect:null;if(f!==null){var m=f.next;c=m;do{if((c.tag&t)===t){var y=c.inst,j=y.destroy;if(j!==void 0){y.destroy=void 0,f=n;var T=i,G=j;try{G()}catch(F){nt(f,T,F)}}}c=c.next}while(c!==m)}}catch(F){nt(n,n.return,F)}}function ih(t){var n=t.updateQueue;if(n!==null){var i=t.stateNode;try{Zp(n,i)}catch(c){nt(t,t.return,c)}}}function sh(t,n,i){i.props=pi(t.type,t.memoizedProps),i.state=t.memoizedState;try{i.componentWillUnmount()}catch(c){nt(t,n,c)}}function vr(t,n){try{var i=t.ref;if(i!==null){switch(t.tag){case 26:case 27:case 5:var c=t.stateNode;break;case 30:c=t.stateNode;break;default:c=t.stateNode}typeof i=="function"?t.refCleanup=i(c):i.current=c}}catch(f){nt(t,n,f)}}function ga(t,n){var i=t.ref,c=t.refCleanup;if(i!==null)if(typeof c=="function")try{c()}catch(f){nt(t,n,f)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof i=="function")try{i(null)}catch(f){nt(t,n,f)}else i.current=null}function rh(t){var n=t.type,i=t.memoizedProps,c=t.stateNode;try{e:switch(n){case"button":case"input":case"select":case"textarea":i.autoFocus&&c.focus();break e;case"img":i.src?c.src=i.src:i.srcSet&&(c.srcset=i.srcSet)}}catch(f){nt(t,t.return,f)}}function Ku(t,n,i){try{var c=t.stateNode;yk(c,t.type,i,n),c[pt]=n}catch(f){nt(t,t.return,f)}}function ch(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&El(t.type)||t.tag===4}function Qu(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||ch(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&El(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Vu(t,n,i){var c=t.tag;if(c===5||c===6)t=t.stateNode,n?(i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i).insertBefore(t,n):(n=i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i,n.appendChild(t),i=i._reactRootContainer,i!=null||n.onclick!==null||(n.onclick=Xn));else if(c!==4&&(c===27&&El(t.type)&&(i=t.stateNode,n=null),t=t.child,t!==null))for(Vu(t,n,i),t=t.sibling;t!==null;)Vu(t,n,i),t=t.sibling}function io(t,n,i){var c=t.tag;if(c===5||c===6)t=t.stateNode,n?i.insertBefore(t,n):i.appendChild(t);else if(c!==4&&(c===27&&El(t.type)&&(i=t.stateNode),t=t.child,t!==null))for(io(t,n,i),t=t.sibling;t!==null;)io(t,n,i),t=t.sibling}function oh(t){var n=t.stateNode,i=t.memoizedProps;try{for(var c=t.type,f=n.attributes;f.length;)n.removeAttributeNode(f[0]);Kt(n,c,i),n[Mt]=t,n[pt]=i}catch(m){nt(t,t.return,m)}}var Ya=!1,$t=!1,Xu=!1,dh=typeof WeakSet=="function"?WeakSet:Set,qt=null;function Fx(t,n){if(t=t.containerInfo,hf=No,t=kp(t),Id(t)){if("selectionStart"in t)var i={start:t.selectionStart,end:t.selectionEnd};else e:{i=(i=t.ownerDocument)&&i.defaultView||window;var c=i.getSelection&&i.getSelection();if(c&&c.rangeCount!==0){i=c.anchorNode;var f=c.anchorOffset,m=c.focusNode;c=c.focusOffset;try{i.nodeType,m.nodeType}catch{i=null;break e}var y=0,j=-1,T=-1,G=0,F=0,ee=t,Y=null;t:for(;;){for(var X;ee!==i||f!==0&&ee.nodeType!==3||(j=y+f),ee!==m||c!==0&&ee.nodeType!==3||(T=y+c),ee.nodeType===3&&(y+=ee.nodeValue.length),(X=ee.firstChild)!==null;)Y=ee,ee=X;for(;;){if(ee===t)break t;if(Y===i&&++G===f&&(j=y),Y===m&&++F===c&&(T=y),(X=ee.nextSibling)!==null)break;ee=Y,Y=ee.parentNode}ee=X}i=j===-1||T===-1?null:{start:j,end:T}}else i=null}i=i||{start:0,end:0}}else i=null;for(gf={focusedElem:t,selectionRange:i},No=!1,qt=n;qt!==null;)if(n=qt,t=n.child,(n.subtreeFlags&1028)!==0&&t!==null)t.return=n,qt=t;else for(;qt!==null;){switch(n=qt,m=n.alternate,t=n.flags,n.tag){case 0:if((t&4)!==0&&(t=n.updateQueue,t=t!==null?t.events:null,t!==null))for(i=0;i<t.length;i++)f=t[i],f.ref.impl=f.nextImpl;break;case 11:case 15:break;case 1:if((t&1024)!==0&&m!==null){t=void 0,i=n,f=m.memoizedProps,m=m.memoizedState,c=i.stateNode;try{var ge=pi(i.type,f);t=c.getSnapshotBeforeUpdate(ge,m),c.__reactInternalSnapshotBeforeUpdate=t}catch(Ne){nt(i,i.return,Ne)}}break;case 3:if((t&1024)!==0){if(t=n.stateNode.containerInfo,i=t.nodeType,i===9)vf(t);else if(i===1)switch(t.nodeName){case"HEAD":case"HTML":case"BODY":vf(t);break;default:t.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((t&1024)!==0)throw Error(r(163))}if(t=n.sibling,t!==null){t.return=n.return,qt=t;break}qt=n.return}}function uh(t,n,i){var c=i.flags;switch(i.tag){case 0:case 11:case 15:Qa(t,i),c&4&&br(5,i);break;case 1:if(Qa(t,i),c&4)if(t=i.stateNode,n===null)try{t.componentDidMount()}catch(y){nt(i,i.return,y)}else{var f=pi(i.type,n.memoizedProps);n=n.memoizedState;try{t.componentDidUpdate(f,n,t.__reactInternalSnapshotBeforeUpdate)}catch(y){nt(i,i.return,y)}}c&64&&ih(i),c&512&&vr(i,i.return);break;case 3:if(Qa(t,i),c&64&&(t=i.updateQueue,t!==null)){if(n=null,i.child!==null)switch(i.child.tag){case 27:case 5:n=i.child.stateNode;break;case 1:n=i.child.stateNode}try{Zp(t,n)}catch(y){nt(i,i.return,y)}}break;case 27:n===null&&c&4&&oh(i);case 26:case 5:Qa(t,i),n===null&&c&4&&rh(i),c&512&&vr(i,i.return);break;case 12:Qa(t,i);break;case 31:Qa(t,i),c&4&&ph(t,i);break;case 13:Qa(t,i),c&4&&_h(t,i),c&64&&(t=i.memoizedState,t!==null&&(t=t.dehydrated,t!==null&&(i=sk.bind(null,i),Ck(t,i))));break;case 22:if(c=i.memoizedState!==null||Ya,!c){n=n!==null&&n.memoizedState!==null||$t,f=Ya;var m=$t;Ya=c,($t=n)&&!m?Va(t,i,(i.subtreeFlags&8772)!==0):Qa(t,i),Ya=f,$t=m}break;case 30:break;default:Qa(t,i)}}function fh(t){var n=t.alternate;n!==null&&(t.alternate=null,fh(n)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(n=t.stateNode,n!==null&&Tn(n)),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}var ht=null,on=!1;function Ka(t,n,i){for(i=i.child;i!==null;)mh(t,n,i),i=i.sibling}function mh(t,n,i){if(Ut&&typeof Ut.onCommitFiberUnmount=="function")try{Ut.onCommitFiberUnmount(Xl,i)}catch{}switch(i.tag){case 26:$t||ga(i,n),Ka(t,n,i),i.memoizedState?i.memoizedState.count--:i.stateNode&&(i=i.stateNode,i.parentNode.removeChild(i));break;case 27:$t||ga(i,n);var c=ht,f=on;El(i.type)&&(ht=i.stateNode,on=!1),Ka(t,n,i),Ar(i.stateNode),ht=c,on=f;break;case 5:$t||ga(i,n);case 6:if(c=ht,f=on,ht=null,Ka(t,n,i),ht=c,on=f,ht!==null)if(on)try{(ht.nodeType===9?ht.body:ht.nodeName==="HTML"?ht.ownerDocument.body:ht).removeChild(i.stateNode)}catch(m){nt(i,n,m)}else try{ht.removeChild(i.stateNode)}catch(m){nt(i,n,m)}break;case 18:ht!==null&&(on?(t=ht,ig(t.nodeType===9?t.body:t.nodeName==="HTML"?t.ownerDocument.body:t,i.stateNode),gs(t)):ig(ht,i.stateNode));break;case 4:c=ht,f=on,ht=i.stateNode.containerInfo,on=!0,Ka(t,n,i),ht=c,on=f;break;case 0:case 11:case 14:case 15:xl(2,i,n),$t||xl(4,i,n),Ka(t,n,i);break;case 1:$t||(ga(i,n),c=i.stateNode,typeof c.componentWillUnmount=="function"&&sh(i,n,c)),Ka(t,n,i);break;case 21:Ka(t,n,i);break;case 22:$t=(c=$t)||i.memoizedState!==null,Ka(t,n,i),$t=c;break;default:Ka(t,n,i)}}function ph(t,n){if(n.memoizedState===null&&(t=n.alternate,t!==null&&(t=t.memoizedState,t!==null))){t=t.dehydrated;try{gs(t)}catch(i){nt(n,n.return,i)}}}function _h(t,n){if(n.memoizedState===null&&(t=n.alternate,t!==null&&(t=t.memoizedState,t!==null&&(t=t.dehydrated,t!==null))))try{gs(t)}catch(i){nt(n,n.return,i)}}function Px(t){switch(t.tag){case 31:case 13:case 19:var n=t.stateNode;return n===null&&(n=t.stateNode=new dh),n;case 22:return t=t.stateNode,n=t._retryCache,n===null&&(n=t._retryCache=new dh),n;default:throw Error(r(435,t.tag))}}function so(t,n){var i=Px(t);n.forEach(function(c){if(!i.has(c)){i.add(c);var f=rk.bind(null,t,c);c.then(f,f)}})}function dn(t,n){var i=n.deletions;if(i!==null)for(var c=0;c<i.length;c++){var f=i[c],m=t,y=n,j=y;e:for(;j!==null;){switch(j.tag){case 27:if(El(j.type)){ht=j.stateNode,on=!1;break e}break;case 5:ht=j.stateNode,on=!1;break e;case 3:case 4:ht=j.stateNode.containerInfo,on=!0;break e}j=j.return}if(ht===null)throw Error(r(160));mh(m,y,f),ht=null,on=!1,m=f.alternate,m!==null&&(m.return=null),f.return=null}if(n.subtreeFlags&13886)for(n=n.child;n!==null;)hh(n,t),n=n.sibling}var Wn=null;function hh(t,n){var i=t.alternate,c=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:dn(n,t),un(t),c&4&&(xl(3,t,t.return),br(3,t),xl(5,t,t.return));break;case 1:dn(n,t),un(t),c&512&&($t||i===null||ga(i,i.return)),c&64&&Ya&&(t=t.updateQueue,t!==null&&(c=t.callbacks,c!==null&&(i=t.shared.hiddenCallbacks,t.shared.hiddenCallbacks=i===null?c:i.concat(c))));break;case 26:var f=Wn;if(dn(n,t),un(t),c&512&&($t||i===null||ga(i,i.return)),c&4){var m=i!==null?i.memoizedState:null;if(c=t.memoizedState,i===null)if(c===null)if(t.stateNode===null){e:{c=t.type,i=t.memoizedProps,f=f.ownerDocument||f;t:switch(c){case"title":m=f.getElementsByTagName("title")[0],(!m||m[Ri]||m[Mt]||m.namespaceURI==="http://www.w3.org/2000/svg"||m.hasAttribute("itemprop"))&&(m=f.createElement(c),f.head.insertBefore(m,f.querySelector("head > title"))),Kt(m,c,i),m[Mt]=t,St(m),c=m;break e;case"link":var y=hg("link","href",f).get(c+(i.href||""));if(y){for(var j=0;j<y.length;j++)if(m=y[j],m.getAttribute("href")===(i.href==null||i.href===""?null:i.href)&&m.getAttribute("rel")===(i.rel==null?null:i.rel)&&m.getAttribute("title")===(i.title==null?null:i.title)&&m.getAttribute("crossorigin")===(i.crossOrigin==null?null:i.crossOrigin)){y.splice(j,1);break t}}m=f.createElement(c),Kt(m,c,i),f.head.appendChild(m);break;case"meta":if(y=hg("meta","content",f).get(c+(i.content||""))){for(j=0;j<y.length;j++)if(m=y[j],m.getAttribute("content")===(i.content==null?null:""+i.content)&&m.getAttribute("name")===(i.name==null?null:i.name)&&m.getAttribute("property")===(i.property==null?null:i.property)&&m.getAttribute("http-equiv")===(i.httpEquiv==null?null:i.httpEquiv)&&m.getAttribute("charset")===(i.charSet==null?null:i.charSet)){y.splice(j,1);break t}}m=f.createElement(c),Kt(m,c,i),f.head.appendChild(m);break;default:throw Error(r(468,c))}m[Mt]=t,St(m),c=m}t.stateNode=c}else gg(f,t.type,t.stateNode);else t.stateNode=_g(f,c,t.memoizedProps);else m!==c?(m===null?i.stateNode!==null&&(i=i.stateNode,i.parentNode.removeChild(i)):m.count--,c===null?gg(f,t.type,t.stateNode):_g(f,c,t.memoizedProps)):c===null&&t.stateNode!==null&&Ku(t,t.memoizedProps,i.memoizedProps)}break;case 27:dn(n,t),un(t),c&512&&($t||i===null||ga(i,i.return)),i!==null&&c&4&&Ku(t,t.memoizedProps,i.memoizedProps);break;case 5:if(dn(n,t),un(t),c&512&&($t||i===null||ga(i,i.return)),t.flags&32){f=t.stateNode;try{cl(f,"")}catch(ge){nt(t,t.return,ge)}}c&4&&t.stateNode!=null&&(f=t.memoizedProps,Ku(t,f,i!==null?i.memoizedProps:f)),c&1024&&(Xu=!0);break;case 6:if(dn(n,t),un(t),c&4){if(t.stateNode===null)throw Error(r(162));c=t.memoizedProps,i=t.stateNode;try{i.nodeValue=c}catch(ge){nt(t,t.return,ge)}}break;case 3:if(So=null,f=Wn,Wn=xo(n.containerInfo),dn(n,t),Wn=f,un(t),c&4&&i!==null&&i.memoizedState.isDehydrated)try{gs(n.containerInfo)}catch(ge){nt(t,t.return,ge)}Xu&&(Xu=!1,gh(t));break;case 4:c=Wn,Wn=xo(t.stateNode.containerInfo),dn(n,t),un(t),Wn=c;break;case 12:dn(n,t),un(t);break;case 31:dn(n,t),un(t),c&4&&(c=t.updateQueue,c!==null&&(t.updateQueue=null,so(t,c)));break;case 13:dn(n,t),un(t),t.child.flags&8192&&t.memoizedState!==null!=(i!==null&&i.memoizedState!==null)&&(co=Xt()),c&4&&(c=t.updateQueue,c!==null&&(t.updateQueue=null,so(t,c)));break;case 22:f=t.memoizedState!==null;var T=i!==null&&i.memoizedState!==null,G=Ya,F=$t;if(Ya=G||f,$t=F||T,dn(n,t),$t=F,Ya=G,un(t),c&8192)e:for(n=t.stateNode,n._visibility=f?n._visibility&-2:n._visibility|1,f&&(i===null||T||Ya||$t||_i(t)),i=null,n=t;;){if(n.tag===5||n.tag===26){if(i===null){T=i=n;try{if(m=T.stateNode,f)y=m.style,typeof y.setProperty=="function"?y.setProperty("display","none","important"):y.display="none";else{j=T.stateNode;var ee=T.memoizedProps.style,Y=ee!=null&&ee.hasOwnProperty("display")?ee.display:null;j.style.display=Y==null||typeof Y=="boolean"?"":(""+Y).trim()}}catch(ge){nt(T,T.return,ge)}}}else if(n.tag===6){if(i===null){T=n;try{T.stateNode.nodeValue=f?"":T.memoizedProps}catch(ge){nt(T,T.return,ge)}}}else if(n.tag===18){if(i===null){T=n;try{var X=T.stateNode;f?sg(X,!0):sg(T.stateNode,!1)}catch(ge){nt(T,T.return,ge)}}}else if((n.tag!==22&&n.tag!==23||n.memoizedState===null||n===t)&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break e;for(;n.sibling===null;){if(n.return===null||n.return===t)break e;i===n&&(i=null),n=n.return}i===n&&(i=null),n.sibling.return=n.return,n=n.sibling}c&4&&(c=t.updateQueue,c!==null&&(i=c.retryQueue,i!==null&&(c.retryQueue=null,so(t,i))));break;case 19:dn(n,t),un(t),c&4&&(c=t.updateQueue,c!==null&&(t.updateQueue=null,so(t,c)));break;case 30:break;case 21:break;default:dn(n,t),un(t)}}function un(t){var n=t.flags;if(n&2){try{for(var i,c=t.return;c!==null;){if(ch(c)){i=c;break}c=c.return}if(i==null)throw Error(r(160));switch(i.tag){case 27:var f=i.stateNode,m=Qu(t);io(t,m,f);break;case 5:var y=i.stateNode;i.flags&32&&(cl(y,""),i.flags&=-33);var j=Qu(t);io(t,j,y);break;case 3:case 4:var T=i.stateNode.containerInfo,G=Qu(t);Vu(t,G,T);break;default:throw Error(r(161))}}catch(F){nt(t,t.return,F)}t.flags&=-3}n&4096&&(t.flags&=-4097)}function gh(t){if(t.subtreeFlags&1024)for(t=t.child;t!==null;){var n=t;gh(n),n.tag===5&&n.flags&1024&&n.stateNode.reset(),t=t.sibling}}function Qa(t,n){if(n.subtreeFlags&8772)for(n=n.child;n!==null;)uh(t,n.alternate,n),n=n.sibling}function _i(t){for(t=t.child;t!==null;){var n=t;switch(n.tag){case 0:case 11:case 14:case 15:xl(4,n,n.return),_i(n);break;case 1:ga(n,n.return);var i=n.stateNode;typeof i.componentWillUnmount=="function"&&sh(n,n.return,i),_i(n);break;case 27:Ar(n.stateNode);case 26:case 5:ga(n,n.return),_i(n);break;case 22:n.memoizedState===null&&_i(n);break;case 30:_i(n);break;default:_i(n)}t=t.sibling}}function Va(t,n,i){for(i=i&&(n.subtreeFlags&8772)!==0,n=n.child;n!==null;){var c=n.alternate,f=t,m=n,y=m.flags;switch(m.tag){case 0:case 11:case 15:Va(f,m,i),br(4,m);break;case 1:if(Va(f,m,i),c=m,f=c.stateNode,typeof f.componentDidMount=="function")try{f.componentDidMount()}catch(G){nt(c,c.return,G)}if(c=m,f=c.updateQueue,f!==null){var j=c.stateNode;try{var T=f.shared.hiddenCallbacks;if(T!==null)for(f.shared.hiddenCallbacks=null,f=0;f<T.length;f++)Xp(T[f],j)}catch(G){nt(c,c.return,G)}}i&&y&64&&ih(m),vr(m,m.return);break;case 27:oh(m);case 26:case 5:Va(f,m,i),i&&c===null&&y&4&&rh(m),vr(m,m.return);break;case 12:Va(f,m,i);break;case 31:Va(f,m,i),i&&y&4&&ph(f,m);break;case 13:Va(f,m,i),i&&y&4&&_h(f,m);break;case 22:m.memoizedState===null&&Va(f,m,i),vr(m,m.return);break;case 30:break;default:Va(f,m,i)}n=n.sibling}}function Zu(t,n){var i=null;t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(i=t.memoizedState.cachePool.pool),t=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(t=n.memoizedState.cachePool.pool),t!==i&&(t!=null&&t.refCount++,i!=null&&sr(i))}function Ju(t,n){t=null,n.alternate!==null&&(t=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==t&&(n.refCount++,t!=null&&sr(t))}function ea(t,n,i,c){if(n.subtreeFlags&10256)for(n=n.child;n!==null;)yh(t,n,i,c),n=n.sibling}function yh(t,n,i,c){var f=n.flags;switch(n.tag){case 0:case 11:case 15:ea(t,n,i,c),f&2048&&br(9,n);break;case 1:ea(t,n,i,c);break;case 3:ea(t,n,i,c),f&2048&&(t=null,n.alternate!==null&&(t=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==t&&(n.refCount++,t!=null&&sr(t)));break;case 12:if(f&2048){ea(t,n,i,c),t=n.stateNode;try{var m=n.memoizedProps,y=m.id,j=m.onPostCommit;typeof j=="function"&&j(y,n.alternate===null?"mount":"update",t.passiveEffectDuration,-0)}catch(T){nt(n,n.return,T)}}else ea(t,n,i,c);break;case 31:ea(t,n,i,c);break;case 13:ea(t,n,i,c);break;case 23:break;case 22:m=n.stateNode,y=n.alternate,n.memoizedState!==null?m._visibility&2?ea(t,n,i,c):xr(t,n):m._visibility&2?ea(t,n,i,c):(m._visibility|=2,ss(t,n,i,c,(n.subtreeFlags&10256)!==0||!1)),f&2048&&Zu(y,n);break;case 24:ea(t,n,i,c),f&2048&&Ju(n.alternate,n);break;default:ea(t,n,i,c)}}function ss(t,n,i,c,f){for(f=f&&((n.subtreeFlags&10256)!==0||!1),n=n.child;n!==null;){var m=t,y=n,j=i,T=c,G=y.flags;switch(y.tag){case 0:case 11:case 15:ss(m,y,j,T,f),br(8,y);break;case 23:break;case 22:var F=y.stateNode;y.memoizedState!==null?F._visibility&2?ss(m,y,j,T,f):xr(m,y):(F._visibility|=2,ss(m,y,j,T,f)),f&&G&2048&&Zu(y.alternate,y);break;case 24:ss(m,y,j,T,f),f&&G&2048&&Ju(y.alternate,y);break;default:ss(m,y,j,T,f)}n=n.sibling}}function xr(t,n){if(n.subtreeFlags&10256)for(n=n.child;n!==null;){var i=t,c=n,f=c.flags;switch(c.tag){case 22:xr(i,c),f&2048&&Zu(c.alternate,c);break;case 24:xr(i,c),f&2048&&Ju(c.alternate,c);break;default:xr(i,c)}n=n.sibling}}var kr=8192;function rs(t,n,i){if(t.subtreeFlags&kr)for(t=t.child;t!==null;)bh(t,n,i),t=t.sibling}function bh(t,n,i){switch(t.tag){case 26:rs(t,n,i),t.flags&kr&&t.memoizedState!==null&&Lk(i,Wn,t.memoizedState,t.memoizedProps);break;case 5:rs(t,n,i);break;case 3:case 4:var c=Wn;Wn=xo(t.stateNode.containerInfo),rs(t,n,i),Wn=c;break;case 22:t.memoizedState===null&&(c=t.alternate,c!==null&&c.memoizedState!==null?(c=kr,kr=16777216,rs(t,n,i),kr=c):rs(t,n,i));break;default:rs(t,n,i)}}function vh(t){var n=t.alternate;if(n!==null&&(t=n.child,t!==null)){n.child=null;do n=t.sibling,t.sibling=null,t=n;while(t!==null)}}function Sr(t){var n=t.deletions;if((t.flags&16)!==0){if(n!==null)for(var i=0;i<n.length;i++){var c=n[i];qt=c,kh(c,t)}vh(t)}if(t.subtreeFlags&10256)for(t=t.child;t!==null;)xh(t),t=t.sibling}function xh(t){switch(t.tag){case 0:case 11:case 15:Sr(t),t.flags&2048&&xl(9,t,t.return);break;case 3:Sr(t);break;case 12:Sr(t);break;case 22:var n=t.stateNode;t.memoizedState!==null&&n._visibility&2&&(t.return===null||t.return.tag!==13)?(n._visibility&=-3,ro(t)):Sr(t);break;default:Sr(t)}}function ro(t){var n=t.deletions;if((t.flags&16)!==0){if(n!==null)for(var i=0;i<n.length;i++){var c=n[i];qt=c,kh(c,t)}vh(t)}for(t=t.child;t!==null;){switch(n=t,n.tag){case 0:case 11:case 15:xl(8,n,n.return),ro(n);break;case 22:i=n.stateNode,i._visibility&2&&(i._visibility&=-3,ro(n));break;default:ro(n)}t=t.sibling}}function kh(t,n){for(;qt!==null;){var i=qt;switch(i.tag){case 0:case 11:case 15:xl(8,i,n);break;case 23:case 22:if(i.memoizedState!==null&&i.memoizedState.cachePool!==null){var c=i.memoizedState.cachePool.pool;c!=null&&c.refCount++}break;case 24:sr(i.memoizedState.cache)}if(c=i.child,c!==null)c.return=i,qt=c;else e:for(i=t;qt!==null;){c=qt;var f=c.sibling,m=c.return;if(fh(c),c===i){qt=null;break e}if(f!==null){f.return=m,qt=f;break e}qt=m}}}var Wx={getCacheForType:function(t){var n=Gt(At),i=n.data.get(t);return i===void 0&&(i=t(),n.data.set(t,i)),i},cacheSignal:function(){return Gt(At).controller.signal}},ek=typeof WeakMap=="function"?WeakMap:Map,Pe=0,ct=null,Oe=null,Be=0,tt=0,Sn=null,kl=!1,cs=!1,Fu=!1,Xa=0,kt=0,Sl=0,hi=0,Pu=0,jn=0,os=0,jr=null,fn=null,Wu=!1,co=0,Sh=0,oo=1/0,uo=null,jl=null,Ot=0,wl=null,ds=null,Za=0,ef=0,tf=null,jh=null,wr=0,nf=null;function wn(){return(Pe&2)!==0&&Be!==0?Be&-Be:B.T!==null?of():mc()}function wh(){if(jn===0)if((Be&536870912)===0||Ge){var t=Fe;Fe<<=1,(Fe&3932160)===0&&(Fe=262144),jn=t}else jn=536870912;return t=xn.current,t!==null&&(t.flags|=32),jn}function mn(t,n,i){(t===ct&&(tt===2||tt===9)||t.cancelPendingCommit!==null)&&(us(t,0),Cl(t,Be,jn,!1)),Ea(t,i),((Pe&2)===0||t!==ct)&&(t===ct&&((Pe&2)===0&&(hi|=i),kt===4&&Cl(t,Be,jn,!1)),ya(t))}function Ch(t,n,i){if((Pe&6)!==0)throw Error(r(327));var c=!i&&(n&127)===0&&(n&t.expiredLanes)===0||zt(t,n),f=c?ak(t,n):lf(t,n,!0),m=c;do{if(f===0){cs&&!c&&Cl(t,n,0,!1);break}else{if(i=t.current.alternate,m&&!tk(i)){f=lf(t,n,!1),m=!1;continue}if(f===2){if(m=n,t.errorRecoveryDisabledLanes&m)var y=0;else y=t.pendingLanes&-536870913,y=y!==0?y:y&536870912?536870912:0;if(y!==0){n=y;e:{var j=t;f=jr;var T=j.current.memoizedState.isDehydrated;if(T&&(us(j,y).flags|=256),y=lf(j,y,!1),y!==2){if(Fu&&!T){j.errorRecoveryDisabledLanes|=m,hi|=m,f=4;break e}m=fn,fn=f,m!==null&&(fn===null?fn=m:fn.push.apply(fn,m))}f=y}if(m=!1,f!==2)continue}}if(f===1){us(t,0),Cl(t,n,0,!0);break}e:{switch(c=t,m=f,m){case 0:case 1:throw Error(r(345));case 4:if((n&4194048)!==n)break;case 6:Cl(c,n,jn,!kl);break e;case 2:fn=null;break;case 3:case 5:break;default:throw Error(r(329))}if((n&62914560)===n&&(f=co+300-Xt(),10<f)){if(Cl(c,n,jn,!kl),sn(c,0,!0)!==0)break e;Za=n,c.timeoutHandle=ag(Nh.bind(null,c,i,fn,uo,Wu,n,jn,hi,os,kl,m,"Throttled",-0,0),f);break e}Nh(c,i,fn,uo,Wu,n,jn,hi,os,kl,m,null,-0,0)}}break}while(!0);ya(t)}function Nh(t,n,i,c,f,m,y,j,T,G,F,ee,Y,X){if(t.timeoutHandle=-1,ee=n.subtreeFlags,ee&8192||(ee&16785408)===16785408){ee={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Xn},bh(n,m,ee);var ge=(m&62914560)===m?co-Xt():(m&4194048)===m?Sh-Xt():0;if(ge=Bk(ee,ge),ge!==null){Za=m,t.cancelPendingCommit=ge(Mh.bind(null,t,n,m,i,c,f,y,j,T,F,ee,null,Y,X)),Cl(t,m,y,!G);return}}Mh(t,n,m,i,c,f,y,j,T)}function tk(t){for(var n=t;;){var i=n.tag;if((i===0||i===11||i===15)&&n.flags&16384&&(i=n.updateQueue,i!==null&&(i=i.stores,i!==null)))for(var c=0;c<i.length;c++){var f=i[c],m=f.getSnapshot;f=f.value;try{if(!bn(m(),f))return!1}catch{return!1}}if(i=n.child,n.subtreeFlags&16384&&i!==null)i.return=n,n=i;else{if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return!0;n=n.return}n.sibling.return=n.return,n=n.sibling}}return!0}function Cl(t,n,i,c){n&=~Pu,n&=~hi,t.suspendedLanes|=n,t.pingedLanes&=~n,c&&(t.warmLanes|=n),c=t.expirationTimes;for(var f=n;0<f;){var m=31-Wt(f),y=1<<m;c[m]=-1,f&=~y}i!==0&&fc(t,i,n)}function fo(){return(Pe&6)===0?(Cr(0),!1):!0}function af(){if(Oe!==null){if(tt===0)var t=Oe.return;else t=Oe,La=ri=null,bu(t),ts=null,cr=0,t=Oe;for(;t!==null;)lh(t.alternate,t),t=t.return;Oe=null}}function us(t,n){var i=t.timeoutHandle;i!==-1&&(t.timeoutHandle=-1,xk(i)),i=t.cancelPendingCommit,i!==null&&(t.cancelPendingCommit=null,i()),Za=0,af(),ct=t,Oe=i=Oa(t.current,null),Be=n,tt=0,Sn=null,kl=!1,cs=zt(t,n),Fu=!1,os=jn=Pu=hi=Sl=kt=0,fn=jr=null,Wu=!1,(n&8)!==0&&(n|=n&32);var c=t.entangledLanes;if(c!==0)for(t=t.entanglements,c&=n;0<c;){var f=31-Wt(c),m=1<<f;n|=t[f],c&=~m}return Xa=n,$c(),i}function Eh(t,n){$e=null,B.H=hr,n===es||n===Uc?(n=Yp(),tt=3):n===ru?(n=Yp(),tt=4):tt=n===Mu?8:n!==null&&typeof n=="object"&&typeof n.then=="function"?6:1,Sn=n,Oe===null&&(kt=1,eo(t,Dn(n,t.current)))}function Ah(){var t=xn.current;return t===null?!0:(Be&4194048)===Be?qn===null:(Be&62914560)===Be||(Be&536870912)!==0?t===qn:!1}function Th(){var t=B.H;return B.H=hr,t===null?hr:t}function Rh(){var t=B.A;return B.A=Wx,t}function mo(){kt=4,kl||(Be&4194048)!==Be&&xn.current!==null||(cs=!0),(Sl&134217727)===0&&(hi&134217727)===0||ct===null||Cl(ct,Be,jn,!1)}function lf(t,n,i){var c=Pe;Pe|=2;var f=Th(),m=Rh();(ct!==t||Be!==n)&&(uo=null,us(t,n)),n=!1;var y=kt;e:do try{if(tt!==0&&Oe!==null){var j=Oe,T=Sn;switch(tt){case 8:af(),y=6;break e;case 3:case 2:case 9:case 6:xn.current===null&&(n=!0);var G=tt;if(tt=0,Sn=null,fs(t,j,T,G),i&&cs){y=0;break e}break;default:G=tt,tt=0,Sn=null,fs(t,j,T,G)}}nk(),y=kt;break}catch(F){Eh(t,F)}while(!0);return n&&t.shellSuspendCounter++,La=ri=null,Pe=c,B.H=f,B.A=m,Oe===null&&(ct=null,Be=0,$c()),y}function nk(){for(;Oe!==null;)$h(Oe)}function ak(t,n){var i=Pe;Pe|=2;var c=Th(),f=Rh();ct!==t||Be!==n?(uo=null,oo=Xt()+500,us(t,n)):cs=zt(t,n);e:do try{if(tt!==0&&Oe!==null){n=Oe;var m=Sn;t:switch(tt){case 1:tt=0,Sn=null,fs(t,n,m,1);break;case 2:case 9:if(Hp(m)){tt=0,Sn=null,Dh(n);break}n=function(){tt!==2&&tt!==9||ct!==t||(tt=7),ya(t)},m.then(n,n);break e;case 3:tt=7;break e;case 4:tt=5;break e;case 7:Hp(m)?(tt=0,Sn=null,Dh(n)):(tt=0,Sn=null,fs(t,n,m,7));break;case 5:var y=null;switch(Oe.tag){case 26:y=Oe.memoizedState;case 5:case 27:var j=Oe;if(y?yg(y):j.stateNode.complete){tt=0,Sn=null;var T=j.sibling;if(T!==null)Oe=T;else{var G=j.return;G!==null?(Oe=G,po(G)):Oe=null}break t}}tt=0,Sn=null,fs(t,n,m,5);break;case 6:tt=0,Sn=null,fs(t,n,m,6);break;case 8:af(),kt=6;break e;default:throw Error(r(462))}}lk();break}catch(F){Eh(t,F)}while(!0);return La=ri=null,B.H=c,B.A=f,Pe=i,Oe!==null?0:(ct=null,Be=0,$c(),kt)}function lk(){for(;Oe!==null&&!oc();)$h(Oe)}function $h(t){var n=nh(t.alternate,t,Xa);t.memoizedProps=t.pendingProps,n===null?po(t):Oe=n}function Dh(t){var n=t,i=n.alternate;switch(n.tag){case 15:case 0:n=J_(i,n,n.pendingProps,n.type,void 0,Be);break;case 11:n=J_(i,n,n.pendingProps,n.type.render,n.ref,Be);break;case 5:bu(n);default:lh(i,n),n=Oe=Rp(n,Xa),n=nh(i,n,Xa)}t.memoizedProps=t.pendingProps,n===null?po(t):Oe=n}function fs(t,n,i,c){La=ri=null,bu(n),ts=null,cr=0;var f=n.return;try{if(Qx(t,f,n,i,Be)){kt=1,eo(t,Dn(i,t.current)),Oe=null;return}}catch(m){if(f!==null)throw Oe=f,m;kt=1,eo(t,Dn(i,t.current)),Oe=null;return}n.flags&32768?(Ge||c===1?t=!0:cs||(Be&536870912)!==0?t=!1:(kl=t=!0,(c===2||c===9||c===3||c===6)&&(c=xn.current,c!==null&&c.tag===13&&(c.flags|=16384))),zh(n,t)):po(n)}function po(t){var n=t;do{if((n.flags&32768)!==0){zh(n,kl);return}t=n.return;var i=Zx(n.alternate,n,Xa);if(i!==null){Oe=i;return}if(n=n.sibling,n!==null){Oe=n;return}Oe=n=t}while(n!==null);kt===0&&(kt=5)}function zh(t,n){do{var i=Jx(t.alternate,t);if(i!==null){i.flags&=32767,Oe=i;return}if(i=t.return,i!==null&&(i.flags|=32768,i.subtreeFlags=0,i.deletions=null),!n&&(t=t.sibling,t!==null)){Oe=t;return}Oe=t=i}while(t!==null);kt=6,Oe=null}function Mh(t,n,i,c,f,m,y,j,T){t.cancelPendingCommit=null;do _o();while(Ot!==0);if((Pe&6)!==0)throw Error(r(327));if(n!==null){if(n===t.current)throw Error(r(177));if(m=n.lanes|n.childLanes,m|=Qd,tn(t,i,m,y,j,T),t===ct&&(Oe=ct=null,Be=0),ds=n,wl=t,Za=i,ef=m,tf=f,jh=c,(n.subtreeFlags&10256)!==0||(n.flags&10256)!==0?(t.callbackNode=null,t.callbackPriority=0,ck(sl,function(){return Uh(),null})):(t.callbackNode=null,t.callbackPriority=0),c=(n.flags&13878)!==0,(n.subtreeFlags&13878)!==0||c){c=B.T,B.T=null,f=U.p,U.p=2,y=Pe,Pe|=4;try{Fx(t,n,i)}finally{Pe=y,U.p=f,B.T=c}}Ot=1,Oh(),qh(),Lh()}}function Oh(){if(Ot===1){Ot=0;var t=wl,n=ds,i=(n.flags&13878)!==0;if((n.subtreeFlags&13878)!==0||i){i=B.T,B.T=null;var c=U.p;U.p=2;var f=Pe;Pe|=4;try{hh(n,t);var m=gf,y=kp(t.containerInfo),j=m.focusedElem,T=m.selectionRange;if(y!==j&&j&&j.ownerDocument&&xp(j.ownerDocument.documentElement,j)){if(T!==null&&Id(j)){var G=T.start,F=T.end;if(F===void 0&&(F=G),"selectionStart"in j)j.selectionStart=G,j.selectionEnd=Math.min(F,j.value.length);else{var ee=j.ownerDocument||document,Y=ee&&ee.defaultView||window;if(Y.getSelection){var X=Y.getSelection(),ge=j.textContent.length,Ne=Math.min(T.start,ge),st=T.end===void 0?Ne:Math.min(T.end,ge);!X.extend&&Ne>st&&(y=st,st=Ne,Ne=y);var L=vp(j,Ne),$=vp(j,st);if(L&&$&&(X.rangeCount!==1||X.anchorNode!==L.node||X.anchorOffset!==L.offset||X.focusNode!==$.node||X.focusOffset!==$.offset)){var H=ee.createRange();H.setStart(L.node,L.offset),X.removeAllRanges(),Ne>st?(X.addRange(H),X.extend($.node,$.offset)):(H.setEnd($.node,$.offset),X.addRange(H))}}}}for(ee=[],X=j;X=X.parentNode;)X.nodeType===1&&ee.push({element:X,left:X.scrollLeft,top:X.scrollTop});for(typeof j.focus=="function"&&j.focus(),j=0;j<ee.length;j++){var W=ee[j];W.element.scrollLeft=W.left,W.element.scrollTop=W.top}}No=!!hf,gf=hf=null}finally{Pe=f,U.p=c,B.T=i}}t.current=n,Ot=2}}function qh(){if(Ot===2){Ot=0;var t=wl,n=ds,i=(n.flags&8772)!==0;if((n.subtreeFlags&8772)!==0||i){i=B.T,B.T=null;var c=U.p;U.p=2;var f=Pe;Pe|=4;try{uh(t,n.alternate,n)}finally{Pe=f,U.p=c,B.T=i}}Ot=3}}function Lh(){if(Ot===4||Ot===3){Ot=0,Os();var t=wl,n=ds,i=Za,c=jh;(n.subtreeFlags&10256)!==0||(n.flags&10256)!==0?Ot=5:(Ot=0,ds=wl=null,Bh(t,t.pendingLanes));var f=t.pendingLanes;if(f===0&&(jl=null),Zl(i),n=n.stateNode,Ut&&typeof Ut.onCommitFiberRoot=="function")try{Ut.onCommitFiberRoot(Xl,n,void 0,(n.current.flags&128)===128)}catch{}if(c!==null){n=B.T,f=U.p,U.p=2,B.T=null;try{for(var m=t.onRecoverableError,y=0;y<c.length;y++){var j=c[y];m(j.value,{componentStack:j.stack})}}finally{B.T=n,U.p=f}}(Za&3)!==0&&_o(),ya(t),f=t.pendingLanes,(i&261930)!==0&&(f&42)!==0?t===nf?wr++:(wr=0,nf=t):wr=0,Cr(0)}}function Bh(t,n){(t.pooledCacheLanes&=n)===0&&(n=t.pooledCache,n!=null&&(t.pooledCache=null,sr(n)))}function _o(){return Oh(),qh(),Lh(),Uh()}function Uh(){if(Ot!==5)return!1;var t=wl,n=ef;ef=0;var i=Zl(Za),c=B.T,f=U.p;try{U.p=32>i?32:i,B.T=null,i=tf,tf=null;var m=wl,y=Za;if(Ot=0,ds=wl=null,Za=0,(Pe&6)!==0)throw Error(r(331));var j=Pe;if(Pe|=4,xh(m.current),yh(m,m.current,y,i),Pe=j,Cr(0,!1),Ut&&typeof Ut.onPostCommitFiberRoot=="function")try{Ut.onPostCommitFiberRoot(Xl,m)}catch{}return!0}finally{U.p=f,B.T=c,Bh(t,n)}}function Ih(t,n,i){n=Dn(i,n),n=zu(t.stateNode,n,2),t=yl(t,n,2),t!==null&&(Ea(t,2),ya(t))}function nt(t,n,i){if(t.tag===3)Ih(t,t,i);else for(;n!==null;){if(n.tag===3){Ih(n,t,i);break}else if(n.tag===1){var c=n.stateNode;if(typeof n.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(jl===null||!jl.has(c))){t=Dn(i,t),i=H_(2),c=yl(n,i,2),c!==null&&(G_(i,c,n,t),Ea(c,2),ya(c));break}}n=n.return}}function sf(t,n,i){var c=t.pingCache;if(c===null){c=t.pingCache=new ek;var f=new Set;c.set(n,f)}else f=c.get(n),f===void 0&&(f=new Set,c.set(n,f));f.has(i)||(Fu=!0,f.add(i),t=ik.bind(null,t,n,i),n.then(t,t))}function ik(t,n,i){var c=t.pingCache;c!==null&&c.delete(n),t.pingedLanes|=t.suspendedLanes&i,t.warmLanes&=~i,ct===t&&(Be&i)===i&&(kt===4||kt===3&&(Be&62914560)===Be&&300>Xt()-co?(Pe&2)===0&&us(t,0):Pu|=i,os===Be&&(os=0)),ya(t)}function Hh(t,n){n===0&&(n=oa()),t=li(t,n),t!==null&&(Ea(t,n),ya(t))}function sk(t){var n=t.memoizedState,i=0;n!==null&&(i=n.retryLane),Hh(t,i)}function rk(t,n){var i=0;switch(t.tag){case 31:case 13:var c=t.stateNode,f=t.memoizedState;f!==null&&(i=f.retryLane);break;case 19:c=t.stateNode;break;case 22:c=t.stateNode._retryCache;break;default:throw Error(r(314))}c!==null&&c.delete(n),Hh(t,i)}function ck(t,n){return Ni(t,n)}var ho=null,ms=null,rf=!1,go=!1,cf=!1,Nl=0;function ya(t){t!==ms&&t.next===null&&(ms===null?ho=ms=t:ms=ms.next=t),go=!0,rf||(rf=!0,dk())}function Cr(t,n){if(!cf&&go){cf=!0;do for(var i=!1,c=ho;c!==null;){if(t!==0){var f=c.pendingLanes;if(f===0)var m=0;else{var y=c.suspendedLanes,j=c.pingedLanes;m=(1<<31-Wt(42|t)+1)-1,m&=f&~(y&~j),m=m&201326741?m&201326741|1:m?m|2:0}m!==0&&(i=!0,Qh(c,m))}else m=Be,m=sn(c,c===ct?m:0,c.cancelPendingCommit!==null||c.timeoutHandle!==-1),(m&3)===0||zt(c,m)||(i=!0,Qh(c,m));c=c.next}while(i);cf=!1}}function ok(){Gh()}function Gh(){go=rf=!1;var t=0;Nl!==0&&vk()&&(t=Nl);for(var n=Xt(),i=null,c=ho;c!==null;){var f=c.next,m=Yh(c,n);m===0?(c.next=null,i===null?ho=f:i.next=f,f===null&&(ms=i)):(i=c,(t!==0||(m&3)!==0)&&(go=!0)),c=f}Ot!==0&&Ot!==5||Cr(t),Nl!==0&&(Nl=0)}function Yh(t,n){for(var i=t.suspendedLanes,c=t.pingedLanes,f=t.expirationTimes,m=t.pendingLanes&-62914561;0<m;){var y=31-Wt(m),j=1<<y,T=f[y];T===-1?((j&i)===0||(j&c)!==0)&&(f[y]=Ti(j,n)):T<=n&&(t.expiredLanes|=j),m&=~j}if(n=ct,i=Be,i=sn(t,t===n?i:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),c=t.callbackNode,i===0||t===n&&(tt===2||tt===9)||t.cancelPendingCommit!==null)return c!==null&&c!==null&&Ei(c),t.callbackNode=null,t.callbackPriority=0;if((i&3)===0||zt(t,i)){if(n=i&-i,n===t.callbackPriority)return n;switch(c!==null&&Ei(c),Zl(i)){case 2:case 8:i=Vl;break;case 32:i=sl;break;case 268435456:i=Ca;break;default:i=sl}return c=Kh.bind(null,t),i=Ni(i,c),t.callbackPriority=n,t.callbackNode=i,n}return c!==null&&c!==null&&Ei(c),t.callbackPriority=2,t.callbackNode=null,2}function Kh(t,n){if(Ot!==0&&Ot!==5)return t.callbackNode=null,t.callbackPriority=0,null;var i=t.callbackNode;if(_o()&&t.callbackNode!==i)return null;var c=Be;return c=sn(t,t===ct?c:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),c===0?null:(Ch(t,c,n),Yh(t,Xt()),t.callbackNode!=null&&t.callbackNode===i?Kh.bind(null,t):null)}function Qh(t,n){if(_o())return null;Ch(t,n,!0)}function dk(){kk(function(){(Pe&6)!==0?Ni(il,ok):Gh()})}function of(){if(Nl===0){var t=Pi;t===0&&(t=ca,ca<<=1,(ca&261888)===0&&(ca=256)),Nl=t}return Nl}function Vh(t){return t==null||typeof t=="symbol"||typeof t=="boolean"?null:typeof t=="function"?t:Oi(""+t)}function Xh(t,n){var i=n.ownerDocument.createElement("input");return i.name=n.name,i.value=n.value,t.id&&i.setAttribute("form",t.id),n.parentNode.insertBefore(i,n),t=new FormData(t),i.parentNode.removeChild(i),t}function uk(t,n,i,c,f){if(n==="submit"&&i&&i.stateNode===f){var m=Vh((f[pt]||null).action),y=c.submitter;y&&(n=(n=y[pt]||null)?Vh(n.formAction):y.getAttribute("formAction"),n!==null&&(m=n,y=null));var j=new pa("action","action",null,c,f);t.push({event:j,listeners:[{instance:null,listener:function(){if(c.defaultPrevented){if(Nl!==0){var T=y?Xh(f,y):new FormData(f);Eu(i,{pending:!0,data:T,method:f.method,action:m},null,T)}}else typeof m=="function"&&(j.preventDefault(),T=y?Xh(f,y):new FormData(f),Eu(i,{pending:!0,data:T,method:f.method,action:m},m,T))},currentTarget:f}]})}}for(var df=0;df<Kd.length;df++){var uf=Kd[df],fk=uf.toLowerCase(),mk=uf[0].toUpperCase()+uf.slice(1);Pn(fk,"on"+mk)}Pn(wp,"onAnimationEnd"),Pn(Cp,"onAnimationIteration"),Pn(Np,"onAnimationStart"),Pn("dblclick","onDoubleClick"),Pn("focusin","onFocus"),Pn("focusout","onBlur"),Pn(Ax,"onTransitionRun"),Pn(Tx,"onTransitionStart"),Pn(Rx,"onTransitionCancel"),Pn(Ep,"onTransitionEnd"),Rn("onMouseEnter",["mouseout","mouseover"]),Rn("onMouseLeave",["mouseout","mouseover"]),Rn("onPointerEnter",["pointerout","pointerover"]),Rn("onPointerLeave",["pointerout","pointerover"]),ua("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),ua("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),ua("onBeforeInput",["compositionend","keypress","textInput","paste"]),ua("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),ua("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),ua("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Nr="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(" "),pk=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Nr));function Zh(t,n){n=(n&4)!==0;for(var i=0;i<t.length;i++){var c=t[i],f=c.event;c=c.listeners;e:{var m=void 0;if(n)for(var y=c.length-1;0<=y;y--){var j=c[y],T=j.instance,G=j.currentTarget;if(j=j.listener,T!==m&&f.isPropagationStopped())break e;m=j,f.currentTarget=G;try{m(f)}catch(F){Rc(F)}f.currentTarget=null,m=T}else for(y=0;y<c.length;y++){if(j=c[y],T=j.instance,G=j.currentTarget,j=j.listener,T!==m&&f.isPropagationStopped())break e;m=j,f.currentTarget=G;try{m(f)}catch(F){Rc(F)}f.currentTarget=null,m=T}}}}function qe(t,n){var i=n[Me];i===void 0&&(i=n[Me]=new Set);var c=t+"__bubble";i.has(c)||(Jh(n,t,2,!1),i.add(c))}function ff(t,n,i){var c=0;n&&(c|=4),Jh(i,t,c,n)}var yo="_reactListening"+Math.random().toString(36).slice(2);function mf(t){if(!t[yo]){t[yo]=!0,Ra.forEach(function(i){i!=="selectionchange"&&(pk.has(i)||ff(i,!1,t),ff(i,!0,t))});var n=t.nodeType===9?t:t.ownerDocument;n===null||n[yo]||(n[yo]=!0,ff("selectionchange",!1,n))}}function Jh(t,n,i,c){switch(wg(n)){case 2:var f=Hk;break;case 8:f=Gk;break;default:f=Ef}i=f.bind(null,n,i,t),f=void 0,!Qs||n!=="touchstart"&&n!=="touchmove"&&n!=="wheel"||(f=!0),c?f!==void 0?t.addEventListener(n,i,{capture:!0,passive:f}):t.addEventListener(n,i,!0):f!==void 0?t.addEventListener(n,i,{passive:f}):t.addEventListener(n,i,!1)}function pf(t,n,i,c,f){var m=c;if((n&1)===0&&(n&2)===0&&c!==null)e:for(;;){if(c===null)return;var y=c.tag;if(y===3||y===4){var j=c.stateNode.containerInfo;if(j===f)break;if(y===4)for(y=c.return;y!==null;){var T=y.tag;if((T===3||T===4)&&y.stateNode.containerInfo===f)return;y=y.return}for(;j!==null;){if(y=ze(j),y===null)return;if(T=y.tag,T===5||T===6||T===26||T===27){c=m=y;continue e}j=j.parentNode}}c=c.return}vc(function(){var G=m,F=Ys(i),ee=[];e:{var Y=Ap.get(t);if(Y!==void 0){var X=pa,ge=t;switch(t){case"keypress":if(Bi(i)===0)break e;case"keydown":case"keyup":X=Ac;break;case"focusin":ge="focus",X=Ii;break;case"focusout":ge="blur",X=Ii;break;case"beforeblur":case"afterblur":X=Ii;break;case"click":if(i.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":X=kc;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":X=Fs;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":X=ye;break;case wp:case Cp:case Np:X=Ws;break;case Ep:X=Qe;break;case"scroll":case"scrollend":X=Zs;break;case"wheel":X=at;break;case"copy":case"cut":case"paste":X=ul;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":X=Q;break;case"toggle":case"beforetoggle":X=dt}var Ne=(n&4)!==0,st=!Ne&&(t==="scroll"||t==="scrollend"),L=Ne?Y!==null?Y+"Capture":null:Y;Ne=[];for(var $=G,H;$!==null;){var W=$;if(H=W.stateNode,W=W.tag,W!==5&&W!==26&&W!==27||H===null||L===null||(W=Wl($,L),W!=null&&Ne.push(Er($,W,H))),st)break;$=$.return}0<Ne.length&&(Y=new X(Y,ge,null,i,F),ee.push({event:Y,listeners:Ne}))}}if((n&7)===0){e:{if(Y=t==="mouseover"||t==="pointerover",X=t==="mouseout"||t==="pointerout",Y&&i!==Gs&&(ge=i.relatedTarget||i.fromElement)&&(ze(ge)||ge[Xe]))break e;if((X||Y)&&(Y=F.window===F?F:(Y=F.ownerDocument)?Y.defaultView||Y.parentWindow:window,X?(ge=i.relatedTarget||i.toElement,X=G,ge=ge?ze(ge):null,ge!==null&&(st=d(ge),Ne=ge.tag,ge!==st||Ne!==5&&Ne!==27&&Ne!==6)&&(ge=null)):(X=null,ge=G),X!==ge)){if(Ne=kc,W="onMouseLeave",L="onMouseEnter",$="mouse",(t==="pointerout"||t==="pointerover")&&(Ne=Q,W="onPointerLeave",L="onPointerEnter",$="pointer"),st=X==null?Y:Et(X),H=ge==null?Y:Et(ge),Y=new Ne(W,$+"leave",X,i,F),Y.target=st,Y.relatedTarget=H,W=null,ze(F)===G&&(Ne=new Ne(L,$+"enter",ge,i,F),Ne.target=H,Ne.relatedTarget=st,W=Ne),st=W,X&&ge)t:{for(Ne=_k,L=X,$=ge,H=0,W=L;W;W=Ne(W))H++;W=0;for(var Se=$;Se;Se=Ne(Se))W++;for(;0<H-W;)L=Ne(L),H--;for(;0<W-H;)$=Ne($),W--;for(;H--;){if(L===$||$!==null&&L===$.alternate){Ne=L;break t}L=Ne(L),$=Ne($)}Ne=null}else Ne=null;X!==null&&Fh(ee,Y,X,Ne,!1),ge!==null&&st!==null&&Fh(ee,st,ge,Ne,!0)}}e:{if(Y=G?Et(G):window,X=Y.nodeName&&Y.nodeName.toLowerCase(),X==="select"||X==="input"&&Y.type==="file")var Ze=pp;else if(fp(Y))if(_p)Ze=Cx;else{Ze=jx;var xe=Sx}else X=Y.nodeName,!X||X.toLowerCase()!=="input"||Y.type!=="checkbox"&&Y.type!=="radio"?G&&bc(G.elementType)&&(Ze=pp):Ze=wx;if(Ze&&(Ze=Ze(t,G))){mp(ee,Ze,i,F);break e}xe&&xe(t,Y,G),t==="focusout"&&G&&Y.type==="number"&&G.memoizedProps.value!=null&&Mi(Y,"number",Y.value)}switch(xe=G?Et(G):window,t){case"focusin":(fp(xe)||xe.contentEditable==="true")&&(Yi=xe,Hd=G,ar=null);break;case"focusout":ar=Hd=Yi=null;break;case"mousedown":Gd=!0;break;case"contextmenu":case"mouseup":case"dragend":Gd=!1,Sp(ee,i,F);break;case"selectionchange":if(Ex)break;case"keydown":case"keyup":Sp(ee,i,F)}var De;if(cn)e:{switch(t){case"compositionstart":var Ue="onCompositionStart";break e;case"compositionend":Ue="onCompositionEnd";break e;case"compositionupdate":Ue="onCompositionUpdate";break e}Ue=void 0}else Gi?dp(t,i)&&(Ue="onCompositionEnd"):t==="keydown"&&i.keyCode===229&&(Ue="onCompositionStart");Ue&&(rp&&i.locale!=="ko"&&(Gi||Ue!=="onCompositionStart"?Ue==="onCompositionEnd"&&Gi&&(De=xc()):(ma=F,Vs="value"in ma?ma.value:ma.textContent,Gi=!0)),xe=bo(G,Ue),0<xe.length&&(Ue=new jc(Ue,t,null,i,F),ee.push({event:Ue,listeners:xe}),De?Ue.data=De:(De=up(i),De!==null&&(Ue.data=De)))),(De=yx?bx(t,i):vx(t,i))&&(Ue=bo(G,"onBeforeInput"),0<Ue.length&&(xe=new jc("onBeforeInput","beforeinput",null,i,F),ee.push({event:xe,listeners:Ue}),xe.data=De)),uk(ee,t,G,i,F)}Zh(ee,n)})}function Er(t,n,i){return{instance:t,listener:n,currentTarget:i}}function bo(t,n){for(var i=n+"Capture",c=[];t!==null;){var f=t,m=f.stateNode;if(f=f.tag,f!==5&&f!==26&&f!==27||m===null||(f=Wl(t,i),f!=null&&c.unshift(Er(t,f,m)),f=Wl(t,n),f!=null&&c.push(Er(t,f,m))),t.tag===3)return c;t=t.return}return[]}function _k(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5&&t.tag!==27);return t||null}function Fh(t,n,i,c,f){for(var m=n._reactName,y=[];i!==null&&i!==c;){var j=i,T=j.alternate,G=j.stateNode;if(j=j.tag,T!==null&&T===c)break;j!==5&&j!==26&&j!==27||G===null||(T=G,f?(G=Wl(i,m),G!=null&&y.unshift(Er(i,G,T))):f||(G=Wl(i,m),G!=null&&y.push(Er(i,G,T)))),i=i.return}y.length!==0&&t.push({event:n,listeners:y})}var hk=/\r\n?/g,gk=/\u0000|\uFFFD/g;function Ph(t){return(typeof t=="string"?t:""+t).replace(hk,`
`).replace(gk,"")}function Wh(t,n){return n=Ph(n),Ph(t)===n}function it(t,n,i,c,f,m){switch(i){case"children":typeof c=="string"?n==="body"||n==="textarea"&&c===""||cl(t,c):(typeof c=="number"||typeof c=="bigint")&&n!=="body"&&cl(t,""+c);break;case"className":It(t,"class",c);break;case"tabIndex":It(t,"tabindex",c);break;case"dir":case"role":case"viewBox":case"width":case"height":It(t,i,c);break;case"style":Hs(t,c,m);break;case"data":if(n!=="object"){It(t,"data",c);break}case"src":case"href":if(c===""&&(n!=="a"||i!=="href")){t.removeAttribute(i);break}if(c==null||typeof c=="function"||typeof c=="symbol"||typeof c=="boolean"){t.removeAttribute(i);break}c=Oi(""+c),t.setAttribute(i,c);break;case"action":case"formAction":if(typeof c=="function"){t.setAttribute(i,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof m=="function"&&(i==="formAction"?(n!=="input"&&it(t,n,"name",f.name,f,null),it(t,n,"formEncType",f.formEncType,f,null),it(t,n,"formMethod",f.formMethod,f,null),it(t,n,"formTarget",f.formTarget,f,null)):(it(t,n,"encType",f.encType,f,null),it(t,n,"method",f.method,f,null),it(t,n,"target",f.target,f,null)));if(c==null||typeof c=="symbol"||typeof c=="boolean"){t.removeAttribute(i);break}c=Oi(""+c),t.setAttribute(i,c);break;case"onClick":c!=null&&(t.onclick=Xn);break;case"onScroll":c!=null&&qe("scroll",t);break;case"onScrollEnd":c!=null&&qe("scrollend",t);break;case"dangerouslySetInnerHTML":if(c!=null){if(typeof c!="object"||!("__html"in c))throw Error(r(61));if(i=c.__html,i!=null){if(f.children!=null)throw Error(r(60));t.innerHTML=i}}break;case"multiple":t.multiple=c&&typeof c!="function"&&typeof c!="symbol";break;case"muted":t.muted=c&&typeof c!="function"&&typeof c!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(c==null||typeof c=="function"||typeof c=="boolean"||typeof c=="symbol"){t.removeAttribute("xlink:href");break}i=Oi(""+c),t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",i);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":c!=null&&typeof c!="function"&&typeof c!="symbol"?t.setAttribute(i,""+c):t.removeAttribute(i);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":c&&typeof c!="function"&&typeof c!="symbol"?t.setAttribute(i,""):t.removeAttribute(i);break;case"capture":case"download":c===!0?t.setAttribute(i,""):c!==!1&&c!=null&&typeof c!="function"&&typeof c!="symbol"?t.setAttribute(i,c):t.removeAttribute(i);break;case"cols":case"rows":case"size":case"span":c!=null&&typeof c!="function"&&typeof c!="symbol"&&!isNaN(c)&&1<=c?t.setAttribute(i,c):t.removeAttribute(i);break;case"rowSpan":case"start":c==null||typeof c=="function"||typeof c=="symbol"||isNaN(c)?t.removeAttribute(i):t.setAttribute(i,c);break;case"popover":qe("beforetoggle",t),qe("toggle",t),$i(t,"popover",c);break;case"xlinkActuate":Vn(t,"http://www.w3.org/1999/xlink","xlink:actuate",c);break;case"xlinkArcrole":Vn(t,"http://www.w3.org/1999/xlink","xlink:arcrole",c);break;case"xlinkRole":Vn(t,"http://www.w3.org/1999/xlink","xlink:role",c);break;case"xlinkShow":Vn(t,"http://www.w3.org/1999/xlink","xlink:show",c);break;case"xlinkTitle":Vn(t,"http://www.w3.org/1999/xlink","xlink:title",c);break;case"xlinkType":Vn(t,"http://www.w3.org/1999/xlink","xlink:type",c);break;case"xmlBase":Vn(t,"http://www.w3.org/XML/1998/namespace","xml:base",c);break;case"xmlLang":Vn(t,"http://www.w3.org/XML/1998/namespace","xml:lang",c);break;case"xmlSpace":Vn(t,"http://www.w3.org/XML/1998/namespace","xml:space",c);break;case"is":$i(t,"is",c);break;case"innerText":case"textContent":break;default:(!(2<i.length)||i[0]!=="o"&&i[0]!=="O"||i[1]!=="n"&&i[1]!=="N")&&(i=Pl.get(i)||i,$i(t,i,c))}}function _f(t,n,i,c,f,m){switch(i){case"style":Hs(t,c,m);break;case"dangerouslySetInnerHTML":if(c!=null){if(typeof c!="object"||!("__html"in c))throw Error(r(61));if(i=c.__html,i!=null){if(f.children!=null)throw Error(r(60));t.innerHTML=i}}break;case"children":typeof c=="string"?cl(t,c):(typeof c=="number"||typeof c=="bigint")&&cl(t,""+c);break;case"onScroll":c!=null&&qe("scroll",t);break;case"onScrollEnd":c!=null&&qe("scrollend",t);break;case"onClick":c!=null&&(t.onclick=Xn);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Ae.hasOwnProperty(i))e:{if(i[0]==="o"&&i[1]==="n"&&(f=i.endsWith("Capture"),n=i.slice(2,f?i.length-7:void 0),m=t[pt]||null,m=m!=null?m[i]:null,typeof m=="function"&&t.removeEventListener(n,m,f),typeof c=="function")){typeof m!="function"&&m!==null&&(i in t?t[i]=null:t.hasAttribute(i)&&t.removeAttribute(i)),t.addEventListener(n,c,f);break e}i in t?t[i]=c:c===!0?t.setAttribute(i,""):$i(t,i,c)}}}function Kt(t,n,i){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":qe("error",t),qe("load",t);var c=!1,f=!1,m;for(m in i)if(i.hasOwnProperty(m)){var y=i[m];if(y!=null)switch(m){case"src":c=!0;break;case"srcSet":f=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(r(137,n));default:it(t,n,m,y,i,null)}}f&&it(t,n,"srcSet",i.srcSet,i,null),c&&it(t,n,"src",i.src,i,null);return;case"input":qe("invalid",t);var j=m=y=f=null,T=null,G=null;for(c in i)if(i.hasOwnProperty(c)){var F=i[c];if(F!=null)switch(c){case"name":f=F;break;case"type":y=F;break;case"checked":T=F;break;case"defaultChecked":G=F;break;case"value":m=F;break;case"defaultValue":j=F;break;case"children":case"dangerouslySetInnerHTML":if(F!=null)throw Error(r(137,n));break;default:it(t,n,c,F,i,null)}}zi(t,m,j,T,G,y,f,!1);return;case"select":qe("invalid",t),c=y=m=null;for(f in i)if(i.hasOwnProperty(f)&&(j=i[f],j!=null))switch(f){case"value":m=j;break;case"defaultValue":y=j;break;case"multiple":c=j;default:it(t,n,f,j,i,null)}n=m,i=y,t.multiple=!!c,n!=null?$a(t,!!c,n,!1):i!=null&&$a(t,!!c,i,!0);return;case"textarea":qe("invalid",t),m=f=c=null;for(y in i)if(i.hasOwnProperty(y)&&(j=i[y],j!=null))switch(y){case"value":c=j;break;case"defaultValue":f=j;break;case"children":m=j;break;case"dangerouslySetInnerHTML":if(j!=null)throw Error(r(91));break;default:it(t,n,y,j,i,null)}Is(t,c,f,m);return;case"option":for(T in i)if(i.hasOwnProperty(T)&&(c=i[T],c!=null))switch(T){case"selected":t.selected=c&&typeof c!="function"&&typeof c!="symbol";break;default:it(t,n,T,c,i,null)}return;case"dialog":qe("beforetoggle",t),qe("toggle",t),qe("cancel",t),qe("close",t);break;case"iframe":case"object":qe("load",t);break;case"video":case"audio":for(c=0;c<Nr.length;c++)qe(Nr[c],t);break;case"image":qe("error",t),qe("load",t);break;case"details":qe("toggle",t);break;case"embed":case"source":case"link":qe("error",t),qe("load",t);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(G in i)if(i.hasOwnProperty(G)&&(c=i[G],c!=null))switch(G){case"children":case"dangerouslySetInnerHTML":throw Error(r(137,n));default:it(t,n,G,c,i,null)}return;default:if(bc(n)){for(F in i)i.hasOwnProperty(F)&&(c=i[F],c!==void 0&&_f(t,n,F,c,i,void 0));return}}for(j in i)i.hasOwnProperty(j)&&(c=i[j],c!=null&&it(t,n,j,c,i,null))}function yk(t,n,i,c){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var f=null,m=null,y=null,j=null,T=null,G=null,F=null;for(X in i){var ee=i[X];if(i.hasOwnProperty(X)&&ee!=null)switch(X){case"checked":break;case"value":break;case"defaultValue":T=ee;default:c.hasOwnProperty(X)||it(t,n,X,null,c,ee)}}for(var Y in c){var X=c[Y];if(ee=i[Y],c.hasOwnProperty(Y)&&(X!=null||ee!=null))switch(Y){case"type":m=X;break;case"name":f=X;break;case"checked":G=X;break;case"defaultChecked":F=X;break;case"value":y=X;break;case"defaultValue":j=X;break;case"children":case"dangerouslySetInnerHTML":if(X!=null)throw Error(r(137,n));break;default:X!==ee&&it(t,n,Y,X,c,ee)}}Di(t,y,j,T,G,F,m,f);return;case"select":X=y=j=Y=null;for(m in i)if(T=i[m],i.hasOwnProperty(m)&&T!=null)switch(m){case"value":break;case"multiple":X=T;default:c.hasOwnProperty(m)||it(t,n,m,null,c,T)}for(f in c)if(m=c[f],T=i[f],c.hasOwnProperty(f)&&(m!=null||T!=null))switch(f){case"value":Y=m;break;case"defaultValue":j=m;break;case"multiple":y=m;default:m!==T&&it(t,n,f,m,c,T)}n=j,i=y,c=X,Y!=null?$a(t,!!i,Y,!1):!!c!=!!i&&(n!=null?$a(t,!!i,n,!0):$a(t,!!i,i?[]:"",!1));return;case"textarea":X=Y=null;for(j in i)if(f=i[j],i.hasOwnProperty(j)&&f!=null&&!c.hasOwnProperty(j))switch(j){case"value":break;case"children":break;default:it(t,n,j,null,c,f)}for(y in c)if(f=c[y],m=i[y],c.hasOwnProperty(y)&&(f!=null||m!=null))switch(y){case"value":Y=f;break;case"defaultValue":X=f;break;case"children":break;case"dangerouslySetInnerHTML":if(f!=null)throw Error(r(91));break;default:f!==m&&it(t,n,y,f,c,m)}hc(t,Y,X);return;case"option":for(var ge in i)if(Y=i[ge],i.hasOwnProperty(ge)&&Y!=null&&!c.hasOwnProperty(ge))switch(ge){case"selected":t.selected=!1;break;default:it(t,n,ge,null,c,Y)}for(T in c)if(Y=c[T],X=i[T],c.hasOwnProperty(T)&&Y!==X&&(Y!=null||X!=null))switch(T){case"selected":t.selected=Y&&typeof Y!="function"&&typeof Y!="symbol";break;default:it(t,n,T,Y,c,X)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var Ne in i)Y=i[Ne],i.hasOwnProperty(Ne)&&Y!=null&&!c.hasOwnProperty(Ne)&&it(t,n,Ne,null,c,Y);for(G in c)if(Y=c[G],X=i[G],c.hasOwnProperty(G)&&Y!==X&&(Y!=null||X!=null))switch(G){case"children":case"dangerouslySetInnerHTML":if(Y!=null)throw Error(r(137,n));break;default:it(t,n,G,Y,c,X)}return;default:if(bc(n)){for(var st in i)Y=i[st],i.hasOwnProperty(st)&&Y!==void 0&&!c.hasOwnProperty(st)&&_f(t,n,st,void 0,c,Y);for(F in c)Y=c[F],X=i[F],!c.hasOwnProperty(F)||Y===X||Y===void 0&&X===void 0||_f(t,n,F,Y,c,X);return}}for(var L in i)Y=i[L],i.hasOwnProperty(L)&&Y!=null&&!c.hasOwnProperty(L)&&it(t,n,L,null,c,Y);for(ee in c)Y=c[ee],X=i[ee],!c.hasOwnProperty(ee)||Y===X||Y==null&&X==null||it(t,n,ee,Y,c,X)}function eg(t){switch(t){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function bk(){if(typeof performance.getEntriesByType=="function"){for(var t=0,n=0,i=performance.getEntriesByType("resource"),c=0;c<i.length;c++){var f=i[c],m=f.transferSize,y=f.initiatorType,j=f.duration;if(m&&j&&eg(y)){for(y=0,j=f.responseEnd,c+=1;c<i.length;c++){var T=i[c],G=T.startTime;if(G>j)break;var F=T.transferSize,ee=T.initiatorType;F&&eg(ee)&&(T=T.responseEnd,y+=F*(T<j?1:(j-G)/(T-G)))}if(--c,n+=8*(m+y)/(f.duration/1e3),t++,10<t)break}}if(0<t)return n/t/1e6}return navigator.connection&&(t=navigator.connection.downlink,typeof t=="number")?t:5}var hf=null,gf=null;function vo(t){return t.nodeType===9?t:t.ownerDocument}function tg(t){switch(t){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function ng(t,n){if(t===0)switch(n){case"svg":return 1;case"math":return 2;default:return 0}return t===1&&n==="foreignObject"?0:t}function yf(t,n){return t==="textarea"||t==="noscript"||typeof n.children=="string"||typeof n.children=="number"||typeof n.children=="bigint"||typeof n.dangerouslySetInnerHTML=="object"&&n.dangerouslySetInnerHTML!==null&&n.dangerouslySetInnerHTML.__html!=null}var bf=null;function vk(){var t=window.event;return t&&t.type==="popstate"?t===bf?!1:(bf=t,!0):(bf=null,!1)}var ag=typeof setTimeout=="function"?setTimeout:void 0,xk=typeof clearTimeout=="function"?clearTimeout:void 0,lg=typeof Promise=="function"?Promise:void 0,kk=typeof queueMicrotask=="function"?queueMicrotask:typeof lg<"u"?function(t){return lg.resolve(null).then(t).catch(Sk)}:ag;function Sk(t){setTimeout(function(){throw t})}function El(t){return t==="head"}function ig(t,n){var i=n,c=0;do{var f=i.nextSibling;if(t.removeChild(i),f&&f.nodeType===8)if(i=f.data,i==="/$"||i==="/&"){if(c===0){t.removeChild(f),gs(n);return}c--}else if(i==="$"||i==="$?"||i==="$~"||i==="$!"||i==="&")c++;else if(i==="html")Ar(t.ownerDocument.documentElement);else if(i==="head"){i=t.ownerDocument.head,Ar(i);for(var m=i.firstChild;m;){var y=m.nextSibling,j=m.nodeName;m[Ri]||j==="SCRIPT"||j==="STYLE"||j==="LINK"&&m.rel.toLowerCase()==="stylesheet"||i.removeChild(m),m=y}}else i==="body"&&Ar(t.ownerDocument.body);i=f}while(i);gs(n)}function sg(t,n){var i=t;t=0;do{var c=i.nextSibling;if(i.nodeType===1?n?(i._stashedDisplay=i.style.display,i.style.display="none"):(i.style.display=i._stashedDisplay||"",i.getAttribute("style")===""&&i.removeAttribute("style")):i.nodeType===3&&(n?(i._stashedText=i.nodeValue,i.nodeValue=""):i.nodeValue=i._stashedText||""),c&&c.nodeType===8)if(i=c.data,i==="/$"){if(t===0)break;t--}else i!=="$"&&i!=="$?"&&i!=="$~"&&i!=="$!"||t++;i=c}while(i)}function vf(t){var n=t.firstChild;for(n&&n.nodeType===10&&(n=n.nextSibling);n;){var i=n;switch(n=n.nextSibling,i.nodeName){case"HTML":case"HEAD":case"BODY":vf(i),Tn(i);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(i.rel.toLowerCase()==="stylesheet")continue}t.removeChild(i)}}function jk(t,n,i,c){for(;t.nodeType===1;){var f=i;if(t.nodeName.toLowerCase()!==n.toLowerCase()){if(!c&&(t.nodeName!=="INPUT"||t.type!=="hidden"))break}else if(c){if(!t[Ri])switch(n){case"meta":if(!t.hasAttribute("itemprop"))break;return t;case"link":if(m=t.getAttribute("rel"),m==="stylesheet"&&t.hasAttribute("data-precedence"))break;if(m!==f.rel||t.getAttribute("href")!==(f.href==null||f.href===""?null:f.href)||t.getAttribute("crossorigin")!==(f.crossOrigin==null?null:f.crossOrigin)||t.getAttribute("title")!==(f.title==null?null:f.title))break;return t;case"style":if(t.hasAttribute("data-precedence"))break;return t;case"script":if(m=t.getAttribute("src"),(m!==(f.src==null?null:f.src)||t.getAttribute("type")!==(f.type==null?null:f.type)||t.getAttribute("crossorigin")!==(f.crossOrigin==null?null:f.crossOrigin))&&m&&t.hasAttribute("async")&&!t.hasAttribute("itemprop"))break;return t;default:return t}}else if(n==="input"&&t.type==="hidden"){var m=f.name==null?null:""+f.name;if(f.type==="hidden"&&t.getAttribute("name")===m)return t}else return t;if(t=Ln(t.nextSibling),t===null)break}return null}function wk(t,n,i){if(n==="")return null;for(;t.nodeType!==3;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!i||(t=Ln(t.nextSibling),t===null))return null;return t}function rg(t,n){for(;t.nodeType!==8;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!n||(t=Ln(t.nextSibling),t===null))return null;return t}function xf(t){return t.data==="$?"||t.data==="$~"}function kf(t){return t.data==="$!"||t.data==="$?"&&t.ownerDocument.readyState!=="loading"}function Ck(t,n){var i=t.ownerDocument;if(t.data==="$~")t._reactRetry=n;else if(t.data!=="$?"||i.readyState!=="loading")n();else{var c=function(){n(),i.removeEventListener("DOMContentLoaded",c)};i.addEventListener("DOMContentLoaded",c),t._reactRetry=c}}function Ln(t){for(;t!=null;t=t.nextSibling){var n=t.nodeType;if(n===1||n===3)break;if(n===8){if(n=t.data,n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"||n==="F!"||n==="F")break;if(n==="/$"||n==="/&")return null}}return t}var Sf=null;function cg(t){t=t.nextSibling;for(var n=0;t;){if(t.nodeType===8){var i=t.data;if(i==="/$"||i==="/&"){if(n===0)return Ln(t.nextSibling);n--}else i!=="$"&&i!=="$!"&&i!=="$?"&&i!=="$~"&&i!=="&"||n++}t=t.nextSibling}return null}function og(t){t=t.previousSibling;for(var n=0;t;){if(t.nodeType===8){var i=t.data;if(i==="$"||i==="$!"||i==="$?"||i==="$~"||i==="&"){if(n===0)return t;n--}else i!=="/$"&&i!=="/&"||n++}t=t.previousSibling}return null}function dg(t,n,i){switch(n=vo(i),t){case"html":if(t=n.documentElement,!t)throw Error(r(452));return t;case"head":if(t=n.head,!t)throw Error(r(453));return t;case"body":if(t=n.body,!t)throw Error(r(454));return t;default:throw Error(r(451))}}function Ar(t){for(var n=t.attributes;n.length;)t.removeAttributeNode(n[0]);Tn(t)}var Bn=new Map,ug=new Set;function xo(t){return typeof t.getRootNode=="function"?t.getRootNode():t.nodeType===9?t:t.ownerDocument}var Ja=U.d;U.d={f:Nk,r:Ek,D:Ak,C:Tk,L:Rk,m:$k,X:zk,S:Dk,M:Mk};function Nk(){var t=Ja.f(),n=fo();return t||n}function Ek(t){var n=Kn(t);n!==null&&n.tag===5&&n.type==="form"?E_(n):Ja.r(t)}var ps=typeof document>"u"?null:document;function fg(t,n,i){var c=ps;if(c&&typeof n=="string"&&n){var f=Jt(n);f='link[rel="'+t+'"][href="'+f+'"]',typeof i=="string"&&(f+='[crossorigin="'+i+'"]'),ug.has(f)||(ug.add(f),t={rel:t,crossOrigin:i,href:n},c.querySelector(f)===null&&(n=c.createElement("link"),Kt(n,"link",t),St(n),c.head.appendChild(n)))}}function Ak(t){Ja.D(t),fg("dns-prefetch",t,null)}function Tk(t,n){Ja.C(t,n),fg("preconnect",t,n)}function Rk(t,n,i){Ja.L(t,n,i);var c=ps;if(c&&t&&n){var f='link[rel="preload"][as="'+Jt(n)+'"]';n==="image"&&i&&i.imageSrcSet?(f+='[imagesrcset="'+Jt(i.imageSrcSet)+'"]',typeof i.imageSizes=="string"&&(f+='[imagesizes="'+Jt(i.imageSizes)+'"]')):f+='[href="'+Jt(t)+'"]';var m=f;switch(n){case"style":m=_s(t);break;case"script":m=hs(t)}Bn.has(m)||(t=S({rel:"preload",href:n==="image"&&i&&i.imageSrcSet?void 0:t,as:n},i),Bn.set(m,t),c.querySelector(f)!==null||n==="style"&&c.querySelector(Tr(m))||n==="script"&&c.querySelector(Rr(m))||(n=c.createElement("link"),Kt(n,"link",t),St(n),c.head.appendChild(n)))}}function $k(t,n){Ja.m(t,n);var i=ps;if(i&&t){var c=n&&typeof n.as=="string"?n.as:"script",f='link[rel="modulepreload"][as="'+Jt(c)+'"][href="'+Jt(t)+'"]',m=f;switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":m=hs(t)}if(!Bn.has(m)&&(t=S({rel:"modulepreload",href:t},n),Bn.set(m,t),i.querySelector(f)===null)){switch(c){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(i.querySelector(Rr(m)))return}c=i.createElement("link"),Kt(c,"link",t),St(c),i.head.appendChild(c)}}}function Dk(t,n,i){Ja.S(t,n,i);var c=ps;if(c&&t){var f=Ta(c).hoistableStyles,m=_s(t);n=n||"default";var y=f.get(m);if(!y){var j={loading:0,preload:null};if(y=c.querySelector(Tr(m)))j.loading=5;else{t=S({rel:"stylesheet",href:t,"data-precedence":n},i),(i=Bn.get(m))&&jf(t,i);var T=y=c.createElement("link");St(T),Kt(T,"link",t),T._p=new Promise(function(G,F){T.onload=G,T.onerror=F}),T.addEventListener("load",function(){j.loading|=1}),T.addEventListener("error",function(){j.loading|=2}),j.loading|=4,ko(y,n,c)}y={type:"stylesheet",instance:y,count:1,state:j},f.set(m,y)}}}function zk(t,n){Ja.X(t,n);var i=ps;if(i&&t){var c=Ta(i).hoistableScripts,f=hs(t),m=c.get(f);m||(m=i.querySelector(Rr(f)),m||(t=S({src:t,async:!0},n),(n=Bn.get(f))&&wf(t,n),m=i.createElement("script"),St(m),Kt(m,"link",t),i.head.appendChild(m)),m={type:"script",instance:m,count:1,state:null},c.set(f,m))}}function Mk(t,n){Ja.M(t,n);var i=ps;if(i&&t){var c=Ta(i).hoistableScripts,f=hs(t),m=c.get(f);m||(m=i.querySelector(Rr(f)),m||(t=S({src:t,async:!0,type:"module"},n),(n=Bn.get(f))&&wf(t,n),m=i.createElement("script"),St(m),Kt(m,"link",t),i.head.appendChild(m)),m={type:"script",instance:m,count:1,state:null},c.set(f,m))}}function mg(t,n,i,c){var f=(f=Ee.current)?xo(f):null;if(!f)throw Error(r(446));switch(t){case"meta":case"title":return null;case"style":return typeof i.precedence=="string"&&typeof i.href=="string"?(n=_s(i.href),i=Ta(f).hoistableStyles,c=i.get(n),c||(c={type:"style",instance:null,count:0,state:null},i.set(n,c)),c):{type:"void",instance:null,count:0,state:null};case"link":if(i.rel==="stylesheet"&&typeof i.href=="string"&&typeof i.precedence=="string"){t=_s(i.href);var m=Ta(f).hoistableStyles,y=m.get(t);if(y||(f=f.ownerDocument||f,y={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},m.set(t,y),(m=f.querySelector(Tr(t)))&&!m._p&&(y.instance=m,y.state.loading=5),Bn.has(t)||(i={rel:"preload",as:"style",href:i.href,crossOrigin:i.crossOrigin,integrity:i.integrity,media:i.media,hrefLang:i.hrefLang,referrerPolicy:i.referrerPolicy},Bn.set(t,i),m||Ok(f,t,i,y.state))),n&&c===null)throw Error(r(528,""));return y}if(n&&c!==null)throw Error(r(529,""));return null;case"script":return n=i.async,i=i.src,typeof i=="string"&&n&&typeof n!="function"&&typeof n!="symbol"?(n=hs(i),i=Ta(f).hoistableScripts,c=i.get(n),c||(c={type:"script",instance:null,count:0,state:null},i.set(n,c)),c):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,t))}}function _s(t){return'href="'+Jt(t)+'"'}function Tr(t){return'link[rel="stylesheet"]['+t+"]"}function pg(t){return S({},t,{"data-precedence":t.precedence,precedence:null})}function Ok(t,n,i,c){t.querySelector('link[rel="preload"][as="style"]['+n+"]")?c.loading=1:(n=t.createElement("link"),c.preload=n,n.addEventListener("load",function(){return c.loading|=1}),n.addEventListener("error",function(){return c.loading|=2}),Kt(n,"link",i),St(n),t.head.appendChild(n))}function hs(t){return'[src="'+Jt(t)+'"]'}function Rr(t){return"script[async]"+t}function _g(t,n,i){if(n.count++,n.instance===null)switch(n.type){case"style":var c=t.querySelector('style[data-href~="'+Jt(i.href)+'"]');if(c)return n.instance=c,St(c),c;var f=S({},i,{"data-href":i.href,"data-precedence":i.precedence,href:null,precedence:null});return c=(t.ownerDocument||t).createElement("style"),St(c),Kt(c,"style",f),ko(c,i.precedence,t),n.instance=c;case"stylesheet":f=_s(i.href);var m=t.querySelector(Tr(f));if(m)return n.state.loading|=4,n.instance=m,St(m),m;c=pg(i),(f=Bn.get(f))&&jf(c,f),m=(t.ownerDocument||t).createElement("link"),St(m);var y=m;return y._p=new Promise(function(j,T){y.onload=j,y.onerror=T}),Kt(m,"link",c),n.state.loading|=4,ko(m,i.precedence,t),n.instance=m;case"script":return m=hs(i.src),(f=t.querySelector(Rr(m)))?(n.instance=f,St(f),f):(c=i,(f=Bn.get(m))&&(c=S({},i),wf(c,f)),t=t.ownerDocument||t,f=t.createElement("script"),St(f),Kt(f,"link",c),t.head.appendChild(f),n.instance=f);case"void":return null;default:throw Error(r(443,n.type))}else n.type==="stylesheet"&&(n.state.loading&4)===0&&(c=n.instance,n.state.loading|=4,ko(c,i.precedence,t));return n.instance}function ko(t,n,i){for(var c=i.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),f=c.length?c[c.length-1]:null,m=f,y=0;y<c.length;y++){var j=c[y];if(j.dataset.precedence===n)m=j;else if(m!==f)break}m?m.parentNode.insertBefore(t,m.nextSibling):(n=i.nodeType===9?i.head:i,n.insertBefore(t,n.firstChild))}function jf(t,n){t.crossOrigin==null&&(t.crossOrigin=n.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=n.referrerPolicy),t.title==null&&(t.title=n.title)}function wf(t,n){t.crossOrigin==null&&(t.crossOrigin=n.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=n.referrerPolicy),t.integrity==null&&(t.integrity=n.integrity)}var So=null;function hg(t,n,i){if(So===null){var c=new Map,f=So=new Map;f.set(i,c)}else f=So,c=f.get(i),c||(c=new Map,f.set(i,c));if(c.has(t))return c;for(c.set(t,null),i=i.getElementsByTagName(t),f=0;f<i.length;f++){var m=i[f];if(!(m[Ri]||m[Mt]||t==="link"&&m.getAttribute("rel")==="stylesheet")&&m.namespaceURI!=="http://www.w3.org/2000/svg"){var y=m.getAttribute(n)||"";y=t+y;var j=c.get(y);j?j.push(m):c.set(y,[m])}}return c}function gg(t,n,i){t=t.ownerDocument||t,t.head.insertBefore(i,n==="title"?t.querySelector("head > title"):null)}function qk(t,n,i){if(i===1||n.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof n.precedence!="string"||typeof n.href!="string"||n.href==="")break;return!0;case"link":if(typeof n.rel!="string"||typeof n.href!="string"||n.href===""||n.onLoad||n.onError)break;switch(n.rel){case"stylesheet":return t=n.disabled,typeof n.precedence=="string"&&t==null;default:return!0}case"script":if(n.async&&typeof n.async!="function"&&typeof n.async!="symbol"&&!n.onLoad&&!n.onError&&n.src&&typeof n.src=="string")return!0}return!1}function yg(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function Lk(t,n,i,c){if(i.type==="stylesheet"&&(typeof c.media!="string"||matchMedia(c.media).matches!==!1)&&(i.state.loading&4)===0){if(i.instance===null){var f=_s(c.href),m=n.querySelector(Tr(f));if(m){n=m._p,n!==null&&typeof n=="object"&&typeof n.then=="function"&&(t.count++,t=jo.bind(t),n.then(t,t)),i.state.loading|=4,i.instance=m,St(m);return}m=n.ownerDocument||n,c=pg(c),(f=Bn.get(f))&&jf(c,f),m=m.createElement("link"),St(m);var y=m;y._p=new Promise(function(j,T){y.onload=j,y.onerror=T}),Kt(m,"link",c),i.instance=m}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(i,n),(n=i.state.preload)&&(i.state.loading&3)===0&&(t.count++,i=jo.bind(t),n.addEventListener("load",i),n.addEventListener("error",i))}}var Cf=0;function Bk(t,n){return t.stylesheets&&t.count===0&&Co(t,t.stylesheets),0<t.count||0<t.imgCount?function(i){var c=setTimeout(function(){if(t.stylesheets&&Co(t,t.stylesheets),t.unsuspend){var m=t.unsuspend;t.unsuspend=null,m()}},6e4+n);0<t.imgBytes&&Cf===0&&(Cf=62500*bk());var f=setTimeout(function(){if(t.waitingForImages=!1,t.count===0&&(t.stylesheets&&Co(t,t.stylesheets),t.unsuspend)){var m=t.unsuspend;t.unsuspend=null,m()}},(t.imgBytes>Cf?50:800)+n);return t.unsuspend=i,function(){t.unsuspend=null,clearTimeout(c),clearTimeout(f)}}:null}function jo(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Co(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var wo=null;function Co(t,n){t.stylesheets=null,t.unsuspend!==null&&(t.count++,wo=new Map,n.forEach(Uk,t),wo=null,jo.call(t))}function Uk(t,n){if(!(n.state.loading&4)){var i=wo.get(t);if(i)var c=i.get(null);else{i=new Map,wo.set(t,i);for(var f=t.querySelectorAll("link[data-precedence],style[data-precedence]"),m=0;m<f.length;m++){var y=f[m];(y.nodeName==="LINK"||y.getAttribute("media")!=="not all")&&(i.set(y.dataset.precedence,y),c=y)}c&&i.set(null,c)}f=n.instance,y=f.getAttribute("data-precedence"),m=i.get(y)||c,m===c&&i.set(null,f),i.set(y,f),this.count++,c=jo.bind(this),f.addEventListener("load",c),f.addEventListener("error",c),m?m.parentNode.insertBefore(f,m.nextSibling):(t=t.nodeType===9?t.head:t,t.insertBefore(f,t.firstChild)),n.state.loading|=4}}var $r={$$typeof:O,Provider:null,Consumer:null,_currentValue:le,_currentValue2:le,_threadCount:0};function Ik(t,n,i,c,f,m,y,j,T){this.tag=1,this.containerInfo=t,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Na(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Na(0),this.hiddenUpdates=Na(null),this.identifierPrefix=c,this.onUncaughtError=f,this.onCaughtError=m,this.onRecoverableError=y,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=T,this.incompleteTransitions=new Map}function bg(t,n,i,c,f,m,y,j,T,G,F,ee){return t=new Ik(t,n,i,y,T,G,F,ee,j),n=1,m===!0&&(n|=24),m=vn(3,null,null,n),t.current=m,m.stateNode=t,n=lu(),n.refCount++,t.pooledCache=n,n.refCount++,m.memoizedState={element:c,isDehydrated:i,cache:n},cu(m),t}function vg(t){return t?(t=Vi,t):Vi}function xg(t,n,i,c,f,m){f=vg(f),c.context===null?c.context=f:c.pendingContext=f,c=gl(n),c.payload={element:i},m=m===void 0?null:m,m!==null&&(c.callback=m),i=yl(t,c,n),i!==null&&(mn(i,t,n),dr(i,t,n))}function kg(t,n){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var i=t.retryLane;t.retryLane=i!==0&&i<n?i:n}}function Nf(t,n){kg(t,n),(t=t.alternate)&&kg(t,n)}function Sg(t){if(t.tag===13||t.tag===31){var n=li(t,67108864);n!==null&&mn(n,t,67108864),Nf(t,67108864)}}function jg(t){if(t.tag===13||t.tag===31){var n=wn();n=Ls(n);var i=li(t,n);i!==null&&mn(i,t,n),Nf(t,n)}}var No=!0;function Hk(t,n,i,c){var f=B.T;B.T=null;var m=U.p;try{U.p=2,Ef(t,n,i,c)}finally{U.p=m,B.T=f}}function Gk(t,n,i,c){var f=B.T;B.T=null;var m=U.p;try{U.p=8,Ef(t,n,i,c)}finally{U.p=m,B.T=f}}function Ef(t,n,i,c){if(No){var f=Af(c);if(f===null)pf(t,n,c,Eo,i),Cg(t,c);else if(Kk(f,t,n,i,c))c.stopPropagation();else if(Cg(t,c),n&4&&-1<Yk.indexOf(t)){for(;f!==null;){var m=Kn(f);if(m!==null)switch(m.tag){case 3:if(m=m.stateNode,m.current.memoizedState.isDehydrated){var y=An(m.pendingLanes);if(y!==0){var j=m;for(j.pendingLanes|=2,j.entangledLanes|=2;y;){var T=1<<31-Wt(y);j.entanglements[1]|=T,y&=~T}ya(m),(Pe&6)===0&&(oo=Xt()+500,Cr(0))}}break;case 31:case 13:j=li(m,2),j!==null&&mn(j,m,2),fo(),Nf(m,2)}if(m=Af(c),m===null&&pf(t,n,c,Eo,i),m===f)break;f=m}f!==null&&c.stopPropagation()}else pf(t,n,c,null,i)}}function Af(t){return t=Ys(t),Tf(t)}var Eo=null;function Tf(t){if(Eo=null,t=ze(t),t!==null){var n=d(t);if(n===null)t=null;else{var i=n.tag;if(i===13){if(t=p(n),t!==null)return t;t=null}else if(i===31){if(t=h(n),t!==null)return t;t=null}else if(i===3){if(n.stateNode.current.memoizedState.isDehydrated)return n.tag===3?n.stateNode.containerInfo:null;t=null}else n!==t&&(t=null)}}return Eo=t,null}function wg(t){switch(t){case"beforetoggle":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"toggle":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 2;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"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Ai()){case il:return 2;case Vl:return 8;case sl:case En:return 32;case Ca:return 268435456;default:return 32}default:return 32}}var Rf=!1,Al=null,Tl=null,Rl=null,Dr=new Map,zr=new Map,$l=[],Yk="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".split(" ");function Cg(t,n){switch(t){case"focusin":case"focusout":Al=null;break;case"dragenter":case"dragleave":Tl=null;break;case"mouseover":case"mouseout":Rl=null;break;case"pointerover":case"pointerout":Dr.delete(n.pointerId);break;case"gotpointercapture":case"lostpointercapture":zr.delete(n.pointerId)}}function Mr(t,n,i,c,f,m){return t===null||t.nativeEvent!==m?(t={blockedOn:n,domEventName:i,eventSystemFlags:c,nativeEvent:m,targetContainers:[f]},n!==null&&(n=Kn(n),n!==null&&Sg(n)),t):(t.eventSystemFlags|=c,n=t.targetContainers,f!==null&&n.indexOf(f)===-1&&n.push(f),t)}function Kk(t,n,i,c,f){switch(n){case"focusin":return Al=Mr(Al,t,n,i,c,f),!0;case"dragenter":return Tl=Mr(Tl,t,n,i,c,f),!0;case"mouseover":return Rl=Mr(Rl,t,n,i,c,f),!0;case"pointerover":var m=f.pointerId;return Dr.set(m,Mr(Dr.get(m)||null,t,n,i,c,f)),!0;case"gotpointercapture":return m=f.pointerId,zr.set(m,Mr(zr.get(m)||null,t,n,i,c,f)),!0}return!1}function Ng(t){var n=ze(t.target);if(n!==null){var i=d(n);if(i!==null){if(n=i.tag,n===13){if(n=p(i),n!==null){t.blockedOn=n,pc(t.priority,function(){jg(i)});return}}else if(n===31){if(n=h(i),n!==null){t.blockedOn=n,pc(t.priority,function(){jg(i)});return}}else if(n===3&&i.stateNode.current.memoizedState.isDehydrated){t.blockedOn=i.tag===3?i.stateNode.containerInfo:null;return}}}t.blockedOn=null}function Ao(t){if(t.blockedOn!==null)return!1;for(var n=t.targetContainers;0<n.length;){var i=Af(t.nativeEvent);if(i===null){i=t.nativeEvent;var c=new i.constructor(i.type,i);Gs=c,i.target.dispatchEvent(c),Gs=null}else return n=Kn(i),n!==null&&Sg(n),t.blockedOn=i,!1;n.shift()}return!0}function Eg(t,n,i){Ao(t)&&i.delete(n)}function Qk(){Rf=!1,Al!==null&&Ao(Al)&&(Al=null),Tl!==null&&Ao(Tl)&&(Tl=null),Rl!==null&&Ao(Rl)&&(Rl=null),Dr.forEach(Eg),zr.forEach(Eg)}function To(t,n){t.blockedOn===n&&(t.blockedOn=null,Rf||(Rf=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,Qk)))}var Ro=null;function Ag(t){Ro!==t&&(Ro=t,e.unstable_scheduleCallback(e.unstable_NormalPriority,function(){Ro===t&&(Ro=null);for(var n=0;n<t.length;n+=3){var i=t[n],c=t[n+1],f=t[n+2];if(typeof c!="function"){if(Tf(c||i)===null)continue;break}var m=Kn(i);m!==null&&(t.splice(n,3),n-=3,Eu(m,{pending:!0,data:f,method:i.method,action:c},c,f))}}))}function gs(t){function n(T){return To(T,t)}Al!==null&&To(Al,t),Tl!==null&&To(Tl,t),Rl!==null&&To(Rl,t),Dr.forEach(n),zr.forEach(n);for(var i=0;i<$l.length;i++){var c=$l[i];c.blockedOn===t&&(c.blockedOn=null)}for(;0<$l.length&&(i=$l[0],i.blockedOn===null);)Ng(i),i.blockedOn===null&&$l.shift();if(i=(t.ownerDocument||t).$$reactFormReplay,i!=null)for(c=0;c<i.length;c+=3){var f=i[c],m=i[c+1],y=f[pt]||null;if(typeof m=="function")y||Ag(i);else if(y){var j=null;if(m&&m.hasAttribute("formAction")){if(f=m,y=m[pt]||null)j=y.formAction;else if(Tf(f)!==null)continue}else j=y.action;typeof j=="function"?i[c+1]=j:(i.splice(c,3),c-=3),Ag(i)}}}function Tg(){function t(m){m.canIntercept&&m.info==="react-transition"&&m.intercept({handler:function(){return new Promise(function(y){return f=y})},focusReset:"manual",scroll:"manual"})}function n(){f!==null&&(f(),f=null),c||setTimeout(i,20)}function i(){if(!c&&!navigation.transition){var m=navigation.currentEntry;m&&m.url!=null&&navigation.navigate(m.url,{state:m.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var c=!1,f=null;return navigation.addEventListener("navigate",t),navigation.addEventListener("navigatesuccess",n),navigation.addEventListener("navigateerror",n),setTimeout(i,100),function(){c=!0,navigation.removeEventListener("navigate",t),navigation.removeEventListener("navigatesuccess",n),navigation.removeEventListener("navigateerror",n),f!==null&&(f(),f=null)}}}function $f(t){this._internalRoot=t}$o.prototype.render=$f.prototype.render=function(t){var n=this._internalRoot;if(n===null)throw Error(r(409));var i=n.current,c=wn();xg(i,c,t,n,null,null)},$o.prototype.unmount=$f.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var n=t.containerInfo;xg(t.current,2,null,t,null,null),fo(),n[Xe]=null}};function $o(t){this._internalRoot=t}$o.prototype.unstable_scheduleHydration=function(t){if(t){var n=mc();t={blockedOn:null,target:t,priority:n};for(var i=0;i<$l.length&&n!==0&&n<$l[i].priority;i++);$l.splice(i,0,t),i===0&&Ng(t)}};var Rg=a.version;if(Rg!=="19.2.7")throw Error(r(527,Rg,"19.2.7"));U.findDOMNode=function(t){var n=t._reactInternals;if(n===void 0)throw typeof t.render=="function"?Error(r(188)):(t=Object.keys(t).join(","),Error(r(268,t)));return t=g(n),t=t!==null?x(t):null,t=t===null?null:t.stateNode,t};var Vk={bundleType:0,version:"19.2.7",rendererPackageName:"react-dom",currentDispatcherRef:B,reconcilerVersion:"19.2.7"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Do=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Do.isDisabled&&Do.supportsFiber)try{Xl=Do.inject(Vk),Ut=Do}catch{}}return qr.createRoot=function(t,n){if(!o(t))throw Error(r(299));var i=!1,c="",f=L_,m=B_,y=U_;return n!=null&&(n.unstable_strictMode===!0&&(i=!0),n.identifierPrefix!==void 0&&(c=n.identifierPrefix),n.onUncaughtError!==void 0&&(f=n.onUncaughtError),n.onCaughtError!==void 0&&(m=n.onCaughtError),n.onRecoverableError!==void 0&&(y=n.onRecoverableError)),n=bg(t,1,!1,null,null,i,c,null,f,m,y,Tg),t[Xe]=n.current,mf(t),new $f(n)},qr.hydrateRoot=function(t,n,i){if(!o(t))throw Error(r(299));var c=!1,f="",m=L_,y=B_,j=U_,T=null;return i!=null&&(i.unstable_strictMode===!0&&(c=!0),i.identifierPrefix!==void 0&&(f=i.identifierPrefix),i.onUncaughtError!==void 0&&(m=i.onUncaughtError),i.onCaughtError!==void 0&&(y=i.onCaughtError),i.onRecoverableError!==void 0&&(j=i.onRecoverableError),i.formState!==void 0&&(T=i.formState)),n=bg(t,1,!0,n,i??null,c,f,T,m,y,j,Tg),n.context=vg(null),i=n.current,c=wn(),c=Ls(c),f=gl(c),f.callback=null,yl(i,f,c),i=c,n.current.lanes=i,Ea(n,i),ya(n),t[Xe]=n.current,mf(t),new $o(n)},qr.version="19.2.7",qr}var Ig;function i0(){if(Ig)return Mf.exports;Ig=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(a){console.error(a)}}return e(),Mf.exports=l0(),Mf.exports}var s0=i0();/**
* react-router v7.17.0
*
* Copyright (c) Remix Software Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE.md file in the root directory of this source tree.
*
* @license MIT
*/var Hg="popstate";function Gg(e){return typeof e=="object"&&e!=null&&"pathname"in e&&"search"in e&&"hash"in e&&"state"in e&&"key"in e}function r0(e={}){function a(o,d){let{pathname:p="/",search:h="",hash:_=""}=Si(o.location.hash.substring(1));return!p.startsWith("/")&&!p.startsWith(".")&&(p="/"+p),im("",{pathname:p,search:h,hash:_},d.state&&d.state.usr||null,d.state&&d.state.key||"default")}function l(o,d){let p=o.document.querySelector("base"),h="";if(p&&p.getAttribute("href")){let _=o.location.href,g=_.indexOf("#");h=g===-1?_:_.slice(0,g)}return h+"#"+(typeof d=="string"?d:Fr(d))}function r(o,d){Un(o.pathname.charAt(0)==="/",`relative pathnames are not supported in hash history.push(${JSON.stringify(d)})`)}return o0(a,l,r,e)}function gt(e,a){if(e===!1||e===null||typeof e>"u")throw new Error(a)}function Un(e,a){if(!e){typeof console<"u"&&console.warn(a);try{throw new Error(a)}catch{}}}function c0(){return Math.random().toString(36).substring(2,10)}function Yg(e,a){return{usr:e.state,key:e.key,idx:a,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function im(e,a,l=null,r,o){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof a=="string"?Si(a):a,state:l,key:a&&a.key||r||c0(),mask:o}}function Fr({pathname:e="/",search:a="",hash:l=""}){return a&&a!=="?"&&(e+=a.charAt(0)==="?"?a:"?"+a),l&&l!=="#"&&(e+=l.charAt(0)==="#"?l:"#"+l),e}function Si(e){let a={};if(e){let l=e.indexOf("#");l>=0&&(a.hash=e.substring(l),e=e.substring(0,l));let r=e.indexOf("?");r>=0&&(a.search=e.substring(r),e=e.substring(0,r)),e&&(a.pathname=e)}return a}function o0(e,a,l,r={}){let{window:o=document.defaultView,v5Compat:d=!1}=r,p=o.history,h="POP",_=null,g=x();g==null&&(g=0,p.replaceState({...p.state,idx:g},""));function x(){return(p.state||{idx:null}).idx}function S(){h="POP";let N=x(),k=N==null?null:N-g;g=N,_&&_({action:h,location:D.location,delta:k})}function C(N,k){h="PUSH";let A=Gg(N)?N:im(D.location,N,k);l&&l(A,N),g=x()+1;let O=Yg(A,g),te=D.createHref(A.mask||A);try{p.pushState(O,"",te)}catch(I){if(I instanceof DOMException&&I.name==="DataCloneError")throw I;o.location.assign(te)}d&&_&&_({action:h,location:D.location,delta:1})}function z(N,k){h="REPLACE";let A=Gg(N)?N:im(D.location,N,k);l&&l(A,N),g=x();let O=Yg(A,g),te=D.createHref(A.mask||A);p.replaceState(O,"",te),d&&_&&_({action:h,location:D.location,delta:0})}function w(N){return d0(o,N)}let D={get action(){return h},get location(){return e(o,p)},listen(N){if(_)throw new Error("A history only accepts one active listener");return o.addEventListener(Hg,S),_=N,()=>{o.removeEventListener(Hg,S),_=null}},createHref(N){return a(o,N)},createURL:w,encodeLocation(N){let k=w(N);return{pathname:k.pathname,search:k.search,hash:k.hash}},push:C,replace:z,go(N){return p.go(N)}};return D}function d0(e,a,l=!1){let r="http://localhost";e&&(r=e.location.origin!=="null"?e.location.origin:e.location.href),gt(r,"No window.location.(origin|href) available to create URL");let o=typeof a=="string"?a:Fr(a);return o=o.replace(/ $/,"%20"),!l&&o.startsWith("//")&&(o=r+o),new URL(o,r)}function nb(e,a,l="/"){return u0(e,a,l,!1)}function u0(e,a,l,r,o){let d=typeof a=="string"?Si(a):a,p=el(d.pathname||"/",l);if(p==null)return null;let h=f0(e),_=null,g=j0(p);for(let x=0;_==null&&x<h.length;++x)_=k0(h[x],g,r);return _}function f0(e){let a=ab(e);return m0(a),a}function ab(e,a=[],l=[],r="",o=!1){let d=(p,h,_=o,g)=>{let x={relativePath:g===void 0?p.path||"":g,caseSensitive:p.caseSensitive===!0,childrenIndex:h,route:p};if(x.relativePath.startsWith("/")){if(!x.relativePath.startsWith(r)&&_)return;gt(x.relativePath.startsWith(r),`Absolute route path "${x.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),x.relativePath=x.relativePath.slice(r.length)}let S=aa([r,x.relativePath]),C=l.concat(x);p.children&&p.children.length>0&&(gt(p.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${S}".`),ab(p.children,a,C,S,_)),!(p.path==null&&!p.index)&&a.push({path:S,score:v0(S,p.index),routesMeta:C})};return e.forEach((p,h)=>{var _;if(p.path===""||!((_=p.path)!=null&&_.includes("?")))d(p,h);else for(let g of lb(p.path))d(p,h,!0,g)}),a}function lb(e){let a=e.split("/");if(a.length===0)return[];let[l,...r]=a,o=l.endsWith("?"),d=l.replace(/\?$/,"");if(r.length===0)return o?[d,""]:[d];let p=lb(r.join("/")),h=[];return h.push(...p.map(_=>_===""?d:[d,_].join("/"))),o&&h.push(...p),h.map(_=>e.startsWith("/")&&_===""?"/":_)}function m0(e){e.sort((a,l)=>a.score!==l.score?l.score-a.score:x0(a.routesMeta.map(r=>r.childrenIndex),l.routesMeta.map(r=>r.childrenIndex)))}var p0=/^:[\w-]+$/,_0=3,h0=2,g0=1,y0=10,b0=-2,Kg=e=>e==="*";function v0(e,a){let l=e.split("/"),r=l.length;return l.some(Kg)&&(r+=b0),a&&(r+=h0),l.filter(o=>!Kg(o)).reduce((o,d)=>o+(p0.test(d)?_0:d===""?g0:y0),r)}function x0(e,a){return e.length===a.length&&e.slice(0,-1).every((r,o)=>r===a[o])?e[e.length-1]-a[a.length-1]:0}function k0(e,a,l=!1){let{routesMeta:r}=e,o={},d="/",p=[];for(let h=0;h<r.length;++h){let _=r[h],g=h===r.length-1,x=d==="/"?a:a.slice(d.length)||"/",S=Po({path:_.relativePath,caseSensitive:_.caseSensitive,end:g},x),C=_.route;if(!S&&g&&l&&!r[r.length-1].route.index&&(S=Po({path:_.relativePath,caseSensitive:_.caseSensitive,end:!1},x)),!S)return null;Object.assign(o,S.params),p.push({params:o,pathname:aa([d,S.pathname]),pathnameBase:E0(aa([d,S.pathnameBase])),route:C}),S.pathnameBase!=="/"&&(d=aa([d,S.pathnameBase]))}return p}function Po(e,a){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[l,r]=S0(e.path,e.caseSensitive,e.end),o=a.match(l);if(!o)return null;let d=o[0],p=d.replace(/(.)\/+$/,"$1"),h=o.slice(1);return{params:r.reduce((g,{paramName:x,isOptional:S},C)=>{if(x==="*"){let w=h[C]||"";p=d.slice(0,d.length-w.length).replace(/(.)\/+$/,"$1")}const z=h[C];return S&&!z?g[x]=void 0:g[x]=(z||"").replace(/%2F/g,"/"),g},{}),pathname:d,pathnameBase:p,pattern:e}}function S0(e,a=!1,l=!0){Un(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 r=[],o="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(p,h,_,g,x)=>{if(r.push({paramName:h,isOptional:_!=null}),_){let S=x.charAt(g+p.length);return S&&S!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(r.push({paramName:"*"}),o+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):l?o+="\\/*$":e!==""&&e!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,a?void 0:"i"),r]}function j0(e){try{return e.split("/").map(a=>decodeURIComponent(a).replace(/\//g,"%2F")).join("/")}catch(a){return Un(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${a}).`),e}}function el(e,a){if(a==="/")return e;if(!e.toLowerCase().startsWith(a.toLowerCase()))return null;let l=a.endsWith("/")?a.length-1:a.length,r=e.charAt(l);return r&&r!=="/"?null:e.slice(l)||"/"}var w0=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function C0(e,a="/"){let{pathname:l,search:r="",hash:o=""}=typeof e=="string"?Si(e):e,d;return l?(l=ib(l),l.startsWith("/")?d=Qg(l.substring(1),"/"):d=Qg(l,a)):d=a,{pathname:d,search:A0(r),hash:T0(o)}}function Qg(e,a){let l=Wo(a).split("/");return e.split("/").forEach(o=>{o===".."?l.length>1&&l.pop():o!=="."&&l.push(o)}),l.length>1?l.join("/"):"/"}function Bf(e,a,l,r){return`Cannot include a '${e}' character in a manually specified \`to.${a}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${l}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function N0(e){return e.filter((a,l)=>l===0||a.route.path&&a.route.path.length>0)}function Rm(e){let a=N0(e);return a.map((l,r)=>r===a.length-1?l.pathname:l.pathnameBase)}function md(e,a,l,r=!1){let o;typeof e=="string"?o=Si(e):(o={...e},gt(!o.pathname||!o.pathname.includes("?"),Bf("?","pathname","search",o)),gt(!o.pathname||!o.pathname.includes("#"),Bf("#","pathname","hash",o)),gt(!o.search||!o.search.includes("#"),Bf("#","search","hash",o)));let d=e===""||o.pathname==="",p=d?"/":o.pathname,h;if(p==null)h=l;else{let S=a.length-1;if(!r&&p.startsWith("..")){let C=p.split("/");for(;C[0]==="..";)C.shift(),S-=1;o.pathname=C.join("/")}h=S>=0?a[S]:"/"}let _=C0(o,h),g=p&&p!=="/"&&p.endsWith("/"),x=(d||p===".")&&l.endsWith("/");return!_.pathname.endsWith("/")&&(g||x)&&(_.pathname+="/"),_}var ib=e=>e.replace(/\/\/+/g,"/"),aa=e=>ib(e.join("/")),Wo=e=>e.replace(/\/+$/,""),E0=e=>Wo(e).replace(/^\/*/,"/"),A0=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,T0=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,R0=class{constructor(e,a,l,r=!1){this.status=e,this.statusText=a||"",this.internal=r,l instanceof Error?(this.data=l.toString(),this.error=l):this.data=l}};function $0(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function D0(e){let a=e.map(l=>l.route.path).filter(Boolean);return aa(a)||"/"}var sb=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function rb(e,a){let l=e;if(typeof l!="string"||!w0.test(l))return{absoluteURL:void 0,isExternal:!1,to:l};let r=l,o=!1;if(sb)try{let d=new URL(window.location.href),p=l.startsWith("//")?new URL(d.protocol+l):new URL(l),h=el(p.pathname,a);p.origin===d.origin&&h!=null?l=h+p.search+p.hash:o=!0}catch{Un(!1,`<Link to="${l}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:o,to:l}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var cb=["POST","PUT","PATCH","DELETE"];new Set(cb);var z0=["GET",...cb];new Set(z0);var As=v.createContext(null);As.displayName="DataRouter";var pd=v.createContext(null);pd.displayName="DataRouterState";var ob=v.createContext(!1);function M0(){return v.useContext(ob)}var db=v.createContext({isTransitioning:!1});db.displayName="ViewTransition";var O0=v.createContext(new Map);O0.displayName="Fetchers";var q0=v.createContext(null);q0.displayName="Await";var Cn=v.createContext(null);Cn.displayName="Navigation";var tc=v.createContext(null);tc.displayName="Location";var ja=v.createContext({outlet:null,matches:[],isDataRoute:!1});ja.displayName="Route";var $m=v.createContext(null);$m.displayName="RouteError";var ub="REACT_ROUTER_ERROR",L0="REDIRECT",B0="ROUTE_ERROR_RESPONSE";function U0(e){if(e.startsWith(`${ub}:${L0}:{`))try{let a=JSON.parse(e.slice(28));if(typeof a=="object"&&a&&typeof a.status=="number"&&typeof a.statusText=="string"&&typeof a.location=="string"&&typeof a.reloadDocument=="boolean"&&typeof a.replace=="boolean")return a}catch{}}function I0(e){if(e.startsWith(`${ub}:${B0}:{`))try{let a=JSON.parse(e.slice(40));if(typeof a=="object"&&a&&typeof a.status=="number"&&typeof a.statusText=="string")return new R0(a.status,a.statusText,a.data)}catch{}}function H0(e,{relative:a}={}){gt(Ts(),"useHref() may be used only in the context of a <Router> component.");let{basename:l,navigator:r}=v.useContext(Cn),{hash:o,pathname:d,search:p}=nc(e,{relative:a}),h=d;return l!=="/"&&(h=d==="/"?l:aa([l,d])),r.createHref({pathname:h,search:p,hash:o})}function Ts(){return v.useContext(tc)!=null}function ia(){return gt(Ts(),"useLocation() may be used only in the context of a <Router> component."),v.useContext(tc).location}var fb="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function mb(e){v.useContext(Cn).static||v.useLayoutEffect(e)}function Dm(){let{isDataRoute:e}=v.useContext(ja);return e?tS():G0()}function G0(){gt(Ts(),"useNavigate() may be used only in the context of a <Router> component.");let e=v.useContext(As),{basename:a,navigator:l}=v.useContext(Cn),{matches:r}=v.useContext(ja),{pathname:o}=ia(),d=JSON.stringify(Rm(r)),p=v.useRef(!1);return mb(()=>{p.current=!0}),v.useCallback((_,g={})=>{if(Un(p.current,fb),!p.current)return;if(typeof _=="number"){l.go(_);return}let x=md(_,JSON.parse(d),o,g.relative==="path");e==null&&a!=="/"&&(x.pathname=x.pathname==="/"?a:aa([a,x.pathname])),(g.replace?l.replace:l.push)(x,g.state,g)},[a,l,d,o,e])}v.createContext(null);function nc(e,{relative:a}={}){let{matches:l}=v.useContext(ja),{pathname:r}=ia(),o=JSON.stringify(Rm(l));return v.useMemo(()=>md(e,JSON.parse(o),r,a==="path"),[e,o,r,a])}function Y0(e,a){return pb(e,a)}function pb(e,a,l){var N;gt(Ts(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:r}=v.useContext(Cn),{matches:o}=v.useContext(ja),d=o[o.length-1],p=d?d.params:{},h=d?d.pathname:"/",_=d?d.pathnameBase:"/",g=d&&d.route;{let k=g&&g.path||"";hb(h,!g||k.endsWith("*")||k.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${h}" (under <Route path="${k}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
Please change the parent <Route path="${k}"> to <Route path="${k==="/"?"*":`${k}/*`}">.`)}let x=ia(),S;if(a){let k=typeof a=="string"?Si(a):a;gt(_==="/"||((N=k.pathname)==null?void 0:N.startsWith(_)),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${_}" but pathname "${k.pathname}" was given in the \`location\` prop.`),S=k}else S=x;let C=S.pathname||"/",z=C;if(_!=="/"){let k=_.replace(/^\//,"").split("/");z="/"+C.replace(/^\//,"").split("/").slice(k.length).join("/")}let w=l&&l.state.matches.length?l.state.matches.map(k=>Object.assign(k,{route:l.manifest[k.route.id]||k.route})):nb(e,{pathname:z});Un(g||w!=null,`No routes matched location "${S.pathname}${S.search}${S.hash}" `),Un(w==null||w[w.length-1].route.element!==void 0||w[w.length-1].route.Component!==void 0||w[w.length-1].route.lazy!==void 0,`Matched leaf route at location "${S.pathname}${S.search}${S.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let D=Z0(w&&w.map(k=>Object.assign({},k,{params:Object.assign({},p,k.params),pathname:aa([_,r.encodeLocation?r.encodeLocation(k.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:k.pathname]),pathnameBase:k.pathnameBase==="/"?_:aa([_,r.encodeLocation?r.encodeLocation(k.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:k.pathnameBase])})),o,l);return a&&D?v.createElement(tc.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",mask:void 0,...S},navigationType:"POP"}},D):D}function K0(){let e=eS(),a=$0(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),l=e instanceof Error?e.stack:null,r="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:r},d={padding:"2px 4px",backgroundColor:r},p=null;return console.error("Error handled by React Router default ErrorBoundary:",e),p=v.createElement(v.Fragment,null,v.createElement("p",null,"💿 Hey developer 👋"),v.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",v.createElement("code",{style:d},"ErrorBoundary")," or"," ",v.createElement("code",{style:d},"errorElement")," prop on your route.")),v.createElement(v.Fragment,null,v.createElement("h2",null,"Unexpected Application Error!"),v.createElement("h3",{style:{fontStyle:"italic"}},a),l?v.createElement("pre",{style:o},l):null,p)}var Q0=v.createElement(K0,null),_b=class extends v.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,a){return a.location!==e.location||a.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:a.error,location:a.location,revalidation:e.revalidation||a.revalidation}}componentDidCatch(e,a){this.props.onError?this.props.onError(e,a):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const l=I0(e.digest);l&&(e=l)}let a=e!==void 0?v.createElement(ja.Provider,{value:this.props.routeContext},v.createElement($m.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?v.createElement(V0,{error:e},a):a}};_b.contextType=ob;var Uf=new WeakMap;function V0({children:e,error:a}){let{basename:l}=v.useContext(Cn);if(typeof a=="object"&&a&&"digest"in a&&typeof a.digest=="string"){let r=U0(a.digest);if(r){let o=Uf.get(a);if(o)throw o;let d=rb(r.location,l);if(sb&&!Uf.get(a))if(d.isExternal||r.reloadDocument)window.location.href=d.absoluteURL||d.to;else{const p=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(d.to,{replace:r.replace}));throw Uf.set(a,p),p}return v.createElement("meta",{httpEquiv:"refresh",content:`0;url=${d.absoluteURL||d.to}`})}}return e}function X0({routeContext:e,match:a,children:l}){let r=v.useContext(As);return r&&r.static&&r.staticContext&&(a.route.errorElement||a.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=a.route.id),v.createElement(ja.Provider,{value:e},l)}function Z0(e,a=[],l){let r=l==null?void 0:l.state;if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(a.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let o=e,d=r==null?void 0:r.errors;if(d!=null){let x=o.findIndex(S=>S.route.id&&(d==null?void 0:d[S.route.id])!==void 0);gt(x>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(d).join(",")}`),o=o.slice(0,Math.min(o.length,x+1))}let p=!1,h=-1;if(l&&r){p=r.renderFallback;for(let x=0;x<o.length;x++){let S=o[x];if((S.route.HydrateFallback||S.route.hydrateFallbackElement)&&(h=x),S.route.id){let{loaderData:C,errors:z}=r,w=S.route.loader&&!C.hasOwnProperty(S.route.id)&&(!z||z[S.route.id]===void 0);if(S.route.lazy||w){l.isStatic&&(p=!0),h>=0?o=o.slice(0,h+1):o=[o[0]];break}}}}let _=l==null?void 0:l.onError,g=r&&_?(x,S)=>{var C,z;_(x,{location:r.location,params:((z=(C=r.matches)==null?void 0:C[0])==null?void 0:z.params)??{},pattern:D0(r.matches),errorInfo:S})}:void 0;return o.reduceRight((x,S,C)=>{let z,w=!1,D=null,N=null;r&&(z=d&&S.route.id?d[S.route.id]:void 0,D=S.route.errorElement||Q0,p&&(h<0&&C===0?(hb("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),w=!0,N=null):h===C&&(w=!0,N=S.route.hydrateFallbackElement||null)));let k=a.concat(o.slice(0,C+1)),A=()=>{let O;return z?O=D:w?O=N:S.route.Component?O=v.createElement(S.route.Component,null):S.route.element?O=S.route.element:O=x,v.createElement(X0,{match:S,routeContext:{outlet:x,matches:k,isDataRoute:r!=null},children:O})};return r&&(S.route.ErrorBoundary||S.route.errorElement||C===0)?v.createElement(_b,{location:r.location,revalidation:r.revalidation,component:D,error:z,children:A(),routeContext:{outlet:null,matches:k,isDataRoute:!0},onError:g}):A()},null)}function zm(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function J0(e){let a=v.useContext(As);return gt(a,zm(e)),a}function F0(e){let a=v.useContext(pd);return gt(a,zm(e)),a}function P0(e){let a=v.useContext(ja);return gt(a,zm(e)),a}function Mm(e){let a=P0(e),l=a.matches[a.matches.length-1];return gt(l.route.id,`${e} can only be used on routes that contain a unique "id"`),l.route.id}function W0(){return Mm("useRouteId")}function eS(){var r;let e=v.useContext($m),a=F0("useRouteError"),l=Mm("useRouteError");return e!==void 0?e:(r=a.errors)==null?void 0:r[l]}function tS(){let{router:e}=J0("useNavigate"),a=Mm("useNavigate"),l=v.useRef(!1);return mb(()=>{l.current=!0}),v.useCallback(async(o,d={})=>{Un(l.current,fb),l.current&&(typeof o=="number"?await e.navigate(o):await e.navigate(o,{fromRouteId:a,...d}))},[e,a])}var Vg={};function hb(e,a,l){!a&&!Vg[e]&&(Vg[e]=!0,Un(!1,l))}v.memo(nS);function nS({routes:e,manifest:a,future:l,state:r,isStatic:o,onError:d}){return pb(e,void 0,{manifest:a,state:r,isStatic:o,onError:d})}function aS({to:e,replace:a,state:l,relative:r}){gt(Ts(),"<Navigate> may be used only in the context of a <Router> component.");let{static:o}=v.useContext(Cn);Un(!o,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:d}=v.useContext(ja),{pathname:p}=ia(),h=Dm(),_=md(e,Rm(d),p,r==="path"),g=JSON.stringify(_);return v.useEffect(()=>{h(JSON.parse(g),{replace:a,state:l,relative:r})},[h,g,r,a,l]),null}function sm(e){gt(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function lS({basename:e="/",children:a=null,location:l,navigationType:r="POP",navigator:o,static:d=!1,useTransitions:p}){gt(!Ts(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let h=e.replace(/^\/*/,"/"),_=v.useMemo(()=>({basename:h,navigator:o,static:d,useTransitions:p,future:{}}),[h,o,d,p]);typeof l=="string"&&(l=Si(l));let{pathname:g="/",search:x="",hash:S="",state:C=null,key:z="default",mask:w}=l,D=v.useMemo(()=>{let N=el(g,h);return N==null?null:{location:{pathname:N,search:x,hash:S,state:C,key:z,mask:w},navigationType:r}},[h,g,x,S,C,z,r,w]);return Un(D!=null,`<Router basename="${h}"> is not able to match the URL "${g}${x}${S}" because it does not start with the basename, so the <Router> won't render anything.`),D==null?null:v.createElement(Cn.Provider,{value:_},v.createElement(tc.Provider,{children:a,value:D}))}function iS({children:e,location:a}){return Y0(rm(e),a)}function rm(e,a=[]){let l=[];return v.Children.forEach(e,(r,o)=>{if(!v.isValidElement(r))return;let d=[...a,o];if(r.type===v.Fragment){l.push.apply(l,rm(r.props.children,d));return}gt(r.type===sm,`[${typeof r.type=="string"?r.type:r.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),gt(!r.props.index||!r.props.children,"An index route cannot have child routes.");let p={id:r.props.id||d.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,middleware:r.props.middleware,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(p.children=rm(r.props.children,d)),l.push(p)}),l}var Yo="get",Ko="application/x-www-form-urlencoded";function _d(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function sS(e){return _d(e)&&e.tagName.toLowerCase()==="button"}function rS(e){return _d(e)&&e.tagName.toLowerCase()==="form"}function cS(e){return _d(e)&&e.tagName.toLowerCase()==="input"}function oS(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function dS(e,a){return e.button===0&&(!a||a==="_self")&&!oS(e)}var zo=null;function uS(){if(zo===null)try{new FormData(document.createElement("form"),0),zo=!1}catch{zo=!0}return zo}var fS=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function If(e){return e!=null&&!fS.has(e)?(Un(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Ko}"`),null):e}function mS(e,a){let l,r,o,d,p;if(rS(e)){let h=e.getAttribute("action");r=h?el(h,a):null,l=e.getAttribute("method")||Yo,o=If(e.getAttribute("enctype"))||Ko,d=new FormData(e)}else if(sS(e)||cS(e)&&(e.type==="submit"||e.type==="image")){let h=e.form;if(h==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let _=e.getAttribute("formaction")||h.getAttribute("action");if(r=_?el(_,a):null,l=e.getAttribute("formmethod")||h.getAttribute("method")||Yo,o=If(e.getAttribute("formenctype"))||If(h.getAttribute("enctype"))||Ko,d=new FormData(h,e),!uS()){let{name:g,type:x,value:S}=e;if(x==="image"){let C=g?`${g}.`:"";d.append(`${C}x`,"0"),d.append(`${C}y`,"0")}else g&&d.append(g,S)}}else{if(_d(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');l=Yo,r=null,o=Ko,p=e}return d&&o==="text/plain"&&(p=d,d=void 0),{action:r,method:l.toLowerCase(),encType:o,formData:d,body:p}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function Om(e,a){if(e===!1||e===null||typeof e>"u")throw new Error(a)}function gb(e,a,l,r){let o=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return l?o.pathname.endsWith("/")?o.pathname=`${o.pathname}_.${r}`:o.pathname=`${o.pathname}.${r}`:o.pathname==="/"?o.pathname=`_root.${r}`:a&&el(o.pathname,a)==="/"?o.pathname=`${Wo(a)}/_root.${r}`:o.pathname=`${Wo(o.pathname)}.${r}`,o}async function pS(e,a){if(e.id in a)return a[e.id];try{let l=await import(e.module);return a[e.id]=l,l}catch(l){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(l),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function _S(e){return e==null?!1:e.href==null?e.rel==="preload"&&typeof e.imageSrcSet=="string"&&typeof e.imageSizes=="string":typeof e.rel=="string"&&typeof e.href=="string"}async function hS(e,a,l){let r=await Promise.all(e.map(async o=>{let d=a.routes[o.route.id];if(d){let p=await pS(d,l);return p.links?p.links():[]}return[]}));return vS(r.flat(1).filter(_S).filter(o=>o.rel==="stylesheet"||o.rel==="preload").map(o=>o.rel==="stylesheet"?{...o,rel:"prefetch",as:"style"}:{...o,rel:"prefetch"}))}function Xg(e,a,l,r,o,d){let p=(_,g)=>l[g]?_.route.id!==l[g].route.id:!0,h=(_,g)=>{var x;return l[g].pathname!==_.pathname||((x=l[g].route.path)==null?void 0:x.endsWith("*"))&&l[g].params["*"]!==_.params["*"]};return d==="assets"?a.filter((_,g)=>p(_,g)||h(_,g)):d==="data"?a.filter((_,g)=>{var S;let x=r.routes[_.route.id];if(!x||!x.hasLoader)return!1;if(p(_,g)||h(_,g))return!0;if(_.route.shouldRevalidate){let C=_.route.shouldRevalidate({currentUrl:new URL(o.pathname+o.search+o.hash,window.origin),currentParams:((S=l[0])==null?void 0:S.params)||{},nextUrl:new URL(e,window.origin),nextParams:_.params,defaultShouldRevalidate:!0});if(typeof C=="boolean")return C}return!0}):[]}function gS(e,a,{includeHydrateFallback:l}={}){return yS(e.map(r=>{let o=a.routes[r.route.id];if(!o)return[];let d=[o.module];return o.clientActionModule&&(d=d.concat(o.clientActionModule)),o.clientLoaderModule&&(d=d.concat(o.clientLoaderModule)),l&&o.hydrateFallbackModule&&(d=d.concat(o.hydrateFallbackModule)),o.imports&&(d=d.concat(o.imports)),d}).flat(1))}function yS(e){return[...new Set(e)]}function bS(e){let a={},l=Object.keys(e).sort();for(let r of l)a[r]=e[r];return a}function vS(e,a){let l=new Set;return new Set(a),e.reduce((r,o)=>{let d=JSON.stringify(bS(o));return l.has(d)||(l.add(d),r.push({key:d,link:o})),r},[])}function qm(){let e=v.useContext(As);return Om(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function xS(){let e=v.useContext(pd);return Om(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var Lm=v.createContext(void 0);Lm.displayName="FrameworkContext";function Bm(){let e=v.useContext(Lm);return Om(e,"You must render this element inside a <HydratedRouter> element"),e}function kS(e,a){let l=v.useContext(Lm),[r,o]=v.useState(!1),[d,p]=v.useState(!1),{onFocus:h,onBlur:_,onMouseEnter:g,onMouseLeave:x,onTouchStart:S}=a,C=v.useRef(null);v.useEffect(()=>{if(e==="render"&&p(!0),e==="viewport"){let D=k=>{k.forEach(A=>{p(A.isIntersecting)})},N=new IntersectionObserver(D,{threshold:.5});return C.current&&N.observe(C.current),()=>{N.disconnect()}}},[e]),v.useEffect(()=>{if(r){let D=setTimeout(()=>{p(!0)},100);return()=>{clearTimeout(D)}}},[r]);let z=()=>{o(!0)},w=()=>{o(!1),p(!1)};return l?e!=="intent"?[d,C,{}]:[d,C,{onFocus:Lr(h,z),onBlur:Lr(_,w),onMouseEnter:Lr(g,z),onMouseLeave:Lr(x,w),onTouchStart:Lr(S,z)}]:[!1,C,{}]}function Lr(e,a){return l=>{e&&e(l),l.defaultPrevented||a(l)}}function SS({page:e,...a}){let l=M0(),{router:r}=qm(),o=v.useMemo(()=>nb(r.routes,e,r.basename),[r.routes,e,r.basename]);return o?l?v.createElement(wS,{page:e,matches:o,...a}):v.createElement(CS,{page:e,matches:o,...a}):null}function jS(e){let{manifest:a,routeModules:l}=Bm(),[r,o]=v.useState([]);return v.useEffect(()=>{let d=!1;return hS(e,a,l).then(p=>{d||o(p)}),()=>{d=!0}},[e,a,l]),r}function wS({page:e,matches:a,...l}){let r=ia(),{future:o}=Bm(),{basename:d}=qm(),p=v.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let h=gb(e,d,o.v8_trailingSlashAwareDataRequests,"rsc"),_=!1,g=[];for(let x of a)typeof x.route.shouldRevalidate=="function"?_=!0:g.push(x.route.id);return _&&g.length>0&&h.searchParams.set("_routes",g.join(",")),[h.pathname+h.search]},[d,o.v8_trailingSlashAwareDataRequests,e,r,a]);return v.createElement(v.Fragment,null,p.map(h=>v.createElement("link",{key:h,rel:"prefetch",as:"fetch",href:h,...l})))}function CS({page:e,matches:a,...l}){let r=ia(),{future:o,manifest:d,routeModules:p}=Bm(),{basename:h}=qm(),{loaderData:_,matches:g}=xS(),x=v.useMemo(()=>Xg(e,a,g,d,r,"data"),[e,a,g,d,r]),S=v.useMemo(()=>Xg(e,a,g,d,r,"assets"),[e,a,g,d,r]),C=v.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let D=new Set,N=!1;if(a.forEach(A=>{var te;let O=d.routes[A.route.id];!O||!O.hasLoader||(!x.some(I=>I.route.id===A.route.id)&&A.route.id in _&&((te=p[A.route.id])!=null&&te.shouldRevalidate)||O.hasClientLoader?N=!0:D.add(A.route.id))}),D.size===0)return[];let k=gb(e,h,o.v8_trailingSlashAwareDataRequests,"data");return N&&D.size>0&&k.searchParams.set("_routes",a.filter(A=>D.has(A.route.id)).map(A=>A.route.id).join(",")),[k.pathname+k.search]},[h,o.v8_trailingSlashAwareDataRequests,_,r,d,x,a,e,p]),z=v.useMemo(()=>gS(S,d),[S,d]),w=jS(S);return v.createElement(v.Fragment,null,C.map(D=>v.createElement("link",{key:D,rel:"prefetch",as:"fetch",href:D,...l})),z.map(D=>v.createElement("link",{key:D,rel:"modulepreload",href:D,...l})),w.map(({key:D,link:N})=>v.createElement("link",{key:D,nonce:l.nonce,...N,crossOrigin:N.crossOrigin??l.crossOrigin})))}function NS(...e){return a=>{e.forEach(l=>{typeof l=="function"?l(a):l!=null&&(l.current=a)})}}var ES=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{ES&&(window.__reactRouterVersion="7.17.0")}catch{}function AS({basename:e,children:a,useTransitions:l,window:r}){let o=v.useRef();o.current==null&&(o.current=r0({window:r,v5Compat:!0}));let d=o.current,[p,h]=v.useState({action:d.action,location:d.location}),_=v.useCallback(g=>{l===!1?h(g):v.startTransition(()=>h(g))},[l]);return v.useLayoutEffect(()=>d.listen(_),[d,_]),v.createElement(lS,{basename:e,children:a,location:p.location,navigationType:p.action,navigator:d,useTransitions:l})}var yb=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,bb=v.forwardRef(function({onClick:a,discover:l="render",prefetch:r="none",relative:o,reloadDocument:d,replace:p,mask:h,state:_,target:g,to:x,preventScrollReset:S,viewTransition:C,defaultShouldRevalidate:z,...w},D){let{basename:N,navigator:k,useTransitions:A}=v.useContext(Cn),O=typeof x=="string"&&yb.test(x),te=rb(x,N);x=te.to;let I=H0(x,{relative:o}),ie=ia(),Z=null;if(h){let ne=md(h,[],ie.mask?ie.mask.pathname:"/",!0);N!=="/"&&(ne.pathname=ne.pathname==="/"?N:aa([N,ne.pathname])),Z=k.createHref(ne)}let[K,pe,P]=kS(r,w),q=DS(x,{replace:p,mask:h,state:_,target:g,preventScrollReset:S,relative:o,viewTransition:C,defaultShouldRevalidate:z,useTransitions:A});function ce(ne){a&&a(ne),ne.defaultPrevented||q(ne)}let R=!(te.isExternal||d),M=v.createElement("a",{...w,...P,href:(R?Z:void 0)||te.absoluteURL||I,onClick:R?ce:a,ref:NS(D,pe),target:g,"data-discover":!O&&l==="render"?"true":void 0});return K&&!O?v.createElement(v.Fragment,null,M,v.createElement(SS,{page:I})):M});bb.displayName="Link";var TS=v.forwardRef(function({"aria-current":a="page",caseSensitive:l=!1,className:r="",end:o=!1,style:d,to:p,viewTransition:h,children:_,...g},x){let S=nc(p,{relative:g.relative}),C=ia(),z=v.useContext(pd),{navigator:w,basename:D}=v.useContext(Cn),N=z!=null&&LS(S)&&h===!0,k=w.encodeLocation?w.encodeLocation(S).pathname:S.pathname,A=C.pathname,O=z&&z.navigation&&z.navigation.location?z.navigation.location.pathname:null;l||(A=A.toLowerCase(),O=O?O.toLowerCase():null,k=k.toLowerCase()),O&&D&&(O=el(O,D)||O);const te=k!=="/"&&k.endsWith("/")?k.length-1:k.length;let I=A===k||!o&&A.startsWith(k)&&A.charAt(te)==="/",ie=O!=null&&(O===k||!o&&O.startsWith(k)&&O.charAt(k.length)==="/"),Z={isActive:I,isPending:ie,isTransitioning:N},K=I?a:void 0,pe;typeof r=="function"?pe=r(Z):pe=[r,I?"active":null,ie?"pending":null,N?"transitioning":null].filter(Boolean).join(" ");let P=typeof d=="function"?d(Z):d;return v.createElement(bb,{...g,"aria-current":K,className:pe,ref:x,style:P,to:p,viewTransition:h},typeof _=="function"?_(Z):_)});TS.displayName="NavLink";var RS=v.forwardRef(({discover:e="render",fetcherKey:a,navigate:l,reloadDocument:r,replace:o,state:d,method:p=Yo,action:h,onSubmit:_,relative:g,preventScrollReset:x,viewTransition:S,defaultShouldRevalidate:C,...z},w)=>{let{useTransitions:D}=v.useContext(Cn),N=OS(),k=qS(h,{relative:g}),A=p.toLowerCase()==="get"?"get":"post",O=typeof h=="string"&&yb.test(h),te=I=>{if(_&&_(I),I.defaultPrevented)return;I.preventDefault();let ie=I.nativeEvent.submitter,Z=(ie==null?void 0:ie.getAttribute("formmethod"))||p,K=()=>N(ie||I.currentTarget,{fetcherKey:a,method:Z,navigate:l,replace:o,state:d,relative:g,preventScrollReset:x,viewTransition:S,defaultShouldRevalidate:C});D&&l!==!1?v.startTransition(()=>K()):K()};return v.createElement("form",{ref:w,method:A,action:k,onSubmit:r?_:te,...z,"data-discover":!O&&e==="render"?"true":void 0})});RS.displayName="Form";function $S(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function vb(e){let a=v.useContext(As);return gt(a,$S(e)),a}function DS(e,{target:a,replace:l,mask:r,state:o,preventScrollReset:d,relative:p,viewTransition:h,defaultShouldRevalidate:_,useTransitions:g}={}){let x=Dm(),S=ia(),C=nc(e,{relative:p});return v.useCallback(z=>{if(dS(z,a)){z.preventDefault();let w=l!==void 0?l:Fr(S)===Fr(C),D=()=>x(e,{replace:w,mask:r,state:o,preventScrollReset:d,relative:p,viewTransition:h,defaultShouldRevalidate:_});g?v.startTransition(()=>D()):D()}},[S,x,C,l,r,o,a,e,d,p,h,_,g])}var zS=0,MS=()=>`__${String(++zS)}__`;function OS(){let{router:e}=vb("useSubmit"),{basename:a}=v.useContext(Cn),l=W0(),r=e.fetch,o=e.navigate;return v.useCallback(async(d,p={})=>{let{action:h,method:_,encType:g,formData:x,body:S}=mS(d,a);if(p.navigate===!1){let C=p.fetcherKey||MS();await r(C,l,p.action||h,{defaultShouldRevalidate:p.defaultShouldRevalidate,preventScrollReset:p.preventScrollReset,formData:x,body:S,formMethod:p.method||_,formEncType:p.encType||g,flushSync:p.flushSync})}else await o(p.action||h,{defaultShouldRevalidate:p.defaultShouldRevalidate,preventScrollReset:p.preventScrollReset,formData:x,body:S,formMethod:p.method||_,formEncType:p.encType||g,replace:p.replace,state:p.state,fromRouteId:l,flushSync:p.flushSync,viewTransition:p.viewTransition})},[r,o,a,l])}function qS(e,{relative:a}={}){let{basename:l}=v.useContext(Cn),r=v.useContext(ja);gt(r,"useFormAction must be used inside a RouteContext");let[o]=r.matches.slice(-1),d={...nc(e||".",{relative:a})},p=ia();if(e==null){d.search=p.search;let h=new URLSearchParams(d.search),_=h.getAll("index");if(_.some(x=>x==="")){h.delete("index"),_.filter(S=>S).forEach(S=>h.append("index",S));let x=h.toString();d.search=x?`?${x}`:""}}return(!e||e===".")&&o.route.index&&(d.search=d.search?d.search.replace(/^\?/,"?index&"):"?index"),l!=="/"&&(d.pathname=d.pathname==="/"?l:aa([l,d.pathname])),Fr(d)}function LS(e,{relative:a}={}){let l=v.useContext(db);gt(l!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=vb("useViewTransitionState"),o=nc(e,{relative:a});if(!l.isTransitioning)return!1;let d=el(l.currentLocation.pathname,r)||l.currentLocation.pathname,p=el(l.nextLocation.pathname,r)||l.nextLocation.pathname;return Po(o.pathname,p)!=null||Po(o.pathname,d)!=null}/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const BS=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),xb=(...e)=>e.filter((a,l,r)=>!!a&&a.trim()!==""&&r.indexOf(a)===l).join(" ").trim();/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/var US={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const IS=v.forwardRef(({color:e="currentColor",size:a=24,strokeWidth:l=2,absoluteStrokeWidth:r,className:o="",children:d,iconNode:p,...h},_)=>v.createElement("svg",{ref:_,...US,width:a,height:a,stroke:e,strokeWidth:r?Number(l)*24/Number(a):l,className:xb("lucide",o),...h},[...p.map(([g,x])=>v.createElement(g,x)),...Array.isArray(d)?d:[d]]));/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Ve=(e,a)=>{const l=v.forwardRef(({className:r,...o},d)=>v.createElement(IS,{ref:d,iconNode:a,className:xb(`lucide-${BS(e)}`,r),...o}));return l.displayName=`${e}`,l};/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const HS=Ve("Archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const GS=Ve("BellRing",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M22 8c0-2.3-.8-4.3-2-6",key:"5bb3ad"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}],["path",{d:"M4 2C2.8 3.7 2 5.7 2 8",key:"tap9e0"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const YS=Ve("Bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const KS=Ve("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const kb=Ve("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Zg=Ve("CirclePlay",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polygon",{points:"10 8 16 12 10 16 10 8",key:"1cimsy"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const QS=Ve("Clipboard",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Jg=Ve("Clock3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16.5 12",key:"1aq6pp"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const ws=Ve("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const VS=Ve("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const ed=Ve("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const XS=Ve("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const ZS=Ve("Filter",[["polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3",key:"1yg77f"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const JS=Ve("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const FS=Ve("History",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const PS=Ve("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Qo=Ve("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const WS=Ve("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const ln=Ve("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const ej=Ve("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const tl=Ve("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Sb=Ve("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const tj=Ve("Settings2",[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const nj=Ve("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Fg=Ve("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Pr=Ve("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Pg=Ve("SkipForward",[["polygon",{points:"5 4 15 12 5 20 5 4",key:"16p6eg"}],["line",{x1:"19",x2:"19",y1:"5",y2:"19",key:"futhcm"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const jb=Ve("SquareCheckBig",[["path",{d:"M21 10.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.5",key:"1uzm8b"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Wg=Ve("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const Hf=Ve("TimerReset",[["path",{d:"M10 2h4",key:"n1abiw"}],["path",{d:"M12 14v-4",key:"1evpnu"}],["path",{d:"M4 13a8 8 0 0 1 8-7 8 8 0 1 1-5.3 14L4 17.6",key:"1ts96g"}],["path",{d:"M9 17H4v5",key:"8t5av"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const wb=Ve("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const aj=Ve("UserRoundPlus",[["path",{d:"M2 21a8 8 0 0 1 13.292-6",key:"bjp14o"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M19 16v6",key:"tddt3s"}],["path",{d:"M22 19h-6",key:"vcuq98"}]]);/**
* @license lucide-react v0.468.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/const ka=Ve("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function lj(){return{selectedDutyIdsByDate:{},confirmedDates:{},reportScheduleTime:"18:00",reportGeneratedAtByDate:{},decisionResultsByDate:{},profile:{name:"飞天数字员工",company:"qimingclaw 客户端",position:"客户端任务执行员",currentStatus:"working"}}}async function Cb(){var e,a,l;try{return await((l=(a=(e=window.QimingClawBridge)==null?void 0:e.digital)==null?void 0:a.getUiState)==null?void 0:l.call(a))??null}catch{return null}}async function Nb(e,a={}){var r,o;const l=(r=window.QimingClawBridge)==null?void 0:r.digital;if(!(l!=null&&l.saveUiState))return null;try{const d=await((o=l.getUiState)==null?void 0:o.call(l).catch(()=>null))??null,p={...lj(),...d??{},...e};return await l.saveUiState({state:p,...a})}catch{return null}}const Wr={finance:{id:"finance",labelKey:"console.role.finance",density:"compact",tone:"strict",contentPriority:["audit","sources","exactNumbers"],motion:{defaultLevel:"none",allowParticles:!1,allowCelebrations:!1,allowDecorativeBadges:!1},actionPolicy:{requireConfirmationForDestructive:!0,showReversalHint:!0,preferOneClickApproval:!1},staleDataThresholdMs:3e4,cssVars:{"--role-accent":"#2563eb","--role-accent-soft":"rgba(37,99,235,0.12)","--role-surface-tint":"rgba(248,250,252,0.78)","--role-border":"rgba(37,99,235,0.22)","--role-focus-ring":"#1d4ed8"}},engineering:{id:"engineering",labelKey:"console.role.engineering",density:"compact",tone:"technical",contentPriority:["alarms","timestamps","reliability"],motion:{defaultLevel:"none",allowParticles:!1,allowCelebrations:!1,allowDecorativeBadges:!1},actionPolicy:{requireConfirmationForDestructive:!0,showReversalHint:!0,preferOneClickApproval:!1},staleDataThresholdMs:15e3,cssVars:{"--role-accent":"#0f766e","--role-accent-soft":"rgba(15,118,110,0.12)","--role-surface-tint":"rgba(240,253,250,0.72)","--role-border":"rgba(15,118,110,0.24)","--role-focus-ring":"#0f766e"}},executive:{id:"executive",labelKey:"console.role.executive",density:"presentation",tone:"executive",contentPriority:["kpi","approvals","exactNumbers"],motion:{defaultLevel:"minimal",allowParticles:!1,allowCelebrations:!1,allowDecorativeBadges:!1},actionPolicy:{requireConfirmationForDestructive:!0,showReversalHint:!0,preferOneClickApproval:!0},staleDataThresholdMs:6e4,cssVars:{"--role-accent":"#334155","--role-accent-soft":"rgba(51,65,85,0.10)","--role-surface-tint":"rgba(248,250,252,0.82)","--role-border":"rgba(51,65,85,0.20)","--role-focus-ring":"#475569"}},hr:{id:"hr",labelKey:"console.role.hr",density:"balanced",tone:"warm-professional",contentPriority:["queues","timestamps","approvals"],motion:{defaultLevel:"minimal",allowParticles:!1,allowCelebrations:!1,allowDecorativeBadges:!1},actionPolicy:{requireConfirmationForDestructive:!0,showReversalHint:!0,preferOneClickApproval:!1},staleDataThresholdMs:45e3,cssVars:{"--role-accent":"#7c3aed","--role-accent-soft":"rgba(124,58,237,0.10)","--role-surface-tint":"rgba(250,245,255,0.72)","--role-border":"rgba(124,58,237,0.20)","--role-focus-ring":"#6d28d9"}},sales:{id:"sales",labelKey:"console.role.sales",density:"balanced",tone:"warm-professional",contentPriority:["pipeline","sources","exactNumbers"],motion:{defaultLevel:"minimal",allowParticles:!1,allowCelebrations:!1,allowDecorativeBadges:!1},actionPolicy:{requireConfirmationForDestructive:!0,showReversalHint:!0,preferOneClickApproval:!1},staleDataThresholdMs:45e3,cssVars:{"--role-accent":"#b45309","--role-accent-soft":"rgba(180,83,9,0.10)","--role-surface-tint":"rgba(255,251,235,0.70)","--role-border":"rgba(180,83,9,0.20)","--role-focus-ring":"#92400e"}}},Eb=v.createContext(null),cm="qimingclaw:digital-console-role",om="sgrobot-console-role";function ij(){try{const e=localStorage.getItem(cm)??localStorage.getItem(om);if(e&&e in Wr)return e}catch{}return"sales"}function sj({children:e}){const[a,l]=v.useState(ij);v.useEffect(()=>{let d=!1;return Cb().then(p=>{if(d)return;const h=p==null?void 0:p.consoleRole;if(h&&h in Wr){l(h);try{localStorage.setItem(cm,h),localStorage.removeItem(om)}catch{}}}),()=>{d=!0}},[]);const r=v.useCallback(d=>{l(d);try{localStorage.setItem(cm,d),localStorage.removeItem(om)}catch{}Nb({consoleRole:d},{action:"update_console_role",metadata:{role:d}})},[]),o=Wr[a];return s.jsx(Eb.Provider,{value:{role:a,profile:o,setRole:r},children:s.jsx("div",{style:o.cssVars,"data-role":a,children:e})})}function rj(){const e=v.useContext(Eb);if(!e)throw new Error("useRole must be used within RoleProvider");return e}const Ab="qimingclaw_digital_token",Tb="zeroclaw_token";function cj(){try{return localStorage.getItem(Ab)??localStorage.getItem(Tb)}catch{return null}}function oj(){try{localStorage.removeItem(Ab),localStorage.removeItem(Tb)}catch{}}const dj=".",uj=(()=>{var a;return((a=window.__QIMINGCLAW_DIGITAL_API_BASE__)==null?void 0:a.replace(/\/+$/,""))??""})(),fj=()=>"",Rb="qimingclaw:digital-employee-adapter-state",mj="18:00",pj=["info","warn","error","action"],_j=["user_message","need_input","need_approval","task_progress","task_failed","task_finished","confirmation_pending","confirmation_resolved"],$b=["comment","delegate","mark_timeout","mark_risk","clear_risk","decision"],hj=["normal","medium","high","critical"],gj=[{skill_id:"qimingclaw-acp-session",name:"ACP 会话执行",version:"1.0.0",enabled:!0,description:"通过 qimingclaw 的 ACP 引擎创建会话、执行任务并跟踪结果。",category:"执行",capability_level:"core"},{skill_id:"qimingclaw-mcp-tools",name:"MCP 工具编排",version:"1.0.0",enabled:!0,description:"读取已配置 MCP 服务与工具,作为数字员工的工具能力池。",category:"工具",capability_level:"core"},{skill_id:"qimingclaw-computer-control",name:"客户端电脑控制",version:"1.0.0",enabled:!0,description:"承接 /computer/chat 执行入口,面向远程任务和本地自动化操作。",category:"桌面",capability_level:"specialized"},{skill_id:"qimingclaw-artifact-report",name:"产物与日报整理",version:"1.0.0",enabled:!0,description:"把执行记录、关键产物和异常汇总成数字员工日报。",category:"汇报",capability_level:"standard"}],yj=[{plan_id:"qimingclaw-client-readiness",title:"客户端运行状态巡检",objective:"确认 qimingclaw 客户端、Agent、MCP 和远程接入能力是否处于可执行状态。",status:"running",created_at:Pa(9,0),steps:[{step_id:"agent-status",title:"检查 Agent 引擎状态",depends_on:[],preferred_skills:["qimingclaw-acp-session"],tasks:[{task_id:"task-agent-status",title:"读取 Agent 服务状态",status:"running"}]},{step_id:"mcp-status",title:"检查 MCP 工具能力",depends_on:["agent-status"],preferred_skills:["qimingclaw-mcp-tools"],tasks:[{task_id:"task-mcp-status",title:"同步 MCP 工具列表",status:"pending"}]}]},{plan_id:"qimingclaw-remote-task-ingress",title:"远程任务接入准备",objective:"检查 lanproxy、computer server 和文件服务,为后端下发数字员工任务做准备。",status:"pending",created_at:Pa(9,30),steps:[{step_id:"computer-server",title:"确认 /computer/chat 执行入口",depends_on:[],preferred_skills:["qimingclaw-computer-control"],tasks:[{task_id:"task-computer-server",title:"检查电脑控制服务",status:"pending"}]},{step_id:"file-artifact",title:"准备产物回传目录",depends_on:["computer-server"],preferred_skills:["qimingclaw-artifact-report"],tasks:[{task_id:"task-file-artifact",title:"整理执行产物通道",status:"pending"}]}]},{plan_id:"qimingclaw-daily-report",title:"数字员工日报生成",objective:"汇总今日执行记录、服务状态和待介入事项,生成面向业务的日报。",status:"pending",created_at:Pa(17,30),steps:[{step_id:"collect-events",title:"汇总运行事件",depends_on:[],preferred_skills:["qimingclaw-artifact-report"],tasks:[{task_id:"task-collect-events",title:"整理今日运行明细",status:"pending"}]},{step_id:"write-report",title:"生成日报摘要",depends_on:["collect-events"],preferred_skills:["qimingclaw-artifact-report"],tasks:[{task_id:"task-write-report",title:"生成数字员工日报",status:"pending"}]}]}],td={"qimingclaw-client-readiness":{expression:"0 9 * * *",nextRun:Pa(9,0),scheduleText:"已定时 09:00 执行"},"qimingclaw-remote-task-ingress":{expression:"30 9 * * *",nextRun:Pa(9,30),scheduleText:"已定时 09:30 执行"},"qimingclaw-daily-report":{expression:"0 18 * * *",nextRun:Pa(18,0),scheduleText:"已定时 18:00 执行"}},We="qimingclaw-runtime-projection";function bj(){return window.__QIMINGCLAW_EMBEDDED_DIGITAL__===!0}async function vj(e,a={}){var P,q,ce;if(!bj())return;const l=new URL(e,window.location.origin),r=(a.method||"GET").toUpperCase(),o=l.pathname;if(r==="GET"&&o==="/api/digital-employee/workday")return Rv(l.searchParams.get("date")||ac(),await fe());if(r==="POST"&&o==="/api/digital-employee/workday/actions")return await Jw(an(a.body),await fe());const d=o.match(/^\/api\/(?:digital-employee\/)?managed-services\/([^/]+)\/restart$/);if(r==="POST"&&d)return await Yb(decodeURIComponent(d[1]||""),Qt(a.body));const p=o.match(/^\/api\/digital-employee\/daily-reports\/([^/]+)$/);if(r==="GET"&&p){const R=decodeURIComponent(p[1]||"");return{item:mm(await fe()).find(ne=>u(ne.report_id)===R||u(ne.artifact_id)===R)??null,source:We}}if(r==="GET"&&o==="/api/digital-employee/daily-reports"){const R=nw(mm(await fe()),l.searchParams);return{...pn(R,l.searchParams),source:We}}if(r==="POST"&&o==="/api/digital-employee/daily-reports/delivery")return await Pw(an(a.body));if(r==="GET"&&o==="/api/digital-employee/skill-call-audits"){const R=Z1(ov(await fe()),l.searchParams);return{...pn(R,l.searchParams),source:We}}if(r==="GET"&&o==="/api/digital-employee/memory-governance"){const R=Bj(Lj(await fe()),l.searchParams);return{...pn(R,l.searchParams),source:We}}if(r==="POST"&&o==="/api/digital-employee/memory-governance/status/batch")return await Uj(Qt(a.body),await fe());if(r==="GET"&&o==="/api/digital-employee/skill-audit-workbench"){const R=L1(q1(await fe()),l.searchParams);return{...pn(R,l.searchParams),source:We}}if(r==="GET"&&o==="/api/digital-employee/ops-workbench"){const R=H1(dv(await fe()),l.searchParams);return{...pn(R,l.searchParams),source:We}}if(r==="POST"&&o==="/api/digital-employee/ops-workbench/actions/batch")return await K1(Qt(a.body),await fe());if(r==="GET"&&o==="/api/digital-employee/notifications/workbench"){const R=G1(U1(await fe()),l.searchParams);return{...pn(R,l.searchParams),source:We}}if(r==="POST"&&o==="/api/digital-employee/notifications/actions/batch")return await Q1(Qt(a.body),await fe());if(r==="GET"&&o==="/api/digital-employee/daily-reports/workbench"){const R=Y1(I1(await fe()),l.searchParams);return{...pn(R,l.searchParams),source:We}}if(r==="GET"&&o==="/api/digital-employee/artifact-access-events"){const R=J1(fv(await fe()),l.searchParams);return{...pn(R,l.searchParams),source:We}}const h=o.match(/^\/api\/(?:digital-employee\/artifacts|artifact)\/([^/]+)\/access$/);if(r==="POST"&&h){const R=decodeURIComponent(h[1]||"");return await Vj(R,Qt(a.body))}if(r==="POST"&&o==="/api/digital-employee/artifacts/retention/batch")return await Zj(Qt(a.body),await fe());const _=o.match(/^\/api\/digital-employee\/artifacts\/([^/]+)\/retention$/);if(r==="POST"&&_){const R=decodeURIComponent(_[1]||"");return await Kb(R,Qt(a.body),await fe())}const g=o.match(/^\/api\/digital-employee\/artifacts\/([^/]+)\/cleanup$/);if(r==="POST"&&g){const R=decodeURIComponent(g[1]||"");return await Jj(R,Qt(a.body),await fe())}const x=o.match(/^\/api\/digital-employee\/artifacts\/([^/]+)\/versions$/);if(r==="GET"&&x){const R=decodeURIComponent(x[1]||""),M=await fe();return{items:iv(M,R),source:We}}const S=o.match(/^\/api\/digital-employee\/artifacts\/([^/]+)$/);if(r==="GET"&&S){const R=decodeURIComponent(S[1]||""),M=await fe();return{item:Qm(M,R),source:We}}const C=o.match(/^\/api\/digital-employee\/plans\/([^/]+)$/);if(r==="GET"&&C){const R=decodeURIComponent(C[1]||"");return{item:av(await fe()).find(ne=>u(ne.plan_id)===R||u(ne.remote_id)===R)??null,source:We}}const z=o.match(/^\/api\/digital-employee\/approvals\/([^/]+)\/actions$/);if(r==="POST"&&z){const R=decodeURIComponent(z[1]||"");return await Fj(R,Qt(a.body),await fe())}const w=o.match(/^\/api\/approval\/([^/]+)\/conflict\/resolve$/);if(r==="POST"&&w){const R=decodeURIComponent(w[1]||"");return await Qb(R,Qt(a.body),await fe())}if(r==="POST"&&o==="/api/approval/conflicts/resolve/batch")return await Pj(Qt(a.body),await fe());if(r==="GET"&&o==="/api/approval/subscriptions")return cd(xa(await fe()));if(r==="PATCH"&&o==="/api/approval/subscriptions")return await pw(an(a.body),await fe());if(r==="GET"&&o==="/api/plan-step/dispatch-policy")return Bl(xa(await fe()));if(r==="GET"&&o==="/api/risk-approval/policy")return Cs(xa(await fe()));if(r==="PATCH"&&o==="/api/risk-approval/policy")return await hw(an(a.body),await fe());if(r==="POST"&&o==="/api/plan-step/dispatch-policy/pull")return await wv(await fe());if(r==="PATCH"&&o==="/api/plan-step/dispatch-policy")return await _w(an(a.body),await fe());if(r==="GET"&&o==="/api/digital-employee/plan-steps"){const R=um(kd(await fe()),l.searchParams);return{...pn(R,l.searchParams),source:We}}if(r==="GET"&&o==="/api/digital-employee/plan-step-graph"){const R=um(Pb(await fe()),l.searchParams);return{...pn(R,l.searchParams),source:We}}if(r==="GET"&&o==="/api/digital-employee/approval-history"){const R=cv(rv(await fe()),l.searchParams);return{...pn(R,l.searchParams),source:We}}if(r==="GET"&&o==="/api/digital-employee/artifact-groups"){const R=sa(lv(await fe()),l.searchParams);return{...pn(R,l.searchParams),source:We}}const D=o.match(/^\/api\/digital-employee\/(plans|plan-steps|plan-step-graph|tasks|runs|events|artifacts|artifact-groups|approvals|approval-history|route-decisions|notifications|audits)$/);if(r==="GET"&&D)return y1(D[1],await fe(),l.searchParams);if(r==="GET"&&o==="/api/route-decisions")return await rC(Number(l.searchParams.get("limit"))||80);if(r==="GET"&&o==="/api/route-decisions/interventions")return await wd(Number(l.searchParams.get("limit"))||80);if(r==="POST"&&o==="/api/route-decisions/interventions/batch")return await cC(Qt(a.body),await fe());if(r==="GET"&&o==="/api/digital-employee/interventions/workbench"){const R=w1(j1(await fe()),l.searchParams);return{...pn(R,l.searchParams),source:We}}const N=o.match(/^\/api\/route-decisions\/([^/]+)\/intervention$/);if(r==="POST"&&N)return await Dv(decodeURIComponent(N[1]||""),an(a.body),await fe());if(r==="POST"&&o==="/api/ingress/route")return await fC(an(a.body),await fe());if(r==="POST"&&o==="/api/governance/command")return await Kl(an(a.body),await fe());if(r==="GET"&&o==="/api/scheduler/jobs")return{jobs:ld(await fe())};if(r==="GET"&&o==="/api/cron")return{jobs:ld(await fe())};if(r==="POST"&&o==="/api/cron")return await Hj(an(a.body),await fe());if(r==="GET"&&o==="/api/cron/settings")return await Dj();if(r==="PATCH"&&o==="/api/cron/settings"){const R=an(a.body);return await zj(R)}if(r==="POST"&&o==="/api/cron/check"){const R=await((ce=(q=(P=window.QimingClawBridge)==null?void 0:P.digital)==null?void 0:q.runSchedulerCheck)==null?void 0:ce.call(q));return{ok:!0,activated:(R==null?void 0:R.activated)??0,...R}}const k=o.match(/^\/api\/cron\/([^/]+)\/runs$/);if(r==="GET"&&k)return{runs:await Yj(decodeURIComponent(k[1]||""),Number(l.searchParams.get("limit"))||20)};const A=o.match(/^\/api\/cron\/([^/]+)$/);if((r==="PATCH"||r==="DELETE")&&A){const R=decodeURIComponent(A[1]||"");if(r==="DELETE"){await Ub("delete_schedule",R,{},await fe());return}return await Gj(R,an(a.body),await fe())}if(r==="GET"&&o==="/api/debug/plans")return{plans:Pm(l.searchParams.get("q"),await fe())};if(r==="GET"&&o==="/api/debug/tasks"){const R=l.searchParams.get("plan_id");return Rs(R,await fe())}if(r==="GET"&&o==="/api/debug/store")return u1(await fe());if(r==="GET"&&o==="/api/dashboard")return f1(await fe());if((r==="GET"||r==="POST")&&o==="/api/doctor")return vd(await fe());if(r==="GET"&&o==="/api/cost")return{cost:Fb(await fe())};if(r==="GET"&&o==="/api/audit")return{events:Gm(await fe(),l.searchParams)};if(r==="GET"&&o==="/api/artifact")return{artifacts:wi(await fe())};const O=o.match(/^\/api\/approval\/([^/]+)\/timeline$/);if(r==="GET"&&O)return gv(decodeURIComponent(O[1]||""),await fe());if(r==="GET"&&o==="/api/notifications")return fw(l.searchParams.get("status"),await fe());if(r==="GET"&&o==="/api/notifications/preferences")return Es(xa(await fe()));if(r==="PATCH"&&o==="/api/notifications/preferences")return await mw(an(a.body),await fe());if(r==="POST"&&o==="/api/notifications/updates/pull")return await Ob();if(r==="POST"&&o==="/api/digital-employee/admin/actions/pull")return await Nj();if(r==="POST"&&o==="/api/notifications/desktop")return await Ej(Qt(a.body));if(r==="GET"&&o==="/api/notifications/desktop/status")return await Aj();if(r==="POST"&&o==="/api/notifications/desktop/settings/open")return await qb();if(r==="GET"&&o==="/api/notifications/unread-count"){const R=await fe();return{count:jd(R,xa(R)).filter(M=>M.status==="unread").length}}const te=o.match(/^\/api\/notifications\/([^/]+)\/(read|dismiss|reply)$/);if(r==="POST"&&te)return await Cv(decodeURIComponent(te[1]||""),te[2],Qt(a.body),await fe());if(r==="GET"&&o==="/api/memory")return{entries:await Mj(l.searchParams.get("query"),l.searchParams.get("category"))};if(r==="POST"&&o==="/api/memory")return await Oj(an(a.body));const I=o.match(/^\/api\/memory\/([^/]+)$/);if(r==="DELETE"&&I){await qj(decodeURIComponent(I[1]||""));return}if(r==="GET"&&o.startsWith("/api/debug/plan/")&&o.endsWith("/flow"))return Ov(decodeURIComponent(o.split("/")[4]||""),await fe());if(r==="GET"&&o.startsWith("/api/debug/task/")&&o.endsWith("/flow"))return CC(decodeURIComponent(o.split("/")[4]||""),await fe());const ie=o.match(/^\/api\/digital-employee\/plans\/([^/]+)\/dispatch-ready-steps$/);if(r==="POST"&&ie)return await NC(decodeURIComponent(ie[1]||""),await fe());if(r==="POST"&&o.startsWith("/api/debug/plan/")&&o.endsWith("/dispatch"))return await qv(decodeURIComponent(o.split("/")[4]||""),await fe());const Z=o.match(/^\/api\/debug\/plan\/([^/]+)\/([^/]+)$/);if(r==="POST"&&Z)return await cy(decodeURIComponent(Z[1]||""),decodeURIComponent(Z[2]||""),await fe(),Qt(a.body));const K=o.match(/^\/api\/plan\/([^/]+)\/submit$/);if(r==="POST"&&K)return await cy(decodeURIComponent(K[1]||""),"submit",await fe(),Qt(a.body));if(r==="GET"&&o.startsWith("/api/plan/")&&o.endsWith("/revisions"))return sC(decodeURIComponent(o.split("/")[3]||""),await fe());const pe=o.match(/^\/api\/task\/([^/]+)\/([^/]+)$/);if(r==="POST"&&pe)return await aC(decodeURIComponent(pe[1]||""),decodeURIComponent(pe[2]||""),await fe(),Qt(a.body));if(r==="GET"&&o.startsWith("/api/plan/")&&o.endsWith("/messages"))return{messages:EC(decodeURIComponent(o.split("/")[3]||""),await fe())};if(r==="GET"&&o==="/api/skill")return{skills:await Sj()};if(r==="POST"&&o==="/api/skill/policies/pull")return await wj();if(r==="POST"&&o==="/api/risk-approval/policy/pull")return await zb();if(r==="POST"&&o==="/api/route-decision/policy/pull")return await Mb();if(r==="POST"&&o==="/api/approval/updates/pull")return await Cj();if(r==="POST"&&o.startsWith("/api/skill/")&&o.endsWith("/enabled")){const R=decodeURIComponent(o.split("/")[3]||""),M=an(a.body);return await jj(R,M.enabled??!0)}}function Db(){return{selectedDutyIdsByDate:{},confirmedDates:{},reportScheduleTime:mj,reportGeneratedAtByDate:{},decisionResultsByDate:{},notificationStateById:{},notificationPreferences:vv(),approvalSubscriptionPreferences:xv(),planStepDispatchPolicy:kv(),riskApprovalPolicy:Sv(),routeDecisionPolicy:rd(),opsWorkbenchStateById:{},dailyReportWorkbenchStateById:{},consoleRole:"sales",rolePreferences:{},profile:{name:"飞天数字员工",company:"qimingclaw 客户端",position:"客户端任务执行员",currentStatus:"working"}}}function Nt(){try{const e=window.localStorage.getItem(Rb);return Ul(e?JSON.parse(e):{})}catch{return Db()}}function Ul(e){return{...Db(),...e,notificationPreferences:Es(e),approvalSubscriptionPreferences:cd(e),planStepDispatchPolicy:Bl(e),riskApprovalPolicy:Cs(e),routeDecisionPolicy:Ns(e),memoryGovernanceById:e.memoryGovernanceById??{},opsWorkbenchStateById:e.opsWorkbenchStateById??{},dailyReportWorkbenchStateById:e.dailyReportWorkbenchStateById??{}}}function xj(e){window.localStorage.setItem(Rb,JSON.stringify(e))}async function fe(){var e,a,l,r,o,d,p,h,_,g,x,S;try{const C=await((l=(a=(e=window.QimingClawBridge)==null?void 0:e.digital)==null?void 0:a.getSnapshot)==null?void 0:l.call(a))??null;if(!C)return null;const[z,w,D,N]=await Promise.all([((d=(o=(r=window.QimingClawBridge)==null?void 0:r.digital)==null?void 0:o.getSyncStatus)==null?void 0:d.call(o).catch(()=>null))??null,((_=(h=(p=window.QimingClawBridge)==null?void 0:p.digital)==null?void 0:h.getRuntimeRecords)==null?void 0:_.call(h).catch(()=>null))??null,yn(),((S=(x=(g=window.QimingClawBridge)==null?void 0:g.digital)==null?void 0:x.getPlanTemplates)==null?void 0:S.call(x).catch(()=>null))??null]);return{...C,sync:z,runtime:w,uiState:D,planTemplates:(N==null?void 0:N.templates)??[]}}catch{return null}}async function yn(){var e,a,l;try{return await((l=(a=(e=window.QimingClawBridge)==null?void 0:e.digital)==null?void 0:a.getUiState)==null?void 0:l.call(a))??null}catch{return null}}async function kj(){var e,a,l;try{const r=await((l=(a=(e=window.QimingClawBridge)==null?void 0:e.digital)==null?void 0:a.getSkillCapabilities)==null?void 0:l.call(a))??null;return Array.isArray(r==null?void 0:r.skills)?r.skills:[]}catch{return[]}}async function Sj(){const e=await kj();return $j([...e,...gj])}async function jj(e,a){var r;const l=(r=window.QimingClawBridge)==null?void 0:r.digital;if(!(l!=null&&l.setSkillEnabled))return{ok:!1,skill_id:e,enabled:a,error:"qimingclaw_bridge_unavailable"};try{const o=await l.setSkillEnabled(e,a);return{ok:(o==null?void 0:o.ok)!==!1,skill_id:(o==null?void 0:o.skill_id)??e,enabled:(o==null?void 0:o.enabled)??a,...o!=null&&o.error?{error:o.error}:{}}}catch(o){return{ok:!1,skill_id:e,enabled:a,error:o instanceof Error?o.message:String(o)}}}async function wj(){var a;const e=(a=window.QimingClawBridge)==null?void 0:a.digital;if(!(e!=null&&e.pullSkillPolicies))return{ok:!1,error:"qimingclaw_bridge_unavailable"};try{const l=await e.pullSkillPolicies();return{ok:(l==null?void 0:l.ok)!==!1,...l!=null&&l.skipped?{skipped:!0}:{},...l!=null&&l.error?{error:l.error}:{}}}catch(l){return{ok:!1,error:l instanceof Error?l.message:String(l)}}}async function zb(){var a;const e=(a=window.QimingClawBridge)==null?void 0:a.digital;if(!(e!=null&&e.pullRiskApprovalPolicy))return{ok:!1,error:"qimingclaw_bridge_unavailable"};try{const l=await e.pullRiskApprovalPolicy();return{ok:(l==null?void 0:l.ok)!==!1,...l!=null&&l.skipped?{skipped:!0}:{},...l!=null&&l.error?{error:l.error}:{}}}catch(l){return{ok:!1,error:l instanceof Error?l.message:String(l)}}}async function Mb(){var l;const e=Ns(await yn()??Nt()),a=(l=window.QimingClawBridge)==null?void 0:l.digital;if(!(a!=null&&a.pullRouteDecisionPolicy))return{ok:!1,policy:e,error:"qimingclaw_bridge_unavailable"};try{const r=await a.pullRouteDecisionPolicy();return{ok:(r==null?void 0:r.ok)!==!1,skipped:r==null?void 0:r.skipped,endpoint:(r==null?void 0:r.endpoint)??null,pulled_at:(r==null?void 0:r.pulled_at)??null,policy:Ns({routeDecisionPolicy:(r==null?void 0:r.policy)??e}),error:(r==null?void 0:r.error)??null}}catch(r){return{ok:!1,policy:e,error:r instanceof Error?r.message:String(r)}}}async function Cj(){var a;const e=(a=window.QimingClawBridge)==null?void 0:a.digital;if(!(e!=null&&e.pullApprovalUpdates))return{ok:!1,error:"qimingclaw_bridge_unavailable"};try{const l=await e.pullApprovalUpdates();return(l==null?void 0:l.ok)!==!1&&await Tj(await fe()),{ok:(l==null?void 0:l.ok)!==!1,applied:Number((l==null?void 0:l.applied)??0),ignored:Number((l==null?void 0:l.ignored)??0),conflicted:Number((l==null?void 0:l.conflicted)??0),...l!=null&&l.skipped?{skipped:!0}:{},...l!=null&&l.error?{error:l.error}:{}}}catch(l){return{ok:!1,error:l instanceof Error?l.message:String(l)}}}async function Ob(){var a;const e=(a=window.QimingClawBridge)==null?void 0:a.digital;if(!(e!=null&&e.pullNotificationUpdates))return{ok:!1,error:"qimingclaw_bridge_unavailable"};try{const l=await e.pullNotificationUpdates();return{ok:(l==null?void 0:l.ok)!==!1,applied:Number((l==null?void 0:l.applied)??0),ignored:Number((l==null?void 0:l.ignored)??0),...l!=null&&l.skipped?{skipped:!0}:{},...l!=null&&l.error?{error:l.error}:{}}}catch(l){return{ok:!1,error:l instanceof Error?l.message:String(l)}}}async function Nj(){var a;const e=(a=window.QimingClawBridge)==null?void 0:a.digital;if(!(e!=null&&e.pullAdminActions))return{ok:!1,error:"qimingclaw_bridge_unavailable"};try{const l=await e.pullAdminActions();return{ok:(l==null?void 0:l.ok)!==!1,applied:Number((l==null?void 0:l.applied)??0),rejected:Number((l==null?void 0:l.rejected)??0),failed:Number((l==null?void 0:l.failed)??0),ignored:Number((l==null?void 0:l.ignored)??0),...l!=null&&l.skipped?{skipped:!0}:{},...l!=null&&l.error?{error:l.error}:{}}}catch(l){return{ok:!1,error:l instanceof Error?l.message:String(l)}}}async function Ej(e){var l;const a=(l=window.QimingClawBridge)==null?void 0:l.digital;if(!(a!=null&&a.showDesktopNotification))return{ok:!1,shown:!1,reason:"qimingclaw_bridge_unavailable"};try{const r=await a.showDesktopNotification(e);return{ok:(r==null?void 0:r.ok)!==!1,shown:(r==null?void 0:r.shown)===!0,...r!=null&&r.reason?{reason:r.reason}:{},...r!=null&&r.error?{error:r.error}:{}}}catch(r){return{ok:!1,shown:!1,error:r instanceof Error?r.message:String(r)}}}async function Aj(){var a;const e=(a=window.QimingClawBridge)==null?void 0:a.digital;if(!(e!=null&&e.getDesktopNotificationStatus))return{supported:!1,platform:"unknown",can_open_settings:!1,reason:"qimingclaw_bridge_unavailable"};try{const l=await e.getDesktopNotificationStatus();return{supported:(l==null?void 0:l.supported)===!0,platform:u(l==null?void 0:l.platform)||"unknown",can_open_settings:(l==null?void 0:l.can_open_settings)===!0,reason:u(l==null?void 0:l.reason)||null}}catch(l){return{supported:!1,platform:"unknown",can_open_settings:!1,reason:l instanceof Error?l.message:String(l)}}}async function qb(){var a;const e=(a=window.QimingClawBridge)==null?void 0:a.digital;if(!(e!=null&&e.openDesktopNotificationSettings))return{success:!1,reason:"qimingclaw_bridge_unavailable"};try{const l=await e.openDesktopNotificationSettings();return{success:(l==null?void 0:l.success)===!0,platform:u(l==null?void 0:l.platform)||null,reason:u(l==null?void 0:l.reason)||null,error:u(l==null?void 0:l.error)||null}}catch(l){return{success:!1,error:l instanceof Error?l.message:String(l)}}}async function Tj(e){const l=(await wd(120)).interventions.filter(r=>r.intervention_status==="approved"&&r.approval_id&&!r.resolved_at).slice(0,5);for(const r of l)await Dv(r.route_decision_id,{approval_id:r.approval_id,decision:"approved",actor:"management-api"},e).catch(o=>{console.warn("[qimingclawAdapter] auto route intervention resolution failed:",o)})}async function Il(e){var l;const a=(l=window.QimingClawBridge)==null?void 0:l.digital;if(!(a!=null&&a.evaluateRiskPolicy))return{ok:!0,decision:"allowed",action_kind:e.actionKind||"unknown_action",risk_level:e.riskLevel||"normal",reason_codes:["qimingclaw_bridge_unavailable"],status:"allowed"};try{return await a.evaluateRiskPolicy(e)}catch(r){return{ok:!0,decision:"allowed",action_kind:e.actionKind||"unknown_action",risk_level:e.riskLevel||"normal",reason_codes:["risk_policy_evaluation_failed"],status:"allowed",error:r instanceof Error?r.message:String(r)}}}async function Rj(e){var l;const a=(l=window.QimingClawBridge)==null?void 0:l.digital;if(!(a!=null&&a.evaluateRouteDecisionPolicy))return{ok:!0,decision:"allowed",status:"allowed",policy_result:"accepted",route_kind:e.routeKind||"ChatOnly",intent_kind:od(e.intentKind),reason_codes:["qimingclaw_bridge_unavailable"],policy_source:"local",policy:rd()};try{return await a.evaluateRouteDecisionPolicy(e)}catch(r){return{ok:!0,decision:"allowed",status:"allowed",policy_result:"accepted",route_kind:e.routeKind||"ChatOnly",intent_kind:od(e.intentKind),reason_codes:["route_policy_evaluation_failed"],policy_source:"local",policy:rd(),error:r instanceof Error?r.message:String(r)}}}function Hl(e){return e.decision==="allowed"?null:{ok:!1,status:e.decision,decision:e.decision,action_kind:e.action_kind,risk_level:e.risk_level,reason_codes:e.reason_codes??[],approval_id:e.approval_id??null,event_id:e.event_id??null,error:e.decision==="approval_required"?"risk_approval_required":"risk_policy_rejected"}}function $j(e){const a=new Set,l=[];for(const r of e){const o=typeof r.skill_id=="string"?r.skill_id.trim():"";!o||a.has(o)||(a.add(o),l.push({...r,skill_id:o}))}return l}async function Gn(e,a,l,r){var o,d,p;xj(e);try{return await((p=(d=(o=window.QimingClawBridge)==null?void 0:o.digital)==null?void 0:d.saveUiState)==null?void 0:p.call(d,{state:e,action:a,date:l,metadata:r}))??e}catch{return e}}async function va(e,a){var l,r,o,d,p,h,_,g,x,S,C,z,w,D,N,k,A,O,te,I;try{await((I=(r=(l=window.QimingClawBridge)==null?void 0:l.digital)==null?void 0:r.recordGovernanceCommand)==null?void 0:I.call(r,{commandKind:e.command_kind,commandId:a.command_id,correlationId:a.correlation_id,planId:je((o=a.result)==null?void 0:o.plan_id)||je((d=e.context_refs)==null?void 0:d.plan_id)||je((p=e.payload)==null?void 0:p.plan_id)||null,taskId:je((h=a.result)==null?void 0:h.task_id)||je((_=e.context_refs)==null?void 0:_.task_id)||je((g=e.payload)==null?void 0:g.task_id)||null,runId:je((x=a.result)==null?void 0:x.run_id)||je((S=e.context_refs)==null?void 0:S.run_id)||je((C=e.payload)==null?void 0:C.run_id)||je((z=e.payload)==null?void 0:z.latest_run_id)||null,stepId:je((w=a.result)==null?void 0:w.step_id)||je((D=e.context_refs)==null?void 0:D.step_id)||je((N=e.payload)==null?void 0:N.step_id)||je((k=e.payload)==null?void 0:k.stepId)||null,scheduleId:je((A=a.result)==null?void 0:A.schedule_id)||je((O=e.context_refs)==null?void 0:O.schedule_id)||je((te=e.payload)==null?void 0:te.schedule_id)||null,accepted:a.accepted,message:a.message,error:a.error??null,payload:e.payload??null,result:a.result??null}))}catch{}}async function Dj(){var e,a,l;try{return await((l=(a=(e=window.QimingClawBridge)==null?void 0:e.digital)==null?void 0:a.getCronSettings)==null?void 0:l.call(a))??nd()}catch{return nd()}}async function zj(e){var a,l,r;try{return await((r=(l=(a=window.QimingClawBridge)==null?void 0:a.digital)==null?void 0:l.saveCronSettings)==null?void 0:r.call(l,e))??{...nd(),...e}}catch{return{...nd(),...e}}}async function Mj(e,a){var l,r,o;try{return(await((o=(r=(l=window.QimingClawBridge)==null?void 0:l.digital)==null?void 0:r.listMemories)==null?void 0:o.call(r,{query:e||void 0,category:a||void 0,limit:300}))??[]).map(Lb)}catch{return[]}}async function Oj(e){var d,p,h;const a=je(e.key),l=je(e.content??e.text),r=je(e.category)||"fact";if(!l)return{ok:!0,entry:null};const o=await((h=(p=(d=window.QimingClawBridge)==null?void 0:d.digital)==null?void 0:p.addMemory)==null?void 0:h.call(p,{key:a||void 0,content:l,category:r,source:"qimingclaw-digital-page",payload:{source:"embedded-memory-api",key:a||null}}))??null;return{ok:!0,entry:o?Lb(o):null}}async function qj(e){var a,l,r;try{await((r=(l=(a=window.QimingClawBridge)==null?void 0:a.digital)==null?void 0:l.deleteMemory)==null?void 0:r.call(l,e))}catch{}}function Lb(e){return{id:e.id,key:e.key||e.id,content:e.content,category:e.category||"fact",timestamp:e.updatedAt||e.createdAt||new Date().toISOString(),session_id:e.sessionId??null,score:typeof e.score=="number"?e.score:null}}function Lj(e){var d;const l=((e==null?void 0:e.uiState)??Nt()).memoryGovernanceById??{},r=((d=e==null?void 0:e.runtime)==null?void 0:d.memories)??[],o=new Map;return r.forEach(p=>{const h=Gf(p);o.set(h,[...o.get(h)??[],p])}),r.map(p=>{const h=l[p.id]??{},_=(o.get(Gf(p))??[]).map(x=>x.id).filter(x=>x!==p.id),g=u(h.governance_status)||(p.deletedAt?"archived":p.status||"active");return{memory_id:p.id,remote_id:p.remoteId??null,key:p.key||p.id,category:p.category||"fact",source:p.source||null,source_path:p.sourcePath??null,status:g,governance_status:g,last_governance_action:u(h.last_governance_action)||null,last_reviewed_at:u(h.last_reviewed_at)||null,actor:u(h.actor)||null,reason:u(h.reason)||null,content_preview:Bb(p.content),score:typeof p.score=="number"?p.score:null,session_id:p.sessionId??null,sync_status:p.syncStatus??null,sync_error:p.syncError??null,merge_candidate_count:_.length,duplicate_memory_ids:_,latest_memory_id:Ij(o.get(Gf(p))??[]),entity_type:"memory",entity_id:p.id,created_at:p.createdAt,updated_at:u(h.updated_at)||p.updatedAt||p.createdAt,payload:sd("memory_governance",oe(p.payload)??{content_length:p.content.length}),source_label:"qimingclaw-memory"}}).sort((p,h)=>Lt(h).localeCompare(Lt(p))||u(p.memory_id).localeCompare(u(h.memory_id)))}function Bj(e,a){const l=u(a.get("q")??a.get("query")),r=u(a.get("category")),o=u(a.get("status")),d=u(a.get("entity_id"));return e.filter(p=>!l||[p.key,p.content_preview,p.source].some(h=>u(h).toLowerCase().includes(l.toLowerCase()))).filter(p=>!r||u(p.category)===r).filter(p=>!o||u(p.governance_status)===o||u(p.status)===o).filter(p=>!d||Jm(p).includes(d)||u(p.memory_id)===d)}async function Uj(e,a){var g;const l=u(e.action)||"mark_reviewed";if(!["archive","restore","mark_reviewed"].includes(l))return{ok:!1,action:l,total:0,recorded:0,rejected:0,items:[],reason_codes:["invalid_memory_governance_action"]};const r=Le([...we(e.memory_ids),...we(e.memoryIds)]).slice(0,100);if(r.length===0)return{ok:!1,action:l,total:0,recorded:0,rejected:0,items:[],reason_codes:["memory_ids_required"]};const o=new Set((((g=a==null?void 0:a.runtime)==null?void 0:g.memories)??[]).map(x=>x.id)),d=(a==null?void 0:a.uiState)??await yn()??Nt();d.memoryGovernanceById=d.memoryGovernanceById??{};const p=new Date().toISOString(),h=r.map(x=>{var S,C,z,w;return o.has(x)?(d.memoryGovernanceById[x]={governance_status:l==="archive"?"archived":l==="restore"?"active":((C=(S=d.memoryGovernanceById)==null?void 0:S[x])==null?void 0:C.governance_status)??"reviewed",last_governance_action:l,last_reviewed_at:l==="mark_reviewed"?p:((w=(z=d.memoryGovernanceById)==null?void 0:z[x])==null?void 0:w.last_reviewed_at)??null,actor:u(e.actor)||"digital_employee_operator",reason:u(e.reason)||null,updated_at:p},{memory_id:x,ok:!0,status:"recorded",action:l}):{memory_id:x,ok:!1,status:"rejected",reason_codes:["memory_not_found"]}});await Gn(d,"memory_governance_status_batch",ac(),{action:l,memory_ids:r,reason:u(e.reason)||null});const _=h.filter(x=>x.ok===!0).length;return{ok:_>0,action:l,total:r.length,recorded:_,rejected:r.length-_,items:h,reason_codes:Le(h.flatMap(x=>we(x.reason_codes)))}}function Gf(e){return`${e.category||"fact"}:${e.key||"memory"}:${Bb(e.content).toLowerCase()}`}function Bb(e){return String(e||"").replace(/\s+/g," ").trim().slice(0,120)}function Ij(e){var a;return((a=e.slice().sort((l,r)=>u(r.updatedAt).localeCompare(u(l.updatedAt)))[0])==null?void 0:a.id)??null}function nd(){return{enabled:!0,catch_up_on_startup:!0,max_run_history:100,max_catch_up_runs:5,max_concurrent_schedule_runs:1}}async function Hj(e,a){const l=Date.now(),r=je(e.id)||je(e.schedule_id)||`cron-${mt(je(e.name)||"job")}-${l}`;await Kl({command_kind:"create_schedule",context_refs:{schedule_id:r,plan_id:je(e.plan_id)||je(e.template_id)||void 0},payload:{...e,schedule_id:r,cron_expr:je(e.schedule)||je(e.cron_expr)},correlation_id:`qimingclaw-cron-create-${l}`,idempotency_key:`qimingclaw-cron-create-${r}-${l}`},a);const o=await fe();return{status:"created",job:ld(o).find(d=>d.id===r)??Ib(r,e)}}async function Gj(e,a,l){await Ub("update_schedule",e,a,l);const r=await fe();return{status:"updated",job:ld(r).find(o=>o.id===e)??Ib(e,a)}}async function Ub(e,a,l,r){const o=Date.now();return Kl({command_kind:e,context_refs:{schedule_id:a,plan_id:je(l.plan_id)||je(l.template_id)||void 0},payload:{...l,schedule_id:a,cron_expr:je(l.schedule)||je(l.cron_expr)},correlation_id:`qimingclaw-cron-${e}-${o}`,idempotency_key:`qimingclaw-cron-${e}-${a}-${o}`},r)}function Ib(e,a){const l=new Date().toISOString(),r=je(a.schedule)||je(a.cron_expr)||"0 9 * * *";return{id:e,name:je(a.name)||e,expression:r,command:je(a.command)||`digital-employee:${e}`,prompt:je(a.prompt)||null,job_type:je(a.job_type)||"qimingclaw_schedule",schedule:{expression:r,schedule_id:e},enabled:a.enabled!==!1,delivery:{mode:"qimingclaw_schedule",schedule_id:e},template_id:je(a.template_id)||je(a.plan_id)||e,trigger_kind:"scheduled",delete_after_run:a.delete_after_run===!0,created_at:l,next_run:l,last_run:null,last_status:null,last_output:null}}async function Yj(e,a){var r,o,d;return(await((d=(o=(r=window.QimingClawBridge)==null?void 0:r.digital)==null?void 0:o.getScheduleRuns)==null?void 0:d.call(o,e,a).catch(()=>[]))??[]).map((p,h)=>({id:Number.isFinite(Date.parse(p.createdAt))?Date.parse(p.createdAt)+h:h+1,job_id:p.scheduleId,started_at:p.startedAt||p.createdAt,finished_at:p.finishedAt||"",status:p.status,output:p.error||null,duration_ms:p.startedAt&&p.finishedAt?Math.max(0,Date.parse(p.finishedAt)-Date.parse(p.startedAt)):null}))}function an(e){return typeof e!="string"||!e.trim()?{}:JSON.parse(e)}function Qt(e){return an(e)}function ac(){const e=new Date;return[e.getFullYear(),String(e.getMonth()+1).padStart(2,"0"),String(e.getDate()).padStart(2,"0")].join("-")}function Pa(e,a){const l=new Date;return l.setHours(e,a,0,0),l.toISOString()}function Vo(e){return e.split("-").join("/")}function ad(e){if(!e)return"未知";const a=new Date(e);return Number.isNaN(a.getTime())?e:new Intl.DateTimeFormat("zh-CN",{hour:"2-digit",minute:"2-digit"}).format(a)}function Hb(e,a){return new Set(e.selectedDutyIdsByDate[a]??[])}function Gb(e){return["completed","succeeded","success"].includes(e)?"success":["running","active"].includes(e)?"running":["failed","error"].includes(e)?"danger":"waiting"}function Br(e,a){var l;return((l=e==null?void 0:e.services[a])==null?void 0:l.running)===!0}function Ur(e,a){var l;return(l=e==null?void 0:e.services[a])==null?void 0:l.error}function Kj(e,a){return a?e.plan_id==="qimingclaw-client-readiness"?Br(a,"agent")&&Br(a,"mcp")?"running":Ur(a,"agent")||Ur(a,"mcp")?"failed":"pending":e.plan_id==="qimingclaw-remote-task-ingress"?Br(a,"computerServer")||Br(a,"lanproxy")||Br(a,"fileServer")?"running":Ur(a,"computerServer")||Ur(a,"lanproxy")||Ur(a,"fileServer")?"failed":"pending":e.status:e.status}function Ol(e,a,l){const r=e==null?void 0:e.services[a];if(!r)return`${l}:未连接`;if(r.running){const o=r.port?`(端口 ${r.port}`:"";return`${l}:运行中${o}`}return`${l}:未运行${r.error?`${r.error}`:""}`}function Ll(e){const a=(e==null?void 0:e.managedServices)??[];return a.length>0?a.map(l=>({service_id:l.serviceId,name:l.name,kind:l.kind,status:l.status,status_label:l.statusLabel,running:l.running,error:l.error??null,requires_human_action:l.requiresHumanAction,dependent_tasks:l.dependentTasks??[],restart_count:l.restartCount??0,last_seen_at:l.lastSeenAt,instance:l.instance,lease:l.lease})):[ys(e,"agent","Agent","agent",["ACP 会话执行","Plan Agent"]),ys(e,"mcp","MCP Proxy","mcp",["Skill Catalog","MCP 工具调用"]),ys(e,"computerServer","Computer Server","desktop",["/computer/chat","远程任务接入"]),ys(e,"fileServer","File Server","file",["Artifact 上传","文件交付"]),ys(e,"lanproxy","Lanproxy","network",["远程访问","管理端回连"]),ys(e,"guiServer","GUI Agent Server","gui",["GUI 自动化"])]}function ys(e,a,l,r,o){const d=e==null?void 0:e.services[a],p=(d==null?void 0:d.running)===!0,h=d!=null&&d.error?"degraded":p?"running":"stopped";return{service_id:a,name:l,kind:r,status:h,status_label:h==="running"?"运行中":h==="degraded"?"异常":"未运行",running:p,error:(d==null?void 0:d.error)??null,requires_human_action:!!(d!=null&&d.error),dependent_tasks:o,restart_count:0,last_seen_at:(e==null?void 0:e.generatedAt)??new Date().toISOString(),instance:d?{port:d.port,engineType:d.engineType,serverCount:d.serverCount,serverNames:d.serverNames}:void 0,lease:{state:h==="running"?"active":h,updatedAt:(e==null?void 0:e.generatedAt)??new Date().toISOString()}}}function Qj(e){const a=e.dependent_tasks.length>0?`;依赖任务:${e.dependent_tasks.slice(0,2).join("、")}`:"";return`${e.name}${e.status_label}${e.error?`${e.error}`:""}${a}`}function ey(e){const a=e.filter(r=>r.running).length,l=e.filter(r=>r.requires_human_action||r.status==="degraded").length;return`ManagedService${a}/${e.length} 运行,${l} 项需处理`}async function Yb(e,a){var d;const l=await Il({actionKind:`managed_service.restart.${e}`,actionLabel:`重启服务:${e}`,riskLevel:"high",reasonCodes:["managed_service_restart"],actor:u(a.actor)||"digital_employee_ui",source:"sgrobot-digital-adapter",correlationId:`managed-service:${e}:restart`,payload:{service_id:e,reason:u(a.reason)||null}}),r=Hl(l);if(r){const p=await fe();return{ok:!1,service_id:e,action:"restart",status:r.status==="approval_required"?"rejected":"failed",error:String(r.error||r.status||"risk_policy_blocked"),managed_service:Ll(p).find(h=>h.service_id===e)??null,event_id:u(r.event_id)||null}}const o=(d=window.QimingClawBridge)==null?void 0:d.digital;if(!(o!=null&&o.restartManagedService)){const p=await fe();return{ok:!1,service_id:e,action:"restart",status:"failed",error:"bridge_unavailable",managed_service:Ll(p).find(h=>h.service_id===e)??null}}try{const p=await o.restartManagedService(e,{reason:u(a.reason)||"digital_employee_managed_service_restart",actor:u(a.actor)||"digital_employee_ui"}),h=await fe();return{...p,managed_service:p.managed_service??Ll(h).find(_=>_.service_id===e)??null}}catch(p){const h=await fe();return{ok:!1,service_id:e,action:"restart",status:"failed",error:p instanceof Error?p.message:String(p),managed_service:Ll(h).find(_=>_.service_id===e)??null}}}async function Vj(e,a){var p;const l=(p=window.QimingClawBridge)==null?void 0:p.digital,r=Xj(u(a.action)),o=await Il({actionKind:`artifact.access.${r}`,actionLabel:`访问产物:${r}`,riskLevel:r==="download"||r==="open_location"?"high":"medium",reasonCodes:["artifact_access"],actor:u(a.actor)||"digital_employee_ui",source:"sgrobot-digital-adapter",correlationId:`artifact:${e}:${r}`,payload:{artifact_id:e,action:r}}),d=Hl(o);if(d)return{ok:!1,artifact_id:e,action:r,status:"rejected",error:String(d.error||d.status||"risk_policy_blocked"),reason_codes:Array.isArray(d.reason_codes)?d.reason_codes.map(String):["risk_policy_blocked"],event_id:u(d.event_id)||null};if(!(l!=null&&l.accessArtifact))return{ok:!1,artifact_id:e,action:r,status:"rejected",error:"bridge_unavailable",reason_codes:["bridge_unavailable"]};try{return await l.accessArtifact(e,r,{actor:u(a.actor)||"digital_employee_ui",source:u(a.source)||"sgrobot-digital-adapter"})}catch(h){return{ok:!1,artifact_id:e,action:r,status:"rejected",error:h instanceof Error?h.message:String(h),reason_codes:["artifact_access_failed"]}}}function Xj(e){return e==="download"||e==="open_location"?e:"preview"}async function Kb(e,a,l){var g;const r=(g=window.QimingClawBridge)==null?void 0:g.digital,o=u(a.action)||"mark_review",d=Qm(l,e),p=await Il({actionKind:`artifact.retention.${o}`,actionLabel:`调整产物保留策略:${o}`,riskLevel:o==="mark_expire"||o==="clear_retention"?"high":"medium",reasonCodes:["artifact_retention"],actor:u(a.actor)||"digital_employee_ui",source:"sgrobot-digital-adapter",planId:d&&u(d.plan_id)||null,taskId:d&&u(d.task_id)||null,runId:d&&u(d.run_id)||null,correlationId:`artifact:${e}:retention:${o}`,payload:{artifact_id:e,action:o}}),h=Hl(p);if(h)return{...h,artifact_id:e,action:o,item:d};if(!(r!=null&&r.recordArtifactLifecycle))return{ok:!1,artifact_id:e,action:o,status:"rejected",error:"bridge_unavailable"};const _=await r.recordArtifactLifecycle({artifactId:e,action:o,reason:u(a.reason)||null,retentionUntil:u(a.retention_until??a.retentionUntil)||null,versionSummary:d?W1(d):null,retentionSummary:d?F1(d,o,a):null,deliverySummary:d?Sd(d):null,actor:u(a.actor)||"digital_employee_ui",source:u(a.source)||"sgrobot-digital-adapter",planId:d&&u(d.plan_id)||null,taskId:d&&u(d.task_id)||null,runId:d&&u(d.run_id)||null});return{ok:!!(_&&_.kind!=="artifact_retention_rejected"),artifact_id:e,action:o,status:(_==null?void 0:_.kind)==="artifact_retention_rejected"?"rejected":"recorded",event_id:(_==null?void 0:_.eventId)??null,item:d}}async function Zj(e,a){const l=u(e.action)||"mark_review";if(!["mark_keep","mark_expire","mark_review","clear_retention"].includes(l))return{ok:!1,action:l,total:0,recorded:0,rejected:0,items:[],reason_codes:["invalid_retention_action"]};const r=Le([...we(e.artifact_ids),...we(e.artifactIds)]).slice(0,50);if(r.length===0)return{ok:!1,action:l,total:0,recorded:0,rejected:0,items:[],reason_codes:["artifact_ids_required"]};const o={action:l,reason:u(e.reason)||"digital_employee_artifact_batch_governance",retention_until:u(e.retention_until??e.retentionUntil)||null,actor:u(e.actor)||"digital_employee_ui",source:u(e.source)||"sgrobot-digital-adapter"},d=[];for(const _ of r){const g=await Kb(_,o,a);d.push({artifact_id:_,ok:g.ok===!0,status:u(g.status)||(g.ok===!0?"recorded":"rejected"),event_id:u(g.event_id)||null,error:u(g.error)||null,reason_codes:we(g.reason_codes).map(u).filter(Boolean)})}const p=d.filter(_=>_.ok===!0).length,h=Le(d.flatMap(_=>we(_.reason_codes)));return{ok:p>0,action:l,total:r.length,recorded:p,rejected:r.length-p,items:d,reason_codes:h}}async function Jj(e,a,l){var h;const r=(h=window.QimingClawBridge)==null?void 0:h.digital,o=Qm(l,e),d=await Il({actionKind:"artifact.cleanup.delete_local_file",actionLabel:"清理产物本地文件",riskLevel:"high",reasonCodes:["artifact_cleanup"],actor:u(a.actor)||"digital_employee_ui",source:"sgrobot-digital-adapter",planId:o&&u(o.plan_id)||null,taskId:o&&u(o.task_id)||null,runId:o&&u(o.run_id)||null,correlationId:`artifact:${e}:cleanup`,payload:{artifact_id:e,retention_status:u(o==null?void 0:o.retention_status)||null}}),p=Hl(d);if(p)return{...p,artifact_id:e,status:"rejected",item:o};if(!(r!=null&&r.cleanupArtifact))return{ok:!1,artifact_id:e,status:"rejected",error:"bridge_unavailable",reason_codes:["bridge_unavailable"],item:o};try{return{...await r.cleanupArtifact(e,{actor:u(a.actor)||"digital_employee_ui",source:u(a.source)||"sgrobot-digital-adapter",reason:u(a.reason)||"digital_employee_artifact_cleanup",retentionStatus:u(a.retention_status??a.retentionStatus)||u(o==null?void 0:o.retention_status)||null,lastRetentionAction:u(a.last_retention_action??a.lastRetentionAction)||u(o==null?void 0:o.last_retention_action)||null}),item:o}}catch(_){return{ok:!1,artifact_id:e,status:"failed",error:_ instanceof Error?_.message:String(_),reason_codes:["artifact_cleanup_failed"],item:o}}}async function Fj(e,a,l){var g;const r=(g=window.QimingClawBridge)==null?void 0:g.digital,o=u(a.action)||"comment",d=sv(l,e),p=await Il({actionKind:`approval.action.${o}`,actionLabel:`审批治理动作:${o}`,riskLevel:o==="mark_risk"||o==="delegate"||o==="mark_timeout"?"medium":"normal",reasonCodes:["approval_action"],actor:u(a.actor)||"digital_employee_ui",source:"sgrobot-digital-adapter",planId:d&&u(d.plan_id)||null,taskId:d&&u(d.task_id)||null,runId:d&&u(d.run_id)||null,correlationId:`approval:${e}:action:${o}`,payload:{approval_id:e,action:o}}),h=Hl(p);if(h)return{...h,approval_id:e,action:o,item:d};if(!(r!=null&&r.recordApprovalAction))return{ok:!1,approval_id:e,action:o,status:"rejected",error:"bridge_unavailable"};const _=await r.recordApprovalAction({approvalId:e,action:o,comment:u(a.comment)||null,delegateTo:u(a.delegate_to??a.delegateTo)||null,delegateLabel:u(a.delegate_label??a.delegateLabel)||null,dueAt:u(a.due_at??a.dueAt)||null,riskLevel:u(a.risk_level??a.riskLevel)||null,reason:u(a.reason)||null,actor:u(a.actor)||"digital_employee_ui",source:u(a.source)||"sgrobot-digital-adapter",planId:d&&u(d.plan_id)||null,taskId:d&&u(d.task_id)||null,runId:d&&u(d.run_id)||null});return{ok:!!(_&&_.kind!=="approval_action_rejected"),approval_id:e,action:o,status:(_==null?void 0:_.kind)==="approval_action_rejected"?"rejected":"recorded",event_id:(_==null?void 0:_.eventId)??null,item:d}}async function Qb(e,a,l){var g;const r=(g=window.QimingClawBridge)==null?void 0:g.digital,o=u(a.resolution)||"mark_reviewed",d=sv(l,e),p=await Il({actionKind:`approval.conflict.resolve.${o}`,actionLabel:`审批冲突裁决:${o}`,riskLevel:o==="accept_remote"?"medium":"normal",reasonCodes:["approval_conflict_resolution"],actor:u(a.actor)||"digital_employee_ui",source:"sgrobot-digital-adapter",planId:d&&u(d.plan_id)||null,taskId:d&&u(d.task_id)||null,runId:d&&u(d.run_id)||null,correlationId:`approval:${e}:conflict:${o}`,payload:{approval_id:e,resolution:o}}),h=Hl(p);if(h)return{...h,approval_id:e,resolution:o,item:d};if(!(r!=null&&r.resolveApprovalConflict))return{ok:!1,approval_id:e,resolution:o,status:"rejected",error:"bridge_unavailable",reason_codes:["bridge_unavailable"],item:d};const _=await r.resolveApprovalConflict({approvalId:e,resolution:o,actor:u(a.actor)||"digital_employee_ui",comment:u(a.comment)||null});return{..._,ok:(_==null?void 0:_.ok)===!0,approval_id:(_==null?void 0:_.approval_id)||e,resolution:(_==null?void 0:_.resolution)??o,item:d}}async function Pj(e,a){const l=u(e.resolution)||"mark_reviewed";if(l==="accept_remote")return{ok:!1,resolution:l,total:0,recorded:0,rejected:0,items:[],reason_codes:["batch_accept_remote_disabled"]};if(!["keep_local","mark_reviewed"].includes(l))return{ok:!1,resolution:l,total:0,recorded:0,rejected:0,items:[],reason_codes:["invalid_resolution"]};const r=Le([...we(e.approval_ids),...we(e.approvalIds)]).slice(0,50);if(r.length===0)return{ok:!1,resolution:l,total:0,recorded:0,rejected:0,items:[],reason_codes:["approval_ids_required"]};const o=[];for(const p of r){const h=await Qb(p,{resolution:l,actor:u(e.actor)||"digital_employee_operator",comment:u(e.comment)||null},a);o.push({approval_id:p,ok:h.ok===!0,status:u(h.status)||(h.ok===!0?"recorded":"rejected"),event_id:u(h.event_id)||null,error:u(h.error)||null,reason_codes:we(h.reason_codes).map(u).filter(Boolean)})}const d=o.filter(p=>p.ok===!0).length;return{ok:d>0,resolution:l,total:r.length,recorded:d,rejected:r.length-d,items:o,reason_codes:Le(o.flatMap(p=>we(p.reason_codes)))}}function hd(e){const a=e==null?void 0:e.sync;return a?a.enabled?a.endpoint?a.syncing?`管理端同步:同步中,待同步 ${a.pending}`:a.failed>0?`管理端同步:${a.failed} 条失败,待同步 ${a.pending}`:a.pending>0?`管理端同步:待同步 ${a.pending}`:a.lastSyncAt?`管理端同步:已同步,最近 ${a.lastSyncAt}`:"管理端同步:等待本地数据":"管理端同步:未配置地址":"管理端同步:已停用":"管理端同步:未连接"}function Wj(e){return String(e||"").replace(/\s+/g," ").trim()}function In(e){var a;return((a=e==null?void 0:e.runtime)==null?void 0:a.plans)??[]}function ji(e){var a;return((a=e==null?void 0:e.runtime)==null?void 0:a.planSteps)??[]}function Ct(e){var a;return((a=e==null?void 0:e.runtime)==null?void 0:a.tasks)??[]}function Hn(e){var a;return((a=e==null?void 0:e.runtime)==null?void 0:a.runs)??[]}function rt(e){var a;return((a=e==null?void 0:e.runtime)==null?void 0:a.events)??[]}function gd(e){var a;return((a=e==null?void 0:e.runtime)==null?void 0:a.artifacts)??[]}function lc(e){var a;return((a=e==null?void 0:e.runtime)==null?void 0:a.approvals)??[]}function Gl(e){return In(e).length>0||ji(e).length>0||Ct(e).length>0||gd(e).length>0||lc(e).length>0}function Um(e,a){const l=[e.updatedAt,...a.map(r=>r.updatedAt)].filter(Boolean).sort();return l[l.length-1]??e.updatedAt??e.createdAt}function ot(e){const a=e.toLowerCase();return["completed","succeeded","success","done"].includes(a)?"success":["failed","error","rejected","cancelled"].includes(a)?"danger":["running","active","leased","syncing"].includes(a)?"running":"waiting"}function la(e){const a=e.toLowerCase();if(a==="ready")return"待启动";if(a==="blocked")return"依赖阻塞";if(a==="skipped")return"已跳过";if(a==="cancelled")return"已取消";if(a==="paused")return"已暂停";const l=ot(e);return l==="success"?"已完成":l==="danger"?"异常":l==="running"?"执行中":"待执行"}function ic(e,a){return Ct(e).filter(l=>l.planId===a)}function Vb(e,a){return ji(e).filter(l=>l.planId===a).sort((l,r)=>l.seq-r.seq||l.createdAt.localeCompare(r.createdAt))}function al(e){const a=oe(e.payload);return u((a==null?void 0:a.stepId)??(a==null?void 0:a.step_id))||(e.planId?`${e.planId}:runtime`:"qimingclaw-runtime")}function yd(e,a){return a.some(l=>ot(l.status)==="danger")?"failed":a.some(l=>ot(l.status)==="running")?"running":a.length>0&&a.every(l=>ot(l.status)==="success")?"completed":e.status||"pending"}function e1(e){return In(e).map(a=>{const l=ic(e,a.id),r=yd(a,l),o=Gb(r),d=l.filter(h=>ot(h.status)==="danger").length,p=l.filter(h=>ot(h.status)==="running").length;return{agent_id:`plan-agent-${mt(a.id)}`,plan_id:a.id,title:a.title,lifecycle:r,status_label:Zb(r),status_tone:o,managed_task_count:l.length,running_task_count:p,failed_task_count:d,next_action:d>0?"review_failures":p>0?"monitor_runs":o==="success"?"archive_results":"activate_plan",can_replan:d>0,can_pause:p>0,can_resume:r==="paused",updated_at:Um(a,l)}})}function t1(e){const a=Hn(e);return Ct(e).map(l=>{const r=bd(a,l.id),o=ot(l.status),d=l.status.toLowerCase(),p=al(l);return{agent_id:`task-agent-${mt(l.id)}`,task_id:l.id,plan_id:l.planId??null,step_id:p,title:l.title,execution_state:l.status,status_label:la(l.status),status_tone:o,assigned_skill_id:l.assignedSkillId??null,latest_run_id:(r==null?void 0:r.id)??null,can_retry:["failed","cancelled","skipped"].includes(d),can_skip:["pending","running"].includes(d),can_cancel:["pending","running","paused"].includes(d),next_action:n1(d,o),updated_at:(r==null?void 0:r.updatedAt)??l.updatedAt}})}function n1(e,a){return["failed","cancelled","skipped"].includes(e)?"retry_or_review":e==="paused"?"resume_or_cancel":a==="running"?"watch_progress":a==="success"?"collect_artifacts":"start_run"}function bd(e,a){return e.filter(r=>r.taskId===a).sort((r,o)=>(o.updatedAt||o.createdAt).localeCompare(r.updatedAt||r.createdAt))[0]??null}function a1(e,a){const l=ic(a,e.id),r=Vb(a,e.id),o=yd(e,l),d=new Set(r.map(_=>_.id)),p=l.filter(_=>!d.has(al(_))),h=r.length>0?[...r.map(_=>Xb(_,l)),...p.length>0?[ty(e.id,p)]:[]]:[ty(e.id,l)];return{plan_id:e.id,title:e.title,objective:e.objective??void 0,status:o,created_at:e.createdAt,updated_at:Um(e,l),source:e.source,sync_status:e.syncStatus,steps:h}}function Xb(e,a){return{step_id:e.id,title:e.title,depends_on:e.dependsOn,preferred_skills:e.preferredSkillIds,tasks:a.filter(l=>al(l)===e.id).map(l=>({task_id:l.id,title:l.title,status:l.status}))}}function ty(e,a){return{step_id:`${e}:runtime`,title:"qimingclaw 执行记录",depends_on:[],preferred_skills:[...new Set(a.map(l=>l.assignedSkillId).filter(l=>!!l))],tasks:a.map(l=>({task_id:l.id,title:l.title,status:l.status}))}}function l1(e){return{task_id:e.id,title:e.title,status:e.status,plan_id:e.planId??null,step_id:al(e),assigned_skill_id:e.assignedSkillId??"",description:e.syncError??"",created_at:e.createdAt,updated_at:e.updatedAt,started_at:e.createdAt,finished_at:ot(e.status)==="success"||ot(e.status)==="danger"?e.updatedAt:null,error_message:e.syncError??null,sync_status:e.syncStatus}}function i1(e,a){return{run_id:e.id,task_id:e.taskId??"",plan_id:e.planId??null,skill_id:void 0,attempt_no:1,lifecycle:ot(e.status)==="success"?"Succeeded":ot(e.status)==="danger"?"Failed":ot(e.status)==="running"?"Running":e.status,created_at:e.startedAt??e.createdAt,completed_at:e.finishedAt??null,events:a.filter(l=>l.runId===e.id).map(l=>({event_id:l.id,kind:l.kind,occurred_at:l.occurredAt,message:l.message})),artifacts:Ev(e,a),sync_status:e.syncStatus}}function sc(e){const a=Wj(e.error),l=a.length>120?`${a.slice(0,120)}...`:a,r=e.dueForRetry?"等待补偿":e.nextRetryAt?`下次重试 ${e.nextRetryAt}`:"等待重试";return`${e.entityType}/${e.operation} ${e.id} 重试 ${e.attempts} 次,${r}${l?`${l}`:""}`}function rc(e,a){return{...e,status:Kj(e,a)}}function Zb(e){return e==="running"?"执行中":e==="completed"||e==="succeeded"?"已完成":e==="failed"?"异常":"待执行"}function Im(e){const a=In(e);if(a.length>0)return a.map(r=>a1(r,e));const l=Ct(e);return l.length===0?[]:l.map(r=>({plan_id:r.id,title:r.title,objective:"未绑定 Plan 的 qimingclaw 本地任务记录。",status:r.status,created_at:r.createdAt,updated_at:r.updatedAt,source:"qimingclaw",sync_status:r.syncStatus,steps:[{step_id:`${r.id}:runtime`,title:"qimingclaw 执行记录",depends_on:[],preferred_skills:r.assignedSkillId?[r.assignedSkillId]:[],tasks:[{task_id:r.id,title:r.title,status:r.status}]}]}))}function nl(e){const a=(e==null?void 0:e.planTemplates)??[],l=new Map;for(const r of[...a,...yj])l.has(r.plan_id)||l.set(r.plan_id,r);return Array.from(l.values())}function Hm(e){const a=new Map;for(const l of[...Im(e),...nl(e).map(r=>rc(r,e))])a.has(l.plan_id)||a.set(l.plan_id,l);return Array.from(a.values())}function s1(e,a){var o;const l=rc(e,a),r=td[e.plan_id]??td["qimingclaw-client-readiness"];return{id:`schedule-${e.plan_id}`,name:e.title,expression:r.expression,command:`digital-employee:${e.plan_id}`,prompt:e.objective??null,job_type:"plan_template",schedule:{expression:r.expression,template_id:e.plan_id},enabled:!0,delivery:{mode:"plan_template",template_id:e.plan_id},template_id:e.plan_id,trigger_kind:"scheduled",step_count:((o=e.steps)==null?void 0:o.length)??0,skill_ids:[...new Set((e.steps??[]).flatMap(d=>d.preferred_skills??[]))],delete_after_run:!1,created_at:e.created_at,next_run:r.nextRun,last_run:l.status==="running"?Pa(9,5):null,last_status:l.status==="running"?"running":null,last_output:null}}function r1(e,a){var d,p;const l=e.planId?Hm(a).find(h=>h.plan_id===e.planId):null,o=(((d=a==null?void 0:a.runtime)==null?void 0:d.scheduleRuns)??[]).find(h=>h.scheduleId===e.id);return{id:e.id,name:e.name,expression:e.cronExpr,command:e.command||`digital-employee:${e.planId||e.id}`,prompt:e.prompt??e.description??null,job_type:"qimingclaw_schedule",schedule:{mode:"qimingclaw_schedule",schedule_id:e.id,plan_id:e.planId,expression:e.cronExpr,timezone:e.timezone,status:e.status,failure_count:e.failureCount,last_error:e.lastError},enabled:e.enabled&&e.status==="enabled"&&!e.deletedAt,delivery:{mode:"qimingclaw_schedule",schedule_id:e.id,plan_id:e.planId},template_id:e.planId??e.id,trigger_kind:"scheduled",step_count:((p=l==null?void 0:l.steps)==null?void 0:p.length)??0,skill_ids:[...new Set(((l==null?void 0:l.steps)??[]).flatMap(h=>h.preferred_skills??[]))],delete_after_run:!1,created_at:e.createdAt,next_run:e.nextRunAt||e.updatedAt,last_run:e.lastRunAt??(o==null?void 0:o.finishedAt)??(o==null?void 0:o.startedAt)??null,last_status:(o==null?void 0:o.status)??(e.lastError?"failed":null),last_output:(o==null?void 0:o.error)??e.lastError??null}}function ld(e=null){var r;const a=(((r=e==null?void 0:e.runtime)==null?void 0:r.schedules)??[]).filter(o=>o.status!=="deleted").map(o=>r1(o,e)),l=nl(e).map(o=>s1(o,e));if(a.length>0){const o=new Set(a.map(d=>d.template_id));return[...a,...l.filter(d=>!o.has(d.template_id))]}if(Gl(e)){const o=Im(e).map(p=>{var h;return{id:`runtime-${p.plan_id}`,name:p.title,expression:"",command:`qimingclaw-runtime:${p.plan_id}`,prompt:p.objective??null,job_type:"qimingclaw_runtime",schedule:{mode:"runtime_record",plan_id:p.plan_id},enabled:!0,delivery:{mode:"qimingclaw_runtime",plan_id:p.plan_id},template_id:p.plan_id,trigger_kind:"runtime_record",step_count:((h=p.steps)==null?void 0:h.length)??0,skill_ids:[...new Set((p.steps??[]).flatMap(_=>_.preferred_skills??[]))],delete_after_run:!1,created_at:p.created_at,next_run:p.updated_at??p.created_at,last_run:p.updated_at??p.created_at,last_status:p.status,last_output:null}}),d=new Set(o.map(p=>p.template_id));return[...o,...l.filter(p=>!d.has(p.template_id))]}return l}function c1(e,a,l){const r=Hb(e,a);if(Gl(l)){const o=In(l),d=Ct(l).filter(g=>!g.planId),p=o.map((g,x)=>{const S=ic(l,g.id),C=yd(g,S),z=S.filter(N=>ot(N.status)==="success").length,w=S.filter(N=>ot(N.status)==="danger").length,D=r.size===0?x<3:r.has(g.id);return{id:g.id,title:g.title,summary:g.objective||"qimingclaw 本地执行记录已同步到数字员工。",implemented:!0,selectable:!0,selected:D,status:C,status_label:la(C),status_tone:ot(C),schedule_text:S.length>0?`最近更新 ${ad(Um(g,S))}`:"等待任务记录",result_text:S.length>0?`${S.length} 项任务,${z} 项完成,${w} 项异常`:`同步状态:${g.syncStatus}`,conversation_id:g.id}}),h=d.map((g,x)=>({id:g.id,title:g.title,summary:"未绑定 Plan 的 qimingclaw 本地任务记录。",implemented:!0,selectable:!0,selected:r.size===0?p.length+x<3:r.has(g.id),status:g.status,status_label:la(g.status),status_tone:ot(g.status),schedule_text:`最近更新 ${ad(g.updatedAt)}`,result_text:g.syncError||`同步状态:${g.syncStatus}`,conversation_id:g.id})),_=new Set([...p,...h].map(g=>g.id));return[...p,...h,...ny(e,a,l).filter(g=>!_.has(g.id))]}return ny(e,a,l)}function ny(e,a,l){const r=Hb(e,a);return nl(l).map(o=>{const d=rc(o,l),p=td[d.plan_id]??td["qimingclaw-client-readiness"];return{id:d.plan_id,title:d.title,summary:d.objective??"等待 qimingclaw 执行链路补充任务说明。",implemented:!0,selectable:!0,selected:r.has(d.plan_id),status:d.status,status_label:Zb(d.status),status_tone:Gb(d.status),schedule_text:p.scheduleText,result_text:Jb(d,l),conversation_id:d.plan_id}})}function Jb(e,a){return e.plan_id==="qimingclaw-client-readiness"?[Ol(a,"agent","Agent"),Ol(a,"mcp","MCP"),`活跃会话:${(a==null?void 0:a.sessions.active)??0}`].join(""):e.plan_id==="qimingclaw-remote-task-ingress"?[Ol(a,"computerServer","Computer Server"),Ol(a,"lanproxy","Lanproxy"),Ol(a,"fileServer","File Server")].join(""):e.status==="running"?"正在同步客户端运行状态":"等待任务执行"}function ll(e,a=null){const l=nl(a).filter(r=>!e||r.plan_id===e).map(r=>rc(r,a)).flatMap(o1);if(Gl(a)){const r=Ct(a).filter(d=>!e||d.planId===e||d.id===e).map(l1),o=new Set(r.map(d=>d.task_id));return[...r,...l.filter(d=>!o.has(d.task_id))]}return l}function o1(e){return(e.steps??[]).flatMap(a=>(a.tasks??[]).map(l=>{var r;return{task_id:l.task_id,title:l.title,status:e.status==="running"&&l.status==="pending"?"running":l.status,plan_id:e.plan_id,step_id:a.step_id,assigned_skill_id:((r=a.preferred_skills)==null?void 0:r[0])??"",description:`${e.title} · ${a.title}`,created_at:e.created_at,updated_at:e.status==="running"?new Date().toISOString():e.created_at,started_at:l.status==="running"?Pa(9,5):null,finished_at:l.status==="completed"?Pa(9,10):null}}))}function d1(e){return e.filter(a=>a.status==="running"||a.status==="completed").map((a,l)=>({run_id:`qimingclaw-run-${l+1}`,task_id:a.task_id,plan_id:a.plan_id,skill_id:a.assigned_skill_id,attempt_no:1,lifecycle:a.status==="running"?"Running":"Succeeded",created_at:a.started_at??a.created_at,completed_at:a.finished_at,events:[{event_id:`${a.task_id}-event-start`,kind:"RunStarted",occurred_at:a.started_at??a.created_at,message:`${a.title} 已进入 qimingclaw 执行链路`}]}))}function Rs(e,a=null){const l=ll(e,a);if(Gl(a)){const r=new Set(l.map(d=>d.task_id)),o=Hn(a).filter(d=>!d.taskId||r.has(d.taskId)).map(d=>i1(d,rt(a)));return{tasks:l,runs:o,total:l.length,truncated:!1}}return{tasks:l,runs:d1(l),total:l.length,truncated:!1}}function u1(e){const a=Pm(null,e),l=ll(null,e),r=Rs(null,e).runs,o=ji(e);return{tables:{canonical_events:Fm(e,l,r),tasks:l,runs:r,plans:a,plan_steps:o.length>0?o.map(d=>Xb(d,Ct(e))):a.flatMap(d=>d.steps??[]),approvals:Yl(e),artifacts:wi(e)}}}function f1(e){const a=ll(null,e),l=a.filter(h=>ot(h.status)==="waiting").length,r=a.filter(h=>ot(h.status)==="running").length,o=a.filter(h=>ot(h.status)==="success").length,d=a.filter(h=>ot(h.status)==="danger").length,p=Yl(e);return{runtime:{active_tasks:r,failed_tasks:d,pending_confirmations:p.filter(h=>h.status==="pending").length},tasks:{total:a.length,queued:l,running:r,succeeded:o,failed:d},approvals:{total:p.length,pending:p.filter(h=>h.status==="pending").length}}}function vd(e){var g;const a=new Date().toISOString(),l=Ll(e),r=ll(null,e),o=Yl(e),d=rt(e).filter(x=>/fail|error|reject|cancel/i.test(`${x.kind} ${x.message}`)),p=l.map(x=>({id:`service:${x.service_id}`,severity:x.requires_human_action||x.status==="stopped"?"error":x.status==="degraded"?"warn":"ok",category:"service",message:`${x.name}${x.status_label||x.status}`,details:_n({error:x.error,kind:x.kind,running:x.running,dependent_tasks:x.dependent_tasks}),source:"qimingclaw-managed-service",created_at:x.last_seen_at||a})),h=e==null?void 0:e.sync;p.push({id:"sync:management",severity:m1(h??null),category:"sync",message:hd(e),details:h?_n({pending:h.pending,failed:h.failed,endpoint:h.endpoint,missing_credentials:h.missingCredentials,last_error:h.lastSyncError}):null,source:"qimingclaw-sync-status",created_at:(h==null?void 0:h.lastSyncAt)??a});for(const x of(h==null?void 0:h.recentFailures)??[])p.push({id:`sync_failure:${x.id}`,severity:x.dueForRetry===!1?"error":"warn",category:"sync",message:sc(x),details:_n({entity_type:x.entityType,entity_id:x.entityId,operation:x.operation,attempts:x.attempts,next_retry_at:x.nextRetryAt}),source:"qimingclaw-sync-failure",created_at:x.lastAttemptAt??x.updatedAt??x.createdAt});const _=r.filter(x=>ot(x.status)==="danger");return p.push({id:"runtime:tasks",severity:_.length>0?"error":r.length===0?"warn":"ok",category:"runtime",message:r.length===0?"尚未读取到 qimingclaw runtime task。":`任务 ${r.length} 个,异常 ${_.length} 个。`,details:_n({task_count:r.length,failed_task_count:_.length}),source:"qimingclaw-runtime-records",created_at:a}),p.push({id:"runtime:approvals",severity:o.some(x=>x.status==="pending")?"warn":"ok",category:"approval",message:`审批 ${o.length} 个,待处理 ${o.filter(x=>x.status==="pending").length} 个。`,details:_n({approval_count:o.length,pending_count:o.filter(x=>x.status==="pending").length}),source:"qimingclaw-approval-records",created_at:a}),d.length>0&&p.push({id:"runtime:events:error",severity:"error",category:"runtime",message:`最近运行事件中发现 ${d.length} 条异常事实。`,details:{event_ids:d.slice(0,8).map(x=>x.id)},source:"qimingclaw-runtime-events",created_at:((g=d[0])==null?void 0:g.occurredAt)??a}),Gl(e)||p.push({id:"runtime:data:empty",severity:"warn",category:"data",message:"本地数字员工 runtime 记录为空,页面将只显示兼容投影。",source:"qimingclaw-runtime-records",created_at:a}),{results:p,summary:{ok:p.filter(x=>x.severity==="ok").length,warn:p.filter(x=>x.severity==="warn").length,error:p.filter(x=>x.severity==="error").length,generated_at:a,source:"qimingclaw-runtime-projection"}}}function m1(e){var a;return e?e.failed>0||e.lastSyncError||(((a=e.missingCredentials)==null?void 0:a.length)??0)>0?"error":!e.enabled||!e.endpoint||e.pending>0?"warn":"ok":"warn"}function Fb(e){const a=[...rt(e).map(r=>dm(oe(r.payload),r.occurredAt)),...Hn(e).map(r=>dm(oe(r.payload),r.finishedAt??r.updatedAt??r.createdAt))].filter(r=>!!r),l=a.length||rt(e).length+Hn(e).length+Ct(e).length;if(a.length>0){const r={};let o=0,d=0,p=!1,h=(e==null?void 0:e.generatedAt)??new Date().toISOString();for(const _ of a){const g=_.model||"unknown",x=r[g]??{model:g,cost_usd:0,total_tokens:0,request_count:0};x.cost_usd+=_.estimated_cost_usd??0,x.total_tokens+=_.total_tokens??0,x.request_count+=1,r[g]=x,o+=_.total_tokens??0,d+=_.estimated_cost_usd??0,p=p||_.estimated,_.updated_at&&_.updated_at>h&&(h=_.updated_at)}return{session_cost_usd:d,daily_cost_usd:d,monthly_cost_usd:d,total_tokens:o,request_count:a.length,by_model:r,estimated:p,source:"qimingclaw-runtime-projection",updated_at:h}}return{session_cost_usd:0,daily_cost_usd:0,monthly_cost_usd:0,total_tokens:0,request_count:l,by_model:{"qimingclaw-local":{model:"qimingclaw-local",cost_usd:0,total_tokens:0,request_count:l}},estimated:!0,source:"qimingclaw-runtime-projection",updated_at:(e==null?void 0:e.generatedAt)??new Date().toISOString()}}function dm(e,a){if(!e)return null;const l=oe(e.usage)??oe(e.token_usage)??oe(e.tokenUsage)??e,r=oe(e.cost)??e,o=vt(l.input_tokens??l.inputTokens??l.prompt_tokens??l.promptTokens),d=vt(l.output_tokens??l.outputTokens??l.completion_tokens??l.completionTokens),p=vt(l.total_tokens??l.totalTokens)??((o??0)+(d??0)||null),h=vt(r.estimated_cost_usd??r.estimatedCostUsd??r.cost_usd??r.costUsd??r.usd),_=u(e.model??e.model_name??e.modelName??l.model)||"unknown";return o===null&&d===null&&p===null&&h===null?null:{model:_,input_tokens:o,output_tokens:d,total_tokens:p,estimated_cost_usd:h,estimated:typeof e.estimated=="boolean"?e.estimated:h===null,updated_at:u(e.updated_at??e.updatedAt)||a||null}}function Gm(e,a){var h;const l=Math.max(1,Math.min(Math.floor(vt(a.get("limit"))??100),300)),r=u(a.get("category"))||u(a.get("kind")),o=u(a.get("level")),d=u(a.get("id"));return[...rt(e).map(lw),...(((h=e==null?void 0:e.sync)==null?void 0:h.recentFailures)??[]).map(_=>({audit_id:`sync_failure:${_.id}`,category:"sync",action:"sync_failed",level:_.dueForRetry===!1?"error":"warn",message:sc(_),actor:"qimingclaw-sync",entity_type:_.entityType,entity_id:_.entityId,occurred_at:_.lastAttemptAt??_.updatedAt??_.createdAt,payload:_})),...wi(e).flatMap(_=>rw(_))].filter(_=>!r||u(_.category)===r||u(_.entity_type)===r).filter(_=>!o||u(_.level)===o).filter(_=>!d||u(_.entity_id)===d||u(_.audit_id).includes(d)).sort((_,g)=>u(g.occurred_at).localeCompare(u(_.occurred_at))).slice(0,l)}function p1(e){const a=vd(e).results,l=Gm(e,new URLSearchParams({limit:"300"})),r=Fb(e),o=_1(a,l);return{doctor:{ok:a.filter(d=>d.severity==="ok").length,warn:a.filter(d=>d.severity==="warn").length,error:a.filter(d=>d.severity==="error").length},audit:{info:l.filter(d=>u(d.level)==="info").length,warn:l.filter(d=>u(d.level)==="warn").length,error:l.filter(d=>u(d.level)==="error").length},cost:{request_count:r.request_count,total_tokens:r.total_tokens,estimated_cost_usd:r.session_cost_usd,by_model_count:Object.keys(r.by_model??{}).length,estimated:!!r.estimated,updated_at:r.updated_at??null},latest_issue:o}}function _1(e,a){const l=ay(e,"error");if(l)return l;const r=ly(a,"error");if(r)return r;const o=ay(e,"warn");return o||ly(a,"warn")}function ay(e,a){const l=e.filter(r=>r.severity===a).sort((r,o)=>u(o.created_at).localeCompare(u(r.created_at)))[0];return l?{id:u(l.id)||`${l.category}:${a}`,source:"doctor",level:a,category:u(l.category)||"diagnostic",message:l.message,occurred_at:l.created_at??null}:null}function ly(e,a){const l=e.find(r=>u(r.level)===a);return l?{id:u(l.audit_id)||`${u(l.category)||"audit"}:${a}`,source:"audit",level:a,category:u(l.category)||u(l.entity_type)||"audit",message:u(l.message)||u(l.action)||"审计事件需要关注",occurred_at:u(l.occurred_at)||null}:null}function xd(e){return Gm(e,new URLSearchParams({limit:"300"})).map(a=>({...a,audit_id:u(a.audit_id),status:u(a.level)||"info",status_label:g1(u(a.level)),entity_id:u(a.entity_id)||u(a.audit_id),updated_at:u(a.occurred_at),source:We}))}function h1(e,a){const l=u(a.get("category"))||u(a.get("kind")),r=u(a.get("level")),o=u(a.get("id"));return sa(e,a).filter(d=>!l||u(d.category)===l||u(d.entity_type)===l).filter(d=>!r||u(d.level)===r).filter(d=>!o||u(d.entity_id)===o||u(d.audit_id).includes(o))}function g1(e){return e==="error"?"异常":e==="warn"?"警告":"信息"}function y1(e,a,l){const r={plans:av(a),"plan-steps":kd(a),"plan-step-graph":Pb(a),tasks:E1(a),runs:A1(a),events:T1(a),artifacts:Km(a),"artifact-groups":lv(a),approvals:$s(a),"approval-history":rv(a),"route-decisions":cc(a),notifications:ev(a,xa(a)),audits:xd(a)},o=e==="route-decisions"?S1(r[e],l):e==="plan-steps"||e==="plan-step-graph"?um(r[e],l):e==="approval-history"?cv(r[e],l):e==="notifications"?C1(r[e],l):e==="audits"?h1(r[e],l):sa(r[e],l);return{...pn(o,l),source:We}}function kd(e){return ji(e).map(a=>{const l=oe(a.payload)??{},r=oe(l.dependencyGraph??l.dependency_graph)??{},o=oe(l.lastDispatch??l.last_dispatch)??{},d=Ym(l),p=Wb(a,e,l),h=Le(we(r.blockedDependencies??r.blocked_dependencies)),_=Le(we(r.waitingDependencies??r.waiting_dependencies)),g=Le(we(r.satisfiedDependencies??r.satisfied_dependencies));return{step_id:a.id,node_id:a.id,remote_id:a.remoteId??null,plan_id:a.planId,title:a.title,status:a.status,seq:a.seq,depends_on:a.dependsOn,dependency_count:a.dependsOn.length,dependency_status:u(r.status)||b1(a,h,_),blocked_dependencies:h,blocked_dependency_count:h.length,blocked_dependency_details:v1(h,e),waiting_dependencies:_,waiting_dependency_count:_.length,satisfied_dependencies:g,preferred_skill_ids:a.preferredSkillIds,task_id:p.taskId,latest_run_id:p.latestRunId,dispatchable:p.dispatchable,skip_reason:p.skipReason,last_dispatch_status:u(o.status)||null,last_dispatch_at:u(o.occurredAt??o.occurred_at)||null,lease:d,lease_id:u((d==null?void 0:d.lease_id)??(d==null?void 0:d.leaseId))||null,lease_state:u(d==null?void 0:d.state)||null,lease_owner_device_id:u((d==null?void 0:d.owner_device_id)??(d==null?void 0:d.ownerDeviceId))||null,lease_acquired_at:u((d==null?void 0:d.acquired_at)??(d==null?void 0:d.acquiredAt))||null,lease_expires_at:u((d==null?void 0:d.expires_at)??(d==null?void 0:d.expiresAt))||null,lease_released_at:u((d==null?void 0:d.released_at)??(d==null?void 0:d.releasedAt))||null,lease_release_reason:u((d==null?void 0:d.release_reason)??(d==null?void 0:d.releaseReason))||null,lease_source:u(d==null?void 0:d.source)||null,remote_lease_id:u((d==null?void 0:d.remote_lease_id)??(d==null?void 0:d.remoteLeaseId))||null,remote_lease_error:u((d==null?void 0:d.remote_error)??(d==null?void 0:d.remoteError))||null,remote_release_error:u((d==null?void 0:d.remote_release_error)??(d==null?void 0:d.remoteReleaseError))||null,remote_lease_rejected:u((d==null?void 0:d.release_reason)??(d==null?void 0:d.releaseReason))==="remote_lease_rejected",lease_active:!!d,sync_status:a.syncStatus,last_synced_at:a.lastSyncedAt??null,sync_error:a.syncError??null,created_at:a.createdAt,updated_at:a.updatedAt,entity_type:"plan_step",entity_id:a.id,source:We}}).sort((a,l)=>u(a.plan_id).localeCompare(u(l.plan_id))||Number(a.seq??0)-Number(l.seq??0)||u(a.step_id).localeCompare(u(l.step_id)))}function Pb(e){return kd(e).map(a=>({node_id:u(a.node_id)||u(a.step_id),step_id:u(a.step_id),plan_id:u(a.plan_id)||null,title:u(a.title),status:u(a.status),seq:a.seq,depends_on:we(a.depends_on),dependency_status:u(a.dependency_status)||null,blocked_dependencies:we(a.blocked_dependencies),blocked_dependency_details:we(a.blocked_dependency_details),waiting_dependencies:we(a.waiting_dependencies),satisfied_dependencies:we(a.satisfied_dependencies),task_id:u(a.task_id)||null,latest_run_id:u(a.latest_run_id)||null,dispatchable:a.dispatchable===!0,skip_reason:u(a.skip_reason)||null,lease:oe(a.lease)??null,lease_id:u(a.lease_id)||null,lease_state:u(a.lease_state)||null,lease_owner_device_id:u(a.lease_owner_device_id)||null,lease_acquired_at:u(a.lease_acquired_at)||null,lease_expires_at:u(a.lease_expires_at)||null,lease_released_at:u(a.lease_released_at)||null,lease_release_reason:u(a.lease_release_reason)||null,lease_source:u(a.lease_source)||null,remote_lease_id:u(a.remote_lease_id)||null,remote_lease_error:u(a.remote_lease_error)||null,remote_release_error:u(a.remote_release_error)||null,remote_lease_rejected:a.remote_lease_rejected===!0,lease_active:a.lease_active===!0,sync_status:u(a.sync_status)||null,updated_at:u(a.updated_at)||null,entity_type:"plan_step_graph_node",entity_id:u(a.step_id),source:We}))}function um(e,a){const l=u(a.get("plan_id")),r=u(a.get("step_id"))||u(a.get("id")),o=u(a.get("status")),d=u(a.get("sync_status"));return sa(e,a).filter(p=>!l||u(p.plan_id)===l).filter(p=>!r||u(p.step_id)===r||u(p.node_id)===r||u(p.entity_id)===r).filter(p=>!o||u(p.status)===o).filter(p=>!d||u(p.sync_status)===d)}function b1(e,a,l){return a.length>0?"blocked":l.length>0?"waiting":e.dependsOn.length>0?"ready":"independent"}function Wb(e,a,l){var g;const r=ic(a,e.planId),o=r.find(x=>al(x)===e.id)??r.find(x=>!iy(x.status))??null,d=(o==null?void 0:o.id)??null,p=o?((g=bd(Hn(a),o.id))==null?void 0:g.id)??null:null,h=Ym(l);let _=null;return h?_="lease_active":e.status.toLowerCase()!=="ready"?_="not_ready":o?iy(o.status)?_="task_terminal":Hn(a).some(x=>x.taskId===o.id&&x1(x.status))?_="task_already_running":lc(a).some(x=>{var S,C;return k1(x.status)&&(x.planId===e.planId||x.taskId===o.id||u(((S=oe(x.payload))==null?void 0:S.stepId)??((C=oe(x.payload))==null?void 0:C.step_id))===e.id)})?_="approval_pending":(l.auto_dispatch===!1||l.autoDispatch===!1)&&(_="auto_dispatch_disabled"):_="missing_task",{taskId:d,latestRunId:p,dispatchable:!_,skipReason:_}}function v1(e,a){const l=new Map(ji(a).map(r=>[r.id,r]));return e.map(r=>{const o=l.get(r);if(!o)return{step_id:r,task_id:null,latest_run_id:null,title:r,status:"missing",dependency_status:"missing",dispatchable:!1,skip_reason:"missing_step"};const d=oe(o.payload)??{},p=oe(d.dependencyGraph??d.dependency_graph)??{},h=Ym(d),_=Wb(o,a,d);return{step_id:o.id,task_id:_.taskId,latest_run_id:_.latestRunId,title:o.title,status:o.status,dependency_status:u(p.status)||o.status,dispatchable:_.dispatchable,skip_reason:_.skipReason,lease_state:u(h==null?void 0:h.state)||null,lease_active:!!h}})}function Ym(e){const a=oe(e.dispatchLease??e.dispatch_lease);if(!a)return null;const l=u(a.state)||"active",r=u(a.expires_at??a.expiresAt),o=u(a.lease_id??a.leaseId),d=u(a.owner_device_id??a.ownerDeviceId);return l!=="active"||!r||r<=new Date().toISOString()||!o||!d?null:a}function iy(e){return["completed","succeeded","success","done","skipped","cancelled","canceled"].includes(e.toLowerCase())}function x1(e){return["running","pending","queued","started"].includes(e.toLowerCase())}function k1(e){return["pending","reviewing","open","waiting"].includes(e.toLowerCase()||"pending")}function cc(e){return rt(e).filter(a=>a.kind==="route_decision").map(a=>{const l=oe(a.payload)??{},r=fm(l,a),o=tv(r);return{...r,route_decision_id:r.id,event_id:a.id,status:r.policy_result||"accepted",status_label:nv(r),attention_level:o,entity_type:"route_decision",entity_id:r.id,occurred_at:a.occurredAt,created_at:a.createdAt,updated_at:r.recorded_at||a.occurredAt,payload:l}}).sort((a,l)=>u(l.recorded_at).localeCompare(u(a.recorded_at))||u(l.event_id).localeCompare(u(a.event_id)))}function S1(e,a){const l=u(a.get("route_kind")),r=u(a.get("intent_kind")),o=u(a.get("policy_result"));return sa(e,a).filter(d=>!l||u(d.route_kind)===l).filter(d=>!r||u(d.intent_kind)===r).filter(d=>!o||u(d.policy_result)===o)}function ev(e,a){const l=Es(a);return bv(e,a).map(r=>({notification_id:r.notification_id,kind:r.kind,level:r.level,status:r.status,title:r.title,body:r.body,plan_id:r.plan_id,task_id:r.task_id,correlation_id:r.correlation_id,created_at:r.created_at,updated_at:r.replied_at||r.dismissed_at||r.read_at||r.created_at,read_at:r.read_at??null,dismissed_at:r.dismissed_at??null,replied_at:r.replied_at??null,muted_by_preferences:!jv(r,l),entity_type:"notification",entity_id:r.notification_id,source:We})).sort((r,o)=>u(o.created_at).localeCompare(u(r.created_at))||u(o.notification_id).localeCompare(u(r.notification_id)))}function j1(e){const a=$s(e).filter(d=>d.approval_conflict_active===!0).map(d=>({intervention_id:`approval-conflict:${u(d.approval_id)}`,kind:"approval_conflict",title:u(d.title)||u(d.summary)||"审批跨端冲突",status:"open",priority:"high",entity_type:"approval",entity_id:u(d.approval_id),approval_id:u(d.approval_id),plan_id:u(d.plan_id)||null,task_id:u(d.task_id)||null,run_id:u(d.run_id)||null,reason:u(d.approval_conflict_reason)||"approval_conflict",summary:`本地 ${u(d.approval_conflict_local_status)||u(d.status)} / 管理端 ${u(d.approval_conflict_remote_status)||"unknown"}`,occurred_at:u(d.approval_conflict_detected_at)||u(d.updated_at)||u(d.created_at),updated_at:u(d.approval_conflict_detected_at)||u(d.updated_at)||u(d.created_at),source:We,payload:d})),l=cc(e).filter(d=>["warn","error","action"].includes(u(d.attention_level))).map(d=>{var p,h,_;return{intervention_id:`route-intervention:${u(d.route_decision_id)}`,kind:"route_intervention",title:nv(d),status:u(d.policy_result)||u(d.status)||"attention",priority:u(d.attention_level)==="error"?"high":u(d.attention_level)==="warn"?"medium":"normal",entity_type:"route_decision",entity_id:u(d.route_decision_id),route_decision_id:u(d.route_decision_id),plan_id:u((p=oe(d.context_refs))==null?void 0:p.plan_id)||null,task_id:u((h=oe(d.context_refs))==null?void 0:h.task_id)||null,run_id:u((_=oe(d.context_refs))==null?void 0:_.run_id)||null,reason:Le(we(d.reason_codes)).join(" / ")||u(d.blocked_reason)||u(d.policy_result),summary:`${u(d.route_kind)} / ${u(d.intent_kind)}`,occurred_at:u(d.recorded_at)||u(d.created_at),updated_at:u(d.recorded_at)||u(d.created_at),source:We,payload:d}}),r=rt(e).filter(d=>["risk_approval_required","risk_policy_rejected"].includes(d.kind)).map(d=>{const p=oe(d.payload)??{};return{intervention_id:`risk-approval:${d.id}`,kind:"risk_approval",title:d.kind==="risk_policy_rejected"?"风险策略已拒绝":"风险审批待处理",status:u(p.status)||d.kind,priority:["high","critical"].includes(u(p.risk_level??p.riskLevel))?"high":"medium",entity_type:"risk_approval",entity_id:d.id,event_id:d.id,approval_id:u(p.approval_id??p.approvalId)||null,plan_id:(d.planId??u(p.plan_id))||null,task_id:(d.taskId??u(p.task_id))||null,run_id:(d.runId??u(p.run_id))||null,reason:u(p.action_kind??p.actionKind??p.reason)||d.kind,summary:d.message,occurred_at:d.occurredAt,updated_at:d.occurredAt,source:We,payload:p}}),o=ev(e,xa(e)).filter(d=>u(d.level)==="action"&&!["resolved","dismissed"].includes(u(d.status))).map(d=>({intervention_id:`notification:${u(d.notification_id)}`,kind:"action_notification",title:u(d.title)||"待处理通知",status:u(d.status)||"unread",priority:"normal",entity_type:"notification",entity_id:u(d.notification_id),notification_id:u(d.notification_id),plan_id:u(d.plan_id)||null,task_id:u(d.task_id)||null,run_id:null,reason:u(d.kind),summary:u(d.body),occurred_at:u(d.created_at),updated_at:u(d.updated_at)||u(d.created_at),source:We,payload:d}));return[...a,...l,...r,...o].sort((d,p)=>Lt(p).localeCompare(Lt(d))||u(d.intervention_id).localeCompare(u(p.intervention_id)))}function w1(e,a){const l=u(a.get("kind")),r=u(a.get("status")),o=u(a.get("priority")),d=u(a.get("entity_id"));return e.filter(p=>!l||l==="all"||u(p.kind)===l).filter(p=>!r||u(p.status)===r).filter(p=>!o||u(p.priority)===o).filter(p=>!d||Jm(p).includes(d)||u(p.intervention_id)===d||u(p.route_decision_id)===d)}function C1(e,a){const l=u(a.get("id")),r=u(a.get("kind")),o=u(a.get("level")),d=u(a.get("muted")).toLowerCase();return sa(e,a).filter(p=>!l||u(p.notification_id)===l||u(p.correlation_id)===l||u(p.entity_id)===l).filter(p=>!r||u(p.kind)===r).filter(p=>!o||u(p.level)===o).filter(p=>{if(!d)return!0;const h=p.muted_by_preferences===!0;return["1","true","yes"].includes(d)?h:["0","false","no"].includes(d)?!h:!0})}function fm(e,a){const l=oe(e.routeDecision??e.route_decision??e)??{};return{id:u(l.id)||a.id,route_kind:u(l.route_kind??l.routeKind)||"ChatOnly",intent_kind:u(l.intent_kind??l.intentKind)||"chat",reason_codes:Le(we(l.reason_codes??l.reasonCodes)),candidate_skills:Le(we(l.candidate_skills??l.candidateSkills)),context_refs:oe(l.context_refs??l.contextRefs)??{},created_command_id:u(l.created_command_id??l.createdCommandId)||null,correlation_id:u(l.correlation_id??l.correlationId)||a.id,creates_plan:!!(l.creates_plan??l.createsPlan),creates_task_run:!!(l.creates_task_run??l.createsTaskRun),approval_mode:u(l.approval_mode??l.approvalMode)||null,policy_result:u(l.policy_result??l.policyResult)||"accepted",policy_source:u(l.policy_source??l.policySource)||null,blocked_reason:u(l.blocked_reason??l.blockedReason)||null,approval_id:u(l.approval_id??l.approvalId)||null,matched_intent:u(l.matched_intent??l.matchedIntent)||null,recorded_at:u(l.recorded_at??l.recordedAt)||a.occurredAt,entrypoint:u(l.entrypoint)||null,actor:u(l.actor)||null}}function tv(e){return e.policy_result==="approval_required"?"action":e.policy_result&&e.policy_result!=="accepted"?"error":e.reason_codes.includes("candidate_skills_disabled")||e.reason_codes.includes("route_action_missing_context")||e.reason_codes.includes("route_action_policy_blocked")||e.reason_codes.includes("route_action_not_mapped")?"warn":e.created_command_id?"action":"info"}function nv(e){const a=tv(e);return a==="error"?"策略拒绝":e.policy_result==="approval_required"?"待审批":a==="warn"?"需要关注":e.created_command_id?"已映射命令":"已记录"}function N1(e){const a=cc(e),l=a[0]??null,r=Ns((e==null?void 0:e.uiState)??Nt()),o=rt(e).filter(_=>_.kind==="route_decision_intervention_resolved"),d=new Set(o.map(_=>{var g;return u((g=oe(_.payload))==null?void 0:g.route_decision_id)}).filter(Boolean)),p=o.sort((_,g)=>g.occurredAt.localeCompare(_.occurredAt))[0]??null,h=oe(p==null?void 0:p.payload)??null;return{total:a.length,mapped_count:a.filter(_=>u(_.created_command_id)).length,governance_mapped_count:a.filter(_=>u(_.created_command_id)).length,governance_blocked_count:a.filter(_=>{const g=we(_.reason_codes).map(u);return g.includes("route_action_policy_blocked")||g.includes("route_action_missing_context")||g.includes("route_action_not_mapped")}).length,attention_count:a.filter(_=>["warn","error"].includes(u(_.attention_level))).length,blocked_count:a.filter(_=>u(_.policy_result)==="blocked").length,approval_required_count:a.filter(_=>u(_.policy_result)==="approval_required").length,pending_intervention_count:a.filter(_=>u(_.policy_result)!=="accepted"&&!d.has(u(_.route_decision_id))).length,restored_count:o.filter(_=>{var g;return((g=oe(_.payload))==null?void 0:g.command_accepted)===!0}).length,latest_intervention_status:u((h==null?void 0:h.status)??(h==null?void 0:h.decision))||null,policy_source:r.source??null,policy_last_pulled_at:r.last_pulled_at??null,policy_last_pull_error:r.last_pull_error??null,latest:l?{id:u(l.route_decision_id),route_kind:u(l.route_kind),intent_kind:u(l.intent_kind),status_label:u(l.status_label),attention_level:u(l.attention_level),created_command_id:u(l.created_command_id)||null,policy_source:u(l.policy_source)||null,blocked_reason:u(l.blocked_reason)||null,approval_id:u(l.approval_id)||null,recorded_at:u(l.recorded_at)}:null}}function av(e){const a=new Map(In(e).map(d=>[d.id,d])),l=ll(null,e),r=Rs(null,e).runs,o=Fm(e,l,r);return Pm(null,e).map(d=>{const p=a.get(d.plan_id),h=l.filter(x=>x.plan_id===d.plan_id),_=r.filter(x=>x.plan_id===d.plan_id),g=o.filter(x=>x.plan_id===d.plan_id).map(x=>u(x.occurred_at??x.timestamp)).filter(Boolean).sort().pop()||null;return{plan_id:d.plan_id,remote_id:(p==null?void 0:p.remoteId)??null,title:d.title,objective:d.objective??null,status:d.status,task_count:h.length,run_count:_.length,latest_event_at:g,sync_status:((p==null?void 0:p.syncStatus)??u(d.sync_status))||null,created_at:d.created_at,updated_at:u(d.updated_at)||(p==null?void 0:p.updatedAt)||d.created_at,payload:(p==null?void 0:p.payload)??_n({source:d.source,steps:d.steps})}})}function E1(e){const a=new Map(Ct(e).map(l=>[l.id,l]));return ll(null,e).map(l=>{const r=a.get(l.task_id);return{task_id:l.task_id,remote_id:(r==null?void 0:r.remoteId)??null,plan_id:l.plan_id??null,title:l.title,status:l.status,assigned_skill_id:l.assigned_skill_id||(r==null?void 0:r.assignedSkillId)||null,sync_status:((r==null?void 0:r.syncStatus)??u(l.sync_status))||null,created_at:l.created_at,updated_at:l.updated_at,payload:(r==null?void 0:r.payload)??_n({step_id:l.step_id,description:l.description})}})}function A1(e){const a=new Map(Hn(e).map(l=>[l.id,l]));return Rs(null,e).runs.map(l=>{const r=a.get(l.run_id),o=(r==null?void 0:r.startedAt)??l.created_at,d=(r==null?void 0:r.finishedAt)??l.completed_at??null,p=(l.events??[]).slice().sort((h,_)=>u(_.occurred_at).localeCompare(u(h.occurred_at)))[0];return{run_id:l.run_id,remote_id:(r==null?void 0:r.remoteId)??null,plan_id:l.plan_id??null,task_id:l.task_id||null,status:(r==null?void 0:r.status)??l.lifecycle,started_at:o??null,finished_at:d,duration_ms:aw(o,d),last_event_message:(p==null?void 0:p.message)??null,sync_status:((r==null?void 0:r.syncStatus)??u(l.sync_status))||null,created_at:(r==null?void 0:r.createdAt)??l.created_at,payload:(r==null?void 0:r.payload)??_n({lifecycle:l.lifecycle,attempt_no:l.attempt_no})}})}function T1(e){const a=ll(null,e),l=Rs(null,e).runs,r=new Map(rt(e).map(o=>[o.id,o]));return Fm(e,a,l).map(o=>{const d=r.get(o.event_id),p=u(o.plan_id)||(d==null?void 0:d.planId)||null,h=u(o.task_id)||(d==null?void 0:d.taskId)||null;return{event_id:o.event_id,remote_id:(d==null?void 0:d.remoteId)??null,plan_id:p,task_id:h,run_id:(d==null?void 0:d.runId)??null,kind:o.kind??o.event_type??(d==null?void 0:d.kind)??null,message:o.message??(d==null?void 0:d.message)??null,occurred_at:u(o.occurred_at??o.timestamp)||(d==null?void 0:d.occurredAt),sync_status:(d==null?void 0:d.syncStatus)??null,payload:(d==null?void 0:d.payload)??_n({aggregate_type:o.aggregate_type,aggregate_id:o.aggregate_id})}})}function Km(e){const a=new Map(gd(e).map(r=>[r.id,r])),l=wi(e);return l.map(r=>{var S;const o=u(r.artifact_id)||u(r.subject_id),d=a.get(o),p=hv({plan_id:r.plan_id,task_id:r.task_id,run_id:r.run_id,fallback_type:"artifact",fallback_id:r.subject_id??o}),h=Xm(e,o),_=_v(e,o,r),g=Zm(l,r),x=Sd(r);return{...r,artifact_id:o,remote_id:((d==null?void 0:d.remoteId)??u(r.remote_id))||null,entity_type:p.entity_type,entity_id:p.entity_id,sync_status:((d==null?void 0:d.syncStatus)??u(r.sync_status))||null,version:g.version,version_key:g.version_key,version_rank:g.version_rank,retention_status:h.retention_status,retention_until:h.retention_until,last_retention_action:h.last_retention_action,cleanup_status:_.cleanup_status,deleted_at:_.deleted_at,cleanup_reason:_.cleanup_reason,cleanup_event_id:_.cleanup_event_id,last_access_status:u((S=oe(r.access))==null?void 0:S.last_access_status)||null,delivery_summary:x}})}function lv(e){const a=new Map;return Km(e).forEach(l=>{const r=R1(l);a.set(r,[...a.get(r)??[],l])}),[...a.entries()].map(([l,r])=>{const o=r.slice().sort((g,x)=>Lt(x).localeCompare(Lt(g))),d=o[0]??{},p=Le(r.map(g=>g.artifact_id)),h=Le(r.map(g=>$1(g))),_=Le(r.map(g=>g.version_key||g.version||g.artifact_id));return{entity_type:"artifact_group",entity_id:l,group_key:l,version_key:u(d.version_key)||l,title:u(d.name)||u(d.title)||l,summary:`产物 ${p.length} / 设备 ${h.length} / 版本 ${_.length}`,status:sy(Mo(r,"retention_status"))||"unmanaged",sync_status:sy(Mo(r,"sync_status"))||null,plan_id:u(d.plan_id)||null,task_id:u(d.task_id)||null,run_id:u(d.run_id)||null,artifact_ids:p,artifact_count:p.length,device_count:h.length,version_count:_.length,latest_artifact_id:u(d.artifact_id)||null,retention_status_counts:Mo(r,"retention_status"),cleanup_status_counts:Mo(r,"cleanup_status"),updated_at:Lt(d),created_at:u(d.created_at)||null,business_view:_n({artifact_ids:p,device_ids:h,version_keys:_}),payload:{artifacts:o},source:We}}).sort((l,r)=>Lt(r).localeCompare(Lt(l))||u(l.entity_id).localeCompare(u(r.entity_id)))}function R1(e){const a=u(e.version_key).replace(/:v[^:]+$/,"");if(a)return a;const l=u(e.name)||u(e.title);return`artifact-group:${u(e.kind)||"artifact"}:${u(e.source_label)||u(e.source_type)}:${l||u(e.uri)||u(e.artifact_id)}`}function $1(e){const a=oe(e.payload)??{};return u(e.device_id)||u(e.source_device_id)||u(e.remote_device_id)||u(a.device_id??a.deviceId)||u(a.source_device_id??a.sourceDeviceId)||"local"}function Mo(e,a){return e.reduce((l,r)=>{const o=u(r[a])||"none";return l[o]=(l[o]??0)+1,l},{})}function sy(e){var a;return((a=Object.entries(e).sort((l,r)=>r[1]-l[1]||l[0].localeCompare(r[0]))[0])==null?void 0:a[0])??null}function Qm(e,a){const l=Km(e).find(r=>u(r.artifact_id)===a||u(r.remote_id)===a)??null;return l?{...l,versions:iv(e,u(l.artifact_id)),lifecycle_events:mv(e).filter(r=>u(r.artifact_id)===u(l.artifact_id)).slice(0,20),cleanup_events:pv(e).filter(r=>u(r.artifact_id)===u(l.artifact_id)).slice(0,20)}:null}function iv(e,a){const l=wi(e),r=l.find(d=>u(d.artifact_id)===a||u(d.subject_id)===a);if(!r)return[];const o=id(r);return l.filter(d=>id(d)===o).sort((d,p)=>u(d.created_at).localeCompare(u(p.created_at))).map((d,p)=>{const h=Zm(l,d);return{artifact_id:u(d.artifact_id)||u(d.subject_id),name:u(d.name)||null,version:h.version||`local-v${p+1}`,version_key:h.version_key,version_rank:p+1,delivery_summary:Sd(d),retention_status:Xm(e,u(d.artifact_id)).retention_status,created_at:u(d.created_at)||null,source_label:u(d.source_label)||null}})}function $s(e){const a=new Map(lc(e).map(l=>[l.id,l]));return Yl(e).map(l=>{const r=u(l.approval_id),o=a.get(r),d=M1(e,r,l),p=D1(l),h=z1(l),_=hv({plan_id:l.plan_id,task_id:l.task_id,run_id:l.run_id,fallback_type:u(l.source)==="qimingclaw-sync"?"sync_outbox":"approval",fallback_id:l.task_id||r});return{...l,approval_id:r,remote_id:((o==null?void 0:o.remoteId)??u(l.remote_id))||null,entity_type:_.entity_type,entity_id:_.entity_id,sync_status:((o==null?void 0:o.syncStatus)??u(l.sync_status))||null,risk_level:d.risk_level,sla_status:d.sla_status,due_at:d.due_at,last_action:d.last_action,last_actor:d.last_actor,comment_count:d.comment_count,delegate_to:d.delegate_to,workflow_id:p.workflow_id,current_step_id:p.current_step_id,current_step_label:p.current_step_label,current_participant:p.current_participant,approval_step_index:p.step_index,approval_step_count:p.step_count,next_step_label:p.next_step_label,approval_conflict_active:h.active,approval_conflict_reason:h.reason,approval_conflict_remote_status:h.remote_status,approval_conflict_detected_at:h.detected_at,approval_conflict_local_status:h.local_status,approval_conflict_remote_current_step_id:h.remote_current_step_id,approval_conflict_resolved_at:h.resolved_at,approval_conflict_resolution:h.resolution,approval_conflict_resolution_actor:h.resolution_actor,approval_conflict_resolution_event_id:h.resolution_event_id}})}function sv(e,a){const l=$s(e).find(r=>u(r.approval_id)===a||u(r.remote_id)===a)??null;return l?{...l,timeline:gv(u(l.approval_id),e).events}:null}function Vm(e){return rt(e).filter(a=>["approval_action_recorded","approval_action_rejected"].includes(a.kind)).map(a=>{const l=oe(a.payload)??{},r=oe(l.delegate_summary),o=oe(l.comment_summary),d=oe(l.sla_summary),p=oe(l.risk_summary);return{action_id:a.id,event_id:a.id,kind:a.kind,approval_id:u(l.approval_id)||null,action:u(l.action)||null,status:u(l.status)||null,comment_preview:u(o==null?void 0:o.preview)||null,comment_length:vt(o==null?void 0:o.length),delegate_to:u((r==null?void 0:r.label)??(r==null?void 0:r.target))||null,sla_status:u(d==null?void 0:d.sla_status)||null,due_at:u(d==null?void 0:d.due_at)||null,risk_level:u(p==null?void 0:p.risk_level)||null,actor:u(l.actor)||null,source:u(l.source)||null,plan_id:(a.planId??u(l.plan_id))||null,task_id:(a.taskId??u(l.task_id))||null,run_id:(a.runId??u(l.run_id))||null,message:a.message,occurred_at:a.occurredAt,sync_status:a.syncStatus??null,payload:l}}).sort((a,l)=>u(l.occurred_at).localeCompare(u(a.occurred_at)))}function rv(e){const a=new Map($s(e).map(o=>[u(o.approval_id),o])),l=Vm(e).map(o=>{const d=u(o.approval_id),p=a.get(d);return{history_id:u(o.action_id),event_id:u(o.event_id),approval_id:d||null,action:u(o.action)||null,status:u(o.status)||null,actor:u(o.actor)||null,risk_level:u(o.risk_level)||null,due_at:u(o.due_at)||null,delegate_to:u(o.delegate_to)||null,comment_length:vt(o.comment_length),message:u(o.message)||null,plan_id:u(o.plan_id)||u(p==null?void 0:p.plan_id)||null,task_id:u(o.task_id)||u(p==null?void 0:p.task_id)||null,run_id:u(o.run_id)||u(p==null?void 0:p.run_id)||null,occurred_at:u(o.occurred_at)||null,updated_at:u(o.occurred_at)||null,sync_status:u(o.sync_status)||null,entity_type:"approval_history",entity_id:u(o.action_id),source:We}}),r=rt(e).filter(o=>o.kind==="approval_decision").map(o=>{const d=oe(o.payload)??{},p=u(d.approvalId??d.approval_id)||o.id.split(":decision:")[0]||"",h=a.get(p);return{history_id:o.id,event_id:o.id,approval_id:p||null,action:"decision",status:u(d.nextStatus??d.next_status??d.decision)||null,actor:u(d.actor)||u(d.source)||"qimingclaw-approval-decision",risk_level:u(h==null?void 0:h.risk_level)||null,due_at:u(h==null?void 0:h.due_at)||null,delegate_to:u(h==null?void 0:h.delegate_to)||null,comment_length:null,message:o.message||null,plan_id:o.planId||u(d.planId??d.plan_id)||u(h==null?void 0:h.plan_id)||null,task_id:o.taskId||u(d.taskId??d.task_id)||u(h==null?void 0:h.task_id)||null,run_id:o.runId||u(d.runId??d.run_id)||u(h==null?void 0:h.run_id)||null,occurred_at:o.occurredAt,updated_at:o.occurredAt,sync_status:o.syncStatus??null,entity_type:"approval_history",entity_id:o.id,source:We}});return[...l,...r].sort((o,d)=>u(d.occurred_at).localeCompare(u(o.occurred_at))||u(d.history_id).localeCompare(u(o.history_id)))}function cv(e,a){const l=u(a.get("approval_id"))||u(a.get("id")),r=u(a.get("action")),o=u(a.get("risk_level"));return sa(e,a).filter(d=>!l||u(d.approval_id)===l||u(d.history_id)===l||u(d.event_id)===l).filter(d=>!r||u(d.action)===r).filter(d=>!o||u(d.risk_level)===o)}function D1(e){const a=oe(e.payload)??{},l=oe(a.workflow)??{},r=Array.isArray(l.steps)?l.steps.map(_=>oe(_)??{}):[],o=u(l.current_step_id??l.currentStepId??a.current_step_id??a.currentStepId),d=Math.max(0,r.findIndex(_=>u(_.step_id??_.stepId??_.id)===o)),p=r[d]??null,h=r.slice(d+1).find(_=>["pending","delegated","timeout"].includes(u(_.status)||"pending"))??null;return{workflow_id:u(l.workflow_id??l.workflowId)||null,current_step_id:o||null,current_step_label:u((p==null?void 0:p.label)??(p==null?void 0:p.title)??(p==null?void 0:p.name))||null,current_participant:u((p==null?void 0:p.participant_label)??(p==null?void 0:p.participantLabel)??(p==null?void 0:p.participant_id)??(p==null?void 0:p.participantId))||null,step_index:r.length>0?d+1:null,step_count:r.length||null,next_step_label:u((h==null?void 0:h.label)??(h==null?void 0:h.title)??(h==null?void 0:h.name))||null}}function z1(e){const a=oe(e.payload)??{},l=oe(a.conflict)??{},r=oe(l.resolution)??{};return{active:l.active===!0,reason:u(l.reason)||null,remote_status:u(l.remote_status??l.remoteStatus)||null,detected_at:u(l.detected_at??l.detectedAt)||null,local_status:u(l.local_status??l.localStatus)||null,remote_current_step_id:u(l.remote_current_step_id??l.remoteCurrentStepId)||null,resolved_at:u(r.resolved_at??r.resolvedAt)||null,resolution:u(r.resolution)||null,resolution_actor:u(r.actor)||null,resolution_event_id:u(r.event_id??r.eventId)||null}}function M1(e,a,l){const r=Vm(e).filter(S=>u(S.approval_id)===a),o=r[0],d=r.find(S=>u(S.risk_level)),p=r.find(S=>{const C=u(S.sla_status);return!!(C&&C!=="untracked")}),h=r.find(S=>u(S.delegate_to)),_=oe(l.payload),g=u(p==null?void 0:p.due_at)||u((_==null?void 0:_.due_at)??(_==null?void 0:_.dueAt)??(_==null?void 0:_.timeout_at)??(_==null?void 0:_.timeoutAt)),x=u(p==null?void 0:p.sla_status)||O1(g);return{risk_level:u(d==null?void 0:d.risk_level)||"normal",sla_status:x,due_at:g||null,last_action:u(o==null?void 0:o.action)||null,last_actor:u(o==null?void 0:o.actor)||null,comment_count:r.filter(S=>u(S.action)==="comment").length,delegate_to:u(h==null?void 0:h.delegate_to)||null}}function O1(e){if(!e)return"untracked";const a=Date.parse(e);return Number.isFinite(a)?a<Date.now()?"timeout":"tracked":"untracked"}function ov(e){return rt(e).filter(a=>["skill_call_allowed","skill_call_rejected","skill_call_observed"].includes(a.kind)).map(a=>{const l=oe(a.payload)??{};return{audit_id:a.id,event_id:a.id,remote_id:a.remoteId??null,decision:u(l.decision)||a.kind.replace("skill_call_",""),source:u(l.source)||null,server_id:u(l.server_id)||null,tool_name:u(l.tool_name)||null,skill_id:u(l.skill_id)||null,call_id:u(l.call_id)||null,session_id:u(l.session_id)||null,task_id:(a.taskId??u(l.task_id))||null,run_id:(a.runId??u(l.run_id))||null,reason_codes:Array.isArray(l.reason_codes)?l.reason_codes:[],message:a.message,occurred_at:a.occurredAt,sync_status:a.syncStatus??null,payload:l}}).sort((a,l)=>u(l.occurred_at).localeCompare(u(a.occurred_at)))}function q1(e){const a=ov(e).map(r=>({audit_id:u(r.audit_id),category:"skill_call_audit",decision:u(r.decision),status:u(r.decision)||"observed",skill_id:u(r.skill_id)||null,tool_name:u(r.tool_name)||null,server_id:u(r.server_id)||null,source:u(r.source)||We,risk_level:u(r.risk_level)||null,session_id:u(r.session_id)||null,task_id:u(r.task_id)||null,run_id:u(r.run_id)||null,message:u(r.message)||`${u(r.tool_name)||u(r.skill_id)||"skill"} ${u(r.decision)}`,occurred_at:u(r.occurred_at),updated_at:u(r.occurred_at),payload_preview:sd("skill_call_audit",oe(r.payload)??{}),payload:r.payload,entity_type:"skill_audit",entity_id:u(r.audit_id)})),l=xd(e).filter(r=>["tool_call_audit","sandbox_audit","token_cost"].includes(u(r.category))).map(r=>({audit_id:u(r.audit_id),category:u(r.category),decision:u(r.decision)||u(r.status)||u(r.level),status:u(r.status)||u(r.level)||"info",skill_id:u(r.skill_id)||null,tool_name:u(r.tool_name)||null,server_id:u(r.server_id)||null,source:u(r.source)||We,risk_level:u(r.risk_level)||null,model:u(r.model)||null,total_tokens:vt(r.total_tokens),estimated_cost_usd:vt(r.estimated_cost_usd),session_id:u(r.session_id)||null,task_id:u(r.task_id)||null,run_id:u(r.run_id)||null,message:u(r.message)||u(r.action)||u(r.category),occurred_at:u(r.occurred_at),updated_at:u(r.updated_at)||u(r.occurred_at),payload_preview:sd(u(r.category),oe(r.payload)??{}),payload:r.payload,entity_type:"skill_audit",entity_id:u(r.audit_id)}));return[...a,...l].sort((r,o)=>Lt(o).localeCompare(Lt(r))||u(r.audit_id).localeCompare(u(o.audit_id)))}function L1(e,a){const l=u(a.get("skill_id")),r=u(a.get("server_id")),o=u(a.get("tool_name")),d=u(a.get("decision")),p=u(a.get("category")),h=u(a.get("status"));return e.filter(_=>!l||u(_.skill_id)===l).filter(_=>!r||u(_.server_id)===r).filter(_=>!o||u(_.tool_name)===o).filter(_=>!d||u(_.decision)===d).filter(_=>!p||u(_.category)===p).filter(_=>!h||u(_.status)===h)}function dv(e){const l=((e==null?void 0:e.uiState)??Nt()).opsWorkbenchStateById??{},r=vd(e).results.filter(h=>h.severity==="warn"||h.severity==="error").map(h=>{const _=`diagnostic:${u(h.id)||u(h.category)||h.message}`;return Vr({ops_id:_,kind:"diagnostic",title:h.message||"诊断项需要处理",status:h.severity,priority:h.severity,entity_type:"diagnostic",entity_id:u(h.id)||u(h.category)||_,category:h.category,recommended_action:"mark_reviewed",reason_codes:[u(h.category)||"doctor_issue"],occurred_at:h.created_at??(e==null?void 0:e.generatedAt)??new Date().toISOString(),updated_at:h.created_at??(e==null?void 0:e.generatedAt)??new Date().toISOString(),payload:h},l[_])}),o=Ll(e).filter(h=>h.requires_human_action||h.status==="degraded"||h.status==="stopped").map(h=>{const _=`service:${h.service_id}`,g=uv(h.service_id);return Vr({ops_id:_,kind:"service",title:h.name,status:h.status,priority:h.status==="stopped"?"error":"warn",entity_type:"managed_service",entity_id:h.service_id,service_id:h.service_id,recommended_action:g?"safe_restart_service":"mark_reviewed",reason_codes:[h.status,g?"safe_restart_service":"manual_review_required"],summary:h.error||h.status_label,occurred_at:h.last_seen_at,updated_at:h.last_seen_at,payload:h},l[_])}),d=xd(e).filter(h=>["warn","error"].includes(u(h.level))).map(h=>{const _=`audit:${u(h.audit_id)}`;return Vr({ops_id:_,kind:"audit",title:u(h.message)||u(h.action)||"审计风险",status:u(h.level),priority:u(h.level),entity_type:u(h.entity_type)||"audit",entity_id:u(h.entity_id)||u(h.audit_id),audit_id:u(h.audit_id),recommended_action:"mark_reviewed",reason_codes:[u(h.category)||"audit_risk"],occurred_at:u(h.occurred_at),updated_at:u(h.updated_at)||u(h.occurred_at),payload:h},l[_])}),p=B1(e,l);return[...r,...o,...d,...p].filter(h=>u(h.status)!=="dismissed").sort((h,_)=>Lt(_).localeCompare(Lt(h))||u(h.ops_id).localeCompare(u(_.ops_id)))}function B1(e,a){const l=(e==null?void 0:e.uiState)??Nt();return[{id:"plan_step_dispatch",title:"PlanStep 派发策略",error:Bl(l).last_pull_error,pulledAt:Bl(l).last_pulled_at,recommended:"retry_policy_pull"},{id:"risk_approval",title:"风险审批策略",error:Cs(l).last_pull_error,pulledAt:Cs(l).last_pulled_at,recommended:"retry_policy_pull"},{id:"route_decision",title:"入口路由策略",error:Ns(l).last_pull_error,pulledAt:Ns(l).last_pulled_at,recommended:"retry_policy_pull"}].filter(o=>!!o.error).map(o=>{const d=`policy:${o.id}`;return Vr({ops_id:d,kind:"policy",title:o.title,status:"error",priority:"warn",entity_type:"policy",entity_id:o.id,policy_id:o.id,recommended_action:o.recommended,reason_codes:["policy_pull_error"],summary:o.error,occurred_at:o.pulledAt??(e==null?void 0:e.generatedAt)??new Date().toISOString(),updated_at:o.pulledAt??(e==null?void 0:e.generatedAt)??new Date().toISOString(),payload:o},a[d])})}function U1(e){const a=xa(e);return jd(e,a).map(l=>({notification_id:l.notification_id,kind:l.kind,title:l.title,status:l.status,priority:l.level,level:l.level,entity_type:"notification",entity_id:l.notification_id,plan_id:l.plan_id||null,task_id:l.task_id||null,run_id:null,recommended_action:l.status==="unread"?"mark_read":l.status==="dismissed"?null:"dismiss",body:l.body,reason_codes:[l.kind,l.level],occurred_at:l.created_at,updated_at:l.read_at||l.dismissed_at||l.replied_at||l.created_at,payload:l})).sort((l,r)=>Lt(r).localeCompare(Lt(l)))}function I1(e){const l=((e==null?void 0:e.uiState)??Nt()).dailyReportWorkbenchStateById??{};return mm(e).map(r=>{const o=u(r.report_id),d=V1(e,o),p=we(r.artifact_sources),h=u(r.status)||"ready",_=d.approval_status!=="requested";return Vr({report_id:o,date:u(r.date),title:u(r.title)||"数字员工日报",status:h,priority:h==="ready"?"info":"warn",entity_type:"daily_report",entity_id:o,artifact_id:u(r.artifact_id),artifact_count:p.length,delivery_status:d.delivery_status,confirmation_status:d.confirmation_status,approval_status:d.approval_status,recommended_action:d.confirmation_status!=="confirmed"?"confirm_report":_?"request_approval":"open_report",reason_codes:["daily_report_workbench"],occurred_at:u(r.generated_at),updated_at:u(r.updated_at)||u(r.generated_at),payload:{...r,delivery:d}},l[o])}).sort((r,o)=>Lt(o).localeCompare(Lt(r)))}function Vr(e,a){return a?{...e,status:a.status||e.status,last_action:a.last_action??null,reviewed_at:a.last_action==="mark_reviewed"?a.updated_at??null:e.reviewed_at,dismissed_at:a.last_action==="dismiss"?a.updated_at??null:e.dismissed_at,updated_at:a.updated_at||e.updated_at,actor:a.actor??e.actor,reason:a.reason??e.reason}:e}function H1(e,a){const l=u(a.get("kind")),r=u(a.get("priority"));return sa(e,a).filter(o=>!l||l==="all"||u(o.kind)===l).filter(o=>!r||u(o.priority)===r||u(o.status)===r)}function G1(e,a){const l=u(a.get("kind")),r=u(a.get("level"));return sa(e,a).filter(o=>!l||l==="all"||u(o.kind)===l).filter(o=>!r||u(o.level)===r||u(o.priority)===r)}function Y1(e,a){const l=u(a.get("date"));return sa(e,a).filter(r=>!l||u(r.date)===l)}async function K1(e,a){const l=u(e.action)||"mark_reviewed";if(!["mark_reviewed","dismiss","open_related_view","retry_policy_pull","safe_restart_service"].includes(l))return{ok:!1,action:l,total:0,recorded:0,rejected:0,items:[],reason_codes:["invalid_ops_workbench_action"]};const r=Le([...we(e.ops_ids),...we(e.opsIds)].map(u)).slice(0,100);if(r.length===0)return{ok:!1,action:l,total:0,recorded:0,rejected:0,items:[],reason_codes:["ops_ids_required"]};const o=dv(a),d=new Map(o.map(x=>[u(x.ops_id),x])),p=(a==null?void 0:a.uiState)??await yn()??Nt(),h={...p.opsWorkbenchStateById??{}},_=[];for(const x of r){const S=d.get(x);if(!S){_.push({ops_id:x,ok:!1,status:"rejected",reason_codes:["ops_item_not_found"]});continue}if(l==="safe_restart_service"){const z=u(S.service_id);if(!uv(z)){_.push({ops_id:x,service_id:z,ok:!1,status:"rejected",reason_codes:["safe_restart_service_not_allowed"]});continue}const w=await Yb(z,{reason:u(e.reason)||"ops_workbench_safe_restart",actor:u(e.actor)||"digital_employee_operator"});_.push({ops_id:x,service_id:z,ok:w.ok,status:w.status,reason_codes:w.ok?["safe_restart_service"]:[w.error||"safe_restart_service_failed"],result:w});continue}if(l==="retry_policy_pull"){const z=u(S.policy_id||S.entity_id),w=await X1(z,a);_.push({ops_id:x,policy_id:z,ok:w.ok!==!1,status:w.ok===!1?"failed":"recorded",reason_codes:[w.error?"policy_pull_failed":"policy_pull_requested"],result:w});continue}const C=new Date().toISOString();h[x]={status:l==="dismiss"?"dismissed":l==="mark_reviewed"?"reviewed":u(S.status),last_action:l,actor:u(e.actor)||"digital_employee_operator",reason:u(e.reason)||null,updated_at:C},_.push({ops_id:x,ok:!0,status:h[x].status,reason_codes:["ops_workbench_action_recorded"]})}await Gn({...Ul(p),opsWorkbenchStateById:h},"ops_workbench_action_recorded",void 0,{action:l,ops_ids:r,reason:u(e.reason)||null});const g=_.filter(x=>x.ok!==!1).length;return{ok:g>0,action:l,total:r.length,recorded:g,rejected:r.length-g,items:_,reason_codes:["ops_workbench_action_recorded"]}}async function Q1(e,a){const l=u(e.action)||"mark_read";if(!["mark_read","dismiss","pull_updates","open_desktop_settings"].includes(l))return{ok:!1,action:l,total:0,recorded:0,rejected:0,items:[],reason_codes:["invalid_notification_workbench_action"]};if(l==="pull_updates"){const h=await Ob();return{ok:h.ok!==!1,action:l,total:1,recorded:h.ok===!1?0:1,rejected:h.ok===!1?1:0,items:[{ok:h.ok!==!1,result:h}],reason_codes:["notification_workbench_action_recorded"]}}if(l==="open_desktop_settings"){const h=await qb();return{ok:h.success!==!1,action:l,total:1,recorded:h.success===!1?0:1,rejected:h.success===!1?1:0,items:[{ok:h.success!==!1,result:h}],reason_codes:["notification_workbench_action_recorded"]}}const r=Le([...we(e.notification_ids),...we(e.notificationIds)].map(u)).slice(0,100);if(r.length===0)return{ok:!1,action:l,total:0,recorded:0,rejected:0,items:[],reason_codes:["notification_ids_required"]};const o=[];for(const h of r){const _=await Cv(h,l==="mark_read"?"read":"dismiss",{},a);o.push({notification_id:h,ok:_.ok,status:_.status,reason_codes:_.ok?["notification_workbench_action_recorded"]:["notification_action_failed"],result:_})}const d=(a==null?void 0:a.uiState)??await yn()??Nt();await Gn(d,"notification_workbench_action_recorded",void 0,{action:l,notification_ids:r});const p=o.filter(h=>h.ok!==!1).length;return{ok:p>0,action:l,total:r.length,recorded:p,rejected:r.length-p,items:o,reason_codes:["notification_workbench_action_recorded"]}}function V1(e,a){var r,o;const l=rt(e).filter(d=>["daily_report_send_recorded","daily_report_confirmed","daily_report_approval_requested"].includes(d.kind)).filter(d=>{var p,h;return u(((p=oe(d.payload))==null?void 0:p.report_id)??((h=oe(d.payload))==null?void 0:h.reportId))===a}).sort((d,p)=>p.occurredAt.localeCompare(d.occurredAt));return{delivery_status:l.some(d=>d.kind==="daily_report_send_recorded")?"sent":"pending",confirmation_status:l.some(d=>d.kind==="daily_report_confirmed")?"confirmed":"pending",approval_status:l.some(d=>d.kind==="daily_report_approval_requested")?"requested":"not_requested",latest_event_id:((r=l[0])==null?void 0:r.id)??null,latest_event_at:((o=l[0])==null?void 0:o.occurredAt)??null}}function uv(e){return e==="fileServer"||e==="guiServer"}async function X1(e,a){return e==="plan_step_dispatch"?await wv(a):e==="risk_approval"?await zb():e==="route_decision"?await Mb():{ok:!1,error:"unknown_policy_id"}}function Z1(e,a){const l=u(a.get("skill_id")),r=u(a.get("server_id")),o=u(a.get("tool_name")),d=u(a.get("decision"));return e.filter(p=>!l||u(p.skill_id)===l).filter(p=>!r||u(p.server_id)===r).filter(p=>!o||u(p.tool_name)===o).filter(p=>!d||u(p.decision)===d)}function fv(e){return rt(e).filter(a=>["artifact_access_allowed","artifact_access_rejected"].includes(a.kind)).map(a=>{const l=oe(a.payload)??{};return{access_id:a.id,event_id:a.id,remote_id:a.remoteId??null,artifact_id:u(l.artifact_id)||null,action:u(l.action)||null,status:u(l.status)||a.kind.replace("artifact_access_",""),reason_codes:Array.isArray(l.reason_codes)?l.reason_codes:[],actor:u(l.actor)||null,source:u(l.source)||null,plan_id:(a.planId??u(l.plan_id))||null,task_id:(a.taskId??u(l.task_id))||null,run_id:(a.runId??u(l.run_id))||null,message:a.message,occurred_at:a.occurredAt,sync_status:a.syncStatus??null,payload:l}}).sort((a,l)=>u(l.occurred_at).localeCompare(u(a.occurred_at)))}function J1(e,a){const l=u(a.get("artifact_id")),r=u(a.get("action")),o=u(a.get("status"));return e.filter(d=>!l||u(d.artifact_id)===l).filter(d=>!r||u(d.action)===r).filter(d=>!o||u(d.status)===o)}function mv(e){return rt(e).filter(a=>["artifact_retention_marked","artifact_retention_rejected","artifact_version_observed"].includes(a.kind)).map(a=>{const l=oe(a.payload)??{};return{lifecycle_id:a.id,event_id:a.id,kind:a.kind,artifact_id:u(l.artifact_id)||null,action:u(l.action)||null,status:u(l.status)||null,retention_status:u(l.retention_status)||null,retention_until:u(l.retention_until)||null,reason:u(l.reason)||null,actor:u(l.actor)||null,source:u(l.source)||null,plan_id:(a.planId??u(l.plan_id))||null,task_id:(a.taskId??u(l.task_id))||null,run_id:(a.runId??u(l.run_id))||null,message:a.message,occurred_at:a.occurredAt,sync_status:a.syncStatus??null,payload:l}}).sort((a,l)=>u(l.occurred_at).localeCompare(u(a.occurred_at)))}function pv(e){return rt(e).filter(a=>["artifact_cleanup_executed","artifact_cleanup_rejected","artifact_cleanup_failed"].includes(a.kind)).map(a=>{const l=oe(a.payload)??{};return{cleanup_event_id:a.id,event_id:a.id,kind:a.kind,artifact_id:u(l.artifact_id)||null,status:u(l.status)||null,cleanup_status:u(l.status)||null,cleanup_reason:u(l.reason)||null,reason_codes:Le(we(l.reason_codes??l.reasonCodes).map(u)),actor:u(l.actor)||null,source:u(l.source)||null,deleted_at:u(l.deleted_at)||null,plan_id:(a.planId??u(l.plan_id))||null,task_id:(a.taskId??u(l.task_id))||null,run_id:(a.runId??u(l.run_id))||null,message:a.message,occurred_at:a.occurredAt,sync_status:a.syncStatus??null,payload:l}}).sort((a,l)=>u(l.occurred_at).localeCompare(u(a.occurred_at)))}function _v(e,a,l){var d;const r=oe((d=oe(l==null?void 0:l.payload))==null?void 0:d.cleanup)??{},o=pv(e).find(p=>u(p.artifact_id)===a)??null;return{cleanup_status:u(o==null?void 0:o.cleanup_status)||u(r.status)||null,deleted_at:u(o==null?void 0:o.deleted_at)||u(r.deleted_at)||null,cleanup_reason:u(o==null?void 0:o.cleanup_reason)||u(r.cleanup_reason)||null,cleanup_event_id:u(o==null?void 0:o.cleanup_event_id)||u(r.event_id)||null}}function Xm(e,a){const l=mv(e).find(r=>u(r.artifact_id)===a&&u(r.kind)==="artifact_retention_marked");return{retention_status:u(l==null?void 0:l.retention_status)||"unmanaged",retention_until:u(l==null?void 0:l.retention_until)||null,last_retention_action:u(l==null?void 0:l.action)||null,last_retention_at:u(l==null?void 0:l.occurred_at)||null}}function F1(e,a,l){return{previous_status:u(e.retention_status)||"unmanaged",retention_status:P1(a),retention_until:u(l.retention_until??l.retentionUntil)||null,reason:u(l.reason)||null}}function P1(e){return e==="mark_keep"?"keep":e==="mark_expire"?"expire_candidate":e==="mark_review"?"review_required":e==="clear_retention"?"unmanaged":null}function W1(e){return{version:u(e.version)||null,version_key:u(e.version_key)||null,version_rank:vt(e.version_rank),file_id:u(e.file_id)||null,workspace_id:u(e.workspace_id)||null,project_id:u(e.project_id)||null,created_at:u(e.created_at)||null,name:u(e.name)||null}}function Sd(e){return{delivery_status:u(e.delivery_status)||null,delivery_stage:u(e.delivery_stage)||null,workspace_id:u(e.workspace_id)||null,project_id:u(e.project_id)||null,file_id:u(e.file_id)||null,version:u(e.version)||null,file_size:vt(e.file_size),source_tool:u(e.source_tool)||null}}function Zm(e,a){const l=id(a),r=e.filter(p=>id(p)===l).sort((p,h)=>u(p.created_at).localeCompare(u(h.created_at))),o=u(a.artifact_id)||u(a.subject_id),d=Math.max(0,r.findIndex(p=>u(p.artifact_id)===o||u(p.subject_id)===o));return{version:u(a.version)||`local-v${d+1}`,version_key:`${l}:v${u(a.version)||d+1}`,version_rank:d+1}}function id(e){const a=u(e.file_id),l=u(e.workspace_id),r=u(e.name);if(a)return`file:${l}:${a}:${r}`;const o=u(e.artifact_id)||u(e.subject_id);return o?`artifact:${o}`:`fallback:${l}:${u(e.project_id)}:${r||u(e.uri)}`}function mm(e){return wi(e).filter(ew).map(a=>{const l=oe(a.payload)??{},r=u(a.artifact_id)||u(l.artifact_id)||u(a.subject_id),o=u(l.report_id)||u(a.report_id)||r.replace(/:artifact:text$/,""),d=u(l.generated_at)||u(a.created_at)||new Date().toISOString(),p=u(l.date)||d.slice(0,10);return{report_id:o,artifact_id:r,event_id:u(l.event_id)||`${o}:event:generated`,date:p,title:u(l.title)||u(a.name)||`${p} 数字员工日报`,status:u(l.status)||"ready",summary:u(l.summary)||u(a.value)||"",totals:oe(l.totals)??{},detail_lines:we(l.detail_lines),artifact_sources:we(l.artifact_sources),filename:u(l.filename)||u(a.name)||Wm(p),html_artifact_id:u(l.html_artifact_id)||`${o}:artifact:html`,pdf_artifact_id:u(l.pdf_artifact_id)||`${o}:artifact:pdf`,html_filename:u(l.html_filename)||ep(p),pdf_filename:u(l.pdf_filename)||tp(p),format:u(l.format)||"text",text_content:u(l.text_content)||u(a.value),html_content:u(l.html_content)||"",generated_at:d,sync_status:u(a.sync_status)||null,entity_type:"artifact",entity_id:r,plan_id:u(a.plan_id)||null,task_id:u(a.task_id)||null,run_id:u(a.run_id)||null,created_at:u(a.created_at)||d,updated_at:d,payload:l}}).sort((a,l)=>u(l.generated_at).localeCompare(u(a.generated_at)))}function ew(e){const a=oe(e.payload)??{},l=u(a.format)||"text";return u(e.kind)==="daily_report"&&l!=="html"&&l!=="pdf"}function tw(e){const a=oe(e.payload)??{};return u(e.kind)==="daily_report"||u(a.kind)==="daily_report"||!!(u(a.report_id)&&u(a.text_content))}function nw(e,a){const l=u(a.get("date"));return sa(e,a).filter(r=>!l||u(r.date)===l)}function sa(e,a){const l=u(a.get("entity_id")),r=u(a.get("remote_id")),o=u(a.get("status")),d=u(a.get("sync_status")),p=u(a.get("updated_from")),h=u(a.get("updated_to"));return e.filter(_=>!l||Jm(_).includes(l)).filter(_=>!r||u(_.remote_id)===r).filter(_=>!o||u(_.status)===o).filter(_=>!d||u(_.sync_status)===d).filter(_=>{const g=Lt(_);return!(p&&(!g||g<p)||h&&(!g||g>h))})}function pn(e,a){const l=Math.max(1,Math.floor(vt(a.get("page_no"))??1)),r=Math.max(1,Math.min(Math.floor(vt(a.get("page_size"))??20),100)),o=(l-1)*r;return{items:e.slice(o,o+r),page_no:l,page_size:r,total:e.length}}function hv(e){const a=u(e.run_id);if(a)return{entity_type:"run",entity_id:a};const l=u(e.task_id);if(l)return{entity_type:"task",entity_id:l};const r=u(e.plan_id);return r?{entity_type:"plan",entity_id:r}:{entity_type:u(e.fallback_type)||"record",entity_id:u(e.fallback_id)||null}}function Jm(e){return Le([e.entity_id,e.intervention_id,e.route_decision_id,e.plan_id,e.task_id,e.run_id,e.event_id,e.audit_id,e.memory_id,e.history_id,e.step_id,e.node_id,e.artifact_id,e.approval_id,e.notification_id,e.report_id])}function Lt(e){return u(e.updated_at)||u(e.finished_at)||u(e.started_at)||u(e.occurred_at)||u(e.latest_event_at)||u(e.created_at)}function aw(e,a){if(!e||!a)return null;const l=Date.parse(e),r=Date.parse(a);return!Number.isFinite(l)||!Number.isFinite(r)||r<l?null:r-l}function lw(e){const a=oe(e.payload)??{},l=iw(e.kind),o=sd(e.kind,a)??a,d=e.runId?"run":e.taskId?"task":e.planId?"plan":"event";return{audit_id:e.id,category:l,action:e.kind,level:sw(e,o),message:e.message||e.kind,actor:u(a.actor)||u(a.source)||"qimingclaw-runtime",entity_type:d,entity_id:e.runId??e.taskId??e.planId??e.id,occurred_at:e.occurredAt,...o,payload:o}}function iw(e){return e==="sandbox_audit"?"sandbox_audit":e==="token_cost"?"token_cost":e==="tool_call_audit"?"tool_call_audit":e.startsWith("governance_")?"governance":e==="route_decision"?"route":e==="approval_decision"?"approval":"runtime"}function sw(e,a){const l=u(a.status).toLowerCase(),r=`${e.kind} ${e.message} ${l}`;return/fail|error|reject|denied|blocked|cancel/i.test(r)?"error":(e.kind==="sandbox_audit"||e.kind==="tool_call_audit")&&/warn|timeout|retry/i.test(r)?"warn":"info"}function sd(e,a){if(e==="sandbox_audit")return{session_id:u(a.session_id??a.sessionId)||null,operation:u(a.operation??a.action)||null,status:u(a.status)||null,exit_code:vt(a.exit_code??a.exitCode),duration_ms:vt(a.duration_ms??a.durationMs),command_preview:u(a.command_preview??a.commandPreview)||null,reason_codes:Le(we(a.reason_codes??a.reasonCodes).map(u))};if(e==="token_cost"){const l=dm(a,u(a.updated_at??a.updatedAt)||null);return{session_id:u(a.session_id??a.sessionId)||null,model:(l==null?void 0:l.model)??(u(a.model)||null),status:u(a.status)||null,input_tokens:(l==null?void 0:l.input_tokens)??null,output_tokens:(l==null?void 0:l.output_tokens)??null,total_tokens:(l==null?void 0:l.total_tokens)??null,estimated_cost_usd:(l==null?void 0:l.estimated_cost_usd)??null,estimated:(l==null?void 0:l.estimated)??!0}}return e==="tool_call_audit"?{session_id:u(a.session_id??a.sessionId)||null,server_id:u(a.server_id??a.serverId)||null,tool_name:u(a.tool_name??a.toolName)||null,operation:u(a.operation??a.action)||null,status:u(a.status)||null,exit_code:vt(a.exit_code??a.exitCode),duration_ms:vt(a.duration_ms??a.durationMs),input_length:vt(a.input_length??a.inputLength),reason_codes:Le(we(a.reason_codes??a.reasonCodes).map(u))}:null}function rw(e){const a=u(e.delivery_status);return a?[{audit_id:`artifact_delivery:${e.artifact_id??e.subject_id}`,category:"artifact",action:u(e.delivery_stage)||"artifact_delivery",level:a==="failed"||a==="error"?"error":"info",message:`${e.name||e.kind||"Artifact"}${a}`,actor:u(e.source_tool)||"qimingclaw-file-server",entity_type:"artifact",entity_id:e.artifact_id??e.subject_id,occurred_at:u(e.created_at)||new Date().toISOString(),payload:e}]:[]}function Fm(e,a,l){var h;const r=rt(e).map(_=>({event_id:_.id,aggregate_type:_.runId?"run":_.taskId?"task":"plan",aggregate_id:_.runId??_.taskId??_.planId??_.id,event_type:_.kind,kind:_.kind,message:_.message,occurred_at:_.occurredAt,timestamp:_.occurredAt,plan_id:_.planId??null,task_id:_.taskId??null})),o=l.flatMap(_=>(_.events??[]).map(g=>({event_id:g.event_id??`${_.run_id}:${g.kind??"event"}:${g.occurred_at??_.created_at}`,aggregate_type:"run",aggregate_id:_.run_id,event_type:g.kind??_.lifecycle,kind:g.kind??_.lifecycle,message:g.message??_.lifecycle,occurred_at:g.occurred_at??_.completed_at??_.created_at,timestamp:g.occurred_at??_.completed_at??_.created_at,plan_id:_.plan_id??null,task_id:_.task_id||null}))),d=a.map(_=>({event_id:`task-status-${_.task_id}`,aggregate_type:"task",aggregate_id:_.task_id,event_type:"task_status",kind:_.status,message:`${_.title}${la(_.status)}`,occurred_at:_.updated_at??_.created_at,timestamp:_.updated_at??_.created_at,plan_id:_.plan_id??null,task_id:_.task_id})),p=(((h=e==null?void 0:e.sync)==null?void 0:h.recentFailures)??[]).map(_=>({event_id:`digital-sync-failure-${_.id}`,aggregate_type:"sync_outbox",aggregate_id:_.id,event_type:"digital_sync_failed",kind:"digital_sync_failed",message:sc(_),occurred_at:_.lastAttemptAt??_.updatedAt??_.createdAt,timestamp:_.lastAttemptAt??_.updatedAt??_.createdAt,plan_id:null,task_id:null}));return cw([...r,...o,...d,...p]).sort((_,g)=>(g.occurred_at??"").localeCompare(_.occurred_at??""))}function cw(e){const a=new Set;return e.filter(l=>!l.event_id||a.has(l.event_id)?!1:(a.add(l.event_id),!0))}function Yl(e){var o;const a=lc(e).map(d=>({approval_id:d.id,task_id:d.taskId??"",status:d.status,created_at:d.createdAt,plan_id:d.planId??null,run_id:d.runId??null,title:d.title,reversible:d.status==="pending",source:"qimingclaw-runtime",sync_status:d.syncStatus,sync_error:d.syncError,payload:d.payload})),r=(((o=e==null?void 0:e.sync)==null?void 0:o.recentFailures)??[]).filter(d=>d.dueForRetry===!1||/credential|auth|token|unauthor/i.test(d.error??"")).slice(0,20).map(d=>({approval_id:`sync-review-${d.id}`,task_id:d.entityId,status:"pending",created_at:d.createdAt,title:`同步异常待处理:${d.entityType}/${d.entityId}`,reversible:!1,source:"qimingclaw-sync",error:d.error}));return[...a,...r]}function gv(e,a){const l=Yl(a).find(g=>u(g.approval_id)===e)??null,r=lc(a).find(g=>g.id===e)??null,o=oe((l==null?void 0:l.payload)??(r==null?void 0:r.payload)),d=yv(o),p={approvalId:e,planId:u(l==null?void 0:l.plan_id)||(r==null?void 0:r.planId)||"",taskId:u(l==null?void 0:l.task_id)||(r==null?void 0:r.taskId)||"",runId:u(l==null?void 0:l.run_id)||(r==null?void 0:r.runId)||"",permissionId:d.permissionId,sessionId:d.sessionId},h=u(l==null?void 0:l.created_at)||(r==null?void 0:r.createdAt)||(r==null?void 0:r.updatedAt)||"",_=[];if(l||r){const g=u(l==null?void 0:l.title)||(r==null?void 0:r.title)||"待确认事项",x=u(l==null?void 0:l.status)||(r==null?void 0:r.status)||"pending";_.push({event_id:`${e}:approval_record`,kind:"approval_record",status:x,message:`审批记录:${g} -> ${x}`,occurred_at:h||new Date().toISOString(),payload:o,source_type:"approval"})}for(const g of rt(a)){if(!ow(g,p))continue;const x=oe(g.payload);_.push({event_id:g.id,kind:g.kind,status:dw(g,x),message:g.message||g.kind,occurred_at:g.occurredAt,payload:x,source_type:u(x==null?void 0:x.source)||"runtime_event"})}return{approval_id:e,approval:l,events:uw(_).sort((g,x)=>g.occurred_at.localeCompare(x.occurred_at)||g.event_id.localeCompare(x.event_id))}}function yv(e){const a=oe(e==null?void 0:e.acpPermission)??oe(e==null?void 0:e.acp_permission)??oe(e==null?void 0:e.permission);return{permissionId:u(a==null?void 0:a.permission_id)||u(a==null?void 0:a.permissionId)||u(e==null?void 0:e.permission_id)||u(e==null?void 0:e.permissionId),sessionId:u(a==null?void 0:a.session_id)||u(a==null?void 0:a.sessionId)||u(e==null?void 0:e.session_id)||u(e==null?void 0:e.sessionId)}}function ow(e,a){const l=oe(e.payload);if((u(l==null?void 0:l.approvalId)||u(l==null?void 0:l.approval_id)||u(l==null?void 0:l.decision_id)||u(l==null?void 0:l.decisionId))===a.approvalId||e.id.startsWith(`${a.approvalId}:`))return!0;const o=yv(l);return a.permissionId&&o.permissionId===a.permissionId||a.sessionId&&o.sessionId===a.sessionId?!0:e.kind.includes("approval")||e.kind.includes("permission")?!!(a.runId&&e.runId===a.runId||a.taskId&&e.taskId===a.taskId||a.planId&&e.planId===a.planId):!1}function dw(e,a){return u(a==null?void 0:a.nextStatus)||u(a==null?void 0:a.next_status)||u(a==null?void 0:a.status)||u(a==null?void 0:a.decision)||(e.kind==="approval_decision"?"completed":null)}function uw(e){const a=new Set;return e.filter(l=>a.has(l.event_id)?!1:(a.add(l.event_id),!0))}function xa(e){return e!=null&&e.uiState?Ul(e.uiState):Nt()}function fw(e,a){const l=jd(a,xa(a)),r=(e||"all").toLowerCase();return r==="all"?{notifications:l.filter(o=>o.status!=="dismissed")}:{notifications:l.filter(o=>o.status===r)}}function jd(e,a){return bv(e,a).filter(l=>jv(l,a.notificationPreferences))}function bv(e,a){const l=Nw([...gw(e),...yw(e),...bw(e),...vw(e),...kw(e),...Sw(e),...jw(e),...ww(e),...xw(e)]),r=a.notificationStateById??{};return l.map(o=>Cw(o,r[o.notification_id])).sort((o,d)=>d.created_at.localeCompare(o.created_at)||d.notification_id.localeCompare(o.notification_id))}function vv(){return{enabled:!0,desktop_enabled:!0,muted_kinds:[],muted_levels:[],updated_at:null}}function xv(){return{enabled:!0,subscribed_actions:[...$b],subscribed_risk_levels:["high","critical"],notify_on_timeout:!0,updated_at:null}}function kv(){return{enabled:!0,max_per_sweep:3,auto_dispatch_ready_steps:!0,updated_at:null,source:"local",remote_updated_at:null,last_pulled_at:null,last_pull_error:null}}function Sv(){return{enabled:!0,approval_required_risk_levels:["high","critical"],approval_required_actions:[],auto_reject_actions:[],updated_at:null,source:"local",remote_updated_at:null,last_pulled_at:null,last_pull_error:null}}function rd(){return{enabled:!0,auto_create_governance_commands:!0,approval_required_intents:[],blocked_intents:[],preferred_route_kinds:[],updated_at:null,source:"local",remote_updated_at:null,last_pulled_at:null,last_pull_error:null}}function cd(e){const a=e==null?void 0:e.approvalSubscriptionPreferences,l=xv();if(!a||typeof a!="object")return l;const r=Array.isArray(a.subscribed_actions)?a.subscribed_actions.filter(d=>$b.includes(d)):l.subscribed_actions,o=Array.isArray(a.subscribed_risk_levels)?a.subscribed_risk_levels.filter(d=>hj.includes(d)):l.subscribed_risk_levels;return{enabled:a.enabled!==!1,subscribed_actions:[...new Set(r)],subscribed_risk_levels:[...new Set(o)],notify_on_timeout:a.notify_on_timeout!==!1,updated_at:typeof a.updated_at=="string"?a.updated_at:l.updated_at}}function Bl(e){const a=e==null?void 0:e.planStepDispatchPolicy,l=kv();if(!a||typeof a!="object")return l;const r=Number(a.max_per_sweep);return{enabled:a.enabled!==!1,max_per_sweep:Number.isFinite(r)?Math.max(1,Math.min(Math.floor(r),10)):l.max_per_sweep,auto_dispatch_ready_steps:a.auto_dispatch_ready_steps!==!1,updated_at:typeof a.updated_at=="string"?a.updated_at:l.updated_at,source:a.source==="remote"?"remote":"local",remote_updated_at:typeof a.remote_updated_at=="string"?a.remote_updated_at:null,last_pulled_at:typeof a.last_pulled_at=="string"?a.last_pulled_at:null,last_pull_error:typeof a.last_pull_error=="string"?a.last_pull_error:null}}function Cs(e){const a=e==null?void 0:e.riskApprovalPolicy,l=Sv();if(!a||typeof a!="object")return l;const r=Le(we(a.approval_required_risk_levels).map(o=>u(o).toLowerCase())).filter(o=>["normal","medium","high","critical"].includes(o));return{enabled:a.enabled!==!1,approval_required_risk_levels:r.length>0?r:l.approval_required_risk_levels,approval_required_actions:Le(we(a.approval_required_actions)),auto_reject_actions:Le(we(a.auto_reject_actions)),updated_at:typeof a.updated_at=="string"?a.updated_at:l.updated_at,source:a.source==="remote"?"remote":"local",remote_updated_at:typeof a.remote_updated_at=="string"?a.remote_updated_at:null,last_pulled_at:typeof a.last_pulled_at=="string"?a.last_pulled_at:null,last_pull_error:typeof a.last_pull_error=="string"?a.last_pull_error:null}}function Ns(e){const a=e==null?void 0:e.routeDecisionPolicy,l=rd();return!a||typeof a!="object"?l:{enabled:a.enabled!==!1,auto_create_governance_commands:a.auto_create_governance_commands!==!1,approval_required_intents:Le(we(a.approval_required_intents).map(od)),blocked_intents:Le(we(a.blocked_intents).map(od)),preferred_route_kinds:Le(we(a.preferred_route_kinds)),updated_at:typeof a.updated_at=="string"?a.updated_at:l.updated_at,source:a.source==="remote"?"remote":"local",remote_updated_at:typeof a.remote_updated_at=="string"?a.remote_updated_at:null,last_pulled_at:typeof a.last_pulled_at=="string"?a.last_pulled_at:null,last_pull_error:typeof a.last_pull_error=="string"?a.last_pull_error:null}}function od(e){return u(e).trim().toLowerCase().replace(/[^a-z0-9_.:-]+/g,"_")||"chat"}function Es(e){const a=e==null?void 0:e.notificationPreferences,l=vv();if(!a||typeof a!="object")return l;const r=Array.isArray(a.muted_kinds)?a.muted_kinds.filter(d=>_j.includes(d)):[],o=Array.isArray(a.muted_levels)?a.muted_levels.filter(d=>pj.includes(d)):[];return{enabled:a.enabled!==!1,desktop_enabled:a.desktop_enabled!==!1,muted_kinds:[...new Set(r)],muted_levels:[...new Set(o)],updated_at:typeof a.updated_at=="string"?a.updated_at:l.updated_at}}function jv(e,a){const l=Es({notificationPreferences:a});return!l.enabled||l.muted_levels.includes(e.level)?!1:!l.muted_kinds.includes(e.kind)}async function mw(e,a){const l=(a==null?void 0:a.uiState)??await yn()??Nt(),r=Es(l),o=Es({notificationPreferences:{...r,...e,updated_at:new Date().toISOString()}});return await Gn({...Ul(l),notificationPreferences:o},"update_notification_preferences",void 0,{notification_preferences:o}),o}async function pw(e,a){const l=(a==null?void 0:a.uiState)??await yn()??Nt(),r=cd(l),o=cd({approvalSubscriptionPreferences:{...r,...e,updated_at:new Date().toISOString()}});return await Gn({...Ul(l),approvalSubscriptionPreferences:o},"update_approval_subscriptions",void 0,{approval_subscriptions:o}),o}async function _w(e,a){const l=(a==null?void 0:a.uiState)??await yn()??Nt(),r=Bl(l),o=Bl({planStepDispatchPolicy:{...r,...e,updated_at:new Date().toISOString()}});return await Gn({...Ul(l),planStepDispatchPolicy:o},"update_plan_step_dispatch_policy",void 0,{plan_step_dispatch_policy:o}),o}async function hw(e,a){const l=(a==null?void 0:a.uiState)??await yn()??Nt(),r=Cs(l),o=Cs({riskApprovalPolicy:{...r,...e,source:"local",updated_at:new Date().toISOString(),last_pull_error:null}});return await Gn({...Ul(l),riskApprovalPolicy:o},"update_risk_approval_policy",void 0,{risk_approval_policy:o}),o}async function wv(e){var r,o,d;const a=Bl((e==null?void 0:e.uiState)??Nt()),l=await((d=(o=(r=window.QimingClawBridge)==null?void 0:r.digital)==null?void 0:o.pullPlanStepDispatchPolicy)==null?void 0:d.call(o).catch(p=>({ok:!1,endpoint:null,pulled_at:new Date().toISOString(),policy:a,error:p instanceof Error?p.message:"plan step dispatch policy pull failed"})));return l||{ok:!1,endpoint:null,pulled_at:new Date().toISOString(),policy:a,error:"qimingclaw_bridge_unavailable"}}function gw(e){const a=new Map($s(e).map(l=>[u(l.approval_id),l]));return Yl(e).filter(l=>u(l.source)==="qimingclaw-runtime").map(l=>{const r=u(l.status)||"pending",o=Nv(r),d=a.get(u(l.approval_id)),p=u(d==null?void 0:d.sla_status),h=u(d==null?void 0:d.risk_level),_=o&&(p==="timeout"||h==="high");return{notification_id:`approval:${u(l.approval_id)}`,plan_id:u(l.plan_id),task_id:u(l.task_id),kind:o?"need_approval":"confirmation_resolved",title:_?"审批需要关注":o?"审批待处理":"审批已处理",body:u(l.title)||"待确认事项",level:_?"warn":o?"action":"info",status:o?"unread":"resolved",correlation_id:u(l.approval_id),created_at:u(l.created_at)||new Date().toISOString()}})}function yw(e){return Vm(e).filter(a=>u(a.kind)==="approval_action_recorded").filter(a=>["delegate","mark_timeout","mark_risk"].includes(u(a.action))).map(a=>{const l=u(a.action),r=u(a.approval_id),o=l==="mark_timeout",d=l==="mark_risk";return{notification_id:`approval-action:${r}:${l}:${mt(u(a.occurred_at))}`,plan_id:u(a.plan_id),task_id:u(a.task_id),kind:"need_approval",title:o?"审批已超时":d?"审批已标记风险":"审批已转交",body:u(a.message)||r,level:o||d?"warn":"action",status:"unread",correlation_id:r,created_at:u(a.occurred_at)||new Date().toISOString()}})}function bw(e){var a;return(((a=e==null?void 0:e.sync)==null?void 0:a.recentFailures)??[]).map(l=>({notification_id:`sync_failure:${l.id}`,plan_id:"",task_id:l.entityId,kind:"task_failed",title:`同步失败:${l.entityType}`,body:sc(l),level:l.dueForRetry===!1?"error":"warn",status:"unread",correlation_id:l.id,created_at:l.lastAttemptAt??l.updatedAt??l.createdAt}))}function vw(e){return Ll(e).filter(a=>a.requires_human_action||a.status==="degraded"||a.status==="stopped").map(a=>{var l;return{notification_id:`service:${a.service_id}`,plan_id:"",task_id:((l=a.dependent_tasks)==null?void 0:l[0])??"",kind:"need_input",title:`服务需要处理:${a.name}`,body:a.error||`${a.name} 当前状态:${a.status_label||a.status}`,level:a.status==="stopped"?"error":"warn",status:"unread",correlation_id:a.service_id,created_at:a.last_seen_at||new Date().toISOString()}})}function xw(e){return Ct(e).flatMap(a=>{const l=a.status.toLowerCase(),r=["completed","succeeded","success","done"].includes(l),o=["failed","error","rejected","cancelled","skipped"].includes(l);if(!r&&!o)return[];const d=a.updatedAt||a.createdAt||new Date().toISOString();return[{notification_id:`task:${a.id}:${mt(d)}`,plan_id:a.planId??"",task_id:a.id,kind:r?"task_finished":"task_failed",title:r?"任务已完成":"任务需要关注",body:`${a.title}${la(a.status)}`,level:r?"info":"error",status:"unread",correlation_id:a.id,created_at:d}]})}function kw(e){return rt(e).filter(a=>a.kind==="plan_step_dispatch_failed").map(a=>{const l=oe(a.payload)??{},r=u(l.step_id)||a.id,o=u(l.reason);return{notification_id:`plan-step-dispatch:${r}:${mt(a.occurredAt)}`,plan_id:a.planId??u(l.plan_id),task_id:a.taskId??u(l.task_id),kind:"task_failed",title:"Ready 步骤派发失败",body:o?`${r}${o}`:a.message||r,level:"error",status:"unread",correlation_id:r,created_at:a.occurredAt}})}function Sw(e){return cc(e).filter(a=>["warn","error","action"].includes(u(a.attention_level))).map(a=>{var p,h;const l=u(a.attention_level),r=u(a.route_decision_id)||u(a.event_id),o=u(a.created_command_id),d=we(a.reason_codes).map(u).filter(Boolean).join(" / ");return{notification_id:`route-decision:${r}:${mt(u(a.recorded_at))}`,plan_id:u((p=oe(a.context_refs))==null?void 0:p.plan_id),task_id:u((h=oe(a.context_refs))==null?void 0:h.task_id),kind:l==="action"?"task_progress":"task_failed",title:l==="action"?"入口路由已映射":"入口路由需要关注",body:o?`${a.route_kind} / ${a.intent_kind} -> ${o}`:`${a.route_kind} / ${a.intent_kind}${d?`${d}`:""}`,level:l==="error"?"error":l==="warn"?"warn":"action",status:"unread",correlation_id:r,created_at:u(a.recorded_at)||new Date().toISOString()}})}function jw(e){return vd(e).results.filter(a=>a.severity==="error"||a.severity==="warn").map(a=>{const l=a.severity==="error"?"error":"warn",r=u(a.id)||`${u(a.category)||"diagnostic"}:${l}`;return{notification_id:`diagnostic:${r}`,plan_id:"",task_id:"",kind:l==="error"?"task_failed":"need_input",title:l==="error"?"诊断发现异常":"诊断需要关注",body:a.message,level:l,status:"unread",correlation_id:r,created_at:a.created_at??new Date().toISOString()}})}function ww(e){return xd(e).filter(a=>["error","warn"].includes(u(a.level))).map(a=>{const l=u(a.level)==="error"?"error":"warn",r=u(a.audit_id)||u(a.entity_id)||"audit";return{notification_id:`audit:${r}`,plan_id:u(a.plan_id),task_id:u(a.task_id)||(u(a.entity_type)==="task"?u(a.entity_id):""),kind:l==="error"?"task_failed":"need_input",title:l==="error"?"审计发现异常":"审计需要关注",body:u(a.message)||u(a.action)||r,level:l,status:"unread",correlation_id:r,created_at:u(a.occurred_at)||new Date().toISOString()}})}function Cw(e,a){return a?{...e,status:a.status??e.status,read_at:a.read_at??e.read_at??null,dismissed_at:a.dismissed_at??e.dismissed_at??null,reply:a.reply??e.reply??null,replied_at:a.replied_at??e.replied_at??null}:e}function Nw(e){const a=new Set;return e.filter(l=>!l.notification_id||a.has(l.notification_id)?!1:(a.add(l.notification_id),!0))}async function Cv(e,a,l,r){var w;const o=(r==null?void 0:r.uiState)??await yn()??Nt(),d=jd(r,o).find(D=>D.notification_id===e),p=new Date().toISOString(),h=(w=o.notificationStateById)==null?void 0:w[e],_=!!(h!=null&&h.replied_at),g={...h??{}};let x="";a==="read"?(g.status=(d==null?void 0:d.status)==="resolved"?"resolved":"read",g.read_at=g.read_at??p):a==="dismiss"?(g.status="dismissed",g.dismissed_at=p):(g.status=(d==null?void 0:d.status)==="resolved"?"resolved":"read",g.read_at=g.read_at??p,x=u(l.content??l.reply??l.message),g.reply=x,g.replied_at=p);const S={...o,notificationStateById:{...o.notificationStateById??{},[e]:g}};await Gn(S,`notification_${a}`,void 0,{notification_id:e,action:a});const C=await Ew({notification_id:e,action:a,status:g.status??(d==null?void 0:d.status)??null,read_at:g.read_at??null,dismissed_at:g.dismissed_at??null,reply:a==="reply"?x:g.reply??null,replied_at:g.replied_at??null,acted_at:a==="dismiss"?g.dismissed_at??p:a==="reply"?g.replied_at??p:g.read_at??p,actor:"digital_employee_ui",source:"sgrobot-digital-adapter"}),z=a==="reply"&&(d==null?void 0:d.kind)==="need_input"&&d.task_id&&x&&!_?await Aw(d,x,r):null;return{ok:!0,task_id:d==null?void 0:d.task_id,status:g.status,...C.ok?{}:{notification_sync_error:C.error},task_input_recorded:!!(z!=null&&z.accepted),governance_command_id:z==null?void 0:z.command_id,governance_event_id:Tw(z)}}async function Ew(e){var l;const a=(l=window.QimingClawBridge)==null?void 0:l.digital;if(!(a!=null&&a.submitNotificationAction))return{ok:!1,error:"qimingclaw_bridge_unavailable"};try{const r=await a.submitNotificationAction(e);return{ok:(r==null?void 0:r.ok)!==!1,...r!=null&&r.error?{error:r.error}:{}}}catch(r){return{ok:!1,error:r instanceof Error?r.message:String(r)}}}async function Aw(e,a,l){const r=Date.now();return Kl({command_kind:"provide_task_input",context_refs:{plan_id:e.plan_id||void 0,task_id:e.task_id},payload:{input:a,source:"notification_reply",notification_id:e.notification_id,plan_id:e.plan_id||void 0,task_id:e.task_id},correlation_id:`qimingclaw-notification-reply-${mt(e.notification_id)}-${r}`,idempotency_key:`qimingclaw-notification-reply-${e.notification_id}`},l)}function Tw(e){var l;const a=je((l=e==null?void 0:e.result)==null?void 0:l.run_id);if(!(!(e!=null&&e.accepted)||!a||!e.command_id))return`${a}:provide_task_input:${Rw(e.command_id)}`}function Rw(e){return e.replace(/[^a-zA-Z0-9_-]+/g,"-").replace(/^-+|-+$/g,"")||"unknown"}function $w(e,a,l){var h;const r=new Map(In(l).map(_=>[_.id,_])),o=new Map(Ct(l).map(_=>[_.id,_])),d=new Map($s(l).map(_=>[u(_.approval_id),_])),p=((h=e.decisionResultsByDate)==null?void 0:h[a])??{};return Yl(l).filter(_=>u(_.source)==="qimingclaw-runtime").map(_=>{const g=oe(_.payload),x=u(_.approval_id)||`approval-${mt(u(_.task_id)||u(_.title)||"item")}`,S=p[x],C=zw(S,u(_.status)||"pending"),z=u(_.plan_id),w=u(_.task_id),D=z?r.get(z):null,N=w?o.get(w):null,k=d.get(x),A=(k==null?void 0:k.approval_conflict_active)===!0;return{id:x,title:u(_.title)||u(g==null?void 0:g.title)||"待确认事项",scenario:Dw(_,g),status:C,status_label:Mw(C,S),plan_title:(D==null?void 0:D.title)||u(g==null?void 0:g.plan_title)||u(_.plan_id)||"qimingclaw 本地记录",task_title:(N==null?void 0:N.title)||u(g==null?void 0:g.task_title)||u(_.task_id)||"待确认任务",risk_level:u(k==null?void 0:k.risk_level)||"normal",sla_status:u(k==null?void 0:k.sla_status)||"untracked",due_at:u(k==null?void 0:k.due_at)||null,last_action:u(k==null?void 0:k.last_action)||null,last_actor:u(k==null?void 0:k.last_actor)||null,comment_count:vt(k==null?void 0:k.comment_count)??0,delegate_to:u(k==null?void 0:k.delegate_to)||null,workflow_id:u(k==null?void 0:k.workflow_id)||null,current_step_id:u(k==null?void 0:k.current_step_id)||null,current_step_label:u(k==null?void 0:k.current_step_label)||null,current_participant:u(k==null?void 0:k.current_participant)||null,approval_step_index:vt(k==null?void 0:k.approval_step_index),approval_step_count:vt(k==null?void 0:k.approval_step_count),next_step_label:u(k==null?void 0:k.next_step_label)||null,conflict:A?{active:!0,reason:u(k==null?void 0:k.approval_conflict_reason)||null,remote_status:u(k==null?void 0:k.approval_conflict_remote_status)||null,detected_at:u(k==null?void 0:k.approval_conflict_detected_at)||null,local_status:u(k==null?void 0:k.approval_conflict_local_status)||null,remote_current_step_id:u(k==null?void 0:k.approval_conflict_remote_current_step_id)||null}:null,actions:Nv(C)&&!A?[{id:"approved",label:"同意",tone:"primary"},{id:"rejected",label:"驳回",tone:"secondary"}]:[]}})}function Dw(e,a){return u(a==null?void 0:a.scenario)||u(a==null?void 0:a.summary)||u(a==null?void 0:a.reason)||u(a==null?void 0:a.message)||u(e.error)||"来自 qimingclaw 本地运行记录的人工确认项。"}function zw(e,a){const l=String(e||"").toLowerCase();return["approve","approved","accept","accepted"].includes(l)?"approved":["reject","rejected","deny","denied"].includes(l)?"rejected":["dismiss","dismissed","skip","skipped"].includes(l)?"dismissed":a||"pending"}function Mw(e,a){return a?e==="approved"?"已同意":e==="rejected"?"已驳回":e==="dismissed"?"已忽略":"已处理":e==="approved"?"已同意":e==="rejected"?"已驳回":e==="completed"?"已完成":e==="failed"?"异常":"待确认"}function Nv(e){return["pending","requested"].includes(String(e||"").toLowerCase())}function wi(e){const a=[...gd(e).map(qw),...Hn(e).flatMap(r=>Ev(r,rt(e))),...rt(e).flatMap(r=>pm(r.id,r.payload,r.occurredAt,{sourceType:"event",sourceEventId:r.id,sourceLabel:`Event ${r.kind}`,planId:r.planId,taskId:r.taskId,runId:r.runId}))],l=Tv(a);return l.map(r=>Ow(r,e,l))}function Ow(e,a,l){var z;const r=u(e.artifact_id)||u(e.subject_id),o=fv(a).find(w=>u(w.artifact_id)===r)??null,d=Bw(u(e.uri)),p=tw(e)&&!!u((z=oe(e.payload))==null?void 0:z.text_content),h=gd(a).some(w=>w.id===r||w.remoteId===r),_=h&&(p||d),g=Xm(a,r),x=_v(a,r,e),S=u(x.cleanup_status)==="deleted",C=Zm(l,e);return{...e,version:C.version,version_key:C.version_key,version_rank:C.version_rank,retention_status:g.retention_status,retention_until:g.retention_until,last_retention_action:g.last_retention_action,cleanup_status:u(x.cleanup_status)||null,deleted_at:u(x.deleted_at)||null,cleanup_reason:u(x.cleanup_reason)||null,cleanup_event_id:u(x.cleanup_event_id)||null,delivery_summary:Sd(e),access:{previewable:!S&&_,downloadable:!S&&h&&d,openable:!S&&h&&d,access_policy:h?"qimingclaw-local-artifact-policy":"runtime-projection-readonly",last_access_status:u(o==null?void 0:o.status)||null}}}function qw(e){const a=oe(e.payload),l=oe(a==null?void 0:a.delivery),r=u(l==null?void 0:l.source_tool),o=u(l==null?void 0:l.uri),d=u(l==null?void 0:l.filename);return{artifact_id:e.id,subject_id:e.runId??e.taskId??e.planId??e.id,kind:e.kind,name:e.name||d||u((a==null?void 0:a.name)??(a==null?void 0:a.title))||_m(e.uri??o)||e.kind,uri:e.uri||o||u((a==null?void 0:a.uri)??(a==null?void 0:a.url)??(a==null?void 0:a.path))||void 0,value:u((a==null?void 0:a.value)??(a==null?void 0:a.summary)??(a==null?void 0:a.text))||e.uri||o||e.name||d||e.kind,plan_id:e.planId??null,task_id:e.taskId??null,run_id:e.runId??null,created_at:e.createdAt,source:"qimingclaw-runtime",source_type:"artifact",source_label:r?`File Server: ${r}`:dd("artifact",e.id),sync_status:e.syncStatus,sync_error:e.syncError,payload:e.payload,...Av(l)}}function Ev(e,a){return Tv([...pm(e.id,e.payload,e.finishedAt??e.startedAt??e.createdAt,{sourceType:"run",sourceLabel:dd("run",e.id),planId:e.planId,taskId:e.taskId,runId:e.id}),...a.filter(l=>l.runId===e.id).flatMap(l=>pm(e.id,l.payload,l.occurredAt,{sourceType:"event",sourceEventId:l.id,sourceLabel:`Event ${l.kind}`,planId:l.planId,taskId:l.taskId,runId:l.runId}))])}function pm(e,a,l,r){const o=oe(a);if(!o)return typeof a=="string"?[Yf(e,a,0,l,r)]:[];const p=[...we(o.artifacts),...we(o.outputs),...we(o.files),...we(o.attachments)].map((h,_)=>Yf(e,h,_,l,r));for(const h of["artifact","outputPath","output_path","filePath","file_path","path","uri","url"])o[h]&&p.push(Yf(e,o[h],p.length,l,r));return p.filter(h=>h.name||h.uri||h.value)}function Yf(e,a,l,r,o){const d=oe(a);if(d){const h=oe(d.delivery),_=u(h==null?void 0:h.source_tool),g=u(h==null?void 0:h.uri),x=u(d.uri??d.url??d.path??d.filePath??d.file_path??d.outputPath??d.output_path),S=u(d.name??d.title??d.filename)||u(h==null?void 0:h.filename)||_m(x||g)||`产物 ${l+1}`;return{artifact_id:u(d.artifact_id??d.id)||`artifact-${mt(e)}-${l+1}`,subject_id:u(d.subject_id)||e,kind:u(d.kind??d.type)||"artifact",name:S,uri:x||g,value:u(d.value??d.summary??d.text)||x||g,created_at:(u(d.created_at??d.createdAt)||r)??void 0,source:"qimingclaw-runtime",source_type:u(d.source_type)||(o==null?void 0:o.sourceType)||"payload",source_event_id:u(d.source_event_id)||(o==null?void 0:o.sourceEventId)||null,source_label:_?`File Server: ${_}`:u(d.source_label)||(o==null?void 0:o.sourceLabel)||dd("payload",e),plan_id:u(d.plan_id)||(o==null?void 0:o.planId)||null,task_id:u(d.task_id)||(o==null?void 0:o.taskId)||null,run_id:u(d.run_id)||(o==null?void 0:o.runId)||null,...Av(h)}}const p=String(a??"").trim();return{artifact_id:`artifact-${mt(e)}-${l+1}`,subject_id:e,kind:"artifact",name:_m(p)||`产物 ${l+1}`,uri:Lw(p)?p:void 0,value:p,created_at:r??void 0,source:"qimingclaw-runtime",source_type:(o==null?void 0:o.sourceType)||"payload",source_event_id:(o==null?void 0:o.sourceEventId)||null,source_label:(o==null?void 0:o.sourceLabel)||dd("payload",e),plan_id:(o==null?void 0:o.planId)||null,task_id:(o==null?void 0:o.taskId)||null,run_id:(o==null?void 0:o.runId)||null}}function Av(e){return e?{delivery_status:u(e.status)||null,delivery_stage:u(e.stage)||null,workspace_id:u(e.workspace_id)||null,project_id:u(e.project_id)||null,file_id:u(e.file_id)||null,version:u(e.version)||null,file_size:vt(e.size),source_tool:u(e.source_tool)||null}:{}}function dd(e,a){const l=a?` ${a}`:"";switch(e){case"artifact":return`Artifact${l}`;case"event":return`Event${l}`;case"run":return`Run${l}`;case"task":return`Task${l}`;case"plan":return`Plan${l}`;default:return`Payload${l}`}}function Tv(e){const a=new Set;return e.filter(l=>{const r=l.artifact_id||`${l.subject_id}:${l.uri||l.value||l.name}`;return!r||a.has(r)?!1:(a.add(r),!!(l.name||l.uri||l.value))})}function oe(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function we(e){return Array.isArray(e)?e:[]}function u(e){return typeof e=="string"?e.trim():""}function vt(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"&&e.trim()){const a=Number(e);return Number.isFinite(a)?a:null}return null}function Lw(e){return/^(file|https?):\/\//i.test(e)||e.includes("/")||e.includes("\\")}function Bw(e){return e?/^file:\/\//i.test(e)?!0:/^[a-z][a-z0-9+.-]*:/i.test(e)?!1:e.startsWith("/")||/^[a-z]:[\\/]/i.test(e):!1}function _m(e){return e?(e.split(/[?#]/)[0]||e).split(/[\\/]/).filter(Boolean).pop()??"":""}function mt(e){const a=e.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"");if(a)return a;let l=0;for(let r=0;r<e.length;r+=1)l=l*31+e.charCodeAt(r)>>>0;return`item-${l.toString(36)}`}function Pm(e,a=null){const l=(e??"").trim().toLowerCase(),r=Hm(a);return l?r.filter(o=>o.title.toLowerCase().includes(l)||o.plan_id.toLowerCase().includes(l)||(o.objective??"").toLowerCase().includes(l)):r}function Uw(e){const a=new Map(In(e).map(o=>[o.id,o])),l=new Map(Ct(e).map(o=>[o.id,o])),r=rt(e).map(o=>{const d=o.taskId?l.get(o.taskId):void 0,p=o.planId??(d==null?void 0:d.planId)??null,h=p?a.get(p):void 0,_=(d==null?void 0:d.status)??(h==null?void 0:h.status)??(o.kind.includes("failed")||o.kind.includes("error")?"failed":"running"),g=ot(_);return{id:o.id,time:ad(o.occurredAt),plan_title:(h==null?void 0:h.title)??"qimingclaw 本地执行",task_title:(d==null?void 0:d.title)??o.message,step_title:o.kind,detail:o.message||o.kind,status:_,status_label:la(_),status_tone:g,updated_at:o.occurredAt,conversation_id:p??(d==null?void 0:d.id)??o.id}});return r.length>0?r:Ct(e).map(o=>{const d=o.planId?a.get(o.planId):void 0;return{id:`task-event-${o.id}`,time:ad(o.updatedAt),plan_title:(d==null?void 0:d.title)??"qimingclaw 本地任务",task_title:o.title,step_title:o.assignedSkillId||"qimingclaw-runtime",detail:o.syncError||`${o.title}${la(o.status)},同步状态 ${o.syncStatus}`,status:o.status,status_label:la(o.status),status_tone:ot(o.status),updated_at:o.updatedAt,conversation_id:o.planId??o.id}})}function Iw(e,a,l){if(Gl(l)){const d=Uw(l);return ry(d,l)}if(!a)return[{id:"event-await-confirmation",time:"待确认",plan_title:"任务设置",task_title:"等待确认今日任务",step_title:"选择职责",detail:"请先确认今天要执行的任务,确认后数字员工会开始执行。",status:"pending",status_label:"待确认",status_tone:"waiting",updated_at:new Date().toISOString(),conversation_id:null}];const o=e.filter(d=>d.selected).map(d=>({id:`event-${d.id}`,time:d.status==="running"?"实时":"待执行",plan_title:d.title,task_title:d.title,step_title:d.status==="running"?"同步 qimingclaw 服务状态":"等待调度",detail:d.status==="running"?`${d.result_text}。快照时间:${(l==null?void 0:l.generatedAt)??"未连接 bridge"}`:"任务已确认,将在后续阶段接入 ACP/MCP 真实执行事件。",status:d.status==="running"?"running":"pending",status_label:d.status==="running"?"执行中":"待执行",status_tone:d.status==="running"?"running":"waiting",updated_at:new Date().toISOString(),conversation_id:d.conversation_id}));return ry(o,l)}function ry(e,a){const l=a==null?void 0:a.sync;if(l&&(l.pending>0||l.failed>0||l.lastSyncAt)){const r=(l.recentFailures||[]).slice(0,3).map(sc).join("");return[...e,{id:"event-management-sync",time:l.syncing?"实时":"同步",plan_title:"管理端联动",task_title:"同步数字员工本地状态",step_title:l.failed>0?"同步补偿":"outbox 推送",detail:[hd(a),l.lastSyncError?`错误:${l.lastSyncError}`:"",r?`最近失败:${r}`:""].filter(Boolean).join("。"),status:l.failed>0?"failed":l.syncing||l.pending>0?"running":"completed",status_label:l.failed>0?"异常":l.syncing||l.pending>0?"同步中":"已同步",status_tone:l.failed>0?"danger":l.syncing||l.pending>0?"running":"success",updated_at:l.lastSyncAt??new Date().toISOString(),conversation_id:"qimingclaw-management-sync"}]}return e}function Hw(e,a){return(e.some(r=>r.selected)?e.filter(r=>r.selected):e).map(r=>{const o=a.filter(g=>g.conversation_id===r.conversation_id),d=o.filter(g=>g.status==="running").length,p=o.filter(g=>g.status==="completed").length,h=o.filter(g=>ot(g.status)==="danger").length,_=Math.max(0,o.length-d-p-h);return{id:r.id,plan_id:r.id,title:r.title,description:r.summary,selected:r.selected,total_count:Math.max(o.length,1),success_count:p,failure_count:h,running_count:d,waiting_count:o.length===0?1:_,latest_status_label:h>0?"异常":d>0?"执行中":p>0?"已完成":"待执行",latest_status_tone:h>0?"danger":d>0?"running":p>0?"success":"waiting",business_summary:r.result_text,ai_summary:"当前由 qimingclaw 本地运行记录生成。"}})}function Gw(e){return e.map(a=>({id:`run-detail-${a.id}`,time:a.time,task_name:a.task_title,step_name:a.step_title,operation_name:a.plan_title,status_label:a.status_label,status_tone:a.status_tone,business_detail:a.detail,raw_detail:a.detail,updated_at:a.updated_at,conversation_id:a.conversation_id}))}function Rv(e,a){const l=(a==null?void 0:a.uiState)??Nt(),r=l.confirmedDates[e]??null,o=!!r,d=c1(l,e,a),p=Iw(d,o,a),h=Hw(d,p),_=l.reportGeneratedAtByDate[e]??null,g=d.filter(K=>K.selected).length,x=p.filter(K=>K.status==="running").length,S=p.filter(K=>ot(K.status)==="success").length,C=p.filter(K=>ot(K.status)==="danger").length,z=In(a).length+Ct(a).length,w=Gl(a),D=a==null?void 0:a.sync,N=Zw(wi(a)),k=Gw(p),A=Ll(a),O=A.filter(K=>K.requires_human_action||K.status==="degraded"),te=A.filter(K=>K.running).length,I=e1(a),ie=t1(a),Z=ie.filter(K=>K.can_retry||K.can_skip||K.can_cancel);return{source:"live",date:e,employee:{name:l.profile.name,title:"数字员工",major:"qimingclaw 客户端任务执行",company:l.profile.company,position:l.profile.position,current_status:l.profile.currentStatus,current_status_label:l.profile.currentStatus==="resting"?"休息中":"工作中",motto:"承接客户端任务,调度 ACP 与 MCP 能力完成执行。"},workday:{confirmed:o,confirmed_at:r,current_status:l.profile.currentStatus,current_status_label:l.profile.currentStatus==="resting"?"休息中":"工作中",status_label:w?C>0||O.length>0?"有异常":x>0?"执行中":"已同步":o?"运行中":"待确认",status_tone:w?C>0||O.length>0?"danger":x>0?"running":"success":o?"running":"waiting",summary:w?`当前日期 ${Vo(e)} 已读取 ${z} 条 qimingclaw 本地运行记录,${ey(A)}`:o?`当前日期 ${Vo(e)} 已确认 ${g} 项任务。`:`当前日期 ${Vo(e)} 待确认今日任务。`,bubble_text:w?O.length>0?`我发现 ${O.length} 项常驻服务需要处理,会把影响到的任务标出来。`:"我已接入 qimingclaw 本地运行记录,会持续展示真实任务、事件和同步状态。":o?"我已接入 qimingclaw 客户端执行链路,正在等待真实 Run/Event 数据接入。":"请先确认今天要执行的任务,我会把它们映射到 qimingclaw 执行链路。"},overview:{title:"今日执行",status_label:w?"本地真实记录":o?"真实数据":"待确认",status_tone:C>0?"danger":w||o?"success":"waiting",metrics:[{label:"已选任务",value:String(g)},{label:"运行记录",value:String(p.length)},{label:"执行中",value:String(x)},{label:"已完成",value:String(S)},{label:"异常",value:String(C)},{label:"待同步",value:String((D==null?void 0:D.pending)??0)},{label:"同步异常",value:String((D==null?void 0:D.failed)??0)},{label:"服务运行",value:`${te}/${A.length}`},{label:"需处理服务",value:String(O.length)},{label:"Plan Agent",value:String(I.length)},{label:"Task Agent",value:String(ie.length)},{label:"可治理任务",value:String(Z.length)}]},managed_services:A,plan_agents:I,task_agents:ie,duties:d,events:p,execution_summaries:h,run_details:k,decisions:$w(l,e,a),delivery:{headline:w?"qimingclaw 本地记录已接入":o?"qimingclaw 执行链路已接入":"等待确认任务设置",summary:w?"数字员工页面正在读取本地 Plan / Task / Run / Event并同步展示管理端 outbox 状态。":"当前阶段已将数字员工页面切换到 qimingclaw adapter并开始读取客户端服务状态。",lines:["已吸收 sgRobot 数字员工 UI 和核心展示模型。",w?`已读取本地记录Plan ${In(a).length} / Task ${Ct(a).length} / Run ${Hn(a).length} / Event ${rt(a).length}`:"已建立 qimingclaw workday/plans/tasks/skills API adapter。",Ol(a,"agent","Agent"),Ol(a,"mcp","MCP"),Ol(a,"computerServer","Computer Server"),ey(A),...O.slice(0,3).map(Qj),`Plan Agent${I.length} 个计划代理Task Agent${ie.length} 个任务代理。`,Z[0]?`待治理任务:${Z[0].title},下一步 ${Z[0].next_action}`:"Task Agent暂无需要重试、跳过或取消的任务。",hd(a),`活跃会话:${(a==null?void 0:a.sessions.active)??0} / ${(a==null?void 0:a.sessions.total)??0}`],artifacts:[{name:"数字员工运行摘要",status:_?"ready":"pending"},...N.slice(0,4).map(K=>({name:K.name,status:_?"ready":"available",uri:K.uri??null,source_label:K.source_label??null,source_type:K.source_type??null}))]},route_summary:N1(a),diagnostic_summary:p1(a),daily_report:Yw({date:e,state:l,generatedAt:_,selectedCount:g,events:p,executionSummaries:h,runDetails:k,artifactSources:N,successCount:S,failureCount:C,runningCount:x,snapshot:a})}}function Yw(e){const a=`${Vo(e.date)} 飞天数字员工日报`,l=e.generatedAt?`今日已完成数字员工页面到 qimingclaw adapter 的接入,并读取了 qimingclaw 服务状态。${hd(e.snapshot)}`:"日报将在生成后汇总任务选择、运行明细和后续接入建议。",r={task_count:e.selectedCount,execution_count:e.events.length,success_count:e.successCount,failure_count:e.failureCount,running_count:e.runningCount},o=e.events.map(S=>`${S.time} ${S.task_title}${S.detail}`),d=e.generatedAt?Xw(e.date,e.generatedAt):null,p=Wm(e.date),h=ep(e.date),_=tp(e.date),g={report_id:d,artifact_id:d?`${d}:artifact:text`:null,html_artifact_id:d?`${d}:artifact:html`:null,pdf_artifact_id:d?`${d}:artifact:pdf`:null,event_id:d?`${d}:event:generated`:null,date:e.date,title:a,report_schedule_time:e.state.reportScheduleTime,status:e.generatedAt?"ready":"not_generated",generated_at:e.generatedAt,generated_by:e.generatedAt?"ai":"fallback",model:"qimingclaw-adapter",source:"qimingclaw",summary:l,totals:r,task_sections:e.executionSummaries,detail_lines:o,artifact_sources:e.artifactSources,download_filename:p,html_filename:h,pdf_filename:_,text_content:null,html_content:null,pdf_available:!!e.generatedAt,pdf_url:null},x=e.generatedAt?Kw(g,e.runDetails,e.artifactSources):null;return{...g,text_content:x,html_content:x?$v(g,x):null}}function Kw(e,a,l){return[e.title||`${e.date} 数字员工日报`,`日期:${e.date}`,`生成时间:${e.generated_at||"暂未生成"}`,`生成来源:${e.generated_by==="ai"?"AI":"qimingclaw adapter"}`,"","## 摘要",e.summary||"暂无摘要。","","## 指标",`任务总数:${e.totals.task_count}`,`执行次数:${e.totals.execution_count}`,`成功次数:${e.totals.success_count}`,`失败次数:${e.totals.failure_count}`,`运行中:${e.totals.running_count??0}`,"","## 任务汇总",...e.task_sections.length>0?e.task_sections.map(r=>`- ${r.title}${r.latest_status_label},执行 ${r.total_count} 次,成功 ${r.success_count},失败 ${r.failure_count}${r.ai_summary||r.business_summary||""}`):["暂无任务汇总。"],"","## 运行明细",...a.length>0?a.map(r=>`- ${r.time||"--:--"} ${r.task_name} / ${r.step_name||r.operation_name||"任务执行"}${r.status_label}${r.business_detail}`):["暂无运行明细。"],"","## 产物来源",...l.length>0?l.map(r=>`- ${r.name}${r.source_label||r.source_type||"未知来源"}${r.uri?`${r.uri}`:""}`):["暂无产物来源。"],"","## 详情",...(e.detail_lines??[]).length>0?e.detail_lines:["暂无详情。"]].join(`
`)}function Wm(e){return`qimingclaw-digital-report-${e}.txt`}function ep(e){return`qimingclaw-digital-report-${e}.html`}function tp(e){return`qimingclaw-digital-report-${e}.pdf`}function $v(e,a){const l=a.split(`
`).map(r=>r.startsWith("## ")?`<h2>${Ir(r.slice(3))}</h2>`:r.startsWith("- ")?`<li>${Ir(r.slice(2))}</li>`:r.trim()?`<p>${Ir(r)}</p>`:"").join(`
`);return`<!doctype html><html><head><meta charset="utf-8"><title>${Ir(e.title)}</title><style>body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;padding:32px;color:#172033;}article{max-width:860px;margin:0 auto;}h1{font-size:28px;}h2{font-size:18px;margin-top:24px;}li{margin:4px 0;}</style></head><body><article><h1>${Ir(e.title)}</h1>${l}</article></body></html>`}function Qw(e,a){const d=`${e.title}
${a}`.replace(/[^\x20-\x7E\n]/g,"?").slice(0,3600).split(`
`).slice(0,48).map((x,S)=>`BT /F1 11 Tf 48 ${760-S*14} Td (${Vw(x)}) Tj ET`).join(`
`)||"BT /F1 11 Tf 48 760 Td (Daily Report) Tj ET",p=["1 0 obj << /Type /Catalog /Pages 2 0 R >> endobj","2 0 obj << /Type /Pages /Kids [3 0 R] /Count 1 >> endobj","3 0 obj << /Type /Page /Parent 2 0 R /MediaBox [0 0 595 842] /Resources << /Font << /F1 4 0 R >> >> /Contents 5 0 R >> endobj","4 0 obj << /Type /Font /Subtype /Type1 /BaseFont /Helvetica >> endobj",`5 0 obj << /Length ${d.length} >> stream
${d}
endstream endobj`];let h=9;const _=["0000000000 65535 f "];for(const x of p)_.push(`${String(h).padStart(10,"0")} 00000 n `),h+=x.length+1;const g=`%PDF-1.4
${p.join(`
`)}
xref
0 ${p.length+1}
${_.join(`
`)}
trailer << /Size ${p.length+1} /Root 1 0 R >>
startxref
${h}
%%EOF`;return window.btoa(g)}function Vw(e){return e.replace(/\\/g,"\\\\").replace(/\(/g,"\\(").replace(/\)/g,"\\)")}function Ir(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function Xw(e,a){return`daily-report:${e}:${mt(a)}`}function Zw(e){return e.slice(0,20).map(a=>({id:u(a.artifact_id)||`${u(a.subject_id)}:${u(a.uri??a.name)}`,name:u(a.name)||u(a.uri)||u(a.value)||"未命名产物",kind:u(a.kind)||null,uri:u(a.uri)||null,delivery_status:u(a.delivery_status)||null,delivery_stage:u(a.delivery_stage)||null,workspace_id:u(a.workspace_id)||null,project_id:u(a.project_id)||null,file_id:u(a.file_id)||null,version:u(a.version)||null,version_key:u(a.version_key)||null,version_rank:vt(a.version_rank),retention_status:u(a.retention_status)||null,retention_until:u(a.retention_until)||null,last_retention_action:u(a.last_retention_action)||null,cleanup_status:u(a.cleanup_status)||null,deleted_at:u(a.deleted_at)||null,cleanup_reason:u(a.cleanup_reason)||null,cleanup_event_id:u(a.cleanup_event_id)||null,file_size:typeof a.file_size=="number"?a.file_size:null,source_tool:u(a.source_tool)||null,source_label:u(a.source_label)||null,source_type:u(a.source_type)||null,source_event_id:u(a.source_event_id)||null,plan_id:u(a.plan_id)||null,task_id:u(a.task_id)||null,run_id:u(a.run_id)||null,created_at:u(a.created_at)||null,access:a.access,delivery_summary:a.delivery_summary??null}))}async function Jw(e,a){var _,g,x;const l=(a==null?void 0:a.uiState)??await yn()??Nt(),r=e.date||ac();e.action==="confirm_workday"&&(l.selectedDutyIdsByDate[r]=e.duty_ids??[],l.confirmedDates[r]=new Date().toISOString()),e.action==="update_profile"&&(l.profile={name:e.name||l.profile.name,company:e.company||l.profile.company,position:e.position||l.profile.position,currentStatus:e.current_status||l.profile.currentStatus}),e.action==="update_report_schedule"&&(l.reportScheduleTime=e.report_schedule_time||l.reportScheduleTime),e.action==="generate_daily_report"&&(e.duty_ids&&(l.selectedDutyIdsByDate[r]=e.duty_ids),e.report_schedule_time&&(l.reportScheduleTime=e.report_schedule_time),l.reportGeneratedAtByDate[r]=new Date().toISOString()),e.action==="decide_approval"&&e.decision_id&&(l.decisionResultsByDate=l.decisionResultsByDate??{},l.decisionResultsByDate[r]={...l.decisionResultsByDate[r]??{},[e.decision_id]:e.decision||"resolved"});const o=e.action==="decide_approval"?await Ww(e,a):null,d=await Gn(l,e.action,r,e.action==="decide_approval"?{decision_id:e.decision_id,decision:e.decision,acp_permission:o}:void 0),p={...a??{generatedAt:new Date().toISOString(),services:{},sessions:{total:0,active:0,items:[]}},uiState:d};e.action==="decide_approval"&&await((x=(g=(_=window.QimingClawBridge)==null?void 0:_.digital)==null?void 0:g.submitApprovalDecision)==null?void 0:x.call(g,{approval_id:e.decision_id,decision:e.decision,date:r,actor:"digital_employee_operator",source:"sgrobot-digital-adapter",acp_permission:o}).catch(()=>null));const h=Rv(r,p);return e.action==="generate_daily_report"&&h.daily_report&&await Fw(h.daily_report),h}async function Fw(e){var a,l,r;if(!(!e.report_id||!e.generated_at||!e.text_content))try{await((r=(l=(a=window.QimingClawBridge)==null?void 0:a.digital)==null?void 0:l.recordDailyReport)==null?void 0:r.call(l,{reportId:e.report_id,date:e.date,title:e.title,summary:e.summary,totals:e.totals,detailLines:e.detail_lines,artifactSources:e.artifact_sources??[],filename:e.download_filename||Wm(e.date),textContent:e.text_content,htmlFilename:e.html_filename||ep(e.date),htmlContent:e.html_content||$v(e,e.text_content),pdfFilename:e.pdf_filename||tp(e.date),pdfContentBase64:Qw(e,e.text_content),generatedAt:e.generated_at,reportScheduleTime:e.report_schedule_time,source:e.source??"qimingclaw",model:e.model??"qimingclaw-adapter"}))}catch(o){console.warn("[qimingclawAdapter] record daily report failed:",o)}}async function Pw(e){var h,_;const a=u(e.reportId);if(!a)return{eventId:""};const l=(_=(h=window.QimingClawBridge)==null?void 0:h.digital)==null?void 0:_.recordDailyReportDelivery,r={reportId:a,action:e.action,status:e.status,actor:e.actor??"digital_employee_operator",endpoint:e.endpoint??"management-console",remoteId:e.remoteId??null,message:e.message??null},o=l?await l(r)??{eventId:""}:{eventId:""},d=await yn()??Nt(),p=new Date().toISOString();return await Gn({...Ul(d),dailyReportWorkbenchStateById:{...d.dailyReportWorkbenchStateById??{},[a]:{status:e.action==="confirm"?"confirmed":e.action==="request_approval"?"approval_requested":"sent",last_action:e.action,actor:r.actor,reason:e.message??null,updated_at:p}}},"daily_report_workbench_action_recorded",void 0,{report_id:a,action:e.action,status:e.status,event_id:o.eventId||null}),o}async function Ww(e,a){var p,h;if(!e.decision_id||!e.decision)return null;const l=eC(e.decision_id,a);if(!l)return null;const r=tC(l);if(!r)return null;const o=nC(e.decision),d=(h=(p=window.QimingClawBridge)==null?void 0:p.digital)==null?void 0:h.respondPermission;if(!d)return null;try{const _=await d(r.sessionId,r.permissionId,o);return{permission_id:r.permissionId,session_id:r.sessionId,response:o,success:(_==null?void 0:_.success)!==!1,error:_==null?void 0:_.error}}catch(_){return{permission_id:r.permissionId,session_id:r.sessionId,response:o,success:!1,error:_ instanceof Error?_.message:String(_)}}}function eC(e,a){return Yl(a).find(l=>u(l.approval_id)===e)??null}function tC(e){const a=oe(e.payload),l=oe(a==null?void 0:a.payload),r=u(a==null?void 0:a.permissionId)||u(a==null?void 0:a.permission_id)||u(a==null?void 0:a.id)||u(l==null?void 0:l.permissionId)||u(l==null?void 0:l.permission_id)||u(l==null?void 0:l.id),o=u(a==null?void 0:a.sessionId)||u(a==null?void 0:a.session_id)||u(l==null?void 0:l.sessionId)||u(l==null?void 0:l.session_id),d=u(a==null?void 0:a.source);return!r||!o||d&&d!=="acp-permission"?null:{permissionId:r,sessionId:o}}function nC(e){const a=e.toLowerCase();return a.includes("always")?"always":a.includes("reject")||a.includes("deny")?"reject":"once"}async function cy(e,a,l,r={}){const o=lC(a),d=`plan-action-${mt(e)}-${mt(a)}-${Date.now()}`;return o?Kl({command_kind:o,context_refs:{plan_id:e},payload:{...r,plan_id:e,requested_action:`plan_${a}`,action_endpoint:`/api/debug/plan/${e}/${a}`},correlation_id:d},l):{command_id:`qimingclaw-digital-plan-action-${Date.now()}`,accepted:!1,correlation_id:d,message:`暂不支持计划动作:${a}`,error:"unsupported_command"}}async function aC(e,a,l,r={}){const o=iC(a),d=Ct(l).find(S=>S.id===e),p=bd(Hn(l),e),h=(d==null?void 0:d.planId)??(u(r.plan_id)||void 0),_=(p==null?void 0:p.id)??(u(r.run_id)||void 0),g=d?al(d):u(r.step_id)||void 0,x=`task-action-${mt(e)}-${mt(a)}-${Date.now()}`;return o?Kl({command_kind:o,context_refs:{plan_id:h,task_id:e,run_id:_,step_id:g},payload:{...r,task_id:e,plan_id:h??r.plan_id,run_id:_??r.run_id,step_id:g??r.step_id,requested_action:`task_${a}`,action_endpoint:`/api/task/${e}/${a}`},correlation_id:x},l):{command_id:`qimingclaw-digital-task-action-${Date.now()}`,accepted:!1,correlation_id:x,message:`暂不支持任务动作:${a}`,error:"unsupported_command"}}function lC(e){switch(e.toLowerCase()){case"submit":return"submit_plan";case"approve":return"approve_plan";case"activate":return"activate_plan";case"pause":return"pause_plan";case"resume":return"resume_plan";case"cancel":return"cancel_plan";case"amend":return"amend_plan";default:return null}}function iC(e){switch(e.toLowerCase()){case"retry":return"retry_task";case"skip":return"skip_task";case"pause":return"pause_task";case"resume":return"resume_task";case"cancel":return"cancel_task";case"start":return"start_run";default:return null}}function sC(e,a){const l=rt(a).filter(r=>r.planId===e&&r.kind.startsWith("governance_")).sort((r,o)=>o.occurredAt.localeCompare(r.occurredAt)||o.createdAt.localeCompare(r.createdAt)).map(r=>{const o=oe(r.payload)??{},d=oe(o.result)??{},p=u(o.commandKind)||r.kind.replace(/^governance_/,"");return{revision_id:r.id,plan_id:e,event_id:r.id,command_kind:p,action:p.replace(/_plan$/,""),status:u(d.status)||u(o.status)||"recorded",message:r.message,created_at:r.occurredAt,payload:o}});return{plan_id:e,revisions:l}}async function rC(e=80){var l;const a=(l=window.QimingClawBridge)==null?void 0:l.digital;if(!(a!=null&&a.listRouteDecisions))return{has_route_decision_state:!1,decisions:[]};try{return{has_route_decision_state:!0,decisions:await a.listRouteDecisions({limit:e})??[]}}catch(r){return console.warn("[qimingclawAdapter] list route decisions failed:",r),{has_route_decision_state:!1,decisions:[]}}}async function wd(e=80){var l;const a=(l=window.QimingClawBridge)==null?void 0:l.digital;if(!(a!=null&&a.listRouteInterventions))return{has_route_intervention_state:!1,interventions:[]};try{return{has_route_intervention_state:!0,interventions:await a.listRouteInterventions({limit:e})??[]}}catch(r){return console.warn("[qimingclawAdapter] list route interventions failed:",r),{has_route_intervention_state:!1,interventions:[]}}}async function Dv(e,a,l){const r=u(a.decision)||"reject",o=u(a.approval_id)||dC(e,l),p=(await wd(160)).interventions.find(C=>C.route_decision_id===e)??null,h=np(e,l),_=(h==null?void 0:h.decision)??zv(p,e);if(!_){const C=await hm({routeDecisionId:e,approvalId:o,decision:r,commandAccepted:!1,commandError:"route_intervention_missing_context",actor:a.actor??"digital_employee_operator",occurredAt:new Date().toISOString()});return{accepted:!1,route_decision_id:e,intervention:C,error:"invalid_context",message:"入口路由上下文缺失,无法恢复执行。"}}await uC(o,r,a.actor??"digital_employee_operator",l);let g=null,x=null;if(gm(r)){const C=Mv(_,(h==null?void 0:h.body)??oC(_),l);C.command?(g=await Kl(C.command,l),g.accepted||(x=g.error||"route_intervention_command_rejected")):x=C.reasonCode||"route_intervention_missing_context"}const S=await hm({routeDecisionId:e,approvalId:o,decision:r,createdCommandId:(g==null?void 0:g.command_id)??null,commandAccepted:(g==null?void 0:g.accepted)===!0,commandError:x,blockedReason:_.blocked_reason??null,policyResult:_.policy_result??null,policySource:_.policy_source??null,matchedIntent:_.matched_intent??null,routeKind:_.route_kind,intentKind:_.intent_kind,reasonCodes:_.reason_codes,candidateSkills:_.candidate_skills,contextRefs:_.context_refs,entrypoint:_.entrypoint??null,actor:a.actor??"digital_employee_operator",correlationId:_.correlation_id,payload:{comment:a.comment??null},occurredAt:new Date().toISOString()});return{accepted:S.intervention_status!=="failed",route_decision_id:e,intervention:S,command:g,error:x||void 0,message:S.resolution_duplicate?"入口路由干预已处理。":gm(r)?g!=null&&g.command_id?"入口路由干预已通过并恢复执行。":"入口路由干预已通过。":"入口路由干预已拒绝。"}}async function cC(e,a){const l=u(e.decision)||"mark_reviewed";if(!["mark_reviewed","dismiss","retry_policy_check"].includes(l))return{ok:!1,decision:l,total:0,recorded:0,rejected:0,items:[],reason_codes:["invalid_route_intervention_batch_decision"]};const r=Le([...we(e.route_decision_ids),...we(e.routeDecisionIds)]).slice(0,50);if(r.length===0)return{ok:!1,decision:l,total:0,recorded:0,rejected:0,items:[],reason_codes:["route_decision_ids_required"]};const o=await wd(200),d=[];for(const h of r){const _=np(h,a),g=o.interventions.find(C=>C.route_decision_id===h)??null,x=(_==null?void 0:_.decision)??zv(g,h);if(!x){d.push({route_decision_id:h,ok:!1,status:"rejected",error:"route_intervention_missing_context",reason_codes:["route_intervention_missing_context"]});continue}const S=await hm({routeDecisionId:h,approvalId:x.approval_id??(g==null?void 0:g.approval_id)??null,decision:l,commandAccepted:!1,commandError:null,blockedReason:x.blocked_reason??null,policyResult:x.policy_result??null,policySource:x.policy_source??null,matchedIntent:x.matched_intent??null,routeKind:x.route_kind,intentKind:x.intent_kind,reasonCodes:x.reason_codes,candidateSkills:x.candidate_skills,contextRefs:x.context_refs,entrypoint:x.entrypoint??null,actor:u(e.actor)||"digital_employee_operator",correlationId:x.correlation_id,payload:{comment:u(e.comment)||null,batch_decision:l},occurredAt:new Date().toISOString()});d.push({route_decision_id:h,ok:S.intervention_status!=="failed",status:S.intervention_status,intervention:S,reason_codes:S.reason_codes??[]})}const p=d.filter(h=>h.ok===!0).length;return{ok:p>0,decision:l,total:r.length,recorded:p,rejected:r.length-p,items:d,reason_codes:Le(d.flatMap(h=>we(h.reason_codes)))}}async function hm(e){var l;const a=(l=window.QimingClawBridge)==null?void 0:l.digital;return a!=null&&a.recordRouteInterventionResolution?a.recordRouteInterventionResolution(e):{route_decision_id:e.routeDecisionId,approval_id:e.approvalId??null,route_kind:e.routeKind??"ChatOnly",intent_kind:e.intentKind??"chat",policy_result:e.policyResult??null,intervention_status:e.commandError?"failed":gm(e.decision)?"approved":"rejected",decision:e.decision,created_command_id:e.createdCommandId??null,blocked_reason:e.blockedReason??null,matched_intent:e.matchedIntent??null,policy_source:e.policySource??null,reason_codes:e.reasonCodes??[],candidate_skills:e.candidateSkills??[],context_refs:e.contextRefs??{},entrypoint:e.entrypoint??null,actor:e.actor??null,correlation_id:e.correlationId??null,approval_status:null,recorded_at:e.occurredAt??new Date().toISOString(),resolved_at:e.occurredAt??new Date().toISOString(),resolution_duplicate:!1}}function np(e,a){const l=rt(a).find(p=>{if(p.kind!=="route_decision")return!1;const h=oe(p.payload)??{};return fm(h,p).id===e});if(!l)return null;const r=oe(l.payload)??{},o=fm(r,l),d=oe(r.envelope)??{};return{decision:o,body:{entrypoint:o.entrypoint??"chat",actor:o.actor??void 0,text:u(d.text)||void 0,payload:oe(d.payload)??{},attachments:we(d.attachments).filter(p=>typeof p=="string"),timestamp:o.recorded_at,correlation_id:o.correlation_id,idempotency_key:`route-intervention:${o.id}`,context_refs:o.context_refs}}}function zv(e,a){return e?{id:a,route_kind:e.route_kind,intent_kind:e.intent_kind,reason_codes:e.reason_codes??[],candidate_skills:e.candidate_skills??[],context_refs:e.context_refs??{},created_command_id:e.created_command_id,correlation_id:e.correlation_id||a,creates_plan:e.route_kind==="PlanControl"||e.route_kind==="PlanExecution",creates_task_run:e.route_kind==="DirectRun"||e.route_kind==="PlanExecution",approval_mode:e.approval_id?"manual":null,policy_result:e.policy_result,policy_source:e.policy_source,blocked_reason:e.blocked_reason,approval_id:e.approval_id,matched_intent:e.matched_intent,recorded_at:e.recorded_at,entrypoint:e.entrypoint,actor:e.actor}:null}function oC(e){return{entrypoint:e.entrypoint??"chat",actor:e.actor??void 0,payload:{},attachments:[],timestamp:e.recorded_at,correlation_id:e.correlation_id,idempotency_key:`route-intervention:${e.id}`,context_refs:e.context_refs}}function dC(e,a){const l=np(e,a);if(l!=null&&l.decision.approval_id)return l.decision.approval_id;const r=cc(a).find(o=>u(o.route_decision_id)===e);return u(r==null?void 0:r.approval_id)||null}async function uC(e,a,l,r){var p,h,_;if(!e)return;const o=ac(),d=(r==null?void 0:r.uiState)??await yn()??Nt();d.decisionResultsByDate=d.decisionResultsByDate??{},d.decisionResultsByDate[o]={...d.decisionResultsByDate[o]??{},[e]:a},await Gn(d,"decide_approval",o,{decision_id:e,decision:a,actor:l}),await((_=(h=(p=window.QimingClawBridge)==null?void 0:p.digital)==null?void 0:h.submitApprovalDecision)==null?void 0:_.call(h,{approval_id:e,decision:a,date:o,actor:l,source:"sgrobot-route-intervention"}).catch(()=>null))}function gm(e){return["approve","approved","accept","accepted"].includes(e.toLowerCase())}async function fC(e,a){var te,I,ie,Z,K;const l=e.timestamp||new Date().toISOString(),r=e.correlation_id||`route-${Date.now()}`,o=e.idempotency_key||r,d=gC(e),p=yC(e,d,a),h=await vC(p.candidateSkills),_=h.allCandidatesDisabled?[...p.reasonCodes,"candidate_skills_disabled"]:p.reasonCodes,g={id:`route-decision-${mt(o)}`,route_kind:p.routeKind,intent_kind:p.intentKind,reason_codes:_,candidate_skills:h.candidateSkills,context_refs:d,created_command_id:null,correlation_id:r,creates_plan:p.createsPlan,creates_task_run:p.createsTaskRun,approval_mode:null,policy_result:"accepted",policy_source:null,blocked_reason:null,approval_id:null,matched_intent:null,recorded_at:l,entrypoint:e.entrypoint??null,actor:e.actor??null},x=await Rj({routeDecisionId:g.id,routeKind:g.route_kind,intentKind:g.intent_kind,reasonCodes:g.reason_codes,candidateSkills:g.candidate_skills,contextRefs:g.context_refs,correlationId:r,idempotencyKey:e.idempotency_key,entrypoint:e.entrypoint??null,actor:e.actor??null,source:"qimingclaw-ingress-route",payload:{text:e.text??null,payload:e.payload??null,attachments:e.attachments??[]},occurredAt:l}),S=u(x.decision)||"allowed";g.policy_result=x.policy_result||(S==="allowed"?"accepted":S),g.policy_source=x.policy_source??((te=x.policy)==null?void 0:te.source)??null,g.blocked_reason=x.blocked_reason??null,g.approval_id=x.approval_id??null,g.matched_intent=x.matched_intent??null,g.reason_codes=Le([...g.reason_codes,...x.reason_codes??[]]);const C=((I=x.policy)==null?void 0:I.preferred_route_kinds)??[];C.length>0&&!C.includes(g.route_kind)&&(g.reason_codes=Le([...g.reason_codes,"route_kind_not_preferred"]));const z=S==="allowed"&&((ie=x.policy)==null?void 0:ie.auto_create_governance_commands)!==!1;S==="allowed"&&((Z=x.policy)==null?void 0:Z.auto_create_governance_commands)===!1&&(g.reason_codes=Le([...g.reason_codes,"route_command_auto_create_disabled"]));const w=z?Mv(g,e,a):{command:null,reasonCode:S==="allowed"?"route_command_auto_create_disabled":`route_policy_${g.policy_result}`},D=w.command?await Kl(w.command,a):null;D!=null&&D.accepted&&D.command_id?(g.created_command_id=D.command_id,g.reason_codes=Le([...g.reason_codes,"route_action_mapped"])):w.reasonCode&&(g.reason_codes=Le([...g.reason_codes,w.reasonCode]));const N=(K=window.QimingClawBridge)==null?void 0:K.digital,A=(N!=null&&N.recordRouteDecision?await N.recordRouteDecision({id:g.id,idempotencyKey:e.idempotency_key,correlationId:r,routeKind:g.route_kind,intentKind:g.intent_kind,reasonCodes:g.reason_codes,candidateSkills:g.candidate_skills,contextRefs:g.context_refs,createdCommandId:g.created_command_id,createsPlan:g.creates_plan,createsTaskRun:g.creates_task_run,approvalMode:g.approval_mode,policyResult:g.policy_result,policySource:g.policy_source,blockedReason:g.blocked_reason,approvalId:g.approval_id,matchedIntent:g.matched_intent,entrypoint:g.entrypoint,actor:g.actor,message:`入口路由决策:${g.route_kind} / ${g.intent_kind}`,envelope:{text:e.text??null,payload:e.payload??null,attachments:e.attachments??[]},recordedAt:l}):null)??g,O=hC(D);return S!=="allowed"?{accepted:!1,envelope:{entrypoint:e.entrypoint??"chat",text:e.text??null,payload:e.payload??null,attachments:e.attachments??[],context_refs:d},response_kind:"route_decision",route_decision:A,command:null,created_plan_id:null,created_schedule_id:null,created_task_ids:[],created_run_ids:[],projection_name:null,projection_payload:null,error:"policy_blocked",message:S==="approval_required"?`入口路由需要审批:${A.route_kind} / ${A.intent_kind}`:`入口路由已被策略阻断:${A.route_kind} / ${A.intent_kind}`}:{accepted:!0,envelope:{entrypoint:e.entrypoint??"chat",text:e.text??null,payload:e.payload??null,attachments:e.attachments??[],context_refs:d},response_kind:"route_decision",route_decision:A,command:D,created_plan_id:O.createdPlanId,created_schedule_id:O.createdScheduleId,created_task_ids:O.createdTaskIds,created_run_ids:O.createdRunIds,projection_name:null,projection_payload:null,message:D!=null&&D.command_id?`已记录入口路由并映射治理动作:${A.route_kind} / ${A.intent_kind}`:`已记录入口路由:${A.route_kind} / ${A.intent_kind}`}}function Mv(e,a,l){if(e.reason_codes.includes("candidate_skills_disabled"))return{command:null,reasonCode:"route_action_not_mapped"};const r=e.context_refs??{},o=oe(a.payload)??{},d=_n({...o,source:"qimingclaw-ingress-route",route_decision_id:e.id,route_kind:e.route_kind,intent_kind:e.intent_kind,reason_codes:e.reason_codes,ingress_text:a.text??null}),p=(h,_)=>({command_kind:h,context_refs:_n({...r,..._}),payload:_n({...d,..._}),correlation_id:e.correlation_id,idempotency_key:`route-command:${e.id}`});if(e.route_kind==="PlanExecution"&&e.intent_kind==="schedule"){const h=u(r.schedule_id)||u(o.schedule_id)||u(o.scheduleId);if(!h)return{command:null,reasonCode:"route_action_missing_context"};const _="run_schedule_now",g=Kf(_);return g?{command:null,reasonCode:g}:{command:p(_,{schedule_id:h}),reasonCode:"route_action_mapped"}}if(e.route_kind==="PlanExecution"&&e.intent_kind==="execute"){const h=u(r.step_id)||u(o.step_id)||u(o.stepId),_=u(r.task_id)||u(o.task_id)||u(o.taskId)||mC(l,h);if(!_)return{command:null,reasonCode:"route_action_missing_context"};const g=Ct(l).find(C=>C.id===_)??null,x="start_run",S=Kf(x);return S?{command:null,reasonCode:S}:{command:p(x,{plan_id:u(r.plan_id)||(g==null?void 0:g.planId)||u(o.plan_id)||u(o.planId),task_id:_,step_id:h||(g?al(g):""),run_id:u(r.run_id)||u(o.run_id)||u(o.runId)}),reasonCode:"route_action_mapped"}}if(e.route_kind==="PlanControl"&&e.intent_kind==="control"){const h=pC(a),_=u(r.task_id)||u(o.task_id)||u(o.taskId),g=u(r.plan_id)||u(o.plan_id)||u(o.planId),x=_C(h,!!_);if(!x||!_&&!g)return{command:null,reasonCode:"route_action_missing_context"};const S=Kf(x);return S?{command:null,reasonCode:S}:{command:p(x,{plan_id:g,task_id:_,step_id:u(r.step_id)||u(o.step_id)||u(o.stepId),run_id:u(r.run_id)||u(o.run_id)||u(o.runId)}),reasonCode:"route_action_mapped"}}return{command:null,reasonCode:"route_action_not_mapped"}}function mC(e,a){var r;return!a||!ji(e).some(o=>o.id===a&&o.status.toLowerCase()==="ready")?"":((r=Ct(e).find(o=>al(o)===a))==null?void 0:r.id)??""}function pC(e){const a=oe(e.payload)??{};return[e.text,a.action,a.command,a.intent,a.requested_action].map(u).filter(Boolean).join(" ").toLowerCase()}function _C(e,a){return a?Vt(e,["retry","重试"])?"retry_task":Vt(e,["skip","跳过"])?"skip_task":Vt(e,["pause","暂停"])?"pause_task":Vt(e,["resume","恢复"])?"resume_task":Vt(e,["cancel","取消"])?"cancel_task":Vt(e,["start","run","execute","begin","启动","开始","执行"])?"start_run":null:Vt(e,["submit","提交"])?"submit_plan":Vt(e,["approve","批准","同意"])?"approve_plan":Vt(e,["pause","暂停"])?"pause_plan":Vt(e,["resume","恢复"])?"resume_plan":Vt(e,["cancel","取消"])?"cancel_plan":Vt(e,["amend","edit","revise","修改","调整"])?"amend_plan":Vt(e,["activate","start","run","execute","启动","开始","执行"])?"activate_plan":null}function hC(e){const a=oe(e==null?void 0:e.result)??{},l=Le([a.task_id,a.taskId,...we(a.dispatched_tasks).map(r=>{var o,d;return((o=oe(r))==null?void 0:o.task_id)??((d=oe(r))==null?void 0:d.taskId)})]);return{createdPlanId:u(a.plan_id)||u(a.planId)||null,createdScheduleId:u(a.schedule_id)||u(a.scheduleId)||null,createdTaskIds:l,createdRunIds:Le([a.run_id,a.runId])}}function gC(e){const a=oe(e.payload)??{},l=oe(e.context_refs)??{};return _n({...l,entrypoint:e.entrypoint??l.entrypoint,plan_id:u(l.plan_id)||u(a.plan_id)||u(a.planId),task_id:u(l.task_id)||u(a.task_id)||u(a.taskId),run_id:u(l.run_id)||u(a.run_id)||u(a.runId),step_id:u(l.step_id)||u(a.step_id)||u(a.stepId),schedule_id:u(l.schedule_id)||u(a.schedule_id)||u(a.scheduleId)})}function yC(e,a,l){const r=oe(e.payload)??{},o=`${e.text??""} ${u(r.action)} ${u(r.command)} ${u(r.intent)}`.toLowerCase(),d=Object.keys(r).length>0,p=["plan_id","task_id","step_id","schedule_id"].some(g=>!!u(a[g])),h=u(a.step_id),_=h&&ji(l).some(g=>g.id===h&&g.status.toLowerCase()==="ready");return p&&Vt(o,["start","run","retry","skip","cancel","pause","resume","approve","启动","开始","执行","重试","跳过","取消","暂停","恢复","批准"])?bs("PlanControl","control",["context_control_action"],a,r,!1,!1):e.entrypoint==="cron"||Vt(o,["cron","schedule","scheduled","定时","调度","周期"])?bs("PlanExecution","schedule",["scheduled_entrypoint"],a,r,!1,!0):Vt(o,["status","progress","result","report","artifact","memory","状态","进度","结果","日报","产物","记忆"])?bs("ProjectionQuery","query",["projection_query_text"],a,r,!1,!1):_||Vt(o,["execute","dispatch","delegate","run task","执行","开始","委托","派发"])?bs("PlanExecution","execute",_?["ready_step_context"]:["execution_text"],a,r,!1,!0):!e.text&&!d&&!p?bs("AskClarification","chat",["empty_ingress"],a,r,!1,!1):bs("ChatOnly","chat",["default_chat"],a,r,!1,!1)}function bs(e,a,l,r,o,d,p){return{routeKind:e,intentKind:a,reasonCodes:l,candidateSkills:bC(e,r,o),createsPlan:d,createsTaskRun:p}}function bC(e,a,l){const r=Le([...we(a.skill_ids),...we(a.skills),...we(a.candidate_skills),...we(l.skill_ids),...we(l.skills),...we(l.candidate_skills),u(a.skill_id),u(l.skill_id)]);return r.length>0?r:e==="PlanControl"?["qimingclaw-acp-session"]:e==="ProjectionQuery"?["qimingclaw-artifact-reporting"]:e==="PlanExecution"?["qimingclaw-computer-control"]:[]}async function vC(e){var l;if(e.length===0)return{candidateSkills:e,allCandidatesDisabled:!1};const a=(l=window.QimingClawBridge)==null?void 0:l.digital;if(!(a!=null&&a.getSkillCapabilities))return{candidateSkills:e,allCandidatesDisabled:!1};try{const r=await a.getSkillCapabilities();if(!Array.isArray(r==null?void 0:r.skills))return{candidateSkills:e,allCandidatesDisabled:!1};const o=new Map;for(const p of r.skills){const h=u(p.skill_id);h&&o.set(h,p.enabled!==!1)}const d=e.filter(p=>o.get(p)!==!1);return{candidateSkills:d,allCandidatesDisabled:e.length>0&&d.length===0}}catch(r){return console.warn("[qimingclawAdapter] filter route candidate skills failed:",r),{candidateSkills:e,allCandidatesDisabled:!1}}}function Le(e){return[...new Set(e.map(u).filter(Boolean))]}function Vt(e,a){return a.some(l=>e.includes(l.toLowerCase()))}function _n(e){return Object.fromEntries(Object.entries(e).filter(([,a])=>a!=null&&a!==""))}const xC=new Set(["submit_plan","approve_plan","amend_plan","resume_plan","pause_plan","retry_task","skip_task","resume_task","provide_task_input"]),kC=new Set(["activate_plan","run_schedule_now","start_run","cancel_run","cancel_task","delete_schedule"]);function Kf(e){return xC.has(e)||kC.has(e)?null:"route_action_policy_blocked"}function SC(e){return["activate_plan","run_schedule_now","start_run","cancel_run","cancel_task"].includes(e)?"high":["delete_schedule","pause_schedule","skip_task","retry_task","provide_task_input"].includes(e)?"medium":"normal"}async function Kl(e,a){var C,z,w,D,N,k,A,O,te,I,ie,Z,K,pe,P,q,ce,R,M,ne,B,U;const l=`qimingclaw-digital-${e.command_kind}-${Date.now()}`,r=e.correlation_id||l,o=je((C=e.context_refs)==null?void 0:C.plan_id)||je((z=e.payload)==null?void 0:z.plan_id)||je((w=e.payload)==null?void 0:w.original_plan_id),d=je((D=e.context_refs)==null?void 0:D.task_id)||je((N=e.payload)==null?void 0:N.task_id)||je((k=e.payload)==null?void 0:k.original_task_id),p=je((A=e.context_refs)==null?void 0:A.run_id)||je((O=e.payload)==null?void 0:O.run_id)||je((te=e.payload)==null?void 0:te.latest_run_id),h=je((I=e.context_refs)==null?void 0:I.step_id)||je((ie=e.payload)==null?void 0:ie.step_id)||je((Z=e.payload)==null?void 0:Z.stepId),_=je((K=e.context_refs)==null?void 0:K.schedule_id)||je((pe=e.payload)==null?void 0:pe.schedule_id),g=await Il({actionKind:`governance.${e.command_kind}`,actionLabel:`治理命令:${e.command_kind}`,riskLevel:SC(e.command_kind),reasonCodes:["governance_command"],actor:u((P=e.payload)==null?void 0:P.actor)||"digital_employee_ui",source:"sgrobot-digital-adapter",planId:o||null,taskId:d||null,runId:p||null,correlationId:r,payload:{command_kind:e.command_kind,schedule_id:_||null,step_id:h||null}}),x=Hl(g);if(x){const le={command_id:l,accepted:!1,correlation_id:r,error:"policy_blocked",message:x.status==="approval_required"?"高风险治理命令需要审批后执行。":"高风险治理命令已被风险策略拒绝。",result:x};return await va(e,le),le}if(e.command_kind==="create_plan"){const le=`qimingclaw-local-${mt(je((q=e.payload)==null?void 0:q.title)||o||"plan")}-${Date.now()}`,de=Ml(l,r,"已在 qimingclaw 兼容层创建本地计划草稿。",{plan_id:le,status:"draft",source:"qimingclaw-adapter",requested_action:(ce=e.payload)==null?void 0:ce.requested_action,original_plan_id:((R=e.payload)==null?void 0:R.original_plan_id)??o});return await va(e,de),de}if(e.command_kind==="activate_plan"||e.command_kind==="run_schedule_now"){const le=o||((M=Im(a)[0])==null?void 0:M.plan_id)||((ne=nl(a)[0])==null?void 0:ne.plan_id)||"qimingclaw-client-readiness",de=await qv(le,a,{recordCommand:!1}),Te=Ml(l,r,"已映射为 qimingclaw 本地任务激活。",{plan_id:le,schedule_id:e.command_kind==="run_schedule_now"?_:null,status:"active",dispatched_tasks:de.dispatched_tasks,source:"qimingclaw-adapter"});return await va(e,Te),Te}if(e.command_kind==="create_schedule"){const le=Ml(l,r,"已记录 qimingclaw 兼容定时任务请求。",{schedule_id:_||`qimingclaw-schedule-${Date.now()}`,plan_id:o,status:"enabled",source:"qimingclaw-adapter"});return await va(e,le),le}if(["update_schedule","pause_schedule","resume_schedule","delete_schedule"].includes(e.command_kind)){const le=e.command_kind==="pause_schedule"?"paused":e.command_kind==="delete_schedule"?"deleted":"enabled",de=Ml(l,r,`已接受 ${e.command_kind},并更新 qimingclaw 本地定时任务状态。`,{schedule_id:_||`qimingclaw-schedule-${Date.now()}`,plan_id:o,status:le,source:"qimingclaw-adapter"});return await va(e,de),de}if(["submit_plan","approve_plan","amend_plan","resume_plan","pause_plan","cancel_plan"].includes(e.command_kind)){const le=Ml(l,r,`已接受 ${e.command_kind},当前由 qimingclaw 本地 adapter 记录兼容状态。`,{plan_id:o,status:e.command_kind==="approve_plan"?"approved":e.command_kind==="submit_plan"?"reviewing":"accepted",source:"qimingclaw-adapter"});return await va(e,le),le}if(["retry_task","skip_task","pause_task","resume_task","provide_task_input","cancel_task","start_run","cancel_run"].includes(e.command_kind)){const le=d||((B=Ct(a)[0])==null?void 0:B.id)||"qimingclaw-task-agent",de=Ct(a).find(se=>se.id===le),Te=p||((U=bd(Hn(a),le))==null?void 0:U.id)||null,E=h||(de?al(de):null),J=Ml(l,r,`已接受 ${e.command_kind},并记录到 qimingclaw Task Agent 控制平面。`,{plan_id:o||(de==null?void 0:de.planId)||"qimingclaw-task-agent-plan",task_id:le,run_id:Te,step_id:E,task_agent_id:`task-agent-${mt(le)}`,status:jC(e.command_kind),next_action:wC(e.command_kind),source:"qimingclaw-task-agent"});return await va(e,J),J}const S={command_id:l,accepted:!1,correlation_id:r,error:"missing_capability",message:`qimingclaw 数字员工兼容层尚未支持 ${e.command_kind}`};return await va(e,S),S}function Ml(e,a,l,r){return{command_id:e,accepted:!0,correlation_id:a,message:l,result:r}}function jC(e){switch(e){case"retry_task":case"start_run":case"resume_task":return"running";case"skip_task":return"skipped";case"cancel_task":case"cancel_run":return"cancelled";case"pause_task":return"paused";default:return"accepted"}}function wC(e){switch(e){case"retry_task":return"start_retry_run";case"skip_task":return"continue_next_task";case"pause_task":return"await_resume";case"resume_task":return"watch_progress";case"provide_task_input":return"resume_with_input";case"cancel_task":case"cancel_run":return"close_execution";case"start_run":return"watch_progress";default:return"record_control_event"}}function je(e){return typeof e=="string"&&e.trim()?e.trim():""}function Ov(e,a=null){var o,d,p,h;if(Gl(a)){const _=In(a).find(k=>k.id===e),g=ll(e,a),x=Vb(a,e),S=Rs(e,a).runs,C=rt(a).filter(k=>k.planId===e||g.some(A=>A.task_id===k.taskId)),z=(_==null?void 0:_.title)??((o=g[0])==null?void 0:o.title)??e,w=(_==null?void 0:_.objective)??"qimingclaw 本地运行记录",D=[];let N=2;if(x.length>0){const k=new Set(x.map(O=>O.id));for(const O of x){D.push({seq:N++,lane:"qimingclaw",label:O.title,sub_label:`${la(O.status)} · 依赖 ${O.dependsOn.length} · 技能 ${O.preferredSkillIds.length}`,timestamp:O.updatedAt,color:"#22c55e",source_type:"plan_step"});for(const te of g.filter(I=>I.step_id===O.id))D.push(Qf(te,N++))}const A=g.filter(O=>!k.has(O.step_id||""));if(A.length>0){D.push({seq:N++,lane:"qimingclaw",label:"未归属步骤",sub_label:`包含 ${A.length} 个任务`,timestamp:((d=A[0])==null?void 0:d.updated_at)??new Date().toISOString(),color:"#22c55e",source_type:"plan_step"});for(const O of A)D.push(Qf(O,N++))}}else for(const k of g)D.push(Qf(k,N++));return{plan_id:e,plan_title:z,plan_status:_?yd(_,ic(a,_.id)):(p=g[0])==null?void 0:p.status,plan_objective:w,lanes:[{key:"intent",label:"目标",color:"#38bdf8"},{key:"qimingclaw",label:"qimingclaw",color:"#22c55e"},{key:"execution",label:"执行",color:"#f59e0b"}],steps:[{seq:1,lane:"intent",label:z,sub_label:w,timestamp:(_==null?void 0:_.createdAt)??((h=g[0])==null?void 0:h.created_at)??new Date().toISOString(),color:"#38bdf8",source_type:"plan"},...D,...S.map((k,A)=>({seq:N+A,lane:"execution",label:k.lifecycle||"Run",sub_label:k.run_id,timestamp:k.completed_at??k.created_at,color:"#f59e0b",source_type:"run"}))],events:C.map(k=>({event_id:k.id,kind:k.kind,occurred_at:k.occurredAt,message:k.message}))}}const l=rc(nl(a).find(_=>_.plan_id===e)??nl(a)[0],a),r=new Date().toISOString();return{plan_id:l.plan_id,plan_title:l.title,plan_status:l.status,plan_objective:l.objective,lanes:[{key:"intent",label:"目标",color:"#38bdf8"},{key:"qimingclaw",label:"qimingclaw",color:"#22c55e"},{key:"execution",label:"执行",color:"#f59e0b"}],steps:[{seq:1,lane:"intent",label:l.title,sub_label:l.objective,timestamp:l.created_at,color:"#38bdf8",source_type:"plan"},{seq:2,lane:"qimingclaw",label:"接入客户端能力",sub_label:"ACP / MCP / computer server adapter",timestamp:r,color:"#22c55e",source_type:"adapter"},{seq:3,lane:"execution",label:l.status==="running"?"已读取 qimingclaw 服务状态":"等待调度",sub_label:Jb(l,a),timestamp:r,color:"#f59e0b",source_type:"run"}],events:[{event_id:`${l.plan_id}-adapter-event`,kind:"qimingclaw_adapter",occurred_at:r,message:"数字员工页面已通过 qimingclaw adapter 获取数据。"}]}}function Qf(e,a){return{seq:a,lane:"qimingclaw",label:e.title,sub_label:`${la(e.status)} · ${e.assigned_skill_id||"qimingclaw-runtime"}`,timestamp:e.updated_at,color:"#22c55e",source_type:"task"}}function CC(e,a=null){const l=Ct(a).find(p=>p.id===e);if(!l)return Ov(e,a);const r=l.planId?In(a).find(p=>p.id===l.planId):null,o=Hn(a).filter(p=>p.taskId===l.id),d=rt(a).filter(p=>p.taskId===l.id||o.some(h=>h.id===p.runId));return{plan_id:l.planId??l.id,plan_title:(r==null?void 0:r.title)??l.title,plan_status:l.status,plan_objective:(r==null?void 0:r.objective)??"qimingclaw 本地任务记录",lanes:[{key:"task",label:"任务",color:"#38bdf8"},{key:"execution",label:"执行",color:"#22c55e"},{key:"event",label:"事件",color:"#f59e0b"}],steps:[{seq:1,lane:"task",label:l.title,sub_label:`${la(l.status)} · ${l.assignedSkillId||"qimingclaw-runtime"}`,timestamp:l.updatedAt,color:"#38bdf8",source_type:"task"},...o.map((p,h)=>({seq:h+2,lane:"execution",label:p.status||"Run",sub_label:p.id,timestamp:p.finishedAt??p.startedAt??p.createdAt,color:"#22c55e",source_type:"run"})),...d.map((p,h)=>({seq:o.length+h+2,lane:"event",label:p.kind,sub_label:p.message,timestamp:p.occurredAt,color:"#f59e0b",source_type:"event"}))],events:d.map(p=>({event_id:p.id,kind:p.kind,occurred_at:p.occurredAt,message:p.message}))}}async function qv(e,a=null,l={}){const r=(a==null?void 0:a.uiState)??await yn()??Nt(),o=ac(),d=Hm(a).find(x=>x.plan_id===e),p=Date.now(),h=`dispatch-${e}-${p}`,_=new Set(r.selectedDutyIdsByDate[o]??[]);_.add(e),r.selectedDutyIdsByDate[o]=[..._],r.confirmedDates[o]=r.confirmedDates[o]??new Date().toISOString(),await Gn(r,"confirm_workday",o);const g=ll(e,a).map(x=>({task_id:x.task_id,title:x.title,status:x.status==="pending"?"running":x.status}));return l.recordCommand!==!1&&await va({command_kind:"activate_plan",context_refs:{plan_id:e},payload:{plan_id:e,title:d==null?void 0:d.title,objective:d==null?void 0:d.objective,requested_action:"dispatch_plan"},correlation_id:h},Ml(`qimingclaw-digital-dispatch-${mt(e)}-${p}`,h,"已将数字员工模板执行写入 qimingclaw 本地运行记录。",{plan_id:e,status:"active",dispatched_tasks:g,source:"qimingclaw-adapter"})),{ok:!0,plan_id:e,source_plan_id:e,dispatched_tasks:g}}async function NC(e,a=null){var w,D,N,k,A,O,te;const l=u(e),r=await Il({actionKind:"plan_step.dispatch_ready_steps",actionLabel:"派发 Ready PlanStep",riskLevel:"high",reasonCodes:["plan_step_dispatch"],actor:"digital_employee_ui",source:"sgrobot-digital-adapter",planId:l||null,correlationId:`plan-step-dispatch:${l||"unknown"}`,payload:{plan_id:l||null,trigger_source:"manual"}}),o=Hl(r);if(o)return{ok:!1,plan_id:l||null,trigger_source:"manual",orchestration_id:u(o.event_id)||`risk-blocked-${mt(l||"unknown")}`,candidates:0,dispatched:0,skipped:0,failed:1,dispatched_step_ids:[],skipped_step_ids:[],failed_step_ids:[],errors:[{stepId:l||"unknown",error:String(o.error||o.status||"risk_policy_blocked")}]};const d=l?await((N=(D=(w=window.QimingClawBridge)==null?void 0:w.digital)==null?void 0:D.dispatchPlanReadySteps)==null?void 0:N.call(D,l).catch(()=>null)):null;if(d)return d;const p=new Date().toISOString(),h=`manual-ready-steps-${mt(l||"unknown")}-${mt(p)}`,_=kd(a).filter(I=>u(I.plan_id)===l&&u(I.status).toLowerCase()==="ready"),g=xa(a),x=Bl(g),S={ok:!0,plan_id:l||null,trigger_source:"manual",orchestration_id:h,candidates:_.length,dispatched:0,skipped:0,failed:0,dispatched_step_ids:[],skipped_step_ids:[],failed_step_ids:[],errors:[]};if(!l||!x.enabled)return S.skipped=_.length,S.skipped_step_ids=_.map(I=>u(I.step_id)).filter(Boolean),S;const C=Math.max(1,Math.min(Math.floor(x.max_per_sweep),10));let z=0;for(const I of _){const ie=u(I.step_id),Z=u(I.task_id);if(z>=C||I.dispatchable!==!0||!Z){S.skipped+=1,ie&&((k=S.skipped_step_ids)==null||k.push(ie));continue}z+=1;try{const K=u(I.latest_run_id)||`${Z}:run:start_run:${mt(h)}`,pe=`manual-ready-step-${mt(ie)}-${Date.now()}`;await va({command_kind:"start_run",context_refs:{plan_id:l,task_id:Z,run_id:K,step_id:ie},payload:{source:"digital-home-plan-orchestration",plan_id:l,task_id:Z,run_id:K,step_id:ie,trigger_source:"manual",orchestration_id:h,candidate_count:_.length},correlation_id:pe},Ml(pe,pe,"已手动推进 Ready PlanStep。",{plan_id:l,task_id:Z,run_id:K,step_id:ie,status:"running",trigger_source:"manual",orchestration_id:h,source:"qimingclaw-plan-orchestration"})),S.dispatched+=1,ie&&((A=S.dispatched_step_ids)==null||A.push(ie))}catch(K){S.failed+=1,ie&&((O=S.failed_step_ids)==null||O.push(ie)),(te=S.errors)==null||te.push({stepId:ie,error:K instanceof Error?K.message:"dispatch failed"})}}return S}function EC(e,a=null){const l=In(a).find(o=>o.id===e);if(l){const o=rt(a).filter(d=>d.planId===e).slice(0,12);return[{role:"user",content:`查看 qimingclaw 本地任务:${l.title}`,created_at:l.createdAt},...o.map(d=>({role:"assistant",content:`${d.kind}${d.message}`,created_at:d.occurredAt}))]}const r=nl(a).find(o=>o.plan_id===e)??nl(a)[0];return[{role:"user",content:`执行数字员工任务:${r.title}`,created_at:r.created_at},{role:"assistant",content:`已接入 qimingclaw adapter。目标${r.objective??r.title}`,created_at:new Date().toISOString()}]}const AC=9e3,Ds=2e4;class TC extends Error{constructor(){super("Unauthorized"),this.name="UnauthorizedError"}}async function be(e,a={}){const l=await vj(e,a);if(l!==void 0)return l;const{timeoutMs:r=AC,...o}=a,d=cj(),p=new Headers(o.headers),h=new AbortController;let _=!1;const g=window.setTimeout(()=>{_=!0,h.abort()},r),x=o.signal,S=()=>h.abort();x&&(x.aborted?h.abort():x.addEventListener("abort",S,{once:!0})),d&&p.set("Authorization",`Bearer ${d}`),o.body&&typeof o.body=="string"&&!p.has("Content-Type")&&p.set("Content-Type","application/json");let C;try{C=await fetch(`${fj()}${uj}${e}`,{...o,headers:p,signal:h.signal})}catch(z){throw z instanceof DOMException&&z.name==="AbortError"&&_?new Error(`API request timed out after ${r/1e3}s: ${e}`):z}finally{window.clearTimeout(g),x==null||x.removeEventListener("abort",S)}if(C.status===401)throw oj(),window.dispatchEvent(new Event("qimingclaw-digital-unauthorized")),new TC;if(!C.ok){const z=await C.text().catch(()=>"");let w=z||C.statusText;if(z)try{const D=JSON.parse(z);typeof D.message=="string"&&D.message.trim()?w=D.message.trim():typeof D.error=="string"&&D.error.trim()&&(w=D.error.trim())}catch{w=z}throw new Error(`API ${C.status}: ${w}`)}if(C.status!==204)return C.json()}function Lv(e,a){if(e!==null&&typeof e=="object"&&!Array.isArray(e)&&a in e){const l=e[a];if(l!==void 0)return l}return e}function Bv(){return be("/api/scheduler/jobs").then(e=>Lv(e,"jobs"))}function RC(e){return be(`/api/cron/${encodeURIComponent(e)}`,{method:"DELETE"})}function $C(e,a){return be(`/api/cron/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(a)}).then(l=>typeof l.job=="object"?l.job:l)}function DC(e,a=20){const l=new URLSearchParams({limit:String(a)});return be(`/api/cron/${encodeURIComponent(e)}/runs?${l}`).then(r=>Lv(r,"runs"))}function zC(){return be("/api/cron/settings")}function MC(e){return be("/api/cron/settings",{method:"PATCH",body:JSON.stringify(e)})}async function OC(){const[e,a]=await Promise.all([Bv(),zC().catch(()=>({enabled:!1,catch_up_on_startup:!1,max_run_history:20}))]),l=await Promise.all(e.slice(0,30).map(async o=>{const d=await DC(o.id,5).catch(()=>[]);return[o.id,d]})),r=new Map(l);return{items:e.map(o=>{const d=r.get(o.id)??[],p=d[0],h=o.schedule&&typeof o.schedule=="object"?o.schedule:{};return{schedule_id:o.id,name:o.name||o.id,enabled:o.enabled!==!1,status:o.enabled===!1?"paused":String(o.last_status||h.status||"enabled"),cron_expr:o.expression||String(h.expression||""),next_run:o.next_run||null,last_run:o.last_run||(p==null?void 0:p.finished_at)||(p==null?void 0:p.started_at)||null,last_status:o.last_status||(p==null?void 0:p.status)||null,latest_run_error:o.last_output||(p==null?void 0:p.output)||null,run_count:d.length,payload:{job:o,runs:d}}}),settings:a,source:"qimingclaw-adapter"}}function oy(e){return be(`/api/plan/${encodeURIComponent(e)}/messages`).then(a=>({messages:a.messages||[]}))}function qC(){return be("/api/route-decisions/interventions")}function LC(e,a){return be(`/api/route-decisions/${encodeURIComponent(e)}/intervention`,{method:"POST",body:JSON.stringify(a)})}function BC(e,a){return be("/api/route-decisions/interventions/batch",{method:"POST",body:JSON.stringify({route_decision_ids:e,...a})})}function UC(e={}){const a=new URLSearchParams;Object.entries(e).forEach(([r,o])=>{o!=null&&`${o}`.trim()!==""&&a.set(r,`${o}`)});const l=a.toString();return be(`/api/digital-employee/interventions/workbench${l?`?${l}`:""}`)}function IC(e={}){const a=new URLSearchParams;Object.entries(e).forEach(([r,o])=>{o!=null&&`${o}`.trim()!==""&&a.set(r,`${o}`)});const l=a.toString();return be(`/api/digital-employee/memory-governance${l?`?${l}`:""}`)}function HC(e,a,l={}){return be("/api/digital-employee/memory-governance/status/batch",{method:"POST",body:JSON.stringify({memory_ids:e,action:a,...l})})}function GC(e={}){const a=new URLSearchParams;Object.entries(e).forEach(([r,o])=>{o!=null&&`${o}`.trim()!==""&&a.set(r,`${o}`)});const l=a.toString();return be(`/api/digital-employee/skill-audit-workbench${l?`?${l}`:""}`)}function YC(e={}){const a=new URLSearchParams;Object.entries(e).forEach(([r,o])=>{o!=null&&`${o}`.trim()!==""&&a.set(r,`${o}`)});const l=a.toString();return be(`/api/digital-employee/ops-workbench${l?`?${l}`:""}`)}function KC(e,a,l={}){return be("/api/digital-employee/ops-workbench/actions/batch",{method:"POST",body:JSON.stringify({ops_ids:e,action:a,...l}),timeoutMs:Ds})}function QC(e={}){const a=new URLSearchParams;Object.entries(e).forEach(([r,o])=>{o!=null&&`${o}`.trim()!==""&&a.set(r,`${o}`)});const l=a.toString();return be(`/api/digital-employee/notifications/workbench${l?`?${l}`:""}`)}function VC(e,a,l={}){return be("/api/digital-employee/notifications/actions/batch",{method:"POST",body:JSON.stringify({notification_ids:e,action:a,...l}),timeoutMs:Ds})}function XC(e={}){const a=new URLSearchParams;Object.entries(e).forEach(([r,o])=>{o!=null&&`${o}`.trim()!==""&&a.set(r,`${o}`)});const l=a.toString();return be(`/api/digital-employee/daily-reports/workbench${l?`?${l}`:""}`)}function Xo(e){return be("/api/governance/command",{method:"POST",body:JSON.stringify(e)})}function ZC(e="unread"){return be(`/api/notifications?status=${encodeURIComponent(e)}`).then(a=>a.notifications??[])}function JC(){return be("/api/notifications/unread-count").then(e=>e.count??0)}function FC(){return be("/api/notifications/preferences")}function PC(e){return be("/api/notifications/preferences",{method:"PATCH",body:JSON.stringify(e)})}function WC(){return be("/api/notifications/updates/pull",{method:"POST"})}function Uv(e){return be("/api/notifications/desktop",{method:"POST",body:JSON.stringify(e)})}function eN(){return be("/api/notifications/desktop/status")}function tN(){return be("/api/notifications/desktop/settings/open",{method:"POST",body:JSON.stringify({})})}function nN(){return be("/api/plan-step/dispatch-policy")}function aN(e){return be("/api/plan-step/dispatch-policy",{method:"PATCH",body:JSON.stringify(e)})}function Iv(){return be("/api/plan-step/dispatch-policy/pull",{method:"POST"})}function Hv(){return be("/api/skill/policies/pull",{method:"POST"})}function Gv(){return be("/api/risk-approval/policy/pull",{method:"POST"})}function Yv(){return be("/api/risk-approval/policy")}function Kv(e){return be("/api/risk-approval/policy",{method:"PATCH",body:JSON.stringify(e)})}function Qv(){return be("/api/route-decision/policy/pull",{method:"POST"})}async function lN(){const[e,a]=await Promise.all([nN(),Yv()]);return{plan_step_dispatch_policy:e,risk_approval_policy:a,source:"qimingclaw-adapter",items:[{policy_id:"plan_step_dispatch",title:"PlanStep 派发策略",status:e.enabled?"enabled":"disabled",source:e.source,updated_at:e.updated_at,last_pulled_at:e.last_pulled_at,last_pull_error:e.last_pull_error,summary:`max_per_sweep=${e.max_per_sweep}; auto_dispatch_ready_steps=${e.auto_dispatch_ready_steps}`,payload:e},{policy_id:"risk_approval",title:"风险审批策略",status:a.enabled?"enabled":"disabled",source:a.source,updated_at:a.updated_at,last_pulled_at:a.last_pulled_at,last_pull_error:a.last_pull_error,summary:`approval_required=${a.approval_required_risk_levels.join(",")}; auto_reject_actions=${a.auto_reject_actions.length}`,payload:a},{policy_id:"route_decision",title:"入口路由策略",status:"pull_available",source:"remote_pull",summary:"通过 /api/route-decision/policy/pull 获取管理端路由策略快照。"},{policy_id:"skill",title:"技能策略",status:"pull_available",source:"remote_pull",summary:"通过 /api/skill/policies/pull 同步远端技能启停策略。"}]}}async function iN(){const e=[{policy_id:"plan_step_dispatch",run:Iv},{policy_id:"risk_approval",run:Gv},{policy_id:"route_decision",run:Qv},{policy_id:"skill",run:Hv}],a=[];for(const r of e)try{const o=await r.run(),d=o;a.push({policy_id:r.policy_id,ok:d.ok!==!1,error:d.error??null,result:o})}catch(o){a.push({policy_id:r.policy_id,ok:!1,error:o instanceof Error?o.message:String(o)})}const l=a.filter(r=>r.ok).length;return{ok:l>0,total:a.length,pulled:l,failed:a.length-l,items:a}}function sN(e={}){const a=new URLSearchParams;Object.entries(e).forEach(([r,o])=>{o!=null&&`${o}`.trim()!==""&&a.set(r,`${o}`)});const l=a.toString();return be(`/api/digital-employee/plan-step-graph${l?`?${l}`:""}`)}function rN(e,a={}){const l={plans:"/api/digital-employee/plans",tasks:"/api/digital-employee/tasks",runs:"/api/digital-employee/runs",events:"/api/digital-employee/events",artifacts:"/api/digital-employee/artifacts","artifact-groups":"/api/digital-employee/artifact-groups",approvals:"/api/digital-employee/approvals"},r=new URLSearchParams;Object.entries(a).forEach(([d,p])=>{p!=null&&`${p}`.trim()!==""&&r.set(d,`${p}`)});const o=r.toString();return be(`${l[e]}${o?`?${o}`:""}`)}function cN(e){return be(`/api/notifications/${encodeURIComponent(e)}/read`,{method:"POST"}).then(a=>a.ok??!1)}function oN(e){return be(`/api/notifications/${encodeURIComponent(e)}/dismiss`,{method:"POST"}).then(a=>a.ok??!1)}function Vv(e,a){return be(`/api/notifications/${encodeURIComponent(e)}/reply`,{method:"POST",body:JSON.stringify({content:a})})}function Ss(e){const a=e?`?date=${encodeURIComponent(e)}`:"";return be(`/api/digital-employee/workday${a}`,{timeoutMs:Ds})}function ql(e){return be("/api/digital-employee/workday/actions",{method:"POST",body:JSON.stringify(e)})}function dN(e,a={}){return be(`/api/digital-employee/managed-services/${encodeURIComponent(e)}/restart`,{method:"POST",body:JSON.stringify(a),timeoutMs:Ds})}function uN(e){return be(`/api/debug/plan/${encodeURIComponent(e)}/dispatch`,{method:"POST",timeoutMs:Ds})}function dy(e){return be(`/api/digital-employee/plans/${encodeURIComponent(e)}/dispatch-ready-steps`,{method:"POST",timeoutMs:Ds})}function fN(){return be("/api/debug/plans?limit=80").then(e=>e.plans??[])}function uy(e,a=50){const l=new URLSearchParams({limit:String(a),q:e});return be(`/api/debug/plans?${l}`).then(r=>r.plans??[])}function mN(e){const a=new URLSearchParams({limit:"50",plan_id:e});return be(`/api/debug/tasks?${a}`).then(l=>({tasks:l.tasks??[],runs:l.runs??[],total:l.total,truncated:l.truncated}))}function pN(e){return be(`/api/debug/plan/${encodeURIComponent(e)}/flow`)}function _N(){return be("/api/skill").then(e=>e.skills??[])}function hN(e,a){return be(`/api/skill/${encodeURIComponent(e)}/enabled`,{method:"POST",body:JSON.stringify({enabled:a})})}function gN(){return be("/api/cron/check",{method:"POST"})}function Xv(e,a){return be(`/api/digital-employee/artifacts/${encodeURIComponent(e)}/access`,{method:"POST",body:JSON.stringify({action:a})})}function Zv(e){return be("/api/digital-employee/daily-reports/delivery",{method:"POST",body:JSON.stringify(e)})}function Oo(e){return be(`/api/digital-employee/artifacts/${encodeURIComponent(e)}`).then(a=>a.item??null)}function qo(e){return be(`/api/digital-employee/artifacts/${encodeURIComponent(e)}/versions`).then(a=>a.items??[])}function yN(e,a,l={}){return be(`/api/digital-employee/artifacts/${encodeURIComponent(e)}/retention`,{method:"POST",body:JSON.stringify({action:a,...l})})}function Jv(e,a,l={}){return be("/api/digital-employee/artifacts/retention/batch",{method:"POST",body:JSON.stringify({artifact_ids:e,action:a,...l})})}function bN(e,a={}){return be(`/api/digital-employee/artifacts/${encodeURIComponent(e)}/cleanup`,{method:"POST",body:JSON.stringify(a)})}function vN(e,a,l={}){return be(`/api/digital-employee/approvals/${encodeURIComponent(e)}/actions`,{method:"POST",body:JSON.stringify({action:a,...l})})}function xN(e,a){return be(`/api/approval/${encodeURIComponent(e)}/conflict/resolve`,{method:"POST",body:JSON.stringify(a)})}function kN(e,a,l={}){return be("/api/approval/conflicts/resolve/batch",{method:"POST",body:JSON.stringify({approval_ids:e,resolution:a,...l})})}function SN(){return be("/api/approval/updates/pull",{method:"POST",body:JSON.stringify({})})}function Vf({className:e=""}){return s.jsx("div",{className:`de-gem ${e}`,"aria-hidden":"true"})}function jN(){return s.jsxs("div",{className:"de-stage","aria-hidden":"true",children:[s.jsx("div",{className:"de-stage-glow"}),s.jsx("div",{className:"de-stage-layer de-stage-layer-1"}),s.jsx("div",{className:"de-stage-layer de-stage-layer-2"}),s.jsx("div",{className:"de-stage-layer de-stage-layer-3"})]})}function wN({avatarSrc:e,altText:a="数字员工",statusLabel:l}){return s.jsxs("div",{className:"de-avatar-container","aria-hidden":"true",children:[s.jsxs("div",{className:"de-avatar-glass-space",children:[s.jsxs("div",{className:"de-avatar-roof",children:[s.jsx("div",{className:"de-avatar-roof-face"}),s.jsx("div",{className:"de-avatar-roof-glow"})]}),s.jsx("div",{className:"de-avatar-glass-left"}),s.jsx("div",{className:"de-avatar-glass-right"}),s.jsx(Vf,{className:"de-gem-1"}),s.jsx(Vf,{className:"de-gem-2"}),s.jsx(Vf,{className:"de-gem-3"})]}),l&&s.jsx("div",{className:"de-avatar-state-label",children:l}),s.jsx("img",{src:e,alt:a,className:"de-avatar-img"}),s.jsx(jN,{})]})}const CN=dj,NN=`${CN}/digital-assets`,gi=`${NN}/avatars`,EN="Asia/Shanghai",vs={comment:"",delegateTo:"",dueAt:""},AN=["skill","browser","call","redial","evidence","decision","reporting"],TN=[{id:"all",label:"全部"},{id:"running",label:"执行中"},{id:"success",label:"已完成"},{id:"danger",label:"异常"}],Fv="qimingclaw:digital-workday-guide-dismissed-date",Pv="sgrobot:digital-workday-guide-dismissed-date",RN=80,fy=300,$N=[{title:"确认日期",body:"先确认今天的值班日期,避免把昨天或明天的任务混在一起。"},{title:"选择任务",body:"从岗位职责里勾选今天要执行的任务,未接入能力保持待扩展。"},{title:"任务执行",body:"点击任务执行后,数字员工开始按已选任务推进工作。"},{title:"查看过程",body:"右侧滚动显示运行明细,任务中心可继续查看明细。"}],DN={skill:{id:"skill",label:"查看Skill",shortLabel:"技能",phase:"查看Skill与计划",src:`${gi}/states/employee-idle.png`,bubble:"我正在查看可用Skill、任务计划和今天要勾选的执行内容。"},browser:{id:"browser",label:"操作浏览器",shortLabel:"浏览器",phase:"操作浏览器执行",src:`${gi}/states/employee-browser.png`,bubble:"我正在打开页面、读取信息、填写表单,并把执行过程同步到右侧。"},call:{id:"call",label:"电话外呼",shortLabel:"外呼",phase:"电话外呼与重拨",src:`${gi}/states/employee-running.png`,bubble:"我正在按工单名单外呼现场人员,记录接通、未接通和后续重拨。"},redial:{id:"redial",label:"重拨跟进",shortLabel:"重拨",phase:"未接通人员重拨",src:`${gi}/states/employee-redial.png`,bubble:"我正在跟进未接通人员,按间隔重拨并更新每个人的通知状态。"},evidence:{id:"evidence",label:"数据核验",shortLabel:"核验",phase:"核验执行证据",src:`${gi}/states/employee-evidence.png`,bubble:"我正在核验页面数据、执行证据和任务结果,确认交付内容可信。"},decision:{id:"decision",label:"等待决策",shortLabel:"决策",phase:"等待人工确认",src:`${gi}/states/employee-decision.png`,bubble:"我已完成前置处理,现在需要人工确认后再继续推进。"},reporting:{id:"reporting",label:"汇报成果",shortLabel:"汇报",phase:"汇报今日成果",src:`${gi}/states/employee-reporting.png`,bubble:"我正在整理运行明细和日报,方便你直接查看成果和异常。"}};function ym(){const e=new Date;return[e.getFullYear(),String(e.getMonth()+1).padStart(2,"0"),String(e.getDate()).padStart(2,"0")].join("-")}function zN(e){return(e||ym()).split("-").join("/")}function xs(e){return e==="success"?"de-badge-success":e==="danger"?"de-badge-danger":e==="warning"||e==="running"?"de-badge-warning":"de-badge-info"}function MN(e){const a=typeof e=="number"&&Number.isFinite(e)?e:0;return new Intl.NumberFormat("zh-CN",{notation:"compact",maximumFractionDigits:1}).format(a)}function ON(e){const a=typeof e=="number"&&Number.isFinite(e)?e:0;return a>0&&a<.01?`$${a.toFixed(4)}`:`$${a.toFixed(2)}`}function qN(e){const a=Bt(e).toLowerCase();return["high","critical","risk","marked"].includes(a)?"danger":["medium","warning"].includes(a)?"warning":["normal","low","clear"].includes(a)?"success":"info"}function LN(e){const a=Bt(e).toLowerCase();return["high","critical","risk","marked"].includes(a)?"高风险":["medium","warning"].includes(a)?"中风险":["normal","low","clear"].includes(a)?"风险正常":"未标记风险"}function BN(e){const a=Bt(e).toLowerCase();return["timeout","overdue","expired"].includes(a)?"danger":["tracked","due_soon","warning"].includes(a)?"warning":["met","normal"].includes(a)?"success":"info"}function UN(e){const a=Bt(e).toLowerCase();return["timeout","overdue","expired"].includes(a)?"已超时":["tracked","due_soon","warning"].includes(a)?"SLA跟踪":["met","normal"].includes(a)?"SLA正常":"未设置SLA"}function Xf(e){const a=Bt(e).toLowerCase();return a==="comment"?"评论":a==="delegate"?"转交":a==="mark_timeout"?"标记超时":a==="mark_risk"?"标记风险":a==="clear_risk"?"清除风险":a||"暂无动作"}function IN(e){const a=Bt(e).toLowerCase();return a==="terminal_status_mismatch"?"终态不一致":a==="local_newer_status_mismatch"?"本地状态较新":a==="workflow_step_mismatch"?"审批步骤不一致":a||"跨端状态不一致"}function my(e){const a=Bt(e).toLowerCase();return a==="approved"?"已同意":a==="rejected"?"已驳回":a==="cancelled"?"已取消":a==="pending"?"待确认":a==="dismissed"?"已忽略":a||"未知"}function HN(e,a){const l=["de-template-card-row","de-duty-card","de-duty-card--compact"];return e.implemented||l.push("de-duty-card--disabled"),a&&l.push("de-duty-card--selected"),e.statusTone==="running"&&l.push("de-duty-card--running"),l.join(" ")}function Sa(e){return String(e||"").replace(/\s+/g," ").trim()}function GN(e){if(!e)return"";if(e.expression)return e.expression;if(typeof e.schedule=="string")return e.schedule;if(e.schedule&&typeof e.schedule=="object"){const a=e.schedule,l=a.expr??a.expression??a.cron;if(typeof l=="string")return l}return""}function YN(e){const a=GN(e);if(!a)return"未定时";const l=a.trim().split(/\s+/),r=l[0]??"",o=l[1]??"";return l.length>=2&&/^\d+$/.test(r)&&/^\d+$/.test(o)?`已定时 ${o.padStart(2,"0")}:${r.padStart(2,"0")} 执行`:`调度注册 ${a}`}function ud(e,a){if(!e||typeof e!="object")return"";const l=e;for(const r of a){const o=l[r];if(typeof o=="string"&&o.trim())return o.trim()}return""}function js(e){const a=Sa(e.template_id);if(a)return a;const l=ud(e.delivery,["template_id","plan_template_id","templateId"]);if(l)return l;const r=ud(e.schedule,["template_id","plan_template_id","templateId"]);return r||e.id.replace(/^schedule-/,"")}function KN(e,a,l){return e.has(a)||l?!0:Array.from(e).some(r=>ec(r,a))}function ec(e,a){return e.startsWith(`${a}-`)?/^-\d{8,}$/.test(e.slice(a.length)):!1}function QN(e,a,l){if(e.id===a||e.conversation_id===a||ec(e.id,a)||e.conversation_id&&ec(e.conversation_id,a))return!0;const r=Sa(l).toLowerCase();return!!(r&&Sa(e.title).toLowerCase()===r)}function Wv(e,a,l){const r=l.filter(o=>QN(o,e,a));return r.find(o=>o.selected)??r.find(o=>o.id===e||o.conversation_id===e)??r[0]??null}function VN(e,a){var l;return((l=Wv(e.id,e.title,a))==null?void 0:l.id)??e.id}function XN(e){return typeof e.step_count=="number"&&Number.isFinite(e.step_count)?e.step_count:Array.isArray(e.skill_ids)?e.skill_ids.length:0}function ZN(e){const a=Sa(e.trigger_kind||ud(e.schedule,["kind"])).toLowerCase();return a==="cron"?"定时任务":a==="webhook"?"触发任务":"手动任务"}function JN(e,a,l){const r=js(e),o=Wv(r,e.name,a),d=XN(e),p=Array.isArray(e.skill_ids)?e.skill_ids.length:d,h=(o==null?void 0:o.status)??e.last_status??(e.enabled?"plan_template":"disabled"),_=(o==null?void 0:o.status_label)??(e.enabled?ZN(e):"已停用"),g=(o==null?void 0:o.status_tone)??(e.enabled?"info":"waiting");return{id:r,planId:r,title:Sa(e.name)||r,summary:Sa(e.prompt)||`任务:${r}`,implemented:e.enabled,selectable:!0,selected:l,status:h,statusLabel:_,statusTone:g,scheduleText:(o==null?void 0:o.schedule_text)??YN(e),resultText:(o==null?void 0:o.result_text)??`${d} 个步骤,${p} 个Skill`,conversationId:(o==null?void 0:o.conversation_id)??r,stepCount:d,taskCount:p,readyStepCount:0,runningStepCount:0,blockedStepCount:0,leasedStepCount:0,schedulerJob:e,source:"plan_template"}}function Hr(e){return e.implemented}function Gr(e){return e.implemented?"":"当前任务未接入执行能力。"}function FN(e){return e.readyStepCount>0?`推进 ${e.readyStepCount}`:"推进"}function PN(e){const a=new Map;return e.forEach(l=>{const r=l.plan_id||"";if(!r)return;const o=a.get(r)??{ready:0,running:0,blocked:0,leased:0},d=l.status.toLowerCase();l.lease_active||l.skip_reason==="lease_active"?(o.leased+=1,o.running+=1):d==="ready"&&l.dispatchable?o.ready+=1:["running","active","leased","queued"].includes(d)?o.running+=1:d==="blocked"&&(o.blocked+=1),a.set(r,o)}),a}function WN(e,a){const l=`${e.conversation_id??""} ${e.plan_title} ${e.task_title} ${e.step_title??""} ${e.detail}`;return l.includes(a.id)||l.includes(a.title)}function e2(e,a){const l=a.filter(_=>WN(_,e)),r=l.filter(Nd).length,o=l.filter(Ed).length,d=l.filter(Cd).length,p=Math.max(l.length-r-o-d,0),h=l.length>0?l[l.length-1]:void 0;return{id:e.id,plan_id:e.planId,title:e.title,description:e.summary,selected:!0,total_count:l.length,success_count:r,failure_count:o,running_count:d,waiting_count:p,latest_status_label:(h==null?void 0:h.status_label)??e.statusLabel,latest_status_tone:(h==null?void 0:h.status_tone)??e.statusTone,business_summary:l.length>0?`${e.title} 今日执行 ${l.length} 次,成功 ${r} 次,失败 ${o} 次。`:`${e.title} 尚未产生执行记录。`,ai_summary:l.length>0?`${e.title} 今日执行 ${l.length} 次,成功 ${r} 次,失败 ${o} 次。`:`${e.title} 尚未产生执行记录。`}}function t2(e,a){const l=e.plan_id??"";return e.id===a.id||l===a.planId||ec(e.id,a.id)||ec(l,a.planId)?!0:Sa(e.title).toLowerCase()===Sa(a.title).toLowerCase()}function n2(e){return{id:e.id,time:e.time,task_name:e.plan_title,step_name:e.step_title,operation_name:e.task_title,status_label:e.status_label,status_tone:e.status_tone,business_detail:Zo(e),raw_detail:e.detail,updated_at:e.updated_at,conversation_id:e.conversation_id}}function py(e){const[a="9",l="0"]=e.split(":"),r=Math.min(Math.max(Number(a)||9,0),23);return`${Math.min(Math.max(Number(l)||0,0),59)} ${r} * * *`}function _y(e){return e.status_label||e.status||"已同步"}function Bt(e){return String(e||"").replace(/\s+/g," ").trim()}function ex(e){const l=`${e.plan_title} ${e.step_title??""}`.match(/(?:^|\D)(\d{1,2})[:](\d{2})(?:\D|$)/);return l!=null&&l[1]&&l[2]?`${l[1].padStart(2,"0")}:${l[2]}`:Bt(e.time)||"即时触发"}function Wa(e){const a=Bt(e);if(!a)return"";const l=new Date(a);if(Number.isNaN(l.getTime()))return"";const r=new Intl.DateTimeFormat("zh-CN",{timeZone:EN,month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1}).formatToParts(l),o=d=>{var p;return((p=r.find(h=>h.type===d))==null?void 0:p.value)??""};return`${o("month")}/${o("day")} ${o("hour")}:${o("minute")}`}function ap(e){const a=Bt(e);return a?a.length>140?`${a.slice(0,140)}...`:a:""}function a2(e){var a;return e?!e.enabled||!e.endpoint||(((a=e.missingCredentials)==null?void 0:a.length)??0)>0?"warning":e.failed>0||e.lastSyncError?"danger":e.syncing||e.pending>0?"warning":e.lastSyncAt?"success":"info":"info"}function l2(e){var a;return e?e.enabled?e.endpoint?(((a=e.missingCredentials)==null?void 0:a.length)??0)>0?"缺少凭据":e.syncing?"同步中":e.failed>0||e.lastSyncError?"同步异常":e.pending>0?"待同步":e.lastSyncAt?"已同步":"等待数据":"未配置":"已停用":"未连接"}function i2(e){var l,r;if(!e)return"当前环境未连接 qimingclaw 同步桥。";if(!e.enabled)return"管理端同步已停用。";if(!e.endpoint)return"管理端同步地址未配置。";if((((l=e.missingCredentials)==null?void 0:l.length)??0)>0)return`管理端同步凭据未完整:${(r=e.missingCredentials)==null?void 0:r.join("、")}`;const a=ap(e.lastSyncError);if(e.failed>0||a){const o=e.failureSummary?[e.failureSummary.dueForRetry>0?`${e.failureSummary.dueForRetry} 条可重试`:"",e.failureSummary.backoff>0?`${e.failureSummary.backoff} 条退避中`:"",s2(e.failureSummary)].filter(Boolean).join(""):"";return[e.failed>0?`${e.failed} 条失败`:"",e.pending>0?`${e.pending} 条待同步`:"",o,a?`失败原因:${a}`:""].filter(Boolean).join("")}return e.syncing?`正在同步,待同步 ${e.pending} 条。`:e.pending>0?`仍有 ${e.pending} 条待同步记录。`:e.lastSyncAt?`最近同步:${Wa(e.lastSyncAt)||e.lastSyncAt}`:"等待本地 outbox 数据。"}function Xr(e){return{plan:"Plan",task:"Task",run:"Run",event:"Event",artifact:"Artifact",approval:"Approval"}[e]||e||"Entity"}function s2(e){const a=e.byEntityType.slice(0,3).map(l=>`${Xr(l.entityType)} ${l.count}`).join(" / ");return a?`类型:${a}`:""}function r2(e){var r;const a=ap(e.error);return[Bt((r=e.entitySummary)==null?void 0:r.title),`${Xr(e.entityType)} / ${e.operation}`,`重试 ${e.attempts}`,e.dueForRetry?"等待补偿":`下次 ${tx(e)}`,a].filter(Boolean).join(" · ")}function hy(e){return Wa(e.lastAttemptAt||e.updatedAt||e.createdAt)||"未尝试"}function tx(e){return e.dueForRetry?"可重试":Wa(e.nextRetryAt)||"待计算"}function c2(e){return e==="synced"?"已同步":e==="failed"?"失败":e||"未知"}function o2(e){return e==="synced"?"success":e==="failed"?"danger":"info"}function gy(e,a){return JSON.stringify({generatedAt:new Date().toISOString(),source:"qimingclaw-digital-employee",failure:e,sync:a?{running:a.running,syncing:a.syncing,enabled:a.enabled,endpoint:a.endpoint,missingCredentials:a.missingCredentials??[],pending:a.pending,failed:a.failed,lastSyncAt:a.lastSyncAt,lastSyncError:a.lastSyncError,failureSummary:a.failureSummary??null}:null},null,2)}function d2(e){return`qimingclaw-sync-failure-${[e.entityType,e.entityId].filter(Boolean).join("-").replace(/[^a-z0-9._-]+/gi,"-").replace(/^-+|-+$/g,"").slice(0,80)||e.id||"diagnostic"}.json`}function yy(e,a,l="application/json;charset=utf-8"){const r=new Blob([a],{type:l}),o=URL.createObjectURL(r),d=document.createElement("a");d.href=o,d.download=e,document.body.appendChild(d),d.click(),d.remove(),window.setTimeout(()=>URL.revokeObjectURL(o),1e3)}function u2(e){return`qimingclaw-digital-report-${e}.txt`}function f2(e,a,l,r){return[a.title||`${e} 数字员工日报`,`日期:${e}`,`生成时间:${a.generated_at?Wa(a.generated_at):"暂未生成"}`,`生成来源:${a.generated_by==="ai"?"AI":"qimingclaw adapter"}`,"","## 摘要",a.summary||"暂无摘要。","","## 指标",`任务总数:${a.totals.task_count}`,`执行次数:${a.totals.execution_count}`,`成功次数:${a.totals.success_count}`,`失败次数:${a.totals.failure_count}`,`运行中:${a.totals.running_count??0}`,"","## 任务汇总",...l.length>0?l.map(o=>`- ${o.title}${o.latest_status_label},执行 ${o.total_count} 次,成功 ${o.success_count},失败 ${o.failure_count}${o.ai_summary||o.business_summary||""}`):["暂无任务汇总。"],"","## 运行明细",...r.length>0?r.map(o=>`- ${o.time||"--:--"} ${o.task_name} / ${o.step_name||o.operation_name||"任务执行"}${o.status_label}${o.business_detail}`):["暂无运行明细。"],"","## 详情",...(a.detail_lines??[]).length>0?a.detail_lines:["暂无详情。"]].join(`
`)}async function m2(){var a;const e=(a=window.QimingClawBridge)==null?void 0:a.digital;if(!(e!=null&&e.getSyncStatus))return null;try{return await e.getSyncStatus()}catch{return null}}function nx(e){const a=Wa(e.updated_at);return a||Bt(e.time)||"待同步"}function p2(e){return Wa(e.updated_at)||Bt(e.time)||"--:--"}function Zo(e){const a=Bt(e.detail).replace(/^触发来源[:]\s*$/u,"").replace(/触发来源[:]\s*(?=。||,|;||$)/u,"").trim();return a?/^runner unavailable/i.test(a)?"执行链路异常,点击查看详情。":a.length>72?`${a.slice(0,72)}...`:a:Nd(e)?"真实事件已完成,结果详情未回传。":Cd(e)?"真实事件执行中,等待结果回传。":Ed(e)?"执行异常,点击查看详情。":"结果详情待同步。"}function by(e){return`计划时间 ${ex(e)} · 执行时间 ${nx(e)}`}function _2(e,a){return a==="all"?!0:a==="running"?Cd(e):a==="success"?Nd(e):Ed(e)}function h2(e){return new Set(e.duties.filter(a=>a.selected).map(a=>a.id))}function Lo(e){const a=e.dependent_tasks.length>0?`,影响 ${e.dependent_tasks.slice(0,2).join("、")}`:"";return`${e.name} ${e.status_label}${e.error?`${e.error}`:a}`}function g2(e){return e.service_id==="fileServer"||e.service_id==="guiServer"}function vy(e){const a=e.next_action==="retry_or_skip"?"重试或跳过":e.next_action==="watch_progress"?"观察进度":e.next_action;return`${e.title} ${e.status_label},下一步 ${a}`}function y2(e){switch(e){case"retry_task":return"重试";case"skip_task":return"跳过";case"cancel_task":return"取消";default:return e}}function b2(e){switch(e){case"retry_task":return"重试前置";case"skip_task":return"跳过前置";case"cancel_task":return"取消此步骤";case"provide_task_input":return"补充输入";default:return e}}function bm(e){return(e.blocked_dependency_details??[]).find(a=>!!a.task_id)??null}function v2(e){var r;const a=bm(e)??((r=e.blocked_dependency_details)==null?void 0:r[0])??null,l=a?`${a.title} ${a.status}`:`阻塞依赖 ${e.blocked_dependencies.length}`;return`${e.title} ${e.dependency_status||e.status}${l}`}function Zf(e){return["pending","requested"].includes(String(e||"").toLowerCase())}function xy(e){if(!(e instanceof Element))return!1;if(e.closest('button, a, input, select, textarea, [role="tab"]'))return!0;const a=e.closest('[role="button"]');return!!(a&&!a.classList.contains("de-workday-execution--clickable"))}function x2(e,a){return e.length<=4?e:e.slice(a).concat(e.slice(0,a)).slice(0,4)}function Cd(e){const a=`${e.status} ${e.status_tone}`.toLowerCase();return a.includes("running")||a.includes("execut")||a.includes("progress")}function Nd(e){const a=`${e.status} ${e.status_tone}`.toLowerCase();return a.includes("success")||a.includes("complete")||a.includes("done")}function Ed(e){const a=`${e.status} ${e.status_tone}`.toLowerCase();return a.includes("danger")||a.includes("fail")||a.includes("error")||a.includes("异常")}function k2(e){const a=`${e.plan_title} ${e.task_title} ${e.step_title??""} ${e.detail}`.toLowerCase();return["外呼","电话","拨打","接通","未接通","重拨","人员"].some(l=>a.includes(l))}function S2(e){const a=`${e.plan_title} ${e.task_title} ${e.step_title??""} ${e.detail}`.toLowerCase();return["重拨","未接通","再拨","回拨","retry","callback"].some(l=>a.includes(l))}function j2(e){const a=`${e.plan_title} ${e.task_title} ${e.step_title??""} ${e.detail}`.toLowerCase();return["核验","校验","证据","汇总","报告","结果","交付","看板","同步"].some(l=>a.includes(l))}function w2(){if(typeof window>"u")return null;const e=new URLSearchParams(window.location.search).get("visual");return AN.includes(e)?e:null}function C2(e){return S2(e)?"redial":k2(e)?"call":j2(e)?"evidence":"browser"}function N2(e){return e.currentEvent?C2(e.currentEvent):!e.confirmed&&e.eventsCount===0?"skill":e.pendingDecisionCount>0?"decision":e.eventsCount>0?"browser":"skill"}function E2(){if(typeof window>"u")return null;try{return window.sessionStorage.getItem(Fv)??window.sessionStorage.getItem(Pv)}catch{return null}}function A2(e){if(!(typeof window>"u"))try{window.sessionStorage.setItem(Fv,e),window.sessionStorage.removeItem(Pv)}catch{}}function T2({onNavigate:e}){var wc,Cc,Nc,Hi,Ec,Ac;const[a,l]=v.useState(ym()),[r,o]=v.useState(null),[d,p]=v.useState([]),[h,_]=v.useState(new Set),[g,x]=v.useState(!0),[S,C]=v.useState(null),[z,w]=v.useState(null),[D,N]=v.useState(null),[k,A]=v.useState({}),[O,te]=v.useState(null),[I,ie]=v.useState(!1),[Z,K]=v.useState("selected"),[pe,P]=v.useState(0),[q,ce]=v.useState(!1),[R,M]=v.useState(!1),[ne,B]=v.useState(!1),[U,le]=v.useState(null),[de,Te]=v.useState("all"),[E,J]=v.useState(!1),[se,ue]=v.useState(null),[ve,Ee]=v.useState(null),[ae,he]=v.useState("09:00"),[Ie,V]=v.useState(!1),[Ce,yt]=v.useState(!1),[He,Ke]=v.useState(null),[Dt,wa]=v.useState([]),[Ci,Ms]=v.useState([]),[Ql,Ni]=v.useState(null),[Ei,oc]=v.useState([]),[Os,Xt]=v.useState(null),[Ai,il]=v.useState(null),[Vl,sl]=v.useState(""),[En,Ca]=v.useState({name:"",company:"",position:"",currentStatus:"working"}),[rl,dc]=v.useState("18:00"),[Xl,Ut]=v.useState(!1),[ra,Wt]=v.useState(()=>E2()),[en,uc]=v.useState(null),me=v.useRef(!1),ca=v.useRef(!1);v.useEffect(()=>(me.current=!0,()=>{me.current=!1}),[]);const Fe=v.useCallback(async()=>{let b=null,Q=null;const re=()=>{if(ca.current||!Q)return;const ke=(b==null?void 0:b.source)==="live"?h2(b):new Set,dt=Q.map(cn=>js(cn)).filter(cn=>KN(ke,cn)),et=dt.length>0?dt:Q.slice(0,3).map(cn=>js(cn));_(new Set(et))},ye=Ss(a).then(ke=>{me.current&&(b=ke,o(ke),N(null),re())}).catch(ke=>{me.current&&N(ke instanceof Error?ke.message:"数字员工首页数据同步失败")}),_e=Bv().then(ke=>{me.current&&(Q=ke.filter(dt=>dt.job_type==="plan_template"||ud(dt.delivery,["mode"])==="plan_template"),p(Q),te(null),re())}).catch(ke=>{me.current&&te(ke instanceof Error?ke.message:"任务加载失败")}),Qe=m2().then(ke=>{me.current&&uc(ke)}),_t=sN({page_size:80}).then(ke=>{me.current&&(Ms(ke.items),wa(ke.items.filter(dt=>dt.status==="blocked").slice(0,6)),Ni(null))}).catch(ke=>{me.current&&(Ms([]),wa([]),Ni(ke instanceof Error?ke.message:"阻塞步骤加载失败"))}),at=qC().then(ke=>{me.current&&(oc(ke.interventions.slice(0,6)),Xt(null))}).catch(ke=>{me.current&&(oc([]),Xt(ke instanceof Error?ke.message:"路由干预加载失败"))});await Promise.allSettled([ye,_e,Qe,_t,at]),me.current&&x(!1)},[a]);v.useEffect(()=>{x(!0),Fe()},[Fe]),v.useEffect(()=>{const b=r!=null&&r.workday.confirmed?8e3:3e4,Q=window.setInterval(()=>{Fe()},b);return()=>window.clearInterval(Q)},[Fe,r==null?void 0:r.workday.confirmed]),v.useEffect(()=>{if(q||R||ne||U!==null)return;const Q=window.setInterval(()=>{P(re=>{const ye=(r==null?void 0:r.source)==="live"?r.events.length:0;return ye>0?(re+1)%ye:0})},3200);return()=>window.clearInterval(Q)},[ne,R,q,U,r==null?void 0:r.events.length,r==null?void 0:r.source]);const Zt=(r==null?void 0:r.source)==="live",An=v.useMemo(()=>Zt?(r==null?void 0:r.duties)??[]:[],[Zt,r==null?void 0:r.duties]),sn=v.useMemo(()=>{const b=PN(Ci);return d.slice().sort((Q,re)=>{const ye=js(Q),_e=js(re),Qe=h.has(ye)?1:0,_t=h.has(_e)?1:0;if(Qe!==_t)return _t-Qe;const at=new Date(Q.next_run||"").getTime(),ke=new Date(re.next_run||"").getTime(),dt=Number.isFinite(at),et=Number.isFinite(ke);return dt!==et?dt?-1:1:dt&&et&&at!==ke?at-ke:Sa(Q.name).localeCompare(Sa(re.name),"zh-CN")}).map(Q=>{const re=js(Q),ye=JN(Q,An,h.has(re)),_e=b.get(ye.planId)??b.get(re);return _e?{...ye,readyStepCount:_e.ready,runningStepCount:_e.running,blockedStepCount:_e.blocked,leasedStepCount:_e.leased,resultText:_e.ready>0||_e.running>0||_e.blocked>0||_e.leased>0?`Ready ${_e.ready} · 运行 ${_e.running} · 阻塞 ${_e.blocked}${_e.leased>0?` · 租约 ${_e.leased}`:""}`:ye.resultText}:ye})},[An,Ci,d,h]),zt=v.useMemo(()=>sn.filter(b=>h.has(b.id)),[sn,h]),Ti=v.useMemo(()=>zt.map(b=>VN(b,An)),[An,zt]),oa=sn,Na=sn.filter(b=>!h.has(b.id)),Ea=Z==="selected"?zt:Z==="pending"?Na:oa,tn=Zt?(r==null?void 0:r.events)??[]:[],fc=x2(tn,pe),qs=tn,Aa=(Zt?(r==null?void 0:r.decisions)??[]:[]).filter(b=>Zf(b.status)),Ls=q||R||ne||U!==null,Zl=v.useMemo(()=>tn.filter(b=>_2(b,de)),[tn,de]),mc=Zl.slice(0,fy),pc=tn.filter(Cd),da=tn.filter(Nd),Mt=tn.filter(Ed),pt=fc[0]??pc[0]??null,Xe=r==null?void 0:r.employee,Me=r==null?void 0:r.workday,Bs=r==null?void 0:r.delivery,Yn=(Zt?(r==null?void 0:r.managed_services)??[]:[]).filter(b=>b.requires_human_action||b.status==="degraded"),Tn=(Zt?(r==null?void 0:r.task_agents)??[]:[]).filter(b=>b.can_retry||b.can_skip||b.can_cancel),ze=Zt?r==null?void 0:r.route_summary:null,Kn=(ze==null?void 0:ze.latest)??null,Et=Zt?r==null?void 0:r.diagnostic_summary:null,Ta=Et?Et.doctor.error+Et.doctor.warn:0,St=Et?Et.audit.error+Et.audit.warn:0,Ra=(Et==null?void 0:Et.latest_issue)??null,Ae=Zt?r==null?void 0:r.daily_report:void 0,ua=Zt?(wc=r==null?void 0:r.run_details)!=null&&wc.length?r.run_details:tn.map(n2):[],Rn=ua.slice(0,RN),Td=Zt?(r==null?void 0:r.execution_summaries)??[]:[],Qn=zt.map(b=>Td.find(Q=>t2(Q,b))??e2(b,tn)),fa=zN(a),Rd=Z==="all"?"全部任务":Z==="pending"?"待选择任务":"今日已选任务",$i=Z==="all"?`总任务 ${oa.length} 项,不代表当天都会执行。`:Z==="pending"?`当前日期 ${fa} 还有 ${Na.length} 项未选择。`:`当前日期 ${fa} 已选择 ${zt.length} 项任务。`,It=(Ae==null?void 0:Ae.status)==="ready"?Ae.totals:null,Vn=(It==null?void 0:It.task_count)??Qn.length,rn=(It==null?void 0:It.execution_count)??Qn.reduce((b,Q)=>b+Q.total_count,0),_c=(It==null?void 0:It.success_count)??Qn.reduce((b,Q)=>b+Q.success_count,0),$d=(It==null?void 0:It.failure_count)??Qn.reduce((b,Q)=>b+Q.failure_count,0),Jl=Ae?[Ae.summary,...Ae.detail_lines??[]].filter(b=>!!(b&&b.trim())):[],Us=(Ae==null?void 0:Ae.status)==="ready"&&Jl.length>0,Fl=(Me==null?void 0:Me.current_status)??(Xe==null?void 0:Xe.current_status)??"working",Dd=(Me==null?void 0:Me.current_status_label)??(Xe==null?void 0:Xe.current_status_label)??(Fl==="resting"?"休息中":"工作中"),Jt=Fl==="resting",Di=(r==null?void 0:r.source)==="demo",zi=Di?"演示兜底":"真实数据",Mi=Di?"de-badge-warning":"de-badge-success",$a=a2(en),hc=l2(en),Is=i2(en),cl=ap(en==null?void 0:en.lastSyncError),gc=(en==null?void 0:en.recentFailures)??[],yc=N2({confirmed:!!(Me!=null&&Me.confirmed),currentEvent:pt,pendingDecisionCount:Aa.length,eventsCount:tn.length}),Hs=w2(),Pl=DN[Hs??yc],zd=Hs||pt||Aa.length>0?Pl.bubble:(Me==null?void 0:Me.bubble_text)??Pl.bubble,Oi=oa.length>0?`已加载 ${oa.length} 项任务,当前选择 ${zt.length} 项;右侧展示真实执行状态、运行明细和日报。`:(Me==null?void 0:Me.summary)??"等待同步当天任务计划。",Xn=(pt==null?void 0:pt.task_title)??(Tn[0]?Tn[0].title:Yn[0]?Yn[0].name:Me!=null&&Me.confirmed?"等待下一条执行事件":"等待确认任务设置"),Gs=pt?`${pt.plan_title}${Zo(pt)}${by(pt)}`:Tn[0]?vy(Tn[0]):Yn[0]?Lo(Yn[0]):"任务执行后会显示正在处理的任务、步骤或汇总动作。",Ys=Aa[0]?`等待人工确认:${Aa[0].title}`:Tn[0]?`Task Agent${vy(Tn[0])}`:Yn[0]?`处理服务状态:${Lo(Yn[0])}`:Me!=null&&Me.confirmed?(Bs==null?void 0:Bs.lines[0])??"继续按计划轮询新工单,并把结果同步到运行明细。":"请先确认今天要执行的任务,确认后数字员工会开始执行。",ol=!!(r&&!(Me!=null&&Me.confirmed));v.useEffect(()=>{if(!(g||!r)&&r.workday.confirmed){Ut(!1);return}},[ra,g,a,r]),v.useEffect(()=>{Xe&&Ca({name:Xe.name||"",company:Xe.company||"",position:Xe.position||Xe.major||"",currentStatus:Xe.current_status||(Me==null?void 0:Me.current_status)||"working"})},[Xe,Me==null?void 0:Me.current_status]),v.useEffect(()=>{dc((Ae==null?void 0:Ae.report_schedule_time)||"18:00")},[Ae==null?void 0:Ae.report_schedule_time]),v.useEffect(()=>{yt(!1)},[a]);const Da=v.useCallback(b=>{!b.selectable||!b.implemented||(_(Q=>{const re=new Set(Q);return re.has(b.id)?re.delete(b.id):re.add(b.id),re}),ca.current=!0,ie(!0),w(null))},[]),Ks=v.useCallback(async()=>{if(h.size===0){N("请至少选择一项今天要执行的任务。");return}if(Jt){N("当前状态为休息中,请切换为工作中后再执行任务。");return}C("confirm_workday"),N(null),w(null);try{const b=await ql({action:"confirm_workday",date:a,duty_ids:Ti});if(!me.current)return;o(b),_(new Set(h)),ca.current=!0,ie(!1),Ut(!1),w("任务设置已确认,数字员工开始按任务执行。")}catch(b){me.current&&N(b instanceof Error?b.message:"确认任务设置失败")}finally{me.current&&C(null)}},[Jt,a,h,Ti]),qi=v.useCallback(async()=>{var b;C("flush_management_sync"),N(null),w(null);try{const Q=(b=window.QimingClawBridge)==null?void 0:b.digital;if(!(Q!=null&&Q.flushSync)){w("当前环境未连接 qimingclaw 同步桥。");return}const re=await Q.flushSync();if(!me.current)return;uc(re);const ye=await Ss(a);if(!me.current)return;o(ye);const _e=re.failed>0?`同步完成,仍有 ${re.failed} 条失败记录。`:re.pending>0?`同步完成,仍有 ${re.pending} 条待同步记录。`:"管理端同步完成。";w(_e)}catch(Q){me.current&&N(Q instanceof Error?Q.message:"同步管理端失败")}finally{me.current&&C(null)}},[a]),vc=v.useCallback(async()=>{C("pull_plan_step_dispatch_policy"),N(null),w(null);try{const b=await Iv();if(!me.current||(await Fe(),!me.current))return;const Q=b.policy;w(b.ok?`PlanStep 派发策略已拉取:${Q.enabled?"启用":"停用"},每轮最多 ${Q.max_per_sweep} 个。`:`PlanStep 派发策略拉取失败,已沿用本地策略:${b.error||"未知错误"}`)}catch(b){me.current&&N(b instanceof Error?b.message:"拉取PlanStep派发策略失败")}finally{me.current&&C(null)}},[Fe]),Wl=v.useCallback(async()=>{C("pull_risk_approval_policy"),N(null),w(null);try{const b=await Gv();if(!me.current||(await Fe(),!me.current))return;w(b.ok?"风险审批策略已拉取。":`风险审批策略拉取失败,已沿用本地策略:${b.error||"未知错误"}`)}catch(b){me.current&&N(b instanceof Error?b.message:"拉取风险审批策略失败")}finally{me.current&&C(null)}},[Fe]),Zn=v.useCallback(async()=>{C("pull_route_decision_policy"),N(null),w(null);try{const b=await Qv();if(!me.current||(await Fe(),!me.current))return;const Q=b.policy;w(b.ok?`入口路由策略已拉取:阻断 ${Q.blocked_intents.length} 类,审批 ${Q.approval_required_intents.length} 类。`:`入口路由策略拉取失败,已沿用本地策略:${b.error||"未知错误"}`)}catch(b){me.current&&N(b instanceof Error?b.message:"拉取入口路由策略失败")}finally{me.current&&C(null)}},[Fe]),Qs=v.useCallback(async()=>{C("pull_approval_updates"),N(null),w(null);try{const b=await SN();if(!me.current||(await Fe(),!me.current))return;w(b.ok?`审批更新已拉取:应用 ${b.applied??0} 条,忽略 ${b.ignored??0} 条,冲突 ${b.conflicted??0} 项。`:`审批更新拉取失败:${b.error||"未知错误"}`)}catch(b){me.current&&N(b instanceof Error?b.message:"拉取审批更新失败")}finally{me.current&&C(null)}},[Fe]),dl=v.useCallback(async(b,Q)=>{const re=`route-intervention:${b.route_decision_id}:${Q}`;C(re),N(null),w(null);try{const ye=await LC(b.route_decision_id,{approval_id:b.approval_id,decision:Q,actor:"digital_employee_operator"});if(!me.current||(await Fe(),!me.current))return;w(ye.message||(Q==="approved"?"入口路由干预已通过。":"入口路由干预已拒绝。"))}catch(ye){me.current&&N(ye instanceof Error?ye.message:"处理入口路由干预失败")}finally{me.current&&C(null)}},[Fe]),ma=v.useCallback(async b=>{const Q=gy(b,en);try{await navigator.clipboard.writeText(Q),N(null),w("同步失败诊断已复制。")}catch(re){w(null),N(re instanceof Error?re.message:"复制同步失败诊断失败")}},[en]),Vs=v.useCallback(b=>{yy(d2(b),gy(b,en)),N(null),w("同步失败诊断已导出。")},[en]),Li=v.useCallback(()=>{_(new Set),ca.current=!0,ie(!0),w("已一键取消当前选择,重新选择后点击任务执行生效。"),N(null)},[]),xc=v.useCallback(async()=>{C("update_profile"),N(null),w(null);try{const b=await ql({action:"update_profile",date:a,name:En.name,company:En.company,position:En.position,current_status:En.currentStatus});if(!me.current)return;o(b),V(!1),w("数字员工特性设置已保存。")}catch(b){me.current&&N(b instanceof Error?b.message:"保存特性设置失败")}finally{me.current&&C(null)}},[En,a]),Bi=v.useCallback(async()=>{C("update_report_schedule"),N(null),w(null);try{const b=await ql({action:"update_report_schedule",date:a,report_schedule_time:rl});if(!me.current)return;o(b),w(`日报生成时间已设置为 ${rl}`)}catch(b){me.current&&N(b instanceof Error?b.message:"设置日报时间失败")}finally{me.current&&C(null)}},[rl,a]),Ui=v.useCallback(async()=>{var b,Q;C("generate_daily_report"),N(null),w(null);try{const re=await ql({action:"generate_daily_report",date:a,duty_ids:Ti,report_schedule_time:rl});if(!me.current)return;const ye=((b=re.daily_report)==null?void 0:b.status)==="ready"?re:await Ss(a);if(!me.current)return;o(ye),w("日报已生成,可下载本地文本。"),((Q=ye.daily_report)==null?void 0:Q.status)==="ready"&&yt(!0)}catch(re){me.current&&N(re instanceof Error?re.message:"生成日报失败")}finally{me.current&&C(null)}},[rl,a,h,Ti]),Xs=v.useCallback(()=>{!Ae||Ae.status!=="ready"||(yy(u2(a),f2(fa,Ae,Qn,Rn),"text/plain;charset=utf-8"),w("日报文本已下载。"))},[Ae,a,fa,Qn,Rn]),Ft=v.useCallback(async(b,Q)=>{var re;C(`${b.id}:${Q}`),N(null),w(null);try{const ye=await ql({action:"decide_approval",date:a,decision_id:b.id,decision:Q});if(!me.current)return;const _e=((re=b.actions.find(Qe=>Qe.id===Q))==null?void 0:re.label)??Q;o(ye),w(`已记录“${_e}”处理结果,并写入 qimingclaw 本地运行状态。`)}catch(ye){me.current&&N(ye instanceof Error?ye.message:"处理决策失败")}finally{me.current&&C(null)}},[a]),Jn=v.useCallback((b,Q)=>{A(re=>({...re,[b]:{...re[b]??vs,...Q}}))},[]),pa=v.useCallback(async(b,Q)=>{const re=k[b.id]??vs,ye=Bt(re.comment),_e=Bt(re.delegateTo),Qe=Bt(re.dueAt);if(Q==="comment"&&!ye){N("请先填写审批评论。");return}if(Q==="delegate"&&!_e){N("请先填写转交对象。");return}const _t=`approval-action:${b.id}:${Q}`;C(_t),N(null),w(null);try{const at={actor:"digital_employee_operator",source:"digital-command-deck",comment:Q==="comment"?ye:void 0,delegate_to:Q==="delegate"?_e:void 0,delegate_label:Q==="delegate"?_e:void 0,due_at:Q==="mark_timeout"?Qe||new Date().toISOString():void 0,reason:Q==="mark_risk"||Q==="clear_risk"||Q==="mark_timeout"?ye||Xf(Q):void 0},ke=await vN(b.id,Q,at);if(!me.current)return;if(!(ke!=null&&ke.ok))throw new Error((ke==null?void 0:ke.error)||"记录审批动作失败");const dt=await Ss(a);if(!me.current)return;o(dt),A(et=>{var cn,Fn;return{...et,[b.id]:{...et[b.id]??vs,comment:Q==="comment"?"":((cn=et[b.id])==null?void 0:cn.comment)??"",delegateTo:Q==="delegate"?"":((Fn=et[b.id])==null?void 0:Fn.delegateTo)??""}}}),w(`已记录审批动作:${Xf(Q)}`)}catch(at){me.current&&N(at instanceof Error?at.message:"记录审批动作失败")}finally{me.current&&C(null)}},[k,a]),ei=v.useCallback(async(b,Q)=>{var _e;const re=`approval-conflict:${b.id}:${Q}`,ye=k[b.id]??vs;C(re),N(null),w(null);try{const Qe=await xN(b.id,{resolution:Q,actor:"digital_employee_operator",comment:Bt(ye.comment)||null});if(!me.current)return;if(!(Qe!=null&&Qe.ok))throw new Error((Qe==null?void 0:Qe.error)||((_e=Qe==null?void 0:Qe.reason_codes)==null?void 0:_e.join(", "))||"冲突裁决失败");const _t=await Ss(a);if(!me.current)return;o(_t),A(at=>({...at,[b.id]:{...at[b.id]??vs,comment:""}})),w("冲突裁决已记录。")}catch(Qe){me.current&&N(Qe instanceof Error?Qe.message:"冲突裁决失败")}finally{me.current&&C(null)}},[k,a]),Zs=v.useCallback(async(b,Q)=>{const re=`task-agent:${b.task_id}:${Q}`;C(re),N(null),w(null);try{const ye=await Xo({command_kind:Q,context_refs:{plan_id:b.plan_id,task_id:b.task_id,run_id:b.latest_run_id,step_id:b.step_id,task_agent_id:b.agent_id},payload:{source:"digital-home-task-agent",task_agent_id:b.agent_id,task_id:b.task_id,plan_id:b.plan_id,step_id:b.step_id,latest_run_id:b.latest_run_id,title:b.title,requested_action:Q,previous_state:b.execution_state,next_action:b.next_action},correlation_id:`digital-home-task-agent-${b.task_id}-${Q}-${Date.now()}`});if(!ye.accepted)throw new Error(ye.message||`Task Agent 命令未被接受:${ye.command_id||Q}`);w(`Task Agent 已${y2(Q)}${b.title}`),await Fe()}catch(ye){me.current&&N(ye instanceof Error?ye.message:"Task Agent 控制失败")}finally{me.current&&C(null)}},[Fe]),za=v.useCallback(async(b,Q,re={})=>{const ye=bm(b),_e=Q==="retry_task"||Q==="skip_task"?ye:null,Qe=(_e==null?void 0:_e.step_id)??b.step_id,_t=(_e==null?void 0:_e.task_id)??b.task_id??null,at=(_e==null?void 0:_e.latest_run_id)??b.latest_run_id??null;if(!_t){N("当前阻塞步骤缺少可治理任务,无法发送处理命令");return}const ke=`blocked-plan-step:${b.step_id}:${Q}`;C(ke),N(null),w(null);try{const dt=await Xo({command_kind:Q,context_refs:{plan_id:b.plan_id,task_id:_t,run_id:at,step_id:Qe,blocked_step_id:b.step_id},payload:{source:"digital-home-blocked-plan-step",plan_id:b.plan_id,task_id:_t,run_id:at,step_id:Qe,blocked_step_id:b.step_id,blocked_step_title:b.title,blocked_dependency_step_id:(_e==null?void 0:_e.step_id)??null,requested_action:Q,input:re.input},correlation_id:`digital-home-blocked-step-${b.step_id}-${Q}-${Date.now()}`});if(!dt.accepted)throw new Error(dt.message||`阻塞步骤处理未被接受:${dt.command_id||Q}`);w(`阻塞步骤已${b2(Q)}${b.title}`),il(null),sl(""),await Fe()}catch(dt){me.current&&N(dt instanceof Error?dt.message:"阻塞步骤处理失败")}finally{me.current&&C(null)}},[Fe]),Js=v.useCallback(async()=>{const b=Ai,Q=Vl.trim();!b||!Q||await za(b.step,"provide_task_input",{input:Q})},[Vl,Ai,za]),ti=v.useCallback(async b=>{const Q=`managed-service:${b.service_id}:restart`;C(Q),N(null),w(null);try{const re=await dN(b.service_id,{reason:"digital_home_managed_service_issue",actor:"digital_employee_ui"});if(!re.ok)throw new Error(re.error||re.message||`${b.name} 重启失败`);w(`${b.name} 已提交安全重启。`),await Fe()}catch(re){me.current&&N(re instanceof Error?re.message:`${b.name} 重启失败`)}finally{me.current&&C(null)}},[Fe]),Ma=v.useCallback(b=>{e({tab:"missions",date:a,missionId:b.conversationId||b.id})},[e,a]),kc=v.useCallback(async b=>{const Q=py(ae),re=Date.now(),ye=`digital-home-${b.planId}-${ae.replace(":","")}`;C(`schedule:${b.id}`),N(null),w(null);try{const _e=await Xo({command_kind:"create_schedule",context_refs:{plan_id:b.planId,schedule_id:ye},payload:{source:"digital-home",plan_id:b.planId,name:`定时执行:${b.title}`,description:`按首页任务管理定时任务:${b.title}`,prompt:`请按计划执行:${b.title}${b.summary}`,cron_expr:Q,schedule:Q},correlation_id:`digital-home-create-schedule-${b.planId}-${re}`,idempotency_key:`digital-home-create-schedule-${b.planId}-${ae}-${re}`});if(!_e.accepted)throw new Error(_e.message||`调度命令未被接受:${_e.command_id||"create_schedule"}`);ue(null),w(`已提交定时:${b.title}${ae} 按 cron 计划执行。`),await Fe()}catch(_e){me.current&&N(_e instanceof Error?_e.message:"定时执行失败")}finally{me.current&&C(null)}},[Fe,ae]),Md=v.useCallback(async b=>{var Q;if(!Hr(b)){N(Gr(b)),w(null);return}C(`execute:${b.id}`),N(null),w(null);try{const re=await uN(b.planId);if(re.ok!==!0)throw new Error(re.error||"执行接口未接受请求");const ye=((Q=re.dispatched_tasks)==null?void 0:Q.length)??0,_e=await dy(b.planId),Qe=_e.dispatched??0,_t=_e.skipped??0,at=_e.failed??0;Ee(null),w(Qe>0||_t>0||at>0?`已触发执行:${b.title},新建 ${ye} 个步骤,推进 ${Qe}${_t>0?`,跳过 ${_t}`:""}${at>0?`,失败 ${at}`:""}`:`已触发执行:${b.title},已派发 ${ye} 个步骤。`),await Fe()}catch(re){me.current&&N(re instanceof Error?re.message:"执行失败")}finally{me.current&&C(null)}},[Fe]),Fs=v.useCallback(async b=>{var re,ye;if(!Hr(b)){N(Gr(b)),w(null);return}const Q=`orchestrate:${b.id}`;C(Q),N(null),w(null);try{const _e=await dy(b.planId);if(_e.ok===!1)throw new Error(((ye=(re=_e.errors)==null?void 0:re[0])==null?void 0:ye.error)||"计划推进未被接受");w(`已推进:${b.title},派发 ${_e.dispatched??0} 个,跳过 ${_e.skipped??0}${(_e.failed??0)>0?`,失败 ${_e.failed}`:""}`),await Fe()}catch(_e){me.current&&N(_e instanceof Error?_e.message:"计划推进失败")}finally{me.current&&C(null)}},[Fe]),Ps=v.useCallback(()=>{Ut(!1),Wt(a),A2(a)},[a]),Ii=v.useCallback((b,Q)=>{const re=h.has(b.id),ye=Gr(b);return s.jsxs("div",{className:`${HN(b,re)} ${Q==="guide"?"de-duty-card--guide":""}`,title:b.summary,children:[s.jsxs("label",{className:"de-task-manager-duty-check",children:[s.jsx("input",{type:"checkbox",checked:re,disabled:!b.selectable||!b.implemented,onChange:()=>Da(b)}),s.jsx("span",{children:re?"已选":b.implemented?"未选":"待扩展"})]}),s.jsxs("div",{className:"de-template-card-main",children:[s.jsxs("div",{className:"de-template-card-head",children:[s.jsx("span",{className:"de-template-card-name",children:b.title}),s.jsx("span",{className:`de-badge ${xs(b.statusTone)}`,children:b.implemented?b.statusLabel:"待扩展"})]}),s.jsx("p",{className:"de-template-card-desc",children:b.summary}),s.jsxs("div",{className:"de-template-card-meta",children:[s.jsx("span",{children:b.scheduleText}),s.jsx("span",{children:b.resultText})]}),s.jsxs("div",{className:"de-duty-card-foot",children:[s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!b.implemented,onClick:()=>Ma(b),children:"进入处理"}),s.jsxs("div",{className:"de-duty-card-actions",children:[s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!b.implemented||b.readyStepCount===0||!!S,title:b.readyStepCount>0?"推进此计划的 Ready 步骤":"暂无可推进 Ready 步骤",onClick:()=>{Fs(b)},children:[s.jsx(Hf,{size:13,"aria-hidden":"true"}),s.jsx("span",{children:S===`orchestrate:${b.id}`?"推进中":FN(b)})]}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!b.implemented||S===`schedule:${b.id}`,onClick:()=>ue(b),children:[s.jsx(Jg,{size:13,"aria-hidden":"true"}),s.jsx("span",{children:"定时"})]}),s.jsxs("button",{type:"button",className:"de-btn-primary de-btn-sm",disabled:!b.implemented||S===`execute:${b.id}`,title:ye||"立即执行此任务",onClick:()=>Ee(b),children:[s.jsx(Zg,{size:13,"aria-hidden":"true"}),s.jsx("span",{children:"执行"})]})]}),!b.implemented&&s.jsx("span",{className:"de-duty-selected-mark",children:"待扩展"})]})]})]},`${Q}-${b.id}`)},[S,Fs,Ma,h,Da]),Od=v.useCallback(b=>{le(b),M(!0)},[]),Ws=v.useCallback(()=>{le(null),M(!1)},[]),Sc=v.useCallback(()=>{B(!1),M(!1)},[]),ul=v.useCallback(()=>{B(!0),M(!0)},[]),qd=v.useCallback(b=>{xy(b.target)||ul()},[ul]),jc=v.useCallback(b=>{b.key!=="Enter"&&b.key!==" "||xy(b.target)||(b.preventDefault(),ul())},[ul]),Ld=v.useCallback(b=>{le(null),B(!1),M(!1),e({tab:"missions",date:a,missionId:b.conversation_id||b.id})},[e,a]);return s.jsxs("div",{className:"de-dashboard de-dashboard--compact",style:{position:"relative",height:"100%",minHeight:0,display:"flex",flexDirection:"column",overflow:"hidden"},children:[s.jsx("div",{className:"de-connection-layer","aria-hidden":"true",children:s.jsxs("svg",{className:"de-connection-svg",viewBox:"0 0 1200 800",preserveAspectRatio:"none",children:[s.jsxs("defs",{children:[s.jsxs("linearGradient",{id:"connGrad1",x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[s.jsx("stop",{offset:"0%",stopColor:"rgba(79,172,254,0.25)"}),s.jsx("stop",{offset:"100%",stopColor:"rgba(0,242,254,0.1)"})]}),s.jsx("filter",{id:"connGlow",children:s.jsx("feGaussianBlur",{stdDeviation:"3"})})]}),s.jsx("path",{d:"M 80 180 Q 420 400, 580 350",stroke:"url(#connGrad1)",strokeWidth:"1.5",fill:"none",filter:"url(#connGlow)"}),s.jsx("path",{d:"M 120 620 Q 380 400, 560 380",stroke:"url(#connGrad1)",strokeWidth:"1.2",fill:"none",filter:"url(#connGlow)"}),s.jsx("path",{d:"M 640 360 Q 780 200, 1100 160",stroke:"url(#connGrad1)",strokeWidth:"1.3",fill:"none",filter:"url(#connGlow)"})]})}),s.jsxs("div",{className:"de-dashboard-content",children:[s.jsxs("div",{className:"de-dashboard-left",children:[s.jsxs("div",{className:"de-card de-person-card de-person-card--compact",children:[s.jsxs("div",{className:"de-card-title-bar",children:[s.jsx("span",{className:"de-card-title-bar-text",children:"数字员工"}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>V(!0),children:"特性设置"})]}),s.jsx("div",{className:"de-card-body",children:s.jsxs("div",{className:"de-info-grid",children:[s.jsxs("div",{className:"de-info-item",children:[s.jsx("label",{children:"姓名"}),s.jsx("span",{children:(Xe==null?void 0:Xe.name)??"同步中"})]}),s.jsxs("div",{className:"de-info-item",children:[s.jsx("label",{children:"单位"}),s.jsx("span",{children:(Xe==null?void 0:Xe.company)??"同步中"})]}),s.jsxs("div",{className:"de-info-item",children:[s.jsx("label",{children:"岗位"}),s.jsx("span",{children:(Xe==null?void 0:Xe.position)??(Xe==null?void 0:Xe.major)??"同步中"})]}),s.jsxs("div",{className:"de-info-item",children:[s.jsx("label",{children:"当前状态"}),s.jsx("span",{className:Jt?"de-status-resting":"de-status-working",children:Dd})]})]})})]}),s.jsxs("div",{className:"de-card de-template-manager-card",children:[s.jsx("div",{className:"de-card-title-bar",children:s.jsx("span",{className:"de-card-title-bar-text",children:"任务设置"})}),s.jsxs("div",{className:"de-card-body de-template-manager-body",children:[s.jsxs("div",{className:"de-workday-toolbar",children:[s.jsxs("label",{children:[s.jsx("span",{children:"日期"}),s.jsx("input",{type:"date",value:a,onChange:b=>{ca.current=!1,ie(!1),w(null),l(b.target.value||ym())}})]}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:g,onClick:()=>J(!0),children:"任务设置"}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:g||S==="flush_management_sync",onClick:qi,title:"立即同步数字员工本地状态到管理端",children:[s.jsx(ln,{size:13,"aria-hidden":"true"}),s.jsx("span",{children:S==="flush_management_sync"?"同步中...":"同步管理端"})]}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:g||S==="pull_plan_step_dispatch_policy",onClick:vc,title:"从管理端拉取 PlanStep 派发策略",children:[s.jsx(Pr,{size:13,"aria-hidden":"true"}),s.jsx("span",{children:S==="pull_plan_step_dispatch_policy"?"拉取中...":"拉取策略"})]}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:g||S==="pull_risk_approval_policy",onClick:Wl,title:"从管理端拉取风险审批策略",children:[s.jsx(Fg,{size:13,"aria-hidden":"true"}),s.jsx("span",{children:S==="pull_risk_approval_policy"?"拉取中...":"风险策略"})]}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:g||S==="pull_route_decision_policy",onClick:Zn,title:"从管理端拉取入口路由策略",children:[s.jsx(Qo,{size:13,"aria-hidden":"true"}),s.jsx("span",{children:S==="pull_route_decision_policy"?"拉取中...":"路由策略"})]}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:g||S==="pull_approval_updates",onClick:Qs,title:"从管理端拉取审批更新",children:[s.jsx(ln,{size:13,"aria-hidden":"true"}),s.jsx("span",{children:S==="pull_approval_updates"?"拉取中...":"审批更新"})]})]}),s.jsxs("div",{className:`de-management-sync-strip de-management-sync-strip--${$a}`,title:cl||Is,children:[s.jsx("span",{className:`de-badge ${xs($a)}`,children:hc}),s.jsx("span",{children:Is})]}),gc.length>0&&s.jsx("div",{className:"de-management-sync-failures","aria-label":"同步失败明细",children:gc.map(b=>s.jsxs("button",{type:"button",className:"de-management-sync-failure",title:b.error||b.id,onClick:()=>Ke(b),children:[s.jsx("span",{children:hy(b)}),s.jsx("strong",{children:Xr(b.entityType)}),s.jsx("em",{children:b.id}),s.jsx("small",{children:r2(b)})]},b.id))}),(z||D||O||(r==null?void 0:r.demo_reason))&&s.jsx("div",{className:`de-schedule-result ${D?"de-schedule-result--error":"de-schedule-result--success"}`,style:{marginBottom:10},children:D||z||O||(r==null?void 0:r.demo_reason)}),(Ei.length>0||Os)&&s.jsxs("div",{className:"de-management-sync-failures","aria-label":"入口路由干预",style:{marginBottom:10},children:[Os&&s.jsx("p",{className:"de-empty-text",children:Os}),Ei.slice(0,4).map(b=>{const Q=b.intervention_status,re=!b.resolved_at&&["pending","blocked","approved"].includes(Q),ye=`route-intervention:${b.route_decision_id}:approved`,_e=`route-intervention:${b.route_decision_id}:rejected`;return s.jsxs("div",{className:"de-management-sync-failure",title:b.blocked_reason||b.route_decision_id,children:[s.jsx("span",{children:b.entrypoint||"route"}),s.jsxs("strong",{children:[b.route_kind," / ",b.intent_kind]}),s.jsx("em",{children:Q}),s.jsx("small",{children:b.blocked_reason||b.matched_intent||b.approval_id||b.route_decision_id}),re&&s.jsxs("div",{className:"de-task-agent-actions",children:[s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:S===ye,onClick:()=>{dl(b,"approved")},children:Q==="approved"?"恢复":"通过"}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:S===_e,onClick:()=>{dl(b,"rejected")},children:"拒绝"})]})]},b.route_decision_id)})]}),Yn.length>0&&s.jsx("div",{className:"de-management-sync-failures","aria-label":"服务状态处理",style:{marginBottom:10},children:Yn.map(b=>{const Q=`managed-service:${b.service_id}:restart`,re=g2(b);return s.jsxs("div",{className:"de-management-sync-failure",title:b.error||Lo(b),children:[s.jsx("span",{children:b.kind}),s.jsx("strong",{children:b.name}),s.jsx("em",{children:b.status_label}),s.jsx("small",{children:Lo(b)}),re&&s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:S===Q,onClick:ye=>{ye.stopPropagation(),ti(b)},title:`安全重启 ${b.name}`,children:[s.jsx(ln,{size:13,"aria-hidden":"true"}),s.jsx("span",{children:S===Q?"重启中...":"重启"})]})]},b.service_id)})}),I&&!z&&!D&&s.jsx("div",{className:"de-schedule-result de-schedule-result--success",style:{marginBottom:10},children:"当前选择尚未确认,自动刷新不会覆盖你的勾选。"}),s.jsxs("div",{className:"de-template-overview",children:[s.jsxs("button",{type:"button",className:`de-template-overview-item de-template-overview-item--total ${Z==="all"?"active":""}`,onClick:()=>K("all"),children:[s.jsx("span",{className:"de-template-overview-label",children:"总任务"}),s.jsx("span",{className:"de-template-overview-value",children:oa.length})]}),s.jsxs("button",{type:"button",className:`de-template-overview-item de-template-overview-item--scheduled ${Z==="selected"?"active":""}`,onClick:()=>K("selected"),children:[s.jsx("span",{className:"de-template-overview-label",children:"已选择"}),s.jsx("span",{className:"de-template-overview-value",children:zt.length})]}),s.jsxs("button",{type:"button",className:`de-template-overview-item de-template-overview-item--runnable ${Z==="pending"?"active":""}`,onClick:()=>K("pending"),children:[s.jsx("span",{className:"de-template-overview-label",children:"待选择"}),s.jsx("span",{className:"de-template-overview-value",children:Na.length})]})]}),s.jsxs("div",{className:"de-task-date-context",children:[s.jsxs("span",{children:["当前日期 ",fa]}),s.jsx("em",{children:$i}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:Li,disabled:zt.length===0,children:"一键取消"})]}),s.jsxs("div",{className:"de-task-manager-preview de-task-manager-preview-scroll de-template-task-list",children:[s.jsxs("div",{className:"de-task-manager-preview-head",children:[s.jsx("span",{children:fa}),s.jsxs("strong",{children:[Rd," ",Ea.length]})]}),g?s.jsx("div",{className:"de-loading-skeleton",style:{height:96}}):sn.length===0?s.jsx("p",{className:"de-empty-text",children:"暂无任务,首页不会再展示硬编码任务。"}):Ea.length===0?s.jsx("p",{className:"de-empty-text",children:"当前筛选下暂无任务,点击总任务查看全部内容。"}):Ea.map(b=>s.jsxs("div",{className:`de-task-manager-preview-row ${h.has(b.id)?"is-selected":""}`,title:b.summary,children:[s.jsxs("button",{type:"button",className:"de-template-task-main",onClick:()=>Ma(b),children:[s.jsx("strong",{children:b.title}),s.jsx("span",{children:b.resultText})]}),s.jsxs("div",{className:"de-template-item-actions",children:[s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!b.implemented||b.readyStepCount===0||!!S,title:b.readyStepCount>0?"推进此计划的 Ready 步骤":"暂无可推进 Ready 步骤",onClick:()=>{Fs(b)},children:[s.jsx(Hf,{size:13,"aria-hidden":"true"}),s.jsx("span",{children:S===`orchestrate:${b.id}`?"推进中":"推进"})]}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!b.implemented||S===`schedule:${b.id}`,onClick:()=>ue(b),children:[s.jsx(Jg,{size:13,"aria-hidden":"true"}),s.jsx("span",{children:"定时"})]}),s.jsxs("button",{type:"button",className:"de-btn-primary de-btn-sm",disabled:!b.implemented||S===`execute:${b.id}`,title:Gr(b)||"立即执行此任务",onClick:()=>Ee(b),children:[s.jsx(Zg,{size:13,"aria-hidden":"true"}),s.jsx("span",{children:"执行"})]})]})]},b.id))]})]})]})]}),s.jsxs("div",{className:"de-dashboard-center",style:{justifyContent:"center",padding:"0 0 16px",overflow:"visible"},children:[s.jsx("div",{className:"de-avatar-wrapper",style:{minHeight:470,maxWidth:560,transform:"translateY(-6px)",display:"flex",alignItems:"flex-end",justifyContent:"center"},children:s.jsx(wN,{avatarSrc:Pl.src,altText:`数字员工-${Pl.label}`,statusLabel:Pl.label})}),s.jsxs("div",{className:"de-speech-bubble de-speech-bubble--employee",style:{top:"38%",left:"29%",right:"auto",transform:"translateX(-50%)",width:268,padding:"10px 12px",zIndex:16},children:[s.jsx("span",{className:"de-speech-label",children:"数字员工播报"}),s.jsx("p",{className:"de-speech-text",children:zd}),s.jsxs("button",{type:"button",className:"de-speech-workflow de-execution-detail-trigger",onClick:ul,title:"打开运行明细",children:[s.jsx("span",{children:"当前动作"}),s.jsx("strong",{children:Xn}),s.jsx("small",{children:Gs}),s.jsx("span",{children:"下一步"}),s.jsx("small",{children:Ys})]})]})]}),s.jsx("div",{className:"de-dashboard-right",children:s.jsxs("div",{className:"de-right-panels",children:[s.jsxs("div",{className:"de-workbench de-workday-execution de-workday-execution--clickable",role:"button",tabIndex:0,"aria-label":"打开运行明细",title:"打开运行明细",onClick:qd,onKeyDown:jc,children:[s.jsxs("div",{className:"de-card-title-bar de-workbench-head de-workbench-head--bar",children:[s.jsx("div",{className:"de-workbench-title-row",children:s.jsx("h3",{children:"今日执行"})}),s.jsx("span",{className:`de-badge ${Mi}`,children:zi})]}),s.jsxs("div",{className:"de-workday-execution-body","aria-live":"polite",children:[s.jsxs("div",{className:"de-execution-status-strip",children:[s.jsxs("span",{children:[s.jsx("em",{children:"已选任务"}),s.jsx("strong",{children:zt.length})]}),s.jsxs("span",{children:[s.jsx("em",{children:"运行记录"}),s.jsx("strong",{children:qs.length})]}),s.jsxs("span",{children:[s.jsx("em",{children:"已完成"}),s.jsx("strong",{children:da.length})]}),s.jsxs("span",{children:[s.jsx("em",{children:"异常"}),s.jsx("strong",{children:Mt.length})]})]}),(Et||ze&&ze.total>0)&&s.jsxs("div",{className:"de-observation-strip-stack",children:[ze&&ze.total>0&&s.jsxs("div",{className:"de-route-summary-strip",children:[s.jsxs("span",{children:[s.jsx("em",{children:"入口路由"}),s.jsx("strong",{children:ze.total})]}),s.jsxs("span",{children:[s.jsx("em",{children:"已映射"}),s.jsx("strong",{children:ze.mapped_count})]}),s.jsxs("span",{children:[s.jsx("em",{children:"治理审计"}),s.jsx("strong",{children:ze.governance_mapped_count??ze.mapped_count})]}),(ze.governance_blocked_count??0)>0&&s.jsxs("span",{className:"is-warning",children:[s.jsx("em",{children:"治理拦截"}),s.jsx("strong",{children:ze.governance_blocked_count})]}),s.jsxs("span",{className:ze.attention_count>0?"is-warning":"",children:[s.jsx("em",{children:"需关注"}),s.jsx("strong",{children:ze.attention_count})]}),(ze.blocked_count??0)>0&&s.jsxs("span",{className:"is-warning",children:[s.jsx("em",{children:"阻断"}),s.jsx("strong",{children:ze.blocked_count})]}),(ze.approval_required_count??0)>0&&s.jsxs("span",{className:"is-warning",children:[s.jsx("em",{children:"待审"}),s.jsx("strong",{children:ze.approval_required_count})]}),(ze.pending_intervention_count??0)>0&&s.jsxs("span",{className:"is-warning",children:[s.jsx("em",{children:"待干预"}),s.jsx("strong",{children:ze.pending_intervention_count})]}),(ze.restored_count??0)>0&&s.jsxs("span",{children:[s.jsx("em",{children:"已恢复"}),s.jsx("strong",{children:ze.restored_count})]}),s.jsxs("small",{children:[Kn?`${Kn.route_kind} / ${Kn.intent_kind} · ${Kn.status_label}`:"暂无路由决策",ze.policy_source?` · 策略${ze.policy_source==="remote"?"远端":"本地"}`:"",` · 治理审计已映射 ${ze.governance_mapped_count??ze.mapped_count}`,(ze.governance_blocked_count??0)>0?` · 拦截/失败 ${ze.governance_blocked_count}`:"",ze.latest_intervention_status?` · 干预${ze.latest_intervention_status}`:"",ze.policy_last_pull_error?" · 拉取失败":""]}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>e({tab:"interventions",interventionKind:"route_intervention"}),children:"打开介入台"}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>e({tab:"policy-center"}),children:"打开策略中心"})]}),Et&&s.jsxs("div",{className:"de-diagnostic-summary-strip",children:[s.jsxs("span",{className:Ta>0?"is-warning":"",children:[s.jsx("em",{children:"诊断异常"}),s.jsx("strong",{children:Ta})]}),s.jsxs("span",{className:St>0?"is-warning":"",children:[s.jsx("em",{children:"审计风险"}),s.jsx("strong",{children:St})]}),s.jsxs("span",{children:[s.jsx("em",{children:"估算请求"}),s.jsx("strong",{children:Et.cost.request_count})]}),s.jsxs("span",{children:[s.jsx("em",{children:"Token"}),s.jsx("strong",{children:MN(Et.cost.total_tokens)})]}),s.jsxs("span",{children:[s.jsx("em",{children:"估算成本"}),s.jsx("strong",{children:ON(Et.cost.estimated_cost_usd)})]}),s.jsx("small",{children:Ra?`${Ra.category} · ${Ra.message}`:"诊断、审计和成本投影正常"}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>e({tab:"ops-workbench",opsKind:(Ra==null?void 0:Ra.source)==="audit"?"audit":"diagnostic"}),children:"打开处置台"}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>e({tab:"scheduler-workbench"}),children:"打开调度运营"}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>e({tab:"notification-workbench",notificationKind:"all"}),children:"打开通知运营"}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>e({tab:"skill-audit"}),children:"打开技能审计"})]})]}),s.jsx("div",{className:"de-task-summary-scroll",children:s.jsx("div",{className:"de-task-summary-grid","aria-label":"任务执行汇总",children:Qn.length===0?s.jsx("p",{className:"de-empty-text",children:"左侧选择任务后,这里会按任务生成执行次数和成功情况。"}):Qn.map(b=>s.jsxs("button",{type:"button",className:`de-task-summary-card de-live-feed-row--${b.latest_status_tone||"info"}`,onClick:()=>Ma(zt.find(Q=>Q.id===b.id)??zt[0]),title:[b.description,b.ai_summary||b.business_summary].filter(Boolean).join(`
`),children:[s.jsx("span",{className:"de-task-summary-title",children:b.title}),s.jsx("span",{className:`de-badge ${xs(b.latest_status_tone)}`,children:b.latest_status_label}),s.jsxs("div",{className:"de-task-summary-counts",children:[s.jsxs("span",{children:[s.jsx("em",{children:"执行"}),s.jsx("strong",{children:b.total_count})]}),s.jsxs("span",{children:[s.jsx("em",{children:"成功"}),s.jsx("strong",{children:b.success_count})]}),s.jsxs("span",{children:[s.jsx("em",{children:"失败"}),s.jsx("strong",{children:b.failure_count})]})]})]},b.id))})}),Tn.length>0&&s.jsx("div",{className:"de-task-agent-control-strip","aria-label":"Task Agent 控制台",children:Tn.slice(0,2).map(b=>{const Q=S===`task-agent:${b.task_id}:retry_task`,re=S===`task-agent:${b.task_id}:skip_task`,ye=S===`task-agent:${b.task_id}:cancel_task`;return s.jsxs("div",{className:`de-task-agent-control de-live-feed-row--${b.status_tone||"info"}`,children:[s.jsxs("div",{className:"de-task-agent-control-main",children:[s.jsx("span",{children:"Task Agent"}),s.jsx("strong",{children:b.title}),s.jsxs("small",{children:[b.status_label," · ",b.next_action]})]}),s.jsxs("div",{className:"de-task-agent-control-actions",children:[b.can_retry&&s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!!S,title:"记录重试任务命令",onClick:()=>{Zs(b,"retry_task")},children:[s.jsx(ln,{size:13,"aria-hidden":"true"}),s.jsx("span",{children:Q?"重试中":"重试"})]}),b.can_skip&&s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!!S,title:"记录跳过任务命令",onClick:()=>{Zs(b,"skip_task")},children:[s.jsx(Pg,{size:13,"aria-hidden":"true"}),s.jsx("span",{children:re?"跳过中":"跳过"})]}),b.can_cancel&&s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm de-task-agent-cancel-btn",disabled:!!S,title:"记录取消任务命令",onClick:()=>{Zs(b,"cancel_task")},children:[s.jsx(Wg,{size:12,"aria-hidden":"true"}),s.jsx("span",{children:ye?"取消中":"取消"})]})]})]},b.agent_id)})}),(Dt.length>0||Ql)&&s.jsxs("div",{className:"de-task-agent-control-strip de-blocked-step-control-strip","aria-label":"PlanStep 阻塞处理",children:[Ql&&s.jsx("p",{className:"de-empty-text",children:Ql}),Dt.slice(0,3).map(b=>{const Q=bm(b),re=S===`blocked-plan-step:${b.step_id}:retry_task`,ye=S===`blocked-plan-step:${b.step_id}:skip_task`,_e=S===`blocked-plan-step:${b.step_id}:cancel_task`,Qe=S===`blocked-plan-step:${b.step_id}:provide_task_input`,_t=!!S||!(Q!=null&&Q.task_id),at=!!S||!b.task_id;return s.jsxs("div",{className:"de-task-agent-control de-blocked-step-control de-live-feed-row--danger",children:[s.jsxs("div",{className:"de-task-agent-control-main",children:[s.jsx("span",{children:"Blocked PlanStep"}),s.jsx("strong",{children:b.title}),s.jsx("small",{children:v2(b)})]}),s.jsxs("div",{className:"de-task-agent-control-actions",children:[s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:_t,title:Q!=null&&Q.task_id?"重试首个阻塞前置任务":"缺少可重试的前置任务",onClick:()=>{za(b,"retry_task")},children:[s.jsx(ln,{size:13,"aria-hidden":"true"}),s.jsx("span",{children:re?"重试中":"重试前置"})]}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:_t,title:Q!=null&&Q.task_id?"跳过首个阻塞前置任务":"缺少可跳过的前置任务",onClick:()=>{za(b,"skip_task")},children:[s.jsx(Pg,{size:13,"aria-hidden":"true"}),s.jsx("span",{children:ye?"跳过中":"跳过前置"})]}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:at,title:b.task_id?"补充当前阻塞步骤所需输入":"当前步骤缺少可补充输入的任务",onClick:()=>{il({step:b,dependency:null}),sl("")},children:[s.jsx(Qo,{size:13,"aria-hidden":"true"}),s.jsx("span",{children:Qe?"提交中":"补充输入"})]}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm de-task-agent-cancel-btn",disabled:at,title:b.task_id?"取消当前阻塞步骤":"当前步骤缺少可取消的任务",onClick:()=>{za(b,"cancel_task")},children:[s.jsx(Wg,{size:12,"aria-hidden":"true"}),s.jsx("span",{children:_e?"取消中":"取消此步骤"})]})]})]},b.step_id)})]}),s.jsxs("div",{className:"de-stage-feed-tools",children:[s.jsxs("span",{children:["展示 ",qs.length," / 共 ",tn.length," 条",Ls?" · 已暂停":" · 自动滚动"]}),s.jsxs("div",{children:[s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>ce(b=>!b),children:q?"继续滚动":"暂停滚动"}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:ul,children:"查看全部记录"})]})]}),s.jsxs("div",{className:"de-run-detail-panel",children:[s.jsxs("div",{className:"de-run-detail-head",children:[s.jsx("span",{children:"运行明细"}),s.jsxs("small",{children:["展示 ",Rn.length," / 共 ",ua.length," 条"]})]}),s.jsxs("div",{className:"de-run-detail-list de-run-detail-list-scroll","aria-label":"运行明细",children:[s.jsxs("div",{className:"de-run-detail-row de-run-detail-row--head",children:[s.jsx("span",{children:"时间"}),s.jsx("span",{children:"任务名称"}),s.jsx("span",{children:"步骤名称"}),s.jsx("span",{children:"执行状态"}),s.jsx("span",{children:"结果"})]}),Rn.length===0?s.jsx("p",{className:"de-empty-text",children:"任务执行后,这里会滚动显示每个步骤的时间、任务、步骤和结果。"}):Rn.map(b=>s.jsxs("button",{type:"button",className:`de-run-detail-row de-live-feed-row--${b.status_tone||"info"}`,onClick:()=>{const Q=tn.find(re=>re.id===b.id);Q&&Od(Q)},title:b.business_detail,children:[s.jsx("span",{children:p2(b)}),s.jsx("strong",{children:b.task_name}),s.jsx("span",{children:b.step_name||b.operation_name||"执行步骤"}),s.jsx("span",{children:s.jsx("i",{className:`de-badge ${xs(b.status_tone)}`,children:b.status_label})}),s.jsx("em",{children:b.business_detail})]},b.id))]})]})]})]}),s.jsxs("div",{className:"de-report-summary",children:[s.jsxs("div",{className:"de-card-title-bar de-report-summary-head de-report-summary-head--bar",children:[s.jsx("div",{className:"de-report-summary-title-row",children:s.jsx("h3",{children:"日报生成"})}),s.jsx("span",{className:`de-report-badge ${(Ae==null?void 0:Ae.status)==="ready"?"de-report-badge--ready":"de-report-badge--waiting"}`,children:(Ae==null?void 0:Ae.status)==="ready"?"已生成":"待生成"})]}),s.jsxs("div",{className:"de-report-summary-body",children:[s.jsxs("div",{className:"de-report-schedule-row",children:[s.jsxs("label",{children:[s.jsx("span",{children:"生成时间"}),s.jsx("input",{type:"time",value:rl,onChange:b=>dc(b.target.value||"18:00")})]}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:S==="update_report_schedule",onClick:()=>{Bi()},children:"设置时间"}),s.jsx("button",{type:"button",className:"de-btn-primary de-btn-sm",disabled:S==="generate_daily_report",onClick:()=>{Ui()},children:S==="generate_daily_report"?"生成中...":"生成日报"}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm de-report-preview-btn",disabled:!Us,onClick:()=>yt(!0),title:Us?"预览日报文字内容":"生成日报后可预览文字内容",children:[s.jsx(ed,{size:14,"aria-hidden":"true"}),"预览日报"]}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm de-report-download-btn",disabled:!(Ae!=null&&Ae.pdf_available),onClick:Xs,title:Ae!=null&&Ae.pdf_available?"下载本地日报文本":"生成日报后可下载本地日报",children:[s.jsx(ws,{size:14,"aria-hidden":"true"}),"下载日报"]}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>e({tab:"daily-report-workbench",entityId:Ae==null?void 0:Ae.report_id}),children:"打开日报运营"})]}),s.jsxs("div",{className:"de-report-meta",children:[s.jsx("p",{children:(Ae==null?void 0:Ae.summary)??"点击生成日报后AI 会基于当天所有任务写出总分结构日报。"}),((Ae==null?void 0:Ae.detail_lines)??[]).slice(0,3).map(b=>s.jsx("p",{children:b},b))]})]})]})]})})]}),Ce&&Ae&&s.jsx("div",{className:"de-task-manager-modal-overlay de-report-preview-overlay",role:"presentation",onClick:()=>yt(!1),children:s.jsxs("div",{className:"de-report-preview-modal",role:"dialog","aria-modal":"true","aria-label":"日报预览",onClick:b=>b.stopPropagation(),children:[s.jsxs("div",{className:"de-task-manager-modal-head",children:[s.jsxs("div",{children:[s.jsx("span",{className:"de-drawer-eyebrow",children:"DAILY REPORT"}),s.jsx("h3",{children:Ae.title||"数字员工日报"}),s.jsxs("p",{children:[fa," 生成时间 ",Ae.report_schedule_time,",来源:",Ae.generated_by==="ai"?"AI 生成":"规则兜底"]})]}),s.jsx("button",{type:"button",className:"de-schedule-close",onClick:()=>yt(!1),children:"×"})]}),s.jsxs("div",{className:"de-report-preview-summary",children:[s.jsxs("div",{children:[s.jsx("span",{children:"任务总数"}),s.jsx("strong",{children:Vn})]}),s.jsxs("div",{children:[s.jsx("span",{children:"执行次数"}),s.jsx("strong",{children:rn})]}),s.jsxs("div",{children:[s.jsx("span",{children:"成功次数"}),s.jsx("strong",{children:_c})]}),s.jsxs("div",{children:[s.jsx("span",{children:"失败次数"}),s.jsx("strong",{children:$d})]})]}),s.jsx("div",{className:"de-report-preview-content",children:Jl.length===0?s.jsx("p",{className:"de-empty-text",children:"当前日报暂无可预览文字。"}):Jl.map((b,Q)=>s.jsx("p",{children:b},`${Q}-${b}`))}),s.jsxs("div",{className:"de-event-modal-actions",children:[s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>yt(!1),children:"关闭"}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm de-report-download-btn",disabled:!Ae.pdf_available,onClick:Xs,children:[s.jsx(ws,{size:14,"aria-hidden":"true"}),"下载日报"]})]})]})}),Ai&&s.jsx("div",{className:"de-task-manager-modal-overlay",role:"presentation",onClick:()=>il(null),children:s.jsxs("div",{className:"de-profile-settings-modal de-blocked-input-modal",role:"dialog","aria-modal":"true","aria-label":"补充阻塞步骤输入",onClick:b=>b.stopPropagation(),children:[s.jsxs("div",{className:"de-task-manager-modal-head",children:[s.jsxs("div",{children:[s.jsx("span",{className:"de-drawer-eyebrow",children:"BLOCKED PLANSTEP"}),s.jsx("h3",{children:"补充输入"}),s.jsx("p",{children:Ai.step.title})]}),s.jsx("button",{type:"button",className:"de-schedule-close",onClick:()=>il(null),children:"×"})]}),s.jsxs("label",{className:"de-blocked-input-field",children:[s.jsx("span",{children:"补充内容"}),s.jsx("textarea",{value:Vl,onChange:b=>sl(b.target.value),placeholder:"输入用于解除当前阻塞的信息"})]}),s.jsxs("div",{className:"de-event-modal-actions",children:[s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>il(null),children:"取消"}),s.jsx("button",{type:"button",className:"de-btn-primary de-btn-sm",disabled:!Vl.trim()||!!S,onClick:()=>{Js()},children:"提交输入"})]})]})}),Ie&&s.jsx("div",{className:"de-task-manager-modal-overlay",role:"presentation",onClick:()=>V(!1),children:s.jsxs("div",{className:"de-profile-settings-modal",role:"dialog","aria-modal":"true","aria-label":"数字员工特性设置",onClick:b=>b.stopPropagation(),children:[s.jsxs("div",{className:"de-task-manager-modal-head",children:[s.jsxs("div",{children:[s.jsx("span",{className:"de-drawer-eyebrow",children:"PROFILE"}),s.jsx("h3",{children:"特性设置"}),s.jsx("p",{children:"维护数字员工在首页展示的姓名、单位、岗位和当前状态。"})]}),s.jsx("button",{type:"button",className:"de-schedule-close",onClick:()=>V(!1),children:"×"})]}),s.jsxs("div",{className:"de-profile-settings-grid",children:[s.jsxs("label",{children:[s.jsx("span",{children:"姓名"}),s.jsx("input",{value:En.name,onChange:b=>Ca(Q=>({...Q,name:b.target.value}))})]}),s.jsxs("label",{children:[s.jsx("span",{children:"单位"}),s.jsx("input",{value:En.company,onChange:b=>Ca(Q=>({...Q,company:b.target.value}))})]}),s.jsxs("label",{children:[s.jsx("span",{children:"岗位"}),s.jsx("input",{value:En.position,onChange:b=>Ca(Q=>({...Q,position:b.target.value}))})]}),s.jsxs("div",{className:"de-profile-status-toggle",children:[s.jsx("span",{children:"当前状态"}),s.jsxs("div",{children:[s.jsx("button",{type:"button",className:En.currentStatus==="working"?"active":"",onClick:()=>Ca(b=>({...b,currentStatus:"working"})),children:"工作中"}),s.jsx("button",{type:"button",className:En.currentStatus==="resting"?"active":"",onClick:()=>Ca(b=>({...b,currentStatus:"resting"})),children:"休息中"})]})]})]}),s.jsxs("div",{className:"de-event-modal-actions",children:[s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>V(!1),children:"取消"}),s.jsx("button",{type:"button",className:"de-btn-primary de-btn-sm",disabled:S==="update_profile",onClick:()=>{xc()},children:S==="update_profile"?"保存中...":"保存设置"})]})]})}),He&&s.jsx("div",{className:"de-task-manager-modal-overlay",role:"presentation",onClick:()=>Ke(null),children:s.jsxs("div",{className:"de-event-detail-modal",role:"dialog","aria-modal":"true","aria-label":"同步失败详情",onClick:b=>b.stopPropagation(),children:[s.jsxs("div",{className:"de-task-manager-modal-head",children:[s.jsxs("div",{children:[s.jsx("span",{className:"de-drawer-eyebrow",children:"SYNC FAILURE"}),s.jsx("h3",{children:"同步失败详情"}),s.jsxs("p",{children:[Xr(He.entityType)," / ",He.operation]})]}),s.jsx("button",{type:"button",className:"de-schedule-close",onClick:()=>Ke(null),children:"×"})]}),s.jsxs("div",{className:"de-event-detail-grid",children:[s.jsxs("div",{children:[s.jsx("span",{children:"Outbox"}),s.jsx("strong",{children:He.id})]}),s.jsxs("div",{children:[s.jsx("span",{children:"实体"}),s.jsx("strong",{children:He.entityId})]}),((Cc=He.entitySummary)==null?void 0:Cc.title)&&s.jsxs("div",{children:[s.jsx("span",{children:"业务"}),s.jsx("strong",{children:He.entitySummary.title})]}),((Nc=He.entitySummary)==null?void 0:Nc.status)&&s.jsxs("div",{children:[s.jsx("span",{children:"业务状态"}),s.jsx("strong",{children:He.entitySummary.status})]}),s.jsxs("div",{children:[s.jsx("span",{children:"类型"}),s.jsx("strong",{children:Xr(He.entityType)})]}),s.jsxs("div",{children:[s.jsx("span",{children:"操作"}),s.jsx("strong",{children:He.operation})]}),s.jsxs("div",{children:[s.jsx("span",{children:"重试"}),s.jsxs("strong",{children:[He.attempts," 次"]})]}),s.jsxs("div",{children:[s.jsx("span",{children:"上次尝试"}),s.jsx("strong",{children:hy(He)})]}),s.jsxs("div",{children:[s.jsx("span",{children:"下次重试"}),s.jsx("strong",{children:tx(He)})]}),s.jsxs("div",{children:[s.jsx("span",{children:"状态"}),s.jsx("strong",{children:He.dueForRetry?"等待补偿":"退避中"})]})]}),s.jsxs("div",{className:"de-event-detail-result",children:[s.jsx("span",{children:"失败原因"}),s.jsx("p",{children:He.error||"暂无错误详情。"})]}),((Hi=He.entitySummary)==null?void 0:Hi.summary)&&s.jsxs("div",{className:"de-event-detail-result",children:[s.jsx("span",{children:"业务摘要"}),s.jsx("p",{children:He.entitySummary.summary})]}),(((Ec=He.attemptHistory)==null?void 0:Ec.length)??0)>0&&s.jsxs("div",{className:"de-sync-attempt-history",children:[s.jsx("span",{children:"重试历史"}),s.jsx("div",{className:"de-sync-attempt-list",children:(Ac=He.attemptHistory)==null?void 0:Ac.map(b=>s.jsxs("div",{className:`de-sync-attempt-row de-sync-attempt-row--${o2(b.status)}`,children:[s.jsxs("div",{children:[s.jsxs("strong",{children:["第 ",b.attemptNo," 次"]}),s.jsx("em",{children:c2(b.status)}),s.jsx("span",{children:Wa(b.finishedAt)||b.finishedAt})]}),b.error&&s.jsx("small",{children:b.error})]},`${b.attemptNo}-${b.finishedAt}`))})]}),s.jsxs("div",{className:"de-event-modal-actions",children:[s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>Ke(null),children:"关闭"}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>{ma(He)},children:[s.jsx(QS,{size:14}),"复制诊断"]}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>Vs(He),children:[s.jsx(ws,{size:14}),"导出诊断"]}),He.managementRecordUrl&&s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>window.open(He.managementRecordUrl||"","_blank","noopener,noreferrer"),children:[s.jsx(ed,{size:14}),"查看管理端记录"]}),s.jsx("button",{type:"button",className:"de-btn-primary de-btn-sm",disabled:S==="flush_management_sync",onClick:()=>{qi().then(()=>Ke(null))},children:S==="flush_management_sync"?"同步中...":"立即重试"})]})]})}),U&&s.jsx("div",{className:"de-task-manager-modal-overlay",role:"presentation",onClick:Ws,children:s.jsxs("div",{className:"de-event-detail-modal",role:"dialog","aria-modal":"true","aria-label":"执行记录详情",onClick:b=>b.stopPropagation(),children:[s.jsxs("div",{className:"de-task-manager-modal-head",children:[s.jsxs("div",{children:[s.jsx("span",{className:"de-drawer-eyebrow",children:"EXECUTION DETAIL"}),s.jsx("h3",{children:"执行记录详情"}),s.jsx("p",{children:"这条记录已被锁定,滚动不会把它刷掉。"})]}),s.jsx("button",{type:"button",className:"de-schedule-close",onClick:Ws,children:"×"})]}),s.jsxs("div",{className:"de-event-detail-grid",children:[s.jsxs("div",{children:[s.jsx("span",{children:"业务"}),s.jsx("strong",{children:U.plan_title})]}),s.jsxs("div",{children:[s.jsx("span",{children:"操作"}),s.jsx("strong",{children:U.task_title})]}),s.jsxs("div",{children:[s.jsx("span",{children:"状态"}),s.jsx("strong",{children:_y(U)})]}),s.jsxs("div",{children:[s.jsx("span",{children:"计划时间"}),s.jsx("strong",{children:ex(U)})]}),s.jsxs("div",{children:[s.jsx("span",{children:"执行时间"}),s.jsx("strong",{children:nx(U)})]}),s.jsxs("div",{children:[s.jsx("span",{children:"数据来源"}),s.jsx("strong",{children:zi})]})]}),s.jsxs("div",{className:"de-event-detail-result",children:[s.jsx("span",{children:"操作结果"}),s.jsx("p",{children:Zo(U)})]}),s.jsxs("div",{className:"de-event-modal-actions",children:[s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:Ws,children:"关闭"}),s.jsx("button",{type:"button",className:"de-btn-primary de-btn-sm",onClick:()=>Ld(U),children:"打开任务中心详情"})]})]})}),ne&&s.jsx("div",{className:"de-task-manager-modal-overlay",role:"presentation",onClick:Sc,children:s.jsxs("div",{className:"de-event-history-modal",role:"dialog","aria-modal":"true","aria-label":"全部执行记录",onClick:b=>b.stopPropagation(),children:[s.jsxs("div",{className:"de-task-manager-modal-head",children:[s.jsxs("div",{children:[s.jsx("span",{className:"de-drawer-eyebrow",children:"EXECUTION HISTORY"}),s.jsx("h3",{children:"运行明细"}),s.jsxs("p",{children:["当前日期共 ",tn.length," 条记录,本窗口展示最新 ",Math.min(Zl.length,fy)," 条。"]})]}),s.jsx("button",{type:"button",className:"de-schedule-close",onClick:Sc,children:"×"})]}),s.jsx("div",{className:"de-event-history-toolbar",children:TN.map(b=>s.jsx("button",{type:"button",className:`de-filter-chip ${de===b.id?"active":""}`,onClick:()=>Te(b.id),children:b.label},b.id))}),s.jsx("div",{className:"de-event-history-list",children:Zl.length===0?s.jsx("p",{className:"de-empty-text",children:"当前筛选下没有执行记录。"}):mc.map(b=>s.jsxs("button",{type:"button",className:`de-event-history-row de-live-feed-row--${b.status_tone||"info"}`,onClick:()=>{le(b),B(!1),M(!0)},children:[s.jsxs("span",{children:[s.jsx("em",{children:"业务"}),s.jsx("strong",{children:b.plan_title})]}),s.jsxs("span",{children:[s.jsx("em",{children:"操作"}),s.jsx("strong",{children:b.task_title})]}),s.jsxs("span",{children:[s.jsx("em",{children:"状态"}),s.jsx("strong",{children:_y(b)})]}),s.jsxs("span",{children:[s.jsx("em",{children:"操作结果"}),s.jsx("strong",{children:Zo(b)}),s.jsx("small",{children:by(b)})]})]},b.id))})]})}),se&&s.jsx("div",{className:"de-task-manager-modal-overlay de-plan-action-overlay",role:"presentation",onClick:()=>ue(null),children:s.jsxs("div",{className:"de-plan-action-modal",role:"dialog","aria-modal":"true","aria-label":"定时任务",onClick:b=>b.stopPropagation(),children:[s.jsxs("div",{className:"de-task-manager-modal-head",children:[s.jsxs("div",{children:[s.jsx("span",{className:"de-drawer-eyebrow",children:"PLAN SCHEDULE"}),s.jsx("h3",{children:"定时任务"}),s.jsx("p",{children:"定时会把任务注册到后端调度链路,每天按设置时间自动派发。"})]}),s.jsx("button",{type:"button",className:"de-schedule-close",onClick:()=>ue(null),children:"×"})]}),s.jsxs("div",{className:"de-plan-action-body",children:[s.jsxs("div",{className:"de-event-detail-result",children:[s.jsx("span",{children:"任务"}),s.jsx("p",{children:se.title})]}),s.jsxs("label",{className:"de-plan-action-field",children:[s.jsx("span",{children:"每日定时时间"}),s.jsx("input",{type:"time",value:ae,onChange:b=>he(b.target.value||"09:00")})]}),s.jsxs("div",{className:"de-event-detail-grid de-plan-action-grid",children:[s.jsxs("div",{children:[s.jsx("span",{children:"调度注册"}),s.jsx("strong",{children:py(ae)})]}),s.jsxs("div",{children:[s.jsx("span",{children:"任务步骤"}),s.jsxs("strong",{children:[se.stepCount," 步"]})]}),s.jsxs("div",{children:[s.jsx("span",{children:"执行步骤"}),s.jsxs("strong",{children:[se.taskCount," 项"]})]})]}),s.jsx("div",{className:"de-schedule-result de-schedule-result--success",children:"这里不是本地假定时;提交后如果后端调度链路不可用,会直接显示真实失败原因。"})]}),s.jsxs("div",{className:"de-event-modal-actions",children:[s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>ue(null),children:"取消"}),s.jsx("button",{type:"button",className:"de-btn-primary de-btn-sm",disabled:S===`schedule:${se.id}`,onClick:()=>{kc(se)},children:S===`schedule:${se.id}`?"注册中...":"确认定时"})]})]})}),ve&&s.jsx("div",{className:"de-task-manager-modal-overlay de-plan-action-overlay",role:"presentation",onClick:()=>Ee(null),children:s.jsxs("div",{className:"de-plan-action-modal",role:"dialog","aria-modal":"true","aria-label":"执行任务",onClick:b=>b.stopPropagation(),children:[s.jsxs("div",{className:"de-task-manager-modal-head",children:[s.jsxs("div",{children:[s.jsx("span",{className:"de-drawer-eyebrow",children:"PLAN EXECUTION"}),s.jsx("h3",{children:"执行任务"}),s.jsx("p",{children:"确认后立即创建并派发任务步骤,不需要先进入任务中心设置。"})]}),s.jsx("button",{type:"button",className:"de-schedule-close",onClick:()=>Ee(null),children:"×"})]}),s.jsxs("div",{className:"de-plan-action-body",children:[s.jsxs("div",{className:"de-event-detail-result",children:[s.jsx("span",{children:"任务"}),s.jsx("p",{children:ve.title})]}),s.jsxs("div",{className:"de-event-detail-grid de-plan-action-grid",children:[s.jsxs("div",{children:[s.jsx("span",{children:"当前状态"}),s.jsx("strong",{children:ve.statusLabel})]}),s.jsxs("div",{children:[s.jsx("span",{children:"任务步骤"}),s.jsxs("strong",{children:[ve.stepCount," 步"]})]}),s.jsxs("div",{children:[s.jsx("span",{children:"执行步骤"}),s.jsxs("strong",{children:[ve.taskCount," 项"]})]})]}),s.jsx("div",{className:`de-schedule-result ${Hr(ve)?"de-schedule-result--success":"de-schedule-result--pending"}`,children:Hr(ve)?"确认后立即调用后端派发接口,按任务步骤进入真实执行链路。":Gr(ve)})]}),s.jsxs("div",{className:"de-event-modal-actions",children:[s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>Ee(null),children:"取消"}),s.jsx("button",{type:"button",className:"de-btn-primary de-btn-sm",disabled:S===`execute:${ve.id}`||!Hr(ve),onClick:()=>{Md(ve)},children:S===`execute:${ve.id}`?"触发中...":"确认执行"})]})]})}),Xl&&ol&&s.jsx("div",{className:"de-task-manager-modal-overlay de-workday-guide-overlay",role:"presentation",onClick:Ps,children:s.jsxs("div",{className:"de-task-manager-modal de-workday-guide-modal",role:"dialog","aria-modal":"true","aria-label":"开始今天的任务",onClick:b=>b.stopPropagation(),children:[s.jsxs("div",{className:"de-task-manager-modal-head de-workday-guide-head",children:[s.jsxs("div",{children:[s.jsx("span",{className:"de-drawer-eyebrow",children:"WORKDAY START"}),s.jsx("h3",{children:"开始今天的任务"}),s.jsx("p",{children:"像值班员早上交接一样,先确认日期和执行内容,再让数字员工开始接单、外呼、汇总和汇报。"})]}),s.jsx("button",{type:"button",className:"de-schedule-close",onClick:Ps,children:"×"})]}),s.jsx("div",{className:"de-workday-guide-steps","aria-label":"开工引导步骤",children:$N.map((b,Q)=>s.jsxs("div",{className:"de-workday-guide-step",children:[s.jsx("span",{children:Q+1}),s.jsx("strong",{children:b.title}),s.jsx("p",{children:b.body})]},b.title))}),s.jsxs("div",{className:"de-workday-guide-body",children:[s.jsxs("section",{className:"de-task-manager-column de-workday-guide-column",children:[s.jsxs("div",{className:"de-task-manager-section-head",children:[s.jsxs("div",{children:[s.jsx("strong",{children:"选择今天要执行的任务"}),s.jsxs("span",{children:[zt.length," 项已选,",oa.length," 项总任务,",Na.length," 项待选择"]})]}),s.jsx("span",{className:`de-badge ${Mi}`,children:zi})]}),s.jsx("div",{className:"de-workday-guide-duty-list",children:g?s.jsx("div",{className:"de-loading-skeleton",style:{height:220}}):sn.length===0?s.jsx("p",{className:"de-empty-text",children:"暂无任务,首页不再展示硬编码任务。请先在任务中心创建或同步。"}):sn.map(b=>Ii(b,"guide"))})]}),s.jsxs("aside",{className:"de-workday-guide-side",children:[s.jsxs("div",{className:"de-workday-guide-summary",children:[s.jsx("span",{children:"日期"}),s.jsx("strong",{children:a}),s.jsx("p",{children:Oi})]}),s.jsxs("div",{className:"de-workday-guide-summary",children:[s.jsx("span",{children:"确认后会发生什么"}),s.jsx("strong",{children:"右侧进入执行滚动"}),s.jsx("p",{children:"首页会展示当前动作、下一步、操作状态和操作结果;需要人工决策时会在右侧停下来提示。"})]}),(D||I||(r==null?void 0:r.demo_reason))&&s.jsx("div",{className:`de-schedule-result ${D?"de-schedule-result--error":"de-schedule-result--success"}`,children:D||(I?"已调整任务勾选,点击确认后生效。":r==null?void 0:r.demo_reason)}),s.jsxs("div",{className:"de-workday-guide-actions",children:[s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:Ps,children:"稍后设置"}),s.jsx("button",{type:"button",className:"de-btn-primary de-btn-sm",disabled:S==="confirm_workday"||g,onClick:()=>{Ks()},children:S==="confirm_workday"?"确认中...":"确认并开始任务"})]})]})]})]})}),E&&s.jsx("div",{className:"de-task-manager-modal-overlay",role:"presentation",onClick:()=>J(!1),children:s.jsxs("div",{className:"de-task-manager-modal",role:"dialog","aria-modal":"true","aria-label":"任务设置",onClick:b=>b.stopPropagation(),children:[s.jsxs("div",{className:"de-task-manager-modal-head",children:[s.jsxs("div",{children:[s.jsx("span",{className:"de-drawer-eyebrow",children:"TASK MANAGER"}),s.jsx("h3",{children:"任务设置"}),s.jsx("p",{children:"像员工早上确认工作一样,勾选今天要执行的内容,必要时进入详情或处理待决策事项。"})]}),s.jsx("button",{type:"button",className:"de-schedule-close",onClick:()=>J(!1),children:"×"})]}),s.jsxs("div",{className:"de-task-manager-modal-body",children:[s.jsxs("section",{className:"de-task-manager-column de-task-manager-column--duties",children:[s.jsxs("div",{className:"de-task-manager-section-head",children:[s.jsxs("div",{children:[s.jsx("strong",{children:"任务设置清单"}),s.jsxs("span",{children:[zt.length," 项已选,",oa.length," 项总任务,",Na.length," 项待选择"]})]}),s.jsx("button",{type:"button",className:"de-btn-primary de-btn-sm",disabled:S==="confirm_workday"||g,onClick:()=>{Ks()},children:S==="confirm_workday"?"确认中...":Me!=null&&Me.confirmed?"重新任务执行":"确认并开始任务"})]}),s.jsx("div",{className:"de-task-manager-duty-list",children:g?s.jsx("div",{className:"de-loading-skeleton",style:{height:180}}):sn.length===0?s.jsx("p",{className:"de-empty-text",children:"暂无任务,首页不会显示硬编码任务。可进入任务中心创建。"}):sn.map(b=>Ii(b,"manager"))})]}),s.jsxs("aside",{className:"de-task-manager-column de-task-manager-column--actions",children:[s.jsx("div",{className:"de-task-manager-section-head",children:s.jsxs("div",{children:[s.jsx("strong",{children:"待解决事项"}),s.jsx("span",{children:Aa.length>0?`${Aa.length} 项需要人处理`:"暂无阻塞事项"})]})}),s.jsx("div",{className:"de-task-manager-decision-list",children:((r==null?void 0:r.decisions)??[]).length===0?s.jsx("p",{className:"de-empty-text",children:"没有需要你确认的事项。"}):((r==null?void 0:r.decisions)??[]).map(b=>{var dt;const Q=k[b.id]??vs,re=`approval-action:${b.id}:`,ye=S===`${re}comment`,_e=S===`${re}delegate`,Qe=S===`${re}mark_timeout`,_t=S===`${re}mark_risk`,at=S===`${re}clear_risk`,ke=(dt=b.conflict)!=null&&dt.active?b.conflict:null;return s.jsxs("div",{className:"de-task-manager-decision-card",children:[s.jsxs("div",{className:"de-log-entry-meta",children:[s.jsx("strong",{children:b.title}),s.jsx("span",{children:b.status_label})]}),s.jsx("p",{children:b.scenario}),s.jsxs("div",{className:"de-approval-summary-grid",children:[ke&&s.jsx("span",{className:"de-badge de-badge-danger",children:"跨端冲突"}),s.jsx("span",{className:`de-badge ${xs(qN(b.risk_level))}`,children:LN(b.risk_level)}),s.jsx("span",{className:`de-badge ${xs(BN(b.sla_status))}`,children:UN(b.sla_status)}),s.jsx("span",{children:b.due_at?`截止 ${Wa(b.due_at)||b.due_at}`:"未设置截止"}),s.jsx("span",{children:b.comment_count?`评论 ${b.comment_count}`:"暂无评论"}),s.jsx("span",{children:b.delegate_to?`转交 ${b.delegate_to}`:"未转交"}),s.jsx("span",{children:b.last_action?`最近 ${Xf(b.last_action)} · ${b.last_actor||"未知"}`:"暂无审批动作"}),s.jsx("span",{children:b.approval_step_count?`步骤 ${b.approval_step_index||1}/${b.approval_step_count}`:"单步审批"}),s.jsx("span",{children:b.current_step_label?`当前 ${b.current_step_label}`:"当前步骤待确认"}),s.jsx("span",{children:b.current_participant?`处理人 ${b.current_participant}`:"未指定处理人"}),s.jsx("span",{children:b.next_step_label?`下一步 ${b.next_step_label}`:"无后续步骤"})]}),ke&&s.jsxs("div",{className:"de-decision-chain-note de-decision-chain-note--conflict",children:[s.jsx("span",{className:"de-badge de-badge-danger",children:"人工排查"}),s.jsxs("span",{children:[IN(ke.reason),":本地 ",my(ke.local_status??b.status),",管理端 ",my(ke.remote_status),"。",ke.detected_at?` 检测 ${Wa(ke.detected_at)||ke.detected_at}`:""]})]}),ke&&s.jsx("div",{className:"de-workbench-actions de-approval-governance-actions",children:[["keep_local","保留本地"],["accept_remote","采纳管理端"],["mark_reviewed","标记已复核"]].map(([et,cn])=>{const Fn=`approval-conflict:${b.id}:${et}`;return s.jsx("button",{type:"button",className:et==="accept_remote"?"de-workbench-action-accent":"",disabled:S===Fn,onClick:()=>{ei(b,et)},children:s.jsx("span",{children:S===Fn?"记录中...":cn})},et)})}),s.jsxs("div",{className:"de-approval-action-fields",children:[s.jsx("input",{value:Q.comment,placeholder:"评论 / 风险原因",onChange:et=>Jn(b.id,{comment:et.target.value})}),s.jsx("input",{value:Q.delegateTo,placeholder:"转交对象",onChange:et=>Jn(b.id,{delegateTo:et.target.value})}),s.jsx("input",{type:"datetime-local",value:Q.dueAt,onChange:et=>Jn(b.id,{dueAt:et.target.value})})]}),s.jsxs("div",{className:"de-workbench-actions de-approval-governance-actions",children:[s.jsxs("button",{type:"button",title:"记录审批评论",disabled:ye,onClick:()=>{pa(b,"comment")},children:[s.jsx(Qo,{size:13}),s.jsx("span",{children:ye?"记录中...":"评论"})]}),s.jsxs("button",{type:"button",title:"转交审批",disabled:_e,onClick:()=>{pa(b,"delegate")},children:[s.jsx(aj,{size:13}),s.jsx("span",{children:_e?"转交中...":"转交"})]}),s.jsxs("button",{type:"button",title:"标记 SLA 超时",disabled:Qe,onClick:()=>{pa(b,"mark_timeout")},children:[s.jsx(Hf,{size:13}),s.jsx("span",{children:Qe?"标记中...":"超时"})]}),s.jsxs("button",{type:"button",title:"标记审批风险",disabled:_t,onClick:()=>{pa(b,"mark_risk")},children:[s.jsx(Fg,{size:13}),s.jsx("span",{children:_t?"标记中...":"风险"})]}),s.jsxs("button",{type:"button",title:"清除审批风险",disabled:at,onClick:()=>{pa(b,"clear_risk")},children:[s.jsx(Pr,{size:13}),s.jsx("span",{children:at?"清除中...":"清除"})]})]}),s.jsxs("div",{className:"de-decision-chain-note",children:[s.jsx("span",{className:`de-badge ${ke?"de-badge-danger":"de-badge-success"}`,children:ke?"冲突保护":"本地记录"}),s.jsx("span",{children:ke?"直接同意/驳回已暂停,请先同步或在管理端工作台排查。":Zf(b.status)?"处理结果会写入 qimingclaw runtime event。":"该事项已在本地状态中处理。"}),ke?s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>e({tab:"interventions",interventionKind:"approval_conflict",entityId:b.id}),children:"打开介入台"}):null]}),s.jsxs("div",{className:"de-workbench-actions",children:[b.actions.map(et=>s.jsx("button",{type:"button",className:et.tone==="primary"?"de-workbench-action-accent":"",disabled:S===`${b.id}:${et.id}`||!Zf(b.status)||!!ke,onClick:()=>{Ft(b,et.id)},children:S===`${b.id}:${et.id}`?"处理中...":et.label},et.id)),s.jsx("button",{type:"button",onClick:()=>e({tab:"missions",date:a,missionId:b.id}),children:"查看上下文"})]})]},b.id)})})]})]})]})})]})}function gn({children:e,className:a="",style:l}){return s.jsx("div",{className:`de-card ${a}`,style:l,children:e})}function Nn({title:e,children:a}){return s.jsxs("div",{className:"de-card-title-bar",children:[s.jsx("span",{className:"de-card-title-bar-text",children:e}),a]})}const R2={info:"de-badge-info",success:"de-badge-success",warning:"de-badge-warning",danger:"de-badge-danger"};function vm({variant:e,label:a}){return s.jsx("span",{className:`de-badge ${R2[e]}`,children:a})}function xm(e){return Array.isArray(e)?e:[]}function Bo(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function Ye(e,a=""){return typeof e=="string"?e:typeof e=="number"?String(e):a}function zs(e){return/[\u4e00-\u9fff]/.test(e)}const ky={queued:"排队中",ready:"就绪",idle:"待执行",pending:"待处理",pending_authorization:"待授权",waiting_input:"待输入",draft:"草稿",reviewing:"审核中",approved:"已批准",preparing:"准备中",running:"执行中",active:"运行中",blocked:"已阻塞",succeeded:"已完成",success:"成功",finished:"已完成",complete:"已完成",completed:"已完成",failed:"失败",error:"错误",cancelled:"已取消",canceled:"已取消",aborted:"已终止",rejected:"已拒绝",deferred:"已暂缓",dispatched:"已下发",scheduled:"已设置定时",enabled:"已启用",disabled:"已停用",paused:"已暂停",unknown:"未知"},Sy={plan:"计划",task:"任务",task_running:"处理中",task_done:"任务完成",run:"执行开始",run_done:"执行完成",skill_tool:"技能调用",artifact:"产物",task_summary:"结果",entered_session:"会话",start:"目标",RunStarted:"开始调用",RequestDispatched:"请求已发出",ResponseReceived:"收到返回",RunSkipped:"本次跳过",RunCompleted:"执行完成",waiting_for_authorization:"等待授权",pending_authorization:"等待授权",authorization_approved:"授权通过",authorization_rejected:"授权拒绝",authorization_deferred:"稍后处理",failed:"执行失败",completed:"执行完成"};function hn(e,a="未知"){const l=Ye(e).trim();if(!l)return a;const r=ky[l]??ky[l.toLowerCase()];return r||(zs(l)?l:a)}function $2(e){const a=Ye(e).trim();return a?Sy[a]??Sy[a.toLowerCase()]??(zs(a)?a:"事件"):"事件"}function ax(e,a="暂无事件内容"){const l=Ye(e).trim();if(!l)return a;if(zs(l))return l;const r=hn(l,"");if(r)return r;const o=l.match(/^(Succeeded|Failed|Running|Completed)\s*\(attempt\s*#(\d+)\)$/i);return o?`${hn(o[1])}(第 ${o[2]} 次)`:/request failed/i.test(l)?"请求失败":/backend unavailable/i.test(l)?"后端服务不可达":/not found/i.test(l)?"未找到对应资源":a}function Qr(e,a="未命名内容"){const l=Ye(e).trim();if(!l||/unnamed/i.test(l))return a;if(zs(l))return l;const r=hn(l,"");if(r)return r;const o=lx(l);return o||l}function km(e){return["succeeded","success","finished","complete","completed"].includes(e.toLowerCase())}function Sm(e){return["failed","error","cancelled","canceled","aborted","rejected","deadletter"].includes(e.toLowerCase())}function D2(e,a){const l=Ye(e).trim().toLowerCase();return a.length===0?l||"pending":a.some(r=>Sm(r.status))?"failed":a.some(r=>["running","active","leased"].includes(r.status.toLowerCase()))?"running":a.some(r=>["queued","ready","pending"].includes(r.status.toLowerCase()))?"queued":a.every(r=>km(r.status))?"succeeded":l||"pending"}function z2(e,a){const l=Ye(e,"unknown").trim().toLowerCase();return km(l)||Sm(l)?l:a.some(r=>Sm(r.status))?"failed":a.some(r=>["running","active","queued","leased"].includes(r.status.toLowerCase()))?"running":a.length>0&&a.every(r=>km(r.status))?"succeeded":l||"unknown"}function jy(e){return e?e.map(a=>{const l=Ye(a.plan_id),o=xm(a.steps).map(p=>{const _=xm(p.tasks).map(g=>({id:Ye(g.task_id),title:Qr(g.title,"子任务"),description:Ye(g.description),status:Ye(g.status,"pending"),assignedSkillId:g.assigned_skill_id?Ye(g.assigned_skill_id):null,startedAt:g.started_at?Ye(g.started_at):null,finishedAt:g.finished_at?Ye(g.finished_at):null}));return{id:Ye(p.step_id),title:Qr(p.title,"任务步骤"),description:Ye(p.description),status:D2(p.status,_),preferredSkills:Array.isArray(p.preferred_skills)?p.preferred_skills:[],tasks:_}}),d=[];for(const p of o)for(const h of p.tasks)d.push(h.id);return{id:l,title:Qr(a.title,"未命名任务"),objective:Qr(a.objective||a.description,"暂无任务说明"),status:z2(a.status,o),createdAt:a.created_at?Ye(a.created_at):null,updatedAt:a.updated_at?Ye(a.updated_at):null,steps:o,sourceIds:{planId:l||void 0,taskIds:d}}}):[]}const Jf={"decision-analyzer":"决策分析","git-log-collector":"Git 日志采集","number-generator":"数据生成","office-export-xlsx":"Excel 导出","task-tracker":"任务跟踪","weekly-report-writer":"周报撰写","zhihu-hotlist-detail":"知乎热榜明细","zhihu-hotlist":"知乎热榜","tq-lineloss-report":"台区线损报表","archive-workorder-grid-push-monitor":"归档工单推送监控","available-balance-below-zero-monitor":"可用余额监控","command-center-fee-control-monitor":"费用管控监控","sgcc-todo-crawler":"SGCC 待办爬取","appointment-workorder-monitor":"约时工单监控","fault-location-monitor":"故障定位监控","fudian-failure-monitor":"复电失败监控","important-service-expiry-monitor":"服务到期预警","by-95598-customer-satisfaction-report":"95598 满意率日报","by-daily-report-statistics":"日报统计","by-fire-fault-monthly-report":"火警故障月报","by-risk-control-next-day-plan-report":"风控次日计划","by-risk-control-week-plan-report":"风控周计划","by-supervision-workorder-detail-report":"督办工单明细","age-file-encryption":"文件加解密","anonymous-file-upload":"匿名文件上传","browser-automation-agent":"浏览器自动化","bulk-github-star":"批量仓库标星","changelog-generator":"更新日志生成","code-reviewer":"代码审查","commit-automation":"自动提交","crypto-trading-signal":"交易信号分析","csv-to-json":"CSV 转 JSON","data-analysis":"数据分析","deep-research":"深度调研","dependency-updater":"依赖更新","deploy-automation":"自动部署","dns-lookup":"DNS 查询","document-generator":"文档生成","email-automation":"邮件自动化","file-converter":"文件格式转换","git-history-analyzer":"Git 历史分析","github-issue-manager":"Issue 管理","image-optimizer":"图片优化","json-schema-validator":"JSON Schema 校验","log-analyzer":"日志分析","markdown-to-pdf":"Markdown 转 PDF","meeting-summarizer":"会议纪要","news-aggregator":"新闻聚合","pdf-extractor":"PDF 提取","performance-profiler":"性能分析","pr-review-bot":"PR 审查","release-notes-generator":"发布说明生成","screenshot-automation":"截图自动化","search-engine-scraper":"搜索引擎抓取","sentiment-analysis":"情感分析","shell-command-runner":"命令执行","slack-notification":"Slack 通知","spreadsheet-generator":"电子表格生成","text-summarizer":"文本摘要","torrent-search":"资源搜索","translate-text":"文本翻译","web-scraper":"网页抓取","website-monitor":"网站监控","whitepaper-analyzer":"白皮书分析","xml-to-json":"XML 转 JSON"};function lx(e){if(Jf[e])return Jf[e];for(const[a,l]of Object.entries(Jf))if(e.includes(a)||a.includes(e))return l;return null}function wy(e,a){const l=lx(e);return l||(zs(a)?a:"自动化技能")}const Cy={"decision-analyzer":"数字化","git-log-collector":"数字化","number-generator":"数字化","office-export-xlsx":"办公","task-tracker":"办公","weekly-report-writer":"报表","zhihu-hotlist-detail":"数字化","zhihu-hotlist":"数字化","tq-lineloss-report":"报表","archive-workorder-grid-push-monitor":"监控巡检","available-balance-below-zero-monitor":"监控巡检","command-center-fee-control-monitor":"监控巡检","sgcc-todo-crawler":"监控巡检","appointment-workorder-monitor":"监控巡检","fault-location-monitor":"监控巡检","fudian-failure-monitor":"监控巡检","important-service-expiry-monitor":"监控巡检","by-95598-customer-satisfaction-report":"报表","by-daily-report-statistics":"报表","by-fire-fault-monthly-report":"报表","by-risk-control-next-day-plan-report":"报表","by-risk-control-week-plan-report":"报表","by-supervision-workorder-detail-report":"报表","age-file-encryption":"数字化","anonymous-file-upload":"通信","browser-automation-agent":"数字化","bulk-github-star":"发展","changelog-generator":"发展","chat-logger":"通信","check-crypto-address-balance":"财务","city-distance":"发展","city-tourism-website-builder":"营销","crawl-websites-at-scale":"数字化","csv-data-summarizer":"财务","d3js-data-visualization":"数字化","database-query-and-export":"数字化","file-tracker":"综合","free-geocoding-and-maps":"发展","free-translation-api":"综合","free-weather-data":"综合","generate-asset-price-chart":"财务","generate-qr-code-natively":"数字化","get-crypto-price":"财务","git-worktree-cli":"发展","github-stats":"发展","html-to-markdown":"数字化","image-compressor":"综合","json-to-csv":"数字化","llm-council":"数字化","markdown-table-generator":"综合","multi-format-converter":"综合","npm-package-info":"发展","pdf-generator":"综合","random-number-generator":"综合","readability-score":"综合","rss-feed-reader":"通信","sql-formatter":"数字化","text-diff":"综合","torrent-search":"通信","unit-converter":"综合","url-shortener":"通信","youtube-transcript":"通信","zip-extractor":"综合"};function Ny(e){return Cy[e]?Cy[e]:"综合"}function M2(e){return e==="core"||e==="standard"||e==="specialized"||e==="experimental"?e:"standard"}function O2(e,a,l){const r=Ye(a).trim();return r&&zs(r)?r:e.includes("monitor")?`${l}能力,用于按排班自动巡检并提示异常。`:e.includes("report")?`${l}能力,用于自动生成和整理业务报表。`:`${l}能力,可由数字员工按需执行或定时处理。`}function q2(e){return e?e.map(a=>{const l=Ye(a.skill_id,Ye(a.id)),r=Bo(a.governance);return{id:l,name:wy(l,Ye(a.name,l)),version:a.version?Ye(a.version):null,enabled:!!a.enabled,description:O2(l,a.description,wy(l,Ye(a.name,l))),category:a.category?Ye(a.category,Ny(l)):Ny(l),capabilityLevel:M2(a.capability_level??a.capabilityLevel),source:"skill-api",serverId:a.server_id?Ye(a.server_id):null,transport:a.transport?Ye(a.transport):null,running:typeof a.running=="boolean"?a.running:null,toolCount:Ey(a.tool_count),tools:Ff(a.tools),allowTools:Ff(a.allow_tools??(r==null?void 0:r.server_allow_tools)??(r==null?void 0:r.global_allow_tools)),denyTools:Ff(a.deny_tools??(r==null?void 0:r.server_deny_tools)??(r==null?void 0:r.global_deny_tools)),governancePolicy:L2(a.governance_policy??(r==null?void 0:r.effective_policy)),policySource:B2(a.policy_source),remotePolicy:Bo(a.remote_policy),localPolicy:Bo(a.local_policy),recentCalls:xm(a.recent_calls).map(o=>{const d=Bo(o)??{};return{eventId:Ye(d.event_id,Ye(d.id)),message:Ye(d.message),status:d.status?Ye(d.status):null,occurredAt:Ye(d.occurred_at,Ye(d.occurredAt)),toolName:d.tool_name?Ye(d.tool_name):null,projectId:d.project_id?Ye(d.project_id):null}}).filter(o=>o.eventId||o.message),callCount:Ey(a.call_count)??0,lastCalledAt:a.last_called_at?Ye(a.last_called_at):null}}):[]}function Ff(e){return Array.isArray(e)?e.filter(a=>typeof a=="string"&&a.trim().length>0).map(a=>a.trim()):[]}function Ey(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"&&e.trim()){const a=Number(e);return Number.isFinite(a)?a:null}return null}function L2(e){return e==="allow"||e==="deny"||e==="open"||e==="disabled"?e:null}function B2(e){return e==="remote"||e==="local"||e==="open"?e:null}function Ad(e){return e.replace(/[^a-zA-Z0-9_-]/g,"_")}function U2(e){switch(e){case"succeeded":case"completed":return"success";case"failed":case"error":return"danger";case"running":case"active":return"info";default:return"warning"}}function I2(e){return["draft","reviewing","approved"].includes(e.toLowerCase())}function H2(e){const a=`${e.id} ${e.title} ${e.objective}`.toLowerCase();return a.includes("month")||a.includes("monthly")||a.includes("月")?"月度任务":a.includes("week")||a.includes("weekly")||a.includes("周")?"周任务":a.includes("临时")||a.includes("adhoc")||a.includes("hotlist")||a.includes("monitor")?"临时任务":"日常任务"}function xi(e){return["succeeded","success","finished","complete","completed"].includes(e.toLowerCase())}function ix(e){return["failed","error","cancelled","canceled","aborted","rejected","deadletter"].includes(e.toLowerCase())}function G2(e){const a=e.steps.length;if(a===0)return hn(e.status);const l=e.steps.filter(p=>xi(p.status)).length,r=e.steps.filter(p=>ix(p.status)).length,o=e.steps.filter(p=>["running","active","queued","leased"].includes(p.status.toLowerCase())).length,d=[`已完成 ${l}/${a}`];return r>0&&d.push(`失败 ${r}`),o>0&&r===0&&d.push(`处理中 ${o}`),d.join("")}function Y2(e){const a=e.steps.find(o=>ix(o.status));if(a)return`执行失败:${a.title}`;const l=e.steps.find(o=>["running","active"].includes(o.status.toLowerCase()));if(l)return`正在处理:${l.title}`;const r=e.steps.find(o=>!xi(o.status));return r?`准备处理:${r.title}`:xi(e.status)?"本轮任务已完成,等待你查看结果":e.status.toLowerCase()==="failed"?"执行遇到异常,等待你检查后重新执行":"等待你委托数字员工开始处理"}function K2(e,a){const l=e.status.toLowerCase();return l==="failed"||l==="error"?"查看详情后重新执行本任务":["running","active"].includes(l)?"等待完成或查看过程":xi(l)?"查看产物,必要时重新执行":a?"确认目标后点击委托执行":"查看详情确认当前状态"}function Q2(e){const a=`${e.title} ${e.objective}`.toLowerCase();return a.includes("excel")||a.includes("xlsx")||a.includes("导出")||a.includes("报表")?"导出报表":a.includes("brief")||a.includes("简报")||a.includes("日程")?"工作简报":a.includes("snapshot")||a.includes("快照")||a.includes("热榜")?"结果快照":xi(e.status)?"查看完成结果":"完成后生成"}function sx(e){if(!e)return"";const a=new Date(e);return Number.isNaN(a.getTime())?"":[a.getFullYear(),String(a.getMonth()+1).padStart(2,"0"),String(a.getDate()).padStart(2,"0")].join("-")}function rx(){return sx(new Date().toISOString())}function V2(e){if(!e)return"时间未记录";const a=new Date(e);return Number.isNaN(a.getTime())?"时间未记录":a.toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit",hour12:!1})}function X2(e){if(!e)return"";const a=new Date(e);return Number.isNaN(a.getTime())?"":a.toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1})}function Z2(e){const a=`${e.title} ${e.id}`.match(/(?:^|\D)(\d{1,2})[:](\d{2})(?:\D|$)/);if(!a)return null;const l=Number(a[1]),r=Number(a[2]);return!Number.isInteger(l)||!Number.isInteger(r)||l>23||r>59?null:`${String(l).padStart(2,"0")}:${String(r).padStart(2,"0")}`}function J2(e){return e.steps.flatMap(a=>a.tasks.flatMap(l=>[l.startedAt,l.finishedAt])).filter(a=>!!a)}function F2(e,a){return J2(e).filter(r=>sx(r)===a).sort((r,o)=>o.localeCompare(r))[0]??null}function P2(e,a){const l=F2(e,a);if(l)return`实际执行 ${V2(l)}`;const r=a===rx()?"今日未执行":"当日未执行";return`计划执行 ${Z2(e)||"待确认"}${r}`}function W2({mission:e,onSelect:a,onRun:l,onRestart:r,dateFilter:o,selected:d,focusLabel:p,running:h}){const _=I2(e.status),g=xi(e.status)||e.steps.some(C=>xi(C.status)),x=o||rx(),S=X2(e.updatedAt||e.createdAt);return s.jsxs("div",{id:`mission-card-${Ad(e.id)}`,className:`de-mission-card ${d?"de-mission-card--selected":""}`,onClick:()=>a(e),onKeyDown:C=>{(C.key==="Enter"||C.key===" ")&&(C.preventDefault(),a(e))},role:"button",tabIndex:0,children:[s.jsxs("div",{className:"de-mission-card-header",children:[s.jsx("span",{className:"de-mission-card-title",children:e.title}),s.jsxs("div",{className:"de-mission-card-badges",children:[p&&s.jsx("span",{className:"de-mission-card-focus-chip",children:p}),s.jsx(vm,{variant:U2(e.status),label:hn(e.status)})]})]}),e.objective&&s.jsxs("p",{className:"de-mission-card-desc",children:["业务目标:",e.objective]}),s.jsxs("div",{className:"de-mission-card-meta",children:[s.jsxs("span",{children:["周期:",H2(e)]}),s.jsxs("span",{children:["当前进度:",G2(e)]}),S&&s.jsxs("span",{children:["同步于 ",S]})]}),s.jsx("div",{className:"de-mission-card-meta",children:s.jsx("span",{children:Y2(e)})}),s.jsxs("div",{className:"de-mission-card-meta",children:[s.jsxs("span",{children:["下一步:",K2(e,_)]}),s.jsxs("span",{children:["产物入口:",Q2(e)]})]}),s.jsxs("div",{className:"de-mission-card-actions",children:[s.jsxs("span",{className:"de-mission-card-time",children:[P2(e,x),g?";重新执行可能覆盖本任务结果":""]}),s.jsx("button",{type:"button",className:"de-btn-restart",disabled:h,onClick:C=>{C.stopPropagation(),h||r==null||r(e)},title:g?"重新执行本任务,可能覆盖已有结果":"重新执行本任务",children:"重新执行本任务"}),s.jsx("button",{type:"button",className:"de-btn-run",disabled:!_||h,onClick:C=>{C.stopPropagation(),_&&!h&&(l==null||l(e))},children:h?"执行中...":_?"委托执行":hn(e.status)})]})]})}function Ay(e){switch(e){case"succeeded":case"completed":case"Succeeded":return"success";case"failed":return"danger";case"Failed":return"danger";case"running":case"active":case"Running":return"info";default:return"warning"}}function zl(e){return e?new Date(e).toLocaleString("zh-CN",{hour12:!1}):"未记录"}function Ty(e){const a=`${e.id} ${e.title} ${e.objective}`.toLowerCase();return a.includes("month")||a.includes("monthly")||a.includes("月")?"月度任务":a.includes("week")||a.includes("weekly")||a.includes("周")?"周任务":a.includes("临时")||a.includes("adhoc")||a.includes("hotlist")||a.includes("monitor")?"临时任务":"日常任务"}function eE(e){return["succeeded","success","finished","complete","completed"].includes(e.toLowerCase())}function Zr(e){return["failed","error","cancelled","canceled","aborted","rejected","deadletter"].includes(e.toLowerCase())}function Ry(e){const a=e.steps.length;if(a===0)return hn(e.status);const l=e.steps.filter(p=>eE(p.status)).length,r=e.steps.filter(p=>Zr(p.status)).length,o=e.steps.filter(p=>["running","active","queued","leased"].includes(p.status.toLowerCase())).length,d=[`已完成 ${l}/${a}`];return r>0&&d.push(`失败 ${r}`),o>0&&r===0&&d.push(`处理中 ${o}`),d.join("")}function $y(e){return e.replace(/^启动计划:/,"接收委托:").replace(/^准备步骤:/,"准备工作:").replace(/^创建任务:/,"安排工作:").replace(/^任务失败:/,"工作失败:").replace(/^开始处理:/,"开始处理:").replace(/^完成任务:/,"完成工作:").replace(/^调用技能:/,"数字员工处理:").replace(/^执行开始:/,"开始执行:").replace(/^执行完成:/,"执行完成:").replace(/^执行失败:/,"执行失败:").replace(/,将使用[^,。]+/,"").replace(/,分配给[^,。]+/,"")}function Jo(e){return/失败|failed|error|timeout|unavailable/i.test(e)}function Dy(e,a=""){return Jo(a)?"失败":e==="artifact"?"产物":e==="task_summary"?"结果":e==="task_running"||e==="run"?"处理中":e==="task_done"||e==="run_done"?"完成":"过程"}function tE(e){return e==="user"?"用户":e==="assistant"?"数字员工":e==="system"?"系统":"消息"}function Pf(e){return Qr(e||"",e||"自动化技能")}function nE(e,a,l){const r=a==="true"?"成功":"失败";return e.includes("zhihu-hotlist")&&e.includes("extract_hotlist")?`调用技能:知乎热榜采集,结果:${r},耗时 ${l}ms`:e.includes("office-export-xlsx")&&e.includes("export_xlsx")?`调用技能Excel 导出,结果:${r},耗时 ${l}ms`:`调用技能:${e},结果:${r},耗时 ${l}ms`}function Wf(e){return typeof e=="string"?e:""}function fd(e){return e.occurred_at||""}function zy(e){return e.filter(a=>!!a).sort((a,l)=>a.localeCompare(l))[0]||null}function aE(e){var l;const a=new Map;for(const r of e){const o=((l=r.message.split(",结果:")[0])==null?void 0:l.split(",状态:")[0])||r.message,d=a.get(o);(!d||fd(r).localeCompare(fd(d))>0)&&a.set(o,r)}return Array.from(a.values())}function lE(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function My(e){return e.replace(/\\\\/g,"\\")}function iE(e,a,l,r,o){const d=[],p=(_,g,x,S)=>{x.trim()&&d.push({event_id:S,kind:_,occurred_at:g??null,message:x})},h=(_,g,x,S)=>{let C=!1;try{const N=lE(JSON.parse(_));if(N){const k=typeof N.label=="string"?N.label.trim():"",A=N.value;k&&A!==void 0&&A!==null&&p("task_summary",g,`${k}${String(A)}`,`metric-${x}-${S}`);const O=typeof N.output_path=="string"?N.output_path.trim():"";O&&(C=!0,p("artifact",g,`产物生成:${My(O)}`,`artifact-${x}-${S}`))}}catch{}const z=_.match(/"row_count"\s*:\s*(\d+)/);z!=null&&z[1]&&p("task_summary",g,`数据处理完成:共 ${z[1]} 条记录`,`rows-${x}-${S}`);const w=_.match(/"output_path"\s*:\s*"([^"]+\.(?:xlsx|xls|csv|json|html|pdf|png|jpg|jpeg|txt))"/i),D=w==null?void 0:w[1];D&&!C&&p("artifact",g,`产物生成:${My(D)}`,`artifact-regex-${x}-${S}`)};if(p("plan",e.createdAt||e.updatedAt,`启动计划:${e.title},目标:${e.objective}`,`plan-${e.id}`),a.length===0)for(const _ of e.steps){const g=_.preferredSkills.map(Pf).join("、")||"自动化技能";p("task",e.updatedAt||e.createdAt,`准备步骤:${_.title},将使用 ${g}`,`step-${_.id}`)}for(const _ of a){const g=Pf(_.assigned_skill_id),x=l.filter(z=>z.task_id===_.task_id),S=zy(x.map(z=>z.created_at)),C=zy([_.created_at,_.started_at,S]);if(p("task",C,`创建任务:${_.title||"子任务"},分配给 ${g}`,`task-create-${_.task_id}`),_.started_at&&p("task_running",_.started_at,`开始处理:${_.title||"子任务"}`,`task-start-${_.task_id}`),_.finished_at){const z=Zr(_.status)?"任务失败":"完成任务",w=Zr(_.status)&&_.error_message?`,原因:${_.error_message}`:"";p("task_done",_.finished_at,`${z}${_.title||"子任务"},状态:${hn(_.status)}${w}`,`task-finish-${_.task_id}`)}}for(const _ of l){const g=a.find(z=>z.task_id===_.task_id),x=(g==null?void 0:g.title)||"任务执行",S=Pf(_.skill_id||(g==null?void 0:g.assigned_skill_id));if(r.some(z=>(z.content||"").includes(`[Task ${_.task_id}] tool_call`))||p("skill_tool",_.created_at,`调用技能:${S},处理:${x}`,`run-skill-${_.run_id}`),p("run",_.created_at,`执行开始:${x},第 ${_.attempt_no||1}`,`run-start-${_.run_id}`),_.completed_at){const z=Zr(_.lifecycle)?"执行失败":"执行完成";p("run_done",_.completed_at,`${z}${x},结果:${hn(_.lifecycle)}`,`run-done-${_.run_id}`)}for(const[z,w]of(_.events||[]).entries())h(Wf(w.message),w.occurred_at||_.completed_at||_.created_at,`run-${_.run_id}-${w.event_id||z}`,_.skill_id||(g==null?void 0:g.assigned_skill_id)||"run");for(const[z,w]of(_.artifacts||[]).entries()){const D=Wf(w.uri),N=Wf(w.name)||D;(D||N)&&p("artifact",_.completed_at||_.created_at,`产物生成:${N}${D&&D!==N?`${D}`:""}`,`run-artifact-${_.run_id}-${z}`)}}for(const _ of r){const g=_.content||"",x=g.match(/\[Task ([^\]]+)\] tool_call name=([^\s]+) success=(true|false) elapsed_ms=(\d+) args=(.*?) output=(.*)$/s);if(x){const C=x[1]||"",z=x[2]||"",w=x[3]||"false",D=x[4]||"0",N=x[6]||"";p("skill_tool",_.created_at,nE(z,w,D),`tool-${C}-${_.created_at}-${z}`),h(N,_.created_at,`message-${_.created_at}`,z);continue}const S=g.match(/\s*\**\s*(\d+)\s*/);if(S!=null&&S[1]){p("task_summary",_.created_at,` ${S[1]} `,`summary-hotlist-${_.created_at}`);continue}g.includes("[Task ")&&g.includes("Excel")&&p("task_summary",_.created_at,"Excel ",`summary-excel-${_.created_at}`)}if(d.length<=1)for(const _ of o||[])p(_.kind,_.occurred_at,ax(_.message,_.message),_.event_id);return d.sort((_,g)=>(_.occurred_at||"").localeCompare(g.occurred_at||"")).slice(-40)}function sE({mission:e,onClose:a}){const[l,r]=v.useState([]),[o,d]=v.useState([]),[p,h]=v.useState(null),[_,g]=v.useState(!0),[x,S]=v.useState([]),[C,z]=v.useState(!1),[w,D]=v.useState(!1),[N,k]=v.useState(!1),[A,O]=v.useState(null),te=e.sourceIds.planId||e.id;v.useEffect(()=>{let R=!1;const M=()=>{g(!0),Promise.allSettled([mN(te),pN(te),oy(te)]).then(([B,U,le])=>{var de;R||(B.status==="fulfilled"?(r(B.value.tasks??[]),d(B.value.runs??[])):(r([]),d([])),U.status==="fulfilled"&&((de=U.value)!=null&&de.events)&&U.value.events.length>0?h(U.value):h(null),le.status==="fulfilled"&&le.value.messages.length>0?S(le.value.messages):S([]))}).finally(()=>{R||g(!1)})};M();const ne=window.setInterval(M,3e3);return()=>{R=!0,window.clearInterval(ne)}},[te]),v.useEffect(()=>{S([]),z(!1),D(!1),O(null)},[te]);const I=async()=>{if(!N){z(!0),k(!0),O(null);try{const R=await oy(te);R.messages&&R.messages.length>0?S(R.messages):S([])}catch(R){S([]),O(R instanceof Error?R.message:"")}finally{k(!1)}}},ie=v.useMemo(()=>{const R=new Map;for(const M of o){const ne=R.get(M.task_id)||[];ne.push(M),R.set(M.task_id,ne)}for(const M of R.values())M.sort((ne,B)=>(B.created_at||"").localeCompare(ne.created_at||""));return R},[o]),Z=v.useMemo(()=>iE(e,l,o,x,p==null?void 0:p.events),[p==null?void 0:p.events,e,o,x,l]),K=v.useMemo(()=>Z.filter(R=>R.kind!=="skill_tool").slice(-12),[Z]),pe=v.useMemo(()=>{const R=Z.filter(U=>["artifact","task_summary"].includes(U.kind)),M=Z.filter(U=>U.kind==="task_done"),ne=aE(Z.filter(U=>U.kind==="run_done")),B=M.length>0?M:ne;return[...R,...B].sort((U,le)=>fd(U).localeCompare(fd(le))).slice(-6)},[Z]),P=v.useMemo(()=>Z.reduce((R,M)=>M.occurred_at&&(!R||M.occurred_at.localeCompare(R)>0)?M.occurred_at:R,null),[Z]),q=e.updatedAt||P,ce=()=>{const R=!w;D(R),R&&!C&&I()};return s.jsxs("div",{className:"de-drawer",role:"dialog","aria-label":e.title,children:[s.jsxs("div",{className:"de-drawer-head",children:[s.jsxs("div",{className:"de-drawer-title-group",children:[s.jsx("span",{className:"de-drawer-eyebrow",children:""}),s.jsx("h3",{children:e.title})]}),s.jsx("button",{className:"de-btn-secondary",onClick:a,"aria-label":"",children:""})]}),s.jsxs("div",{className:"de-drawer-status-line",children:[s.jsx(vm,{variant:Ay(e.status),label:hn(e.status)}),s.jsx("span",{className:"de-drawer-meta",children:Ty(e)}),s.jsx("span",{className:"de-drawer-meta",children:Ry(e)})]}),s.jsxs("div",{className:"de-drawer-timeline",children:[s.jsxs("section",{className:"de-detail-section",children:[s.jsx("div",{className:"de-detail-section-head",children:s.jsx("h4",{children:""})}),s.jsxs("div",{className:"de-detail-kv",children:[s.jsx("span",{children:""}),s.jsx("strong",{children:e.objective||""}),s.jsx("span",{children:""}),s.jsx("strong",{children:Ty(e)}),s.jsx("span",{children:""}),s.jsx("strong",{children:Ry(e)}),s.jsx("span",{children:""}),s.jsx("strong",{children:zl(e.createdAt)}),s.jsx("span",{children:""}),s.jsx("strong",{children:hn(e.status)}),s.jsx("span",{children:""}),s.jsx("strong",{children:zl(q)})]})]}),s.jsxs("section",{className:"de-detail-section de-execution-chain",children:[s.jsxs("div",{className:"de-detail-section-head",children:[s.jsx("h4",{children:""}),s.jsxs("span",{className:"de-chain-plan-id",children:["",zl(q||e.createdAt)]})]}),_&&K.length===0?s.jsx("p",{className:"de-empty-text",children:"..."}):K.length===0?s.jsx("p",{className:"de-empty-text",children:""}):s.jsx("div",{className:"de-chain-list",children:K.map(R=>s.jsxs("div",{className:`de-chain-row de-chain-row--${R.kind} ${Jo(R.message)?"de-chain-row--danger":""}`,children:[s.jsx("strong",{children:Dy(R.kind,R.message)}),s.jsx("span",{children:$y(R.message)}),s.jsx("time",{children:zl(R.occurred_at)})]},`chain-${R.event_id}`))})]}),s.jsxs("section",{className:"de-detail-section",children:[s.jsx("h4",{children:""}),pe.length>0?s.jsx("div",{className:"de-event-list",children:[...pe].reverse().map(R=>s.jsxs("div",{className:`de-event-row ${Jo(R.message)?"de-event-row--danger":""}`,children:[s.jsx("strong",{children:Dy(R.kind,R.message)}),s.jsx("span",{children:$y(R.message)}),s.jsx("time",{children:zl(R.occurred_at)})]},`result-${R.event_id}`))}):s.jsx("p",{className:"de-empty-text",children:""})]}),s.jsxs("section",{className:"de-detail-section",children:[s.jsx("h4",{children:""}),_?s.jsx("p",{className:"de-empty-text",children:"..."}):null,e.steps.length===0?s.jsx("p",{className:"de-empty-text",children:""}):e.steps.map((R,M)=>s.jsxs("div",{className:"de-step-node",children:[s.jsx("div",{className:`de-step-dot de-step-dot--${R.status}`}),M<e.steps.length-1&&s.jsx("div",{className:"de-step-line"}),s.jsxs("div",{className:"de-step-content",children:[s.jsx("strong",{children:R.title}),s.jsx("span",{children:hn(R.status)})]})]},R.id))]}),s.jsxs("section",{className:"de-detail-section",children:[s.jsxs("div",{className:"de-detail-section-head",children:[s.jsx("h4",{children:""}),s.jsx("button",{className:"de-btn-secondary de-btn-sm",onClick:ce,disabled:N,children:w?"":""})]}),w?s.jsxs(s.Fragment,{children:[s.jsxs("section",{className:"de-detail-section",children:[s.jsxs("div",{className:"de-detail-section-head",children:[s.jsx("h4",{children:""}),s.jsx("span",{className:"de-chain-plan-id",children:""})]}),Z.length>0?s.jsx("div",{className:"de-event-list",children:Z.slice(-20).reverse().map(R=>s.jsxs("div",{className:`de-event-row ${Jo(R.message)?"de-event-row--danger":""}`,children:[s.jsx("strong",{children:$2(R.kind)}),s.jsx("span",{children:R.message}),s.jsx("time",{children:zl(R.occurred_at)})]},R.event_id))}):s.jsx("p",{className:"de-empty-text",children:""})]}),s.jsxs("section",{className:"de-detail-section",children:[s.jsxs("div",{className:"de-detail-section-head",children:[s.jsx("h4",{children:""}),s.jsx("button",{className:"de-btn-secondary de-btn-sm",onClick:I,disabled:N,children:""})]}),A?s.jsxs("p",{className:"de-empty-text",children:["",A]}):N?s.jsx("p",{className:"de-empty-text",children:"..."}):x.length===0?s.jsx("p",{className:"de-empty-text",children:""}):s.jsx("div",{className:"de-session-message-list",children:x.map((R,M)=>s.jsxs("div",{className:`de-session-message de-session-message--${R.role==="user"?"user":"agent"}`,children:[s.jsx("div",{className:"de-session-message-role",children:tE(R.role)}),s.jsx("p",{children:ax(R.content,R.content)})]},`${R.role}-${M}`))})]}),s.jsxs("section",{className:"de-detail-section",children:[s.jsx("h4",{children:""}),l.length===0?s.jsx("p",{className:"de-empty-text",children:""}):l.map(R=>{const M=ie.get(R.task_id)||[],ne=M[0];return s.jsxs("div",{className:"de-task-run-card",children:[s.jsxs("div",{className:"de-task-run-head",children:[s.jsx("span",{children:R.title||""}),s.jsx(vm,{variant:Ay(R.status),label:hn(R.status)})]}),s.jsxs("div",{className:"de-task-run-meta",children:[s.jsxs("span",{children:["skill_id",R.assigned_skill_id||""]}),s.jsxs("span",{children:["",zl(R.started_at)]}),s.jsxs("span",{children:["",zl(R.finished_at)]})]}),s.jsxs("div",{className:"de-task-run-meta",children:[s.jsxs("span",{children:["task_id",R.task_id]}),s.jsxs("span",{children:["",M.length," "]}),ne?s.jsxs("span",{children:["",hn(ne.lifecycle)]}):null]}),Zr(R.status)&&R.error_message?s.jsxs("div",{className:"de-task-run-error",children:[s.jsx("strong",{children:""}),R.error_message]}):null]},R.task_id)})]})]}):s.jsx("p",{className:"de-empty-text",children:""})]})]})]})}const Oy={zh:{"nav.dashboard":"","nav.plans":"","nav.execution":"","nav.governance":"","nav.scheduler":"","nav.skills":"","nav.agent":"","nav.tools":"","nav.cron":"Cron ","nav.integrations":"","nav.memory":"","nav.config":"","nav.cost":"","nav.logs":"","nav.devtools":"","nav.swimlane":"","nav.doctor":"","nav.canvas":"","planb.nav.chat":"","planb.nav.browser":"AI","planb.nav.monitor":"","planb.nav.dashboard":"","planb.nav.settings":"","planb.nav.more":"","planb.layout.switch_to_wide":"","planb.layout.switch_to_compact":"","planb.layout.pop_out":"","planb.browser.title":"AI","planb.browser.subtitle":" SuperRPA ","planb.browser.launch":"","planb.browser.url_placeholder":"https://example.com","planb.browser.active_sessions":"","planb.browser.no_sessions":" URL ","planb.browser.status_launching":"","planb.browser.status_running":"","planb.browser.status_idle":"","planb.browser.status_error":"","planb.browser.status_stopped":"","planb.browser.launch_error":"","planb.browser.close_error":"","planb.browser.backend_not_configured":"SuperRPA SGCLAW_SUPERRPA_PATH ","planb.chat.welcome":"","planb.chat.placeholder":"...","planb.chat.sessions":"","planb.chat.new_chat":"","planb.chat.no_sessions":"","planb.chat.untitled":"","planb.chat.thought":"","planb.chat.chip_browse":"","planb.chat.chip_code":"","planb.chat.chip_analyze":"","planb.chat.chip_plan":"","planb.chat.regenerate":"","planb.settings.quick":"","planb.settings.advanced":"","planb.settings.quick_hint":"使 TOML ","planb.settings.open_advanced":"","dashboard.title":"","dashboard.provider":"","dashboard.model":"","dashboard.uptime":"","dashboard.temperature":"","dashboard.gateway_port":"","dashboard.memory_backend":"","dashboard.paired":"","dashboard.channels":"","dashboard.health":"","dashboard.status":"","dashboard.overview":"","dashboard.system_info":"","dashboard.quick_actions":"","agent.title":"","agent.send":"","agent.placeholder":"...","agent.start_conversation":"","agent.type_message":"...","agent.connecting":"...","agent.connected":"","agent.disconnected":"","agent.reconnecting":"...","agent.thinking":"...","agent.tool_call":"","agent.tool_result":"","agent.connection_error":"...","agent.tool_call_prefix":"[]","agent.tool_result_prefix":"[]","agent.error_prefix":"[]","agent.unknown_error":"","agent.send_error":"","agent.copy_message":"","agent.connected_status":"","agent.disconnected_status":"","tools.title":"","tools.name":"","tools.description":"","tools.parameters":"","tools.search":"...","tools.empty":"","tools.count":"","tools.agent_tools":"","tools.cli_tools":"CLI ","tools.parameter_schema":"","tools.path":"","tools.version":"","tools.category":"","tools.load_error":"","cron.title":"","cron.scheduled_tasks":"","cron.add":"","cron.add_job":"","cron.add_modal_title":" Cron ","cron.delete":"","cron.enable":"","cron.disable":"","cron.name":"","cron.name_optional":"","cron.command":"","cron.command_required":"","cron.schedule":"","cron.schedule_required":"","cron.next_run":"","cron.last_run":"","cron.last_status":"","cron.enabled":"","cron.enabled_status":"","cron.disabled_status":"","cron.empty":"","cron.confirm_delete":"","cron.load_error":"","cron.validation_error":"","cron.add_error":"","cron.delete_error":"","cron.cancel":"","cron.adding":"...","cron.id":"ID","cron.actions":"","cron.loading_run_history":"...","cron.load_run_history_error":"","cron.no_runs":"","cron.recent_runs":"","cron.yes":"","cron.no":"","cron.edit":"","cron.edit_modal_title":" Cron ","cron.edit_error":"","cron.saving":"...","cron.save":"","integrations.title":"","integrations.available":"","integrations.active":"","integrations.coming_soon":"","integrations.category":"","integrations.status":"","integrations.search":"...","integrations.empty":"","integrations.activate":"","integrations.deactivate":"","integrations.load_error":"","integrations.status_active":"","integrations.status_available":"","integrations.status_coming_soon":"","memory.title":"","memory.memory_title":"","memory.search":"...","memory.search_placeholder":"...","memory.add":"","memory.add_memory":"","memory.add_modal_title":"","memory.delete":"","memory.key":"","memory.key_required":"","memory.content":"","memory.content_required":"","memory.category":"","memory.category_optional":"","memory.timestamp":"","memory.session":"","memory.score":"","memory.empty":"","memory.confirm_delete":"","memory.all_categories":"","memory.search_button":"","memory.load_error":"","memory.saving":"...","memory.validation_error":"","memory.store_error":"","memory.delete_error":"","memory.delete_confirm":"","memory.yes":"","memory.no":"","memory.cancel":"","config.title":"","config.save":"","config.saving":"...","config.reset":"","config.saved":"","config.error":"","config.loading":"...","config.editor_placeholder":"TOML ...","config.configuration_title":"","config.sensitive_title":"","config.sensitive_hint":"API ","config.save_success":"","config.save_error":"","config.toml_label":"TOML ","config.lines":"","cost.title":"","cost.session":"","cost.daily":"","cost.monthly":"","cost.total_tokens":" Tokens","cost.request_count":"","cost.by_model":"","cost.model":"","cost.tokens":"Token","cost.requests":"","cost.usd":"","cost.load_error":"","cost.session_cost":"","cost.daily_cost":"","cost.monthly_cost":"","cost.total_requests":"","cost.token_statistics":"Token ","cost.avg_tokens_per_request":" Token / ","cost.cost_per_1k_tokens":" 1K Token ","cost.model_breakdown":"","cost.no_model_data":"","cost.cost":"","cost.share":"","logs.title":"","logs.live_logs":"","logs.clear":"","logs.pause":"","logs.resume":"","logs.filter":"...","logs.filter_label":"","logs.empty":"","logs.connected":"","logs.disconnected":"","logs.events":"","logs.jump_to_bottom":"","logs.paused_hint":"","logs.waiting_hint":"...","doctor.title":"","doctor.diagnostics_title":"","doctor.run":"","doctor.run_diagnostics":"","doctor.running":"...","doctor.running_btn":"...","doctor.running_desc":"...","doctor.running_hint":"","doctor.ok":"","doctor.warn":"","doctor.error":"","doctor.severity":"","doctor.category":"","doctor.message":"","doctor.empty":"","doctor.summary":"","doctor.issues_found":"","doctor.warnings_summary":"","doctor.all_clear":"","doctor.system_diagnostics":"","doctor.empty_hint":'"" ZeroClaw ',"auth.pair":"","auth.pairing_code":"","auth.pair_button":"","auth.logout":"退","auth.pairing_success":"","auth.pairing_failed":"","auth.enter_code":"","common.loading":"...","common.error":"","common.retry":"","common.cancel":"","common.confirm":"","common.save":"","common.delete":"","common.edit":"","common.close":"","common.yes":"","common.no":"","common.search":"...","common.no_data":"","common.refresh":"","common.back":"","common.actions":"","common.name":"","common.description":"","common.status":"","common.created":"","common.updated":"","health.title":"","health.component":"","health.status":"","health.last_ok":"","health.last_error":"","health.restart_count":"","health.pid":" ID","health.uptime":"","health.updated_at":"","dashboard.provider_model":" / ","dashboard.since_last_restart":"","dashboard.paired_yes":"","dashboard.paired_no":"","dashboard.cost_overview":"","dashboard.active_channels":"","dashboard.filter_active":"","dashboard.filter_all":"","dashboard.no_active_channels":"","dashboard.component_health":"","dashboard.load_error":"","dashboard.session_label":"","dashboard.daily_label":"","dashboard.monthly_label":"","dashboard.total_tokens_label":" Tokens","dashboard.requests_label":"","dashboard.no_channels":"","dashboard.active":"","dashboard.inactive":"","dashboard.no_components":"","dashboard.restarts":"","dashboard.tab_overview":"","dashboard.tab_sessions":"","dashboard.tab_channels":"","dashboard.sessions_title":"","dashboard.no_sessions":"","dashboard.session_id":" ID","dashboard.session_channel":"","dashboard.session_started":"","dashboard.session_last_activity":"","dashboard.session_status":"","dashboard.session_messages":"","dashboard.session_details":"","dashboard.session_history":"","dashboard.channels_title":"","dashboard.no_channels_detail":"","dashboard.channel_type":"","dashboard.channel_messages":"","dashboard.channel_last_message":"","dashboard.channel_config":"","dashboard.channel_enabled":"","dashboard.channel_disabled":"","dashboard.loading_sessions":"...","dashboard.loading_channels":"...","dashboard.load_sessions_error":"","dashboard.load_channels_error":"","dashboard.never":"","settings.title":"","settings.tab.appearance":"","settings.tab.typography":"","settings.appearance":"","settings.typography":"","settings.fontUi":"","settings.fontMono":"","settings.fontSize":"","settings.fontMonoSize":"","settings.preview":"","settings.previewText":"","settings.fontNote":"","settings.language":"","theme.mode":"","theme.accent":"","theme.system":"","theme.dark":"","theme.light":"","theme.oled":"","console.nav.commandDeck":"","console.nav.missionCenter":"","console.nav.skillLibrary":"","console.nav.dailyReport":"","console.nav.settings":"","console.role.finance":"","console.role.engineering":"","console.role.executive":"","console.role.hr":"","console.role.sales":"","console.state.loading":"...","console.state.empty":"","console.state.backendDown":"","console.state.partialData":"","console.state.stale":"","console.state.unauthorized":"","console.action.refresh":"","console.action.approve":"","console.action.reject":"","console.action.retry":"","console.action.create":"","console.skill.capabilityLevel":"","console.skill.enable":"","console.skill.disable":"","console.skill.core":"","console.skill.standard":"","console.skill.specialized":"","console.skill.experimental":"","console.report.dailyTitle":"","console.report.sourceLinks":"","console.report.noEvents":""},en:{"nav.dashboard":"Dashboard","nav.plans":"Plans","nav.execution":"Execution","nav.governance":"Governance","nav.scheduler":"Scheduler","nav.skills":"Skills","nav.agent":"Agent","nav.tools":"Tools","nav.cron":"Cron Jobs","nav.integrations":"Integrations","nav.memory":"Memory","nav.config":"Configuration","nav.cost":"Cost Tracker","nav.logs":"Logs","nav.devtools":"Tools","nav.swimlane":"Swimlane","nav.doctor":"Doctor","nav.canvas":"Canvas","planb.nav.chat":"Chat","planb.nav.browser":"AI Browser","planb.nav.dashboard":"Dashboard","planb.nav.settings":"Settings","planb.nav.more":"More Tools","planb.layout.switch_to_wide":"Switch to Desktop","planb.layout.switch_to_compact":"Switch to Compact","planb.layout.pop_out":"Pop Out Window","planb.browser.title":"AI Browser","planb.browser.subtitle":"Launch SuperRPA browser automation","planb.browser.launch":"Launch Browser","planb.browser.url_placeholder":"https://example.com","planb.browser.active_sessions":"Active Sessions","planb.browser.no_sessions":"No active browser sessions. Launch one above.","planb.browser.status_launching":"Launching","planb.browser.status_running":"Running","planb.browser.status_idle":"Idle","planb.browser.status_error":"Error","planb.browser.status_stopped":"Stopped","planb.browser.launch_error":"Failed to launch browser","planb.browser.close_error":"Failed to close session","planb.browser.backend_not_configured":"SuperRPA is not configured. Set SGCLAW_SUPERRPA_PATH environment variable.","planb.chat.welcome":"How can I help you today?","planb.chat.placeholder":"Ask anything...","planb.chat.sessions":"Chat History","planb.chat.new_chat":"New Chat","planb.chat.no_sessions":"No chat history","planb.chat.untitled":"Untitled","planb.chat.thought":"Thought","planb.chat.chip_browse":"Browse Web","planb.chat.chip_code":"Write Code","planb.chat.chip_analyze":"Analyze Data","planb.chat.chip_plan":"Plan Project","planb.chat.regenerate":"Regenerate","planb.settings.quick":"Quick Settings","planb.settings.advanced":"Advanced","planb.settings.quick_hint":"Quick settings are coming soon. Use the advanced editor to modify TOML configuration for now.","planb.settings.open_advanced":"Open Advanced Editor","dashboard.title":"Dashboard","dashboard.provider":"Provider","dashboard.model":"Model","dashboard.uptime":"Uptime","dashboard.temperature":"Temperature","dashboard.gateway_port":"Gateway Port","dashboard.memory_backend":"Memory Backend","dashboard.paired":"Paired","dashboard.channels":"Channels","dashboard.health":"Health","dashboard.status":"Status","dashboard.overview":"Overview","dashboard.system_info":"System Information","dashboard.quick_actions":"Quick Actions","agent.title":"Agent Chat","agent.send":"Send","agent.placeholder":"Type a message...","agent.start_conversation":"Send a message to start the conversation","agent.type_message":"Type a message...","agent.connecting":"Connecting...","agent.connected":"Connected","agent.disconnected":"Disconnected","agent.reconnecting":"Reconnecting...","agent.thinking":"Thinking...","agent.tool_call":"Tool Call","agent.tool_result":"Tool Result","agent.connection_error":"Connection error. Attempting to reconnect...","agent.tool_call_prefix":"[Tool Call]","agent.tool_result_prefix":"[Tool Result]","agent.error_prefix":"[Error]","agent.unknown_error":"Unknown error","agent.send_error":"Failed to send message. Please try again.","agent.copy_message":"Copy message","agent.connected_status":"Connected","agent.disconnected_status":"Disconnected","tools.title":"Available Tools","tools.name":"Name","tools.description":"Description","tools.parameters":"Parameters","tools.search":"Search tools...","tools.empty":"No tools available.","tools.count":"Total tools","tools.agent_tools":"Agent Tools","tools.cli_tools":"CLI Tools","tools.parameter_schema":"Parameter Schema","tools.path":"Path","tools.version":"Version","tools.category":"Category","tools.load_error":"Failed to load tools","cron.title":"Scheduled Jobs","cron.scheduled_tasks":"Scheduled Tasks","cron.add":"Add Job","cron.add_job":"Add Job","cron.add_modal_title":"Add Cron Job","cron.delete":"Delete","cron.enable":"Enable","cron.disable":"Disable","cron.name":"Name","cron.name_optional":"Name (optional)","cron.command":"Command","cron.command_required":"Command","cron.schedule":"Schedule","cron.schedule_required":"Schedule","cron.next_run":"Next Run","cron.last_run":"Last Run","cron.last_status":"Last Status","cron.enabled":"Enabled","cron.enabled_status":"Enabled","cron.disabled_status":"Disabled","cron.empty":"No scheduled jobs.","cron.confirm_delete":"Are you sure you want to delete this job?","cron.load_error":"Failed to load cron jobs","cron.validation_error":"Schedule and command are required.","cron.add_error":"Failed to add job","cron.delete_error":"Failed to delete job","cron.cancel":"Cancel","cron.adding":"Adding...","cron.id":"ID","cron.actions":"Actions","cron.loading_run_history":"Loading run history...","cron.load_run_history_error":"Failed to load run history","cron.no_runs":"No runs recorded yet.","cron.recent_runs":"Recent Runs","cron.yes":"Yes","cron.no":"No","cron.edit":"Edit","cron.edit_modal_title":"Edit Cron Job","cron.edit_error":"Failed to update job","cron.saving":"Saving...","cron.save":"Save","integrations.title":"Integrations","integrations.available":"Available","integrations.active":"Active","integrations.coming_soon":"Coming Soon","integrations.category":"Category","integrations.status":"Status","integrations.search":"Search integrations...","integrations.empty":"No integrations found.","integrations.activate":"Activate","integrations.deactivate":"Deactivate","integrations.load_error":"Failed to load integrations","integrations.status_active":"Active","integrations.status_available":"Available","integrations.status_coming_soon":"Coming Soon","memory.title":"Memory Store","memory.memory_title":"Memory","memory.search":"Search memory...","memory.search_placeholder":"Search memory entries...","memory.add":"Store Memory","memory.add_memory":"Add Memory","memory.add_modal_title":"Add Memory","memory.delete":"Delete","memory.key":"Key","memory.key_required":"Key","memory.content":"Content","memory.content_required":"Content","memory.category":"Category","memory.category_optional":"Category (optional)","memory.timestamp":"Timestamp","memory.session":"Session","memory.score":"Score","memory.empty":"No memory entries found.","memory.confirm_delete":"Are you sure you want to delete this memory entry?","memory.all_categories":"All Categories","memory.search_button":"Search","memory.load_error":"Failed to load memory","memory.saving":"Saving...","memory.validation_error":"Key and content are required.","memory.store_error":"Failed to store memory","memory.delete_error":"Failed to delete memory","memory.delete_confirm":"Delete?","memory.yes":"Yes","memory.no":"No","memory.cancel":"Cancel","config.title":"Configuration","config.save":"Save","config.saving":"Saving...","config.reset":"Reset","config.saved":"Configuration saved successfully.","config.error":"Failed to save configuration.","config.loading":"Loading configuration...","config.editor_placeholder":"TOML configuration...","config.configuration_title":"Configuration","config.sensitive_title":"Sensitive fields are masked","config.sensitive_hint":"API keys, tokens, and passwords are hidden for security. To update a masked field, replace the entire masked value with your new value.","config.save_success":"Configuration saved successfully.","config.save_error":"Failed to save configuration","config.toml_label":"TOML Configuration","config.lines":"lines","cost.title":"Cost Tracker","cost.session":"Session Cost","cost.daily":"Daily Cost","cost.monthly":"Monthly Cost","cost.total_tokens":"Total Tokens","cost.request_count":"Requests","cost.by_model":"Cost by Model","cost.model":"Model","cost.tokens":"Tokens","cost.requests":"Requests","cost.usd":"Cost (USD)","cost.load_error":"Failed to load cost data","cost.session_cost":"Session Cost","cost.daily_cost":"Daily Cost","cost.monthly_cost":"Monthly Cost","cost.total_requests":"Total Requests","cost.token_statistics":"Token Statistics","cost.avg_tokens_per_request":"Avg Tokens / Request","cost.cost_per_1k_tokens":"Cost per 1K Tokens","cost.model_breakdown":"Model Breakdown","cost.no_model_data":"No model data available.","cost.cost":"Cost","cost.share":"Share","logs.title":"Live Logs","logs.live_logs":"Live Logs","logs.clear":"Clear","logs.pause":"Pause","logs.resume":"Resume","logs.filter":"Filter logs...","logs.filter_label":"Filter","logs.empty":"No log entries.","logs.connected":"Connected","logs.disconnected":"Disconnected","logs.events":"events","logs.jump_to_bottom":"Jump to bottom","logs.paused_hint":"Log streaming is paused.","logs.waiting_hint":"Waiting for events...","doctor.title":"System Diagnostics","doctor.diagnostics_title":"Diagnostics","doctor.run":"Run Diagnostics","doctor.run_diagnostics":"Run Diagnostics","doctor.running":"Running diagnostics...","doctor.running_btn":"Running...","doctor.running_desc":"Running diagnostics...","doctor.running_hint":"This may take a few seconds.","doctor.ok":"OK","doctor.warn":"Warning","doctor.error":"Error","doctor.severity":"Severity","doctor.category":"Category","doctor.message":"Message","doctor.empty":"No diagnostics have been run yet.","doctor.summary":"Diagnostic Summary","doctor.issues_found":"Issues Found","doctor.warnings_summary":"Warnings","doctor.all_clear":"All Clear","doctor.system_diagnostics":"System Diagnostics","doctor.empty_hint":'Click "Run Diagnostics" to check your ZeroClaw installation.',"auth.pair":"Pair Device","auth.pairing_code":"Pairing Code","auth.pair_button":"Pair","auth.logout":"Logout","auth.pairing_success":"Pairing successful!","auth.pairing_failed":"Pairing failed. Please try again.","auth.enter_code":"Enter your pairing code to connect to the agent.","common.loading":"Loading...","common.error":"An error occurred.","common.retry":"Retry","common.cancel":"Cancel","common.confirm":"Confirm","common.save":"Save","common.delete":"Delete","common.edit":"Edit","common.close":"Close","common.yes":"Yes","common.no":"No","common.search":"Search...","common.no_data":"No data available.","common.refresh":"Refresh","common.back":"Back","common.actions":"Actions","common.name":"Name","common.description":"Description","common.status":"Status","common.created":"Created","common.updated":"Updated","health.title":"System Health","health.component":"Component","health.status":"Status","health.last_ok":"Last OK","health.last_error":"Last Error","health.restart_count":"Restarts","health.pid":"Process ID","health.uptime":"Uptime","health.updated_at":"Last Updated","dashboard.provider_model":"Provider / Model","dashboard.since_last_restart":"Since last restart","dashboard.paired_yes":"Yes","dashboard.paired_no":"No","dashboard.cost_overview":"Cost Overview","dashboard.active_channels":"Active Channels","dashboard.filter_active":"Active","dashboard.filter_all":"All","dashboard.no_active_channels":"No active channels","dashboard.component_health":"Component Health","dashboard.load_error":"Failed to load dashboard","dashboard.session_label":"Session","dashboard.daily_label":"Daily","dashboard.monthly_label":"Monthly","dashboard.total_tokens_label":"Total Tokens","dashboard.requests_label":"Requests","dashboard.no_channels":"No channels configured","dashboard.active":"Active","dashboard.inactive":"Inactive","dashboard.no_components":"No components reporting","dashboard.restarts":"Restarts","dashboard.tab_overview":"Overview","dashboard.tab_sessions":"Sessions","dashboard.tab_channels":"Channels","dashboard.sessions_title":"Active Sessions","dashboard.no_sessions":"No active sessions","dashboard.session_id":"Session ID","dashboard.session_channel":"Channel","dashboard.session_started":"Started","dashboard.session_last_activity":"Last Activity","dashboard.session_status":"Status","dashboard.session_messages":"Messages","dashboard.session_details":"Session Details","dashboard.session_history":"View History","dashboard.channels_title":"Channel Status","dashboard.no_channels_detail":"No channel details available","dashboard.channel_type":"Type","dashboard.channel_messages":"Messages","dashboard.channel_last_message":"Last Message","dashboard.channel_config":"Configuration","dashboard.channel_enabled":"Enabled","dashboard.channel_disabled":"Disabled","dashboard.loading_sessions":"Loading sessions...","dashboard.loading_channels":"Loading channels...","dashboard.load_sessions_error":"Failed to load sessions","dashboard.load_channels_error":"Failed to load channels","dashboard.never":"Never","settings.title":"Settings","settings.tab.appearance":"Appearance","settings.tab.typography":"Typography","settings.appearance":"Appearance","settings.typography":"Typography","settings.fontUi":"UI Font","settings.fontMono":"Code Font","settings.fontSize":"UI Font Size","settings.fontMonoSize":"Code Font Size","settings.preview":"Preview","settings.previewText":"The quick brown fox jumps over the lazy dog.","settings.fontNote":"Font changes apply on page reload.","settings.language":"Language","theme.mode":"Theme Mode","theme.accent":"Accent Color","theme.system":"System","theme.dark":"Dark","theme.light":"Light","theme.oled":"OLED Black","console.nav.commandDeck":"Command Deck","console.nav.missionCenter":"Mission Center","console.nav.skillLibrary":"Skill Library","console.nav.dailyReport":"Daily Report","console.nav.settings":"Settings","console.role.finance":"Finance","console.role.engineering":"Engineering","console.role.executive":"Executive","console.role.hr":"HR","console.role.sales":"Sales","console.state.loading":"Loading...","console.state.empty":"No data","console.state.backendDown":"Backend unreachable","console.state.partialData":"Partial data loaded","console.state.stale":"Data stale","console.state.unauthorized":"Unauthorized","console.action.refresh":"Refresh","console.action.approve":"Approve","console.action.reject":"Reject","console.action.retry":"Retry","console.action.create":"Create","console.skill.capabilityLevel":"Capability Level","console.skill.enable":"Enable","console.skill.disable":"Disable","console.skill.core":"Core","console.skill.standard":"Standard","console.skill.specialized":"Specialized","console.skill.experimental":"Experimental","console.report.dailyTitle":"Daily Report","console.report.sourceLinks":"Source Links","console.report.noEvents":"No events today"},tr:{"nav.dashboard":"Kontrol Paneli","nav.plans":"Planlar","nav.execution":"Yürütme","nav.governance":"Yönetişim","nav.scheduler":"Zamanlayıcı","nav.skills":"Beceriler","nav.agent":"Ajan","nav.tools":"Araçlar","nav.cron":"Cron Görevleri","nav.integrations":"Entegrasyonlar","nav.memory":"Hafıza","nav.config":"Yapılandırma","nav.cost":"Maliyet Takibi","nav.logs":"Kayıtlar","nav.devtools":"Araçlar","nav.swimlane":"Yüzme Şeridi","nav.doctor":"Doktor","nav.canvas":"Tuval","planb.nav.chat":"Sohbet","planb.nav.browser":"AI Tarayıcı","planb.nav.dashboard":"Kontrol Paneli","planb.nav.settings":"Ayarlar","planb.nav.more":"Daha Fazla","planb.layout.switch_to_wide":"Masaüstüne Geç","planb.layout.switch_to_compact":"Kompakta Geç","planb.layout.pop_out":"Pencereyi Ayır","planb.browser.title":"AI Tarayıcı","planb.browser.subtitle":"SuperRPA tarayıcı otomasyonunu başlat","planb.browser.launch":"Tarayıcıyı Başlat","planb.browser.url_placeholder":"https://example.com","planb.browser.active_sessions":"Aktif Oturumlar","planb.browser.no_sessions":"Aktif tarayıcı oturumu yok.","planb.browser.status_launching":"Başlatılıyor","planb.browser.status_running":"Çalışıyor","planb.browser.status_idle":"Boşta","planb.browser.status_error":"Hata","planb.browser.status_stopped":"Durduruldu","planb.browser.launch_error":"Tarayıcı başlatılamadı","planb.browser.close_error":"Oturum kapatılamadı","planb.browser.backend_not_configured":"SuperRPA yapılandırılmamış.","planb.chat.welcome":"Bugün size nasıl yardımcı olabilirim?","planb.chat.placeholder":"Bir şey sor...","planb.chat.sessions":"Sohbet Geçmişi","planb.chat.new_chat":"Yeni Sohbet","planb.chat.no_sessions":"Sohbet geçmişi yok","planb.chat.untitled":"Başlıksız","planb.chat.thought":"Düşünce","planb.chat.chip_browse":"Webde Gezin","planb.chat.chip_code":"Kod Yaz","planb.chat.chip_analyze":"Veri Analizi","planb.chat.chip_plan":"Proje Planla","planb.chat.regenerate":"Yeniden Oluştur","planb.settings.quick":"Hızlı Ayarlar","planb.settings.advanced":"Gelişmiş","planb.settings.quick_hint":"Hızlı ayarlar yakında gelecek. Şimdilik gelişmiş düzenleyiciyi kullanın.","planb.settings.open_advanced":"Gelişmiş Düzenleyiciyi Aç","dashboard.title":"Kontrol Paneli","dashboard.provider":"Sağlayıcı","dashboard.model":"Model","dashboard.uptime":"Çalışma Süresi","dashboard.temperature":"Sıcaklık","dashboard.gateway_port":"Ağ Geçidi Portu","dashboard.locale":"Dil","dashboard.memory_backend":"Hafıza Motoru","dashboard.paired":"Eşleştirilmiş","dashboard.channels":"Kanallar","dashboard.health":"Sağlık","dashboard.status":"Durum","dashboard.overview":"Genel Bakış","dashboard.system_info":"Sistem Bilgisi","dashboard.quick_actions":"Hızlı İşlemler","dashboard.provider_model":"Sağlayıcı / Model","dashboard.since_last_restart":"Son Yeniden Başlatmadan Beri","dashboard.paired_yes":"Evet","dashboard.paired_no":"Hayır","dashboard.cost_overview":"Maliyet Genel Bakışı","dashboard.active_channels":"Aktif Kanallar","dashboard.filter_active":"Aktif","dashboard.filter_all":"Tümü","dashboard.no_active_channels":"Aktif kanal yok","dashboard.component_health":"Bileşen Sağlığı","dashboard.load_error":"Kontrol paneli yüklenemedi","dashboard.session_label":"Oturum","dashboard.daily_label":"Günlük","dashboard.monthly_label":"Aylık","dashboard.total_tokens_label":"Toplam Token","dashboard.requests_label":"İstekler","dashboard.no_channels":"Kanal yapılandırılmamış","dashboard.active":"Aktif","dashboard.inactive":"Aktif Değil","dashboard.no_components":"Bileşen raporlamıyor","dashboard.restarts":"Yeniden Başlatmalar","dashboard.tab_overview":"Genel Bakış","dashboard.tab_sessions":"Oturumlar","dashboard.tab_channels":"Kanallar","dashboard.sessions_title":"Aktif Oturumlar","dashboard.no_sessions":"Aktif oturum yok","dashboard.session_id":"Oturum Kimliği","dashboard.session_channel":"Kanal","dashboard.session_started":"Başlangıç","dashboard.session_last_activity":"Son Etkinlik","dashboard.session_status":"Durum","dashboard.session_messages":"Mesajlar","dashboard.session_details":"Oturum Ayrıntıları","dashboard.session_history":"Geçmişi Görüntüle","dashboard.channels_title":"Kanal Durumu","dashboard.no_channels_detail":"Kanal ayrıntısı yok","dashboard.channel_type":"Tür","dashboard.channel_messages":"Mesajlar","dashboard.channel_last_message":"Son Mesaj","dashboard.channel_config":"Yapılandırma","dashboard.channel_enabled":"Etkin","dashboard.channel_disabled":"Devre Dışı","dashboard.loading_sessions":"Oturumlar yükleniyor...","dashboard.loading_channels":"Kanallar yükleniyor...","dashboard.load_sessions_error":"Oturumlar yüklenemedi","dashboard.load_channels_error":"Kanallar yüklenemedi","dashboard.never":"Hiç","agent.title":"Ajan Sohbeti","agent.send":"Gönder","agent.placeholder":"Bir mesaj yazın...","agent.start_conversation":"Sohbeti başlatmak için mesaj gönderin","agent.type_message":"Bir mesaj yazın...","agent.connecting":"Bağlanıyor...","agent.connected":"Bağlandı","agent.disconnected":"Bağlantı kesildi","agent.reconnecting":"Yeniden bağlanıyor...","agent.thinking":"Düşünüyor...","agent.tool_call":"Araç Çağrısı","agent.tool_result":"Araç Sonucu","agent.connection_error":"Bağlantı hatası. Yeniden bağlanmaya çalışılıyor...","agent.tool_call_prefix":"[Araç Çağrısı]","agent.tool_result_prefix":"[Araç Sonucu]","agent.error_prefix":"[Hata]","agent.unknown_error":"Bilinmeyen hata","agent.send_error":"Mesaj gönderilemedi. Lütfen tekrar deneyin.","agent.copy_message":"Mesajı kopyala","agent.connected_status":"Bağlandı","agent.disconnected_status":"Bağlantı kesildi","tools.title":"Mevcut Araçlar","tools.name":"Ad","tools.description":"Açıklama","tools.parameters":"Parametreler","tools.search":"Araç ara...","tools.empty":"Araç bulunamadı.","tools.count":"Toplam araç","tools.agent_tools":"Ajan Araçları","tools.cli_tools":"CLI Araçları","tools.parameter_schema":"Parametre Şeması","tools.path":"Yol","tools.version":"Sürüm","tools.category":"Kategori","tools.load_error":"Araçlar yüklenemedi","cron.title":"Zamanlanmış Görevler","cron.scheduled_tasks":"Zamanlanmış Görevler","cron.add":"Görev Ekle","cron.add_job":"Görev Ekle","cron.add_modal_title":"Cron Görevi Ekle","cron.delete":"Sil","cron.enable":"Etkinleştir","cron.disable":"Devre Dışı Bırak","cron.name":"Ad","cron.name_optional":"Ad (isteğe bağlı)","cron.command":"Komut","cron.command_required":"Komut","cron.schedule":"Zamanlama","cron.schedule_required":"Zamanlama","cron.next_run":"Sonraki Çalıştırma","cron.last_run":"Son Çalıştırma","cron.last_status":"Son Durum","cron.enabled":"Etkin","cron.enabled_status":"Etkin","cron.disabled_status":"Devre Dışı","cron.empty":"Zamanlanmış görev bulunamadı.","cron.confirm_delete":"Bu görevi silmek istediğinizden emin misiniz?","cron.load_error":"Cron görevleri yüklenemedi","cron.validation_error":"Zamanlama ve komut gereklidir.","cron.add_error":"Görev eklenemedi","cron.delete_error":"Görev silinemedi","cron.cancel":"İptal","cron.adding":"Ekleniyor...","cron.id":"ID","cron.actions":"İşlemler","cron.loading_run_history":"Çalıştırma geçmişi yükleniyor...","cron.load_run_history_error":"Çalıştırma geçmişi yüklenemedi","cron.no_runs":"Henüz çalıştırma kaydı yok.","cron.recent_runs":"Son Çalıştırmalar","cron.yes":"Evet","cron.no":"Hayır","cron.edit":"Düzenle","cron.edit_modal_title":"Cron Görevini Düzenle","cron.edit_error":"Görev güncellenemedi","cron.saving":"Kaydediliyor...","cron.save":"Kaydet","integrations.title":"Entegrasyonlar","integrations.available":"Mevcut","integrations.active":"Aktif","integrations.coming_soon":"Yakında","integrations.category":"Kategori","integrations.status":"Durum","integrations.search":"Entegrasyon ara...","integrations.empty":"Entegrasyon bulunamadı.","integrations.activate":"Etkinleştir","integrations.deactivate":"Devre Dışı Bırak","integrations.load_error":"Entegrasyonlar yüklenemedi","integrations.all":"Tümü","integrations.status_active":"Aktif","integrations.status_available":"Mevcut","integrations.status_coming_soon":"Yakında","memory.title":"Hafıza Deposu","memory.memory_title":"Hafıza","memory.search":"Hafıza ara...","memory.search_placeholder":"Hafıza girişleri ara...","memory.add":"Hafıza Ekle","memory.add_memory":"Hafıza Ekle","memory.add_modal_title":"Hafıza Ekle","memory.delete":"Sil","memory.key":"Anahtar","memory.key_required":"Anahtar","memory.content":"İçerik","memory.content_required":"İçerik","memory.category":"Kategori","memory.category_optional":"Kategori (isteğe bağlı)","memory.timestamp":"Zaman Damgası","memory.session":"Oturum","memory.score":"Puan","memory.empty":"Hafıza girişi bulunamadı.","memory.confirm_delete":"Bu hafıza girişini silmek istediğinizden emin misiniz?","memory.all_categories":"Tüm Kategoriler","memory.search_button":"Ara","memory.load_error":"Hafıza yüklenemedi","memory.saving":"Kaydediliyor...","memory.validation_error":"Anahtar ve içerik gereklidir.","memory.store_error":"Hafıza kaydedilemedi","memory.delete_error":"Hafıza silinemedi","memory.delete_confirm":"Sil?","memory.yes":"Evet","memory.no":"Hayır","memory.cancel":"İptal","config.title":"Yapılandırma","config.save":"Kaydet","config.saving":"Kaydediliyor...","config.reset":"Sıfırla","config.saved":"Yapılandırma başarıyla kaydedildi.","config.error":"Yapılandırma kaydedilemedi.","config.loading":"Yapılandırma yükleniyor...","config.editor_placeholder":"TOML yapılandırması...","config.configuration_title":"Yapılandırma","config.sensitive_title":"Hassas alanlar gizlendi","config.sensitive_hint":"API anahtarları, belirteçler ve parolalar güvenlik için gizlendi. Maskeli bir alanı güncellemek için, tüm maskeli değeri yeni değerinizle değiştirin.","config.save_success":"Yapılandırma başarıyla kaydedildi.","config.save_error":"Yapılandırma kaydedilemedi","config.toml_label":"TOML Yapılandırması","config.lines":"satır","cost.title":"Maliyet Takibi","cost.session":"Oturum Maliyeti","cost.daily":"Günlük Maliyet","cost.monthly":"Aylık Maliyet","cost.total_tokens":"Toplam Token","cost.request_count":"İstek Sayısı","cost.by_model":"Modele Göre Maliyet","cost.model":"Model","cost.tokens":"Token","cost.requests":"İstekler","cost.usd":"Maliyet (USD)","cost.load_error":"Maliyet verileri yüklenemedi","cost.session_cost":"Oturum Maliyeti","cost.daily_cost":"Günlük Maliyet","cost.monthly_cost":"Aylık Maliyet","cost.total_requests":"Toplam İstek","cost.token_statistics":"Token İstatistikleri","cost.avg_tokens_per_request":"Ortalama Token / İstek","cost.cost_per_1k_tokens":"1K Token Başına Maliyet","cost.model_breakdown":"Model Detayı","cost.no_model_data":"Model verisi mevcut değil.","cost.cost":"Maliyet","cost.share":"Pay","logs.title":"Canlı Kayıtlar","logs.live_logs":"Canlı Kayıtlar","logs.clear":"Temizle","logs.pause":"Duraklat","logs.resume":"Devam Et","logs.filter":"Kayıtları filtrele...","logs.filter_label":"Filtre","logs.empty":"Kayıt girişi bulunamadı.","logs.connected":"Bağlandı","logs.disconnected":"Bağlantı kesildi","logs.events":"olay","logs.jump_to_bottom":"En alta atla","logs.paused_hint":"Kayıt akışı duraklatıldı.","logs.waiting_hint":"Olay bekleniyor...","doctor.title":"Sistem Tanıları","doctor.diagnostics_title":"Tanılar","doctor.run":"Tanı Çalıştır","doctor.run_diagnostics":"Tanı Çalıştır","doctor.running":"Tanı çalıştırılıyor...","doctor.running_btn":"Çalıştırılıyor...","doctor.running_desc":"Tanı çalıştırılıyor...","doctor.running_hint":"Bu birkaç saniye sürebilir.","doctor.ok":"Tamam","doctor.warn":"Uyarı","doctor.error":"Hata","doctor.severity":"Şiddet","doctor.category":"Kategori","doctor.message":"Mesaj","doctor.empty":"Henüz tanı çalıştırılmadı.","doctor.summary":"Tanı Özeti","doctor.issues_found":"Sorunlar Bulundu","doctor.warnings_summary":"Uyarılar","doctor.all_clear":"Her Şey Yolunda","doctor.system_diagnostics":"Sistem Tanıları","doctor.empty_hint":'ZeroClaw kurulumunuzu kontrol etmek için "Tanı Çalıştır" düğmesine tıklayın.',"auth.pair":"Cihaz Eşleştir","auth.pairing_code":"Eşleştirme Kodu","auth.pair_button":"Eşleştir","auth.logout":"Çıkış Yap","auth.pairing_success":"Eşleştirme başarılı!","auth.pairing_failed":"Eşleştirme başarısız. Lütfen tekrar deneyin.","auth.enter_code":"Akıllı birine bağlanmak için eşleştirme kodunuzu girin.","common.loading":"Yükleniyor...","common.error":"Bir hata oluştu.","common.retry":"Tekrar Dene","common.cancel":"İptal","common.confirm":"Onayla","common.save":"Kaydet","common.delete":"Sil","common.edit":"Düzenle","common.close":"Kapat","common.yes":"Evet","common.no":"Hayır","common.search":"Ara...","common.no_data":"Veri mevcut değil.","common.refresh":"Yenile","common.back":"Geri","common.actions":"İşlemler","common.name":"Ad","common.description":"Açıklama","common.status":"Durum","common.created":"Oluşturulma","common.updated":"Güncellenme","health.title":"Sistem Sağlığı","health.component":"Bileşen","health.status":"Durum","health.last_ok":"Son Başarılı","health.last_error":"Son Hata","health.restart_count":"Yeniden Başlatmalar","health.pid":"İşlem Kimliği","health.uptime":"Çalışma Süresi","health.updated_at":"Son Güncelleme","settings.title":"Ayarlar","settings.tab.appearance":"Görünüm","settings.tab.typography":"Tipografi","settings.appearance":"Görünüm","settings.typography":"Tipografi","settings.fontUi":"Arayüz Yazı Tipi","settings.fontMono":"Kod Yazı Tipi","settings.fontSize":"Arayüz Boyutu","settings.fontMonoSize":"Kod Boyutu","settings.preview":"Önizleme","settings.previewText":"Tembel köpek üzerinde hızlı kahverengi tilki zıplar.","settings.fontNote":"Yazı tipi değişiklikleri sayfa yeniden yüklendikten sonra geçerli olur.","settings.language":"Dil","theme.mode":"Tema Modu","theme.accent":"Vurgu Rengi","theme.system":"Sistem","theme.dark":"Koyu","theme.light":"Açık","theme.oled":"OLED Siyah","console.nav.commandDeck":"Command Deck","console.nav.missionCenter":"Mission Center","console.nav.skillLibrary":"Skill Library","console.nav.dailyReport":"Daily Report","console.nav.settings":"Settings","console.role.finance":"Finance","console.role.engineering":"Engineering","console.role.executive":"Executive","console.role.hr":"HR","console.role.sales":"Sales","console.state.loading":"Loading...","console.state.empty":"No data","console.state.backendDown":"Backend unreachable","console.state.partialData":"Partial data loaded","console.state.stale":"Data stale","console.state.unauthorized":"Unauthorized","console.action.refresh":"Refresh","console.action.approve":"Approve","console.action.reject":"Reject","console.action.retry":"Retry","console.action.create":"Create","console.skill.capabilityLevel":"Capability Level","console.skill.enable":"Enable","console.skill.disable":"Disable","console.skill.core":"Core","console.skill.standard":"Standard","console.skill.specialized":"Specialized","console.skill.experimental":"Experimental","console.report.dailyTitle":"Daily Report","console.report.sourceLinks":"Source Links","console.report.noEvents":"No events today"}};let rE="zh";function jm(e){var a;return((a=Oy[rE])==null?void 0:a[e])??Oy.en[e]??e}const Fo=["qimingclaw-client-readiness","qimingclaw-remote-task-ingress","qimingclaw-daily-report"],cE=[{key:"all",label:""},{key:"daily",label:""},{key:"weekly",label:""},{key:"monthly",label:""},{key:"adhoc",label:""}];function wm(e){const a=typeof e.updated_at=="string"?e.updated_at:typeof e.created_at=="string"?e.created_at:"",l=a?new Date(a).getTime():0;return Number.isFinite(l)?l:0}function ki(e){if(!e)return"";const a=new Date(e);return Number.isNaN(a.getTime())?"":[a.getFullYear(),String(a.getMonth()+1).padStart(2,"0"),String(a.getDate()).padStart(2,"0")].join("-")}function bi(){return ki(new Date().toISOString())}function qy(e,a){const l=e?new Date(`${e}T12:00:00`):new Date;return Number.isNaN(l.getTime())?bi():(l.setDate(l.getDate()+a),ki(l.toISOString()))}function lp(e){const a=`${e.title} ${e.id}`.match(/(?:^|\D)(\d{1,2})[:](\d{2})(?:\D|$)/);if(!a)return null;const l=Number(a[1]),r=Number(a[2]);return!Number.isInteger(l)||!Number.isInteger(r)||l>23||r>59?null:{text:`${String(l).padStart(2,"0")}:${String(r).padStart(2,"0")}`,minutes:l*60+r}}function ip(e){return e.steps.flatMap(a=>a.tasks.flatMap(l=>[l.startedAt,l.finishedAt])).filter(a=>!!a)}function oE(e,a){return ip(e).map(ki).filter(Boolean).includes(a)||lp(e)?!0:[e.updatedAt,e.createdAt].map(ki).includes(a)}function dE(e){return lp(e)&&`${e.title}`.trim().toLowerCase()||e.id}function uE(e,a){return ip(e).some(l=>ki(l)===a)}function Ly(e,a){const l=uE(e,a)?1e4:0,r=Fo.includes(e.id)?1e3:0,o=[e.updatedAt,e.createdAt].map(ki).includes(a)?100:0;return l+r+o+wm({updated_at:e.updatedAt||"",created_at:e.createdAt||""})/1e13}function fE(e,a){const l=new Map;for(const r of e){const o=dE(r),d=l.get(o);(!d||Ly(r,a)>Ly(d,a))&&l.set(o,r)}return Array.from(l.values())}function By(e,a){const l=lp(e);if(l)return l.minutes;const r=ip(e).filter(o=>ki(o)===a).sort();if(r[0]){const o=new Date(r[0]);return o.getHours()*60+o.getMinutes()}return 1440}function mE(e){const a=`${e.id} ${e.title} ${e.objective}`.toLowerCase();return a.includes("month")||a.includes("monthly")||a.includes("")?"monthly":a.includes("week")||a.includes("weekly")||a.includes("")?"weekly":a.includes("")||a.includes("adhoc")||a.includes("hotlist")||a.includes("monitor")?"adhoc":"daily"}async function cx(e,a,l={}){const r=Date.now(),o=await Xo({command_kind:e,context_refs:a,payload:{source:"digital-mission-center",...l},correlation_id:`mission-${e}-${r}`,idempotency_key:`mission-${e}-${Object.values(a).join("-")||"new"}-${r}`});if(!o.accepted)throw new Error(o.message||`command ${o.command_id||e}`);return o}async function ta(e,a,l={}){return cx(a,{plan_id:e},l)}async function Uy(e){const a=e.sourceIds.planId;if(!a)return null;const l=e.status.toLowerCase();if(l==="draft")await ta(a,"submit_plan",{requested_action:"mission_dispatch"}),await ta(a,"approve_plan",{requested_action:"mission_dispatch"});else if(l==="reviewing")await ta(a,"approve_plan",{requested_action:"mission_dispatch"});else if(!["approved","active","running"].includes(l))return await ta(a,"amend_plan",{requested_action:"reopen_for_execution",summary:""}),null;return await ta(a,"activate_plan",{requested_action:"mission_dispatch"}),a}function pE(e){const a=e.steps.map((l,r)=>{const o=new Set;l.preferredSkills.forEach(p=>{p.trim()&&o.add(p)}),l.tasks.forEach(p=>{var h;(h=p.assignedSkillId)!=null&&h.trim()&&o.add(p.assignedSkillId)});const d=[l.description,...l.tasks.map(p=>p.description),l.title,e.objective,e.title].find(p=>typeof p=="string"&&p.trim());return{title:l.title||`${e.title} ${r+1} `,description:d||l.title||e.objective||e.title,skills:Array.from(o),depends_on:r===0?[]:[`step-${r}`]}}).filter(l=>l.skills.length>0);if(a.length===0)throw new Error(" skill");return a}function ox(e){return`${e.replace(/(\s*)+$/u,"").trim()||e} `}async function _E(e){var o,d;const a=await cx("create_plan",{session_id:"digital-mission-center",plan_id:e.sourceIds.planId||e.id},{requested_action:"mission_restart",title:ox(e.title),description:e.objective||e.title,steps:pE(e),original_plan_id:e.sourceIds.planId||e.id}),l=typeof((o=a.result)==null?void 0:o.plan_id)=="string"?a.result.plan_id:"";if(!l)throw new Error(" plan_id");const r=typeof((d=a.result)==null?void 0:d.status)=="string"?a.result.status.toLowerCase():"";return r==="draft"?(await ta(l,"submit_plan",{requested_action:"mission_restart"}),await ta(l,"approve_plan",{requested_action:"mission_restart"}),await ta(l,"activate_plan",{requested_action:"mission_restart"})):r==="reviewing"?(await ta(l,"approve_plan",{requested_action:"mission_restart"}),await ta(l,"activate_plan",{requested_action:"mission_restart"})):r==="approved"&&await ta(l,"activate_plan",{requested_action:"mission_restart"}),l}function hE({focusMissionId:e,focusTaskId:a,focusDate:l}){const r=l||bi(),[o,d]=v.useState([]),[p,h]=v.useState(null),[_,g]=v.useState(!0),[x,S]=v.useState(!1),[C,z]=v.useState("all"),[w,D]=v.useState(()=>r),[N,k]=v.useState(!1),[A,O]=v.useState(null),[te,I]=v.useState(!1),[ie,Z]=v.useState(null),[K,pe]=v.useState(null),[P,q]=v.useState(null),ce=v.useRef(null),R=v.useRef(!1);v.useEffect(()=>(R.current=!0,()=>{R.current=!1}),[]);const M=v.useCallback(async()=>{g(!0),S(!1);try{const ae=await fN();if(!R.current)return[];const he=new Map,Ie=Ke=>{const Dt=typeof Ke.plan_id=="string"?Ke.plan_id:"";Dt&&!he.has(Dt)&&he.set(Dt,Ke)};(Array.isArray(ae)?ae:[]).forEach(Ie);const V=Fo.filter(Ke=>!he.has(Ke));if(V.length>0){const Ke=await Promise.allSettled(V.map(async Dt=>({id:Dt,plans:await uy(Dt,20)})));for(const Dt of Ke)if(Dt.status==="fulfilled"){const wa=Dt.value.plans.find(Ci=>Ci.plan_id===Dt.value.id);wa&&Ie(wa)}}const Ce=Fo.map(Ke=>he.get(Ke)).filter(Ke=>!!Ke),He=[...[...he.entries()].filter(([Ke])=>!Fo.includes(Ke)).map(([,Ke])=>Ke).sort((Ke,Dt)=>wm(Dt)-wm(Ke)),...Ce];if(He.length>0){const Ke=jy(He);return d(Ke),Ke}return d([]),[]}catch(ae){return R.current?(console.error("[MissionCenter] fetch failed:",ae),d([]),S(!0),[]):[]}finally{R.current&&g(!1)}},[]);v.useEffect(()=>{M()},[M]),v.useEffect(()=>{D(l||bi()),k(!1)},[l]);const ne=v.useCallback(ae=>{h(ae),pe(ae.id),window.setTimeout(()=>{var he;(he=ce.current)==null||he.scrollIntoView({block:"start",inline:"nearest",behavior:"smooth"})},40)},[]),B=v.useCallback(ae=>{ne(ae),q({kind:"selected",missionId:ae.id,title:ae.title,planId:ae.sourceIds.planId})},[ne]);v.useEffect(()=>{if(!e&&!a)return;const ae=o.find(he=>he.id===e||he.sourceIds.planId===e||(a?he.sourceIds.taskIds.includes(a):!1));ae&&(z("all"),B(ae),window.setTimeout(()=>{var he;(he=document.getElementById(`mission-card-${Ad(ae.id)}`))==null||he.scrollIntoView({block:"center",behavior:"smooth"})},80))},[e,a,o,B]);const U=v.useCallback(async ae=>{if(O(ae.id),S(!1),Z(null),!ae.sourceIds.planId){Z(" qimingclaw Plan "),O(null);return}try{const he=await Uy(ae),Ie=await M();if(z("all"),he){const V=Ie.find(Ce=>Ce.id===he||Ce.sourceIds.planId===he);if(V)ne(V),q({kind:"dispatched",missionId:V.id,title:V.title,planId:he});else{const Ce=await uy(he,5),yt=jy(Ce).find(He=>He.id===he);yt?(ne(yt),q({kind:"dispatched",missionId:yt.id,title:yt.title,planId:he})):h(null)}}else h(V=>(V==null?void 0:V.id)===ae.id?null:V)}catch(he){console.error("[MissionCenter] dispatch failed:",he),S(!1),Z(he instanceof Error?he.message:"")}finally{O(null)}},[M,ne]),le=v.useCallback(async ae=>{if(O(ae.id),S(!1),Z(null),!ae.sourceIds.planId){Z(" qimingclaw Plan "),O(null);return}try{const he=await _E(ae),Ie=await M();z("all");const V=Ie.find(Ce=>Ce.id===he||Ce.sourceIds.planId===he);V?(ne(V),q({kind:"created",missionId:V.id,title:V.title,planId:he})):(pe(he),q({kind:"created",missionId:he,title:ox(ae.title),planId:he}))}catch(he){console.error("[MissionCenter] restart failed:",he),S(!1),Z(he instanceof Error?he.message:"")}finally{O(null)}},[M,ne]),de=w||bi(),Te=fE(N?o:o.filter(ae=>oE(ae,de)),de),E=Te.filter(ae=>ae.sourceIds.planId&&["draft","reviewing","approved"].includes(ae.status.toLowerCase())),J=v.useCallback(async()=>{if(E.length!==0){I(!0),S(!1);try{for(const ae of E)O(ae.id),await Uy(ae);await M(),h(null)}catch(ae){console.error("[MissionCenter] batch dispatch failed:",ae),S(!1),Z(ae instanceof Error?ae.message:"")}finally{O(null),I(!1)}}},[M,E]),ue=(C==="all"?Te:Te.filter(ae=>mE(ae)===C)).map((ae,he)=>({mission:ae,index:he})).sort((ae,he)=>{const Ie=V=>(V.id===K?2:0)+(V.id===(p==null?void 0:p.id)?1:0);return Ie(he.mission)-Ie(ae.mission)||By(ae.mission,de)-By(he.mission,de)||ae.index-he.index}).map(({mission:ae})=>ae),ve=(P==null?void 0:P.kind)==="created"?"":(P==null?void 0:P.kind)==="dispatched"?"":"",Ee=ae=>ae.id!==K?null:(P==null?void 0:P.missionId)===ae.id&&P.kind==="created"?"":(P==null?void 0:P.missionId)===ae.id&&P.kind==="dispatched"?"":"";return s.jsx("div",{className:"de-mission-center-page",children:s.jsxs("div",{className:"de-mission-center-layout",children:[s.jsx("div",{className:"de-mc-list",children:s.jsxs(gn,{children:[s.jsxs(Nn,{title:"",children:[s.jsx("button",{onClick:J,className:"de-btn-primary de-btn-sm",disabled:te||E.length===0,children:te?"...":`(${E.length})`}),s.jsx("button",{onClick:M,className:"de-btn-secondary de-btn-sm",children:jm("console.action.refresh")})]}),s.jsxs("div",{className:"de-card-body",children:[ie&&s.jsx("div",{className:"de-schedule-result de-schedule-result--error",style:{marginBottom:12},children:ie}),P&&s.jsxs("div",{className:"de-mission-focus-notice",children:[s.jsx("strong",{children:ve}),s.jsx("span",{children:P.title}),P.planId&&s.jsx("code",{children:P.planId})]}),s.jsxs("div",{className:"de-date-filter-row",children:[s.jsxs("label",{className:"de-date-filter-field",children:[s.jsx("span",{children:""}),s.jsx("input",{type:"date",value:de,onChange:ae=>{k(!1),D(ae.target.value||bi())}})]}),s.jsxs("div",{className:"de-date-filter-actions","aria-label":"",children:[s.jsx("button",{type:"button",className:"de-filter-chip",onClick:()=>{k(!1),D(qy(de,-1))},children:""}),s.jsx("button",{type:"button",className:"de-filter-chip active",onClick:()=>{k(!1),D(bi())},children:""}),s.jsx("button",{type:"button",className:"de-filter-chip",onClick:()=>{k(!1),D(qy(de,1))},children:""})]}),s.jsx("span",{className:"de-date-filter-summary",children:N?` ${Te.length} `:`${Te.length} `})]}),s.jsx("div",{className:"de-filter-row",children:cE.map(ae=>s.jsx("button",{className:`de-filter-chip ${C===ae.key?"active":""}`,onClick:()=>z(ae.key),children:ae.label},ae.key))}),_?s.jsx("div",{className:"de-loading-skeleton",style:{height:300}}):x?s.jsx("p",{className:"de-empty-text",children:jm("console.state.backendDown")}):ue.length===0?s.jsxs("div",{className:"de-mission-empty-panel",children:[s.jsx("strong",{children:""}),s.jsx("p",{children:" qimingclaw "}),s.jsxs("div",{className:"de-mission-empty-actions",children:[s.jsx("button",{type:"button",className:"de-btn-primary de-btn-sm",onClick:()=>{k(!0),z("all")},children:""}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>{k(!1),D(l||bi())},children:""})]})]}):s.jsx("div",{className:"de-mc-card-list",children:ue.map(ae=>s.jsx(W2,{mission:ae,selected:(p==null?void 0:p.id)===ae.id,focusLabel:Ee(ae),dateFilter:de,running:A===ae.id,onSelect:B,onRun:U,onRestart:le},ae.id))})]})]})}),s.jsx("div",{className:"de-mc-detail",ref:ce,children:p?s.jsx(sE,{mission:p,onClose:()=>h(null)}):s.jsx(gn,{children:s.jsx("div",{className:"de-card-body",children:s.jsxs("div",{className:"de-mission-empty-panel de-mission-empty-panel--detail",children:[s.jsx("strong",{children:""}),s.jsx("p",{children:" qimingclaw Plan / Task / Run / Event payload 线"})]})})})})]})})}const gE=[{value:"all",label:""},{value:"daily",label:""},{value:"weekly",label:""},{value:"monthly",label:""},{value:"adhoc",label:""}],yE={daily:"",weekly:"",monthly:"",adhoc:""},bE={allow:"",deny:"",open:"",disabled:""};function dx(e){const a=`${e.id} ${e.name} ${e.description} ${e.category}`.toLowerCase();return/weekly|week|/.test(a)?"weekly":/monthly|month||/.test(a)?"monthly":/monitor|crawler|||||||||/.test(a)?"daily":"adhoc"}function em(e){const a=`${e.id} ${e.name} ${e.description} ${e.category}`.toLowerCase();return e.capabilityLevel==="specialized"||e.capabilityLevel==="experimental"||/|||||||||converter|crypto|github|deploy|review|research/.test(a)}function vE(e){const a=`${e.id} ${e.name} ${e.description} ${e.category}`.toLowerCase();return/|||||||||||/.test(a)}function xE(e){const a=e.name,l=`${e.id} ${e.name} ${e.description} ${e.category}`.toLowerCase();return/report|||||/.test(l)?`${a}`:/monitor|||/.test(l)?`${a}`:/todo||task||/.test(l)?`${a}`:/|crm|访|/.test(l)?"":/|||/.test(l)?"":e.description}function kE(e,a,l){return e.enabled?"":e.enabled?l?"":a?"":"":"使"}function SE(e){var l,r;const a=[];return e.serverId&&a.push(e.serverId),e.running!==null&&e.running!==void 0&&a.push(e.running?"":""),e.policySource==="remote"&&a.push(""),e.remotePolicy&&e.remotePolicy.enabled===!1&&a.push(""),e.governancePolicy&&a.push(bE[e.governancePolicy]),typeof e.toolCount=="number"&&a.push(`${e.toolCount} `),(l=e.allowTools)!=null&&l.length&&a.push(`allow ${e.allowTools.length}`),(r=e.denyTools)!=null&&r.length&&a.push(`deny ${e.denyTools.length}`),a.slice(0,5)}function jE(e){var r;const a=(r=e.recentCalls)==null?void 0:r[0];return a?`${a.toolName?`${a.toolName} · `:""}${a.message||a.status||""}`:typeof e.callCount=="number"&&e.callCount>0?`${e.callCount} `:null}function wE({skill:e,recommended:a=!1,advanced:l=!1,selected:r=!1,updating:o=!1,onSelect:d,onToggle:p,onAudit:h}){const _=dx(e),g=kE(e,a,l),x=SE(e),S=jE(e);return s.jsxs("div",{id:`skill-card-${Ad(e.id)}`,className:`de-skill-card ${r?"de-skill-card--selected":""}`,role:"button",tabIndex:0,onClick:()=>d==null?void 0:d(e),onKeyDown:C=>{(C.key==="Enter"||C.key===" ")&&(C.preventDefault(),d==null||d(e))},children:[s.jsxs("div",{className:"de-skill-card-head",children:[s.jsx("span",{className:"de-skill-name",children:e.name}),s.jsx("span",{className:`de-skill-status ${e.enabled?"enabled":"disabled"}`,children:g})]}),s.jsx("p",{className:"de-skill-desc",children:xE(e)}),x.length>0&&s.jsx("div",{className:"de-skill-meta-row",children:x.map(C=>s.jsx("span",{className:"de-skill-meta-chip",children:C},C))}),S&&s.jsxs("p",{className:"de-skill-recent",children:["",S]}),s.jsxs("div",{className:"de-skill-card-foot",children:[s.jsxs("span",{className:"de-skill-version",children:["",yE[_]]}),s.jsx("button",{className:`de-skill-btn ${e.enabled?"de-skill-btn--danger":""}`,disabled:o,title:e.enabled?"":"使",onClick:C=>{C.stopPropagation(),o||p==null||p(e)},children:o?"...":e.enabled?"使":"使"}),s.jsx("button",{className:"de-skill-btn",title:"",onClick:C=>{C.stopPropagation(),h==null||h(e)},children:""})]})]})}function CE({focusSkillId:e,onNavigate:a}){const[l,r]=v.useState([]),[o,d]=v.useState(!0),[p,h]=v.useState(!1),[_,g]=v.useState(""),[x,S]=v.useState("all"),[C,z]=v.useState(e??null),[w,D]=v.useState(null),[N,k]=v.useState(!1),[A,O]=v.useState(null),[te,I]=v.useState(null),ie=v.useRef(!1);v.useEffect(()=>(ie.current=!0,()=>{ie.current=!1}),[]);const Z=v.useCallback(async()=>{d(!0),h(!1);try{const E=await _N();if(!ie.current)return;r(Array.isArray(E)?q2(E):[])}catch(E){if(!ie.current)return;console.error("[SkillLibrary] fetch failed:",E),r([]),h(!0)}finally{ie.current&&d(!1)}},[]);v.useEffect(()=>{Z()},[Z]),v.useEffect(()=>{e&&(z(e),S("all"),g(""),window.setTimeout(()=>{var E;(E=document.getElementById(`skill-card-${Ad(e)}`))==null||E.scrollIntoView({block:"center",behavior:"smooth"})},80))},[e,l.length]);const K=v.useCallback(async E=>{const J=!E.enabled;D(E.id),O(null),I(null);try{const se=await hN(E.id,J);if(!se.ok)throw new Error(se.error||"");r(ue=>ue.map(ve=>ve.id===E.id?{...ve,enabled:J}:ve)),z(E.id)}catch(se){O(se instanceof Error?se.message:"")}finally{D(null)}},[]),pe=v.useCallback(async()=>{k(!0),O(null),I(null);try{const E=await Hv();if(!E.ok)throw new Error(E.error||"");await Z(),I(E.skipped?"":"")}catch(E){O(E instanceof Error?E.message:"")}finally{k(!1)}},[Z]),P=l.filter(E=>x==="all"||dx(E)===x).filter(E=>_?[E.name,E.description,E.category,E.serverId,...E.tools??[],...E.allowTools??[],...E.denyTools??[]].filter(Boolean).join(" ").includes(_):!0),q=P.filter(em),ce=new Set(q.map(E=>E.id)),R=P.filter(E=>E.enabled&&!ce.has(E.id)),M=P.filter(E=>!E.enabled&&vE(E)&&!em(E)),ne=P.filter(E=>!E.enabled&&!em(E)),B=(M.length>0?M:ne).slice(0,4),U=new Set(B.map(E=>E.id)),le=ne.filter(E=>!U.has(E.id)),de=[{key:"recommended",title:"",hint:"",skills:B,emptyText:""},{key:"learnable",title:"",hint:"",skills:le,emptyText:""},{key:"learned",title:"",hint:"",skills:R,emptyText:""},{key:"advanced",title:"",hint:"",skills:q,emptyText:""}],Te=E=>s.jsxs("section",{style:{display:"grid",gap:10},children:[s.jsxs("div",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:12},children:[s.jsxs("div",{children:[s.jsx("h3",{style:{margin:0,fontSize:16,color:"var(--de-text-primary)"},children:E.title}),s.jsx("p",{style:{margin:"4px 0 0",fontSize:12,color:"var(--de-text-muted)"},children:E.hint})]}),s.jsxs("span",{className:"de-capability-badge de-capability-standard",children:[E.skills.length," "]})]}),E.skills.length===0?s.jsx("p",{className:"de-empty-text",style:{margin:0},children:E.emptyText}):s.jsx("div",{className:"de-skill-grid",children:E.skills.map(J=>s.jsx(wE,{skill:J,recommended:E.key==="recommended",advanced:E.key==="advanced",selected:C===J.id,updating:w===J.id,onSelect:se=>z(se.id),onToggle:K,onAudit:se=>a==null?void 0:a({tab:"skill-audit",auditSkillId:se.id})},`${E.key}-${J.id}`))})]},E.key);return s.jsx("div",{style:{padding:"14px 18px"},children:s.jsxs(gn,{children:[s.jsxs(Nn,{title:"",children:[s.jsx("button",{onClick:pe,disabled:N,className:"de-btn-secondary de-btn-sm",children:N?"...":""}),s.jsx("button",{onClick:Z,className:"de-btn-secondary de-btn-sm",children:""})]}),s.jsxs("div",{className:"de-card-body",children:[A&&s.jsx("div",{className:"de-schedule-result de-schedule-result--error",style:{marginBottom:12},children:A}),te&&s.jsx("div",{className:"de-schedule-result",style:{marginBottom:12},children:te}),s.jsxs("div",{className:"de-skill-toolbar",children:[s.jsx("input",{type:"text",className:"de-input",placeholder:"...",value:_,onChange:E=>g(E.target.value)}),s.jsx("div",{className:"de-filter-row",children:gE.map(E=>s.jsx("button",{className:`de-filter-chip ${x===E.value?"active":""}`,onClick:()=>S(E.value),children:E.label},E.value))})]}),o?s.jsx("div",{className:"de-loading-skeleton",style:{height:300}}):p?s.jsx("p",{className:"de-empty-text",children:" qimingclaw bridge "}):P.length===0&&l.length>0?s.jsx("p",{className:"de-empty-text",children:""}):P.length===0?s.jsx("p",{className:"de-empty-text",children:""}):s.jsx("div",{style:{display:"grid",gap:18},children:de.map(Te)})]})]})})}const NE={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(260px, 1fr))",gap:12},Uo={border:"1px solid var(--de-glass-border-lighter)",borderRadius:10,padding:"12px 14px",background:"linear-gradient(180deg, rgba(244,250,255,0.82), rgba(235,246,255,0.58))"};function EE(){const e=new Date;return[e.getFullYear(),String(e.getMonth()+1).padStart(2,"0"),String(e.getDate()).padStart(2,"0")].join("-")}function AE(e){return(e==null?void 0:e.status)==="ready"?"":(e==null?void 0:e.status)==="generating"?"":(e==null?void 0:e.status)==="failed"?"":""}function TE(e){return(e==null?void 0:e.status)==="ready"?"de-report-badge--ready":"de-report-badge--waiting"}function RE(e){return e?e.generated_by==="ai"?`AI ${e.model?`${e.model}`:""}`:"AI 使":"AI "}function $E(e){if(!e)return[];const a=e.duties.filter(l=>l.selected).map(l=>l.id);return a.length>0?a:e.duties.filter(l=>l.implemented).map(l=>l.id)}function ux(e){if(!e)return"";const a=new Date(e);return Number.isNaN(a.getTime())?e:a.toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}function DE(e,a){const l=new Blob([a],{type:"text/plain;charset=utf-8"}),r=URL.createObjectURL(l),o=document.createElement("a");o.href=r,o.download=e,document.body.appendChild(o),o.click(),o.remove(),window.setTimeout(()=>URL.revokeObjectURL(r),1e3)}function Iy(e,a,l){const r=new Blob([a],{type:l}),o=URL.createObjectURL(r),d=document.createElement("a");d.href=o,d.download=e,document.body.appendChild(d),d.click(),d.remove(),window.setTimeout(()=>URL.revokeObjectURL(o),1e3)}function zE(e){const a=window.atob(e),l=new Uint8Array(a.length);for(let r=0;r<a.length;r+=1)l[r]=a.charCodeAt(r);return l}function tm(e){return`qimingclaw-digital-report-${e}.txt`}function ME(e,a,l,r,o){return[a.title||`${e} `,`${e}`,`${ux(a.generated_at)}`,`${a.generated_by==="ai"?"AI":"qimingclaw adapter"}`,"","## ",a.summary||"","","## ",`${a.totals.task_count}`,`${a.totals.execution_count}`,`${a.totals.success_count}`,`${a.totals.failure_count}`,`${a.totals.running_count??0}`,"","## ",...l.length>0?l.map(d=>`- ${d.title}${d.latest_status_label} ${d.total_count} ${d.success_count} ${d.failure_count}${d.ai_summary||d.business_summary||""}`):[""],"","## ",...r.length>0?r.map(d=>`- ${d.time||"--:--"} ${d.task_name} / ${d.step_name||d.operation_name||""}${d.status_label}${d.business_detail}`):[""],"","## ",...o.length>0?o.map(d=>`- ${d.name}${d.source_label||d.source_type||""}${d.uri?`${d.uri}`:""}`):[""],"","## ",...(a.detail_lines??[]).length>0?a.detail_lines:[""]].join(`
`)}function OE({sections:e}){return e.length===0?s.jsx("p",{className:"de-empty-text",style:{padding:"18px 0 6px"},children:"今天还没有可汇总的任务。"}):s.jsx("div",{className:"de-task-summary-grid","aria-label":"日报任务汇总",children:e.map(a=>s.jsxs("div",{className:`de-task-summary-card de-live-feed-row--${a.latest_status_tone||"info"}`,children:[s.jsx("span",{className:"de-task-summary-title",children:a.title}),s.jsx("span",{className:"de-badge de-badge-info",children:a.latest_status_label}),s.jsxs("strong",{children:["执行次数 ",a.total_count]}),s.jsxs("small",{children:["成功次数 ",a.success_count," · 失败次数 ",a.failure_count]}),s.jsx("em",{children:a.ai_summary||a.business_summary})]},a.id))})}function qE({details:e}){return e.length===0?s.jsx("p",{className:"de-empty-text",style:{padding:"18px 0 6px"},children:"任务执行后,这里会展示时间、任务、步骤和执行情况。"}):s.jsxs("div",{className:"de-run-detail-list de-run-detail-list-scroll","aria-label":"日报运行明细",children:[s.jsxs("div",{className:"de-run-detail-row de-run-detail-row--head",children:[s.jsx("span",{children:"时间"}),s.jsx("span",{children:"任务名称"}),s.jsx("span",{children:"步骤名称"}),s.jsx("span",{children:"执行状态"}),s.jsx("span",{children:"执行情况"})]}),e.map(a=>s.jsxs("div",{className:`de-run-detail-row de-live-feed-row--${a.status_tone||"info"}`,children:[s.jsx("span",{children:a.time||"--:--"}),s.jsx("strong",{children:a.task_name}),s.jsx("em",{children:a.step_name||a.operation_name||"任务执行"}),s.jsx("i",{className:"de-badge de-badge-info",children:a.status_label}),s.jsx("span",{children:a.business_detail})]},a.id))]})}function LE({artifacts:e}){var D,N;const[a,l]=v.useState(null),[r,o]=v.useState(null),[d,p]=v.useState(null),[h,_]=v.useState(null);if(e.length===0)return s.jsx("p",{className:"de-empty-text",style:{padding:"18px 0 6px"},children:"运行产物出现后,这里会展示文件、输出和来源记录。"});const g=(k,A)=>({...k,retention_status:String((A==null?void 0:A.retention_status)||k.retention_status||"unmanaged"),retention_until:String((A==null?void 0:A.retention_until)||k.retention_until||"")||null,last_retention_action:String((A==null?void 0:A.last_retention_action)||k.last_retention_action||"")||null,cleanup_status:String((A==null?void 0:A.cleanup_status)||k.cleanup_status||"")||null,deleted_at:String((A==null?void 0:A.deleted_at)||k.deleted_at||"")||null,cleanup_reason:String((A==null?void 0:A.cleanup_reason)||k.cleanup_reason||"")||null,cleanup_event_id:String((A==null?void 0:A.cleanup_event_id)||k.cleanup_event_id||"")||null,access:(A==null?void 0:A.access)||k.access}),x=async(k,A)=>{if(!k.id||a)return;const O=`${k.id}:${A}`;l(O),o(null);try{const te=await Xv(k.id,A);if(!(te!=null&&te.ok)){o((te==null?void 0:te.error)||"产物访问被拒绝");return}if(A==="preview"){const I=te.preview||{};p({title:String(I.name||k.name||"产物预览"),text:String(I.text||`${I.mime||k.kind||"artifact"} · ${I.size??"unknown"}`)})}else o(A==="download"?"已打开产物":"已打开位置")}catch(te){o(te instanceof Error?te.message:"产物访问失败")}finally{l(null)}},S=async k=>{if(!(!k.id||a)){l(`${k.id}:detail`),o(null);try{const[A,O]=await Promise.all([Oo(k.id),qo(k.id)]);_({artifact:g(k,A),item:A,versions:O})}catch(A){o(A instanceof Error?A.message:"读取产物详情失败")}finally{l(null)}}},C=async k=>{const A=h==null?void 0:h.artifact;if(!(!(A!=null&&A.id)||a)){l(`${A.id}:${k}`),o(null);try{const O=await yN(A.id,k,{reason:"digital_employee_artifact_governance"});if(!(O!=null&&O.ok)){o((O==null?void 0:O.error)||"保留策略写入失败");return}const[te,I]=await Promise.all([Oo(A.id),qo(A.id)]);_({artifact:g(A,te),item:te,versions:I}),o("保留策略已记录")}catch(O){o(O instanceof Error?O.message:"保留策略写入失败")}finally{l(null)}}},z=async()=>{const k=h==null?void 0:h.artifact;if(!(!(k!=null&&k.id)||a)){l(`${k.id}:cleanup`),o(null);try{const A=await bN(k.id,{reason:"digital_employee_artifact_cleanup",retention_status:k.retention_status||null,last_retention_action:k.last_retention_action||null});if(!(A!=null&&A.ok)){o((A==null?void 0:A.error)||"清理文件失败");return}const[O,te]=await Promise.all([Oo(k.id),qo(k.id)]);_({artifact:g(k,O),item:O,versions:te}),o("清理已记录")}catch(A){o(A instanceof Error?A.message:"清理文件失败")}finally{l(null)}}},w=async()=>{if(a)return;const k=e.map(A=>A.id).filter(Boolean);if(k.length!==0){l("artifact-batch:mark_expire"),o(null);try{const A=await Jv(k,"mark_expire",{reason:"digital_employee_daily_report_batch_retention"});if(!(A!=null&&A.ok)){o((A==null?void 0:A.error)||"批量标记到期失败");return}if(h!=null&&h.artifact.id){const[O,te]=await Promise.all([Oo(h.artifact.id),qo(h.artifact.id)]);_({artifact:g(h.artifact,O),item:O,versions:te})}o(`批量标记到期已记录${A.recorded??0}/${A.total??k.length}`)}catch(A){o(A instanceof Error?A.message:"批量标记到期失败")}finally{l(null)}}};return s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"de-artifact-retention-actions",children:s.jsx("button",{type:"button",className:"de-btn-secondary",disabled:a!==null,onClick:()=>{w()},children:"批量标记到期"})}),s.jsx("div",{className:"de-artifact-source-list","aria-label":"日报产物来源",children:e.map(k=>{var I,ie,Z,K;const A=!!((I=k.access)!=null&&I.previewable),O=!!((ie=k.access)!=null&&ie.downloadable),te=!!((Z=k.access)!=null&&Z.openable);return s.jsxs("div",{className:"de-artifact-source-row",children:[s.jsx("strong",{children:k.name}),s.jsx("span",{children:k.source_label||k.source_type||"未知来源"}),s.jsxs("div",{className:"de-artifact-source-actions",children:[s.jsx("button",{type:"button",className:"de-icon-btn",disabled:!A||a!==null,onClick:()=>x(k,"preview"),title:"预览","aria-label":"预览",children:s.jsx(ed,{size:15})}),s.jsx("button",{type:"button",className:"de-icon-btn",disabled:!O||a!==null,onClick:()=>x(k,"download"),title:"下载","aria-label":"下载",children:s.jsx(ws,{size:15})}),s.jsx("button",{type:"button",className:"de-icon-btn",disabled:!te||a!==null,onClick:()=>x(k,"open_location"),title:"位置","aria-label":"位置",children:s.jsx(JS,{size:15})}),s.jsx("button",{type:"button",className:"de-icon-btn",disabled:a!==null,onClick:()=>S(k),title:"版本","aria-label":"版本",children:s.jsx(FS,{size:15})})]}),s.jsxs("div",{className:"de-artifact-source-meta",children:[s.jsx("span",{children:k.version||"local-v1"}),s.jsx("span",{children:k.retention_status||"unmanaged"}),k.cleanup_status?s.jsx("span",{children:k.cleanup_status}):null,k.delivery_status?s.jsx("span",{children:k.delivery_status}):null,(K=k.access)!=null&&K.last_access_status?s.jsx("span",{children:k.access.last_access_status}):null]}),k.uri?s.jsx("code",{children:k.uri}):s.jsx("em",{children:k.kind||"artifact"})]},k.id)})}),r?s.jsx("p",{className:"de-inline-notice",children:r}):null,d?s.jsxs("div",{className:"de-artifact-preview",children:[s.jsxs("div",{children:[s.jsx("strong",{children:d.title}),s.jsx("button",{type:"button",className:"de-btn-secondary",onClick:()=>p(null),children:"关闭"})]}),s.jsx("pre",{children:d.text})]}):null,h?s.jsxs("div",{className:"de-artifact-preview",children:[s.jsxs("div",{children:[s.jsx("strong",{children:h.artifact.name}),s.jsx("button",{type:"button",className:"de-btn-secondary",onClick:()=>_(null),children:"关闭"})]}),s.jsxs("div",{className:"de-artifact-source-meta",children:[s.jsx("span",{children:h.artifact.retention_status||"unmanaged"}),h.artifact.cleanup_status?s.jsx("span",{children:h.artifact.cleanup_status}):null,h.artifact.deleted_at?s.jsx("span",{children:h.artifact.deleted_at}):null]}),s.jsxs("div",{className:"de-artifact-retention-actions",children:[s.jsx("button",{type:"button",className:"de-btn-secondary",disabled:a!==null,onClick:()=>C("mark_keep"),children:"保留"}),s.jsx("button",{type:"button",className:"de-btn-secondary",disabled:a!==null,onClick:()=>C("mark_expire"),children:"到期"}),s.jsx("button",{type:"button",className:"de-btn-secondary",disabled:a!==null,onClick:()=>C("mark_review"),children:"复核"}),s.jsx("button",{type:"button",className:"de-btn-secondary",disabled:a!==null,onClick:()=>C("clear_retention"),children:"清除"}),s.jsxs("button",{type:"button",className:"de-btn-secondary",disabled:a!==null||h.artifact.cleanup_status==="deleted"||!(h.artifact.retention_status==="expired"||h.artifact.last_retention_action==="mark_expire")||!((D=h.artifact.access)!=null&&D.downloadable||(N=h.artifact.access)!=null&&N.openable),onClick:()=>{z()},children:[s.jsx(wb,{size:14})," 清理文件"]})]}),s.jsx("div",{className:"de-artifact-version-list",children:(h.versions.length>0?h.versions:[h.item]).filter(Boolean).map(k=>{var A;return s.jsxs("div",{children:[s.jsx("strong",{children:String(k.version||"local-v1")}),s.jsx("span",{children:String(((A=k.delivery_summary)==null?void 0:A.delivery_status)||k.source_label||"未记录")}),s.jsx("em",{children:String(k.created_at||"")})]},String(k.artifact_id||k.version_key||k.created_at))})})]}):null]})}function BE({focusSection:e}){const a=v.useMemo(()=>EE(),[]),[l,r]=v.useState(null),[o,d]=v.useState("18:00"),[p,h]=v.useState(!0),[_,g]=v.useState(null),[x,S]=v.useState(null),C=v.useRef(!1),z=(l==null?void 0:l.source)==="live",w=z?(l==null?void 0:l.daily_report)??null:null,D=z?(w==null?void 0:w.task_sections)??(l==null?void 0:l.execution_summaries)??[]:[],N=z?(l==null?void 0:l.run_details)??[]:[],k=z?(w==null?void 0:w.artifact_sources)??[]:[],A=z?null:(l==null?void 0:l.demo_reason)??"当前没有真实运行投影,日报区域暂不展示兜底数据。",O=(w==null?void 0:w.totals)??{task_count:D.length,execution_count:D.reduce((P,q)=>P+q.total_count,0),success_count:D.reduce((P,q)=>P+q.success_count,0),failure_count:D.reduce((P,q)=>P+q.failure_count,0),running_count:D.reduce((P,q)=>P+q.running_count,0)},te=v.useCallback(async()=>{var P;h(!0),S(null);try{const q=await Ss(a);if(!C.current)return;r(q),d(q.source==="live"&&((P=q.daily_report)==null?void 0:P.report_schedule_time)||"18:00")}catch(q){if(!C.current)return;S(q instanceof Error?q.message:"日报数据加载失败")}finally{C.current&&h(!1)}},[a]);v.useEffect(()=>(C.current=!0,te(),()=>{C.current=!1}),[te]),v.useEffect(()=>{!e||p||window.setTimeout(()=>{var P;(P=document.getElementById(`report-section-${e}`))==null||P.scrollIntoView({block:"center",behavior:"smooth"})},80)},[e,p]);const I=v.useCallback(async()=>{var P;g("update_report_schedule"),S(null);try{const q=await ql({action:"update_report_schedule",date:a,report_schedule_time:o});if(!C.current)return;r(q),d(q.source==="live"&&((P=q.daily_report)==null?void 0:P.report_schedule_time)||o),S("日报生成时间已更新。")}catch(q){if(!C.current)return;S(q instanceof Error?q.message:"日报生成时间设置失败")}finally{C.current&&g(null)}},[o,a]),ie=v.useCallback(async()=>{var P;g("generate_daily_report"),S(null);try{const q=await ql({action:"generate_daily_report",date:a,duty_ids:z?$E(l):[],report_schedule_time:o});if(!C.current)return;r(q),d(q.source==="live"&&((P=q.daily_report)==null?void 0:P.report_schedule_time)||o),S("日报已生成,可下载本地文本。")}catch(q){if(!C.current)return;S(q instanceof Error?q.message:"日报生成失败")}finally{C.current&&g(null)}},[z,l,o,a]),Z=v.useCallback(()=>{!w||w.status!=="ready"||DE(w.download_filename||tm(a),w.text_content||ME(a,w,D,N,k))},[k,w,N,D,a]),K=v.useCallback(async P=>{if(!w||w.status!=="ready")return;const q=P==="html"?w.html_artifact_id:w.pdf_artifact_id;if(q){g(P==="html"?"download_html":"download_pdf"),S(null);try{const ce=await Xv(q,"download");if(!(ce!=null&&ce.ok)){S((ce==null?void 0:ce.error)||"日报导出失败");return}const R=ce.preview||{};if(P==="html")Iy(w.html_filename||tm(a).replace(/\.txt$/,".html"),String(R.text||w.html_content||""),"text/html;charset=utf-8"),S("HTML 日报已导出。");else{const M=String(R.base64||"");if(!M){S("PDF 日报内容不可用");return}Iy(w.pdf_filename||tm(a).replace(/\.txt$/,".pdf"),zE(M),"application/pdf"),S("PDF 日报已导出。")}}catch(ce){if(!C.current)return;S(ce instanceof Error?ce.message:"日报导出失败")}finally{C.current&&g(null)}}},[w,a]),pe=v.useCallback(async P=>{if(!(w!=null&&w.report_id))return;g({send:"send_report",confirm:"confirm_report",request_approval:"request_approval"}[P]),S(null);try{const ce=await Zv({reportId:w.report_id,action:P,status:P==="send"?"sent":P==="confirm"?"confirmed":"pending",actor:P==="confirm"?"management":"digital_employee_operator",endpoint:"management-console"});if(!(ce!=null&&ce.eventId)&&!(ce!=null&&ce.event_id)){S("日报交付记录未写入");return}S(P==="send"?"日报发送记录已写入。":P==="confirm"?"管理端确认回执已写入。":"日报发送审批已创建。"),await te()}catch(ce){if(!C.current)return;S(ce instanceof Error?ce.message:"日报交付记录失败")}finally{C.current&&g(null)}},[te,w==null?void 0:w.report_id]);return s.jsx("div",{style:{padding:"14px 18px"},children:s.jsxs(gn,{children:[s.jsx(Nn,{title:"日报生成",children:s.jsx("span",{className:"de-card-meta-text",children:a})}),s.jsx("div",{className:"de-card-body",children:p?s.jsx("div",{className:"de-loading-skeleton",style:{height:420}}):s.jsxs(s.Fragment,{children:[s.jsxs("section",{id:"report-section-today",className:"de-report-summary",style:{marginBottom:12},children:[s.jsxs("div",{className:"de-report-summary-head",children:[s.jsxs("div",{className:"de-report-summary-title-row",children:[s.jsx("h3",{children:(w==null?void 0:w.title)||"数字员工日报"}),s.jsx("p",{children:RE(w)})]}),s.jsx("span",{className:`de-report-badge ${TE(w)}`,children:AE(w)})]}),s.jsxs("div",{className:"de-report-summary-body",children:[s.jsxs("div",{className:"de-report-schedule-row",children:[s.jsxs("label",{children:[s.jsx("span",{children:"生成时间"}),s.jsx("input",{type:"time",value:o,onChange:P=>d(P.target.value||"18:00")})]}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:_==="update_report_schedule",onClick:()=>{I()},children:"设置时间"}),s.jsx("button",{type:"button",className:"de-btn-primary de-btn-sm",disabled:_==="generate_daily_report",onClick:()=>{ie()},children:_==="generate_daily_report"?"生成中...":"生成日报"}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm de-report-download-btn",disabled:!(w!=null&&w.pdf_available),onClick:Z,title:w!=null&&w.pdf_available?"下载本地日报文本":"生成日报后可下载本地日报",children:[s.jsx(ws,{size:14,"aria-hidden":"true"}),"下载日报"]}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!(w!=null&&w.html_artifact_id)||_==="download_html",onClick:()=>{K("html")},title:"导出 HTML 日报",children:[s.jsx(XS,{size:14,"aria-hidden":"true"}),"导出 HTML"]}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!(w!=null&&w.pdf_artifact_id)||_==="download_pdf",onClick:()=>{K("pdf")},title:"导出 PDF 日报",children:[s.jsx(ws,{size:14,"aria-hidden":"true"}),"导出 PDF"]}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!(w!=null&&w.report_id)||_==="send_report",onClick:()=>{pe("send")},title:"记录日报发送",children:[s.jsx(Sb,{size:14,"aria-hidden":"true"}),"记录发送"]}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!(w!=null&&w.report_id)||_==="confirm_report",onClick:()=>{pe("confirm")},title:"写入管理端确认",children:[s.jsx(kb,{size:14,"aria-hidden":"true"}),"确认回执"]}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!(w!=null&&w.report_id)||_==="request_approval",onClick:()=>{pe("request_approval")},title:"发起日报审批",children:[s.jsx(Pr,{size:14,"aria-hidden":"true"}),"发起审批"]})]}),s.jsxs("div",{className:"de-report-metrics",children:[s.jsxs("div",{className:"de-report-metric",children:[s.jsx("span",{children:"任务总数"}),s.jsx("strong",{children:O.task_count})]}),s.jsxs("div",{className:"de-report-metric",children:[s.jsx("span",{children:"执行次数"}),s.jsx("strong",{children:O.execution_count})]}),s.jsxs("div",{className:"de-report-metric",children:[s.jsx("span",{children:"成功次数"}),s.jsx("strong",{children:O.success_count})]}),s.jsxs("div",{className:"de-report-metric",children:[s.jsx("span",{children:"失败次数"}),s.jsx("strong",{children:O.failure_count})]})]}),s.jsxs("div",{className:"de-report-meta",children:[s.jsx("p",{children:(w==null?void 0:w.summary)||"点击生成日报后AI 会基于当天所有任务写出总分结构日报。"}),A?s.jsx("p",{children:A}):null,s.jsxs("p",{children:["计划生成时间:",o,";最近生成:",ux(w==null?void 0:w.generated_at)]}),x?s.jsx("p",{children:x}):null]})]})]}),s.jsxs("div",{style:NE,children:[s.jsxs("section",{id:"report-section-tasks",style:Uo,children:[s.jsx("h3",{className:"de-settings-heading",style:{marginTop:0},children:"任务汇总"}),s.jsx(OE,{sections:D})]}),s.jsxs("section",{id:"report-section-details",style:Uo,children:[s.jsx("h3",{className:"de-settings-heading",style:{marginTop:0},children:"运行明细"}),s.jsx(qE,{details:N})]}),s.jsxs("section",{id:"report-section-artifacts",style:Uo,children:[s.jsx("h3",{className:"de-settings-heading",style:{marginTop:0},children:"产物来源"}),s.jsx(LE,{artifacts:k})]}),s.jsxs("section",{id:"report-section-summary",style:Uo,children:[s.jsx("h3",{className:"de-settings-heading",style:{marginTop:0},children:"日报内容"}),((w==null?void 0:w.detail_lines)??[]).length===0?s.jsx("p",{className:"de-empty-text",style:{padding:"18px 0 6px"},children:"生成日报后会展示 AI 整理后的分项说明。"}):s.jsx("div",{className:"de-report-meta",children:((w==null?void 0:w.detail_lines)??[]).map(P=>s.jsx("p",{children:P},P))})]})]})]})})]})})}const fx=[{id:"plans",label:"计划"},{id:"tasks",label:"任务"},{id:"runs",label:"运行"},{id:"events",label:"事件"},{id:"artifacts",label:"产物"},{id:"artifact-groups",label:"产物聚合"},{id:"approvals",label:"审批"}],UE={padding:"14px 18px"},IE={display:"grid",gridTemplateColumns:"minmax(180px, 1fr) repeat(4, minmax(120px, 160px)) auto",gap:8,alignItems:"end",marginBottom:12},HE={display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(280px, 360px)",gap:12,alignItems:"start"},GE={overflow:"auto",border:"1px solid var(--de-glass-border-lighter)",borderRadius:8},YE={width:"100%",minWidth:840,borderCollapse:"collapse"},Hy={border:"1px solid var(--de-glass-border-lighter)",borderRadius:8,background:"rgba(255,255,255,0.72)",overflow:"hidden"},KE={padding:18,color:"var(--de-text-muted)",fontSize:13},Gy={entity:"",status:"",syncStatus:"",updatedFrom:"",updatedTo:"",pageSize:20};function Yy(e){return fx.some(a=>a.id===e)?e:"plans"}function bt(e,a="-"){return e==null||e===""?a:String(e)}function na(e){return bt(e.entity_id||e.plan_id||e.task_id||e.run_id||e.event_id||e.artifact_id||e.approval_id,"unknown")}function mx(e){return bt(e.title||e.summary||e.kind||na(e),"未命名业务对象")}function Cm(e){return bt(e.updated_at||e.occurred_at||e.finished_at||e.started_at||e.created_at)}function QE(e,a){return a==="plans"?`任务 ${bt(e.task_count,"0")} / 运行 ${bt(e.run_count,"0")}`:a==="runs"?bt(e.last_event_message||e.duration_ms,"无最近事件"):a==="events"?bt(e.kind,"event"):a==="artifacts"?bt(e.cleanup_status||e.deleted_at||e.uri||e.kind,"artifact"):a==="artifact-groups"?`产物 ${bt(e.artifact_count,"0")} / 设备 ${bt(e.device_count,"0")} / 版本 ${bt(e.version_count,"0")}`:a==="approvals"?bt(e.approval_conflict_resolution||e.approval_conflict_resolved_at||e.decision||e.approval_conflict_reason||e.kind,"approval"):bt(e.assigned_skill_id||e.operation||e.kind)}function Io(e){return Array.isArray(e.artifact_ids)?e.artifact_ids.map(String).filter(Boolean):e.artifact_id?[String(e.artifact_id)]:[]}function VE(e,a){return{entity_id:e.entity.trim()||null,status:e.status.trim()||null,sync_status:e.syncStatus.trim()||null,updated_from:e.updatedFrom||null,updated_to:e.updatedTo||null,page_no:a,page_size:e.pageSize}}function XE(e){const a=String(e||"").toLowerCase();return["failed","error","rejected","conflict"].some(l=>a.includes(l))?"de-badge de-badge-danger":["pending","running","syncing","ready"].some(l=>a.includes(l))?"de-badge de-badge-warning":"de-badge de-badge-info"}function ZE(e){return e.notification_id||e.entity_type==="notification"?{label:"打开通知运营",search:`?tab=notification-workbench&entity=${encodeURIComponent(na(e))}`}:e.report_id||e.entity_type==="daily_report"?{label:"打开日报运营",search:`?tab=daily-report-workbench&entity=${encodeURIComponent(na(e))}`}:e.service_id||e.audit_id||e.entity_type==="managed_service"||e.entity_type==="audit"?{label:"打开处置台",search:`?tab=ops-workbench&entity=${encodeURIComponent(na(e))}`}:null}function JE({row:e,onClose:a}){if(!e)return s.jsx("aside",{style:Hy,children:s.jsx("div",{style:KE,children:"选择一行业务对象查看详情。"})});const l=e.business_view||e.payload?{business_view:e.business_view??null,payload:e.payload??null}:null,r=ZE(e);return s.jsxs("aside",{style:Hy,"aria-label":"业务视图详情",children:[s.jsxs("div",{className:"de-artifact-preview",children:[s.jsxs("div",{children:[s.jsx("strong",{children:mx(e)}),s.jsx("button",{type:"button",className:"de-icon-btn",onClick:a,title:"关闭","aria-label":"关闭",children:s.jsx(ka,{size:15})})]}),s.jsx("pre",{children:[`实体${na(e)}`,`状态${bt(e.status)}`,`同步${bt(e.sync_status)}`,`Plan${bt(e.plan_id)}`,`Task${bt(e.task_id)}`,`Run${bt(e.run_id)}`,`时间${Cm(e)}`,e.sync_record_url?`Sync Record${e.sync_record_url}`:"",e.summary?`摘要${e.summary}`:""].filter(Boolean).join(`
`)}),r?s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",onClick:()=>{window.location.search=r.search},children:r.label}):null]}),l?s.jsxs("details",{className:"de-business-json",open:!0,children:[s.jsx("summary",{children:"JSON 详情"}),s.jsx("pre",{children:JSON.stringify(l,null,2)})]}):null]})}function FE({initialKind:e,focusEntityId:a}){const[l,r]=v.useState(()=>Yy(e)),[o,d]=v.useState({...Gy,entity:a||""}),[p,h]=v.useState(1),[_,g]=v.useState([]),[x,S]=v.useState(0),[C,z]=v.useState(null),[w,D]=v.useState(null),[N,k]=v.useState([]),[A,O]=v.useState(!1),[te,I]=v.useState(null),[ie,Z]=v.useState(null);v.useEffect(()=>{r(Yy(e))},[e]),v.useEffect(()=>{a&&d(M=>({...M,entity:a}))},[a]);const K=v.useCallback(async()=>{O(!0),I(null);try{const M=await rN(l,VE(o,p));g(M.items??[]),S(M.total??0),z(M.source??null),k(ne=>ne.filter(B=>(M.items??[]).some(U=>Io(U).includes(B)))),D(ne=>ne?(M.items??[]).find(B=>na(B)===na(ne))??null:null)}catch(M){g([]),S(0),I(M instanceof Error?M.message:"业务视图加载失败")}finally{O(!1)}},[o,l,p]);v.useEffect(()=>{K()},[K]);const pe=v.useMemo(()=>Math.max(1,Math.ceil(x/o.pageSize)),[o.pageSize,x]),P=l==="artifacts"||l==="artifact-groups",q=(M,ne)=>{d(B=>({...B,[M]:ne})),h(1)},ce=M=>{const ne=Io(M);k(B=>ne.length>0&&ne.every(le=>B.includes(le))?B.filter(le=>!ne.includes(le)):Array.from(new Set([...B,...ne])))},R=async M=>{if(!(N.length===0||A)){O(!0),Z(null),I(null);try{const ne=await Jv(N,M,{reason:"digital_employee_artifact_batch_governance"});if(!(ne!=null&&ne.ok)){Z((ne==null?void 0:ne.error)||"批量保留策略写入失败");return}Z(`批量保留策略已记录${ne.recorded??0}/${ne.total??N.length}`),k([]),await K()}catch(ne){I(ne instanceof Error?ne.message:"批量保留策略写入失败")}finally{O(!1)}}};return s.jsx("div",{style:UE,children:s.jsxs(gn,{children:[s.jsx(Nn,{title:"业务视图",children:s.jsx("span",{className:"de-card-meta-text",children:C||"qimingclaw 本地业务查询"})}),s.jsxs("div",{className:"de-card-body",children:[s.jsx("div",{className:"de-segmented-tabs",role:"tablist","aria-label":"业务视图类型",children:fx.map(M=>s.jsx("button",{type:"button",className:M.id===l?"active":"",onClick:()=>{r(M.id),h(1),D(null)},children:M.label},M.id))}),s.jsxs("div",{style:IE,className:"de-business-toolbar",children:[s.jsxs("label",{children:[s.jsx("span",{children:"关键词 / 实体 ID"}),s.jsx("input",{value:o.entity,onChange:M=>q("entity",M.target.value),placeholder:"plan / task / artifact"})]}),s.jsxs("label",{children:[s.jsx("span",{children:"状态"}),s.jsx("input",{value:o.status,onChange:M=>q("status",M.target.value),placeholder:"pending"})]}),s.jsxs("label",{children:[s.jsx("span",{children:"同步状态"}),s.jsx("input",{value:o.syncStatus,onChange:M=>q("syncStatus",M.target.value),placeholder:"synced"})]}),s.jsxs("label",{children:[s.jsx("span",{children:"起始时间"}),s.jsx("input",{type:"date",value:o.updatedFrom,onChange:M=>q("updatedFrom",M.target.value)})]}),s.jsxs("label",{children:[s.jsx("span",{children:"结束时间"}),s.jsx("input",{type:"date",value:o.updatedTo,onChange:M=>q("updatedTo",M.target.value)})]}),s.jsxs("div",{className:"de-business-actions",children:[s.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>{K()},title:"搜索","aria-label":"搜索",children:s.jsx(tl,{size:15})}),s.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>{d(Gy),h(1)},title:"重置","aria-label":"重置",children:s.jsx(ln,{size:15})})]})]}),P?s.jsxs("div",{className:"de-business-actions","aria-label":"批量保留治理",children:[s.jsxs("span",{className:"de-card-meta-text",children:["已选择 ",N.length," 个产物"]}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:N.length===0||A,onClick:()=>{R("mark_keep")},children:[s.jsx(jb,{size:14})," 批量保留"]}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:N.length===0||A,onClick:()=>{R("mark_expire")},children:"批量标记到期"}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:N.length===0||A,onClick:()=>{R("mark_review")},children:"批量复核"}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:N.length===0||A,onClick:()=>k([]),children:"清空选择"})]}):null,ie?s.jsx("p",{className:"de-inline-notice",children:ie}):null,te?s.jsx("p",{className:"de-inline-notice",children:te}):null,s.jsxs("div",{style:HE,className:"de-business-layout",children:[s.jsx("section",{style:GE,"aria-label":"业务视图列表",children:s.jsxs("table",{style:YE,className:"de-business-table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[P?s.jsx("th",{children:"选择"}):null,s.jsx("th",{children:"标题 / 实体"}),s.jsx("th",{children:"状态"}),s.jsx("th",{children:"关联"}),s.jsx("th",{children:"扩展字段"}),s.jsx("th",{children:"同步"}),s.jsx("th",{children:"更新时间"}),s.jsx("th",{children:"详情"})]})}),s.jsx("tbody",{children:_.length===0?s.jsx("tr",{children:s.jsx("td",{colSpan:P?8:7,children:A?"加载中...":"暂无业务对象"})}):_.map(M=>s.jsxs("tr",{className:w&&na(w)===na(M)?"active":"",children:[P?s.jsx("td",{children:s.jsx("input",{type:"checkbox",checked:Io(M).length>0&&Io(M).every(ne=>N.includes(ne)),onChange:()=>ce(M),"aria-label":"选择产物"})}):null,s.jsxs("td",{children:[s.jsx("strong",{children:mx(M)}),s.jsx("code",{children:na(M)})]}),s.jsx("td",{children:s.jsx("span",{className:XE(M.status),children:bt(M.status)})}),s.jsxs("td",{children:[s.jsx("span",{children:bt(M.plan_id)}),s.jsx("span",{children:bt(M.task_id)}),s.jsx("span",{children:bt(M.run_id)})]}),s.jsx("td",{children:QE(M,l)}),s.jsx("td",{children:bt(M.sync_status)}),s.jsx("td",{children:Cm(M)}),s.jsx("td",{children:s.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>D(M),title:"详情","aria-label":"详情",children:s.jsx(ed,{size:15})})})]},`${l}:${na(M)}:${Cm(M)}`))})]})}),s.jsx(JE,{row:w,onClose:()=>D(null)})]}),s.jsxs("div",{className:"de-business-pagination",children:[s.jsxs("span",{children:["共 ",x," 条"]}),s.jsxs("label",{children:[s.jsx("span",{children:"每页"}),s.jsxs("select",{value:o.pageSize,onChange:M=>q("pageSize",Number(M.target.value)||20),children:[s.jsx("option",{value:10,children:"10"}),s.jsx("option",{value:20,children:"20"}),s.jsx("option",{value:50,children:"50"})]})]}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:p<=1,onClick:()=>h(M=>Math.max(1,M-1)),children:"上一页"}),s.jsxs("span",{children:[p," / ",pe]}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:p>=pe,onClick:()=>h(M=>Math.min(pe,M+1)),children:"下一页"})]})]})]})})}const px=[{id:"all",label:"全部"},{id:"approval_conflict",label:"审批冲突"},{id:"route_intervention",label:"路由干预"},{id:"risk_approval",label:"风险审批"},{id:"action_notification",label:"待处理通知"}],PE={padding:"14px 18px"},WE={display:"grid",gridTemplateColumns:"minmax(180px, 1fr) repeat(3, minmax(120px, 160px)) auto",gap:8,alignItems:"end",marginBottom:12},eA={overflow:"auto",border:"1px solid var(--de-glass-border-lighter)",borderRadius:8},tA={width:"100%",minWidth:980,borderCollapse:"collapse"},Ky={entity:"",status:"",priority:"",pageSize:20};function Qy(e){return px.some(a=>a.id===e)&&e||"all"}function vi(e,a="-"){return e==null||e===""?a:String(e)}function nA(e){return vi(e.updated_at||e.occurred_at)}function aA(e){const a=String(e||"").toLowerCase();return["failed","rejected","blocked","error"].some(l=>a.includes(l))?"de-badge de-badge-danger":["pending","open","required","warn"].some(l=>a.includes(l))?"de-badge de-badge-warning":"de-badge de-badge-info"}function lA(e){return e.kind==="approval_conflict"&&e.approval_id?String(e.approval_id):null}function iA(e){return e.kind==="route_intervention"&&e.route_decision_id?String(e.route_decision_id):null}function sA({initialKind:e,focusEntityId:a}){const[l,r]=v.useState(()=>Qy(e)),[o,d]=v.useState({...Ky,entity:a||""}),[p,h]=v.useState(1),[_,g]=v.useState([]),[x,S]=v.useState(0),[C,z]=v.useState(null),[w,D]=v.useState([]),[N,k]=v.useState(null),[A,O]=v.useState(!1),[te,I]=v.useState(null),[ie,Z]=v.useState(null);v.useEffect(()=>r(Qy(e)),[e]),v.useEffect(()=>{a&&d(U=>({...U,entity:a}))},[a]);const K=v.useCallback(async()=>{O(!0),Z(null);try{const U=await UC({kind:l,entity_id:o.entity.trim()||null,status:o.status.trim()||null,priority:o.priority.trim()||null,page_no:p,page_size:o.pageSize});g(U.items??[]),S(U.total??0),z(U.source??null),D(le=>le.filter(de=>(U.items??[]).some(Te=>Te.intervention_id===de)))}catch(U){g([]),S(0),Z(U instanceof Error?U.message:"介入台加载失败")}finally{O(!1)}},[o,l,p]);v.useEffect(()=>{K()},[K]);const pe=v.useMemo(()=>_.filter(U=>w.includes(U.intervention_id)),[_,w]),P=v.useMemo(()=>pe.map(lA).filter(U=>!!U),[pe]),q=v.useMemo(()=>pe.map(iA).filter(U=>!!U),[pe]),ce=v.useMemo(()=>Math.max(1,Math.ceil(x/o.pageSize)),[o.pageSize,x]),R=(U,le)=>{d(de=>({...de,[U]:le})),h(1)},M=U=>{D(le=>le.includes(U.intervention_id)?le.filter(de=>de!==U.intervention_id):[...le,U.intervention_id])},ne=async U=>{var le;if(!(P.length===0||A)){O(!0),I(null),Z(null);try{const de=await kN(P,U,{actor:"digital_employee_operator"});if(!de.ok)throw new Error(de.error||((le=de.reason_codes)==null?void 0:le.join(", "))||"批量审批冲突处理失败");I(`批量审批冲突已记录${de.recorded}/${de.total}`),D([]),await K()}catch(de){Z(de instanceof Error?de.message:"批量审批冲突处理失败")}finally{O(!1)}}},B=async U=>{var le;if(!(q.length===0||A)){O(!0),I(null),Z(null);try{const de=await BC(q,{decision:U,actor:"digital_employee_operator"});if(!de.ok)throw new Error(de.error||((le=de.reason_codes)==null?void 0:le.join(", "))||"批量路由干预处理失败");I(`批量路由干预已记录${de.recorded}/${de.total}`),D([]),await K()}catch(de){Z(de instanceof Error?de.message:"批量路由干预处理失败")}finally{O(!1)}}};return s.jsxs("div",{style:PE,children:[s.jsxs(gn,{children:[s.jsx(Nn,{title:"介入台",children:s.jsx("span",{className:"de-card-meta-text",children:C||"qimingclaw 人工介入运营台"})}),s.jsxs("div",{className:"de-card-body",children:[s.jsx("div",{className:"de-segmented-tabs",role:"tablist","aria-label":"介入类型",children:px.map(U=>s.jsx("button",{type:"button",className:U.id===l?"active":"",onClick:()=>{r(U.id),h(1),D([])},children:U.label},U.id))}),s.jsxs("div",{style:WE,className:"de-business-toolbar",children:[s.jsxs("label",{children:[s.jsx("span",{children:"实体 ID"}),s.jsx("input",{value:o.entity,onChange:U=>R("entity",U.target.value),placeholder:"approval / route / task"})]}),s.jsxs("label",{children:[s.jsx("span",{children:"状态"}),s.jsx("input",{value:o.status,onChange:U=>R("status",U.target.value),placeholder:"open"})]}),s.jsxs("label",{children:[s.jsx("span",{children:"优先级"}),s.jsx("input",{value:o.priority,onChange:U=>R("priority",U.target.value),placeholder:"high"})]}),s.jsxs("label",{children:[s.jsx("span",{children:"每页"}),s.jsxs("select",{value:o.pageSize,onChange:U=>R("pageSize",Number(U.target.value)||20),children:[s.jsx("option",{value:10,children:"10"}),s.jsx("option",{value:20,children:"20"}),s.jsx("option",{value:50,children:"50"})]})]}),s.jsxs("div",{className:"de-business-actions",children:[s.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>{K()},title:"搜索","aria-label":"搜索",children:s.jsx(tl,{size:15})}),s.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>{d(Ky),h(1)},title:"重置","aria-label":"重置",children:s.jsx(ln,{size:15})})]})]}),s.jsxs("div",{className:"de-business-actions","aria-label":"批量介入动作",children:[s.jsxs("span",{className:"de-card-meta-text",children:["已选择 ",w.length," 项"]}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:P.length===0||A,onClick:()=>{ne("keep_local")},children:[s.jsx(jb,{size:14})," 批量保留本地"]}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:P.length===0||A,onClick:()=>{ne("mark_reviewed")},children:"批量标记复核"}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:q.length===0||A,onClick:()=>{B("mark_reviewed")},children:"批量标记已看"}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:q.length===0||A,onClick:()=>{B("dismiss")},children:"批量忽略"}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:w.length===0||A,onClick:()=>D([]),children:"清空选择"})]}),te?s.jsx("p",{className:"de-inline-notice",children:te}):null,ie?s.jsx("p",{className:"de-inline-notice",children:ie}):null,s.jsx("section",{style:eA,"aria-label":"介入台列表",children:s.jsxs("table",{style:tA,className:"de-business-table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"选择"}),s.jsx("th",{children:"类型 / 标题"}),s.jsx("th",{children:"状态"}),s.jsx("th",{children:"优先级"}),s.jsx("th",{children:"关联"}),s.jsx("th",{children:"原因"}),s.jsx("th",{children:"最近时间"}),s.jsx("th",{children:"操作"})]})}),s.jsx("tbody",{children:_.length===0?s.jsx("tr",{children:s.jsx("td",{colSpan:8,children:A?"加载中...":"暂无介入事项"})}):_.map(U=>s.jsxs("tr",{className:w.includes(U.intervention_id)?"active":"",children:[s.jsx("td",{children:s.jsx("input",{type:"checkbox",checked:w.includes(U.intervention_id),onChange:()=>M(U),"aria-label":"选择介入事项"})}),s.jsxs("td",{children:[s.jsx("strong",{children:U.title}),s.jsx("code",{children:U.intervention_id})]}),s.jsx("td",{children:s.jsx("span",{className:aA(U.status),children:vi(U.status)})}),s.jsx("td",{children:vi(U.priority)}),s.jsxs("td",{children:[s.jsx("span",{children:vi(U.plan_id)}),s.jsx("span",{children:vi(U.task_id)}),s.jsx("span",{children:vi(U.run_id)})]}),s.jsx("td",{children:vi(U.reason||U.summary)}),s.jsx("td",{children:nA(U)}),s.jsx("td",{children:s.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>k(U),title:"详情","aria-label":"详情",children:s.jsx(tl,{size:15})})})]},U.intervention_id))})]})}),s.jsxs("div",{className:"de-business-pagination",children:[s.jsxs("span",{children:["共 ",x," 条"]}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:p<=1,onClick:()=>h(U=>Math.max(1,U-1)),children:"上一页"}),s.jsxs("span",{children:[p," / ",ce]}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:p>=ce,onClick:()=>h(U=>Math.min(ce,U+1)),children:"下一页"})]})]})]}),N?s.jsxs("div",{className:"de-artifact-preview","aria-label":"介入详情",children:[s.jsxs("div",{children:[s.jsx("strong",{children:N.title}),s.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>k(null),title:"关闭","aria-label":"关闭",children:s.jsx(ka,{size:15})})]}),s.jsx("pre",{children:JSON.stringify(N,null,2)})]}):null]})}const rA={padding:"14px 18px"},cA={display:"grid",gridTemplateColumns:"minmax(180px, 1fr) repeat(3, minmax(120px, 160px)) auto",gap:8,alignItems:"end",marginBottom:12},oA={overflow:"auto",border:"1px solid var(--de-glass-border-lighter)",borderRadius:8},dA={width:"100%",minWidth:980,borderCollapse:"collapse"},Vy={query:"",category:"",status:"",pageSize:20};function ks(e,a="-"){return e==null||e===""?a:String(e)}function uA(e){const a=String(e||"").toLowerCase();return["archived","deleted","failed"].some(l=>a.includes(l))?"de-badge de-badge-danger":["review","pending"].some(l=>a.includes(l))?"de-badge de-badge-warning":"de-badge de-badge-info"}function fA({initialQuery:e,focusEntityId:a}){const[l,r]=v.useState({...Vy,query:e||""}),[o,d]=v.useState(1),[p,h]=v.useState([]),[_,g]=v.useState(0),[x,S]=v.useState(null),[C,z]=v.useState([]),[w,D]=v.useState(null),[N,k]=v.useState(!1),[A,O]=v.useState(null),[te,I]=v.useState(null);v.useEffect(()=>{e&&r(q=>({...q,query:e}))},[e]);const ie=v.useCallback(async()=>{k(!0),I(null);try{const q=await IC({q:l.query.trim()||null,category:l.category.trim()||null,status:l.status.trim()||null,entity_id:a||null,page_no:o,page_size:l.pageSize});h(q.items??[]),g(q.total??0),S(q.source??null),z(ce=>ce.filter(R=>(q.items??[]).some(M=>M.memory_id===R)))}catch(q){h([]),g(0),I(q instanceof Error?q.message:"记忆治理加载失败")}finally{k(!1)}},[l,a,o]);v.useEffect(()=>{ie()},[ie]);const Z=v.useMemo(()=>Math.max(1,Math.ceil(_/l.pageSize)),[l.pageSize,_]),K=(q,ce)=>{r(R=>({...R,[q]:ce})),d(1)},pe=q=>{z(ce=>ce.includes(q.memory_id)?ce.filter(R=>R!==q.memory_id):[...ce,q.memory_id])},P=async q=>{var ce;if(!(C.length===0||N)){k(!0),O(null),I(null);try{const R=await HC(C,q,{actor:"digital_employee_operator"});if(!R.ok)throw new Error(R.error||((ce=R.reason_codes)==null?void 0:ce.join(", "))||"记忆治理操作失败");O(`记忆治理已记录${R.recorded}/${R.total}`),z([]),await ie()}catch(R){I(R instanceof Error?R.message:"记忆治理操作失败")}finally{k(!1)}}};return s.jsxs("div",{style:rA,children:[s.jsxs(gn,{children:[s.jsx(Nn,{title:"记忆治理",children:s.jsx("span",{className:"de-card-meta-text",children:x||"qimingclaw 长期记忆治理"})}),s.jsxs("div",{className:"de-card-body",children:[s.jsxs("div",{style:cA,className:"de-business-toolbar",children:[s.jsxs("label",{children:[s.jsx("span",{children:"关键词"}),s.jsx("input",{value:l.query,onChange:q=>K("query",q.target.value),placeholder:"key / content"})]}),s.jsxs("label",{children:[s.jsx("span",{children:"分类"}),s.jsx("input",{value:l.category,onChange:q=>K("category",q.target.value),placeholder:"fact"})]}),s.jsxs("label",{children:[s.jsx("span",{children:"状态"}),s.jsx("input",{value:l.status,onChange:q=>K("status",q.target.value),placeholder:"active"})]}),s.jsxs("label",{children:[s.jsx("span",{children:"每页"}),s.jsxs("select",{value:l.pageSize,onChange:q=>K("pageSize",Number(q.target.value)||20),children:[s.jsx("option",{value:10,children:"10"}),s.jsx("option",{value:20,children:"20"}),s.jsx("option",{value:50,children:"50"})]})]}),s.jsxs("div",{className:"de-business-actions",children:[s.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>{ie()},title:"搜索","aria-label":"搜索",children:s.jsx(tl,{size:15})}),s.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>{r(Vy),d(1)},title:"重置","aria-label":"重置",children:s.jsx(ln,{size:15})})]})]}),s.jsxs("div",{className:"de-business-actions","aria-label":"记忆批量治理",children:[s.jsxs("span",{className:"de-card-meta-text",children:["已选择 ",C.length," 条"]}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:C.length===0||N,onClick:()=>{P("archive")},children:[s.jsx(HS,{size:14})," 批量归档"]}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:C.length===0||N,onClick:()=>{P("restore")},children:[s.jsx(ej,{size:14})," 批量恢复"]}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:C.length===0||N,onClick:()=>{P("mark_reviewed")},children:"批量复核"}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:C.length===0||N,onClick:()=>z([]),children:"清空选择"})]}),A?s.jsx("p",{className:"de-inline-notice",children:A}):null,te?s.jsx("p",{className:"de-inline-notice",children:te}):null,s.jsx("section",{style:oA,"aria-label":"记忆治理列表",children:s.jsxs("table",{style:dA,className:"de-business-table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"选择"}),s.jsx("th",{children:"Key / 内容"}),s.jsx("th",{children:"状态"}),s.jsx("th",{children:"分类"}),s.jsx("th",{children:"重复候选"}),s.jsx("th",{children:"同步"}),s.jsx("th",{children:"更新时间"}),s.jsx("th",{children:"详情"})]})}),s.jsx("tbody",{children:p.length===0?s.jsx("tr",{children:s.jsx("td",{colSpan:8,children:N?"加载中...":"暂无记忆"})}):p.map(q=>s.jsxs("tr",{className:C.includes(q.memory_id)?"active":"",children:[s.jsx("td",{children:s.jsx("input",{type:"checkbox",checked:C.includes(q.memory_id),onChange:()=>pe(q),"aria-label":"选择记忆"})}),s.jsxs("td",{children:[s.jsx("strong",{children:ks(q.key)}),s.jsx("code",{children:ks(q.content_preview)})]}),s.jsx("td",{children:s.jsx("span",{className:uA(q.governance_status),children:ks(q.governance_status)})}),s.jsx("td",{children:ks(q.category)}),s.jsx("td",{children:q.merge_candidate_count>0?`重复候选 ${q.merge_candidate_count}`:"-"}),s.jsx("td",{children:ks(q.sync_status)}),s.jsx("td",{children:ks(q.updated_at)}),s.jsx("td",{children:s.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>D(q),title:"详情","aria-label":"详情",children:s.jsx(tl,{size:15})})})]},q.memory_id))})]})}),s.jsxs("div",{className:"de-business-pagination",children:[s.jsxs("span",{children:["共 ",_," 条"]}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:o<=1,onClick:()=>d(q=>Math.max(1,q-1)),children:"上一页"}),s.jsxs("span",{children:[o," / ",Z]}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:o>=Z,onClick:()=>d(q=>Math.min(Z,q+1)),children:"下一页"})]})]})]}),w?s.jsxs("div",{className:"de-artifact-preview","aria-label":"记忆详情",children:[s.jsxs("div",{children:[s.jsx("strong",{children:w.key}),s.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>D(null),title:"关闭","aria-label":"关闭",children:s.jsx(ka,{size:15})})]}),s.jsx("pre",{children:JSON.stringify(w,null,2)})]}):null]})}const mA={padding:"14px 18px"},pA={display:"grid",gridTemplateColumns:"repeat(6, minmax(120px, 1fr)) auto",gap:8,alignItems:"end",marginBottom:12},_A={overflow:"auto",border:"1px solid var(--de-glass-border-lighter)",borderRadius:8},hA={width:"100%",minWidth:1040,borderCollapse:"collapse"},Xy={skillId:"",toolName:"",serverId:"",decision:"",category:"",status:"",pageSize:20};function Fa(e,a="-"){return e==null||e===""?a:String(e)}function gA(e){const a=String(e||"").toLowerCase();return a.includes("allow")||a.includes("accepted")?"允许":a.includes("reject")||a.includes("deny")||a.includes("blocked")?"拒绝":a.includes("observe")?"观察":Fa(e,"观察")}function Zy(e){const a=String(e||"").toLowerCase();return/reject|deny|blocked|failed|error/.test(a)?"de-badge de-badge-danger":/warn|review|pending|timeout/.test(a)?"de-badge de-badge-warning":"de-badge de-badge-info"}function yA(e){const a=typeof e=="number"?e:Number(e);return!Number.isFinite(a)||a<=0?"-":a<.01?`$${a.toFixed(4)}`:`$${a.toFixed(2)}`}function bA({focusSkillId:e}){const[a,l]=v.useState({...Xy,skillId:e||""}),[r,o]=v.useState(1),[d,p]=v.useState([]),[h,_]=v.useState(0),[g,x]=v.useState(null),[S,C]=v.useState(null),[z,w]=v.useState(!1),[D,N]=v.useState(null);v.useEffect(()=>{e&&l(I=>({...I,skillId:e}))},[e]);const k=v.useCallback(async()=>{w(!0),N(null);try{const I=await GC({skill_id:a.skillId.trim()||null,tool_name:a.toolName.trim()||null,server_id:a.serverId.trim()||null,decision:a.decision.trim()||null,category:a.category.trim()||null,status:a.status.trim()||null,page_no:r,page_size:a.pageSize});p(I.items??[]),_(I.total??0),x(I.source??null)}catch(I){p([]),_(0),N(I instanceof Error?I.message:"技能审计加载失败")}finally{w(!1)}},[a,r]);v.useEffect(()=>{k()},[k]);const A=v.useMemo(()=>Math.max(1,Math.ceil(h/a.pageSize)),[a.pageSize,h]),O=(I,ie)=>{l(Z=>({...Z,[I]:ie})),o(1)},te=()=>{l({...Xy,skillId:e||""}),o(1)};return s.jsxs("div",{style:mA,children:[s.jsxs(gn,{children:[s.jsx(Nn,{title:"技能审计",children:s.jsx("span",{className:"de-card-meta-text",children:g||"技能调用、工具、sandbox 与 token/cost 审计"})}),s.jsxs("div",{className:"de-card-body",children:[s.jsxs("div",{style:pA,className:"de-business-toolbar",children:[s.jsxs("label",{children:[s.jsx("span",{children:"Skill"}),s.jsx("input",{value:a.skillId,onChange:I=>O("skillId",I.target.value),placeholder:"skill id"})]}),s.jsxs("label",{children:[s.jsx("span",{children:"Tool"}),s.jsx("input",{value:a.toolName,onChange:I=>O("toolName",I.target.value),placeholder:"tool name"})]}),s.jsxs("label",{children:[s.jsx("span",{children:"Server"}),s.jsx("input",{value:a.serverId,onChange:I=>O("serverId",I.target.value),placeholder:"server id"})]}),s.jsxs("label",{children:[s.jsx("span",{children:"决策"}),s.jsx("input",{value:a.decision,onChange:I=>O("decision",I.target.value),placeholder:"允许 / 拒绝 / 观察"})]}),s.jsxs("label",{children:[s.jsx("span",{children:"分类"}),s.jsx("input",{value:a.category,onChange:I=>O("category",I.target.value),placeholder:"tool_call_audit"})]}),s.jsxs("label",{children:[s.jsx("span",{children:"状态"}),s.jsx("input",{value:a.status,onChange:I=>O("status",I.target.value),placeholder:"status"})]}),s.jsxs("div",{className:"de-business-actions",children:[s.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>{k()},title:"筛选","aria-label":"筛选",children:s.jsx(ZS,{size:15})}),s.jsx("button",{type:"button",className:"de-icon-btn",onClick:te,title:"重置","aria-label":"重置",children:s.jsx(ln,{size:15})})]})]}),s.jsxs("div",{className:"de-business-actions","aria-label":"技能审计筛选",children:[s.jsxs("span",{className:"de-card-meta-text",children:["共 ",h," 条"]}),s.jsxs("label",{children:[s.jsx("span",{children:"每页"}),s.jsxs("select",{value:a.pageSize,onChange:I=>O("pageSize",Number(I.target.value)||20),children:[s.jsx("option",{value:10,children:"10"}),s.jsx("option",{value:20,children:"20"}),s.jsx("option",{value:50,children:"50"})]})]})]}),D?s.jsx("p",{className:"de-inline-notice",children:D}):null,s.jsx("section",{style:_A,"aria-label":"技能审计列表",children:s.jsxs("table",{style:hA,className:"de-business-table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"审计"}),s.jsx("th",{children:"决策"}),s.jsx("th",{children:"Skill / Tool"}),s.jsx("th",{children:"Server"}),s.jsx("th",{children:"风险"}),s.jsx("th",{children:"Token / 成本"}),s.jsx("th",{children:"时间"}),s.jsx("th",{children:"详情"})]})}),s.jsx("tbody",{children:d.length===0?s.jsx("tr",{children:s.jsx("td",{colSpan:8,children:z?"加载中...":"暂无技能审计记录"})}):d.map(I=>s.jsxs("tr",{children:[s.jsxs("td",{children:[s.jsx("strong",{children:Fa(I.category)}),s.jsx("code",{children:Fa(I.audit_id)})]}),s.jsx("td",{children:s.jsx("span",{className:Zy(I.decision||I.status),children:gA(I.decision||I.status)})}),s.jsxs("td",{children:[s.jsx("strong",{children:Fa(I.skill_id)}),s.jsx("code",{children:Fa(I.tool_name)})]}),s.jsx("td",{children:Fa(I.server_id)}),s.jsx("td",{children:s.jsx("span",{className:Zy(I.risk_level||I.status),children:Fa(I.risk_level||I.status)})}),s.jsxs("td",{children:[Fa(I.total_tokens,"0")," / ",yA(I.estimated_cost_usd)]}),s.jsx("td",{children:Fa(I.occurred_at||I.updated_at)}),s.jsx("td",{children:s.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>C(I),title:"详情","aria-label":"详情",children:s.jsx(tl,{size:15})})})]},I.audit_id))})]})}),s.jsxs("div",{className:"de-business-pagination",children:[s.jsxs("span",{children:[r," / ",A]}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:r<=1,onClick:()=>o(I=>Math.max(1,I-1)),children:"上一页"}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:r>=A,onClick:()=>o(I=>Math.min(A,I+1)),children:"下一页"})]})]})]}),S?s.jsxs("div",{className:"de-artifact-preview","aria-label":"技能审计详情",children:[s.jsxs("div",{children:[s.jsx("strong",{children:S.category}),s.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>C(null),title:"关闭","aria-label":"关闭",children:s.jsx(ka,{size:15})})]}),s.jsx("pre",{children:JSON.stringify(S,null,2)})]}):null]})}const vA={padding:"14px 18px"},xA={display:"grid",gridTemplateColumns:"repeat(4, minmax(130px, 1fr)) auto",gap:8,alignItems:"end",marginBottom:12},kA={overflow:"auto",border:"1px solid var(--de-glass-border-lighter)",borderRadius:8},SA={width:"100%",minWidth:980,borderCollapse:"collapse"},jA={kind:"all",status:"",priority:"",entityId:"",pageSize:20};function Ho(e,a="-"){return e==null||e===""?a:String(e)}function wA(e){const a=String(e||"").toLowerCase();return/error|failed|stopped|degraded/.test(a)?"de-badge de-badge-danger":/warn|pending|review/.test(a)?"de-badge de-badge-warning":"de-badge de-badge-info"}function CA({initialKind:e,focusEntityId:a}){const[l,r]=v.useState({...jA,kind:e||"all",entityId:a||""}),[o,d]=v.useState(1),[p,h]=v.useState([]),[_,g]=v.useState([]),[x,S]=v.useState(0),[C,z]=v.useState(null),[w,D]=v.useState(null),[N,k]=v.useState(!1),[A,O]=v.useState(null),[te,I]=v.useState(null),ie=v.useCallback(async()=>{k(!0),I(null);try{const q=await YC({kind:l.kind==="all"?null:l.kind,status:l.status||null,priority:l.priority||null,entity_id:l.entityId||null,page_no:o,page_size:l.pageSize});h(q.items??[]),S(q.total??0),z(q.source??null),g(ce=>ce.filter(R=>(q.items??[]).some(M=>M.ops_id===R)))}catch(q){h([]),S(0),I(q instanceof Error?q.message:"处置台加载失败")}finally{k(!1)}},[l,o]);v.useEffect(()=>{ie()},[ie]);const Z=v.useMemo(()=>Math.max(1,Math.ceil(x/l.pageSize)),[l.pageSize,x]),K=(q,ce)=>{r(R=>({...R,[q]:ce})),d(1)},pe=q=>{g(ce=>ce.includes(q.ops_id)?ce.filter(R=>R!==q.ops_id):[...ce,q.ops_id])},P=async q=>{var ce;if(!(_.length===0||N)){k(!0),O(null),I(null);try{const R=await KC(_,q,{actor:"digital_employee_operator"});if(!R.ok)throw new Error(R.error||((ce=R.reason_codes)==null?void 0:ce.join(", "))||"处置动作失败");O(`处置台已记录${R.recorded}/${R.total}`),g([]),await ie()}catch(R){I(R instanceof Error?R.message:"处置动作失败")}finally{k(!1)}}};return s.jsxs("div",{style:vA,children:[s.jsxs(gn,{children:[s.jsx(Nn,{title:"处置台",children:s.jsx("span",{className:"de-card-meta-text",children:C||"诊断、服务、同步和策略处置"})}),s.jsxs("div",{className:"de-card-body",children:[s.jsxs("div",{style:xA,className:"de-business-toolbar",children:[s.jsxs("label",{children:[s.jsx("span",{children:"类型"}),s.jsxs("select",{value:l.kind,onChange:q=>K("kind",q.target.value),children:[s.jsx("option",{value:"all",children:"全部"}),s.jsx("option",{value:"diagnostic",children:"诊断"}),s.jsx("option",{value:"service",children:"服务"}),s.jsx("option",{value:"sync",children:"同步"}),s.jsx("option",{value:"policy",children:"策略"}),s.jsx("option",{value:"audit",children:"审计"})]})]}),s.jsxs("label",{children:[s.jsx("span",{children:"状态"}),s.jsx("input",{value:l.status,onChange:q=>K("status",q.target.value),placeholder:"error"})]}),s.jsxs("label",{children:[s.jsx("span",{children:"优先级"}),s.jsx("input",{value:l.priority,onChange:q=>K("priority",q.target.value),placeholder:"warn"})]}),s.jsxs("label",{children:[s.jsx("span",{children:"实体"}),s.jsx("input",{value:l.entityId,onChange:q=>K("entityId",q.target.value),placeholder:"service / policy"})]}),s.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>{ie()},title:"刷新","aria-label":"刷新",children:s.jsx(ln,{size:15})})]}),s.jsxs("div",{className:"de-business-actions","aria-label":"处置台批量动作",children:[s.jsxs("span",{className:"de-card-meta-text",children:["已选择 ",_.length," 条"]}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:_.length===0||N,onClick:()=>{P("mark_reviewed")},children:"批量标记已看"}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:_.length===0||N,onClick:()=>{P("dismiss")},children:"批量忽略"}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:_.length===0||N,onClick:()=>{P("retry_policy_pull")},children:"策略重拉"}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:_.length===0||N,onClick:()=>{P("safe_restart_service")},children:[s.jsx(Pr,{size:14})," 安全重启"]})]}),A?s.jsx("p",{className:"de-inline-notice",children:A}):null,te?s.jsx("p",{className:"de-inline-notice",children:te}):null,s.jsx("section",{style:kA,"aria-label":"处置事项列表",children:s.jsxs("table",{style:SA,className:"de-business-table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"选择"}),s.jsx("th",{children:"事项"}),s.jsx("th",{children:"类型"}),s.jsx("th",{children:"状态"}),s.jsx("th",{children:"建议"}),s.jsx("th",{children:"时间"}),s.jsx("th",{children:"详情"})]})}),s.jsx("tbody",{children:p.length===0?s.jsx("tr",{children:s.jsx("td",{colSpan:7,children:N?"加载中...":"暂无处置事项"})}):p.map(q=>s.jsxs("tr",{className:_.includes(q.ops_id)?"active":"",children:[s.jsx("td",{children:s.jsx("input",{type:"checkbox",checked:_.includes(q.ops_id),onChange:()=>pe(q),"aria-label":"选择处置事项"})}),s.jsxs("td",{children:[s.jsx("strong",{children:q.title}),s.jsx("code",{children:q.ops_id})]}),s.jsx("td",{children:Ho(q.kind)}),s.jsx("td",{children:s.jsx("span",{className:wA(q.status||q.priority),children:Ho(q.status)})}),s.jsx("td",{children:Ho(q.recommended_action)}),s.jsx("td",{children:Ho(q.updated_at||q.occurred_at)}),s.jsx("td",{children:s.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>D(q),title:"详情","aria-label":"详情",children:s.jsx(tl,{size:15})})})]},q.ops_id))})]})}),s.jsxs("div",{className:"de-business-pagination",children:[s.jsxs("span",{children:["共 ",x," 条"]}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:o<=1,onClick:()=>d(q=>Math.max(1,q-1)),children:"上一页"}),s.jsxs("span",{children:[o," / ",Z]}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:o>=Z,onClick:()=>d(q=>Math.min(Z,q+1)),children:"下一页"})]})]})]}),w?s.jsxs("div",{className:"de-artifact-preview","aria-label":"处置详情",children:[s.jsxs("div",{children:[s.jsx("strong",{children:w.title}),s.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>D(null),title:"关闭","aria-label":"关闭",children:s.jsx(ka,{size:15})})]}),s.jsx("pre",{children:JSON.stringify(w,null,2)})]}):null]})}const NA={padding:"14px 18px"},EA={display:"grid",gridTemplateColumns:"repeat(4, minmax(130px, 1fr)) auto",gap:8,alignItems:"end",marginBottom:12},AA={overflow:"auto",border:"1px solid var(--de-glass-border-lighter)",borderRadius:8},TA={width:"100%",minWidth:980,borderCollapse:"collapse"},RA={kind:"all",status:"",level:"",entityId:"",pageSize:20};function Go(e,a="-"){return e==null||e===""?a:String(e)}function Jy(e){const a=String(e||"").toLowerCase();return/error|failed/.test(a)?"de-badge de-badge-danger":/warn|action|unread/.test(a)?"de-badge de-badge-warning":"de-badge de-badge-info"}function $A({initialKind:e,focusEntityId:a}){const[l,r]=v.useState({...RA,kind:e||"all",entityId:a||""}),[o,d]=v.useState(1),[p,h]=v.useState([]),[_,g]=v.useState([]),[x,S]=v.useState(0),[C,z]=v.useState(null),[w,D]=v.useState(null),[N,k]=v.useState(""),[A,O]=v.useState(!1),[te,I]=v.useState(null),[ie,Z]=v.useState(null),K=v.useCallback(async()=>{O(!0),Z(null);try{const M=await QC({kind:l.kind==="all"?null:l.kind,status:l.status||null,level:l.level||null,entity_id:l.entityId||null,page_no:o,page_size:l.pageSize});h(M.items??[]),S(M.total??0),z(M.source??null),g(ne=>ne.filter(B=>(M.items??[]).some(U=>U.notification_id===B)))}catch(M){h([]),S(0),Z(M instanceof Error?M.message:"通知运营加载失败")}finally{O(!1)}},[l,o]);v.useEffect(()=>{K()},[K]);const pe=v.useMemo(()=>Math.max(1,Math.ceil(x/l.pageSize)),[l.pageSize,x]),P=(M,ne)=>{r(B=>({...B,[M]:ne})),d(1)},q=M=>{g(ne=>ne.includes(M.notification_id)?ne.filter(B=>B!==M.notification_id):[...ne,M.notification_id])},ce=async M=>{var ne;if(!((M==="mark_read"||M==="dismiss")&&_.length===0)){O(!0),I(null),Z(null);try{const B=await VC(_,M,{actor:"digital_employee_operator"});if(!B.ok)throw new Error(B.error||((ne=B.reason_codes)==null?void 0:ne.join(", "))||"通知运营操作失败");I(M==="open_desktop_settings"?"已请求打开系统设置。":`通知运营已记录${B.recorded}/${B.total}`),M!=="open_desktop_settings"&&g([]),await K()}catch(B){Z(B instanceof Error?B.message:"通知运营操作失败")}finally{O(!1)}}},R=async()=>{if(!(!(w!=null&&w.notification_id)||!N.trim())){O(!0);try{await Vv(w.notification_id,N.trim()),I("回复已记录。"),k(""),await K()}catch(M){Z(M instanceof Error?M.message:"回复失败")}finally{O(!1)}}};return s.jsxs("div",{style:NA,children:[s.jsxs(gn,{children:[s.jsx(Nn,{title:"通知运营",children:s.jsx("span",{className:"de-card-meta-text",children:C||"Inbox 运营视图"})}),s.jsxs("div",{className:"de-card-body",children:[s.jsxs("div",{style:EA,className:"de-business-toolbar",children:[s.jsxs("label",{children:[s.jsx("span",{children:"类型"}),s.jsx("input",{value:l.kind,onChange:M=>P("kind",M.target.value||"all"),placeholder:"all / need_input"})]}),s.jsxs("label",{children:[s.jsx("span",{children:"状态"}),s.jsx("input",{value:l.status,onChange:M=>P("status",M.target.value),placeholder:"unread"})]}),s.jsxs("label",{children:[s.jsx("span",{children:"等级"}),s.jsx("input",{value:l.level,onChange:M=>P("level",M.target.value),placeholder:"action"})]}),s.jsxs("label",{children:[s.jsx("span",{children:"实体"}),s.jsx("input",{value:l.entityId,onChange:M=>P("entityId",M.target.value),placeholder:"notification id"})]}),s.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>{K()},title:"刷新","aria-label":"刷新",children:s.jsx(ln,{size:15})})]}),s.jsxs("div",{className:"de-business-actions","aria-label":"通知批量动作",children:[s.jsxs("span",{className:"de-card-meta-text",children:["已选择 ",_.length," 条"]}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:_.length===0||A,onClick:()=>{ce("mark_read")},children:"批量已读"}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:_.length===0||A,onClick:()=>{ce("dismiss")},children:"批量忽略"}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:A,onClick:()=>{ce("pull_updates")},children:"拉取通知"}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:A,onClick:()=>{ce("open_desktop_settings")},children:[s.jsx(nj,{size:14})," 打开系统设置"]})]}),te?s.jsx("p",{className:"de-inline-notice",children:te}):null,ie?s.jsx("p",{className:"de-inline-notice",children:ie}):null,s.jsx("section",{style:AA,"aria-label":"通知运营列表",children:s.jsxs("table",{style:TA,className:"de-business-table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"选择"}),s.jsx("th",{children:"通知"}),s.jsx("th",{children:"类型"}),s.jsx("th",{children:"状态"}),s.jsx("th",{children:"等级"}),s.jsx("th",{children:"时间"}),s.jsx("th",{children:"详情"})]})}),s.jsx("tbody",{children:p.length===0?s.jsx("tr",{children:s.jsx("td",{colSpan:7,children:A?"加载中...":"暂无通知"})}):p.map(M=>s.jsxs("tr",{className:_.includes(M.notification_id)?"active":"",children:[s.jsx("td",{children:s.jsx("input",{type:"checkbox",checked:_.includes(M.notification_id),onChange:()=>q(M),"aria-label":"选择通知"})}),s.jsxs("td",{children:[s.jsx("strong",{children:M.title}),s.jsx("code",{children:M.notification_id})]}),s.jsx("td",{children:Go(M.kind)}),s.jsx("td",{children:s.jsx("span",{className:Jy(M.status),children:Go(M.status)})}),s.jsx("td",{children:s.jsx("span",{className:Jy(M.priority),children:Go(M.priority)})}),s.jsx("td",{children:Go(M.updated_at||M.occurred_at)}),s.jsx("td",{children:s.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>{D(M),k("")},title:"详情","aria-label":"详情",children:s.jsx(tl,{size:15})})})]},M.notification_id))})]})}),s.jsxs("div",{className:"de-business-pagination",children:[s.jsxs("span",{children:["共 ",x," 条"]}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:o<=1,onClick:()=>d(M=>Math.max(1,M-1)),children:"上一页"}),s.jsxs("span",{children:[o," / ",pe]}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:o>=pe,onClick:()=>d(M=>Math.min(pe,M+1)),children:"下一页"})]})]})]}),w?s.jsxs("div",{className:"de-artifact-preview","aria-label":"通知详情",children:[s.jsxs("div",{children:[s.jsx("strong",{children:w.title}),s.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>D(null),title:"关闭","aria-label":"关闭",children:s.jsx(ka,{size:15})})]}),s.jsx("pre",{children:JSON.stringify(w,null,2)}),s.jsx("textarea",{value:N,onChange:M=>k(M.target.value),placeholder:"回复单条通知"}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:!N.trim()||A,onClick:()=>{R()},children:"回复"})]}):null]})}const DA={padding:"14px 18px"},zA={display:"grid",gridTemplateColumns:"repeat(4, minmax(130px, 1fr)) auto",gap:8,alignItems:"end",marginBottom:12},MA={overflow:"auto",border:"1px solid var(--de-glass-border-lighter)",borderRadius:8},OA={width:"100%",minWidth:1020,borderCollapse:"collapse"},qA={date:"",status:"",entityId:"",pageSize:20};function Yr(e,a="-"){return e==null||e===""?a:String(e)}function LA(e){const a=String(e||"").toLowerCase();return/failed|error|pending/.test(a)?"de-badge de-badge-warning":(/confirmed|sent|requested|ready/.test(a),"de-badge de-badge-info")}function BA({focusEntityId:e}){const[a,l]=v.useState({...qA,entityId:e||""}),[r,o]=v.useState(1),[d,p]=v.useState([]),[h,_]=v.useState(0),[g,x]=v.useState(null),[S,C]=v.useState(null),[z,w]=v.useState(!1),[D,N]=v.useState(null),[k,A]=v.useState(null),O=v.useCallback(async()=>{w(!0),A(null);try{const K=await XC({date:a.date||null,status:a.status||null,entity_id:a.entityId||null,page_no:r,page_size:a.pageSize});p(K.items??[]),_(K.total??0),x(K.source??null)}catch(K){p([]),_(0),A(K instanceof Error?K.message:"日报运营加载失败")}finally{w(!1)}},[a,r]);v.useEffect(()=>{O()},[O]);const te=v.useMemo(()=>Math.max(1,Math.ceil(h/a.pageSize)),[a.pageSize,h]),I=(K,pe)=>{l(P=>({...P,[K]:pe})),o(1)},ie=async K=>{w(!0),N(null),A(null);try{await ql({action:"generate_daily_report",date:(K==null?void 0:K.date)||a.date||void 0,duty_ids:[]}),N("日报已生成。"),await O()}catch(pe){A(pe instanceof Error?pe.message:"生成日报失败")}finally{w(!1)}},Z=async(K,pe)=>{w(!0),N(null),A(null);try{await Zv({reportId:K.report_id,action:pe,status:pe==="send"?"sent":pe==="confirm"?"confirmed":"approval_requested",actor:"digital_employee_operator",message:"daily_report_workbench_action_recorded"}),N(pe==="send"?"发送记录已写入。":pe==="confirm"?"确认回执已记录。":"请求审批已记录。"),await O()}catch(P){A(P instanceof Error?P.message:"日报动作失败")}finally{w(!1)}};return s.jsxs("div",{style:DA,children:[s.jsxs(gn,{children:[s.jsx(Nn,{title:"日报运营",children:s.jsx("span",{className:"de-card-meta-text",children:g||"日报交付运营视图"})}),s.jsxs("div",{className:"de-card-body",children:[s.jsxs("div",{style:zA,className:"de-business-toolbar",children:[s.jsxs("label",{children:[s.jsx("span",{children:"日期"}),s.jsx("input",{type:"date",value:a.date,onChange:K=>I("date",K.target.value)})]}),s.jsxs("label",{children:[s.jsx("span",{children:"状态"}),s.jsx("input",{value:a.status,onChange:K=>I("status",K.target.value),placeholder:"ready"})]}),s.jsxs("label",{children:[s.jsx("span",{children:"实体"}),s.jsx("input",{value:a.entityId,onChange:K=>I("entityId",K.target.value),placeholder:"report id"})]}),s.jsxs("label",{children:[s.jsx("span",{children:"每页"}),s.jsxs("select",{value:a.pageSize,onChange:K=>I("pageSize",Number(K.target.value)||20),children:[s.jsx("option",{value:10,children:"10"}),s.jsx("option",{value:20,children:"20"}),s.jsx("option",{value:50,children:"50"})]})]}),s.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>{O()},title:"刷新","aria-label":"刷新",children:s.jsx(ln,{size:15})})]}),s.jsx("div",{className:"de-business-actions","aria-label":"日报运营动作",children:s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:z,onClick:()=>{ie()},children:"生成日报"})}),D?s.jsx("p",{className:"de-inline-notice",children:D}):null,k?s.jsx("p",{className:"de-inline-notice",children:k}):null,s.jsx("section",{style:MA,"aria-label":"日报运营列表",children:s.jsxs("table",{style:OA,className:"de-business-table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"日报"}),s.jsx("th",{children:"状态"}),s.jsx("th",{children:"发送"}),s.jsx("th",{children:"确认"}),s.jsx("th",{children:"审批"}),s.jsx("th",{children:"产物"}),s.jsx("th",{children:"操作"})]})}),s.jsx("tbody",{children:d.length===0?s.jsx("tr",{children:s.jsx("td",{colSpan:7,children:z?"加载中...":"暂无日报记录"})}):d.map(K=>s.jsxs("tr",{children:[s.jsxs("td",{children:[s.jsx("strong",{children:K.title}),s.jsxs("code",{children:[K.date," · ",K.report_id]})]}),s.jsx("td",{children:s.jsx("span",{className:LA(K.status),children:Yr(K.status)})}),s.jsx("td",{children:Yr(K.delivery_status)}),s.jsx("td",{children:Yr(K.confirmation_status)}),s.jsx("td",{children:Yr(K.approval_status)}),s.jsx("td",{children:Yr(K.artifact_count,"0")}),s.jsxs("td",{className:"de-business-actions",children:[s.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>C(K),title:"详情","aria-label":"详情",children:s.jsx(tl,{size:15})}),s.jsx("button",{type:"button",className:"de-icon-btn",disabled:z,onClick:()=>{Z(K,"send")},title:"记录发送","aria-label":"记录发送",children:s.jsx(Sb,{size:15})}),s.jsx("button",{type:"button",className:"de-icon-btn",disabled:z,onClick:()=>{Z(K,"confirm")},title:"确认回执","aria-label":"确认回执",children:s.jsx(kb,{size:15})}),s.jsx("button",{type:"button",className:"de-icon-btn",disabled:z,onClick:()=>{Z(K,"request_approval")},title:"请求审批","aria-label":"请求审批",children:s.jsx(Pr,{size:15})})]})]},K.report_id))})]})}),s.jsxs("div",{className:"de-business-pagination",children:[s.jsxs("span",{children:["共 ",h," 条"]}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:r<=1,onClick:()=>o(K=>Math.max(1,K-1)),children:"上一页"}),s.jsxs("span",{children:[r," / ",te]}),s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:r>=te,onClick:()=>o(K=>Math.min(te,K+1)),children:"下一页"})]})]})]}),S?s.jsxs("div",{className:"de-artifact-preview","aria-label":"日报运营详情",children:[s.jsxs("div",{children:[s.jsx("strong",{children:S.title}),s.jsx("button",{type:"button",className:"de-icon-btn",onClick:()=>C(null),title:"关闭","aria-label":"关闭",children:s.jsx(ka,{size:15})})]}),s.jsx("pre",{children:JSON.stringify(S,null,2)})]}):null]})}const UA={padding:"14px 18px"},IA={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(280px, 1fr))",gap:12},nm={border:"1px solid var(--de-glass-border-lighter)",borderRadius:8,padding:12,display:"grid",gap:10};function am(e,a="-"){return e==null||e===""?a:String(e)}function HA(e){const a=String(e||"").toLowerCase();return/error|failed|disabled/.test(a)?"de-badge de-badge-danger":/pull|pending|remote/.test(a)?"de-badge de-badge-warning":"de-badge de-badge-info"}function GA(){const[e,a]=v.useState([]),[l,r]=v.useState(null),[o,d]=v.useState(null),[p,h]=v.useState(!1),[_,g]=v.useState(null),[x,S]=v.useState(null),C=v.useCallback(async()=>{h(!0),S(null);try{const k=await lN();a(k.items??[]),r(k.plan_step_dispatch_policy),d(k.risk_approval_policy)}catch(k){a([]),S(k instanceof Error?k.message:"策略中心加载失败")}finally{h(!1)}},[]);v.useEffect(()=>{C()},[C]);const z=async()=>{h(!0),g(null),S(null);try{const k=await iN();if(!k.ok)throw new Error(k.items.map(A=>A.error).filter(Boolean).join(", ")||"批量拉取策略失败");g(`批量拉取策略完成${k.pulled}/${k.total}`),await C()}catch(k){S(k instanceof Error?k.message:"批量拉取策略失败")}finally{h(!1)}},w=async k=>{if(!l)return;const A=await aN(k);r(A),g("派发策略已保存。"),await C()},D=async k=>{if(!o)return;const A=await Kv(k);d(A),g("风险审批策略已保存。"),await C()},N=(k,A)=>{D({[k]:A.split(",").map(O=>O.trim()).filter(Boolean)})};return s.jsx("div",{style:UA,children:s.jsxs(gn,{children:[s.jsxs(Nn,{title:"策略中心",children:[s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:p,onClick:()=>{z()},children:"批量拉取策略"}),s.jsx("button",{type:"button",className:"de-icon-btn",disabled:p,onClick:()=>{C()},title:"刷新","aria-label":"刷新",children:s.jsx(ln,{size:15})})]}),s.jsxs("div",{className:"de-card-body",children:[_?s.jsx("p",{className:"de-inline-notice",children:_}):null,x?s.jsx("p",{className:"de-inline-notice",children:x}):null,s.jsx("div",{style:IA,children:e.map(k=>s.jsxs("section",{style:nm,children:[s.jsx("strong",{children:k.title}),s.jsx("span",{className:HA(k.status),children:k.status}),s.jsx("small",{children:am(k.summary)}),s.jsxs("small",{children:["source: ",am(k.source)," · pulled: ",am(k.last_pulled_at)]}),k.last_pull_error?s.jsx("small",{children:k.last_pull_error}):null]},k.policy_id))}),l?s.jsxs("section",{style:nm,children:[s.jsx("h3",{className:"de-settings-heading",children:"派发策略"}),s.jsxs("label",{children:[s.jsx("span",{children:"enabled"}),s.jsxs("select",{value:l.enabled?"true":"false",onChange:k=>{w({enabled:k.target.value==="true"})},children:[s.jsx("option",{value:"true",children:"true"}),s.jsx("option",{value:"false",children:"false"})]})]}),s.jsxs("label",{children:[s.jsx("span",{children:"max_per_sweep"}),s.jsx("input",{type:"number",min:1,max:10,value:l.max_per_sweep,onChange:k=>{w({max_per_sweep:Number(k.target.value)||1})}})]}),s.jsxs("label",{children:[s.jsx("span",{children:"auto_dispatch_ready_steps"}),s.jsxs("select",{value:l.auto_dispatch_ready_steps?"true":"false",onChange:k=>{w({auto_dispatch_ready_steps:k.target.value==="true"})},children:[s.jsx("option",{value:"true",children:"true"}),s.jsx("option",{value:"false",children:"false"})]})]})]}):null,o?s.jsxs("section",{style:nm,children:[s.jsx("h3",{className:"de-settings-heading",children:"风险审批策略"}),s.jsxs("label",{children:[s.jsx("span",{children:"enabled"}),s.jsxs("select",{value:o.enabled?"true":"false",onChange:k=>{D({enabled:k.target.value==="true"})},children:[s.jsx("option",{value:"true",children:"true"}),s.jsx("option",{value:"false",children:"false"})]})]}),s.jsxs("label",{children:[s.jsx("span",{children:"approval_required_risk_levels"}),s.jsx("input",{value:o.approval_required_risk_levels.join(","),onChange:k=>N("approval_required_risk_levels",k.target.value)})]}),s.jsxs("label",{children:[s.jsx("span",{children:"approval_required_actions"}),s.jsx("input",{value:o.approval_required_actions.join(","),onChange:k=>N("approval_required_actions",k.target.value)})]}),s.jsxs("label",{children:[s.jsx("span",{children:"auto_reject_actions"}),s.jsx("input",{value:o.auto_reject_actions.join(","),onChange:k=>N("auto_reject_actions",k.target.value)})]})]}):null]})]})})}const YA={padding:"14px 18px"},KA={overflow:"auto",border:"1px solid var(--de-glass-border-lighter)",borderRadius:8},QA={width:"100%",minWidth:980,borderCollapse:"collapse"},VA={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(180px, 1fr))",gap:10,marginBottom:12};function Kr(e,a="-"){return e==null||e===""?a:String(e)}function XA(e){const a=String(e||"").toLowerCase();return/failed|error|deleted/.test(a)?"de-badge de-badge-danger":/paused|pending|skipped/.test(a)?"de-badge de-badge-warning":"de-badge de-badge-info"}function ZA(){const[e,a]=v.useState([]),[l,r]=v.useState({enabled:!1,catch_up_on_startup:!1,max_run_history:20}),[o,d]=v.useState(!1),[p,h]=v.useState(null),[_,g]=v.useState(null),x=v.useCallback(async()=>{d(!0),g(null);try{const N=await OC();a(N.items??[]),r(N.settings)}catch(N){a([]),g(N instanceof Error?N.message:"调度运营加载失败")}finally{d(!1)}},[]);v.useEffect(()=>{x()},[x]);const S=v.useMemo(()=>e.filter(N=>N.enabled).length,[e]),C=async N=>{d(!0);try{const k=await MC(N);r(k),h("调度设置已保存。"),await x()}catch(k){g(k instanceof Error?k.message:"调度设置保存失败")}finally{d(!1)}},z=async()=>{d(!0),h(null),g(null);try{const N=await gN();h(`立即检查调度完成activated ${N.activated??0}skipped ${N.skipped??0}`),await x()}catch(N){g(N instanceof Error?N.message:"立即检查调度失败")}finally{d(!1)}},w=async N=>{d(!0);try{await $C(N.schedule_id,{enabled:!N.enabled}),h(N.enabled?"调度已暂停。":"调度已启用。"),await x()}catch(k){g(k instanceof Error?k.message:"调度启停失败")}finally{d(!1)}},D=async N=>{d(!0);try{await RC(N.schedule_id),h("调度已删除。"),await x()}catch(k){g(k instanceof Error?k.message:"删除调度失败")}finally{d(!1)}};return s.jsx("div",{style:YA,children:s.jsxs(gn,{children:[s.jsxs(Nn,{title:"调度运营",children:[s.jsxs("span",{className:"de-card-meta-text",children:["启用 ",S,"/",e.length]}),s.jsxs("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:o,onClick:()=>{z()},children:[s.jsx(WS,{size:14})," 立即检查调度"]}),s.jsx("button",{type:"button",className:"de-icon-btn",disabled:o,onClick:()=>{x()},title:"刷新","aria-label":"刷新",children:s.jsx(ln,{size:15})})]}),s.jsxs("div",{className:"de-card-body",children:[s.jsxs("div",{style:VA,className:"de-business-toolbar",children:[s.jsxs("label",{children:[s.jsx("span",{children:"enabled"}),s.jsxs("select",{value:l.enabled?"true":"false",onChange:N=>{C({enabled:N.target.value==="true"})},children:[s.jsx("option",{value:"true",children:"true"}),s.jsx("option",{value:"false",children:"false"})]})]}),s.jsxs("label",{children:[s.jsx("span",{children:"catch_up_on_startup"}),s.jsxs("select",{value:l.catch_up_on_startup?"true":"false",onChange:N=>{C({catch_up_on_startup:N.target.value==="true"})},children:[s.jsx("option",{value:"true",children:"true"}),s.jsx("option",{value:"false",children:"false"})]})]}),s.jsxs("label",{children:[s.jsx("span",{children:"max_run_history"}),s.jsx("input",{type:"number",min:1,max:500,value:l.max_run_history,onChange:N=>{C({max_run_history:Number(N.target.value)||20})}})]})]}),p?s.jsx("p",{className:"de-inline-notice",children:p}):null,_?s.jsx("p",{className:"de-inline-notice",children:_}):null,s.jsx("section",{style:KA,"aria-label":"调度运营列表",children:s.jsxs("table",{style:QA,className:"de-business-table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"任务"}),s.jsx("th",{children:"状态"}),s.jsx("th",{children:"Cron"}),s.jsx("th",{children:"下次"}),s.jsx("th",{children:"最近运行"}),s.jsx("th",{children:"最近结果"}),s.jsx("th",{children:"操作"})]})}),s.jsx("tbody",{children:e.length===0?s.jsx("tr",{children:s.jsx("td",{colSpan:7,children:o?"加载中...":"暂无调度任务"})}):e.map(N=>s.jsxs("tr",{children:[s.jsxs("td",{children:[s.jsx("strong",{children:N.name}),s.jsx("code",{children:N.schedule_id})]}),s.jsx("td",{children:s.jsx("span",{className:XA(N.status),children:Kr(N.status)})}),s.jsx("td",{children:Kr(N.cron_expr)}),s.jsx("td",{children:Kr(N.next_run)}),s.jsx("td",{children:Kr(N.last_run)}),s.jsx("td",{children:Kr(N.last_status||N.latest_run_error)}),s.jsxs("td",{className:"de-business-actions",children:[s.jsx("button",{type:"button",className:"de-btn-secondary de-btn-sm",disabled:o,onClick:()=>{w(N)},children:N.enabled?"暂停":"启用"}),s.jsx("button",{type:"button",className:"de-icon-btn",disabled:o,onClick:()=>{D(N)},title:"删除","aria-label":"删除",children:s.jsx(wb,{size:15})})]})]},N.schedule_id))})]})})]})]})})}const JA=["sales","engineering","hr","finance","executive"],Nm="qimingclaw:digital-role-preferences",Em="sgrobot-role-preferences",Jr={workStart:"09:00",workEnd:"18:00",notification:"system",reportTime:"17:30",avatarStyle:"professional",reminderLevel:"important"},FA={compact:"紧凑",balanced:"均衡",presentation:"汇报"},PA=[{id:"medium",label:"中风险"},{id:"high",label:"高风险"},{id:"critical",label:"严重风险"}],Fy=[{id:"governance.run_schedule_now",label:"立即运行调度"},{id:"plan_step.dispatch_ready_steps",label:"派发 Ready 步骤"},{id:"managed_service.restart.fileServer",label:"重启文件服务"},{id:"artifact.access.open_location",label:"打开产物位置"}],Py={enabled:!0,approval_required_risk_levels:["high","critical"],approval_required_actions:[],auto_reject_actions:[],updated_at:null,source:"local",remote_updated_at:null,last_pulled_at:null,last_pull_error:null},Wy={display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:12},ba={display:"flex",flexDirection:"column",gap:6,border:"1px solid var(--de-glass-border-lighter)",borderRadius:10,padding:"12px 14px",background:"linear-gradient(180deg, rgba(244,250,255,0.82), rgba(235,246,255,0.58))"},yi={minHeight:34,borderRadius:8,border:"1px solid var(--de-glass-border-light)",background:"rgba(255,255,255,0.72)",color:"var(--de-text-primary)",padding:"0 10px"};function WA(){try{const e=localStorage.getItem(Nm)??localStorage.getItem(Em);return e?{...Jr,...JSON.parse(e)}:Jr}catch{return Jr}}function eT(e){return!e||typeof e!="object"||Array.isArray(e)?Jr:{...Jr,...e}}function tT(){const{role:e,profile:a,setRole:l}=rj(),[r,o]=v.useState(WA),[d,p]=v.useState(Py),[h,_]=v.useState(!1),g=v.useRef(null);v.useEffect(()=>()=>{g.current&&clearTimeout(g.current)},[]),v.useEffect(()=>{let k=!1;return Cb().then(A=>{if(k||!(A!=null&&A.rolePreferences))return;const O=eT(A.rolePreferences);o(O);try{localStorage.setItem(Nm,JSON.stringify(O)),localStorage.removeItem(Em)}catch{}}),()=>{k=!0}},[]),v.useEffect(()=>{let k=!1;return Yv().then(A=>{k||p(A)}).catch(()=>{k||p(Py)}),()=>{k=!0}},[]);const x=()=>{_(!0),g.current&&clearTimeout(g.current),g.current=setTimeout(()=>_(!1),2e3)},S=k=>{o(k);try{localStorage.setItem(Nm,JSON.stringify(k)),localStorage.removeItem(Em)}catch{}Nb({rolePreferences:k},{action:"update_role_preferences",metadata:{preferences:k}}),x()},C=(k,A)=>{S({...r,[k]:A})},z=k=>{l(k),x()},w=k=>{const A={...d,...k};p(A),Kv(k).then(O=>p(O)).catch(()=>p(d)),x()},D=k=>{const A=new Set(d.approval_required_risk_levels);A.has(k)?A.delete(k):A.add(k),w({approval_required_risk_levels:Array.from(A)})},N=(k,A)=>{const O=new Set(d[k]);O.has(A)?O.delete(A):O.add(A),w({[k]:Array.from(O)})};return s.jsx("div",{style:{padding:"14px 18px"},children:s.jsxs(gn,{children:[s.jsx(Nn,{title:"角色偏好",children:h&&s.jsx("span",{className:"de-card-meta-text",children:"已保存"})}),s.jsxs("div",{className:"de-card-body",children:[s.jsxs("section",{className:"de-settings-section",children:[s.jsx("h3",{className:"de-settings-heading",children:"数字员工角色"}),s.jsx("p",{className:"de-settings-desc",children:"选择日常协作身份,数字员工会按你的岗位重点调整提醒和汇总口径。"}),s.jsx("div",{className:"de-role-grid",children:JA.map(k=>s.jsxs("button",{className:`de-role-card ${e===k?"active":""}`,onClick:()=>z(k),children:[s.jsx("span",{className:"de-role-label",children:jm(Wr[k].labelKey)}),s.jsxs("span",{className:"de-role-density",children:[FA[Wr[k].density]??"均衡","视图"]})]},k))})]}),s.jsxs("section",{className:"de-settings-section",children:[s.jsx("h3",{className:"de-settings-heading",children:"工作偏好"}),s.jsxs("div",{style:Wy,children:[s.jsxs("label",{style:ba,children:[s.jsx("span",{className:"de-role-label",children:"工作开始时间"}),s.jsx("input",{style:yi,type:"time",value:r.workStart,onChange:k=>C("workStart",k.target.value)})]}),s.jsxs("label",{style:ba,children:[s.jsx("span",{className:"de-role-label",children:"工作结束时间"}),s.jsx("input",{style:yi,type:"time",value:r.workEnd,onChange:k=>C("workEnd",k.target.value)})]}),s.jsxs("label",{style:ba,children:[s.jsx("span",{className:"de-role-label",children:"默认日报时间"}),s.jsx("input",{style:yi,type:"time",value:r.reportTime,onChange:k=>C("reportTime",k.target.value)})]}),s.jsxs("label",{style:ba,children:[s.jsx("span",{className:"de-role-label",children:"通知方式"}),s.jsxs("select",{style:yi,value:r.notification,onChange:k=>C("notification",k.target.value),children:[s.jsx("option",{value:"system",children:"系统通知"}),s.jsx("option",{value:"email",children:"邮件提醒"}),s.jsx("option",{value:"silent",children:"只在页面显示"})]})]}),s.jsxs("label",{style:ba,children:[s.jsx("span",{className:"de-role-label",children:"数字员工形象偏好"}),s.jsxs("select",{style:yi,value:r.avatarStyle,onChange:k=>C("avatarStyle",k.target.value),children:[s.jsx("option",{value:"professional",children:"专业稳重"}),s.jsx("option",{value:"friendly",children:"亲和协作"}),s.jsx("option",{value:"concise",children:"简洁高效"})]})]}),s.jsxs("label",{style:ba,children:[s.jsx("span",{className:"de-role-label",children:"任务提醒偏好"}),s.jsxs("select",{style:yi,value:r.reminderLevel,onChange:k=>C("reminderLevel",k.target.value),children:[s.jsx("option",{value:"important",children:"只提醒重要事项"}),s.jsx("option",{value:"all",children:"所有进展都提醒"}),s.jsx("option",{value:"quiet",children:"尽量少打扰"})]})]})]})]}),s.jsxs("section",{className:"de-settings-section",children:[s.jsx("h3",{className:"de-settings-heading",children:"风险审批策略"}),s.jsx("p",{className:"de-settings-desc",children:"调整客户端高风险动作在执行前是否需要人工审批,或直接拒绝;更完整的派发、路由和技能策略可在策略中心统一查看。"}),s.jsxs("div",{style:Wy,children:[s.jsxs("label",{style:ba,children:[s.jsx("span",{className:"de-role-label",children:"启用策略"}),s.jsxs("select",{style:yi,value:d.enabled?"enabled":"disabled",onChange:k=>w({enabled:k.target.value==="enabled"}),children:[s.jsx("option",{value:"enabled",children:"启用"}),s.jsx("option",{value:"disabled",children:"关闭"})]})]}),s.jsxs("div",{style:ba,children:[s.jsx("span",{className:"de-role-label",children:"按风险等级审批"}),PA.map(k=>s.jsxs("label",{style:{display:"flex",alignItems:"center",gap:8},children:[s.jsx("input",{type:"checkbox",checked:d.approval_required_risk_levels.includes(k.id),onChange:()=>D(k.id)}),s.jsx("span",{children:k.label})]},k.id))]}),s.jsxs("div",{style:ba,children:[s.jsx("span",{className:"de-role-label",children:"指定动作需审批"}),Fy.map(k=>s.jsxs("label",{style:{display:"flex",alignItems:"center",gap:8},children:[s.jsx("input",{type:"checkbox",checked:d.approval_required_actions.includes(k.id),onChange:()=>N("approval_required_actions",k.id)}),s.jsx("span",{children:k.label})]},k.id))]}),s.jsxs("div",{style:ba,children:[s.jsx("span",{className:"de-role-label",children:"指定动作直接拒绝"}),Fy.map(k=>s.jsxs("label",{style:{display:"flex",alignItems:"center",gap:8},children:[s.jsx("input",{type:"checkbox",checked:d.auto_reject_actions.includes(k.id),onChange:()=>N("auto_reject_actions",k.id)}),s.jsx("span",{children:k.label})]},k.id))]})]})]}),s.jsxs("details",{className:"de-settings-section",style:{marginBottom:0},children:[s.jsx("summary",{className:"de-settings-heading",style:{cursor:"pointer"},children:"高级技术设置"}),s.jsxs("p",{className:"de-settings-desc",children:["默认隐藏,仅供技术人员排查使用。当前角色刷新阈值:",Math.round(a.staleDataThresholdMs/1e3)," 秒。"]})]})]})]})})}const _x=[{id:"home",label:"首页"},{id:"missions",label:"任务中心"},{id:"skills",label:"技能库"},{id:"reports",label:"日报"},{id:"business",label:"业务视图"},{id:"interventions",label:"介入台"},{id:"memory-governance",label:"记忆治理"},{id:"skill-audit",label:"技能审计"},{id:"ops-workbench",label:"处置台"},{id:"notification-workbench",label:"通知运营"},{id:"daily-report-workbench",label:"日报运营"},{id:"policy-center",label:"策略中心"},{id:"scheduler-workbench",label:"调度运营"},{id:"settings",label:"设置"}],nT="qimingclaw:digital-close",aT=[{id:"info",label:"消息"},{id:"warn",label:"提醒"},{id:"error",label:"异常"},{id:"action",label:"待处理"}],lT=[{id:"task_finished",label:"任务完成"},{id:"task_failed",label:"任务异常"},{id:"need_approval",label:"审批"},{id:"need_input",label:"输入"},{id:"task_progress",label:"进度"}],lm={enabled:!0,desktop_enabled:!0,muted_kinds:[],muted_levels:[],updated_at:null},hx="qimingclaw:digital-desktop-notified:v1",iT=new Set(["action","warn","error"]);function gx(e){return!!(e&&_x.some(a=>a.id===e))}function sT(e){const a=e.split("/").filter(Boolean),l=a.length>0?a[a.length-1]:null;return gx(l)?l:null}function eb(e,a){const l=new URLSearchParams(a),r=l.get("tab");return{tab:gx(r)?r:sT(e)??"home",date:l.get("date"),missionId:l.get("mission"),taskId:l.get("task"),skillId:l.get("skill"),reportSection:l.get("section"),businessKind:l.get("kind"),interventionKind:l.get("kind"),memoryQuery:l.get("q"),auditSkillId:l.get("skill_id"),opsKind:l.get("kind"),notificationKind:l.get("kind"),entityId:l.get("entity")}}function rT({target:e,onNavigate:a}){switch(e.tab){case"home":return s.jsx(T2,{onNavigate:a});case"missions":return s.jsx(hE,{focusMissionId:e.missionId,focusTaskId:e.taskId,focusDate:e.date});case"skills":return s.jsx(CE,{focusSkillId:e.skillId,onNavigate:a});case"reports":return s.jsx(BE,{focusSection:e.reportSection});case"business":return s.jsx(FE,{initialKind:e.businessKind,focusEntityId:e.entityId});case"interventions":return s.jsx(sA,{initialKind:e.interventionKind,focusEntityId:e.entityId});case"memory-governance":return s.jsx(fA,{initialQuery:e.memoryQuery,focusEntityId:e.entityId});case"skill-audit":return s.jsx(bA,{focusSkillId:e.auditSkillId||e.skillId});case"ops-workbench":return s.jsx(CA,{initialKind:e.opsKind,focusEntityId:e.entityId});case"notification-workbench":return s.jsx($A,{initialKind:e.notificationKind,focusEntityId:e.entityId});case"daily-report-workbench":return s.jsx(BA,{focusEntityId:e.entityId});case"policy-center":return s.jsx(GA,{});case"scheduler-workbench":return s.jsx(ZA,{});case"settings":return s.jsx(tT,{})}}function cT(){if(window.parent&&window.parent!==window){const e=window.location.origin==="null"?"*":window.location.origin;window.parent.postMessage({type:nT},e);return}window.close()}function oT(e){return e==="action"?"待处理":e==="error"?"异常":e==="warn"?"提醒":"消息"}function dT(e){return e==="resolved"?"已解决":e==="dismissed"?"已忽略":e==="read"?"已读":"未读"}function uT(e){const a=new Date(e);return Number.isNaN(a.getTime())?e:new Intl.DateTimeFormat("zh-CN",{hour:"2-digit",minute:"2-digit"}).format(a)}function Am(e){return e?e==="notification_unavailable"?"系统桌面通知不可用或未授权":e==="notification_settings_unavailable"?"当前平台无法自动打开系统通知设置":e==="qimingclaw_bridge_unavailable"?"客户端通知桥接尚不可用":e:null}function tb(e){return Am(e.reason)??e.error??"通知未能发送"}function fT(){try{const e=window.localStorage.getItem(hx),a=e?JSON.parse(e):[];return new Set(Array.isArray(a)?a.filter(l=>typeof l=="string"):[])}catch{return new Set}}function mT(e){try{window.localStorage.setItem(hx,JSON.stringify(Array.from(e).slice(-300)))}catch{}}function pT(e,a){return!a.enabled||!a.desktop_enabled||e.status!=="unread"||!iT.has(e.level)||a.muted_levels.includes(e.level)?!1:!a.muted_kinds.includes(e.kind)}async function _T(e,a){const l=fT(),r=e.filter(d=>pT(d,a)&&!l.has(d.notification_id));return r.length===0?null:(r.forEach(d=>l.add(d.notification_id)),mT(l),(await Promise.all(r.slice(0,3).map(d=>Uv({notification_id:d.notification_id,title:d.title,body:d.body,level:d.level,kind:d.kind,status:d.status}).catch(p=>({ok:!1,shown:!1,error:p instanceof Error?p.message:String(p)}))))).find(d=>d.ok===!1||d.shown!==!0)??null)}function hT(){const e=ia(),a=Dm(),[l,r]=v.useState(()=>eb(e.pathname,e.search)),[o,d]=v.useState(!1),[p,h]=v.useState([]),[_,g]=v.useState(0),[x,S]=v.useState(!1),[C,z]=v.useState(!1),[w,D]=v.useState(!1),[N,k]=v.useState(lm),[A,O]=v.useState(null),[te,I]=v.useState(!1),[ie,Z]=v.useState(!1),[K,pe]=v.useState(!1),[P,q]=v.useState(null),[ce,R]=v.useState({}),M=v.useCallback(async()=>{I(!0);try{O(await eN())}catch(V){O({supported:!1,platform:"unknown",can_open_settings:!1,reason:V instanceof Error?V.message:String(V)})}finally{I(!1)}},[]),ne=v.useCallback(async()=>{S(!0);try{const[V,Ce,yt]=await Promise.all([ZC("all"),JC(),FC().catch(()=>lm)]);h(V),g(Ce),k(yt),_T(V,yt).then(He=>{He&&q({tone:"warning",message:"自动桌面通知发送失败",detail:tb(He)})})}catch{h([]),g(0),k(lm)}finally{S(!1)}},[]);v.useEffect(()=>{r(eb(e.pathname,e.search))},[e.pathname,e.search]),v.useEffect(()=>{ne()},[ne]),v.useEffect(()=>{w&&M()},[w,M]);const B=v.useCallback(V=>{r(V);const Ce=new URLSearchParams;V.tab!=="home"&&Ce.set("tab",V.tab),V.date&&Ce.set("date",V.date),V.missionId&&Ce.set("mission",V.missionId),V.taskId&&Ce.set("task",V.taskId),V.skillId&&Ce.set("skill",V.skillId),V.reportSection&&Ce.set("section",V.reportSection),V.businessKind&&Ce.set("kind",V.businessKind),V.interventionKind&&Ce.set("kind",V.interventionKind),V.memoryQuery&&Ce.set("q",V.memoryQuery),V.auditSkillId&&Ce.set("skill_id",V.auditSkillId),V.opsKind&&Ce.set("kind",V.opsKind),V.notificationKind&&Ce.set("kind",V.notificationKind),V.entityId&&Ce.set("entity",V.entityId),a({pathname:e.pathname,search:Ce.toString()?`?${Ce.toString()}`:""},{replace:!1})},[e.pathname,a]),U=v.useCallback(async V=>{await cN(V),await ne()},[ne]),le=v.useCallback(async V=>{await oN(V),await ne()},[ne]),de=v.useCallback(async V=>{const Ce=(ce[V]??"").trim();Ce&&(await Vv(V,Ce),R(yt=>({...yt,[V]:""})),await ne())},[ne,ce]),Te=v.useCallback(async()=>{z(!0);try{await WC()}finally{z(!1),await ne()}},[ne]),E=v.useCallback(async V=>{const Ce=await PC(V);k(Ce),await ne()},[ne]),J=v.useCallback(V=>{const Ce=new Set(N.muted_levels);Ce.has(V)?Ce.delete(V):Ce.add(V),E({muted_levels:Array.from(Ce)})},[N.muted_levels,E]),se=v.useCallback(V=>{const Ce=new Set(N.muted_kinds);Ce.has(V)?Ce.delete(V):Ce.add(V),E({muted_kinds:Array.from(Ce)})},[N.muted_kinds,E]),ue=v.useCallback(async()=>{Z(!0);try{const V=await Uv({notification_id:`desktop-notification-test-${Date.now()}`,title:"数字员工桌面通知测试",body:"如果看到这条通知,系统桌面通知入口已可用。",level:"info",kind:"task_progress",status:"unread"});q(V.ok!==!1&&V.shown===!0?{tone:"success",message:"测试桌面通知已发送",detail:null}:{tone:"warning",message:"测试桌面通知发送失败",detail:tb(V)}),await M()}catch(V){q({tone:"warning",message:"测试桌面通知发送失败",detail:V instanceof Error?V.message:String(V)})}finally{Z(!1)}},[M]),ve=v.useCallback(async()=>{pe(!0);try{const V=await tN();q(V.success?{tone:"success",message:"已打开系统设置",detail:null}:{tone:"warning",message:"无法打开系统设置",detail:Am(V.reason)??V.error??"当前平台不支持自动打开"}),await M()}catch(V){q({tone:"warning",message:"无法打开系统设置",detail:V instanceof Error?V.message:String(V)})}finally{pe(!1)}},[M]),Ee=(P==null?void 0:P.tone)==="warning"||(A==null?void 0:A.supported)===!1?"warning":"success",ae=(P==null?void 0:P.message)??(te?"正在检查桌面通知":(A==null?void 0:A.supported)===!1?"系统桌面通知不可用":"系统桌面通知可用"),he=(P==null?void 0:P.detail)??Am(A==null?void 0:A.reason)??(A!=null&&A.platform?`平台${A.platform}`:null),Ie=(A==null?void 0:A.can_open_settings)===!0||Ee==="warning";return s.jsx(sj,{children:s.jsxs("div",{className:"de-shell",children:[s.jsx("header",{className:"de-header",children:s.jsxs("div",{className:"de-header-content",children:[s.jsxs("div",{className:"de-header-left",children:[s.jsx("div",{className:"de-header-accent-bar"}),s.jsx("h1",{className:"de-header-title",children:"智能数字人系统"})]}),s.jsx("div",{className:"de-header-center",children:_x.map(V=>s.jsx("button",{className:`de-nav-btn ${l.tab===V.id?"active":""}`,onClick:()=>B({tab:V.id}),children:s.jsx("span",{children:V.label})},V.id))}),s.jsxs("div",{className:"de-header-right",children:[s.jsx("span",{className:"de-header-welcome",children:"欢迎您,"}),s.jsx("span",{className:"de-header-username",children:"王琦"}),s.jsx("button",{type:"button",className:"de-header-icon",title:"消息",children:s.jsx(PS,{size:16})}),s.jsxs("div",{className:"de-notification-anchor",children:[s.jsxs("button",{type:"button",className:`de-header-icon ${o?"active":""}`,title:"通知",onClick:()=>{d(V=>!V),ne()},children:[s.jsx(YS,{size:16}),_>0&&s.jsx("span",{className:"de-notification-count",children:_>99?"99+":_})]}),o&&s.jsxs("div",{className:"de-notification-popover",children:[s.jsxs("div",{className:"de-notification-head",children:[s.jsxs("div",{className:"de-notification-head-title",children:[s.jsx("strong",{children:"通知"}),s.jsx("span",{children:_>0?`${_} 条未读`:"暂无未读"})]}),s.jsxs("div",{className:"de-notification-head-actions",children:[s.jsx("button",{type:"button",className:`de-header-icon de-notification-close ${C?"active":""}`,title:"同步通知",onClick:()=>{Te()},disabled:C,children:s.jsx(ln,{size:14})}),s.jsx("button",{type:"button",className:`de-header-icon de-notification-close ${w?"active":""}`,title:"通知设置",onClick:()=>D(V=>!V),children:s.jsx(tj,{size:14})}),s.jsx("button",{type:"button",className:"de-header-icon de-notification-close",title:"关闭",onClick:()=>d(!1),children:s.jsx(ka,{size:14})})]})]}),w&&s.jsxs("div",{className:"de-notification-preferences",children:[s.jsxs("label",{className:"de-notification-switch",children:[s.jsx("input",{type:"checkbox",checked:N.enabled,onChange:V=>{E({enabled:V.target.checked})}}),s.jsx("span",{children:"接收通知"})]}),s.jsxs("label",{className:"de-notification-switch",children:[s.jsx("input",{type:"checkbox",checked:N.desktop_enabled,onChange:V=>{E({desktop_enabled:V.target.checked})}}),s.jsx("span",{children:"桌面通知"})]}),s.jsxs("div",{className:`de-notification-desktop-status de-notification-desktop-status--${Ee}`,children:[s.jsxs("div",{className:"de-notification-desktop-copy",children:[s.jsx("span",{children:"桌面通知状态"}),s.jsx("strong",{children:ae}),he&&s.jsx("small",{children:he})]}),s.jsxs("div",{className:"de-notification-desktop-actions",children:[s.jsxs("button",{type:"button",className:"de-notification-desktop-btn",title:"测试桌面通知",onClick:()=>{ue()},disabled:ie,children:[s.jsx(GS,{size:13}),s.jsx("span",{children:"测试桌面通知"})]}),Ie&&s.jsxs("button",{type:"button",className:"de-notification-desktop-btn",title:"打开系统设置",onClick:()=>{ve()},disabled:K,children:[s.jsx(VS,{size:13}),s.jsx("span",{children:"打开系统设置"})]})]})]}),s.jsxs("div",{className:"de-notification-preference-group",children:[s.jsx("span",{children:"静音等级"}),s.jsx("div",{className:"de-notification-segment-row",children:aT.map(V=>s.jsx("button",{type:"button",className:N.muted_levels.includes(V.id)?"active":"",title:`${V.label}静音`,onClick:()=>J(V.id),children:V.label},V.id))})]}),s.jsxs("div",{className:"de-notification-preference-group",children:[s.jsx("span",{children:"静音类型"}),s.jsx("div",{className:"de-notification-toggle-grid",children:lT.map(V=>s.jsxs("label",{children:[s.jsx("input",{type:"checkbox",checked:N.muted_kinds.includes(V.id),onChange:()=>se(V.id)}),s.jsx("span",{children:V.label})]},V.id))})]})]}),s.jsxs("div",{className:"de-notification-list",children:[x&&s.jsx("div",{className:"de-notification-empty",children:"加载中"}),!x&&p.length===0&&s.jsx("div",{className:"de-notification-empty",children:"暂无通知"}),!x&&p.map(V=>s.jsxs("article",{className:`de-notification-item de-notification-item--${V.level}`,children:[s.jsxs("div",{className:"de-notification-item-head",children:[s.jsx("span",{className:"de-notification-level",children:oT(V.level)}),s.jsx("span",{className:"de-notification-time",children:uT(V.created_at)})]}),s.jsxs("div",{className:"de-notification-title-row",children:[s.jsx("h3",{children:V.title}),s.jsx("span",{children:dT(V.status)})]}),s.jsx("p",{children:V.body}),V.reply&&s.jsx("div",{className:"de-notification-reply",children:V.reply}),V.status!=="resolved"&&V.status!=="dismissed"&&s.jsxs("div",{className:"de-notification-actions",children:[V.status==="unread"&&s.jsx("button",{type:"button",className:"de-notification-icon-btn",title:"标记已读",onClick:()=>void U(V.notification_id),children:s.jsx(KS,{size:14})}),s.jsx("button",{type:"button",className:"de-notification-icon-btn",title:"忽略",onClick:()=>void le(V.notification_id),children:s.jsx(ka,{size:14})})]}),V.kind==="need_input"&&V.status!=="dismissed"&&s.jsxs("div",{className:"de-notification-reply-row",children:[s.jsx("input",{value:ce[V.notification_id]??"",onChange:Ce=>R(yt=>({...yt,[V.notification_id]:Ce.target.value}))}),s.jsx("button",{type:"button",className:"de-notification-icon-btn",title:"回复",onClick:()=>void de(V.notification_id),children:s.jsx(Qo,{size:14})})]})]},V.notification_id))]})]})]}),s.jsx("button",{type:"button",className:"de-header-icon de-header-close",title:"关闭",onClick:cT,children:s.jsx(ka,{size:17})})]})]})}),s.jsx("div",{className:"de-shell-body",children:s.jsx(rT,{target:l,onNavigate:B})})]})})}function gT(){return s.jsx(AS,{children:s.jsxs(iS,{children:[s.jsx(sm,{path:"/digital/*",element:s.jsx(hT,{})}),s.jsx(sm,{path:"*",element:s.jsx(aS,{to:"/digital",replace:!0})})]})})}s0.createRoot(document.getElementById("root")).render(s.jsx(Wk.StrictMode,{children:s.jsx(gT,{})}));