From a0402522dae0b4157e46d55d642444bc66042f87 Mon Sep 17 00:00:00 2001 From: LZH-YS1998 Date: Thu, 9 Jul 2026 20:46:14 +0800 Subject: [PATCH] fix(office-ui): stop progress-row flicker and surface native role replies end to end MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two user-visible defects in company mode, root-caused via project 6666/8888 DB forensics: Progress-row flicker (thinking preview appearing/disappearing): progress entries were broadcast to clients before reaching the persistence buffer, so a tool_call-triggered session_detail snapshot rebuilt from the DB erased freshly streamed entries from the live log. Buffer now fills before the broadcast and session_detail flushes it before reading. Native role transcripts incomplete (thinking only at start, no narration, no final summary โ€” external agents unaffected): - thinking deltas shared one stream id per conversation turn while seq reset per iteration, collapsing all iterations into one entry and silently dropping live thinking from iteration 2 on; now keyed per iteration like assistant deltas - assistant_delta events were mapped to None; company mode now surfaces them as streaming 'assistant' progress entries (rendered as Reply cards, merged like thinking, excluded from inline chat rows) - thinking was persisted one row per token, flooding the 1000-entry cap and evicting interleaved tool history; append_progress now folds streaming deltas per (type, turn, stream) with seq dedup - the terminal company turn was hidden at summary detail and, worse, its id-keyed backfill merge kept the first-inserted intermediate content, so the final reply never reached any channel; terminal turns are now flagged company_final_turn, visible at summary detail, and carry their own ui_message_id so they insert as fresh rows - appendProgressEntry applied its seq guard against unrelated entries when the stream key was absent from the log, killing the first delta of any fresh stream; the guard now only applies within the same stream Co-Authored-By: Claude Fable 5 --- opc/layer3_agent/runtime_v2/runtime.py | 24 ++- opc/plugins/office_ui/chat_store.py | 54 ++++- .../frontend_dist/assets/index-D7a_jL_7.js | 155 ++++++++++++++ .../frontend_dist/assets/index-cOg8E2rt.js | 155 -------------- .../office_ui/frontend_dist/index.html | 2 +- .../frontend_src/chat/AgentProgressBlock.tsx | 3 +- .../frontend_src/lib/progressLog.test.ts | 35 ++++ .../office_ui/frontend_src/lib/progressLog.ts | 13 +- .../office_ui/frontend_src/types/kanban.ts | 190 +++++++++--------- opc/plugins/office_ui/snapshot_builder.py | 11 +- opc/plugins/office_ui/ws_handler.py | 42 +++- tests/test_native_runtime_v2.py | 24 ++- tests/test_ws_handler_progress_parsing.py | 27 ++- 13 files changed, 461 insertions(+), 274 deletions(-) create mode 100644 opc/plugins/office_ui/frontend_dist/assets/index-D7a_jL_7.js delete mode 100644 opc/plugins/office_ui/frontend_dist/assets/index-cOg8E2rt.js diff --git a/opc/layer3_agent/runtime_v2/runtime.py b/opc/layer3_agent/runtime_v2/runtime.py index ee21531..cc11e76 100644 --- a/opc/layer3_agent/runtime_v2/runtime.py +++ b/opc/layer3_agent/runtime_v2/runtime.py @@ -435,8 +435,13 @@ class NativeRuntimeV2: "canonical_turn_id": conversation_turn_id, "conversation_turn_id": conversation_turn_id, "execution_turn_id": execution_turn_id, - "item_id": f"{turn_id}:thinking", - "stream_id": f"{turn_id}:thinking", + # Keyed per iteration (like assistant_delta): + # thinking_delta_seq resets every iteration, so a + # turn-scoped stream id makes downstream seq guards + # drop iteration>=2 deltas and collapses all + # iterations into one entry (no tool interleaving). + "item_id": f"{execution_turn_id}:thinking", + "stream_id": f"{execution_turn_id}:thinking", "seq": thinking_delta_seq, "text": thinking_text, }, @@ -2797,6 +2802,11 @@ class NativeRuntimeV2: if is_company_mode: metadata["execution_mode"] = "company_mode" metadata["company_runtime_raw_turn"] = True + if not tool_calls: + # Terminal iteration of the company turn โ€” this is the role's + # final reply. Marked so the UI can show it at summary detail + # even though the kind is otherwise full-detail-only. + metadata["company_final_turn"] = True if task.assigned_to: metadata["role_id"] = str(task.assigned_to) else: @@ -2808,7 +2818,15 @@ class NativeRuntimeV2: if message_turn_id and message_turn_id != canonical_turn_id: metadata["execution_turn_id"] = message_turn_id if is_company_mode: - metadata["ui_message_id"] = f"runtime-v2-company-assistant:{canonical_turn_id}" + # Tool-calling iterations of a company conversation turn share + # one UI row; the terminal reply gets its own id. The id-keyed + # backfill merge keeps the first-inserted content for same-kind + # candidates, so reusing the shared id freezes the row at + # iteration 1 and swallows the final reply entirely. + if metadata.get("company_final_turn"): + metadata["ui_message_id"] = f"runtime-v2-company-assistant-final:{canonical_turn_id}" + else: + metadata["ui_message_id"] = f"runtime-v2-company-assistant:{canonical_turn_id}" elif is_intermediate_tool_turn: metadata["ui_message_id"] = f"runtime-v2-intermediate-assistant:{message_turn_id or canonical_turn_id}" else: diff --git a/opc/plugins/office_ui/chat_store.py b/opc/plugins/office_ui/chat_store.py index 1dfea8a..85b7af7 100644 --- a/opc/plugins/office_ui/chat_store.py +++ b/opc/plugins/office_ui/chat_store.py @@ -1599,6 +1599,58 @@ class ChatStore: # concern, swap this in-row JSON blob for a proper rolling table. _PROGRESS_MAX_ENTRIES = 1000 + # Streaming text types arrive as one entry per token-sized delta. Without + # folding, thinking floods the entry cap (forensics: 929/1000 entries were + # single-token thinking rows) and evicts the interleaved tool history. + _PROGRESS_STREAM_MERGE_TYPES = frozenset({"thinking", "assistant"}) + + @staticmethod + def _progress_stream_key(entry: dict[str, Any]) -> tuple[str, str, str] | None: + entry_type = str(entry.get("type", "") or "") + if entry_type not in ChatStore._PROGRESS_STREAM_MERGE_TYPES: + return None + item_id = str(entry.get("item_id") or entry.get("stream_id") or "").strip() + if not item_id: + return None + return (entry_type, str(entry.get("turn_id", "") or ""), item_id) + + @classmethod + def _fold_progress_entries( + cls, + existing: list[dict[str, Any]], + new_entries: list[dict[str, Any]], + ) -> list[dict[str, Any]]: + """Fold streaming deltas into their stream's entry (mirrors the + frontend ``appendProgressEntry`` merge so persisted state equals what + the live client built).""" + merged = list(existing) + index_by_key: dict[tuple[str, str, str], int] = {} + for i, entry in enumerate(merged): + key = cls._progress_stream_key(entry) + if key is not None: + index_by_key[key] = i + for entry in new_entries: + key = cls._progress_stream_key(entry) + if key is None or key not in index_by_key: + if key is not None: + index_by_key[key] = len(merged) + merged.append(entry) + continue + target = merged[index_by_key[key]] + last_seq = target.get("seq") + new_seq = entry.get("seq") + if isinstance(last_seq, (int, float)) and isinstance(new_seq, (int, float)) and new_seq <= last_seq: + continue + # Deltas are disjoint token fragments โ€” concatenate raw, no strip. + detail = f"{target.get('detail') or ''}{entry.get('detail') or ''}" + preview = " ".join(detail.split()) + folded = dict(target) + folded.update(entry) + folded["detail"] = detail + folded["summary"] = preview[:120].rstrip() + ("..." if len(preview) > 120 else "") + merged[index_by_key[key]] = folded + return merged + async def append_progress( self, task_id: str, @@ -1611,7 +1663,7 @@ class ChatStore: the first call creates the row and subsequent calls update it. """ existing = await self.get_progress(task_id, project_id=project_id) - merged = (existing + new_entries)[-self._PROGRESS_MAX_ENTRIES:] + merged = self._fold_progress_entries(existing, new_entries)[-self._PROGRESS_MAX_ENTRIES:] async def _write() -> None: await self._db.execute( diff --git a/opc/plugins/office_ui/frontend_dist/assets/index-D7a_jL_7.js b/opc/plugins/office_ui/frontend_dist/assets/index-D7a_jL_7.js new file mode 100644 index 0000000..843a3a1 --- /dev/null +++ b/opc/plugins/office_ui/frontend_dist/assets/index-D7a_jL_7.js @@ -0,0 +1,155 @@ +import{g as ta,r as A3}from"./phaser-DFK5Ua9d.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();var rg={exports:{}},Cc={};var pk;function M3(){if(pk)return Cc;pk=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,i,o){var a=null;if(o!==void 0&&(a=""+o),i.key!==void 0&&(a=""+i.key),"key"in i){o={};for(var u in i)u!=="key"&&(o[u]=i[u])}else o=i;return i=o.ref,{$$typeof:e,type:r,key:a,ref:i!==void 0?i:null,props:o}}return Cc.Fragment=t,Cc.jsx=n,Cc.jsxs=n,Cc}var gk;function D3(){return gk||(gk=1,rg.exports=M3()),rg.exports}var c=D3(),ig={exports:{}},_t={};var xk;function O3(){if(xk)return _t;xk=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),o=Symbol.for("react.consumer"),a=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),m=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),h=Symbol.for("react.activity"),g=Symbol.iterator;function y(G){return G===null||typeof G!="object"?null:(G=g&&G[g]||G["@@iterator"],typeof G=="function"?G:null)}var v={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},k=Object.assign,S={};function _(G,J,P){this.props=G,this.context=J,this.refs=S,this.updater=P||v}_.prototype.isReactComponent={},_.prototype.setState=function(G,J){if(typeof G!="object"&&typeof G!="function"&&G!=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,G,J,"setState")},_.prototype.forceUpdate=function(G){this.updater.enqueueForceUpdate(this,G,"forceUpdate")};function w(){}w.prototype=_.prototype;function C(G,J,P){this.props=G,this.context=J,this.refs=S,this.updater=P||v}var N=C.prototype=new w;N.constructor=C,k(N,_.prototype),N.isPureReactComponent=!0;var O=Array.isArray;function I(){}var D={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function L(G,J,P){var X=P.ref;return{$$typeof:e,type:G,key:J,ref:X!==void 0?X:null,props:P}}function A(G,J){return L(G.type,J,G.props)}function M(G){return typeof G=="object"&&G!==null&&G.$$typeof===e}function $(G){var J={"=":"=0",":":"=2"};return"$"+G.replace(/[=:]/g,function(P){return J[P]})}var W=/\/+/g;function B(G,J){return typeof G=="object"&&G!==null&&G.key!=null?$(""+G.key):J.toString(36)}function U(G){switch(G.status){case"fulfilled":return G.value;case"rejected":throw G.reason;default:switch(typeof G.status=="string"?G.then(I,I):(G.status="pending",G.then(function(J){G.status==="pending"&&(G.status="fulfilled",G.value=J)},function(J){G.status==="pending"&&(G.status="rejected",G.reason=J)})),G.status){case"fulfilled":return G.value;case"rejected":throw G.reason}}throw G}function H(G,J,P,X,ee){var te=typeof G;(te==="undefined"||te==="boolean")&&(G=null);var re=!1;if(G===null)re=!0;else switch(te){case"bigint":case"string":case"number":re=!0;break;case"object":switch(G.$$typeof){case e:case t:re=!0;break;case p:return re=G._init,H(re(G._payload),J,P,X,ee)}}if(re)return ee=ee(G),re=X===""?"."+B(G,0):X,O(ee)?(P="",re!=null&&(P=re.replace(W,"$&/")+"/"),H(ee,J,P,"",function(se){return se})):ee!=null&&(M(ee)&&(ee=A(ee,P+(ee.key==null||G&&G.key===ee.key?"":(""+ee.key).replace(W,"$&/")+"/")+re)),J.push(ee)),1;re=0;var oe=X===""?".":X+":";if(O(G))for(var de=0;de>>1,q=H[Q];if(0>>1;Qi(P,Y))Xi(ee,P)?(H[Q]=ee,H[X]=Y,Q=X):(H[Q]=P,H[J]=Y,Q=J);else if(Xi(ee,Y))H[Q]=ee,H[X]=Y,Q=X;else break e}}return V}function i(H,V){var Y=H.sortIndex-V.sortIndex;return Y!==0?Y:H.id-V.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var a=Date,u=a.now();e.unstable_now=function(){return a.now()-u}}var d=[],m=[],p=1,h=null,g=3,y=!1,v=!1,k=!1,S=!1,_=typeof setTimeout=="function"?setTimeout:null,w=typeof clearTimeout=="function"?clearTimeout:null,C=typeof setImmediate<"u"?setImmediate:null;function N(H){for(var V=n(m);V!==null;){if(V.callback===null)r(m);else if(V.startTime<=H)r(m),V.sortIndex=V.expirationTime,t(d,V);else break;V=n(m)}}function O(H){if(k=!1,N(H),!v)if(n(d)!==null)v=!0,I||(I=!0,$());else{var V=n(m);V!==null&&U(O,V.startTime-H)}}var I=!1,D=-1,T=5,L=-1;function A(){return S?!0:!(e.unstable_now()-LH&&A());){var Q=h.callback;if(typeof Q=="function"){h.callback=null,g=h.priorityLevel;var q=Q(h.expirationTime<=H);if(H=e.unstable_now(),typeof q=="function"){h.callback=q,N(H),V=!0;break t}h===n(d)&&r(d),N(H)}else r(d);h=n(d)}if(h!==null)V=!0;else{var G=n(m);G!==null&&U(O,G.startTime-H),V=!1}}break e}finally{h=null,g=Y,y=!1}V=void 0}}finally{V?$():I=!1}}}var $;if(typeof C=="function")$=function(){C(M)};else if(typeof MessageChannel<"u"){var W=new MessageChannel,B=W.port2;W.port1.onmessage=M,$=function(){B.postMessage(null)}}else $=function(){_(M,0)};function U(H,V){D=_(function(){H(e.unstable_now())},V)}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(H){H.callback=null},e.unstable_forceFrameRate=function(H){0>H||125Q?(H.sortIndex=Y,t(m,H),n(d)===null&&H===n(m)&&(k?(w(D),D=-1):k=!0,U(O,Y-Q))):(H.sortIndex=q,t(d,H),v||y||(v=!0,I||(I=!0,$()))),H},e.unstable_shouldYield=A,e.unstable_wrapCallback=function(H){var V=g;return function(){var Y=g;g=V;try{return H.apply(this,arguments)}finally{g=Y}}}})(ag)),ag}var bk;function z3(){return bk||(bk=1,og.exports=L3()),og.exports}var lg={exports:{}},_r={};var _k;function P3(){if(_k)return _r;_k=1;var e=El();function t(d){var m="https://react.dev/errors/"+d;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),lg.exports=P3(),lg.exports}var Sk;function B3(){if(Sk)return jc;Sk=1;var e=z3(),t=El(),n=Dj();function r(s){var l="https://react.dev/errors/"+s;if(1q||(s.current=Q[q],Q[q]=null,q--)}function P(s,l){q++,Q[q]=s.current,s.current=l}var X=G(null),ee=G(null),te=G(null),re=G(null);function oe(s,l){switch(P(te,l),P(ee,s),P(X,null),l.nodeType){case 9:case 11:s=(s=l.documentElement)&&(s=s.namespaceURI)?P_(s):0;break;default:if(s=l.tagName,l=l.namespaceURI)l=P_(l),s=B_(l,s);else switch(s){case"svg":s=1;break;case"math":s=2;break;default:s=0}}J(X),P(X,s)}function de(){J(X),J(ee),J(te)}function se(s){s.memoizedState!==null&&P(re,s);var l=X.current,f=B_(l,s.type);l!==f&&(P(ee,s),P(X,f))}function Ee(s){ee.current===s&&(J(X),J(ee)),re.current===s&&(J(re),_c._currentValue=Y)}var we,Ce;function Be(s){if(we===void 0)try{throw Error()}catch(f){var l=f.stack.trim().match(/\n( *(at )?)/);we=l&&l[1]||"",Ce=-1)":-1b||ie[x]!==ge[b]){var _e=` +`+ie[x].replace(" at new "," at ");return s.displayName&&_e.includes("")&&(_e=_e.replace("",s.displayName)),_e}while(1<=x&&0<=b);break}}}finally{Ge=!1,Error.prepareStackTrace=f}return(f=s?s.displayName||s.name:"")?Be(f):""}function yt(s,l){switch(s.tag){case 26:case 27:case 5:return Be(s.type);case 16:return Be("Lazy");case 13:return s.child!==l&&l!==null?Be("Suspense Fallback"):Be("Suspense");case 19:return Be("SuspenseList");case 0:case 15:return Ye(s.type,!1);case 11:return Ye(s.type.render,!1);case 1:return Ye(s.type,!0);case 31:return Be("Activity");default:return""}}function qt(s){try{var l="",f=null;do l+=yt(s,f),f=s,s=s.return;while(s);return l}catch(x){return` +Error generating stack: `+x.message+` +`+x.stack}}var bt=Object.prototype.hasOwnProperty,vt=e.unstable_scheduleCallback,me=e.unstable_cancelCallback,Oe=e.unstable_shouldYield,rt=e.unstable_requestPaint,Qe=e.unstable_now,Je=e.unstable_getCurrentPriorityLevel,fe=e.unstable_ImmediatePriority,be=e.unstable_UserBlockingPriority,Me=e.unstable_NormalPriority,Fe=e.unstable_LowPriority,$e=e.unstable_IdlePriority,Wt=e.log,nn=e.unstable_setDisableYieldValue,ke=null,Te=null;function Pe(s){if(typeof Wt=="function"&&nn(s),Te&&typeof Te.setStrictMode=="function")try{Te.setStrictMode(ke,s)}catch{}}var Ve=Math.clz32?Math.clz32:Mn,qe=Math.log,et=Math.LN2;function Mn(s){return s>>>=0,s===0?32:31-(qe(s)/et|0)|0}var Tn=256,Dn=262144,yn=4194304;function Yt(s){var l=s&42;if(l!==0)return l;switch(s&-s){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 s&261888;case 262144:case 524288:case 1048576:case 2097152:return s&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return s&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return s}}function Jt(s,l,f){var x=s.pendingLanes;if(x===0)return 0;var b=0,E=s.suspendedLanes,F=s.pingedLanes;s=s.warmLanes;var K=x&134217727;return K!==0?(x=K&~E,x!==0?b=Yt(x):(F&=K,F!==0?b=Yt(F):f||(f=K&~s,f!==0&&(b=Yt(f))))):(K=x&~E,K!==0?b=Yt(K):F!==0?b=Yt(F):f||(f=x&~s,f!==0&&(b=Yt(f)))),b===0?0:l!==0&&l!==b&&(l&E)===0&&(E=b&-b,f=l&-l,E>=f||E===32&&(f&4194048)!==0)?l:b}function Et(s,l){return(s.pendingLanes&~(s.suspendedLanes&~s.pingedLanes)&l)===0}function wt(s,l){switch(s){case 1:case 2:case 4:case 8:case 64:return l+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 l+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 tt(){var s=yn;return yn<<=1,(yn&62914560)===0&&(yn=4194304),s}function it(s){for(var l=[],f=0;31>f;f++)l.push(s);return l}function rn(s,l){s.pendingLanes|=l,l!==268435456&&(s.suspendedLanes=0,s.pingedLanes=0,s.warmLanes=0)}function Xt(s,l,f,x,b,E){var F=s.pendingLanes;s.pendingLanes=f,s.suspendedLanes=0,s.pingedLanes=0,s.warmLanes=0,s.expiredLanes&=f,s.entangledLanes&=f,s.errorRecoveryDisabledLanes&=f,s.shellSuspendCounter=0;var K=s.entanglements,ie=s.expirationTimes,ge=s.hiddenUpdates;for(f=F&~f;0"u")return null;try{return s.activeElement||s.body}catch{return s.body}}var br=/[\n"\\]/g;function Cn(s){return s.replace(br,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function Hn(s,l,f,x,b,E,F,K){s.name="",F!=null&&typeof F!="function"&&typeof F!="symbol"&&typeof F!="boolean"?s.type=F:s.removeAttribute("type"),l!=null?F==="number"?(l===0&&s.value===""||s.value!=l)&&(s.value=""+ue(l)):s.value!==""+ue(l)&&(s.value=""+ue(l)):F!=="submit"&&F!=="reset"||s.removeAttribute("value"),l!=null?hn(s,F,ue(l)):f!=null?hn(s,F,ue(f)):x!=null&&s.removeAttribute("value"),b==null&&E!=null&&(s.defaultChecked=!!E),b!=null&&(s.checked=b&&typeof b!="function"&&typeof b!="symbol"),K!=null&&typeof K!="function"&&typeof K!="symbol"&&typeof K!="boolean"?s.name=""+ue(K):s.removeAttribute("name")}function Er(s,l,f,x,b,E,F,K){if(E!=null&&typeof E!="function"&&typeof E!="symbol"&&typeof E!="boolean"&&(s.type=E),l!=null||f!=null){if(!(E!=="submit"&&E!=="reset"||l!=null)){ft(s);return}f=f!=null?""+ue(f):"",l=l!=null?""+ue(l):f,K||l===s.value||(s.value=l),s.defaultValue=l}x=x??b,x=typeof x!="function"&&typeof x!="symbol"&&!!x,s.checked=K?s.checked:!!x,s.defaultChecked=!!x,F!=null&&typeof F!="function"&&typeof F!="symbol"&&typeof F!="boolean"&&(s.name=F),ft(s)}function hn(s,l,f){l==="number"&&An(s.ownerDocument)===s||s.defaultValue===""+f||(s.defaultValue=""+f)}function Mr(s,l,f,x){if(s=s.options,l){l={};for(var b=0;b"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ll=!1;if(Si)try{var rs={};Object.defineProperty(rs,"passive",{get:function(){Ll=!0}}),window.addEventListener("test",rs,rs),window.removeEventListener("test",rs,rs)}catch{Ll=!1}var ai=null,aa=null,vo=null;function zl(){if(vo)return vo;var s,l=aa,f=l.length,x,b="value"in ai?ai.value:ai.textContent,E=b.length;for(s=0;s=Fl),Gv=" ",qv=!1;function Wv(s,l){switch(s){case"keyup":return eA.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Yv(s){return s=s.detail,typeof s=="object"&&"data"in s?s.data:null}var fa=!1;function nA(s,l){switch(s){case"compositionend":return Yv(l);case"keypress":return l.which!==32?null:(qv=!0,Gv);case"textInput":return s=l.data,s===Gv&&qv?null:s;default:return null}}function rA(s,l){if(fa)return s==="compositionend"||!ch&&Wv(s,l)?(s=zl(),vo=aa=ai=null,fa=!1,s):null;switch(s){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1=l)return{node:f,offset:l-s};s=x}e:{for(;f;){if(f.nextSibling){f=f.nextSibling;break e}f=f.parentNode}f=void 0}f=nb(f)}}function ib(s,l){return s&&l?s===l?!0:s&&s.nodeType===3?!1:l&&l.nodeType===3?ib(s,l.parentNode):"contains"in s?s.contains(l):s.compareDocumentPosition?!!(s.compareDocumentPosition(l)&16):!1:!1}function sb(s){s=s!=null&&s.ownerDocument!=null&&s.ownerDocument.defaultView!=null?s.ownerDocument.defaultView:window;for(var l=An(s.document);l instanceof s.HTMLIFrameElement;){try{var f=typeof l.contentWindow.location.href=="string"}catch{f=!1}if(f)s=l.contentWindow;else break;l=An(s.document)}return l}function fh(s){var l=s&&s.nodeName&&s.nodeName.toLowerCase();return l&&(l==="input"&&(s.type==="text"||s.type==="search"||s.type==="tel"||s.type==="url"||s.type==="password")||l==="textarea"||s.contentEditable==="true")}var dA=Si&&"documentMode"in document&&11>=document.documentMode,ma=null,mh=null,ql=null,hh=!1;function ob(s,l,f){var x=f.window===f?f.document:f.nodeType===9?f:f.ownerDocument;hh||ma==null||ma!==An(x)||(x=ma,"selectionStart"in x&&fh(x)?x={start:x.selectionStart,end:x.selectionEnd}:(x=(x.ownerDocument&&x.ownerDocument.defaultView||window).getSelection(),x={anchorNode:x.anchorNode,anchorOffset:x.anchorOffset,focusNode:x.focusNode,focusOffset:x.focusOffset}),ql&&Gl(ql,x)||(ql=x,x=Dd(mh,"onSelect"),0>=F,b-=F,Pi=1<<32-Ve(l)+b|f<Ct?(zt=nt,nt=null):zt=nt.sibling;var Qt=xe(ce,nt,pe[Ct],Ne);if(Qt===null){nt===null&&(nt=zt);break}s&&nt&&Qt.alternate===null&&l(ce,nt),le=E(Qt,le,Ct),Zt===null?lt=Qt:Zt.sibling=Qt,Zt=Qt,nt=zt}if(Ct===pe.length)return f(ce,nt),$t&&as(ce,Ct),lt;if(nt===null){for(;CtCt?(zt=nt,nt=null):zt=nt.sibling;var ro=xe(ce,nt,Qt.value,Ne);if(ro===null){nt===null&&(nt=zt);break}s&&nt&&ro.alternate===null&&l(ce,nt),le=E(ro,le,Ct),Zt===null?lt=ro:Zt.sibling=ro,Zt=ro,nt=zt}if(Qt.done)return f(ce,nt),$t&&as(ce,Ct),lt;if(nt===null){for(;!Qt.done;Ct++,Qt=pe.next())Qt=Ie(ce,Qt.value,Ne),Qt!==null&&(le=E(Qt,le,Ct),Zt===null?lt=Qt:Zt.sibling=Qt,Zt=Qt);return $t&&as(ce,Ct),lt}for(nt=x(nt);!Qt.done;Ct++,Qt=pe.next())Qt=ye(nt,ce,Ct,Qt.value,Ne),Qt!==null&&(s&&Qt.alternate!==null&&nt.delete(Qt.key===null?Ct:Qt.key),le=E(Qt,le,Ct),Zt===null?lt=Qt:Zt.sibling=Qt,Zt=Qt);return s&&nt.forEach(function(R3){return l(ce,R3)}),$t&&as(ce,Ct),lt}function fn(ce,le,pe,Ne){if(typeof pe=="object"&&pe!==null&&pe.type===k&&pe.key===null&&(pe=pe.props.children),typeof pe=="object"&&pe!==null){switch(pe.$$typeof){case y:e:{for(var lt=pe.key;le!==null;){if(le.key===lt){if(lt=pe.type,lt===k){if(le.tag===7){f(ce,le.sibling),Ne=b(le,pe.props.children),Ne.return=ce,ce=Ne;break e}}else if(le.elementType===lt||typeof lt=="object"&<!==null&<.$$typeof===T&&To(lt)===le.type){f(ce,le.sibling),Ne=b(le,pe.props),Ql(Ne,pe),Ne.return=ce,ce=Ne;break e}f(ce,le);break}else l(ce,le);le=le.sibling}pe.type===k?(Ne=Co(pe.props.children,ce.mode,Ne,pe.key),Ne.return=ce,ce=Ne):(Ne=Zu(pe.type,pe.key,pe.props,null,ce.mode,Ne),Ql(Ne,pe),Ne.return=ce,ce=Ne)}return F(ce);case v:e:{for(lt=pe.key;le!==null;){if(le.key===lt)if(le.tag===4&&le.stateNode.containerInfo===pe.containerInfo&&le.stateNode.implementation===pe.implementation){f(ce,le.sibling),Ne=b(le,pe.children||[]),Ne.return=ce,ce=Ne;break e}else{f(ce,le);break}else l(ce,le);le=le.sibling}Ne=_h(pe,ce.mode,Ne),Ne.return=ce,ce=Ne}return F(ce);case T:return pe=To(pe),fn(ce,le,pe,Ne)}if(U(pe))return Ze(ce,le,pe,Ne);if($(pe)){if(lt=$(pe),typeof lt!="function")throw Error(r(150));return pe=lt.call(pe),dt(ce,le,pe,Ne)}if(typeof pe.then=="function")return fn(ce,le,id(pe),Ne);if(pe.$$typeof===C)return fn(ce,le,ed(ce,pe),Ne);sd(ce,pe)}return typeof pe=="string"&&pe!==""||typeof pe=="number"||typeof pe=="bigint"?(pe=""+pe,le!==null&&le.tag===6?(f(ce,le.sibling),Ne=b(le,pe),Ne.return=ce,ce=Ne):(f(ce,le),Ne=bh(pe,ce.mode,Ne),Ne.return=ce,ce=Ne),F(ce)):f(ce,le)}return function(ce,le,pe,Ne){try{Zl=0;var lt=fn(ce,le,pe,Ne);return wa=null,lt}catch(nt){if(nt===Sa||nt===nd)throw nt;var Zt=Ur(29,nt,null,ce.mode);return Zt.lanes=Ne,Zt.return=ce,Zt}}}var Ao=Ib(!0),Tb=Ib(!1),$s=!1;function Mh(s){s.updateQueue={baseState:s.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Dh(s,l){s=s.updateQueue,l.updateQueue===s&&(l.updateQueue={baseState:s.baseState,firstBaseUpdate:s.firstBaseUpdate,lastBaseUpdate:s.lastBaseUpdate,shared:s.shared,callbacks:null})}function Hs(s){return{lane:s,tag:0,payload:null,callback:null,next:null}}function Fs(s,l,f){var x=s.updateQueue;if(x===null)return null;if(x=x.shared,(en&2)!==0){var b=x.pending;return b===null?l.next=l:(l.next=b.next,b.next=l),x.pending=l,l=Ku(s),mb(s,null,f),l}return Xu(s,x,l,f),Ku(s)}function Jl(s,l,f){if(l=l.updateQueue,l!==null&&(l=l.shared,(f&4194048)!==0)){var x=l.lanes;x&=s.pendingLanes,f|=x,l.lanes=f,Ht(s,f)}}function Oh(s,l){var f=s.updateQueue,x=s.alternate;if(x!==null&&(x=x.updateQueue,f===x)){var b=null,E=null;if(f=f.firstBaseUpdate,f!==null){do{var F={lane:f.lane,tag:f.tag,payload:f.payload,callback:null,next:null};E===null?b=E=F:E=E.next=F,f=f.next}while(f!==null);E===null?b=E=l:E=E.next=l}else b=E=l;f={baseState:x.baseState,firstBaseUpdate:b,lastBaseUpdate:E,shared:x.shared,callbacks:x.callbacks},s.updateQueue=f;return}s=f.lastBaseUpdate,s===null?f.firstBaseUpdate=l:s.next=l,f.lastBaseUpdate=l}var Lh=!1;function ec(){if(Lh){var s=ka;if(s!==null)throw s}}function tc(s,l,f,x){Lh=!1;var b=s.updateQueue;$s=!1;var E=b.firstBaseUpdate,F=b.lastBaseUpdate,K=b.shared.pending;if(K!==null){b.shared.pending=null;var ie=K,ge=ie.next;ie.next=null,F===null?E=ge:F.next=ge,F=ie;var _e=s.alternate;_e!==null&&(_e=_e.updateQueue,K=_e.lastBaseUpdate,K!==F&&(K===null?_e.firstBaseUpdate=ge:K.next=ge,_e.lastBaseUpdate=ie))}if(E!==null){var Ie=b.baseState;F=0,_e=ge=ie=null,K=E;do{var xe=K.lane&-536870913,ye=xe!==K.lane;if(ye?(Lt&xe)===xe:(x&xe)===xe){xe!==0&&xe===_a&&(Lh=!0),_e!==null&&(_e=_e.next={lane:0,tag:K.tag,payload:K.payload,callback:null,next:null});e:{var Ze=s,dt=K;xe=l;var fn=f;switch(dt.tag){case 1:if(Ze=dt.payload,typeof Ze=="function"){Ie=Ze.call(fn,Ie,xe);break e}Ie=Ze;break e;case 3:Ze.flags=Ze.flags&-65537|128;case 0:if(Ze=dt.payload,xe=typeof Ze=="function"?Ze.call(fn,Ie,xe):Ze,xe==null)break e;Ie=h({},Ie,xe);break e;case 2:$s=!0}}xe=K.callback,xe!==null&&(s.flags|=64,ye&&(s.flags|=8192),ye=b.callbacks,ye===null?b.callbacks=[xe]:ye.push(xe))}else ye={lane:xe,tag:K.tag,payload:K.payload,callback:K.callback,next:null},_e===null?(ge=_e=ye,ie=Ie):_e=_e.next=ye,F|=xe;if(K=K.next,K===null){if(K=b.shared.pending,K===null)break;ye=K,K=ye.next,ye.next=null,b.lastBaseUpdate=ye,b.shared.pending=null}}while(!0);_e===null&&(ie=Ie),b.baseState=ie,b.firstBaseUpdate=ge,b.lastBaseUpdate=_e,E===null&&(b.shared.lanes=0),Ws|=F,s.lanes=F,s.memoizedState=Ie}}function Rb(s,l){if(typeof s!="function")throw Error(r(191,s));s.call(l)}function Ab(s,l){var f=s.callbacks;if(f!==null)for(s.callbacks=null,s=0;sE?E:8;var F=H.T,K={};H.T=K,tp(s,!1,l,f);try{var ie=b(),ge=H.S;if(ge!==null&&ge(K,ie),ie!==null&&typeof ie=="object"&&typeof ie.then=="function"){var _e=bA(ie,x);ic(s,l,_e,Xr(s))}else ic(s,l,x,Xr(s))}catch(Ie){ic(s,l,{then:function(){},status:"rejected",reason:Ie},Xr())}finally{V.p=E,F!==null&&K.types!==null&&(F.types=K.types),H.T=F}}function jA(){}function Jh(s,l,f,x){if(s.tag!==5)throw Error(r(476));var b=u1(s).queue;c1(s,b,l,Y,f===null?jA:function(){return d1(s),f(x)})}function u1(s){var l=s.memoizedState;if(l!==null)return l;l={memoizedState:Y,baseState:Y,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ds,lastRenderedState:Y},next:null};var f={};return l.next={memoizedState:f,baseState:f,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ds,lastRenderedState:f},next:null},s.memoizedState=l,s=s.alternate,s!==null&&(s.memoizedState=l),l}function d1(s){var l=u1(s);l.next===null&&(l=s.alternate.memoizedState),ic(s,l.next.queue,{},Xr())}function ep(){return hr(_c)}function f1(){return Vn().memoizedState}function m1(){return Vn().memoizedState}function EA(s){for(var l=s.return;l!==null;){switch(l.tag){case 24:case 3:var f=Xr();s=Hs(f);var x=Fs(l,s,f);x!==null&&(Pr(x,l,f),Jl(x,l,f)),l={cache:Ih()},s.payload=l;return}l=l.return}}function NA(s,l,f){var x=Xr();f={lane:x,revertLane:0,gesture:null,action:f,hasEagerState:!1,eagerState:null,next:null},pd(s)?p1(l,f):(f=yh(s,l,f,x),f!==null&&(Pr(f,s,x),g1(f,l,x)))}function h1(s,l,f){var x=Xr();ic(s,l,f,x)}function ic(s,l,f,x){var b={lane:x,revertLane:0,gesture:null,action:f,hasEagerState:!1,eagerState:null,next:null};if(pd(s))p1(l,b);else{var E=s.alternate;if(s.lanes===0&&(E===null||E.lanes===0)&&(E=l.lastRenderedReducer,E!==null))try{var F=l.lastRenderedState,K=E(F,f);if(b.hasEagerState=!0,b.eagerState=K,Vr(K,F))return Xu(s,l,b,0),pn===null&&Yu(),!1}catch{}if(f=yh(s,l,b,x),f!==null)return Pr(f,s,x),g1(f,l,x),!0}return!1}function tp(s,l,f,x){if(x={lane:2,revertLane:Mp(),gesture:null,action:x,hasEagerState:!1,eagerState:null,next:null},pd(s)){if(l)throw Error(r(479))}else l=yh(s,f,x,2),l!==null&&Pr(l,s,2)}function pd(s){var l=s.alternate;return s===kt||l!==null&&l===kt}function p1(s,l){ja=ld=!0;var f=s.pending;f===null?l.next=l:(l.next=f.next,f.next=l),s.pending=l}function g1(s,l,f){if((f&4194048)!==0){var x=l.lanes;x&=s.pendingLanes,f|=x,l.lanes=f,Ht(s,f)}}var sc={readContext:hr,use:dd,useCallback:Ln,useContext:Ln,useEffect:Ln,useImperativeHandle:Ln,useLayoutEffect:Ln,useInsertionEffect:Ln,useMemo:Ln,useReducer:Ln,useRef:Ln,useState:Ln,useDebugValue:Ln,useDeferredValue:Ln,useTransition:Ln,useSyncExternalStore:Ln,useId:Ln,useHostTransitionStatus:Ln,useFormState:Ln,useActionState:Ln,useOptimistic:Ln,useMemoCache:Ln,useCacheRefresh:Ln};sc.useEffectEvent=Ln;var x1={readContext:hr,use:dd,useCallback:function(s,l){return Nr().memoizedState=[s,l===void 0?null:l],s},useContext:hr,useEffect:e1,useImperativeHandle:function(s,l,f){f=f!=null?f.concat([s]):null,md(4194308,4,i1.bind(null,l,s),f)},useLayoutEffect:function(s,l){return md(4194308,4,s,l)},useInsertionEffect:function(s,l){md(4,2,s,l)},useMemo:function(s,l){var f=Nr();l=l===void 0?null:l;var x=s();if(Mo){Pe(!0);try{s()}finally{Pe(!1)}}return f.memoizedState=[x,l],x},useReducer:function(s,l,f){var x=Nr();if(f!==void 0){var b=f(l);if(Mo){Pe(!0);try{f(l)}finally{Pe(!1)}}}else b=l;return x.memoizedState=x.baseState=b,s={pending:null,lanes:0,dispatch:null,lastRenderedReducer:s,lastRenderedState:b},x.queue=s,s=s.dispatch=NA.bind(null,kt,s),[x.memoizedState,s]},useRef:function(s){var l=Nr();return s={current:s},l.memoizedState=s},useState:function(s){s=Yh(s);var l=s.queue,f=h1.bind(null,kt,l);return l.dispatch=f,[s.memoizedState,f]},useDebugValue:Zh,useDeferredValue:function(s,l){var f=Nr();return Qh(f,s,l)},useTransition:function(){var s=Yh(!1);return s=c1.bind(null,kt,s.queue,!0,!1),Nr().memoizedState=s,[!1,s]},useSyncExternalStore:function(s,l,f){var x=kt,b=Nr();if($t){if(f===void 0)throw Error(r(407));f=f()}else{if(f=l(),pn===null)throw Error(r(349));(Lt&127)!==0||Pb(x,l,f)}b.memoizedState=f;var E={value:f,getSnapshot:l};return b.queue=E,e1($b.bind(null,x,E,s),[s]),x.flags|=2048,Na(9,{destroy:void 0},Bb.bind(null,x,E,f,l),null),f},useId:function(){var s=Nr(),l=pn.identifierPrefix;if($t){var f=Bi,x=Pi;f=(x&~(1<<32-Ve(x)-1)).toString(32)+f,l="_"+l+"R_"+f,f=cd++,0<\/script>",E=E.removeChild(E.firstChild);break;case"select":E=typeof x.is=="string"?F.createElement("select",{is:x.is}):F.createElement("select"),x.multiple?E.multiple=!0:x.size&&(E.size=x.size);break;default:E=typeof x.is=="string"?F.createElement(b,{is:x.is}):F.createElement(b)}}E[He]=l,E[Tt]=x;e:for(F=l.child;F!==null;){if(F.tag===5||F.tag===6)E.appendChild(F.stateNode);else if(F.tag!==4&&F.tag!==27&&F.child!==null){F.child.return=F,F=F.child;continue}if(F===l)break e;for(;F.sibling===null;){if(F.return===null||F.return===l)break e;F=F.return}F.sibling.return=F.return,F=F.sibling}l.stateNode=E;e:switch(gr(E,b,x),b){case"button":case"input":case"select":case"textarea":x=!!x.autoFocus;break e;case"img":x=!0;break e;default:x=!1}x&&ms(l)}}return _n(l),pp(l,l.type,s===null?null:s.memoizedProps,l.pendingProps,f),null;case 6:if(s&&l.stateNode!=null)s.memoizedProps!==x&&ms(l);else{if(typeof x!="string"&&l.stateNode===null)throw Error(r(166));if(s=te.current,va(l)){if(s=l.stateNode,f=l.memoizedProps,x=null,b=mr,b!==null)switch(b.tag){case 27:case 5:x=b.memoizedProps}s[He]=l,s=!!(s.nodeValue===f||x!==null&&x.suppressHydrationWarning===!0||L_(s.nodeValue,f)),s||Ps(l,!0)}else s=Od(s).createTextNode(x),s[He]=l,l.stateNode=s}return _n(l),null;case 31:if(f=l.memoizedState,s===null||s.memoizedState!==null){if(x=va(l),f!==null){if(s===null){if(!x)throw Error(r(318));if(s=l.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(r(557));s[He]=l}else jo(),(l.flags&128)===0&&(l.memoizedState=null),l.flags|=4;_n(l),s=!1}else f=Ch(),s!==null&&s.memoizedState!==null&&(s.memoizedState.hydrationErrors=f),s=!0;if(!s)return l.flags&256?(qr(l),l):(qr(l),null);if((l.flags&128)!==0)throw Error(r(558))}return _n(l),null;case 13:if(x=l.memoizedState,s===null||s.memoizedState!==null&&s.memoizedState.dehydrated!==null){if(b=va(l),x!==null&&x.dehydrated!==null){if(s===null){if(!b)throw Error(r(318));if(b=l.memoizedState,b=b!==null?b.dehydrated:null,!b)throw Error(r(317));b[He]=l}else jo(),(l.flags&128)===0&&(l.memoizedState=null),l.flags|=4;_n(l),b=!1}else b=Ch(),s!==null&&s.memoizedState!==null&&(s.memoizedState.hydrationErrors=b),b=!0;if(!b)return l.flags&256?(qr(l),l):(qr(l),null)}return qr(l),(l.flags&128)!==0?(l.lanes=f,l):(f=x!==null,s=s!==null&&s.memoizedState!==null,f&&(x=l.child,b=null,x.alternate!==null&&x.alternate.memoizedState!==null&&x.alternate.memoizedState.cachePool!==null&&(b=x.alternate.memoizedState.cachePool.pool),E=null,x.memoizedState!==null&&x.memoizedState.cachePool!==null&&(E=x.memoizedState.cachePool.pool),E!==b&&(x.flags|=2048)),f!==s&&f&&(l.child.flags|=8192),bd(l,l.updateQueue),_n(l),null);case 4:return de(),s===null&&zp(l.stateNode.containerInfo),_n(l),null;case 10:return cs(l.type),_n(l),null;case 19:if(J(Fn),x=l.memoizedState,x===null)return _n(l),null;if(b=(l.flags&128)!==0,E=x.rendering,E===null)if(b)ac(x,!1);else{if(zn!==0||s!==null&&(s.flags&128)!==0)for(s=l.child;s!==null;){if(E=ad(s),E!==null){for(l.flags|=128,ac(x,!1),s=E.updateQueue,l.updateQueue=s,bd(l,s),l.subtreeFlags=0,s=f,f=l.child;f!==null;)hb(f,s),f=f.sibling;return P(Fn,Fn.current&1|2),$t&&as(l,x.treeForkCount),l.child}s=s.sibling}x.tail!==null&&Qe()>Cd&&(l.flags|=128,b=!0,ac(x,!1),l.lanes=4194304)}else{if(!b)if(s=ad(E),s!==null){if(l.flags|=128,b=!0,s=s.updateQueue,l.updateQueue=s,bd(l,s),ac(x,!0),x.tail===null&&x.tailMode==="hidden"&&!E.alternate&&!$t)return _n(l),null}else 2*Qe()-x.renderingStartTime>Cd&&f!==536870912&&(l.flags|=128,b=!0,ac(x,!1),l.lanes=4194304);x.isBackwards?(E.sibling=l.child,l.child=E):(s=x.last,s!==null?s.sibling=E:l.child=E,x.last=E)}return x.tail!==null?(s=x.tail,x.rendering=s,x.tail=s.sibling,x.renderingStartTime=Qe(),s.sibling=null,f=Fn.current,P(Fn,b?f&1|2:f&1),$t&&as(l,x.treeForkCount),s):(_n(l),null);case 22:case 23:return qr(l),Ph(),x=l.memoizedState!==null,s!==null?s.memoizedState!==null!==x&&(l.flags|=8192):x&&(l.flags|=8192),x?(f&536870912)!==0&&(l.flags&128)===0&&(_n(l),l.subtreeFlags&6&&(l.flags|=8192)):_n(l),f=l.updateQueue,f!==null&&bd(l,f.retryQueue),f=null,s!==null&&s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(f=s.memoizedState.cachePool.pool),x=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(x=l.memoizedState.cachePool.pool),x!==f&&(l.flags|=2048),s!==null&&J(Io),null;case 24:return f=null,s!==null&&(f=s.memoizedState.cache),l.memoizedState.cache!==f&&(l.flags|=2048),cs(Un),_n(l),null;case 25:return null;case 30:return null}throw Error(r(156,l.tag))}function MA(s,l){switch(Sh(l),l.tag){case 1:return s=l.flags,s&65536?(l.flags=s&-65537|128,l):null;case 3:return cs(Un),de(),s=l.flags,(s&65536)!==0&&(s&128)===0?(l.flags=s&-65537|128,l):null;case 26:case 27:case 5:return Ee(l),null;case 31:if(l.memoizedState!==null){if(qr(l),l.alternate===null)throw Error(r(340));jo()}return s=l.flags,s&65536?(l.flags=s&-65537|128,l):null;case 13:if(qr(l),s=l.memoizedState,s!==null&&s.dehydrated!==null){if(l.alternate===null)throw Error(r(340));jo()}return s=l.flags,s&65536?(l.flags=s&-65537|128,l):null;case 19:return J(Fn),null;case 4:return de(),null;case 10:return cs(l.type),null;case 22:case 23:return qr(l),Ph(),s!==null&&J(Io),s=l.flags,s&65536?(l.flags=s&-65537|128,l):null;case 24:return cs(Un),null;case 25:return null;default:return null}}function H1(s,l){switch(Sh(l),l.tag){case 3:cs(Un),de();break;case 26:case 27:case 5:Ee(l);break;case 4:de();break;case 31:l.memoizedState!==null&&qr(l);break;case 13:qr(l);break;case 19:J(Fn);break;case 10:cs(l.type);break;case 22:case 23:qr(l),Ph(),s!==null&&J(Io);break;case 24:cs(Un)}}function lc(s,l){try{var f=l.updateQueue,x=f!==null?f.lastEffect:null;if(x!==null){var b=x.next;f=b;do{if((f.tag&s)===s){x=void 0;var E=f.create,F=f.inst;x=E(),F.destroy=x}f=f.next}while(f!==b)}}catch(K){ln(l,l.return,K)}}function Gs(s,l,f){try{var x=l.updateQueue,b=x!==null?x.lastEffect:null;if(b!==null){var E=b.next;x=E;do{if((x.tag&s)===s){var F=x.inst,K=F.destroy;if(K!==void 0){F.destroy=void 0,b=l;var ie=f,ge=K;try{ge()}catch(_e){ln(b,ie,_e)}}}x=x.next}while(x!==E)}}catch(_e){ln(l,l.return,_e)}}function F1(s){var l=s.updateQueue;if(l!==null){var f=s.stateNode;try{Ab(l,f)}catch(x){ln(s,s.return,x)}}}function V1(s,l,f){f.props=Do(s.type,s.memoizedProps),f.state=s.memoizedState;try{f.componentWillUnmount()}catch(x){ln(s,l,x)}}function cc(s,l){try{var f=s.ref;if(f!==null){switch(s.tag){case 26:case 27:case 5:var x=s.stateNode;break;case 30:x=s.stateNode;break;default:x=s.stateNode}typeof f=="function"?s.refCleanup=f(x):f.current=x}}catch(b){ln(s,l,b)}}function $i(s,l){var f=s.ref,x=s.refCleanup;if(f!==null)if(typeof x=="function")try{x()}catch(b){ln(s,l,b)}finally{s.refCleanup=null,s=s.alternate,s!=null&&(s.refCleanup=null)}else if(typeof f=="function")try{f(null)}catch(b){ln(s,l,b)}else f.current=null}function U1(s){var l=s.type,f=s.memoizedProps,x=s.stateNode;try{e:switch(l){case"button":case"input":case"select":case"textarea":f.autoFocus&&x.focus();break e;case"img":f.src?x.src=f.src:f.srcSet&&(x.srcset=f.srcSet)}}catch(b){ln(s,s.return,b)}}function gp(s,l,f){try{var x=s.stateNode;t3(x,s.type,f,l),x[Tt]=l}catch(b){ln(s,s.return,b)}}function G1(s){return s.tag===5||s.tag===3||s.tag===26||s.tag===27&&Qs(s.type)||s.tag===4}function xp(s){e:for(;;){for(;s.sibling===null;){if(s.return===null||G1(s.return))return null;s=s.return}for(s.sibling.return=s.return,s=s.sibling;s.tag!==5&&s.tag!==6&&s.tag!==18;){if(s.tag===27&&Qs(s.type)||s.flags&2||s.child===null||s.tag===4)continue e;s.child.return=s,s=s.child}if(!(s.flags&2))return s.stateNode}}function yp(s,l,f){var x=s.tag;if(x===5||x===6)s=s.stateNode,l?(f.nodeType===9?f.body:f.nodeName==="HTML"?f.ownerDocument.body:f).insertBefore(s,l):(l=f.nodeType===9?f.body:f.nodeName==="HTML"?f.ownerDocument.body:f,l.appendChild(s),f=f._reactRootContainer,f!=null||l.onclick!==null||(l.onclick=oi));else if(x!==4&&(x===27&&Qs(s.type)&&(f=s.stateNode,l=null),s=s.child,s!==null))for(yp(s,l,f),s=s.sibling;s!==null;)yp(s,l,f),s=s.sibling}function _d(s,l,f){var x=s.tag;if(x===5||x===6)s=s.stateNode,l?f.insertBefore(s,l):f.appendChild(s);else if(x!==4&&(x===27&&Qs(s.type)&&(f=s.stateNode),s=s.child,s!==null))for(_d(s,l,f),s=s.sibling;s!==null;)_d(s,l,f),s=s.sibling}function q1(s){var l=s.stateNode,f=s.memoizedProps;try{for(var x=s.type,b=l.attributes;b.length;)l.removeAttributeNode(b[0]);gr(l,x,f),l[He]=s,l[Tt]=f}catch(E){ln(s,s.return,E)}}var hs=!1,Wn=!1,vp=!1,W1=typeof WeakSet=="function"?WeakSet:Set,ir=null;function DA(s,l){if(s=s.containerInfo,$p=Fd,s=sb(s),fh(s)){if("selectionStart"in s)var f={start:s.selectionStart,end:s.selectionEnd};else e:{f=(f=s.ownerDocument)&&f.defaultView||window;var x=f.getSelection&&f.getSelection();if(x&&x.rangeCount!==0){f=x.anchorNode;var b=x.anchorOffset,E=x.focusNode;x=x.focusOffset;try{f.nodeType,E.nodeType}catch{f=null;break e}var F=0,K=-1,ie=-1,ge=0,_e=0,Ie=s,xe=null;t:for(;;){for(var ye;Ie!==f||b!==0&&Ie.nodeType!==3||(K=F+b),Ie!==E||x!==0&&Ie.nodeType!==3||(ie=F+x),Ie.nodeType===3&&(F+=Ie.nodeValue.length),(ye=Ie.firstChild)!==null;)xe=Ie,Ie=ye;for(;;){if(Ie===s)break t;if(xe===f&&++ge===b&&(K=F),xe===E&&++_e===x&&(ie=F),(ye=Ie.nextSibling)!==null)break;Ie=xe,xe=Ie.parentNode}Ie=ye}f=K===-1||ie===-1?null:{start:K,end:ie}}else f=null}f=f||{start:0,end:0}}else f=null;for(Hp={focusedElem:s,selectionRange:f},Fd=!1,ir=l;ir!==null;)if(l=ir,s=l.child,(l.subtreeFlags&1028)!==0&&s!==null)s.return=l,ir=s;else for(;ir!==null;){switch(l=ir,E=l.alternate,s=l.flags,l.tag){case 0:if((s&4)!==0&&(s=l.updateQueue,s=s!==null?s.events:null,s!==null))for(f=0;f title"))),gr(E,x,f),E[He]=s,Pt(E),x=E;break e;case"link":var F=J_("link","href",b).get(x+(f.href||""));if(F){for(var K=0;Kfn&&(F=fn,fn=dt,dt=F);var ce=rb(K,dt),le=rb(K,fn);if(ce&&le&&(ye.rangeCount!==1||ye.anchorNode!==ce.node||ye.anchorOffset!==ce.offset||ye.focusNode!==le.node||ye.focusOffset!==le.offset)){var pe=Ie.createRange();pe.setStart(ce.node,ce.offset),ye.removeAllRanges(),dt>fn?(ye.addRange(pe),ye.extend(le.node,le.offset)):(pe.setEnd(le.node,le.offset),ye.addRange(pe))}}}}for(Ie=[],ye=K;ye=ye.parentNode;)ye.nodeType===1&&Ie.push({element:ye,left:ye.scrollLeft,top:ye.scrollTop});for(typeof K.focus=="function"&&K.focus(),K=0;Kf?32:f,H.T=null,f=jp,jp=null;var E=Xs,F=vs;if(er=0,Ma=Xs=null,vs=0,(en&6)!==0)throw Error(r(331));var K=en;if(en|=4,i_(E.current),t_(E,E.current,F,f),en=K,pc(0,!1),Te&&typeof Te.onPostCommitFiberRoot=="function")try{Te.onPostCommitFiberRoot(ke,E)}catch{}return!0}finally{V.p=b,H.T=x,k_(s,l)}}function w_(s,l,f){l=ci(f,l),l=sp(s.stateNode,l,2),s=Fs(s,l,2),s!==null&&(rn(s,2),Hi(s))}function ln(s,l,f){if(s.tag===3)w_(s,s,f);else for(;l!==null;){if(l.tag===3){w_(l,s,f);break}else if(l.tag===1){var x=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof x.componentDidCatch=="function"&&(Ys===null||!Ys.has(x))){s=ci(f,s),f=C1(2),x=Fs(l,f,2),x!==null&&(j1(f,x,l,s),rn(x,2),Hi(x));break}}l=l.return}}function Tp(s,l,f){var x=s.pingCache;if(x===null){x=s.pingCache=new zA;var b=new Set;x.set(l,b)}else b=x.get(l),b===void 0&&(b=new Set,x.set(l,b));b.has(f)||(kp=!0,b.add(f),s=FA.bind(null,s,l,f),l.then(s,s))}function FA(s,l,f){var x=s.pingCache;x!==null&&x.delete(l),s.pingedLanes|=s.suspendedLanes&f,s.warmLanes&=~f,pn===s&&(Lt&f)===f&&(zn===4||zn===3&&(Lt&62914560)===Lt&&300>Qe()-wd?(en&2)===0&&Da(s,0):Sp|=f,Aa===Lt&&(Aa=0)),Hi(s)}function C_(s,l){l===0&&(l=tt()),s=wo(s,l),s!==null&&(rn(s,l),Hi(s))}function VA(s){var l=s.memoizedState,f=0;l!==null&&(f=l.retryLane),C_(s,f)}function UA(s,l){var f=0;switch(s.tag){case 31:case 13:var x=s.stateNode,b=s.memoizedState;b!==null&&(f=b.retryLane);break;case 19:x=s.stateNode;break;case 22:x=s.stateNode._retryCache;break;default:throw Error(r(314))}x!==null&&x.delete(l),C_(s,f)}function GA(s,l){return vt(s,l)}var Rd=null,La=null,Rp=!1,Ad=!1,Ap=!1,Zs=0;function Hi(s){s!==La&&s.next===null&&(La===null?Rd=La=s:La=La.next=s),Ad=!0,Rp||(Rp=!0,WA())}function pc(s,l){if(!Ap&&Ad){Ap=!0;do for(var f=!1,x=Rd;x!==null;){if(s!==0){var b=x.pendingLanes;if(b===0)var E=0;else{var F=x.suspendedLanes,K=x.pingedLanes;E=(1<<31-Ve(42|s)+1)-1,E&=b&~(F&~K),E=E&201326741?E&201326741|1:E?E|2:0}E!==0&&(f=!0,I_(x,E))}else E=Lt,E=Jt(x,x===pn?E:0,x.cancelPendingCommit!==null||x.timeoutHandle!==-1),(E&3)===0||Et(x,E)||(f=!0,I_(x,E));x=x.next}while(f);Ap=!1}}function qA(){j_()}function j_(){Ad=Rp=!1;var s=0;Zs!==0&&r3()&&(s=Zs);for(var l=Qe(),f=null,x=Rd;x!==null;){var b=x.next,E=E_(x,l);E===0?(x.next=null,f===null?Rd=b:f.next=b,b===null&&(La=f)):(f=x,(s!==0||(E&3)!==0)&&(Ad=!0)),x=b}er!==0&&er!==5||pc(s),Zs!==0&&(Zs=0)}function E_(s,l){for(var f=s.suspendedLanes,x=s.pingedLanes,b=s.expirationTimes,E=s.pendingLanes&-62914561;0K)break;var _e=ie.transferSize,Ie=ie.initiatorType;_e&&z_(Ie)&&(ie=ie.responseEnd,F+=_e*(ie"u"?null:document;function X_(s,l,f){var x=za;if(x&&typeof l=="string"&&l){var b=Cn(l);b='link[rel="'+s+'"][href="'+b+'"]',typeof f=="string"&&(b+='[crossorigin="'+f+'"]'),Y_.has(b)||(Y_.add(b),s={rel:s,crossOrigin:f,href:l},x.querySelector(b)===null&&(l=x.createElement("link"),gr(l,"link",s),Pt(l),x.head.appendChild(l)))}}function f3(s){bs.D(s),X_("dns-prefetch",s,null)}function m3(s,l){bs.C(s,l),X_("preconnect",s,l)}function h3(s,l,f){bs.L(s,l,f);var x=za;if(x&&s&&l){var b='link[rel="preload"][as="'+Cn(l)+'"]';l==="image"&&f&&f.imageSrcSet?(b+='[imagesrcset="'+Cn(f.imageSrcSet)+'"]',typeof f.imageSizes=="string"&&(b+='[imagesizes="'+Cn(f.imageSizes)+'"]')):b+='[href="'+Cn(s)+'"]';var E=b;switch(l){case"style":E=Pa(s);break;case"script":E=Ba(s)}pi.has(E)||(s=h({rel:"preload",href:l==="image"&&f&&f.imageSrcSet?void 0:s,as:l},f),pi.set(E,s),x.querySelector(b)!==null||l==="style"&&x.querySelector(vc(E))||l==="script"&&x.querySelector(bc(E))||(l=x.createElement("link"),gr(l,"link",s),Pt(l),x.head.appendChild(l)))}}function p3(s,l){bs.m(s,l);var f=za;if(f&&s){var x=l&&typeof l.as=="string"?l.as:"script",b='link[rel="modulepreload"][as="'+Cn(x)+'"][href="'+Cn(s)+'"]',E=b;switch(x){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":E=Ba(s)}if(!pi.has(E)&&(s=h({rel:"modulepreload",href:s},l),pi.set(E,s),f.querySelector(b)===null)){switch(x){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(f.querySelector(bc(E)))return}x=f.createElement("link"),gr(x,"link",s),Pt(x),f.head.appendChild(x)}}}function g3(s,l,f){bs.S(s,l,f);var x=za;if(x&&s){var b=mn(x).hoistableStyles,E=Pa(s);l=l||"default";var F=b.get(E);if(!F){var K={loading:0,preload:null};if(F=x.querySelector(vc(E)))K.loading=5;else{s=h({rel:"stylesheet",href:s,"data-precedence":l},f),(f=pi.get(E))&&Yp(s,f);var ie=F=x.createElement("link");Pt(ie),gr(ie,"link",s),ie._p=new Promise(function(ge,_e){ie.onload=ge,ie.onerror=_e}),ie.addEventListener("load",function(){K.loading|=1}),ie.addEventListener("error",function(){K.loading|=2}),K.loading|=4,zd(F,l,x)}F={type:"stylesheet",instance:F,count:1,state:K},b.set(E,F)}}}function x3(s,l){bs.X(s,l);var f=za;if(f&&s){var x=mn(f).hoistableScripts,b=Ba(s),E=x.get(b);E||(E=f.querySelector(bc(b)),E||(s=h({src:s,async:!0},l),(l=pi.get(b))&&Xp(s,l),E=f.createElement("script"),Pt(E),gr(E,"link",s),f.head.appendChild(E)),E={type:"script",instance:E,count:1,state:null},x.set(b,E))}}function y3(s,l){bs.M(s,l);var f=za;if(f&&s){var x=mn(f).hoistableScripts,b=Ba(s),E=x.get(b);E||(E=f.querySelector(bc(b)),E||(s=h({src:s,async:!0,type:"module"},l),(l=pi.get(b))&&Xp(s,l),E=f.createElement("script"),Pt(E),gr(E,"link",s),f.head.appendChild(E)),E={type:"script",instance:E,count:1,state:null},x.set(b,E))}}function K_(s,l,f,x){var b=(b=te.current)?Ld(b):null;if(!b)throw Error(r(446));switch(s){case"meta":case"title":return null;case"style":return typeof f.precedence=="string"&&typeof f.href=="string"?(l=Pa(f.href),f=mn(b).hoistableStyles,x=f.get(l),x||(x={type:"style",instance:null,count:0,state:null},f.set(l,x)),x):{type:"void",instance:null,count:0,state:null};case"link":if(f.rel==="stylesheet"&&typeof f.href=="string"&&typeof f.precedence=="string"){s=Pa(f.href);var E=mn(b).hoistableStyles,F=E.get(s);if(F||(b=b.ownerDocument||b,F={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},E.set(s,F),(E=b.querySelector(vc(s)))&&!E._p&&(F.instance=E,F.state.loading=5),pi.has(s)||(f={rel:"preload",as:"style",href:f.href,crossOrigin:f.crossOrigin,integrity:f.integrity,media:f.media,hrefLang:f.hrefLang,referrerPolicy:f.referrerPolicy},pi.set(s,f),E||v3(b,s,f,F.state))),l&&x===null)throw Error(r(528,""));return F}if(l&&x!==null)throw Error(r(529,""));return null;case"script":return l=f.async,f=f.src,typeof f=="string"&&l&&typeof l!="function"&&typeof l!="symbol"?(l=Ba(f),f=mn(b).hoistableScripts,x=f.get(l),x||(x={type:"script",instance:null,count:0,state:null},f.set(l,x)),x):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,s))}}function Pa(s){return'href="'+Cn(s)+'"'}function vc(s){return'link[rel="stylesheet"]['+s+"]"}function Z_(s){return h({},s,{"data-precedence":s.precedence,precedence:null})}function v3(s,l,f,x){s.querySelector('link[rel="preload"][as="style"]['+l+"]")?x.loading=1:(l=s.createElement("link"),x.preload=l,l.addEventListener("load",function(){return x.loading|=1}),l.addEventListener("error",function(){return x.loading|=2}),gr(l,"link",f),Pt(l),s.head.appendChild(l))}function Ba(s){return'[src="'+Cn(s)+'"]'}function bc(s){return"script[async]"+s}function Q_(s,l,f){if(l.count++,l.instance===null)switch(l.type){case"style":var x=s.querySelector('style[data-href~="'+Cn(f.href)+'"]');if(x)return l.instance=x,Pt(x),x;var b=h({},f,{"data-href":f.href,"data-precedence":f.precedence,href:null,precedence:null});return x=(s.ownerDocument||s).createElement("style"),Pt(x),gr(x,"style",b),zd(x,f.precedence,s),l.instance=x;case"stylesheet":b=Pa(f.href);var E=s.querySelector(vc(b));if(E)return l.state.loading|=4,l.instance=E,Pt(E),E;x=Z_(f),(b=pi.get(b))&&Yp(x,b),E=(s.ownerDocument||s).createElement("link"),Pt(E);var F=E;return F._p=new Promise(function(K,ie){F.onload=K,F.onerror=ie}),gr(E,"link",x),l.state.loading|=4,zd(E,f.precedence,s),l.instance=E;case"script":return E=Ba(f.src),(b=s.querySelector(bc(E)))?(l.instance=b,Pt(b),b):(x=f,(b=pi.get(E))&&(x=h({},f),Xp(x,b)),s=s.ownerDocument||s,b=s.createElement("script"),Pt(b),gr(b,"link",x),s.head.appendChild(b),l.instance=b);case"void":return null;default:throw Error(r(443,l.type))}else l.type==="stylesheet"&&(l.state.loading&4)===0&&(x=l.instance,l.state.loading|=4,zd(x,f.precedence,s));return l.instance}function zd(s,l,f){for(var x=f.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),b=x.length?x[x.length-1]:null,E=b,F=0;F title"):null)}function b3(s,l,f){if(f===1||l.itemProp!=null)return!1;switch(s){case"meta":case"title":return!0;case"style":if(typeof l.precedence!="string"||typeof l.href!="string"||l.href==="")break;return!0;case"link":if(typeof l.rel!="string"||typeof l.href!="string"||l.href===""||l.onLoad||l.onError)break;return l.rel==="stylesheet"?(s=l.disabled,typeof l.precedence=="string"&&s==null):!0;case"script":if(l.async&&typeof l.async!="function"&&typeof l.async!="symbol"&&!l.onLoad&&!l.onError&&l.src&&typeof l.src=="string")return!0}return!1}function tk(s){return!(s.type==="stylesheet"&&(s.state.loading&3)===0)}function _3(s,l,f,x){if(f.type==="stylesheet"&&(typeof x.media!="string"||matchMedia(x.media).matches!==!1)&&(f.state.loading&4)===0){if(f.instance===null){var b=Pa(x.href),E=l.querySelector(vc(b));if(E){l=E._p,l!==null&&typeof l=="object"&&typeof l.then=="function"&&(s.count++,s=Bd.bind(s),l.then(s,s)),f.state.loading|=4,f.instance=E,Pt(E);return}E=l.ownerDocument||l,x=Z_(x),(b=pi.get(b))&&Yp(x,b),E=E.createElement("link"),Pt(E);var F=E;F._p=new Promise(function(K,ie){F.onload=K,F.onerror=ie}),gr(E,"link",x),f.instance=E}s.stylesheets===null&&(s.stylesheets=new Map),s.stylesheets.set(f,l),(l=f.state.preload)&&(f.state.loading&3)===0&&(s.count++,f=Bd.bind(s),l.addEventListener("load",f),l.addEventListener("error",f))}}var Kp=0;function k3(s,l){return s.stylesheets&&s.count===0&&Hd(s,s.stylesheets),0Kp?50:800)+l);return s.unsuspend=f,function(){s.unsuspend=null,clearTimeout(x),clearTimeout(b)}}:null}function Bd(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Hd(this,this.stylesheets);else if(this.unsuspend){var s=this.unsuspend;this.unsuspend=null,s()}}}var $d=null;function Hd(s,l){s.stylesheets=null,s.unsuspend!==null&&(s.count++,$d=new Map,l.forEach(S3,s),$d=null,Bd.call(s))}function S3(s,l){if(!(l.state.loading&4)){var f=$d.get(s);if(f)var x=f.get(null);else{f=new Map,$d.set(s,f);for(var b=s.querySelectorAll("link[data-precedence],style[data-precedence]"),E=0;E"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),sg.exports=B3(),sg.exports}var H3=$3();const F3=2e3,V3=3e4,U3=20,G3=100,q3=3e4,W3=1e4,Y3=new Set(["collab_sync","kanban_create_board","kanban_create_task","kanban_update_task","kanban_move_task","kanban_delete_board","kanban_delete_task","kanban_assign","kanban_status","kanban_switch_view","run_task","create_session","session_send","session_update_config","session_delete","session_detail","session_stop","session_resume","session_complete","session_update_title","secretary_send","project_index","recovery_action","comms_state","comms_read_message"]);class X3{constructor(t,n){this.url=t,this.handlers=n,this.ws=null,this.reconnectTimer=null,this.closedByUser=!1,this.reconnectAttempt=0,this.pendingQueue=[],this.heartbeatTimer=null,this.pongTimer=null}updateUrl(t){this.url=t}connect(){this.closedByUser=!1,this.handlers.onStatus?.("connecting"),this.ws=new WebSocket(this.url),this.ws.onopen=()=>{this.reconnectAttempt=0,this.handlers.onStatus?.("connected"),this.flushPendingQueue(),this.startHeartbeat()},this.ws.onmessage=t=>{this.handleMessage(t.data)},this.ws.onerror=()=>{this.handlers.onStatus?.("error","WebSocket error")},this.ws.onclose=()=>{this.stopHeartbeat(),this.handlers.onStatus?.("disconnected"),this.ws=null,this.closedByUser||this.scheduleReconnect()}}disconnect(){this.closedByUser=!0,this.stopHeartbeat(),this.reconnectTimer!==null&&(window.clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.ws?.close(),this.ws=null}send(t){if(!this.ensureProjectScope(t))return;const n=JSON.stringify(t);if(!this.ws||this.ws.readyState!==WebSocket.OPEN){this.pendingQueue.length{!this.ws||this.ws.readyState!==WebSocket.OPEN||(this.ws.send(JSON.stringify({type:"ping"})),this.pongTimer=window.setTimeout(()=>{this.pongTimer=null,this.ws?.close()},W3))},q3)}stopHeartbeat(){this.heartbeatTimer!==null&&(window.clearInterval(this.heartbeatTimer),this.heartbeatTimer=null),this.pongTimer!==null&&(window.clearTimeout(this.pongTimer),this.pongTimer=null)}handlePong(){this.pongTimer!==null&&(window.clearTimeout(this.pongTimer),this.pongTimer=null)}scheduleReconnect(){if(this.reconnectTimer!==null)return;if(this.reconnectAttempt>=U3){this.handlers.onStatus?.("error","max reconnect attempts reached");return}const t=Math.min(F3*Math.pow(2,this.reconnectAttempt),V3);this.reconnectAttempt++,this.reconnectTimer=window.setTimeout(()=>{this.reconnectTimer=null,this.connect()},t)}}var K3=A3();const $r=ta(K3),R=32,Pn=20,Qr=25,E0=2,Ck=3,Z3=Pn*Ck+E0*(Ck-1),Q3=Qr,cg=Z3,Ec=Q3,Wc=R*8,el=R*4,rl=R*20,Oj=1.8,J3=Oj,eM=Oj,tM=30,nM=8,rM=-2,iM=.22,sM=5,oM=23;function aM(){if(typeof window>"u")return null;const e=o=>{const a=new URLSearchParams(o);return a.get("day")==="1"||a.get("daytime")==="1"?"day":a.get("night")==="1"?"night":null};let t=e(window.location.search||"");if(t)return t;const n=window.location.hash;if(!n)return null;const r=n.indexOf("?");if(r>=0&&(t=e(n.slice(r+1)),t))return t;const i=n.replace(/^#/,"");return i.includes("=")&&(t=e(i),t)?t:null}function Yc(e=new Date){if(typeof window<"u")try{const n=aM();if(n==="day")return!0;if(n==="night")return!1;const r=window.localStorage?.getItem("opc_outdoor_override");if(r==="day")return!0;if(r==="night")return!1;if(window.localStorage?.getItem("opc_outdoor_day")==="1")return!0;if(window.localStorage?.getItem("opc_outdoor_night")==="1")return!1}catch{}const t=e.getHours();return t>=sM&&t<=oM}const jk=11064556,Ek=3228986,lM=200,cM=100,uM=60,Sf=2,wf=20,Lj=3,zj=6,Ha=2.5,dM=8,fM=15,Nk=5,Ik=10,mM=5,Tk=3,Rk=2;function hM(e,t,n){const r=t||e.clientWidth||window.innerWidth-380,i=n||e.clientHeight||window.innerHeight-48,o=Yc()?"#a8d4ec":"#31453a";return{type:$r.CANVAS,parent:e,width:r,height:i,pixelArt:!0,backgroundColor:o,physics:{default:"arcade",arcade:{gravity:{x:0,y:0},debug:!1}},scale:{mode:$r.Scale.RESIZE,autoCenter:$r.Scale.NONE,parent:e},render:{antialias:!1,pixelArt:!0}}}const pM=16,gM=32,Ak=6;class xM extends $r.Scene{constructor(){super("Boot")}preload(){this.load.image("office-bg","assets/office-bg.png"),this.load.spritesheet("office-tileset-32","assets/office-tileset-32.png",{frameWidth:32,frameHeight:32});for(let n=0;n{t.clear(),t.fillStyle(4886745,1),t.fillRect(this.scale.width/2-100,this.scale.height/2-8,200*n,16)}),this.load.on("complete",()=>t.destroy())}create(){this.createCharacterAnimations(),console.log("[BootScene] All assets loaded"),this.scene.start("Office")}createCharacterAnimations(){const n=[{name:"down",row:0},{name:"up",row:1},{name:"right",row:2},{name:"left",row:2}];for(let r=0;r0)return t}}catch{}return Bj()}function km(e){localStorage.setItem(Pj,JSON.stringify(e))}function yM(e,t){const n=Bn(),r=n.find(i=>i.id===e);r&&(r.name=t,km(n))}function ug(e,t){const n=Bn();for(const i of n)i.assignedAgents=i.assignedAgents.filter(o=>o!==t);const r=n.find(i=>i.id===e);r&&r.assignedAgents.push(t),km(n)}function vM(e){const t=Bn();for(const n of t)n.assignedAgents=n.assignedAgents.filter(r=>r!==e);km(t)}function bM(e){return Bn().find(t=>t.assignedAgents.includes(e))}function _M(e,t,n){const r=Bn(),i=r.find(o=>o.id===e);i&&(i.mapStr=t,i.seats=n,km(r))}function $j(e){const t=[];for(let n=0;n0?e[e.length-1].offsetCol+Pn:Pn,n=[];for(let r=0;rt.map(n=>n===0?".":"#").join(""))}function kr(e,t,n,r,i=t+r){return{x:Math.round(e*R),y:Math.round(t*R),w:Math.round(n*R),h:Math.round(r*R),depthY:Math.round(i*R)}}const kM=[kr(8,4,4.3,3.35,7.15),kr(2.3,8.65,5.35,1.95,10.55),kr(11.1,8.55,3.1,1.7,10.45),kr(14.15,8.55,4.95,2,10.95),kr(2.1,11.45,3.05,1.8,12.95),kr(5.25,11.45,3.05,1.8,12.95),kr(8.45,11.45,3.05,1.8,12.95),kr(2.1,14.55,3.05,1.85,16.1),kr(5.25,14.55,3.05,1.85,16.1),kr(8.45,14.55,3.05,1.85,16.1),kr(14,12.15,4.85,3,15.3),kr(1,19.55,3.05,1.15,20.7),kr(4.45,20.45,3.35,1.35,21.8),kr(14.1,20.5,3.15,1.85,22.3),kr(8.05,23.1,4.2,1,24.1),kr(17,23.1,2.1,1,24.1)];class zf{constructor(){this.bgSprites=[],this.foregroundSprites=[],this.nameLabels=[],this.decor=[],this.outdoorBackdrop=null,this.outdoorParking=null,this.tilesetFrames={shelfA:61,shelfB:62,waterCooler:105,waterCoolerAlt:106,fridge:108,vending:110,plantA:148,plantB:150,boxA:153,boxB:154,boxC:158}}clearSceneDecor(){for(const t of this.bgSprites)t.destroy();for(const t of this.foregroundSprites)t.destroy();for(const t of this.nameLabels)t.destroy();for(const t of this.decor)t.destroy();this.bgSprites=[],this.foregroundSprites=[],this.nameLabels=[],this.decor=[],this.outdoorBackdrop=null,this.outdoorParking=null}addForegroundOccluders(t,n){const r=n.offsetCol*R;for(const i of kM){const o=t.add.image(r,0,"office-bg");o.setOrigin(0,0),o.setCrop(i.x,i.y,i.w,i.h),o.setDepth(i.depthY),this.foregroundSprites.push(o)}}addPixelLabel(t,n,r,i,o,a="#f5efe3",u="10px"){const d=t.add.text(n,r,i,{fontSize:u,fontFamily:"monospace",color:a,backgroundColor:o,padding:{left:4,right:4,top:2,bottom:2},resolution:2,align:"center"});return d.setOrigin(.5,.5),d.setDepth(-94),this.decor.push(d),d}addTilesetSprite(t,n,r,i,o=1){const a=t.add.image(n,r,"office-tileset-32",i);return a.setOrigin(0,0),a.setScale(o),a.setDepth(-92),this.decor.push(a),a}getOutdoorMetrics(t,n){const r=n+R*10.1,i=R*4.1,o=r+i+R*.15,a=o+R*1.1;return{gateCenterX:t/2,roadY:r,roadHeight:i,waterTopY:o,dockY:a,bottomY:n+rl}}paintStylizedParkingCar(t,n,r,i,o,a){const u=o?{outline:1314840,body:14240338,bodyMid:13057092,bodyDark:9316914,cabin:14706798,cabinHi:15894668,cabinLo:11546684,glass:6062264,glassDeep:3824776,glassHi:12116220,tire:1842724,tireOuter:1184794,bonnetHi:15233140}:{outline:1053728,body:4095176,bodyMid:3105960,bodyDark:2377848,cabin:6068444,cabinHi:8303856,cabinLo:3434664,glass:4878240,glassDeep:3164264,glassHi:11065599,tire:1842724,tireOuter:1184794,bonnetHi:7121128},d=(y,v,k,S,_,w=1)=>{t.fillStyle(_,w);const C=i?-y-k:y;t.fillRect(Math.round(n+C),Math.round(r+v),k,S)};t.fillStyle(988175,.28),t.fillEllipse(n,r+36,36,9),d(-16,-38,32,76,u.outline),d(-15,-37,30,74,u.body),d(-14,2,28,35,u.bodyDark),d(-14,-4,28,10,u.bodyMid),d(-13,8,26,22,u.body),d(-13,8,26,7,u.bonnetHi,.92),d(-13,-35,26,32,u.cabin),d(-13,-35,26,4,u.cabinHi),d(-13,-8,26,5,u.cabinLo),d(-11,-7,22,11,u.glassDeep),d(-11,-7,22,5,u.glass),d(-10,-6,8,3,u.glassHi),d(-1,-6,6,2,u.glassHi,.75),d(-16,-2,3,8,u.bodyDark),d(13,-2,3,8,u.bodyDark);const m=22,p=-30,h=7,g=9;for(const y of[m,p])d(-22,y,h,g,u.tire),d(15,y,h,g,u.tire),d(-22,y,1,g,u.tireOuter),d(15+h-1,y,1,g,u.tireOuter);for(const y of[m,p])d(-18,y+1,4,g-2,u.bodyDark),d(14,y+1,4,g-2,u.bodyDark);a&&(d(-12,33,5,4,16052970),d(7,33,5,4,16052970),d(-11,34,2,2,16775368),d(8,34,2,2,16775368),d(-13,-38,4,3,16733488),d(9,-38,4,3,13121568),d(-18,4,3,4,16763976),d(15,4,3,4,16752688)),d(-15,-37,30,1,u.cabinHi,.45),d(-14,28,28,1,0,.12)}buildOutdoorBackdrop(t,n,r,i,o,a){const u=t.add.graphics();u.setDepth(-320);const d=-Wc,m=-el,p=n+Wc*2,h=r+el+rl,g=d+p,y=r+rl,v=m+R*6.2,k=r+R*.35,S=r+R*4.25,_=r+R*5.9,{gateCenterX:w,roadY:C,roadHeight:N,waterTopY:O,dockY:I}=this.getOutdoorMetrics(n,r),D=o?{skyTop:7259376,skyBand:11066104,towerFar:8953780,towerNear:10268868,towerRoof:11847900,winColor:16777215,winAlpha:.22,facadeColor:14214384,facadeAlpha:.36,bridgeColor:12636384,bridgeAlpha:.92,grassBase:3831876,grassLawn:6076520,treeTrunk:3562560,treeMid:5023848,treeHi:7526532,grove0:3168312,grove1:5150816,grove2:6865016,fence:10127992,road:3948616,roadDash:14207120,curb:3551792,water:3508408,ripple:6073556,rippleHi:10017008,edgeGreen:5810280,edgeGreenHi:8310928,logoDirt:12105880,logoDirtHi:13684920}:{skyTop:2503493,skyBand:3494250,towerFar:1253426,towerNear:1911614,towerRoof:2373195,winColor:15979916,winAlpha:.42,facadeColor:3163484,facadeAlpha:.45,bridgeColor:2306631,bridgeAlpha:.95,grassBase:3232315,grassLawn:5210447,treeTrunk:2835501,treeMid:4156223,treeHi:5539412,grove0:2637864,grove1:4222784,grove2:6130776,fence:8153685,road:3159098,roadDash:13676922,curb:3025447,water:2181730,ripple:3967139,rippleHi:7913424,edgeGreen:7310175,edgeGreenHi:9417850,logoDirt:10265207,logoDirtHi:12301197};if(u.fillStyle(D.skyTop,1),u.fillRect(d,m,p,R*8.2),u.fillStyle(D.skyBand,1),u.fillRect(d,m+R*6.15,p,R*2.05),o){u.fillStyle(16775400,.45);for(let me=0;me<5;me++){const Oe=d+p*(.12+me*.19)+me*17%40,rt=m+R*(1.4+me%3*.35);u.fillEllipse(Oe,rt,R*2.2,R*.95)}u.fillStyle(16773808,.92),u.fillCircle(g-R*2.4,m+R*1.25,R*.85),u.fillStyle(16776432,.35),u.fillCircle(g-R*2.4,m+R*1.25,R*1.45)}u.fillStyle(D.towerFar,1);for(let me=d-R;meR*1.9&&u.fillRect(me+Je-8,Me+4,3,3));u.fillStyle(D.facadeColor,D.facadeAlpha),u.fillRect(me+Je*.5,be+R*.4,2,fe-R*.8),u.fillStyle(D.towerNear,1)}u.fillStyle(D.bridgeColor,D.bridgeAlpha);for(let me=d+R*6;me(me.offsetCol+2.95)*R),A=R*.9,M=n-R*1.8,$=6,W=R*1.7,B=r+R*.08,U=R*2.05,H=B+U,V=R*9.4,Y=w-V/2,Q=H-2,q=R*3.1,G=Q+q,J=R*2.3;u.fillStyle(12428667,1),u.fillRect(w-R*4.25,G,R*8.5,C-G),u.fillStyle(14141089,.95);for(let me=G+R*.35;meX&&u.fillRect(X,B,Oe-X,$),u.fillStyle(8415310,1),u.fillRect(Oe-4,B,4,R*.62),u.fillRect(Oe+W,B,4,R*.62),u.fillStyle(11045217,1),u.fillRect(Oe,B,W,4),u.fillStyle(15920612,1),X=Oe+W}Xw-R*5.4&&me=0&&this.decor.splice(me,1),this.outdoorParking.destroy(),this.outdoorParking=null}const Ce=t.add.graphics();Ce.setDepth(-300);const Be=4080460,Ge=15262424,Ye=[{x:d+R*2.2,count:5},{x:g-R*11.4,count:5}];Ce.lineStyle(0,0,0),Ce.fillStyle(Be,1);for(const me of Ye)Ce.fillRect(me.x,_,R*12.8,R*3.8);Ce.lineStyle(1,Ge,.95);for(const me of Ye)for(let Oe=0;Oew-R;for(let rt=0;rt=0&&this.decor.splice(a,1),this.outdoorParking.destroy(),this.outdoorParking=null}if(this.outdoorBackdrop){const a=this.decor.indexOf(this.outdoorBackdrop);a>=0&&this.decor.splice(a,1),this.outdoorBackdrop.destroy(),this.outdoorBackdrop=null}this.buildOutdoorBackdrop(t,i,o,r,n,{skipLabels:!0})}buildBoundaryDecor(t,n,r){const i=t.add.graphics();i.setDepth(-140);const o=t.add.graphics();o.setDepth(-95);const a=((n[n.length-1]?.offsetCol??0)+Pn)*R,u=Qr*R,d=Pn*R,m=R*2,p=R*20;this.buildOutdoorBackdrop(t,a,u,n,r),i.fillStyle(2498844,1),i.fillRect(-R,0,a+R*2,u),i.fillStyle(3221794,1),i.fillRect(0,0,a,u),i.fillStyle(6048831,1),i.fillRect(0,0,a,8),i.fillRect(0,u-8,a,8),i.fillRect(0,0,8,u),i.fillRect(a-8,0,8,u),i.fillStyle(2367001,1),i.fillRect(8,8,a-16,3),i.fillRect(8,u-11,a-16,3),i.fillStyle(1709844,1),i.fillRect(0,0,a,m),i.fillStyle(4931637,1),i.fillRect(0,m-5,a,5),i.fillStyle(4208173,1),i.fillRect(0,m,a,u-m),i.fillStyle(4865588,1),i.fillRect(0,R*8,a,R*4),i.fillStyle(3813416,1),i.fillRect(0,p,a,u-p),i.lineStyle(1,5917503,.32);for(let h=0;h<=a;h+=R)i.beginPath(),i.moveTo(h,m),i.lineTo(h,u),i.strokePath();for(let h=m;h<=u;h+=R)i.beginPath(),i.moveTo(0,h),i.lineTo(a,h),i.strokePath();for(let h=R*3;hM.id===h.id);i.fillStyle(5785659,1),i.fillRect(g-10,0,d+20,u),i.fillStyle(2301208,1),i.fillRect(g-4,0,d+8,u),i.lineStyle(2,8087640,.9),i.strokeRect(g-10,0,d+20,u),i.lineStyle(2,10982014,.34),i.strokeRect(g-4,0,d+8,u),i.fillStyle(1578259,1),i.fillRect(g-4,0,d+8,R),i.fillStyle(7166796,1),i.fillRect(g+R*5.5,R*.55,R*9,5),i.fillStyle(9074018,1),i.fillRect(g-10,0,8,8),i.fillRect(g+d+2,0,8,8),i.fillRect(g-10,u-8,8,8),i.fillRect(g+d+2,u-8,8,8),i.fillStyle(3221536,1),i.fillRect(g-4,p,d+8,6);const v=g+R*.7,k=g+R*14.65,S=R*1.05,_=R*4.45,w=R*6.4,C=S+w+R*.35,N=R*.55,O=y%2===0?6115909:5069382,I=y%2===0?4609113:5984070,D=y%2===0?5205640:7297908,T=y%2===0?5666919:9073231,L=y%2===0?7045045:10119803,A=y%2===0?6196089:10979160;i.fillStyle(2827295,1),i.fillRect(g+R*.58,C,d-R*1.16,R*.44),i.fillStyle(7692879,1),i.fillRect(g+R*.92,C+2,d-R*1.84,2),i.fillRect(g+R*4.3,C-R*.2,4,R*.84),i.fillRect(g+d-R*4.3,C-R*.2,4,R*.84),o.fillStyle(1906966,1),o.fillRect(v,S,_,w),o.fillRect(k,S,_,w),o.fillStyle(3090722,1),o.fillRect(v+4,S+4,_-8,w-8),o.fillRect(k+4,S+4,_-8,w-8),o.fillStyle(O,1),o.fillRect(v+4,S+4,_-8,R*.7),o.fillStyle(I,1),o.fillRect(k+4,S+4,_-8,R*.7),o.fillStyle(D,.95),o.fillRect(v+4,S+R*1.15,_-8,w-R*1.45),o.fillStyle(T,.95),o.fillRect(k+4,S+R*1.15,_-8,w-R*1.45),o.fillStyle(15127204,.16),o.fillRect(v+10,S+10,_-20,2),o.fillRect(k+10,S+10,_-20,2),o.lineStyle(1,6181444,.28);for(let M=v+12;M","#2d241c","#e8d5b6","8px"),this.decor.push(i,o)}buildMap(t,n=Yc()){this.clearSceneDecor();const r=Bn(),i=((r[r.length-1]?.offsetCol??0)+Pn)*R,o=Qr*R,a=this.getOutdoorMetrics(i,o);this.buildBoundaryDecor(t,r,n);for(const m of r){const p=(m.offsetCol+Pn/2)*R,h=t.add.image(m.offsetCol*R,0,"office-bg");h.setOrigin(0,0),h.setDepth(-100),this.bgSprites.push(h),this.addForegroundOccluders(t,m);const g=t.add.text(p,6,m.name,{fontSize:"14px",fontFamily:"monospace",color:"#ffffff",stroke:"#000000",strokeThickness:3,align:"center"});g.setOrigin(.5,0),g.setDepth(99999),g.setData("officeId",m.id),this.nameLabels.push(g)}const u=Hj(r),d=zf.buildWallBodies(t,u);return console.log("[OfficeMapBuilder] Composite map ready โ€”",r.length,"offices"),{wallBodies:d,collisionGrid:u,waterfront:{dockCenterX:a.gateCenterX,dockY:a.dockY,waterTopY:a.waterTopY,waterBottomY:a.bottomY}}}getBackgroundSprites(){return this.bgSprites}getNameLabels(){return this.nameLabels}updateLabel(t,n){const r=this.nameLabels.find(i=>i.getData("officeId")===t);r&&r.setText(n)}static buildWallBodies(t,n){const r=n.length,i=r>0?n[0].length:0,o=t.physics.add.staticGroup();for(let a=0;a=0){const p=d-u,h=t.add.rectangle(u*R+p*R/2,a*R+R/2,p*R,R);h.setVisible(!1),o.add(h),u=-1}}}return o}static buildWallBodiesForRegion(t,n,r,i){const o=n.length,a=o>0?n[0].length:0;for(let u=0;u=0){const h=m-d,g=t.add.rectangle((i+d)*R+h*R/2,u*R+R/2,h*R,R);g.setVisible(!1),r.add(g),d=-1}}}}}const ot={IDLE:"idle",WALK:"walk",TYPE:"type",THINK:"think",CELEBRATE:"celebrate",COFFEE:"coffee",CHAT:"chat",PRACTICE:"practice",REFLECT:"reflect",SLEEP:"sleep",PRESENT:"present"},Fa={DOWN:"down",LEFT:"left",RIGHT:"right",UP:"up"};function Iy(e,t){return e+Math.random()*(t-e)}function SM(e,t){return Math.floor(Iy(e,t+1))}class wM extends $r.GameObjects.Container{constructor(t,n,r,i,o,a){const u=o*R+R/2,d=a*R+R/2;super(t,u,d),this.officeId="office-0",this.agentState=ot.IDLE,this.dir=Fa.DOWN,this.isActive=!1,this.currentTool=null,this.seatId=null,this.urgency="relaxed",this.isSubagent=!1,this.parentAgentId=null,this.lastEventAt=0,this.stateTimer=0,this.seatTimer=0,this.wanderCount=0,this.hueShift=0,this.bubbleText=null,this.bubbleTimer=0,this.myceliumEffect=null,this.myceliumEffectTimer=0,this.myceliumSession=null,this.bubbleObj=null,this.currentPath=[],this.pathIndex=0,this.pathfinder=null,this.arrivalCallback=null,this.agentId=n,this.displayName=r,this.palette=i%6,this.wanderTimer=Iy(.5,2.5),this.wanderLimit=SM(Lj,zj);const m=`char_${this.palette}`;this.shadow=t.add.ellipse(0,rM,tM,nM,1382432,iM),this.shadow.setOrigin(.5,.5),this.add(this.shadow),this.sprite=t.add.sprite(0,0,m),this.sprite.setScale(J3,eM),this.sprite.setOrigin(.5,1),this.add(this.sprite),t.add.existing(this),t.physics.world.enable(this);const p=Math.min(12,R-4),h=Math.min(6,R/2);this.body.setSize(p,h),this.body.setOffset(-p/2,-h),this.body.setCollideWorldBounds(!0),this.setDepth(d),this.playAnimForState()}setPathfinder(t){this.pathfinder=t}getState(){return this.agentState}getTilePos(){return{x:Math.floor(this.x/R),y:Math.floor(this.y/R)}}setAgentState(t){this.agentState!==t&&(this.agentState=t,this.playAnimForState())}setDirection(t){this.dir!==t&&(this.dir=t,this.playAnimForState())}playAnimForState(){if(!this.sprite?.anims)return;const t=`char_${this.palette}`,n=this.dir,r=n===Fa.LEFT;this.sprite.setFlipX(r);const i=r?"right":n;switch(this.agentState){case ot.WALK:this.sprite.play(`${t}_walk_${i}`,!0);break;case ot.CELEBRATE:this.sprite.play(`${t}_celebrate_${i}`,!0);break;case ot.TYPE:case ot.PRESENT:case ot.PRACTICE:this.sprite.play(`${t}_type_${i}`,!0);break;case ot.THINK:case ot.REFLECT:this.sprite.play(`${t}_read_${i}`,!0);break;case ot.COFFEE:case ot.CHAT:this.sprite.play(`${t}_coffee_${i}`,!0);break;case ot.SLEEP:case ot.IDLE:default:this.sprite.play(`${t}_idle_${i}`,!0);break}}async walkTo(t,n,r){if(!this.pathfinder||!this.sprite?.anims)return!1;const i=this.getTilePos(),o=await this.pathfinder.findPath(i,{x:t,y:n});return o.length===0?!1:(this.currentPath=o,this.pathIndex=0,this.arrivalCallback=r??null,this.setAgentState(ot.WALK),!0)}stopMovement(){this.currentPath=[],this.pathIndex=0,this.arrivalCallback=null,this.body?.setVelocity(0,0)}get isMoving(){return this.agentState===ot.WALK&&this.currentPath.length>0}getWalkSpeed(){switch(this.urgency){case"urgent":return lM;case"normal":return cM;default:return uM}}showBubble(t,n=mM){this.bubbleText=t,this.bubbleTimer=n,this.updateBubbleDisplay()}clearBubble(){this.bubbleText=null,this.bubbleTimer=0,this.bubbleObj&&(this.bubbleObj.destroy(),this.bubbleObj=null)}updateBubbleDisplay(){if(this.bubbleObj&&(this.bubbleObj.destroy(),this.bubbleObj=null),!this.bubbleText)return;const t=this.scene.add.container(this.x,this.y-70),n=this.scene.add.text(0,0,this.bubbleText,{fontSize:"10px",fontFamily:"monospace",color:"#1a1a2e",backgroundColor:"#ffffff",padding:{x:4,y:2},resolution:2});n.setOrigin(.5,1);const r=this.scene.add.graphics(),i=n.width+8,o=n.height+4;r.fillStyle(16777215,.95),r.fillRoundedRect(-i/2,-o,i,o,4),r.lineStyle(1,6710886,.5),r.strokeRoundedRect(-i/2,-o,i,o,4),t.add([r,n]),t.setDepth(1e5),this.bubbleObj=t}update(t){this.setDepth(this.y),this.bubbleObj&&(this.bubbleObj.setPosition(this.x,this.y-70),this.bubbleTimer>0&&(this.bubbleTimer-=t,this.bubbleTimer<=0&&this.clearBubble())),this.stateTimer>0&&(this.stateTimer-=t,this.stateTimer<=0&&(this.stateTimer=0,this.agentState===ot.CELEBRATE&&this.setAgentState(ot.IDLE),this.agentState===ot.COFFEE&&(this.setAgentState(ot.IDLE),this.wanderTimer=Iy(Sf,wf)),this.agentState===ot.CHAT&&this.setAgentState(ot.IDLE))),this.agentState===ot.WALK&&this.currentPath.length>0&&this.followPath(t)}followPath(t){if(this.body.setVelocity(0,0),this.pathIndex>=this.currentPath.length){this.arriveAtDestination();return}const n=this.currentPath[this.pathIndex],r=n.x*R+R/2,i=n.y*R+R/2,o=r-this.x,a=i-this.y,u=Math.sqrt(o*o+a*a),m=this.getWalkSpeed()*t;if(u<=m+.5){this.x=r,this.y=i,this.pathIndex++,this.pathIndex>=this.currentPath.length&&this.arriveAtDestination();return}this.x+=o/u*m,this.y+=a/u*m,Math.abs(o)>Math.abs(a)?this.setDirection(o>0?Fa.RIGHT:Fa.LEFT):this.setDirection(a>0?Fa.DOWN:Fa.UP)}arriveAtDestination(){this.currentPath=[],this.pathIndex=0,this.body.setVelocity(0,0);const t=this.arrivalCallback;this.arrivalCallback=null,t?t():this.agentState===ot.WALK&&this.setAgentState(ot.IDLE)}destroy(t){this.clearBubble(),super.destroy(t)}}var fg,Dk;function CM(){return Dk||(Dk=1,fg=function(){this.pointsToAvoid={},this.startX,this.callback,this.startY,this.endX,this.endY,this.nodeHash={},this.openList}),fg}var mg,Ok;function jM(){return Ok||(Ok=1,mg=function(e,t,n,r,i){this.parent=e,this.x=t,this.y=n,this.costSoFar=r,this.simpleDistanceToTarget=i,this.bestGuessDistance=function(){return this.costSoFar+this.simpleDistanceToTarget}}),mg}var Cf={exports:{}},EM=Cf.exports,Lk;function NM(){return Lk||(Lk=1,(function(e,t){(function(){var n,r,i,o,a,u,d,m,p,h,g,y,v,k,S;i=Math.floor,h=Math.min,r=function(_,w){return _w?1:0},p=function(_,w,C,N,O){var I;if(C==null&&(C=0),O==null&&(O=r),C<0)throw new Error("lo must be non-negative");for(N==null&&(N=_.length);CA;0<=A?L++:L--)T.push(L);return T}).apply(this).reverse(),D=[],N=0,O=I.length;NM;0<=M?++T:--T)$.push(a(_,C));return $},k=function(_,w,C,N){var O,I,D;for(N==null&&(N=r),O=_[C];C>w;){if(D=C-1>>1,I=_[D],N(O,I)<0){_[C]=I,C=D;continue}break}return _[C]=O},S=function(_,w,C){var N,O,I,D,T;for(C==null&&(C=r),O=_.length,T=w,I=_[w],N=2*w+1;Nh[0].length-1||W>h.length-1||B>h[0].length-1||U>h.length-1)throw new Error("Your start or end point is outside the scope of your grid.");if($===B&&W===U){V([]);return}for(var Y=h[U][B],Q=!1,q=0;q"u"){w.shift();continue}if(W.openList.size()===0){W.callback(null),delete _[$],w.shift();continue}var B=W.openList.pop();if(W.endX===B.x&&W.endY===B.y){var U=[];U.push({x:B.x,y:B.y});for(var H=B.parent;H!=null;)U.push({x:H.x,y:H.y}),H=H.parent;U.reverse();var V=U;W.callback(V),delete _[$],w.shift();continue}B.list=i,B.y>0&&I(W,B,0,-1,u*L(B.x,B.y-1)),B.x0&&I(W,B,-1,0,u*L(B.x-1,B.y)),O&&(B.x>0&&B.y>0&&(k||D(h,N,B.x,B.y-1,B)&&D(h,N,B.x-1,B.y,B))&&I(W,B,-1,-1,d*L(B.x-1,B.y-1)),B.x0&&(k||D(h,N,B.x,B.y-1,B)&&D(h,N,B.x+1,B.y,B))&&I(W,B,1,-1,d*L(B.x+1,B.y-1)),B.x>0&&B.y[...n]),this.gridRows=this.grid.length,this.gridCols=this.gridRows>0?this.grid[0].length:0,this.easystar=new RM.js,this.easystar.setGrid(this.grid),this.easystar.setAcceptableTiles([0]),this.easystar.setIterationsPerCalculation(800)}findPath(t,n){return new Promise(r=>{if(t.x<0||t.x>=this.gridCols||t.y<0||t.y>=this.gridRows||n.x<0||n.x>=this.gridCols||n.y<0||n.y>=this.gridRows){r([]);return}if(this.grid[n.y]?.[n.x]===1){const i=this.findNearestWalkable(n.x,n.y);if(!i){r([]);return}n=i}if(this.grid[t.y]?.[t.x]===1){const i=this.findNearestWalkable(t.x,t.y);if(!i){r([]);return}t=i}this.easystar.findPath(t.x,t.y,n.x,n.y,i=>{r(i??[])}),this.easystar.calculate()})}blockTile(t,n){n>=0&&n=0&&t=0&&n=0&&t=this.grid.length||t<0||t<0||t>=this.grid[0].length?!1:this.grid[n][t]===0}getWalkableTiles(){const t=[];for(let n=0;n=i&&e=o&&tMM(`${e.id}-${u.id}`,u.localX+t,u.localY,u.type)),doorways:o.doorways.map(u=>({id:`${e.id}-${u.id}`,tileX:u.localX+t,tileY:u.localY}))}}const r={};for(const[i,o]of e.seats){const a=OM(i,o),u=`${e.id}-${a}`;if(!n[u])continue;r[u]=(r[u]??0)+1;const d=r[u],m=a==="workspace"?"desk":a==="meetingRoom"?"meeting":a==="breakRoom"?"break":a==="leaderOffice"?"leader":"lobby",p=DM(i,o,a);n[u].seats.push(AM(`${e.id}-${m}-${d}`,i+t,o,p))}return n}function Vj(e){const t=e??Bn(),n={};for(const r of t)Object.assign(n,LM(r));return n}let po=Vj();function zM(e){po=Vj(e)}function Uj(e){const t=po[`${e}-workspace`]?.seats??[],n=po[`${e}-leaderOffice`]?.seats??[];return[...t,...n]}function $k(){return Object.values(po).flatMap(e=>e.seats)}function PM(e){const t=po[e];if(!t)return null;const{x:n,y:r,w:i,h:o}=t.bounds,a=e.split("-").slice(0,2).join("-"),d=Bn().find(g=>g.id===a);if(!d)return{x:n+1,y:r+1};const m=$j(d.mapStr),p=d.offsetCol,h=[];for(let g=r;g=0&&v({x:n.tileX,y:n.tileY})):[]}function $o(e,t){return e+Math.random()*(t-e)}function BM(e,t){return Math.floor($o(e,t+1))}function Fi(e,t){return e.length>t?e.slice(0,t)+"...":e}function Fk(e){if(!e)return"Tool";const t=e.toLowerCase().trim();return t==="shell"?"Shell":t==="write_file"||t==="write"?"Write":t==="edit_file"||t==="edit"?"Edit":t==="read_file"||t==="read"?"Read":t==="grep"||t==="search"?"Search":t==="web_search"||t==="websearch"?"WebSearch":t==="web_fetch"||t==="webfetch"?"Fetch":e.slice(0,12)}class $M{constructor(t){this.pendingDespawn=new Set,this.scene=t}applyEvent(t){const n=t.data??{},r=t.agent_id||"openopc-main";if(r==="user")return;const i=r.startsWith("subagent-"),o=i?typeof n.parent_agent_id=="string"?n.parent_agent_id:"openopc-main":null,a=i?`Sub ${r.slice(-4)}`:void 0,u=this.scene.ensureAgent(r,a,i,o);switch(u.lastEventAt=Date.now(),typeof n.task_preview=="string"&&(u.taskSummary=n.task_preview),typeof n.result_preview=="string"&&(u.taskSummary=n.result_preview),t.type){case"tool_start":this.onToolStart(u,n);break;case"tool_done":this.onToolDone(u,n);break;case"agent_active":this.onAgentActive(u);break;case"waiting":this.onWaiting(u);break;case"reflect_start":this.onReflectStart(u);break;case"reflect_done":this.onReflectDone(u);break;case"skill_synthesized":this.onSkillSynthesized(u,n);break;case"subagent_spawn":this.onSubagentSpawn(u,r,o);break;case"subagent_done":this.onSubagentDone(u,r);break;case"message_in":this.onMessageIn(u,n);break;case"message_out":this.onMessageOut(u,n);break;case"practice_start":this.onPracticeStart(u,n);break;case"practice_done":this.onPracticeDone(u);break;case"task_routed":this.onTaskRouted(u,n);break;case"task_delegated":this.onTaskDelegated(u,r,n);break;case"delegation_done":this.onDelegationDone(u,n);break;case"agent_spawned":this.onAgentSpawned(u,r,n);break;case"agent_removed":this.onAgentRemoved(u,r);break;case"collab_started":this.onCollabStarted(u);break;case"collab_ended":this.onCollabEnded(u);break;case"skill_published":this.onSkillPublished(u,n);break;case"skill_adopted":this.onSkillAdopted(u,n);break;case"mycelium_transport":this.onMyceliumTransport(u,r,n);break;case"mycelium_crystallize":this.onMyceliumCrystallize(u,r,n);break;case"mycelium_spore":this.onMyceliumSpore(u,r,n);break;case"mycelium_decompose":this.onMyceliumDecompose(u,r,n);break;case"mycelium_unit_created":this.onMyceliumUnitCreated(u,n);break;case"mycelium_germinate":this.onMyceliumGerminate(u,r,n);break;case"hyphal_strengthen":this.onHyphalStrengthen(r,n);break;case"hyphal_weaken":this.onHyphalWeaken(r,n);break}}onToolStart(t,n){const r=typeof n.tool_name=="string"?n.tool_name:"tool",i=Fk(r);t.urgency="urgent",t.currentTool=r,t.isActive=!0,t.showBubble(`${i}...`),this.sendToSeat(t)}onToolDone(t,n){const r=typeof n.tool_name=="string"?n.tool_name:t.currentTool,i=Fk(r);t.currentTool=null,t.setAgentState(ot.CELEBRATE),t.stateTimer=Ha,t.isActive=!1,t.showBubble(`${i} done`)}onAgentActive(t){t.urgency="urgent",t.isActive=!0,t.currentTool||this.sendToSeat(t)}onWaiting(t){t.urgency="relaxed",t.isActive=!1,t.currentTool=null,t.showBubble("Waiting");const n=this.moveToZone(t,"breakRoom",ot.COFFEE);n||t.setAgentState(ot.IDLE),n&&(t.stateTimer=$o(dM,fM))}onReflectStart(t){t.urgency="normal",t.isActive=!1,t.currentTool="Reflect",this.moveToZone(t,"meetingRoom",ot.REFLECT)||t.setAgentState(ot.REFLECT),t.stateTimer=30,t.showBubble("Reflecting...")}onReflectDone(t){t.currentTool=null,t.setAgentState(ot.CELEBRATE),t.stateTimer=Ha,t.showBubble("Insight!")}onSkillSynthesized(t,n){const r=Fi(String(n.skill_name??"new"),20);t.setAgentState(ot.PRESENT),t.showBubble(`New Skill: ${r}`)}onSubagentSpawn(t,n,r){this.placeAtDoorway(t),t.urgency="urgent",t.isActive=!0,t.showBubble("Spawned"),this.sendToSeat(t)}onSubagentDone(t,n){t.urgency="relaxed",t.currentTool=null,t.isActive=!1,t.showBubble("Finished"),this.moveToDoorway(t)?this.pendingDespawn.add(n):this.scene.removeAgent(n)}onMessageIn(t,n){t.urgency="urgent";const r=typeof n.content_preview=="string"?n.content_preview:"";r&&(t.taskSummary=r);const i=r?Fi(r,30):"New task";t.showBubble(i),t.isActive=!0,this.sendToSeat(t)}onMessageOut(t,n){const r=typeof n.content_preview=="string"?n.content_preview:"";r&&(t.taskSummary=r);const i=r?Fi(r,30):"Reply sent";t.showBubble(`Reply: ${i}`)}onPracticeStart(t,n){t.urgency="normal";const r=typeof n.target_domain=="string"?n.target_domain:"Practice";t.showBubble(`Practicing: ${Fi(r,20)}`),t.isActive=!1,t.currentTool="Practice",this.moveToZone(t,"meetingRoom",ot.PRACTICE)||t.setAgentState(ot.PRACTICE)}onPracticeDone(t){t.currentTool=null,t.setAgentState(ot.CELEBRATE),t.stateTimer=Ha,t.showBubble("Practice done!")}onTaskRouted(t,n){t.urgency="urgent";const r=typeof n.method=="string"?n.method:"auto";t.isActive=!0,this.sendToSeat(t),t.showBubble(`Assigned (${r})`)}onTaskDelegated(t,n,r){t.urgency="normal",t.stateTimer=$o(Nk,Ik);const i=typeof r.target=="string"?r.target:"?";t.setAgentState(ot.CHAT),t.showBubble(`Delegating to ${i}...`);const o=this.scene.getAgent(i);o&&(o.parentAgentId=n,o.showBubble("Receiving task..."))}onDelegationDone(t,n){const r=typeof n.target=="string"?n.target:"";if(t.setAgentState(ot.IDLE),t.showBubble("Delegation complete"),r){const i=this.scene.getAgent(r);i&&(i.parentAgentId=null)}}onAgentSpawned(t,n,r){const i=typeof r.role_name=="string"?r.role_name:n;t.displayName=i,this.placeAtDoorway(t),this.sendToSeat(t),t.showBubble(`${i} joined`)}onAgentRemoved(t,n){t.showBubble("Leaving..."),this.moveToDoorway(t)?this.pendingDespawn.add(n):this.scene.removeAgent(n)}onCollabStarted(t){t.urgency="normal",t.isActive=!1,t.stateTimer=$o(Nk,Ik),this.moveToZone(t,"meetingRoom",ot.CHAT),t.showBubble("Collaborating...")}onCollabEnded(t){t.stateTimer=Ha,t.setAgentState(ot.CELEBRATE),t.showBubble("Collaboration done!")}onSkillPublished(t,n){const r=Fi(String(n.skill_name??"skill"),20);t.setAgentState(ot.CELEBRATE),t.stateTimer=Ha,t.showBubble(`Published: ${r}`)}onSkillAdopted(t,n){const r=Fi(String(n.skill_name??"skill"),20);t.showBubble(`Adopted: ${r}`)}onMyceliumTransport(t,n,r){const i=typeof r.source=="string"?r.source:n,o=typeof r.target=="string"?r.target:null,a=typeof r.domain=="string"?Fi(r.domain,15):"?",u=this.scene.ensureAgent(i);if(u.myceliumEffect="transport_send",u.myceliumEffectTimer=3,u.showBubble(`-> [${a}]`),o){const d=this.scene.ensureAgent(o);d.myceliumEffect="transport_recv",d.myceliumEffectTimer=2,d.showBubble("Receiving...");const m=d.getTilePos();u.walkTo(m.x,m.y+1)}}onMyceliumCrystallize(t,n,r){const i=Array.isArray(r.corroborating_agents)?r.corroborating_agents:[],o=Fi(String(r.content_preview??"Knowledge"),22),a=Array.from(new Set([n,...i])),u=`${t.officeId}-meetingRoom`,d=po[u]?.seats??[];for(let m=0;m{h.setDirection(y.facing),h.setAgentState(ot.CHAT)}),h.showBubble(p===n?`Crystal: ${o}`:"Crystal!")}}onMyceliumSpore(t,n,r){const i=Fi(String(r.content_preview??"Breakthrough"),20);t.myceliumEffect="spore_send",t.myceliumEffectTimer=4,t.setAgentState(ot.PRESENT),t.showBubble(`Breakthrough! ${i}`),this.moveToZone(t,"breakRoom")}onMyceliumDecompose(t,n,r){const i=Fi(String(r.humus_preview??"Lesson learned"),22);t.myceliumEffect="decompose",t.myceliumEffectTimer=4,t.setAgentState(ot.REFLECT),t.showBubble(`Learning: ${i}`),this.moveToZone(t,"meetingRoom")}onMyceliumUnitCreated(t,n){const r=String(n.nutrient_type??"insight").slice(0,1).toUpperCase();t.showBubble(`[${r}]...`,2)}onMyceliumGerminate(t,n,r){const i=typeof r.target_agent=="string"?r.target_agent:n,o=this.scene.ensureAgent(i);o.myceliumEffect=null,o.setAgentState(ot.CELEBRATE),o.stateTimer=Ha,o.showBubble("Insight took root!")}onHyphalStrengthen(t,n){}onHyphalWeaken(t,n){}updateIdle(t){for(const n of this.scene.agents.values()){if(this.pendingDespawn.has(n.agentId)&&!n.isMoving){this.pendingDespawn.delete(n.agentId),this.scene.removeAgent(n.agentId);continue}if(n.myceliumEffectTimer>0&&(n.myceliumEffectTimer-=t,n.myceliumEffectTimer<=0&&(n.myceliumEffect=null,n.myceliumEffectTimer=0,n.myceliumSession=null)),n.agentState===ot.TYPE&&!n.isActive){n.seatTimer>0?(n.seatTimer-=t,n.seatTimer<=0&&(n.seatTimer=0,n.setAgentState(ot.IDLE),n.wanderCount=0,n.wanderLimit=BM(Lj,zj),n.wanderTimer=$o(Sf,wf))):n.setAgentState(ot.IDLE);continue}if(n.agentState===ot.IDLE){if(n.isActive){if(n.urgency="urgent",!n.seatId){n.setAgentState(ot.TYPE);continue}this.sendToSeat(n);continue}if(n.wanderTimer-=t,n.wanderTimer<=0){if(n.wanderCount>=n.wanderLimit&&n.seatId){n.urgency="relaxed",this.sendToSeat(n),n.wanderTimer=$o(Sf,wf);continue}const r=this.scene.getWalkableTilesForOffice(n.officeId);if(r.length>0){n.urgency="relaxed";const i=r[Math.floor(Math.random()*r.length)];n.walkTo(i.x,i.y),n.wanderCount++}n.wanderTimer=$o(Sf,wf)}}}}sendToSeat(t){if(!t.seatId)return;const n=this.scene.getSeatById(t.seatId);n&&t.walkTo(n.tileX,n.tileY,()=>{t.setAgentState(ot.TYPE),t.setDirection(n.facing),t.isActive||(t.seatTimer=Tk+Math.random()*Rk)}).then(r=>{r||(t.setAgentState(ot.TYPE),t.setDirection(n.facing),t.isActive||(t.seatTimer=Tk+Math.random()*Rk))})}moveToZone(t,n,r){const i=`${t.officeId}-${n}`,o=po[i];if(!o)return!1;if(o.seats.length>0){const u=new Set;for(const m of this.scene.agents.values()){if(m===t||m.isMoving)continue;const p=m.getTilePos();u.add(`${p.x},${p.y}`)}for(const m of this.scene.agents.values()){if(m===t||!m.isMoving)continue;const p=m.currentPath;if(p?.length){const h=p[p.length-1];u.add(`${h.x},${h.y}`)}}const d=o.seats.find(m=>!u.has(`${m.tileX},${m.tileY}`));if(d)return t.walkTo(d.tileX,d.tileY,()=>{t.setDirection(d.facing),r?t.setAgentState(r):t.setAgentState(ot.IDLE)}),!0}const a=PM(i);return a?(t.walkTo(a.x,a.y,()=>{r?t.setAgentState(r):t.setAgentState(ot.IDLE)}),!0):!1}moveToDoorway(t){const n=Hk(t.officeId);if(n.length===0)return!1;const r=n[Math.floor(Math.random()*n.length)];return t.walkTo(r.x,r.y),!0}placeAtDoorway(t){const n=Hk(t.officeId);if(n.length>0){const r=n[Math.floor(Math.random()*n.length)];t.setPosition(r.x*R+R/2,r.y*R+R/2)}}}class HM extends $r.Scene{constructor(){super("Office"),this.yachtLoopStarted=!1,this.outdoorIsDay=null,this.agents=new Map,this.seats=[],this.walkableTiles=[],this.walkableTilesByOffice=new Map,this.dragState={pointerId:null,lastX:0,lastY:0,moved:!1}}create(){this.bridge=this.registry.get("bridge");const t=Yc();this.outdoorIsDay=t,this.cameras.main.setBackgroundColor(t?jk:Ek),this.mapBuilder=new zf,this.mapData=this.mapBuilder.buildMap(this,t),this.pathfinder=new Bk(this.mapData.collisionGrid),this.walkableTiles=this.pathfinder.getWalkableTiles(),this.buildWalkableTilesByOffice(),this.seats=$k().map(d=>({...d})),this.behavior=new $M(this);const n=cg*R,r=Ec*R,i=-Wc,o=-el,a=n+Wc*2,u=r+el+rl;this.physics.world.setBounds(i,o,a,u),this.cameras.main.setBounds(i,o,a,u),this.resetCameraView(!1),this.startWaterfrontLoop(),this.input.on("pointerdown",d=>{d.leftButtonDown()&&(this.dragState.pointerId=d.id,this.dragState.lastX=d.x,this.dragState.lastY=d.y,this.dragState.moved=!1)}),this.input.on("pointermove",d=>{if(!d.isDown||this.dragState.pointerId!==d.id)return;const m=d.x-this.dragState.lastX,p=d.y-this.dragState.lastY;if(!this.dragState.moved&&Math.abs(d.downX-d.x)+Math.abs(d.downY-d.y)<6)return;this.dragState.moved=!0;const h=this.cameras.main;h.stopFollow(),h.scrollX-=m/h.zoom,h.scrollY-=p/h.zoom,this.dragState.lastX=d.x,this.dragState.lastY=d.y}),this.input.on("wheel",(d,m,p,h)=>{const g=this.cameras.main,y=this.input.activePointer,v=g.getWorldPoint(y.x,y.y),k=this.getMinCameraZoom(g),S=$r.Math.Clamp(g.zoom-h*.0015,k,3);g.setZoom(S);const _=g.getWorldPoint(y.x,y.y);g.scrollX+=v.x-_.x,g.scrollY+=v.y-_.y,g.scrollX=g.clampX(g.scrollX),g.scrollY=g.clampY(g.scrollY)}),this.scale.on("resize",()=>{const d=this.cameras.main,m=this.getMinCameraZoom(d);d.zoom{if(this.dragState.pointerId!==d.id)return;const m=this.dragState.pointerId===d.id&&this.dragState.moved;if(this.dragState.pointerId=null,this.dragState.moved=!1,m)return;const p=this.cameras.main.getWorldPoint(d.x,d.y);let h=null,g=1/0;for(const y of this.agents.values()){const v=$r.Math.Distance.Between(p.x,p.y,y.x,y.y);v<24&&vthis.add.circle(Y,5,2.1,14284031,.95));U.add(H),U.setDepth(-250),U.setAlpha(0),U.setRotation(-.04),U.setScale(o),this.tweens.add({targets:[h,g,y],scaleX:{from:.85,to:1.2},alpha:{from:.5,to:.2},duration:900,yoyo:!0,repeat:-1});const V=()=>{U.setPosition(u,a),U.setAlpha(0),U.setRotation(-.04),h.setAlpha(.55),g.setAlpha(.42),y.setAlpha(.24),this.tweens.add({targets:U,x:d,alpha:1,rotation:.015,duration:7200,ease:"Sine.InOut",onComplete:()=>{h.setAlpha(.22),g.setAlpha(.14),y.setAlpha(.08),this.tweens.add({targets:U,x:d+4,y:a+R*.12,duration:1400,yoyo:!0,repeat:2,ease:"Sine.InOut"}),this.time.delayedCall(3600,()=>{h.setAlpha(.48),g.setAlpha(.32),y.setAlpha(.18),this.tweens.add({targets:U,x:m,alpha:0,rotation:-.055,duration:7600,ease:"Sine.InOut",onComplete:()=>{this.time.delayedCall(2400,V)}})})}})};V()}buildWalkableTilesByOffice(){this.walkableTilesByOffice.clear();const t=Bn();for(const n of t){const r=[];for(const i of this.walkableTiles)i.x>=n.offsetCol&&i.xm.id===t);if(!r)return;const i=(r.offsetCol+Pn/2)*R,o=Ec/2*R,a=this.cameras.main,u=this.getMinCameraZoom(a),d=$r.Math.Clamp(Math.min(this.scale.width/((Pn+4)*R),this.scale.height/((Ec-4)*R)),u,Math.max(1.5,u));a.stopFollow(),this.tweens.add({targets:a,zoom:d,duration:380,ease:"Cubic.easeOut"}),a.pan(i,o,380,"Cubic.easeOut")}resolveOfficeForAgent(t){const n=bM(t);if(n)return n.id;const r=Bn();let i=null,o=-1;for(const u of r){const d=Uj(u.id),m=u.assignedAgents.length,p=d.length-m;p>o&&(i=u,o=p)}const a=i?.id??r[0]?.id??"office-0";return ug(a,t),a}addAgent(t,n,r=!1,i=null,o,a,u){if(this.agents.has(t))return this.agents.get(t);const d=n??t,m=a??this.agents.size%6,p=o?(ug(o,t),o):this.resolveOfficeForAgent(t),h=u?this.seats.find(C=>C.id===u&&!C.assigned)??this.findFreeSeatInOffice(p):this.findFreeSeatInOffice(p),v=(Bn().find(C=>C.id===p)?.offsetCol??0)+5,k=20;let S=v,_=k;h&&(S=h.tileX,_=h.tileY,h.assigned=!0,h.assignedTo=t);const w=new wM(this,t,d,m,S,_);return w.officeId=p,w.setPathfinder(this.pathfinder),w.seatId=h?.id??null,w.isSubagent=r,w.parentAgentId=i,h&&(w.setAgentState(ot.TYPE),w.setDirection(h.facing),w.seatTimer=10),this.agents.set(t,w),w}removeAgent(t){const n=this.agents.get(t);if(n){if(n.seatId){const r=this.seats.find(i=>i.id===n.seatId);r&&(r.assigned=!1,r.assignedTo=null)}n.destroy(),this.agents.delete(t);try{const{unassignAgent:r}=require("../map/OfficeStore");r(t)}catch{}}}getAgent(t){return this.agents.get(t)}ensureAgent(t,n,r=!1,i=null,o,a,u){const d=this.agents.get(t);return d?(o&&d.officeId!==o&&this.reassignAgent(t,o),u&&d.seatId!==u&&this.changeAgentSeat(t,u),d):this.addAgent(t,n,r,i,o,a,u)}findFreeSeatInOffice(t){const n=this.seats.filter(r=>r.id.startsWith(`${t}-desk-`)).find(r=>!r.assigned);return n||(this.seats.filter(r=>r.id.startsWith(`${t}-leader-`)).find(r=>!r.assigned)??null)}getSeatById(t){return this.seats.find(n=>n.id===t)}reassignAgent(t,n){const r=this.agents.get(t);if(!r)return;if(r.seatId){const m=this.seats.find(p=>p.id===r.seatId);m&&(m.assigned=!1,m.assignedTo=null)}r.stopMovement(),ug(n,t),r.officeId=n;const i=this.findFreeSeatInOffice(n),u=(Bn().find(m=>m.id===n)?.offsetCol??0)+5,d=20;i?(i.assigned=!0,i.assignedTo=t,r.seatId=i.id,r.setPosition(i.tileX*R+R/2,i.tileY*R+R/2),r.setAgentState(ot.TYPE),r.setDirection(i.facing),r.seatTimer=10):(r.seatId=null,r.setPosition(u*R+R/2,d*R+R/2))}getCharacterCards(){const t=[];for(const n of this.agents.values())t.push({id:n.agentId,displayName:n.displayName,state:n.agentState,currentTool:n.currentTool,isSubagent:n.isSubagent,parentAgentId:n.parentAgentId,taskSummary:n.taskSummary,lastEventAt:n.lastEventAt,officeId:n.officeId,seatId:n.seatId});return t}changeAgentSeat(t,n){const r=this.agents.get(t);if(!r)return;if(r.seatId){const o=this.seats.find(a=>a.id===r.seatId);o&&(o.assigned=!1,o.assignedTo=null)}const i=this.seats.find(o=>o.id===n);!i||i.assigned&&i.assignedTo!==t||(i.assigned=!0,i.assignedTo=t,r.seatId=n,r.stopMovement(),r.setPosition(i.tileX*R+R/2,i.tileY*R+R/2),r.setAgentState(ot.TYPE),r.setDirection(i.facing),r.seatTimer=10)}rebuildOfficeCollision(t,n,r){_M(t,n,r),this.mapData.wallBodies&&this.mapData.wallBodies.clear(!0,!0);const i=Bn(),o=Hj(i),a=zf.buildWallBodies(this,o);this.mapData={...this.mapData,wallBodies:a,collisionGrid:o},this.pathfinder=new Bk(o),this.walkableTiles=this.pathfinder.getWalkableTiles(),this.buildWalkableTilesByOffice(),zM(i),this.seats=$k().map(u=>({...u}));for(const u of this.agents.values())u.setPathfinder(this.pathfinder),u.stopMovement();console.log("[OfficeScene] Office collision rebuilt โ€”",t,"walkable:",this.walkableTiles.length)}renameOffice(t,n){yM(t,n),this.mapBuilder.updateLabel(t,n)}checkOutdoorDayNight(){this.applyOutdoorLighting(Yc())}syncOutdoorLighting(){this.applyOutdoorLighting(Yc())}applyOutdoorLighting(t){t!==this.outdoorIsDay&&(this.outdoorIsDay=t,this.cameras.main.setBackgroundColor(t?jk:Ek),this.mapBuilder.refreshOutdoorDayNight(this,t))}getWorldSize(){const t=cg*R,n=Ec*R;return{worldW:t+Wc*2,worldH:n+el+rl}}getMinCameraZoom(t){const{worldW:n,worldH:r}=this.getWorldSize();return Math.max(t.width/n,t.height/r)}}function FM({bridge:e,active:t=!0}){const n=j.useRef(null),r=j.useRef(null),i=j.useRef(null),o=j.useRef(t);return o.current=t,j.useEffect(()=>{const a=i.current;!a||!a.loop||(t?a.loop.started&&!a.loop.running&&(a.loop.wake(),a.scale.getParentBounds(),a.scale.refresh()):a.loop.running&&a.loop.sleep())},[t]),j.useEffect(()=>{if(!n.current||!r.current)return;const a=n.current,u=r.current,d=(p,h)=>{console.log("[PhaserGame] Creating Phaser game",p,"ร—",h);const g=hM(u,p,h);g.scene=[xM,HM];const y=new $r.Game(g);y.registry.set("bridge",e),y.events.once($r.Core.Events.READY,()=>{!o.current&&y.loop.running&&y.loop.sleep()}),i.current=y};if(typeof ResizeObserver>"u")return d(a.clientWidth||window.innerWidth-380,a.clientHeight||window.innerHeight-48),()=>{i.current?.destroy(!0),i.current=null};const m=new ResizeObserver(p=>{const h=p[p.length-1].contentRect,g=Math.floor(h.width),y=Math.floor(h.height);if(!(g<1||y<1))if(!i.current)d(g,y);else{const v=i.current.scale;v.getParentBounds(),v.refresh()}});return m.observe(a),()=>{m.disconnect(),i.current?.destroy(!0),i.current=null}},[e]),c.jsx("div",{ref:n,style:{width:"100%",height:"100%"},children:c.jsx("div",{ref:r,style:{width:"100%",height:"100%"}})})}class VM extends $r.Events.EventEmitter{constructor(){super(),this.scene=null,this.eventQueue=[],this.snapshotQueue=[]}setScene(t){this.scene=t;for(const n of this.snapshotQueue)this.applySnapshot(n);this.snapshotQueue=[];for(const n of this.eventQueue)this.applyEvent(n);this.eventQueue=[]}getScene(){return this.scene}pushEvent(t){if(!this.scene){this.eventQueue.push(t),this.eventQueue.length>500&&this.eventQueue.shift();return}this.applyEvent(t)}pushSnapshot(t){const n=Object.keys(t.agents??{}).length;if(!this.scene){console.log(`[GameBridge] pushSnapshot queued (scene not ready) โ€” ${n} agents`),this.snapshotQueue=[t],this.eventQueue=[];return}console.log(`[GameBridge] pushSnapshot applying now โ€” ${n} agents`),this.applySnapshot(t)}sendToSeat(t){this.scene&&this.scene.behavior.sendToSeat(this.scene.ensureAgent(t))}setAgentActive(t,n){if(!this.scene)return;const r=this.scene.getAgent(t);r&&(r.isActive=n)}setAgentBubble(t,n){if(!this.scene)return;const r=this.scene.getAgent(t);r&&(n?r.showBubble(n):r.clearBubble())}ensureAgent(t,n,r,i,o){this.scene&&this.scene.ensureAgent(t,n,!1,null,r,i,o)}getCharacterCards(){return this.scene?this.scene.getCharacterCards():[]}getOffices(){return Bn()}renameOffice(t,n){this.scene&&(this.scene.renameOffice(t,n),this.emit("officeChanged"))}assignAgentToOffice(t,n){this.scene&&(this.scene.reassignAgent(t,n),this.emit("officeChanged"))}panToOffice(t){this.scene&&this.scene.panToOffice(t)}resetCamera(){this.scene&&this.scene.resetCameraView()}syncOutdoorLighting(){this.scene&&this.scene.syncOutdoorLighting()}rebuildOfficeCollision(t,n,r){this.scene&&this.scene.rebuildOfficeCollision(t,n,r)}getSeatsForOffice(t){return this.scene?this.scene.seats.filter(n=>n.id.startsWith(`${t}-desk-`)||n.id.startsWith(`${t}-leader-`)).map(n=>({id:n.id,assigned:n.assigned,assignedTo:n.assignedTo})):[]}changeAgentSeat(t,n){this.scene&&(this.scene.changeAgentSeat(t,n),this.emit("officeChanged"))}notifyChannelMessage(t,n){if(this.scene)for(const r of t){const i=this.scene.getAgent(r);i&&(i.showBubble(n.slice(0,30)),setTimeout(()=>i.clearBubble(),4e3))}}triggerCrossOfficeMeeting(t){if(this.scene)for(const n of t){const r=this.scene.getAgent(n);r&&this.scene.behavior.moveToZone(r,"meetingRoom")}}triggerCelebration(t){if(!this.scene)return;const n=this.scene.getAgent(t);n&&(n.showBubble("๐ŸŽ‰ Done!"),setTimeout(()=>n.clearBubble(),3e3))}applyEvent(t){this.scene&&(this.scene.behavior.applyEvent(t),this.emit("eventApplied",t))}applySnapshot(t){if(!this.scene){console.warn("[GameBridge] applySnapshot called but scene is null");return}const n=Array.from(this.scene.agents.keys());console.log("[GameBridge] applySnapshot โ€” clearing",n.length,"old agents:",n);for(const o of n)this.scene.removeAgent(o);const r=t.timeline??[];for(const o of r)this.scene.behavior.applyEvent(o);const i=Object.entries(t.agents??{});console.log("[GameBridge] applySnapshot โ€” adding",i.length,"agents:",i.map(([o])=>o));for(const[o,a]of i){const u=a,d=u.name||u.role_name||o,m=u.office_id,p=u.appearance?.palette,h=u.appearance?.desk_id;try{const g=this.scene.ensureAgent(o,d,!1,null,m,p,h),y=u.runtime_status||u.status;y==="tool_active"?(g.currentTool=u.current_tool??null,g.isActive=!0,g.setAgentState(ot.TYPE)):y==="reflecting"&&(g.currentTool=u.current_tool??"Reflect",g.isActive=!1,g.setAgentState(ot.REFLECT)),console.log(`[GameBridge] โœ“ ensured ${o} in ${m} palette=${p}`)}catch(g){console.error(`[GameBridge] โœ— ensureAgent failed for ${o}:`,g)}}r.length===0&&i.length===0&&(console.warn("[GameBridge] applySnapshot โ€” empty snapshot, creating fallback agent"),this.scene.ensureAgent("openopc-main","OpenOPC")),console.log("[GameBridge] applySnapshot done โ€” total agents:",this.scene.agents.size),this.emit("snapshotApplied",t)}}const UM="assets/office-bg.png";function GM({bridge:e}){const t=j.useRef(null),n=j.useRef(null),r=j.useRef(!1),[i,o]=j.useState(()=>Bn()),[a,u]=j.useState(()=>Bn()[0]?.id??"office-0"),d=i.find(te=>te.id===a)??i[0],[m,p]=j.useState(()=>dg(d?.mapStr??Xc,Pn,Qr)),[h,g]=j.useState(()=>[...d?.seats??Kc]),[y,v]=j.useState("wall"),[k,S]=j.useState(!1),[_,w]=j.useState(!1),[C,N]=j.useState(!1),[O,I]=j.useState(1),[D,T]=j.useState(!0),L=Pn,A=Qr,M=te=>{const re=Bn();o(re),u(te);const oe=re.find(de=>de.id===te);oe&&(p(dg(oe.mapStr,Pn,Qr)),g([...oe.seats])),N(!1)};j.useEffect(()=>{const te=new Image;te.crossOrigin="anonymous",te.onload=()=>{n.current=te,S(!0)},te.onerror=()=>{n.current=null,S(!0)},te.src=UM},[]);const $=j.useCallback(()=>{const te=t.current;if(!te)return;const re=te.getContext("2d");if(!re)return;const oe=L*R,de=A*R;te.width=oe,te.height=de,re.clearRect(0,0,oe,de),n.current?re.drawImage(n.current,0,0,oe,de):(re.fillStyle="#3d3d3d",re.fillRect(0,0,oe,de));for(let se=0;se{$()},[$]);const W=te=>{const re=t.current;if(!re)return null;const oe=re.getBoundingClientRect(),de=re.width/oe.width,se=re.height/oe.height,Ee=Math.floor((te.clientX-oe.left)*de/R),we=Math.floor((te.clientY-oe.top)*se/R);return Ee<0||Ee>=L||we<0||we>=A?null:{c:Ee,r:we}},B=j.useCallback((te,re)=>{if(N(!1),y==="seat")g(oe=>{const de=oe.findIndex(([se,Ee])=>se===te&&Ee===re);return de>=0?oe.filter((se,Ee)=>Ee!==de):[...oe,[te,re]]}),p(oe=>{if(oe[re]?.[te]===1){const de=oe.map(se=>[...se]);return de[re][te]=0,de}return oe});else{const oe=y==="wall"?1:0;p(de=>{if(de[re]?.[te]===oe)return de;const se=de.map(Ee=>[...Ee]);return se[re][te]=oe,se}),y==="wall"&&g(de=>de.filter(([se,Ee])=>!(se===te&&Ee===re)))}},[y]),U=te=>{if(te.button!==0)return;r.current=!0;const re=W(te);re&&B(re.c,re.r)},H=te=>{if(!r.current||y==="seat")return;const re=W(te);re&&B(re.c,re.r)},V=()=>{r.current=!1},Y=()=>{const te=Mk(m);e.rebuildOfficeCollision(a,te,h),N(!0),o(Bn()),setTimeout(()=>N(!1),2e3)},Q=()=>w(te=>!te),q=()=>{p(dg(Xc,Pn,Qr)),g([...Kc]),N(!1)},G=(()=>{const re=Mk(m).map((de,se)=>` '${de}', // ${se}`).join(` +`),oe=h.map(([de,se])=>` [${de}, ${se}],`).join(` +`);return`const MAP_STR: string[] = [ +${re} +] + +const SEATS: [number, number][] = [ +${oe} +]`})(),J=()=>I(te=>Math.min(te+.25,3)),P=()=>I(te=>Math.max(te-.25,.5)),X=m.flat().filter(te=>te===1).length,ee=m.flat().filter(te=>te===0).length;return c.jsxs("div",{className:"collision-editor",children:[c.jsxs("div",{className:"ce-toolbar",children:[c.jsxs("div",{className:"ce-toolbar-group",children:[c.jsx("span",{className:"ce-title",children:"Map Editor"}),c.jsx("select",{className:"ce-office-select",value:a,onChange:te=>M(te.target.value),children:i.map(te=>c.jsx("option",{value:te.id,children:te.name},te.id))})]}),c.jsxs("div",{className:"ce-toolbar-group",children:[c.jsxs("button",{className:`ce-mode-btn ${y==="wall"?"active wall":""}`,onClick:()=>v("wall"),children:[c.jsx("span",{className:"ce-mode-dot wall"})," Wall"]}),c.jsxs("button",{className:`ce-mode-btn ${y==="floor"?"active floor":""}`,onClick:()=>v("floor"),children:[c.jsx("span",{className:"ce-mode-dot floor"})," Floor"]}),c.jsxs("button",{className:`ce-mode-btn ${y==="seat"?"active seat":""}`,onClick:()=>v("seat"),children:[c.jsx("span",{className:"ce-mode-dot seat"})," Seat"]})]}),c.jsxs("div",{className:"ce-toolbar-group",children:[c.jsx("button",{className:"ce-btn",onClick:P,children:"-"}),c.jsxs("span",{className:"ce-zoom-label",children:[Math.round(O*100),"%"]}),c.jsx("button",{className:"ce-btn",onClick:J,children:"+"}),c.jsx("button",{className:`ce-btn${D?" active":""}`,onClick:()=>T(te=>!te),children:"Grid"})]}),c.jsxs("div",{className:"ce-toolbar-group",children:[c.jsx("button",{className:`ce-btn apply${C?" success":""}`,onClick:Y,children:C?"Applied":"Apply"}),c.jsx("button",{className:`ce-btn${_?" active":""}`,onClick:Q,children:"Export"}),c.jsx("button",{className:"ce-btn danger",onClick:q,children:"Reset"})]}),c.jsxs("div",{className:"ce-toolbar-group ce-stats",children:[c.jsxs("span",{children:["Walls: ",X]}),c.jsxs("span",{children:["Floor: ",ee]}),c.jsxs("span",{children:["Seats: ",h.length]})]})]}),c.jsxs("div",{className:"ce-body",children:[c.jsx("div",{className:"ce-canvas-wrap",style:{overflow:"auto"},children:c.jsx("canvas",{ref:t,style:{width:L*R*O,height:A*R*O,imageRendering:"pixelated",cursor:y==="seat"?"crosshair":"cell"},onMouseDown:U,onMouseMove:H,onMouseUp:V,onMouseLeave:V})}),_&&c.jsxs("div",{className:"ce-export-panel",children:[c.jsxs("div",{className:"ce-export-header",children:[c.jsx("span",{children:"Export โ€” copy to source code"}),c.jsx("button",{className:"ce-btn",onClick:()=>navigator.clipboard.writeText(G),children:"Copy"})]}),c.jsx("textarea",{className:"ce-export-textarea",value:G,readOnly:!0,rows:20})]})]})]})}let qM=0;function tr(e,t,n={}){return{event_id:`test-${++qM}`,type:e,agent_id:t,data:n,timestamp:Date.now()/1e3}}function En(e){return new Promise(t=>setTimeout(t,e))}async function WM(e){const t=[],n=e.getScene();if(!n)return t.push({name:"scene-ready",pass:!1,detail:"OfficeScene not initialized"}),t;console.log("%c[EventTest] Starting full event test suite (multi-office)...","color: #6366f1; font-weight: bold");for(const M of[...n.agents.keys()])n.removeAgent(M);await En(100);const r=Bn();t.push({name:"offices-loaded",pass:r.length>=3,detail:`${r.length} offices loaded: ${r.map(M=>M.name).join(", ")}`});const i=["agent-A","agent-B","agent-C","agent-D","agent-E","agent-F"];for(const M of i)e.pushEvent(tr("agent_active",M));await En(300);const o=new Set;let a=!1;for(const M of i){const $=n.getAgent(M);$&&$.seatId&&(o.has($.seatId)&&(a=!0),o.add($.seatId))}t.push({name:"desk-assignment-unique",pass:!a&&o.size===i.length,detail:`Assigned ${o.size} unique seats to ${i.length} agents. IDs: [${[...o].join(", ")}]`});const u=i.every(M=>n.getAgent(M)?.officeId!=null);t.push({name:"agents-have-officeId",pass:u,detail:i.map(M=>`${M}=${n.getAgent(M)?.officeId}`).join(", ")}),e.pushEvent(tr("tool_start","agent-A",{tool_name:"shell"})),await En(200);const d=n.getAgent("agent-A");t.push({name:"tool_start-state",pass:d.isActive===!0&&d.currentTool==="shell",detail:`isActive=${d.isActive}, currentTool=${d.currentTool}`}),e.pushEvent(tr("tool_done","agent-A",{tool_name:"shell"})),await En(100),t.push({name:"tool_done-celebrate",pass:d.agentState==="celebrate",detail:`state=${d.agentState}`});for(let M=0;M<20&&d.agentState==="celebrate";M++)await En(500);t.push({name:"celebrate-to-idle",pass:d.agentState!=="celebrate",detail:`state=${d.agentState}`}),e.pushEvent(tr("waiting","agent-B")),await En(200);const m=n.getAgent("agent-B");t.push({name:"waiting-state",pass:m.isActive===!1&&(m.agentState==="walk"||m.agentState==="idle"||m.agentState==="coffee"),detail:`isActive=${m.isActive}, state=${m.agentState}`}),e.pushEvent(tr("reflect_start","agent-C")),await En(200);const p=n.getAgent("agent-C");t.push({name:"reflect_start-state",pass:p.currentTool==="Reflect"&&(p.agentState==="walk"||p.agentState==="reflect"),detail:`currentTool=${p.currentTool}, state=${p.agentState}`}),e.pushEvent(tr("reflect_done","agent-C")),await En(100),t.push({name:"reflect_done-celebrate",pass:p.agentState==="celebrate",detail:`state=${p.agentState}`});const h=["agent-A","agent-B","agent-C","agent-D"];for(const M of h)e.pushEvent(tr("collab_started",M));await En(4e3);const g=new Map;let y=!1;for(const M of h){const $=n.getAgent(M);if(!$)continue;const W=$.getTilePos(),B=`${W.x},${W.y}`;g.has(B)&&(y=!0),g.set(B,M)}t.push({name:"collab-no-overlap",pass:!y,detail:`${h.length} agents, ${g.size} unique positions`});for(const M of h)e.pushEvent(tr("collab_ended",M));await En(100);const v=h.every(M=>n.getAgent(M)?.agentState==="celebrate");t.push({name:"collab_ended-celebrate",pass:v,detail:h.map(M=>`${M}=${n.getAgent(M)?.agentState}`).join(", ")}),await En(3e3),e.pushEvent(tr("practice_start","agent-E",{target_domain:"TypeScript"})),await En(200);const k=n.getAgent("agent-E");t.push({name:"practice_start-state",pass:k.currentTool==="Practice"&&(k.agentState==="walk"||k.agentState==="practice"),detail:`currentTool=${k.currentTool}, state=${k.agentState}`}),e.pushEvent(tr("practice_done","agent-E")),await En(100),t.push({name:"practice_done-celebrate",pass:k.agentState==="celebrate",detail:`state=${k.agentState}`}),await En(3e3),e.pushEvent(tr("task_delegated","agent-A",{target:"agent-B"})),await En(100),t.push({name:"task_delegated-chat",pass:d.agentState==="chat",detail:`state=${d.agentState}`}),e.pushEvent(tr("delegation_done","agent-A",{target:"agent-B"})),await En(300),t.push({name:"delegation_done-return",pass:["idle","walk","type"].includes(d.agentState),detail:`state=${d.agentState}`});const S=n.getAgent("agent-F");e.pushEvent(tr("message_in","agent-F",{content_preview:"Hello test"})),await En(200),t.push({name:"message_in-active",pass:S.isActive===!0,detail:`isActive=${S.isActive}, state=${S.agentState}`}),e.pushEvent(tr("message_out","agent-F",{content_preview:"Reply test"})),await En(100),t.push({name:"message_out-bubble",pass:S.bubbleText?.includes("Reply")===!0,detail:`bubble="${S.bubbleText}"`}),e.pushEvent(tr("subagent_spawn","subagent-test-1",{parent_agent_id:"agent-A"})),await En(200);const _=n.getAgent("subagent-test-1");t.push({name:"subagent_spawn-created",pass:_!=null&&_.isSubagent===!0,detail:`created=${!!_}, isSubagent=${_?.isSubagent}`}),e.pushEvent(tr("subagent_done","subagent-test-1")),await En(5e3),t.push({name:"subagent_done-removed",pass:n.getAgent("subagent-test-1")==null,detail:`still exists=${!!n.getAgent("subagent-test-1")}`}),e.pushEvent(tr("task_routed","agent-E",{method:"auto"})),await En(200),t.push({name:"task_routed-active",pass:k.isActive===!0,detail:`isActive=${k.isActive}, state=${k.agentState}`}),e.pushEvent(tr("agent_removed","agent-F")),await En(5e3),t.push({name:"agent_removed-destroyed",pass:n.getAgent("agent-F")==null,detail:`still exists=${!!n.getAgent("agent-F")}`}),e.pushEvent(tr("mycelium_crystallize","agent-A",{corroborating_agents:["agent-B","agent-C"],content_preview:"Shared knowledge"})),await En(4e3);const w=new Map;let C=!1;for(const M of["agent-A","agent-B","agent-C"]){const $=n.getAgent(M);if(!$)continue;const W=$.getTilePos(),B=`${W.x},${W.y}`;w.has(B)&&(C=!0),w.set(B,M)}t.push({name:"crystal-no-overlap",pass:!C,detail:`3 agents, ${w.size} unique positions`});const N=new Map;let O=!1;for(const M of n.agents.values())M.seatId&&(N.has(M.seatId)&&(O=!0),N.set(M.seatId,M.agentId));t.push({name:"desk-seat-no-conflict",pass:!O,detail:`${N.size} desk seats assigned, conflict=${O}`});const I=n.getAgent("agent-D");if(I){const M=I.officeId,$=r.find(B=>B.id!==M)??r[1];e.assignAgentToOffice("agent-D",$.id),await En(300);const W=I.officeId;t.push({name:"reassign-office",pass:W===$.id&&W!==M,detail:`${M} โ†’ ${W} (expected ${$.id})`})}else t.push({name:"reassign-office",pass:!1,detail:"agent-D not found"});const D=new Map;let T=!1;for(const M of n.agents.values())M.seatId&&(D.has(M.seatId)&&(T=!0),D.set(M.seatId,M.agentId));t.push({name:"cross-office-seat-unique",pass:!T,detail:`${D.size} seats, conflict=${T}`});const L=t.filter(M=>M.pass).length,A=t.filter(M=>!M.pass).length;console.log(""),console.log("%c[EventTest] โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•","color: #6366f1; font-weight: bold"),console.log(`%c[EventTest] Results: ${L} passed, ${A} failed, ${t.length} total`,`color: ${A>0?"#f87171":"#34d399"}; font-weight: bold`),console.log("%c[EventTest] โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•","color: #6366f1; font-weight: bold");for(const M of t){const $=M.pass?"โœ…":"โŒ",W=M.pass?"color: #34d399":"color: #f87171; font-weight: bold";console.log(`%c ${$} ${M.name}: ${M.detail}`,W)}return t}function YM(e){window.__runEventTests=()=>WM(e),window.__bridge=e,console.log("%c[EventTest] Test runner ready. Run: window.__runEventTests()","color: #fbbf24; font-weight: bold")}const XM={queued:"todo",ready:"todo",ready_for_rework:"todo",waiting_dependencies:"todo",running:"in-progress",waiting_for_peer:"in-progress",waiting_for_children:"in-progress",paused:"in-progress",needs_attention:"in-progress",awaiting_manager_review:"in-review",awaiting_human:"in-review",approved:"done",failed:"done",cancelled:"done"};function KM(e){return e?XM[e]??"todo":"todo"}function ZM(){return`${Date.now()}-${Math.random().toString(36).slice(2,7)}`}function QM(e,t){switch(t.type){case"SET":return t.boards;case"UPDATE_NAME":return e.map(n=>n.id===t.boardId?{...n,name:t.name}:n);default:return e}}function JM(e,t){return t.type==="SET"?t.columns:e}function e4(e,t){const n=Date.now();switch(t.type){case"SET":return t.tasks;case"ADD":return e.some(r=>r.id===t.task.id)?e:[...e,t.task];case"UPDATE":return e.map(r=>r.id===t.id?{...r,...t.partial,updatedAt:n}:r);case"DELETE":return e.filter(r=>r.id!==t.id);case"MOVE":return e.map(r=>r.id===t.id?{...r,columnId:t.columnId,sortOrder:t.sortOrder,updatedAt:n}:r);case"ASSIGN":return e.map(r=>r.id===t.taskId?{...r,assigneeIds:t.agentIds,updatedAt:n}:r);case"REMOVE_ASSIGNEE":return e.map(r=>r.assigneeIds.includes(t.agentId)?{...r,assigneeIds:r.assigneeIds.filter(i=>i!==t.agentId),updatedAt:n}:r);default:return e}}function t4(){const[e,t]=j.useReducer(QM,[]),[n,r]=j.useReducer(JM,[]),[i,o]=j.useReducer(e4,[]),[a,u]=j.useState(null),[d,m]=j.useState("default"),p=j.useMemo(()=>e.find(D=>D.id===a)??null,[e,a]),h=j.useMemo(()=>n.filter(D=>D.boardId===a).sort((D,T)=>D.sortOrder-T.sortOrder),[n,a]),g=j.useMemo(()=>{const D=i.filter(L=>L.boardId===a),T={};for(const L of h)T[L.id]=[];for(const L of D){const A=L.phase?KM(L.phase):L.columnId;T[A]&&T[A].push(L)}for(const L of Object.keys(T))T[L].sort((A,M)=>A.sortOrder-M.sortOrder);return T},[i,a,h]),y=j.useCallback(D=>{const T=e.find($=>$.id===D.boardId),L=T?.nextTaskNum??1,A=T?.prefix??"T",M={id:D.taskId??`task-${ZM()}`,displayId:D.displayId??`${A}-${String(L).padStart(3,"0")}`,boardId:D.boardId,columnId:D.columnId,title:D.title,description:D.description,priority:D.priority??null,assigneeIds:D.assigneeIds??[],tags:D.tags??[],sortOrder:L,createdAt:Date.now(),updatedAt:Date.now()};return o({type:"ADD",task:M}),M},[e]),v=j.useCallback((D,T)=>o({type:"UPDATE",id:D,partial:T}),[]),k=j.useCallback(D=>o({type:"DELETE",id:D}),[]),S=j.useCallback((D,T,L)=>o({type:"MOVE",id:D,columnId:T,sortOrder:L}),[]),_=j.useCallback((D,T)=>o({type:"ASSIGN",taskId:D,agentIds:T}),[]),w=j.useCallback(()=>{const D=new Set(n.filter(T=>T.isTerminal).map(T=>T.id));return i.filter(T=>!D.has(T.columnId)).length},[i,n]),C=j.useCallback(D=>{o({type:"REMOVE_ASSIGNEE",agentId:D})},[]),N=j.useCallback((D,T,L,A,M)=>{const $=D||"default",W=$!==d,B=!W&&!!M?.preserveTasksWhenIncomingEmpty&&A.length===0;m($),t({type:"SET",boards:T}),r({type:"SET",columns:L}),o({type:"SET",tasks:B?i:A}),u(U=>!W&&U&&T.some(H=>H.id===U)?U:null)},[d,i]),O=j.useCallback(D=>{u(D)},[]),I=j.useCallback((D,T)=>{t({type:"UPDATE_NAME",boardId:D,name:T})},[]);return j.useMemo(()=>({scopeProjectId:d,boards:e,columns:n,tasks:i,activeBoardId:a,activeBoard:p,activeBoardColumns:h,tasksByColumn:g,setActiveBoard:O,createTask:y,updateTask:v,deleteTask:k,moveTask:S,assignTask:_,dispatchTask:o,getOpenTaskCount:w,removeAssignee:C,initFromBackend:N,updateBoardName:I}),[d,e,n,i,a,p,h,g,O,y,v,k,S,_,o,w,C,N,I])}const Vk={done:"โœ“",failed:"โœ—",pending:"โ—‹",blocked:"โ– ",cancelled:"โ€”",running:"โ–ถ"},Uk={done:"var(--green, #27ae60)",failed:"var(--red, #e74c3c)",pending:"var(--text-secondary, #888)",blocked:"var(--yellow, #f39c12)",cancelled:"var(--text-dim, #555)",running:"var(--accent, #3498db)"};function n4({data:e,onResume:t,onCancel:n}){const[r,i]=j.useState(new Set);if(!e.interrupted.length&&!e.active_recoveries.length)return null;const o=e.interrupted.filter(a=>!r.has(a.parent_task_id));return!o.length&&!e.active_recoveries.length?null:c.jsx("div",{className:"wfr-panel",children:o.map(a=>{const u=e.active_recoveries.includes(a.parent_task_id),d=a.work_items.filter(p=>p.status==="done").length,m=a.work_items.filter(p=>p.interrupted||p.status==="failed").length;return c.jsxs("div",{className:"wfr-card",children:[c.jsxs("div",{className:"wfr-header",children:[c.jsx("span",{className:"wfr-icon",children:"โš "}),c.jsxs("div",{className:"wfr-header-text",children:[c.jsxs("span",{className:"wfr-title",children:["Interrupted: ",a.title]}),c.jsxs("span",{className:"wfr-subtitle",children:[d,"/",a.work_items.length," work items done, ",m," interrupted",a.profile&&c.jsxs(c.Fragment,{children:[" ยท ",a.profile]})]})]})]}),c.jsx("div",{className:"wfr-work-items",children:a.work_items.map(p=>c.jsxs("div",{className:`wfr-work-item wfr-work-item--${p.status}`,children:[c.jsx("span",{className:"wfr-work-item-icon",style:{color:Uk[p.status]||Uk.pending},children:Vk[p.status]||Vk.pending}),c.jsx("span",{className:"wfr-work-item-title",children:p.title}),p.interrupted&&c.jsx("span",{className:"wfr-work-item-badge",children:"interrupted"})]},p.work_item_projection_id))}),c.jsx("div",{className:"wfr-actions",children:u?c.jsxs("span",{className:"wfr-recovering",children:[c.jsx("span",{className:"spinner-inline"})," Recovering..."]}):c.jsxs(c.Fragment,{children:[c.jsx("button",{className:"wfr-btn wfr-btn--resume",onClick:()=>t(a.parent_task_id),children:"Resume"}),c.jsx("button",{className:"wfr-btn wfr-btn--cancel",onClick:()=>n(a.parent_task_id),children:"Cancel"}),c.jsx("button",{className:"wfr-btn wfr-btn--dismiss",onClick:()=>i(p=>new Set(p).add(a.parent_task_id)),children:"Dismiss"})]})})]},a.parent_task_id)})})}var Sm=Dj();const r4=ta(Sm);function Va(e,t,n){let r=n.initialDeps??[],i,o=!0;function a(){var u,d,m;let p;n.key&&((u=n.debug)!=null&&u.call(n))&&(p=Date.now());const h=e();if(!(h.length!==r.length||h.some((v,k)=>r[k]!==v)))return i;r=h;let y;if(n.key&&((d=n.debug)!=null&&d.call(n))&&(y=Date.now()),i=t(...h),n.key&&((m=n.debug)!=null&&m.call(n))){const v=Math.round((Date.now()-p)*100)/100,k=Math.round((Date.now()-y)*100)/100,S=k/16,_=(w,C)=>{for(w=String(w);w.length{r=u},a}function Gk(e,t){if(e===void 0)throw new Error("Unexpected undefined");return e}const i4=(e,t)=>Math.abs(e-t)<1.01,s4=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},qk=e=>{const{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},o4=e=>e,a4=e=>{const t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1),r=[];for(let i=t;i<=n;i++)r.push(i);return r},l4=(e,t)=>{const n=e.scrollElement;if(!n)return;const r=e.targetWindow;if(!r)return;const i=a=>{const{width:u,height:d}=a;t({width:Math.round(u),height:Math.round(d)})};if(i(qk(n)),!r.ResizeObserver)return()=>{};const o=new r.ResizeObserver(a=>{const u=()=>{const d=a[0];if(d?.borderBoxSize){const m=d.borderBoxSize[0];if(m){i({width:m.inlineSize,height:m.blockSize});return}}i(qk(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(u):u()});return o.observe(n,{box:"border-box"}),()=>{o.unobserve(n)}},Wk={passive:!0},Yk=typeof window>"u"?!0:"onscrollend"in window,c4=(e,t)=>{const n=e.scrollElement;if(!n)return;const r=e.targetWindow;if(!r)return;let i=0;const o=e.options.useScrollendEvent&&Yk?()=>{}:s4(r,()=>{t(i,!1)},e.options.isScrollingResetDelay),a=p=>()=>{const{horizontal:h,isRtl:g}=e.options;i=h?n.scrollLeft*(g&&-1||1):n.scrollTop,o(),t(i,p)},u=a(!0),d=a(!1);n.addEventListener("scroll",u,Wk);const m=e.options.useScrollendEvent&&Yk;return m&&n.addEventListener("scrollend",d,Wk),()=>{n.removeEventListener("scroll",u),m&&n.removeEventListener("scrollend",d)}},u4=(e,t,n)=>{if(t?.borderBoxSize){const r=t.borderBoxSize[0];if(r)return Math.round(r[n.options.horizontal?"inlineSize":"blockSize"])}return e[n.options.horizontal?"offsetWidth":"offsetHeight"]},d4=(e,{adjustments:t=0,behavior:n},r)=>{var i,o;const a=e+t;(o=(i=r.scrollElement)==null?void 0:i.scrollTo)==null||o.call(i,{[r.options.horizontal?"left":"top"]:a,behavior:n})};class f4{constructor(t){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.now=()=>{var n,r,i;return((i=(r=(n=this.targetWindow)==null?void 0:n.performance)==null?void 0:r.now)==null?void 0:i.call(r))??Date.now()},this.observer=(()=>{let n=null;const r=()=>n||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:n=new this.targetWindow.ResizeObserver(i=>{i.forEach(o=>{const a=()=>{const u=o.target,d=this.indexFromElement(u);if(!u.isConnected){this.observer.unobserve(u);return}this.shouldMeasureDuringScroll(d)&&this.resizeItem(d,this.options.measureElement(u,o,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(a):a()})}));return{disconnect:()=>{var i;(i=r())==null||i.disconnect(),n=null},observe:i=>{var o;return(o=r())==null?void 0:o.observe(i,{box:"border-box"})},unobserve:i=>{var o;return(o=r())==null?void 0:o.unobserve(i)}}})(),this.range=null,this.setOptions=n=>{Object.entries(n).forEach(([r,i])=>{typeof i>"u"&&delete n[r]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:o4,rangeExtractor:a4,onChange:()=>{},measureElement:u4,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...n}},this.notify=n=>{var r,i;(i=(r=this.options).onChange)==null||i.call(r,this,n)},this.maybeNotify=Va(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),n=>{this.notify(n)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(n=>n()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var n;const r=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==r){if(this.cleanup(),!r){this.maybeNotify();return}this.scrollElement=r,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((n=this.scrollElement)==null?void 0:n.window)??null,this.elementsCache.forEach(i=>{this.observer.observe(i)}),this.unsubs.push(this.options.observeElementRect(this,i=>{this.scrollRect=i,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(i,o)=>{this.scrollAdjustments=0,this.scrollDirection=o?this.getScrollOffset()this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(n,r)=>{const i=new Map,o=new Map;for(let a=r-1;a>=0;a--){const u=n[a];if(i.has(u.lane))continue;const d=o.get(u.lane);if(d==null||u.end>d.end?o.set(u.lane,u):u.enda.end===u.end?a.index-u.index:a.end-u.end)[0]:void 0},this.getMeasurementOptions=Va(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes],(n,r,i,o,a,u)=>(this.prevLanes!==void 0&&this.prevLanes!==u&&(this.lanesChangedFlag=!0),this.prevLanes=u,this.pendingMeasuredCacheIndexes=[],{count:n,paddingStart:r,scrollMargin:i,getItemKey:o,enabled:a,lanes:u}),{key:!1}),this.getMeasurements=Va(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:n,paddingStart:r,scrollMargin:i,getItemKey:o,enabled:a,lanes:u},d)=>{if(!a)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>n)for(const g of this.laneAssignments.keys())g>=n&&this.laneAssignments.delete(g);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(g=>{this.itemSizeCache.set(g.key,g.size)}));const m=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===n&&(this.lanesSettling=!1);const p=this.measurementsCache.slice(0,m),h=new Array(u).fill(void 0);for(let g=0;g1){k=v;const N=h[k],O=N!==void 0?p[N]:void 0;S=O?O.end+this.options.gap:r+i}else{const N=this.options.lanes===1?p[g-1]:this.getFurthestMeasurement(p,g);S=N?N.end+this.options.gap:r+i,k=N?N.lane:g%this.options.lanes,this.options.lanes>1&&this.laneAssignments.set(g,k)}const _=d.get(y),w=typeof _=="number"?_:this.options.estimateSize(g),C=S+w;p[g]={index:g,start:S,size:w,end:C,key:y,lane:k},h[k]=g}return this.measurementsCache=p,p},{key:!1,debug:()=>this.options.debug}),this.calculateRange=Va(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(n,r,i,o)=>this.range=n.length>0&&r>0?m4({measurements:n,outerSize:r,scrollOffset:i,lanes:o}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Va(()=>{let n=null,r=null;const i=this.calculateRange();return i&&(n=i.startIndex,r=i.endIndex),this.maybeNotify.updateDeps([this.isScrolling,n,r]),[this.options.rangeExtractor,this.options.overscan,this.options.count,n,r]},(n,r,i,o,a)=>o===null||a===null?[]:n({startIndex:o,endIndex:a,overscan:r,count:i}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=n=>{const r=this.options.indexAttribute,i=n.getAttribute(r);return i?parseInt(i,10):(console.warn(`Missing attribute name '${r}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=n=>{var r;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const i=this.scrollState.index??((r=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:r.index);if(i!==void 0&&this.range){const o=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),a=Math.max(0,i-o),u=Math.min(this.options.count-1,i+o);return n>=a&&n<=u}return!0},this.measureElement=n=>{if(!n){this.elementsCache.forEach((a,u)=>{a.isConnected||(this.observer.unobserve(a),this.elementsCache.delete(u))});return}const r=this.indexFromElement(n),i=this.options.getItemKey(r),o=this.elementsCache.get(i);o!==n&&(o&&this.observer.unobserve(o),this.observer.observe(n),this.elementsCache.set(i,n)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(r)&&this.resizeItem(r,this.options.measureElement(n,void 0,this))},this.resizeItem=(n,r)=>{var i;const o=this.measurementsCache[n];if(!o)return;const a=this.itemSizeCache.get(o.key)??o.size,u=r-a;u!==0&&(((i=this.scrollState)==null?void 0:i.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(o,u,this):o.start[this.getVirtualIndexes(),this.getMeasurements()],(n,r)=>{const i=[];for(let o=0,a=n.length;othis.options.debug}),this.getVirtualItemForOffset=n=>{const r=this.getMeasurements();if(r.length!==0)return Gk(r[Gj(0,r.length-1,i=>Gk(r[i]).start,n)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const n=this.scrollElement.document.documentElement;return this.options.horizontal?n.scrollWidth-this.scrollElement.innerWidth:n.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(n,r,i=0)=>{if(!this.scrollElement)return 0;const o=this.getSize(),a=this.getScrollOffset();r==="auto"&&(r=n>=a+o?"end":"start"),r==="center"?n+=(i-o)/2:r==="end"&&(n-=o);const u=this.getMaxScrollOffset();return Math.max(Math.min(u,n),0)},this.getOffsetForIndex=(n,r="auto")=>{n=Math.max(0,Math.min(n,this.options.count-1));const i=this.getSize(),o=this.getScrollOffset(),a=this.measurementsCache[n];if(!a)return;if(r==="auto")if(a.end>=o+i-this.options.scrollPaddingEnd)r="end";else if(a.start<=o+this.options.scrollPaddingStart)r="start";else return[o,r];if(r==="end"&&n===this.options.count-1)return[this.getMaxScrollOffset(),r];const u=r==="end"?a.end+this.options.scrollPaddingEnd:a.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(u,r,a.size),r]},this.scrollToOffset=(n,{align:r="start",behavior:i="auto"}={})=>{const o=this.getOffsetForAlignment(n,r),a=this.now();this.scrollState={index:null,align:r,behavior:i,startedAt:a,lastTargetOffset:o,stableFrames:0},this._scrollToOffset(o,{adjustments:void 0,behavior:i}),this.scheduleScrollReconcile()},this.scrollToIndex=(n,{align:r="auto",behavior:i="auto"}={})=>{n=Math.max(0,Math.min(n,this.options.count-1));const o=this.getOffsetForIndex(n,r);if(!o)return;const[a,u]=o,d=this.now();this.scrollState={index:n,align:u,behavior:i,startedAt:d,lastTargetOffset:a,stableFrames:0},this._scrollToOffset(a,{adjustments:void 0,behavior:i}),this.scheduleScrollReconcile()},this.scrollBy=(n,{behavior:r="auto"}={})=>{const i=this.getScrollOffset()+n,o=this.now();this.scrollState={index:null,align:"start",behavior:r,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:r}),this.scheduleScrollReconcile()},this.getTotalSize=()=>{var n;const r=this.getMeasurements();let i;if(r.length===0)i=this.options.paddingStart;else if(this.options.lanes===1)i=((n=r[r.length-1])==null?void 0:n.end)??0;else{const o=Array(this.options.lanes).fill(null);let a=r.length-1;for(;a>=0&&o.some(u=>u===null);){const u=r[a];o[u.lane]===null&&(o[u.lane]=u.end),a--}i=Math.max(...o.filter(u=>u!==null))}return Math.max(i-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(n,{adjustments:r,behavior:i})=>{this.options.scrollToFn(n,{behavior:i,adjustments:r},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(t)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const r=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,i=r?r[0]:this.scrollState.lastTargetOffset,o=1,a=i!==this.scrollState.lastTargetOffset;if(!a&&i4(i,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=o){this.scrollState=null;return}}else this.scrollState.stableFrames=0,a&&(this.scrollState.lastTargetOffset=i,this.scrollState.behavior="auto",this._scrollToOffset(i,{adjustments:void 0,behavior:"auto"}));this.scheduleScrollReconcile()}}const Gj=(e,t,n,r)=>{for(;e<=t;){const i=(e+t)/2|0,o=n(i);if(or)t=i-1;else return i}return e>0?e-1:0};function m4({measurements:e,outerSize:t,scrollOffset:n,lanes:r}){const i=e.length-1,o=d=>e[d].start;if(e.length<=r)return{startIndex:0,endIndex:i};let a=Gj(0,i,o,n),u=a;if(r===1)for(;u1){const d=Array(r).fill(0);for(;up=0&&m.some(p=>p>=n);){const p=e[a];m[p.lane]=p.start,a--}a=Math.max(0,a-a%r),u=Math.min(i,u+(r-1-u%r))}return{startIndex:a,endIndex:u}}const Xk=typeof document<"u"?j.useLayoutEffect:j.useEffect;function h4({useFlushSync:e=!0,...t}){const n=j.useReducer(()=>({}),{})[1],r={...t,onChange:(o,a)=>{var u;e&&a?Sm.flushSync(n):n(),(u=t.onChange)==null||u.call(t,o,a)}},[i]=j.useState(()=>new f4(r));return i.setOptions(r),Xk(()=>i._didMount(),[]),Xk(()=>i._willUpdate()),i}function qj(e){return h4({observeElementRect:l4,observeElementOffset:c4,scrollToFn:d4,...e})}function p4(){return c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M12 2C9.5 2 7.5 3.5 7 5.5C5 5.5 3 7.5 3 10C3 12 4.5 13.5 6 14V20C6 21.1 6.9 22 8 22H16C17.1 22 18 21.1 18 20V14C19.5 13.5 21 12 21 10C21 7.5 19 5.5 17 5.5C16.5 3.5 14.5 2 12 2Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M12 2V8M8 6H16M12 14V18",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function wm(){return c.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:c.jsx("path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94L6.73 20.15a2.12 2.12 0 0 1-3-3l6.72-6.72a6 6 0 0 1 7.94-7.94L14.7 6.3z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Wj(){return c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("rect",{x:"4",y:"4",width:"16",height:"16",rx:"3",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("rect",{x:"8",y:"8",width:"8",height:"8",rx:"1.5",fill:"currentColor"})]})}function g4(){return c.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:c.jsx("path",{d:"M5 12L3 3L21 12L3 21L5 12ZM5 12H13",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Cm(){return c.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function Nl(){return c.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",children:c.jsx("path",{d:"M20 6L9 17L4 12",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function x4(){return c.jsxs("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M13 8H7",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),c.jsx("path",{d:"M17 12H7",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"})]})}function y4(){return c.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:c.jsx("path",{d:"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66L9.41 17.41a2 2 0 0 1-2.83-2.83l8.49-8.49",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Yi({down:e}){return c.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",style:{transition:"transform 200ms",transform:e?"rotate(90deg)":"none"},children:c.jsx("path",{d:"M9 18L15 12L9 6",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function v4(){return c.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:c.jsx("path",{d:"M12 5V19M5 12H19",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})}function N0(){return c.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("circle",{cx:"11",cy:"11",r:"8",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("path",{d:"M21 21L16.65 16.65",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function b4(){return c.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M3 6H5H21",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),c.jsx("path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M19 6L18.13 20.11A2 2 0 0 1 16.14 22H7.86a2 2 0 0 1-2-1.89L5 6",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function _4(){return c.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("rect",{x:"3",y:"3",width:"7",height:"9",rx:"1.5",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("rect",{x:"14",y:"3",width:"7",height:"5",rx:"1.5",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("rect",{x:"14",y:"12",width:"7",height:"9",rx:"1.5",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("rect",{x:"3",y:"16",width:"7",height:"5",rx:"1.5",stroke:"currentColor",strokeWidth:"1.5"})]})}function Yj(){return c.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",children:c.jsx("path",{d:"M22 12H18L15 21L9 3L6 12H2",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function au(){return c.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",children:c.jsx("path",{d:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function co(){return c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .962 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.582a.5.5 0 0 1 0 .962L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.962 0z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M20 3v4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),c.jsx("path",{d:"M22 5h-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),c.jsx("path",{d:"M4 17v2",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),c.jsx("path",{d:"M5 18H3",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function Xj(){return c.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M5 12h14",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"m12 5 7 7-7 7",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})]})}function k4(){return c.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M9 11L12 14L22 4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M21 12V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function Kk(){return c.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",children:c.jsx("path",{d:"M13 2L3 14H12L11 22L21 10H12L13 2Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function jm(){return c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M4 18H10V14H4V18Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M8 14H14V10H8V14Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M12 10H18V6H12V10Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M18 8L21 8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function S4(){return c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M9 12L11 14L15 10",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function w4(){return c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M15 9L9 15M9 9L15 15",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function Nc(){return c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("path",{d:"M12 6V12L16 14",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function Pf(){return c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M7 17L2 12L7 7",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M17 7L22 12L17 17",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M2 12H22",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function dl(){return c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M12 2V22",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),c.jsx("circle",{cx:"12",cy:"6",r:"2",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("circle",{cx:"12",cy:"12",r:"2",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("circle",{cx:"12",cy:"18",r:"2",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("path",{d:"M14 6H20",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),c.jsx("path",{d:"M14 12H18",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),c.jsx("path",{d:"M14 18H20",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function Em(){return c.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:c.jsx("path",{d:"M18 6L6 18M6 6L18 18",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Zk({size:e=12}={}){return c.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[c.jsx("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M7 11V7a5 5 0 0 1 10 0v4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round"})]})}function C4({size:e=14}={}){return c.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[c.jsx("circle",{cx:"12",cy:"8",r:"5",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M20 21a8 8 0 0 0-16 0",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round"})]})}function j4({size:e=14}={}){return c.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M10 6h4",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),c.jsx("path",{d:"M10 10h4",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),c.jsx("path",{d:"M10 14h4",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),c.jsx("path",{d:"M10 18h4",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"})]})}function E4({size:e=14}={}){return c.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .962 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.582a.5.5 0 0 1 0 .962L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.962 0z",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M20 3v4",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),c.jsx("path",{d:"M22 5h-4",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),c.jsx("path",{d:"M4 17v2",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),c.jsx("path",{d:"M5 18H3",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"})]})}const Za=new Set(["done","failed","cancelled"]),N4=new Set(["company","org","custom"]),I4=new Set(["idle","done","failed","cancelled"]);function Nm(e){return Za.has(e.status)?"idle":e.agentStatus==="reflecting"||e.agentStatus==="tool_active"?e.agentStatus:e.runtimeControlState&&e.runtimeControlState!=="running"&&e.runtimeControlState!=="suspending"&&e.runtimeControlState!=="resuming"?"idle":e.status==="running"?"reflecting":"idle"}function Ki(e){return Nm(e)!=="idle"}function T4(e){if(!e)return!1;const t=String(e.execMode??"").trim().toLowerCase(),n=t==="task";return N4.has(t)||!!e.isCompanyRuntime||!!e.parentSessionId||!!e.orgId||!!e.workItemProjectionId||!!e.roleWorkItems||!!e.executorRoleWorkItems||!!e.companyProfile&&!n}function R4(e,t){if(!T4(e))return{};const n=String(t??"").trim().toLowerCase();if(n==="running")return{runtimeControlState:"running",canStop:!0,canResume:!1};if(I4.has(n)){const r=e?.runtimeControlState;return r==="suspending"||r==="suspended"?{}:{runtimeControlState:"idle",canStop:!1,canResume:!1}}return{}}function gg(e){if(!(typeof e!="number"||!Number.isFinite(e)))return e}function Qk(e){return Math.max(0,Math.min(Math.round(e),100))}function Kj(e){const t=gg(e?.contextTokens),n=gg(e?.contextWindow),r=gg(e?.contextRemainingPct),i=typeof t=="number"?Math.max(0,Math.round(t)):void 0,o=typeof n=="number"&&n>0?Math.max(1,Math.round(n)):void 0,a=typeof r=="number"?Qk(r):void 0;if(typeof i=="number"&&typeof o=="number"){const u=Math.min(i,o),d=Qk(u/o*100);return{usedPct:d,remainingPct:100-d,usedTokens:u,windowTokens:o}}if(typeof a=="number"&&typeof o=="number"){const u=100-a;return{usedPct:u,remainingPct:a,usedTokens:Math.round(u/100*o),windowTokens:o}}return typeof o=="number"?{usedPct:0,remainingPct:100,usedTokens:0,windowTokens:o}:typeof a=="number"?{remainingPct:a}:typeof i=="number"?{usedTokens:i}:{}}const A4=/(\d[\d,]*)\s*\/\s*(\d[\d,]*)\s+tokens/i,M4=/(\d{1,3})%\s*used/i,D4=/(\d{1,3})%\s*remaining/i;function O4(e){return e.replace(/\s+/g," ").trim()}function L4(e){const t=String(e||"").trim(),n=t.match(/^\*\*(.{8,160}?)\*\*:\s+([\s\S]+)$/);if(n){const a=n[2].trim();if(a.length>=80)return a}const r=t.indexOf(": ");if(r<8||r>160)return t;const i=t.slice(0,r).replace(/\*/g,"").trim(),o=t.slice(r+2).trim();return o.length<80||!/[A-Za-z\u4e00-\u9fff]/.test(i)||/^(https?|file)$/i.test(i)?t:o}function Ty(e){const t=e.metadata??{};switch(String(t.transcript_kind??t.kind??"").trim()){case"child_task_result":return 80;case"child_task_result_retry":return 79;case"company_role_result":return 75;case"company_role_result_retry":return 74;case"child_result":return 70;case"runtime_v2_assistant":return 60;case"runtime_v2_company_assistant":return 20;case"top_level_reply":return 40}return String(t.kind??"").trim()==="worker_notification"?20:0}function z4(e){if(Ty(e)<=0)return"";const t=O4(L4(e.content)).slice(0,2e3);return t?`result:${t}`:""}function Xd(e){if(!e)return;const t=e.replace(/,/g,"").trim();if(!t)return;const n=Number(t);return Number.isFinite(n)?Math.max(0,Math.round(n)):void 0}function Jk(e){if(!(typeof e!="number"||!Number.isFinite(e)))return Math.max(0,Math.min(Math.round(e),100))}function fl(e){if(!e)return;const t=String(e.execMode??"").trim();if(!(t==="company"||t==="org"||t==="custom"||!!e.isCompanyRuntime||!!e.roleWorkItems||!!e.executorRoleWorkItems))return;const r=Object.values(e.executorRoleWorkItems??e.roleWorkItems??{});if(r.length===0)return;const i=r.map(o=>o.aggregatedStatus);if(i.some(o=>o==="active"))return"running";if(i.some(o=>o==="waiting")||i.some(o=>o==="pending"))return"pending";if(i.every(o=>o==="failed"))return"failed";if(i.every(o=>o==="done")||i.some(o=>o==="done"))return"done"}function P4(e){const t={};for(const n of e??[]){const r=`${n.summary??""} ${n.detail??""}`.trim();if(!r)continue;const i=A4.exec(r);if(i){const u=Xd(i[1]),d=Xd(i[2]);typeof u=="number"&&(t.contextTokens=u),typeof d=="number"&&d>0&&(t.contextWindow=d)}const o=D4.exec(r);if(o){t.contextRemainingPct=Jk(Xd(o[1]));continue}const a=M4.exec(r);if(a){const u=Jk(Xd(a[1]));typeof u=="number"&&(t.contextRemainingPct=100-u)}}return t}function Bf(e){const t=P4(e.progressLog),n=e.contextTokens??t.contextTokens,r=e.contextWindow??t.contextWindow,i=e.contextRemainingPct??t.contextRemainingPct;return n===e.contextTokens&&r===e.contextWindow&&i===e.contextRemainingPct?e:{...e,contextTokens:n,contextWindow:r,contextRemainingPct:i}}function Zj(e){const t=new Set,n=[];for(const r of e)t.has(r.taskId)||(t.add(r.taskId),n.push(r));return n}function B4(e){return!!(String(e?.workItemRoleId??"").trim()||String(e?.workItemRoleName??"").trim())}function jf(e,t){if(!e||e.mode==="child")return[];const n=new Set;e.sessionId&&n.add(e.sessionId),n.add(e.taskId);const r=String(e.originTaskId??e.taskId??"").trim(),i=new Map;for(const u of e.workItemLog??[]){const d=u.executionTurnId||u.runtimeTaskId;d&&!i.has(d)&&i.set(d,i.size)}const o=new Set;return t.filter(u=>{if(u.taskId===e.taskId||o.has(u.taskId))return!1;const d=!!u.parentSessionId&&n.has(u.parentSessionId),m=i.has(u.taskId),p=!!r&&String(u.originTaskId??"").trim()===r;return!d&&!m&&!p?!1:(o.add(u.taskId),!0)}).sort((u,d)=>{const m=i.get(u.taskId),p=i.get(d.taskId);return m!=null&&p!=null&&m!==p?m-p:m!=null&&p==null?-1:m==null&&p!=null?1:d.updatedAt-u.updatedAt})}function eS(e,t){const n=jf(e,t);return!e||e.mode==="child"||!B4(e)?n:Zj([e,...n])}function $f(e,t){if(!e||e.mode==="child")return[];const n=String(e.sessionId??"").trim();if(!n)return[];const r=new Set;return t.filter(i=>i.taskId===e.taskId||r.has(i.taskId)||String(i.sessionId??"").trim()!==n?!1:(r.add(i.taskId),!0)).sort((i,o)=>o.updatedAt-i.updatedAt)}function $4(e){const t=String(e?.execMode??"").trim();return t==="company"||t==="org"||t==="custom"}function tS(e){const t=Ki(e)?1e9:0,n=String(e.draftAssistantText??"").trim()?1e10:0,r=Math.max(0,e.messageCount??0)*1e4,i=(e.progressLog?.length??0)*100;return n+t+r+i+e.updatedAt}function nS(e){const t=Kj(e),n=Ki(e)?1e11:0,r=String(e.draftAssistantText??"").trim()?1e10:0,i=typeof t.usedPct=="number"||typeof t.usedTokens=="number"||typeof t.windowTokens=="number"?1e10:0,o=typeof e.inputTokens=="number"||typeof e.outputTokens=="number"||typeof e.totalTokens=="number"?1e9:0,a=Math.max(0,e.messageCount??0)*1e4,u=(e.progressLog?.length??0)*100;return n+r+i+o+a+u}function Hf(e,t){if(!e)return{timelineSessions:[],displaySession:null,runtimeSession:null,projectedFromChild:!1};const n=Bf(e);if(e.mode==="child"||t.length===0)return{timelineSessions:[n],displaySession:n,runtimeSession:n,projectedFromChild:!1};const r=t.map(Bf),i=r.filter(h=>h.status!=="cancelled"),o=i.length>0?i:r,a=Zj([n,...o]),u=$4(e),d=[...a].sort((h,g)=>tS(g)-tS(h))[0]??n,m=u?n:d,p=[...a].sort((h,g)=>nS(g)-nS(h))[0]??m;return{timelineSessions:a,displaySession:m,runtimeSession:p,projectedFromChild:!u&&m.taskId!==e.taskId}}function rS(e,t,n){if(!e)return null;const r=Bf(e),i=t??r,o=fl(i)??fl(r),a=Ff(n.length>0?n:[r]);return{...r,status:o??(i.status||r.status),assigneeIds:i.assigneeIds.length>0?i.assigneeIds:r.assigneeIds,agentStatus:i.agentStatus??r.agentStatus,currentTool:i.currentTool??r.currentTool,displayTool:i.displayTool??i.currentTool??r.displayTool??r.currentTool,toolElapsedMs:i.toolElapsedMs??r.toolElapsedMs,lastToolSummary:i.lastToolSummary??r.lastToolSummary,contextTokens:i.contextTokens??r.contextTokens,contextWindow:i.contextWindow??r.contextWindow,contextRemainingPct:i.contextRemainingPct??r.contextRemainingPct,inputTokens:i.inputTokens??r.inputTokens,outputTokens:i.outputTokens??r.outputTokens,totalTokens:i.totalTokens??r.totalTokens,turnCostUsd:i.turnCostUsd??r.turnCostUsd,sessionCostUsd:i.sessionCostUsd??r.sessionCostUsd,pendingPermissionCount:i.pendingPermissionCount??r.pendingPermissionCount,drainMode:i.drainMode??r.drainMode,workItemProjectionId:i.workItemProjectionId??r.workItemProjectionId,workItemTurnType:i.workItemTurnType??r.workItemTurnType,companyProfile:r.companyProfile??i.companyProfile,workItemRoleId:r.workItemRoleId??i.workItemRoleId,workItemRoleName:r.workItemRoleName??i.workItemRoleName,workItemGate:r.workItemGate??i.workItemGate,employeeAssignment:r.employeeAssignment??i.employeeAssignment,selectedExecutionAgent:i.selectedExecutionAgent??r.selectedExecutionAgent,draftAssistantText:i.draftAssistantText??r.draftAssistantText,draftUpdatedAt:i.draftUpdatedAt??r.draftUpdatedAt,draftIteration:i.draftIteration??r.draftIteration,draftTurnId:i.draftTurnId??r.draftTurnId,runtimeControlState:i.runtimeControlState??r.runtimeControlState,canStop:i.canStop??r.canStop,canResume:i.canResume??r.canResume,resumeParentTaskId:i.resumeParentTaskId??r.resumeParentTaskId,resumeParentSessionId:i.resumeParentSessionId??r.resumeParentSessionId,pendingRuntimeCheckpointId:i.pendingRuntimeCheckpointId??r.pendingRuntimeCheckpointId,stopIntentId:i.stopIntentId??r.stopIntentId,updatedAt:Math.max(r.updatedAt,i.updatedAt),messageCount:Math.max(r.messageCount??0,i.messageCount??0,a),isCompanyRuntime:!!(r.isCompanyRuntime||i.isCompanyRuntime),workItemLog:(r.workItemLog?.length??0)>0?r.workItemLog:i.workItemLog,roleWorkItems:r.roleWorkItems??i.roleWorkItems,executorRoleWorkItems:r.executorRoleWorkItems??i.executorRoleWorkItems,activeSubagents:r.activeSubagents??i.activeSubagents,permissionRequests:r.permissionRequests??i.permissionRequests}}function H4(e,t,n){if(!e)return null;const r=Bf(e),i=t??r,o=fl(i)??fl(r),a=Ff(n.length>0?n:[r]);return{...r,status:o??(i.status||r.status),agentStatus:i.agentStatus??r.agentStatus,currentTool:i.currentTool??r.currentTool,displayTool:i.displayTool??i.currentTool??r.displayTool??r.currentTool,toolElapsedMs:i.toolElapsedMs??r.toolElapsedMs,lastToolSummary:i.lastToolSummary??r.lastToolSummary,contextTokens:i.contextTokens??r.contextTokens,contextWindow:i.contextWindow??r.contextWindow,contextRemainingPct:i.contextRemainingPct??r.contextRemainingPct,inputTokens:i.inputTokens??r.inputTokens,outputTokens:i.outputTokens??r.outputTokens,totalTokens:i.totalTokens??r.totalTokens,turnCostUsd:i.turnCostUsd??r.turnCostUsd,sessionCostUsd:i.sessionCostUsd??r.sessionCostUsd,pendingPermissionCount:i.pendingPermissionCount??r.pendingPermissionCount,drainMode:i.drainMode??r.drainMode,selectedExecutionAgent:i.selectedExecutionAgent??r.selectedExecutionAgent,runtimeControlState:i.runtimeControlState??r.runtimeControlState,canStop:i.canStop??r.canStop,canResume:i.canResume??r.canResume,resumeParentTaskId:i.resumeParentTaskId??r.resumeParentTaskId,resumeParentSessionId:i.resumeParentSessionId??r.resumeParentSessionId,pendingRuntimeCheckpointId:i.pendingRuntimeCheckpointId??r.pendingRuntimeCheckpointId,stopIntentId:i.stopIntentId??r.stopIntentId,updatedAt:Math.max(r.updatedAt,i.updatedAt),messageCount:Math.max(r.messageCount??0,i.messageCount??0,a)}}function iS(e){const t=new Set,n=new Map,r=[];for(const i of e)for(const o of i){const a=o.metadata??{},u=typeof a.ui_message_id=="string"?a.ui_message_id.trim():"",d=z4(o);if(d){const p=n.get(d);if(p!==void 0){Ty(o)>Ty(r[p])&&(r[p]=o);continue}n.set(d,r.length)}const m=d||u||`${o.sender}:${o.replyToId??""}:${o.timestamp}:${o.content.trim()}`;t.has(m)||(t.add(m),r.push(o))}return r.sort((i,o)=>i.timestamp===o.timestamp?i.id.localeCompare(o.id):i.timestamp-o.timestamp)}function sS(e){const t=new Set,n=[];for(const r of e)for(const i of r.progressLog??[]){const o=`${i.timestamp}:${i.type}:${i.summary}:${i.detail??""}`;t.has(o)||(t.add(o),n.push(i))}return n.sort((r,i)=>r.timestamp-i.timestamp)}function Ff(e){return e.reduce((t,n)=>t+Math.max(0,n.messageCount??0),0)}const F4={idle:"status-idle",done:"status-done",pending:"status-pending",failed:"status-failed",cancelled:"status-cancelled",blocked:"status-blocked"};function V4(e){const t=fl(e)??e.status,n=Nm({...e,status:t});return n==="tool_active"?"status-tool-active":n==="reflecting"?"status-reflecting":t==="running"?"status-running-idle":F4[t]??"status-pending"}function U4(e){const t=Date.now()-e;return t<6e4?"just now":t<36e5?`${Math.floor(t/6e4)}m`:t<864e5?`${Math.floor(t/36e5)}h`:`${Math.floor(t/864e5)}d`}function G4(e){const t=new Date,n=new Date(e),r=new Date(t.getFullYear(),t.getMonth(),t.getDate()),i=new Date(r.getTime()-864e5);return n>=r?"Today":n>=i?"Yesterday":"Earlier"}function q4(e){const t=new Map,n=[];for(const r of e)if(r.mode==="child"&&r.parentSessionId){const i=t.get(r.parentSessionId)??[];i.push(r),t.set(r.parentSessionId,i)}else n.push(r);return n.map(r=>({session:r,children:Array.from(new Map([...r.sessionId?t.get(r.sessionId)??[]:[],...t.get(r.taskId)??[]].map(i=>[i.taskId,i])).values())}))}function Kd({session:e,isActive:t,isChild:n,isLast:r,unreadCount:i,onSelect:o,onDelete:a}){const[u,d]=j.useState(!1),[m,p]=j.useState(!1),h=e.assigneeIds.length>0?e.assigneeIds[0].replace(/^agent-/,""):null,g=fl(e)??e.status;return j.useEffect(()=>{if(!m)return;const y=setTimeout(()=>p(!1),3e3);return()=>clearTimeout(y)},[m]),c.jsxs("button",{className:`session-item${t?" active":""}${n?" session-item-child":""}`,onClick:o,onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),children:[n&&c.jsx("span",{className:`session-tree-line${r?" last":""}`}),c.jsx("span",{className:`session-dot ${V4(e)}`}),c.jsxs("div",{className:"session-item-content",children:[c.jsxs("span",{className:"session-item-title",children:[n&&h&&c.jsx("span",{className:"session-agent-tag",children:h}),!n&&e.isCompanyRuntime&&c.jsx("span",{className:"session-runtime-badge",title:"Company runtime",children:c.jsx(jm,{})}),e.title]}),c.jsxs("span",{className:"session-item-meta",children:[g," ยท ",U4(e.updatedAt)]})]}),!!i&&i>0&&c.jsx("span",{className:"session-unread-badge",children:i>99?"99+":i}),u&&!n&&!m&&c.jsx("button",{className:"session-delete-btn",onClick:y=>{y.stopPropagation(),p(!0)},title:"Delete",children:c.jsx(b4,{})}),m&&c.jsxs("span",{className:"session-confirm-delete",onClick:y=>y.stopPropagation(),children:[c.jsx("button",{className:"session-confirm-yes",onClick:()=>{p(!1),a()},children:"Delete"}),c.jsx("button",{className:"session-confirm-no",onClick:()=>p(!1),children:"Cancel"})]})]})}function W4({sessions:e,activeSessionId:t,activeChannel:n,secretaryChannelId:r,unreadCounts:i,onSelect:o,onCreateSession:a,onDeleteSession:u,onSelectSecretary:d}){const[m,p]=j.useState(""),[h,g]=j.useState(new Set),y=e.some(T=>T.isCompanyRuntime||T.mode==="child"||T.execMode==="company"||T.execMode==="org"||T.execMode==="custom"),v=j.useCallback(T=>{g(L=>{const A=new Set(L);return A.has(T)?A.delete(T):A.add(T),A})},[]),k=j.useMemo(()=>{if(!m.trim())return e;const T=m.toLowerCase();return e.filter(L=>L.title.toLowerCase().includes(T))},[e,m]),S=j.useMemo(()=>q4(k),[k]),_=j.useMemo(()=>{const T={Today:[],Yesterday:[],Earlier:[]};for(const L of S){const A=G4(L.session.createdAt);T[A]?.push(L)}return T},[S]),w=j.useMemo(()=>{const T=[];for(const L of["Today","Yesterday","Earlier"]){const A=_[L];if(!(!A||A.length===0)){T.push({kind:"group",group:L});for(const M of A){T.push({kind:"primary",node:M});const $=M.children.length>0,W=h.has(M.session.taskId);$&&W?T.push({kind:"child-count",node:M}):$&&M.children.forEach((B,U)=>{T.push({kind:"child",parentTaskId:M.session.taskId,child:B,childIndex:U,childCount:M.children.length})})}}}return T},[h,_]),C=w.length>120,N=j.useRef(null),O=qj({count:w.length,getScrollElement:()=>N.current,estimateSize:T=>{const L=w[T];return L?.kind==="group"?26:L?.kind==="child-count"?30:54},overscan:8}),I=j.useCallback(T=>{const L=T.children.length>0,A=h.has(T.session.taskId);return c.jsx("div",{className:"session-tree-node",children:c.jsxs("div",{className:"session-tree-primary",children:[L&&c.jsx("button",{className:`session-expand-btn${A?" collapsed":""}`,onClick:M=>{M.stopPropagation(),v(T.session.taskId)},"aria-label":A?"Expand":"Collapse"}),c.jsx(Kd,{session:T.session,isActive:T.session.taskId===t,unreadCount:i?.[T.session.channelId],onSelect:()=>o(T.session.taskId),onDelete:()=>u(T.session.taskId)})]})})},[t,h,u,o,v,i]),D=j.useCallback(T=>T.kind==="group"?c.jsx("div",{className:"session-group-label",children:y?`${T.group} Runtime Sessions`:T.group}):T.kind==="primary"?I(T.node):T.kind==="child-count"?c.jsxs("button",{className:"session-child-count",onClick:()=>v(T.node.session.taskId),children:[T.node.children.length," sub-task",T.node.children.length>1?"s":""]}):c.jsx("div",{className:"session-children",children:c.jsx(Kd,{session:T.child,isActive:T.child.taskId===t,isChild:!0,isLast:T.childIndex===T.childCount-1,unreadCount:i?.[T.child.channelId],onSelect:()=>o(T.child.taskId),onDelete:()=>u(T.child.taskId)})}),[t,y,u,o,I,v,i]);return c.jsxs("div",{className:"session-sidebar",children:[c.jsxs("button",{className:"session-new-btn",onClick:a,children:[c.jsx(v4,{}),c.jsx("span",{children:"New Chat"})]}),d&&c.jsxs("button",{className:`session-nav-btn${n===r?" active":""}`,onClick:d,children:[c.jsx(au,{}),c.jsx("span",{children:"Secretary"}),!!(r&&i?.[r])&&i[r]>0&&c.jsx("span",{className:"session-unread-badge",children:i[r]>99?"99+":i[r]})]}),c.jsxs("div",{className:"session-search-wrap",children:[c.jsx(N0,{}),c.jsx("input",{className:"session-search",placeholder:"Search...",value:m,onChange:T=>p(T.target.value)})]}),c.jsxs("div",{ref:N,className:`session-list${C?" session-list-virtualized":""}`,children:[C?c.jsx("div",{style:{height:O.getTotalSize(),width:"100%",position:"relative"},children:O.getVirtualItems().map(T=>c.jsx("div",{"data-index":T.index,ref:O.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${T.start}px)`},children:D(w[T.index])},T.key))}):["Today","Yesterday","Earlier"].map(T=>{const L=_[T];return!L||L.length===0?null:c.jsxs("div",{className:"session-group",children:[c.jsx("div",{className:"session-group-label",children:y?`${T} Runtime Sessions`:T}),L.map(A=>{const M=A.children.length>0,$=h.has(A.session.taskId);return c.jsxs("div",{className:"session-tree-node",children:[c.jsxs("div",{className:"session-tree-primary",children:[M&&c.jsx("button",{className:`session-expand-btn${$?" collapsed":""}`,onClick:W=>{W.stopPropagation(),v(A.session.taskId)},"aria-label":$?"Expand":"Collapse"}),c.jsx(Kd,{session:A.session,isActive:A.session.taskId===t,unreadCount:i?.[A.session.channelId],onSelect:()=>o(A.session.taskId),onDelete:()=>u(A.session.taskId)})]}),M&&!$&&c.jsx("div",{className:"session-children",children:A.children.map((W,B)=>c.jsx(Kd,{session:W,isActive:W.taskId===t,isChild:!0,isLast:B===A.children.length-1,unreadCount:i?.[W.channelId],onSelect:()=>o(W.taskId),onDelete:()=>u(W.taskId)},W.taskId))}),M&&$&&c.jsxs("button",{className:"session-child-count",onClick:()=>v(A.session.taskId),children:[A.children.length," sub-task",A.children.length>1?"s":""]})]},A.session.taskId)})]},T)}),k.length===0&&c.jsx("div",{className:"session-empty",children:"No sessions yet"})]}),c.jsxs("button",{className:`session-nav-btn session-activity-btn${t===null&&n!==r?" active":""}`,onClick:()=>o(null),children:[c.jsx(Yj,{}),c.jsx("span",{children:"Activity"})]})]})}const Y4=new Set(["company_work_item_gate","company_delivery_feedback","company_staffing_selection","company_recruitment_confirmation","company_reorg_pending","human_escalation","task_user_input"]),X4=new Set(["responded","resolved","timeout","timed_out","expired","stale","superseded","ignored","cancelled","canceled","invalid"]);function K4(e){return Y4.has(String(e??"").trim())}function lu(e){return!(!K4(e?.checkpoint_type)||e?.self_evolution_completed||String(e?.kind??"").trim()==="company_self_evolution_result")}function Z4(e){const t=String(e?.checkpoint_status??"").trim().toLowerCase();return X4.has(t)?!0:!!String(e?.checkpoint_response_message_id??"").trim()}function I0(e){const t=String(e?.checkpoint_id??"").trim();if(!t)return;const n=String(e?.checkpoint_type??"").trim(),r=String(e?.escalation_id??"").trim();return{response_to_checkpoint_id:t,response_to_checkpoint_type:n||void 0,response_to_escalation_id:r||void 0}}function Qj(e){const t=String(e?.response_to_checkpoint_type??"").trim();if(!(t==="company_delivery_feedback"||t==="human_escalation"))return e}function T0(e){const t=new Set,n=new Set,r=new Set;let i;const o=new Map,a=new Map,u=new Set;for(let d=0;dd,k=g==="human_escalation"&&!!y&&(a.get(y)??-1)>d;if(Z4(p)||v||k){n.add(m.id);continue}t.add(m.id),i=I0(p)??i}return{pendingMessageIds:t,respondedMessageIds:n,duplicateMessageIds:r,latestPendingReplyMetadata:i}}function Tr(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var Q4=typeof Symbol=="function"&&Symbol.observable||"@@observable",oS=Q4,aS=()=>Math.random().toString(36).substring(7).split("").join("."),J4={INIT:`@@redux/INIT${aS()}`,REPLACE:`@@redux/REPLACE${aS()}`},lS=J4;function e5(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function Jj(e,t,n){if(typeof e!="function")throw new Error(Tr(2));if(typeof t=="function"&&typeof n=="function"||typeof n=="function"&&typeof arguments[3]=="function")throw new Error(Tr(0));if(typeof t=="function"&&typeof n>"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(Tr(1));return n(Jj)(e,t)}let r=e,i=t,o=new Map,a=o,u=0,d=!1;function m(){a===o&&(a=new Map,o.forEach((S,_)=>{a.set(_,S)}))}function p(){if(d)throw new Error(Tr(3));return i}function h(S){if(typeof S!="function")throw new Error(Tr(4));if(d)throw new Error(Tr(5));let _=!0;m();const w=u++;return a.set(w,S),function(){if(_){if(d)throw new Error(Tr(6));_=!1,m(),a.delete(w),o=null}}}function g(S){if(!e5(S))throw new Error(Tr(7));if(typeof S.type>"u")throw new Error(Tr(8));if(typeof S.type!="string")throw new Error(Tr(17));if(d)throw new Error(Tr(9));try{d=!0,i=r(i,S)}finally{d=!1}return(o=a).forEach(w=>{w()}),S}function y(S){if(typeof S!="function")throw new Error(Tr(10));r=S,g({type:lS.REPLACE})}function v(){const S=h;return{subscribe(_){if(typeof _!="object"||_===null)throw new Error(Tr(11));function w(){const N=_;N.next&&N.next(p())}return w(),{unsubscribe:S(w)}},[oS](){return this}}}return g({type:lS.INIT}),{dispatch:g,subscribe:h,getState:p,replaceReducer:y,[oS]:v}}function cS(e,t){return function(...n){return t(e.apply(this,n))}}function uS(e,t){if(typeof e=="function")return cS(e,t);if(typeof e!="object"||e===null)throw new Error(Tr(16));const n={};for(const r in e){const i=e[r];typeof i=="function"&&(n[r]=cS(i,t))}return n}function eE(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...r)=>t(n(...r)))}function t5(...e){return t=>(n,r)=>{const i=t(n,r);let o=()=>{throw new Error(Tr(15))};const a={getState:i.getState,dispatch:(d,...m)=>o(d,...m)},u=e.map(d=>d(a));return o=eE(...u)(i.dispatch),{...i,dispatch:o}}}var xg={exports:{}},yg={};var dS;function n5(){if(dS)return yg;dS=1;var e=El();function t(d,m){return d===m&&(d!==0||1/d===1/m)||d!==d&&m!==m}var n=typeof Object.is=="function"?Object.is:t,r=e.useSyncExternalStore,i=e.useRef,o=e.useEffect,a=e.useMemo,u=e.useDebugValue;return yg.useSyncExternalStoreWithSelector=function(d,m,p,h,g){var y=i(null);if(y.current===null){var v={hasValue:!1,value:null};y.current=v}else v=y.current;y=a(function(){function S(O){if(!_){if(_=!0,w=O,O=h(O),g!==void 0&&v.hasValue){var I=v.value;if(g(I,O))return C=I}return C=O}if(I=C,n(w,O))return I;var D=h(O);return g!==void 0&&g(I,D)?(w=O,I):(w=O,C=D)}var _=!1,w,C,N=p===void 0?null:p;return[function(){return S(m())},N===null?void 0:function(){return S(N())}]},[m,p,h,g]);var k=r(d,y[0],y[1]);return o(function(){v.hasValue=!0,v.value=k},[k]),u(k),k},yg}var fS;function r5(){return fS||(fS=1,xg.exports=n5()),xg.exports}r5();var i5=j.version.startsWith("19"),s5=Symbol.for(i5?"react.transitional.element":"react.element"),o5=Symbol.for("react.portal"),a5=Symbol.for("react.fragment"),l5=Symbol.for("react.strict_mode"),c5=Symbol.for("react.profiler"),u5=Symbol.for("react.consumer"),d5=Symbol.for("react.context"),tE=Symbol.for("react.forward_ref"),f5=Symbol.for("react.suspense"),m5=Symbol.for("react.suspense_list"),R0=Symbol.for("react.memo"),h5=Symbol.for("react.lazy"),p5=tE,g5=R0;function x5(e){if(typeof e=="object"&&e!==null){const{$$typeof:t}=e;switch(t){case s5:switch(e=e.type,e){case a5:case c5:case l5:case f5:case m5:return e;default:switch(e=e&&e.$$typeof,e){case d5:case tE:case h5:case R0:return e;case u5:return e;default:return t}}case o5:return t}}}function y5(e){return x5(e)===R0}function v5(e,t,n,r,{areStatesEqual:i,areOwnPropsEqual:o,areStatePropsEqual:a}){let u=!1,d,m,p,h,g;function y(w,C){return d=w,m=C,p=e(d,m),h=t(r,m),g=n(p,h,m),u=!0,g}function v(){return p=e(d,m),t.dependsOnOwnProps&&(h=t(r,m)),g=n(p,h,m),g}function k(){return e.dependsOnOwnProps&&(p=e(d,m)),t.dependsOnOwnProps&&(h=t(r,m)),g=n(p,h,m),g}function S(){const w=e(d,m),C=!a(w,p);return p=w,C&&(g=n(p,h,m)),g}function _(w,C){const N=!o(C,m),O=!i(w,d,C,m);return d=w,m=C,N&&O?v():N?k():O?S():g}return function(C,N){return u?_(C,N):y(C,N)}}function b5(e,{initMapStateToProps:t,initMapDispatchToProps:n,initMergeProps:r,...i}){const o=t(e,i),a=n(e,i),u=r(e,i);return v5(o,a,u,e,i)}function _5(e,t){const n={};for(const r in e){const i=e[r];typeof i=="function"&&(n[r]=(...o)=>t(i(...o)))}return n}function Ry(e){return function(n){const r=e(n);function i(){return r}return i.dependsOnOwnProps=!1,i}}function mS(e){return e.dependsOnOwnProps?!!e.dependsOnOwnProps:e.length!==1}function nE(e,t){return function(r,{displayName:i}){const o=function(u,d){return o.dependsOnOwnProps?o.mapToProps(u,d):o.mapToProps(u,void 0)};return o.dependsOnOwnProps=!0,o.mapToProps=function(u,d){o.mapToProps=e,o.dependsOnOwnProps=mS(e);let m=o(u,d);return typeof m=="function"&&(o.mapToProps=m,o.dependsOnOwnProps=mS(m),m=o(u,d)),m},o}}function A0(e,t){return(n,r)=>{throw new Error(`Invalid value of type ${typeof e} for ${t} argument when connecting component ${r.wrappedComponentName}.`)}}function k5(e){return e&&typeof e=="object"?Ry(t=>_5(e,t)):e?typeof e=="function"?nE(e):A0(e,"mapDispatchToProps"):Ry(t=>({dispatch:t}))}function S5(e){return e?typeof e=="function"?nE(e):A0(e,"mapStateToProps"):Ry(()=>({}))}function w5(e,t,n){return{...n,...e,...t}}function C5(e){return function(n,{displayName:r,areMergedPropsEqual:i}){let o=!1,a;return function(d,m,p){const h=e(d,m,p);return o?i(h,a)||(a=h):(o=!0,a=h),a}}}function j5(e){return e?typeof e=="function"?C5(e):A0(e,"mergeProps"):()=>w5}function E5(e){e()}function N5(){let e=null,t=null;return{clear(){e=null,t=null},notify(){E5(()=>{let n=e;for(;n;)n.callback(),n=n.next})},get(){const n=[];let r=e;for(;r;)n.push(r),r=r.next;return n},subscribe(n){let r=!0;const i=t={callback:n,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!r||e===null||(r=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var hS={notify(){},get:()=>[]};function rE(e,t){let n,r=hS,i=0,o=!1;function a(k){p();const S=r.subscribe(k);let _=!1;return()=>{_||(_=!0,S(),h())}}function u(){r.notify()}function d(){v.onStateChange&&v.onStateChange()}function m(){return o}function p(){i++,n||(n=t?t.addNestedSub(d):e.subscribe(d),r=N5())}function h(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=hS)}function g(){o||(o=!0,p())}function y(){o&&(o=!1,h())}const v={addNestedSub:a,notifyNestedSubs:u,handleChangeWrapper:d,isSubscribed:m,trySubscribe:g,tryUnsubscribe:y,getListeners:()=>r};return v}var I5=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",T5=I5(),R5=()=>typeof navigator<"u"&&navigator.product==="ReactNative",A5=R5(),M5=()=>T5||A5?j.useLayoutEffect:j.useEffect,Vf=M5();function pS(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function vg(e,t){if(pS(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;ie(...t),n)}function W5(e,t,n,r,i,o){e.current=r,n.current=!1,i.current&&(i.current=null,o())}function Y5(e,t,n,r,i,o,a,u,d,m,p){if(!e)return()=>{};let h=!1,g=null;const y=()=>{if(h||!u.current)return;const k=t.getState();let S,_;try{S=r(k,i.current)}catch(w){_=w,g=w}_||(g=null),S===o.current?a.current||m():(o.current=S,d.current=S,a.current=!0,p())};return n.onStateChange=y,n.trySubscribe(),y(),()=>{if(h=!0,n.tryUnsubscribe(),n.onStateChange=null,g)throw g}}function X5(e,t){return e===t}function K5(e,t,n,{pure:r,areStatesEqual:i=X5,areOwnPropsEqual:o=vg,areStatePropsEqual:a=vg,areMergedPropsEqual:u=vg,forwardRef:d=!1,context:m=sE}={}){const p=m,h=S5(e),g=k5(t),y=j5(n),v=!!e;return S=>{const _=S.displayName||S.name||"Component",w=`Connect(${_})`,C={shouldHandleStateChanges:v,displayName:w,wrappedComponentName:_,WrappedComponent:S,initMapStateToProps:h,initMapDispatchToProps:g,initMergeProps:y,areStatesEqual:i,areStatePropsEqual:a,areOwnPropsEqual:o,areMergedPropsEqual:u};function N(D){const[T,L,A]=j.useMemo(()=>{const{reactReduxForwardedRef:we,...Ce}=D;return[D.context,we,Ce]},[D]),M=j.useMemo(()=>{let we=p;return T?.Consumer,we},[T,p]),$=j.useContext(M),W=!!D.store&&!!D.store.getState&&!!D.store.dispatch,B=!!$&&!!$.store,U=W?D.store:$.store,H=B?$.getServerState:U.getState,V=j.useMemo(()=>b5(U.dispatch,C),[U]),[Y,Q]=j.useMemo(()=>{if(!v)return G5;const we=rE(U,W?void 0:$.subscription),Ce=we.notifyNestedSubs.bind(we);return[we,Ce]},[U,W,$]),q=j.useMemo(()=>W?$:{...$,subscription:Y},[W,$,Y]),G=j.useRef(void 0),J=j.useRef(A),P=j.useRef(void 0),X=j.useRef(!1),ee=j.useRef(!1),te=j.useRef(void 0);Vf(()=>(ee.current=!0,()=>{ee.current=!1}),[]);const re=j.useMemo(()=>()=>P.current&&A===J.current?P.current:V(U.getState(),A),[U,A]),oe=j.useMemo(()=>Ce=>Y?Y5(v,U,Y,V,J,G,X,ee,P,Q,Ce):()=>{},[Y]);q5(W5,[J,G,X,A,P,Q]);let de;try{de=j.useSyncExternalStore(oe,re,H?()=>V(H(),A):re)}catch(we){throw te.current&&(we.message+=` +The error may be correlated with this previous error: +${te.current.stack} + +`),we}Vf(()=>{te.current=void 0,P.current=void 0,G.current=de});const se=j.useMemo(()=>j.createElement(S,{...de,ref:L}),[L,S,de]);return j.useMemo(()=>v?j.createElement(M.Provider,{value:q},se):se,[M,se,q])}const I=j.memo(N);if(I.WrappedComponent=S,I.displayName=N.displayName=w,d){const T=j.forwardRef(function(A,M){return j.createElement(I,{...A,reactReduxForwardedRef:M})});return T.displayName=w,T.WrappedComponent=S,Ay(T,S)}return Ay(I,S)}}var oE=K5;function Z5(e){const{children:t,context:n,serverState:r,store:i}=e,o=j.useMemo(()=>{const d=rE(i);return{store:i,subscription:d,getServerState:r?()=>r:void 0}},[i,r]),a=j.useMemo(()=>i.getState(),[i]);Vf(()=>{const{subscription:d}=o;return d.onStateChange=d.notifyNestedSubs,d.trySubscribe(),a!==i.getState()&&d.notifyNestedSubs(),()=>{d.tryUnsubscribe(),d.onStateChange=void 0}},[o,a]);const u=n||sE;return j.createElement(u.Provider,{value:o},t)}var Q5=Z5,J5="Invariant failed";function eD(e,t){throw new Error(J5)}var Ti=function(t){var n=t.top,r=t.right,i=t.bottom,o=t.left,a=r-o,u=i-n,d={top:n,right:r,bottom:i,left:o,width:a,height:u,x:o,y:n,center:{x:(r+o)/2,y:(i+n)/2}};return d},M0=function(t,n){return{top:t.top-n.top,left:t.left-n.left,bottom:t.bottom+n.bottom,right:t.right+n.right}},vS=function(t,n){return{top:t.top+n.top,left:t.left+n.left,bottom:t.bottom-n.bottom,right:t.right-n.right}},tD=function(t,n){return{top:t.top+n.y,left:t.left+n.x,bottom:t.bottom+n.y,right:t.right+n.x}},bg={top:0,right:0,bottom:0,left:0},D0=function(t){var n=t.borderBox,r=t.margin,i=r===void 0?bg:r,o=t.border,a=o===void 0?bg:o,u=t.padding,d=u===void 0?bg:u,m=Ti(M0(n,i)),p=Ti(vS(n,a)),h=Ti(vS(p,d));return{marginBox:m,borderBox:Ti(n),paddingBox:p,contentBox:h,margin:i,border:a,padding:d}},gi=function(t){var n=t.slice(0,-2),r=t.slice(-2);if(r!=="px")return 0;var i=Number(n);return isNaN(i)&&eD(),i},nD=function(){return{x:window.pageXOffset,y:window.pageYOffset}},Uf=function(t,n){var r=t.borderBox,i=t.border,o=t.margin,a=t.padding,u=tD(r,n);return D0({borderBox:u,border:i,margin:o,padding:a})},Gf=function(t,n){return n===void 0&&(n=nD()),Uf(t,n)},aE=function(t,n){var r={top:gi(n.marginTop),right:gi(n.marginRight),bottom:gi(n.marginBottom),left:gi(n.marginLeft)},i={top:gi(n.paddingTop),right:gi(n.paddingRight),bottom:gi(n.paddingBottom),left:gi(n.paddingLeft)},o={top:gi(n.borderTopWidth),right:gi(n.borderRightWidth),bottom:gi(n.borderBottomWidth),left:gi(n.borderLeftWidth)};return D0({borderBox:t,margin:r,padding:i,border:o})},lE=function(t){var n=t.getBoundingClientRect(),r=window.getComputedStyle(t);return aE(n,r)},cu=function(t){var n=[],r=null,i=function(){for(var a=arguments.length,u=new Array(a),d=0;d{const o=rD(n,i.options);return e.addEventListener(i.eventName,i.fn,o),function(){e.removeEventListener(i.eventName,i.fn,o)}});return function(){r.forEach(o=>{o()})}}const iD="Invariant failed";class Wf extends Error{}Wf.prototype.toString=function(){return this.message};function Le(e,t){throw new Wf(iD)}let sD=class extends St.Component{constructor(...t){super(...t),this.callbacks=null,this.unbind=fo,this.onWindowError=n=>{const r=this.getCallbacks();r.isDragging()&&r.tryAbort(),n.error instanceof Wf&&n.preventDefault()},this.getCallbacks=()=>{if(!this.callbacks)throw new Error("Unable to find AppCallbacks in ");return this.callbacks},this.setCallbacks=n=>{this.callbacks=n}}componentDidMount(){this.unbind=bi(window,[{eventName:"error",fn:this.onWindowError}])}componentDidCatch(t){if(t instanceof Wf){this.setState({});return}throw t}componentWillUnmount(){this.unbind()}render(){return this.props.children(this.setCallbacks)}};const oD=` + Press space bar to start a drag. + When dragging you can use the arrow keys to move the item around and escape to cancel. + Some screen readers may require you to be in focus mode or to use your pass through key +`,Yf=e=>e+1,aD=e=>` + You have lifted an item in position ${Yf(e.source.index)} +`,uE=(e,t)=>{const n=e.droppableId===t.droppableId,r=Yf(e.index),i=Yf(t.index);return n?` + You have moved the item from position ${r} + to position ${i} + `:` + You have moved the item from position ${r} + in list ${e.droppableId} + to list ${t.droppableId} + in position ${i} + `},dE=(e,t,n)=>t.droppableId===n.droppableId?` + The item ${e} + has been combined with ${n.draggableId}`:` + The item ${e} + in list ${t.droppableId} + has been combined with ${n.draggableId} + in list ${n.droppableId} + `,lD=e=>{const t=e.destination;if(t)return uE(e.source,t);const n=e.combine;return n?dE(e.draggableId,e.source,n):"You are over an area that cannot be dropped on"},bS=e=>` + The item has returned to its starting position + of ${Yf(e.index)} +`,cD=e=>{if(e.reason==="CANCEL")return` + Movement cancelled. + ${bS(e.source)} + `;const t=e.destination,n=e.combine;return t?` + You have dropped the item. + ${uE(e.source,t)} + `:n?` + You have dropped the item. + ${dE(e.draggableId,e.source,n)} + `:` + The item has been dropped while not over a drop area. + ${bS(e.source)} + `},Ef={dragHandleUsageInstructions:oD,onDragStart:aD,onDragUpdate:lD,onDragEnd:cD};function uD(e,t){return!!(e===t||Number.isNaN(e)&&Number.isNaN(t))}function fE(e,t){if(e.length!==t.length)return!1;for(let n=0;n({inputs:t,result:e()}))[0],r=j.useRef(!0),i=j.useRef(n),a=r.current||!!(t&&i.current.inputs&&fE(t,i.current.inputs))?i.current:{inputs:t,result:e()};return j.useEffect(()=>{r.current=!1,i.current=a},[a]),a.result}function st(e,t){return Vt(()=>e,t)}const ar={x:0,y:0},xr=(e,t)=>({x:e.x+t.x,y:e.y+t.y}),Jr=(e,t)=>({x:e.x-t.x,y:e.y-t.y}),mo=(e,t)=>e.x===t.x&&e.y===t.y,Il=e=>({x:e.x!==0?-e.x:0,y:e.y!==0?-e.y:0}),qo=(e,t,n=0)=>e==="x"?{x:t,y:n}:{x:n,y:t},uu=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2),_S=(e,t)=>Math.min(...t.map(n=>uu(e,n))),mE=e=>t=>({x:e(t.x),y:e(t.y)});var dD=(e,t)=>{const n=Ti({top:Math.max(t.top,e.top),right:Math.min(t.right,e.right),bottom:Math.min(t.bottom,e.bottom),left:Math.max(t.left,e.left)});return n.width<=0||n.height<=0?null:n};const Iu=(e,t)=>({top:e.top+t.y,left:e.left+t.x,bottom:e.bottom+t.y,right:e.right+t.x}),kS=e=>[{x:e.left,y:e.top},{x:e.right,y:e.top},{x:e.left,y:e.bottom},{x:e.right,y:e.bottom}],fD={top:0,right:0,bottom:0,left:0},mD=(e,t)=>t?Iu(e,t.scroll.diff.displacement):e,hD=(e,t,n)=>n&&n.increasedBy?{...e,[t.end]:e[t.end]+n.increasedBy[t.line]}:e,pD=(e,t)=>t&&t.shouldClipSubject?dD(t.pageMarginBox,e):Ti(e);var ml=({page:e,withPlaceholder:t,axis:n,frame:r})=>{const i=mD(e.marginBox,r),o=hD(i,n,t),a=pD(o,r);return{page:e,withPlaceholder:t,active:a}},O0=(e,t)=>{e.frame||Le();const n=e.frame,r=Jr(t,n.scroll.initial),i=Il(r),o={...n,scroll:{initial:n.scroll.initial,current:t,diff:{value:r,displacement:i},max:n.scroll.max}},a=ml({page:e.subject.page,withPlaceholder:e.subject.withPlaceholder,axis:e.axis,frame:o});return{...e,frame:o,subject:a}};function or(e,t=fE){let n=null;function r(...i){if(n&&n.lastThis===this&&t(i,n.lastArgs))return n.lastResult;const o=e.apply(this,i);return n={lastResult:o,lastArgs:i,lastThis:this},o}return r.clear=function(){n=null},r}const hE=or(e=>e.reduce((t,n)=>(t[n.descriptor.id]=n,t),{})),pE=or(e=>e.reduce((t,n)=>(t[n.descriptor.id]=n,t),{})),Im=or(e=>Object.values(e)),gD=or(e=>Object.values(e));var Tl=or((e,t)=>gD(t).filter(r=>e===r.descriptor.droppableId).sort((r,i)=>r.descriptor.index-i.descriptor.index));function L0(e){return e.at&&e.at.type==="REORDER"?e.at.destination:null}function Tm(e){return e.at&&e.at.type==="COMBINE"?e.at.combine:null}var Rm=or((e,t)=>t.filter(n=>n.descriptor.id!==e.descriptor.id)),xD=({isMovingForward:e,draggable:t,destination:n,insideDestination:r,previousImpact:i})=>{if(!n.isCombineEnabled||!L0(i))return null;function a(y){const v={type:"COMBINE",combine:{draggableId:y,droppableId:n.descriptor.id}};return{...i,at:v}}const u=i.displaced.all,d=u.length?u[0]:null;if(e)return d?a(d):null;const m=Rm(t,r);if(!d){if(!m.length)return null;const y=m[m.length-1];return a(y.descriptor.id)}const p=m.findIndex(y=>y.descriptor.id===d);p===-1&&Le();const h=p-1;if(h<0)return null;const g=m[h];return a(g.descriptor.id)},Rl=(e,t)=>e.descriptor.droppableId===t.descriptor.id;const gE={point:ar,value:0},du={invisible:{},visible:{},all:[]},yD={displaced:du,displacedBy:gE,at:null};var _i=(e,t)=>n=>e<=n&&n<=t,xE=e=>{const t=_i(e.top,e.bottom),n=_i(e.left,e.right);return r=>{if(t(r.top)&&t(r.bottom)&&n(r.left)&&n(r.right))return!0;const o=t(r.top)||t(r.bottom),a=n(r.left)||n(r.right);if(o&&a)return!0;const d=r.tope.bottom,m=r.lefte.right;return d&&m?!0:d&&a||m&&o}},vD=e=>{const t=_i(e.top,e.bottom),n=_i(e.left,e.right);return r=>t(r.top)&&t(r.bottom)&&n(r.left)&&n(r.right)};const z0={direction:"vertical",line:"y",crossAxisLine:"x",start:"top",end:"bottom",size:"height",crossAxisStart:"left",crossAxisEnd:"right",crossAxisSize:"width"},yE={direction:"horizontal",line:"x",crossAxisLine:"y",start:"left",end:"right",size:"width",crossAxisStart:"top",crossAxisEnd:"bottom",crossAxisSize:"height"};var bD=e=>t=>{const n=_i(t.top,t.bottom),r=_i(t.left,t.right);return i=>e===z0?n(i.top)&&n(i.bottom):r(i.left)&&r(i.right)};const _D=(e,t)=>{const n=t.frame?t.frame.scroll.diff.displacement:ar;return Iu(e,n)},kD=(e,t,n)=>t.subject.active?n(t.subject.active)(e):!1,SD=(e,t,n)=>n(t)(e),P0=({target:e,destination:t,viewport:n,withDroppableDisplacement:r,isVisibleThroughFrameFn:i})=>{const o=r?_D(e,t):e;return kD(o,t,i)&&SD(o,n,i)},wD=e=>P0({...e,isVisibleThroughFrameFn:xE}),vE=e=>P0({...e,isVisibleThroughFrameFn:vD}),CD=e=>P0({...e,isVisibleThroughFrameFn:bD(e.destination.axis)}),jD=(e,t,n)=>{if(typeof n=="boolean")return n;if(!t)return!0;const{invisible:r,visible:i}=t;if(r[e])return!1;const o=i[e];return o?o.shouldAnimate:!0};function ED(e,t){const n=e.page.marginBox,r={top:t.point.y,right:0,bottom:0,left:t.point.x};return Ti(M0(n,r))}function fu({afterDragging:e,destination:t,displacedBy:n,viewport:r,forceShouldAnimate:i,last:o}){return e.reduce(function(u,d){const m=ED(d,n),p=d.descriptor.id;if(u.all.push(p),!wD({target:m,destination:t,viewport:r,withDroppableDisplacement:!0}))return u.invisible[d.descriptor.id]=!0,u;const g=jD(p,o,i),y={draggableId:p,shouldAnimate:g};return u.visible[p]=y,u},{all:[],visible:{},invisible:{}})}function ND(e,t){if(!e.length)return 0;const n=e[e.length-1].descriptor.index;return t.inHomeList?n:n+1}function SS({insideDestination:e,inHomeList:t,displacedBy:n,destination:r}){const i=ND(e,{inHomeList:t});return{displaced:du,displacedBy:n,at:{type:"REORDER",destination:{droppableId:r.descriptor.id,index:i}}}}function Xf({draggable:e,insideDestination:t,destination:n,viewport:r,displacedBy:i,last:o,index:a,forceShouldAnimate:u}){const d=Rl(e,n);if(a==null)return SS({insideDestination:t,inHomeList:d,displacedBy:i,destination:n});const m=t.find(v=>v.descriptor.index===a);if(!m)return SS({insideDestination:t,inHomeList:d,displacedBy:i,destination:n});const p=Rm(e,t),h=t.indexOf(m),g=p.slice(h);return{displaced:fu({afterDragging:g,destination:n,displacedBy:i,last:o,viewport:r.frame,forceShouldAnimate:u}),displacedBy:i,at:{type:"REORDER",destination:{droppableId:n.descriptor.id,index:a}}}}function go(e,t){return!!t.effected[e]}var ID=({isMovingForward:e,destination:t,draggables:n,combine:r,afterCritical:i})=>{if(!t.isCombineEnabled)return null;const o=r.draggableId,u=n[o].descriptor.index;return go(o,i)?e?u:u-1:e?u+1:u},TD=({isMovingForward:e,isInHomeList:t,insideDestination:n,location:r})=>{if(!n.length)return null;const i=r.index,o=e?i+1:i-1,a=n[0].descriptor.index,u=n[n.length-1].descriptor.index,d=t?u:u+1;return od?null:o},RD=({isMovingForward:e,isInHomeList:t,draggable:n,draggables:r,destination:i,insideDestination:o,previousImpact:a,viewport:u,afterCritical:d})=>{const m=a.at;if(m||Le(),m.type==="REORDER"){const h=TD({isMovingForward:e,isInHomeList:t,location:m.destination,insideDestination:o});return h==null?null:Xf({draggable:n,insideDestination:o,destination:i,viewport:u,last:a.displaced,displacedBy:a.displacedBy,index:h})}const p=ID({isMovingForward:e,destination:i,displaced:a.displaced,draggables:r,combine:m.combine,afterCritical:d});return p==null?null:Xf({draggable:n,insideDestination:o,destination:i,viewport:u,last:a.displaced,displacedBy:a.displacedBy,index:p})},AD=({displaced:e,afterCritical:t,combineWith:n,displacedBy:r})=>{const i=!!(e.visible[n]||e.invisible[n]);return go(n,t)?i?ar:Il(r.point):i?r.point:ar},MD=({afterCritical:e,impact:t,draggables:n})=>{const r=Tm(t);r||Le();const i=r.draggableId,o=n[i].page.borderBox.center,a=AD({displaced:t.displaced,afterCritical:e,combineWith:i,displacedBy:t.displacedBy});return xr(o,a)};const bE=(e,t)=>t.margin[e.start]+t.borderBox[e.size]/2,DD=(e,t)=>t.margin[e.end]+t.borderBox[e.size]/2,B0=(e,t,n)=>t[e.crossAxisStart]+n.margin[e.crossAxisStart]+n.borderBox[e.crossAxisSize]/2,wS=({axis:e,moveRelativeTo:t,isMoving:n})=>qo(e.line,t.marginBox[e.end]+bE(e,n),B0(e,t.marginBox,n)),CS=({axis:e,moveRelativeTo:t,isMoving:n})=>qo(e.line,t.marginBox[e.start]-DD(e,n),B0(e,t.marginBox,n)),OD=({axis:e,moveInto:t,isMoving:n})=>qo(e.line,t.contentBox[e.start]+bE(e,n),B0(e,t.contentBox,n));var LD=({impact:e,draggable:t,draggables:n,droppable:r,afterCritical:i})=>{const o=Tl(r.descriptor.id,n),a=t.page,u=r.axis;if(!o.length)return OD({axis:u,moveInto:r.page,isMoving:a});const{displaced:d,displacedBy:m}=e,p=d.all[0];if(p){const g=n[p];if(go(p,i))return CS({axis:u,moveRelativeTo:g.page,isMoving:a});const y=Uf(g.page,m.point);return CS({axis:u,moveRelativeTo:y,isMoving:a})}const h=o[o.length-1];if(h.descriptor.id===t.descriptor.id)return a.borderBox.center;if(go(h.descriptor.id,i)){const g=Uf(h.page,Il(i.displacedBy.point));return wS({axis:u,moveRelativeTo:g,isMoving:a})}return wS({axis:u,moveRelativeTo:h.page,isMoving:a})},My=(e,t)=>{const n=e.frame;return n?xr(t,n.scroll.diff.displacement):t};const zD=({impact:e,draggable:t,droppable:n,draggables:r,afterCritical:i})=>{const o=t.page.borderBox.center,a=e.at;return!n||!a?o:a.type==="REORDER"?LD({impact:e,draggable:t,draggables:r,droppable:n,afterCritical:i}):MD({impact:e,draggables:r,afterCritical:i})};var Am=e=>{const t=zD(e),n=e.droppable;return n?My(n,t):t},_E=(e,t)=>{const n=Jr(t,e.scroll.initial),r=Il(n);return{frame:Ti({top:t.y,bottom:t.y+e.frame.height,left:t.x,right:t.x+e.frame.width}),scroll:{initial:e.scroll.initial,max:e.scroll.max,current:t,diff:{value:n,displacement:r}}}};function jS(e,t){return e.map(n=>t[n])}function PD(e,t){for(let n=0;n{const o=_E(t,xr(t.scroll.current,i)),a=n.frame?O0(n,xr(n.frame.scroll.current,i)):n,u=e.displaced,d=fu({afterDragging:jS(u.all,r),destination:n,displacedBy:e.displacedBy,viewport:o.frame,last:u,forceShouldAnimate:!1}),m=fu({afterDragging:jS(u.all,r),destination:a,displacedBy:e.displacedBy,viewport:t.frame,last:u,forceShouldAnimate:!1}),p={},h={},g=[u,d,m];return u.all.forEach(v=>{const k=PD(v,g);if(k){h[v]=k;return}p[v]=!0}),{...e,displaced:{all:u.all,invisible:p,visible:h}}},$D=(e,t)=>xr(e.scroll.diff.displacement,t),$0=({pageBorderBoxCenter:e,draggable:t,viewport:n})=>{const r=$D(n,e),i=Jr(r,t.page.borderBox.center);return xr(t.client.borderBox.center,i)},kE=({draggable:e,destination:t,newPageBorderBoxCenter:n,viewport:r,withDroppableDisplacement:i,onlyOnMainAxis:o=!1})=>{const a=Jr(n,e.page.borderBox.center),d={target:Iu(e.page.borderBox,a),destination:t,withDroppableDisplacement:i,viewport:r};return o?CD(d):vE(d)},HD=({isMovingForward:e,draggable:t,destination:n,draggables:r,previousImpact:i,viewport:o,previousPageBorderBoxCenter:a,previousClientSelection:u,afterCritical:d})=>{if(!n.isEnabled)return null;const m=Tl(n.descriptor.id,r),p=Rl(t,n),h=xD({isMovingForward:e,draggable:t,destination:n,insideDestination:m,previousImpact:i})||RD({isMovingForward:e,isInHomeList:p,draggable:t,draggables:r,destination:n,insideDestination:m,previousImpact:i,viewport:o,afterCritical:d});if(!h)return null;const g=Am({impact:h,draggable:t,droppable:n,draggables:r,afterCritical:d});if(kE({draggable:t,destination:n,newPageBorderBoxCenter:g,viewport:o.frame,withDroppableDisplacement:!1,onlyOnMainAxis:!0}))return{clientSelection:$0({pageBorderBoxCenter:g,draggable:t,viewport:o}),impact:h,scrollJumpRequest:null};const v=Jr(g,a),k=BD({impact:h,viewport:o,destination:n,draggables:r,maxScrollChange:v});return{clientSelection:u,impact:k,scrollJumpRequest:v}};const Ir=e=>{const t=e.subject.active;return t||Le(),t};var FD=({isMovingForward:e,pageBorderBoxCenter:t,source:n,droppables:r,viewport:i})=>{const o=n.subject.active;if(!o)return null;const a=n.axis,u=_i(o[a.start],o[a.end]),d=Im(r).filter(p=>p!==n).filter(p=>p.isEnabled).filter(p=>!!p.subject.active).filter(p=>xE(i.frame)(Ir(p))).filter(p=>{const h=Ir(p);return e?o[a.crossAxisEnd]{const h=Ir(p),g=_i(h[a.start],h[a.end]);return u(h[a.start])||u(h[a.end])||g(o[a.start])||g(o[a.end])}).sort((p,h)=>{const g=Ir(p)[a.crossAxisStart],y=Ir(h)[a.crossAxisStart];return e?g-y:y-g}).filter((p,h,g)=>Ir(p)[a.crossAxisStart]===Ir(g[0])[a.crossAxisStart]);if(!d.length)return null;if(d.length===1)return d[0];const m=d.filter(p=>_i(Ir(p)[a.start],Ir(p)[a.end])(t[a.line]));return m.length===1?m[0]:m.length>1?m.sort((p,h)=>Ir(p)[a.start]-Ir(h)[a.start])[0]:d.sort((p,h)=>{const g=_S(t,kS(Ir(p))),y=_S(t,kS(Ir(h)));return g!==y?g-y:Ir(p)[a.start]-Ir(h)[a.start]})[0]};const ES=(e,t)=>{const n=e.page.borderBox.center;return go(e.descriptor.id,t)?Jr(n,t.displacedBy.point):n},VD=(e,t)=>{const n=e.page.borderBox;return go(e.descriptor.id,t)?Iu(n,Il(t.displacedBy.point)):n};var UD=({pageBorderBoxCenter:e,viewport:t,destination:n,insideDestination:r,afterCritical:i})=>r.filter(a=>vE({target:VD(a,i),destination:n,viewport:t.frame,withDroppableDisplacement:!0})).sort((a,u)=>{const d=uu(e,My(n,ES(a,i))),m=uu(e,My(n,ES(u,i)));return d{const r=e.axis;if(e.descriptor.mode==="virtual")return qo(r.line,t[r.line]);const i=e.subject.page.contentBox[r.size],d=Tl(e.descriptor.id,n).reduce((m,p)=>m+p.client.marginBox[r.size],0)+t[r.line]-i;return d<=0?null:qo(r.line,d)},SE=(e,t)=>({...e,scroll:{...e.scroll,max:t}}),wE=(e,t,n)=>{const r=e.frame;Rl(t,e)&&Le(),e.subject.withPlaceholder&&Le();const i=Tu(e.axis,t.displaceBy).point,o=GD(e,i,n),a={placeholderSize:i,increasedBy:o,oldFrameMaxScroll:e.frame?e.frame.scroll.max:null};if(!r){const p=ml({page:e.subject.page,withPlaceholder:a,axis:e.axis,frame:e.frame});return{...e,subject:p}}const u=o?xr(r.scroll.max,o):r.scroll.max,d=SE(r,u),m=ml({page:e.subject.page,withPlaceholder:a,axis:e.axis,frame:d});return{...e,subject:m,frame:d}},qD=e=>{const t=e.subject.withPlaceholder;t||Le();const n=e.frame;if(!n){const a=ml({page:e.subject.page,axis:e.axis,frame:null,withPlaceholder:null});return{...e,subject:a}}const r=t.oldFrameMaxScroll;r||Le();const i=SE(n,r),o=ml({page:e.subject.page,axis:e.axis,frame:i,withPlaceholder:null});return{...e,subject:o,frame:i}};var WD=({previousPageBorderBoxCenter:e,moveRelativeTo:t,insideDestination:n,draggable:r,draggables:i,destination:o,viewport:a,afterCritical:u})=>{if(!t){if(n.length)return null;const h={displaced:du,displacedBy:gE,at:{type:"REORDER",destination:{droppableId:o.descriptor.id,index:0}}},g=Am({impact:h,draggable:r,droppable:o,draggables:i,afterCritical:u}),y=Rl(r,o)?o:wE(o,r,i);return kE({draggable:r,destination:y,newPageBorderBoxCenter:g,viewport:a.frame,withDroppableDisplacement:!1,onlyOnMainAxis:!0})?h:null}const d=e[o.axis.line]<=t.page.borderBox.center[o.axis.line],m=(()=>{const h=t.descriptor.index;return t.descriptor.id===r.descriptor.id||d?h:h+1})(),p=Tu(o.axis,r.displaceBy);return Xf({draggable:r,insideDestination:n,destination:o,viewport:a,displacedBy:p,last:du,index:m})},YD=({isMovingForward:e,previousPageBorderBoxCenter:t,draggable:n,isOver:r,draggables:i,droppables:o,viewport:a,afterCritical:u})=>{const d=FD({isMovingForward:e,pageBorderBoxCenter:t,source:r,droppables:o,viewport:a});if(!d)return null;const m=Tl(d.descriptor.id,i),p=UD({pageBorderBoxCenter:t,viewport:a,destination:d,insideDestination:m,afterCritical:u}),h=WD({previousPageBorderBoxCenter:t,destination:d,draggable:n,draggables:i,moveRelativeTo:p,insideDestination:m,viewport:a,afterCritical:u});if(!h)return null;const g=Am({impact:h,draggable:n,droppable:d,draggables:i,afterCritical:u});return{clientSelection:$0({pageBorderBoxCenter:g,draggable:n,viewport:a}),impact:h,scrollJumpRequest:null}},ei=e=>{const t=e.at;return t?t.type==="REORDER"?t.destination.droppableId:t.combine.droppableId:null};const XD=(e,t)=>{const n=ei(e);return n?t[n]:null};var KD=({state:e,type:t})=>{const n=XD(e.impact,e.dimensions.droppables),r=!!n,i=e.dimensions.droppables[e.critical.droppable.id],o=n||i,a=o.axis.direction,u=a==="vertical"&&(t==="MOVE_UP"||t==="MOVE_DOWN")||a==="horizontal"&&(t==="MOVE_LEFT"||t==="MOVE_RIGHT");if(u&&!r)return null;const d=t==="MOVE_DOWN"||t==="MOVE_RIGHT",m=e.dimensions.draggables[e.critical.draggable.id],p=e.current.page.borderBoxCenter,{draggables:h,droppables:g}=e.dimensions;return u?HD({isMovingForward:d,previousPageBorderBoxCenter:p,draggable:m,destination:o,draggables:h,viewport:e.viewport,previousClientSelection:e.current.client.selection,previousImpact:e.impact,afterCritical:e.afterCritical}):YD({isMovingForward:d,previousPageBorderBoxCenter:p,draggable:m,isOver:o,draggables:h,droppables:g,viewport:e.viewport,afterCritical:e.afterCritical})};function Ho(e){return e.phase==="DRAGGING"||e.phase==="COLLECTING"}function CE(e){const t=_i(e.top,e.bottom),n=_i(e.left,e.right);return function(i){return t(i.y)&&n(i.x)}}function ZD(e,t){return e.leftt.left&&e.topt.top}function QD({pageBorderBox:e,draggable:t,candidates:n}){const r=t.page.borderBox.center,i=n.map(o=>{const a=o.axis,u=qo(o.axis.line,e.center[a.line],o.page.borderBox.center[a.crossAxisLine]);return{id:o.descriptor.id,distance:uu(r,u)}}).sort((o,a)=>a.distance-o.distance);return i[0]?i[0].id:null}function JD({pageBorderBox:e,draggable:t,droppables:n}){const r=Im(n).filter(i=>{if(!i.isEnabled)return!1;const o=i.subject.active;if(!o||!ZD(e,o))return!1;if(CE(o)(e.center))return!0;const a=i.axis,u=o.center[a.crossAxisLine],d=e[a.crossAxisStart],m=e[a.crossAxisEnd],p=_i(o[a.crossAxisStart],o[a.crossAxisEnd]),h=p(d),g=p(m);return!h&&!g?!0:h?du});return r.length?r.length===1?r[0].descriptor.id:QD({pageBorderBox:e,draggable:t,candidates:r}):null}const jE=(e,t)=>Ti(Iu(e,t));var eO=(e,t)=>{const n=e.frame;return n?jE(t,n.scroll.diff.value):t};function EE({displaced:e,id:t}){return!!(e.visible[t]||e.invisible[t])}function tO({draggable:e,closest:t,inHomeList:n}){return t?n&&t.descriptor.index>e.descriptor.index?t.descriptor.index-1:t.descriptor.index:null}var nO=({pageBorderBoxWithDroppableScroll:e,draggable:t,destination:n,insideDestination:r,last:i,viewport:o,afterCritical:a})=>{const u=n.axis,d=Tu(n.axis,t.displaceBy),m=d.value,p=e[u.start],h=e[u.end],y=Rm(t,r).find(k=>{const S=k.descriptor.id,_=k.page.borderBox.center[u.line],w=go(S,a),C=EE({displaced:i,id:S});return w?C?h<=_:p<_-m:C?h<=_+m:p<_})||null,v=tO({draggable:t,closest:y,inHomeList:Rl(t,n)});return Xf({draggable:t,insideDestination:r,destination:n,viewport:o,last:i,displacedBy:d,index:v})};const rO=4;var iO=({draggable:e,pageBorderBoxWithDroppableScroll:t,previousImpact:n,destination:r,insideDestination:i,afterCritical:o})=>{if(!r.isCombineEnabled)return null;const a=r.axis,u=Tu(r.axis,e.displaceBy),d=u.value,m=t[a.start],p=t[a.end],g=Rm(e,i).find(v=>{const k=v.descriptor.id,S=v.page.borderBox,w=S[a.size]/rO,C=go(k,o),N=EE({displaced:n.displaced,id:k});return C?N?p>S[a.start]+w&&pS[a.start]-d+w&&mS[a.start]+d+w&&pS[a.start]+w&&m{const u=jE(t.page.borderBox,e),d=JD({pageBorderBox:u,draggable:t,droppables:r});if(!d)return yD;const m=r[d],p=Tl(m.descriptor.id,n),h=eO(m,u);return iO({pageBorderBoxWithDroppableScroll:h,draggable:t,previousImpact:i,destination:m,insideDestination:p,afterCritical:a})||nO({pageBorderBoxWithDroppableScroll:h,draggable:t,destination:m,insideDestination:p,last:i.displaced,viewport:o,afterCritical:a})},H0=(e,t)=>({...e,[t.descriptor.id]:t});const sO=({previousImpact:e,impact:t,droppables:n})=>{const r=ei(e),i=ei(t);if(!r||r===i)return n;const o=n[r];if(!o.subject.withPlaceholder)return n;const a=qD(o);return H0(n,a)};var oO=({draggable:e,draggables:t,droppables:n,previousImpact:r,impact:i})=>{const o=sO({previousImpact:r,impact:i,droppables:n}),a=ei(i);if(!a)return o;const u=n[a];if(Rl(e,u)||u.subject.withPlaceholder)return o;const d=wE(u,e,t);return H0(o,d)},Zc=({state:e,clientSelection:t,dimensions:n,viewport:r,impact:i,scrollJumpRequest:o})=>{const a=r||e.viewport,u=n||e.dimensions,d=t||e.current.client.selection,m=Jr(d,e.initial.client.selection),p={offset:m,selection:d,borderBoxCenter:xr(e.initial.client.borderBoxCenter,m)},h={selection:xr(p.selection,a.scroll.current),borderBoxCenter:xr(p.borderBoxCenter,a.scroll.current),offset:xr(p.offset,a.scroll.diff.value)},g={client:p,page:h};if(e.phase==="COLLECTING")return{...e,dimensions:u,viewport:a,current:g};const y=u.draggables[e.critical.draggable.id],v=i||NE({pageOffset:h.offset,draggable:y,draggables:u.draggables,droppables:u.droppables,previousImpact:e.impact,viewport:a,afterCritical:e.afterCritical}),k=oO({draggable:y,impact:v,previousImpact:e.impact,draggables:u.draggables,droppables:u.droppables});return{...e,current:g,dimensions:{draggables:u.draggables,droppables:k},impact:v,viewport:a,scrollJumpRequest:o||null,forceShouldAnimate:o?!1:null}};function aO(e,t){return e.map(n=>t[n])}var IE=({impact:e,viewport:t,draggables:n,destination:r,forceShouldAnimate:i})=>{const o=e.displaced,a=aO(o.all,n),u=fu({afterDragging:a,destination:r,displacedBy:e.displacedBy,viewport:t.frame,forceShouldAnimate:i,last:o});return{...e,displaced:u}},TE=({impact:e,draggable:t,droppable:n,draggables:r,viewport:i,afterCritical:o})=>{const a=Am({impact:e,draggable:t,draggables:r,droppable:n,afterCritical:o});return $0({pageBorderBoxCenter:a,draggable:t,viewport:i})},RE=({state:e,dimensions:t,viewport:n})=>{e.movementMode!=="SNAP"&&Le();const r=e.impact,i=n||e.viewport,o=t||e.dimensions,{draggables:a,droppables:u}=o,d=a[e.critical.draggable.id],m=ei(r);m||Le();const p=u[m],h=IE({impact:r,viewport:i,destination:p,draggables:a}),g=TE({impact:h,draggable:d,droppable:p,draggables:a,viewport:i,afterCritical:e.afterCritical});return Zc({impact:h,clientSelection:g,state:e,dimensions:o,viewport:i})},lO=e=>({index:e.index,droppableId:e.droppableId}),AE=({draggable:e,home:t,draggables:n,viewport:r})=>{const i=Tu(t.axis,e.displaceBy),o=Tl(t.descriptor.id,n),a=o.indexOf(e);a===-1&&Le();const u=o.slice(a+1),d=u.reduce((g,y)=>(g[y.descriptor.id]=!0,g),{}),m={inVirtualList:t.descriptor.mode==="virtual",displacedBy:i,effected:d};return{impact:{displaced:fu({afterDragging:u,destination:t,displacedBy:i,last:null,viewport:r.frame,forceShouldAnimate:!1}),displacedBy:i,at:{type:"REORDER",destination:lO(e.descriptor)}},afterCritical:m}},cO=(e,t)=>({draggables:e.draggables,droppables:H0(e.droppables,t)}),uO=({draggable:e,offset:t,initialWindowScroll:n})=>{const r=Uf(e.client,t),i=Gf(r,n);return{...e,placeholder:{...e.placeholder,client:r},client:r,page:i}},dO=e=>{const t=e.frame;return t||Le(),t},fO=({additions:e,updatedDroppables:t,viewport:n})=>{const r=n.scroll.diff.value;return e.map(i=>{const o=i.descriptor.droppableId,a=t[o],d=dO(a).scroll.diff.value,m=xr(r,d);return uO({draggable:i,offset:m,initialWindowScroll:n.scroll.initial})})},mO=({state:e,published:t})=>{const n=t.modified.map(_=>{const w=e.dimensions.droppables[_.droppableId];return O0(w,_.scroll)}),r={...e.dimensions.droppables,...hE(n)},i=pE(fO({additions:t.additions,updatedDroppables:r,viewport:e.viewport})),o={...e.dimensions.draggables,...i};t.removals.forEach(_=>{delete o[_]});const a={droppables:r,draggables:o},u=ei(e.impact),d=u?a.droppables[u]:null,m=a.draggables[e.critical.draggable.id],p=a.droppables[e.critical.droppable.id],{impact:h,afterCritical:g}=AE({draggable:m,home:p,draggables:o,viewport:e.viewport}),y=d&&d.isCombineEnabled?e.impact:h,v=NE({pageOffset:e.current.page.offset,draggable:a.draggables[e.critical.draggable.id],draggables:a.draggables,droppables:a.droppables,previousImpact:y,viewport:e.viewport,afterCritical:g}),k={...e,phase:"DRAGGING",impact:v,onLiftImpact:h,dimensions:a,afterCritical:g,forceShouldAnimate:!1};return e.phase==="COLLECTING"?k:{...k,phase:"DROP_PENDING",reason:e.reason,isWaiting:!1}};const Dy=e=>e.movementMode==="SNAP",_g=(e,t,n)=>{const r=cO(e.dimensions,t);return!Dy(e)||n?Zc({state:e,dimensions:r}):RE({state:e,dimensions:r})};function kg(e){return e.isDragging&&e.movementMode==="SNAP"?{...e,scrollJumpRequest:null}:e}const NS={phase:"IDLE",completed:null,shouldFlush:!1};var hO=(e=NS,t)=>{if(t.type==="FLUSH")return{...NS,shouldFlush:!0};if(t.type==="INITIAL_PUBLISH"){e.phase!=="IDLE"&&Le();const{critical:n,clientSelection:r,viewport:i,dimensions:o,movementMode:a}=t.payload,u=o.draggables[n.draggable.id],d=o.droppables[n.droppable.id],m={selection:r,borderBoxCenter:u.client.borderBox.center,offset:ar},p={client:m,page:{selection:xr(m.selection,i.scroll.initial),borderBoxCenter:xr(m.selection,i.scroll.initial),offset:xr(m.selection,i.scroll.diff.value)}},h=Im(o.droppables).every(k=>!k.isFixedOnPage),{impact:g,afterCritical:y}=AE({draggable:u,home:d,draggables:o.draggables,viewport:i});return{phase:"DRAGGING",isDragging:!0,critical:n,movementMode:a,dimensions:o,initial:p,current:p,isWindowScrollAllowed:h,impact:g,afterCritical:y,onLiftImpact:g,viewport:i,scrollJumpRequest:null,forceShouldAnimate:null}}if(t.type==="COLLECTION_STARTING")return e.phase==="COLLECTING"||e.phase==="DROP_PENDING"?e:(e.phase!=="DRAGGING"&&Le(),{...e,phase:"COLLECTING"});if(t.type==="PUBLISH_WHILE_DRAGGING")return e.phase==="COLLECTING"||e.phase==="DROP_PENDING"||Le(),mO({state:e,published:t.payload});if(t.type==="MOVE"){if(e.phase==="DROP_PENDING")return e;Ho(e)||Le();const{client:n}=t.payload;return mo(n,e.current.client.selection)?e:Zc({state:e,clientSelection:n,impact:Dy(e)?e.impact:null})}if(t.type==="UPDATE_DROPPABLE_SCROLL"){if(e.phase==="DROP_PENDING"||e.phase==="COLLECTING")return kg(e);Ho(e)||Le();const{id:n,newScroll:r}=t.payload,i=e.dimensions.droppables[n];if(!i)return e;const o=O0(i,r);return _g(e,o,!1)}if(t.type==="UPDATE_DROPPABLE_IS_ENABLED"){if(e.phase==="DROP_PENDING")return e;Ho(e)||Le();const{id:n,isEnabled:r}=t.payload,i=e.dimensions.droppables[n];i||Le(),i.isEnabled===r&&Le();const o={...i,isEnabled:r};return _g(e,o,!0)}if(t.type==="UPDATE_DROPPABLE_IS_COMBINE_ENABLED"){if(e.phase==="DROP_PENDING")return e;Ho(e)||Le();const{id:n,isCombineEnabled:r}=t.payload,i=e.dimensions.droppables[n];i||Le(),i.isCombineEnabled===r&&Le();const o={...i,isCombineEnabled:r};return _g(e,o,!0)}if(t.type==="MOVE_BY_WINDOW_SCROLL"){if(e.phase==="DROP_PENDING"||e.phase==="DROP_ANIMATING")return e;Ho(e)||Le(),e.isWindowScrollAllowed||Le();const n=t.payload.newScroll;if(mo(e.viewport.scroll.current,n))return kg(e);const r=_E(e.viewport,n);return Dy(e)?RE({state:e,viewport:r}):Zc({state:e,viewport:r})}if(t.type==="UPDATE_VIEWPORT_MAX_SCROLL"){if(!Ho(e))return e;const n=t.payload.maxScroll;if(mo(n,e.viewport.scroll.max))return e;const r={...e.viewport,scroll:{...e.viewport.scroll,max:n}};return{...e,viewport:r}}if(t.type==="MOVE_UP"||t.type==="MOVE_DOWN"||t.type==="MOVE_LEFT"||t.type==="MOVE_RIGHT"){if(e.phase==="COLLECTING"||e.phase==="DROP_PENDING")return e;e.phase!=="DRAGGING"&&Le();const n=KD({state:e,type:t.type});return n?Zc({state:e,impact:n.impact,clientSelection:n.clientSelection,scrollJumpRequest:n.scrollJumpRequest}):e}if(t.type==="DROP_PENDING"){const n=t.payload.reason;return e.phase!=="COLLECTING"&&Le(),{...e,phase:"DROP_PENDING",isWaiting:!0,reason:n}}if(t.type==="DROP_ANIMATE"){const{completed:n,dropDuration:r,newHomeClientOffset:i}=t.payload;return e.phase==="DRAGGING"||e.phase==="DROP_PENDING"||Le(),{phase:"DROP_ANIMATING",completed:n,dropDuration:r,newHomeClientOffset:i,dimensions:e.dimensions}}if(t.type==="DROP_COMPLETE"){const{completed:n}=t.payload;return{phase:"IDLE",completed:n,shouldFlush:!1}}return e};function tn(e,t){return e instanceof Object&&"type"in e&&e.type===t}const pO=e=>({type:"BEFORE_INITIAL_CAPTURE",payload:e}),gO=e=>({type:"LIFT",payload:e}),xO=e=>({type:"INITIAL_PUBLISH",payload:e}),yO=e=>({type:"PUBLISH_WHILE_DRAGGING",payload:e}),vO=()=>({type:"COLLECTION_STARTING",payload:null}),bO=e=>({type:"UPDATE_DROPPABLE_SCROLL",payload:e}),_O=e=>({type:"UPDATE_DROPPABLE_IS_ENABLED",payload:e}),kO=e=>({type:"UPDATE_DROPPABLE_IS_COMBINE_ENABLED",payload:e}),ME=e=>({type:"MOVE",payload:e}),SO=e=>({type:"MOVE_BY_WINDOW_SCROLL",payload:e}),wO=e=>({type:"UPDATE_VIEWPORT_MAX_SCROLL",payload:e}),CO=()=>({type:"MOVE_UP",payload:null}),jO=()=>({type:"MOVE_DOWN",payload:null}),EO=()=>({type:"MOVE_RIGHT",payload:null}),NO=()=>({type:"MOVE_LEFT",payload:null}),F0=()=>({type:"FLUSH",payload:null}),IO=e=>({type:"DROP_ANIMATE",payload:e}),V0=e=>({type:"DROP_COMPLETE",payload:e}),DE=e=>({type:"DROP",payload:e}),TO=e=>({type:"DROP_PENDING",payload:e}),OE=()=>({type:"DROP_ANIMATION_FINISHED",payload:null});var RO=e=>({getState:t,dispatch:n})=>r=>i=>{if(!tn(i,"LIFT")){r(i);return}const{id:o,clientSelection:a,movementMode:u}=i.payload,d=t();d.phase==="DROP_ANIMATING"&&n(V0({completed:d.completed})),t().phase!=="IDLE"&&Le(),n(F0()),n(pO({draggableId:o,movementMode:u}));const p={draggableId:o,scrollOptions:{shouldPublishImmediately:u==="SNAP"}},{critical:h,dimensions:g,viewport:y}=e.startPublishing(p);n(xO({critical:h,dimensions:g,clientSelection:a,movementMode:u,viewport:y}))},AO=e=>()=>t=>n=>{tn(n,"INITIAL_PUBLISH")&&e.dragging(),tn(n,"DROP_ANIMATE")&&e.dropping(n.payload.completed.result.reason),(tn(n,"FLUSH")||tn(n,"DROP_COMPLETE"))&&e.resting(),t(n)};const U0={outOfTheWay:"cubic-bezier(0.2, 0, 0, 1)",drop:"cubic-bezier(.2,1,.1,1)"},mu={opacity:{drop:0,combining:.7},scale:{drop:.75}},LE={outOfTheWay:.2,minDropTime:.33,maxDropTime:.55},zo=`${LE.outOfTheWay}s ${U0.outOfTheWay}`,Qc={fluid:`opacity ${zo}`,snap:`transform ${zo}, opacity ${zo}`,drop:e=>{const t=`${e}s ${U0.drop}`;return`transform ${t}, opacity ${t}`},outOfTheWay:`transform ${zo}`,placeholder:`height ${zo}, width ${zo}, margin ${zo}`},IS=e=>mo(e,ar)?void 0:`translate(${e.x}px, ${e.y}px)`,Oy={moveTo:IS,drop:(e,t)=>{const n=IS(e);if(n)return t?`${n} scale(${mu.scale.drop})`:n}},{minDropTime:Ly,maxDropTime:zE}=LE,MO=zE-Ly,TS=1500,DO=.6;var OO=({current:e,destination:t,reason:n})=>{const r=uu(e,t);if(r<=0)return Ly;if(r>=TS)return zE;const i=r/TS,o=Ly+MO*i,a=n==="CANCEL"?o*DO:o;return Number(a.toFixed(2))},LO=({impact:e,draggable:t,dimensions:n,viewport:r,afterCritical:i})=>{const{draggables:o,droppables:a}=n,u=ei(e),d=u?a[u]:null,m=a[t.descriptor.droppableId],p=TE({impact:e,draggable:t,draggables:o,afterCritical:i,droppable:d||m,viewport:r});return Jr(p,t.client.borderBox.center)},zO=({draggables:e,reason:t,lastImpact:n,home:r,viewport:i,onLiftImpact:o})=>!n.at||t!=="DROP"?{impact:IE({draggables:e,impact:o,destination:r,viewport:i,forceShouldAnimate:!0}),didDropInsideDroppable:!1}:n.at.type==="REORDER"?{impact:n,didDropInsideDroppable:!0}:{impact:{...n,displaced:du},didDropInsideDroppable:!0};const PO=({getState:e,dispatch:t})=>n=>r=>{if(!tn(r,"DROP")){n(r);return}const i=e(),o=r.payload.reason;if(i.phase==="COLLECTING"){t(TO({reason:o}));return}if(i.phase==="IDLE")return;i.phase==="DROP_PENDING"&&i.isWaiting&&Le(),i.phase==="DRAGGING"||i.phase==="DROP_PENDING"||Le();const u=i.critical,d=i.dimensions,m=d.draggables[i.critical.draggable.id],{impact:p,didDropInsideDroppable:h}=zO({reason:o,lastImpact:i.impact,afterCritical:i.afterCritical,onLiftImpact:i.onLiftImpact,home:i.dimensions.droppables[i.critical.droppable.id],viewport:i.viewport,draggables:i.dimensions.draggables}),g=h?L0(p):null,y=h?Tm(p):null,v={index:u.draggable.index,droppableId:u.droppable.id},k={draggableId:m.descriptor.id,type:m.descriptor.type,source:v,reason:o,mode:i.movementMode,destination:g,combine:y},S=LO({impact:p,draggable:m,dimensions:d,viewport:i.viewport,afterCritical:i.afterCritical}),_={critical:i.critical,afterCritical:i.afterCritical,result:k,impact:p};if(!(!mo(i.current.client.offset,S)||!!k.combine)){t(V0({completed:_}));return}const C=OO({current:i.current.client.offset,destination:S,reason:o});t(IO({newHomeClientOffset:S,dropDuration:C,completed:_}))};var PE=()=>({x:window.pageXOffset,y:window.pageYOffset});function BO(e){return{eventName:"scroll",options:{passive:!0,capture:!1},fn:t=>{t.target!==window&&t.target!==window.document||e()}}}function $O({onWindowScroll:e}){function t(){e(PE())}const n=cu(t),r=BO(n);let i=fo;function o(){return i!==fo}function a(){o()&&Le(),i=bi(window,[r])}function u(){o()||Le(),n.cancel(),i(),i=fo}return{start:a,stop:u,isActive:o}}const HO=e=>tn(e,"DROP_COMPLETE")||tn(e,"DROP_ANIMATE")||tn(e,"FLUSH"),FO=e=>{const t=$O({onWindowScroll:n=>{e.dispatch(SO({newScroll:n}))}});return n=>r=>{!t.isActive()&&tn(r,"INITIAL_PUBLISH")&&t.start(),t.isActive()&&HO(r)&&t.stop(),n(r)}};var VO=e=>{let t=!1,n=!1;const r=setTimeout(()=>{n=!0}),i=o=>{t||n||(t=!0,e(o),clearTimeout(r))};return i.wasCalled=()=>t,i},UO=()=>{const e=[],t=i=>{const o=e.findIndex(u=>u.timerId===i);o===-1&&Le();const[a]=e.splice(o,1);a.callback()};return{add:i=>{const o=setTimeout(()=>t(o)),a={timerId:o,callback:i};e.push(a)},flush:()=>{if(!e.length)return;const i=[...e];e.length=0,i.forEach(o=>{clearTimeout(o.timerId),o.callback()})}}};const GO=(e,t)=>e==null&&t==null?!0:e==null||t==null?!1:e.droppableId===t.droppableId&&e.index===t.index,qO=(e,t)=>e==null&&t==null?!0:e==null||t==null?!1:e.draggableId===t.draggableId&&e.droppableId===t.droppableId,WO=(e,t)=>{if(e===t)return!0;const n=e.draggable.id===t.draggable.id&&e.draggable.droppableId===t.draggable.droppableId&&e.draggable.type===t.draggable.type&&e.draggable.index===t.draggable.index,r=e.droppable.id===t.droppable.id&&e.droppable.type===t.droppable.type;return n&&r},Ic=(e,t)=>{t()},Zd=(e,t)=>({draggableId:e.draggable.id,type:e.droppable.type,source:{droppableId:e.droppable.id,index:e.draggable.index},mode:t});function Sg(e,t,n,r){if(!e){n(r(t));return}const i=VO(n);e(t,{announce:i}),i.wasCalled()||n(r(t))}var YO=(e,t)=>{const n=UO();let r=null;const i=(h,g)=>{r&&Le(),Ic("onBeforeCapture",()=>{const y=e().onBeforeCapture;y&&y({draggableId:h,mode:g})})},o=(h,g)=>{r&&Le(),Ic("onBeforeDragStart",()=>{const y=e().onBeforeDragStart;y&&y(Zd(h,g))})},a=(h,g)=>{r&&Le();const y=Zd(h,g);r={mode:g,lastCritical:h,lastLocation:y.source,lastCombine:null},n.add(()=>{Ic("onDragStart",()=>Sg(e().onDragStart,y,t,Ef.onDragStart))})},u=(h,g)=>{const y=L0(g),v=Tm(g);r||Le();const k=!WO(h,r.lastCritical);k&&(r.lastCritical=h);const S=!GO(r.lastLocation,y);S&&(r.lastLocation=y);const _=!qO(r.lastCombine,v);if(_&&(r.lastCombine=v),!k&&!S&&!_)return;const w={...Zd(h,r.mode),combine:v,destination:y};n.add(()=>{Ic("onDragUpdate",()=>Sg(e().onDragUpdate,w,t,Ef.onDragUpdate))})},d=()=>{r||Le(),n.flush()},m=h=>{r||Le(),r=null,Ic("onDragEnd",()=>Sg(e().onDragEnd,h,t,Ef.onDragEnd))};return{beforeCapture:i,beforeStart:o,start:a,update:u,flush:d,drop:m,abort:()=>{if(!r)return;const h={...Zd(r.lastCritical,r.mode),combine:null,destination:null,reason:"CANCEL"};m(h)}}},XO=(e,t)=>{const n=YO(e,t);return r=>i=>o=>{if(tn(o,"BEFORE_INITIAL_CAPTURE")){n.beforeCapture(o.payload.draggableId,o.payload.movementMode);return}if(tn(o,"INITIAL_PUBLISH")){const u=o.payload.critical;n.beforeStart(u,o.payload.movementMode),i(o),n.start(u,o.payload.movementMode);return}if(tn(o,"DROP_COMPLETE")){const u=o.payload.completed.result;n.flush(),i(o),n.drop(u);return}if(i(o),tn(o,"FLUSH")){n.abort();return}const a=r.getState();a.phase==="DRAGGING"&&n.update(a.critical,a.impact)}};const KO=e=>t=>n=>{if(!tn(n,"DROP_ANIMATION_FINISHED")){t(n);return}const r=e.getState();r.phase!=="DROP_ANIMATING"&&Le(),e.dispatch(V0({completed:r.completed}))},ZO=e=>{let t=null,n=null;function r(){n&&(cancelAnimationFrame(n),n=null),t&&(t(),t=null)}return i=>o=>{if((tn(o,"FLUSH")||tn(o,"DROP_COMPLETE")||tn(o,"DROP_ANIMATION_FINISHED"))&&r(),i(o),!tn(o,"DROP_ANIMATE"))return;const a={eventName:"scroll",options:{capture:!0,passive:!1,once:!0},fn:function(){e.getState().phase==="DROP_ANIMATING"&&e.dispatch(OE())}};n=requestAnimationFrame(()=>{n=null,t=bi(window,[a])})}};var QO=e=>()=>t=>n=>{(tn(n,"DROP_COMPLETE")||tn(n,"FLUSH")||tn(n,"DROP_ANIMATE"))&&e.stopPublishing(),t(n)},JO=e=>{let t=!1;return()=>n=>r=>{if(tn(r,"INITIAL_PUBLISH")){t=!0,e.tryRecordFocus(r.payload.critical.draggable.id),n(r),e.tryRestoreFocusRecorded();return}if(n(r),!!t){if(tn(r,"FLUSH")){t=!1,e.tryRestoreFocusRecorded();return}if(tn(r,"DROP_COMPLETE")){t=!1;const i=r.payload.completed.result;i.combine&&e.tryShiftRecord(i.draggableId,i.combine.draggableId),e.tryRestoreFocusRecorded()}}}};const eL=e=>tn(e,"DROP_COMPLETE")||tn(e,"DROP_ANIMATE")||tn(e,"FLUSH");var tL=e=>t=>n=>r=>{if(eL(r)){e.stop(),n(r);return}if(tn(r,"INITIAL_PUBLISH")){n(r);const i=t.getState();i.phase!=="DRAGGING"&&Le(),e.start(i);return}n(r),e.scroll(t.getState())};const nL=e=>t=>n=>{if(t(n),!tn(n,"PUBLISH_WHILE_DRAGGING"))return;const r=e.getState();r.phase==="DROP_PENDING"&&(r.isWaiting||e.dispatch(DE({reason:r.reason})))},rL=eE;var iL=({dimensionMarshal:e,focusMarshal:t,styleMarshal:n,getResponders:r,announce:i,autoScroller:o})=>Jj(hO,rL(t5(AO(n),QO(e),RO(e),PO,KO,ZO,nL,tL(o),FO,JO(t),XO(r,i))));const wg=()=>({additions:{},removals:{},modified:{}});function sL({registry:e,callbacks:t}){let n=wg(),r=null;const i=()=>{r||(t.collectionStarting(),r=requestAnimationFrame(()=>{r=null;const{additions:d,removals:m,modified:p}=n,h=Object.keys(d).map(v=>e.draggable.getById(v).getDimension(ar)).sort((v,k)=>v.descriptor.index-k.descriptor.index),g=Object.keys(p).map(v=>{const S=e.droppable.getById(v).callbacks.getScrollWhileDragging();return{droppableId:v,scroll:S}}),y={additions:h,removals:Object.keys(m),modified:g};n=wg(),t.publish(y)}))};return{add:d=>{const m=d.descriptor.id;n.additions[m]=d,n.modified[d.descriptor.droppableId]=!0,n.removals[m]&&delete n.removals[m],i()},remove:d=>{const m=d.descriptor;n.removals[m.id]=!0,n.modified[m.droppableId]=!0,n.additions[m.id]&&delete n.additions[m.id],i()},stop:()=>{r&&(cancelAnimationFrame(r),r=null,n=wg())}}}var BE=({scrollHeight:e,scrollWidth:t,height:n,width:r})=>{const i=Jr({x:t,y:e},{x:r,y:n});return{x:Math.max(0,i.x),y:Math.max(0,i.y)}},$E=()=>{const e=document.documentElement;return e||Le(),e},HE=()=>{const e=$E();return BE({scrollHeight:e.scrollHeight,scrollWidth:e.scrollWidth,width:e.clientWidth,height:e.clientHeight})},oL=()=>{const e=PE(),t=HE(),n=e.y,r=e.x,i=$E(),o=i.clientWidth,a=i.clientHeight,u=r+o,d=n+a;return{frame:Ti({top:n,left:r,right:u,bottom:d}),scroll:{initial:e,current:e,max:t,diff:{value:ar,displacement:ar}}}},aL=({critical:e,scrollOptions:t,registry:n})=>{const r=oL(),i=r.scroll.current,o=e.droppable,a=n.droppable.getAllByType(o.type).map(p=>p.callbacks.getDimensionAndWatchScroll(i,t)),u=n.draggable.getAllByType(e.draggable.type).map(p=>p.getDimension(i));return{dimensions:{draggables:pE(u),droppables:hE(a)},critical:e,viewport:r}};function RS(e,t,n){return!(n.descriptor.id===t.id||n.descriptor.type!==t.type||e.droppable.getById(n.descriptor.droppableId).descriptor.mode!=="virtual")}var lL=(e,t)=>{let n=null;const r=sL({callbacks:{publish:t.publishWhileDragging,collectionStarting:t.collectionStarting},registry:e}),i=(g,y)=>{e.droppable.exists(g)||Le(),n&&t.updateDroppableIsEnabled({id:g,isEnabled:y})},o=(g,y)=>{n&&(e.droppable.exists(g)||Le(),t.updateDroppableIsCombineEnabled({id:g,isCombineEnabled:y}))},a=(g,y)=>{n&&(e.droppable.exists(g)||Le(),t.updateDroppableScroll({id:g,newScroll:y}))},u=(g,y)=>{n&&e.droppable.getById(g).callbacks.scroll(y)},d=()=>{if(!n)return;r.stop();const g=n.critical.droppable;e.droppable.getAllByType(g.type).forEach(y=>y.callbacks.dragStopped()),n.unsubscribe(),n=null},m=g=>{n||Le();const y=n.critical.draggable;g.type==="ADDITION"&&RS(e,y,g.value)&&r.add(g.value),g.type==="REMOVAL"&&RS(e,y,g.value)&&r.remove(g.value)};return{updateDroppableIsEnabled:i,updateDroppableIsCombineEnabled:o,scrollDroppable:u,updateDroppableScroll:a,startPublishing:g=>{n&&Le();const y=e.draggable.getById(g.draggableId),v=e.droppable.getById(y.descriptor.droppableId),k={draggable:y.descriptor,droppable:v.descriptor},S=e.subscribe(m);return n={critical:k,unsubscribe:S},aL({critical:k,registry:e,scrollOptions:g.scrollOptions})},stopPublishing:d}},FE=(e,t)=>e.phase==="IDLE"?!0:e.phase!=="DROP_ANIMATING"||e.completed.result.draggableId===t?!1:e.completed.result.reason==="DROP",cL=e=>{window.scrollBy(e.x,e.y)};const uL=or(e=>Im(e).filter(t=>!(!t.isEnabled||!t.frame))),dL=(e,t)=>uL(t).find(r=>(r.frame||Le(),CE(r.frame.pageMarginBox)(e)))||null;var fL=({center:e,destination:t,droppables:n})=>{if(t){const i=n[t];return i.frame?i:null}return dL(e,n)};const hu={startFromPercentage:.25,maxScrollAtPercentage:.05,maxPixelScroll:28,ease:e=>e**2,durationDampening:{stopDampeningAt:1200,accelerateAt:360},disabled:!1};var mL=(e,t,n=()=>hu)=>{const r=n(),i=e[t.size]*r.startFromPercentage,o=e[t.size]*r.maxScrollAtPercentage;return{startScrollingFrom:i,maxScrollValueAt:o}},VE=({startOfRange:e,endOfRange:t,current:n})=>{const r=t-e;return r===0?0:(n-e)/r},G0=1,hL=(e,t,n=()=>hu)=>{const r=n();if(e>t.startScrollingFrom)return 0;if(e<=t.maxScrollValueAt)return r.maxPixelScroll;if(e===t.startScrollingFrom)return G0;const o=1-VE({startOfRange:t.maxScrollValueAt,endOfRange:t.startScrollingFrom,current:e}),a=r.maxPixelScroll*r.ease(o);return Math.ceil(a)},pL=(e,t,n)=>{const r=n(),i=r.durationDampening.accelerateAt,o=r.durationDampening.stopDampeningAt,a=t,u=o,m=Date.now()-a;if(m>=o)return e;if(m{const o=hL(e,t,i);return o===0?0:r?Math.max(pL(o,n,i),G0):o},MS=({container:e,distanceToEdges:t,dragStartTime:n,axis:r,shouldUseTimeDampening:i,getAutoScrollerOptions:o})=>{const a=mL(e,r,o);return t[r.end]{const r=t.height>e.height,i=t.width>e.width;return!i&&!r?n:i&&r?null:{x:i?0:n.x,y:r?0:n.y}};const xL=mE(e=>e===0?0:e);var UE=({dragStartTime:e,container:t,subject:n,center:r,shouldUseTimeDampening:i,getAutoScrollerOptions:o})=>{const a={top:r.y-t.top,right:t.right-r.x,bottom:t.bottom-r.y,left:r.x-t.left},u=MS({container:t,distanceToEdges:a,dragStartTime:e,axis:z0,shouldUseTimeDampening:i,getAutoScrollerOptions:o}),d=MS({container:t,distanceToEdges:a,dragStartTime:e,axis:yE,shouldUseTimeDampening:i,getAutoScrollerOptions:o}),m=xL({x:d,y:u});if(mo(m,ar))return null;const p=gL({container:t,subject:n,proposedScroll:m});return p?mo(p,ar)?null:p:null};const yL=mE(e=>e===0?0:e>0?1:-1),q0=(()=>{const e=(t,n)=>t<0?t:t>n?t-n:0;return({current:t,max:n,change:r})=>{const i=xr(t,r),o={x:e(i.x,n.x),y:e(i.y,n.y)};return mo(o,ar)?null:o}})(),GE=({max:e,current:t,change:n})=>{const r={x:Math.max(t.x,e.x),y:Math.max(t.y,e.y)},i=yL(n),o=q0({max:r,current:t,change:i});return!o||i.x!==0&&o.x===0||i.y!==0&&o.y===0},W0=(e,t)=>GE({current:e.scroll.current,max:e.scroll.max,change:t}),vL=(e,t)=>{if(!W0(e,t))return null;const n=e.scroll.max,r=e.scroll.current;return q0({current:r,max:n,change:t})},Y0=(e,t)=>{const n=e.frame;return n?GE({current:n.scroll.current,max:n.scroll.max,change:t}):!1},bL=(e,t)=>{const n=e.frame;return!n||!Y0(e,t)?null:q0({current:n.scroll.current,max:n.scroll.max,change:t})};var _L=({viewport:e,subject:t,center:n,dragStartTime:r,shouldUseTimeDampening:i,getAutoScrollerOptions:o})=>{const a=UE({dragStartTime:r,container:e.frame,subject:t,center:n,shouldUseTimeDampening:i,getAutoScrollerOptions:o});return a&&W0(e,a)?a:null},kL=({droppable:e,subject:t,center:n,dragStartTime:r,shouldUseTimeDampening:i,getAutoScrollerOptions:o})=>{const a=e.frame;if(!a)return null;const u=UE({dragStartTime:r,container:a.pageMarginBox,subject:t,center:n,shouldUseTimeDampening:i,getAutoScrollerOptions:o});return u&&Y0(e,u)?u:null},DS=({state:e,dragStartTime:t,shouldUseTimeDampening:n,scrollWindow:r,scrollDroppable:i,getAutoScrollerOptions:o})=>{const a=e.current.page.borderBoxCenter,d=e.dimensions.draggables[e.critical.draggable.id].page.marginBox;if(e.isWindowScrollAllowed){const h=e.viewport,g=_L({dragStartTime:t,viewport:h,subject:d,center:a,shouldUseTimeDampening:n,getAutoScrollerOptions:o});if(g){r(g);return}}const m=fL({center:a,destination:ei(e.impact),droppables:e.dimensions.droppables});if(!m)return;const p=kL({dragStartTime:t,droppable:m,subject:d,center:a,shouldUseTimeDampening:n,getAutoScrollerOptions:o});p&&i(m.descriptor.id,p)},SL=({scrollWindow:e,scrollDroppable:t,getAutoScrollerOptions:n=()=>hu})=>{const r=cu(e),i=cu(t);let o=null;const a=m=>{o||Le();const{shouldUseTimeDampening:p,dragStartTime:h}=o;DS({state:m,scrollWindow:r,scrollDroppable:i,dragStartTime:h,shouldUseTimeDampening:p,getAutoScrollerOptions:n})};return{start:m=>{o&&Le();const p=Date.now();let h=!1;const g=()=>{h=!0};DS({state:m,dragStartTime:0,shouldUseTimeDampening:!1,scrollWindow:g,scrollDroppable:g,getAutoScrollerOptions:n}),o={dragStartTime:p,shouldUseTimeDampening:h},h&&a(m)},stop:()=>{o&&(r.cancel(),i.cancel(),o=null)},scroll:a}},wL=({move:e,scrollDroppable:t,scrollWindow:n})=>{const r=(u,d)=>{const m=xr(u.current.client.selection,d);e({client:m})},i=(u,d)=>{if(!Y0(u,d))return d;const m=bL(u,d);if(!m)return t(u.descriptor.id,d),null;const p=Jr(d,m);return t(u.descriptor.id,p),Jr(d,p)},o=(u,d,m)=>{if(!u||!W0(d,m))return m;const p=vL(d,m);if(!p)return n(m),null;const h=Jr(m,p);return n(h),Jr(m,h)};return u=>{const d=u.scrollJumpRequest;if(!d)return;const m=ei(u.impact);m||Le();const p=i(u.dimensions.droppables[m],d);if(!p)return;const h=u.viewport,g=o(u.isWindowScrollAllowed,h,p);g&&r(u,g)}},CL=({scrollDroppable:e,scrollWindow:t,move:n,getAutoScrollerOptions:r})=>{const i=SL({scrollWindow:t,scrollDroppable:e,getAutoScrollerOptions:r}),o=wL({move:n,scrollWindow:t,scrollDroppable:e});return{scroll:d=>{if(!(r().disabled||d.phase!=="DRAGGING")){if(d.movementMode==="FLUID"){i.scroll(d);return}d.scrollJumpRequest&&o(d)}},start:i.start,stop:i.stop}};const hl="data-rfd",pl=(()=>{const e=`${hl}-drag-handle`;return{base:e,draggableId:`${e}-draggable-id`,contextId:`${e}-context-id`}})(),zy=(()=>{const e=`${hl}-draggable`;return{base:e,contextId:`${e}-context-id`,id:`${e}-id`}})(),jL=(()=>{const e=`${hl}-droppable`;return{base:e,contextId:`${e}-context-id`,id:`${e}-id`}})(),OS={contextId:`${hl}-scroll-container-context-id`},EL=e=>t=>`[${t}="${e}"]`,Tc=(e,t)=>e.map(n=>{const r=n.styles[t];return r?`${n.selector} { ${r} }`:""}).join(" "),NL="pointer-events: none;";var IL=e=>{const t=EL(e),n=(()=>{const u=` + cursor: -webkit-grab; + cursor: grab; + `;return{selector:t(pl.contextId),styles:{always:` + -webkit-touch-callout: none; + -webkit-tap-highlight-color: rgba(0,0,0,0); + touch-action: manipulation; + `,resting:u,dragging:NL,dropAnimating:u}}})(),r=(()=>{const u=` + transition: ${Qc.outOfTheWay}; + `;return{selector:t(zy.contextId),styles:{dragging:u,dropAnimating:u,userCancel:u}}})(),i={selector:t(jL.contextId),styles:{always:"overflow-anchor: none;"}},a=[r,n,i,{selector:"body",styles:{dragging:` + cursor: grabbing; + cursor: -webkit-grabbing; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + overflow-anchor: none; + `}}];return{always:Tc(a,"always"),resting:Tc(a,"resting"),dragging:Tc(a,"dragging"),dropAnimating:Tc(a,"dropAnimating"),userCancel:Tc(a,"userCancel")}};const ti=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?j.useLayoutEffect:j.useEffect,Cg=()=>{const e=document.querySelector("head");return e||Le(),e},LS=e=>{const t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.type="text/css",t};function TL(e,t){const n=Vt(()=>IL(e),[e]),r=j.useRef(null),i=j.useRef(null),o=st(or(h=>{const g=i.current;g||Le(),g.textContent=h}),[]),a=st(h=>{const g=r.current;g||Le(),g.textContent=h},[]);ti(()=>{!r.current&&!i.current||Le();const h=LS(t),g=LS(t);return r.current=h,i.current=g,h.setAttribute(`${hl}-always`,e),g.setAttribute(`${hl}-dynamic`,e),Cg().appendChild(h),Cg().appendChild(g),a(n.always),o(n.resting),()=>{const y=v=>{const k=v.current;k||Le(),Cg().removeChild(k),v.current=null};y(r),y(i)}},[t,a,o,n.always,n.resting,e]);const u=st(()=>o(n.dragging),[o,n.dragging]),d=st(h=>{if(h==="DROP"){o(n.dropAnimating);return}o(n.userCancel)},[o,n.dropAnimating,n.userCancel]),m=st(()=>{i.current&&o(n.resting)},[o,n.resting]);return Vt(()=>({dragging:u,dropping:d,resting:m}),[u,d,m])}function qE(e,t){return Array.from(e.querySelectorAll(t))}var WE=e=>e&&e.ownerDocument&&e.ownerDocument.defaultView?e.ownerDocument.defaultView:window;function Mm(e){return e instanceof WE(e).HTMLElement}function RL(e,t){const n=`[${pl.contextId}="${e}"]`,r=qE(document,n);if(!r.length)return null;const i=r.find(o=>o.getAttribute(pl.draggableId)===t);return!i||!Mm(i)?null:i}function AL(e){const t=j.useRef({}),n=j.useRef(null),r=j.useRef(null),i=j.useRef(!1),o=st(function(g,y){const v={id:g,focus:y};return t.current[g]=v,function(){const S=t.current;S[g]!==v&&delete S[g]}},[]),a=st(function(g){const y=RL(e,g);y&&y!==document.activeElement&&y.focus()},[e]),u=st(function(g,y){n.current===g&&(n.current=y)},[]),d=st(function(){r.current||i.current&&(r.current=requestAnimationFrame(()=>{r.current=null;const g=n.current;g&&a(g)}))},[a]),m=st(function(g){n.current=null;const y=document.activeElement;y&&y.getAttribute(pl.draggableId)===g&&(n.current=g)},[]);return ti(()=>(i.current=!0,function(){i.current=!1;const g=r.current;g&&cancelAnimationFrame(g)}),[]),Vt(()=>({register:o,tryRecordFocus:m,tryRestoreFocusRecorded:d,tryShiftRecord:u}),[o,m,d,u])}function ML(){const e={draggables:{},droppables:{}},t=[];function n(h){return t.push(h),function(){const y=t.indexOf(h);y!==-1&&t.splice(y,1)}}function r(h){t.length&&t.forEach(g=>g(h))}function i(h){return e.draggables[h]||null}function o(h){const g=i(h);return g||Le(),g}const a={register:h=>{e.draggables[h.descriptor.id]=h,r({type:"ADDITION",value:h})},update:(h,g)=>{const y=e.draggables[g.descriptor.id];y&&y.uniqueId===h.uniqueId&&(delete e.draggables[g.descriptor.id],e.draggables[h.descriptor.id]=h)},unregister:h=>{const g=h.descriptor.id,y=i(g);y&&h.uniqueId===y.uniqueId&&(delete e.draggables[g],e.droppables[h.descriptor.droppableId]&&r({type:"REMOVAL",value:h}))},getById:o,findById:i,exists:h=>!!i(h),getAllByType:h=>Object.values(e.draggables).filter(g=>g.descriptor.type===h)};function u(h){return e.droppables[h]||null}function d(h){const g=u(h);return g||Le(),g}const m={register:h=>{e.droppables[h.descriptor.id]=h},unregister:h=>{const g=u(h.descriptor.id);g&&h.uniqueId===g.uniqueId&&delete e.droppables[h.descriptor.id]},getById:d,findById:u,exists:h=>!!u(h),getAllByType:h=>Object.values(e.droppables).filter(g=>g.descriptor.type===h)};function p(){e.draggables={},e.droppables={},t.length=0}return{draggable:a,droppable:m,subscribe:n,clean:p}}function DL(){const e=Vt(ML,[]);return j.useEffect(()=>function(){e.clean()},[e]),e}var X0=St.createContext(null),Kf=()=>{const e=document.body;return e||Le(),e};const OL={position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0 0 0 0)","clip-path":"inset(100%)"},LL=e=>`rfd-announcement-${e}`;function zL(e){const t=Vt(()=>LL(e),[e]),n=j.useRef(null);return j.useEffect(function(){const o=document.createElement("div");return n.current=o,o.id=t,o.setAttribute("aria-live","assertive"),o.setAttribute("aria-atomic","true"),qf(o.style,OL),Kf().appendChild(o),function(){setTimeout(function(){const d=Kf();d.contains(o)&&d.removeChild(o),o===n.current&&(n.current=null)})}},[t]),st(i=>{const o=n.current;if(o){o.textContent=i;return}},[])}const PL={separator:"::"};function K0(e,t=PL){const n=St.useId();return Vt(()=>`${e}${t.separator}${n}`,[t.separator,e,n])}function BL({contextId:e,uniqueId:t}){return`rfd-hidden-text-${e}-${t}`}function $L({contextId:e,text:t}){const n=K0("hidden-text",{separator:"-"}),r=Vt(()=>BL({contextId:e,uniqueId:n}),[n,e]);return j.useEffect(function(){const o=document.createElement("div");return o.id=r,o.textContent=t,o.style.display="none",Kf().appendChild(o),function(){const u=Kf();u.contains(o)&&u.removeChild(o)}},[r,t]),r}var Dm=St.createContext(null);function YE(e){const t=j.useRef(e);return j.useEffect(()=>{t.current=e}),t}function HL(){let e=null;function t(){return!!e}function n(a){return a===e}function r(a){e&&Le();const u={abandon:a};return e=u,u}function i(){e||Le(),e=null}function o(){e&&(e.abandon(),i())}return{isClaimed:t,isActive:n,claim:r,release:i,tryAbandon:o}}function pu(e){return e.phase==="IDLE"||e.phase==="DROP_ANIMATING"?!1:e.isDragging}const FL=9,VL=13,Z0=27,XE=32,UL=33,GL=34,qL=35,WL=36,YL=37,XL=38,KL=39,ZL=40,QL={[VL]:!0,[FL]:!0};var KE=e=>{QL[e.keyCode]&&e.preventDefault()};const Om=(()=>{const e="visibilitychange";return typeof document>"u"?e:[e,`ms${e}`,`webkit${e}`,`moz${e}`,`o${e}`].find(r=>`on${r}`in document)||e})(),ZE=0,zS=5;function JL(e,t){return Math.abs(t.x-e.x)>=zS||Math.abs(t.y-e.y)>=zS}const PS={type:"IDLE"};function e6({cancel:e,completed:t,getPhase:n,setPhase:r}){return[{eventName:"mousemove",fn:i=>{const{button:o,clientX:a,clientY:u}=i;if(o!==ZE)return;const d={x:a,y:u},m=n();if(m.type==="DRAGGING"){i.preventDefault(),m.actions.move(d);return}m.type!=="PENDING"&&Le();const p=m.point;if(!JL(p,d))return;i.preventDefault();const h=m.actions.fluidLift(d);r({type:"DRAGGING",actions:h})}},{eventName:"mouseup",fn:i=>{const o=n();if(o.type!=="DRAGGING"){e();return}i.preventDefault(),o.actions.drop({shouldBlockNextClick:!0}),t()}},{eventName:"mousedown",fn:i=>{n().type==="DRAGGING"&&i.preventDefault(),e()}},{eventName:"keydown",fn:i=>{if(n().type==="PENDING"){e();return}if(i.keyCode===Z0){i.preventDefault(),e();return}KE(i)}},{eventName:"resize",fn:e},{eventName:"scroll",options:{passive:!0,capture:!1},fn:()=>{n().type==="PENDING"&&e()}},{eventName:"webkitmouseforcedown",fn:i=>{const o=n();if(o.type==="IDLE"&&Le(),o.actions.shouldRespectForcePress()){e();return}i.preventDefault()}},{eventName:Om,fn:e}]}function t6(e){const t=j.useRef(PS),n=j.useRef(fo),r=Vt(()=>({eventName:"mousedown",fn:function(h){if(h.defaultPrevented||h.button!==ZE||h.ctrlKey||h.metaKey||h.shiftKey||h.altKey)return;const g=e.findClosestDraggableId(h);if(!g)return;const y=e.tryGetLock(g,a,{sourceEvent:h});if(!y)return;h.preventDefault();const v={x:h.clientX,y:h.clientY};n.current(),m(y,v)}}),[e]),i=Vt(()=>({eventName:"webkitmouseforcewillbegin",fn:p=>{if(p.defaultPrevented)return;const h=e.findClosestDraggableId(p);if(!h)return;const g=e.findOptionsForDraggable(h);g&&(g.shouldRespectForcePress||e.canGetLock(h)&&p.preventDefault())}}),[e]),o=st(function(){const h={passive:!1,capture:!0};n.current=bi(window,[i,r],h)},[i,r]),a=st(()=>{t.current.type!=="IDLE"&&(t.current=PS,n.current(),o())},[o]),u=st(()=>{const p=t.current;a(),p.type==="DRAGGING"&&p.actions.cancel({shouldBlockNextClick:!0}),p.type==="PENDING"&&p.actions.abort()},[a]),d=st(function(){const h={capture:!0,passive:!1},g=e6({cancel:u,completed:a,getPhase:()=>t.current,setPhase:y=>{t.current=y}});n.current=bi(window,g,h)},[u,a]),m=st(function(h,g){t.current.type!=="IDLE"&&Le(),t.current={type:"PENDING",point:g,actions:h},d()},[d]);ti(function(){return o(),function(){n.current()}},[o])}function n6(){}const r6={[GL]:!0,[UL]:!0,[WL]:!0,[qL]:!0};function i6(e,t){function n(){t(),e.cancel()}function r(){t(),e.drop()}return[{eventName:"keydown",fn:i=>{if(i.keyCode===Z0){i.preventDefault(),n();return}if(i.keyCode===XE){i.preventDefault(),r();return}if(i.keyCode===ZL){i.preventDefault(),e.moveDown();return}if(i.keyCode===XL){i.preventDefault(),e.moveUp();return}if(i.keyCode===KL){i.preventDefault(),e.moveRight();return}if(i.keyCode===YL){i.preventDefault(),e.moveLeft();return}if(r6[i.keyCode]){i.preventDefault();return}KE(i)}},{eventName:"mousedown",fn:n},{eventName:"mouseup",fn:n},{eventName:"click",fn:n},{eventName:"touchstart",fn:n},{eventName:"resize",fn:n},{eventName:"wheel",fn:n,options:{passive:!0}},{eventName:Om,fn:n}]}function s6(e){const t=j.useRef(n6),n=Vt(()=>({eventName:"keydown",fn:function(o){if(o.defaultPrevented||o.keyCode!==XE)return;const a=e.findClosestDraggableId(o);if(!a)return;const u=e.tryGetLock(a,p,{sourceEvent:o});if(!u)return;o.preventDefault();let d=!0;const m=u.snapLift();t.current();function p(){d||Le(),d=!1,t.current(),r()}t.current=bi(window,i6(m,p),{capture:!0,passive:!1})}}),[e]),r=st(function(){const o={passive:!1,capture:!0};t.current=bi(window,[n],o)},[n]);ti(function(){return r(),function(){t.current()}},[r])}const jg={type:"IDLE"},o6=120,a6=.15;function l6({cancel:e,getPhase:t}){return[{eventName:"orientationchange",fn:e},{eventName:"resize",fn:e},{eventName:"contextmenu",fn:n=>{n.preventDefault()}},{eventName:"keydown",fn:n=>{if(t().type!=="DRAGGING"){e();return}n.keyCode===Z0&&n.preventDefault(),e()}},{eventName:Om,fn:e}]}function c6({cancel:e,completed:t,getPhase:n}){return[{eventName:"touchmove",options:{capture:!1},fn:r=>{const i=n();if(i.type!=="DRAGGING"){e();return}i.hasMoved=!0;const{clientX:o,clientY:a}=r.touches[0],u={x:o,y:a};r.preventDefault(),i.actions.move(u)}},{eventName:"touchend",fn:r=>{const i=n();if(i.type!=="DRAGGING"){e();return}r.preventDefault(),i.actions.drop({shouldBlockNextClick:!0}),t()}},{eventName:"touchcancel",fn:r=>{if(n().type!=="DRAGGING"){e();return}r.preventDefault(),e()}},{eventName:"touchforcechange",fn:r=>{const i=n();i.type==="IDLE"&&Le();const o=r.touches[0];if(!o||!(o.force>=a6))return;const u=i.actions.shouldRespectForcePress();if(i.type==="PENDING"){u&&e();return}if(u){if(i.hasMoved){r.preventDefault();return}e();return}r.preventDefault()}},{eventName:Om,fn:e}]}function u6(e){const t=j.useRef(jg),n=j.useRef(fo),r=st(function(){return t.current},[]),i=st(function(y){t.current=y},[]),o=Vt(()=>({eventName:"touchstart",fn:function(y){if(y.defaultPrevented)return;const v=e.findClosestDraggableId(y);if(!v)return;const k=e.tryGetLock(v,u,{sourceEvent:y});if(!k)return;const S=y.touches[0],{clientX:_,clientY:w}=S,C={x:_,y:w};n.current(),h(k,C)}}),[e]),a=st(function(){const y={capture:!0,passive:!1};n.current=bi(window,[o],y)},[o]),u=st(()=>{const g=t.current;g.type!=="IDLE"&&(g.type==="PENDING"&&clearTimeout(g.longPressTimerId),i(jg),n.current(),a())},[a,i]),d=st(()=>{const g=t.current;u(),g.type==="DRAGGING"&&g.actions.cancel({shouldBlockNextClick:!0}),g.type==="PENDING"&&g.actions.abort()},[u]),m=st(function(){const y={capture:!0,passive:!1},v={cancel:d,completed:u,getPhase:r},k=bi(window,c6(v),y),S=bi(window,l6(v),y);n.current=function(){k(),S()}},[d,r,u]),p=st(function(){const y=r();y.type!=="PENDING"&&Le();const v=y.actions.fluidLift(y.point);i({type:"DRAGGING",actions:v,hasMoved:!1})},[r,i]),h=st(function(y,v){r().type!=="IDLE"&&Le();const k=setTimeout(p,o6);i({type:"PENDING",point:v,actions:y,longPressTimerId:k}),m()},[m,r,i,p]);ti(function(){return a(),function(){n.current();const v=r();v.type==="PENDING"&&(clearTimeout(v.longPressTimerId),i(jg))}},[r,a,i]),ti(function(){return bi(window,[{eventName:"touchmove",fn:()=>{},options:{capture:!1,passive:!1}}])},[])}const d6=["input","button","textarea","select","option","optgroup","video","audio"];function QE(e,t){if(t==null)return!1;if(d6.includes(t.tagName.toLowerCase()))return!0;const r=t.getAttribute("contenteditable");return r==="true"||r===""?!0:t===e?!1:QE(e,t.parentElement)}function f6(e,t){const n=t.target;return Mm(n)?QE(e,n):!1}var m6=e=>Ti(e.getBoundingClientRect()).center;function h6(e){return e instanceof WE(e).Element}const p6=(()=>{const e="matches";return typeof document>"u"?e:[e,"msMatchesSelector","webkitMatchesSelector"].find(r=>r in Element.prototype)||e})();function JE(e,t){return e==null?null:e[p6](t)?e:JE(e.parentElement,t)}function g6(e,t){return e.closest?e.closest(t):JE(e,t)}function x6(e){return`[${pl.contextId}="${e}"]`}function y6(e,t){const n=t.target;if(!h6(n))return null;const r=x6(e),i=g6(n,r);return!i||!Mm(i)?null:i}function v6(e,t){const n=y6(e,t);return n?n.getAttribute(pl.draggableId):null}function b6(e,t){const n=`[${zy.contextId}="${e}"]`,i=qE(document,n).find(o=>o.getAttribute(zy.id)===t);return!i||!Mm(i)?null:i}function _6(e){e.preventDefault()}function Qd({expected:e,phase:t,isLockActive:n,shouldWarn:r}){return!(!n()||e!==t)}function eN({lockAPI:e,store:t,registry:n,draggableId:r}){if(e.isClaimed())return!1;const i=n.draggable.findById(r);return!(!i||!i.options.isEnabled||!FE(t.getState(),r))}function k6({lockAPI:e,contextId:t,store:n,registry:r,draggableId:i,forceSensorStop:o,sourceEvent:a}){if(!eN({lockAPI:e,store:n,registry:r,draggableId:i}))return null;const d=r.draggable.getById(i),m=b6(t,d.descriptor.id);if(!m||a&&!d.options.canDragInteractiveElements&&f6(m,a))return null;const p=e.claim(o||fo);let h="PRE_DRAG";function g(){return d.options.shouldRespectForcePress}function y(){return e.isActive(p)}function v(O,I){Qd({expected:O,phase:h,isLockActive:y,shouldWarn:!0})&&n.dispatch(I())}const k=v.bind(null,"DRAGGING");function S(O){function I(){e.release(),h="COMPLETED"}h!=="PRE_DRAG"&&(I(),Le()),n.dispatch(gO(O.liftActionArgs)),h="DRAGGING";function D(T,L={shouldBlockNextClick:!1}){if(O.cleanup(),L.shouldBlockNextClick){const A=bi(window,[{eventName:"click",fn:_6,options:{once:!0,passive:!1,capture:!0}}]);setTimeout(A)}I(),n.dispatch(DE({reason:T}))}return{isActive:()=>Qd({expected:"DRAGGING",phase:h,isLockActive:y,shouldWarn:!1}),shouldRespectForcePress:g,drop:T=>D("DROP",T),cancel:T=>D("CANCEL",T),...O.actions}}function _(O){const I=cu(T=>{k(()=>ME({client:T}))});return{...S({liftActionArgs:{id:i,clientSelection:O,movementMode:"FLUID"},cleanup:()=>I.cancel(),actions:{move:I}}),move:I}}function w(){const O={moveUp:()=>k(CO),moveRight:()=>k(EO),moveDown:()=>k(jO),moveLeft:()=>k(NO)};return S({liftActionArgs:{id:i,clientSelection:m6(m),movementMode:"SNAP"},cleanup:fo,actions:O})}function C(){Qd({expected:"PRE_DRAG",phase:h,isLockActive:y,shouldWarn:!0})&&e.release()}return{isActive:()=>Qd({expected:"PRE_DRAG",phase:h,isLockActive:y,shouldWarn:!1}),shouldRespectForcePress:g,fluidLift:_,snapLift:w,abort:C}}const S6=[t6,s6,u6];function w6({contextId:e,store:t,registry:n,customSensors:r,enableDefaultSensors:i}){const o=[...i?S6:[],...r||[]],a=j.useState(()=>HL())[0],u=st(function(S,_){pu(S)&&!pu(_)&&a.tryAbandon()},[a]);ti(function(){let S=t.getState();return t.subscribe(()=>{const w=t.getState();u(S,w),S=w})},[a,t,u]),ti(()=>a.tryAbandon,[a.tryAbandon]);const d=st(k=>eN({lockAPI:a,registry:n,store:t,draggableId:k}),[a,n,t]),m=st((k,S,_)=>k6({lockAPI:a,registry:n,contextId:e,store:t,draggableId:k,forceSensorStop:S||null,sourceEvent:_&&_.sourceEvent?_.sourceEvent:null}),[e,a,n,t]),p=st(k=>v6(e,k),[e]),h=st(k=>{const S=n.draggable.findById(k);return S?S.options:null},[n.draggable]),g=st(function(){a.isClaimed()&&(a.tryAbandon(),t.getState().phase!=="IDLE"&&t.dispatch(F0()))},[a,t]),y=st(()=>a.isClaimed(),[a]),v=Vt(()=>({canGetLock:d,tryGetLock:m,findClosestDraggableId:p,findOptionsForDraggable:h,tryReleaseLock:g,isLockClaimed:y}),[d,m,p,h,g,y]);for(let k=0;k({onBeforeCapture:t=>{const n=()=>{e.onBeforeCapture&&e.onBeforeCapture(t)};Sm.flushSync(n)},onBeforeDragStart:e.onBeforeDragStart,onDragStart:e.onDragStart,onDragEnd:e.onDragEnd,onDragUpdate:e.onDragUpdate}),j6=e=>({...hu,...e.autoScrollerOptions,durationDampening:{...hu.durationDampening,...e.autoScrollerOptions}});function Rc(e){return e.current||Le(),e.current}function E6(e){const{contextId:t,setCallbacks:n,sensors:r,nonce:i,dragHandleUsageInstructions:o}=e,a=j.useRef(null),u=YE(e),d=st(()=>C6(u.current),[u]),m=st(()=>j6(u.current),[u]),p=zL(t),h=$L({contextId:t,text:o}),g=TL(t,i),y=st(A=>{Rc(a).dispatch(A)},[]),v=Vt(()=>uS({publishWhileDragging:yO,updateDroppableScroll:bO,updateDroppableIsEnabled:_O,updateDroppableIsCombineEnabled:kO,collectionStarting:vO},y),[y]),k=DL(),S=Vt(()=>lL(k,v),[k,v]),_=Vt(()=>CL({scrollWindow:cL,scrollDroppable:S.scrollDroppable,getAutoScrollerOptions:m,...uS({move:ME},y)}),[S.scrollDroppable,y,m]),w=AL(t),C=Vt(()=>iL({announce:p,autoScroller:_,dimensionMarshal:S,focusMarshal:w,getResponders:d,styleMarshal:g}),[p,_,S,w,d,g]);a.current=C;const N=st(()=>{const A=Rc(a);A.getState().phase!=="IDLE"&&A.dispatch(F0())},[]),O=st(()=>{const A=Rc(a).getState();return A.phase==="DROP_ANIMATING"?!0:A.phase==="IDLE"?!1:A.isDragging},[]),I=Vt(()=>({isDragging:O,tryAbort:N}),[O,N]);n(I);const D=st(A=>FE(Rc(a).getState(),A),[]),T=st(()=>Ho(Rc(a).getState()),[]),L=Vt(()=>({marshal:S,focus:w,contextId:t,canLift:D,isMovementAllowed:T,dragHandleUsageInstructionsId:h,registry:k}),[t,S,h,w,D,T,k]);return w6({contextId:t,store:C,registry:k,customSensors:r||null,enableDefaultSensors:e.enableDefaultSensors!==!1}),j.useEffect(()=>N,[N]),St.createElement(Dm.Provider,{value:L},St.createElement(Q5,{context:X0,store:C},e.children))}function N6(){return St.useId()}function I6(e){const t=N6(),n=e.dragHandleUsageInstructions||Ef.dragHandleUsageInstructions;return St.createElement(sD,null,r=>St.createElement(E6,{nonce:e.nonce,contextId:t,setCallbacks:r,dragHandleUsageInstructions:n,enableDefaultSensors:e.enableDefaultSensors,sensors:e.sensors,onBeforeCapture:e.onBeforeCapture,onBeforeDragStart:e.onBeforeDragStart,onDragStart:e.onDragStart,onDragUpdate:e.onDragUpdate,onDragEnd:e.onDragEnd,autoScrollerOptions:e.autoScrollerOptions},e.children))}const BS={dragging:5e3,dropAnimating:4500},T6=(e,t)=>t?Qc.drop(t.duration):e?Qc.snap:Qc.fluid,R6=(e,t)=>{if(e)return t?mu.opacity.drop:mu.opacity.combining},A6=e=>e.forceShouldAnimate!=null?e.forceShouldAnimate:e.mode==="SNAP";function M6(e){const n=e.dimension.client,{offset:r,combineWith:i,dropping:o}=e,a=!!i,u=A6(e),d=!!o,m=d?Oy.drop(r,a):Oy.moveTo(r);return{position:"fixed",top:n.marginBox.top,left:n.marginBox.left,boxSizing:"border-box",width:n.borderBox.width,height:n.borderBox.height,transition:T6(u,o),transform:m,opacity:R6(a,d),zIndex:d?BS.dropAnimating:BS.dragging,pointerEvents:"none"}}function D6(e){return{transform:Oy.moveTo(e.offset),transition:e.shouldAnimateDisplacement?void 0:"none"}}function O6(e){return e.type==="DRAGGING"?M6(e):D6(e)}function L6(e,t,n=ar){const r=window.getComputedStyle(t),i=t.getBoundingClientRect(),o=aE(i,r),a=Gf(o,n),u={client:o,tagName:t.tagName.toLowerCase(),display:r.display},d={x:o.marginBox.width,y:o.marginBox.height};return{descriptor:e,placeholder:u,displaceBy:d,client:o,page:a}}function z6(e){const t=K0("draggable"),{descriptor:n,registry:r,getDraggableRef:i,canDragInteractiveElements:o,shouldRespectForcePress:a,isEnabled:u}=e,d=Vt(()=>({canDragInteractiveElements:o,shouldRespectForcePress:a,isEnabled:u}),[o,u,a]),m=st(y=>{const v=i();return v||Le(),L6(n,v,y)},[n,i]),p=Vt(()=>({uniqueId:t,descriptor:n,options:d,getDimension:m}),[n,m,d,t]),h=j.useRef(p),g=j.useRef(!0);ti(()=>(r.draggable.register(h.current),()=>r.draggable.unregister(h.current)),[r.draggable]),ti(()=>{if(g.current){g.current=!1;return}const y=h.current;h.current=p,r.draggable.update(p,y)},[p,r.draggable])}var Q0=St.createContext(null);function Zf(e){const t=j.useContext(e);return t||Le(),t}function P6(e){e.preventDefault()}const B6=e=>{const t=j.useRef(null),n=st((I=null)=>{t.current=I},[]),r=st(()=>t.current,[]),{contextId:i,dragHandleUsageInstructionsId:o,registry:a}=Zf(Dm),{type:u,droppableId:d}=Zf(Q0),m=Vt(()=>({id:e.draggableId,index:e.index,type:u,droppableId:d}),[e.draggableId,e.index,u,d]),{children:p,draggableId:h,isEnabled:g,shouldRespectForcePress:y,canDragInteractiveElements:v,isClone:k,mapped:S,dropAnimationFinished:_}=e;if(!k){const I=Vt(()=>({descriptor:m,registry:a,getDraggableRef:r,canDragInteractiveElements:v,shouldRespectForcePress:y,isEnabled:g}),[m,a,r,v,y,g]);z6(I)}const w=Vt(()=>g?{tabIndex:0,role:"button","aria-describedby":o,"data-rfd-drag-handle-draggable-id":h,"data-rfd-drag-handle-context-id":i,draggable:!1,onDragStart:P6}:null,[i,o,h,g]),C=st(I=>{S.type==="DRAGGING"&&S.dropping&&I.propertyName==="transform"&&Sm.flushSync(_)},[_,S]),N=Vt(()=>{const I=O6(S),D=S.type==="DRAGGING"&&S.dropping?C:void 0;return{innerRef:n,draggableProps:{"data-rfd-draggable-context-id":i,"data-rfd-draggable-id":h,style:I,onTransitionEnd:D},dragHandleProps:w}},[i,w,h,S,C,n]),O=Vt(()=>({draggableId:m.id,type:m.type,source:{index:m.index,droppableId:m.droppableId}}),[m.droppableId,m.id,m.index,m.type]);return St.createElement(St.Fragment,null,p(N,S.snapshot,O))};var tN=(e,t)=>e===t,nN=e=>{const{combine:t,destination:n}=e;return n?n.droppableId:t?t.droppableId:null};const $6=e=>e.combine?e.combine.draggableId:null,H6=e=>e.at&&e.at.type==="COMBINE"?e.at.combine.draggableId:null;function F6(){const e=or((i,o)=>({x:i,y:o})),t=or((i,o,a=null,u=null,d=null)=>({isDragging:!0,isClone:o,isDropAnimating:!!d,dropAnimation:d,mode:i,draggingOver:a,combineWith:u,combineTargetFor:null})),n=or((i,o,a,u,d=null,m=null,p=null)=>({mapped:{type:"DRAGGING",dropping:null,draggingOver:d,combineWith:m,mode:o,offset:i,dimension:a,forceShouldAnimate:p,snapshot:t(o,u,d,m,null)}}));return(i,o)=>{if(pu(i)){if(i.critical.draggable.id!==o.draggableId)return null;const a=i.current.client.offset,u=i.dimensions.draggables[o.draggableId],d=ei(i.impact),m=H6(i.impact),p=i.forceShouldAnimate;return n(e(a.x,a.y),i.movementMode,u,o.isClone,d,m,p)}if(i.phase==="DROP_ANIMATING"){const a=i.completed;if(a.result.draggableId!==o.draggableId)return null;const u=o.isClone,d=i.dimensions.draggables[o.draggableId],m=a.result,p=m.mode,h=nN(m),g=$6(m),v={duration:i.dropDuration,curve:U0.drop,moveTo:i.newHomeClientOffset,opacity:g?mu.opacity.drop:null,scale:g?mu.scale.drop:null};return{mapped:{type:"DRAGGING",offset:i.newHomeClientOffset,dimension:d,dropping:v,draggingOver:h,combineWith:g,mode:p,forceShouldAnimate:null,snapshot:t(p,u,h,g,v)}}}return null}}function rN(e=null){return{isDragging:!1,isDropAnimating:!1,isClone:!1,dropAnimation:null,mode:null,draggingOver:null,combineTargetFor:e,combineWith:null}}const V6={mapped:{type:"SECONDARY",offset:ar,combineTargetFor:null,shouldAnimateDisplacement:!0,snapshot:rN(null)}};function U6(){const e=or((a,u)=>({x:a,y:u})),t=or(rN),n=or((a,u=null,d)=>({mapped:{type:"SECONDARY",offset:a,combineTargetFor:u,shouldAnimateDisplacement:d,snapshot:t(u)}})),r=a=>a?n(ar,a,!0):null,i=(a,u,d,m)=>{const p=d.displaced.visible[a],h=!!(m.inVirtualList&&m.effected[a]),g=Tm(d),y=g&&g.draggableId===a?u:null;if(!p){if(!h)return r(y);if(d.displaced.invisible[a])return null;const S=Il(m.displacedBy.point),_=e(S.x,S.y);return n(_,y,!0)}if(h)return r(y);const v=d.displacedBy.point,k=e(v.x,v.y);return n(k,y,p.shouldAnimate)};return(a,u)=>{if(pu(a))return a.critical.draggable.id===u.draggableId?null:i(u.draggableId,a.critical.draggable.id,a.impact,a.afterCritical);if(a.phase==="DROP_ANIMATING"){const d=a.completed;return d.result.draggableId===u.draggableId?null:i(u.draggableId,d.result.draggableId,d.impact,d.afterCritical)}return null}}const G6=()=>{const e=F6(),t=U6();return(r,i)=>e(r,i)||t(r,i)||V6},q6={dropAnimationFinished:OE},W6=oE(G6,q6,null,{context:X0,areStatePropsEqual:tN})(B6);function iN(e){return Zf(Q0).isUsingCloneFor===e.draggableId&&!e.isClone?null:St.createElement(W6,e)}function Y6(e){const t=typeof e.isDragDisabled=="boolean"?!e.isDragDisabled:!0,n=!!e.disableInteractiveElementBlocking,r=!!e.shouldRespectForcePress;return St.createElement(iN,qf({},e,{isClone:!1,isEnabled:t,canDragInteractiveElements:n,shouldRespectForcePress:r}))}const sN=e=>t=>e===t,X6=sN("scroll"),K6=sN("auto"),$S=(e,t)=>t(e.overflowX)||t(e.overflowY),Z6=e=>{const t=window.getComputedStyle(e),n={overflowX:t.overflowX,overflowY:t.overflowY};return $S(n,X6)||$S(n,K6)},Q6=()=>!1,oN=e=>e==null?null:e===document.body?Q6()?e:null:e===document.documentElement?null:Z6(e)?e:oN(e.parentElement);var Py=e=>({x:e.scrollLeft,y:e.scrollTop});const aN=e=>e?window.getComputedStyle(e).position==="fixed"?!0:aN(e.parentElement):!1;var J6=e=>{const t=oN(e),n=aN(e);return{closestScrollable:t,isFixedOnPage:n}},e8=({descriptor:e,isEnabled:t,isCombineEnabled:n,isFixedOnPage:r,direction:i,client:o,page:a,closest:u})=>{const d=(()=>{if(!u)return null;const{scrollSize:g,client:y}=u,v=BE({scrollHeight:g.scrollHeight,scrollWidth:g.scrollWidth,height:y.paddingBox.height,width:y.paddingBox.width});return{pageMarginBox:u.page.marginBox,frameClient:y,scrollSize:g,shouldClipSubject:u.shouldClipSubject,scroll:{initial:u.scroll,current:u.scroll,max:v,diff:{value:ar,displacement:ar}}}})(),m=i==="vertical"?z0:yE,p=ml({page:a,withPlaceholder:null,axis:m,frame:d});return{descriptor:e,isCombineEnabled:n,isFixedOnPage:r,axis:m,isEnabled:t,client:o,page:a,frame:d,subject:p}};const t8=(e,t)=>{const n=lE(e);if(!t||e!==t)return n;const r=n.paddingBox.top-t.scrollTop,i=n.paddingBox.left-t.scrollLeft,o=r+t.scrollHeight,a=i+t.scrollWidth,d=M0({top:r,right:a,bottom:o,left:i},n.border);return D0({borderBox:d,margin:n.margin,border:n.border,padding:n.padding})};var n8=({ref:e,descriptor:t,env:n,windowScroll:r,direction:i,isDropDisabled:o,isCombineEnabled:a,shouldClipSubject:u})=>{const d=n.closestScrollable,m=t8(e,d),p=Gf(m,r),h=(()=>{if(!d)return null;const y=lE(d),v={scrollHeight:d.scrollHeight,scrollWidth:d.scrollWidth};return{client:y,page:Gf(y,r),scroll:Py(d),scrollSize:v,shouldClipSubject:u}})();return e8({descriptor:t,isEnabled:!o,isCombineEnabled:a,isFixedOnPage:n.isFixedOnPage,direction:i,client:m,page:p,closest:h})};const r8={passive:!1},i8={passive:!0};var HS=e=>e.shouldPublishImmediately?r8:i8;const Jd=e=>e&&e.env.closestScrollable||null;function s8(e){const t=j.useRef(null),n=Zf(Dm),r=K0("droppable"),{registry:i,marshal:o}=n,a=YE(e),u=Vt(()=>({id:e.droppableId,type:e.type,mode:e.mode}),[e.droppableId,e.mode,e.type]),d=j.useRef(u),m=Vt(()=>or((N,O)=>{t.current||Le();const I={x:N,y:O};o.updateDroppableScroll(u.id,I)}),[u.id,o]),p=st(()=>{const N=t.current;return!N||!N.env.closestScrollable?ar:Py(N.env.closestScrollable)},[]),h=st(()=>{const N=p();m(N.x,N.y)},[p,m]),g=Vt(()=>cu(h),[h]),y=st(()=>{const N=t.current,O=Jd(N);if(N&&O||Le(),N.scrollOptions.shouldPublishImmediately){h();return}g()},[g,h]),v=st((N,O)=>{t.current&&Le();const I=a.current,D=I.getDroppableRef();D||Le();const T=J6(D),L={ref:D,descriptor:u,env:T,scrollOptions:O};t.current=L;const A=n8({ref:D,descriptor:u,env:T,windowScroll:N,direction:I.direction,isDropDisabled:I.isDropDisabled,isCombineEnabled:I.isCombineEnabled,shouldClipSubject:!I.ignoreContainerClipping}),M=T.closestScrollable;return M&&(M.setAttribute(OS.contextId,n.contextId),M.addEventListener("scroll",y,HS(L.scrollOptions))),A},[n.contextId,u,y,a]),k=st(()=>{const N=t.current,O=Jd(N);return N&&O||Le(),Py(O)},[]),S=st(()=>{const N=t.current;N||Le();const O=Jd(N);t.current=null,O&&(g.cancel(),O.removeAttribute(OS.contextId),O.removeEventListener("scroll",y,HS(N.scrollOptions)))},[y,g]),_=st(N=>{const O=t.current;O||Le();const I=Jd(O);I||Le(),I.scrollTop+=N.y,I.scrollLeft+=N.x},[]),w=Vt(()=>({getDimensionAndWatchScroll:v,getScrollWhileDragging:k,dragStopped:S,scroll:_}),[S,v,k,_]),C=Vt(()=>({uniqueId:r,descriptor:u,callbacks:w}),[w,u,r]);ti(()=>(d.current=C.descriptor,i.droppable.register(C),()=>{t.current&&S(),i.droppable.unregister(C)}),[w,u,S,C,o,i.droppable]),ti(()=>{t.current&&o.updateDroppableIsEnabled(d.current.id,!e.isDropDisabled)},[e.isDropDisabled,o]),ti(()=>{t.current&&o.updateDroppableIsCombineEnabled(d.current.id,e.isCombineEnabled)},[e.isCombineEnabled,o])}function Eg(){}const FS={width:0,height:0,margin:fD},o8=({isAnimatingOpenOnMount:e,placeholder:t,animate:n})=>e||n==="close"?FS:{height:t.client.borderBox.height,width:t.client.borderBox.width,margin:t.client.margin},a8=({isAnimatingOpenOnMount:e,placeholder:t,animate:n})=>{const r=o8({isAnimatingOpenOnMount:e,placeholder:t,animate:n});return{display:t.display,boxSizing:"border-box",width:r.width,height:r.height,marginTop:r.margin.top,marginRight:r.margin.right,marginBottom:r.margin.bottom,marginLeft:r.margin.left,flexShrink:"0",flexGrow:"0",pointerEvents:"none",transition:n!=="none"?Qc.placeholder:null}},l8=e=>{const t=j.useRef(null),n=st(()=>{t.current&&(clearTimeout(t.current),t.current=null)},[]),{animate:r,onTransitionEnd:i,onClose:o,contextId:a}=e,[u,d]=j.useState(e.animate==="open");j.useEffect(()=>u?r!=="open"?(n(),d(!1),Eg):t.current?Eg:(t.current=setTimeout(()=>{t.current=null,d(!1)}),n):Eg,[r,u,n]);const m=st(h=>{h.propertyName==="height"&&(i(),r==="close"&&o())},[r,o,i]),p=a8({isAnimatingOpenOnMount:u,animate:e.animate,placeholder:e.placeholder});return St.createElement(e.placeholder.tagName,{style:p,"data-rfd-placeholder-context-id":a,onTransitionEnd:m,ref:e.innerRef})};var c8=St.memo(l8);class u8 extends St.PureComponent{constructor(...t){super(...t),this.state={isVisible:!!this.props.on,data:this.props.on,animate:this.props.shouldAnimate&&this.props.on?"open":"none"},this.onClose=()=>{this.state.animate==="close"&&this.setState({isVisible:!1})}}static getDerivedStateFromProps(t,n){return t.shouldAnimate?t.on?{isVisible:!0,data:t.on,animate:"open"}:n.isVisible?{isVisible:!0,data:n.data,animate:"close"}:{isVisible:!1,animate:"close",data:null}:{isVisible:!!t.on,data:t.on,animate:"none"}}render(){if(!this.state.isVisible)return null;const t={onClose:this.onClose,data:this.state.data,animate:this.state.animate};return this.props.children(t)}}const d8=e=>{const t=j.useContext(Dm);t||Le();const{contextId:n,isMovementAllowed:r}=t,i=j.useRef(null),o=j.useRef(null),{children:a,droppableId:u,type:d,mode:m,direction:p,ignoreContainerClipping:h,isDropDisabled:g,isCombineEnabled:y,snapshot:v,useClone:k,updateViewportMaxScroll:S,getContainerForClone:_}=e,w=st(()=>i.current,[]),C=st((M=null)=>{i.current=M},[]);st(()=>o.current,[]);const N=st((M=null)=>{o.current=M},[]),O=st(()=>{r()&&S({maxScroll:HE()})},[r,S]);s8({droppableId:u,type:d,mode:m,direction:p,isDropDisabled:g,isCombineEnabled:y,ignoreContainerClipping:h,getDroppableRef:w});const I=Vt(()=>St.createElement(u8,{on:e.placeholder,shouldAnimate:e.shouldAnimatePlaceholder},({onClose:M,data:$,animate:W})=>St.createElement(c8,{placeholder:$,onClose:M,innerRef:N,animate:W,contextId:n,onTransitionEnd:O})),[n,O,e.placeholder,e.shouldAnimatePlaceholder,N]),D=Vt(()=>({innerRef:C,placeholder:I,droppableProps:{"data-rfd-droppable-id":u,"data-rfd-droppable-context-id":n}}),[n,u,I,C]),T=k?k.dragging.draggableId:null,L=Vt(()=>({droppableId:u,type:d,isUsingCloneFor:T}),[u,T,d]);function A(){if(!k)return null;const{dragging:M,render:$}=k,W=St.createElement(iN,{draggableId:M.draggableId,index:M.source.index,isClone:!0,isEnabled:!0,shouldRespectForcePress:!1,canDragInteractiveElements:!0},(B,U)=>$(B,U,M));return r4.createPortal(W,_())}return St.createElement(Q0.Provider,{value:L},a(D,v),A())};function f8(){return document.body||Le(),document.body}const VS={mode:"standard",type:"DEFAULT",direction:"vertical",isDropDisabled:!1,isCombineEnabled:!1,ignoreContainerClipping:!1,renderClone:null,getContainerForClone:f8},lN=e=>{let t={...e},n;for(n in VS)e[n]===void 0&&(t={...t,[n]:VS[n]});return t},Ng=(e,t)=>e===t.droppable.type,US=(e,t)=>t.draggables[e.draggable.id],m8=()=>{const e={placeholder:null,shouldAnimatePlaceholder:!0,snapshot:{isDraggingOver:!1,draggingOverWith:null,draggingFromThisWith:null,isUsingPlaceholder:!1},useClone:null},t={...e,shouldAnimatePlaceholder:!1},n=or(o=>({draggableId:o.id,type:o.type,source:{index:o.index,droppableId:o.droppableId}})),r=or((o,a,u,d,m,p)=>{const h=m.descriptor.id;if(m.descriptor.droppableId===o){const v=p?{render:p,dragging:n(m.descriptor)}:null,k={isDraggingOver:u,draggingOverWith:u?h:null,draggingFromThisWith:h,isUsingPlaceholder:!0};return{placeholder:m.placeholder,shouldAnimatePlaceholder:!1,snapshot:k,useClone:v}}if(!a)return t;if(!d)return e;const y={isDraggingOver:u,draggingOverWith:h,draggingFromThisWith:null,isUsingPlaceholder:!0};return{placeholder:m.placeholder,shouldAnimatePlaceholder:!0,snapshot:y,useClone:null}});return(o,a)=>{const u=lN(a),d=u.droppableId,m=u.type,p=!u.isDropDisabled,h=u.renderClone;if(pu(o)){const g=o.critical;if(!Ng(m,g))return t;const y=US(g,o.dimensions),v=ei(o.impact)===d;return r(d,p,v,v,y,h)}if(o.phase==="DROP_ANIMATING"){const g=o.completed;if(!Ng(m,g.critical))return t;const y=US(g.critical,o.dimensions);return r(d,p,nN(g.result)===d,ei(g.impact)===d,y,h)}if(o.phase==="IDLE"&&o.completed&&!o.shouldFlush){const g=o.completed;if(!Ng(m,g.critical))return t;const y=ei(g.impact)===d,v=!!(g.impact.at&&g.impact.at.type==="COMBINE"),k=g.critical.droppable.id===d;return y?v?e:t:k?e:t}return t}},h8={updateViewportMaxScroll:wO},p8=oE(m8,h8,(e,t,n)=>({...lN(n),...e,...t}),{context:X0,areStatePropsEqual:tN})(d8),Qf={urgent:{label:"Urgent",color:"var(--red)",symbol:"โ–ฒโ–ฒ"},high:{label:"High",color:"var(--yellow)",symbol:"โ–ฒ"},medium:{label:"Medium",color:"var(--accent)",symbol:"โ– "},low:{label:"Low",color:"var(--text-secondary)",symbol:"โ–ฝ"}},Jf={idle:"Idle",reflecting:"Thinking...",tool_active:"Running tool"};function J0(e){const t=(e??"").trim();return t?t.replace(/[_-]+/g," ").replace(/\b\w/g,n=>n.toUpperCase()):""}function gl(e){const t=(e.workItemRoleName??"").trim();return t||J0(e.workItemRoleId)}function g8(e){return(e.employeeAssignment?.name??"").trim()}function Ig(e){const t=gl(e),n=g8(e);return t&&n?`${t} ยท ${n}`:t||n}function il(e){return typeof e=="string"?e.trim():""}function ao(e){if(!e)return"";const t=e;return il(t.executionTurnId)||il(t.runtimeTaskId)||il(t.taskId)}function Lm(e){return il(e?.workItemId)?il(e?.executionTurnId)||il(e?.runtimeTaskId):""}const x8={todo:{label:"To do",color:"#9ca3af"},in_progress:{label:"In progress",color:"#f59e0b"},in_review:{label:"In review",color:"#fbbf24"},done:{label:"Done",color:"#34d399"},running:{label:"Running",color:"#34d399"},idle:{label:"Idle",color:"#6366f1"},blocked:{label:"Blocked",color:"#f97316"},awaiting_peer:{label:"Awaiting",color:"#fbbf24"},awaiting_manager_review:{label:"Mgr Review",color:"#fbbf24"},awaiting_human:{label:"Human Review",color:"#fbbf24"},awaiting_review:{label:"In Review",color:"#fbbf24"},failed:{label:"Failed",color:"#ef4444"},cancelled:{label:"Cancelled",color:"#9ca3af"}};function y8({task:e,index:t,agents:n,officeMap:r,companyMode:i,isSelected:o,onClick:a,onStart:u}){const d=e.assigneeIds.map(I=>n.find(D=>D.agent_id===I)).filter(Boolean),m=e.priority?Qf[e.priority]:null,p=r&&d.length>1&&new Set(d.map(I=>r[I.agent_id]).filter(Boolean)).size>1,h=e.agentStatus&&e.agentStatus!=="idle",g=e.dependencies?.length??0,y=e.phase,v=!h&&y&&y!=="ready"?x8[y]??null:null,k=e.employeeAssignment,S=gl(e),_=e.workItemGate,w=J0(e.managerRoleId),C=(e.blockedReason??"").trim(),N=(e.reworkFeedback??"").trim(),O=Lm(e);return c.jsx(Y6,{draggableId:e.id,index:t,isDragDisabled:!!i,children:(I,D)=>c.jsxs("div",{ref:I.innerRef,...I.draggableProps,...I.dragHandleProps,className:`kanban-card${D.isDragging?" is-dragging":""}${h?" is-active":""}${o?" is-selected":""}`,"data-task-id":e.id,onMouseUp:T=>{T.button===0&&!D.isDragging&&a(e)},children:[c.jsxs("div",{className:"kanban-card-top",children:[c.jsx("span",{className:"kanban-card-id",children:e.displayId}),v&&c.jsxs("span",{className:"kanban-status-badge",style:{color:v.color},children:[c.jsx("span",{style:{display:"inline-block",width:6,height:6,borderRadius:"50%",background:v.color,marginRight:3}}),v.label]}),g>0&&c.jsxs("span",{className:"kanban-dep-badge",title:`${g} upstream dep(s)`,children:[g," dep"]}),p&&c.jsx("span",{className:"kanban-cross-badge",title:"Cross-office",children:"โ‡„"}),u&&c.jsx("button",{className:"kanban-start-btn",title:i?"Start Work Item":"Start task",onClick:T=>{T.stopPropagation(),u(e.id)},children:"โ–ถ"})]}),c.jsx("p",{className:"kanban-card-title",children:e.title}),(S||k?.name||_?.type||e.originChannel||e.workItemProjectionId)&&c.jsxs("div",{className:"kanban-card-meta-row",children:[S&&c.jsx("span",{className:"kanban-meta-badge kanban-role-badge",title:`Role: ${S}`,children:S}),k?.name&&c.jsxs("span",{className:"kanban-meta-badge kanban-employee-badge",title:`Employee: ${k.name}${k.category?` (${k.category})`:""}`,children:[c.jsx("span",{className:"kanban-meta-icon",children:"๐Ÿ‘ค"}),k.name]}),e.workItemProjectionId&&c.jsx("span",{className:"kanban-meta-badge kanban-projection-badge",title:`Projection: ${e.workItemProjectionId}`,children:e.workItemProjectionId}),_?.type&&c.jsxs("span",{className:`kanban-meta-badge kanban-gate-badge kanban-gate-${_.type}`,title:`Gate: ${_.type}${_.reviewerRole?` by ${_.reviewerRole}`:""}`,children:[_.type==="review"?"โœ‰":_.type==="approval"?"โœ“":"โœ‹",_.type]}),e.originChannel&&c.jsxs("span",{className:"kanban-meta-badge kanban-origin-badge",title:`Origin: ${e.originChannel}`,children:["#",e.originChannel]}),w&&c.jsx("span",{className:"kanban-meta-badge",title:`Manager: ${w}`,children:w})]}),(C||N||O)&&c.jsxs("div",{className:"kanban-card-tags",children:[C&&c.jsx("span",{className:"kanban-tag",children:C}),N&&c.jsx("span",{className:"kanban-tag",children:N}),O&&c.jsx("span",{className:"kanban-tag",title:`Execution Turn: ${O}`,children:"Runtime"})]}),h&&c.jsxs("div",{className:`kanban-card-runtime status-${e.agentStatus}`,children:[c.jsx("span",{className:"kanban-runtime-dot"}),c.jsx("span",{className:"kanban-runtime-label",children:e.agentStatus==="tool_active"&&e.currentTool?e.currentTool:Jf[e.agentStatus]??e.agentStatus})]}),e.tags.length>0&&c.jsx("div",{className:"kanban-card-tags",children:e.tags.slice(0,3).map(T=>c.jsx("span",{className:"kanban-tag",children:T},T))}),(m||d.length>0)&&c.jsxs("div",{className:"kanban-card-footer",children:[c.jsx("div",{className:"kanban-card-footer-left",children:m&&c.jsx("span",{className:"kanban-priority",style:{color:m.color},title:m.label,children:m.symbol})}),c.jsxs("div",{className:"kanban-assignee-group",children:[d.slice(0,3).map(T=>c.jsx("span",{className:"kanban-assignee-badge",title:T.name,children:T.name.charAt(0).toUpperCase()},T.agent_id)),d.length>3&&c.jsxs("span",{className:"kanban-assignee-badge kanban-assignee-more",children:["+",d.length-3]})]})]})]})})}function v8({column:e,tasks:t,agents:n,officeMap:r,companyMode:i,selectedTaskId:o,onCardClick:a,onStartTask:u,onQuickCreate:d}){const[m,p]=j.useState(!1),[h,g]=j.useState(""),y=j.useRef(!1),v=j.useCallback(()=>{if(y.current)return;y.current=!0;const k=h.trim();k&&d&&d(k),g(""),p(!1)},[h,d]);return c.jsxs("div",{className:"kanban-column",children:[c.jsxs("div",{className:"kanban-column-header",children:[c.jsx("span",{className:"kanban-col-dot",style:{background:e.color}}),c.jsx("span",{className:"kanban-col-label",children:e.name}),c.jsx("span",{className:"kanban-col-count",children:t.length}),d&&c.jsx("button",{className:"kanban-col-add",title:"Add task",onClick:()=>{y.current=!1,p(!0)},children:"+"})]}),m&&c.jsx("div",{className:"kanban-quick-add",children:c.jsx("input",{className:"kanban-quick-input",value:h,onChange:k=>g(k.target.value),onKeyDown:k=>{k.key==="Enter"&&(k.preventDefault(),v()),k.key==="Escape"&&(y.current=!0,g(""),p(!1))},onBlur:v,placeholder:"Task title...",autoFocus:!0})}),c.jsx(p8,{droppableId:e.id,isDropDisabled:!!i,children:k=>c.jsxs("div",{ref:k.innerRef,...k.droppableProps,className:"kanban-col-body",children:[t.length===0&&!m&&c.jsx("div",{className:"kanban-empty",children:c.jsx("span",{className:"kanban-empty-icon",children:"ยท"})}),t.map((S,_)=>c.jsx(y8,{task:S,index:_,agents:n,officeMap:r,companyMode:i,isSelected:S.id===o,onClick:a,onStart:u},S.id)),k.placeholder]})})]})}function b8({columns:e,tasksByColumn:t,agents:n,officeMap:r,store:i,companyMode:o,selectedTaskId:a,onCardClick:u,onStartTask:d,onQuickCreate:m,onMoveTask:p}){const h=g=>{if(o||!g.destination)return;const y=g.source.droppableId,v=g.destination.droppableId;if(y!==v)return;const k=g.destination.index,S=g.draggableId,_=[...t[v]??[]].filter(C=>C.id!==S),w=(t[v]??[]).find(C=>C.id===S);w&&_.splice(k,0,w),_.forEach((C,N)=>{i.moveTask(C.id,v,N)})};return c.jsx(I6,{onDragEnd:h,children:c.jsx("div",{className:"kanban-board",children:e.map(g=>c.jsx(v8,{column:g,tasks:t[g.id]??[],agents:n,officeMap:r,companyMode:o,selectedTaskId:a,onCardClick:u,onStartTask:!o&&g.name==="Todo"?d:void 0,onQuickCreate:!o&&g.name==="Todo"?m:void 0},g.id))})})}function _8({agents:e,tasks:t}){const n=j.useMemo(()=>{const i=new Map(t.map(o=>[o.id,o]));return e.map(o=>{const a=t.find(d=>d.assigneeIds.includes(o.agent_id)&&d.agentStatus&&d.agentStatus!=="idle"),u=o.current_task_id?i.get(o.current_task_id):void 0;return{agent:o,status:a?.agentStatus??o.runtime_status??"idle",currentTool:a?.currentTool??o.current_tool,taskDisplayId:a?.displayId??u?.displayId}})},[e,t]);if(e.length===0)return null;const r=n.filter(i=>i.status!=="idle").length;return c.jsxs("div",{className:"agent-status-bar",children:[c.jsx("span",{className:"agent-status-summary",children:r>0?`${r}/${e.length} active`:`${e.length} agent${e.length!==1?"s":""}`}),c.jsx("div",{className:"agent-status-chips",children:n.map(({agent:i,status:o,currentTool:a,taskDisplayId:u})=>c.jsxs("div",{className:`agent-status-chip status-${o}`,title:`${i.name}: ${o==="tool_active"&&a?a:Jf[o]}${u?` (${u})`:""}`,children:[c.jsx("span",{className:"agent-status-avatar",children:i.name.charAt(0).toUpperCase()}),c.jsx("span",{className:"agent-status-name",children:i.name}),o!=="idle"&&c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"kanban-runtime-dot"}),c.jsx("span",{className:"agent-status-detail",children:o==="tool_active"&&a?a:Jf[o]})]}),u&&c.jsx("span",{className:"agent-status-task",children:u})]},i.agent_id))})]})}function k8({boards:e,activeBoardId:t,onSelect:n}){return c.jsx("div",{className:"board-selector",children:c.jsx("div",{className:"board-tabs",children:e.map(r=>c.jsxs("button",{className:`board-tab${r.id===t?" active":""}`,style:{"--board-color":r.color},onClick:()=>n(r.id),children:[c.jsx("span",{className:"board-tab-dot",style:{background:r.color}}),r.name]},r.id))})})}function yr(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function ws(e){return Array.isArray(e)?e.filter(yr):[]}function xl(e){return Array.isArray(e)?e.map(t=>String(t??"").trim()).filter(Boolean):[]}function S8(e){return yr(e)?{run_id:typeof e.run_id=="string"?e.run_id:void 0,status:typeof e.status=="string"?e.status:void 0,total_cells:typeof e.total_cells=="number"?e.total_cells:void 0,total_role_sessions:typeof e.total_role_sessions=="number"?e.total_role_sessions:void 0,total_work_items:typeof e.total_work_items=="number"?e.total_work_items:void 0,ready_count:typeof e.ready_count=="number"?e.ready_count:void 0,running_count:typeof e.running_count=="number"?e.running_count:void 0,blocked_count:typeof e.blocked_count=="number"?e.blocked_count:void 0,waiting_count:typeof e.waiting_count=="number"?e.waiting_count:void 0,done_count:typeof e.done_count=="number"?e.done_count:void 0,failed_count:typeof e.failed_count=="number"?e.failed_count:void 0}:{}}function w8(e){return{cell_id:String(e.cell_id??e.team_id??e.id??"").trim(),team_instance_id:typeof e.team_instance_id=="string"?e.team_instance_id:void 0,team_id:typeof e.team_id=="string"?e.team_id:void 0,manager_role_id:String(e.manager_role_id??"").trim(),member_role_ids:xl(e.member_role_ids),seat_ids:xl(e.seat_ids),parent_team_id:typeof e.parent_team_id=="string"?e.parent_team_id:void 0,status:String(e.status??"idle"),is_final_decider_cell:typeof e.is_final_decider_cell=="boolean"?e.is_final_decider_cell:void 0}}function C8(e){return{role_session_id:String(e.role_session_id??e.id??"").trim(),role_id:String(e.role_id??"").trim(),employee_id:String(e.employee_id??"").trim(),team_id:typeof e.team_id=="string"?e.team_id:void 0,team_instance_id:typeof e.team_instance_id=="string"?e.team_instance_id:void 0,seat_id:typeof e.seat_id=="string"?e.seat_id:void 0,focused_work_item_id:typeof e.focused_work_item_id=="string"?e.focused_work_item_id:void 0,current_work_item_id:typeof e.current_work_item_id=="string"?e.current_work_item_id:void 0,background_work_item_ids:xl(e.background_work_item_ids),manager_role_ids:xl(e.manager_role_ids),manager_seat_id:typeof e.manager_seat_id=="string"?e.manager_seat_id:void 0,resident_status:typeof e.resident_status=="string"?e.resident_status:void 0,latest_notification:yr(e.latest_notification)?e.latest_notification:void 0,manager_digest:yr(e.manager_digest)?e.manager_digest:void 0,status:String(e.status??"cold")}}function j8(e){const t=yr(e.metadata)?e.metadata:void 0,n=yr(e.adaptive)?e.adaptive:t&&yr(t.adaptive)?t.adaptive:void 0;return{work_item_id:String(e.work_item_id??e.id??"").trim(),role_id:String(e.role_id??"").trim(),cell_id:String(e.cell_id??"").trim(),team_id:typeof e.team_id=="string"?e.team_id:void 0,team_instance_id:typeof e.team_instance_id=="string"?e.team_instance_id:void 0,seat_id:typeof e.seat_id=="string"?e.seat_id:void 0,title:String(e.title??""),kind:String(e.kind??"execute"),phase:String(e.phase??"ready"),kanban_column:String(e.kanban_column??"todo"),batch_id:typeof e.batch_id=="string"?e.batch_id:void 0,batch_index:typeof e.batch_index=="number"?e.batch_index:void 0,deliverable_summary:typeof e.deliverable_summary=="string"?e.deliverable_summary:void 0,blocked_reason:typeof e.blocked_reason=="string"?e.blocked_reason:void 0,handoff_status:typeof e.handoff_status=="string"?e.handoff_status:void 0,parent_work_item_id:typeof e.parent_work_item_id=="string"?e.parent_work_item_id:void 0,work_item_projection_id:typeof e.work_item_projection_id=="string"?e.work_item_projection_id:void 0,metadata:t,adaptive:n}}function E8(e){if(yr(e))return{run_id:typeof e.run_id=="string"?e.run_id:void 0,project_id:typeof e.project_id=="string"?e.project_id:void 0,session_id:typeof e.session_id=="string"?e.session_id:void 0,status:typeof e.status=="string"?e.status:void 0,lifecycle_status:typeof e.lifecycle_status=="string"?e.lifecycle_status:void 0,company_profile:typeof e.company_profile=="string"?e.company_profile:void 0,execution_model:typeof e.execution_model=="string"?e.execution_model:void 0,current_revision:typeof e.current_revision=="number"?e.current_revision:void 0,latest_deliverable_summary:typeof e.latest_deliverable_summary=="string"?e.latest_deliverable_summary:void 0,recovery_pointer:yr(e.recovery_pointer)?e.recovery_pointer:void 0}}function N8(e){if(yr(e))return{project_id:typeof e.project_id=="string"?e.project_id:void 0,run_id:typeof e.run_id=="string"?e.run_id:void 0,latest_deliverable_summary:typeof e.latest_deliverable_summary=="string"?e.latest_deliverable_summary:void 0,architecture_decisions:ws(e.architecture_decisions),completed_work_items:ws(e.completed_work_items),open_issues:xl(e.open_issues),verification_summary:typeof e.verification_summary=="string"?e.verification_summary:void 0,artifact_index:ws(e.artifact_index),handoff_summaries:ws(e.handoff_summaries),last_failure_summary:typeof e.last_failure_summary=="string"?e.last_failure_summary:void 0,project_memory_excerpt:typeof e.project_memory_excerpt=="string"?e.project_memory_excerpt:void 0,session_memory_excerpt:typeof e.session_memory_excerpt=="string"?e.session_memory_excerpt:void 0}}function I8(e){return{seat_id:String(e.seat_id??e.id??"").trim(),team_id:typeof e.team_id=="string"?e.team_id:void 0,role_id:typeof e.role_id=="string"?e.role_id:void 0,employee_id:typeof e.employee_id=="string"?e.employee_id:void 0,role_session_id:typeof e.role_session_id=="string"?e.role_session_id:void 0,resident_status:typeof e.resident_status=="string"?e.resident_status:void 0,current_work_item:yr(e.current_work_item)?e.current_work_item:void 0,latest_notification:yr(e.latest_notification)?e.latest_notification:void 0,manager_digest:yr(e.manager_digest)?e.manager_digest:void 0}}function T8(e){return{link_id:typeof e.link_id=="string"?e.link_id:void 0,session_id:typeof e.session_id=="string"?e.session_id:void 0,linked_session_id:typeof e.linked_session_id=="string"?e.linked_session_id:void 0,link_type:typeof e.link_type=="string"?e.link_type:void 0,metadata:yr(e.metadata)?e.metadata:void 0,created_at:typeof e.created_at=="string"?e.created_at:void 0}}function cN(e){const t=yr(e)?e:{},n=ws(t.runtime_teams).map(w8),r=ws(t.runtime_seats).map(C8),i=ws(t.work_items).map(j8);return{roles:Array.isArray(t.roles)?t.roles:[],employees:Array.isArray(t.employees)?t.employees:[],company_profile:typeof t.company_profile=="string"?t.company_profile:"",organization_id:typeof t.organization_id=="string"?t.organization_id:void 0,organization_name:typeof t.organization_name=="string"?t.organization_name:void 0,organization_config_file:typeof t.organization_config_file=="string"?t.organization_config_file:void 0,final_decider_role_id:typeof t.final_decider_role_id=="string"?t.final_decider_role_id:null,top_level_role_ids:xl(t.top_level_role_ids),runtime_teams:n,runtime_seats:r,work_items:i,frontier:S8(t.frontier),project_run:E8(t.project_run),project_dossier:N8(t.project_dossier),seat_digests:ws(t.seat_digests).map(I8),revision_links:ws(t.revision_links).map(T8),project_recovery:yr(t.project_recovery)?t.project_recovery:void 0,channels:Array.isArray(t.channels)?t.channels:[],connectors:Array.isArray(t.connectors)?t.connectors:[],org_version:typeof t.org_version=="number"?t.org_version:0,runtime_topology_version:typeof t.runtime_topology_version=="number"?t.runtime_topology_version:0,installed_packages:Array.isArray(t.installed_packages)?t.installed_packages:[],runtime_policy:yr(t.runtime_policy)?t.runtime_policy:void 0}}function zm(e){const t=cN(e);return{runtimeTeams:t.runtime_teams??[],runtimeSeats:t.runtime_seats??[],workItems:t.work_items??[],frontier:t.frontier??{},projectRun:t.project_run,projectDossier:t.project_dossier,seatDigests:t.seat_digests??[],revisionLinks:t.revision_links??[],projectRecovery:t.project_recovery}}function R8({state:e,message:t,onRefresh:n,onReadMessage:r,pollIntervalMs:i=3e4,embedded:o=!1}){const[a,u]=j.useState(null),d=j.useRef(n);d.current=n,j.useEffect(()=>{if(!i)return;d.current();const g=window.setInterval(()=>d.current(),i);return()=>window.clearInterval(g)},[i]);const m=j.useMemo(()=>e?.roles?e.roles.reduce((g,y)=>g+y.unread_count,0):0,[e?.roles]),p=g=>{u(g),r(g)},h=o?{fontSize:13,color:"var(--text)"}:{border:"1px solid var(--border, #333)",borderRadius:6,background:"var(--bg-primary, #1e1e1e)",fontSize:13};return c.jsxs("div",{className:"comms-panel",style:h,children:[c.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 12px",borderBottom:"1px solid var(--border, #333)"},children:[c.jsx("span",{style:{fontWeight:600,fontSize:13,flex:1},children:"Agent Communications"}),m>0&&c.jsxs(gu,{color:"var(--accent, #3498db)",children:[m," unread"]}),c.jsx("button",{onClick:n,style:{background:"var(--surface, #2a2a2a)",border:"1px solid var(--border, #444)",color:"var(--text-secondary, #aaa)",fontSize:11,padding:"3px 10px",cursor:"pointer",borderRadius:4},children:"Refresh"})]}),e?e.available?e.empty?c.jsx(Nf,{children:"No communications yet. They will appear once agents start collaborating."}):c.jsx(A8,{state:e,selectedPath:a,onSelectMessage:p}):c.jsxs(Nf,{children:["Not available",e.reason?`: ${e.reason}`:""]}):c.jsx(Nf,{children:"Loading communications..."}),t&&c.jsx(O8,{message:t,onClose:()=>u(null)})]})}function A8({state:e,selectedPath:t,onSelectMessage:n}){const r=(e.roles?.length??0)>0,i=(e.meetings?.length??0)>0,o=(e.recent_failures?.length??0)>0;return c.jsxs("div",{style:{padding:"4px 0"},children:[o&&c.jsx(Tg,{title:"Failures",children:(e.recent_failures||[]).map((a,u)=>c.jsxs("div",{style:{padding:"6px 12px",marginBottom:4,background:"color-mix(in srgb, var(--red, #e74c3c) 6%, transparent)",borderLeft:"3px solid var(--red, #e74c3c)"},children:[c.jsxs("div",{style:{fontWeight:600,fontSize:12},children:[a.operation," ยท ",a.from_role," โ†’ ",a.to_role]}),c.jsx("div",{style:{fontSize:11,color:"var(--text-secondary, #999)",marginTop:2},children:a.reason})]},`${a.recorded_at||"f"}-${u}`))}),r&&c.jsx(Tg,{title:`Inboxes (${e.roles.length})`,children:e.roles.map(a=>c.jsx(M8,{role:a,selectedPath:t,onSelectMessage:n},a.role_id))}),i&&c.jsx(Tg,{title:"Meetings",children:(e.meetings||[]).map(a=>c.jsxs("div",{style:{padding:"6px 12px",marginBottom:4,borderLeft:`3px solid ${a.status==="open"?"var(--accent, #3498db)":"var(--text-dim, #555)"}`},children:[c.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[c.jsx(gu,{color:a.status==="open"?"var(--accent, #3498db)":"var(--text-dim, #555)",children:a.status}),c.jsx("strong",{style:{fontSize:12,flex:1},children:a.topic}),c.jsxs("span",{style:{fontSize:11,color:"var(--text-dim, #888)"},children:[a.entry_count," entries"]})]}),c.jsxs("div",{style:{fontSize:11,color:"var(--text-secondary, #999)",marginTop:3},children:["by ",a.organizer," ยท ",a.participants.join(", ")]}),a.decision&&c.jsxs("div",{style:{fontSize:11,marginTop:3,color:"var(--green, #27ae60)"},children:["Decision: ",a.decision]})]},a.meeting_id))}),!r&&!i&&!o&&c.jsx(Nf,{children:"No communication activity yet."})]})}function M8({role:e,selectedPath:t,onSelectMessage:n}){const[r,i]=j.useState(!0),o=e.unread_count>0||(e.recent_seen?.length??0)>0||(e.recent_outbox?.length??0)>0,[a,u]=j.useState(e.unread_count>0?"unread":"history"),d=j.useMemo(()=>{switch(a){case"unread":return e.recent_unread||[];case"history":return e.recent_seen||[];case"sent":return e.recent_outbox||[];default:return[]}},[a,e.recent_unread,e.recent_seen,e.recent_outbox]),m=e.role_id.replace(/_/g," ").replace(/\b\w/g,p=>p.toUpperCase());return c.jsxs("div",{style:{marginBottom:2},children:[c.jsxs("div",{onClick:()=>i(p=>!p),style:{display:"flex",alignItems:"center",gap:8,padding:"6px 12px",cursor:"pointer",userSelect:"none",background:r?"var(--surface-hover, rgba(255,255,255,0.03))":"transparent",borderRadius:4},children:[c.jsx("span",{style:{fontSize:10,width:10},children:r?"โ–ผ":"โ–ถ"}),c.jsx("span",{style:{flex:1,fontWeight:600,fontSize:12},children:m}),e.has_blocking&&c.jsx(gu,{color:"var(--red, #e74c3c)",children:"BLOCKING"}),e.unread_count>0&&c.jsxs(gu,{color:"var(--accent, #3498db)",children:[e.unread_count," new"]}),c.jsxs("span",{style:{fontSize:11,color:"var(--text-dim, #666)"},children:[e.seen_count," read ยท ",e.outbox_count," sent"]})]}),r&&o&&c.jsxs("div",{style:{paddingLeft:12},children:[c.jsxs("div",{style:{display:"flex",gap:2,padding:"4px 0",borderBottom:"1px solid var(--border, #333)",marginBottom:4},children:[c.jsxs(Rg,{active:a==="unread",onClick:()=>u("unread"),children:["Unread (",e.unread_count,")"]}),c.jsxs(Rg,{active:a==="history",onClick:()=>u("history"),children:["Read (",e.recent_seen?.length??0,")"]}),c.jsxs(Rg,{active:a==="sent",onClick:()=>u("sent"),children:["Sent (",e.recent_outbox?.length??0,")"]})]}),d.length===0?c.jsx("div",{style:{padding:"8px 0",fontSize:11,color:"var(--text-dim, #666)"},children:"No messages."}):c.jsx("div",{style:{maxHeight:280,overflow:"auto"},children:d.map(p=>c.jsx(D8,{message:p,selected:p.path===t,onClick:()=>n(p.path)},p.message_id))})]})]})}function D8({message:e,selected:t,onClick:n}){const i=e.bucket==="sent"?`To: ${e.to||"?"}`:`From: ${e.from}`;return c.jsx("div",{onClick:n,style:{padding:"5px 8px",marginBottom:2,background:t?"var(--accent-soft, #2c4a6b)":"transparent",cursor:"pointer",borderRadius:4,borderLeft:e.blocking?"3px solid var(--red, #e74c3c)":"3px solid transparent",transition:"background 0.1s"},children:c.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[c.jsxs("span",{style:{fontSize:11,color:"var(--text-secondary, #aaa)",minWidth:0,flex:1},children:[c.jsx("strong",{children:i})," ",c.jsx("span",{style:{color:"var(--text, #ddd)"},children:e.subject})]}),e.blocking&&c.jsx("span",{style:{fontSize:9,color:"var(--red, #e74c3c)",fontWeight:700},children:"BLK"}),c.jsx("span",{style:{fontSize:10,color:"var(--text-dim, #666)",flexShrink:0},children:e.sent_at?.slice(11,19)||""})]})})}function O8({message:e,onClose:t}){return c.jsxs("div",{style:{margin:"8px 12px 12px",padding:12,border:"1px solid var(--border, #444)",borderRadius:6,background:"var(--bg-secondary, #262626)",maxHeight:400,overflow:"auto"},children:[c.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[c.jsx("strong",{style:{flex:1,fontSize:13},children:e.header.subject||"(no subject)"}),c.jsx("button",{onClick:t,style:{background:"var(--surface, #333)",border:"1px solid var(--border, #444)",color:"var(--text-secondary, #aaa)",fontSize:11,padding:"2px 10px",cursor:"pointer",borderRadius:4},children:"Close"})]}),c.jsxs("div",{style:{fontSize:11,color:"var(--text-secondary, #999)",marginBottom:8,display:"flex",gap:8,flexWrap:"wrap"},children:[c.jsxs("span",{children:["From: ",c.jsx("strong",{children:e.header.from||"?"})]}),c.jsxs("span",{children:["To: ",c.jsx("strong",{children:e.header.to||"?"})]}),c.jsx("span",{children:e.header.sent_at||""}),e.header.blocking&&c.jsx(gu,{color:"var(--red, #e74c3c)",children:"BLOCKING"})]}),c.jsx("pre",{style:{margin:0,fontSize:12,whiteSpace:"pre-wrap",wordBreak:"break-word",color:"var(--text, #ddd)",lineHeight:1.5},children:e.body})]})}function Tg({title:e,children:t}){return c.jsxs("div",{style:{marginBottom:4},children:[c.jsx("div",{style:{fontSize:10,textTransform:"uppercase",letterSpacing:.6,fontWeight:700,color:"var(--text-dim, #777)",padding:"8px 12px 4px"},children:e}),t]})}function gu({color:e,children:t}){return c.jsx("span",{style:{background:e,color:"white",borderRadius:10,padding:"1px 7px",fontSize:10,fontWeight:600,whiteSpace:"nowrap"},children:t})}function Rg({active:e,onClick:t,children:n}){return c.jsx("button",{onClick:t,style:{background:e?"var(--accent-soft, #2c4a6b)":"transparent",border:"none",color:e?"var(--text, #ddd)":"var(--text-secondary, #999)",fontSize:11,padding:"3px 10px",cursor:"pointer",borderRadius:4,fontWeight:e?600:400},children:n})}function Nf({children:e}){return c.jsx("div",{style:{padding:"20px 16px",fontSize:12,color:"var(--text-secondary, #888)",textAlign:"center"},children:e})}function Ua(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function Ga(e){return Array.isArray(e)?e.filter(t=>t&&typeof t=="object"&&!Array.isArray(t)):[]}function yi(e,t="Pending"){return String(e??"").trim()||t}function Ac(e,t="Team"){const n=String(e??"").trim();return n?n.replace(/[_-]+/g," ").replace(/\b\w/g,r=>r.toUpperCase()):t}function GS(e){return yi(e,"idle").toLowerCase().replace(/[\s_]+/g,"-")}function L8({orgInfoData:e,recoveryStatus:t,commsState:n,onStopRun:r,embedded:i=!1}){const o=j.useMemo(()=>zm(e??null),[e]),a=o.projectRun,u=o.seatDigests,d=u.reduce((_,w)=>{const C=Ua(w.manager_digest);return _+Ga(C.pending_decisions).length},0),m=u.reduce((_,w)=>_+Ga(Ua(w.manager_digest).actionable_chat).length,0),p=u.reduce((_,w)=>_+Ga(Ua(w.manager_digest).protocol_backlog).length,0),h=u.reduce((_,w)=>_+Ga(Ua(w.manager_digest).notification_backlog).length,0),g=m+p+h,y=Array.isArray(t?.interrupted)?t.interrupted.length:0,v=[{label:"Actionable",value:m},{label:"Protocol",value:p},{label:"Notifications",value:h},{label:"Meetings",value:n?.meetings?.length??0},{label:"Failures",value:n?.recent_failures?.length??0}],k=j.useMemo(()=>{const _=new Map;for(const N of u){const O=String(N.seat_id??"").trim();O&&_.set(O,Ua(N.manager_digest))}const w=o.runtimeTeams.map(N=>{const O=[String(N.cell_id??"").trim(),String(N.team_id??"").trim(),String(N.team_instance_id??"").trim()].filter(Boolean),I=o.runtimeSeats.filter(L=>O.includes(String(L.team_id??"").trim())||O.includes(String(L.team_instance_id??"").trim())),D=I.reduce((L,A)=>{const M=_.get(String(A.seat_id??"").trim())??{};return L+Ga(M.pending_decisions).length},0),T=I.map(L=>yi(L.latest_notification?.subject??L.latest_notification?.summary,"")).find(Boolean);return{key:String(N.cell_id??N.team_id??N.team_instance_id??N.manager_role_id??"team"),label:Ac(N.team_id??N.cell_id,"Team"),managerLabel:Ac(N.manager_role_id,"Unassigned manager"),status:yi(N.status,"idle"),seatCount:I.length||N.member_role_ids.length,pendingApprovals:D,latestAlert:T,seats:I.map(L=>({key:String(L.seat_id??L.role_session_id??L.role_id),roleLabel:Ac(L.role_id,"Seat"),seatLabel:yi(L.seat_id??L.role_session_id,"Seat"),status:yi(L.resident_status??L.status,"idle")}))}}),C=new Set(w.flatMap(N=>N.seats.map(O=>O.key)));for(const N of o.runtimeSeats){const O=String(N.seat_id??N.role_session_id??N.role_id).trim();if(!O||C.has(O))continue;const I=String(N.team_id??N.team_instance_id??"unassigned").trim()||"unassigned";let D=w.find(L=>L.key===I);D||(D={key:I,label:Ac(I,"Unassigned Team"),managerLabel:"Unassigned manager",status:yi(N.status,"idle"),seatCount:0,pendingApprovals:0,seats:[]},w.push(D));const T=_.get(String(N.seat_id??"").trim())??{};D.pendingApprovals+=Ga(T.pending_decisions).length,D.latestAlert||(D.latestAlert=yi(N.latest_notification?.subject??N.latest_notification?.summary,"")),D.seats.push({key:O,roleLabel:Ac(N.role_id,"Seat"),seatLabel:yi(N.seat_id??N.role_session_id,"Seat"),status:yi(N.resident_status??N.status,"idle")}),D.seatCount=D.seats.length}return w.sort((N,O)=>N.label.localeCompare(O.label))},[o.runtimeTeams,o.runtimeSeats,u]),S=k.map(_=>_.latestAlert).find(Boolean)||"No current alerts";return!a?.run_id&&k.length===0?null:c.jsxs("section",{className:`project-cockpit${i?" embedded":""}`,"aria-label":"Team",children:[c.jsxs("div",{className:"project-cockpit-overview",children:[c.jsxs("div",{className:"project-cockpit-title",children:[c.jsx("span",{className:"project-cockpit-label",children:"Team"}),c.jsx("strong",{children:yi(a?.run_id,"Runtime Team Status")}),r&&c.jsx("button",{className:"project-cockpit-stop-btn",onClick:r,title:"Stop this run",children:"Stop"})]}),c.jsxs("div",{className:"project-cockpit-metrics",children:[c.jsx("span",{children:yi(a?.lifecycle_status,"active")}),c.jsxs("span",{children:["Teams ",k.length]}),c.jsxs("span",{children:["Seats ",o.runtimeSeats.length]}),c.jsxs("span",{children:["Approvals ",d]}),c.jsxs("span",{children:["Unread ",g]}),c.jsxs("span",{children:["Recovery ",y>0?`${y} interrupted`:yi(Ua(a?.recovery_pointer).status,"clean")]})]})]}),c.jsxs("div",{className:"project-cockpit-grid project-cockpit-grid--team",children:[c.jsxs("section",{className:"project-cockpit-panel",children:[c.jsxs("header",{children:[c.jsx("h3",{children:"Communication"}),c.jsx("span",{children:v.length})]}),c.jsxs("div",{className:"project-cockpit-summary",children:[v.map(_=>c.jsxs("span",{children:[_.label," ",_.value]},_.label)),c.jsx("div",{className:"project-cockpit-inline-text",children:S})]})]}),c.jsxs("section",{className:"project-cockpit-panel project-cockpit-panel--wide",children:[c.jsxs("header",{children:[c.jsx("h3",{children:"Teams"}),c.jsx("span",{children:k.length})]}),c.jsx("div",{className:"project-cockpit-team-grid",children:k.map(_=>c.jsxs("article",{className:"project-cockpit-team-card",children:[c.jsxs("div",{className:"project-cockpit-team-head",children:[c.jsxs("div",{className:"project-cockpit-team-title",children:[c.jsx("strong",{children:_.label}),c.jsx("span",{children:_.managerLabel})]}),c.jsx("span",{className:`project-cockpit-team-status status-${GS(_.status)}`,children:_.status})]}),c.jsxs("div",{className:"project-cockpit-team-meta",children:[c.jsxs("span",{children:["Seats ",_.seatCount]}),c.jsxs("span",{children:["Approvals ",_.pendingApprovals]}),_.latestAlert&&c.jsx("span",{children:_.latestAlert})]}),c.jsx("div",{className:"project-cockpit-seat-list",children:_.seats.length>0?_.seats.map(w=>c.jsxs("div",{className:"project-cockpit-seat-row",children:[c.jsx("span",{className:"project-cockpit-seat-role",children:w.roleLabel}),c.jsx("span",{className:"project-cockpit-seat-id",children:w.seatLabel}),c.jsx("span",{className:`project-cockpit-seat-status status-${GS(w.status)}`,children:w.status})]},w.key)):c.jsx("div",{className:"project-cockpit-inline-text",children:"No seats assigned yet"})})]},_.key))})]})]})]})}function z8(e){const t=Date.now()-e;return t<6e4?"just now":t<36e5?`${Math.floor(t/6e4)}m ago`:t<864e5?`${Math.floor(t/36e5)}h ago`:`${Math.floor(t/864e5)}d ago`}const qS={running:{color:"var(--green)",label:"Running"},idle:{color:"var(--accent)",label:"Idle"},done:{color:"var(--green)",label:"Done"},pending:{color:"var(--text-secondary)",label:"Pending"},failed:{color:"var(--red)",label:"Failed"},cancelled:{color:"var(--text-secondary)",label:"Cancelled"},blocked:{color:"var(--yellow)",label:"Blocked"},awaiting_human:{color:"var(--yellow)",label:"Waiting for review"},awaiting_manager_review:{color:"var(--yellow)",label:"Manager review"},awaiting_review:{color:"var(--yellow)",label:"Waiting for review"},awaiting_peer:{color:"var(--yellow)",label:"Waiting for peer"}},P8=new Set(["awaiting_human","awaiting_manager_review","awaiting_review","awaiting_peer"]),WS={native:"Native",codex:"Codex",claude_code:"Claude Code",cursor:"Cursor",opencode:"OpenCode"};function B8({session:e,agents:t,onTitleChange:n,onViewOnBoard:r,onStop:i,onComplete:o,onResume:a}){const[u,d]=j.useState(!1),[m,p]=j.useState(e.title),h=j.useRef(null);j.useEffect(()=>{u||p(e.title)},[e.title,u]);const g=j.useCallback(()=>{const G=m.trim();G&&G!==e.title?n(e.taskId,G):p(e.title),d(!1)},[m,e.title,e.taskId,n]),y=j.useCallback(()=>{p(e.title),d(!0),setTimeout(()=>h.current?.select(),0)},[e.title]),v=e.assigneeIds.map(G=>t.find(J=>J.agent_id===G)).filter(Boolean),k=String(e.execMode??"").trim().toLowerCase(),S=k==="company"||k==="org"||k==="custom"||!!e.isCompanyRuntime||!!e.workItemProjectionId||!!e.workItemRoleId||!!e.workItemRoleName,_=v.length>0&&!S,w=e.runtimeControlState??(e.status==="running"?"running":"idle"),C=w==="suspending",N=w==="resuming",O=w==="suspended",I=e.status==="running"&&!C&&!O&&!N,D=P8.has(e.status),T=(e.canStop??e.status==="running")&&!C&&!O&&!N,L=(e.canResume??(O||!D&&!I&&e.status!=="done"&&e.status!=="pending"))&&!C&&!N,A=qS[e.status]??qS.pending,M=C?"Stopping":O?"Suspended":N?"Resuming":A.label,$=gl(e),W=Nm(e),B=Ki(e),U=e.displayTool||e.currentTool,[H,V]=j.useState(U||void 0);j.useEffect(()=>{if(!I){V(void 0);return}U&&V(U)},[I,U]);const Y=typeof e.pendingPermissionCount=="number"&&e.pendingPermissionCount>0,Q=Y,q=C?"var(--yellow)":O?"var(--text-secondary)":W==="tool_active"?"var(--green)":W==="reflecting"?"var(--yellow)":A.color;return c.jsxs("div",{className:"task-header-shell",children:[c.jsxs("div",{className:"task-header-bar",children:[c.jsxs("div",{className:"task-header-left",children:[u?c.jsx("input",{ref:h,className:"task-title-input",value:m,onChange:G=>p(G.target.value),onBlur:g,onKeyDown:G=>{G.key==="Enter"&&g(),G.key==="Escape"&&(p(e.title),d(!1))}}):c.jsx("span",{className:"task-title",onClick:y,title:"Click to edit",children:e.title}),c.jsxs("span",{className:"task-status-pill","data-status":e.status,"data-working":B?"true":"false",children:[c.jsx("span",{className:"task-status-dot",style:{background:q}}),M]}),I&&H&&c.jsxs("span",{className:"task-tool-pill",children:[c.jsx(wm,{}),c.jsx("code",{children:H}),e.currentTool&&typeof e.toolElapsedMs=="number"&&e.toolElapsedMs>0&&c.jsxs("span",{children:[e.toolElapsedMs,"ms"]})]}),e.lastToolSummary&&c.jsx("span",{className:"task-projection-pill",title:e.lastToolSummary,children:e.lastToolSummary.slice(0,48)}),$&&c.jsx("span",{className:"task-role-pill",title:`Role: ${$}`,children:$}),e.employeeAssignment?.name&&c.jsxs("span",{className:"task-employee-pill",title:`Employee: ${e.employeeAssignment.name}${e.employeeAssignment.category?` (${e.employeeAssignment.category})`:""}`,children:[c.jsx("span",{className:"task-employee-icon",children:"๐Ÿ‘ค"}),e.employeeAssignment.name]}),e.selectedExecutionAgent&&c.jsxs("span",{className:"task-agent-pill",title:`Execution Agent: ${WS[e.selectedExecutionAgent]??e.selectedExecutionAgent}`,children:[c.jsx("span",{className:"task-agent-icon",children:"โš™"}),WS[e.selectedExecutionAgent]??e.selectedExecutionAgent]})]}),c.jsxs("div",{className:"task-header-right",children:[_&&c.jsx("div",{className:"task-header-avatars",children:v.slice(0,3).map(G=>c.jsx("span",{className:"task-header-avatar",title:G.name,children:G.name.charAt(0).toUpperCase()},G.agent_id))}),c.jsx("span",{className:"task-header-time",title:new Date(e.createdAt).toLocaleString(),children:z8(e.createdAt)}),(T||C)&&i&&c.jsxs("button",{className:"task-stop-btn",onClick:i,title:"Stop task",disabled:!T,children:[c.jsx(Wj,{}),c.jsx("span",{children:C?"Stopping...":"Stop"})]}),L&&a&&e.status!=="done"&&c.jsx("button",{className:"task-resume-btn",onClick:a,title:"Resume prior runtime (re-awaken original team, no new plan)",children:c.jsx("span",{children:"Continue"})}),o&&c.jsxs("button",{className:"task-done-btn",onClick:o,title:"Mark task as done",children:[c.jsx(Nl,{}),c.jsx("span",{children:"Done"})]}),r&&c.jsx("button",{className:"task-board-btn",onClick:r,title:"View on Board",children:c.jsx(_4,{})})]})]}),Q&&c.jsx("div",{className:"task-header-metrics",children:Y&&c.jsxs("div",{className:"task-runtime-metric task-runtime-metric-approval",title:"Pending approvals",children:[c.jsx("span",{className:"task-runtime-metric-label",children:"Approvals"}),c.jsx("span",{className:"task-runtime-metric-value",children:e.pendingPermissionCount})]})})]})}function Ei(e){return String(e??"").trim().replace(/\s+/g," ").slice(0,96)}function uN(e,t=0){const n=e.itemId||e.streamId||e.toolCallId||e.permissionGroupKey;return n?`${e.type}:${Ei(e.turnId)}:${Ei(n)}`:e.type==="thinking"?`thinking:${Ei(e.turnId)||Ei(e.executionMode)||Ei(e.summary)||"stream"}:${t}`:e.type==="tool_call"&&e.turnId?`tool:${Ei(e.turnId)}:${Ei(e.summary)||"tool"}:${t}`:e.turnId&&typeof e.seq=="number"?`${e.type}:${Ei(e.turnId)}:seq:${e.seq}`:[e.type,Ei(e.turnId),Number.isFinite(e.timestamp)?e.timestamp:"",Ei(e.summary),Ei(e.detail),t].join(":")}const $8=new Set(["done","failed","cancelled"]),YS=new Set(["thinking","tool_call","autonomy","needs_input","verification"]),em={thinking:{icon:c.jsx(p4,{}),color:"var(--accent)",label:"Thinking"},assistant:{icon:c.jsx(co,{}),color:"var(--accent)",label:"Reply"},tool_call:{icon:c.jsx(wm,{}),color:"var(--green)",label:"Tool"},autonomy:{icon:c.jsx(au,{}),color:"var(--yellow)",label:"Autonomy"},handoff:{icon:c.jsx(Xj,{}),color:"var(--accent)",label:"Handoff"},gate_result:{icon:c.jsx(k4,{}),color:"var(--green)",label:"Gate"},status_change:{icon:c.jsx(Kk,{}),color:"var(--text-secondary)",label:"Status"},work_item_started:{icon:c.jsx(jm,{}),color:"var(--accent)",label:"Work item"},gate_approved:{icon:c.jsx(S4,{}),color:"var(--green)",label:"Gate Passed"},gate_rejected:{icon:c.jsx(w4,{}),color:"var(--red)",label:"Rejected"},awaiting_manager_review:{icon:c.jsx(Nc,{}),color:"var(--yellow)",label:"Awaiting Manager Review"},awaiting_human:{icon:c.jsx(Nc,{}),color:"var(--yellow)",label:"Awaiting Human Review"},awaiting_review:{icon:c.jsx(Nc,{}),color:"var(--yellow)",label:"Awaiting Review"},awaiting_peer:{icon:c.jsx(Nc,{}),color:"var(--yellow)",label:"Awaiting Peer"},work_item_failed:{icon:c.jsx(Kk,{}),color:"var(--red)",label:"Failed"},deadlock:{icon:c.jsx(Pf,{}),color:"var(--red)",label:"Deadlock"},needs_input:{icon:c.jsx(Nc,{}),color:"var(--yellow)",label:"Needs Input"},verification:{icon:c.jsx(au,{}),color:"var(--accent)",label:"Verification"}},Ag=5;function Mc(e){const t=Math.floor((Date.now()-e)/1e3);if(t<5)return"just now";if(t<60)return`${t}s ago`;const n=Math.floor(t/60);return n<60?`${n}m ago`:`${Math.floor(n/60)}h ago`}function If(e){if(typeof e=="string"){const t=e.trim();if(t.startsWith("{")&&t.endsWith("}")||t.startsWith("[")&&t.endsWith("]"))try{return If(JSON.parse(t))}catch{return e}return e}return Array.isArray(e)?e.map(If):e&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([t,n])=>[t,If(n)])):e}function H8(e){const t=e.trim();if(!t||!t.startsWith("{")&&!t.startsWith("["))return e;try{return JSON.stringify(If(JSON.parse(t)),null,2)}catch{return e}}function Wo({entries:e,agentStatus:t,currentTool:n,toolElapsedMs:r,lastToolSummary:i,sessionStatus:o,expandedByDefault:a}){const[u,d]=j.useState(!!a),m=!!o&&$8.has(o),p=!m&&t==="reflecting",h=!m&&t==="tool_active",g=p||h,y=j.useMemo(()=>e,[e]),v=j.useMemo(()=>u||y.length<=Ag?y:y.slice(-Ag),[y,u]),k=y.length-v.length;return y.length===0&&!g&&!m?null:c.jsxs("div",{className:"ptl-block",children:[g&&c.jsxs("div",{className:`ptl-live ${h?"ptl-live-tool":"ptl-live-think"}`,children:[c.jsx("span",{className:"ptl-live-icon",children:h?c.jsx(wm,{}):c.jsx(co,{})}),c.jsx("span",{className:"ptl-live-text",children:h?"Running":"Thinking"}),h&&n&&c.jsx("code",{className:"ptl-live-tool-name",children:n}),h&&typeof r=="number"&&r>0&&c.jsx("span",{className:"ptl-live-elapsed",children:r<1e3?`${r}ms`:`${(r/1e3).toFixed(1)}s`}),c.jsx("span",{className:"ptl-live-shimmer"})]}),i&&!h&&c.jsxs("div",{className:"ptl-last-tool-summary",children:[c.jsx("span",{className:"ptl-last-tool-label",children:"Last tool result:"}),c.jsx("span",{className:"ptl-last-tool-text",children:i})]}),k>0&&c.jsxs("button",{className:"ptl-expand",onClick:()=>d(!0),children:[c.jsx(Yi,{}),c.jsxs("span",{children:[k," earlier step",k>1?"s":""]})]}),v.length>0&&c.jsx("div",{className:"ptl-timeline",children:v.map((S,_)=>{const w=_===v.length-1,C=em[S.type]||em.status_change;return c.jsxs("div",{className:`ptl-entry${w?" ptl-entry-last":""}`,children:[c.jsxs("div",{className:"ptl-connector",children:[c.jsx("div",{className:"ptl-dot",style:{color:C.color},children:C.icon}),!w&&c.jsx("div",{className:"ptl-line"})]}),c.jsx("div",{className:"ptl-content",children:c.jsx(dN,{entry:S})})]},uN(S,k+_))})}),m&&!g&&c.jsxs("div",{className:`ptl-completion ptl-completion-${o}`,children:[c.jsx("span",{className:"ptl-completion-icon",children:o==="done"?"โœ“":o==="failed"?"โœ—":"โ€”"}),c.jsx("span",{className:"ptl-completion-text",children:o==="done"?"Completed":o==="failed"?"Failed":"Cancelled"})]}),u&&y.length>Ag&&c.jsxs("button",{className:"ptl-expand",onClick:()=>d(!1),children:[c.jsx(Yi,{down:!0}),c.jsx("span",{children:"Show less"})]}),!u&&k>0&&c.jsxs("button",{className:"ptl-expand",onClick:()=>d(!0),children:[c.jsx(Yi,{}),c.jsxs("span",{children:["Show more (",k," earlier step",k>1?"s":"",")"]})]})]})}const dN=St.memo(function({entry:t}){const[n,r]=j.useState(!1),i=em[t.type]||em.status_change,o=t.type==="tool_call"&&!!t.detail;if(t.type==="tool_call")return c.jsxs("div",{className:`ptl-tool-card${n?" expanded":""}`,children:[c.jsxs("button",{className:`ptl-row ptl-tool-toggle${o?" clickable":""}`,onClick:()=>{o&&r(a=>!a)},type:"button",children:[c.jsx("span",{className:"ptl-label",style:{color:i.color},children:i.label}),c.jsx("code",{className:"ptl-tool-badge",children:t.summary}),c.jsx("span",{className:"ptl-time",children:Mc(t.timestamp)}),o&&c.jsx("span",{className:"ptl-tool-chevron",children:c.jsx(Yi,{down:n})})]}),n&&t.detail&&c.jsx("pre",{className:"ptl-tool-card-detail",children:H8(t.detail)})]});if(t.type==="autonomy"){const a=!!t.detail;return c.jsxs("div",{className:`ptl-tool-card ptl-autonomy-card${n?" expanded":""}`,children:[c.jsxs("button",{className:`ptl-row ptl-tool-toggle${a?" clickable":""}`,onClick:()=>{a&&r(u=>!u)},type:"button",children:[c.jsx("span",{className:"ptl-label",style:{color:i.color},children:i.label}),c.jsx("code",{className:"ptl-tool-badge",children:t.summary}),c.jsx("span",{className:"ptl-time",children:Mc(t.timestamp)}),a&&c.jsx("span",{className:"ptl-tool-chevron",children:c.jsx(Yi,{down:n})})]}),n&&t.detail&&c.jsx("div",{className:"ptl-tool-card-detail ptl-autonomy-detail",children:t.detail})]})}if(t.type==="thinking"||t.type==="assistant")return c.jsxs("div",{className:"ptl-tool-card",children:[c.jsxs("button",{className:"ptl-row ptl-tool-toggle clickable",onClick:()=>r(a=>!a),type:"button",children:[c.jsx("span",{className:"ptl-label",style:{color:i.color},children:i.label}),c.jsx("span",{className:"ptl-summary",children:t.summary}),c.jsx("span",{className:"ptl-time",children:Mc(t.timestamp)}),c.jsx("span",{className:"ptl-tool-chevron",children:c.jsx(Yi,{down:n})})]}),n&&c.jsx("div",{className:"ptl-tool-card-detail ptl-thinking-detail",children:t.detail||t.summary})]});if(t.type==="verification"){const a=!!t.detail;return c.jsxs("div",{className:`ptl-tool-card ptl-verification-card${n?" expanded":""}`,children:[c.jsxs("button",{className:`ptl-row ptl-tool-toggle${a?" clickable":""}`,onClick:()=>{a&&r(u=>!u)},type:"button",children:[c.jsx("span",{className:"ptl-label",style:{color:i.color},children:i.label}),c.jsx("span",{className:"ptl-summary",children:t.summary||"Verification"}),c.jsx("span",{className:"ptl-time",children:Mc(t.timestamp)}),a&&c.jsx("span",{className:"ptl-tool-chevron",children:c.jsx(Yi,{down:n})})]}),n&&t.detail&&c.jsx("div",{className:"ptl-tool-card-detail ptl-verification-detail",children:t.detail})]})}return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"ptl-row",children:[c.jsx("span",{className:"ptl-label",style:{color:i.color},children:i.label}),c.jsx("span",{className:"ptl-summary",children:t.summary}),c.jsx("span",{className:"ptl-time",children:Mc(t.timestamp)})]}),t.detail&&c.jsx("div",{className:"ptl-detail",children:t.detail})]})});function F8(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const V8=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,U8=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,G8={};function XS(e,t){return(G8.jsx?U8:V8).test(e)}const q8=/[ \t\n\f\r]/g;function W8(e){return typeof e=="object"?e.type==="text"?KS(e.value):!1:KS(e)}function KS(e){return e.replace(q8,"")===""}class Ru{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}Ru.prototype.normal={};Ru.prototype.property={};Ru.prototype.space=void 0;function fN(e,t){const n={},r={};for(const i of e)Object.assign(n,i.property),Object.assign(r,i.normal);return new Ru(n,r,t)}function By(e){return e.toLowerCase()}class Fr{constructor(t,n){this.attribute=n,this.property=t}}Fr.prototype.attribute="";Fr.prototype.booleanish=!1;Fr.prototype.boolean=!1;Fr.prototype.commaOrSpaceSeparated=!1;Fr.prototype.commaSeparated=!1;Fr.prototype.defined=!1;Fr.prototype.mustUseProperty=!1;Fr.prototype.number=!1;Fr.prototype.overloadedBoolean=!1;Fr.prototype.property="";Fr.prototype.spaceSeparated=!1;Fr.prototype.space=void 0;let Y8=0;const jt=na(),Yn=na(),$y=na(),De=na(),xn=na(),sl=na(),Kr=na();function na(){return 2**++Y8}const Hy=Object.freeze(Object.defineProperty({__proto__:null,boolean:jt,booleanish:Yn,commaOrSpaceSeparated:Kr,commaSeparated:sl,number:De,overloadedBoolean:$y,spaceSeparated:xn},Symbol.toStringTag,{value:"Module"})),Mg=Object.keys(Hy);class ev extends Fr{constructor(t,n,r,i){let o=-1;if(super(t,n),ZS(this,"space",i),typeof r=="number")for(;++o4&&n.slice(0,4)==="data"&&J8.test(t)){if(t.charAt(4)==="-"){const o=t.slice(5).replace(QS,nz);r="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{const o=t.slice(4);if(!QS.test(o)){let a=o.replace(Q8,tz);a.charAt(0)!=="-"&&(a="-"+a),t="data"+a}}i=ev}return new i(r,t)}function tz(e){return"-"+e.toLowerCase()}function nz(e){return e.charAt(1).toUpperCase()}const rz=fN([mN,X8,gN,xN,yN],"html"),tv=fN([mN,K8,gN,xN,yN],"svg");function iz(e){return e.join(" ").trim()}var qa={},Dg,JS;function sz(){if(JS)return Dg;JS=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,n=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,o=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,a=/^[;\s]*/,u=/^\s+|\s+$/g,d=` +`,m="/",p="*",h="",g="comment",y="declaration";function v(S,_){if(typeof S!="string")throw new TypeError("First argument must be a string");if(!S)return[];_=_||{};var w=1,C=1;function N(B){var U=B.match(t);U&&(w+=U.length);var H=B.lastIndexOf(d);C=~H?B.length-H:C+B.length}function O(){var B={line:w,column:C};return function(U){return U.position=new I(B),L(),U}}function I(B){this.start=B,this.end={line:w,column:C},this.source=_.source}I.prototype.content=S;function D(B){var U=new Error(_.source+":"+w+":"+C+": "+B);if(U.reason=B,U.filename=_.source,U.line=w,U.column=C,U.source=S,!_.silent)throw U}function T(B){var U=B.exec(S);if(U){var H=U[0];return N(H),S=S.slice(H.length),U}}function L(){T(n)}function A(B){var U;for(B=B||[];U=M();)U!==!1&&B.push(U);return B}function M(){var B=O();if(!(m!=S.charAt(0)||p!=S.charAt(1))){for(var U=2;h!=S.charAt(U)&&(p!=S.charAt(U)||m!=S.charAt(U+1));)++U;if(U+=2,h===S.charAt(U-1))return D("End of comment missing");var H=S.slice(2,U-2);return C+=2,N(H),S=S.slice(U),C+=2,B({type:g,comment:H})}}function $(){var B=O(),U=T(r);if(U){if(M(),!T(i))return D("property missing ':'");var H=T(o),V=B({type:y,property:k(U[0].replace(e,h)),value:H?k(H[0].replace(e,h)):h});return T(a),V}}function W(){var B=[];A(B);for(var U;U=$();)U!==!1&&(B.push(U),A(B));return B}return L(),W()}function k(S){return S?S.replace(u,h):h}return Dg=v,Dg}var ew;function oz(){if(ew)return qa;ew=1;var e=qa&&qa.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(qa,"__esModule",{value:!0}),qa.default=n;const t=e(sz());function n(r,i){let o=null;if(!r||typeof r!="string")return o;const a=(0,t.default)(r),u=typeof i=="function";return a.forEach(d=>{if(d.type!=="declaration")return;const{property:m,value:p}=d;u?i(m,p,d):p&&(o=o||{},o[m]=p)}),o}return qa}var Dc={},tw;function az(){if(tw)return Dc;tw=1,Object.defineProperty(Dc,"__esModule",{value:!0}),Dc.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,t=/-([a-z])/g,n=/^[^-]+$/,r=/^-(webkit|moz|ms|o|khtml)-/,i=/^-(ms)-/,o=function(m){return!m||n.test(m)||e.test(m)},a=function(m,p){return p.toUpperCase()},u=function(m,p){return"".concat(p,"-")},d=function(m,p){return p===void 0&&(p={}),o(m)?m:(m=m.toLowerCase(),p.reactCompat?m=m.replace(i,u):m=m.replace(r,u),m.replace(t,a))};return Dc.camelCase=d,Dc}var Oc,nw;function lz(){if(nw)return Oc;nw=1;var e=Oc&&Oc.__importDefault||function(i){return i&&i.__esModule?i:{default:i}},t=e(oz()),n=az();function r(i,o){var a={};return!i||typeof i!="string"||(0,t.default)(i,function(u,d){u&&d&&(a[(0,n.camelCase)(u,o)]=d)}),a}return r.default=r,Oc=r,Oc}var cz=lz();const uz=ta(cz),vN=bN("end"),nv=bN("start");function bN(e){return t;function t(n){const r=n&&n.position&&n.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function dz(e){const t=nv(e),n=vN(e);if(t&&n)return{start:t,end:n}}function Jc(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?rw(e.position):"start"in e||"end"in e?rw(e):"line"in e||"column"in e?Fy(e):""}function Fy(e){return iw(e&&e.line)+":"+iw(e&&e.column)}function rw(e){return Fy(e&&e.start)+"-"+Fy(e&&e.end)}function iw(e){return e&&typeof e=="number"?e:1}class Cr extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let i="",o={},a=!1;if(n&&("line"in n&&"column"in n?o={place:n}:"start"in n&&"end"in n?o={place:n}:"type"in n?o={ancestors:[n],place:n.position}:o={...n}),typeof t=="string"?i=t:!o.cause&&t&&(a=!0,i=t.message,o.cause=t),!o.ruleId&&!o.source&&typeof r=="string"){const d=r.indexOf(":");d===-1?o.ruleId=r:(o.source=r.slice(0,d),o.ruleId=r.slice(d+1))}if(!o.place&&o.ancestors&&o.ancestors){const d=o.ancestors[o.ancestors.length-1];d&&(o.place=d.position)}const u=o.place&&"start"in o.place?o.place.start:o.place;this.ancestors=o.ancestors||void 0,this.cause=o.cause||void 0,this.column=u?u.column:void 0,this.fatal=void 0,this.file="",this.message=i,this.line=u?u.line:void 0,this.name=Jc(o.place)||"1:1",this.place=o.place||void 0,this.reason=this.message,this.ruleId=o.ruleId||void 0,this.source=o.source||void 0,this.stack=a&&o.cause&&typeof o.cause.stack=="string"?o.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Cr.prototype.file="";Cr.prototype.name="";Cr.prototype.reason="";Cr.prototype.message="";Cr.prototype.stack="";Cr.prototype.column=void 0;Cr.prototype.line=void 0;Cr.prototype.ancestors=void 0;Cr.prototype.cause=void 0;Cr.prototype.fatal=void 0;Cr.prototype.place=void 0;Cr.prototype.ruleId=void 0;Cr.prototype.source=void 0;const rv={}.hasOwnProperty,fz=new Map,mz=/[A-Z]/g,hz=new Set(["table","tbody","thead","tfoot","tr"]),pz=new Set(["td","th"]),_N="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function gz(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let r;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=wz(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=Sz(n,t.jsx,t.jsxs)}const i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?tv:rz,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},o=kN(i,e,void 0);return o&&typeof o!="string"?o:i.create(e,i.Fragment,{children:o||void 0},void 0)}function kN(e,t,n){if(t.type==="element")return xz(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return yz(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return bz(e,t,n);if(t.type==="mdxjsEsm")return vz(e,t);if(t.type==="root")return _z(e,t,n);if(t.type==="text")return kz(e,t)}function xz(e,t,n){const r=e.schema;let i=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(i=tv,e.schema=i),e.ancestors.push(t);const o=wN(e,t.tagName,!1),a=Cz(e,t);let u=sv(e,t);return hz.has(t.tagName)&&(u=u.filter(function(d){return typeof d=="string"?!W8(d):!0})),SN(e,a,o,t),iv(a,u),e.ancestors.pop(),e.schema=r,e.create(t,o,a,n)}function yz(e,t){if(t.data&&t.data.estree&&e.evaluater){const r=t.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}xu(e,t.position)}function vz(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);xu(e,t.position)}function bz(e,t,n){const r=e.schema;let i=r;t.name==="svg"&&r.space==="html"&&(i=tv,e.schema=i),e.ancestors.push(t);const o=t.name===null?e.Fragment:wN(e,t.name,!0),a=jz(e,t),u=sv(e,t);return SN(e,a,o,t),iv(a,u),e.ancestors.pop(),e.schema=r,e.create(t,o,a,n)}function _z(e,t,n){const r={};return iv(r,sv(e,t)),e.create(t,e.Fragment,r,n)}function kz(e,t){return t.value}function SN(e,t,n,r){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=r)}function iv(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function Sz(e,t,n){return r;function r(i,o,a,u){const m=Array.isArray(a.children)?n:t;return u?m(o,a,u):m(o,a)}}function wz(e,t){return n;function n(r,i,o,a){const u=Array.isArray(o.children),d=nv(r);return t(i,o,a,u,{columnNumber:d?d.column-1:void 0,fileName:e,lineNumber:d?d.line:void 0},void 0)}}function Cz(e,t){const n={};let r,i;for(i in t.properties)if(i!=="children"&&rv.call(t.properties,i)){const o=Ez(e,i,t.properties[i]);if(o){const[a,u]=o;e.tableCellAlignToStyle&&a==="align"&&typeof u=="string"&&pz.has(t.tagName)?r=u:n[a]=u}}if(r){const o=n.style||(n.style={});o[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function jz(e,t){const n={};for(const r of t.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){const o=r.data.estree.body[0];o.type;const a=o.expression;a.type;const u=a.properties[0];u.type,Object.assign(n,e.evaluater.evaluateExpression(u.argument))}else xu(e,t.position);else{const i=r.name;let o;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){const u=r.value.data.estree.body[0];u.type,o=e.evaluater.evaluateExpression(u.expression)}else xu(e,t.position);else o=r.value===null?!0:r.value;n[i]=o}return n}function sv(e,t){const n=[];let r=-1;const i=e.passKeys?new Map:fz;for(;++ri?0:i+t:t=t>i?i:t,n=n>0?n:0,r.length<1e4)a=Array.from(r),a.unshift(t,n),e.splice(...a);else for(n&&e.splice(t,n);o0?(ni(e,e.length,0,t),e):t}const aw={}.hasOwnProperty;function jN(e){const t={};let n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"๏ฟฝ":String.fromCodePoint(n)}function Mi(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Rr=yo(/[A-Za-z]/),wr=yo(/[\dA-Za-z]/),Lz=yo(/[#-'*+\--9=?A-Z^-~]/);function tm(e){return e!==null&&(e<32||e===127)}const Vy=yo(/\d/),zz=yo(/[\dA-Fa-f]/),Pz=yo(/[!-/:-@[-`{-~]/);function ut(e){return e!==null&&e<-2}function gn(e){return e!==null&&(e<0||e===32)}function Mt(e){return e===-2||e===-1||e===32}const Pm=yo(new RegExp("\\p{P}|\\p{S}","u")),Yo=yo(/\s/);function yo(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function Ml(e){const t=[];let n=-1,r=0,i=0;for(;++n55295&&o<57344){const u=e.charCodeAt(n+1);o<56320&&u>56319&&u<57344?(a=String.fromCharCode(o,u),i=1):a="๏ฟฝ"}else a=String.fromCharCode(o);a&&(t.push(e.slice(r,n),encodeURIComponent(a)),r=n+i+1,a=""),i&&(n+=i,i=0)}return t.join("")+e.slice(r)}function Ut(e,t,n,r){const i=r?r-1:Number.POSITIVE_INFINITY;let o=0;return a;function a(d){return Mt(d)?(e.enter(n),u(d)):t(d)}function u(d){return Mt(d)&&o++a))return;const D=t.events.length;let T=D,L,A;for(;T--;)if(t.events[T][0]==="exit"&&t.events[T][1].type==="chunkFlow"){if(L){A=t.events[T][1].end;break}L=!0}for(_(r),I=D;IC;){const O=n[N];t.containerState=O[1],O[0].exit.call(t,e)}n.length=C}function w(){i.write([null]),o=void 0,i=void 0,t.containerState._closeFlow=void 0}}function Vz(e,t,n){return Ut(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function yl(e){if(e===null||gn(e)||Yo(e))return 1;if(Pm(e))return 2}function Bm(e,t,n){const r=[];let i=-1;for(;++i1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const h={...e[r][1].end},g={...e[n][1].start};cw(h,-d),cw(g,d),a={type:d>1?"strongSequence":"emphasisSequence",start:h,end:{...e[r][1].end}},u={type:d>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:g},o={type:d>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[n][1].start}},i={type:d>1?"strong":"emphasis",start:{...a.start},end:{...u.end}},e[r][1].end={...a.start},e[n][1].start={...u.end},m=[],e[r][1].end.offset-e[r][1].start.offset&&(m=vi(m,[["enter",e[r][1],t],["exit",e[r][1],t]])),m=vi(m,[["enter",i,t],["enter",a,t],["exit",a,t],["enter",o,t]]),m=vi(m,Bm(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),m=vi(m,[["exit",o,t],["enter",u,t],["exit",u,t],["exit",i,t]]),e[n][1].end.offset-e[n][1].start.offset?(p=2,m=vi(m,[["enter",e[n][1],t],["exit",e[n][1],t]])):p=0,ni(e,r-1,n-r+3,m),n=r+m.length-p-2;break}}for(n=-1;++n0&&Mt(I)?Ut(e,w,"linePrefix",o+1)(I):w(I)}function w(I){return I===null||ut(I)?e.check(uw,k,N)(I):(e.enter("codeFlowValue"),C(I))}function C(I){return I===null||ut(I)?(e.exit("codeFlowValue"),w(I)):(e.consume(I),C)}function N(I){return e.exit("codeFenced"),t(I)}function O(I,D,T){let L=0;return A;function A(U){return I.enter("lineEnding"),I.consume(U),I.exit("lineEnding"),M}function M(U){return I.enter("codeFencedFence"),Mt(U)?Ut(I,$,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(U):$(U)}function $(U){return U===u?(I.enter("codeFencedFenceSequence"),W(U)):T(U)}function W(U){return U===u?(L++,I.consume(U),W):L>=a?(I.exit("codeFencedFenceSequence"),Mt(U)?Ut(I,B,"whitespace")(U):B(U)):T(U)}function B(U){return U===null||ut(U)?(I.exit("codeFencedFence"),D(U)):T(U)}}}function tP(e,t,n){const r=this;return i;function i(a){return a===null?n(a):(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),o)}function o(a){return r.parser.lazy[r.now().line]?n(a):t(a)}}const Lg={name:"codeIndented",tokenize:rP},nP={partial:!0,tokenize:iP};function rP(e,t,n){const r=this;return i;function i(m){return e.enter("codeIndented"),Ut(e,o,"linePrefix",5)(m)}function o(m){const p=r.events[r.events.length-1];return p&&p[1].type==="linePrefix"&&p[2].sliceSerialize(p[1],!0).length>=4?a(m):n(m)}function a(m){return m===null?d(m):ut(m)?e.attempt(nP,a,d)(m):(e.enter("codeFlowValue"),u(m))}function u(m){return m===null||ut(m)?(e.exit("codeFlowValue"),a(m)):(e.consume(m),u)}function d(m){return e.exit("codeIndented"),t(m)}}function iP(e,t,n){const r=this;return i;function i(a){return r.parser.lazy[r.now().line]?n(a):ut(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),i):Ut(e,o,"linePrefix",5)(a)}function o(a){const u=r.events[r.events.length-1];return u&&u[1].type==="linePrefix"&&u[2].sliceSerialize(u[1],!0).length>=4?t(a):ut(a)?i(a):n(a)}}const sP={name:"codeText",previous:aP,resolve:oP,tokenize:lP};function oP(e){let t=e.length-4,n=3,r,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){const i=n||0;this.setCursor(Math.trunc(t));const o=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&Lc(this.left,r),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),Lc(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),Lc(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(a):e.interrupt(r.parser.constructs.flow,n,t)(a)}}function AN(e,t,n,r,i,o,a,u,d){const m=d||Number.POSITIVE_INFINITY;let p=0;return h;function h(_){return _===60?(e.enter(r),e.enter(i),e.enter(o),e.consume(_),e.exit(o),g):_===null||_===32||_===41||tm(_)?n(_):(e.enter(r),e.enter(a),e.enter(u),e.enter("chunkString",{contentType:"string"}),k(_))}function g(_){return _===62?(e.enter(o),e.consume(_),e.exit(o),e.exit(i),e.exit(r),t):(e.enter(u),e.enter("chunkString",{contentType:"string"}),y(_))}function y(_){return _===62?(e.exit("chunkString"),e.exit(u),g(_)):_===null||_===60||ut(_)?n(_):(e.consume(_),_===92?v:y)}function v(_){return _===60||_===62||_===92?(e.consume(_),y):y(_)}function k(_){return!p&&(_===null||_===41||gn(_))?(e.exit("chunkString"),e.exit(u),e.exit(a),e.exit(r),t(_)):p999||y===null||y===91||y===93&&!d||y===94&&!u&&"_hiddenFootnoteSupport"in a.parser.constructs?n(y):y===93?(e.exit(o),e.enter(i),e.consume(y),e.exit(i),e.exit(r),t):ut(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),p):(e.enter("chunkString",{contentType:"string"}),h(y))}function h(y){return y===null||y===91||y===93||ut(y)||u++>999?(e.exit("chunkString"),p(y)):(e.consume(y),d||(d=!Mt(y)),y===92?g:h)}function g(y){return y===91||y===92||y===93?(e.consume(y),u++,h):h(y)}}function DN(e,t,n,r,i,o){let a;return u;function u(g){return g===34||g===39||g===40?(e.enter(r),e.enter(i),e.consume(g),e.exit(i),a=g===40?41:g,d):n(g)}function d(g){return g===a?(e.enter(i),e.consume(g),e.exit(i),e.exit(r),t):(e.enter(o),m(g))}function m(g){return g===a?(e.exit(o),d(a)):g===null?n(g):ut(g)?(e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),Ut(e,m,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),p(g))}function p(g){return g===a||g===null||ut(g)?(e.exit("chunkString"),m(g)):(e.consume(g),g===92?h:p)}function h(g){return g===a||g===92?(e.consume(g),p):p(g)}}function eu(e,t){let n;return r;function r(i){return ut(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r):Mt(i)?Ut(e,r,n?"linePrefix":"lineSuffix")(i):t(i)}}const gP={name:"definition",tokenize:yP},xP={partial:!0,tokenize:vP};function yP(e,t,n){const r=this;let i;return o;function o(y){return e.enter("definition"),a(y)}function a(y){return MN.call(r,e,u,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(y)}function u(y){return i=Mi(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),y===58?(e.enter("definitionMarker"),e.consume(y),e.exit("definitionMarker"),d):n(y)}function d(y){return gn(y)?eu(e,m)(y):m(y)}function m(y){return AN(e,p,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(y)}function p(y){return e.attempt(xP,h,h)(y)}function h(y){return Mt(y)?Ut(e,g,"whitespace")(y):g(y)}function g(y){return y===null||ut(y)?(e.exit("definition"),r.parser.defined.push(i),t(y)):n(y)}}function vP(e,t,n){return r;function r(u){return gn(u)?eu(e,i)(u):n(u)}function i(u){return DN(e,o,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(u)}function o(u){return Mt(u)?Ut(e,a,"whitespace")(u):a(u)}function a(u){return u===null||ut(u)?t(u):n(u)}}const bP={name:"hardBreakEscape",tokenize:_P};function _P(e,t,n){return r;function r(o){return e.enter("hardBreakEscape"),e.consume(o),i}function i(o){return ut(o)?(e.exit("hardBreakEscape"),t(o)):n(o)}}const kP={name:"headingAtx",resolve:SP,tokenize:wP};function SP(e,t){let n=e.length-2,r=3,i,o;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},o={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},ni(e,r,n-r+1,[["enter",i,t],["enter",o,t],["exit",o,t],["exit",i,t]])),e}function wP(e,t,n){let r=0;return i;function i(p){return e.enter("atxHeading"),o(p)}function o(p){return e.enter("atxHeadingSequence"),a(p)}function a(p){return p===35&&r++<6?(e.consume(p),a):p===null||gn(p)?(e.exit("atxHeadingSequence"),u(p)):n(p)}function u(p){return p===35?(e.enter("atxHeadingSequence"),d(p)):p===null||ut(p)?(e.exit("atxHeading"),t(p)):Mt(p)?Ut(e,u,"whitespace")(p):(e.enter("atxHeadingText"),m(p))}function d(p){return p===35?(e.consume(p),d):(e.exit("atxHeadingSequence"),u(p))}function m(p){return p===null||p===35||gn(p)?(e.exit("atxHeadingText"),u(p)):(e.consume(p),m)}}const CP=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],fw=["pre","script","style","textarea"],jP={concrete:!0,name:"htmlFlow",resolveTo:IP,tokenize:TP},EP={partial:!0,tokenize:AP},NP={partial:!0,tokenize:RP};function IP(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function TP(e,t,n){const r=this;let i,o,a,u,d;return m;function m(P){return p(P)}function p(P){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(P),h}function h(P){return P===33?(e.consume(P),g):P===47?(e.consume(P),o=!0,k):P===63?(e.consume(P),i=3,r.interrupt?t:q):Rr(P)?(e.consume(P),a=String.fromCharCode(P),S):n(P)}function g(P){return P===45?(e.consume(P),i=2,y):P===91?(e.consume(P),i=5,u=0,v):Rr(P)?(e.consume(P),i=4,r.interrupt?t:q):n(P)}function y(P){return P===45?(e.consume(P),r.interrupt?t:q):n(P)}function v(P){const X="CDATA[";return P===X.charCodeAt(u++)?(e.consume(P),u===X.length?r.interrupt?t:$:v):n(P)}function k(P){return Rr(P)?(e.consume(P),a=String.fromCharCode(P),S):n(P)}function S(P){if(P===null||P===47||P===62||gn(P)){const X=P===47,ee=a.toLowerCase();return!X&&!o&&fw.includes(ee)?(i=1,r.interrupt?t(P):$(P)):CP.includes(a.toLowerCase())?(i=6,X?(e.consume(P),_):r.interrupt?t(P):$(P)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(P):o?w(P):C(P))}return P===45||wr(P)?(e.consume(P),a+=String.fromCharCode(P),S):n(P)}function _(P){return P===62?(e.consume(P),r.interrupt?t:$):n(P)}function w(P){return Mt(P)?(e.consume(P),w):A(P)}function C(P){return P===47?(e.consume(P),A):P===58||P===95||Rr(P)?(e.consume(P),N):Mt(P)?(e.consume(P),C):A(P)}function N(P){return P===45||P===46||P===58||P===95||wr(P)?(e.consume(P),N):O(P)}function O(P){return P===61?(e.consume(P),I):Mt(P)?(e.consume(P),O):C(P)}function I(P){return P===null||P===60||P===61||P===62||P===96?n(P):P===34||P===39?(e.consume(P),d=P,D):Mt(P)?(e.consume(P),I):T(P)}function D(P){return P===d?(e.consume(P),d=null,L):P===null||ut(P)?n(P):(e.consume(P),D)}function T(P){return P===null||P===34||P===39||P===47||P===60||P===61||P===62||P===96||gn(P)?O(P):(e.consume(P),T)}function L(P){return P===47||P===62||Mt(P)?C(P):n(P)}function A(P){return P===62?(e.consume(P),M):n(P)}function M(P){return P===null||ut(P)?$(P):Mt(P)?(e.consume(P),M):n(P)}function $(P){return P===45&&i===2?(e.consume(P),H):P===60&&i===1?(e.consume(P),V):P===62&&i===4?(e.consume(P),G):P===63&&i===3?(e.consume(P),q):P===93&&i===5?(e.consume(P),Q):ut(P)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(EP,J,W)(P)):P===null||ut(P)?(e.exit("htmlFlowData"),W(P)):(e.consume(P),$)}function W(P){return e.check(NP,B,J)(P)}function B(P){return e.enter("lineEnding"),e.consume(P),e.exit("lineEnding"),U}function U(P){return P===null||ut(P)?W(P):(e.enter("htmlFlowData"),$(P))}function H(P){return P===45?(e.consume(P),q):$(P)}function V(P){return P===47?(e.consume(P),a="",Y):$(P)}function Y(P){if(P===62){const X=a.toLowerCase();return fw.includes(X)?(e.consume(P),G):$(P)}return Rr(P)&&a.length<8?(e.consume(P),a+=String.fromCharCode(P),Y):$(P)}function Q(P){return P===93?(e.consume(P),q):$(P)}function q(P){return P===62?(e.consume(P),G):P===45&&i===2?(e.consume(P),q):$(P)}function G(P){return P===null||ut(P)?(e.exit("htmlFlowData"),J(P)):(e.consume(P),G)}function J(P){return e.exit("htmlFlow"),t(P)}}function RP(e,t,n){const r=this;return i;function i(a){return ut(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),o):n(a)}function o(a){return r.parser.lazy[r.now().line]?n(a):t(a)}}function AP(e,t,n){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(Au,t,n)}}const MP={name:"htmlText",tokenize:DP};function DP(e,t,n){const r=this;let i,o,a;return u;function u(q){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(q),d}function d(q){return q===33?(e.consume(q),m):q===47?(e.consume(q),O):q===63?(e.consume(q),C):Rr(q)?(e.consume(q),T):n(q)}function m(q){return q===45?(e.consume(q),p):q===91?(e.consume(q),o=0,v):Rr(q)?(e.consume(q),w):n(q)}function p(q){return q===45?(e.consume(q),y):n(q)}function h(q){return q===null?n(q):q===45?(e.consume(q),g):ut(q)?(a=h,V(q)):(e.consume(q),h)}function g(q){return q===45?(e.consume(q),y):h(q)}function y(q){return q===62?H(q):q===45?g(q):h(q)}function v(q){const G="CDATA[";return q===G.charCodeAt(o++)?(e.consume(q),o===G.length?k:v):n(q)}function k(q){return q===null?n(q):q===93?(e.consume(q),S):ut(q)?(a=k,V(q)):(e.consume(q),k)}function S(q){return q===93?(e.consume(q),_):k(q)}function _(q){return q===62?H(q):q===93?(e.consume(q),_):k(q)}function w(q){return q===null||q===62?H(q):ut(q)?(a=w,V(q)):(e.consume(q),w)}function C(q){return q===null?n(q):q===63?(e.consume(q),N):ut(q)?(a=C,V(q)):(e.consume(q),C)}function N(q){return q===62?H(q):C(q)}function O(q){return Rr(q)?(e.consume(q),I):n(q)}function I(q){return q===45||wr(q)?(e.consume(q),I):D(q)}function D(q){return ut(q)?(a=D,V(q)):Mt(q)?(e.consume(q),D):H(q)}function T(q){return q===45||wr(q)?(e.consume(q),T):q===47||q===62||gn(q)?L(q):n(q)}function L(q){return q===47?(e.consume(q),H):q===58||q===95||Rr(q)?(e.consume(q),A):ut(q)?(a=L,V(q)):Mt(q)?(e.consume(q),L):H(q)}function A(q){return q===45||q===46||q===58||q===95||wr(q)?(e.consume(q),A):M(q)}function M(q){return q===61?(e.consume(q),$):ut(q)?(a=M,V(q)):Mt(q)?(e.consume(q),M):L(q)}function $(q){return q===null||q===60||q===61||q===62||q===96?n(q):q===34||q===39?(e.consume(q),i=q,W):ut(q)?(a=$,V(q)):Mt(q)?(e.consume(q),$):(e.consume(q),B)}function W(q){return q===i?(e.consume(q),i=void 0,U):q===null?n(q):ut(q)?(a=W,V(q)):(e.consume(q),W)}function B(q){return q===null||q===34||q===39||q===60||q===61||q===96?n(q):q===47||q===62||gn(q)?L(q):(e.consume(q),B)}function U(q){return q===47||q===62||gn(q)?L(q):n(q)}function H(q){return q===62?(e.consume(q),e.exit("htmlTextData"),e.exit("htmlText"),t):n(q)}function V(q){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(q),e.exit("lineEnding"),Y}function Y(q){return Mt(q)?Ut(e,Q,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(q):Q(q)}function Q(q){return e.enter("htmlTextData"),a(q)}}const lv={name:"labelEnd",resolveAll:PP,resolveTo:BP,tokenize:$P},OP={tokenize:HP},LP={tokenize:FP},zP={tokenize:VP};function PP(e){let t=-1;const n=[];for(;++t=3&&(m===null||ut(m))?(e.exit("thematicBreak"),t(m)):n(m)}function d(m){return m===i?(e.consume(m),r++,d):(e.exit("thematicBreakSequence"),Mt(m)?Ut(e,u,"whitespace")(m):u(m))}}const Br={continuation:{tokenize:JP},exit:tB,name:"list",tokenize:QP},KP={partial:!0,tokenize:nB},ZP={partial:!0,tokenize:eB};function QP(e,t,n){const r=this,i=r.events[r.events.length-1];let o=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,a=0;return u;function u(y){const v=r.containerState.type||(y===42||y===43||y===45?"listUnordered":"listOrdered");if(v==="listUnordered"?!r.containerState.marker||y===r.containerState.marker:Vy(y)){if(r.containerState.type||(r.containerState.type=v,e.enter(v,{_container:!0})),v==="listUnordered")return e.enter("listItemPrefix"),y===42||y===45?e.check(Tf,n,m)(y):m(y);if(!r.interrupt||y===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),d(y)}return n(y)}function d(y){return Vy(y)&&++a<10?(e.consume(y),d):(!r.interrupt||a<2)&&(r.containerState.marker?y===r.containerState.marker:y===41||y===46)?(e.exit("listItemValue"),m(y)):n(y)}function m(y){return e.enter("listItemMarker"),e.consume(y),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||y,e.check(Au,r.interrupt?n:p,e.attempt(KP,g,h))}function p(y){return r.containerState.initialBlankLine=!0,o++,g(y)}function h(y){return Mt(y)?(e.enter("listItemPrefixWhitespace"),e.consume(y),e.exit("listItemPrefixWhitespace"),g):n(y)}function g(y){return r.containerState.size=o+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(y)}}function JP(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(Au,i,o);function i(u){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,Ut(e,t,"listItemIndent",r.containerState.size+1)(u)}function o(u){return r.containerState.furtherBlankLines||!Mt(u)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,a(u)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(ZP,t,a)(u))}function a(u){return r.containerState._closeFlow=!0,r.interrupt=void 0,Ut(e,e.attempt(Br,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(u)}}function eB(e,t,n){const r=this;return Ut(e,i,"listItemIndent",r.containerState.size+1);function i(o){const a=r.events[r.events.length-1];return a&&a[1].type==="listItemIndent"&&a[2].sliceSerialize(a[1],!0).length===r.containerState.size?t(o):n(o)}}function tB(e){e.exit(this.containerState.type)}function nB(e,t,n){const r=this;return Ut(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(o){const a=r.events[r.events.length-1];return!Mt(o)&&a&&a[1].type==="listItemPrefixWhitespace"?t(o):n(o)}}const mw={name:"setextUnderline",resolveTo:rB,tokenize:iB};function rB(e,t){let n=e.length,r,i,o;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(i=n)}else e[n][1].type==="content"&&e.splice(n,1),!o&&e[n][1].type==="definition"&&(o=n);const a={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",o?(e.splice(i,0,["enter",a,t]),e.splice(o+1,0,["exit",e[r][1],t]),e[r][1].end={...e[o][1].end}):e[r][1]=a,e.push(["exit",a,t]),e}function iB(e,t,n){const r=this;let i;return o;function o(m){let p=r.events.length,h;for(;p--;)if(r.events[p][1].type!=="lineEnding"&&r.events[p][1].type!=="linePrefix"&&r.events[p][1].type!=="content"){h=r.events[p][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||h)?(e.enter("setextHeadingLine"),i=m,a(m)):n(m)}function a(m){return e.enter("setextHeadingLineSequence"),u(m)}function u(m){return m===i?(e.consume(m),u):(e.exit("setextHeadingLineSequence"),Mt(m)?Ut(e,d,"lineSuffix")(m):d(m))}function d(m){return m===null||ut(m)?(e.exit("setextHeadingLine"),t(m)):n(m)}}const sB={tokenize:oB};function oB(e){const t=this,n=e.attempt(Au,r,e.attempt(this.parser.constructs.flowInitial,i,Ut(e,e.attempt(this.parser.constructs.flow,i,e.attempt(dP,i)),"linePrefix")));return n;function r(o){if(o===null){e.consume(o);return}return e.enter("lineEndingBlank"),e.consume(o),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(o){if(o===null){e.consume(o);return}return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const aB={resolveAll:LN()},lB=ON("string"),cB=ON("text");function ON(e){return{resolveAll:LN(e==="text"?uB:void 0),tokenize:t};function t(n){const r=this,i=this.parser.constructs[e],o=n.attempt(i,a,u);return a;function a(p){return m(p)?o(p):u(p)}function u(p){if(p===null){n.consume(p);return}return n.enter("data"),n.consume(p),d}function d(p){return m(p)?(n.exit("data"),o(p)):(n.consume(p),d)}function m(p){if(p===null)return!0;const h=i[p];let g=-1;if(h)for(;++g-1){const u=a[0];typeof u=="string"?a[0]=u.slice(r):a.shift()}o>0&&a.push(e[i].slice(0,o))}return a}function SB(e,t){let n=-1;const r=[];let i;for(;++n0){const Wt=Me.tokenStack[Me.tokenStack.length-1];(Wt[1]||pw).call(Me,void 0,Wt[0])}for(be.position={start:io(fe.length>0?fe[0][1].start:{line:1,column:1,offset:0}),end:io(fe.length>0?fe[fe.length-2][1].end:{line:1,column:1,offset:0})},$e=-1;++$e0&&(r.className=["language-"+i[0]]);let o={type:"element",tagName:"code",properties:r,children:[{type:"text",value:n}]};return t.meta&&(o.data={meta:t.meta}),e.patch(t,o),o=e.applyData(t,o),o={type:"element",tagName:"pre",properties:{},children:[o]},e.patch(t,o),o}function zB(e,t){const n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function PB(e,t){const n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function BB(e,t){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",r=String(t.identifier).toUpperCase(),i=Ml(r.toLowerCase()),o=e.footnoteOrder.indexOf(r);let a,u=e.footnoteCounts.get(r);u===void 0?(u=0,e.footnoteOrder.push(r),a=e.footnoteOrder.length):a=o+1,u+=1,e.footnoteCounts.set(r,u);const d={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+i,id:n+"fnref-"+i+(u>1?"-"+u:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(a)}]};e.patch(t,d);const m={type:"element",tagName:"sup",properties:{},children:[d]};return e.patch(t,m),e.applyData(t,m)}function $B(e,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function HB(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function BN(e,t){const n=t.referenceType;let r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+r}];const i=e.all(t),o=i[0];o&&o.type==="text"?o.value="["+o.value:i.unshift({type:"text",value:"["});const a=i[i.length-1];return a&&a.type==="text"?a.value+=r:i.push({type:"text",value:r}),i}function FB(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return BN(e,t);const i={src:Ml(r.url||""),alt:t.alt};r.title!==null&&r.title!==void 0&&(i.title=r.title);const o={type:"element",tagName:"img",properties:i,children:[]};return e.patch(t,o),e.applyData(t,o)}function VB(e,t){const n={src:Ml(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}function UB(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function GB(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return BN(e,t);const i={href:Ml(r.url||"")};r.title!==null&&r.title!==void 0&&(i.title=r.title);const o={type:"element",tagName:"a",properties:i,children:e.all(t)};return e.patch(t,o),e.applyData(t,o)}function qB(e,t){const n={href:Ml(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function WB(e,t,n){const r=e.all(t),i=n?YB(n):$N(t),o={},a=[];if(typeof t.checked=="boolean"){const p=r[0];let h;p&&p.type==="element"&&p.tagName==="p"?h=p:(h={type:"element",tagName:"p",properties:{},children:[]},r.unshift(h)),h.children.length>0&&h.children.unshift({type:"text",value:" "}),h.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),o.className=["task-list-item"]}let u=-1;for(;++u1}function XB(e,t){const n={},r=e.all(t);let i=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++i0){const a={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},u=nv(t.children[1]),d=vN(t.children[t.children.length-1]);u&&d&&(a.position={start:u,end:d}),i.push(a)}const o={type:"element",tagName:"table",properties:{},children:e.wrap(i,!0)};return e.patch(t,o),e.applyData(t,o)}function e9(e,t,n){const r=n?n.children:void 0,o=(r?r.indexOf(t):1)===0?"th":"td",a=n&&n.type==="table"?n.align:void 0,u=a?a.length:t.children.length;let d=-1;const m=[];for(;++d0,!0),r[0]),i=r.index+r[0].length,r=n.exec(t);return o.push(yw(t.slice(i),i>0,!1)),o.join("")}function yw(e,t,n){let r=0,i=e.length;if(t){let o=e.codePointAt(r);for(;o===gw||o===xw;)r++,o=e.codePointAt(r)}if(n){let o=e.codePointAt(i-1);for(;o===gw||o===xw;)i--,o=e.codePointAt(i-1)}return i>r?e.slice(r,i):""}function r9(e,t){const n={type:"text",value:n9(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function i9(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}const s9={blockquote:DB,break:OB,code:LB,delete:zB,emphasis:PB,footnoteReference:BB,heading:$B,html:HB,imageReference:FB,image:VB,inlineCode:UB,linkReference:GB,link:qB,listItem:WB,list:XB,paragraph:KB,root:ZB,strong:QB,table:JB,tableCell:t9,tableRow:e9,text:r9,thematicBreak:i9,toml:ef,yaml:ef,definition:ef,footnoteDefinition:ef};function ef(){}const HN=-1,$m=0,tu=1,nm=2,cv=3,uv=4,dv=5,fv=6,FN=7,VN=8,vw=typeof self=="object"?self:globalThis,o9=(e,t)=>{const n=(i,o)=>(e.set(o,i),i),r=i=>{if(e.has(i))return e.get(i);const[o,a]=t[i];switch(o){case $m:case HN:return n(a,i);case tu:{const u=n([],i);for(const d of a)u.push(r(d));return u}case nm:{const u=n({},i);for(const[d,m]of a)u[r(d)]=r(m);return u}case cv:return n(new Date(a),i);case uv:{const{source:u,flags:d}=a;return n(new RegExp(u,d),i)}case dv:{const u=n(new Map,i);for(const[d,m]of a)u.set(r(d),r(m));return u}case fv:{const u=n(new Set,i);for(const d of a)u.add(r(d));return u}case FN:{const{name:u,message:d}=a;return n(new vw[u](d),i)}case VN:return n(BigInt(a),i);case"BigInt":return n(Object(BigInt(a)),i);case"ArrayBuffer":return n(new Uint8Array(a).buffer,a);case"DataView":{const{buffer:u}=new Uint8Array(a);return n(new DataView(u),a)}}return n(new vw[o](a),i)};return r},bw=e=>o9(new Map,e)(0),Wa="",{toString:a9}={},{keys:l9}=Object,zc=e=>{const t=typeof e;if(t!=="object"||!e)return[$m,t];const n=a9.call(e).slice(8,-1);switch(n){case"Array":return[tu,Wa];case"Object":return[nm,Wa];case"Date":return[cv,Wa];case"RegExp":return[uv,Wa];case"Map":return[dv,Wa];case"Set":return[fv,Wa];case"DataView":return[tu,n]}return n.includes("Array")?[tu,n]:n.includes("Error")?[FN,n]:[nm,n]},tf=([e,t])=>e===$m&&(t==="function"||t==="symbol"),c9=(e,t,n,r)=>{const i=(a,u)=>{const d=r.push(a)-1;return n.set(u,d),d},o=a=>{if(n.has(a))return n.get(a);let[u,d]=zc(a);switch(u){case $m:{let p=a;switch(d){case"bigint":u=VN,p=a.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+d);p=null;break;case"undefined":return i([HN],a)}return i([u,p],a)}case tu:{if(d){let g=a;return d==="DataView"?g=new Uint8Array(a.buffer):d==="ArrayBuffer"&&(g=new Uint8Array(a)),i([d,[...g]],a)}const p=[],h=i([u,p],a);for(const g of a)p.push(o(g));return h}case nm:{if(d)switch(d){case"BigInt":return i([d,a.toString()],a);case"Boolean":case"Number":case"String":return i([d,a.valueOf()],a)}if(t&&"toJSON"in a)return o(a.toJSON());const p=[],h=i([u,p],a);for(const g of l9(a))(e||!tf(zc(a[g])))&&p.push([o(g),o(a[g])]);return h}case cv:return i([u,a.toISOString()],a);case uv:{const{source:p,flags:h}=a;return i([u,{source:p,flags:h}],a)}case dv:{const p=[],h=i([u,p],a);for(const[g,y]of a)(e||!(tf(zc(g))||tf(zc(y))))&&p.push([o(g),o(y)]);return h}case fv:{const p=[],h=i([u,p],a);for(const g of a)(e||!tf(zc(g)))&&p.push(o(g));return h}}const{message:m}=a;return i([u,{name:d,message:m}],a)};return o},_w=(e,{json:t,lossy:n}={})=>{const r=[];return c9(!(t||n),!!t,new Map,r)(e),r},rm=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?bw(_w(e,t)):structuredClone(e):(e,t)=>bw(_w(e,t));function u9(e,t){const n=[{type:"text",value:"โ†ฉ"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function d9(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function f9(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||u9,r=e.options.footnoteBackLabel||d9,i=e.options.footnoteLabel||"Footnotes",o=e.options.footnoteLabelTagName||"h2",a=e.options.footnoteLabelProperties||{className:["sr-only"]},u=[];let d=-1;for(;++d0&&v.push({type:"text",value:" "});let w=typeof n=="string"?n:n(d,y);typeof w=="string"&&(w={type:"text",value:w}),v.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+g+(y>1?"-"+y:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(d,y),className:["data-footnote-backref"]},children:Array.isArray(w)?w:[w]})}const S=p[p.length-1];if(S&&S.type==="element"&&S.tagName==="p"){const w=S.children[S.children.length-1];w&&w.type==="text"?w.value+=" ":S.children.push({type:"text",value:" "}),S.children.push(...v)}else p.push(...v);const _={type:"element",tagName:"li",properties:{id:t+"fn-"+g},children:e.wrap(p,!0)};e.patch(m,_),u.push(_)}if(u.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:o,properties:{...rm(a),id:"footnote-label"},children:[{type:"text",value:i}]},{type:"text",value:` +`},{type:"element",tagName:"ol",properties:{},children:e.wrap(u,!0)},{type:"text",value:` +`}]}}const Hm=(function(e){if(e==null)return g9;if(typeof e=="function")return Fm(e);if(typeof e=="object")return Array.isArray(e)?m9(e):h9(e);if(typeof e=="string")return p9(e);throw new Error("Expected function, string, or object as test")});function m9(e){const t=[];let n=-1;for(;++n":""))+")"})}return g;function g(){let y=UN,v,k,S;if((!t||o(d,m,p[p.length-1]||void 0))&&(y=b9(n(d,p)),y[0]===Gy))return y;if("children"in d&&d.children){const _=d;if(_.children&&y[0]!==v9)for(k=(r?_.children.length:-1)+a,S=p.concat(_);k>-1&&k<_.children.length;){const w=_.children[k];if(v=u(w,k,S)(),v[0]===Gy)return v;k=typeof v[1]=="number"?v[1]:k+a}}return y}}}function b9(e){return Array.isArray(e)?e:typeof e=="number"?[y9,e]:e==null?UN:[e]}function mv(e,t,n,r){let i,o,a;typeof t=="function"&&typeof n!="function"?(o=void 0,a=t,i=n):(o=t,a=n,i=r),GN(e,o,u,i);function u(d,m){const p=m[m.length-1],h=p?p.children.indexOf(d):void 0;return a(d,h,p)}}const qy={}.hasOwnProperty,_9={};function k9(e,t){const n=t||_9,r=new Map,i=new Map,o=new Map,a={...s9,...n.handlers},u={all:m,applyData:w9,definitionById:r,footnoteById:i,footnoteCounts:o,footnoteOrder:[],handlers:a,one:d,options:n,patch:S9,wrap:j9};return mv(e,function(p){if(p.type==="definition"||p.type==="footnoteDefinition"){const h=p.type==="definition"?r:i,g=String(p.identifier).toUpperCase();h.has(g)||h.set(g,p)}}),u;function d(p,h){const g=p.type,y=u.handlers[g];if(qy.call(u.handlers,g)&&y)return y(u,p,h);if(u.options.passThrough&&u.options.passThrough.includes(g)){if("children"in p){const{children:k,...S}=p,_=rm(S);return _.children=u.all(p),_}return rm(p)}return(u.options.unknownHandler||C9)(u,p,h)}function m(p){const h=[];if("children"in p){const g=p.children;let y=-1;for(;++y0&&n.push({type:"text",value:` +`}),n}function kw(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function Sw(e,t){const n=k9(e,t),r=n.one(e,void 0),i=f9(n),o=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return i&&o.children.push({type:"text",value:` +`},i),o}function E9(e,t){return e&&"run"in e?async function(n,r){const i=Sw(n,{file:r,...t});await e.run(i,r)}:function(n,r){return Sw(n,{file:r,...e||t})}}function ww(e){if(e)throw e}var Pg,Cw;function N9(){if(Cw)return Pg;Cw=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=function(m){return typeof Array.isArray=="function"?Array.isArray(m):t.call(m)==="[object Array]"},o=function(m){if(!m||t.call(m)!=="[object Object]")return!1;var p=e.call(m,"constructor"),h=m.constructor&&m.constructor.prototype&&e.call(m.constructor.prototype,"isPrototypeOf");if(m.constructor&&!p&&!h)return!1;var g;for(g in m);return typeof g>"u"||e.call(m,g)},a=function(m,p){n&&p.name==="__proto__"?n(m,p.name,{enumerable:!0,configurable:!0,value:p.newValue,writable:!0}):m[p.name]=p.newValue},u=function(m,p){if(p==="__proto__")if(e.call(m,p)){if(r)return r(m,p).value}else return;return m[p]};return Pg=function d(){var m,p,h,g,y,v,k=arguments[0],S=1,_=arguments.length,w=!1;for(typeof k=="boolean"&&(w=k,k=arguments[1]||{},S=2),(k==null||typeof k!="object"&&typeof k!="function")&&(k={});S<_;++S)if(m=arguments[S],m!=null)for(p in m)h=u(k,p),g=u(m,p),k!==g&&(w&&g&&(o(g)||(y=i(g)))?(y?(y=!1,v=h&&i(h)?h:[]):v=h&&o(h)?h:{},a(k,{name:p,newValue:d(w,v,g)})):typeof g<"u"&&a(k,{name:p,newValue:g}));return k},Pg}var I9=N9();const Bg=ta(I9);function Wy(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function T9(){const e=[],t={run:n,use:r};return t;function n(...i){let o=-1;const a=i.pop();if(typeof a!="function")throw new TypeError("Expected function as last argument, not "+a);u(null,...i);function u(d,...m){const p=e[++o];let h=-1;if(d){a(d);return}for(;++ha.length;let d;u&&a.push(i);try{d=e.apply(this,a)}catch(m){const p=m;if(u&&n)throw p;return i(p)}u||(d&&d.then&&typeof d.then=="function"?d.then(o,i):d instanceof Error?i(d):o(d))}function i(a,...u){n||(n=!0,t(a,...u))}function o(a){i(null,a)}}const Vi={basename:A9,dirname:M9,extname:D9,join:O9,sep:"/"};function A9(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');Mu(e);let n=0,r=-1,i=e.length,o;if(t===void 0||t.length===0||t.length>e.length){for(;i--;)if(e.codePointAt(i)===47){if(o){n=i+1;break}}else r<0&&(o=!0,r=i+1);return r<0?"":e.slice(n,r)}if(t===e)return"";let a=-1,u=t.length-1;for(;i--;)if(e.codePointAt(i)===47){if(o){n=i+1;break}}else a<0&&(o=!0,a=i+1),u>-1&&(e.codePointAt(i)===t.codePointAt(u--)?u<0&&(r=i):(u=-1,r=a));return n===r?r=a:r<0&&(r=e.length),e.slice(n,r)}function M9(e){if(Mu(e),e.length===0)return".";let t=-1,n=e.length,r;for(;--n;)if(e.codePointAt(n)===47){if(r){t=n;break}}else r||(r=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function D9(e){Mu(e);let t=e.length,n=-1,r=0,i=-1,o=0,a;for(;t--;){const u=e.codePointAt(t);if(u===47){if(a){r=t+1;break}continue}n<0&&(a=!0,n=t+1),u===46?i<0?i=t:o!==1&&(o=1):i>-1&&(o=-1)}return i<0||n<0||o===0||o===1&&i===n-1&&i===r+1?"":e.slice(i,n)}function O9(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function z9(e,t){let n="",r=0,i=-1,o=0,a=-1,u,d;for(;++a<=e.length;){if(a2){if(d=n.lastIndexOf("/"),d!==n.length-1){d<0?(n="",r=0):(n=n.slice(0,d),r=n.length-1-n.lastIndexOf("/")),i=a,o=0;continue}}else if(n.length>0){n="",r=0,i=a,o=0;continue}}t&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+e.slice(i+1,a):n=e.slice(i+1,a),r=a-i-1;i=a,o=0}else u===46&&o>-1?o++:o=-1}return n}function Mu(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const P9={cwd:B9};function B9(){return"/"}function Yy(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function $9(e){if(typeof e=="string")e=new URL(e);else if(!Yy(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return H9(e)}function H9(e){if(e.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const t=e.pathname;let n=-1;for(;++n0){let[y,...v]=p;const k=r[g][1];Wy(k)&&Wy(y)&&(y=Bg(!0,k,y)),r[g]=[m,y,...v]}}}}const G9=new hv().freeze();function Vg(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function Ug(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function Gg(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Ew(e){if(!Wy(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function Nw(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function nf(e){return q9(e)?e:new qN(e)}function q9(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function W9(e){return typeof e=="string"||Y9(e)}function Y9(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const X9="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",Iw=[],Tw={allowDangerousHtml:!0},K9=/^(https?|ircs?|mailto|xmpp)$/i,Z9=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function Q9(e){const t=J9(e),n=e$(e);return t$(t.runSync(t.parse(n),n),e)}function J9(e){const t=e.rehypePlugins||Iw,n=e.remarkPlugins||Iw,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...Tw}:Tw;return G9().use(MB).use(n).use(E9,r).use(t)}function e$(e){const t=e.children||"",n=new qN;return typeof t=="string"&&(n.value=t),n}function t$(e,t){const n=t.allowedElements,r=t.allowElement,i=t.components,o=t.disallowedElements,a=t.skipHtml,u=t.unwrapDisallowed,d=t.urlTransform||n$;for(const p of Z9)Object.hasOwn(t,p.from)&&(""+p.from+(p.to?"use `"+p.to+"` instead":"remove it")+X9+p.id,void 0);return mv(e,m),gz(e,{Fragment:c.Fragment,components:i,ignoreInvalidStyle:!0,jsx:c.jsx,jsxs:c.jsxs,passKeys:!0,passNode:!0});function m(p,h,g){if(p.type==="raw"&&g&&typeof h=="number")return a?g.children.splice(h,1):g.children[h]={type:"text",value:p.value},h;if(p.type==="element"){let y;for(y in Og)if(Object.hasOwn(Og,y)&&Object.hasOwn(p.properties,y)){const v=p.properties[y],k=Og[y];(k===null||k.includes(p.tagName))&&(p.properties[y]=d(String(v||""),y,p))}}if(p.type==="element"){let y=n?!n.includes(p.tagName):o?o.includes(p.tagName):!1;if(!y&&r&&typeof h=="number"&&(y=!r(p,h,g)),y&&g&&typeof h=="number")return u&&p.children?g.children.splice(h,1,...p.children):g.children.splice(h,1),h}}}function n$(e){const t=e.indexOf(":"),n=e.indexOf("?"),r=e.indexOf("#"),i=e.indexOf("/");return t===-1||i!==-1&&t>i||n!==-1&&t>n||r!==-1&&t>r||K9.test(e.slice(0,t))?e:""}function Rw(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let r=0,i=n.indexOf(t);for(;i!==-1;)r++,i=n.indexOf(t,i+t.length);return r}function r$(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function i$(e,t,n){const i=Hm((n||{}).ignore||[]),o=s$(t);let a=-1;for(;++a0?{type:"text",value:I}:void 0),I===!1?g.lastIndex=N+1:(v!==N&&w.push({type:"text",value:m.value.slice(v,N)}),Array.isArray(I)?w.push(...I):I&&w.push(I),v=N+C[0].length,_=!0),!g.global)break;C=g.exec(m.value)}return _?(v?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],r=n.indexOf(")");const i=Rw(e,"(");let o=Rw(e,")");for(;r!==-1&&i>o;)e+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),o++;return[e,n]}function WN(e,t){const n=e.input.charCodeAt(e.index-1);return(e.index===0||Yo(n)||Pm(n))&&(!t||n!==47)}YN.peek=N$;function b$(){this.buffer()}function _$(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function k$(){this.buffer()}function S$(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function w$(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Mi(this.sliceSerialize(e)).toLowerCase(),n.label=t}function C$(e){this.exit(e)}function j$(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Mi(this.sliceSerialize(e)).toLowerCase(),n.label=t}function E$(e){this.exit(e)}function N$(){return"["}function YN(e,t,n,r){const i=n.createTracker(r);let o=i.move("[^");const a=n.enter("footnoteReference"),u=n.enter("reference");return o+=i.move(n.safe(n.associationId(e),{after:"]",before:o})),u(),a(),o+=i.move("]"),o}function I$(){return{enter:{gfmFootnoteCallString:b$,gfmFootnoteCall:_$,gfmFootnoteDefinitionLabelString:k$,gfmFootnoteDefinition:S$},exit:{gfmFootnoteCallString:w$,gfmFootnoteCall:C$,gfmFootnoteDefinitionLabelString:j$,gfmFootnoteDefinition:E$}}}function T$(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:YN},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(r,i,o,a){const u=o.createTracker(a);let d=u.move("[^");const m=o.enter("footnoteDefinition"),p=o.enter("label");return d+=u.move(o.safe(o.associationId(r),{before:d,after:"]"})),p(),d+=u.move("]:"),r.children&&r.children.length>0&&(u.shift(4),d+=u.move((t?` +`:" ")+o.indentLines(o.containerFlow(r,u.current()),t?XN:R$))),m(),d}}function R$(e,t,n){return t===0?e:XN(e,t,n)}function XN(e,t,n){return(n?"":" ")+e}const A$=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];KN.peek=z$;function M$(){return{canContainEols:["delete"],enter:{strikethrough:O$},exit:{strikethrough:L$}}}function D$(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:A$}],handlers:{delete:KN}}}function O$(e){this.enter({type:"delete",children:[]},e)}function L$(e){this.exit(e)}function KN(e,t,n,r){const i=n.createTracker(r),o=n.enter("strikethrough");let a=i.move("~~");return a+=n.containerPhrasing(e,{...i.current(),before:a,after:"~"}),a+=i.move("~~"),o(),a}function z$(){return"~"}function P$(e){return e.length}function B$(e,t){const n=t||{},r=(n.align||[]).concat(),i=n.stringLength||P$,o=[],a=[],u=[],d=[];let m=0,p=-1;for(;++pm&&(m=e[p].length);++_d[_])&&(d[_]=C)}k.push(w)}a[p]=k,u[p]=S}let h=-1;if(typeof r=="object"&&"length"in r)for(;++hd[h]&&(d[h]=w),y[h]=w),g[h]=C}a.splice(1,0,g),u.splice(1,0,y),p=-1;const v=[];for(;++p "),o.shift(2);const a=n.indentLines(n.containerFlow(e,o.current()),F$);return i(),a}function F$(e,t,n){return">"+(n?"":" ")+e}function V$(e,t){return Mw(e,t.inConstruct,!0)&&!Mw(e,t.notInConstruct,!1)}function Mw(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let r=-1;for(;++ra&&(a=o):o=1,i=r+t.length,r=n.indexOf(t,i);return a}function G$(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function q$(e){const t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function W$(e,t,n,r){const i=q$(n),o=e.value||"",a=i==="`"?"GraveAccent":"Tilde";if(G$(e,n)){const h=n.enter("codeIndented"),g=n.indentLines(o,Y$);return h(),g}const u=n.createTracker(r),d=i.repeat(Math.max(U$(o,i)+1,3)),m=n.enter("codeFenced");let p=u.move(d);if(e.lang){const h=n.enter(`codeFencedLang${a}`);p+=u.move(n.safe(e.lang,{before:p,after:" ",encode:["`"],...u.current()})),h()}if(e.lang&&e.meta){const h=n.enter(`codeFencedMeta${a}`);p+=u.move(" "),p+=u.move(n.safe(e.meta,{before:p,after:` +`,encode:["`"],...u.current()})),h()}return p+=u.move(` +`),o&&(p+=u.move(o+` +`)),p+=u.move(d),m(),p}function Y$(e,t,n){return(n?"":" ")+e}function pv(e){const t=e.options.quote||'"';if(t!=='"'&&t!=="'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function X$(e,t,n,r){const i=pv(n),o=i==='"'?"Quote":"Apostrophe",a=n.enter("definition");let u=n.enter("label");const d=n.createTracker(r);let m=d.move("[");return m+=d.move(n.safe(n.associationId(e),{before:m,after:"]",...d.current()})),m+=d.move("]: "),u(),!e.url||/[\0- \u007F]/.test(e.url)?(u=n.enter("destinationLiteral"),m+=d.move("<"),m+=d.move(n.safe(e.url,{before:m,after:">",...d.current()})),m+=d.move(">")):(u=n.enter("destinationRaw"),m+=d.move(n.safe(e.url,{before:m,after:e.title?" ":` +`,...d.current()}))),u(),e.title&&(u=n.enter(`title${o}`),m+=d.move(" "+i),m+=d.move(n.safe(e.title,{before:m,after:i,...d.current()})),m+=d.move(i),u()),a(),m}function K$(e){const t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function yu(e){return"&#x"+e.toString(16).toUpperCase()+";"}function im(e,t,n){const r=yl(e),i=yl(t);return r===void 0?i===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:r===1?i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}ZN.peek=Z$;function ZN(e,t,n,r){const i=K$(n),o=n.enter("emphasis"),a=n.createTracker(r),u=a.move(i);let d=a.move(n.containerPhrasing(e,{after:i,before:u,...a.current()}));const m=d.charCodeAt(0),p=im(r.before.charCodeAt(r.before.length-1),m,i);p.inside&&(d=yu(m)+d.slice(1));const h=d.charCodeAt(d.length-1),g=im(r.after.charCodeAt(0),h,i);g.inside&&(d=d.slice(0,-1)+yu(h));const y=a.move(i);return o(),n.attentionEncodeSurroundingInfo={after:g.outside,before:p.outside},u+d+y}function Z$(e,t,n){return n.options.emphasis||"*"}function Q$(e,t){let n=!1;return mv(e,function(r){if("value"in r&&/\r?\n|\r/.test(r.value)||r.type==="break")return n=!0,Gy}),!!((!e.depth||e.depth<3)&&ov(e)&&(t.options.setext||n))}function J$(e,t,n,r){const i=Math.max(Math.min(6,e.depth||1),1),o=n.createTracker(r);if(Q$(e,n)){const p=n.enter("headingSetext"),h=n.enter("phrasing"),g=n.containerPhrasing(e,{...o.current(),before:` +`,after:` +`});return h(),p(),g+` +`+(i===1?"=":"-").repeat(g.length-(Math.max(g.lastIndexOf("\r"),g.lastIndexOf(` +`))+1))}const a="#".repeat(i),u=n.enter("headingAtx"),d=n.enter("phrasing");o.move(a+" ");let m=n.containerPhrasing(e,{before:"# ",after:` +`,...o.current()});return/^[\t ]/.test(m)&&(m=yu(m.charCodeAt(0))+m.slice(1)),m=m?a+" "+m:a,n.options.closeAtx&&(m+=" "+a),d(),u(),m}QN.peek=e7;function QN(e){return e.value||""}function e7(){return"<"}JN.peek=t7;function JN(e,t,n,r){const i=pv(n),o=i==='"'?"Quote":"Apostrophe",a=n.enter("image");let u=n.enter("label");const d=n.createTracker(r);let m=d.move("![");return m+=d.move(n.safe(e.alt,{before:m,after:"]",...d.current()})),m+=d.move("]("),u(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(u=n.enter("destinationLiteral"),m+=d.move("<"),m+=d.move(n.safe(e.url,{before:m,after:">",...d.current()})),m+=d.move(">")):(u=n.enter("destinationRaw"),m+=d.move(n.safe(e.url,{before:m,after:e.title?" ":")",...d.current()}))),u(),e.title&&(u=n.enter(`title${o}`),m+=d.move(" "+i),m+=d.move(n.safe(e.title,{before:m,after:i,...d.current()})),m+=d.move(i),u()),m+=d.move(")"),a(),m}function t7(){return"!"}eI.peek=n7;function eI(e,t,n,r){const i=e.referenceType,o=n.enter("imageReference");let a=n.enter("label");const u=n.createTracker(r);let d=u.move("![");const m=n.safe(e.alt,{before:d,after:"]",...u.current()});d+=u.move(m+"]["),a();const p=n.stack;n.stack=[],a=n.enter("reference");const h=n.safe(n.associationId(e),{before:d,after:"]",...u.current()});return a(),n.stack=p,o(),i==="full"||!m||m!==h?d+=u.move(h+"]"):i==="shortcut"?d=d.slice(0,-1):d+=u.move("]"),d}function n7(){return"!"}tI.peek=r7;function tI(e,t,n){let r=e.value||"",i="`",o=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++o\u007F]/.test(e.url))}rI.peek=i7;function rI(e,t,n,r){const i=pv(n),o=i==='"'?"Quote":"Apostrophe",a=n.createTracker(r);let u,d;if(nI(e,n)){const p=n.stack;n.stack=[],u=n.enter("autolink");let h=a.move("<");return h+=a.move(n.containerPhrasing(e,{before:h,after:">",...a.current()})),h+=a.move(">"),u(),n.stack=p,h}u=n.enter("link"),d=n.enter("label");let m=a.move("[");return m+=a.move(n.containerPhrasing(e,{before:m,after:"](",...a.current()})),m+=a.move("]("),d(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(d=n.enter("destinationLiteral"),m+=a.move("<"),m+=a.move(n.safe(e.url,{before:m,after:">",...a.current()})),m+=a.move(">")):(d=n.enter("destinationRaw"),m+=a.move(n.safe(e.url,{before:m,after:e.title?" ":")",...a.current()}))),d(),e.title&&(d=n.enter(`title${o}`),m+=a.move(" "+i),m+=a.move(n.safe(e.title,{before:m,after:i,...a.current()})),m+=a.move(i),d()),m+=a.move(")"),u(),m}function i7(e,t,n){return nI(e,n)?"<":"["}iI.peek=s7;function iI(e,t,n,r){const i=e.referenceType,o=n.enter("linkReference");let a=n.enter("label");const u=n.createTracker(r);let d=u.move("[");const m=n.containerPhrasing(e,{before:d,after:"]",...u.current()});d+=u.move(m+"]["),a();const p=n.stack;n.stack=[],a=n.enter("reference");const h=n.safe(n.associationId(e),{before:d,after:"]",...u.current()});return a(),n.stack=p,o(),i==="full"||!m||m!==h?d+=u.move(h+"]"):i==="shortcut"?d=d.slice(0,-1):d+=u.move("]"),d}function s7(){return"["}function gv(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function o7(e){const t=gv(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function a7(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function sI(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function l7(e,t,n,r){const i=n.enter("list"),o=n.bulletCurrent;let a=e.ordered?a7(n):gv(n);const u=e.ordered?a==="."?")":".":o7(n);let d=t&&n.bulletLastUsed?a===n.bulletLastUsed:!1;if(!e.ordered){const p=e.children?e.children[0]:void 0;if((a==="*"||a==="-")&&p&&(!p.children||!p.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(d=!0),sI(n)===a&&p){let h=-1;for(;++h-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+o);let a=o.length+1;(i==="tab"||i==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(a=Math.ceil(a/4)*4);const u=n.createTracker(r);u.move(o+" ".repeat(a-o.length)),u.shift(a);const d=n.enter("listItem"),m=n.indentLines(n.containerFlow(e,u.current()),p);return d(),m;function p(h,g,y){return g?(y?"":" ".repeat(a))+h:(y?o:o+" ".repeat(a-o.length))+h}}function d7(e,t,n,r){const i=n.enter("paragraph"),o=n.enter("phrasing"),a=n.containerPhrasing(e,r);return o(),i(),a}const f7=Hm(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function m7(e,t,n,r){return(e.children.some(function(a){return f7(a)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function h7(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}oI.peek=p7;function oI(e,t,n,r){const i=h7(n),o=n.enter("strong"),a=n.createTracker(r),u=a.move(i+i);let d=a.move(n.containerPhrasing(e,{after:i,before:u,...a.current()}));const m=d.charCodeAt(0),p=im(r.before.charCodeAt(r.before.length-1),m,i);p.inside&&(d=yu(m)+d.slice(1));const h=d.charCodeAt(d.length-1),g=im(r.after.charCodeAt(0),h,i);g.inside&&(d=d.slice(0,-1)+yu(h));const y=a.move(i+i);return o(),n.attentionEncodeSurroundingInfo={after:g.outside,before:p.outside},u+d+y}function p7(e,t,n){return n.options.strong||"*"}function g7(e,t,n,r){return n.safe(e.value,r)}function x7(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function y7(e,t,n){const r=(sI(n)+(n.options.ruleSpaces?" ":"")).repeat(x7(n));return n.options.ruleSpaces?r.slice(0,-1):r}const aI={blockquote:H$,break:Dw,code:W$,definition:X$,emphasis:ZN,hardBreak:Dw,heading:J$,html:QN,image:JN,imageReference:eI,inlineCode:tI,link:rI,linkReference:iI,list:l7,listItem:u7,paragraph:d7,root:m7,strong:oI,text:g7,thematicBreak:y7};function v7(){return{enter:{table:b7,tableData:Ow,tableHeader:Ow,tableRow:k7},exit:{codeText:S7,table:_7,tableData:Xg,tableHeader:Xg,tableRow:Xg}}}function b7(e){const t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function _7(e){this.exit(e),this.data.inTable=void 0}function k7(e){this.enter({type:"tableRow",children:[]},e)}function Xg(e){this.exit(e)}function Ow(e){this.enter({type:"tableCell",children:[]},e)}function S7(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,w7));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function w7(e,t){return t==="|"?t:e}function C7(e){const t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,i=t.stringLength,o=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:` +`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:g,table:a,tableCell:d,tableRow:u}};function a(y,v,k,S){return m(p(y,k,S),y.align)}function u(y,v,k,S){const _=h(y,k,S),w=m([_]);return w.slice(0,w.indexOf(` +`))}function d(y,v,k,S){const _=k.enter("tableCell"),w=k.enter("phrasing"),C=k.containerPhrasing(y,{...S,before:o,after:o});return w(),_(),C}function m(y,v){return B$(y,{align:v,alignDelimiters:r,padding:n,stringLength:i})}function p(y,v,k){const S=y.children;let _=-1;const w=[],C=v.enter("table");for(;++_0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const V7={tokenize:Z7,partial:!0};function U7(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:Y7,continuation:{tokenize:X7},exit:K7}},text:{91:{name:"gfmFootnoteCall",tokenize:W7},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:G7,resolveTo:q7}}}}function G7(e,t,n){const r=this;let i=r.events.length;const o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let a;for(;i--;){const d=r.events[i][1];if(d.type==="labelImage"){a=d;break}if(d.type==="gfmFootnoteCall"||d.type==="labelLink"||d.type==="label"||d.type==="image"||d.type==="link")break}return u;function u(d){if(!a||!a._balanced)return n(d);const m=Mi(r.sliceSerialize({start:a.end,end:r.now()}));return m.codePointAt(0)!==94||!o.includes(m.slice(1))?n(d):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),t(d))}}function q7(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const o={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},a={type:"chunkString",contentType:"string",start:Object.assign({},o.start),end:Object.assign({},o.end)},u=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",i,t],["exit",i,t],["enter",o,t],["enter",a,t],["exit",a,t],["exit",o,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(n,e.length-n+1,...u),e}function W7(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o=0,a;return u;function u(h){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(h),e.exit("gfmFootnoteCallLabelMarker"),d}function d(h){return h!==94?n(h):(e.enter("gfmFootnoteCallMarker"),e.consume(h),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",m)}function m(h){if(o>999||h===93&&!a||h===null||h===91||gn(h))return n(h);if(h===93){e.exit("chunkString");const g=e.exit("gfmFootnoteCallString");return i.includes(Mi(r.sliceSerialize(g)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(h),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(h)}return gn(h)||(a=!0),o++,e.consume(h),h===92?p:m}function p(h){return h===91||h===92||h===93?(e.consume(h),o++,m):m(h)}}function Y7(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o,a=0,u;return d;function d(v){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(v),e.exit("gfmFootnoteDefinitionLabelMarker"),m}function m(v){return v===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(v),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",p):n(v)}function p(v){if(a>999||v===93&&!u||v===null||v===91||gn(v))return n(v);if(v===93){e.exit("chunkString");const k=e.exit("gfmFootnoteDefinitionLabelString");return o=Mi(r.sliceSerialize(k)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(v),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),g}return gn(v)||(u=!0),a++,e.consume(v),v===92?h:p}function h(v){return v===91||v===92||v===93?(e.consume(v),a++,p):p(v)}function g(v){return v===58?(e.enter("definitionMarker"),e.consume(v),e.exit("definitionMarker"),i.includes(o)||i.push(o),Ut(e,y,"gfmFootnoteDefinitionWhitespace")):n(v)}function y(v){return t(v)}}function X7(e,t,n){return e.check(Au,t,e.attempt(V7,t,n))}function K7(e){e.exit("gfmFootnoteDefinition")}function Z7(e,t,n){const r=this;return Ut(e,i,"gfmFootnoteDefinitionIndent",5);function i(o){const a=r.events[r.events.length-1];return a&&a[1].type==="gfmFootnoteDefinitionIndent"&&a[2].sliceSerialize(a[1],!0).length===4?t(o):n(o)}}function Q7(e){let n=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:o,resolveAll:i};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function i(a,u){let d=-1;for(;++d1?d(v):(a.consume(v),h++,y);if(h<2&&!n)return d(v);const S=a.exit("strikethroughSequenceTemporary"),_=yl(v);return S._open=!_||_===2&&!!k,S._close=!k||k===2&&!!_,u(v)}}}class J7{constructor(){this.map=[]}add(t,n,r){eH(this,t,n,r)}consume(t){if(this.map.sort(function(o,a){return o[0]-a[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let i=r.pop();for(;i;){for(const o of i)t.push(o);i=r.pop()}this.map.length=0}}function eH(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i-1;){const B=r.events[M][1].type;if(B==="lineEnding"||B==="linePrefix")M--;else break}const $=M>-1?r.events[M][1].type:null,W=$==="tableHead"||$==="tableRow"?I:d;return W===I&&r.parser.lazy[r.now().line]?n(A):W(A)}function d(A){return e.enter("tableHead"),e.enter("tableRow"),m(A)}function m(A){return A===124||(a=!0,o+=1),p(A)}function p(A){return A===null?n(A):ut(A)?o>1?(o=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),y):n(A):Mt(A)?Ut(e,p,"whitespace")(A):(o+=1,a&&(a=!1,i+=1),A===124?(e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),a=!0,p):(e.enter("data"),h(A)))}function h(A){return A===null||A===124||gn(A)?(e.exit("data"),p(A)):(e.consume(A),A===92?g:h)}function g(A){return A===92||A===124?(e.consume(A),h):h(A)}function y(A){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(A):(e.enter("tableDelimiterRow"),a=!1,Mt(A)?Ut(e,v,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(A):v(A))}function v(A){return A===45||A===58?S(A):A===124?(a=!0,e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),k):O(A)}function k(A){return Mt(A)?Ut(e,S,"whitespace")(A):S(A)}function S(A){return A===58?(o+=1,a=!0,e.enter("tableDelimiterMarker"),e.consume(A),e.exit("tableDelimiterMarker"),_):A===45?(o+=1,_(A)):A===null||ut(A)?N(A):O(A)}function _(A){return A===45?(e.enter("tableDelimiterFiller"),w(A)):O(A)}function w(A){return A===45?(e.consume(A),w):A===58?(a=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(A),e.exit("tableDelimiterMarker"),C):(e.exit("tableDelimiterFiller"),C(A))}function C(A){return Mt(A)?Ut(e,N,"whitespace")(A):N(A)}function N(A){return A===124?v(A):A===null||ut(A)?!a||i!==o?O(A):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(A)):O(A)}function O(A){return n(A)}function I(A){return e.enter("tableRow"),D(A)}function D(A){return A===124?(e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),D):A===null||ut(A)?(e.exit("tableRow"),t(A)):Mt(A)?Ut(e,D,"whitespace")(A):(e.enter("data"),T(A))}function T(A){return A===null||A===124||gn(A)?(e.exit("data"),D(A)):(e.consume(A),A===92?L:T)}function L(A){return A===92||A===124?(e.consume(A),T):T(A)}}function iH(e,t){let n=-1,r=!0,i=0,o=[0,0,0,0],a=[0,0,0,0],u=!1,d=0,m,p,h;const g=new J7;for(;++nn[2]+1){const v=n[2]+1,k=n[3]-n[2]-1;e.add(v,k,[])}}e.add(n[3]+1,0,[["exit",h,t]])}return i!==void 0&&(o.end=Object.assign({},Qa(t.events,i)),e.add(i,0,[["exit",o,t]]),o=void 0),o}function zw(e,t,n,r,i){const o=[],a=Qa(t.events,n);i&&(i.end=Object.assign({},a),o.push(["exit",i,t])),r.end=Object.assign({},a),o.push(["exit",r,t]),e.add(n+1,0,o)}function Qa(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const sH={name:"tasklistCheck",tokenize:aH};function oH(){return{text:{91:sH}}}function aH(e,t,n){const r=this;return i;function i(d){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(d):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(d),e.exit("taskListCheckMarker"),o)}function o(d){return gn(d)?(e.enter("taskListCheckValueUnchecked"),e.consume(d),e.exit("taskListCheckValueUnchecked"),a):d===88||d===120?(e.enter("taskListCheckValueChecked"),e.consume(d),e.exit("taskListCheckValueChecked"),a):n(d)}function a(d){return d===93?(e.enter("taskListCheckMarker"),e.consume(d),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),u):n(d)}function u(d){return ut(d)?t(d):Mt(d)?e.check({tokenize:lH},t,n)(d):n(d)}}function lH(e,t,n){return Ut(e,r,"whitespace");function r(i){return i===null?n(i):t(i)}}function cH(e){return jN([D7(),U7(),Q7(e),nH(),oH()])}const uH={};function dH(e){const t=this,n=e||uH,r=t.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),o=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),a=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(cH(n)),o.push(T7()),a.push(R7(n))}const fH=30,Kg=10;function mH({className:e,children:t}){const[n,r]=j.useState(!1),[i,o]=j.useState(!1),a=String(t).replace(/\n$/,""),u=e?.replace("language-","")||"",d=a.split(` +`),m=d.length>fH,p=m?d.length-Kg*2:0,h=j.useCallback(()=>{navigator.clipboard.writeText(a),r(!0),setTimeout(()=>r(!1),1500)},[a]);return c.jsxs("div",{className:"code-block-wrap",children:[c.jsxs("div",{className:"code-block-header",children:[c.jsxs("span",{className:"code-block-lang",children:[u||"code",m?` (${d.length} lines)`:""]}),c.jsx("button",{className:"code-block-copy",onClick:h,children:n?c.jsxs(c.Fragment,{children:[c.jsx(Nl,{})," ",c.jsx("span",{children:"Copied"})]}):c.jsxs(c.Fragment,{children:[c.jsx(Cm,{})," ",c.jsx("span",{children:"Copy"})]})})]}),c.jsx("pre",{children:c.jsx("code",{className:e,children:m&&!i?c.jsxs(c.Fragment,{children:[d.slice(0,Kg).join(` +`)+` +`,c.jsxs("span",{className:"code-block-omitted",onClick:()=>o(!0),children:["... +",p," lines (click to expand)"]}),` +`+d.slice(-Kg).join(` +`)]}):a})}),m&&i&&c.jsxs("button",{className:"code-block-collapse-btn",onClick:()=>o(!1),children:["Collapse (",d.length," lines)"]})]})}const hH={code({className:e,children:t,...n}){return e?.startsWith("language-")?c.jsx(mH,{className:e,children:t}):c.jsx("code",{className:e,...n,children:t})}},pH=3e3,gH=60,Zg=800;function Pw(e){if(e.length>pH)return!0;let t=0;for(let n=0;n=gH)return!0;return!1}function xH(e){const t=e.lastIndexOf(` +`,Zg);return e.slice(0,t>Zg/2?t:Zg)}const sr=St.memo(function({content:t,className:n="msg-content-agent",collapseMode:r="auto"}){const i=r!=="never"&&Pw(t),[o,a]=j.useState(i);j.useEffect(()=>{a(r!=="never"&&Pw(t))},[r,t]);const u=o?xH(t):t,d=t.split(` +`).length,m=t.length;return c.jsxs("div",{className:n,children:[c.jsx(Q9,{remarkPlugins:[dH],components:hH,children:u}),i&&o&&c.jsxs("button",{className:"msg-collapse-toggle",onClick:()=>a(!1),children:["Show more (",d," lines, ",(m/1e3).toFixed(1),"k chars)"]}),i&&!o&&c.jsx("button",{className:"msg-collapse-toggle",onClick:()=>a(!0),children:"Show less"})]})}),Bw={native:"OpenOPC Native",codex:"Codex",claude_code:"Claude Code",cursor:"Cursor",opencode:"OpenCode"},vu="codex",Qg="native",yH=["codex","native","claude_code","cursor","opencode"],vH=["native","codex","claude_code","cursor","opencode"];function gI(e){if(!e)return{kind:"fallback"};if(e.kind==="employee"){const t=String(e.id??e.employee_id??"").trim();return t?{kind:"employee",id:t}:{kind:"fallback"}}if(e.kind==="template"){const t=String(e.id??e.template_id??"").trim();return t?{kind:"template",id:t}:{kind:"fallback"}}return{kind:"fallback"}}function xI(e){const t=gI(e);return t.kind==="fallback"?"fallback:":`${t.kind}:${t.id??""}`}function bH(e,t,n){const r=String(e.role_id??"").trim(),i=String(e.role_label??"").trim(),o=`${r} ${i} ${e.role_responsibility??""}`.toLowerCase(),a=new Set((e.same_role_employee_ids??[]).map(m=>String(m??"").trim()).filter(Boolean)),u=t.map(m=>{const p=String(m.employee_id??"").trim(),h=String(m.employee_name??p).trim()||p,g=String(m.role_id??"").trim(),y=String(m.category??"").trim(),v=[g,y].filter(Boolean).join(" ยท ")||p;return{kind:"employee",id:p,name:h,subtitle:v,category:y,searchText:`${p} ${h} ${g} ${y} ${(m.domains??[]).join(" ")} ${(m.tags??[]).join(" ")}`.toLowerCase(),rank:a.has(p)||g===r?0:2}}).filter(m=>m.id).sort((m,p)=>m.rank-p.rank||m.name.localeCompare(p.name)),d=n.map(m=>{const p=String(m.template_id??"").trim(),h=String(m.template_name??p).trim()||p,g=String(m.category??"").trim(),y=[g,p].filter(Boolean).join(" ยท ")||p,v=`${p} ${h} ${g} ${(m.domains??[]).join(" ")} ${(m.tags??[]).join(" ")}`.toLowerCase(),k=o.split(/[^a-z0-9]+/).filter(S=>S.length>=3).reduce((S,_)=>S+(v.includes(_)?1:0),0);return{kind:"template",id:p,name:h,subtitle:y,category:g,searchText:v,rank:k}}).filter(m=>m.id).sort((m,p)=>p.rank-m.rank||m.name.localeCompare(p.name));return[...u,...d,{kind:"fallback",id:"",name:"Fallback role-only",subtitle:"No employee override",category:"fallback",searchText:"fallback role only no employee override"}]}function _H(e,t){const n=xI(t);return e.find(r=>`${r.kind}:${r.id}`===n)??e[0]}function kH(e,t){const n=t.toLowerCase().split(/\s+/).filter(Boolean);return n.length===0?!0:n.every(r=>e.searchText.includes(r))}function SH(e){return e.map(t=>{const n=String(t.role_id??"").trim(),r=String(t.existing_employee?.employee_id??"").trim(),i=String(t.candidate?.template_id??"").trim(),o=r?{kind:"employee",id:r}:i?{kind:"template",id:i}:{kind:"fallback"};return{role_id:n,role_label:t.role_labels?.[0]??n,role_responsibility:"",default_selection:o,same_role_employee_ids:t.existing_employee_ids??[],fallback_available:!0,default_agent:t.default_agent??vu,selected_agent:t.selected_agent??t.default_agent??vu,default_source:"recruitment"}}).filter(t=>t.role_id)}function wH(e,t){return t.kind==="template"&&e?.candidate?.template_id===t.id?e.candidate.proposed_name||e.candidate.template_name||t.name:t.kind==="employee"&&e?.existing_employee?.employee_id===t.id&&e.existing_employee.employee_name||t.name}function $w(e,t){const n={},r=e.staffing_selections??{};for(const i of t){const o=String(i.role_id??"").trim();o&&(n[o]=gI(r[o]??i.default_selection))}return n}function Hw(e,t){const n=e.recruitment_role_agents??{},r={};for(const i of t){const o=String(i.role_id??"").trim();o&&(r[o]=n[o]??i.selected_agent??i.default_agent??vu)}return r}function CH(e){return!!(String(e.checkpoint_response_message_id??"").trim()||String(e.checkpoint_responded_at??"").trim()||String(e.checkpoint_reply_kind??"").trim())}const yI=St.memo(function({meta:t,onReply:n,responded:r}){const i=t.proposals??[],o=j.useMemo(()=>{const L={};for(const A of i){const M=String(A.role_id??"").trim();M&&(L[M]=A)}return L},[i]),a=j.useMemo(()=>t.staffing_roles?.length?t.staffing_roles:SH(i),[t.staffing_roles,i]),u=t.staffing_pool?.employees??[],d=t.staffing_pool?.templates??[],m=t.recruitment_rationales??[],p=j.useMemo(()=>{const L={};for(const A of a){const M=String(A.role_id??"").trim();M&&(L[M]=bH(A,u,d))}return L},[u,a,d]),[h,g]=j.useState({}),[y,v]=j.useState(""),[k,S]=j.useState(()=>$w(t,a)),[_,w]=j.useState(()=>Hw(t,a)),[C,N]=j.useState(t.recruitment_agent??Qg),O=r;j.useEffect(()=>{!O||!CH(t)||(S($w(t,a)),w(Hw(t,a)),N(t.recruitment_agent??Qg))},[O,t,a]),j.useEffect(()=>{N(t.recruitment_agent??Qg)},[t.recruitment_agent]);const I=j.useCallback(L=>{const A=String(t.checkpoint_id??"").trim();if(!A)throw new Error("Recruitment checkpoint reply requires checkpoint_id metadata.");const M=String(t.checkpoint_type??"").trim();return{response_to_checkpoint_id:A,response_to_checkpoint_type:M||"company_recruitment_confirmation",checkpoint_reply_kind:L,staffing_selections:k,recruitment_agent:C,recruitment_role_agents:a.reduce(($,W)=>{const B=String(W.role_id??"").trim();return B&&($[B]=_[B]??W.selected_agent??W.default_agent??vu),$},{})}},[t.checkpoint_id,t.checkpoint_type,C,_,a,k]),D=j.useCallback(()=>{O||n("approve",I("approve"))},[I,O,n]),T=j.useCallback(()=>{O||!y.trim()||(n(y.trim(),I("feedback")),v(""))},[I,O,y,n]);return c.jsxs("div",{className:"ckpt-panel ckpt-recruitment",children:[c.jsxs("div",{className:"ckpt-header",children:[c.jsx("div",{className:"ckpt-icon ckpt-icon-recruit",children:c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[c.jsx("circle",{cx:"6",cy:"5",r:"3"}),c.jsx("path",{d:"M2 14c0-2.2 1.8-4 4-4s4 1.8 4 4"}),c.jsx("path",{d:"M12 5v4M10 7h4"})]})}),c.jsx("div",{className:"ckpt-title",children:"Recruitment Review"}),c.jsx("span",{className:"ckpt-badge ckpt-badge-profile",children:t.company_profile||"corporate"}),O&&c.jsx("span",{className:"ckpt-badge ckpt-badge-responded",children:"Responded"})]}),t.summary&&c.jsx("div",{className:"ckpt-summary",children:t.summary}),c.jsxs("div",{className:"ckpt-recruiter-agent",children:[c.jsx("label",{className:"ckpt-agent-label",htmlFor:`recruitment-recruiter-agent-${t.checkpoint_id}`,children:"Recruiter Agent"}),c.jsx("select",{id:`recruitment-recruiter-agent-${t.checkpoint_id}`,className:"ckpt-agent-select",value:C,onChange:L=>N(L.target.value),disabled:O,children:vH.map(L=>c.jsx("option",{value:L,children:Bw[L]},L))})]}),m.length>0&&c.jsx("div",{className:"ckpt-recruitment-reasons",children:m.map(L=>c.jsxs("div",{className:"ckpt-recruitment-reason",children:[c.jsxs("div",{className:"ckpt-proposal-header",children:[c.jsx("span",{className:"ckpt-role-name",children:L.role_id}),L.role_label&&L.role_label!==L.role_id&&c.jsx("span",{className:"ckpt-field-tag",children:L.role_label}),L.selection_label&&c.jsx("span",{className:"ckpt-badge ckpt-badge-template",children:L.selection_label})]}),L.rationale&&c.jsx("div",{className:"ckpt-rationale",children:L.rationale})]},L.role_id))}),c.jsx("div",{className:"ckpt-staffing-grid",children:a.map(L=>{const A=String(L.role_id??"").trim(),M=p[A]??[{kind:"fallback",id:"",name:"Fallback role-only",subtitle:"No employee override",category:"fallback",searchText:"fallback role only no employee override"}],$=_H(M,k[A]),W=o[A],B=h[A]??"",U=M.filter(H=>kH(H,B)).slice(0,8);return c.jsxs("div",{className:"ckpt-staffing-card",children:[c.jsxs("div",{className:"ckpt-proposal-header",children:[c.jsx("span",{className:"ckpt-role-name",children:A}),c.jsx("span",{className:`ckpt-badge ckpt-badge-${$.kind}`,children:$.kind})]}),L.role_label&&L.role_label!==A&&c.jsx("div",{className:"ckpt-role-labels",children:c.jsx("span",{className:"ckpt-field-tag",children:L.role_label})}),c.jsxs("div",{className:"ckpt-staffing-selected",children:[c.jsx("div",{className:"ckpt-cand-name",children:wH(W,$)}),c.jsxs("div",{className:"ckpt-cand-meta",children:[c.jsx("span",{className:"ckpt-cand-category",children:$.category}),c.jsx("span",{className:"ckpt-domain-tag",children:$.subtitle})]})]}),c.jsx("input",{className:"ckpt-staffing-search",value:B,onChange:H=>g(V=>({...V,[A]:H.target.value})),placeholder:"Search employees or templates...",disabled:O}),c.jsx("div",{className:"ckpt-staffing-options",children:U.map(H=>{const V=`${H.kind}:${H.id}`===xI(k[A]);return c.jsxs("button",{className:`ckpt-staffing-option${V?" active":""}`,onClick:()=>S(Y=>({...Y,[A]:{kind:H.kind,id:H.id}})),disabled:O,title:H.subtitle,children:[c.jsx("span",{className:"ckpt-staffing-option-kind",children:H.kind}),c.jsx("span",{className:"ckpt-staffing-option-name",children:H.name})]},`${H.kind}:${H.id}`)})}),c.jsxs("div",{className:"ckpt-agent-picker",children:[c.jsx("label",{className:"ckpt-agent-label",htmlFor:`recruit-agent-${t.checkpoint_id}-${A}`,children:"Execution Agent"}),c.jsx("select",{id:`recruit-agent-${t.checkpoint_id}-${A}`,className:"ckpt-agent-select",value:_[A]??L.selected_agent??L.default_agent??vu,onChange:H=>w(V=>({...V,[A]:H.target.value})),disabled:O,children:yH.map(H=>c.jsx("option",{value:H,children:Bw[H]},H))})]})]},A)})}),!O&&c.jsxs("div",{className:"ckpt-actions ckpt-actions-inline-feedback",children:[c.jsx("button",{className:"ckpt-btn ckpt-btn-approve",onClick:D,children:"Approve"}),c.jsx("textarea",{className:"ckpt-feedback-input ckpt-feedback-inline-input",placeholder:"Feedback to refine recruitment...",value:y,onChange:L=>v(L.target.value),rows:2}),c.jsx("button",{className:"ckpt-btn ckpt-btn-feedback",onClick:T,disabled:!y.trim(),children:"Send Feedback"})]})]})}),Fw={native:"OpenOPC Native",codex:"Codex",claude_code:"Claude Code",cursor:"Cursor",opencode:"OpenCode"},Ky="codex",Jg="native",jH=["codex","native","claude_code","cursor","opencode"],EH=["native","codex","claude_code","cursor","opencode"];function vI(e){if(!e)return{kind:"fallback"};if(e.kind==="employee"){const t=String(e.id??e.employee_id??"").trim();return t?{kind:"employee",id:t}:{kind:"fallback"}}if(e.kind==="template"){const t=String(e.id??e.template_id??"").trim();return t?{kind:"template",id:t}:{kind:"fallback"}}return{kind:"fallback"}}function bI(e){const t=vI(e);return t.kind==="fallback"?"fallback:":`${t.kind}:${t.id??""}`}function NH(e,t,n){const r=String(e.role_id??"").trim(),i=String(e.role_label??"").trim(),o=`${r} ${i} ${e.role_responsibility??""}`.toLowerCase(),a=new Set((e.same_role_employee_ids??[]).map(p=>String(p??"").trim()).filter(Boolean)),u=p=>{const h=`${p.template_id??""} ${p.template_name??""} ${p.category??""} ${(p.domains??[]).join(" ")} ${(p.tags??[]).join(" ")}`.toLowerCase(),g=String(p.category??"").toLowerCase();let y=0;for(const v of o.split(/[^a-z0-9]+/).filter(k=>k.length>=3))(h.includes(v)||g&&v.includes(g))&&(y+=1);return(h.includes(r.replace(/_/g,"-"))||h.includes(r.replace(/_/g," ")))&&(y+=2),y},d=t.map(p=>{const h=String(p.employee_id??"").trim(),g=String(p.employee_name??h).trim()||h,y=String(p.role_id??"").trim(),v=String(p.category??"").trim(),k=[y,v].filter(Boolean).join(" ยท ")||h;return{kind:"employee",id:h,name:g,subtitle:k,category:v,searchText:`${h} ${g} ${y} ${v} ${(p.domains??[]).join(" ")} ${(p.tags??[]).join(" ")}`.toLowerCase(),rank:a.has(h)||y===r?0:2}}).filter(p=>p.id).sort((p,h)=>p.rank-h.rank||p.name.localeCompare(h.name)),m=n.map(p=>{const h=String(p.template_id??"").trim(),g=String(p.template_name??h).trim()||h,y=String(p.category??"").trim(),v=[y,h].filter(Boolean).join(" ยท ")||h;return{kind:"template",id:h,name:g,subtitle:v,category:y,searchText:`${h} ${g} ${y} ${(p.domains??[]).join(" ")} ${(p.tags??[]).join(" ")}`.toLowerCase(),rank:u(p)}}).filter(p=>p.id).sort((p,h)=>h.rank-p.rank||p.name.localeCompare(h.name));return[...d,...m,{kind:"fallback",id:"",name:"Fallback role-only",subtitle:"No employee override",category:"fallback",searchText:"fallback role only no employee override"}]}function IH(e,t){const n=bI(t);return e.find(r=>`${r.kind}:${r.id}`===n)??e[0]}function TH(e,t){const n=t.toLowerCase().split(/\s+/).filter(Boolean);return n.length===0?!0:n.every(r=>e.searchText.includes(r))}function Vw(e,t){const n={},r=e.staffing_selections??{};for(const i of t){const o=String(i.role_id??"").trim();o&&(n[o]=vI(r[o]??i.default_selection))}return n}function Uw(e,t){const n=e.recruitment_role_agents??{},r={};for(const i of t){const o=String(i.role_id??"").trim();o&&(r[o]=n[o]??i.selected_agent??i.default_agent??Ky)}return r}function RH(e){return!!(String(e.checkpoint_response_message_id??"").trim()||String(e.checkpoint_responded_at??"").trim()||String(e.staffing_action??"").trim())}const _I=St.memo(function({meta:t,onReply:n,responded:r}){const i=j.useMemo(()=>t.staffing_roles??[],[t.staffing_roles]),o=t.staffing_pool?.employees??[],a=t.staffing_pool?.templates??[],u=j.useMemo(()=>{const O={};for(const I of i){const D=String(I.role_id??"").trim();D&&(O[D]=NH(I,o,a))}return O},[o,i,a]),[d,m]=j.useState({}),[p,h]=j.useState(()=>Vw(t,i)),[g,y]=j.useState(()=>Uw(t,i)),[v,k]=j.useState(t.recruitment_agent??Jg),S=r,_=t.recommended_action==="auto_recruit"&&a.length>0;j.useEffect(()=>{!S||!RH(t)||(h(Vw(t,i)),y(Uw(t,i)),k(t.recruitment_agent??Jg))},[S,t,i]),j.useEffect(()=>{k(t.recruitment_agent??Jg)},[t.recruitment_agent]);const w=j.useCallback(O=>{const I=String(t.checkpoint_id??"").trim();if(!I)throw new Error("Staffing checkpoint reply requires checkpoint_id metadata.");return{response_to_checkpoint_id:I,response_to_checkpoint_type:"company_staffing_selection",staffing_action:O,staffing_selections:p,recruitment_agent:v,recruitment_role_agents:i.reduce((D,T)=>{const L=String(T.role_id??"").trim();return L&&(D[L]=g[L]??T.selected_agent??T.default_agent??Ky),D},{})}},[t.checkpoint_id,v,g,i,p]),C=j.useCallback(()=>{S||n("approve",w("manual_approve"))},[w,S,n]),N=j.useCallback(()=>{S||n("auto recruit",w("auto_recruit"))},[w,S,n]);return c.jsxs("div",{className:"ckpt-panel ckpt-staffing",children:[c.jsxs("div",{className:"ckpt-header",children:[c.jsx("div",{className:"ckpt-icon ckpt-icon-staffing",children:c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[c.jsx("path",{d:"M6 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"}),c.jsx("path",{d:"M1.5 14c.6-2.5 2.2-4 4.5-4s3.9 1.5 4.5 4"}),c.jsx("path",{d:"M12.5 3.5v5M10 6h5"})]})}),c.jsx("div",{className:"ckpt-title",children:"Manual Staffing"}),c.jsx("span",{className:"ckpt-badge ckpt-badge-profile",children:t.company_profile||"corporate"}),_&&!S&&c.jsx("span",{className:"ckpt-badge ckpt-badge-scope",children:"Recruit recommended"}),S&&c.jsx("span",{className:"ckpt-badge ckpt-badge-responded",children:"Responded"})]}),t.summary&&c.jsx("div",{className:"ckpt-summary",children:t.summary}),c.jsxs("div",{className:"ckpt-recruiter-agent",children:[c.jsx("label",{className:"ckpt-agent-label",htmlFor:`staffing-recruiter-agent-${t.checkpoint_id}`,children:"Recruiter Agent"}),c.jsx("select",{id:`staffing-recruiter-agent-${t.checkpoint_id}`,className:"ckpt-agent-select",value:v,onChange:O=>k(O.target.value),disabled:S,children:EH.map(O=>c.jsx("option",{value:O,children:Fw[O]},O))})]}),c.jsx("div",{className:"ckpt-staffing-grid",children:i.map(O=>{const I=String(O.role_id??"").trim(),D=u[I]??[{kind:"fallback",id:"",name:"Fallback role-only",subtitle:"No employee override",category:"fallback",searchText:"fallback role only no employee override"}],T=IH(D,p[I]),L=d[I]??"",A=D.filter(M=>TH(M,L)).slice(0,8);return c.jsxs("div",{className:"ckpt-staffing-card",children:[c.jsxs("div",{className:"ckpt-proposal-header",children:[c.jsx("span",{className:"ckpt-role-name",children:I}),c.jsx("span",{className:`ckpt-badge ckpt-badge-${T.kind}`,children:T.kind})]}),O.role_label&&O.role_label!==I&&c.jsx("div",{className:"ckpt-role-labels",children:c.jsx("span",{className:"ckpt-field-tag",children:O.role_label})}),c.jsxs("div",{className:"ckpt-staffing-selected",children:[c.jsx("div",{className:"ckpt-cand-name",children:T.name}),c.jsxs("div",{className:"ckpt-cand-meta",children:[c.jsx("span",{className:"ckpt-cand-category",children:T.category}),c.jsx("span",{className:"ckpt-domain-tag",children:T.subtitle})]})]}),c.jsx("input",{className:"ckpt-staffing-search",value:L,onChange:M=>m($=>({...$,[I]:M.target.value})),placeholder:"Search employees or templates...",disabled:S}),c.jsx("div",{className:"ckpt-staffing-options",children:A.map(M=>{const $=`${M.kind}:${M.id}`===bI(p[I]);return c.jsxs("button",{className:`ckpt-staffing-option${$?" active":""}`,onClick:()=>h(W=>({...W,[I]:{kind:M.kind,id:M.id}})),disabled:S,title:M.subtitle,children:[c.jsx("span",{className:"ckpt-staffing-option-kind",children:M.kind}),c.jsx("span",{className:"ckpt-staffing-option-name",children:M.name})]},`${M.kind}:${M.id}`)})}),c.jsxs("div",{className:"ckpt-agent-picker",children:[c.jsx("label",{className:"ckpt-agent-label",htmlFor:`staffing-agent-${t.checkpoint_id}-${I}`,children:"Execution Agent"}),c.jsx("select",{id:`staffing-agent-${t.checkpoint_id}-${I}`,className:"ckpt-agent-select",value:g[I]??O.selected_agent??O.default_agent??Ky,onChange:M=>y($=>({...$,[I]:M.target.value})),disabled:S,children:jH.map(M=>c.jsx("option",{value:M,children:Fw[M]},M))})]})]},I)})}),!S&&c.jsx("div",{className:"ckpt-actions",children:_?c.jsxs(c.Fragment,{children:[c.jsx("button",{className:"ckpt-btn ckpt-btn-approve",onClick:N,children:"Auto Recruit"}),c.jsx("button",{className:"ckpt-btn ckpt-btn-feedback",onClick:C,children:"Approve Selections"})]}):c.jsxs(c.Fragment,{children:[c.jsx("button",{className:"ckpt-btn ckpt-btn-approve",onClick:C,children:"Approve Selections"}),a.length>0&&c.jsx("button",{className:"ckpt-btn ckpt-btn-feedback",onClick:N,children:"Auto Recruit"})]})})]})}),AH={task_adjustment:"Task Adjustment",runtime_replan:"Runtime Replan",org_mutation:"Org Mutation"},Gw={low:"var(--green)",medium:"var(--yellow)",high:"var(--red)"},kI=St.memo(function({meta:t,onReply:n,responded:r}){const i=r,o=j.useCallback(()=>{i||n("approve")},[i,n]),a=j.useCallback(()=>{i||n("deny")},[i,n]),u=t.role_changes??[],d=t.work_item_projection_changes??[],m=t.scope||"org_mutation",p=t.risk_level||"medium",h=t.impact_summary||{};return c.jsxs("div",{className:"ckpt-panel ckpt-reorg",children:[c.jsxs("div",{className:"ckpt-header",children:[c.jsx("div",{className:"ckpt-icon ckpt-icon-reorg",children:c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[c.jsx("rect",{x:"1",y:"1",width:"5",height:"5",rx:"1"}),c.jsx("rect",{x:"10",y:"1",width:"5",height:"5",rx:"1"}),c.jsx("rect",{x:"5.5",y:"10",width:"5",height:"5",rx:"1"}),c.jsx("path",{d:"M3.5 6v2.5a1 1 0 001 1h7a1 1 0 001-1V6"}),c.jsx("path",{d:"M8 9.5V10"})]})}),c.jsx("div",{className:"ckpt-title",children:t.title||"Company Reorg"}),i&&c.jsx("span",{className:"ckpt-badge ckpt-badge-responded",children:"Responded"})]}),c.jsxs("div",{className:"ckpt-reorg-badges",children:[c.jsx("span",{className:"ckpt-badge ckpt-badge-scope",children:AH[m]||m}),c.jsxs("span",{className:"ckpt-badge",style:{color:Gw[p]||"var(--text-secondary)",borderColor:Gw[p]||"var(--border)"},children:["Risk: ",p.charAt(0).toUpperCase()+p.slice(1)]})]}),t.summary&&c.jsx("div",{className:"ckpt-summary",children:t.summary}),t.rationale&&c.jsx("div",{className:"ckpt-rationale",children:t.rationale}),u.length>0&&c.jsxs("div",{className:"ckpt-changes-section",children:[c.jsx("div",{className:"ckpt-changes-title",children:"Role Changes"}),u.map((g,y)=>c.jsxs("div",{className:"ckpt-change-row",children:[c.jsx("span",{className:`ckpt-change-action ckpt-action-${g.action}`,children:g.action}),c.jsx("span",{className:"ckpt-change-id",children:g.role_id}),g.replacement_role_id&&c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"ckpt-change-arrow",children:"โ†’"}),c.jsx("span",{className:"ckpt-change-id",children:g.replacement_role_id})]}),g.reason&&c.jsx("span",{className:"ckpt-change-reason",children:g.reason})]},y))]}),d.length>0&&c.jsxs("div",{className:"ckpt-changes-section",children:[c.jsx("div",{className:"ckpt-changes-title",children:"Work Item Projection Changes"}),d.map((g,y)=>c.jsxs("div",{className:"ckpt-change-row",children:[c.jsx("span",{className:`ckpt-change-action ckpt-action-${g.action}`,children:g.action}),c.jsx("span",{className:"ckpt-change-id",children:g.work_item_projection_id}),g.replacement_work_item_projection_id&&c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"ckpt-change-arrow",children:"โ†’"}),c.jsx("span",{className:"ckpt-change-id",children:g.replacement_work_item_projection_id})]}),g.reason&&c.jsx("span",{className:"ckpt-change-reason",children:g.reason})]},y))]}),Object.keys(h).length>0&&c.jsxs("div",{className:"ckpt-impact",children:[h.affected_tasks!=null&&c.jsxs("span",{children:["Tasks affected: ",h.affected_tasks]}),h.affected_roles!=null&&c.jsxs("span",{children:["Roles affected: ",h.affected_roles]}),h.migration_count!=null&&c.jsxs("span",{children:["Migrations: ",h.migration_count]})]}),!i&&c.jsxs("div",{className:"ckpt-actions",children:[c.jsx("button",{className:"ckpt-btn ckpt-btn-approve",onClick:o,children:"Approve Reorg"}),c.jsx("button",{className:"ckpt-btn ckpt-btn-deny",onClick:a,children:"Deny"})]})]})}),MH=3e4;function DH(e){return e.split(` +`).map(t=>t.trim()).find(Boolean)??e}function OH(e){switch(e){case"timeout":case"timed_out":case"expired":return"Expired";case"stale":case"invalid":return"Inactive";case"cancelled":case"canceled":return"Cancelled";case"resolved":return"Resolved";default:return"Responded"}}const sm=St.memo(function({meta:t,onReply:n,responded:r}){const i=r,o=String(t.checkpoint_status??"").trim().toLowerCase(),a=OH(o),u=String(t.prompt??t.summary??""),d=j.useMemo(()=>u.split(` +`).map(O=>O.trim()).filter(Boolean),[u]),m=DH(u).replace(/^\[[^\]]+\]\s*/,"")||"Action Required",p=d.slice(1).join(` +`).trim(),h=String(t.summary??"").trim(),g=(t.options??[]).filter(O=>!!O?.id),y=j.useMemo(()=>(t.active_subagents??[]).filter(O=>!!O&&typeof O=="object"),[t.active_subagents]),v=j.useMemo(()=>(t.permission_requests??[]).filter(O=>!!O&&typeof O=="object"),[t.permission_requests]),k=String(t.worktree_path??"").trim(),S=y.length>0||v.length>0||!!k,[_,w]=j.useState(""),C=!!_&&!i;j.useEffect(()=>{if(!C)return;const O=window.setTimeout(()=>w(""),MH);return()=>window.clearTimeout(O)},[C,_]);const N=j.useCallback(O=>{i||C||(w(O.id),n(O.label||O.id))},[i,C,n]);return c.jsxs("div",{className:"ckpt-panel ckpt-escalation",children:[c.jsxs("div",{className:"ckpt-header",children:[c.jsx("div",{className:"ckpt-icon ckpt-icon-escalation",children:c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[c.jsx("path",{d:"M8 1.5L14.5 13H1.5L8 1.5Z"}),c.jsx("path",{d:"M8 5.5V9"}),c.jsx("circle",{cx:"8",cy:"11.5",r:"0.75",fill:"currentColor",stroke:"none"})]})}),c.jsx("div",{className:"ckpt-title",children:m}),c.jsx("span",{className:"ckpt-badge ckpt-badge-scope",children:String(t.escalation_type??"decision_needed").replace(/_/g," ")}),i&&c.jsx("span",{className:"ckpt-badge ckpt-badge-responded",children:a})]}),h&&h!==m&&c.jsxs("div",{className:"ckpt-section",children:[c.jsx("div",{className:"ckpt-section-title",children:"Summary"}),c.jsx(sr,{content:h,className:"ckpt-markdown"})]}),p&&c.jsxs("div",{className:"ckpt-section",children:[c.jsx("div",{className:"ckpt-section-title",children:"Request"}),c.jsx(sr,{content:p,className:"ckpt-markdown"})]}),S&&c.jsxs("details",{className:"ckpt-runtime-details",children:[c.jsx("summary",{children:"Runtime State"}),c.jsxs("div",{className:"ckpt-runtime-body",children:[k&&c.jsxs("div",{children:["Worktree: ",c.jsx("code",{children:k})]}),y.length>0&&c.jsxs("div",{children:["Active subagents: ",y.length]}),v.length>0&&c.jsxs("div",{children:["Pending permission records: ",v.length]})]})]}),!i&&g.length>0&&c.jsx("div",{className:"ckpt-actions ckpt-escalation-actions",children:g.map(O=>c.jsx("button",{className:`ckpt-btn ${O.id.includes("deny")?"ckpt-btn-deny":"ckpt-btn-approve"}${C?" ckpt-btn-submitting":""}`,onClick:()=>N(O),disabled:C,children:C&&_===O.id?"Submittingโ€ฆ":O.label||O.id},O.id))}),C&&c.jsx("div",{className:"ckpt-escalation-hint",children:"Decision sent โ€” waiting for server confirmationโ€ฆ"}),!i&&t.default_action&&c.jsxs("div",{className:"ckpt-escalation-hint",children:["Default on timeout: ",c.jsx("code",{children:t.default_action})]})]})});function LH(e){return e.split(` +`).map(t=>t.trim()).find(Boolean)??e}function zH(e){switch(e){case"ignored":return"Ignored";case"timeout":case"timed_out":case"expired":return"Expired";case"stale":case"invalid":return"Inactive";case"superseded":return"Superseded";case"cancelled":case"canceled":return"Cancelled";case"resolved":return"Resolved";default:return"Responded"}}const SI=St.memo(function({meta:t,onReply:n,responded:r}){const i=r,[o,a]=j.useState(""),[u,d]=j.useState(null),m=String(t.checkpoint_status??"").trim().toLowerCase(),p=zH(m),h=String(t.prompt??t.summary??"").trim(),y=`${String(t.work_item_projection_title??LH(h)??"Human Review").trim()||"Human Review"} (for self-evolution)`,v=String(t.summary??"").trim(),k=j.useMemo(()=>(t.active_subagents??[]).filter(T=>!!T&&typeof T=="object"),[t.active_subagents]),S=j.useMemo(()=>(t.permission_requests??[]).filter(T=>!!T&&typeof T=="object"),[t.permission_requests]),_=String(t.worktree_path??"").trim(),w=k.length>0||S.length>0||!!_,C=i||u!==null,N=j.useCallback((T,L="")=>{const A=String(t.checkpoint_id??"").trim();if(!A)throw new Error("Delivery self-evolution reply requires checkpoint_id metadata.");const M={response_to_checkpoint_id:A,response_to_checkpoint_type:"company_delivery_feedback",checkpoint_reply_kind:T};return(T==="approve"||T==="feedback")&&(M.self_evolution_trigger=!0,M.human_feedback_text=L),M},[t.checkpoint_id]),O=j.useCallback(()=>{if(C)return;const T=N("approve");d("approve"),n("I fully agree with this delivery.",T)},[C,N,n]),I=j.useCallback(()=>{const T=o.trim();if(C||!T)return;const L=N("feedback",T);d("feedback"),n(T,L),a("")},[C,N,o,n]),D=j.useCallback(()=>{if(C)return;const T=N("ignore");d("ignore"),n("Ignore this self-evolution review.",T)},[C,N,n]);return c.jsxs("div",{className:"ckpt-panel ckpt-delivery-feedback",children:[c.jsxs("div",{className:"ckpt-header",children:[c.jsx("div",{className:"ckpt-icon ckpt-icon-user-input",children:c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[c.jsx("path",{d:"M8 1.5L14 5v4.5c0 2.25-1.8 4.25-6 5-4.2-.75-6-2.75-6-5V5L8 1.5Z"}),c.jsx("path",{d:"M5.5 8.25L7.25 10l3.25-4"})]})}),c.jsx("div",{className:"ckpt-title",children:y}),c.jsx("span",{className:"ckpt-badge ckpt-badge-scope",children:String(t.feedback_scope??"final").replace(/_/g," ")}),i&&c.jsx("span",{className:"ckpt-badge ckpt-badge-responded",children:p})]}),v&&v!==y&&c.jsxs("div",{className:"ckpt-section",children:[c.jsx("div",{className:"ckpt-section-title",children:"Summary"}),c.jsx(sr,{content:v,className:"ckpt-markdown"})]}),h&&c.jsxs("div",{className:"ckpt-section",children:[c.jsx("div",{className:"ckpt-section-title",children:"Review Request"}),c.jsx(sr,{content:h,className:"ckpt-markdown"})]}),w&&c.jsxs("details",{className:"ckpt-runtime-details",children:[c.jsx("summary",{children:"Runtime State"}),c.jsxs("div",{className:"ckpt-runtime-body",children:[_&&c.jsxs("div",{children:["Worktree: ",c.jsx("code",{children:_})]}),k.length>0&&c.jsxs("div",{children:["Active subagents: ",k.length]}),S.length>0&&c.jsxs("div",{children:["Pending permission records: ",S.length]})]})]}),!i&&c.jsxs("div",{className:"ckpt-actions ckpt-actions-inline-feedback",children:[c.jsx("button",{className:"ckpt-btn ckpt-btn-approve",onClick:O,disabled:C,children:"Fully Agree"}),c.jsx("button",{className:"ckpt-btn ckpt-btn-cancel",onClick:D,disabled:C,children:"Ignore"}),c.jsx("textarea",{className:"ckpt-feedback-input ckpt-feedback-inline-input",placeholder:"Feedback for self-evolution...",value:o,onChange:T=>a(T.target.value),disabled:C,rows:2}),c.jsx("button",{className:"ckpt-btn ckpt-btn-feedback",onClick:I,disabled:C||!o.trim(),children:"Send Feedback"})]})]})}),sf="__other__",PH=["A","B","C"];function Ui(e){return String(e??"").trim()}function BH(e,t){const n=Ui(e.question),r=Ui(e.header);if(!n&&!r)return null;const i=(e.options??[]).slice(0,3).map((o,a)=>({id:Ui(o.id)||String.fromCharCode(97+a),label:Ui(o.label),description:Ui(o.description)})).filter(o=>o.label);return{id:Ui(e.id)||`question_${t+1}`,header:r,question:n||r,options:i,allow_freeform:e.allow_freeform!==!1,required:e.required!==!1}}const wI=St.memo(function({meta:t,onReply:n,responded:r}){const[i,o]=j.useState(""),[a,u]=j.useState({}),d=r,m=String(t.work_item_projection_title??t.work_item_projection_id??"Input Needed").trim()||"Input Needed",p=String(t.summary??"").trim(),h=String(t.prompt??"").trim(),g=String(t.context_note??"").trim(),y=String(t.resume_hint??"").trim(),v=j.useMemo(()=>(t.questions??[]).map(V=>String(V).trim()).filter(Boolean),[t.questions]),k=j.useMemo(()=>(t.input_questions??[]).map((V,Y)=>BH(V,Y)).filter(V=>V!==null),[t.input_questions]),S=k.some(V=>(V.options??[]).length>0),_=j.useMemo(()=>(t.required_fields??[]).map(V=>String(V).trim()).filter(Boolean),[t.required_fields]),w=j.useMemo(()=>(t.active_subagents??[]).filter(V=>!!V&&typeof V=="object"),[t.active_subagents]),C=j.useMemo(()=>(t.permission_requests??[]).filter(V=>!!V&&typeof V=="object"),[t.permission_requests]),N=String(t.worktree_path??"").trim(),O=String(t.requesting_role_id??"").trim(),I=String(t.requesting_task_id??"").trim(),D=String(t.requesting_work_item_id??"").trim(),T=String(t.seat_id??"").trim(),A=!!O||!!I||!!D||!!T||w.length>0||C.length>0||!!N,M=j.useCallback((V,Y)=>{u(Q=>({...Q,[V]:{freeformText:Q[V]?.freeformText??"",selectedOptionId:Y}}))},[]),$=j.useCallback((V,Y)=>{u(Q=>({...Q,[V]:{selectedOptionId:Q[V]?.selectedOptionId,freeformText:Y}}))},[]),W=j.useCallback(V=>{if(V.required===!1)return!0;const Y=a[V.id],Q=Y?.selectedOptionId;return!!(Q&&Q!==sf||V.allow_freeform!==!1&&Ui(Y?.freeformText))},[a]),B=S&&k.every(W),U=j.useCallback(()=>{const V=i.trim();d||!V||n(V)},[d,n,i]),H=j.useCallback(()=>{if(d||!B)return;const V={},Y=[];k.forEach(Q=>{const q=a[Q.id]??{freeformText:""},G=(Q.options??[]).find(te=>te.id===q.selectedOptionId),J=Ui(q.freeformText),X=[G?.label??"",J].filter(Boolean).join("; ");V[Q.id]={question_id:Q.id,question:Q.question,...G?{selected_option_id:G.id,selected_label:G.label}:{},...J?{freeform_text:J}:{},answer_text:X};const ee=Ui(Q.header)||Ui(Q.question)||Q.id;Y.push(`- ${ee}: ${X||"(no answer)"}`)}),n(Y.join(` +`),{user_input_answers:V})},[a,B,k,d,n]);return c.jsxs("div",{className:"ckpt-panel ckpt-user-input",children:[c.jsxs("div",{className:"ckpt-header",children:[c.jsx("div",{className:"ckpt-icon ckpt-icon-user-input",children:c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[c.jsx("path",{d:"M3 3.5h10v6H6.5L3 13V3.5Z"}),c.jsx("path",{d:"M5.5 6h5"}),c.jsx("path",{d:"M5.5 8h3.5"})]})}),c.jsx("div",{className:"ckpt-title",children:m}),c.jsx("span",{className:"ckpt-badge ckpt-badge-scope",children:"awaiting input"}),d&&c.jsx("span",{className:"ckpt-badge ckpt-badge-responded",children:"Responded"})]}),p&&c.jsxs("div",{className:"ckpt-section",children:[c.jsx("div",{className:"ckpt-section-title",children:"Summary"}),c.jsx(sr,{content:p,className:"ckpt-markdown"})]}),h&&c.jsxs("div",{className:"ckpt-section",children:[c.jsx("div",{className:"ckpt-section-title",children:"Request"}),c.jsx(sr,{content:h,className:"ckpt-markdown"})]}),S?c.jsxs("div",{className:"ckpt-section",children:[c.jsx("div",{className:"ckpt-section-title",children:"Questions"}),c.jsx("div",{className:"ckpt-choice-list",children:k.map(V=>{const Y=a[V.id]??{freeformText:""},Q=V.options??[],q=V.allow_freeform!==!1,G=q&&(Q.length===0||Y.selectedOptionId===sf);return c.jsxs("div",{className:"ckpt-choice-question",children:[V.header&&c.jsx("div",{className:"ckpt-question-header",children:V.header}),c.jsx(sr,{content:V.question,className:"ckpt-markdown"}),Q.length>0&&c.jsxs("div",{className:"ckpt-choice-grid",children:[Q.map((J,P)=>{const X=Y.selectedOptionId===J.id;return c.jsxs("button",{className:`ckpt-choice-option${X?" is-selected":""}`,onClick:()=>M(V.id,J.id),children:[c.jsx("span",{className:"ckpt-choice-letter",children:PH[P]??"?"}),c.jsxs("span",{className:"ckpt-choice-copy",children:[c.jsx("span",{className:"ckpt-choice-label",children:J.label}),J.description&&c.jsx("span",{className:"ckpt-choice-desc",children:J.description})]})]},J.id)}),q&&c.jsxs("button",{className:`ckpt-choice-option${Y.selectedOptionId===sf?" is-selected":""}`,onClick:()=>M(V.id,sf),children:[c.jsx("span",{className:"ckpt-choice-letter",children:"D"}),c.jsxs("span",{className:"ckpt-choice-copy",children:[c.jsx("span",{className:"ckpt-choice-label",children:"Other"}),c.jsx("span",{className:"ckpt-choice-desc",children:"Enter a custom answer"})]})]})]}),G&&c.jsx("textarea",{className:"ckpt-feedback-input ckpt-other-field",placeholder:"Type your answer...",value:Y.freeformText,onChange:J=>$(V.id,J.target.value),rows:3})]},V.id)})})]}):v.length>0&&c.jsxs("div",{className:"ckpt-section",children:[c.jsx("div",{className:"ckpt-section-title",children:"Questions"}),c.jsx("ul",{className:"ckpt-task-list",children:v.map(V=>c.jsx("li",{children:V},V))})]}),_.length>0&&c.jsxs("div",{className:"ckpt-section",children:[c.jsx("div",{className:"ckpt-section-title",children:"Required Fields"}),c.jsx("div",{className:"ckpt-task-tags",children:_.map(V=>c.jsx("span",{className:"ckpt-field-tag",children:V},V))})]}),g&&c.jsxs("div",{className:"ckpt-section",children:[c.jsx("div",{className:"ckpt-section-title",children:"Context"}),c.jsx(sr,{content:g,className:"ckpt-markdown ckpt-markdown-muted"})]}),y&&c.jsx("div",{className:"ckpt-escalation-hint",children:y}),A&&c.jsxs("details",{className:"ckpt-runtime-details",children:[c.jsx("summary",{children:"Runtime State"}),c.jsxs("div",{className:"ckpt-runtime-body",children:[O&&c.jsxs("div",{children:["Requester: ",c.jsx("code",{children:O})]}),D&&c.jsxs("div",{children:["Work item: ",c.jsx("code",{children:D})]}),I&&c.jsxs("div",{children:["Task: ",c.jsx("code",{children:I})]}),T&&c.jsxs("div",{children:["Seat: ",c.jsx("code",{children:T})]}),N&&c.jsxs("div",{children:["Worktree: ",c.jsx("code",{children:N})]}),w.length>0&&c.jsxs("div",{children:["Active subagents: ",w.length]}),C.length>0&&c.jsxs("div",{children:["Pending permission records: ",C.length]})]})]}),!d&&c.jsxs("div",{className:"ckpt-feedback-area",children:[S?null:c.jsx("textarea",{className:"ckpt-feedback-input",placeholder:"Reply with the missing input to continue...",value:i,onChange:V=>o(V.target.value),rows:3}),c.jsx("div",{className:"ckpt-feedback-btns",children:c.jsx("button",{className:"ckpt-btn ckpt-btn-approve",onClick:S?H:U,disabled:S?!B:!i.trim(),children:"Send Reply"})})]})]})}),Zy={todo:"To do",in_progress:"In progress",in_review:"In review",done:"Done"};function ex(e,t){if(t&&t in Zy)return t;switch(e){case"active":return"in_progress";case"waiting":return"in_review";case"done":return"done";case"failed":return"done";case"pending":return"todo";default:return"todo"}}function of(e){return Zy[e]??Zy.todo}const qw={active:0,waiting:1,failed:2,done:3,pending:4};function $H(e){if(e.length===0)return"pending";let t=e[0],n=qw[t]??99;for(const r of e){const i=qw[r]??99;i12&&/^[0-9a-f-]+$/i.test(e.replace(/_/g,""))}function ol(e){return typeof e=="string"?e.trim():""}function tx(...e){for(const t of e){const n=ol(t);if(n)return n}return""}function FH(e){const t=ol(e);return t?HH[t]??J0(t):""}function VH(e){return e==="done"?c.jsx("span",{className:"wi-projection-icon",children:"โœ“"}):e==="active"?c.jsx("span",{className:"wi-projection-icon wi-projection-pulse",children:"โ—"}):e==="failed"?c.jsx("span",{className:"wi-projection-icon",children:"โœ—"}):e==="waiting"?c.jsx("span",{className:"wi-projection-icon",children:"โ—"}):null}const UH={active:"active",waiting:"waiting",pending:"pending",done:"done",failed:"failed"};function GH(e){return e?e==="in-progress"?"in_progress":e==="in-review"?"in_review":e:"todo"}function qH(e){switch(e){case"running":case"waiting_for_peer":case"waiting_for_children":case"paused":case"needs_attention":return"active";case"awaiting_manager_review":case"awaiting_human":case"queued":case"ready":case"ready_for_rework":case"waiting_dependencies":return"waiting";case"approved":return"done";case"failed":case"cancelled":return"failed";default:return"pending"}}function WH(e){const t=ol(e.status).toLowerCase();return t==="done"||t==="delivered"?"done":t==="failed"||t==="cancelled"?"failed":t==="awaiting_peer"||t==="awaiting_manager_review"||t==="awaiting_human"||t==="awaiting_review"||t==="blocked"||t==="paused"||t==="awaiting_owner"?"waiting":t==="running"||t==="deliverable"||t==="active"||t==="ready"?"active":"pending"}function Qy({workItemLog:e,roleWorkItems:t,executorRoleWorkItems:n,childSessions:r,isCompanyRuntime:i=!1,onWorkItemClick:o}){const a=j.useMemo(()=>{const v=new Map;for(const k of r??[]){v.set(k.taskId,k);const S=ao(k);S&&v.set(S,k)}return v},[r]),u=j.useMemo(()=>{const v=new Map,k=[];for(const S of e){const _=ao(S),w=S.workItemProjectionId??_??"";if(!w)continue;if(!v.has(w)){k.push(w);const N=S.workItemProjectionTitle??w,O=S.roleName||(Ww(N)?"Agent":N);v.set(w,{projectionId:w,title:O,roleName:S.roleName,status:"pending",executionTurnId:_})}const C=v.get(w);switch(S.roleName?(C.roleName=S.roleName,C.title=S.roleName):S.workItemProjectionTitle&&!Ww(S.workItemProjectionTitle)&&(C.title=S.workItemProjectionTitle),_&&(C.executionTurnId=_),S.type){case"work_item_started":C.status="active";break;case"gate_approved":C.status="done";break;case"gate_rejected":C.status="active";break;case"awaiting_manager_review":case"awaiting_human":case"awaiting_review":case"awaiting_peer":C.status="waiting";break;case"work_item_failed":case"deadlock":C.status="failed";break}}for(const S of v.values()){if(!S.executionTurnId)continue;const _=a.get(S.executionTurnId);if(!_)continue;const w=Ig(_);w&&(S.title=w),_.workItemRoleName&&(S.roleName=_.workItemRoleName),_.status==="done"?S.status="done":_.status==="failed"&&(S.status="failed")}return k.map(S=>v.get(S))},[e,a]),d=j.useMemo(()=>{const v=new Map;for(const k of e){const S=ao(k);S&&!v.has(S)&&v.set(S,v.size)}return v},[e]),m=n??t,p=j.useMemo(()=>{if(!m)return[];const v=[];for(const k of Object.values(m)){if(!k||!Array.isArray(k.workItems)||k.workItems.length===0)continue;const _=[...k.workItems].sort((I,D)=>I.createdAt-D.createdAt).map(I=>{const D=GH(I.kanbanColumn),T=qH(I.phase);return{executionTurnId:I.executionTurnId??"",title:ol(I.title)||ol(I.executorRoleName)||ol(I.executorRoleId)||"Work item",status:T,statusLabel:of(D),columnId:D,updatedAt:I.updatedAt,workItemId:I.workItemId,progressLog:I.progressLog,activitySections:I.activitySections??[],isReviewTarget:I.isReviewTarget}}),w=UH[k.aggregatedStatus]??"pending",C=ex(w),N=_[_.length-1],O=[..._].reverse().find(I=>!!I.executionTurnId)?.executionTurnId??"";v.push({roleKey:k.roleKey,executionTurnId:N.executionTurnId||O,title:k.roleName||k.roleId,status:w,statusLabel:of(C),roleName:k.roleName,updatedAt:_.reduce((I,D)=>Math.max(I,D.updatedAt),0),turns:_,runtimeStatus:k.runtimeStatus})}return v.sort((k,S)=>{const _=k.turns[0]?.updatedAt??Number.POSITIVE_INFINITY,w=S.turns[0]?.updatedAt??Number.POSITIVE_INFINITY;return _-w}),v},[m]),h=j.useMemo(()=>{const v=[...r??[]];if(v.length===0)return[];const k=new Map,S=[];for(const w of v){const C=tx(w.workItemRoleId,w.assigneeIds[0],w.taskId);k.has(C)||(k.set(C,[]),S.push(C)),k.get(C).push(w)}S.sort((w,C)=>{const N=k.get(w)??[],O=k.get(C)??[],I=Math.min(...N.map(A=>d.get(ao(A)||A.taskId)??Number.POSITIVE_INFINITY)),D=Math.min(...O.map(A=>d.get(ao(A)||A.taskId)??Number.POSITIVE_INFINITY));if(I!==D)return I-D;const T=Math.min(...N.map(A=>A.updatedAt)),L=Math.min(...O.map(A=>A.updatedAt));return T-L});const _=[];for(const w of S){const C=k.get(w)??[];if(C.length===0)continue;const N=C.slice().sort((A,M)=>A.updatedAt-M.updatedAt).map(A=>{const M=WH(A),$=ao(A),W=ex(M,String(A.columnId??"").trim()||void 0);return{executionTurnId:$||A.taskId,title:tx(Ig(A),A.title,A.workItemRoleName,A.workItemRoleId,"Turn"),status:M,statusLabel:of(W),columnId:W,updatedAt:A.updatedAt}}),O=N[N.length-1],I=$H(N.map(A=>A.status)),D=ex(I),T=C[0],L=tx(T.workItemRoleName,T.workItemRoleId,T.assigneeIds[0],Ig(T),T.title,"Agent");_.push({roleKey:w,executionTurnId:O.executionTurnId,title:L,status:I,statusLabel:of(D),executionAgent:FH(T.selectedExecutionAgent??T.preferredAgent),roleName:T.workItemRoleName,updatedAt:Math.max(...C.map(A=>A.updatedAt)),turns:N})}return _},[r,d]),g=j.useMemo(()=>p.length>0?p:i?[]:h,[i,p,h]),y=j.useMemo(()=>g.length>0?g.map(v=>({projectionId:v.roleKey,title:v.title,roleName:v.roleName,status:v.status,executionTurnId:v.executionTurnId})):i?[]:u,[i,g,u]);return i&&g.length===0||e.length===0&&y.length===0&&g.length===0?null:c.jsxs("div",{className:"wi-progress-card",children:[c.jsxs("div",{className:"wi-progress-header",children:[c.jsx(jm,{}),c.jsx("span",{children:"Execution Progress"})]}),y.length>0&&c.jsx("div",{className:"wi-progress-pipeline",children:y.map((v,k)=>c.jsxs("div",{className:"wi-projection-group",children:[c.jsxs("button",{type:"button",className:`wi-projection-chip wi-projection-${v.status}`,onClick:()=>o?.(v.executionTurnId||""),title:`Open Runtime Session${v.roleName?`: ${v.title} (${v.roleName})`:`: ${v.title}`}`,children:[c.jsx("span",{className:"wi-projection-label",children:v.title}),VH(v.status)]}),ku.mime_type?.startsWith("image/")),r=e.filter(u=>u.mime_type?.startsWith("video/")),i=e.filter(u=>!u.mime_type?.startsWith("image/")&&!u.mime_type?.startsWith("video/")),o=n.length===1?"":(n.length<=3," cols-2"),a=r.length===1?"":(r.length<=3," cols-2");return c.jsxs("div",{className:"msg-attachments",children:[n.length>0&&c.jsx("div",{className:`msg-attachment-grid${o}`,children:n.map(u=>{const d=`/api/attachments/${u.attachment_id}/${u.filename}`;return c.jsx("img",{className:"msg-attachment-image",src:d,alt:u.filename,loading:"lazy",onClick:()=>t?.(d)},u.attachment_id)})}),r.length>0&&c.jsx("div",{className:`msg-attachment-grid${a}`,children:r.map(u=>{const d=`/api/attachments/${u.attachment_id}/${u.filename}`;return c.jsx("video",{className:"msg-attachment-video",src:d,controls:!0,preload:"metadata",playsInline:!0},u.attachment_id)})}),i.length>0&&c.jsx("div",{className:"msg-attachment-files",children:i.map(u=>c.jsxs("a",{className:"msg-attachment-file-chip",href:`/api/attachments/${u.attachment_id}/${u.filename}`,download:!0,title:u.filename,children:["๐Ÿ“Ž ",u.filename,c.jsx("span",{className:"msg-attachment-file-size",children:u.size_bytes<1024?`${u.size_bytes}B`:u.size_bytes<1048576?`${(u.size_bytes/1024).toFixed(0)}KB`:`${(u.size_bytes/1048576).toFixed(1)}MB`})]},u.attachment_id))})]})}const Yw=["#F59E0B","#10B981","#3B82F6","#8B5CF6","#EC4899","#06B6D4","#F97316","#6366F1"],Xw=new Map;function yv(e){const t=Xw.get(e);if(t)return t;let n=0;for(let i=0;id.toUpperCase());let a="โ—",u="active";return i.includes("gate passed")||i.includes("approved")||i.includes("completed")?(a="โœ“",u="passed"):i.includes("rejected")||i.includes("reworking")?(a="โ†ป",u="rejected"):i.includes("failed")||i.includes("timed out")?(a="โœ—",u="failed"):i.includes("awaiting")&&(a="โณ",u="waiting"),{projectionId:n,workItemName:o,action:r,icon:a,statusClass:u}}const ZH={session:{icon:c.jsx(x4,{}),title:"New Conversation",hint:"Send a message to start working with your OPC system"},activity:{icon:c.jsx(Yj,{}),title:"Activity Feed",hint:"Agent activity across all sessions will appear here."},secretary:{icon:c.jsx(au,{}),title:"Secretary",hint:"Manage policies, rules, and preferences for your agents."}},QH=5*6e4,Kw=200,nx=200,JH=96,eF=1,tF=700;function Zw(e){return e.scrollHeight-e.scrollTop-e.clientHeight"u"||!document.body)return!1;const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="fixed",t.style.top="0",t.style.left="-9999px",t.style.opacity="0",document.body.appendChild(t);try{return t.focus(),t.select(),t.setSelectionRange(0,t.value.length),document.execCommand("copy")}catch{return!1}finally{document.body.removeChild(t)}}function iF(e,t){return t==="full"?!0:String(e.metadata?.detail_visibility??"summary").trim()!=="full"}function sF(e){return String(e.metadata?.transcript_kind??"").trim()==="runtime_v2_user_turn"}function nu(e){return e.replace(/\s+/g," ").trim()}function oF(e){const t=String(e||"").trim(),n=t.match(/^\*\*(.{8,160}?)\*\*:\s+([\s\S]+)$/);if(n){const a=n[2].trim();if(a.length>=80)return a}const r=t.indexOf(": ");if(r<8||r>160)return t;const i=t.slice(0,r).replace(/\*/g,"").trim(),o=t.slice(r+2).trim();return o.length<80||!/[A-Za-z\u4e00-\u9fff]/.test(i)||/^(https?|file)$/i.test(i)?t:o}function aF(e){const t=String(e.metadata?.transcript_kind??e.metadata?.kind??"").trim();return!!(["runtime_v2_assistant","runtime_v2_company_assistant","top_level_reply","company_role_result","company_role_result_retry","child_task_result","child_task_result_retry","child_result"].includes(t)||String(e.metadata?.kind??"").trim()==="worker_notification")}function Qw(e){const t=String(e||"").trim();if(!t)return null;try{const n=JSON.parse(t);return n&&typeof n=="object"&&!Array.isArray(n)?n:null}catch{return null}}function lF(e){const t=String(e||"").trim();if(!t)return null;if(t.startsWith("{")&&t.endsWith("}")){const u=Qw(t);return u?{obj:u}:null}const n=t.indexOf("{"),r=t.lastIndexOf("}");if(n<=0||r<=n)return null;const o=t.slice(0,n).trim().replace(/\*/g,"").replace(/:\s*$/,"").trim();if(!/\b(report|review)\b/i.test(o))return null;const a=Qw(t.slice(n,r+1));return a?{obj:a,title:o||void 0}:null}function al(e){return typeof e=="string"?e.trim():""}function Jw(e,t=4){if(!Array.isArray(e))return[];const n=[];for(const r of e){const i=typeof r=="string"?r.trim():r&&typeof r=="object"&&"summary"in r?al(r.summary):"";if(i&&n.push(i),n.length>=t)break}return n}function cF(e){if(!Array.isArray(e))return[];const t=[];for(const n of e){if(!n||typeof n!="object")continue;const r=n,i=al(r.path),o=al(r.name)||i.split("/").filter(Boolean).pop()||"Artifact";t.push({name:o,path:i,status:al(r.status)||void 0})}return t}function uF(e){if(!Array.isArray(e))return;const t=e.filter(r=>r&&typeof r=="object").length;return t?`${e.filter(r=>r.met===!0).length}/${t} acceptance checks met`:void 0}function CI(e){const t=lF(e);if(!t)return null;const{obj:n,title:r}=t,i=al(n.summary),o=al(n.review_verdict),a=cF(n.deliverables),u=Jw(n.risks),d=Jw(n.next_actions),m=uF(n.acceptance_status);return!i&&!o&&a.length===0&&!m?null:{kind:o?"review":a.length>0||m?"report":"update",title:r,summary:i,verdict:o||void 0,deliverables:a,risks:u,nextActions:d,acceptanceSummary:m}}const dF=St.memo(function({entry:t,showDate:n,dateStr:r,compact:i=!1}){return c.jsxs("div",{children:[n&&c.jsx("div",{className:"msg-date-sep",children:c.jsx("span",{children:r})}),c.jsxs("div",{className:`msg-row agent msg-row-inline-progress${i?" compact":""}`,children:[c.jsx("div",{className:"msg-avatar agent-avatar",children:c.jsx(co,{})}),c.jsx("div",{className:"msg-body msg-inline-progress-body",children:c.jsx("div",{className:"msg-inline-progress-shell",children:c.jsx(dN,{entry:t})})})]})]})}),fF=St.memo(function({msg:t,showDate:n,dateStr:r}){const i=KH(t.content);return i?c.jsxs("div",{children:[n&&c.jsx("div",{className:"msg-date-sep",children:c.jsx("span",{children:r})}),c.jsxs("div",{className:`work-item-divider work-item-divider-${i.statusClass}`,children:[c.jsx("div",{className:"work-item-divider-line"}),c.jsxs("span",{className:"work-item-divider-label",children:[c.jsx("span",{className:"work-item-divider-icon",children:i.icon}),i.workItemName,c.jsx("span",{className:"work-item-divider-action",children:i.action})]}),c.jsx("div",{className:"work-item-divider-line"})]})]}):null}),mF=St.memo(function({msg:t,showDate:n,dateStr:r}){return c.jsxs("div",{children:[n&&c.jsx("div",{className:"msg-date-sep",children:c.jsx("span",{children:r})}),c.jsx("div",{className:"msg-system",children:c.jsx("span",{children:t.content})})]})}),hF=St.memo(function({msg:t,showDate:n,dateStr:r}){return c.jsxs("div",{children:[n&&c.jsx("div",{className:"msg-date-sep",children:c.jsx("span",{children:r})}),c.jsxs("div",{className:"msg-row agent msg-row-context",children:[c.jsx("div",{className:"msg-avatar agent-avatar msg-avatar-context",children:c.jsx(au,{})}),c.jsx("div",{className:"msg-body",children:c.jsxs("div",{className:"msg-content-agent-card msg-context-card",children:[c.jsx("div",{className:"msg-context-label",children:"Execution Context"}),c.jsx(sr,{content:t.content})]})})]})]})}),pF=St.memo(function({text:t,timestamp:n,iteration:r,showDate:i,dateStr:o}){return c.jsxs("div",{children:[i&&c.jsx("div",{className:"msg-date-sep",children:c.jsx("span",{children:o})}),c.jsxs("div",{className:"msg-row agent msg-row-draft",children:[c.jsx("div",{className:"msg-avatar agent-avatar msg-avatar-draft",children:c.jsx(co,{})}),c.jsxs("div",{className:"msg-body",children:[c.jsxs("div",{className:"msg-agent-header",children:[c.jsx("span",{className:"msg-sender",children:"Live Reply"}),c.jsx("span",{className:"msg-time",title:Zi(n),children:Es(n)})]}),c.jsxs("div",{className:"msg-content-agent-card msg-draft-card",children:[r?c.jsxs("div",{className:"msg-draft-label",children:["Turn ",r]}):null,c.jsx(sr,{content:t,collapseMode:"never"})]})]})]})]})}),gF=St.memo(function({msg:t,showDate:n,dateStr:r,isGrouped:i,isCopied:o,onCopy:a,onImageClick:u,renderUserMarkdown:d}){return c.jsxs("div",{children:[n&&c.jsx("div",{className:"msg-date-sep",children:c.jsx("span",{children:r})}),c.jsx("div",{className:`msg-row user${i?" grouped":""}`,children:c.jsxs("div",{className:"msg-body msg-body-user",children:[c.jsx("div",{className:"msg-content-user",children:d?c.jsx(sr,{content:t.content,className:"msg-content-user-markdown"}):t.content}),c.jsx(YH,{refs:t.metadata?.attachment_refs,onImageClick:u}),c.jsxs("div",{className:"msg-meta-user",children:[c.jsx("span",{className:"msg-time",title:Zi(t.timestamp),children:Es(t.timestamp)}),c.jsx("button",{className:"msg-action-btn",onClick:()=>a(t.id,t.content),title:"Copy",children:o?c.jsx(Nl,{}):c.jsx(Cm,{})})]})]})})]})});function jI(e){const t=String(e||"").trim();if(!t)return null;const n=t.match(/^\[Delegating to ([^\]]+)\]/);if(n){const d=n[1].trim(),m=t.match(/task=([^|]+?)(?:\||$)/),p=m?m[1].trim():"";return{kind:"delegation",label:`Delegating to ${d}`,summary:p,tone:"info"}}if(/^\[External resume\]/i.test(t)){const d=t.match(/codex:[a-z0-9-]+:([a-f0-9-]+)/i);return{kind:"external_resume",label:"External resume",summary:d?`Restored session ${d[1].slice(0,8)}โ€ฆ`:"Resumed prior session",tone:"info"}}const r=t.match(/^\[External inbox\]\s*(.+)$/i);if(r)return{kind:"external_status",label:"External inbox",summary:nu(r[1]),tone:"info"};const i=t.match(/^\[External status\]\s*(.+)$/i);if(i)return{kind:"external_status",label:"External status",summary:i[1].split(/\(|;/)[0].trim()||i[1].trim(),tone:"info"};if(/^\[External error\]/i.test(t)||/^\[External failure\]/i.test(t))return{kind:"external_error",label:"External error",summary:t.replace(/^\[[^\]]+\]\s*/,"").split(` +`)[0].slice(0,140),tone:"danger"};const o=t.match(/^\[Company:([^\]]+)\]\s*(.+)$/);if(o){const d=o[1].split("::"),m=d[0]||"company",p=o[2].trim(),h=p.toLowerCase(),g=h.includes("completed")||h.includes("done")?"success":h.includes("blocked")||h.includes("failed")?"warning":"info";return{kind:"company_event",label:`${m.toUpperCase()} ยท ${d[1]??""}`.replace(/ ยท $/,""),summary:p,tone:g}}const a=t.match(/^(Review needed|Status digest|Blocked|Completion):\s*(.+)$/i);if(a){const d=a[1].replace(/\b\w/g,p=>p.toUpperCase()),m=nu(a[2]);return{kind:"company_event",label:d,summary:m,tone:/^Blocked$/i.test(a[1])?"warning":"info"}}const u=t.match(/^NO_DELEGATION_JUSTIFICATION:\s*(.+)$/i);return u?{kind:"company_event",label:"Delegation check",summary:nu(u[1]).slice(0,180),tone:"info"}:null}function xF(e,t){const{isCompanyRuntime:n,detailMode:r}=t;if(!n||r==="full"||lu(e.metadata))return null;const i=jI(e.content);if(!i)return null;const o=e.sender==="system"||e.metadata?.type==="system",a=i.kind==="company_event"||e.content.startsWith("[Company:");return!o&&!a?null:{msg:e,classification:i}}function yF(e,t={}){const{isCompanyRuntime:n=!1,detailMode:r="summary"}=t,i=[];let o=[],a=0;const u=new Set,d=new Set,m=()=>{if(o.length===0)return;const p=o[0].msg,h=o[o.length-1].msg;i.push({kind:"ops-bundle",id:`ops:${p.id}:${o.length}:${h.id}`,timestamp:p.timestamp,events:o,sortOrder:a}),o=[]};return e.forEach((p,h)=>{const g=h*2+1,y=xF(p,{isCompanyRuntime:n,detailMode:r});if(y){o.length===0&&(a=g),o.push(y);return}const v=r==="summary"?CI(p.content):null;if(v){const k=[p.sender,Math.round(p.timestamp/1e3),v.kind,nu(v.summary||v.acceptanceSummary||"").slice(0,500),v.verdict??"",v.deliverables.map(S=>`${S.name}:${S.path}`).join("|").slice(0,800)].join("");if(u.has(k))return;u.add(k)}if(r==="summary"){const k=nu(oF(p.content)).slice(0,1200);if(k){const S=aF(p)?["result",k].join(""):[p.sender,Math.round(p.timestamp/1e3),k].join("");if(d.has(S))return;d.add(S)}}m(),i.push({kind:"message",id:p.id,timestamp:p.timestamp,msg:p,sortOrder:g})}),m(),i}const vF=St.memo(function({msg:t,showDate:n,dateStr:r,classification:i}){const[o,a]=j.useState(!1),u=t.content.trim()!==`[${i.label}] ${i.summary}`.trim()&&t.content.trim().length>i.summary.length+4;return c.jsxs("div",{children:[n&&c.jsx("div",{className:"msg-date-sep",children:c.jsx("span",{children:r})}),c.jsxs("div",{className:`msg-ops-row msg-ops-tone-${i.tone}${o?" expanded":""}`,onClick:u?()=>a(d=>!d):void 0,role:u?"button":void 0,tabIndex:u?0:-1,children:[c.jsx("span",{className:"msg-ops-dot","aria-hidden":"true"}),c.jsx("span",{className:"msg-ops-label",children:i.label}),i.summary&&c.jsx("span",{className:"msg-ops-summary",title:i.summary,children:i.summary}),c.jsx("span",{className:"msg-ops-time",title:Zi(t.timestamp),children:Es(t.timestamp)}),u&&c.jsx("span",{className:`msg-ops-chevron${o?" open":""}`,"aria-hidden":"true",children:c.jsx(Yi,{down:o})})]}),u&&o&&c.jsx("div",{className:"msg-ops-details",children:c.jsx("pre",{className:"msg-ops-details-pre",children:t.content})})]})}),bF=St.memo(function({events:t,showDate:n,dateStr:r}){const[i,o]=j.useState(!1);if(t.length===0)return null;const a=t[0].msg,u=t[t.length-1].msg,d=t.reduce((h,g)=>{const y=g.classification.kind==="company_event"?"company":g.classification.kind.startsWith("external")?"runtime":"delegation";return h[y]=(h[y]??0)+1,h},{}),m=Object.entries(d).map(([h,g])=>`${g} ${h}`).join(" ยท "),p=`${t.length} technical event${t.length===1?"":"s"} hidden`;return c.jsxs("div",{children:[n&&c.jsx("div",{className:"msg-date-sep",children:c.jsx("span",{children:r})}),c.jsxs("button",{type:"button",className:`msg-ops-bundle${i?" expanded":""}`,onClick:()=>o(h=>!h),title:`${Zi(a.timestamp)} - ${Zi(u.timestamp)}`,children:[c.jsx("span",{className:"msg-ops-bundle-dot"}),c.jsx("span",{className:"msg-ops-bundle-title",children:p}),c.jsx("span",{className:"msg-ops-bundle-summary",children:m}),c.jsx("span",{className:"msg-ops-bundle-time",children:Es(a.timestamp)}),c.jsx("span",{className:"msg-ops-bundle-chevron",children:c.jsx(Yi,{down:i})})]}),i&&c.jsx("div",{className:"msg-ops-bundle-details",children:t.map(({msg:h,classification:g})=>c.jsxs("div",{className:`msg-ops-bundle-event msg-ops-tone-${g.tone}`,children:[c.jsx("span",{className:"msg-ops-dot"}),c.jsx("span",{className:"msg-ops-label",children:g.label}),c.jsx("span",{className:"msg-ops-summary",children:g.summary}),c.jsx("span",{className:"msg-ops-time",title:Zi(h.timestamp),children:Es(h.timestamp)})]},h.id))})]})});function _F(e){return e.kind==="review"?`Review ยท ${e.verdict?e.verdict.replace(/_/g," "):"review"}`:e.kind==="report"?"Report":"Update"}const kF=St.memo(function({msg:t,payload:n,showDate:r,dateStr:i,isCopied:o,onCopy:a}){const u=yv(t.sender==="system"?t.senderName||"OPC":t.sender),d=t.senderDeleted?"[Deleted]":t.senderName,m=_F(n),p=n.summary||n.acceptanceSummary||m;return c.jsxs("div",{children:[r&&c.jsx("div",{className:"msg-date-sep",children:c.jsx("span",{children:i})}),c.jsxs("div",{className:"msg-row agent msg-row-project-update",children:[c.jsx("div",{className:"msg-avatar agent-avatar",style:{background:u},children:d.charAt(0).toUpperCase()}),c.jsxs("div",{className:"msg-body",children:[c.jsxs("div",{className:"msg-agent-header",children:[c.jsx("span",{className:"msg-sender",style:{color:u},children:d}),c.jsx("span",{className:"msg-time",title:Zi(t.timestamp),children:Es(t.timestamp)})]}),c.jsxs("div",{className:`msg-project-update-card msg-project-update-${n.kind}`,children:[c.jsxs("div",{className:"msg-project-update-head",children:[c.jsx("span",{className:"msg-project-update-label",children:m}),n.acceptanceSummary&&c.jsx("span",{className:"msg-project-update-chip",children:n.acceptanceSummary})]}),n.title&&c.jsx("div",{className:"msg-project-update-title",children:n.title}),c.jsx(sr,{content:p,className:"msg-project-update-summary"}),n.deliverables.length>0&&c.jsxs("div",{className:"msg-project-update-section",children:[c.jsx("div",{className:"msg-project-update-section-label",children:"Outputs"}),c.jsx("div",{className:"msg-project-update-artifacts",children:n.deliverables.slice(0,6).map((h,g)=>c.jsxs("div",{className:"msg-project-update-artifact",children:[c.jsx("span",{className:"msg-project-update-artifact-name",children:h.name}),h.status&&c.jsx("span",{className:"msg-project-update-artifact-status",children:h.status}),h.path&&c.jsx("code",{className:"msg-project-update-artifact-path",children:h.path})]},`${h.path||h.name}-${g}`))})]}),(n.risks.length>0||n.nextActions.length>0)&&c.jsxs("div",{className:"msg-project-update-grid",children:[n.risks.length>0&&c.jsxs("div",{className:"msg-project-update-section",children:[c.jsx("div",{className:"msg-project-update-section-label",children:"Caveats"}),c.jsx("ul",{className:"msg-project-update-list",children:n.risks.map((h,g)=>c.jsx("li",{children:h},`risk-${g}`))})]}),n.nextActions.length>0&&c.jsxs("div",{className:"msg-project-update-section",children:[c.jsx("div",{className:"msg-project-update-section-label",children:"Next"}),c.jsx("ul",{className:"msg-project-update-list",children:n.nextActions.map((h,g)=>c.jsx("li",{children:h},`next-${g}`))})]})]}),c.jsx("div",{className:"msg-card-actions",children:c.jsx("button",{className:"msg-action-btn",onClick:()=>a(t.id,t.content),title:"Copy raw update",children:o?c.jsxs(c.Fragment,{children:[c.jsx(Nl,{})," ",c.jsx("span",{children:"Copied"})]}):c.jsxs(c.Fragment,{children:[c.jsx(Cm,{})," ",c.jsx("span",{children:"Copy raw"})]})})})]})]})]})]})}),SF=St.memo(function({msg:t,showDate:n,dateStr:r,isGrouped:i,isCopied:o,isCheckpointResponded:a,suppressCheckpointPanel:u,onCopy:d,onSend:m}){const p=!!t.senderDeleted,h=p?"[Deleted]":t.senderName,g=yv(t.sender==="system"?t.senderName||"OPC":t.sender),y=t.channelId.startsWith("session:")?t.channelId.slice(8):t.metadata?.taskId??t.metadata?.task_id,v=String(t.metadata?.checkpoint_type??"").trim(),k=I0(t.metadata),S=lu(t.metadata)&&!u;return c.jsxs("div",{children:[n&&c.jsx("div",{className:"msg-date-sep",children:c.jsx("span",{children:r})}),c.jsxs("div",{className:`msg-row agent${i?" grouped":""}${p?" deleted-sender":""}`,children:[i?c.jsx("div",{className:"msg-avatar-spacer"}):c.jsx("div",{className:"msg-avatar agent-avatar",style:{background:g},children:h.charAt(0).toUpperCase()}),c.jsxs("div",{className:"msg-body",children:[!i&&c.jsxs("div",{className:"msg-agent-header",children:[c.jsx("span",{className:`msg-sender${p?" deleted":""}`,style:{color:g},children:h}),c.jsx("span",{className:"msg-time",title:Zi(t.timestamp),children:Es(t.timestamp)})]}),t.replyToId&&c.jsx("div",{className:"msg-reply-indicator",children:"Replying to previous message"}),S?c.jsxs(c.Fragment,{children:[v==="company_recruitment_confirmation"&&c.jsx(yI,{meta:t.metadata,onReply:(_,w)=>m?.(_,y,w),responded:a}),v==="company_staffing_selection"&&c.jsx(_I,{meta:t.metadata,onReply:(_,w)=>m?.(_,y,w),responded:a}),v==="company_work_item_gate"&&c.jsx(sm,{meta:t.metadata,onReply:_=>m?.(_,y,k),responded:a}),v==="company_delivery_feedback"&&c.jsx(SI,{meta:t.metadata,onReply:(_,w)=>m?.(_,y,w??k),responded:a}),v==="company_reorg_pending"&&c.jsx(kI,{meta:t.metadata,onReply:_=>m?.(_,y,k),responded:a}),v==="human_escalation"&&c.jsx(sm,{meta:t.metadata,onReply:_=>m?.(_,y,k),responded:a}),v==="task_user_input"&&c.jsx(wI,{meta:t.metadata,onReply:(_,w)=>m?.(_,y,{...k,...w}),responded:a})]}):c.jsxs("div",{className:"msg-content-agent-card",style:{borderLeftColor:g},children:[c.jsx(sr,{content:t.content}),c.jsxs("div",{className:"msg-card-actions",children:[c.jsx("button",{className:"msg-action-btn",onClick:()=>d(t.id,t.content),title:"Copy message",children:o?c.jsxs(c.Fragment,{children:[c.jsx(Nl,{})," ",c.jsx("span",{children:"Copied"})]}):c.jsxs(c.Fragment,{children:[c.jsx(Cm,{})," ",c.jsx("span",{children:"Copy"})]})}),i&&c.jsx("span",{className:"msg-time msg-time-inline",title:Zi(t.timestamp),children:Es(t.timestamp)})]})]})]})]})]})}),Ja=St.memo(function({messages:t,channelName:n,viewKind:r="session",detailMode:i="summary",agentStatus:o,currentTool:a,toolElapsedMs:u,lastToolSummary:d,progressLog:m,draftAssistantText:p,draftUpdatedAt:h,draftIteration:g,draftTurnId:y,isCompanyRuntime:v,workItemLog:k,childSessions:S,roleWorkItems:_,executorRoleWorkItems:w,onSend:C,onWorkItemClick:N,onWorkItemOpenSession:O,onMarkRead:I,hasOlderHistory:D=!1,totalMessageCount:T,onLoadOlderHistory:L,loadingOlderHistory:A=!1,autoScroll:M=!0,initialScrollToBottom:$=!0,showWorkItemRuntimeCard:W=!0,showRuntimeProgress:B=!0,renderUserMarkdown:U=!1}){const H=j.useRef(null),[V,Y]=j.useState(null),[Q,q]=j.useState(null),[G,J]=j.useState(Kw),P=j.useRef(o),X=j.useRef(M),ee=j.useRef($),te=j.useRef(!1),re=j.useRef(null),oe=j.useRef(!1),de=j.useRef(null),se=j.useRef(0),Ee=j.useRef(0),we=j.useRef(null),Ce=j.useRef(null),Be=j.useRef(null),Ge=j.useRef(!1),Ye=j.useRef(!1);j.useEffect(()=>{const ve=H.current;if(!ve)return;se.current=ve.scrollTop;const Re=()=>{te.current=!0,re.current&&clearTimeout(re.current),re.current=setTimeout(()=>{te.current=!1},1500)},Xe=He=>{Re(),He.deltaY<0&&ve.scrollTop>0?X.current=!1:Zw(ve)&&(X.current=M)};return ve.addEventListener("wheel",Xe,{passive:!0}),ve.addEventListener("pointerdown",Re),ve.addEventListener("touchstart",Re,{passive:!0}),()=>{ve.removeEventListener("wheel",Xe),ve.removeEventListener("pointerdown",Re),ve.removeEventListener("touchstart",Re),re.current&&clearTimeout(re.current)}},[M]),j.useEffect(()=>()=>{de.current&&clearTimeout(de.current)},[]);const yt=j.useCallback(()=>{const ve=H.current;if(!ve)return;const Re=se.current,Xe=ve.scrollTop;se.current=Xe;const He=Zw(ve);if(oe.current){He&&I?.();return}if(nF({previousScrollTop:Re,nextScrollTop:Xe,atBottom:He,userScrolling:te.current,programmaticScroll:!1})){X.current=!1;return}if(te.current){X.current=He,He&&I?.();return}He&&(X.current=M,I?.())},[M,I]),bt=(k?.length??0)+(S?.length??0),vt=j.useMemo(()=>{const ve=t.filter(Re=>iF(Re,i));return v?ve.filter(Re=>!(Re.metadata?.type==="system"&&Re.content.startsWith("[Company:")||!B&&Re.content.startsWith("[Company:"))):ve},[i,v,t,B]),me=r==="session"&&!!C,Oe=j.useMemo(()=>T0(vt),[vt]),rt=j.useMemo(()=>me?vt.filter(ve=>Oe.pendingMessageIds.has(ve.id)):[],[Oe.pendingMessageIds,vt,me]),Qe=j.useMemo(()=>me?vt.filter(ve=>!Oe.pendingMessageIds.has(ve.id)):vt,[Oe.pendingMessageIds,vt,me]),Je=j.useMemo(()=>{const ve=new Set;for(const Re of m??[]){if(Re.type!=="thinking")continue;const Xe=String(Re.turnId??"").trim();Xe&&ve.add(Xe)}return ve},[m]),fe=j.useMemo(()=>{const ve=[];for(const Re of Qe){const Xe=String(Re.metadata?.runtime_thinking??"").trim();if(!Xe)continue;const He=String(Re.metadata?.canonical_turn_id??Re.metadata?.turn_id??"").trim();He&&Je.has(He)||ve.push({type:"thinking",summary:"Thinking",detail:Xe,timestamp:Math.max(0,Re.timestamp-1),turnId:He||void 0,itemId:He?`${He}:thinking`:`thinking:${Re.id}`,streamId:He?`${He}:thinking`:`thinking:${Re.id}`,executionMode:String(Re.metadata?.execution_mode??"").trim()||void 0})}return ve},[Je,Qe]),be=j.useMemo(()=>B?[...(m??[]).filter(ve=>YS.has(ve.type)),...fe].sort((ve,Re)=>ve.timestamp-Re.timestamp):[],[m,B,fe]),Me=j.useMemo(()=>B?(m??[]).filter(ve=>!YS.has(ve.type)):[],[m,B]),Fe=j.useMemo(()=>B?i==="full"?m??[]:be:[],[i,be,m,B]),$e=j.useMemo(()=>Me,[Me]),Wt=j.useMemo(()=>{const ve=String(p??"").trim();return ve?{kind:"draft",id:`draft-${y??g??"active"}`,timestamp:h??Date.now(),text:ve,iteration:g,sortOrder:Number.MAX_SAFE_INTEGER}:null},[p,g,y,h]),nn=!!o&&o!=="idle",ke=$e.length>0,Te=B&&i!=="full"&&(nn||ke),Pe=j.useMemo(()=>{const ve=[...yF(Qe,{isCompanyRuntime:v,detailMode:i}),...Fe.map((Re,Xe)=>({kind:"progress",id:`progress-${uN(Re,Xe)}`,timestamp:Re.timestamp,entry:Re,sortOrder:Xe*2}))];return Wt&&ve.push(Wt),ve.sort((Re,Xe)=>Re.timestamp-Xe.timestamp||Re.sortOrder-Xe.sortOrder)},[i,Wt,v,Qe,Fe]),Ve=Math.max(0,Pe.length-G),qe=j.useMemo(()=>Ve>0?Pe.slice(-G):Pe,[Ve,Pe,G]);j.useEffect(()=>{J(Kw)},[n,r]),j.useEffect(()=>{X.current=M,ee.current=$},[n,r,M,$]);const et=j.useMemo(()=>{let ve="";return qe.map((Re,Xe)=>{const He=new Date(Re.timestamp).toLocaleDateString(),Tt=He!==ve;Tt&&(ve=He);const ht=Xe>0?qe[Xe-1]:null,$n=Re.kind==="message"&&ht?.kind==="message"&&!Tt&&ht.msg.sender===Re.msg.sender&&ht.msg.senderName===Re.msg.senderName&&Re.msg.metadata?.type!=="system"&&ht.msg.metadata?.type!=="system"&&!Re.msg.metadata?.is_work_item_event&&!ht.msg.metadata?.is_work_item_event&&Re.msg.timestamp-ht.msg.timestamp{rF(Re).then(Xe=>{Xe&&(Y(ve),setTimeout(()=>Y(null),1500))})},[]),Tn=j.useCallback(async()=>{if(Ve>0){J(ve=>Math.min(Pe.length,ve+nx));return}!D||A||!L||(await L(vt[0]),J(ve=>ve+nx))},[vt,D,Ve,A,L,Pe.length]),Dn=ZH[r],yn=!!(i!=="full"&&W&&v&&bt>0),Yt=rt.length>0,Jt=j.useMemo(()=>{const ve=[];(Ve>0||D)&&ve.push({kind:"history-hint"});for(let Re=0;ReH.current,estimateSize:ve=>{const Re=Jt[ve];if(Re.kind==="end-anchor")return 1;if(Re.kind==="history-hint")return 48;if(Re.kind==="work-item-runtime-card")return 120;if(Re.kind==="progress-block")return 80;if(Re.kind==="pending-section")return 200;const Xe=et[Re.idx];if(Xe?.item.kind==="message"){const He=Xe.item.msg.content.length;return He<100?72:He<500?120:He<2e3?200:300}return Xe?.item.kind==="draft"?Xe.item.text.length<400?120:200:Xe?.item.kind==="ops-bundle"?Xe.item.events.length>8?92:48:80},overscan:15,getItemKey:ve=>{const Re=Jt[ve];return Re.kind==="timeline"?et[Re.idx]?.item.id??`tl-${Re.idx}`:Re.kind}}),wt=j.useRef(Et);wt.current=Et;const tt=j.useRef(Jt.length);tt.current=Jt.length;const it=j.useCallback(()=>{oe.current=!0,de.current&&clearTimeout(de.current),de.current=setTimeout(()=>{oe.current=!1},tF)},[]),rn=j.useCallback(()=>{Ce.current!==null&&(window.cancelAnimationFrame(Ce.current),Ce.current=null),Be.current!==null&&(window.cancelAnimationFrame(Be.current),Be.current=null),Ge.current=!1,Ye.current=!1},[]),Xt=j.useCallback(()=>{const ve=tt.current;it(),ve>0&&wt.current.scrollToIndex(ve-1,{align:"end"});const Re=H.current;Re&&(Re.scrollTop=Math.max(0,Re.scrollHeight-Re.clientHeight),se.current=Re.scrollTop)},[it]),mt=j.useCallback((ve=!1,Re=!1)=>{Ge.current||=ve,Ye.current||=Re,!(Ce.current!==null||Be.current!==null)&&(Ce.current=window.requestAnimationFrame(()=>{if(Ce.current=null,!Ye.current&&(!X.current||te.current)){Ge.current=!1,Ye.current=!1;return}Xt(),Be.current=window.requestAnimationFrame(()=>{Be.current=null;const Xe=Ge.current,He=Ye.current;Ge.current=!1,Ye.current=!1,!(!He&&(!X.current||te.current))&&(Xt(),Xe&&I?.())})}))},[I,Xt]);j.useEffect(()=>rn,[rn]),j.useEffect(()=>{if(!M||typeof ResizeObserver>"u")return;const ve=we.current;if(!ve)return;const Re=new ResizeObserver(()=>{ee.current||!X.current||mt(!1)});return Re.observe(ve),()=>Re.disconnect()},[M,mt,Jt.length]);const Ht=Qe.length,On=j.useMemo(()=>{const ve=Pe[Pe.length-1],Re=ve?.kind==="message"?`message:${ve.id}:${ve.msg.content.length}:${ve.timestamp}`:ve?.kind==="draft"?`draft:${ve.id}:${ve.text.length}:${ve.timestamp}`:ve?.kind==="progress"?`progress:${ve.id}:${ve.entry.summary.length}:${ve.entry.detail?.length??0}:${ve.timestamp}`:ve?.kind==="ops-bundle"?`ops:${ve.id}:${ve.events.length}:${ve.timestamp}`:"empty",Xe=$e[$e.length-1],He=Xe?`${Xe.type}:${Xe.summary.length}:${Xe.detail?.length??0}:${Xe.timestamp}`:"none";return[Jt.length,Ht,Re,$e.length,He,rt.length,bt,Te?`${o??""}:${a??""}`:""].join("|")},[o,$e,a,Ht,rt.length,Te,Pe,Jt.length,bt]);j.useLayoutEffect(()=>{const ve=Pe.length>0||rt.length>0||bt>0||Te;!ee.current||!ve||(ee.current=!1,Ee.current=Ht,mt(M,!0))},[Pe.length>0,Te]),j.useEffect(()=>{!M||ee.current||X.current&&(Ht<=Ee.current||(Ee.current=Ht,mt(!0)))},[Ht,M,mt]),j.useEffect(()=>{const ve=P.current==="idle"&&!!o&&o!=="idle";P.current=o,!(!M||ee.current||!X.current||!ve)&&mt(!0)},[o,M,mt]),j.useEffect(()=>{!M||ee.current||!X.current||Wt&&mt(!0)},[M,Wt,mt]),j.useLayoutEffect(()=>{!M||ee.current||!X.current||mt(!1)},[M,mt,On]);const vn=j.useCallback(ve=>{if(ve.kind==="history-hint")return c.jsxs("div",{className:"msg-history-hint",children:[c.jsx("button",{className:"msg-history-load-btn",onClick:()=>{Tn()},disabled:A,children:A?"Loading older messages...":Ve>0?`Load ${Math.min(nx,Ve)} older messages`:"Load older messages"}),c.jsxs("span",{className:"msg-history-meta",children:["Showing latest ",qe.length," of ",T??Pe.length]})]});if(ve.kind==="work-item-runtime-card")return c.jsxs("div",{className:"msg-row agent",children:[c.jsx("div",{className:"msg-avatar agent-avatar",children:c.jsx(co,{})}),c.jsx("div",{className:"msg-body",children:c.jsx(Qy,{workItemLog:k??[],roleWorkItems:_,executorRoleWorkItems:w,childSessions:S,isCompanyRuntime:v,onWorkItemClick:N})})]});if(ve.kind==="progress-block")return c.jsxs("div",{className:"msg-row agent agent-working-row",children:[c.jsx("div",{className:"msg-avatar agent-avatar",children:c.jsx(co,{})}),c.jsx("div",{className:"msg-body",children:c.jsx(Wo,{entries:$e,agentStatus:o,currentTool:a,toolElapsedMs:u,lastToolSummary:d,expandedByDefault:!0})})]});if(ve.kind==="pending-section")return c.jsxs("div",{className:"msg-pending-section",children:[c.jsx("div",{className:"msg-pending-header",children:"Pending Actions"}),c.jsx("div",{className:"msg-pending-stack",children:rt.map(We=>{const lr=We.senderDeleted?"[Deleted]":We.senderName,cr=yv(We.sender==="system"?We.senderName||"OPC":We.sender),mn=We.channelId.startsWith("session:")?We.channelId.slice(8):We.metadata?.taskId??We.metadata?.task_id,Pt=String(We.metadata?.checkpoint_type??"").trim(),Zn=I0(We.metadata);return c.jsxs("div",{className:`msg-row agent msg-row-pending${We.senderDeleted?" deleted-sender":""}`,children:[c.jsx("div",{className:"msg-avatar agent-avatar",style:{background:cr},children:lr.charAt(0).toUpperCase()}),c.jsxs("div",{className:"msg-body",children:[c.jsxs("div",{className:"msg-agent-header",children:[c.jsx("span",{className:`msg-sender${We.senderDeleted?" deleted":""}`,style:{color:cr},children:lr}),c.jsx("span",{className:"msg-time",title:Zi(We.timestamp),children:Es(We.timestamp)})]}),Pt==="company_recruitment_confirmation"&&c.jsx(yI,{meta:We.metadata,onReply:(wn,pt)=>C?.(wn,mn,pt),responded:!1}),Pt==="company_staffing_selection"&&c.jsx(_I,{meta:We.metadata,onReply:(wn,pt)=>C?.(wn,mn,pt),responded:!1}),Pt==="company_work_item_gate"&&c.jsx(sm,{meta:We.metadata,onReply:wn=>C?.(wn,mn,Zn),responded:!1}),Pt==="company_delivery_feedback"&&c.jsx(SI,{meta:We.metadata,onReply:(wn,pt)=>C?.(wn,mn,pt??Zn),responded:!1}),Pt==="company_reorg_pending"&&c.jsx(kI,{meta:We.metadata,onReply:wn=>C?.(wn,mn,Zn),responded:!1}),Pt==="human_escalation"&&c.jsx(sm,{meta:We.metadata,onReply:wn=>C?.(wn,mn,Zn),responded:!1}),Pt==="task_user_input"&&c.jsx(wI,{meta:We.metadata,onReply:(wn,pt)=>C?.(wn,mn,{...Zn,...pt}),responded:!1})]})]},`pending-${We.id}`)})})]});if(ve.kind==="end-anchor")return c.jsx("div",{className:"msg-end-anchor"});const{item:Re,showDate:Xe,dateStr:He,isGrouped:Tt}=et[ve.idx];if(Re.kind==="progress")return c.jsx(dF,{entry:Re.entry,showDate:Xe,dateStr:He,compact:i!=="full"});if(Re.kind==="draft")return c.jsx(pF,{text:Re.text,timestamp:Re.timestamp,iteration:Re.iteration,showDate:Xe,dateStr:He});if(Re.kind==="ops-bundle")return c.jsx(bF,{events:Re.events,showDate:Xe,dateStr:He});const{msg:ht}=Re,$n=ht.metadata?.type==="system",Ae=sF(ht),Dt=!!ht.metadata?.is_work_item_event||ht.content.startsWith("[Company:"),kn=lu(ht.metadata),nr=ht.sender==="user",Sn=!nr&&!kn?CI(ht.content):null;if(Dt&&!kn)return c.jsx(fF,{msg:ht,showDate:Xe,dateStr:He});if(Sn)return c.jsx(kF,{msg:ht,payload:Sn,showDate:Xe,dateStr:He,isCopied:V===ht.id,onCopy:Mn});if(Ae&&!kn)return c.jsx(hF,{msg:ht,showDate:Xe,dateStr:He});if($n&&!kn)return c.jsx(mF,{msg:ht,showDate:Xe,dateStr:He});if(nr)return c.jsx(gF,{msg:ht,showDate:Xe,dateStr:He,isGrouped:Tt,isCopied:V===ht.id,onCopy:Mn,onImageClick:q,renderUserMarkdown:U});if(ht.sender==="system"&&(String(ht.metadata?.checkpoint_type??"").trim(),!lu(ht.metadata))){const We=jI(ht.content);if(We)return c.jsx(vF,{msg:ht,showDate:Xe,dateStr:He,isGrouped:Tt,classification:We})}return c.jsx(SF,{msg:ht,showDate:Xe,dateStr:He,isGrouped:Tt,isCopied:V===ht.id,isCheckpointResponded:Oe.respondedMessageIds.has(ht.id),suppressCheckpointPanel:Oe.duplicateMessageIds.has(ht.id),onCopy:Mn,onSend:C})},[et,V,Mn,U,Oe,C,Tn,A,Ve,qe.length,T,Pe.length,k,_,w,S,t,N,O,$e,o,a,u,d,rt,Te,i]);if(Pe.length===0&&rt.length===0)return c.jsxs("div",{className:"msg-list",ref:H,onScroll:yt,children:[c.jsxs("div",{className:"msg-welcome",children:[c.jsx("div",{className:"msg-welcome-icon",children:Dn.icon}),c.jsx("div",{className:"msg-welcome-title",children:n||Dn.title}),c.jsx("div",{className:"msg-welcome-hint",children:Dn.hint})]}),yn&&c.jsxs("div",{className:"msg-row agent",children:[c.jsx("div",{className:"msg-avatar agent-avatar",children:c.jsx(co,{})}),c.jsx("div",{className:"msg-body",children:c.jsx(Qy,{workItemLog:k??[],roleWorkItems:_,executorRoleWorkItems:w,childSessions:S,isCompanyRuntime:v,onWorkItemClick:N})})]}),Te&&c.jsxs("div",{className:"msg-row agent",children:[c.jsx("div",{className:"msg-avatar agent-avatar",children:c.jsx(co,{})}),c.jsx("div",{className:"msg-body",children:c.jsx(Wo,{entries:$e,agentStatus:o,currentTool:a,toolElapsedMs:u,lastToolSummary:d,expandedByDefault:!0})})]}),c.jsx("div",{className:"msg-end-anchor"})]});const Rn=Et.getVirtualItems();return c.jsxs("div",{className:"msg-list",ref:H,onScroll:yt,children:[c.jsx("div",{ref:we,style:{height:Et.getTotalSize(),width:"100%",position:"relative"},children:c.jsx("div",{style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${Rn[0]?.start??0}px)`},children:Rn.map(ve=>c.jsx("div",{"data-index":ve.index,ref:Et.measureElement,children:vn(Jt[ve.index])},ve.key))})}),Q&&c.jsx("div",{className:"lightbox-overlay",onClick:()=>q(null),children:c.jsx("img",{className:"lightbox-img",src:Q,alt:"Preview"})})]})}),wF=10*1024*1024,CF=20*1024*1024,jF="image/*,video/mp4,video/mpeg,video/quicktime,video/webm,.mp4,.mpeg,.mpg,.mov,.webm,.txt,.md,.pdf,.csv,.json,.yaml,.yml,.py,.js,.ts,.tsx,.jsx,.html,.css,.java,.c,.cpp,.go,.rs,.rb,.sh,.xml,.toml,.docx,.xlsx,.pptx",af={native:"OpenOPC Native",codex:"Codex",claude_code:"Claude Code",cursor:"Cursor",opencode:"OpenCode"};function EF(e,t){return new Promise((n,r)=>{const i=new FileReader;i.onprogress=o=>{o.lengthComputable&&t?.(Math.round(o.loaded/o.total*100))},i.onload=()=>{const o=i.result;t?.(100),n(o.split(",")[1]||"")},i.onerror=r,i.readAsDataURL(e)})}function eC(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(0)}KB`:`${(e/(1024*1024)).toFixed(1)}MB`}function EI(e,t){const n=t.includes(".")?t.split(".").pop()?.toUpperCase()??"":"";return e.startsWith("image/")?"IMG":e.startsWith("video/")?"VID":e==="application/pdf"?"PDF":e.includes("wordprocessingml")?"DOC":e.includes("spreadsheetml")||n==="CSV"?"XLS":e.includes("presentationml")?"PPT":e.includes("json")?"JSON":e.includes("yaml")||n==="YML"||n==="YAML"?"YAML":e.startsWith("text/")?"TXT":["PY","TS","TSX","JS","JSX","GO","RS","RB","JAVA","C","CPP","HTML","CSS","SH"].includes(n)?n:n||"FILE"}function NF(e,t){const n=EI(e,t);return n==="IMG"?"image":n==="VID"?"video":n==="PDF"?"pdf":n==="DOC"||n==="XLS"||n==="PPT"?"office":n==="JSON"||n==="YAML"?"data":n==="TXT"?"text":["PY","TS","TSX","JS","JSX","GO","RS","RB","JAVA","C","CPP","HTML","CSS","SH"].includes(n)?"code":"generic"}function IF({progress:e,state:t,error:n}){const i=2*Math.PI*11,o=n||t==="ready"?100:Math.max(0,Math.min(e,100)),a=i*(1-o/100);return c.jsxs("span",{className:`attachment-progress-ring${n?" error":t==="ready"?" ready":""}`,"aria-label":n?"Attachment preparation failed":t==="ready"?"Attachment ready to send":`Preparing attachment ${o}%`,role:"img",children:[c.jsxs("svg",{viewBox:"0 0 28 28","aria-hidden":"true",children:[c.jsx("circle",{className:"attachment-progress-track",cx:"14",cy:"14",r:11}),c.jsx("circle",{className:"attachment-progress-value",cx:"14",cy:"14",r:11,strokeDasharray:i,strokeDashoffset:a})]}),c.jsx("span",{className:"attachment-progress-center",children:n?"!":t==="ready"?c.jsx(Nl,{}):o})]})}function TF({usedPct:e,usedTokens:t,windowTokens:n}){const i=2*Math.PI*11,o=Math.max(0,Math.min(e,100)),a=i*(1-o/100),u=o>=80,d=o>=90,m=typeof t=="number"&&typeof n=="number"?`${o}% used (${t.toLocaleString()}/${n.toLocaleString()})`:`${o}% used`;return c.jsxs("span",{className:`composer-context-ring${u?" low":""}${d?" critical":""}`,title:`Context window: ${m}`,"aria-label":`Context window ${m}`,role:"img",children:[c.jsxs("svg",{viewBox:"0 0 28 28","aria-hidden":"true",children:[c.jsx("circle",{className:"composer-context-ring-track",cx:"14",cy:"14",r:11}),c.jsx("circle",{className:"composer-context-ring-value",cx:"14",cy:"14",r:11,strokeDasharray:i,strokeDashoffset:a})]}),c.jsx("span",{className:"composer-context-ring-label",children:o})]})}function rx(e){return e.organization_name?.trim()||e.name}function ix({disabled:e,placeholder:t,channelId:n,execMode:r,companyProfile:i,taskPreferredAgent:o="native",agentStatus:a,currentTool:u,displayTool:d,activeAgentCount:m,runtimeControlState:p,canStop:h,autoFocus:g=!0,contextTokens:y,contextWindow:v,contextRemainingPct:k,savedOrgs:S,activeSavedOrg:_,selectedOrgId:w,lockedMode:C=!1,onSend:N,onModeChange:O,onTaskAgentChange:I,onSavedOrgsRefresh:D,onSavedOrgLoad:T,onStop:L,onContinueInNewChat:A}){const[M,$]=j.useState(""),[W,B]=j.useState(!1),[U,H]=j.useState([]),[V,Y]=j.useState(null),Q=j.useRef(null),q=j.useRef(null),G=p==="suspending",J=p==="running"||p==="suspending"||p==="resuming",P=p==="suspended",X=p!=null,ee=J||!X&&a!=null&&a!=="idle",te=(h??!0)&&!G&&!P,re=j.useMemo(()=>Kj({contextTokens:y,contextWindow:v,contextRemainingPct:k}),[k,y,v]);j.useEffect(()=>{const ke=Q.current;ke&&(ke.style.height="auto",ke.style.height=`${Math.min(ke.scrollHeight,200)}px`)},[M]),j.useEffect(()=>{$(""),H(ke=>(ke.forEach(Te=>{Te.preview_url&&URL.revokeObjectURL(Te.preview_url)}),[])),!e&&g&&setTimeout(()=>Q.current?.focus(),50)},[n,e,g]);const oe=j.useCallback((ke,Te)=>{H(Pe=>Pe.map(Ve=>Ve.id===ke?Te(Ve):Ve))},[]),de=j.useCallback(async(ke,Te)=>{try{const Pe=await EF(Te,Ve=>{oe(ke,qe=>({...qe,progress_percent:Ve,transfer_state:"reading"}))});oe(ke,Ve=>({...Ve,base64_data:Pe,progress_percent:100,transfer_state:"ready"}))}catch{oe(ke,Pe=>({...Pe,error:"Failed to prepare file",progress_percent:0,transfer_state:"error"}))}},[oe]),se=j.useCallback(ke=>{const Te=Array.from(ke);let Pe=U.reduce((qe,et)=>qe+et.size_bytes,0);const Ve=Te.map(qe=>{let et;return qe.size>wF?et=`Too large (${eC(qe.size)})`:Pe+qe.size>CF?et="Total size exceeds 20MB":Pe+=qe.size,{id:crypto.randomUUID(),file:qe,filename:qe.name||"upload",mime_type:qe.type||"application/octet-stream",size_bytes:qe.size,preview_url:qe.type.startsWith("image/")?URL.createObjectURL(qe):"",progress_percent:0,transfer_state:et?"error":"reading",error:et}});H(qe=>[...qe,...Ve]),Ve.filter(qe=>!qe.error).forEach(qe=>{de(qe.id,qe.file)})},[U,de]),Ee=j.useCallback(ke=>{H(Te=>{const Pe=Te.find(Ve=>Ve.id===ke);return Pe?.preview_url&&URL.revokeObjectURL(Pe.preview_url),Te.filter(Ve=>Ve.id!==ke)})},[]),we=j.useCallback(()=>{if(e||ee)return;const ke=M.trim(),Te=U.filter(qe=>!qe.error&&qe.transfer_state==="reading"),Pe=U.filter(qe=>!qe.error&&!!qe.base64_data);if(Te.length>0||!ke&&Pe.length===0)return;const Ve=Pe.map(qe=>({filename:qe.filename,data:qe.base64_data,mime_type:qe.mime_type}));N(ke||"Sent with attachments",Ve.length?Ve:void 0),$(""),U.forEach(qe=>{qe.preview_url&&URL.revokeObjectURL(qe.preview_url)}),H([])},[e,ee,M,U,N]),Ce=j.useCallback(ke=>{const Te=ke.clipboardData?.files;Te&&Te.length>0&&(ke.preventDefault(),se(Te))},[se]),Be=String(i??"").trim().toLowerCase(),Ge=r==="company"?"company":r==="org"||r==="custom"||Be==="custom"?"org":"task",Ye=j.useMemo(()=>(S??[]).filter(ke=>!!ke.name&&ke.name!=="corporate"),[S]),yt=_?Ye.find(ke=>ke.name===_):void 0,qt=w?Ye.find(ke=>ke.name===w):void 0,bt=yt?rx(yt):_||"",vt=qt?rx(qt):w||bt,me=qt?.name||w||yt?.name||"",Oe=Ge==="task"?"task":"company",rt=Ge==="org"?me?`org:${me}`:"":"corporate",Qe=Ge==="org"?vt?`Company / ${vt}`:"Company / Saved org":"Company / Corporate",Je=Oe==="task"?"Task":Qe,fe=!!r&&!!O,be=Ge==="task"&&!!I,Me=j.useMemo(()=>{const ke=Ge==="task"?"task":Ge==="org"?`org:${me||"selected"}`:"company:corporate",Te=me||yt?.name||"",Pe=vt||bt||Te,Ve=[{key:"task",mode:"task",label:"Task",description:"A single agent handles the request",icon:c.jsx(C4,{})},{key:"company:corporate",mode:"company",profile:"corporate",label:"Company / Corporate",description:"A team of roles collaborates",icon:c.jsx(j4,{})}];return Te&&Ve.push({key:`org:${Te}`,mode:"org",profile:"custom",orgId:Te,label:`Company / ${Pe}`,description:"A saved company architecture collaborates",icon:c.jsx(E4,{})}),Ve.filter(qe=>qe.key!==ke)},[bt,yt?.name,Ge,vt,me]),Fe=U.filter(ke=>!ke.error&&ke.transfer_state==="reading").length,$e=U.filter(ke=>!ke.error&&ke.transfer_state==="ready").length,Wt=d||u,nn=ee?G?"Stopping...":m&&m>1?`${m} agents working`:Wt?`Running ${Wt}`:a==="reflecting"?"Thinking...":"Working...":null;return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:`msg-composer${W?" focused":""}${ee?" working":""}`,children:[ee&&nn&&c.jsxs("div",{className:"composer-status",children:[c.jsx("div",{className:"composer-status-indicator"}),c.jsx("span",{className:"composer-status-text",children:nn}),c.jsxs("button",{className:"composer-stop-btn",onClick:L,title:"Stop",disabled:!te||!L,children:[c.jsx(Wj,{}),c.jsx("span",{children:G?"Stopping...":"Stop"})]})]}),U.length>0&&c.jsx("div",{className:"composer-attachments",children:U.map(ke=>c.jsxs("div",{className:`attachment-chip${ke.error?" error":""}`,children:[ke.preview_url?c.jsx("img",{className:"attachment-thumb",src:ke.preview_url,alt:ke.filename,onClick:()=>Y(ke.preview_url)}):c.jsx("span",{className:`attachment-file-icon tone-${NF(ke.mime_type,ke.filename)}`,children:EI(ke.mime_type,ke.filename)}),c.jsxs("span",{className:"attachment-chip-info",children:[c.jsx("span",{className:"attachment-chip-name",children:ke.filename}),c.jsx("span",{className:"attachment-chip-size",children:ke.error?ke.error:ke.transfer_state==="reading"?`Preparing ${ke.progress_percent}%`:`${eC(ke.size_bytes)} - Ready`})]}),c.jsx(IF,{progress:ke.progress_percent,state:ke.transfer_state,error:ke.error}),c.jsx("button",{className:"attachment-chip-remove",onClick:()=>Ee(ke.id),title:"Remove",children:c.jsx(Em,{})})]},ke.id))}),c.jsxs("div",{className:"composer-input-area",children:[c.jsx("textarea",{ref:Q,value:M,onChange:ke=>$(ke.target.value),onFocus:()=>B(!0),onBlur:()=>B(!1),onPaste:Ce,onKeyDown:ke=>{ke.key==="Enter"&&!ke.shiftKey&&(ke.preventDefault(),we())},placeholder:t??"Message...",rows:1,disabled:e}),c.jsxs("div",{className:"composer-bottom",children:[c.jsx("button",{className:"composer-attach-btn",onClick:()=>q.current?.click(),title:"Attach files",disabled:e,children:c.jsx(y4,{})}),c.jsx("input",{ref:q,type:"file",multiple:!0,accept:jF,style:{display:"none"},onChange:ke=>{ke.target.files&&se(ke.target.files),ke.target.value=""}}),(fe||r)&&c.jsxs("div",{className:"composer-config-group","data-locked":C?"true":void 0,children:[fe&&!C?c.jsxs("label",{className:"composer-mode-inline","data-kind":"mode",title:"Execution mode for this chat and new work started from it",children:[c.jsx("span",{className:"composer-mode-inline-label",children:"Mode"}),c.jsx("span",{className:"composer-mode-select-wrap",children:c.jsxs("select",{className:"composer-mode-select",value:Oe,onChange:ke=>{if(ke.target.value==="task"){O?.("task");return}O?.("company","corporate")},onFocus:()=>D?.(),onPointerDown:()=>D?.(),disabled:e,"aria-label":"Execution mode",children:[c.jsx("option",{value:"task",children:"Task"}),c.jsx("option",{value:"company",children:"Company"})]})})]}):fe&&C?c.jsxs("div",{className:"composer-mode-chip","data-kind":"mode",tabIndex:0,role:"group","aria-label":`Mode locked to ${Je}.${A?" Use the menu to start a new chat in a different mode.":" Start a new chat to use a different mode."}`,children:[c.jsx("span",{className:"composer-mode-chip-icon","aria-hidden":"true",children:c.jsx(Zk,{})}),c.jsx("span",{className:"composer-mode-chip-label",children:Je}),c.jsxs("div",{className:"composer-mode-chip-popover",role:"dialog","aria-label":"Mode info",children:[c.jsx("div",{className:"composer-mode-chip-popover-title",children:"Mode is fixed for this chat"}),c.jsxs("div",{className:"composer-mode-chip-popover-body",children:["Once the first message is sent, this chat is committed to"," ",c.jsx("strong",{children:Je}),"."]}),A&&Me.length>0&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"composer-mode-chip-popover-divider","aria-hidden":"true"}),c.jsx("div",{className:"composer-mode-chip-popover-action-title",children:"Continue in a new chat"}),c.jsx("div",{className:"composer-mode-chip-popover-actions",children:Me.map(ke=>c.jsxs("button",{type:"button",className:"composer-mode-chip-popover-action",onClick:()=>A(ke.mode,ke.profile,ke.orgId),"aria-label":`Start a new chat in ${ke.label}`,children:[c.jsx("span",{className:"composer-mode-chip-popover-action-icon","aria-hidden":"true",children:ke.icon}),c.jsxs("span",{className:"composer-mode-chip-popover-action-text",children:[c.jsx("span",{className:"composer-mode-chip-popover-action-label",children:ke.label}),c.jsx("span",{className:"composer-mode-chip-popover-action-desc",children:ke.description})]}),c.jsx("span",{className:"composer-mode-chip-popover-action-arrow","aria-hidden":"true",children:c.jsx(Xj,{})})]},ke.key))})]})]})]}):c.jsx("span",{className:"composer-mode","data-kind":"mode",children:Je}),Oe==="company"&&fe&&!C&&c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"composer-config-divider","aria-hidden":"true"}),c.jsxs("label",{className:"composer-mode-inline","data-kind":"org",title:"Company architecture for this chat",children:[c.jsx("span",{className:"composer-mode-inline-label",children:"Company"}),c.jsx("span",{className:"composer-mode-select-wrap",children:c.jsxs("select",{className:"composer-mode-select",value:rt,onChange:ke=>{const Te=ke.target.value;if(Te==="corporate"){O?.("company","corporate");return}if(Te.startsWith("org:")){const Pe=Te.slice(4);Pe&&O?.("org","custom",Pe)}},onFocus:()=>D?.(),onPointerDown:()=>D?.(),disabled:e,"aria-label":"Company architecture",children:[c.jsx("option",{value:"corporate",children:"Corporate"}),!rt&&c.jsx("option",{value:"",disabled:!0,children:"Select saved org"}),rt&&rt!=="corporate"&&!Ye.some(ke=>`org:${ke.name}`===rt)&&c.jsx("option",{value:rt,children:vt||me}),Ye.length===0?c.jsx("option",{value:"",disabled:!0,children:"No saved orgs"}):Ye.map(ke=>c.jsx("option",{value:`org:${ke.name}`,children:rx(ke)},ke.name))]})})]})]}),Ge==="task"&&c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"composer-config-divider","aria-hidden":"true"}),be&&!C?c.jsxs("label",{className:"composer-mode-inline","data-kind":"agent",title:"Execution agent for this task-mode chat",children:[c.jsx("span",{className:"composer-mode-inline-label",children:"Agent"}),c.jsx("span",{className:"composer-mode-select-wrap",children:c.jsx("select",{className:"composer-mode-select",value:o,onChange:ke=>I?.(ke.target.value),disabled:e,"aria-label":"Task mode agent",children:Object.entries(af).map(([ke,Te])=>c.jsx("option",{value:ke,children:Te},ke))})})]}):be&&C?c.jsxs("span",{className:"composer-mode-chip","data-kind":"agent",tabIndex:0,role:"status","aria-label":`Agent locked to ${af[o]}. Start a new chat to use a different agent.`,children:[c.jsx("span",{className:"composer-mode-chip-icon","aria-hidden":"true",children:c.jsx(Zk,{})}),c.jsx("span",{className:"composer-mode-chip-label",children:af[o]}),c.jsxs("span",{className:"composer-mode-chip-popover",role:"tooltip",children:[c.jsx("span",{className:"composer-mode-chip-popover-title",children:"Agent is fixed for this chat"}),c.jsx("span",{className:"composer-mode-chip-popover-body",children:"The execution agent is committed once the chat starts. Start a new chat to switch agents."})]})]}):c.jsx("span",{className:"composer-mode","data-kind":"agent",children:af[o]})]})]}),c.jsx("span",{className:"composer-hint",children:Fe>0?`Preparing ${Fe} attachment${Fe>1?"s":""}`:$e>0?`${$e} attachment${$e>1?"s":""} ready`:"Shift+Enter for new line"}),typeof re.usedPct=="number"&&c.jsx(TF,{usedPct:re.usedPct,usedTokens:re.usedTokens,windowTokens:re.windowTokens}),c.jsx("button",{className:"composer-send-btn",onClick:we,disabled:e||Fe>0||!M.trim()&&$e===0||ee,children:c.jsx(g4,{})})]})]})]}),V&&c.jsx("div",{className:"lightbox-overlay",onClick:()=>Y(null),children:c.jsx("img",{className:"lightbox-img",src:V,alt:"Preview"})})]})}function vv(e){return Nm(e)}function tC(e){const t=vv(e);return t==="tool_active"?0:t==="reflecting"?1:e.status==="running"?2:e.status==="pending"?3:e.status==="done"?5:e.status==="failed"?6:4}function bv(e){const t=Math.floor((Date.now()-e)/1e3);if(t<5)return"now";if(t<60)return`${t}s`;const n=Math.floor(t/60);return n<60?`${n}m`:`${Math.floor(n/60)}h`}function RF(e){return e.length===0?"โ€”":bv(e[e.length-1].timestamp)}function AF(e){if(e.status==="done")return"Completed";if(e.status==="failed")return"Failed";if(e.status==="cancelled")return"Cancelled";const t=vv(e);if(t==="tool_active"&&e.currentTool)return e.currentTool;if(t==="reflecting")return"Thinkingโ€ฆ";if(e.status==="pending")return"Pending";const n=e.progressLog;if(n.length>0){const r=n[n.length-1];return r.type==="work_item_started"?`Work item: ${r.summary}`:r.type==="tool_call"?r.summary:r.detail?r.detail.replace(/\s+/g," ").trim():r.summary}return"Idle"}function nC(e){return e==="done"?"โœ“":e==="failed"?"โœ—":e==="cancelled"?"โ€”":null}function rC(e){return e==="done"?"awp-terminal-done":e==="failed"?"awp-terminal-failed":e==="cancelled"?"awp-terminal-cancelled":""}const MF={native:"Native",codex:"Codex",claude_code:"Claude Code",cursor:"Cursor",opencode:"OpenCode"},sx={done:{cls:"awp-result-done",text:"Work item completed successfully"},failed:{cls:"awp-result-failed",text:"Work item failed"},cancelled:{cls:"awp-result-cancelled",text:"Work item cancelled"}},Jy={active:"Working",waiting:"Waiting",pending:"Pending",done:"Completed",failed:"Failed"},iC={active:0,waiting:1,pending:2,done:3,failed:4};function DF(e){if(e.runtimeStatus==="tool_active")return"Running toolโ€ฆ";if(e.runtimeStatus==="reflecting")return"Thinkingโ€ฆ";const t=Jy[e.aggregatedStatus]??"Pending";return e.aggregatedStatus==="done"?`${t} ยท ${e.workItems.length} work item${e.workItems.length===1?"":"s"}`:t}function OF(e){if(e.workItems.length===0)return"โ€”";const t=e.workItems.reduce((n,r)=>Math.max(n,r.updatedAt),0);return t?bv(t):"โ€”"}function LF(e){if(e.phase==="failed")return"failed";if(e.phase==="cancelled")return"cancelled";if(e.kanbanColumn==="done")return"done"}function zF({sections:e,fallbackEntries:t,sessionStatus:n}){const r=(e??[]).filter(i=>(i.entries?.length??0)>0||!!i.runtimeTaskId);return r.length>0?c.jsx("div",{className:"wf-role-turn-activity-sections",children:r.map((i,o)=>{const a=i.entries??[],u=`${i.runtimeTaskId||i.kind}:${o}`;return c.jsxs("section",{className:"wf-role-turn-activity-section",children:[c.jsxs("div",{className:"wf-role-turn-activity-section-head",children:[c.jsx("span",{className:"wf-role-turn-activity-section-title",children:i.title}),i.roleName&&c.jsx("span",{className:"wf-role-turn-activity-section-role",children:i.roleName}),a.length>0&&c.jsx("span",{className:"wf-role-turn-activity-section-count",children:a.length})]}),a.length>0?c.jsx(Wo,{entries:a,sessionStatus:n,expandedByDefault:!0}):c.jsx("div",{className:"wf-role-turn-empty-activity",children:"No runtime activity yet"})]},u)})}):!t||t.length===0?c.jsx("div",{className:"wf-role-turn-empty-activity",children:"No runtime activity yet"}):c.jsx(Wo,{entries:t,sessionStatus:n,expandedByDefault:!0})}function PF({roleWorkItems:e,onOpenChildDetail:t,onOpenExecutionPanel:n}){const[r,i]=j.useState(null),[o,a]=j.useState(null),[u,d]=j.useState("all"),[m,p]=j.useState(""),[h,g]=j.useState(!1),y=j.useMemo(()=>Object.values(e),[e]),v=j.useMemo(()=>{let w=y.slice();if(u==="active"?w=w.filter(C=>C.aggregatedStatus==="active"):u==="idle"?w=w.filter(C=>C.aggregatedStatus==="done"||C.aggregatedStatus==="failed"):u==="pending"&&(w=w.filter(C=>C.aggregatedStatus==="pending"||C.aggregatedStatus==="waiting")),m.trim()){const C=m.toLowerCase();w=w.filter(N=>N.roleName.toLowerCase().includes(C)||N.roleId.toLowerCase().includes(C)||N.workItems.some(O=>O.title.toLowerCase().includes(C)))}return w.sort((C,N)=>{const O=iC[C.aggregatedStatus]??99,I=iC[N.aggregatedStatus]??99;return O!==I?O-I:C.roleName.localeCompare(N.roleName)}),w},[y,u,m]);j.useEffect(()=>{r&&!y.some(w=>w.roleKey===r)&&(i(null),a(null))},[y,r]);const k=y.filter(w=>w.aggregatedStatus==="active").length,S=r?e[r]??null:null,_=S&&o?S.workItems.find(w=>w.workItemId===o)??null:null;return y.length===0?null:c.jsxs("div",{className:"awp",children:[c.jsxs("div",{className:"awp-header",children:[c.jsxs("span",{className:"awp-title",children:["Agents",c.jsx("span",{className:"awp-count",children:k>0?`${k}/${y.length} active`:`${y.length}`})]}),c.jsxs("div",{className:"awp-controls",children:[c.jsxs("select",{className:"awp-filter",value:u,onChange:w=>d(w.target.value),children:[c.jsx("option",{value:"all",children:"All"}),c.jsx("option",{value:"active",children:"Active"}),c.jsx("option",{value:"idle",children:"Idle / Done"}),c.jsx("option",{value:"pending",children:"Pending"})]}),c.jsx("button",{className:`awp-search-toggle${h?" active":""}`,onClick:()=>g(w=>!w),title:"Search agents",children:c.jsx(N0,{})})]})]}),h&&c.jsx("div",{className:"awp-search-bar",children:c.jsx("input",{className:"awp-search-input",type:"text",placeholder:"Search agents or work items...",value:m,onChange:w=>p(w.target.value),autoFocus:!0})}),c.jsxs("div",{className:"awp-list",children:[v.map(w=>{const C=r===w.roleKey,N=w.aggregatedStatus==="active",O=w.runtimeStatus==="reflecting"||w.runtimeStatus==="tool_active",I=w.aggregatedStatus==="done"||w.aggregatedStatus==="failed";return c.jsxs("button",{className:`awp-row${C?" awp-row-selected":""}${N?" awp-row-active":""}${I?` awp-row-terminal awp-terminal-${w.aggregatedStatus}`:""}`,onClick:()=>{i(D=>D===w.roleKey?null:w.roleKey),a(null)},title:`${w.roleName} โ€” ${Jy[w.aggregatedStatus]}`,children:[c.jsx("span",{className:`awp-dot${O?" awp-dot-active":""} awp-dot-${w.aggregatedStatus}`}),c.jsxs("div",{className:"awp-row-info",children:[c.jsx("span",{className:"awp-row-name",children:w.roleName}),c.jsxs("span",{className:"awp-row-projection",children:[w.workItems.length," work item",w.workItems.length===1?"":"s"]})]}),c.jsx("span",{className:"awp-row-activity",children:DF(w)}),c.jsx("span",{className:"awp-row-time",children:OF(w)})]},w.roleKey)}),v.length===0&&c.jsx("div",{className:"awp-empty",children:m?"No matching agents":"No agents in this filter"})]}),S&&c.jsxs("div",{className:"awp-detail",children:[c.jsxs("div",{className:"awp-detail-header",children:[c.jsxs("div",{className:"awp-detail-identity",children:[c.jsx("div",{className:"awp-detail-avatar",children:S.roleName.charAt(0).toUpperCase()}),c.jsxs("div",{className:"awp-detail-meta",children:[c.jsx("span",{className:"awp-detail-name",children:S.roleName}),c.jsx("span",{className:"awp-detail-role",children:Jy[S.aggregatedStatus]})]})]}),c.jsx("div",{className:"awp-detail-actions",children:c.jsx("button",{className:"awp-detail-close",onClick:()=>{i(null),a(null)},title:"Close detail",children:c.jsx(Em,{})})})]}),c.jsxs("div",{className:"awp-detail-body",children:[c.jsxs("div",{className:"awp-detail-section",children:[c.jsxs("div",{className:"awp-detail-section-label",children:[c.jsx(dl,{}),c.jsx("span",{children:"Work items"})]}),c.jsx("ul",{className:"wf-role-turns",children:S.workItems.map(w=>{const C=o===w.workItemId,N=w.kanbanColumn==="in-progress"?"in_progress":w.kanbanColumn==="in-review"?"in_review":w.kanbanColumn;return c.jsxs("li",{className:`wf-role-turn${C?" wf-role-turn-expanded":""}`,children:[c.jsxs("button",{type:"button",className:"wf-role-turn-button",onClick:()=>a(O=>O===w.workItemId?null:w.workItemId),children:[c.jsx("span",{className:`wf-role-turn-column wf-role-turn-column-${N}`,children:w.kanbanColumn.replace("-"," ").replace(/^./,O=>O.toUpperCase())}),c.jsxs("span",{className:"wf-role-turn-title",children:[w.isReviewTarget&&c.jsx("span",{className:"wf-role-turn-tag",children:"Review"}),w.title]}),c.jsx("span",{className:"wf-role-turn-time",children:bv(w.updatedAt)}),c.jsx("span",{className:"wf-role-turn-chevron",children:c.jsx(Yi,{down:C})})]}),C&&c.jsxs("div",{className:"wf-role-turn-activity",children:[c.jsx(zF,{sections:w.activitySections,fallbackEntries:w.progressLog,sessionStatus:LF(w)}),w.executionTurnId&&c.jsx("button",{type:"button",className:"wf-role-turn-open-session",onClick:O=>{O.stopPropagation(),w.executionTurnId&&(n??t)?.(w.executionTurnId)},children:"Open runtime session"})]})]},w.workItemId)})})]}),_===null&&S.workItems.length===0&&c.jsx("div",{className:"awp-detail-empty",children:"No work items yet"})]})]})]})}function BF({sessions:e,agents:t,onOpenChildDetail:n,onOpenExecutionPanel:r}){const[i,o]=j.useState(null),[a,u]=j.useState("all"),[d,m]=j.useState(""),[p,h]=j.useState(!1);j.useEffect(()=>{i&&!e.some(_=>_.taskId===i)&&o(null)},[e,i]);const g=j.useMemo(()=>{let _=[...e];if(a==="active"?_=_.filter(Ki):a==="idle"?_=_.filter(w=>Za.has(w.status)||vv(w)==="idle"&&w.status!=="pending"):a==="pending"&&(_=_.filter(w=>w.status==="pending")),d.trim()){const w=d.toLowerCase();_=_.filter(C=>(C.assigneeIds[0]??C.title).toLowerCase().includes(w)||C.title.toLowerCase().includes(w))}return _.sort((w,C)=>tC(w)-tC(C)),_},[e,a,d]),y=e.filter(Ki).length,v=j.useMemo(()=>i?e.find(_=>_.taskId===i)??null:null,[e,i]),k=j.useMemo(()=>{if(!v)return;const _=v.assigneeIds[0];return _?t.find(w=>w.agent_id===_):void 0},[v,t]),S=j.useCallback(_=>{o(w=>w===_?(n?.(_),w):_)},[n]);return e.length===0?null:c.jsxs("div",{className:"awp",children:[c.jsxs("div",{className:"awp-header",children:[c.jsxs("span",{className:"awp-title",children:["Agents",c.jsx("span",{className:"awp-count",children:y>0?`${y}/${e.length} active`:`${e.length}`})]}),c.jsxs("div",{className:"awp-controls",children:[c.jsxs("select",{className:"awp-filter",value:a,onChange:_=>u(_.target.value),children:[c.jsx("option",{value:"all",children:"All"}),c.jsx("option",{value:"active",children:"Active"}),c.jsx("option",{value:"idle",children:"Idle / Done"}),c.jsx("option",{value:"pending",children:"Pending"})]}),c.jsx("button",{className:`awp-search-toggle${p?" active":""}`,onClick:()=>h(_=>!_),title:"Search agents",children:c.jsx(N0,{})})]})]}),p&&c.jsx("div",{className:"awp-search-bar",children:c.jsx("input",{className:"awp-search-input",type:"text",placeholder:"Search agents...",value:d,onChange:_=>m(_.target.value),autoFocus:!0})}),c.jsxs("div",{className:"awp-list",children:[g.map(_=>{const w=Ki(_),C=Za.has(_.status),N=i===_.taskId,O=_.assigneeIds[0]?.replace(/_/g," ").replace(/\b\w/g,L=>L.toUpperCase())??_.title,I=_.workItemProjectionId?.replace(/_/g," ")??"",D=nC(_.status),T=rC(_.status);return c.jsxs("button",{className:`awp-row${N?" awp-row-selected":""}${w?" awp-row-active":""}${C?` awp-row-terminal ${T}`:""}`,onClick:()=>S(_.taskId),onDoubleClick:()=>n?.(_.taskId),title:n?"Click to inspect, click again or double-click to open full context":void 0,children:[D?c.jsx("span",{className:`awp-terminal-icon ${T}`,children:D}):c.jsx("span",{className:`awp-dot${w?" awp-dot-active":""}`}),c.jsxs("div",{className:"awp-row-info",children:[c.jsx("span",{className:"awp-row-name",children:O}),I&&c.jsx("span",{className:"awp-row-projection",children:I})]}),c.jsx("span",{className:"awp-row-activity",children:AF(_)}),c.jsx("span",{className:"awp-row-time",children:RF(_.progressLog)})]},_.taskId)}),g.length===0&&c.jsx("div",{className:"awp-empty",children:d?"No matching agents":"No agents in this filter"})]}),v&&c.jsxs("div",{className:"awp-detail",children:[c.jsxs("div",{className:"awp-detail-header",children:[c.jsxs("div",{className:"awp-detail-identity",children:[c.jsx("div",{className:`awp-detail-avatar${Za.has(v.status)?` ${rC(v.status)}`:""}`,children:(k?.name??v.assigneeIds[0]??"?").charAt(0).toUpperCase()}),c.jsxs("div",{className:"awp-detail-meta",children:[c.jsx("span",{className:"awp-detail-name",children:k?.name??v.assigneeIds[0]??v.title}),gl(v)&&c.jsx("span",{className:"awp-detail-role",children:gl(v)}),v.employeeAssignment?.name&&c.jsx("span",{className:"awp-detail-employee",children:v.employeeAssignment.name}),v.selectedExecutionAgent&&c.jsxs("span",{className:"awp-detail-employee",children:["Agent: ",MF[v.selectedExecutionAgent]??v.selectedExecutionAgent]}),v.workItemProjectionId&&c.jsx("span",{className:"awp-detail-projection",children:v.workItemProjectionId.replace(/_/g," ")})]})]}),c.jsxs("div",{className:"awp-detail-actions",children:[n&&c.jsx("button",{className:"awp-detail-expand",onClick:()=>n(v.taskId),title:"Open full context",children:c.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",children:[c.jsx("path",{d:"M2.5 3.25h9a1 1 0 011 1v5.5a1 1 0 01-1 1h-4l-2.75 2v-2h-2.25a1 1 0 01-1-1v-5.5a1 1 0 011-1Z",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round"}),c.jsx("path",{d:"M4.5 5.5h5M4.5 7.5h3.5",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]})}),r&&c.jsx("button",{className:"awp-detail-expand",onClick:()=>r(v.taskId),title:"Open execution panel",children:c.jsx(dl,{})}),c.jsx("button",{className:"awp-detail-close",onClick:()=>o(null),title:"Close detail",children:c.jsx(Em,{})})]})]}),c.jsxs("div",{className:"awp-detail-body",children:[v.handoffContext&&c.jsxs("div",{className:"awp-detail-section",children:[c.jsxs("div",{className:"awp-detail-section-label",children:[c.jsx(Pf,{}),c.jsx("span",{children:"Handoff"})]}),c.jsx("div",{className:"msg-content-agent-card",children:c.jsx(sr,{content:v.handoffContext,className:"awp-detail-handoff awp-detail-handoff-markdown"})})]}),c.jsxs("div",{className:"awp-detail-section",children:[c.jsxs("div",{className:"awp-detail-section-label",children:[c.jsx(dl,{}),c.jsx("span",{children:"Activity"})]}),c.jsx(Wo,{entries:v.progressLog,agentStatus:v.agentStatus,currentTool:v.currentTool,toolElapsedMs:v.toolElapsedMs,lastToolSummary:v.lastToolSummary,sessionStatus:v.status,expandedByDefault:!0}),v.progressLog.length===0&&!v.agentStatus&&!Za.has(v.status)&&c.jsx("div",{className:"awp-detail-empty",children:"No activity recorded yet"})]}),Za.has(v.status)&&sx[v.status]&&c.jsxs("div",{className:`awp-result-banner ${sx[v.status].cls}`,children:[c.jsx("span",{className:"awp-result-icon",children:nC(v.status)}),c.jsx("span",{children:sx[v.status].text})]})]})]})]})}function $F({sessions:e,roleWorkItems:t,isCompanyRuntime:n=!1,agents:r,onOpenChildDetail:i,onOpenExecutionPanel:o}){return t&&Object.keys(t).length>0?c.jsx(PF,{roleWorkItems:t,onOpenChildDetail:i,onOpenExecutionPanel:o}):n?null:c.jsx(BF,{sessions:e,agents:r,onOpenChildDetail:i,onOpenExecutionPanel:o})}function NI(e){try{return JSON.stringify(e,null,2)}catch{return String(e??"")}}function ox(e){return(e??[]).map(t=>t.trim()).filter(Boolean)}function sC(e){return e?Object.entries(e).filter(([,t])=>t!=null&&t!==""&&t!==!1).map(([t,n])=>Array.isArray(n)?[t,n.join(", ")]:typeof n=="object"?[t,NI(n)]:[t,String(n)]):[]}function HF({task:e,linkedSession:t,linkedSessionMessages:n,agents:r,onBack:i,onOpenLinkedSession:o,onOpenExecutionPanel:a}){const u=j.useMemo(()=>e.assigneeIds.map(I=>r.find(D=>D.agent_id===I)).filter(Boolean),[r,e.assigneeIds]),d=e.priority?Qf[e.priority]:null,m=e.residentAssignment??{},p=e.memberSessionState??{},h=e.ownershipContract??{},g=!!(e.agentStatus&&e.agentStatus!=="idle"),y=ox(e.deliverables),v=ox(e.acceptanceCriteria),k=ox(e.dependencies),S=sC({role_id:m.role_id,employee_id:m.employee_id,manager_role_id:m.manager_role_id,team_id:m.team_id,seat_id:m.seat_id,work_item_turn_type:m.work_item_turn_type,resident_status:m.resident_status}),_=sC({status:p.status,current_turn_mode:p.current_turn_mode,manager_role_id:p.manager_role_id,actionable_inbox_count:p.actionable_inbox_count,protocol_backlog_count:p.protocol_backlog_count,notification_backlog_count:p.notification_backlog_count}),w=String(e.employeeAssignment?.promptContext??"").trim(),C=String(e.employeeAssignment?.deltaContext??"").trim(),N=Lm(e),O=!!(e.workItemId||e.workItemProjectionId||N);return c.jsxs("div",{className:"ctx-child-detail",children:[c.jsxs("div",{className:"ctx-child-topbar",children:[c.jsxs("button",{className:"ctx-back-btn",onClick:i,children:["โ†"," Back to board"]}),N&&(o||a)&&c.jsx("button",{className:"ctx-child-stop-btn",onClick:()=>{if(o){o(N);return}a?.(N)},children:"Open Runtime Session"})]}),c.jsxs("div",{className:"ctx-child-header",children:[c.jsx("div",{className:"ctx-child-avatar",children:(e.workItemRoleName??e.title).charAt(0).toUpperCase()}),c.jsxs("div",{className:"ctx-child-meta",children:[c.jsx("span",{className:"ctx-child-name",children:e.title}),c.jsx("span",{className:"ctx-child-work-item",children:[e.workItemRoleName,e.phase].filter(Boolean).join(" ยท ")})]})]}),g&&c.jsxs("div",{className:`task-detail-runtime status-${e.agentStatus}`,children:[c.jsx("span",{className:"kanban-runtime-dot"}),c.jsx("span",{children:e.agentStatus==="tool_active"&&e.currentTool?e.currentTool:Jf[e.agentStatus]??e.agentStatus}),u.length>0&&c.jsx("span",{className:"task-detail-runtime-agent",children:u.map(I=>I.name).join(", ")})]}),c.jsxs("div",{className:"task-detail-body",children:[c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:O?"Work Item":"Task"}),c.jsxs("div",{className:"ctx-task-chip-row",children:[c.jsx("span",{className:"task-detail-dep-id",children:e.displayId}),d&&c.jsx("span",{className:"kanban-tag",children:d.label}),e.workItemRoleName&&c.jsx("span",{className:"kanban-tag",children:e.workItemRoleName}),e.managerRoleId&&c.jsxs("span",{className:"kanban-tag",children:["Manager: ",e.managerRoleId]}),e.scopeKey&&c.jsx("span",{className:"kanban-tag",children:e.scopeKey})]}),e.description&&c.jsx("div",{className:"msg-content-agent-card ctx-task-detail-card",children:c.jsx(sr,{content:e.description})})]}),e.originalMessage&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Session Goal"}),c.jsx("pre",{className:"task-detail-handoff",children:e.originalMessage})]}),e.planningContext&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Planning Context"}),c.jsx("pre",{className:"task-detail-handoff",children:e.planningContext})]}),y.length>0&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Deliverables"}),c.jsx("ul",{className:"task-detail-dep-list",children:y.map(I=>c.jsx("li",{className:"task-detail-dep-item",children:I},I))})]}),v.length>0&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Acceptance Criteria"}),c.jsx("ul",{className:"task-detail-dep-list",children:v.map(I=>c.jsx("li",{className:"task-detail-dep-item",children:I},I))})]}),(e.delegationRationale||e.nonOverlapGuard||e.coordinationNotes)&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Delegation Notes"}),e.delegationRationale&&c.jsx("pre",{className:"task-detail-handoff",children:e.delegationRationale}),e.nonOverlapGuard&&c.jsx("pre",{className:"task-detail-handoff",children:e.nonOverlapGuard}),e.coordinationNotes&&c.jsx("pre",{className:"task-detail-handoff",children:e.coordinationNotes})]}),k.length>0&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Dependencies"}),c.jsx("ul",{className:"task-detail-dep-list",children:k.map(I=>c.jsx("li",{className:"task-detail-dep-item",children:c.jsx("span",{className:"task-detail-dep-id",children:I})},I))})]}),(S.length>0||_.length>0||t)&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Role Runtime Context"}),t&&c.jsxs("div",{className:"ctx-task-chip-row",children:[c.jsxs("span",{className:"kanban-tag",children:["Runtime Session: ",t.title]}),c.jsxs("span",{className:"kanban-tag",children:["Status: ",t.status]})]}),S.length>0&&c.jsx("div",{className:"ctx-task-kv-grid",children:S.map(([I,D])=>c.jsxs("div",{className:"ctx-task-kv-item",children:[c.jsx("span",{className:"ctx-task-kv-label",children:I}),c.jsx("span",{className:"ctx-task-kv-value",children:D})]},I))}),_.length>0&&c.jsx("div",{className:"ctx-task-kv-grid",children:_.map(([I,D])=>c.jsxs("div",{className:"ctx-task-kv-item",children:[c.jsx("span",{className:"ctx-task-kv-label",children:I}),c.jsx("span",{className:"ctx-task-kv-value",children:D})]},I))})]}),e.handoffContext&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Handoff Context"}),c.jsx("pre",{className:"task-detail-handoff",children:e.handoffContext})]}),w&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Role Prompt Context"}),c.jsx("div",{className:"msg-content-agent-card ctx-task-detail-card",children:c.jsx(sr,{content:w})})]}),C&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Role Delta Context"}),c.jsx("pre",{className:"task-detail-handoff",children:C})]}),Object.keys(h).length>0&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Ownership Contract"}),c.jsx("pre",{className:"task-detail-handoff",children:NI(h)})]}),e.progressLog&&e.progressLog.length>0&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Activity"}),c.jsx("ul",{className:"task-detail-progress",children:e.progressLog.map((I,D)=>c.jsxs("li",{className:`progress-entry type-${I.type}`,children:[c.jsx("span",{className:"progress-time",children:new Date(I.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}),c.jsx("span",{className:"progress-summary",children:I.summary})]},`${I.timestamp}-${D}`))})]}),c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Runtime Session Activity"}),t&&n&&n.length>0?c.jsx("div",{className:"task-detail-linked-messages",children:c.jsx(Ja,{messages:n,channelName:t.title??"Runtime Session",detailMode:"summary"})}):t?c.jsx("p",{className:"task-detail-empty-hint",children:"Runtime session has no visible messages yet."}):c.jsx("p",{className:"task-detail-empty-hint",children:"No Runtime Session linked yet."})]})]})]})}function FF(e){const t=Date.now()-e;return t<6e4?"just now":t<36e5?`${Math.floor(t/6e4)}m`:t<864e5?`${Math.floor(t/36e5)}h`:`${Math.floor(t/864e5)}d`}function VF(e,t){if(t>1)return`${t} agents working`;const n=e.displayTool||e.currentTool;return n?`Running ${n}`:e.agentStatus==="reflecting"?"Thinking...":e.status==="running"?"Running":null}function UF(e){if(!(!e||Object.keys(e).length===0))return Object.values(e).filter(t=>t.aggregatedStatus==="active").length}function GF(e){return new Set(e.filter(Ki).map(n=>String(n.workItemRoleId??n.assigneeIds[0]??n.taskId).trim()).filter(Boolean)).size}function oC(e,t){const n=UF(e);return n!==void 0?n||void 0:GF(t)||void 0}function qF(e){const t=e0(e);return t==="org"||t==="custom"?`company/${e.orgId??"org"}`:t==="company"?`company/${e.companyProfile??"corporate"}`:t}function II(e){const t=String(e??"").trim().toLowerCase();return t==="company"?"company":t==="org"||t==="custom"?"org":"task"}function WF(e){return!!(e.isCompanyRuntime||e.parentSessionId||e.workItemProjectionId||e.roleWorkItems||e.executorRoleWorkItems)}function YF(e){const t=String(e.execMode??"").trim().toLowerCase(),n=II(e.execMode),r=String(e.companyProfile??"").trim().toLowerCase();return n==="company"?!1:n==="org"?!0:t?!1:r==="custom"||!!e.orgId}function ax(e,t=0){if(!e)return t>0;if(Math.max(e.messageCount??0,t)>0)return!0;const r=String(e.status??"").trim().toLowerCase();return!!(r&&r!=="pending"||e.parentSessionId||e.workItemProjectionId||e.workItemRoleId||e.workItemTurnType||e.pendingRuntimeCheckpointId||e.runtimeControlState&&e.runtimeControlState!=="idle"||(e.progressLog?.length??0)>0||(e.workItemLog?.length??0)>0||e.roleWorkItems&&Object.keys(e.roleWorkItems).length>0||e.executorRoleWorkItems&&Object.keys(e.executorRoleWorkItems).length>0)}function e0(e,t){const r=String(e.execMode??"").trim().toLowerCase().length>0,i=II(e.execMode);return YF(e)?"org":!r&&i==="task"&&WF(e)?"company":e.execMode??t??"task"}function aC(e,t,n){return t&&e.selectedExecutionAgent&&e.selectedExecutionAgent!=="native"?e.selectedExecutionAgent:e.preferredAgent??e.selectedExecutionAgent??n}function Pc(e,t){const n=!!t?.childDetail;return e?n?"full":e.execMode==="company"||e.execMode==="org"||e.execMode==="custom"?"summary":"full":"summary"}const XF=new Set(["awaiting_human","awaiting_manager_review","awaiting_review","awaiting_peer"]);function lC(e){const t=String(e.status??"").trim(),n=e.runtimeControlState==="suspended"||!XF.has(t)&&t!=="running"&&t!=="done";return!!(e.canResume??n)}function KF({task:e,agents:t,roleLabel:n}){const[r,i]=j.useState(!1),o=e.priority,a=o&&e.priority in Qf?Qf[o]:null,u=e.assigneeIds.map(h=>t.find(g=>g.agent_id===h)?.name??h).filter(Boolean),d=new Date(e.createdAt),m=e.employeeAssignment?.name?`${e.employeeAssignment.name}${e.employeeAssignment.category?` ยท ${e.employeeAssignment.category}`:""}`:null,p=({label:h,value:g})=>c.jsxs("div",{className:"ctx-info-fact",children:[c.jsx("span",{className:"ctx-info-fact-label",children:h}),c.jsx("span",{className:"ctx-info-fact-value",children:g})]});return c.jsxs("div",{className:"ctx-info-v2",children:[c.jsxs("section",{className:"ctx-info-section",children:[c.jsx("h4",{className:"ctx-info-section-title",children:"Status"}),c.jsxs("div",{className:"ctx-info-card",children:[c.jsxs("div",{className:"ctx-info-status-row",children:[c.jsxs("span",{className:`ctx-info-status-pill status-${e.status}`,children:[c.jsx("span",{className:"ctx-info-status-dot"}),e.status]}),a&&c.jsxs("span",{className:"ctx-info-priority-pill",style:{color:a.color},children:[c.jsx("span",{"aria-hidden":"true",children:a.symbol}),a.label]})]}),e.tags&&e.tags.length>0&&c.jsx("div",{className:"ctx-info-chips",children:e.tags.map(h=>c.jsx("span",{className:"ctx-info-chip",children:h},h))})]})]}),c.jsxs("section",{className:"ctx-info-section",children:[c.jsx("h4",{className:"ctx-info-section-title",children:"People & agent"}),c.jsxs("div",{className:"ctx-info-card",children:[u.length>0&&c.jsx(p,{label:"Assignees",value:c.jsx("div",{className:"ctx-info-chips",children:u.map(h=>c.jsx("span",{className:"ctx-info-chip",children:h},h))})}),n&&c.jsx(p,{label:"Role",value:n}),m&&c.jsx(p,{label:"Employee",value:m}),e.selectedExecutionAgent&&c.jsx(p,{label:"Execution agent",value:c.jsx("span",{className:"ctx-info-mono",children:e.selectedExecutionAgent})})]})]}),c.jsxs("section",{className:"ctx-info-section",children:[c.jsx("h4",{className:"ctx-info-section-title",children:"Timing"}),c.jsx("div",{className:"ctx-info-card",children:c.jsx(p,{label:"Created",value:c.jsx("span",{children:d.toLocaleString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})})})})]}),c.jsxs("section",{className:"ctx-info-section ctx-info-dev-section",children:[c.jsxs("button",{className:`ctx-info-dev-toggle${r?" expanded":""}`,type:"button",onClick:()=>i(h=>!h),"aria-expanded":r,children:[c.jsx("svg",{width:"11",height:"11",viewBox:"0 0 16 16","aria-hidden":"true",children:c.jsx("path",{d:r?"M3 6l5 5 5-5":"M6 3l5 5-5 5",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})}),c.jsx("span",{children:"Developer details"})]}),r&&c.jsxs("div",{className:"ctx-info-card ctx-info-dev-card",children:[e.workItemProjectionId&&c.jsx(p,{label:"Projection",value:c.jsx("span",{className:"ctx-info-mono ctx-info-mono-break",children:e.workItemProjectionId})}),c.jsx(p,{label:"Task ID",value:c.jsx("span",{className:"ctx-info-mono ctx-info-mono-break",children:e.taskId})}),c.jsx(p,{label:"Channel",value:c.jsx("span",{className:"ctx-info-mono ctx-info-mono-break",children:e.channelId})}),e.sessionId&&c.jsx(p,{label:"Session",value:c.jsx("span",{className:"ctx-info-mono ctx-info-mono-break",children:e.sessionId})})]})]})]})}function ZF({panelState:e,width:t,onResizeMouseDown:n,isResizing:r,activeView:i,activeSession:o,activeTask:a,linkedTaskSession:u,linkedTaskSessionMessages:d,childDetailSession:m,messages:p,childDetailMessages:h,allSessions:g,openSessions:y,openSessionMessages:v,openSessionChildren:k,agents:S,childSessions:_,execMode:w,taskPreferredAgent:C,savedOrgsList:N,activeSavedOrg:O,onSavedOrgsList:I,onSavedOrgLoad:D,canShowAgentsTab:T=!1,channelId:L,channelName:A,secretaryChannelId:M,unreadCounts:$,multiSessionView:W=!1,panelTab:B,onPanelTabChange:U,commsState:H,commsMessage:V,onCommsRefresh:Y,onCommsReadMessage:Q,orgInfoData:q,recoveryStatus:G,canShowTeamTab:J=!1,onTeamStopRun:P,onTitleChange:X,onSessionConfigChange:ee,onSessionTaskAgentChange:te,onContinueInNewChat:re,onStop:oe,onComplete:de,onResume:se,onResumeTask:Ee,onStopTask:we,onCompleteTask:Ce,onLocateOnBoard:Be,onBackToParent:Ge,onCloseTaskDetail:Ye,onOpenChildDetail:yt,onOpenExecutionPanel:qt,onSelectSessionTab:bt,onCloseSessionTab:vt,onToggleMultiSessionView:me,onCollapse:Oe,onExpand:rt,onMaximize:Qe,onComposerSend:Je,onMessageSend:fe,onSessionSend:be,onWorkItemClick:Me,onWorkItemOpenSession:Fe,onMarkRead:$e,onSessionMarkRead:Wt,onLoadSessionHistory:nn,isSessionHistoryLoading:ke}){const Te=i.kind==="secretary",Pe=i.kind==="activity",Ve=i.kind==="child-detail",qe=i.kind==="task-detail",et=!!(o&&(o.isCompanyRuntime||_.length>0)),Mn=i.kind==="session"&&o,Tn=Te?!0:!!o,Dn=!Ve&&y.length>0,yn=y.length>1,Yt=!!(W&&i.kind==="session"&&o&&yn&&B==="chat"),Jt=j.useRef(null),Et=j.useMemo(()=>{const Ae=$f(o,g);return Hf(o,[...Ae,..._])},[o,_,g]),wt=Et.displaySession??o,tt=Pc(wt),it=j.useMemo(()=>rS(o,Et.runtimeSession,Et.timelineSessions),[o,Et.runtimeSession,Et.timelineSessions]),rn=j.useMemo(()=>H4(o,Et.runtimeSession,Et.timelineSessions),[o,Et.runtimeSession,Et.timelineSessions]),Xt=j.useMemo(()=>sS(Et.timelineSessions),[Et.timelineSessions]),mt=j.useMemo(()=>it?.workItemLog??o?.workItemLog??[],[it?.workItemLog,o?.workItemLog]),Ht=j.useMemo(()=>eS(it??o,g),[it,o,g]),On=j.useMemo(()=>it?.roleWorkItems??o?.roleWorkItems,[it?.roleWorkItems,o?.roleWorkItems]),vn=j.useMemo(()=>it?.executorRoleWorkItems??o?.executorRoleWorkItems,[it?.executorRoleWorkItems,o?.executorRoleWorkItems]),Rn=!!(On&&Object.keys(On).length>0||vn&&Object.keys(vn).length>0),ve=Ht.length>0?Ht:_,Re=j.useMemo(()=>Ff(Et.timelineSessions),[Et.timelineSessions]),Xe=j.useMemo(()=>Et.timelineSessions.some(Ae=>ke?.(Ae.taskId)??!1),[Et.timelineSessions,ke]),He=j.useCallback(Ae=>{if(Ae){const Dt=Et.timelineSessions.find(kn=>kn.channelId===Ae.channelId);if(Dt)return Dt}return wt??o},[Et.timelineSessions,wt,o]),Tt=j.useMemo(()=>{if(!m)return;const Ae=m.assigneeIds[0];return Ae?S.find(Dt=>Dt.agent_id===Ae):void 0},[m,S]),ht=u??(()=>{const Ae=Lm(a);return Ae?g.find(Dt=>Dt.taskId===Ae||Dt.runtimeTaskId===Ae||Dt.executionTurnId===Ae)??null:null})();j.useEffect(()=>{!Ve||!m||Jt.current?.scrollTo({top:0,behavior:"auto"})},[Ve,m?.taskId]);const $n=o;return e==="collapsed"?c.jsx("div",{className:"ctx-collapse-strip",onClick:()=>rt(),title:"Open panel",children:"โ—€"}):c.jsxs(c.Fragment,{children:[c.jsx("div",{className:`ctx-resize-handle${r?" active":""}`,onMouseDown:n}),c.jsx("div",{className:`ctx-panel${e==="maximized"?" maximized":""}`,style:e!=="maximized"?{width:t}:void 0,children:qe&&a?c.jsx(HF,{task:a,linkedSession:ht,linkedSessionMessages:d,agents:S,onBack:Ye??Oe,onOpenLinkedSession:bt,onOpenExecutionPanel:qt}):Ve&&m?c.jsxs("div",{className:"ctx-child-detail",ref:Jt,children:[c.jsxs("div",{className:"ctx-child-topbar",children:[c.jsx("button",{className:"ctx-back-btn",onClick:Ge,children:"โ† Back to parent"}),(m.canStop??m.status==="running")&&m.runtimeControlState!=="suspending"&&we&&c.jsx("button",{className:"ctx-child-stop-btn",onClick:()=>we(m.taskId),title:"Stop this agent",children:"Stop"}),m.runtimeControlState==="suspending"&&c.jsx("button",{className:"ctx-child-stop-btn",disabled:!0,title:"Stopping this agent",children:"Stopping..."}),lC(m)&&Ee&&c.jsx("button",{className:"ctx-child-resume-btn",onClick:()=>Ee(m.taskId),title:"Continue this agent's runtime",children:"Continue"})]}),c.jsxs("div",{className:"ctx-child-header",children:[Tt&&c.jsx("div",{className:"ctx-child-avatar",children:Tt.name.charAt(0).toUpperCase()}),c.jsxs("div",{className:"ctx-child-meta",children:[c.jsx("span",{className:"ctx-child-name",children:Tt?.name??m.title}),m.workItemRoleName&&c.jsx("span",{className:"ctx-child-work-item",children:m.workItemRoleName}),!m.workItemRoleName&&m.workItemProjectionId&&c.jsx("span",{className:"ctx-child-work-item",children:m.workItemProjectionId.replace(/_/g," ")})]})]}),m.handoffContext&&c.jsxs("div",{className:"exec-section ctx-child-markdown-section",children:[c.jsxs("div",{className:"exec-section-header",children:[c.jsx(Pf,{}),c.jsx("span",{children:"Received From"})]}),c.jsx("div",{className:"msg-content-agent-card ctx-child-markdown-card",children:c.jsx(sr,{content:m.handoffContext})})]}),c.jsxs("div",{className:"ctx-child-transcript",children:[c.jsxs("div",{className:"ctx-child-transcript-header",children:[c.jsx(dl,{}),c.jsx("span",{children:"Transcript"})]}),c.jsx(Ja,{messages:h,channelName:m.title,viewKind:"session",detailMode:"full",agentStatus:m.agentStatus,currentTool:m.currentTool,toolElapsedMs:m.toolElapsedMs,lastToolSummary:m.lastToolSummary,progressLog:m.progressLog,draftAssistantText:m.draftAssistantText,draftUpdatedAt:m.draftUpdatedAt,draftIteration:m.draftIteration,draftTurnId:m.draftTurnId,onMarkRead:$e,hasOlderHistory:!Ki(m)&&m.messageCount>h.length,totalMessageCount:m.messageCount,onLoadOlderHistory:Ae=>nn?.(m.taskId,Ae,"full"),loadingOlderHistory:ke?.(m.taskId)??!1,autoScroll:!1,initialScrollToBottom:!0,showRuntimeProgress:!0,renderUserMarkdown:!0},m.channelId)]}),m.artifacts&&m.artifacts.length>0&&c.jsxs("div",{className:"ctx-child-artifacts",children:[c.jsxs("div",{className:"ctx-child-section-header",children:[c.jsx(wm,{}),c.jsx("span",{children:"Artifacts"})]}),c.jsx("ul",{className:"ctx-child-artifact-list",children:m.artifacts.map((Ae,Dt)=>c.jsx("li",{children:Ae},Dt))})]}),m.handoffTo&&c.jsxs("div",{className:"ctx-child-markdown-section ctx-child-passed-to",children:[c.jsxs("div",{className:"ctx-child-section-header",children:[c.jsx(Pf,{}),c.jsx("span",{children:"Passed To"})]}),c.jsx("div",{className:"msg-content-agent-card ctx-child-markdown-card",children:c.jsx(sr,{content:m.handoffTo})})]})]}):c.jsxs(c.Fragment,{children:[Dn&&c.jsxs("div",{className:"ctx-session-strip",children:[c.jsx("div",{className:"ctx-session-strip-scroll",children:y.map(Ae=>{const Dt=$?.[Ae.channelId]??0,kn=o?.taskId===Ae.taskId;return c.jsxs("div",{className:`ctx-session-chip${kn?" active":""}`,children:[c.jsxs("button",{className:"ctx-session-chip-main",onClick:()=>bt?.(Ae.taskId),title:Ae.title,children:[c.jsx("span",{className:`ctx-session-chip-status status-${Ae.status}`}),c.jsx("span",{className:"ctx-session-chip-title",children:Ae.title}),Dt>0&&c.jsx("span",{className:"ctx-session-chip-unread",children:Dt>99?"99+":Dt})]}),c.jsx("button",{className:"ctx-session-chip-close",onClick:()=>vt?.(Ae.taskId),title:"Close tab",children:"ร—"})]},Ae.taskId)})}),yn&&c.jsx("button",{className:`ctx-session-view-btn${W?" active":""}`,onClick:me,children:W?"Single View":"Multi View"})]}),c.jsxs("div",{className:"ctx-header",children:[Yt?c.jsx("span",{className:"ctx-header-title",children:et?"Open Runtime Sessions":"Open Sessions"}):Mn?c.jsxs("div",{className:"ctx-header-tabs",role:"tablist","aria-label":"Session view",children:[c.jsx("button",{role:"tab","aria-selected":B==="chat",className:`ctx-tab${B==="chat"?" active":""}`,onClick:()=>U("chat"),children:"Chat"}),T&&c.jsx("button",{role:"tab","aria-selected":B==="agents",className:`ctx-tab${B==="agents"?" active":""}`,onClick:()=>U("agents"),children:"Agents"}),c.jsx("button",{role:"tab","aria-selected":B==="info",className:`ctx-tab${B==="info"?" active":""}`,onClick:()=>U("info"),children:"Info"}),Y&&c.jsx("button",{role:"tab","aria-selected":B==="comms",className:`ctx-tab${B==="comms"?" active":""}`,onClick:()=>U("comms"),children:"Comms"}),J&&c.jsx("button",{role:"tab","aria-selected":B==="team",className:`ctx-tab${B==="team"?" active":""}`,onClick:()=>U("team"),children:"Team"})]}):Te?c.jsx("span",{style:{fontSize:13,fontWeight:600,padding:"0 4px"},children:"Secretary"}):c.jsx("span",{style:{fontSize:13,fontWeight:600,padding:"0 4px"},children:"Activity"}),c.jsxs("div",{className:"ctx-header-actions",children:[e==="open"&&c.jsx("button",{onClick:Qe,title:"Maximize",children:c.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:c.jsx("rect",{x:"2",y:"2",width:"10",height:"10",rx:"1.5",stroke:"currentColor",strokeWidth:"1.3"})})}),e==="maximized"&&c.jsx("button",{onClick:rt,title:"Restore",children:c.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:[c.jsx("rect",{x:"1",y:"3",width:"8",height:"8",rx:"1.5",stroke:"currentColor",strokeWidth:"1.3"}),c.jsx("path",{d:"M5 3V1.5A.5.5 0 015.5 1H12.5a.5.5 0 01.5.5V8.5a.5.5 0 01-.5.5H11",stroke:"currentColor",strokeWidth:"1.3"})]})}),c.jsx("button",{onClick:Oe,title:"Close panel",children:c.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:c.jsx("path",{d:"M3 3l8 8M11 3l-8 8",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})})})]})]}),c.jsxs("div",{className:"ctx-body",children:[!o&&!Te&&!Pe&&c.jsxs("div",{className:"ctx-empty",children:[c.jsx("span",{className:"ctx-empty-icon",children:"๐Ÿ“‹"}),c.jsx("span",{children:et?"Select a Work Item to see details":"Select a task to see details"})]}),Yt&&c.jsx("div",{className:"ctx-multi-grid",children:y.map(Ae=>{const Dt=v[Ae.taskId]??[],kn=k[Ae.taskId]??[],nr=$f(Ae,g),Sn=Hf(Ae,[...nr,...kn]),We=rS(Ae,Sn.runtimeSession,Sn.timelineSessions),lr=eS(We??Ae,g),cr=We?.roleWorkItems??Ae.roleWorkItems,mn=oC(cr,kn)??0,Pt=Ae.assigneeIds.map(cn=>S.find(sn=>sn.agent_id===cn)?.name??cn).filter(Boolean),Zn=VF(We??Ae,mn),wn=!!(Ae.isCompanyRuntime||kn.length>0),pt=Sn.displaySession??Ae,Ar=sS(Sn.timelineSessions),jr=Ff(Sn.timelineSessions),Qn=ax(We??pt,Math.max(jr,Dt.length)),ct=Sn.timelineSessions.some(cn=>ke?.(cn.taskId)??!1);return c.jsxs("section",{className:`ctx-multi-card${o?.taskId===Ae.taskId?" focused":""}`,children:[c.jsxs("div",{className:"ctx-multi-card-header",children:[c.jsxs("button",{className:"ctx-multi-card-main",onClick:()=>bt?.(Ae.taskId),title:"Focus session",children:[c.jsx("span",{className:`ctx-multi-card-status status-${Ae.status}`}),c.jsx("span",{className:"ctx-multi-card-title",children:Ae.title})]}),c.jsxs("div",{className:"ctx-multi-card-actions",children:[((We??Ae).canStop??(We??Ae).status==="running")&&(We??Ae).runtimeControlState!=="suspending"&&we&&c.jsx("button",{onClick:()=>we(Sn.runtimeSession?.taskId??Ae.taskId),children:"Stop"}),(We??Ae).runtimeControlState==="suspending"&&c.jsx("button",{disabled:!0,children:"Stopping..."}),lC(We??Ae)&&Ee&&c.jsx("button",{onClick:()=>Ee(Ae.taskId),children:"Continue"}),(We??Ae).status!=="done"&&(We??Ae).status!=="cancelled"&&Ce&&c.jsx("button",{onClick:()=>Ce(Ae.taskId),children:"Done"}),c.jsx("button",{onClick:()=>bt?.(Ae.taskId),children:"Focus"}),c.jsx("button",{onClick:()=>vt?.(Ae.taskId),title:"Close tab",children:"ร—"})]})]}),c.jsxs("div",{className:"ctx-multi-card-meta",children:[c.jsx("span",{children:qF(Ae)}),c.jsx("span",{children:Ae.status}),Zn&&c.jsx("span",{children:Zn}),Pt.length>0&&c.jsx("span",{children:Pt.join(", ")}),c.jsx("span",{children:FF(Ae.updatedAt)})]}),c.jsx("div",{className:"ctx-multi-card-body",children:c.jsx(Ja,{messages:Dt,channelName:pt?.title??Ae.title,viewKind:"session",detailMode:Pc(pt),agentStatus:We?.agentStatus??pt?.agentStatus,currentTool:We?.currentTool??pt?.currentTool,toolElapsedMs:We?.toolElapsedMs??pt?.toolElapsedMs,lastToolSummary:We?.lastToolSummary??pt?.lastToolSummary,progressLog:Ar,draftAssistantText:We?.draftAssistantText??pt?.draftAssistantText,draftUpdatedAt:We?.draftUpdatedAt??pt?.draftUpdatedAt,draftIteration:We?.draftIteration??pt?.draftIteration,draftTurnId:We?.draftTurnId??pt?.draftTurnId,isCompanyRuntime:We?.isCompanyRuntime??wn,workItemLog:We?.workItemLog??Ae.workItemLog,childSessions:lr,onSend:(cn,sn,Nt)=>be?.(Ae.taskId,cn,void 0,Nt),onWorkItemClick:Me,onWorkItemOpenSession:Fe,onMarkRead:()=>Wt?.(Ae.taskId),hasOlderHistory:!Sn.timelineSessions.some(Ki)&&jr>Dt.length,totalMessageCount:jr,onLoadOlderHistory:cn=>{const sn=Sn.timelineSessions.find(Nt=>Nt.channelId===cn?.channelId)??pt??Ae;return nn?.(sn.taskId,cn,Pc(sn,{childDetail:sn.mode==="child"}))},loadingOlderHistory:ct,showRuntimeProgress:Pc(pt)==="full"},pt?.channelId??Ae.channelId)}),c.jsx(ix,{disabled:!1,channelId:We?.channelId??Ae.channelId,execMode:e0(Ae,w),companyProfile:Ae.companyProfile,taskPreferredAgent:aC(Ae,Qn,C),agentStatus:We?.agentStatus??pt?.agentStatus,currentTool:We?.currentTool??pt?.currentTool,displayTool:We?.displayTool??pt?.displayTool,activeAgentCount:mn||void 0,runtimeControlState:(We??pt)?.runtimeControlState,canStop:(We??pt)?.canStop,savedOrgs:N??null,activeSavedOrg:O??null,selectedOrgId:Ae.orgId??O??null,lockedMode:Qn,autoFocus:!1,contextTokens:We?.contextTokens??pt?.contextTokens,contextWindow:We?.contextWindow??pt?.contextWindow,contextRemainingPct:We?.contextRemainingPct??pt?.contextRemainingPct??100,onSend:(cn,sn)=>be?.(Ae.taskId,cn,sn,Qj(T0(Dt).latestPendingReplyMetadata)),onModeChange:(cn,sn,Nt)=>ee?.(Ae.taskId,cn,sn,Nt),onTaskAgentChange:cn=>te?.(Ae.taskId,cn),onContinueInNewChat:re,onSavedOrgsRefresh:I,onSavedOrgLoad:D,onStop:()=>we?.(Sn.runtimeSession?.taskId??Ae.taskId)})]},Ae.taskId)})}),Pe&&c.jsxs(c.Fragment,{children:[c.jsx("div",{style:{padding:"8px 12px",fontSize:12,color:"var(--text-secondary)",borderBottom:"1px solid var(--border)"},children:"Recent activity across all sessions"}),c.jsx(Ja,{messages:p,channelName:"Activity",viewKind:"activity",detailMode:"summary",onSend:fe,onMarkRead:$e},L)]}),Te&&c.jsxs(c.Fragment,{children:[c.jsx(Ja,{messages:p,channelName:"Secretary",viewKind:"secretary",detailMode:"summary",onSend:fe,onMarkRead:$e},M),c.jsx(ix,{disabled:!1,channelId:M,placeholder:"Talk to Secretary about policies, rules, preferences...",onSend:Je})]}),o&&!Te&&!Pe&&!Yt&&B==="chat"&&c.jsxs(c.Fragment,{children:[c.jsx(B8,{session:rn??o,agents:S,onTitleChange:X,onViewOnBoard:Be?()=>Be(o.taskId):void 0,onStop:oe,onComplete:(rn??o).status!=="done"&&(rn??o).status!=="cancelled"?de:void 0,onResume:se}),et&&(Rn||mt.length>0||Ht.length>0)&&c.jsx("div",{className:"ctx-work-item-progress",children:c.jsx(Qy,{workItemLog:mt,roleWorkItems:On,executorRoleWorkItems:vn,childSessions:Ht,isCompanyRuntime:et,onWorkItemClick:Me})}),c.jsx(Ja,{messages:p,channelName:A,viewKind:"session",detailMode:tt,agentStatus:it?.agentStatus??wt?.agentStatus,currentTool:it?.currentTool??wt?.currentTool,toolElapsedMs:it?.toolElapsedMs??wt?.toolElapsedMs,lastToolSummary:it?.lastToolSummary??wt?.lastToolSummary,progressLog:Xt,draftAssistantText:it?.draftAssistantText??wt?.draftAssistantText,draftUpdatedAt:it?.draftUpdatedAt??wt?.draftUpdatedAt,draftIteration:it?.draftIteration??wt?.draftIteration,draftTurnId:it?.draftTurnId??wt?.draftTurnId,isCompanyRuntime:it?.isCompanyRuntime??et,workItemLog:mt,roleWorkItems:On,executorRoleWorkItems:vn,childSessions:Ht,onSend:fe,onWorkItemClick:Me,onWorkItemOpenSession:Fe,onMarkRead:$e,hasOlderHistory:!Et.timelineSessions.some(Ki)&&Re>p.length,totalMessageCount:Re,onLoadOlderHistory:Ae=>{const Dt=He(Ae);if(Dt)return nn?.(Dt.taskId,Ae,Pc(Dt,{childDetail:Dt.mode==="child"}))},loadingOlderHistory:Xe,showWorkItemRuntimeCard:!1,showRuntimeProgress:tt==="full"},L),c.jsx(ix,{disabled:!Tn,channelId:it?.channelId??L,execMode:e0(o,w),companyProfile:o.companyProfile,taskPreferredAgent:aC(o,ax(it??wt??o,Math.max(Re,p.length)),C),agentStatus:it?.agentStatus??wt?.agentStatus,currentTool:it?.currentTool??wt?.currentTool,displayTool:it?.displayTool??wt?.displayTool,runtimeControlState:(it??wt)?.runtimeControlState,canStop:(it??wt)?.canStop,savedOrgs:N??null,activeSavedOrg:O??null,selectedOrgId:o.orgId??O??null,lockedMode:ax(it??wt??o,Math.max(Re,p.length)),activeAgentCount:oC(On,ve),contextTokens:it?.contextTokens??wt?.contextTokens,contextWindow:it?.contextWindow??wt?.contextWindow,contextRemainingPct:it?.contextRemainingPct??wt?.contextRemainingPct??100,onSend:Je,onModeChange:(Ae,Dt,kn)=>ee?.(o.taskId,Ae,Dt,kn),onTaskAgentChange:Ae=>te?.(o.taskId,Ae),onContinueInNewChat:re,onSavedOrgsRefresh:I,onSavedOrgLoad:D,onStop:oe})]}),o&&!Te&&!Yt&&B==="agents"&&T&&(ve.length>0||Rn?c.jsx($F,{sessions:ve,roleWorkItems:On,isCompanyRuntime:et,agents:S,onOpenChildDetail:yt,onOpenExecutionPanel:qt}):c.jsxs("div",{className:"ctx-empty",children:[c.jsx("span",{className:"ctx-empty-icon",children:"๐Ÿง "}),c.jsx("span",{children:"No child agents have started for this session yet"})]})),o&&!Te&&!Yt&&B==="info"&&$n&&c.jsx(KF,{task:$n,agents:S,roleLabel:gl($n)}),B==="comms"&&Y&&Q&&c.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0},children:c.jsx(R8,{state:H??null,message:V??null,onRefresh:Y,onReadMessage:Q,embedded:!0})}),B==="team"&&J&&c.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0},children:c.jsx(L8,{orgInfoData:q??null,recoveryStatus:G??null,commsState:H??null,onStopRun:P,embedded:!0})})]})]})})]})}function QF({initialWidth:e,minWidth:t,maxWidth:n,onCollapse:r}){const[i,o]=j.useState(e),[a,u]=j.useState(!1),d=j.useRef(0),m=j.useRef(0),p=j.useRef(e);p.current=i;const h=j.useCallback(g=>{g.preventDefault(),d.current=g.clientX,m.current=p.current,u(!0)},[]);return j.useEffect(()=>{if(!a)return;const g=v=>{const k=d.current-v.clientX,S=m.current+k;if(S{u(!1)};return document.body.style.userSelect="none",document.body.style.cursor="col-resize",document.addEventListener("mousemove",g),document.addEventListener("mouseup",y),()=>{document.body.style.userSelect="",document.body.style.cursor="",document.removeEventListener("mousemove",g),document.removeEventListener("mouseup",y)}},[a,t,n,r]),{width:i,isResizing:a,handleMouseDown:h}}const JF=200;function cC(){const e=globalThis.crypto;return e&&typeof e.randomUUID=="function"?`ui-${e.randomUUID()}`:`ui-${Date.now()}-${Math.random().toString(36).slice(2,9)}`}function eV(e,t,n){if(e!=="org"&&e!=="custom"||!t)return!0;const{roles:r,employees:i}=t,o=zm(t),a=t.top_level_role_ids??[],u=t.final_decider_role_id??"";if(r.length===0)return confirm(`Your org has no roles defined. + +Set up at least one role before running a task. + +Go to Org tab now?`)&&n?.(),!1;if(a.length>1&&!u)return confirm(`Your organization has multiple top-level roles but no final decider selected. + +Choose one final decider in the Org tab before running a task. + +Go to Org tab now?`)&&n?.(),!1;const d=[],m=new Set(r.map(y=>y.role_id));o.runtimeTeams.filter(y=>y.member_role_ids.some(v=>m.has(v))||y.manager_role_id&&m.has(y.manager_role_id)).length===0&&d.push("No runtime teams defined โ€” the system will auto-generate from your roles");const h=new Set(i.map(y=>y.role_id)),g=r.filter(y=>!h.has(y.role_id));if(g.length>0){const y=g.map(v=>v.name).join(", ");d.push(`${g.length} role(s) have no employees: ${y}`)}return d.length>0?confirm(`Before running this task: + +`+d.map(y=>"โ€ข "+y).join(` +`)+` + +Run anyway?`):!0}function tV(e){if(!e)return!1;const t=zm(e);return!!(t.projectRun?.run_id||t.runtimeTeams.length>0||t.runtimeSeats.length>0)}function uC(e,t){const n=!!t?.childDetail;return e?n?"full":e.execMode==="company"||e.execMode==="org"||e.execMode==="custom"?"summary":"full":"summary"}function dC(e){return String(e?.originTaskId??e?.taskId??"").trim()||null}function nV({boardColor:e,title:t,onCommit:n}){const[r,i]=j.useState(!1),[o,a]=j.useState(t),u=j.useRef(null);j.useEffect(()=>{r||a(t)},[t,r]);const d=j.useCallback(()=>{const p=o.trim();p&&p!==t?n(p):a(t),i(!1)},[o,t,n]),m=j.useCallback(()=>{a(t),i(!0),setTimeout(()=>u.current?.select(),0)},[t]);return c.jsx("div",{className:"board-selector",children:c.jsx("div",{className:"board-tabs",children:c.jsxs("span",{className:"board-tab active board-tab-editable",style:{"--board-color":e},children:[c.jsx("span",{className:"board-tab-dot",style:{background:e}}),r?c.jsx("input",{ref:u,className:"board-tab-title-input",value:o,onChange:p=>a(p.target.value),onBlur:d,onKeyDown:p=>{p.key==="Enter"&&d(),p.key==="Escape"&&(a(t),i(!1))}}):c.jsx("span",{className:"board-tab-title",onClick:m,title:"Click to edit session title",children:t})]})})})}function rV({boardStore:e,agents:t,officeMap:n,execMode:r,companyProfile:i,taskPreferredAgent:o,chatStore:a,sessionStore:u,projectId:d,onRunTask:m,onCreateTask:p,onMoveTask:h,onCreateSession:g,onSessionSend:y,onSecretarySend:v,onDeleteSession:k,onTitleChange:S,onSessionConfigChange:_,onSessionTaskAgentChange:w,onContinueInNewChat:C,onSessionStop:N,onSessionResume:O,onSessionComplete:I,onLoadSessionDetail:D,onOpenExecutionPanel:T,onCollabSync:L,orgInfoData:A,onNavigateToOrg:M,recoveryStatus:$,onRecoveryResume:W,onRecoveryCancel:B,commsState:U,commsMessage:H,onCommsRefresh:V,onCommsReadMessage:Y,savedOrgsList:Q,activeSavedOrg:q,onSavedOrgsList:G,onSavedOrgLoad:J}){const{sessions:P,activeSessionId:X,activeSession:ee}=u,[te,re]=j.useState("collapsed"),{width:oe,isResizing:de,handleMouseDown:se}=QF({initialWidth:380,minWidth:300,maxWidth:600,onCollapse:()=>re("collapsed")}),[Ee,we]=j.useState("chat"),[Ce,Be]=j.useState(null),[Ge,Ye]=j.useState({kind:"activity"}),[yt,qt]=j.useState([]),[bt,vt]=j.useState(!1),[me,Oe]=j.useState({}),rt=j.useRef(D),Qe=j.useRef({active:null,child:null}),Je=r==="company"||r==="org"||r==="custom",fe=`secretary:${d}`,be=`activity:${d}`,Me=j.useMemo(()=>Ce?P.find(ue=>ue.taskId===Ce)??null:null,[P,Ce]),Fe=j.useMemo(()=>Ge.kind!=="task-detail"?null:e.tasks.find(ue=>ue.id===Ge.taskId)??null,[Ge,e.tasks]),$e=j.useMemo(()=>{const ue=Lm(Fe);return ue?P.find(Se=>Se.taskId===ue||Se.runtimeTaskId===ue||Se.executionTurnId===ue)??null:null},[P,Fe]),Wt=j.useMemo(()=>$e?a.getChannelMessages($e.channelId):[],[a.messages,a.getChannelMessages,$e]),nn=j.useMemo(()=>jf(ee,P),[P,ee]),ke=j.useMemo(()=>$f(ee,P),[P,ee]),Te=j.useMemo(()=>Hf(ee,[...ke,...nn]),[ee,nn,ke]);j.useEffect(()=>{rt.current=D},[D]);const Pe=j.useCallback((ue,Se,Ue="summary")=>{const ft=rt.current;!ft||!ue||(Oe(Kt=>Kt[ue]?Kt:{...Kt,[ue]:!0}),ft(ue,{limit:JF,beforeCreatedAt:Se?.timestamp,beforeMessageId:Se?.id,detailLevel:Ue}),window.setTimeout(()=>{Oe(Kt=>Kt[ue]?{...Kt,[ue]:!1}:Kt)},800))},[]),Ve=j.useCallback(ue=>!!me[ue],[me]);j.useEffect(()=>{Qe.current={active:null,child:null}},[d]),j.useEffect(()=>{Ce&&!Me&&Be(null)},[Ce,Me]),j.useEffect(()=>{Ge.kind==="task-detail"&&!Fe&&Ye({kind:"activity"})},[Ge,Fe]);const qe=j.useRef(null);j.useEffect(()=>{if(!$e){qe.current=null;return}qe.current!==$e.taskId&&(qe.current=$e.taskId,Pe($e.taskId,void 0,"full"))},[$e,Pe]),j.useEffect(()=>{if(!Ce){Qe.current.child=null;return}Qe.current.child!==Ce&&(Qe.current.child=Ce,Pe(Ce,void 0,"full"))},[Ce,Pe]),j.useEffect(()=>{if(!X){Qe.current.active=null;return}const ue=Te.timelineSessions.length>0?Te.timelineSessions:P.find(Ue=>Ue.taskId===X)?[P.find(Ue=>Ue.taskId===X)]:[];if(ue.length===0){Qe.current.active=null;return}const Se=ue.map(Ue=>`${Ue.taskId}:${uC(Ue,{childDetail:Ue.mode==="child"})}`).join("|");if(Qe.current.active!==Se){Qe.current.active=Se;for(const Ue of ue)Pe(Ue.taskId,void 0,uC(Ue,{childDetail:Ue.mode==="child"}))}},[Te.timelineSessions,X,Pe,P]);const et=j.useMemo(()=>Ce?{kind:"child-detail"}:Ge.kind==="task-detail"||Ge.kind==="secretary"?Ge:X?{kind:"session",taskId:X}:{kind:"activity"},[Ge,X,Ce]),Mn=j.useMemo(()=>et.kind==="secretary"?fe:et.kind==="child-detail"&&Me?Me.channelId:et.kind==="session"&&Te.displaySession?Te.displaySession.channelId:et.kind==="session"&&ee?ee.channelId:be,[et,Te.displaySession,ee,Me,fe,be]),Tn=j.useMemo(()=>{if(et.kind==="activity")return[be];if(et.kind==="secretary")return[fe];if(et.kind==="child-detail"&&Me)return[Me.channelId];if(et.kind==="session"){const ue=Te.timelineSessions.map(Se=>Se.channelId).filter((Se,Ue,ft)=>!!Se&&ft.indexOf(Se)===Ue);if(ue.length>0)return ue}return Mn?[Mn]:[]},[et.kind,Te.timelineSessions,Me,be,fe,Mn]),Dn=j.useMemo(()=>{const ue=new Set;for(const Se of P)Se.status!=="cancelled"&&ue.add(Se.channelId);return ue.add(be),ue.add(fe),ue},[P,be,fe]),yn=j.useMemo(()=>et.kind==="activity"?a.messages.filter(ue=>ue.sender!=="user"&&Dn.has(ue.channelId)).sort((ue,Se)=>Se.timestamp-ue.timestamp).slice(0,50).reverse():et.kind==="session"&&Tn.length>1?iS(Tn.map(ue=>a.getChannelMessages(ue))):a.getChannelMessages(Mn),[a.messages,a.getChannelMessages,Mn,et.kind,Dn,Tn]),Yt=j.useMemo(()=>Me?a.getChannelMessages(Me.channelId):[],[a.messages,a.getChannelMessages,Me]),Jt=j.useMemo(()=>{if(et.kind==="session")return Qj(T0(yn).latestPendingReplyMetadata)},[yn,et.kind]),Et=j.useMemo(()=>[...Je?P.filter(Se=>Se.mode!=="child"):P].sort((Se,Ue)=>Ue.updatedAt-Se.updatedAt),[P,Je]),wt=j.useMemo(()=>{if(!Je)return null;const ue=new Set;for(const Se of P)Se.mode==="child"&&ue.add(Se.taskId);return ue.size>0?ue:null},[P,Je]),tt=j.useMemo(()=>{if(!wt)return e.tasksByColumn;const ue={};for(const[Se,Ue]of Object.entries(e.tasksByColumn))ue[Se]=Ue.filter(ft=>!wt.has(ft.id));return ue},[e.tasksByColumn,wt]),it=!!(ee&&(ee.isCompanyRuntime||nn.length>0)),rn=!!(ee&&(Je||it)),Xt=!!(ee&&Je&&tV(A));j.useEffect(()=>{Ee==="agents"&&!rn&&we("chat"),Ee==="comms"&&!V&&we("chat"),Ee==="team"&&!Xt&&we("chat")},[Ee,rn,Xt,V]);const mt=j.useMemo(()=>{const ue={};for(const Se of P)ue[Se.channelId]=a.getUnreadCount(Se.channelId);return ue[fe]=a.getUnreadCount(fe),ue},[P,a.getUnreadCount,fe]),Ht=j.useMemo(()=>yt.map(ue=>P.find(Se=>Se.taskId===ue)).filter(ue=>!!ue&&ue.mode!=="child"),[yt,P]),On=j.useMemo(()=>{const ue={};for(const Se of Ht){const Ue=jf(Se,P),ft=$f(Se,P),Kt=Hf(Se,[...ft,...Ue]);ue[Se.taskId]=iS(Kt.timelineSessions.map(An=>a.getChannelMessages(An.channelId)))}return ue},[Ht,P,a.getChannelMessages]),vn=j.useMemo(()=>{const ue={};for(const Se of Ht)ue[Se.taskId]=jf(Se,P);return ue},[Ht,P]),Rn=j.useCallback(ue=>{qt(Se=>Se.includes(ue)?Se:[...Se,ue])},[]),ve=j.useRef(null);j.useEffect(()=>{X&&!ve.current&&te==="collapsed"&&(re("open"),we("chat")),ve.current=X},[X,te]),j.useEffect(()=>{X&&Rn(X)},[X,Rn]),j.useEffect(()=>{const ue=new Set(P.map(Se=>Se.taskId));qt(Se=>Se.filter(Ue=>ue.has(Ue))),Oe(Se=>Object.fromEntries(Object.entries(Se).filter(([Ue])=>ue.has(Ue))))},[P]),j.useEffect(()=>{bt&&Ht.length<2&&vt(!1)},[bt,Ht.length]),j.useEffect(()=>{const ue=Se=>{if(Se.key==="Escape"&&te!=="collapsed"){const Ue=Se.target?.tagName;if(Ue==="INPUT"||Ue==="TEXTAREA"||Ue==="SELECT")return;re("collapsed")}};return document.addEventListener("keydown",ue),()=>document.removeEventListener("keydown",ue)},[te]),j.useEffect(()=>{if(te!=="collapsed")for(const ue of Tn)a.markRead(ue)},[Tn,a,te]);const Re=j.useCallback(()=>{for(const ue of Tn)a.markRead(ue)},[Tn,a]),Xe=j.useCallback(ue=>{const Se=P.find(Ue=>Ue.taskId===ue);Se&&a.markRead(Se.channelId)},[P,a]),He=j.useCallback(ue=>{const Se=P.find(Ue=>Ue.taskId===ue);Se&&(Rn(ue),u.setActiveSession(ue),Ye({kind:"session",taskId:ue}),re("open"),we("chat"),Be(null),a.markRead(Se.channelId))},[P,Rn,u,a]),Tt=j.useCallback(ue=>{const Se=yt.filter(ft=>ft!==ue);if(qt(Se),Ce===ue&&Be(null),X!==ue)return;const Ue=Se[Se.length-1]??null;if(u.setActiveSession(Ue),Ue){const ft=P.find(Kt=>Kt.taskId===Ue);Ye({kind:"session",taskId:Ue}),we("chat"),ft&&a.markRead(ft.channelId);return}Ye({kind:"activity"})},[yt,Ce,X,u,P,a]),ht=j.useCallback(ue=>{if(!ue){Ye({kind:"activity"}),u.setActiveSession(null),Be(null);return}const Se=P.find(Ue=>Ue.taskId===ue);if(Je&&Se?.mode==="child"){Be(ue),re("open");return}He(ue)},[P,u,Je,He]),$n=j.useCallback(()=>{Ye({kind:"secretary"}),u.setActiveSession(null),Be(null),re("open"),a.markRead(fe)},[u,a,fe]),Ae=j.useCallback(ue=>{const Se=e.tasks.find(ft=>ft.id===ue.id);if(Je&&Se){Be(null),Ye({kind:"task-detail",taskId:Se.id}),re("open"),we("info");return}P.find(ft=>ft.taskId===ue.id)?He(ue.id):Se&&Se.phase!=="cancelled"&&(u.createSession({projectId:d,taskId:Se.id,channelId:`session:${Se.id}`,sessionId:Se.sessionId,title:Se.title,status:"pending",columnId:Se.columnId,execMode:r,companyProfile:i,assigneeIds:Se.assigneeIds,priority:Se.priority,tags:Se.tags,selectedExecutionAgent:Se.selectedExecutionAgent,createdAt:Se.createdAt,updatedAt:Se.updatedAt,messageCount:0,progressLog:[]}),Rn(ue.id),u.setActiveSession(ue.id),Ye({kind:"session",taskId:ue.id}),re("open"),we("chat"),L?.())},[P,e.tasks,u,He,Rn,L,Je]),Dt=j.useCallback(ue=>{if(!e.activeBoardId)return;const Se=e.activeBoardColumns.find(ft=>ft.name==="Todo");if(!Se)return;const Ue=e.createTask({boardId:e.activeBoardId,columnId:Se.id,title:ue});p(ue,e.activeBoardId,Se.id,Ue.id)},[e,p]),kn=j.useCallback(ue=>{e.setActiveBoard(ue);const Se=P.find(Ue=>Ue.mode!=="child"&&dC(Ue)===ue);if(Se){He(Se.taskId);return}Be(null),Ye({kind:"activity"}),u.setActiveSession(null)},[e,P,He,u]),nr=j.useMemo(()=>new Set(e.boards.map(ue=>ue.id)),[e.boards]);j.useEffect(()=>{if(Je){const ue=Fe?.boardId??dC(ee)??null;if(!ue||!nr.has(ue)){e.activeBoardId!==null&&e.setActiveBoard(null);return}e.activeBoardId!==ue&&e.setActiveBoard(ue);return}e.boards.length>0&&!e.activeBoardId&&e.setActiveBoard(e.boards[0].id)},[Je,Fe?.boardId,ee,nr,e.activeBoardId,e.boards,e.setActiveBoard]);const Sn=j.useCallback(ue=>{const Se=e.tasks.find(Cn=>Cn.id===ue);if(!Se)return;const Ue=P.find(Cn=>Cn.taskId===ue),ft=Ue?.execMode??r,Kt=Ue?.companyProfile??i,An=ft==="org"||ft==="custom"?"custom":ft==="company"?Kt:void 0;if(!eV(ft,A,M))return;m(ue,Se.title,Se.description??"",ft,An);const br=e.activeBoardColumns.find(Cn=>Cn.name==="In Progress");br&&e.moveTask(ue,br.id,0)},[e,m,P,r,i,A,M]),We=j.useCallback((ue,Se,Ue,ft)=>{_?.(ue,Se,Ue,ft)},[_]),lr=j.useCallback(ue=>{te==="maximized"&&re("open"),setTimeout(()=>{document.querySelector(`[data-task-id="${ue}"]`)?.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})},100)},[te]),cr=j.useCallback(()=>{const Se=(Te.runtimeSession??Te.displaySession??ee)?.taskId??X;Se&&N?.(Se)},[Te.runtimeSession,Te.displaySession,ee,X,N]),mn=j.useCallback(()=>{Ce||X&&I?.(X)},[X,Ce,I]),Pt=j.useCallback(ue=>{N?.(ue)},[N]),Zn=j.useCallback(()=>{const ue=Te.runtimeSession??Te.displaySession??ee,Se=ue?.resumeParentTaskId??ue?.taskId??X;Se&&O?.(Se)},[Te.runtimeSession,Te.displaySession,ee,X,O]),wn=j.useCallback(ue=>{const Se=P.find(Ue=>Ue.taskId===ue);O?.(Se?.resumeParentTaskId??ue)},[P,O]),pt=j.useCallback(ue=>{I?.(ue)},[I]),Ar=j.useCallback(()=>{if(!bt&&et.kind!=="session"){const ue=X??Ht[Ht.length-1]?.taskId??null;ue&&He(ue)}vt(ue=>!ue)},[bt,et.kind,X,Ht,He]),jr=j.useCallback((ue,Se,Ue,ft)=>{const Kt=ft?.ui_message_id?ft:{...ft??{},ui_message_id:cC()};y(ue,Se,Ue,Kt)},[y]),Qn=j.useCallback((ue,Se)=>{if(et.kind==="secretary"){v?.(ue);return}const Ue=X;if(!Ue)return;const ft=String(Jt?.response_to_checkpoint_id??"").trim();let Kt=Jt;if(!ft){const An=cC();Kt={...Jt??{},ui_message_id:An};const br=Te.displaySession??ee;a.sendMessage({channelId:br?.channelId??`session:${Ue}`,sender:"user",senderName:"You",content:ue,metadata:{ui_message_id:An}})}jr(Ue,ue,Se,Kt)},[et.kind,X,Te.displaySession,ee,Jt,a,jr,v]),ct=j.useCallback((ue,Se,Ue)=>{const ft=Se??X;ft&&jr(ft,ue,void 0,Ue)},[X,jr]),cn=j.useCallback(ue=>{const Se=P.find(Ue=>Ue.taskId===ue||Ue.runtimeTaskId===ue||Ue.executionTurnId===ue);Se&&(Be(Se.taskId),re("open"),we("chat"),a.markRead(Se.channelId))},[P,a]),sn=j.useCallback(ue=>{if(T){T(ue);return}cn(ue)},[cn,T]),Nt=et.kind==="secretary",vr=Nt?"Secretary":ee?ee.title:"Activity";return c.jsxs("div",{className:`workspace-page${te==="maximized"?" panel-maximized":""}`,children:[c.jsx(W4,{sessions:Et,activeSessionId:Nt?null:X,activeChannel:Nt?fe:null,secretaryChannelId:fe,unreadCounts:mt,onSelect:ht,onCreateSession:g,onDeleteSession:k,onSelectSecretary:v?$n:void 0}),te!=="maximized"&&c.jsxs("div",{className:"workspace-board",children:[$&&W&&B&&c.jsx(n4,{data:$,onResume:W,onCancel:B}),t.length>0&&c.jsx(_8,{agents:t,tasks:e.tasks}),Je?e.activeBoard&&ee&&c.jsx(nV,{boardColor:e.activeBoard.color,title:e.activeBoard.name,onCommit:ue=>S(ee.taskId,ue)},ee.taskId):e.boards.length>1&&c.jsx(k8,{boards:e.boards,activeBoardId:e.activeBoardId,onSelect:kn}),Je&&!e.activeBoard?c.jsx("div",{className:"kanban-empty-state",children:c.jsx("p",{children:"Select a Runtime Session on the left to view its Work Item board."})}):c.jsxs(c.Fragment,{children:[c.jsx(b8,{columns:e.activeBoardColumns,tasksByColumn:tt,agents:t,officeMap:n,store:e,companyMode:Je,selectedTaskId:et.kind==="task-detail"?et.taskId:X,onCardClick:Ae,onStartTask:Sn,onQuickCreate:Dt,onMoveTask:h}),Je&&e.activeBoard&&e.tasks.filter(ue=>ue.boardId===e.activeBoardId).length===0&&c.jsx("div",{className:"kanban-empty-state kanban-empty-state-inline",children:c.jsx("p",{children:"No work items yet โ€” start delegation to populate this board."})})]})]}),c.jsx(ZF,{panelState:te,width:oe,onResizeMouseDown:se,isResizing:de,activeView:et,activeSession:ee,activeTask:Fe,linkedTaskSession:$e,linkedTaskSessionMessages:Wt,childDetailSession:Me,messages:yn,childDetailMessages:Yt,allSessions:P,openSessions:Ht,openSessionMessages:On,openSessionChildren:vn,agents:t,childSessions:nn,execMode:r,taskPreferredAgent:o,savedOrgsList:Q??null,activeSavedOrg:q??null,onSavedOrgsList:G,onSavedOrgLoad:J,canShowAgentsTab:rn,channelId:Mn,channelName:vr,secretaryChannelId:fe,unreadCounts:mt,multiSessionView:bt,panelTab:Ee,onPanelTabChange:we,commsState:U??null,commsMessage:H??null,onCommsRefresh:V?()=>V({session_id:ee?.sessionId||void 0,project_id:d||void 0}):void 0,onCommsReadMessage:Y,orgInfoData:A??null,recoveryStatus:$??null,canShowTeamTab:Xt,onTeamStopRun:X?()=>N?.(X):void 0,onTitleChange:S,onSessionConfigChange:We,onSessionTaskAgentChange:w,onContinueInNewChat:C,onStop:cr,onComplete:mn,onResume:Zn,onResumeTask:wn,onStopTask:Pt,onCompleteTask:pt,onLocateOnBoard:lr,onBackToParent:()=>Be(null),onCloseTaskDetail:()=>Ye({kind:"activity"}),onOpenChildDetail:cn,onOpenExecutionPanel:T,onSelectSessionTab:He,onCloseSessionTab:Tt,onToggleMultiSessionView:Ar,onCollapse:()=>re("collapsed"),onExpand:()=>re("open"),onMaximize:()=>re(ue=>ue==="maximized"?"open":"maximized"),onComposerSend:Qn,onMessageSend:ct,onSessionSend:jr,onWorkItemClick:sn,onWorkItemOpenSession:cn,onMarkRead:Re,onSessionMarkRead:Xe,onLoadSessionHistory:Pe,isSessionHistoryLoading:Ve})]})}function iV(){return`${Date.now()}-${Math.random().toString(36).slice(2,7)}`}const _v=2e3,fC={child_task_result:80,child_task_result_retry:79,company_role_result:75,company_role_result_retry:74,child_result:70,runtime_v2_assistant:60,runtime_v2_company_assistant:20,top_level_reply:40,worker_notification:10};function Xo(e){return e.metadata??{}}function om(e){const t=String(e??"").replace(/\r\n/g,` +`).replace(/\r/g,` +`).split(` +`).map(i=>i.trimEnd()).join(` +`).replace(/\n{3,}/g,` + +`).trim(),n=sV(t),r=n.split(/\n{2,}/).map(i=>i.trim()).filter(Boolean);return r.length>1&&/^Verification:\s/i.test(r[r.length-1])?r.slice(0,-1).join(` + +`).trim():n}function sV(e){const t=String(e||"").trim(),n=t.match(/^\*\*(.{8,160}?)\*\*:\s+([\s\S]+)$/);if(n){const a=n[2].trim();if(a.length>=80)return a}const r=t.indexOf(": ");if(r<8||r>160)return t;const i=t.slice(0,r).replace(/\*/g,"").trim(),o=t.slice(r+2).trim();return o.length<80||!/[A-Za-z\u4e00-\u9fff]/.test(i)||/^(https?|file)$/i.test(i)?t:o}function Ko(e){const t=Xo(e),n=new Set,r=typeof t.checkpoint_type=="string"?t.checkpoint_type.trim():"",i=typeof t.checkpoint_id=="string"?t.checkpoint_id.trim():"";for(const o of[e.id,typeof t.ui_message_id=="string"?t.ui_message_id:"",r&&i?`checkpoint:${r}:${i}`:""]){const a=String(o??"").trim();a&&n.add(a)}return n}function oV(e){return e.startsWith("checkpoint:")}function Xi(e){return typeof e.timestamp=="number"?e.timestamp:0}function mC(e){const t=String(e.sender??"").trim().toLowerCase(),n=Xo(e),r=typeof n.role=="string"?n.role.trim().toLowerCase():"";return t==="user"||r==="user"?"user":"assistant"}function hC(e){const t=Xo(e),n=String(e.sender??"").trim().toLowerCase();let r=0;const i=TI(e);return i&&(r+=1e3+i),t.source==="engine"&&(r+=100),n&&n!=="system"&&(r+=20),n&&!["assistant","system","user"].includes(n)&&(r+=5),e.replyToId&&(r+=2),r+=Math.min(Object.keys(t).length,10),r}function pC(e){return String(Xo(e).source??"").trim().toLowerCase()==="engine"}function TI(e){const t=Xo(e),n=String(t.transcript_kind??"").trim();if(n)return fC[n]??0;const r=String(t.kind??"").trim();return fC[r]??0}function am(e){return TI(e)>0}function RI(e,t){if(e.channelId!==t.channelId)return!1;const n=Ko(e),r=Ko(t);for(const i of n)if(r.has(i))return!0;return!1}function t0(e,t){if(RI(e,t))return!0;if(e.channelId!==t.channelId||mC(e)!==mC(t)||om(e.content)!==om(t.content))return!1;const n=am(e)&&am(t);if(!n&&String(e.replyToId??"")!==String(t.replyToId??"")||!(pC(e)||pC(t)))return!1;const r=Xi(e),i=Xi(t);return!(!n&&r&&i&&Math.abs(r-i)>_v)}function n0(e,t,n=!1){let r=e,i=t;(n||hC(t)>hC(e))&&(r=t,i=e);const o=[];for(const h of[i.mentions,r.mentions])for(const g of h??[])o.includes(g)||o.push(g);const a=Ko(e),u=Ko(t);let d="";for(const h of a)if(u.has(h)&&!oV(h)){d=h;break}const m=om(r.content),p=m&&m===om(i.content)?m:r.content;return{...i,...r,...d?{id:d}:{},content:p,metadata:{...Xo(i),...Xo(r)},mentions:o,timestamp:Xi(r)||Xi(i)}}function lx(e){const t=[],n=new Map;for(const r of[...e].sort((i,o)=>Xi(i)-Xi(o))){const i=Ko(r);let o=-1,a=!1;for(const d of i){const m=n.get(d);if(m!==void 0){o=m,a=t[m].id===r.id;break}}if(o===-1){const d=Xi(r),m=am(r);for(let p=t.length-1;p>=0;p--){const h=Xi(t[p]);if(!m&&d>0&&h>0&&d-h>_v)break;if(t0(t[p],r)){o=p;break}}}const u=o===-1?t.length:o;o===-1?t.push(r):t[o]=n0(t[o],r,a);for(const d of Ko(t[u]))n.has(d)||n.set(d,u)}return t}function aV(e,t){switch(t.type){case"SET":return t.channels;case"CLEAR":return[];case"ADD":return e.some(n=>n.id===t.channel.id)?e:[...e,t.channel];case"REMOVE":return e.filter(n=>n.id!==t.channelId);case"REMOVE_PARTICIPANT":return e.map(n=>({...n,participants:n.participants.filter(r=>r!==t.agentId)}));default:return e}}function lV(e,t){switch(t.type){case"SET":{const n=lx(t.messages);if(e.length===0)return n;const r=e.filter(i=>typeof i.id=="string"&&i.id.startsWith("msg-")&&!n.some(o=>t0(i,o)));return r.length===0?n:lx([...n,...r])}case"CLEAR":return[];case"ADD":{const n=Xi(t.message);Ko(t.message);let r=!1;for(let i=e.length-1;i>=0;i--){const o=Xi(e[i]);if(!r&&n>0&&o>0&&n-o>_v&&(r=!0),RI(e[i],t.message)){const a=[...e];return a[i]=n0(e[i],t.message,e[i].id===t.message.id),a}if((am(t.message)||!r)&&t0(e[i],t.message)){const a=[...e];return a[i]=n0(e[i],t.message),a}}return[...e,t.message]}case"MERGE":return t.messages.length===0?e:lx([...e,...t.messages]);case"MARK_SENDER_DELETED":return e.map(n=>n.sender===t.senderId?{...n,senderDeleted:!0,senderName:"[ๅทฒๅˆ ้™ค็š„ Agent]"}:n);case"REMOVE_BY_CHANNEL":return e.filter(n=>n.channelId!==t.channelId);case"REMOVE_BY_TASK_ID":return e.filter(n=>n.channelId!==`session:${t.taskId}`&&n.metadata?.task_id!==t.taskId);default:return e}}function cV(){const[e,t]=j.useReducer(aV,[]),[n,r]=j.useReducer(lV,[]),[i,o]=j.useState({}),[a,u]=j.useState("default"),d=j.useMemo(()=>{const I={};for(const D of n)I[D.channelId]||(I[D.channelId]=[]),I[D.channelId].push(D);return I},[n]),m=j.useMemo(()=>{const I={};for(const D of n){if(D.sender==="user")continue;const T=i[D.channelId]??0;D.timestamp<=T||(I[D.channelId]=(I[D.channelId]??0)+1)}return I},[n,i]),p=j.useCallback(I=>{const D={id:`msg-${iV()}`,channelId:I.channelId,sender:I.sender,senderName:I.senderName,content:I.content,timestamp:Date.now(),replyToId:I.replyToId,mentions:[],metadata:I.metadata};return r({type:"ADD",message:D}),D},[]),h=j.useCallback(I=>d[I]??[],[d]),g=j.useCallback(I=>m[I]??0,[m]),y=j.useCallback(I=>{o(D=>({...D,[I]:Date.now()}))},[]),v=j.useCallback(I=>{r({type:"MARK_SENDER_DELETED",senderId:I})},[]),k=j.useCallback(I=>{t({type:"REMOVE_PARTICIPANT",agentId:I})},[]),S=j.useCallback(I=>{t({type:"REMOVE",channelId:`session:${I}`}),r({type:"REMOVE_BY_TASK_ID",taskId:I})},[]),_=j.useCallback(()=>{t({type:"CLEAR"}),r({type:"CLEAR"}),o({})},[]),w=j.useCallback((I,D,T)=>{const L=I||"default",A=L!==a;u(L),t({type:"SET",channels:D}),r(A?{type:"SET",messages:T}:{type:"MERGE",messages:T});const M={};for(const $ of T)(!M[$.channelId]||$.timestamp>M[$.channelId])&&(M[$.channelId]=$.timestamp);o($=>A?M:{...$,...M})},[a]),C=j.useCallback(I=>{r({type:"ADD",message:I})},[]),N=j.useCallback(I=>{r({type:"MERGE",messages:I})},[]),O=j.useCallback(I=>{t({type:"ADD",channel:I})},[]);return j.useMemo(()=>({scopeProjectId:a,channels:e,messages:n,sendMessage:p,getChannelMessages:h,getUnreadCount:g,markRead:y,markSenderDeleted:v,removeParticipant:k,removeSessionData:S,clear:_,initFromBackend:w,addMessageFromBackend:C,mergeMessagesFromBackend:N,addChannelFromBackend:O}),[a,e,n,p,h,g,y,v,k,S,_,w,C,N,O])}const Vm=4e3;function ll(e,t){return e.length>t?e.slice(-t):e}function r0(e,t,n){if(!e)return t;if(!t||e===t)return e;if(t.startsWith(e))return t;if(e.startsWith(t)||e.endsWith(t))return e;if(t.endsWith(e))return t;const r=Math.min(e.length,t.length);for(let i=r;i>0;i-=1)if(e.slice(-i)===t.slice(0,i))return`${e}${t.slice(i)}`;return n==="tool_call"&&/[}\]"]$/.test(e)&&!/^\s/.test(t)?`${e} +${t}`:`${e}${t}`}function uV(e,t){const n=e.trim().replace(/\s+/g," ");return n?n.length>120?`${n.slice(0,120).trimEnd()}...`:n:t||"Thinking"}function dV(e){return{timestamp:Number.isFinite(e.timestamp)?e.timestamp:Date.now(),type:e.type,summary:typeof e.summary=="string"?e.summary:"",detail:typeof e.detail=="string"&&e.detail?e.detail:void 0,turnId:typeof e.turnId=="string"&&e.turnId?e.turnId:void 0,itemId:typeof e.itemId=="string"&&e.itemId?e.itemId:void 0,streamId:typeof e.streamId=="string"&&e.streamId?e.streamId:void 0,toolCallId:typeof e.toolCallId=="string"&&e.toolCallId?e.toolCallId:void 0,permissionGroupKey:typeof e.permissionGroupKey=="string"&&e.permissionGroupKey?e.permissionGroupKey:void 0,seq:typeof e.seq=="number"&&Number.isFinite(e.seq)?e.seq:void 0,executionMode:typeof e.executionMode=="string"&&e.executionMode?e.executionMode:void 0}}function lm(e){const t=e.itemId||e.streamId;return t?`${e.type}:${e.turnId??""}:${t}`:e.toolCallId&&(e.type==="tool_call"||e.type==="autonomy")?`${e.type}:${e.turnId??""}:${e.toolCallId}`:e.permissionGroupKey&&e.type==="autonomy"?`${e.type}:${e.turnId??""}:${e.permissionGroupKey}`:""}function fV(e,t){const n=lm(e),r=lm(t);return n&&r?n===r:t.timestamp-e.timestamp>Vm||e.type!==t.type?!1:e.type==="thinking"||e.type==="assistant"?!0:e.type==="tool_call"?e.summary===t.summary:!1}function mV(e,t){return t.timestamp-e.timestamp<=Vm&&e.type===t.type&&e.summary===t.summary&&(e.detail??"")===(t.detail??"")}function hV(e,t){if(e.type==="thinking"||e.type==="assistant"){const n=r0(e.detail??"",t.detail??"","thinking");return{timestamp:t.timestamp,type:e.type,summary:uV(n,t.summary||e.summary),detail:n||void 0,turnId:t.turnId??e.turnId,itemId:t.itemId??e.itemId,streamId:t.streamId??e.streamId,toolCallId:t.toolCallId??e.toolCallId,permissionGroupKey:t.permissionGroupKey??e.permissionGroupKey,seq:t.seq??e.seq,executionMode:t.executionMode??e.executionMode}}if(e.type==="tool_call"){const n=r0(e.detail??"",t.detail??"","tool_call");return{timestamp:t.timestamp,type:"tool_call",summary:t.summary||e.summary,detail:n||void 0,turnId:t.turnId??e.turnId,itemId:t.itemId??e.itemId,streamId:t.streamId??e.streamId,toolCallId:t.toolCallId??e.toolCallId,permissionGroupKey:t.permissionGroupKey??e.permissionGroupKey,seq:t.seq??e.seq,executionMode:t.executionMode??e.executionMode}}return t}function AI(e,t,n=100){const r=dV(t),i=lm(r),o=i?[...e].reverse().findIndex(d=>lm(d)===i):-1,a=o>=0?e.length-1-o:e.length-1,u=e[a];return u?i&&o>=0&&typeof u.seq=="number"&&typeof r.seq=="number"&&r.seq<=u.seq?e:mV(u,r)?ll([...e.slice(0,a),{...u,timestamp:r.timestamp},...e.slice(a+1)],n):fV(u,r)?ll([...e.slice(0,a),hV(u,r),...e.slice(a+1)],n):ll([...e,r],n):[r]}function MI(e,t=100){return(Array.isArray(e)?e:[]).reduce((n,r)=>AI(n,r,t),[])}function pV(e){return{timestamp:Number.isFinite(e.timestamp)?e.timestamp:Date.now(),type:e.type,workItemProjectionId:typeof e.workItemProjectionId=="string"&&e.workItemProjectionId?e.workItemProjectionId:void 0,workItemTurnType:typeof e.workItemTurnType=="string"&&e.workItemTurnType?e.workItemTurnType:void 0,workItemProjectionTitle:typeof e.workItemProjectionTitle=="string"&&e.workItemProjectionTitle?e.workItemProjectionTitle:void 0,runtimeTaskId:typeof e.runtimeTaskId=="string"&&e.runtimeTaskId?e.runtimeTaskId:void 0,executionTurnId:typeof e.executionTurnId=="string"&&e.executionTurnId?e.executionTurnId:void 0,roleName:typeof e.roleName=="string"&&e.roleName?e.roleName:void 0,detail:typeof e.detail=="string"&&e.detail?e.detail:void 0}}function DI(e,t){return e.type===t.type&&(e.workItemProjectionId??"")===(t.workItemProjectionId??"")&&(e.workItemTurnType??"")===(t.workItemTurnType??"")&&(e.workItemProjectionTitle??"")===(t.workItemProjectionTitle??"")&&(e.executionTurnId??e.runtimeTaskId??"")===(t.executionTurnId??t.runtimeTaskId??"")&&(e.roleName??"")===(t.roleName??"")}function gV(e,t){return t.timestamp-e.timestamp<=Vm&&DI(e,t)&&(e.type==="thinking"||e.type==="tool_call")}function xV(e,t){return DI(e,t)&&(e.detail??"")===(t.detail??"")&&t.timestamp-e.timestamp<=Vm}function yV(e,t){const n=t.type==="tool_call"?"tool_call":"thinking";return{...e,...t,timestamp:t.timestamp,detail:r0(e.detail??"",t.detail??"",n)||void 0}}function OI(e,t,n=100){const r=pV(t),i=e[e.length-1];return i?xV(i,r)?ll([...e.slice(0,-1),{...i,timestamp:r.timestamp}],n):gV(i,r)?ll([...e.slice(0,-1),yV(i,r)],n):ll([...e,r],n):[r]}function LI(e,t=100){return(Array.isArray(e)?e:[]).reduce((n,r)=>OI(n,r,t),[])}function i0(e){const t=String(e??"").trim().toLowerCase();return t==="company"?"company":t==="org"||t==="custom"?"org":"task"}function vV(e){return String(e??"").trim().toLowerCase()==="custom"?"custom":"corporate"}function zI(e){const t=String(e.execMode??"").trim().toLowerCase(),n=String(e.companyProfile??"").trim().toLowerCase(),r=String(e.orgId??"").trim(),o=t.length>0?i0(t):n==="custom"||r?"org":i0(t);return o==="org"?{...e,execMode:"org",companyProfile:"custom",orgId:r||void 0}:o==="company"?{...e,execMode:"company",companyProfile:"corporate",orgId:void 0}:{...e,execMode:"task",companyProfile:void 0,orgId:void 0}}const lf=100,bV=new Set(["done","failed","cancelled"]);function _V(e,t,n){const r=n,i=new Map(t.filter(u=>u.projectId===r).map(u=>[u.taskId,u])),o=new Set,a=[];for(const u of e){if(u.projectId!==r)continue;const d=i.get(u.taskId);d?(a.push(d),o.add(u.taskId)):a.push(u)}for(const u of t)u.projectId!==r||o.has(u.taskId)||(a.push(u),o.add(u.taskId));return a}function kV(e,t){const n=g=>zI({...g,progressLog:MI(g.progressLog??[],lf),workItemLog:LI(g.workItemLog??[],lf)}),r=g=>{const y=String(g.execMode??"").trim().toLowerCase();return y==="company"||y==="org"||y==="custom"||!!g.isCompanyRuntime||!!g.parentSessionId||!!g.workItemProjectionId||!!g.roleWorkItems||!!g.executorRoleWorkItems||!!g.orgId},i=g=>{const y=String(g.execMode??"").trim().toLowerCase(),v=String(g.companyProfile??"").trim().toLowerCase(),k=String(g.orgId??"").trim();return y==="task"&&(!v||v==="corporate")&&!k&&!g.isCompanyRuntime&&!g.parentSessionId&&!g.workItemProjectionId&&!g.workItemRoleId&&!g.roleWorkItems&&!g.executorRoleWorkItems},o=(g,y)=>{const v=g.execMode,k=y.execMode;return!v||v==="task"&&k&&k!=="task"&&!i(g)&&(r(g)||r(y))?k:v},a=(g,y,v)=>{const k=g[v],S=y[v];return!k||k==="native"&&S&&S!=="native"?S:k},u=(g,y)=>Object.prototype.hasOwnProperty.call(g,y),d=(g,y,v)=>u(g,v)?g[v]:y[v],m=(g,y)=>{const v=typeof g.updatedAt=="number"&&Number.isFinite(g.updatedAt)?g.updatedAt:void 0,k=typeof y.updatedAt=="number"&&Number.isFinite(y.updatedAt)?y.updatedAt:void 0;return v===void 0?k??Date.now():k===void 0?v:Math.max(k,v)},p=(g,y)=>g.runtimeControlState==="suspending"&&y.runtimeControlState==="running"?{...y,runtimeControlState:"suspending",canStop:!1,canResume:g.canResume??!1,pendingRuntimeCheckpointId:g.pendingRuntimeCheckpointId??y.pendingRuntimeCheckpointId,stopIntentId:g.stopIntentId??y.stopIntentId}:y,h=(g,y,v)=>{const k=g[v];if(k!=null)return k;if(!(bV.has(g.status)||g.status!=="running"&&g.runtimeControlState!=="running"&&g.runtimeControlState!=="suspending"&&g.runtimeControlState!=="resuming"))return y[v]};switch(t.type){case"SET":{if(t.reset)return t.sessions.map(n);const y=new Map(e.map(v=>[v.taskId,v]));return t.sessions.map(v=>{const k=y.get(v.taskId);if(!k)return n(v);const S=p(k,v);return n({...v,updatedAt:m(v,k),execMode:o(v,k),preferredAgent:a(v,k,"preferredAgent"),draftAssistantText:k.draftAssistantText??v.draftAssistantText,draftUpdatedAt:k.draftUpdatedAt??v.draftUpdatedAt,draftIteration:k.draftIteration??v.draftIteration,draftTurnId:k.draftTurnId??v.draftTurnId,agentStatus:h(v,k,"agentStatus"),currentTool:h(v,k,"currentTool"),displayTool:h(v,k,"displayTool"),toolElapsedMs:h(v,k,"toolElapsedMs"),lastToolSummary:h(v,k,"lastToolSummary"),contextTokens:k.contextTokens??v.contextTokens,contextWindow:k.contextWindow??v.contextWindow,contextRemainingPct:k.contextRemainingPct??v.contextRemainingPct,inputTokens:k.inputTokens??v.inputTokens,outputTokens:k.outputTokens??v.outputTokens,totalTokens:k.totalTokens??v.totalTokens,turnCostUsd:k.turnCostUsd??v.turnCostUsd,sessionCostUsd:k.sessionCostUsd??v.sessionCostUsd,pendingPermissionCount:k.pendingPermissionCount??v.pendingPermissionCount,drainMode:k.drainMode??v.drainMode,workItemProjectionId:v.workItemProjectionId??k.workItemProjectionId,workItemTurnType:v.workItemTurnType??k.workItemTurnType,companyProfile:d(v,k,"companyProfile"),orgId:d(v,k,"orgId"),workItemRoleId:v.workItemRoleId??k.workItemRoleId,workItemRoleName:v.workItemRoleName??k.workItemRoleName,workItemGate:v.workItemGate??k.workItemGate,roleWorkItems:v.roleWorkItems??k.roleWorkItems,executorRoleWorkItems:v.executorRoleWorkItems??k.executorRoleWorkItems,employeeAssignment:v.employeeAssignment??k.employeeAssignment,selectedExecutionAgent:a(v,k,"selectedExecutionAgent"),runtimeControlState:S.runtimeControlState??k.runtimeControlState,canStop:S.canStop??k.canStop,canResume:S.canResume??k.canResume,resumeParentTaskId:v.resumeParentTaskId??k.resumeParentTaskId,resumeParentSessionId:v.resumeParentSessionId??k.resumeParentSessionId,pendingRuntimeCheckpointId:S.pendingRuntimeCheckpointId??k.pendingRuntimeCheckpointId,stopIntentId:S.stopIntentId??k.stopIntentId,residentStatus:k.residentStatus??v.residentStatus,actionableInboxCount:k.actionableInboxCount??v.actionableInboxCount,protocolBacklogCount:k.protocolBacklogCount??v.protocolBacklogCount,notificationBacklogCount:k.notificationBacklogCount??v.notificationBacklogCount,latestNotification:k.latestNotification??v.latestNotification,latestPreview:v.latestPreview??k.latestPreview,latestSender:v.latestSender??k.latestSender,latestMessageId:v.latestMessageId??k.latestMessageId,indexLoaded:v.indexLoaded??k.indexLoaded,detailLoaded:k.detailLoaded??v.detailLoaded,fullLoaded:k.fullLoaded??v.fullLoaded,hasMore:v.hasMore??k.hasMore,detailLoading:v.detailLoading??k.detailLoading,detailError:v.detailError??k.detailError,viewGeneration:v.viewGeneration??k.viewGeneration,progressLog:k.progressLog&&k.progressLog.length>0?k.progressLog:v.progressLog,workItemLog:k.workItemLog&&k.workItemLog.length>0?k.workItemLog:v.workItemLog,lastRuntimeEventType:k.lastRuntimeEventType??v.lastRuntimeEventType,activeSubagents:k.activeSubagents??v.activeSubagents,permissionRequests:k.permissionRequests??v.permissionRequests,handoffContext:v.handoffContext??k.handoffContext,handoffTo:v.handoffTo??k.handoffTo})})}case"ADD":const g=n(t.session);return e.some(y=>y.taskId===t.session.taskId)?e.map(y=>y.taskId===t.session.taskId?n({...y,...g,progressLog:g.progressLog.length>0?g.progressLog:y.progressLog,workItemLog:(g.workItemLog??[]).length>0?g.workItemLog:y.workItemLog,messageCount:Math.max(y.messageCount??0,g.messageCount??0),updatedAt:Math.max(y.updatedAt??0,g.updatedAt??0),execMode:o(g,y),preferredAgent:a(g,y,"preferredAgent"),workItemProjectionId:g.workItemProjectionId??y.workItemProjectionId,workItemTurnType:g.workItemTurnType??y.workItemTurnType,companyProfile:d(g,y,"companyProfile"),orgId:d(g,y,"orgId"),workItemRoleId:g.workItemRoleId??y.workItemRoleId,workItemRoleName:g.workItemRoleName??y.workItemRoleName,workItemGate:g.workItemGate??y.workItemGate,roleWorkItems:g.roleWorkItems??y.roleWorkItems,executorRoleWorkItems:g.executorRoleWorkItems??y.executorRoleWorkItems,employeeAssignment:g.employeeAssignment??y.employeeAssignment,selectedExecutionAgent:a(g,y,"selectedExecutionAgent"),handoffContext:g.handoffContext??y.handoffContext,handoffTo:g.handoffTo??y.handoffTo,latestPreview:g.latestPreview??y.latestPreview,latestSender:g.latestSender??y.latestSender,latestMessageId:g.latestMessageId??y.latestMessageId,indexLoaded:g.indexLoaded??y.indexLoaded,detailLoaded:g.detailLoaded??y.detailLoaded,fullLoaded:g.fullLoaded??y.fullLoaded,hasMore:g.hasMore??y.hasMore,detailLoading:g.detailLoading??y.detailLoading,detailError:g.detailError??y.detailError,viewGeneration:g.viewGeneration??y.viewGeneration}):y):[g,...e];case"UPDATE":return e.map(y=>y.taskId===t.taskId?(()=>{const v=p(y,t.partial);return n({...y,...v,updatedAt:m(v,y),runtimeControlState:v.runtimeControlState??y.runtimeControlState,canStop:v.canStop??y.canStop,canResume:v.canResume??y.canResume,resumeParentTaskId:v.resumeParentTaskId??y.resumeParentTaskId,resumeParentSessionId:v.resumeParentSessionId??y.resumeParentSessionId,pendingRuntimeCheckpointId:v.pendingRuntimeCheckpointId??y.pendingRuntimeCheckpointId,stopIntentId:v.stopIntentId??y.stopIntentId,roleWorkItems:v.roleWorkItems??y.roleWorkItems,executorRoleWorkItems:v.executorRoleWorkItems??y.executorRoleWorkItems,execMode:d(v,y,"execMode"),companyProfile:d(v,y,"companyProfile"),orgId:d(v,y,"orgId"),isCompanyRuntime:v.isCompanyRuntime??y.isCompanyRuntime,workItemProjectionId:v.workItemProjectionId??y.workItemProjectionId,workItemTurnType:v.workItemTurnType??y.workItemTurnType,workItemRoleId:v.workItemRoleId??y.workItemRoleId,workItemRoleName:v.workItemRoleName??y.workItemRoleName,workItemGate:v.workItemGate??y.workItemGate,employeeAssignment:v.employeeAssignment??y.employeeAssignment,selectedExecutionAgent:v.selectedExecutionAgent??y.selectedExecutionAgent,activeSubagents:v.activeSubagents??y.activeSubagents,permissionRequests:v.permissionRequests??y.permissionRequests,contextTokens:v.contextTokens??y.contextTokens,contextWindow:v.contextWindow??y.contextWindow,contextRemainingPct:v.contextRemainingPct??y.contextRemainingPct,inputTokens:v.inputTokens??y.inputTokens,outputTokens:v.outputTokens??y.outputTokens,totalTokens:v.totalTokens??y.totalTokens,turnCostUsd:v.turnCostUsd??y.turnCostUsd,sessionCostUsd:v.sessionCostUsd??y.sessionCostUsd,...t.partial.progressLog?{progressLog:t.partial.progressLog}:{},...t.partial.workItemLog?{workItemLog:t.partial.workItemLog}:{}})})():y);case"DELETE":return e.filter(y=>y.taskId!==t.taskId);case"APPEND_PROGRESS":return e.map(y=>y.taskId!==t.taskId?y:{...y,progressLog:AI(y.progressLog,t.entry,lf),updatedAt:Math.max(y.updatedAt,t.entry.timestamp)});case"APPEND_DRAFT":return e.map(y=>{if(y.taskId!==t.taskId)return y;const v=t.turnId??y.draftTurnId,k=!!t.turnId&&!!y.draftTurnId&&t.turnId!==y.draftTurnId;return{...y,draftAssistantText:`${k?"":y.draftAssistantText??""}${t.text}`,draftUpdatedAt:t.timestamp,draftIteration:t.iteration??y.draftIteration,draftTurnId:v,updatedAt:Math.max(y.updatedAt,t.timestamp)}});case"CLEAR_DRAFT":return e.map(y=>y.taskId===t.taskId?{...y,draftAssistantText:void 0,draftUpdatedAt:void 0,draftIteration:void 0,draftTurnId:void 0}:y);case"CLEAR_PROGRESS":return e.map(y=>y.taskId===t.taskId?{...y,progressLog:[]}:y);case"APPEND_WORK_ITEM_PROGRESS":return e.map(y=>y.taskId!==t.taskId?y:{...y,workItemLog:OI(y.workItemLog??[],t.entry,lf)});case"SET_COMPANY_RUNTIME":return e.map(y=>y.taskId===t.taskId?{...y,isCompanyRuntime:t.isCompanyRuntime}:y);default:return e}}function SV(){const[e,t]=j.useReducer(kV,[]),[n,r]=j.useState(null),[i,o]=j.useState("default"),a=j.useMemo(()=>e.find(w=>w.taskId===n)??null,[e,n]),u=j.useCallback(w=>{w.projectId===i&&t({type:"ADD",session:w})},[i]),d=j.useCallback(w=>{t({type:"DELETE",taskId:w})},[]),m=j.useCallback(w=>{r(w)},[]),p=j.useCallback((w,C)=>{t({type:"UPDATE",taskId:w,partial:C})},[]),h=j.useCallback((w,C)=>{t({type:"APPEND_PROGRESS",taskId:w,entry:C})},[]),g=j.useCallback((w,C,N,O)=>{t({type:"APPEND_DRAFT",taskId:w,text:C,iteration:N,turnId:O,timestamp:Date.now()})},[]),y=j.useCallback(w=>{t({type:"CLEAR_DRAFT",taskId:w})},[]),v=j.useCallback(w=>{t({type:"CLEAR_PROGRESS",taskId:w})},[]),k=j.useCallback((w,C)=>{t({type:"APPEND_WORK_ITEM_PROGRESS",taskId:w,entry:C})},[]),S=j.useCallback((w,C)=>{t({type:"SET_COMPANY_RUNTIME",taskId:w,isCompanyRuntime:C})},[]),_=j.useCallback((w,C,N)=>{const O=w||"default",I=O!==i,D=N?.preserveExistingWhenIncomingPartial&&!I?_V(e,C,O):C.filter(T=>T.projectId===O);o(O),t({type:"SET",sessions:D,reset:I}),r(T=>!I&&T&&(D.some(L=>L.taskId===T)||N?.preserveActiveWhenMissing)?T:null)},[i,e]);return j.useMemo(()=>({scopeProjectId:i,sessions:e,activeSessionId:n,activeSession:a,createSession:u,deleteSession:d,setActiveSession:m,updateSession:p,appendProgress:h,appendDraft:g,clearDraft:y,clearProgress:v,appendWorkItemProgress:k,setCompanyRuntime:S,initFromBackend:_}),[i,e,n,a,u,d,m,p,h,g,y,v,k,S,_])}function gC(e){return e.trim()||"default"}function wV(e,t){switch(t.type){case"SET":return{projects:t.projects,activeProjectId:gC(t.activeId)};case"ADD":return e.projects.some(n=>n.id===t.project.id)?e:{...e,projects:[...e.projects,t.project]};case"REMOVE":{const n=e.projects.filter(i=>i.id!==t.id),r=e.activeProjectId===t.id?"default":e.activeProjectId;return{projects:n,activeProjectId:r}}case"SET_ACTIVE":return{...e,activeProjectId:gC(t.id)};default:return e}}function CV(){const[e,t]=j.useReducer(wV,{projects:[{id:"default",name:"default"}],activeProjectId:"default"}),n=j.useCallback((a,u)=>{t({type:"SET",projects:a,activeId:u})},[]),r=j.useCallback(a=>{t({type:"ADD",project:a})},[]),i=j.useCallback(a=>{t({type:"REMOVE",id:a})},[]),o=j.useCallback(a=>{t({type:"SET_ACTIVE",id:a})},[]);return j.useMemo(()=>({projects:e.projects,activeProjectId:e.activeProjectId,initFromBackend:n,addProject:r,removeProject:i,setActiveProject:o}),[e,n,r,i,o])}const xC={active:{label:"Working",cls:"exec-badge-running"},waiting:{label:"Waiting",cls:"exec-badge-idle"},pending:{label:"Pending",cls:"exec-badge-pending"},done:{label:"Done",cls:"exec-badge-done"},failed:{label:"Failed",cls:"exec-badge-failed"}},cf={todo:{label:"To do",cls:"exec-badge-pending"},"in-progress":{label:"In progress",cls:"exec-badge-running"},"in-review":{label:"In review",cls:"exec-badge-idle"},done:{label:"Done",cls:"exec-badge-done"},failed:{label:"Failed",cls:"exec-badge-failed"},cancelled:{label:"Cancelled",cls:"exec-badge-cancelled"}};function jV(e){const t=Math.floor((Date.now()-e)/1e3);if(t<5)return"now";if(t<60)return`${t}s ago`;const n=Math.floor(t/60);if(n<60)return`${n}m ago`;const r=Math.floor(n/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}function cx(e){const t=String(e??"").trim();return t?t.replace(/[_-]/g," ").replace(/\b\w/g,n=>n.toUpperCase()):""}function EV(e){return e.phase==="failed"?cf.failed:e.phase==="cancelled"?cf.cancelled:cf[e.kanbanColumn]??cf.todo}function NV(e){if(e.phase==="failed")return"failed";if(e.phase==="cancelled")return"cancelled";if(e.kanbanColumn==="done")return"done"}function IV(e){const t=e.activitySections??[];return t.length>0?t.reduce((n,r)=>n+(r.entries?.length??0),0):e.progressLog.length}function TV({sections:e,fallbackEntries:t,sessionStatus:n}){const r=(e??[]).filter(i=>(i.entries?.length??0)>0||!!i.runtimeTaskId);return r.length>0?c.jsx("div",{className:"exec-activity-sections",children:r.map((i,o)=>{const a=i.entries??[],u=`${i.runtimeTaskId||i.kind}:${o}`;return c.jsxs("section",{className:"exec-activity-section",children:[c.jsxs("div",{className:"exec-activity-section-head",children:[c.jsx("span",{className:"exec-activity-section-title",children:i.title}),i.roleName&&c.jsx("span",{className:"exec-activity-section-role",children:i.roleName}),a.length>0&&c.jsx("span",{className:"exec-section-count",children:a.length})]}),a.length>0?c.jsx(Wo,{entries:a,sessionStatus:n,expandedByDefault:!0}):c.jsx("div",{className:"exec-section-empty",children:"No runtime activity yet"})]},u)})}):!t||t.length===0?c.jsx("div",{className:"exec-section-empty",children:"No activity recorded yet"}):c.jsx(Wo,{entries:t,sessionStatus:n,expandedByDefault:!0})}function yC({role:e,focusedWorkItemId:t,focusedExecutionTurnId:n,agents:r,onClose:i}){const o=j.useMemo(()=>e.workItems.slice().sort((w,C)=>w.createdAt-C.createdAt),[e.workItems]),u=j.useMemo(()=>o.find(w=>!!t&&w.workItemId===t||!!n&&w.executionTurnId===n)??o[o.length-1]??null,[n,t,o])?.workItemId,[d,m]=j.useState(()=>{const w=new Set;return u&&w.add(u),w}),p=j.useRef(new Set);j.useEffect(()=>{!u||p.current.has(u)||(p.current.add(u),m(w=>{if(w.has(u))return w;const C=new Set(w);return C.add(u),C}))},[u]);const h=j.useCallback(w=>{m(C=>{const N=new Set(C);return N.has(w)?N.delete(w):N.add(w),N})},[]),g=j.useRef(null),y=j.useRef(null);j.useEffect(()=>{!u||y.current===u||(y.current=u,g.current?.scrollIntoView({behavior:"smooth",block:"nearest"}))},[u]);const v=j.useCallback(w=>{w.key==="Escape"&&i()},[i]);j.useEffect(()=>(document.addEventListener("keydown",v),()=>document.removeEventListener("keydown",v)),[v]);const k=r.find(w=>w.agent_id===e.roleId),S=e.roleName||k?.name||cx(e.roleId)||"Role",_=xC[e.aggregatedStatus]??xC.pending;return c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"exec-panel-backdrop",onClick:i}),c.jsxs("div",{className:"exec-panel",children:[c.jsxs("div",{className:"exec-panel-header",children:[c.jsxs("div",{className:"exec-panel-title-row",children:[c.jsx(dl,{}),c.jsx("h3",{className:"exec-panel-title",children:S}),c.jsx("span",{className:`exec-badge ${_.cls}`,children:_.label}),c.jsxs("span",{className:"exec-panel-task-count",children:[o.length," Work Item",o.length===1?"":"s"]})]}),c.jsx("button",{className:"exec-panel-close",onClick:i,title:"Close (Esc)",children:c.jsx(Em,{})})]}),c.jsxs("div",{className:"exec-panel-identity",children:[c.jsx("div",{className:"exec-panel-avatar",children:S.charAt(0).toUpperCase()}),c.jsxs("div",{className:"exec-panel-agent-info",children:[c.jsx("span",{className:"exec-panel-agent-name",children:S}),c.jsx("span",{className:"exec-panel-agent-role",children:cx(e.roleId)}),e.roleSessionId&&c.jsx("span",{className:"exec-panel-employee",children:e.roleSessionId})]})]}),c.jsxs("div",{className:"exec-panel-body",children:[o.length===0&&c.jsx("div",{className:"exec-section-empty",children:"No work items yet"}),o.map((w,C)=>{const N=w.workItemId===u,O=d.has(w.workItemId),I=EV(w),D=IV(w);return c.jsxs("div",{ref:N?g:null,className:`exec-task-card${N?" exec-task-card-focused":""}`,children:[c.jsxs("button",{type:"button",className:"exec-task-card-header",onClick:()=>h(w.workItemId),title:O?"Collapse":"Expand",children:[c.jsxs("span",{className:"exec-task-card-index",children:["Work item #",C+1]}),c.jsx("span",{className:"exec-task-card-title",children:w.title||w.workItemId}),c.jsx("span",{className:`exec-badge ${I.cls}`,children:I.label}),c.jsx("span",{className:"exec-task-card-time",children:jV(w.updatedAt)}),c.jsx("span",{className:`exec-task-card-chevron${O?" open":""}`,"aria-hidden":"true",children:"โ–ธ"})]}),O&&c.jsxs("div",{className:"exec-task-card-body",children:[c.jsxs("div",{className:"exec-task-card-projection",children:[c.jsx(jm,{}),c.jsx("span",{children:cx(w.kind)||"Work item"}),w.workItemProjectionId&&c.jsx("code",{children:w.workItemProjectionId}),w.executionTurnId&&c.jsx("span",{className:"exec-inline-tag",children:"Execution Turn"}),w.isReviewTarget&&c.jsx("span",{className:"exec-inline-tag",children:"Review target"}),w.executorRoleName&&c.jsx("span",{children:w.executorRoleName})]}),c.jsxs("div",{className:"exec-section",children:[c.jsxs("div",{className:"exec-section-header",children:[c.jsx(dl,{}),c.jsx("span",{children:"Activity"}),c.jsx("span",{className:"exec-section-count",children:D})]}),c.jsx("div",{className:"exec-section-content exec-activity-scroll",children:c.jsx(TV,{sections:w.activitySections,fallbackEntries:w.progressLog,sessionStatus:NV(w)})})]})]})]},w.workItemId)})]})]})]})}function RV({projects:e,activeId:t,onSelect:n,onCreate:r,onDelete:i}){const[o,a]=j.useState(!1),[u,d]=j.useState(""),[m,p]=j.useState(null),h=j.useCallback(()=>{const y=u.trim().toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/^-|-$/g,"");y&&(r(y),d(""),a(!1))},[u,r]),g=j.useCallback(()=>{!m||!i||(i(m),p(null))},[m,i]);return c.jsxs("div",{className:"project-selector",style:{display:"flex",alignItems:"center",gap:6},children:[c.jsx("select",{className:"theme-select",value:t,onChange:y=>n(y.target.value),title:"Switch project",children:e.map(y=>c.jsx("option",{value:y.id,children:y.name},y.id))}),o?c.jsxs("form",{onSubmit:y=>{y.preventDefault(),h()},style:{display:"flex",gap:4},children:[c.jsx("input",{autoFocus:!0,className:"theme-select",value:u,placeholder:"project-name",onChange:y=>d(y.target.value),onKeyDown:y=>{y.key==="Escape"&&a(!1)},style:{width:120}}),c.jsx("button",{type:"submit",className:"pill-btn",style:{fontSize:11,padding:"2px 8px"},children:"+"})]}):c.jsx("button",{className:"pill-btn",onClick:()=>a(!0),title:"New project",style:{fontSize:11,padding:"2px 8px"},children:"+"}),i&&t!=="default"&&!m&&c.jsx("button",{className:"pill-btn",onClick:()=>p(t),title:"Delete project",style:{fontSize:11,padding:"2px 8px",color:"#ef4444"},children:"Del"}),m&&c.jsx("div",{className:"project-delete-confirm",style:{position:"fixed",inset:0,zIndex:9999,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0,0,0,0.5)"},children:c.jsxs("div",{style:{background:"var(--bg-surface, #1e1e2e)",borderRadius:12,padding:"24px 32px",maxWidth:400,boxShadow:"0 8px 32px rgba(0,0,0,0.4)",textAlign:"center"},children:[c.jsxs("p",{style:{margin:"0 0 8px",fontWeight:600,fontSize:15},children:['Delete project "',m,'"?']}),c.jsx("p",{style:{margin:"0 0 20px",fontSize:13,opacity:.7},children:"All sessions, messages, tasks, and agent data in this project will be permanently deleted. This action cannot be undone."}),c.jsxs("div",{style:{display:"flex",gap:8,justifyContent:"center"},children:[c.jsx("button",{className:"pill-btn",onClick:()=>p(null),style:{padding:"6px 18px",fontSize:13},children:"Cancel"}),c.jsx("button",{className:"pill-btn",onClick:g,style:{padding:"6px 18px",fontSize:13,background:"#ef4444",color:"#fff"},children:"Delete"})]})]})})]})}const AV=80;function MV(e){const t=Date.now()/1e3,n=Math.max(0,t-e);if(n<60)return"just now";if(n<3600)return`${Math.floor(n/60)}m ago`;if(n<86400)return`${Math.floor(n/3600)}h ago`;if(n<604800)return`${Math.floor(n/86400)}d ago`;try{return new Date(e*1e3).toLocaleDateString()}catch{return""}}function vC(e){return(e.organization_name||e.name).trim()||e.name}function DV(e){const t=e.trim();return t.length>0&&t.length<=AV&&!/[\\/]/.test(t)&&!/[\u0000-\u001f]/.test(t)}function OV(e){return e.normalize("NFKD").replace(/[^\x00-\x7F]/g,"").toLowerCase().trim().replace(/\s+/g,"_").replace(/[^a-z0-9_-]+/g,"_").replace(/_+/g,"_").replace(/^[_-]+|[_-]+$/g,"").slice(0,64)||"org"}function LV({className:e}){return c.jsxs("svg",{className:e,width:"12",height:"12",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[c.jsx("path",{d:"M8 1.5L1.5 4.5L8 7.5L14.5 4.5L8 1.5Z",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round"}),c.jsx("path",{d:"M2 8L8 10.8L14 8",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round",opacity:"0.6"}),c.jsx("path",{d:"M2 11.5L8 14.2L14 11.5",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round",opacity:"0.35"})]})}function zV({className:e}){return c.jsx("svg",{className:e,width:"10",height:"10",viewBox:"0 0 12 12",fill:"none","aria-hidden":!0,children:c.jsx("path",{d:"M3 4.5L6 7.5L9 4.5",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function PV({className:e}){return c.jsxs("svg",{className:e,width:"11",height:"11",viewBox:"0 0 12 12",fill:"none","aria-hidden":!0,children:[c.jsx("circle",{cx:"5",cy:"5",r:"3.2",stroke:"currentColor",strokeWidth:"1.3"}),c.jsx("path",{d:"M7.5 7.5L10 10",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})]})}function BV({savedOrgs:e,activeName:t,isDirty:n,onRefresh:r,onSaveAs:i,onLoad:o,onDelete:a}){const[u,d]=j.useState(!1),[m,p]=j.useState(""),[h,g]=j.useState(0),[y,v]=j.useState(!1),[k,S]=j.useState(""),[_,w]=j.useState(null),[C,N]=j.useState(null),O=j.useRef(null),I=j.useRef(null);j.useEffect(()=>{N(null)},[t,e]);const D=(e??[]).filter(Y=>!m.trim()||Y.name.toLowerCase().includes(m.trim().toLowerCase())),T=j.useRef(!1);j.useEffect(()=>{u&&!T.current&&(T.current=!0,r())},[u,r]),j.useEffect(()=>{y&&I.current?.focus()},[y]),j.useEffect(()=>{g(Y=>Math.min(Y,Math.max(0,D.length-1)))},[D.length]),j.useEffect(()=>{if(!u)return;const Y=Q=>{O.current&&!O.current.contains(Q.target)&&L()};return document.addEventListener("mousedown",Y),()=>document.removeEventListener("mousedown",Y)},[u]);const L=j.useCallback(()=>{d(!1),p(""),g(0),v(!1),S(""),w(null)},[]),A=j.useCallback(Y=>{if(Y===t){L();return}N(Y),o(Y),L()},[o,L,t]),M=j.useCallback(Y=>{a(Y),w(null)},[a]),$=k.trim(),W=DV($),B=OV($),U=(e??[]).some(Y=>Y.name===B||vC(Y).toLowerCase()===$.toLowerCase()),H=j.useCallback(()=>{W&&(i($,U),v(!1),S(""),L())},[W,$,U,i,L]),V=Y=>{if(Y.key==="Escape"){Y.preventDefault(),L();return}if(y){Y.key==="Enter"&&(Y.preventDefault(),H());return}if(Y.key==="ArrowDown")Y.preventDefault(),g(Q=>Math.min(Q+1,Math.max(0,D.length-1)));else if(Y.key==="ArrowUp")Y.preventDefault(),g(Q=>Math.max(0,Q-1));else if(Y.key==="Enter"){const Q=D[h];Q&&A(Q.name)}else if((Y.key==="Backspace"||Y.key==="Delete")&&(Y.metaKey||Y.ctrlKey)){const Q=D[h];Q&&(Y.preventDefault(),w(Q.name))}};return c.jsxs("div",{className:"sos-wrap",ref:O,children:[c.jsxs("button",{type:"button",className:"sos-pill","data-open":u?"true":"false",onClick:()=>d(Y=>!Y),"aria-haspopup":"listbox","aria-expanded":u,title:t?`Active saved architecture: ${t}`:"No saved architecture loaded",children:[c.jsx(LV,{className:"sos-pill-glyph"}),t?c.jsx("span",{className:"sos-pill-name",children:t}):c.jsx("span",{className:"sos-pill-name sos-pill-name--placeholder",children:"draft"}),n&&c.jsx("span",{className:"sos-pill-dirty","aria-label":"Modified since opened"}),c.jsx(zV,{className:"sos-pill-caret"})]}),u&&c.jsxs("div",{className:"sos-popover",role:"listbox",onKeyDown:V,tabIndex:-1,children:[c.jsxs("div",{className:"sos-search-row",children:[c.jsx(PV,{className:"sos-search-glyph"}),c.jsx("input",{type:"text",className:"sos-search-input",placeholder:"Search architecturesโ€ฆ",value:m,onChange:Y=>{p(Y.target.value),g(0)},autoFocus:!0,onKeyDown:V}),c.jsx("kbd",{className:"sos-search-hint",children:"โ†‘โ†“ โ†ต"})]}),c.jsx("div",{className:"sos-list",children:e===null?c.jsx("div",{className:"sos-empty",children:"Loadingโ€ฆ"}):D.length===0?c.jsx("div",{className:"sos-empty",children:(e??[]).length===0?"No saved architectures.":"No matches."}):D.map((Y,Q)=>{const q=t===Y.name,G=h===Q,J=vC(Y);return c.jsxs("div",{className:`sos-row${q?" sos-row--active":""}`,"data-highlighted":G?"true":"false",onMouseEnter:()=>g(Q),onClick:()=>A(Y.name),role:"option","aria-selected":q,children:[c.jsxs("div",{className:"sos-row-meta",children:[c.jsx("span",{className:"sos-row-name",children:J}),c.jsxs("span",{className:"sos-row-stats",children:[J!==Y.name&&`${Y.name} ยท `,Y.roles_count," ",Y.roles_count===1?"role":"roles"," ยท ",Y.employees_count," ",Y.employees_count===1?"employee":"employees"," ยท ",MV(Y.saved_at)]})]}),C===Y.name?c.jsx("span",{className:"sos-row-loading",children:"loadingโ€ฆ"}):q?c.jsx("span",{className:"sos-row-active-chip",children:"active"}):_===Y.name?c.jsx("button",{type:"button",className:"sos-row-delete sos-row-delete--confirm",onClick:P=>{P.stopPropagation(),M(Y.name)},children:"confirm"}):c.jsx("button",{type:"button",className:"sos-row-delete",onClick:P=>{P.stopPropagation(),w(Y.name)},title:"Delete",children:"delete"})]},Y.name)})}),c.jsxs("div",{className:"sos-save-as",children:[y?c.jsxs("div",{className:"sos-save-as-form",children:[c.jsx("input",{ref:I,type:"text",className:"sos-save-as-input",placeholder:"Organization name",value:k,onChange:Y=>S(Y.target.value),onKeyDown:V}),c.jsx("button",{type:"button",className:"btn btn-primary btn-sm",onClick:H,disabled:!W,children:U?"Overwrite copy":"Save as copy"}),c.jsx("button",{type:"button",className:"btn btn-ghost btn-sm",onClick:()=>{v(!1),S("")},children:"Cancel"})]}):c.jsx("button",{type:"button",className:"sos-save-as-trigger",onClick:()=>v(!0),children:"+ Save as copy..."}),y&&k&&!W&&c.jsx("div",{className:"sos-save-as-hint sos-save-as-hint--warn",children:"Use up to 80 characters. Slashes are not allowed."}),y&&W&&U&&c.jsx("div",{className:"sos-save-as-hint sos-save-as-hint--warn",children:"Name exists - this will overwrite that copy."})]})]})]})}const $V=["leader","strategy","target","code","terminal","database","settings","bug","design","pen","layout","marketing","analytics","writing","clipboard","security","support","idea","person","team","camera","calendar","group","ai","generic"],ru={leader:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M5 16L3 5l5.5 5L12 4l3.5 6L21 5l-2 11H5zm0 2h14v2H5v-2z'/%3E%3C/svg%3E",strategy:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M19 22H5v-2h14v2zM17.16 8.26C18.22 9.63 19 10.85 19 12c0 2.21-3.13 4-7 4s-7-1.79-7-4c0-1.15.78-2.37 1.84-3.74C7.83 7.03 9 5.67 9 4.5a2.5 2.5 0 0 1 5 0c0 1.17 1.17 2.53 2.16 3.76zM12 6a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1z'/%3E%3C/svg%3E",target:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm0-14c-3.31 0-6 2.69-6 6s2.69 6 6 6 6-2.69 6-6-2.69-6-6-6zm0 10c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4z'/%3E%3C/svg%3E",code:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0L19.2 12l-4.6-4.6L16 6l6 6-6 6-1.4-1.4z'/%3E%3C/svg%3E",terminal:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M20 4H4c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V8h16v10zM13 14h4v2h-4zm-3.41-.82l-2.59 2.59L8.41 17 12 13.41 8.41 9.82 7 11.24l2.59 2.59z'/%3E%3C/svg%3E",database:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 2C6.48 2 2 3.79 2 6v12c0 2.21 4.48 4 10 4s10-1.79 10-4V6c0-2.21-4.48-4-10-4zm0 18c-4.42 0-8-1.34-8-3v-2.5c1.74 1.5 4.71 2.5 8 2.5s6.26-1 8-2.5V17c0 1.66-3.58 3-8 3zm0-5c-4.42 0-8-1.34-8-3v-2.5c1.74 1.5 4.71 2.5 8 2.5s6.26-1 8-2.5V12c0 1.66-3.58 3-8 3zm0-5c-4.42 0-8-1.34-8-3s3.58-3 8-3 8 1.34 8 3-3.58 3-8 3z'/%3E%3C/svg%3E",settings:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M19.43 12.98c.04-.32.07-.64.07-.98 0-.34-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.39-.3-.61-.22l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.09-.49 0-.61.22l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98 0 .33.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.12.22.39.3.61.22l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.23.09.49 0 .61-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12 15.5c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5 3.5 1.57 3.5 3.5-1.57 3.5-3.5 3.5z'/%3E%3C/svg%3E",bug:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M20 8h-2.81c-.45-.78-1.07-1.45-1.82-1.96L17 4.41 15.59 3l-2.17 2.17C12.96 5.06 12.49 5 12 5s-.96.06-1.41.17L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8zm-6 8h-4v-2h4v2zm0-4h-4v-2h4v2z'/%3E%3C/svg%3E",design:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10c1.38 0 2.5-1.12 2.5-2.5 0-.61-.23-1.2-.64-1.67-.08-.1-.13-.21-.13-.33 0-.28.22-.5.5-.5H16c3.31 0 6-2.69 6-6 0-4.96-4.49-9-10-9zm5.5 11c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm-3-4c-.83 0-1.5-.67-1.5-1.5S13.67 6 14.5 6s1.5.67 1.5 1.5S15.33 9 14.5 9zm-5 0C8.67 9 8 8.33 8 7.5S8.67 6 9.5 6s1.5.67 1.5 1.5S10.33 9 9.5 9zm-3 4c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z'/%3E%3C/svg%3E",pen:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z'/%3E%3C/svg%3E",layout:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z'/%3E%3C/svg%3E",marketing:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M18 11v2h4v-2h-4zm-2 6.61c.96.71 2.21 1.65 3.2 2.39.4-.53.8-1.07 1.2-1.6-.99-.74-2.24-1.68-3.2-2.4-.4.54-.8 1.08-1.2 1.61zM20.4 5.6c-.4-.53-.8-1.07-1.2-1.6-.99.74-2.24 1.68-3.2 2.4.4.53.8 1.07 1.2 1.6.96-.72 2.21-1.65 3.2-2.4zM4 9c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h1v4h2v-4h1l5 3V6L8 9H4zm11.5 3c0-1.33-.58-2.53-1.5-3.35v6.69c.92-.81 1.5-2.01 1.5-3.34z'/%3E%3C/svg%3E",analytics:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M3.5 18.49l6-6.01 4 4L22 6.92l-1.41-1.41-7.09 7.97-4-4L2 16.99l1.5 1.5z'/%3E%3C/svg%3E",writing:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z'/%3E%3C/svg%3E",clipboard:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm2 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z'/%3E%3C/svg%3E",security:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm0 10.99h7c-.53 4.12-3.28 7.79-7 8.94V12H5V6.3l7-3.11V11.99z'/%3E%3C/svg%3E",support:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M21 6h-2v9H6v2c0 .55.45 1 1 1h11l4 4V7c0-.55-.45-1-1-1zm-4 6V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v14l4-4h10c.55 0 1-.45 1-1z'/%3E%3C/svg%3E",idea:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M9 21c0 .55.45 1 1 1h4c.55 0 1-.45 1-1v-1H9v1zm3-19C8.14 2 5 5.14 5 9c0 2.38 1.19 4.47 3 5.74V17c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2.26c1.81-1.27 3-3.36 3-5.74 0-3.86-3.14-7-7-7z'/%3E%3C/svg%3E",person:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E",team:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z'/%3E%3C/svg%3E",camera:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 15.2c-1.77 0-3.2-1.43-3.2-3.2s1.43-3.2 3.2-3.2 3.2 1.43 3.2 3.2-1.43 3.2-3.2 3.2zM9 2L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2H9zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5z'/%3E%3C/svg%3E",calendar:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z'/%3E%3C/svg%3E",group:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 12.75c1.63 0 3.07.39 4.24.9 1.08.48 1.76 1.56 1.76 2.73L18 18H6l.01-1.62c0-1.17.68-2.25 1.76-2.73 1.17-.51 2.6-.9 4.23-.9zM4 13c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm1.13 1.1c-.37-.06-.74-.1-1.13-.1-.99 0-1.93.21-2.78.58C.48 14.9 0 15.62 0 16.43V18h4.5v-1.61c0-.83.23-1.61.63-2.29zM20 13c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm4 3.43c0-.81-.48-1.53-1.22-1.85-.85-.37-1.79-.58-2.78-.58-.39 0-.76.04-1.13.1.4.68.63 1.46.63 2.29V18H24v-1.57zM12 6c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3z'/%3E%3C/svg%3E",ai:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M19 9l1.25-2.75L23 5l-2.75-1.25L19 1l-1.25 2.75L15 5l2.75 1.25L19 9zm-7.5.5L9 4 6.5 9.5 1 12l5.5 2.5L9 20l2.5-5.5L17 12l-5.5-2.5zM19 15l-1.25 2.75L15 19l2.75 1.25L19 23l1.25-2.75L23 19l-2.75-1.25L19 15z'/%3E%3C/svg%3E",generic:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E"};function Du(e){return e?e.startsWith("data:")?e:ru[e]??ru.generic:ru.generic}const Bc=["file_read","file_write","file_edit","file_search","list_dir","shell_exec","web_search","web_fetch","todo_read","todo_write","browser_navigate","browser_navigate_back","browser_snapshot","browser_wait_for","browser_scroll","browser_click","browser_type","browser_select_option","browser_take_screenshot","browser_evaluate","browser_close"],HV=[{label:"Files",prefix:"file_",tools:Bc.filter(e=>e.startsWith("file_"))},{label:"Shell",prefix:"shell_",tools:Bc.filter(e=>e==="shell_exec")},{label:"Web",prefix:"web_",tools:Bc.filter(e=>e.startsWith("web_"))},{label:"TODOs",prefix:"todo_",tools:Bc.filter(e=>e.startsWith("todo_"))},{label:"Browser",prefix:"browser_",tools:Bc.filter(e=>e.startsWith("browser_"))}],FV=["codex","cursor","claude_code","opencode"],VV=[{value:"auto",label:"Auto",hint:"System picks native or external based on role config"},{value:"native",label:"Native",hint:"Run directly in-process via LLM"},{value:"external",label:"External",hint:"Delegate to an external agent (codex, cursor, etc.)"}];function UV({role:e,allRoles:t,employees:n,readOnly:r,onUpdateRole:i,onDeleteRole:o,onClose:a}){const[u,d]=j.useState(e.name),[m,p]=j.useState(e.responsibility),[h,g]=j.useState(e.reports_to),[y,v]=j.useState(e.icon??null),[k,S]=j.useState(()=>new Set(e.can_spawn)),[_,w]=j.useState(()=>new Set(e.tools)),[C,N]=j.useState(e.runtime_policy?.execution_strategy??"auto"),[O,I]=j.useState(e.preferred_external_agent??null),[D,T]=j.useState((e.prompt_refs??[]).join(` +`)),[L,A]=j.useState(!1),M=j.useRef(e.role_id);j.useEffect(()=>{M.current!==e.role_id&&(M.current=e.role_id,d(e.name),p(e.responsibility),g(e.reports_to),v(e.icon??null),S(new Set(e.can_spawn)),w(new Set(e.tools)),N(e.runtime_policy?.execution_strategy??"auto"),I(e.preferred_external_agent??null),T((e.prompt_refs??[]).join(` +`)),A(!1))},[e]);const $=j.useRef({}),W=j.useRef(null),B=j.useRef(e.role_id);j.useEffect(()=>{B.current=e.role_id},[e.role_id]);const U=j.useCallback(()=>{W.current&&(clearTimeout(W.current),W.current=null);const se=$.current;$.current={},Object.keys(se).length!==0&&i(B.current,se)},[i]),H=j.useCallback(se=>{r||($.current={...$.current,...se},W.current&&clearTimeout(W.current),W.current=setTimeout(U,500))},[U,r]);j.useEffect(()=>()=>{W.current&&(clearTimeout(W.current),W.current=null);const se=$.current;Object.keys(se).length>0&&($.current={},i(B.current,se))},[i]);const V=se=>{d(se),H({name:se})},Y=se=>{p(se),H({responsibility:se})},Q=se=>{g(se),H({reports_to:se})},q=se=>{v(se),H({icon:se})},G=se=>{N(se),H({execution_strategy:se})},J=se=>{I(se),H({preferred_external_agent:se})},P=se=>{T(se);const Ee=se.split(` +`).map(we=>we.trim()).filter(Boolean);H({prompt_refs:Ee})},X=se=>{const Ee=new Set(k);Ee.has(se)?Ee.delete(se):Ee.add(se),S(Ee),H({can_spawn:Array.from(Ee)})},ee=se=>{const Ee=new Set(_);Ee.has(se)?Ee.delete(se):Ee.add(se),w(Ee),H({tools:Array.from(Ee)})},te=j.useMemo(()=>t.filter(se=>se.role_id!==e.role_id),[t,e.role_id]),re=j.useMemo(()=>n.filter(se=>(se.role_ids?.length?se.role_ids:[se.role_id]).includes(e.role_id)).length,[n,e.role_id]),oe=j.useMemo(()=>D.split(` +`).filter(se=>se.trim()).length,[D]),de=()=>{if(!L){A(!0);return}U(),o(e.role_id)};return c.jsxs("aside",{className:"ri-panel","aria-label":`Inspector for role ${e.name}`,children:[c.jsxs("header",{className:"ri-panel-header",children:[c.jsx("img",{src:Du(y),alt:"",className:"ri-panel-icon"}),c.jsxs("div",{className:"ri-panel-title-wrap",children:[c.jsx("h3",{className:"ri-panel-title",children:u||"(unnamed)"}),c.jsx("code",{className:"ri-panel-id",children:e.role_id})]}),c.jsx("button",{className:"btn btn-ghost btn-sm ri-panel-close",onClick:a,title:"Close (Esc)",children:"โœ•"})]}),c.jsxs("div",{className:"ri-panel-body",children:[c.jsxs(Ya,{title:"Identity",defaultExpanded:!0,children:[c.jsx(xi,{label:"Name",children:c.jsx("input",{className:"ri-text-input",value:u,onChange:se=>V(se.target.value),disabled:r})}),c.jsx(xi,{label:"Responsibility",children:c.jsx("textarea",{className:"ri-textarea",rows:3,value:m,onChange:se=>Y(se.target.value),disabled:r})}),c.jsx(xi,{label:"Icon",children:c.jsx(GV,{value:y,onChange:q,readOnly:r})})]}),c.jsxs(Ya,{title:"Hierarchy",defaultExpanded:!0,children:[c.jsx(xi,{label:"Reports to",children:c.jsxs("select",{className:"ri-select",value:h,onChange:se=>Q(se.target.value),disabled:r,children:[c.jsx("option",{value:"owner",children:"You (Owner)"}),te.map(se=>c.jsx("option",{value:se.role_id,children:se.name},se.role_id))]})}),c.jsx(xi,{label:"Can delegate to",children:c.jsx(qV,{allIds:te.map(se=>se.role_id),labelFor:se=>te.find(Ee=>Ee.role_id===se)?.name??se,selected:k,onToggle:X,readOnly:r})}),c.jsx(xi,{label:"Employees assigned",children:c.jsx("span",{className:"ri-meta-value",children:re})})]}),c.jsx(Ya,{title:`Tools (${_.size})`,children:c.jsx(WV,{tools:_,onToggle:ee,readOnly:r})}),c.jsx(Ya,{title:`Prompts (${oe})`,children:c.jsx(xi,{label:"Prompt refs / inline",children:c.jsx("textarea",{className:"ri-textarea ri-textarea-mono",rows:5,placeholder:"One prompt ref or inline instruction per line",value:D,onChange:se=>P(se.target.value),disabled:r})})}),c.jsxs(Ya,{title:"Runtime policy",children:[c.jsx(xi,{label:"Execution strategy",children:c.jsx("div",{className:"ri-radio-group",children:VV.map(se=>c.jsxs("label",{className:"ri-radio",title:se.hint,children:[c.jsx("input",{type:"radio",name:`exec-strategy-${e.role_id}`,value:se.value,checked:C===se.value,onChange:()=>G(se.value),disabled:r}),se.label]},se.value))})}),C==="external"&&c.jsx(xi,{label:"Preferred external agent",children:c.jsxs("select",{className:"ri-select",value:O??"",onChange:se=>J(se.target.value||null),disabled:r,children:[c.jsx("option",{value:"",children:"(any)"}),FV.map(se=>c.jsx("option",{value:se,children:se},se))]})})]}),c.jsxs(Ya,{title:"Advanced",children:[c.jsx(xi,{label:"Role type",children:c.jsx("span",{className:"ri-meta-value",children:e.role_type??"worker"})}),c.jsx(xi,{label:"Skills",children:c.jsx("span",{className:"ri-meta-value",children:e.skill_refs&&e.skill_refs.length>0?e.skill_refs.join(", "):"(none)"})}),c.jsx(xi,{label:"Artifact contract",children:c.jsx("span",{className:"ri-meta-value",children:e.artifact_contract_ref??"(none)"})})]})]}),!r&&c.jsx("footer",{className:"ri-panel-footer",children:c.jsx("button",{className:`btn btn-sm ${L?"btn-danger":"btn-ghost"}`,onClick:de,onBlur:()=>A(!1),children:L?"Confirm delete?":"Delete role"})})]})}function Ya({title:e,defaultExpanded:t=!1,children:n}){const[r,i]=j.useState(t);return c.jsxs("section",{className:`ri-group${r?" is-expanded":""}`,children:[c.jsxs("button",{className:"ri-group-header",onClick:()=>i(o=>!o),children:[c.jsx("span",{className:"ri-group-caret",children:r?"โ–พ":"โ–ธ"}),c.jsx("span",{className:"ri-group-title",children:e})]}),r&&c.jsx("div",{className:"ri-group-body",children:n})]})}function xi({label:e,children:t}){return c.jsxs("div",{className:"ri-field",children:[c.jsx("label",{className:"ri-field-label",children:e}),c.jsx("div",{className:"ri-field-control",children:t})]})}function GV({value:e,onChange:t,readOnly:n}){const[r,i]=j.useState(!1);return c.jsxs("div",{className:"ri-icon-picker",children:[c.jsxs("button",{className:"ri-icon-picker-trigger",onClick:()=>!n&&i(o=>!o),disabled:n,children:[c.jsx("img",{src:Du(e),alt:"",className:"ri-icon-picker-current"}),c.jsx("span",{className:"ri-icon-picker-label",children:e??"generic"})]}),r&&c.jsxs("div",{className:"ri-icon-picker-popover",children:[c.jsx("button",{className:`ri-icon-option${e===null?" is-active":""}`,onClick:()=>{t(null),i(!1)},title:"Default icon",children:c.jsx("img",{src:ru.generic,alt:""})}),$V.filter(o=>o!=="generic").map(o=>c.jsx("button",{className:`ri-icon-option${e===o?" is-active":""}`,onClick:()=>{t(o),i(!1)},title:o,children:c.jsx("img",{src:ru[o],alt:o})},o))]})]})}function qV({allIds:e,labelFor:t,selected:n,onToggle:r,readOnly:i}){const[o,a]=j.useState(!1),u=e.filter(d=>!n.has(d));return c.jsxs("div",{className:"ri-multiselect",children:[c.jsxs("div",{className:"ri-chips",children:[Array.from(n).map(d=>c.jsxs("span",{className:"ri-chip",children:[t(d),!i&&c.jsx("button",{className:"ri-chip-x",onClick:()=>r(d),title:"Remove",children:"ร—"})]},d)),!i&&u.length>0&&c.jsx("button",{className:"ri-chip-add",onClick:()=>a(d=>!d),children:"+ Add"}),n.size===0&&i&&c.jsx("span",{className:"ri-meta-value",children:"(none)"})]}),o&&!i&&c.jsx("div",{className:"ri-multiselect-popover",children:u.map(d=>c.jsx("button",{className:"ri-multiselect-option",onClick:()=>{r(d),a(!1)},children:t(d)},d))})]})}function WV({tools:e,onToggle:t,readOnly:n}){return c.jsx("div",{className:"ri-toolcheck",children:HV.map(r=>c.jsxs("fieldset",{className:"ri-toolcheck-group",children:[c.jsx("legend",{className:"ri-toolcheck-legend",children:r.label}),c.jsx("div",{className:"ri-toolcheck-items",children:r.tools.map(i=>c.jsxs("label",{className:"ri-toolcheck-item",children:[c.jsx("input",{type:"checkbox",checked:e.has(i),onChange:()=>t(i),disabled:n}),c.jsx("span",{className:"ri-toolcheck-name",children:i.replace(r.prefix,"")||i})]},i))})]},r.prefix))})}function uo(e,t){return typeof e=="function"?e(t):e}function ri(e,t){return n=>{t.setState(r=>({...r,[e]:uo(n,r[e])}))}}function Um(e){return e instanceof Function}function YV(e){return Array.isArray(e)&&e.every(t=>typeof t=="number")}function XV(e,t){const n=[],r=i=>{i.forEach(o=>{n.push(o);const a=t(o);a!=null&&a.length&&r(a)})};return r(e),n}function gt(e,t,n){let r=[],i;return o=>{let a;n.key&&n.debug&&(a=Date.now());const u=e(o);if(!(u.length!==r.length||u.some((p,h)=>r[h]!==p)))return i;r=u;let m;if(n.key&&n.debug&&(m=Date.now()),i=t(...u),n==null||n.onChange==null||n.onChange(i),n.key&&n.debug&&n!=null&&n.debug()){const p=Math.round((Date.now()-a)*100)/100,h=Math.round((Date.now()-m)*100)/100,g=h/16,y=(v,k)=>{for(v=String(v);v.length{var i;return(i=e?.debugAll)!=null?i:e[t]},key:!1,onChange:r}}function KV(e,t,n,r){const i=()=>{var a;return(a=o.getValue())!=null?a:e.options.renderFallbackValue},o={id:`${t.id}_${n.id}`,row:t,column:n,getValue:()=>t.getValue(r),renderValue:i,getContext:gt(()=>[e,n,t,o],(a,u,d,m)=>({table:a,column:u,row:d,cell:m,getValue:m.getValue,renderValue:m.renderValue}),xt(e.options,"debugCells"))};return e._features.forEach(a=>{a.createCell==null||a.createCell(o,n,t,e)},{}),o}function ZV(e,t,n,r){var i,o;const u={...e._getDefaultColumnDef(),...t},d=u.accessorKey;let m=(i=(o=u.id)!=null?o:d?typeof String.prototype.replaceAll=="function"?d.replaceAll(".","_"):d.replace(/\./g,"_"):void 0)!=null?i:typeof u.header=="string"?u.header:void 0,p;if(u.accessorFn?p=u.accessorFn:d&&(d.includes(".")?p=g=>{let y=g;for(const k of d.split(".")){var v;y=(v=y)==null?void 0:v[k]}return y}:p=g=>g[u.accessorKey]),!m)throw new Error;let h={id:`${String(m)}`,accessorFn:p,parent:r,depth:n,columnDef:u,columns:[],getFlatColumns:gt(()=>[!0],()=>{var g;return[h,...(g=h.columns)==null?void 0:g.flatMap(y=>y.getFlatColumns())]},xt(e.options,"debugColumns")),getLeafColumns:gt(()=>[e._getOrderColumnsFn()],g=>{var y;if((y=h.columns)!=null&&y.length){let v=h.columns.flatMap(k=>k.getLeafColumns());return g(v)}return[h]},xt(e.options,"debugColumns"))};for(const g of e._features)g.createColumn==null||g.createColumn(h,e);return h}const Sr="debugHeaders";function bC(e,t,n){var r;let o={id:(r=n.id)!=null?r:t.id,column:t,index:n.index,isPlaceholder:!!n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const a=[],u=d=>{d.subHeaders&&d.subHeaders.length&&d.subHeaders.map(u),a.push(d)};return u(o),a},getContext:()=>({table:e,header:o,column:t})};return e._features.forEach(a=>{a.createHeader==null||a.createHeader(o,e)}),o}const QV={createTable:e=>{e.getHeaderGroups=gt(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>{var o,a;const u=(o=r?.map(h=>n.find(g=>g.id===h)).filter(Boolean))!=null?o:[],d=(a=i?.map(h=>n.find(g=>g.id===h)).filter(Boolean))!=null?a:[],m=n.filter(h=>!(r!=null&&r.includes(h.id))&&!(i!=null&&i.includes(h.id)));return uf(t,[...u,...m,...d],e)},xt(e.options,Sr)),e.getCenterHeaderGroups=gt(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>(n=n.filter(o=>!(r!=null&&r.includes(o.id))&&!(i!=null&&i.includes(o.id))),uf(t,n,e,"center")),xt(e.options,Sr)),e.getLeftHeaderGroups=gt(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,r)=>{var i;const o=(i=r?.map(a=>n.find(u=>u.id===a)).filter(Boolean))!=null?i:[];return uf(t,o,e,"left")},xt(e.options,Sr)),e.getRightHeaderGroups=gt(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,r)=>{var i;const o=(i=r?.map(a=>n.find(u=>u.id===a)).filter(Boolean))!=null?i:[];return uf(t,o,e,"right")},xt(e.options,Sr)),e.getFooterGroups=gt(()=>[e.getHeaderGroups()],t=>[...t].reverse(),xt(e.options,Sr)),e.getLeftFooterGroups=gt(()=>[e.getLeftHeaderGroups()],t=>[...t].reverse(),xt(e.options,Sr)),e.getCenterFooterGroups=gt(()=>[e.getCenterHeaderGroups()],t=>[...t].reverse(),xt(e.options,Sr)),e.getRightFooterGroups=gt(()=>[e.getRightHeaderGroups()],t=>[...t].reverse(),xt(e.options,Sr)),e.getFlatHeaders=gt(()=>[e.getHeaderGroups()],t=>t.map(n=>n.headers).flat(),xt(e.options,Sr)),e.getLeftFlatHeaders=gt(()=>[e.getLeftHeaderGroups()],t=>t.map(n=>n.headers).flat(),xt(e.options,Sr)),e.getCenterFlatHeaders=gt(()=>[e.getCenterHeaderGroups()],t=>t.map(n=>n.headers).flat(),xt(e.options,Sr)),e.getRightFlatHeaders=gt(()=>[e.getRightHeaderGroups()],t=>t.map(n=>n.headers).flat(),xt(e.options,Sr)),e.getCenterLeafHeaders=gt(()=>[e.getCenterFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),xt(e.options,Sr)),e.getLeftLeafHeaders=gt(()=>[e.getLeftFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),xt(e.options,Sr)),e.getRightLeafHeaders=gt(()=>[e.getRightFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),xt(e.options,Sr)),e.getLeafHeaders=gt(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(t,n,r)=>{var i,o,a,u,d,m;return[...(i=(o=t[0])==null?void 0:o.headers)!=null?i:[],...(a=(u=n[0])==null?void 0:u.headers)!=null?a:[],...(d=(m=r[0])==null?void 0:m.headers)!=null?d:[]].map(p=>p.getLeafHeaders()).flat()},xt(e.options,Sr))}};function uf(e,t,n,r){var i,o;let a=0;const u=function(g,y){y===void 0&&(y=1),a=Math.max(a,y),g.filter(v=>v.getIsVisible()).forEach(v=>{var k;(k=v.columns)!=null&&k.length&&u(v.columns,y+1)},0)};u(e);let d=[];const m=(g,y)=>{const v={depth:y,id:[r,`${y}`].filter(Boolean).join("_"),headers:[]},k=[];g.forEach(S=>{const _=[...k].reverse()[0],w=S.column.depth===v.depth;let C,N=!1;if(w&&S.column.parent?C=S.column.parent:(C=S.column,N=!0),_&&_?.column===C)_.subHeaders.push(S);else{const O=bC(n,C,{id:[r,y,C.id,S?.id].filter(Boolean).join("_"),isPlaceholder:N,placeholderId:N?`${k.filter(I=>I.column===C).length}`:void 0,depth:y,index:k.length});O.subHeaders.push(S),k.push(O)}v.headers.push(S),S.headerGroup=v}),d.push(v),y>0&&m(k,y-1)},p=t.map((g,y)=>bC(n,g,{depth:a,index:y}));m(p,a-1),d.reverse();const h=g=>g.filter(v=>v.column.getIsVisible()).map(v=>{let k=0,S=0,_=[0];v.subHeaders&&v.subHeaders.length?(_=[],h(v.subHeaders).forEach(C=>{let{colSpan:N,rowSpan:O}=C;k+=N,_.push(O)})):k=1;const w=Math.min(..._);return S=S+w,v.colSpan=k,v.rowSpan=S,{colSpan:k,rowSpan:S}});return h((i=(o=d[0])==null?void 0:o.headers)!=null?i:[]),d}const JV=(e,t,n,r,i,o,a)=>{let u={id:t,index:r,original:n,depth:i,parentId:a,_valuesCache:{},_uniqueValuesCache:{},getValue:d=>{if(u._valuesCache.hasOwnProperty(d))return u._valuesCache[d];const m=e.getColumn(d);if(m!=null&&m.accessorFn)return u._valuesCache[d]=m.accessorFn(u.original,r),u._valuesCache[d]},getUniqueValues:d=>{if(u._uniqueValuesCache.hasOwnProperty(d))return u._uniqueValuesCache[d];const m=e.getColumn(d);if(m!=null&&m.accessorFn)return m.columnDef.getUniqueValues?(u._uniqueValuesCache[d]=m.columnDef.getUniqueValues(u.original,r),u._uniqueValuesCache[d]):(u._uniqueValuesCache[d]=[u.getValue(d)],u._uniqueValuesCache[d])},renderValue:d=>{var m;return(m=u.getValue(d))!=null?m:e.options.renderFallbackValue},subRows:[],getLeafRows:()=>XV(u.subRows,d=>d.subRows),getParentRow:()=>u.parentId?e.getRow(u.parentId,!0):void 0,getParentRows:()=>{let d=[],m=u;for(;;){const p=m.getParentRow();if(!p)break;d.push(p),m=p}return d.reverse()},getAllCells:gt(()=>[e.getAllLeafColumns()],d=>d.map(m=>KV(e,u,m,m.id)),xt(e.options,"debugRows")),_getAllCellsByColumnId:gt(()=>[u.getAllCells()],d=>d.reduce((m,p)=>(m[p.column.id]=p,m),{}),xt(e.options,"debugRows"))};for(let d=0;d{e._getFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():t.getPreFilteredRowModel(),e._getFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},PI=(e,t,n)=>{var r,i;const o=n==null||(r=n.toString())==null?void 0:r.toLowerCase();return!!(!((i=e.getValue(t))==null||(i=i.toString())==null||(i=i.toLowerCase())==null)&&i.includes(o))};PI.autoRemove=e=>Di(e);const BI=(e,t,n)=>{var r;return!!(!((r=e.getValue(t))==null||(r=r.toString())==null)&&r.includes(n))};BI.autoRemove=e=>Di(e);const $I=(e,t,n)=>{var r;return((r=e.getValue(t))==null||(r=r.toString())==null?void 0:r.toLowerCase())===n?.toLowerCase()};$I.autoRemove=e=>Di(e);const HI=(e,t,n)=>{var r;return(r=e.getValue(t))==null?void 0:r.includes(n)};HI.autoRemove=e=>Di(e);const FI=(e,t,n)=>!n.some(r=>{var i;return!((i=e.getValue(t))!=null&&i.includes(r))});FI.autoRemove=e=>Di(e)||!(e!=null&&e.length);const VI=(e,t,n)=>n.some(r=>{var i;return(i=e.getValue(t))==null?void 0:i.includes(r)});VI.autoRemove=e=>Di(e)||!(e!=null&&e.length);const UI=(e,t,n)=>e.getValue(t)===n;UI.autoRemove=e=>Di(e);const GI=(e,t,n)=>e.getValue(t)==n;GI.autoRemove=e=>Di(e);const kv=(e,t,n)=>{let[r,i]=n;const o=e.getValue(t);return o>=r&&o<=i};kv.resolveFilterValue=e=>{let[t,n]=e,r=typeof t!="number"?parseFloat(t):t,i=typeof n!="number"?parseFloat(n):n,o=t===null||Number.isNaN(r)?-1/0:r,a=n===null||Number.isNaN(i)?1/0:i;if(o>a){const u=o;o=a,a=u}return[o,a]};kv.autoRemove=e=>Di(e)||Di(e[0])&&Di(e[1]);const Ss={includesString:PI,includesStringSensitive:BI,equalsString:$I,arrIncludes:HI,arrIncludesAll:FI,arrIncludesSome:VI,equals:UI,weakEquals:GI,inNumberRange:kv};function Di(e){return e==null||e===""}const tU={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:ri("columnFilters",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,t)=>{e.getAutoFilterFn=()=>{const n=t.getCoreRowModel().flatRows[0],r=n?.getValue(e.id);return typeof r=="string"?Ss.includesString:typeof r=="number"?Ss.inNumberRange:typeof r=="boolean"||r!==null&&typeof r=="object"?Ss.equals:Array.isArray(r)?Ss.arrIncludes:Ss.weakEquals},e.getFilterFn=()=>{var n,r;return Um(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn==="auto"?e.getAutoFilterFn():(n=(r=t.options.filterFns)==null?void 0:r[e.columnDef.filterFn])!=null?n:Ss[e.columnDef.filterFn]},e.getCanFilter=()=>{var n,r,i;return((n=e.columnDef.enableColumnFilter)!=null?n:!0)&&((r=t.options.enableColumnFilters)!=null?r:!0)&&((i=t.options.enableFilters)!=null?i:!0)&&!!e.accessorFn},e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var n;return(n=t.getState().columnFilters)==null||(n=n.find(r=>r.id===e.id))==null?void 0:n.value},e.getFilterIndex=()=>{var n,r;return(n=(r=t.getState().columnFilters)==null?void 0:r.findIndex(i=>i.id===e.id))!=null?n:-1},e.setFilterValue=n=>{t.setColumnFilters(r=>{const i=e.getFilterFn(),o=r?.find(p=>p.id===e.id),a=uo(n,o?o.value:void 0);if(_C(i,a,e)){var u;return(u=r?.filter(p=>p.id!==e.id))!=null?u:[]}const d={id:e.id,value:a};if(o){var m;return(m=r?.map(p=>p.id===e.id?d:p))!=null?m:[]}return r!=null&&r.length?[...r,d]:[d]})}},createRow:(e,t)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=t=>{const n=e.getAllLeafColumns(),r=i=>{var o;return(o=uo(t,i))==null?void 0:o.filter(a=>{const u=n.find(d=>d.id===a.id);if(u){const d=u.getFilterFn();if(_C(d,a.value,u))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(r)},e.resetColumnFilters=t=>{var n,r;e.setColumnFilters(t?[]:(n=(r=e.initialState)==null?void 0:r.columnFilters)!=null?n:[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function _C(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||typeof t>"u"||typeof t=="string"&&!t}const nU=(e,t,n)=>n.reduce((r,i)=>{const o=i.getValue(e);return r+(typeof o=="number"?o:0)},0),rU=(e,t,n)=>{let r;return n.forEach(i=>{const o=i.getValue(e);o!=null&&(r>o||r===void 0&&o>=o)&&(r=o)}),r},iU=(e,t,n)=>{let r;return n.forEach(i=>{const o=i.getValue(e);o!=null&&(r=o)&&(r=o)}),r},sU=(e,t,n)=>{let r,i;return n.forEach(o=>{const a=o.getValue(e);a!=null&&(r===void 0?a>=a&&(r=i=a):(r>a&&(r=a),i{let n=0,r=0;if(t.forEach(i=>{let o=i.getValue(e);o!=null&&(o=+o)>=o&&(++n,r+=o)}),n)return r/n},aU=(e,t)=>{if(!t.length)return;const n=t.map(o=>o.getValue(e));if(!YV(n))return;if(n.length===1)return n[0];const r=Math.floor(n.length/2),i=n.sort((o,a)=>o-a);return n.length%2!==0?i[r]:(i[r-1]+i[r])/2},lU=(e,t)=>Array.from(new Set(t.map(n=>n.getValue(e))).values()),cU=(e,t)=>new Set(t.map(n=>n.getValue(e))).size,uU=(e,t)=>t.length,ux={sum:nU,min:rU,max:iU,extent:sU,mean:oU,median:aU,unique:lU,uniqueCount:cU,count:uU},dU={getDefaultColumnDef:()=>({aggregatedCell:e=>{var t,n;return(t=(n=e.getValue())==null||n.toString==null?void 0:n.toString())!=null?t:null},aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:ri("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,t)=>{e.toggleGrouping=()=>{t.setGrouping(n=>n!=null&&n.includes(e.id)?n.filter(r=>r!==e.id):[...n??[],e.id])},e.getCanGroup=()=>{var n,r;return((n=e.columnDef.enableGrouping)!=null?n:!0)&&((r=t.options.enableGrouping)!=null?r:!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue)},e.getIsGrouped=()=>{var n;return(n=t.getState().grouping)==null?void 0:n.includes(e.id)},e.getGroupedIndex=()=>{var n;return(n=t.getState().grouping)==null?void 0:n.indexOf(e.id)},e.getToggleGroupingHandler=()=>{const n=e.getCanGroup();return()=>{n&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{const n=t.getCoreRowModel().flatRows[0],r=n?.getValue(e.id);if(typeof r=="number")return ux.sum;if(Object.prototype.toString.call(r)==="[object Date]")return ux.extent},e.getAggregationFn=()=>{var n,r;if(!e)throw new Error;return Um(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn==="auto"?e.getAutoAggregationFn():(n=(r=t.options.aggregationFns)==null?void 0:r[e.columnDef.aggregationFn])!=null?n:ux[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=t=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(t),e.resetGrouping=t=>{var n,r;e.setGrouping(t?[]:(n=(r=e.initialState)==null?void 0:r.grouping)!=null?n:[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,t)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=n=>{if(e._groupingValuesCache.hasOwnProperty(n))return e._groupingValuesCache[n];const r=t.getColumn(n);return r!=null&&r.columnDef.getGroupingValue?(e._groupingValuesCache[n]=r.columnDef.getGroupingValue(e.original),e._groupingValuesCache[n]):e.getValue(n)},e._groupingValuesCache={}},createCell:(e,t,n,r)=>{e.getIsGrouped=()=>t.getIsGrouped()&&t.id===n.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&t.getIsGrouped(),e.getIsAggregated=()=>{var i;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((i=n.subRows)!=null&&i.length)}}};function fU(e,t,n){if(!(t!=null&&t.length)||!n)return e;const r=e.filter(o=>!t.includes(o.id));return n==="remove"?r:[...t.map(o=>e.find(a=>a.id===o)).filter(Boolean),...r]}const mU={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:ri("columnOrder",e)}),createColumn:(e,t)=>{e.getIndex=gt(n=>[iu(t,n)],n=>n.findIndex(r=>r.id===e.id),xt(t.options,"debugColumns")),e.getIsFirstColumn=n=>{var r;return((r=iu(t,n)[0])==null?void 0:r.id)===e.id},e.getIsLastColumn=n=>{var r;const i=iu(t,n);return((r=i[i.length-1])==null?void 0:r.id)===e.id}},createTable:e=>{e.setColumnOrder=t=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(t),e.resetColumnOrder=t=>{var n;e.setColumnOrder(t?[]:(n=e.initialState.columnOrder)!=null?n:[])},e._getOrderColumnsFn=gt(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(t,n,r)=>i=>{let o=[];if(!(t!=null&&t.length))o=i;else{const a=[...t],u=[...i];for(;u.length&&a.length;){const d=a.shift(),m=u.findIndex(p=>p.id===d);m>-1&&o.push(u.splice(m,1)[0])}o=[...o,...u]}return fU(o,n,r)},xt(e.options,"debugTable"))}},dx=()=>({left:[],right:[]}),hU={getInitialState:e=>({columnPinning:dx(),...e}),getDefaultOptions:e=>({onColumnPinningChange:ri("columnPinning",e)}),createColumn:(e,t)=>{e.pin=n=>{const r=e.getLeafColumns().map(i=>i.id).filter(Boolean);t.setColumnPinning(i=>{var o,a;if(n==="right"){var u,d;return{left:((u=i?.left)!=null?u:[]).filter(h=>!(r!=null&&r.includes(h))),right:[...((d=i?.right)!=null?d:[]).filter(h=>!(r!=null&&r.includes(h))),...r]}}if(n==="left"){var m,p;return{left:[...((m=i?.left)!=null?m:[]).filter(h=>!(r!=null&&r.includes(h))),...r],right:((p=i?.right)!=null?p:[]).filter(h=>!(r!=null&&r.includes(h)))}}return{left:((o=i?.left)!=null?o:[]).filter(h=>!(r!=null&&r.includes(h))),right:((a=i?.right)!=null?a:[]).filter(h=>!(r!=null&&r.includes(h)))}})},e.getCanPin=()=>e.getLeafColumns().some(r=>{var i,o,a;return((i=r.columnDef.enablePinning)!=null?i:!0)&&((o=(a=t.options.enableColumnPinning)!=null?a:t.options.enablePinning)!=null?o:!0)}),e.getIsPinned=()=>{const n=e.getLeafColumns().map(u=>u.id),{left:r,right:i}=t.getState().columnPinning,o=n.some(u=>r?.includes(u)),a=n.some(u=>i?.includes(u));return o?"left":a?"right":!1},e.getPinnedIndex=()=>{var n,r;const i=e.getIsPinned();return i?(n=(r=t.getState().columnPinning)==null||(r=r[i])==null?void 0:r.indexOf(e.id))!=null?n:-1:0}},createRow:(e,t)=>{e.getCenterVisibleCells=gt(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(n,r,i)=>{const o=[...r??[],...i??[]];return n.filter(a=>!o.includes(a.column.id))},xt(t.options,"debugRows")),e.getLeftVisibleCells=gt(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left],(n,r)=>(r??[]).map(o=>n.find(a=>a.column.id===o)).filter(Boolean).map(o=>({...o,position:"left"})),xt(t.options,"debugRows")),e.getRightVisibleCells=gt(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(n,r)=>(r??[]).map(o=>n.find(a=>a.column.id===o)).filter(Boolean).map(o=>({...o,position:"right"})),xt(t.options,"debugRows"))},createTable:e=>{e.setColumnPinning=t=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(t),e.resetColumnPinning=t=>{var n,r;return e.setColumnPinning(t?dx():(n=(r=e.initialState)==null?void 0:r.columnPinning)!=null?n:dx())},e.getIsSomeColumnsPinned=t=>{var n;const r=e.getState().columnPinning;if(!t){var i,o;return!!((i=r.left)!=null&&i.length||(o=r.right)!=null&&o.length)}return!!((n=r[t])!=null&&n.length)},e.getLeftLeafColumns=gt(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(t,n)=>(n??[]).map(r=>t.find(i=>i.id===r)).filter(Boolean),xt(e.options,"debugColumns")),e.getRightLeafColumns=gt(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(t,n)=>(n??[]).map(r=>t.find(i=>i.id===r)).filter(Boolean),xt(e.options,"debugColumns")),e.getCenterLeafColumns=gt(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r)=>{const i=[...n??[],...r??[]];return t.filter(o=>!i.includes(o.id))},xt(e.options,"debugColumns"))}};function pU(e){return e||(typeof document<"u"?document:null)}const df={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},fx=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),gU={getDefaultColumnDef:()=>df,getInitialState:e=>({columnSizing:{},columnSizingInfo:fx(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:ri("columnSizing",e),onColumnSizingInfoChange:ri("columnSizingInfo",e)}),createColumn:(e,t)=>{e.getSize=()=>{var n,r,i;const o=t.getState().columnSizing[e.id];return Math.min(Math.max((n=e.columnDef.minSize)!=null?n:df.minSize,(r=o??e.columnDef.size)!=null?r:df.size),(i=e.columnDef.maxSize)!=null?i:df.maxSize)},e.getStart=gt(n=>[n,iu(t,n),t.getState().columnSizing],(n,r)=>r.slice(0,e.getIndex(n)).reduce((i,o)=>i+o.getSize(),0),xt(t.options,"debugColumns")),e.getAfter=gt(n=>[n,iu(t,n),t.getState().columnSizing],(n,r)=>r.slice(e.getIndex(n)+1).reduce((i,o)=>i+o.getSize(),0),xt(t.options,"debugColumns")),e.resetSize=()=>{t.setColumnSizing(n=>{let{[e.id]:r,...i}=n;return i})},e.getCanResize=()=>{var n,r;return((n=e.columnDef.enableResizing)!=null?n:!0)&&((r=t.options.enableColumnResizing)!=null?r:!0)},e.getIsResizing=()=>t.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,t)=>{e.getSize=()=>{let n=0;const r=i=>{if(i.subHeaders.length)i.subHeaders.forEach(r);else{var o;n+=(o=i.column.getSize())!=null?o:0}};return r(e),n},e.getStart=()=>{if(e.index>0){const n=e.headerGroup.headers[e.index-1];return n.getStart()+n.getSize()}return 0},e.getResizeHandler=n=>{const r=t.getColumn(e.column.id),i=r?.getCanResize();return o=>{if(!r||!i||(o.persist==null||o.persist(),mx(o)&&o.touches&&o.touches.length>1))return;const a=e.getSize(),u=e?e.getLeafHeaders().map(_=>[_.column.id,_.column.getSize()]):[[r.id,r.getSize()]],d=mx(o)?Math.round(o.touches[0].clientX):o.clientX,m={},p=(_,w)=>{typeof w=="number"&&(t.setColumnSizingInfo(C=>{var N,O;const I=t.options.columnResizeDirection==="rtl"?-1:1,D=(w-((N=C?.startOffset)!=null?N:0))*I,T=Math.max(D/((O=C?.startSize)!=null?O:0),-.999999);return C.columnSizingStart.forEach(L=>{let[A,M]=L;m[A]=Math.round(Math.max(M+M*T,0)*100)/100}),{...C,deltaOffset:D,deltaPercentage:T}}),(t.options.columnResizeMode==="onChange"||_==="end")&&t.setColumnSizing(C=>({...C,...m})))},h=_=>p("move",_),g=_=>{p("end",_),t.setColumnSizingInfo(w=>({...w,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},y=pU(n),v={moveHandler:_=>h(_.clientX),upHandler:_=>{y?.removeEventListener("mousemove",v.moveHandler),y?.removeEventListener("mouseup",v.upHandler),g(_.clientX)}},k={moveHandler:_=>(_.cancelable&&(_.preventDefault(),_.stopPropagation()),h(_.touches[0].clientX),!1),upHandler:_=>{var w;y?.removeEventListener("touchmove",k.moveHandler),y?.removeEventListener("touchend",k.upHandler),_.cancelable&&(_.preventDefault(),_.stopPropagation()),g((w=_.touches[0])==null?void 0:w.clientX)}},S=xU()?{passive:!1}:!1;mx(o)?(y?.addEventListener("touchmove",k.moveHandler,S),y?.addEventListener("touchend",k.upHandler,S)):(y?.addEventListener("mousemove",v.moveHandler,S),y?.addEventListener("mouseup",v.upHandler,S)),t.setColumnSizingInfo(_=>({..._,startOffset:d,startSize:a,deltaOffset:0,deltaPercentage:0,columnSizingStart:u,isResizingColumn:r.id}))}}},createTable:e=>{e.setColumnSizing=t=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(t),e.setColumnSizingInfo=t=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(t),e.resetColumnSizing=t=>{var n;e.setColumnSizing(t?{}:(n=e.initialState.columnSizing)!=null?n:{})},e.resetHeaderSizeInfo=t=>{var n;e.setColumnSizingInfo(t?fx():(n=e.initialState.columnSizingInfo)!=null?n:fx())},e.getTotalSize=()=>{var t,n;return(t=(n=e.getHeaderGroups()[0])==null?void 0:n.headers.reduce((r,i)=>r+i.getSize(),0))!=null?t:0},e.getLeftTotalSize=()=>{var t,n;return(t=(n=e.getLeftHeaderGroups()[0])==null?void 0:n.headers.reduce((r,i)=>r+i.getSize(),0))!=null?t:0},e.getCenterTotalSize=()=>{var t,n;return(t=(n=e.getCenterHeaderGroups()[0])==null?void 0:n.headers.reduce((r,i)=>r+i.getSize(),0))!=null?t:0},e.getRightTotalSize=()=>{var t,n;return(t=(n=e.getRightHeaderGroups()[0])==null?void 0:n.headers.reduce((r,i)=>r+i.getSize(),0))!=null?t:0}}};let ff=null;function xU(){if(typeof ff=="boolean")return ff;let e=!1;try{const t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener("test",n,t),window.removeEventListener("test",n)}catch{e=!1}return ff=e,ff}function mx(e){return e.type==="touchstart"}const yU={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:ri("columnVisibility",e)}),createColumn:(e,t)=>{e.toggleVisibility=n=>{e.getCanHide()&&t.setColumnVisibility(r=>({...r,[e.id]:n??!e.getIsVisible()}))},e.getIsVisible=()=>{var n,r;const i=e.columns;return(n=i.length?i.some(o=>o.getIsVisible()):(r=t.getState().columnVisibility)==null?void 0:r[e.id])!=null?n:!0},e.getCanHide=()=>{var n,r;return((n=e.columnDef.enableHiding)!=null?n:!0)&&((r=t.options.enableHiding)!=null?r:!0)},e.getToggleVisibilityHandler=()=>n=>{e.toggleVisibility==null||e.toggleVisibility(n.target.checked)}},createRow:(e,t)=>{e._getAllVisibleCells=gt(()=>[e.getAllCells(),t.getState().columnVisibility],n=>n.filter(r=>r.column.getIsVisible()),xt(t.options,"debugRows")),e.getVisibleCells=gt(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(n,r,i)=>[...n,...r,...i],xt(t.options,"debugRows"))},createTable:e=>{const t=(n,r)=>gt(()=>[r(),r().filter(i=>i.getIsVisible()).map(i=>i.id).join("_")],i=>i.filter(o=>o.getIsVisible==null?void 0:o.getIsVisible()),xt(e.options,"debugColumns"));e.getVisibleFlatColumns=t("getVisibleFlatColumns",()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=t("getVisibleLeafColumns",()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=t("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=t("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=t("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),e.setColumnVisibility=n=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(n),e.resetColumnVisibility=n=>{var r;e.setColumnVisibility(n?{}:(r=e.initialState.columnVisibility)!=null?r:{})},e.toggleAllColumnsVisible=n=>{var r;n=(r=n)!=null?r:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((i,o)=>({...i,[o.id]:n||!(o.getCanHide!=null&&o.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(n=>!(n.getIsVisible!=null&&n.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(n=>n.getIsVisible==null?void 0:n.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>n=>{var r;e.toggleAllColumnsVisible((r=n.target)==null?void 0:r.checked)}}};function iu(e,t){return t?t==="center"?e.getCenterVisibleLeafColumns():t==="left"?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}const vU={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},bU={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:ri("globalFilter",e),globalFilterFn:"auto",getColumnCanGlobalFilter:t=>{var n;const r=(n=e.getCoreRowModel().flatRows[0])==null||(n=n._getAllCellsByColumnId()[t.id])==null?void 0:n.getValue();return typeof r=="string"||typeof r=="number"}}),createColumn:(e,t)=>{e.getCanGlobalFilter=()=>{var n,r,i,o;return((n=e.columnDef.enableGlobalFilter)!=null?n:!0)&&((r=t.options.enableGlobalFilter)!=null?r:!0)&&((i=t.options.enableFilters)!=null?i:!0)&&((o=t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))!=null?o:!0)&&!!e.accessorFn}},createTable:e=>{e.getGlobalAutoFilterFn=()=>Ss.includesString,e.getGlobalFilterFn=()=>{var t,n;const{globalFilterFn:r}=e.options;return Um(r)?r:r==="auto"?e.getGlobalAutoFilterFn():(t=(n=e.options.filterFns)==null?void 0:n[r])!=null?t:Ss[r]},e.setGlobalFilter=t=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(t)},e.resetGlobalFilter=t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)}}},_U={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:ri("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,n=!1;e._autoResetExpanded=()=>{var r,i;if(!t){e._queue(()=>{t=!0});return}if((r=(i=e.options.autoResetAll)!=null?i:e.options.autoResetExpanded)!=null?r:!e.options.manualExpanding){if(n)return;n=!0,e._queue(()=>{e.resetExpanded(),n=!1})}},e.setExpanded=r=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(r),e.toggleAllRowsExpanded=r=>{r??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=r=>{var i,o;e.setExpanded(r?{}:(i=(o=e.initialState)==null?void 0:o.expanded)!=null?i:{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(r=>r.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>r=>{r.persist==null||r.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{const r=e.getState().expanded;return r===!0||Object.values(r).some(Boolean)},e.getIsAllRowsExpanded=()=>{const r=e.getState().expanded;return typeof r=="boolean"?r===!0:!(!Object.keys(r).length||e.getRowModel().flatRows.some(i=>!i.getIsExpanded()))},e.getExpandedDepth=()=>{let r=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(o=>{const a=o.split(".");r=Math.max(r,a.length)}),r},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,t)=>{e.toggleExpanded=n=>{t.setExpanded(r=>{var i;const o=r===!0?!0:!!(r!=null&&r[e.id]);let a={};if(r===!0?Object.keys(t.getRowModel().rowsById).forEach(u=>{a[u]=!0}):a=r,n=(i=n)!=null?i:!o,!o&&n)return{...a,[e.id]:!0};if(o&&!n){const{[e.id]:u,...d}=a;return d}return r})},e.getIsExpanded=()=>{var n;const r=t.getState().expanded;return!!((n=t.options.getIsRowExpanded==null?void 0:t.options.getIsRowExpanded(e))!=null?n:r===!0||r?.[e.id])},e.getCanExpand=()=>{var n,r,i;return(n=t.options.getRowCanExpand==null?void 0:t.options.getRowCanExpand(e))!=null?n:((r=t.options.enableExpanding)!=null?r:!0)&&!!((i=e.subRows)!=null&&i.length)},e.getIsAllParentsExpanded=()=>{let n=!0,r=e;for(;n&&r.parentId;)r=t.getRow(r.parentId,!0),n=r.getIsExpanded();return n},e.getToggleExpandedHandler=()=>{const n=e.getCanExpand();return()=>{n&&e.toggleExpanded()}}}},s0=0,o0=10,hx=()=>({pageIndex:s0,pageSize:o0}),kU={getInitialState:e=>({...e,pagination:{...hx(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:ri("pagination",e)}),createTable:e=>{let t=!1,n=!1;e._autoResetPageIndex=()=>{var r,i;if(!t){e._queue(()=>{t=!0});return}if((r=(i=e.options.autoResetAll)!=null?i:e.options.autoResetPageIndex)!=null?r:!e.options.manualPagination){if(n)return;n=!0,e._queue(()=>{e.resetPageIndex(),n=!1})}},e.setPagination=r=>{const i=o=>uo(r,o);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(i)},e.resetPagination=r=>{var i;e.setPagination(r?hx():(i=e.initialState.pagination)!=null?i:hx())},e.setPageIndex=r=>{e.setPagination(i=>{let o=uo(r,i.pageIndex);const a=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return o=Math.max(0,Math.min(o,a)),{...i,pageIndex:o}})},e.resetPageIndex=r=>{var i,o;e.setPageIndex(r?s0:(i=(o=e.initialState)==null||(o=o.pagination)==null?void 0:o.pageIndex)!=null?i:s0)},e.resetPageSize=r=>{var i,o;e.setPageSize(r?o0:(i=(o=e.initialState)==null||(o=o.pagination)==null?void 0:o.pageSize)!=null?i:o0)},e.setPageSize=r=>{e.setPagination(i=>{const o=Math.max(1,uo(r,i.pageSize)),a=i.pageSize*i.pageIndex,u=Math.floor(a/o);return{...i,pageIndex:u,pageSize:o}})},e.setPageCount=r=>e.setPagination(i=>{var o;let a=uo(r,(o=e.options.pageCount)!=null?o:-1);return typeof a=="number"&&(a=Math.max(-1,a)),{...i,pageCount:a}}),e.getPageOptions=gt(()=>[e.getPageCount()],r=>{let i=[];return r&&r>0&&(i=[...new Array(r)].fill(null).map((o,a)=>a)),i},xt(e.options,"debugTable")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{const{pageIndex:r}=e.getState().pagination,i=e.getPageCount();return i===-1?!0:i===0?!1:re.setPageIndex(r=>r-1),e.nextPage=()=>e.setPageIndex(r=>r+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>{var r;return(r=e.options.pageCount)!=null?r:Math.ceil(e.getRowCount()/e.getState().pagination.pageSize)},e.getRowCount=()=>{var r;return(r=e.options.rowCount)!=null?r:e.getPrePaginationRowModel().rows.length}}},px=()=>({top:[],bottom:[]}),SU={getInitialState:e=>({rowPinning:px(),...e}),getDefaultOptions:e=>({onRowPinningChange:ri("rowPinning",e)}),createRow:(e,t)=>{e.pin=(n,r,i)=>{const o=r?e.getLeafRows().map(d=>{let{id:m}=d;return m}):[],a=i?e.getParentRows().map(d=>{let{id:m}=d;return m}):[],u=new Set([...a,e.id,...o]);t.setRowPinning(d=>{var m,p;if(n==="bottom"){var h,g;return{top:((h=d?.top)!=null?h:[]).filter(k=>!(u!=null&&u.has(k))),bottom:[...((g=d?.bottom)!=null?g:[]).filter(k=>!(u!=null&&u.has(k))),...Array.from(u)]}}if(n==="top"){var y,v;return{top:[...((y=d?.top)!=null?y:[]).filter(k=>!(u!=null&&u.has(k))),...Array.from(u)],bottom:((v=d?.bottom)!=null?v:[]).filter(k=>!(u!=null&&u.has(k)))}}return{top:((m=d?.top)!=null?m:[]).filter(k=>!(u!=null&&u.has(k))),bottom:((p=d?.bottom)!=null?p:[]).filter(k=>!(u!=null&&u.has(k)))}})},e.getCanPin=()=>{var n;const{enableRowPinning:r,enablePinning:i}=t.options;return typeof r=="function"?r(e):(n=r??i)!=null?n:!0},e.getIsPinned=()=>{const n=[e.id],{top:r,bottom:i}=t.getState().rowPinning,o=n.some(u=>r?.includes(u)),a=n.some(u=>i?.includes(u));return o?"top":a?"bottom":!1},e.getPinnedIndex=()=>{var n,r;const i=e.getIsPinned();if(!i)return-1;const o=(n=i==="top"?t.getTopRows():t.getBottomRows())==null?void 0:n.map(a=>{let{id:u}=a;return u});return(r=o?.indexOf(e.id))!=null?r:-1}},createTable:e=>{e.setRowPinning=t=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(t),e.resetRowPinning=t=>{var n,r;return e.setRowPinning(t?px():(n=(r=e.initialState)==null?void 0:r.rowPinning)!=null?n:px())},e.getIsSomeRowsPinned=t=>{var n;const r=e.getState().rowPinning;if(!t){var i,o;return!!((i=r.top)!=null&&i.length||(o=r.bottom)!=null&&o.length)}return!!((n=r[t])!=null&&n.length)},e._getPinnedRows=(t,n,r)=>{var i;return((i=e.options.keepPinnedRows)==null||i?(n??[]).map(a=>{const u=e.getRow(a,!0);return u.getIsAllParentsExpanded()?u:null}):(n??[]).map(a=>t.find(u=>u.id===a))).filter(Boolean).map(a=>({...a,position:r}))},e.getTopRows=gt(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(t,n)=>e._getPinnedRows(t,n,"top"),xt(e.options,"debugRows")),e.getBottomRows=gt(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(t,n)=>e._getPinnedRows(t,n,"bottom"),xt(e.options,"debugRows")),e.getCenterRows=gt(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(t,n,r)=>{const i=new Set([...n??[],...r??[]]);return t.filter(o=>!i.has(o.id))},xt(e.options,"debugRows"))}},wU={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:ri("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=t=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(t),e.resetRowSelection=t=>{var n;return e.setRowSelection(t?{}:(n=e.initialState.rowSelection)!=null?n:{})},e.toggleAllRowsSelected=t=>{e.setRowSelection(n=>{t=typeof t<"u"?t:!e.getIsAllRowsSelected();const r={...n},i=e.getPreGroupedRowModel().flatRows;return t?i.forEach(o=>{o.getCanSelect()&&(r[o.id]=!0)}):i.forEach(o=>{delete r[o.id]}),r})},e.toggleAllPageRowsSelected=t=>e.setRowSelection(n=>{const r=typeof t<"u"?t:!e.getIsAllPageRowsSelected(),i={...n};return e.getRowModel().rows.forEach(o=>{a0(i,o.id,r,!0,e)}),i}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=gt(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?gx(e,n):{rows:[],flatRows:[],rowsById:{}},xt(e.options,"debugTable")),e.getFilteredSelectedRowModel=gt(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?gx(e,n):{rows:[],flatRows:[],rowsById:{}},xt(e.options,"debugTable")),e.getGroupedSelectedRowModel=gt(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?gx(e,n):{rows:[],flatRows:[],rowsById:{}},xt(e.options,"debugTable")),e.getIsAllRowsSelected=()=>{const t=e.getFilteredRowModel().flatRows,{rowSelection:n}=e.getState();let r=!!(t.length&&Object.keys(n).length);return r&&t.some(i=>i.getCanSelect()&&!n[i.id])&&(r=!1),r},e.getIsAllPageRowsSelected=()=>{const t=e.getPaginationRowModel().flatRows.filter(i=>i.getCanSelect()),{rowSelection:n}=e.getState();let r=!!t.length;return r&&t.some(i=>!n[i.id])&&(r=!1),r},e.getIsSomeRowsSelected=()=>{var t;const n=Object.keys((t=e.getState().rowSelection)!=null?t:{}).length;return n>0&&n{const t=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:t.filter(n=>n.getCanSelect()).some(n=>n.getIsSelected()||n.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>t=>{e.toggleAllRowsSelected(t.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}},createRow:(e,t)=>{e.toggleSelected=(n,r)=>{const i=e.getIsSelected();t.setRowSelection(o=>{var a;if(n=typeof n<"u"?n:!i,e.getCanSelect()&&i===n)return o;const u={...o};return a0(u,e.id,n,(a=r?.selectChildren)!=null?a:!0,t),u})},e.getIsSelected=()=>{const{rowSelection:n}=t.getState();return Sv(e,n)},e.getIsSomeSelected=()=>{const{rowSelection:n}=t.getState();return l0(e,n)==="some"},e.getIsAllSubRowsSelected=()=>{const{rowSelection:n}=t.getState();return l0(e,n)==="all"},e.getCanSelect=()=>{var n;return typeof t.options.enableRowSelection=="function"?t.options.enableRowSelection(e):(n=t.options.enableRowSelection)!=null?n:!0},e.getCanSelectSubRows=()=>{var n;return typeof t.options.enableSubRowSelection=="function"?t.options.enableSubRowSelection(e):(n=t.options.enableSubRowSelection)!=null?n:!0},e.getCanMultiSelect=()=>{var n;return typeof t.options.enableMultiRowSelection=="function"?t.options.enableMultiRowSelection(e):(n=t.options.enableMultiRowSelection)!=null?n:!0},e.getToggleSelectedHandler=()=>{const n=e.getCanSelect();return r=>{var i;n&&e.toggleSelected((i=r.target)==null?void 0:i.checked)}}}},a0=(e,t,n,r,i)=>{var o;const a=i.getRow(t,!0);n?(a.getCanMultiSelect()||Object.keys(e).forEach(u=>delete e[u]),a.getCanSelect()&&(e[t]=!0)):delete e[t],r&&(o=a.subRows)!=null&&o.length&&a.getCanSelectSubRows()&&a.subRows.forEach(u=>a0(e,u.id,n,r,i))};function gx(e,t){const n=e.getState().rowSelection,r=[],i={},o=function(a,u){return a.map(d=>{var m;const p=Sv(d,n);if(p&&(r.push(d),i[d.id]=d),(m=d.subRows)!=null&&m.length&&(d={...d,subRows:o(d.subRows)}),p)return d}).filter(Boolean)};return{rows:o(t.rows),flatRows:r,rowsById:i}}function Sv(e,t){var n;return(n=t[e.id])!=null?n:!1}function l0(e,t,n){var r;if(!((r=e.subRows)!=null&&r.length))return!1;let i=!0,o=!1;return e.subRows.forEach(a=>{if(!(o&&!i)&&(a.getCanSelect()&&(Sv(a,t)?o=!0:i=!1),a.subRows&&a.subRows.length)){const u=l0(a,t);u==="all"?o=!0:(u==="some"&&(o=!0),i=!1)}}),i?"all":o?"some":!1}const c0=/([0-9]+)/gm,CU=(e,t,n)=>qI(xo(e.getValue(n)).toLowerCase(),xo(t.getValue(n)).toLowerCase()),jU=(e,t,n)=>qI(xo(e.getValue(n)),xo(t.getValue(n))),EU=(e,t,n)=>wv(xo(e.getValue(n)).toLowerCase(),xo(t.getValue(n)).toLowerCase()),NU=(e,t,n)=>wv(xo(e.getValue(n)),xo(t.getValue(n))),IU=(e,t,n)=>{const r=e.getValue(n),i=t.getValue(n);return r>i?1:rwv(e.getValue(n),t.getValue(n));function wv(e,t){return e===t?0:e>t?1:-1}function xo(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function qI(e,t){const n=e.split(c0).filter(Boolean),r=t.split(c0).filter(Boolean);for(;n.length&&r.length;){const i=n.shift(),o=r.shift(),a=parseInt(i,10),u=parseInt(o,10),d=[a,u].sort();if(isNaN(d[0])){if(i>o)return 1;if(o>i)return-1;continue}if(isNaN(d[1]))return isNaN(a)?-1:1;if(a>u)return 1;if(u>a)return-1}return n.length-r.length}const $c={alphanumeric:CU,alphanumericCaseSensitive:jU,text:EU,textCaseSensitive:NU,datetime:IU,basic:TU},RU={getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:ri("sorting",e),isMultiSortEvent:t=>t.shiftKey}),createColumn:(e,t)=>{e.getAutoSortingFn=()=>{const n=t.getFilteredRowModel().flatRows.slice(10);let r=!1;for(const i of n){const o=i?.getValue(e.id);if(Object.prototype.toString.call(o)==="[object Date]")return $c.datetime;if(typeof o=="string"&&(r=!0,o.split(c0).length>1))return $c.alphanumeric}return r?$c.text:$c.basic},e.getAutoSortDir=()=>{const n=t.getFilteredRowModel().flatRows[0];return typeof n?.getValue(e.id)=="string"?"asc":"desc"},e.getSortingFn=()=>{var n,r;if(!e)throw new Error;return Um(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn==="auto"?e.getAutoSortingFn():(n=(r=t.options.sortingFns)==null?void 0:r[e.columnDef.sortingFn])!=null?n:$c[e.columnDef.sortingFn]},e.toggleSorting=(n,r)=>{const i=e.getNextSortingOrder(),o=typeof n<"u"&&n!==null;t.setSorting(a=>{const u=a?.find(y=>y.id===e.id),d=a?.findIndex(y=>y.id===e.id);let m=[],p,h=o?n:i==="desc";if(a!=null&&a.length&&e.getCanMultiSort()&&r?u?p="toggle":p="add":a!=null&&a.length&&d!==a.length-1?p="replace":u?p="toggle":p="replace",p==="toggle"&&(o||i||(p="remove")),p==="add"){var g;m=[...a,{id:e.id,desc:h}],m.splice(0,m.length-((g=t.options.maxMultiSortColCount)!=null?g:Number.MAX_SAFE_INTEGER))}else p==="toggle"?m=a.map(y=>y.id===e.id?{...y,desc:h}:y):p==="remove"?m=a.filter(y=>y.id!==e.id):m=[{id:e.id,desc:h}];return m})},e.getFirstSortDir=()=>{var n,r;return((n=(r=e.columnDef.sortDescFirst)!=null?r:t.options.sortDescFirst)!=null?n:e.getAutoSortDir()==="desc")?"desc":"asc"},e.getNextSortingOrder=n=>{var r,i;const o=e.getFirstSortDir(),a=e.getIsSorted();return a?a!==o&&((r=t.options.enableSortingRemoval)==null||r)&&(!(n&&(i=t.options.enableMultiRemove)!=null)||i)?!1:a==="desc"?"asc":"desc":o},e.getCanSort=()=>{var n,r;return((n=e.columnDef.enableSorting)!=null?n:!0)&&((r=t.options.enableSorting)!=null?r:!0)&&!!e.accessorFn},e.getCanMultiSort=()=>{var n,r;return(n=(r=e.columnDef.enableMultiSort)!=null?r:t.options.enableMultiSort)!=null?n:!!e.accessorFn},e.getIsSorted=()=>{var n;const r=(n=t.getState().sorting)==null?void 0:n.find(i=>i.id===e.id);return r?r.desc?"desc":"asc":!1},e.getSortIndex=()=>{var n,r;return(n=(r=t.getState().sorting)==null?void 0:r.findIndex(i=>i.id===e.id))!=null?n:-1},e.clearSorting=()=>{t.setSorting(n=>n!=null&&n.length?n.filter(r=>r.id!==e.id):[])},e.getToggleSortingHandler=()=>{const n=e.getCanSort();return r=>{n&&(r.persist==null||r.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?t.options.isMultiSortEvent==null?void 0:t.options.isMultiSortEvent(r):!1))}}},createTable:e=>{e.setSorting=t=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(t),e.resetSorting=t=>{var n,r;e.setSorting(t?[]:(n=(r=e.initialState)==null?void 0:r.sorting)!=null?n:[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},AU=[QV,yU,mU,hU,eU,tU,vU,bU,RU,dU,_U,kU,SU,wU,gU];function MU(e){var t,n;const r=[...AU,...(t=e._features)!=null?t:[]];let i={_features:r};const o=i._features.reduce((g,y)=>Object.assign(g,y.getDefaultOptions==null?void 0:y.getDefaultOptions(i)),{}),a=g=>i.options.mergeOptions?i.options.mergeOptions(o,g):{...o,...g};let d={...{},...(n=e.initialState)!=null?n:{}};i._features.forEach(g=>{var y;d=(y=g.getInitialState==null?void 0:g.getInitialState(d))!=null?y:d});const m=[];let p=!1;const h={_features:r,options:{...o,...e},initialState:d,_queue:g=>{m.push(g),p||(p=!0,Promise.resolve().then(()=>{for(;m.length;)m.shift()();p=!1}).catch(y=>setTimeout(()=>{throw y})))},reset:()=>{i.setState(i.initialState)},setOptions:g=>{const y=uo(g,i.options);i.options=a(y)},getState:()=>i.options.state,setState:g=>{i.options.onStateChange==null||i.options.onStateChange(g)},_getRowId:(g,y,v)=>{var k;return(k=i.options.getRowId==null?void 0:i.options.getRowId(g,y,v))!=null?k:`${v?[v.id,y].join("."):y}`},getCoreRowModel:()=>(i._getCoreRowModel||(i._getCoreRowModel=i.options.getCoreRowModel(i)),i._getCoreRowModel()),getRowModel:()=>i.getPaginationRowModel(),getRow:(g,y)=>{let v=(y?i.getPrePaginationRowModel():i.getRowModel()).rowsById[g];if(!v&&(v=i.getCoreRowModel().rowsById[g],!v))throw new Error;return v},_getDefaultColumnDef:gt(()=>[i.options.defaultColumn],g=>{var y;return g=(y=g)!=null?y:{},{header:v=>{const k=v.header.column.columnDef;return k.accessorKey?k.accessorKey:k.accessorFn?k.id:null},cell:v=>{var k,S;return(k=(S=v.renderValue())==null||S.toString==null?void 0:S.toString())!=null?k:null},...i._features.reduce((v,k)=>Object.assign(v,k.getDefaultColumnDef==null?void 0:k.getDefaultColumnDef()),{}),...g}},xt(e,"debugColumns")),_getColumnDefs:()=>i.options.columns,getAllColumns:gt(()=>[i._getColumnDefs()],g=>{const y=function(v,k,S){return S===void 0&&(S=0),v.map(_=>{const w=ZV(i,_,S,k),C=_;return w.columns=C.columns?y(C.columns,w,S+1):[],w})};return y(g)},xt(e,"debugColumns")),getAllFlatColumns:gt(()=>[i.getAllColumns()],g=>g.flatMap(y=>y.getFlatColumns()),xt(e,"debugColumns")),_getAllFlatColumnsById:gt(()=>[i.getAllFlatColumns()],g=>g.reduce((y,v)=>(y[v.id]=v,y),{}),xt(e,"debugColumns")),getAllLeafColumns:gt(()=>[i.getAllColumns(),i._getOrderColumnsFn()],(g,y)=>{let v=g.flatMap(k=>k.getLeafColumns());return y(v)},xt(e,"debugColumns")),getColumn:g=>i._getAllFlatColumnsById()[g]};Object.assign(i,h);for(let g=0;ggt(()=>[e.options.data],t=>{const n={rows:[],flatRows:[],rowsById:{}},r=function(i,o,a){o===void 0&&(o=0);const u=[];for(let m=0;me._autoResetPageIndex()))}function OU(){return e=>gt(()=>[e.getState().sorting,e.getPreSortedRowModel()],(t,n)=>{if(!n.rows.length||!(t!=null&&t.length))return n;const r=e.getState().sorting,i=[],o=r.filter(d=>{var m;return(m=e.getColumn(d.id))==null?void 0:m.getCanSort()}),a={};o.forEach(d=>{const m=e.getColumn(d.id);m&&(a[d.id]={sortUndefined:m.columnDef.sortUndefined,invertSorting:m.columnDef.invertSorting,sortingFn:m.getSortingFn()})});const u=d=>{const m=d.map(p=>({...p}));return m.sort((p,h)=>{for(let y=0;y{var h;i.push(p),(h=p.subRows)!=null&&h.length&&(p.subRows=u(p.subRows))}),m};return{rows:u(n.rows),flatRows:i,rowsById:n.rowsById}},xt(e.options,"debugTable","getSortedRowModel",()=>e._autoResetPageIndex()))}function kC(e,t){return e?LU(e)?j.createElement(e,t):e:null}function LU(e){return zU(e)||typeof e=="function"||PU(e)}function zU(e){return typeof e=="function"&&(()=>{const t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function PU(e){return typeof e=="object"&&typeof e.$$typeof=="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function BU(e){const t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[n]=j.useState(()=>({current:MU(t)})),[r,i]=j.useState(()=>n.current.initialState);return n.current.setOptions(o=>({...o,...e,state:{...r,...e.state},onStateChange:a=>{i(a),e.onStateChange==null||e.onStateChange(a)}})),n.current}const SC=["codex","cursor","claude_code","opencode"];function $U({roles:e,employees:t,selectedIds:n,onSelectRow:r,onUpdateRole:i,onDeleteRole:o,readOnly:a}){const[u,d]=j.useState([]),[m,p]=j.useState({}),[h,g]=j.useState(null),[y,v]=j.useState(""),k=j.useMemo(()=>{const T=new Map;for(const L of t){const A=L.role_ids?.length?L.role_ids:[L.role_id];for(const M of A)M&&T.set(M,(T.get(M)??0)+1)}return e.map(L=>({role_id:L.role_id,name:L.name,icon:L.icon??null,reports_to:L.reports_to,toolCount:L.tools?.length??0,agent:L.preferred_external_agent??null,employeeCount:T.get(L.role_id)??0}))},[e,t]),S=j.useMemo(()=>[{id:"owner",name:"Owner"},...e.map(T=>({id:T.role_id,name:T.name}))],[e]),_=T=>{const L=y.trim();L&&L!==e.find(A=>A.role_id===T)?.name&&i(T,{name:L}),g(null),v("")},w=j.useMemo(()=>[{id:"select",header:({table:T})=>c.jsx("input",{type:"checkbox",checked:T.getIsAllRowsSelected(),ref:L=>{L&&(L.indeterminate=T.getIsSomeRowsSelected()&&!T.getIsAllRowsSelected())},onChange:T.getToggleAllRowsSelectedHandler(),disabled:a,"aria-label":"Select all"}),cell:({row:T})=>c.jsx("input",{type:"checkbox",checked:T.getIsSelected(),onChange:T.getToggleSelectedHandler(),disabled:a,"aria-label":`Select ${T.original.role_id}`,onClick:L=>L.stopPropagation()}),size:32,enableSorting:!1},{id:"icon",header:"",cell:({row:T})=>c.jsx("img",{src:Du(T.original.icon),alt:"",className:"rt-cell-icon"}),size:32,enableSorting:!1},{id:"name",header:"Name",accessorKey:"name",cell:({row:T})=>{const L=T.original;return h?.rowId===L.role_id&&h.col==="name"?c.jsx("input",{autoFocus:!0,className:"rt-inline-input",value:y,onChange:M=>v(M.target.value),onBlur:()=>_(L.role_id),onKeyDown:M=>{M.key==="Enter"?_(L.role_id):M.key==="Escape"&&(g(null),v(""))},onClick:M=>M.stopPropagation()}):c.jsx("span",{className:"rt-cell-name",onDoubleClick:M=>{a||(M.stopPropagation(),v(L.name),g({rowId:L.role_id,col:"name"}))},title:"Double-click to edit",children:L.name})}},{id:"role_id",header:"ID",accessorKey:"role_id",cell:({row:T})=>c.jsx("code",{className:"rt-cell-id",children:T.original.role_id})},{id:"reports_to",header:"Reports to",accessorKey:"reports_to",cell:({row:T})=>{const L=T.original;return c.jsx("select",{className:"rt-cell-select",value:L.reports_to,onChange:A=>i(L.role_id,{reports_to:A.target.value}),disabled:a,onClick:A=>A.stopPropagation(),children:S.filter(A=>A.id!==L.role_id).map(A=>c.jsx("option",{value:A.id,children:A.name},A.id))})}},{id:"toolCount",header:"Tools",accessorKey:"toolCount",cell:({row:T})=>c.jsx("span",{className:"rt-cell-count",children:T.original.toolCount}),size:64},{id:"agent",header:"Agent",accessorKey:"agent",cell:({row:T})=>{const L=T.original;return c.jsxs("select",{className:"rt-cell-select",value:L.agent??"",onChange:A=>i(L.role_id,{preferred_external_agent:A.target.value||null}),disabled:a,onClick:A=>A.stopPropagation(),children:[c.jsx("option",{value:"",children:"(auto)"}),SC.map(A=>c.jsx("option",{value:A,children:A},A))]})}},{id:"employeeCount",header:"People",accessorKey:"employeeCount",cell:({row:T})=>c.jsx("span",{className:"rt-cell-count",children:T.original.employeeCount}),size:64},{id:"actions",header:"",cell:({row:T})=>c.jsx("button",{className:"rt-cell-action",onClick:L=>{L.stopPropagation(),!a&&confirm(`Delete role "${T.original.name}"?`)&&o(T.original.role_id)},disabled:a,title:"Delete",children:"โœ•"}),size:40,enableSorting:!1}],[h,y,a,S,i,o]),C=BU({data:k,columns:w,state:{sorting:u,rowSelection:m},onSortingChange:d,onRowSelectionChange:p,enableRowSelection:!0,getRowId:T=>T.role_id,getCoreRowModel:DU(),getSortedRowModel:OU()}),N=Object.values(m).filter(Boolean).length,O=Object.keys(m).filter(T=>m[T]),I=T=>{a||(O.forEach(L=>i(L,{preferred_external_agent:T})),p({}))},D=()=>{a||confirm(`Delete ${N} roles? This cannot be undone.`)&&(O.forEach(T=>o(T)),p({}))};return c.jsxs("div",{className:"rt-container",children:[N>0&&!a&&c.jsxs("div",{className:"rt-bulk-bar",children:[c.jsxs("span",{className:"rt-bulk-count",children:[N," selected"]}),c.jsxs("select",{className:"rt-bulk-select",defaultValue:"",onChange:T=>{const L=T.target.value;L&&I(L==="__auto__"?null:L)},children:[c.jsx("option",{value:"",disabled:!0,children:"Change agentโ€ฆ"}),c.jsx("option",{value:"__auto__",children:"(auto)"}),SC.map(T=>c.jsx("option",{value:T,children:T},T))]}),c.jsx("button",{className:"btn btn-danger btn-sm",onClick:D,children:"Delete selected"}),c.jsx("button",{className:"btn btn-ghost btn-sm",onClick:()=>p({}),children:"Clear"})]}),c.jsx("div",{className:"rt-table-wrap",children:c.jsxs("table",{className:"rt-table",children:[c.jsx("thead",{children:C.getHeaderGroups().map(T=>c.jsx("tr",{children:T.headers.map(L=>c.jsxs("th",{style:{width:L.getSize()},className:L.column.getCanSort()?"rt-th-sortable":"",onClick:L.column.getToggleSortingHandler(),children:[kC(L.column.columnDef.header,L.getContext()),L.column.getIsSorted()==="asc"&&c.jsx("span",{className:"rt-sort-caret",children:" โ–ฒ"}),L.column.getIsSorted()==="desc"&&c.jsx("span",{className:"rt-sort-caret",children:" โ–ผ"})]},L.id))},T.id))}),c.jsxs("tbody",{children:[C.getRowModel().rows.length===0&&c.jsx("tr",{children:c.jsx("td",{colSpan:9,className:"rt-empty",children:'No roles. Add one via the "+ Add role" button.'})}),C.getRowModel().rows.map(T=>{const L=n.includes(T.original.role_id);return c.jsx("tr",{className:`rt-row${T.getIsSelected()?" rt-row-checked":""}${L?" rt-row-active":""}`,onClick:()=>r(T.original.role_id),children:T.getVisibleCells().map(A=>c.jsx("td",{style:{width:A.column.getSize()},children:kC(A.column.columnDef.cell,A.getContext())},A.id))},T.id)})]})]})})]})}function Kn(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n{}};function Gm(){for(var e=0,t=arguments.length,n={},r;e=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}Rf.prototype=Gm.prototype={constructor:Rf,on:function(e,t){var n=this._,r=FU(e+"",n),i,o=-1,a=r.length;if(arguments.length<2){for(;++o0)for(var n=new Array(i),r=0,i,o;r=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),CC.hasOwnProperty(t)?{space:CC[t],local:e}:e}function UU(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===u0&&t.documentElement.namespaceURI===u0?t.createElement(e):t.createElementNS(n,e)}}function GU(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function WI(e){var t=qm(e);return(t.local?GU:UU)(t)}function qU(){}function Cv(e){return e==null?qU:function(){return this.querySelector(e)}}function WU(e){typeof e!="function"&&(e=Cv(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i=C&&(C=w+1);!(O=S[C])&&++C=0;)(a=r[i])&&(o&&a.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(a,o),o=a);return this}function yG(e){e||(e=vG);function t(h,g){return h&&g?e(h.__data__,g.__data__):!h-!g}for(var n=this._groups,r=n.length,i=new Array(r),o=0;ot?1:e>=t?0:NaN}function bG(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function _G(){return Array.from(this)}function kG(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?MG:typeof t=="function"?OG:DG)(e,t,n??"")):vl(this.node(),e)}function vl(e,t){return e.style.getPropertyValue(t)||QI(e).getComputedStyle(e,null).getPropertyValue(t)}function zG(e){return function(){delete this[e]}}function PG(e,t){return function(){this[e]=t}}function BG(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function $G(e,t){return arguments.length>1?this.each((t==null?zG:typeof t=="function"?BG:PG)(e,t)):this.node()[e]}function JI(e){return e.trim().split(/^|\s+/)}function jv(e){return e.classList||new eT(e)}function eT(e){this._node=e,this._names=JI(e.getAttribute("class")||"")}eT.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function tT(e,t){for(var n=jv(e),r=-1,i=t.length;++r=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function hq(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,o;n()=>e;function d0(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:a,y:u,dx:d,dy:m,dispatch:p}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:m,enumerable:!0,configurable:!0},_:{value:p}})}d0.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function wq(e){return!e.ctrlKey&&!e.button}function Cq(){return this.parentNode}function jq(e,t){return t??{x:e.x,y:e.y}}function Eq(){return navigator.maxTouchPoints||"ontouchstart"in this}function aT(){var e=wq,t=Cq,n=jq,r=Eq,i={},o=Gm("start","drag","end"),a=0,u,d,m,p,h=0;function g(N){N.on("mousedown.drag",y).filter(r).on("touchstart.drag",S).on("touchmove.drag",_,Sq).on("touchend.drag touchcancel.drag",w).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function y(N,O){if(!(p||!e.call(this,N,O))){var I=C(this,t.call(this,N,O),N,O,"mouse");I&&(Zr(N.view).on("mousemove.drag",v,bu).on("mouseup.drag",k,bu),sT(N.view),xx(N),m=!1,u=N.clientX,d=N.clientY,I("start",N))}}function v(N){if(cl(N),!m){var O=N.clientX-u,I=N.clientY-d;m=O*O+I*I>h}i.mouse("drag",N)}function k(N){Zr(N.view).on("mousemove.drag mouseup.drag",null),oT(N.view,m),cl(N),i.mouse("end",N)}function S(N,O){if(e.call(this,N,O)){var I=N.changedTouches,D=t.call(this,N,O),T=I.length,L,A;for(L=0;L>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?hf(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?hf(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Iq.exec(e))?new Hr(t[1],t[2],t[3],1):(t=Tq.exec(e))?new Hr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Rq.exec(e))?hf(t[1],t[2],t[3],t[4]):(t=Aq.exec(e))?hf(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Mq.exec(e))?AC(t[1],t[2]/100,t[3]/100,1):(t=Dq.exec(e))?AC(t[1],t[2]/100,t[3]/100,t[4]):jC.hasOwnProperty(e)?IC(jC[e]):e==="transparent"?new Hr(NaN,NaN,NaN,0):null}function IC(e){return new Hr(e>>16&255,e>>8&255,e&255,1)}function hf(e,t,n,r){return r<=0&&(e=t=n=NaN),new Hr(e,t,n,r)}function zq(e){return e instanceof Lu||(e=Zo(e)),e?(e=e.rgb(),new Hr(e.r,e.g,e.b,e.opacity)):new Hr}function f0(e,t,n,r){return arguments.length===1?zq(e):new Hr(e,t,n,r??1)}function Hr(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Ev(Hr,f0,lT(Lu,{brighter(e){return e=e==null?um:Math.pow(um,e),new Hr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?_u:Math.pow(_u,e),new Hr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Hr(Uo(this.r),Uo(this.g),Uo(this.b),dm(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:TC,formatHex:TC,formatHex8:Pq,formatRgb:RC,toString:RC}));function TC(){return`#${Vo(this.r)}${Vo(this.g)}${Vo(this.b)}`}function Pq(){return`#${Vo(this.r)}${Vo(this.g)}${Vo(this.b)}${Vo((isNaN(this.opacity)?1:this.opacity)*255)}`}function RC(){const e=dm(this.opacity);return`${e===1?"rgb(":"rgba("}${Uo(this.r)}, ${Uo(this.g)}, ${Uo(this.b)}${e===1?")":`, ${e})`}`}function dm(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Uo(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Vo(e){return e=Uo(e),(e<16?"0":"")+e.toString(16)}function AC(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Ii(e,t,n,r)}function cT(e){if(e instanceof Ii)return new Ii(e.h,e.s,e.l,e.opacity);if(e instanceof Lu||(e=Zo(e)),!e)return new Ii;if(e instanceof Ii)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),a=NaN,u=o-i,d=(o+i)/2;return u?(t===o?a=(n-r)/u+(n0&&d<1?0:a,new Ii(a,u,d,e.opacity)}function Bq(e,t,n,r){return arguments.length===1?cT(e):new Ii(e,t,n,r??1)}function Ii(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Ev(Ii,Bq,lT(Lu,{brighter(e){return e=e==null?um:Math.pow(um,e),new Ii(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?_u:Math.pow(_u,e),new Ii(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new Hr(yx(e>=240?e-240:e+120,i,r),yx(e,i,r),yx(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Ii(MC(this.h),pf(this.s),pf(this.l),dm(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=dm(this.opacity);return`${e===1?"hsl(":"hsla("}${MC(this.h)}, ${pf(this.s)*100}%, ${pf(this.l)*100}%${e===1?")":`, ${e})`}`}}));function MC(e){return e=(e||0)%360,e<0?e+360:e}function pf(e){return Math.max(0,Math.min(1,e||0))}function yx(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const Nv=e=>()=>e;function $q(e,t){return function(n){return e+n*t}}function Hq(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function Fq(e){return(e=+e)==1?uT:function(t,n){return n-t?Hq(t,n,e):Nv(isNaN(t)?n:t)}}function uT(e,t){var n=t-e;return n?$q(e,n):Nv(isNaN(e)?t:e)}const fm=(function e(t){var n=Fq(t);function r(i,o){var a=n((i=f0(i)).r,(o=f0(o)).r),u=n(i.g,o.g),d=n(i.b,o.b),m=uT(i.opacity,o.opacity);return function(p){return i.r=a(p),i.g=u(p),i.b=d(p),i.opacity=m(p),i+""}}return r.gamma=e,r})(1);function Vq(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(o){for(i=0;in&&(o=t.slice(n,o),u[a]?u[a]+=o:u[++a]=o),(r=r[0])===(i=i[0])?u[a]?u[a]+=i:u[++a]=i:(u[++a]=null,d.push({i:a,x:Gi(r,i)})),n=vx.lastIndex;return n180?p+=360:p-m>180&&(m+=360),g.push({i:h.push(i(h)+"rotate(",null,r)-2,x:Gi(m,p)})):p&&h.push(i(h)+"rotate("+p+r)}function u(m,p,h,g){m!==p?g.push({i:h.push(i(h)+"skewX(",null,r)-2,x:Gi(m,p)}):p&&h.push(i(h)+"skewX("+p+r)}function d(m,p,h,g,y,v){if(m!==h||p!==g){var k=y.push(i(y)+"scale(",null,",",null,")");v.push({i:k-4,x:Gi(m,h)},{i:k-2,x:Gi(p,g)})}else(h!==1||g!==1)&&y.push(i(y)+"scale("+h+","+g+")")}return function(m,p){var h=[],g=[];return m=e(m),p=e(p),o(m.translateX,m.translateY,p.translateX,p.translateY,h,g),a(m.rotate,p.rotate,h,g),u(m.skewX,p.skewX,h,g),d(m.scaleX,m.scaleY,p.scaleX,p.scaleY,h,g),m=p=null,function(y){for(var v=-1,k=g.length,S;++v=0&&e._call.call(void 0,t),e=e._next;--bl}function LC(){Qo=(hm=Su.now())+Wm,bl=Gc=0;try{iW()}finally{bl=0,oW(),Qo=0}}function sW(){var e=Su.now(),t=e-hm;t>hT&&(Wm-=t,hm=e)}function oW(){for(var e,t=mm,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:mm=n);qc=e,p0(r)}function p0(e){if(!bl){Gc&&(Gc=clearTimeout(Gc));var t=e-Qo;t>24?(e<1/0&&(Gc=setTimeout(LC,e-Su.now()-Wm)),Hc&&(Hc=clearInterval(Hc))):(Hc||(hm=Su.now(),Hc=setInterval(sW,hT)),bl=1,pT(LC))}}function zC(e,t,n){var r=new pm;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var aW=Gm("start","end","cancel","interrupt"),lW=[],xT=0,PC=1,g0=2,Mf=3,BC=4,x0=5,Df=6;function Ym(e,t,n,r,i,o){var a=e.__transition;if(!a)e.__transition={};else if(n in a)return;cW(e,n,{name:t,index:r,group:i,on:aW,tween:lW,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:xT})}function Tv(e,t){var n=Li(e,t);if(n.state>xT)throw new Error("too late; already scheduled");return n}function ts(e,t){var n=Li(e,t);if(n.state>Mf)throw new Error("too late; already running");return n}function Li(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function cW(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=gT(o,0,n.time);function o(m){n.state=PC,n.timer.restart(a,n.delay,n.time),n.delay<=m&&a(m-n.delay)}function a(m){var p,h,g,y;if(n.state!==PC)return d();for(p in r)if(y=r[p],y.name===n.name){if(y.state===Mf)return zC(a);y.state===BC?(y.state=Df,y.timer.stop(),y.on.call("interrupt",e,e.__data__,y.index,y.group),delete r[p]):+pg0&&r.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function BW(e,t,n){var r,i,o=PW(t)?Tv:ts;return function(){var a=o(this,e),u=a.on;u!==r&&(i=(r=u).copy()).on(t,n),a.on=i}}function $W(e,t){var n=this._id;return arguments.length<2?Li(this.node(),n).on.on(e):this.each(BW(n,e,t))}function HW(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function FW(){return this.on("end.remove",HW(this._id))}function VW(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Cv(e));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a()=>e;function hY(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function js(e,t,n){this.k=e,this.x=t,this.y=n}js.prototype={constructor:js,scale:function(e){return e===1?this:new js(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new js(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Xm=new js(1,0,0);_T.prototype=js.prototype;function _T(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Xm;return e.__zoom}function bx(e){e.stopImmediatePropagation()}function Fc(e){e.preventDefault(),e.stopImmediatePropagation()}function pY(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function gY(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function $C(){return this.__zoom||Xm}function xY(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function yY(){return navigator.maxTouchPoints||"ontouchstart"in this}function vY(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}function kT(){var e=pY,t=gY,n=vY,r=xY,i=yY,o=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],u=250,d=Af,m=Gm("start","zoom","end"),p,h,g,y=500,v=150,k=0,S=10;function _(B){B.property("__zoom",$C).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",L).on("dblclick.zoom",A).filter(i).on("touchstart.zoom",M).on("touchmove.zoom",$).on("touchend.zoom touchcancel.zoom",W).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}_.transform=function(B,U,H,V){var Y=B.selection?B.selection():B;Y.property("__zoom",$C),B!==Y?O(B,U,H,V):Y.interrupt().each(function(){I(this,arguments).event(V).start().zoom(null,typeof U=="function"?U.apply(this,arguments):U).end()})},_.scaleBy=function(B,U,H,V){_.scaleTo(B,function(){var Y=this.__zoom.k,Q=typeof U=="function"?U.apply(this,arguments):U;return Y*Q},H,V)},_.scaleTo=function(B,U,H,V){_.transform(B,function(){var Y=t.apply(this,arguments),Q=this.__zoom,q=H==null?N(Y):typeof H=="function"?H.apply(this,arguments):H,G=Q.invert(q),J=typeof U=="function"?U.apply(this,arguments):U;return n(C(w(Q,J),q,G),Y,a)},H,V)},_.translateBy=function(B,U,H,V){_.transform(B,function(){return n(this.__zoom.translate(typeof U=="function"?U.apply(this,arguments):U,typeof H=="function"?H.apply(this,arguments):H),t.apply(this,arguments),a)},null,V)},_.translateTo=function(B,U,H,V,Y){_.transform(B,function(){var Q=t.apply(this,arguments),q=this.__zoom,G=V==null?N(Q):typeof V=="function"?V.apply(this,arguments):V;return n(Xm.translate(G[0],G[1]).scale(q.k).translate(typeof U=="function"?-U.apply(this,arguments):-U,typeof H=="function"?-H.apply(this,arguments):-H),Q,a)},V,Y)};function w(B,U){return U=Math.max(o[0],Math.min(o[1],U)),U===B.k?B:new js(U,B.x,B.y)}function C(B,U,H){var V=U[0]-H[0]*B.k,Y=U[1]-H[1]*B.k;return V===B.x&&Y===B.y?B:new js(B.k,V,Y)}function N(B){return[(+B[0][0]+ +B[1][0])/2,(+B[0][1]+ +B[1][1])/2]}function O(B,U,H,V){B.on("start.zoom",function(){I(this,arguments).event(V).start()}).on("interrupt.zoom end.zoom",function(){I(this,arguments).event(V).end()}).tween("zoom",function(){var Y=this,Q=arguments,q=I(Y,Q).event(V),G=t.apply(Y,Q),J=H==null?N(G):typeof H=="function"?H.apply(Y,Q):H,P=Math.max(G[1][0]-G[0][0],G[1][1]-G[0][1]),X=Y.__zoom,ee=typeof U=="function"?U.apply(Y,Q):U,te=d(X.invert(J).concat(P/X.k),ee.invert(J).concat(P/ee.k));return function(re){if(re===1)re=ee;else{var oe=te(re),de=P/oe[2];re=new js(de,J[0]-oe[0]*de,J[1]-oe[1]*de)}q.zoom(null,re)}})}function I(B,U,H){return!H&&B.__zooming||new D(B,U)}function D(B,U){this.that=B,this.args=U,this.active=0,this.sourceEvent=null,this.extent=t.apply(B,U),this.taps=0}D.prototype={event:function(B){return B&&(this.sourceEvent=B),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(B,U){return this.mouse&&B!=="mouse"&&(this.mouse[1]=U.invert(this.mouse[0])),this.touch0&&B!=="touch"&&(this.touch0[1]=U.invert(this.touch0[0])),this.touch1&&B!=="touch"&&(this.touch1[1]=U.invert(this.touch1[0])),this.that.__zoom=U,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(B){var U=Zr(this.that).datum();m.call(B,this.that,new hY(B,{sourceEvent:this.sourceEvent,target:_,transform:this.that.__zoom,dispatch:m}),U)}};function T(B,...U){if(!e.apply(this,arguments))return;var H=I(this,U).event(B),V=this.__zoom,Y=Math.max(o[0],Math.min(o[1],V.k*Math.pow(2,r.apply(this,arguments)))),Q=Ni(B);if(H.wheel)(H.mouse[0][0]!==Q[0]||H.mouse[0][1]!==Q[1])&&(H.mouse[1]=V.invert(H.mouse[0]=Q)),clearTimeout(H.wheel);else{if(V.k===Y)return;H.mouse=[Q,V.invert(Q)],Of(this),H.start()}Fc(B),H.wheel=setTimeout(q,v),H.zoom("mouse",n(C(w(V,Y),H.mouse[0],H.mouse[1]),H.extent,a));function q(){H.wheel=null,H.end()}}function L(B,...U){if(g||!e.apply(this,arguments))return;var H=B.currentTarget,V=I(this,U,!0).event(B),Y=Zr(B.view).on("mousemove.zoom",J,!0).on("mouseup.zoom",P,!0),Q=Ni(B,H),q=B.clientX,G=B.clientY;sT(B.view),bx(B),V.mouse=[Q,this.__zoom.invert(Q)],Of(this),V.start();function J(X){if(Fc(X),!V.moved){var ee=X.clientX-q,te=X.clientY-G;V.moved=ee*ee+te*te>k}V.event(X).zoom("mouse",n(C(V.that.__zoom,V.mouse[0]=Ni(X,H),V.mouse[1]),V.extent,a))}function P(X){Y.on("mousemove.zoom mouseup.zoom",null),oT(X.view,V.moved),Fc(X),V.event(X).end()}}function A(B,...U){if(e.apply(this,arguments)){var H=this.__zoom,V=Ni(B.changedTouches?B.changedTouches[0]:B,this),Y=H.invert(V),Q=H.k*(B.shiftKey?.5:2),q=n(C(w(H,Q),V,Y),t.apply(this,U),a);Fc(B),u>0?Zr(this).transition().duration(u).call(O,q,V,B):Zr(this).call(_.transform,q,V,B)}}function M(B,...U){if(e.apply(this,arguments)){var H=B.touches,V=H.length,Y=I(this,U,B.changedTouches.length===V).event(B),Q,q,G,J;for(bx(B),q=0;q"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:r}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},wu=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],ST=["Enter"," ","Escape"],wT={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var _l;(function(e){e.Strict="strict",e.Loose="loose"})(_l||(_l={}));var Go;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Go||(Go={}));var Cu;(function(e){e.Partial="partial",e.Full="full"})(Cu||(Cu={}));const CT={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var lo;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(lo||(lo={}));var gm;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(gm||(gm={}));var at;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(at||(at={}));const HC={[at.Left]:at.Right,[at.Right]:at.Left,[at.Top]:at.Bottom,[at.Bottom]:at.Top};function jT(e){return e===null?null:e?"valid":"invalid"}const ET=e=>"id"in e&&"source"in e&&"target"in e,bY=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Av=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),zu=(e,t=[0,0])=>{const{width:n,height:r}=Ts(e),i=e.origin??t,o=n*i[0],a=r*i[1];return{x:e.position.x-o,y:e.position.y-a}},_Y=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,i)=>{const o=typeof i=="string";let a=!t.nodeLookup&&!o?i:void 0;t.nodeLookup&&(a=o?t.nodeLookup.get(i):Av(i)?i:t.nodeLookup.get(i.id));const u=a?xm(a,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return Km(r,u)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Zm(n)},Pu=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(i=>{(t.filter===void 0||t.filter(i))&&(n=Km(n,xm(i)),r=!0)}),r?Zm(n):{x:0,y:0,width:0,height:0}},Mv=(e,t,[n,r,i]=[0,0,1],o=!1,a=!1)=>{const u={...$u(t,[n,r,i]),width:t.width/i,height:t.height/i},d=[];for(const m of e.values()){const{measured:p,selectable:h=!0,hidden:g=!1}=m;if(a&&!h||g)continue;const y=p.width??m.width??m.initialWidth??null,v=p.height??m.height??m.initialHeight??null,k=ju(u,Sl(m)),S=(y??0)*(v??0),_=o&&k>0;(!m.internals.handleBounds||_||k>=S||m.dragging)&&d.push(m)}return d},kY=(e,t)=>{const n=new Set;return e.forEach(r=>{n.add(r.id)}),t.filter(r=>n.has(r.source)||n.has(r.target))};function SY(e,t){const n=new Map,r=t?.nodes?new Set(t.nodes.map(i=>i.id)):null;return e.forEach(i=>{i.measured.width&&i.measured.height&&(t?.includeHiddenNodes||!i.hidden)&&(!r||r.has(i.id))&&n.set(i.id,i)}),n}async function wY({nodes:e,width:t,height:n,panZoom:r,minZoom:i,maxZoom:o},a){if(e.size===0)return Promise.resolve(!0);const u=SY(e,a),d=Pu(u),m=Dv(d,t,n,a?.minZoom??i,a?.maxZoom??o,a?.padding??.1);return await r.setViewport(m,{duration:a?.duration,ease:a?.ease,interpolate:a?.interpolate}),Promise.resolve(!0)}function NT({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:i,onError:o}){const a=n.get(e),u=a.parentId?n.get(a.parentId):void 0,{x:d,y:m}=u?u.internals.positionAbsolute:{x:0,y:0},p=a.origin??r;let h=a.extent||i;if(a.extent==="parent"&&!a.expandParent)if(!u)o?.("005",Ji.error005());else{const y=u.measured.width,v=u.measured.height;y&&v&&(h=[[d,m],[d+y,m+v]])}else u&&wl(a.extent)&&(h=[[a.extent[0][0]+d,a.extent[0][1]+m],[a.extent[1][0]+d,a.extent[1][1]+m]]);const g=wl(h)?Jo(t,h,a.measured):t;return(a.measured.width===void 0||a.measured.height===void 0)&&o?.("015",Ji.error015()),{position:{x:g.x-d+(a.measured.width??0)*p[0],y:g.y-m+(a.measured.height??0)*p[1]},positionAbsolute:g}}async function CY({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:i}){const o=new Set(e.map(g=>g.id)),a=[];for(const g of n){if(g.deletable===!1)continue;const y=o.has(g.id),v=!y&&g.parentId&&a.find(k=>k.id===g.parentId);(y||v)&&a.push(g)}const u=new Set(t.map(g=>g.id)),d=r.filter(g=>g.deletable!==!1),p=kY(a,d);for(const g of d)u.has(g.id)&&!p.find(v=>v.id===g.id)&&p.push(g);if(!i)return{edges:p,nodes:a};const h=await i({nodes:a,edges:p});return typeof h=="boolean"?h?{edges:p,nodes:a}:{edges:[],nodes:[]}:h}const kl=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Jo=(e={x:0,y:0},t,n)=>({x:kl(e.x,t[0][0],t[1][0]-(n?.width??0)),y:kl(e.y,t[0][1],t[1][1]-(n?.height??0))});function IT(e,t,n){const{width:r,height:i}=Ts(n),{x:o,y:a}=n.internals.positionAbsolute;return Jo(e,[[o,a],[o+r,a+i]],t)}const FC=(e,t,n)=>en?-kl(Math.abs(e-n),1,t)/t:0,TT=(e,t,n=15,r=40)=>{const i=FC(e.x,r,t.width-r)*n,o=FC(e.y,r,t.height-r)*n;return[i,o]},Km=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),y0=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),Zm=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),Sl=(e,t=[0,0])=>{const{x:n,y:r}=Av(e)?e.internals.positionAbsolute:zu(e,t);return{x:n,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},xm=(e,t=[0,0])=>{const{x:n,y:r}=Av(e)?e.internals.positionAbsolute:zu(e,t);return{x:n,y:r,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},RT=(e,t)=>Zm(Km(y0(e),y0(t))),ju=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},VC=e=>Ri(e.width)&&Ri(e.height)&&Ri(e.x)&&Ri(e.y),Ri=e=>!isNaN(e)&&isFinite(e),jY=(e,t)=>{},Bu=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),$u=({x:e,y:t},[n,r,i],o=!1,a=[1,1])=>{const u={x:(e-n)/i,y:(t-r)/i};return o?Bu(u,a):u},ym=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r});function Xa(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function EY(e,t,n){if(typeof e=="string"||typeof e=="number"){const r=Xa(e,n),i=Xa(e,t);return{top:r,right:i,bottom:r,left:i,x:i*2,y:r*2}}if(typeof e=="object"){const r=Xa(e.top??e.y??0,n),i=Xa(e.bottom??e.y??0,n),o=Xa(e.left??e.x??0,t),a=Xa(e.right??e.x??0,t);return{top:r,right:a,bottom:i,left:o,x:o+a,y:r+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function NY(e,t,n,r,i,o){const{x:a,y:u}=ym(e,[t,n,r]),{x:d,y:m}=ym({x:e.x+e.width,y:e.y+e.height},[t,n,r]),p=i-d,h=o-m;return{left:Math.floor(a),top:Math.floor(u),right:Math.floor(p),bottom:Math.floor(h)}}const Dv=(e,t,n,r,i,o)=>{const a=EY(o,t,n),u=(t-a.x)/e.width,d=(n-a.y)/e.height,m=Math.min(u,d),p=kl(m,r,i),h=e.x+e.width/2,g=e.y+e.height/2,y=t/2-h*p,v=n/2-g*p,k=NY(e,y,v,p,t,n),S={left:Math.min(k.left-a.left,0),top:Math.min(k.top-a.top,0),right:Math.min(k.right-a.right,0),bottom:Math.min(k.bottom-a.bottom,0)};return{x:y-S.left+S.right,y:v-S.top+S.bottom,zoom:p}},Eu=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function wl(e){return e!=null&&e!=="parent"}function Ts(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function AT(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function MT(e,t={width:0,height:0},n,r,i){const o={...e},a=r.get(n);if(a){const u=a.origin||i;o.x+=a.internals.positionAbsolute.x-(t.width??0)*u[0],o.y+=a.internals.positionAbsolute.y-(t.height??0)*u[1]}return o}function UC(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function IY(){let e,t;return{promise:new Promise((r,i)=>{e=r,t=i}),resolve:e,reject:t}}function TY(e){return{...wT,...e||{}}}function ou(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:i}){const{x:o,y:a}=Ai(e),u=$u({x:o-(i?.left??0),y:a-(i?.top??0)},r),{x:d,y:m}=n?Bu(u,t):u;return{xSnapped:d,ySnapped:m,...u}}const Ov=e=>({width:e.offsetWidth,height:e.offsetHeight}),DT=e=>e?.getRootNode?.()||window?.document,RY=["INPUT","SELECT","TEXTAREA"];function OT(e){const t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:RY.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const LT=e=>"clientX"in e,Ai=(e,t)=>{const n=LT(e),r=n?e.clientX:e.touches?.[0].clientX,i=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:i-(t?.top??0)}},GC=(e,t,n,r,i)=>{const o=t.querySelectorAll(`.${e}`);return!o||!o.length?null:Array.from(o).map(a=>{const u=a.getBoundingClientRect();return{id:a.getAttribute("data-handleid"),type:e,nodeId:i,position:a.getAttribute("data-handlepos"),x:(u.left-n.left)/r,y:(u.top-n.top)/r,...Ov(a)}})};function zT({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:o,targetControlX:a,targetControlY:u}){const d=e*.125+i*.375+a*.375+n*.125,m=t*.125+o*.375+u*.375+r*.125,p=Math.abs(d-e),h=Math.abs(m-t);return[d,m,p,h]}function yf(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function qC({pos:e,x1:t,y1:n,x2:r,y2:i,c:o}){switch(e){case at.Left:return[t-yf(t-r,o),n];case at.Right:return[t+yf(r-t,o),n];case at.Top:return[t,n-yf(n-i,o)];case at.Bottom:return[t,n+yf(i-n,o)]}}function PT({sourceX:e,sourceY:t,sourcePosition:n=at.Bottom,targetX:r,targetY:i,targetPosition:o=at.Top,curvature:a=.25}){const[u,d]=qC({pos:n,x1:e,y1:t,x2:r,y2:i,c:a}),[m,p]=qC({pos:o,x1:r,y1:i,x2:e,y2:t,c:a}),[h,g,y,v]=zT({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:u,sourceControlY:d,targetControlX:m,targetControlY:p});return[`M${e},${t} C${u},${d} ${m},${p} ${r},${i}`,h,g,y,v]}function BT({sourceX:e,sourceY:t,targetX:n,targetY:r}){const i=Math.abs(n-e)/2,o=n0}const DY=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`,OY=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),LY=(e,t,n={})=>{if(!e.source||!e.target)return t;const r=n.getEdgeId||DY;let i;return ET(e)?i={...e}:i={...e,id:r(e)},OY(i,t)?t:(i.sourceHandle===null&&delete i.sourceHandle,i.targetHandle===null&&delete i.targetHandle,t.concat(i))};function $T({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[i,o,a,u]=BT({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,o,a,u]}const WC={[at.Left]:{x:-1,y:0},[at.Right]:{x:1,y:0},[at.Top]:{x:0,y:-1},[at.Bottom]:{x:0,y:1}},zY=({source:e,sourcePosition:t=at.Bottom,target:n})=>t===at.Left||t===at.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function PY({source:e,sourcePosition:t=at.Bottom,target:n,targetPosition:r=at.Top,center:i,offset:o,stepPosition:a}){const u=WC[t],d=WC[r],m={x:e.x+u.x*o,y:e.y+u.y*o},p={x:n.x+d.x*o,y:n.y+d.y*o},h=zY({source:m,sourcePosition:t,target:p}),g=h.x!==0?"x":"y",y=h[g];let v=[],k,S;const _={x:0,y:0},w={x:0,y:0},[,,C,N]=BT({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(u[g]*d[g]===-1){g==="x"?(k=i.x??m.x+(p.x-m.x)*a,S=i.y??(m.y+p.y)/2):(k=i.x??(m.x+p.x)/2,S=i.y??m.y+(p.y-m.y)*a);const T=[{x:k,y:m.y},{x:k,y:p.y}],L=[{x:m.x,y:S},{x:p.x,y:S}];u[g]===y?v=g==="x"?T:L:v=g==="x"?L:T}else{const T=[{x:m.x,y:p.y}],L=[{x:p.x,y:m.y}];if(g==="x"?v=u.x===y?L:T:v=u.y===y?T:L,t===r){const B=Math.abs(e[g]-n[g]);if(B<=o){const U=Math.min(o-1,o-B);u[g]===y?_[g]=(m[g]>e[g]?-1:1)*U:w[g]=(p[g]>n[g]?-1:1)*U}}if(t!==r){const B=g==="x"?"y":"x",U=u[g]===d[B],H=m[B]>p[B],V=m[B]=W?(k=(A.x+M.x)/2,S=v[0].y):(k=v[0].x,S=(A.y+M.y)/2)}const O={x:m.x+_.x,y:m.y+_.y},I={x:p.x+w.x,y:p.y+w.y};return[[e,...O.x!==v[0].x||O.y!==v[0].y?[O]:[],...v,...I.x!==v[v.length-1].x||I.y!==v[v.length-1].y?[I]:[],n],k,S,C,N]}function BY(e,t,n,r){const i=Math.min(YC(e,t)/2,YC(t,n)/2,r),{x:o,y:a}=t;if(e.x===o&&o===n.x||e.y===a&&a===n.y)return`L${o} ${a}`;if(e.y===a){const m=e.xn.id===t):e[0])||null}function b0(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`:""}function HY(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:i}){const o=new Set;return e.reduce((a,u)=>([u.markerStart||r,u.markerEnd||i].forEach(d=>{if(d&&typeof d=="object"){const m=b0(d,t);o.has(m)||(a.push({id:m,color:d.color||n,...d}),o.add(m))}}),a),[]).sort((a,u)=>a.id.localeCompare(u.id))}const HT=1e3,FY=10,Lv={nodeOrigin:[0,0],nodeExtent:wu,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},VY={...Lv,checkEquality:!0};function zv(e,t){const n={...e};for(const r in t)t[r]!==void 0&&(n[r]=t[r]);return n}function UY(e,t,n){const r=zv(Lv,n);for(const i of e.values())if(i.parentId)Bv(i,e,t,r);else{const o=zu(i,r.nodeOrigin),a=wl(i.extent)?i.extent:r.nodeExtent,u=Jo(o,a,Ts(i));i.internals.positionAbsolute=u}}function GY(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;const n=[],r=[];for(const i of e.handles){const o={id:i.id,width:i.width??1,height:i.height??1,nodeId:e.id,x:i.x,y:i.y,position:i.position,type:i.type};i.type==="source"?n.push(o):i.type==="target"&&r.push(o)}return{source:n,target:r}}function Pv(e){return e==="manual"}function _0(e,t,n,r={}){const i=zv(VY,r),o={i:0},a=new Map(t),u=i?.elevateNodesOnSelect&&!Pv(i.zIndexMode)?HT:0;let d=e.length>0,m=!1;t.clear(),n.clear();for(const p of e){let h=a.get(p.id);if(i.checkEquality&&p===h?.internals.userNode)t.set(p.id,h);else{const g=zu(p,i.nodeOrigin),y=wl(p.extent)?p.extent:i.nodeExtent,v=Jo(g,y,Ts(p));h={...i.defaults,...p,measured:{width:p.measured?.width,height:p.measured?.height},internals:{positionAbsolute:v,handleBounds:GY(p,h),z:FT(p,u,i.zIndexMode),userNode:p}},t.set(p.id,h)}(h.measured===void 0||h.measured.width===void 0||h.measured.height===void 0)&&!h.hidden&&(d=!1),p.parentId&&Bv(h,t,n,r,o),m||=p.selected??!1}return{nodesInitialized:d,hasSelectedNodes:m}}function qY(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function Bv(e,t,n,r,i){const{elevateNodesOnSelect:o,nodeOrigin:a,nodeExtent:u,zIndexMode:d}=zv(Lv,r),m=e.parentId,p=t.get(m);if(!p){console.warn(`Parent node ${m} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}qY(e,n),i&&!p.parentId&&p.internals.rootParentIndex===void 0&&d==="auto"&&(p.internals.rootParentIndex=++i.i,p.internals.z=p.internals.z+i.i*FY),i&&p.internals.rootParentIndex!==void 0&&(i.i=p.internals.rootParentIndex);const h=o&&!Pv(d)?HT:0,{x:g,y,z:v}=WY(e,p,a,u,h,d),{positionAbsolute:k}=e.internals,S=g!==k.x||y!==k.y;(S||v!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:S?{x:g,y}:k,z:v}})}function FT(e,t,n){const r=Ri(e.zIndex)?e.zIndex:0;return Pv(n)?r:r+(e.selected?t:0)}function WY(e,t,n,r,i,o){const{x:a,y:u}=t.internals.positionAbsolute,d=Ts(e),m=zu(e,n),p=wl(e.extent)?Jo(m,e.extent,d):m;let h=Jo({x:a+p.x,y:u+p.y},r,d);e.extent==="parent"&&(h=IT(h,d,t));const g=FT(e,i,o),y=t.internals.z??0;return{x:h.x,y:h.y,z:y>=g?y+1:g}}function $v(e,t,n,r=[0,0]){const i=[],o=new Map;for(const a of e){const u=t.get(a.parentId);if(!u)continue;const d=o.get(a.parentId)?.expandedRect??Sl(u),m=RT(d,a.rect);o.set(a.parentId,{expandedRect:m,parent:u})}return o.size>0&&o.forEach(({expandedRect:a,parent:u},d)=>{const m=u.internals.positionAbsolute,p=Ts(u),h=u.origin??r,g=a.x0||y>0||S||_)&&(i.push({id:d,type:"position",position:{x:u.position.x-g+S,y:u.position.y-y+_}}),n.get(d)?.forEach(w=>{e.some(C=>C.id===w.id)||i.push({id:w.id,type:"position",position:{x:w.position.x+g,y:w.position.y+y}})})),(p.width0){const y=$v(g,t,n,i);m.push(...y)}return{changes:m,updatedInternals:d}}async function XY({delta:e,panZoom:t,transform:n,translateExtent:r,width:i,height:o}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const a=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[i,o]],r),u=!!a&&(a.x!==n[0]||a.y!==n[1]||a.k!==n[2]);return Promise.resolve(u)}function QC(e,t,n,r,i,o){let a=i;const u=r.get(a)||new Map;r.set(a,u.set(n,t)),a=`${i}-${e}`;const d=r.get(a)||new Map;if(r.set(a,d.set(n,t)),o){a=`${i}-${e}-${o}`;const m=r.get(a)||new Map;r.set(a,m.set(n,t))}}function VT(e,t,n){e.clear(),t.clear();for(const r of n){const{source:i,target:o,sourceHandle:a=null,targetHandle:u=null}=r,d={edgeId:r.id,source:i,target:o,sourceHandle:a,targetHandle:u},m=`${i}-${a}--${o}-${u}`,p=`${o}-${u}--${i}-${a}`;QC("source",d,p,e,i,a),QC("target",d,m,e,o,u),t.set(r.id,r)}}function UT(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:UT(n,t):!1}function JC(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function KY(e,t,n,r){const i=new Map;for(const[o,a]of e)if((a.selected||a.id===r)&&(!a.parentId||!UT(a,e))&&(a.draggable||t&&typeof a.draggable>"u")){const u=e.get(o);u&&i.set(o,{id:o,position:u.position||{x:0,y:0},distance:{x:n.x-u.internals.positionAbsolute.x,y:n.y-u.internals.positionAbsolute.y},extent:u.extent,parentId:u.parentId,origin:u.origin,expandParent:u.expandParent,internals:{positionAbsolute:u.internals.positionAbsolute||{x:0,y:0}},measured:{width:u.measured.width??0,height:u.measured.height??0}})}return i}function _x({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){const i=[];for(const[a,u]of t){const d=n.get(a)?.internals.userNode;d&&i.push({...d,position:u.position,dragging:r})}if(!e)return[i[0],i];const o=n.get(e)?.internals.userNode;return[o?{...o,position:t.get(e)?.position||o.position,dragging:r}:i[0],i]}function ZY({dragItems:e,snapGrid:t,x:n,y:r}){const i=e.values().next().value;if(!i)return null;const o={x:n-i.distance.x,y:r-i.distance.y},a=Bu(o,t);return{x:a.x-o.x,y:a.y-o.y}}function QY({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:i}){let o={x:null,y:null},a=0,u=new Map,d=!1,m={x:0,y:0},p=null,h=!1,g=null,y=!1,v=!1,k=null;function S({noDragClassName:w,handleSelector:C,domNode:N,isSelectable:O,nodeId:I,nodeClickDistance:D=0}){g=Zr(N);function T({x:$,y:W}){const{nodeLookup:B,nodeExtent:U,snapGrid:H,snapToGrid:V,nodeOrigin:Y,onNodeDrag:Q,onSelectionDrag:q,onError:G,updateNodePositions:J}=t();o={x:$,y:W};let P=!1;const X=u.size>1,ee=X&&U?y0(Pu(u)):null,te=X&&V?ZY({dragItems:u,snapGrid:H,x:$,y:W}):null;for(const[re,oe]of u){if(!B.has(re))continue;let de={x:$-oe.distance.x,y:W-oe.distance.y};V&&(de=te?{x:Math.round(de.x+te.x),y:Math.round(de.y+te.y)}:Bu(de,H));let se=null;if(X&&U&&!oe.extent&&ee){const{positionAbsolute:Ce}=oe.internals,Be=Ce.x-ee.x+U[0][0],Ge=Ce.x+oe.measured.width-ee.x2+U[1][0],Ye=Ce.y-ee.y+U[0][1],yt=Ce.y+oe.measured.height-ee.y2+U[1][1];se=[[Be,Ye],[Ge,yt]]}const{position:Ee,positionAbsolute:we}=NT({nodeId:re,nextPosition:de,nodeLookup:B,nodeExtent:se||U,nodeOrigin:Y,onError:G});P=P||oe.position.x!==Ee.x||oe.position.y!==Ee.y,oe.position=Ee,oe.internals.positionAbsolute=we}if(v=v||P,!!P&&(J(u,!0),k&&(r||Q||!I&&q))){const[re,oe]=_x({nodeId:I,dragItems:u,nodeLookup:B});r?.(k,u,re,oe),Q?.(k,re,oe),I||q?.(k,oe)}}async function L(){if(!p)return;const{transform:$,panBy:W,autoPanSpeed:B,autoPanOnNodeDrag:U}=t();if(!U){d=!1,cancelAnimationFrame(a);return}const[H,V]=TT(m,p,B);(H!==0||V!==0)&&(o.x=(o.x??0)-H/$[2],o.y=(o.y??0)-V/$[2],await W({x:H,y:V})&&T(o)),a=requestAnimationFrame(L)}function A($){const{nodeLookup:W,multiSelectionActive:B,nodesDraggable:U,transform:H,snapGrid:V,snapToGrid:Y,selectNodesOnDrag:Q,onNodeDragStart:q,onSelectionDragStart:G,unselectNodesAndEdges:J}=t();h=!0,(!Q||!O)&&!B&&I&&(W.get(I)?.selected||J()),O&&Q&&I&&e?.(I);const P=ou($.sourceEvent,{transform:H,snapGrid:V,snapToGrid:Y,containerBounds:p});if(o=P,u=KY(W,U,P,I),u.size>0&&(n||q||!I&&G)){const[X,ee]=_x({nodeId:I,dragItems:u,nodeLookup:W});n?.($.sourceEvent,u,X,ee),q?.($.sourceEvent,X,ee),I||G?.($.sourceEvent,ee)}}const M=aT().clickDistance(D).on("start",$=>{const{domNode:W,nodeDragThreshold:B,transform:U,snapGrid:H,snapToGrid:V}=t();p=W?.getBoundingClientRect()||null,y=!1,v=!1,k=$.sourceEvent,B===0&&A($),o=ou($.sourceEvent,{transform:U,snapGrid:H,snapToGrid:V,containerBounds:p}),m=Ai($.sourceEvent,p)}).on("drag",$=>{const{autoPanOnNodeDrag:W,transform:B,snapGrid:U,snapToGrid:H,nodeDragThreshold:V,nodeLookup:Y}=t(),Q=ou($.sourceEvent,{transform:B,snapGrid:U,snapToGrid:H,containerBounds:p});if(k=$.sourceEvent,($.sourceEvent.type==="touchmove"&&$.sourceEvent.touches.length>1||I&&!Y.has(I))&&(y=!0),!y){if(!d&&W&&h&&(d=!0,L()),!h){const q=Ai($.sourceEvent,p),G=q.x-m.x,J=q.y-m.y;Math.sqrt(G*G+J*J)>V&&A($)}(o.x!==Q.xSnapped||o.y!==Q.ySnapped)&&u&&h&&(m=Ai($.sourceEvent,p),T(Q))}}).on("end",$=>{if(!(!h||y)&&(d=!1,h=!1,cancelAnimationFrame(a),u.size>0)){const{nodeLookup:W,updateNodePositions:B,onNodeDragStop:U,onSelectionDragStop:H}=t();if(v&&(B(u,!1),v=!1),i||U||!I&&H){const[V,Y]=_x({nodeId:I,dragItems:u,nodeLookup:W,dragging:!1});i?.($.sourceEvent,u,V,Y),U?.($.sourceEvent,V,Y),I||H?.($.sourceEvent,Y)}}}).filter($=>{const W=$.target;return!$.button&&(!w||!JC(W,`.${w}`,N))&&(!C||JC(W,C,N))});g.call(M)}function _(){g?.on(".drag",null)}return{update:S,destroy:_}}function JY(e,t,n){const r=[],i={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const o of t.values())ju(i,Sl(o))>0&&r.push(o);return r}const eX=250;function tX(e,t,n,r){let i=[],o=1/0;const a=JY(e,n,t+eX);for(const u of a){const d=[...u.internals.handleBounds?.source??[],...u.internals.handleBounds?.target??[]];for(const m of d){if(r.nodeId===m.nodeId&&r.type===m.type&&r.id===m.id)continue;const{x:p,y:h}=ea(u,m,m.position,!0),g=Math.sqrt(Math.pow(p-e.x,2)+Math.pow(h-e.y,2));g>t||(g1){const u=r.type==="source"?"target":"source";return i.find(d=>d.type===u)??i[0]}return i[0]}function GT(e,t,n,r,i,o=!1){const a=r.get(e);if(!a)return null;const u=i==="strict"?a.internals.handleBounds?.[t]:[...a.internals.handleBounds?.source??[],...a.internals.handleBounds?.target??[]],d=(n?u?.find(m=>m.id===n):u?.[0])??null;return d&&o?{...d,...ea(a,d,d.position,!0)}:d}function qT(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function nX(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const WT=()=>!0;function rX(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:i,edgeUpdaterType:o,isTarget:a,domNode:u,nodeLookup:d,lib:m,autoPanOnConnect:p,flowId:h,panBy:g,cancelConnection:y,onConnectStart:v,onConnect:k,onConnectEnd:S,isValidConnection:_=WT,onReconnectEnd:w,updateConnection:C,getTransform:N,getFromHandle:O,autoPanSpeed:I,dragThreshold:D=1,handleDomNode:T}){const L=DT(e.target);let A=0,M;const{x:$,y:W}=Ai(e),B=qT(o,T),U=u?.getBoundingClientRect();let H=!1;if(!U||!B)return;const V=GT(i,B,r,d,t);if(!V)return;let Y=Ai(e,U),Q=!1,q=null,G=!1,J=null;function P(){if(!p||!U)return;const[Ee,we]=TT(Y,U,I);g({x:Ee,y:we}),A=requestAnimationFrame(P)}const X={...V,nodeId:i,type:B,position:V.position},ee=d.get(i);let re={inProgress:!0,isValid:null,from:ea(ee,X,at.Left,!0),fromHandle:X,fromPosition:X.position,fromNode:ee,to:Y,toHandle:null,toPosition:HC[X.position],toNode:null,pointer:Y};function oe(){H=!0,C(re),v?.(e,{nodeId:i,handleId:r,handleType:B})}D===0&&oe();function de(Ee){if(!H){const{x:yt,y:qt}=Ai(Ee),bt=yt-$,vt=qt-W;if(!(bt*bt+vt*vt>D*D))return;oe()}if(!O()||!X){se(Ee);return}const we=N();Y=Ai(Ee,U),M=tX($u(Y,we,!1,[1,1]),n,d,X),Q||(P(),Q=!0);const Ce=YT(Ee,{handle:M,connectionMode:t,fromNodeId:i,fromHandleId:r,fromType:a?"target":"source",isValidConnection:_,doc:L,lib:m,flowId:h,nodeLookup:d});J=Ce.handleDomNode,q=Ce.connection,G=nX(!!M,Ce.isValid);const Be=d.get(i),Ge=Be?ea(Be,X,at.Left,!0):re.from,Ye={...re,from:Ge,isValid:G,to:Ce.toHandle&&G?ym({x:Ce.toHandle.x,y:Ce.toHandle.y},we):Y,toHandle:Ce.toHandle,toPosition:G&&Ce.toHandle?Ce.toHandle.position:HC[X.position],toNode:Ce.toHandle?d.get(Ce.toHandle.nodeId):null,pointer:Y};C(Ye),re=Ye}function se(Ee){if(!("touches"in Ee&&Ee.touches.length>0)){if(H){(M||J)&&q&&G&&k?.(q);const{inProgress:we,...Ce}=re,Be={...Ce,toPosition:re.toHandle?re.toPosition:null};S?.(Ee,Be),o&&w?.(Ee,Be)}y(),cancelAnimationFrame(A),Q=!1,G=!1,q=null,J=null,L.removeEventListener("mousemove",de),L.removeEventListener("mouseup",se),L.removeEventListener("touchmove",de),L.removeEventListener("touchend",se)}}L.addEventListener("mousemove",de),L.addEventListener("mouseup",se),L.addEventListener("touchmove",de),L.addEventListener("touchend",se)}function YT(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:i,fromType:o,doc:a,lib:u,flowId:d,isValidConnection:m=WT,nodeLookup:p}){const h=o==="target",g=t?a.querySelector(`.${u}-flow__handle[data-id="${d}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:y,y:v}=Ai(e),k=a.elementFromPoint(y,v),S=k?.classList.contains(`${u}-flow__handle`)?k:g,_={handleDomNode:S,isValid:!1,connection:null,toHandle:null};if(S){const w=qT(void 0,S),C=S.getAttribute("data-nodeid"),N=S.getAttribute("data-handleid"),O=S.classList.contains("connectable"),I=S.classList.contains("connectableend");if(!C||!w)return _;const D={source:h?C:r,sourceHandle:h?N:i,target:h?r:C,targetHandle:h?i:N};_.connection=D;const L=O&&I&&(n===_l.Strict?h&&w==="source"||!h&&w==="target":C!==r||N!==i);_.isValid=L&&m(D),_.toHandle=GT(C,w,N,p,n,!0)}return _}const k0={onPointerDown:rX,isValid:YT};function iX({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){const i=Zr(e);function o({translateExtent:u,width:d,height:m,zoomStep:p=1,pannable:h=!0,zoomable:g=!0,inversePan:y=!1}){const v=C=>{if(C.sourceEvent.type!=="wheel"||!t)return;const N=n(),O=C.sourceEvent.ctrlKey&&Eu()?10:1,I=-C.sourceEvent.deltaY*(C.sourceEvent.deltaMode===1?.05:C.sourceEvent.deltaMode?1:.002)*p,D=N[2]*Math.pow(2,I*O);t.scaleTo(D)};let k=[0,0];const S=C=>{(C.sourceEvent.type==="mousedown"||C.sourceEvent.type==="touchstart")&&(k=[C.sourceEvent.clientX??C.sourceEvent.touches[0].clientX,C.sourceEvent.clientY??C.sourceEvent.touches[0].clientY])},_=C=>{const N=n();if(C.sourceEvent.type!=="mousemove"&&C.sourceEvent.type!=="touchmove"||!t)return;const O=[C.sourceEvent.clientX??C.sourceEvent.touches[0].clientX,C.sourceEvent.clientY??C.sourceEvent.touches[0].clientY],I=[O[0]-k[0],O[1]-k[1]];k=O;const D=r()*Math.max(N[2],Math.log(N[2]))*(y?-1:1),T={x:N[0]-I[0]*D,y:N[1]-I[1]*D},L=[[0,0],[d,m]];t.setViewportConstrained({x:T.x,y:T.y,zoom:N[2]},L,u)},w=kT().on("start",S).on("zoom",h?_:null).on("zoom.wheel",g?v:null);i.call(w,{})}function a(){i.on("zoom",null)}return{update:o,destroy:a,pointer:Ni}}const Qm=e=>({x:e.x,y:e.y,zoom:e.k}),kx=({x:e,y:t,zoom:n})=>Xm.translate(e,t).scale(n),tl=(e,t)=>e.target.closest(`.${t}`),XT=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),sX=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,Sx=(e,t=0,n=sX,r=()=>{})=>{const i=typeof t=="number"&&t>0;return i||r(),i?e.transition().duration(t).ease(n).on("end",r):e},KT=e=>{const t=e.ctrlKey&&Eu()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function oX({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:i,panOnScrollSpeed:o,zoomOnPinch:a,onPanZoomStart:u,onPanZoom:d,onPanZoomEnd:m}){return p=>{if(tl(p,t))return p.ctrlKey&&p.preventDefault(),!1;p.preventDefault(),p.stopImmediatePropagation();const h=n.property("__zoom").k||1;if(p.ctrlKey&&a){const S=Ni(p),_=KT(p),w=h*Math.pow(2,_);r.scaleTo(n,w,S,p);return}const g=p.deltaMode===1?20:1;let y=i===Go.Vertical?0:p.deltaX*g,v=i===Go.Horizontal?0:p.deltaY*g;!Eu()&&p.shiftKey&&i!==Go.Vertical&&(y=p.deltaY*g,v=0),r.translateBy(n,-(y/h)*o,-(v/h)*o,{internal:!0});const k=Qm(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d?.(p,k),e.panScrollTimeout=setTimeout(()=>{m?.(p,k),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,u?.(p,k))}}function aX({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,i){const o=r.type==="wheel",a=!t&&o&&!r.ctrlKey,u=tl(r,e);if(r.ctrlKey&&o&&u&&r.preventDefault(),a||u)return null;r.preventDefault(),n.call(this,r,i)}}function lX({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;const i=Qm(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=i,r.sourceEvent?.type==="mousedown"&&t(!0),n&&n?.(r.sourceEvent,i)}}function cX({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:i}){return o=>{e.usedRightMouseButton=!!(n&&XT(t,e.mouseButton??0)),o.sourceEvent?.sync||r([o.transform.x,o.transform.y,o.transform.k]),i&&!o.sourceEvent?.internal&&i?.(o.sourceEvent,Qm(o.transform))}}function uX({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:i,onPaneContextMenu:o}){return a=>{if(!a.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,o&&XT(t,e.mouseButton??0)&&!e.usedRightMouseButton&&a.sourceEvent&&o(a.sourceEvent),e.usedRightMouseButton=!1,r(!1),i)){const u=Qm(a.transform);e.prevViewport=u,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{i?.(a.sourceEvent,u)},n?150:0)}}}function dX({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:r,panOnScroll:i,zoomOnDoubleClick:o,userSelectionActive:a,noWheelClassName:u,noPanClassName:d,lib:m,connectionInProgress:p}){return h=>{const g=e||t,y=n&&h.ctrlKey,v=h.type==="wheel";if(h.button===1&&h.type==="mousedown"&&(tl(h,`${m}-flow__node`)||tl(h,`${m}-flow__edge`)))return!0;if(!r&&!g&&!i&&!o&&!n||a||p&&!v||tl(h,u)&&v||tl(h,d)&&(!v||i&&v&&!e)||!n&&h.ctrlKey&&v)return!1;if(!n&&h.type==="touchstart"&&h.touches?.length>1)return h.preventDefault(),!1;if(!g&&!i&&!y&&v||!r&&(h.type==="mousedown"||h.type==="touchstart")||Array.isArray(r)&&!r.includes(h.button)&&h.type==="mousedown")return!1;const k=Array.isArray(r)&&r.includes(h.button)||!h.button||h.button<=1;return(!h.ctrlKey||v)&&k}}function fX({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:i,onPanZoom:o,onPanZoomStart:a,onPanZoomEnd:u,onDraggingChange:d}){const m={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},p=e.getBoundingClientRect(),h=kT().scaleExtent([t,n]).translateExtent(r),g=Zr(e).call(h);w({x:i.x,y:i.y,zoom:kl(i.zoom,t,n)},[[0,0],[p.width,p.height]],r);const y=g.on("wheel.zoom"),v=g.on("dblclick.zoom");h.wheelDelta(KT);function k(M,$){return g?new Promise(W=>{h?.interpolate($?.interpolate==="linear"?su:Af).transform(Sx(g,$?.duration,$?.ease,()=>W(!0)),M)}):Promise.resolve(!1)}function S({noWheelClassName:M,noPanClassName:$,onPaneContextMenu:W,userSelectionActive:B,panOnScroll:U,panOnDrag:H,panOnScrollMode:V,panOnScrollSpeed:Y,preventScrolling:Q,zoomOnPinch:q,zoomOnScroll:G,zoomOnDoubleClick:J,zoomActivationKeyPressed:P,lib:X,onTransformChange:ee,connectionInProgress:te,paneClickDistance:re,selectionOnDrag:oe}){B&&!m.isZoomingOrPanning&&_();const de=U&&!P&&!B;h.clickDistance(oe?1/0:!Ri(re)||re<0?0:re);const se=de?oX({zoomPanValues:m,noWheelClassName:M,d3Selection:g,d3Zoom:h,panOnScrollMode:V,panOnScrollSpeed:Y,zoomOnPinch:q,onPanZoomStart:a,onPanZoom:o,onPanZoomEnd:u}):aX({noWheelClassName:M,preventScrolling:Q,d3ZoomHandler:y});if(g.on("wheel.zoom",se,{passive:!1}),!B){const we=lX({zoomPanValues:m,onDraggingChange:d,onPanZoomStart:a});h.on("start",we);const Ce=cX({zoomPanValues:m,panOnDrag:H,onPaneContextMenu:!!W,onPanZoom:o,onTransformChange:ee});h.on("zoom",Ce);const Be=uX({zoomPanValues:m,panOnDrag:H,panOnScroll:U,onPaneContextMenu:W,onPanZoomEnd:u,onDraggingChange:d});h.on("end",Be)}const Ee=dX({zoomActivationKeyPressed:P,panOnDrag:H,zoomOnScroll:G,panOnScroll:U,zoomOnDoubleClick:J,zoomOnPinch:q,userSelectionActive:B,noPanClassName:$,noWheelClassName:M,lib:X,connectionInProgress:te});h.filter(Ee),J?g.on("dblclick.zoom",v):g.on("dblclick.zoom",null)}function _(){h.on("zoom",null)}async function w(M,$,W){const B=kx(M),U=h?.constrain()(B,$,W);return U&&await k(U),new Promise(H=>H(U))}async function C(M,$){const W=kx(M);return await k(W,$),new Promise(B=>B(W))}function N(M){if(g){const $=kx(M),W=g.property("__zoom");(W.k!==M.zoom||W.x!==M.x||W.y!==M.y)&&h?.transform(g,$,null,{sync:!0})}}function O(){const M=g?_T(g.node()):{x:0,y:0,k:1};return{x:M.x,y:M.y,zoom:M.k}}function I(M,$){return g?new Promise(W=>{h?.interpolate($?.interpolate==="linear"?su:Af).scaleTo(Sx(g,$?.duration,$?.ease,()=>W(!0)),M)}):Promise.resolve(!1)}function D(M,$){return g?new Promise(W=>{h?.interpolate($?.interpolate==="linear"?su:Af).scaleBy(Sx(g,$?.duration,$?.ease,()=>W(!0)),M)}):Promise.resolve(!1)}function T(M){h?.scaleExtent(M)}function L(M){h?.translateExtent(M)}function A(M){const $=!Ri(M)||M<0?0:M;h?.clickDistance($)}return{update:S,destroy:_,setViewport:C,setViewportConstrained:w,getViewport:O,scaleTo:I,scaleBy:D,setScaleExtent:T,setTranslateExtent:L,syncViewport:N,setClickDistance:A}}var Cl;(function(e){e.Line="line",e.Handle="handle"})(Cl||(Cl={}));function mX({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:i,affectsY:o}){const a=e-t,u=n-r,d=[a>0?1:a<0?-1:0,u>0?1:u<0?-1:0];return a&&i&&(d[0]=d[0]*-1),u&&o&&(d[1]=d[1]*-1),d}function e2(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),r=e.includes("left"),i=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:r,affectsY:i}}function so(e,t){return Math.max(0,t-e)}function oo(e,t){return Math.max(0,e-t)}function vf(e,t,n){return Math.max(0,t-e,e-n)}function t2(e,t){return e?!t:t}function hX(e,t,n,r,i,o,a,u){let{affectsX:d,affectsY:m}=t;const{isHorizontal:p,isVertical:h}=t,g=p&&h,{xSnapped:y,ySnapped:v}=n,{minWidth:k,maxWidth:S,minHeight:_,maxHeight:w}=r,{x:C,y:N,width:O,height:I,aspectRatio:D}=e;let T=Math.floor(p?y-e.pointerX:0),L=Math.floor(h?v-e.pointerY:0);const A=O+(d?-T:T),M=I+(m?-L:L),$=-o[0]*O,W=-o[1]*I;let B=vf(A,k,S),U=vf(M,_,w);if(a){let Y=0,Q=0;d&&T<0?Y=so(C+T+$,a[0][0]):!d&&T>0&&(Y=oo(C+A+$,a[1][0])),m&&L<0?Q=so(N+L+W,a[0][1]):!m&&L>0&&(Q=oo(N+M+W,a[1][1])),B=Math.max(B,Y),U=Math.max(U,Q)}if(u){let Y=0,Q=0;d&&T>0?Y=oo(C+T,u[0][0]):!d&&T<0&&(Y=so(C+A,u[1][0])),m&&L>0?Q=oo(N+L,u[0][1]):!m&&L<0&&(Q=so(N+M,u[1][1])),B=Math.max(B,Y),U=Math.max(U,Q)}if(i){if(p){const Y=vf(A/D,_,w)*D;if(B=Math.max(B,Y),a){let Q=0;!d&&!m||d&&!m&&g?Q=oo(N+W+A/D,a[1][1])*D:Q=so(N+W+(d?T:-T)/D,a[0][1])*D,B=Math.max(B,Q)}if(u){let Q=0;!d&&!m||d&&!m&&g?Q=so(N+A/D,u[1][1])*D:Q=oo(N+(d?T:-T)/D,u[0][1])*D,B=Math.max(B,Q)}}if(h){const Y=vf(M*D,k,S)/D;if(U=Math.max(U,Y),a){let Q=0;!d&&!m||m&&!d&&g?Q=oo(C+M*D+$,a[1][0])/D:Q=so(C+(m?L:-L)*D+$,a[0][0])/D,U=Math.max(U,Q)}if(u){let Q=0;!d&&!m||m&&!d&&g?Q=so(C+M*D,u[1][0])/D:Q=oo(C+(m?L:-L)*D,u[0][0])/D,U=Math.max(U,Q)}}}L=L+(L<0?U:-U),T=T+(T<0?B:-B),i&&(g?A>M*D?L=(t2(d,m)?-T:T)/D:T=(t2(d,m)?-L:L)*D:p?(L=T/D,m=d):(T=L*D,d=m));const H=d?C+T:C,V=m?N+L:N;return{width:O+(d?-T:T),height:I+(m?-L:L),x:o[0]*T*(d?-1:1)+H,y:o[1]*L*(m?-1:1)+V}}const ZT={width:0,height:0,x:0,y:0},pX={...ZT,pointerX:0,pointerY:0,aspectRatio:1};function gX(e){return[[0,0],[e.measured.width,e.measured.height]]}function xX(e,t,n){const r=t.position.x+e.position.x,i=t.position.y+e.position.y,o=e.measured.width??0,a=e.measured.height??0,u=n[0]*o,d=n[1]*a;return[[r-u,i-d],[r+o-u,i+a-d]]}function yX({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:i}){const o=Zr(e);let a={controlDirection:e2("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function u({controlPosition:m,boundaries:p,keepAspectRatio:h,resizeDirection:g,onResizeStart:y,onResize:v,onResizeEnd:k,shouldResize:S}){let _={...ZT},w={...pX};a={boundaries:p,resizeDirection:g,keepAspectRatio:h,controlDirection:e2(m)};let C,N=null,O=[],I,D,T,L=!1;const A=aT().on("start",M=>{const{nodeLookup:$,transform:W,snapGrid:B,snapToGrid:U,nodeOrigin:H,paneDomNode:V}=n();if(C=$.get(t),!C)return;N=V?.getBoundingClientRect()??null;const{xSnapped:Y,ySnapped:Q}=ou(M.sourceEvent,{transform:W,snapGrid:B,snapToGrid:U,containerBounds:N});_={width:C.measured.width??0,height:C.measured.height??0,x:C.position.x??0,y:C.position.y??0},w={..._,pointerX:Y,pointerY:Q,aspectRatio:_.width/_.height},I=void 0,C.parentId&&(C.extent==="parent"||C.expandParent)&&(I=$.get(C.parentId),D=I&&C.extent==="parent"?gX(I):void 0),O=[],T=void 0;for(const[q,G]of $)if(G.parentId===t&&(O.push({id:q,position:{...G.position},extent:G.extent}),G.extent==="parent"||G.expandParent)){const J=xX(G,C,G.origin??H);T?T=[[Math.min(J[0][0],T[0][0]),Math.min(J[0][1],T[0][1])],[Math.max(J[1][0],T[1][0]),Math.max(J[1][1],T[1][1])]]:T=J}y?.(M,{..._})}).on("drag",M=>{const{transform:$,snapGrid:W,snapToGrid:B,nodeOrigin:U}=n(),H=ou(M.sourceEvent,{transform:$,snapGrid:W,snapToGrid:B,containerBounds:N}),V=[];if(!C)return;const{x:Y,y:Q,width:q,height:G}=_,J={},P=C.origin??U,{width:X,height:ee,x:te,y:re}=hX(w,a.controlDirection,H,a.boundaries,a.keepAspectRatio,P,D,T),oe=X!==q,de=ee!==G,se=te!==Y&&oe,Ee=re!==Q&&de;if(!se&&!Ee&&!oe&&!de)return;if((se||Ee||P[0]===1||P[1]===1)&&(J.x=se?te:_.x,J.y=Ee?re:_.y,_.x=J.x,_.y=J.y,O.length>0)){const Ge=te-Y,Ye=re-Q;for(const yt of O)yt.position={x:yt.position.x-Ge+P[0]*(X-q),y:yt.position.y-Ye+P[1]*(ee-G)},V.push(yt)}if((oe||de)&&(J.width=oe&&(!a.resizeDirection||a.resizeDirection==="horizontal")?X:_.width,J.height=de&&(!a.resizeDirection||a.resizeDirection==="vertical")?ee:_.height,_.width=J.width,_.height=J.height),I&&C.expandParent){const Ge=P[0]*(J.width??0);J.x&&J.x{L&&(k?.(M,{..._}),i?.({..._}),L=!1)});o.call(A)}function d(){o.on(".drag",null)}return{update:u,destroy:d}}var wx={exports:{}},Cx={},jx={exports:{}},Ex={};var n2;function vX(){if(n2)return Ex;n2=1;var e=El();function t(h,g){return h===g&&(h!==0||1/h===1/g)||h!==h&&g!==g}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,i=e.useEffect,o=e.useLayoutEffect,a=e.useDebugValue;function u(h,g){var y=g(),v=r({inst:{value:y,getSnapshot:g}}),k=v[0].inst,S=v[1];return o(function(){k.value=y,k.getSnapshot=g,d(k)&&S({inst:k})},[h,y,g]),i(function(){return d(k)&&S({inst:k}),h(function(){d(k)&&S({inst:k})})},[h]),a(y),y}function d(h){var g=h.getSnapshot;h=h.value;try{var y=g();return!n(h,y)}catch{return!0}}function m(h,g){return g()}var p=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?m:u;return Ex.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:p,Ex}var r2;function bX(){return r2||(r2=1,jx.exports=vX()),jx.exports}var i2;function _X(){if(i2)return Cx;i2=1;var e=El(),t=bX();function n(m,p){return m===p&&(m!==0||1/m===1/p)||m!==m&&p!==p}var r=typeof Object.is=="function"?Object.is:n,i=t.useSyncExternalStore,o=e.useRef,a=e.useEffect,u=e.useMemo,d=e.useDebugValue;return Cx.useSyncExternalStoreWithSelector=function(m,p,h,g,y){var v=o(null);if(v.current===null){var k={hasValue:!1,value:null};v.current=k}else k=v.current;v=u(function(){function _(I){if(!w){if(w=!0,C=I,I=g(I),y!==void 0&&k.hasValue){var D=k.value;if(y(D,I))return N=D}return N=I}if(D=N,r(C,I))return D;var T=g(I);return y!==void 0&&y(D,T)?(C=I,D):(C=I,N=T)}var w=!1,C,N,O=h===void 0?null:h;return[function(){return _(p())},O===null?void 0:function(){return _(O())}]},[p,h,g,y]);var S=i(m,v[0],v[1]);return a(function(){k.hasValue=!0,k.value=S},[S]),d(S),S},Cx}var s2;function kX(){return s2||(s2=1,wx.exports=_X()),wx.exports}var SX=kX();const wX=ta(SX),CX={},o2=e=>{let t;const n=new Set,r=(p,h)=>{const g=typeof p=="function"?p(t):p;if(!Object.is(g,t)){const y=t;t=h??(typeof g!="object"||g===null)?g:Object.assign({},t,g),n.forEach(v=>v(t,y))}},i=()=>t,d={setState:r,getState:i,getInitialState:()=>m,subscribe:p=>(n.add(p),()=>n.delete(p)),destroy:()=>{(CX?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},m=t=e(r,i,d);return d},jX=e=>e?o2(e):o2,{useDebugValue:EX}=St,{useSyncExternalStoreWithSelector:NX}=wX,IX=e=>e;function QT(e,t=IX,n){const r=NX(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return EX(r),r}const a2=(e,t)=>{const n=jX(e),r=(i,o=t)=>QT(n,i,o);return Object.assign(r,n),r},TX=(e,t)=>e?a2(e,t):a2;function Nn(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,i]of e)if(!Object.is(i,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}const Jm=j.createContext(null),RX=Jm.Provider,JT=Ji.error001();function Gt(e,t){const n=j.useContext(Jm);if(n===null)throw new Error(JT);return QT(n,e,t)}function In(){const e=j.useContext(Jm);if(e===null)throw new Error(JT);return j.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const l2={display:"none"},AX={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},eR="react-flow__node-desc",tR="react-flow__edge-desc",MX="react-flow__aria-live",DX=e=>e.ariaLiveMessage,OX=e=>e.ariaLabelConfig;function LX({rfId:e}){const t=Gt(DX);return c.jsx("div",{id:`${MX}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:AX,children:t})}function zX({rfId:e,disableKeyboardA11y:t}){const n=Gt(OX);return c.jsxs(c.Fragment,{children:[c.jsx("div",{id:`${eR}-${e}`,style:l2,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),c.jsx("div",{id:`${tR}-${e}`,style:l2,children:n["edge.a11yDescription.default"]}),!t&&c.jsx(LX,{rfId:e})]})}const eh=j.forwardRef(({position:e="top-left",children:t,className:n,style:r,...i},o)=>{const a=`${e}`.split("-");return c.jsx("div",{className:Kn(["react-flow__panel",n,...a]),style:r,ref:o,...i,children:t})});eh.displayName="Panel";function PX({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:c.jsx(eh,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:c.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const BX=e=>{const t=[],n=[];for(const[,r]of e.nodeLookup)r.selected&&t.push(r.internals.userNode);for(const[,r]of e.edgeLookup)r.selected&&n.push(r);return{selectedNodes:t,selectedEdges:n}},bf=e=>e.id;function $X(e,t){return Nn(e.selectedNodes.map(bf),t.selectedNodes.map(bf))&&Nn(e.selectedEdges.map(bf),t.selectedEdges.map(bf))}function HX({onSelectionChange:e}){const t=In(),{selectedNodes:n,selectedEdges:r}=Gt(BX,$X);return j.useEffect(()=>{const i={nodes:n,edges:r};e?.(i),t.getState().onSelectionChangeHandlers.forEach(o=>o(i))},[n,r,e]),null}const FX=e=>!!e.onSelectionChangeHandlers;function VX({onSelectionChange:e}){const t=Gt(FX);return e||t?c.jsx(HX,{onSelectionChange:e}):null}const S0=typeof window<"u"?j.useLayoutEffect:j.useEffect,nR=[0,0],UX={x:0,y:0,zoom:1},GX=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],c2=[...GX,"rfId"],qX=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),u2={translateExtent:wu,nodeOrigin:nR,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function WX(e){const{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:i,setTranslateExtent:o,setNodeExtent:a,reset:u,setDefaultNodesAndEdges:d}=Gt(qX,Nn),m=In();S0(()=>(d(e.defaultNodes,e.defaultEdges),()=>{p.current=u2,u()}),[]);const p=j.useRef(u2);return S0(()=>{for(const h of c2){const g=e[h],y=p.current[h];g!==y&&(typeof e[h]>"u"||(h==="nodes"?t(g):h==="edges"?n(g):h==="minZoom"?r(g):h==="maxZoom"?i(g):h==="translateExtent"?o(g):h==="nodeExtent"?a(g):h==="ariaLabelConfig"?m.setState({ariaLabelConfig:TY(g)}):h==="fitView"?m.setState({fitViewQueued:g}):h==="fitViewOptions"?m.setState({fitViewOptions:g}):m.setState({[h]:g})))}p.current=e},c2.map(h=>e[h])),null}function d2(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function YX(e){const[t,n]=j.useState(e==="system"?null:e);return j.useEffect(()=>{if(e!=="system"){n(e);return}const r=d2(),i=()=>n(r?.matches?"dark":"light");return i(),r?.addEventListener("change",i),()=>{r?.removeEventListener("change",i)}},[e]),t!==null?t:d2()?.matches?"dark":"light"}const f2=typeof document<"u"?document:null;function Nu(e=null,t={target:f2,actInsideInputWithModifier:!0}){const[n,r]=j.useState(!1),i=j.useRef(!1),o=j.useRef(new Set([])),[a,u]=j.useMemo(()=>{if(e!==null){const m=(Array.isArray(e)?e:[e]).filter(h=>typeof h=="string").map(h=>h.replace("+",` +`).replace(` + +`,` ++`).split(` +`)),p=m.reduce((h,g)=>h.concat(...g),[]);return[m,p]}return[[],[]]},[e]);return j.useEffect(()=>{const d=t?.target??f2,m=t?.actInsideInputWithModifier??!0;if(e!==null){const p=y=>{if(i.current=y.ctrlKey||y.metaKey||y.shiftKey||y.altKey,(!i.current||i.current&&!m)&&OT(y))return!1;const k=h2(y.code,u);if(o.current.add(y[k]),m2(a,o.current,!1)){const S=y.composedPath?.()?.[0]||y.target,_=S?.nodeName==="BUTTON"||S?.nodeName==="A";t.preventDefault!==!1&&(i.current||!_)&&y.preventDefault(),r(!0)}},h=y=>{const v=h2(y.code,u);m2(a,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(y[v]),y.key==="Meta"&&o.current.clear(),i.current=!1},g=()=>{o.current.clear(),r(!1)};return d?.addEventListener("keydown",p),d?.addEventListener("keyup",h),window.addEventListener("blur",g),window.addEventListener("contextmenu",g),()=>{d?.removeEventListener("keydown",p),d?.removeEventListener("keyup",h),window.removeEventListener("blur",g),window.removeEventListener("contextmenu",g)}}},[e,r]),n}function m2(e,t,n){return e.filter(r=>n||r.length===t.size).some(r=>r.every(i=>t.has(i)))}function h2(e,t){return t.includes(e)?"code":"key"}const XX=()=>{const e=In();return j.useMemo(()=>({zoomIn:t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1.2,t):Promise.resolve(!1)},zoomOut:t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,t):Promise.resolve(!1)},zoomTo:(t,n)=>{const{panZoom:r}=e.getState();return r?r.scaleTo(t,n):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{const{transform:[r,i,o],panZoom:a}=e.getState();return a?(await a.setViewport({x:t.x??r,y:t.y??i,zoom:t.zoom??o},n),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[t,n,r]=e.getState().transform;return{x:t,y:n,zoom:r}},setCenter:async(t,n,r)=>e.getState().setCenter(t,n,r),fitBounds:async(t,n)=>{const{width:r,height:i,minZoom:o,maxZoom:a,panZoom:u}=e.getState(),d=Dv(t,r,i,o,a,n?.padding??.1);return u?(await u.setViewport(d,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(t,n={})=>{const{transform:r,snapGrid:i,snapToGrid:o,domNode:a}=e.getState();if(!a)return t;const{x:u,y:d}=a.getBoundingClientRect(),m={x:t.x-u,y:t.y-d},p=n.snapGrid??i,h=n.snapToGrid??o;return $u(m,r,h,p)},flowToScreenPosition:t=>{const{transform:n,domNode:r}=e.getState();if(!r)return t;const{x:i,y:o}=r.getBoundingClientRect(),a=ym(t,n);return{x:a.x+i,y:a.y+o}}}),[])};function rR(e,t){const n=[],r=new Map,i=[];for(const o of e)if(o.type==="add"){i.push(o);continue}else if(o.type==="remove"||o.type==="replace")r.set(o.id,[o]);else{const a=r.get(o.id);a?a.push(o):r.set(o.id,[o])}for(const o of t){const a=r.get(o.id);if(!a){n.push(o);continue}if(a[0].type==="remove")continue;if(a[0].type==="replace"){n.push({...a[0].item});continue}const u={...o};for(const d of a)KX(d,u);n.push(u)}return i.length&&i.forEach(o=>{o.index!==void 0?n.splice(o.index,0,{...o.item}):n.push({...o.item})}),n}function KX(e,t){switch(e.type){case"select":{t.selected=e.selected;break}case"position":{typeof e.position<"u"&&(t.position=e.position),typeof e.dragging<"u"&&(t.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(t.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(t.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(t.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(t.resizing=e.resizing);break}}}function iR(e,t){return rR(e,t)}function ZX(e,t){return rR(e,t)}function Fo(e,t){return{id:e,type:"select",selected:t}}function nl(e,t=new Set,n=!1){const r=[];for(const[i,o]of e){const a=t.has(i);!(o.selected===void 0&&!a)&&o.selected!==a&&(n&&(o.selected=a),r.push(Fo(o.id,a)))}return r}function p2({items:e=[],lookup:t}){const n=[],r=new Map(e.map(i=>[i.id,i]));for(const[i,o]of e.entries()){const a=t.get(o.id),u=a?.internals?.userNode??a;u!==void 0&&u!==o&&n.push({id:o.id,item:o,type:"replace"}),u===void 0&&n.push({item:o,type:"add",index:i})}for(const[i]of t)r.get(i)===void 0&&n.push({id:i,type:"remove"});return n}function g2(e){return{id:e.id,type:"remove"}}const x2=e=>bY(e),QX=e=>ET(e);function sR(e){return j.forwardRef(e)}function y2(e){const[t,n]=j.useState(BigInt(0)),[r]=j.useState(()=>JX(()=>n(i=>i+BigInt(1))));return S0(()=>{const i=r.get();i.length&&(e(i),r.reset())},[t]),r}function JX(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}const oR=j.createContext(null);function eK({children:e}){const t=In(),n=j.useCallback(u=>{const{nodes:d=[],setNodes:m,hasDefaultNodes:p,onNodesChange:h,nodeLookup:g,fitViewQueued:y,onNodesChangeMiddlewareMap:v}=t.getState();let k=d;for(const _ of u)k=typeof _=="function"?_(k):_;let S=p2({items:k,lookup:g});for(const _ of v.values())S=_(S);p&&m(k),S.length>0?h?.(S):y&&window.requestAnimationFrame(()=>{const{fitViewQueued:_,nodes:w,setNodes:C}=t.getState();_&&C(w)})},[]),r=y2(n),i=j.useCallback(u=>{const{edges:d=[],setEdges:m,hasDefaultEdges:p,onEdgesChange:h,edgeLookup:g}=t.getState();let y=d;for(const v of u)y=typeof v=="function"?v(y):v;p?m(y):h&&h(p2({items:y,lookup:g}))},[]),o=y2(i),a=j.useMemo(()=>({nodeQueue:r,edgeQueue:o}),[]);return c.jsx(oR.Provider,{value:a,children:e})}function tK(){const e=j.useContext(oR);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const nK=e=>!!e.panZoom;function Hv(){const e=XX(),t=In(),n=tK(),r=Gt(nK),i=j.useMemo(()=>{const o=h=>t.getState().nodeLookup.get(h),a=h=>{n.nodeQueue.push(h)},u=h=>{n.edgeQueue.push(h)},d=h=>{const{nodeLookup:g,nodeOrigin:y}=t.getState(),v=x2(h)?h:g.get(h.id),k=v.parentId?MT(v.position,v.measured,v.parentId,g,y):v.position,S={...v,position:k,width:v.measured?.width??v.width,height:v.measured?.height??v.height};return Sl(S)},m=(h,g,y={replace:!1})=>{a(v=>v.map(k=>{if(k.id===h){const S=typeof g=="function"?g(k):g;return y.replace&&x2(S)?S:{...k,...S}}return k}))},p=(h,g,y={replace:!1})=>{u(v=>v.map(k=>{if(k.id===h){const S=typeof g=="function"?g(k):g;return y.replace&&QX(S)?S:{...k,...S}}return k}))};return{getNodes:()=>t.getState().nodes.map(h=>({...h})),getNode:h=>o(h)?.internals.userNode,getInternalNode:o,getEdges:()=>{const{edges:h=[]}=t.getState();return h.map(g=>({...g}))},getEdge:h=>t.getState().edgeLookup.get(h),setNodes:a,setEdges:u,addNodes:h=>{const g=Array.isArray(h)?h:[h];n.nodeQueue.push(y=>[...y,...g])},addEdges:h=>{const g=Array.isArray(h)?h:[h];n.edgeQueue.push(y=>[...y,...g])},toObject:()=>{const{nodes:h=[],edges:g=[],transform:y}=t.getState(),[v,k,S]=y;return{nodes:h.map(_=>({..._})),edges:g.map(_=>({..._})),viewport:{x:v,y:k,zoom:S}}},deleteElements:async({nodes:h=[],edges:g=[]})=>{const{nodes:y,edges:v,onNodesDelete:k,onEdgesDelete:S,triggerNodeChanges:_,triggerEdgeChanges:w,onDelete:C,onBeforeDelete:N}=t.getState(),{nodes:O,edges:I}=await CY({nodesToRemove:h,edgesToRemove:g,nodes:y,edges:v,onBeforeDelete:N}),D=I.length>0,T=O.length>0;if(D){const L=I.map(g2);S?.(I),w(L)}if(T){const L=O.map(g2);k?.(O),_(L)}return(T||D)&&C?.({nodes:O,edges:I}),{deletedNodes:O,deletedEdges:I}},getIntersectingNodes:(h,g=!0,y)=>{const v=VC(h),k=v?h:d(h),S=y!==void 0;return k?(y||t.getState().nodes).filter(_=>{const w=t.getState().nodeLookup.get(_.id);if(w&&!v&&(_.id===h.id||!w.internals.positionAbsolute))return!1;const C=Sl(S?_:w),N=ju(C,k);return g&&N>0||N>=C.width*C.height||N>=k.width*k.height}):[]},isNodeIntersecting:(h,g,y=!0)=>{const k=VC(h)?h:d(h);if(!k)return!1;const S=ju(k,g);return y&&S>0||S>=g.width*g.height||S>=k.width*k.height},updateNode:m,updateNodeData:(h,g,y={replace:!1})=>{m(h,v=>{const k=typeof g=="function"?g(v):g;return y.replace?{...v,data:k}:{...v,data:{...v.data,...k}}},y)},updateEdge:p,updateEdgeData:(h,g,y={replace:!1})=>{p(h,v=>{const k=typeof g=="function"?g(v):g;return y.replace?{...v,data:k}:{...v,data:{...v.data,...k}}},y)},getNodesBounds:h=>{const{nodeLookup:g,nodeOrigin:y}=t.getState();return _Y(h,{nodeLookup:g,nodeOrigin:y})},getHandleConnections:({type:h,id:g,nodeId:y})=>Array.from(t.getState().connectionLookup.get(`${y}-${h}${g?`-${g}`:""}`)?.values()??[]),getNodeConnections:({type:h,handleId:g,nodeId:y})=>Array.from(t.getState().connectionLookup.get(`${y}${h?g?`-${h}-${g}`:`-${h}`:""}`)?.values()??[]),fitView:async h=>{const g=t.getState().fitViewResolver??IY();return t.setState({fitViewQueued:!0,fitViewOptions:h,fitViewResolver:g}),n.nodeQueue.push(y=>[...y]),g.promise}}},[]);return j.useMemo(()=>({...i,...e,viewportInitialized:r}),[r])}const v2=e=>e.selected,rK=typeof window<"u"?window:void 0;function iK({deleteKeyCode:e,multiSelectionKeyCode:t}){const n=In(),{deleteElements:r}=Hv(),i=Nu(e,{actInsideInputWithModifier:!1}),o=Nu(t,{target:rK});j.useEffect(()=>{if(i){const{edges:a,nodes:u}=n.getState();r({nodes:u.filter(v2),edges:a.filter(v2)}),n.setState({nodesSelectionActive:!1})}},[i]),j.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])}function sK(e){const t=In();j.useEffect(()=>{const n=()=>{if(!e.current||!(e.current.checkVisibility?.()??!0))return!1;const r=Ov(e.current);(r.height===0||r.width===0)&&t.getState().onError?.("004",Ji.error004()),t.setState({width:r.width||500,height:r.height||500})};if(e.current){n(),window.addEventListener("resize",n);const r=new ResizeObserver(()=>n());return r.observe(e.current),()=>{window.removeEventListener("resize",n),r&&e.current&&r.unobserve(e.current)}}},[])}const th={position:"absolute",width:"100%",height:"100%",top:0,left:0},oK=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function aK({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:r=!1,panOnScrollSpeed:i=.5,panOnScrollMode:o=Go.Free,zoomOnDoubleClick:a=!0,panOnDrag:u=!0,defaultViewport:d,translateExtent:m,minZoom:p,maxZoom:h,zoomActivationKeyCode:g,preventScrolling:y=!0,children:v,noWheelClassName:k,noPanClassName:S,onViewportChange:_,isControlledViewport:w,paneClickDistance:C,selectionOnDrag:N}){const O=In(),I=j.useRef(null),{userSelectionActive:D,lib:T,connectionInProgress:L}=Gt(oK,Nn),A=Nu(g),M=j.useRef();sK(I);const $=j.useCallback(W=>{_?.({x:W[0],y:W[1],zoom:W[2]}),w||O.setState({transform:W})},[_,w]);return j.useEffect(()=>{if(I.current){M.current=fX({domNode:I.current,minZoom:p,maxZoom:h,translateExtent:m,viewport:d,onDraggingChange:H=>O.setState(V=>V.paneDragging===H?V:{paneDragging:H}),onPanZoomStart:(H,V)=>{const{onViewportChangeStart:Y,onMoveStart:Q}=O.getState();Q?.(H,V),Y?.(V)},onPanZoom:(H,V)=>{const{onViewportChange:Y,onMove:Q}=O.getState();Q?.(H,V),Y?.(V)},onPanZoomEnd:(H,V)=>{const{onViewportChangeEnd:Y,onMoveEnd:Q}=O.getState();Q?.(H,V),Y?.(V)}});const{x:W,y:B,zoom:U}=M.current.getViewport();return O.setState({panZoom:M.current,transform:[W,B,U],domNode:I.current.closest(".react-flow")}),()=>{M.current?.destroy()}}},[]),j.useEffect(()=>{M.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:r,panOnScrollSpeed:i,panOnScrollMode:o,zoomOnDoubleClick:a,panOnDrag:u,zoomActivationKeyPressed:A,preventScrolling:y,noPanClassName:S,userSelectionActive:D,noWheelClassName:k,lib:T,onTransformChange:$,connectionInProgress:L,selectionOnDrag:N,paneClickDistance:C})},[e,t,n,r,i,o,a,u,A,y,S,D,k,T,$,L,N,C]),c.jsx("div",{className:"react-flow__renderer",ref:I,style:th,children:v})}const lK=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function cK(){const{userSelectionActive:e,userSelectionRect:t}=Gt(lK,Nn);return e&&t?c.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}const Nx=(e,t)=>n=>{n.target===t.current&&e?.(n)},uK=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function dK({isSelecting:e,selectionKeyPressed:t,selectionMode:n=Cu.Full,panOnDrag:r,paneClickDistance:i,selectionOnDrag:o,onSelectionStart:a,onSelectionEnd:u,onPaneClick:d,onPaneContextMenu:m,onPaneScroll:p,onPaneMouseEnter:h,onPaneMouseMove:g,onPaneMouseLeave:y,children:v}){const k=In(),{userSelectionActive:S,elementsSelectable:_,dragging:w,connectionInProgress:C}=Gt(uK,Nn),N=_&&(e||S),O=j.useRef(null),I=j.useRef(),D=j.useRef(new Set),T=j.useRef(new Set),L=j.useRef(!1),A=Y=>{if(L.current||C){L.current=!1;return}d?.(Y),k.getState().resetSelectedElements(),k.setState({nodesSelectionActive:!1})},M=Y=>{if(Array.isArray(r)&&r?.includes(2)){Y.preventDefault();return}m?.(Y)},$=p?Y=>p(Y):void 0,W=Y=>{L.current&&(Y.stopPropagation(),L.current=!1)},B=Y=>{const{domNode:Q}=k.getState();if(I.current=Q?.getBoundingClientRect(),!I.current)return;const q=Y.target===O.current;if(!q&&!!Y.target.closest(".nokey")||!e||!(o&&q||t)||Y.button!==0||!Y.isPrimary)return;Y.target?.setPointerCapture?.(Y.pointerId),L.current=!1;const{x:P,y:X}=Ai(Y.nativeEvent,I.current);k.setState({userSelectionRect:{width:0,height:0,startX:P,startY:X,x:P,y:X}}),q||(Y.stopPropagation(),Y.preventDefault())},U=Y=>{const{userSelectionRect:Q,transform:q,nodeLookup:G,edgeLookup:J,connectionLookup:P,triggerNodeChanges:X,triggerEdgeChanges:ee,defaultEdgeOptions:te,resetSelectedElements:re}=k.getState();if(!I.current||!Q)return;const{x:oe,y:de}=Ai(Y.nativeEvent,I.current),{startX:se,startY:Ee}=Q;if(!L.current){const Ye=t?0:i;if(Math.hypot(oe-se,de-Ee)<=Ye)return;re(),a?.(Y)}L.current=!0;const we={startX:se,startY:Ee,x:oeYe.id)),T.current=new Set;const Ge=te?.selectable??!0;for(const Ye of D.current){const yt=P.get(Ye);if(yt)for(const{edgeId:qt}of yt.values()){const bt=J.get(qt);bt&&(bt.selectable??Ge)&&T.current.add(qt)}}if(!UC(Ce,D.current)){const Ye=nl(G,D.current,!0);X(Ye)}if(!UC(Be,T.current)){const Ye=nl(J,T.current);ee(Ye)}k.setState({userSelectionRect:we,userSelectionActive:!0,nodesSelectionActive:!1})},H=Y=>{Y.button===0&&(Y.target?.releasePointerCapture?.(Y.pointerId),!S&&Y.target===O.current&&k.getState().userSelectionRect&&A?.(Y),k.setState({userSelectionActive:!1,userSelectionRect:null}),L.current&&(u?.(Y),k.setState({nodesSelectionActive:D.current.size>0})))},V=r===!0||Array.isArray(r)&&r.includes(0);return c.jsxs("div",{className:Kn(["react-flow__pane",{draggable:V,dragging:w,selection:e}]),onClick:N?void 0:Nx(A,O),onContextMenu:Nx(M,O),onWheel:Nx($,O),onPointerEnter:N?void 0:h,onPointerMove:N?U:g,onPointerUp:N?H:void 0,onPointerDownCapture:N?B:void 0,onClickCapture:N?W:void 0,onPointerLeave:y,ref:O,style:th,children:[v,c.jsx(cK,{})]})}function w0({id:e,store:t,unselect:n=!1,nodeRef:r}){const{addSelectedNodes:i,unselectNodesAndEdges:o,multiSelectionActive:a,nodeLookup:u,onError:d}=t.getState(),m=u.get(e);if(!m){d?.("012",Ji.error012(e));return}t.setState({nodesSelectionActive:!1}),m.selected?(n||m.selected&&a)&&(o({nodes:[m],edges:[]}),requestAnimationFrame(()=>r?.current?.blur())):i([e])}function aR({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:i,isSelectable:o,nodeClickDistance:a}){const u=In(),[d,m]=j.useState(!1),p=j.useRef();return j.useEffect(()=>{p.current=QY({getStoreItems:()=>u.getState(),onNodeMouseDown:h=>{w0({id:h,store:u,nodeRef:e})},onDragStart:()=>{m(!0)},onDragStop:()=>{m(!1)}})},[]),j.useEffect(()=>{if(!(t||!e.current||!p.current))return p.current.update({noDragClassName:n,handleSelector:r,domNode:e.current,isSelectable:o,nodeId:i,nodeClickDistance:a}),()=>{p.current?.destroy()}},[n,r,t,o,e,i,a]),d}const fK=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function lR(){const e=In();return j.useCallback(n=>{const{nodeExtent:r,snapToGrid:i,snapGrid:o,nodesDraggable:a,onError:u,updateNodePositions:d,nodeLookup:m,nodeOrigin:p}=e.getState(),h=new Map,g=fK(a),y=i?o[0]:5,v=i?o[1]:5,k=n.direction.x*y*n.factor,S=n.direction.y*v*n.factor;for(const[,_]of m){if(!g(_))continue;let w={x:_.internals.positionAbsolute.x+k,y:_.internals.positionAbsolute.y+S};i&&(w=Bu(w,o));const{position:C,positionAbsolute:N}=NT({nodeId:_.id,nextPosition:w,nodeLookup:m,nodeExtent:r,nodeOrigin:p,onError:u});_.position=C,_.internals.positionAbsolute=N,h.set(_.id,_)}d(h)},[])}const Fv=j.createContext(null),mK=Fv.Provider;Fv.Consumer;const cR=()=>j.useContext(Fv),hK=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),pK=(e,t,n)=>r=>{const{connectionClickStartHandle:i,connectionMode:o,connection:a}=r,{fromHandle:u,toHandle:d,isValid:m}=a,p=d?.nodeId===e&&d?.id===t&&d?.type===n;return{connectingFrom:u?.nodeId===e&&u?.id===t&&u?.type===n,connectingTo:p,clickConnecting:i?.nodeId===e&&i?.id===t&&i?.type===n,isPossibleEndHandle:o===_l.Strict?u?.type!==n:e!==u?.nodeId||t!==u?.id,connectionInProcess:!!u,clickConnectionInProcess:!!i,valid:p&&m}};function gK({type:e="source",position:t=at.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:i=!0,isConnectableEnd:o=!0,id:a,onConnect:u,children:d,className:m,onMouseDown:p,onTouchStart:h,...g},y){const v=a||null,k=e==="target",S=In(),_=cR(),{connectOnClick:w,noPanClassName:C,rfId:N}=Gt(hK,Nn),{connectingFrom:O,connectingTo:I,clickConnecting:D,isPossibleEndHandle:T,connectionInProcess:L,clickConnectionInProcess:A,valid:M}=Gt(pK(_,v,e),Nn);_||S.getState().onError?.("010",Ji.error010());const $=U=>{const{defaultEdgeOptions:H,onConnect:V,hasDefaultEdges:Y}=S.getState(),Q={...H,...U};if(Y){const{edges:q,setEdges:G}=S.getState();G(LY(Q,q))}V?.(Q),u?.(Q)},W=U=>{if(!_)return;const H=LT(U.nativeEvent);if(i&&(H&&U.button===0||!H)){const V=S.getState();k0.onPointerDown(U.nativeEvent,{handleDomNode:U.currentTarget,autoPanOnConnect:V.autoPanOnConnect,connectionMode:V.connectionMode,connectionRadius:V.connectionRadius,domNode:V.domNode,nodeLookup:V.nodeLookup,lib:V.lib,isTarget:k,handleId:v,nodeId:_,flowId:V.rfId,panBy:V.panBy,cancelConnection:V.cancelConnection,onConnectStart:V.onConnectStart,onConnectEnd:(...Y)=>S.getState().onConnectEnd?.(...Y),updateConnection:V.updateConnection,onConnect:$,isValidConnection:n||((...Y)=>S.getState().isValidConnection?.(...Y)??!0),getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,autoPanSpeed:V.autoPanSpeed,dragThreshold:V.connectionDragThreshold})}H?p?.(U):h?.(U)},B=U=>{const{onClickConnectStart:H,onClickConnectEnd:V,connectionClickStartHandle:Y,connectionMode:Q,isValidConnection:q,lib:G,rfId:J,nodeLookup:P,connection:X}=S.getState();if(!_||!Y&&!i)return;if(!Y){H?.(U.nativeEvent,{nodeId:_,handleId:v,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:_,type:e,id:v}});return}const ee=DT(U.target),te=n||q,{connection:re,isValid:oe}=k0.isValid(U.nativeEvent,{handle:{nodeId:_,id:v,type:e},connectionMode:Q,fromNodeId:Y.nodeId,fromHandleId:Y.id||null,fromType:Y.type,isValidConnection:te,flowId:J,doc:ee,lib:G,nodeLookup:P});oe&&re&&$(re);const de=structuredClone(X);delete de.inProgress,de.toPosition=de.toHandle?de.toHandle.position:null,V?.(U,de),S.setState({connectionClickStartHandle:null})};return c.jsx("div",{"data-handleid":v,"data-nodeid":_,"data-handlepos":t,"data-id":`${N}-${_}-${v}-${e}`,className:Kn(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",C,m,{source:!k,target:k,connectable:r,connectablestart:i,connectableend:o,clickconnecting:D,connectingfrom:O,connectingto:I,valid:M,connectionindicator:r&&(!L||T)&&(L||A?o:i)}]),onMouseDown:W,onTouchStart:W,onClick:w?B:void 0,ref:y,...g,children:d})}const jl=j.memo(sR(gK));function xK({data:e,isConnectable:t,sourcePosition:n=at.Bottom}){return c.jsxs(c.Fragment,{children:[e?.label,c.jsx(jl,{type:"source",position:n,isConnectable:t})]})}function yK({data:e,isConnectable:t,targetPosition:n=at.Top,sourcePosition:r=at.Bottom}){return c.jsxs(c.Fragment,{children:[c.jsx(jl,{type:"target",position:n,isConnectable:t}),e?.label,c.jsx(jl,{type:"source",position:r,isConnectable:t})]})}function vK(){return null}function bK({data:e,isConnectable:t,targetPosition:n=at.Top}){return c.jsxs(c.Fragment,{children:[c.jsx(jl,{type:"target",position:n,isConnectable:t}),e?.label]})}const vm={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},b2={input:xK,default:yK,output:bK,group:vK};function _K(e){return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??e.style?.width,height:e.height??e.initialHeight??e.style?.height}:{width:e.width??e.style?.width,height:e.height??e.style?.height}}const kK=e=>{const{width:t,height:n,x:r,y:i}=Pu(e.nodeLookup,{filter:o=>!!o.selected});return{width:Ri(t)?t:null,height:Ri(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${r}px,${i}px)`}};function SK({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const r=In(),{width:i,height:o,transformString:a,userSelectionActive:u}=Gt(kK,Nn),d=lR(),m=j.useRef(null);j.useEffect(()=>{n||m.current?.focus({preventScroll:!0})},[n]);const p=!u&&i!==null&&o!==null;if(aR({nodeRef:m,disabled:!p}),!p)return null;const h=e?y=>{const v=r.getState().nodes.filter(k=>k.selected);e(y,v)}:void 0,g=y=>{Object.prototype.hasOwnProperty.call(vm,y.key)&&(y.preventDefault(),d({direction:vm[y.key],factor:y.shiftKey?4:1}))};return c.jsx("div",{className:Kn(["react-flow__nodesselection","react-flow__container",t]),style:{transform:a},children:c.jsx("div",{ref:m,className:"react-flow__nodesselection-rect",onContextMenu:h,tabIndex:n?void 0:-1,onKeyDown:n?void 0:g,style:{width:i,height:o}})})}const _2=typeof window<"u"?window:void 0,wK=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function uR({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:a,paneClickDistance:u,deleteKeyCode:d,selectionKeyCode:m,selectionOnDrag:p,selectionMode:h,onSelectionStart:g,onSelectionEnd:y,multiSelectionKeyCode:v,panActivationKeyCode:k,zoomActivationKeyCode:S,elementsSelectable:_,zoomOnScroll:w,zoomOnPinch:C,panOnScroll:N,panOnScrollSpeed:O,panOnScrollMode:I,zoomOnDoubleClick:D,panOnDrag:T,defaultViewport:L,translateExtent:A,minZoom:M,maxZoom:$,preventScrolling:W,onSelectionContextMenu:B,noWheelClassName:U,noPanClassName:H,disableKeyboardA11y:V,onViewportChange:Y,isControlledViewport:Q}){const{nodesSelectionActive:q,userSelectionActive:G}=Gt(wK,Nn),J=Nu(m,{target:_2}),P=Nu(k,{target:_2}),X=P||T,ee=P||N,te=p&&X!==!0,re=J||G||te;return iK({deleteKeyCode:d,multiSelectionKeyCode:v}),c.jsx(aK,{onPaneContextMenu:o,elementsSelectable:_,zoomOnScroll:w,zoomOnPinch:C,panOnScroll:ee,panOnScrollSpeed:O,panOnScrollMode:I,zoomOnDoubleClick:D,panOnDrag:!J&&X,defaultViewport:L,translateExtent:A,minZoom:M,maxZoom:$,zoomActivationKeyCode:S,preventScrolling:W,noWheelClassName:U,noPanClassName:H,onViewportChange:Y,isControlledViewport:Q,paneClickDistance:u,selectionOnDrag:te,children:c.jsxs(dK,{onSelectionStart:g,onSelectionEnd:y,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:i,onPaneContextMenu:o,onPaneScroll:a,panOnDrag:X,isSelecting:!!re,selectionMode:h,selectionKeyPressed:J,paneClickDistance:u,selectionOnDrag:te,children:[e,q&&c.jsx(SK,{onSelectionContextMenu:B,noPanClassName:H,disableKeyboardA11y:V})]})})}uR.displayName="FlowRenderer";const CK=j.memo(uR),jK=e=>t=>e?Mv(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(n=>n.id):Array.from(t.nodeLookup.keys());function EK(e){return Gt(j.useCallback(jK(e),[e]),Nn)}const NK=e=>e.updateNodeInternals;function IK(){const e=Gt(NK),[t]=j.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(n=>{const r=new Map;n.forEach(i=>{const o=i.target.getAttribute("data-id");r.set(o,{id:o,nodeElement:i.target,force:!0})}),e(r)}));return j.useEffect(()=>()=>{t?.disconnect()},[t]),t}function TK({node:e,nodeType:t,hasDimensions:n,resizeObserver:r}){const i=In(),o=j.useRef(null),a=j.useRef(null),u=j.useRef(e.sourcePosition),d=j.useRef(e.targetPosition),m=j.useRef(t),p=n&&!!e.internals.handleBounds;return j.useEffect(()=>{o.current&&!e.hidden&&(!p||a.current!==o.current)&&(a.current&&r?.unobserve(a.current),r?.observe(o.current),a.current=o.current)},[p,e.hidden]),j.useEffect(()=>()=>{a.current&&(r?.unobserve(a.current),a.current=null)},[]),j.useEffect(()=>{if(o.current){const h=m.current!==t,g=u.current!==e.sourcePosition,y=d.current!==e.targetPosition;(h||g||y)&&(m.current=t,u.current=e.sourcePosition,d.current=e.targetPosition,i.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:o.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),o}function RK({id:e,onClick:t,onMouseEnter:n,onMouseMove:r,onMouseLeave:i,onContextMenu:o,onDoubleClick:a,nodesDraggable:u,elementsSelectable:d,nodesConnectable:m,nodesFocusable:p,resizeObserver:h,noDragClassName:g,noPanClassName:y,disableKeyboardA11y:v,rfId:k,nodeTypes:S,nodeClickDistance:_,onError:w}){const{node:C,internals:N,isParent:O}=Gt(oe=>{const de=oe.nodeLookup.get(e),se=oe.parentLookup.has(e);return{node:de,internals:de.internals,isParent:se}},Nn);let I=C.type||"default",D=S?.[I]||b2[I];D===void 0&&(w?.("003",Ji.error003(I)),I="default",D=S?.default||b2.default);const T=!!(C.draggable||u&&typeof C.draggable>"u"),L=!!(C.selectable||d&&typeof C.selectable>"u"),A=!!(C.connectable||m&&typeof C.connectable>"u"),M=!!(C.focusable||p&&typeof C.focusable>"u"),$=In(),W=AT(C),B=TK({node:C,nodeType:I,hasDimensions:W,resizeObserver:h}),U=aR({nodeRef:B,disabled:C.hidden||!T,noDragClassName:g,handleSelector:C.dragHandle,nodeId:e,isSelectable:L,nodeClickDistance:_}),H=lR();if(C.hidden)return null;const V=Ts(C),Y=_K(C),Q=L||T||t||n||r||i,q=n?oe=>n(oe,{...N.userNode}):void 0,G=r?oe=>r(oe,{...N.userNode}):void 0,J=i?oe=>i(oe,{...N.userNode}):void 0,P=o?oe=>o(oe,{...N.userNode}):void 0,X=a?oe=>a(oe,{...N.userNode}):void 0,ee=oe=>{const{selectNodesOnDrag:de,nodeDragThreshold:se}=$.getState();L&&(!de||!T||se>0)&&w0({id:e,store:$,nodeRef:B}),t&&t(oe,{...N.userNode})},te=oe=>{if(!(OT(oe.nativeEvent)||v)){if(ST.includes(oe.key)&&L){const de=oe.key==="Escape";w0({id:e,store:$,unselect:de,nodeRef:B})}else if(T&&C.selected&&Object.prototype.hasOwnProperty.call(vm,oe.key)){oe.preventDefault();const{ariaLabelConfig:de}=$.getState();$.setState({ariaLiveMessage:de["node.a11yDescription.ariaLiveMessage"]({direction:oe.key.replace("Arrow","").toLowerCase(),x:~~N.positionAbsolute.x,y:~~N.positionAbsolute.y})}),H({direction:vm[oe.key],factor:oe.shiftKey?4:1})}}},re=()=>{if(v||!B.current?.matches(":focus-visible"))return;const{transform:oe,width:de,height:se,autoPanOnNodeFocus:Ee,setCenter:we}=$.getState();if(!Ee)return;Mv(new Map([[e,C]]),{x:0,y:0,width:de,height:se},oe,!0).length>0||we(C.position.x+V.width/2,C.position.y+V.height/2,{zoom:oe[2]})};return c.jsx("div",{className:Kn(["react-flow__node",`react-flow__node-${I}`,{[y]:T},C.className,{selected:C.selected,selectable:L,parent:O,draggable:T,dragging:U}]),ref:B,style:{zIndex:N.z,transform:`translate(${N.positionAbsolute.x}px,${N.positionAbsolute.y}px)`,pointerEvents:Q?"all":"none",visibility:W?"visible":"hidden",...C.style,...Y},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:q,onMouseMove:G,onMouseLeave:J,onContextMenu:P,onClick:ee,onDoubleClick:X,onKeyDown:M?te:void 0,tabIndex:M?0:void 0,onFocus:M?re:void 0,role:C.ariaRole??(M?"group":void 0),"aria-roledescription":"node","aria-describedby":v?void 0:`${eR}-${k}`,"aria-label":C.ariaLabel,...C.domAttributes,children:c.jsx(mK,{value:e,children:c.jsx(D,{id:e,data:C.data,type:I,positionAbsoluteX:N.positionAbsolute.x,positionAbsoluteY:N.positionAbsolute.y,selected:C.selected??!1,selectable:L,draggable:T,deletable:C.deletable??!0,isConnectable:A,sourcePosition:C.sourcePosition,targetPosition:C.targetPosition,dragging:U,dragHandle:C.dragHandle,zIndex:N.z,parentId:C.parentId,...V})})})}var AK=j.memo(RK);const MK=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function dR(e){const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,onError:o}=Gt(MK,Nn),a=EK(e.onlyRenderVisibleElements),u=IK();return c.jsx("div",{className:"react-flow__nodes",style:th,children:a.map(d=>c.jsx(AK,{id:d,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:u,nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:i,nodeClickDistance:e.nodeClickDistance,onError:o},d))})}dR.displayName="NodeRenderer";const DK=j.memo(dR);function OK(e){return Gt(j.useCallback(n=>{if(!e)return n.edges.map(i=>i.id);const r=[];if(n.width&&n.height)for(const i of n.edges){const o=n.nodeLookup.get(i.source),a=n.nodeLookup.get(i.target);o&&a&&MY({sourceNode:o,targetNode:a,width:n.width,height:n.height,transform:n.transform})&&r.push(i.id)}return r},[e]),Nn)}const LK=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e}};return c.jsx("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},zK=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e,fill:e}};return c.jsx("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},k2={[gm.Arrow]:LK,[gm.ArrowClosed]:zK};function PK(e){const t=In();return j.useMemo(()=>Object.prototype.hasOwnProperty.call(k2,e)?k2[e]:(t.getState().onError?.("009",Ji.error009(e)),null),[e])}const BK=({id:e,type:t,color:n,width:r=12.5,height:i=12.5,markerUnits:o="strokeWidth",strokeWidth:a,orient:u="auto-start-reverse"})=>{const d=PK(t);return d?c.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${i}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:u,refX:"0",refY:"0",children:c.jsx(d,{color:n,strokeWidth:a})}):null},fR=({defaultColor:e,rfId:t})=>{const n=Gt(o=>o.edges),r=Gt(o=>o.defaultEdgeOptions),i=j.useMemo(()=>HY(n,{id:t,defaultColor:e,defaultMarkerStart:r?.markerStart,defaultMarkerEnd:r?.markerEnd}),[n,r,t,e]);return i.length?c.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:c.jsx("defs",{children:i.map(o=>c.jsx(BK,{id:o.id,type:o.type,color:o.color,width:o.width,height:o.height,markerUnits:o.markerUnits,strokeWidth:o.strokeWidth,orient:o.orient},o.id))})}):null};fR.displayName="MarkerDefinitions";var $K=j.memo(fR);function mR({x:e,y:t,label:n,labelStyle:r,labelShowBg:i=!0,labelBgStyle:o,labelBgPadding:a=[2,4],labelBgBorderRadius:u=2,children:d,className:m,...p}){const[h,g]=j.useState({x:1,y:0,width:0,height:0}),y=Kn(["react-flow__edge-textwrapper",m]),v=j.useRef(null);return j.useEffect(()=>{if(v.current){const k=v.current.getBBox();g({x:k.x,y:k.y,width:k.width,height:k.height})}},[n]),n?c.jsxs("g",{transform:`translate(${e-h.width/2} ${t-h.height/2})`,className:y,visibility:h.width?"visible":"hidden",...p,children:[i&&c.jsx("rect",{width:h.width+2*a[0],x:-a[0],y:-a[1],height:h.height+2*a[1],className:"react-flow__edge-textbg",style:o,rx:u,ry:u}),c.jsx("text",{className:"react-flow__edge-text",y:h.height/2,dy:"0.3em",ref:v,style:r,children:n}),d]}):null}mR.displayName="EdgeText";const HK=j.memo(mR);function nh({path:e,labelX:t,labelY:n,label:r,labelStyle:i,labelShowBg:o,labelBgStyle:a,labelBgPadding:u,labelBgBorderRadius:d,interactionWidth:m=20,...p}){return c.jsxs(c.Fragment,{children:[c.jsx("path",{...p,d:e,fill:"none",className:Kn(["react-flow__edge-path",p.className])}),m?c.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:m,className:"react-flow__edge-interaction"}):null,r&&Ri(t)&&Ri(n)?c.jsx(HK,{x:t,y:n,label:r,labelStyle:i,labelShowBg:o,labelBgStyle:a,labelBgPadding:u,labelBgBorderRadius:d}):null]})}function S2({pos:e,x1:t,y1:n,x2:r,y2:i}){return e===at.Left||e===at.Right?[.5*(t+r),n]:[t,.5*(n+i)]}function hR({sourceX:e,sourceY:t,sourcePosition:n=at.Bottom,targetX:r,targetY:i,targetPosition:o=at.Top}){const[a,u]=S2({pos:n,x1:e,y1:t,x2:r,y2:i}),[d,m]=S2({pos:o,x1:r,y1:i,x2:e,y2:t}),[p,h,g,y]=zT({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:a,sourceControlY:u,targetControlX:d,targetControlY:m});return[`M${e},${t} C${a},${u} ${d},${m} ${r},${i}`,p,h,g,y]}function pR(e){return j.memo(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:o,sourcePosition:a,targetPosition:u,label:d,labelStyle:m,labelShowBg:p,labelBgStyle:h,labelBgPadding:g,labelBgBorderRadius:y,style:v,markerEnd:k,markerStart:S,interactionWidth:_})=>{const[w,C,N]=hR({sourceX:n,sourceY:r,sourcePosition:a,targetX:i,targetY:o,targetPosition:u}),O=e.isInternal?void 0:t;return c.jsx(nh,{id:O,path:w,labelX:C,labelY:N,label:d,labelStyle:m,labelShowBg:p,labelBgStyle:h,labelBgPadding:g,labelBgBorderRadius:y,style:v,markerEnd:k,markerStart:S,interactionWidth:_})})}const FK=pR({isInternal:!1}),gR=pR({isInternal:!0});FK.displayName="SimpleBezierEdge";gR.displayName="SimpleBezierEdgeInternal";function xR(e){return j.memo(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:o,label:a,labelStyle:u,labelShowBg:d,labelBgStyle:m,labelBgPadding:p,labelBgBorderRadius:h,style:g,sourcePosition:y=at.Bottom,targetPosition:v=at.Top,markerEnd:k,markerStart:S,pathOptions:_,interactionWidth:w})=>{const[C,N,O]=v0({sourceX:n,sourceY:r,sourcePosition:y,targetX:i,targetY:o,targetPosition:v,borderRadius:_?.borderRadius,offset:_?.offset,stepPosition:_?.stepPosition}),I=e.isInternal?void 0:t;return c.jsx(nh,{id:I,path:C,labelX:N,labelY:O,label:a,labelStyle:u,labelShowBg:d,labelBgStyle:m,labelBgPadding:p,labelBgBorderRadius:h,style:g,markerEnd:k,markerStart:S,interactionWidth:w})})}const yR=xR({isInternal:!1}),vR=xR({isInternal:!0});yR.displayName="SmoothStepEdge";vR.displayName="SmoothStepEdgeInternal";function bR(e){return j.memo(({id:t,...n})=>{const r=e.isInternal?void 0:t;return c.jsx(yR,{...n,id:r,pathOptions:j.useMemo(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}const VK=bR({isInternal:!1}),_R=bR({isInternal:!0});VK.displayName="StepEdge";_R.displayName="StepEdgeInternal";function kR(e){return j.memo(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:o,label:a,labelStyle:u,labelShowBg:d,labelBgStyle:m,labelBgPadding:p,labelBgBorderRadius:h,style:g,markerEnd:y,markerStart:v,interactionWidth:k})=>{const[S,_,w]=$T({sourceX:n,sourceY:r,targetX:i,targetY:o}),C=e.isInternal?void 0:t;return c.jsx(nh,{id:C,path:S,labelX:_,labelY:w,label:a,labelStyle:u,labelShowBg:d,labelBgStyle:m,labelBgPadding:p,labelBgBorderRadius:h,style:g,markerEnd:y,markerStart:v,interactionWidth:k})})}const UK=kR({isInternal:!1}),SR=kR({isInternal:!0});UK.displayName="StraightEdge";SR.displayName="StraightEdgeInternal";function wR(e){return j.memo(({id:t,sourceX:n,sourceY:r,targetX:i,targetY:o,sourcePosition:a=at.Bottom,targetPosition:u=at.Top,label:d,labelStyle:m,labelShowBg:p,labelBgStyle:h,labelBgPadding:g,labelBgBorderRadius:y,style:v,markerEnd:k,markerStart:S,pathOptions:_,interactionWidth:w})=>{const[C,N,O]=PT({sourceX:n,sourceY:r,sourcePosition:a,targetX:i,targetY:o,targetPosition:u,curvature:_?.curvature}),I=e.isInternal?void 0:t;return c.jsx(nh,{id:I,path:C,labelX:N,labelY:O,label:d,labelStyle:m,labelShowBg:p,labelBgStyle:h,labelBgPadding:g,labelBgBorderRadius:y,style:v,markerEnd:k,markerStart:S,interactionWidth:w})})}const GK=wR({isInternal:!1}),CR=wR({isInternal:!0});GK.displayName="BezierEdge";CR.displayName="BezierEdgeInternal";const w2={default:CR,straight:SR,step:_R,smoothstep:vR,simplebezier:gR},C2={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},qK=(e,t,n)=>n===at.Left?e-t:n===at.Right?e+t:e,WK=(e,t,n)=>n===at.Top?e-t:n===at.Bottom?e+t:e,j2="react-flow__edgeupdater";function E2({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:i,onMouseEnter:o,onMouseOut:a,type:u}){return c.jsx("circle",{onMouseDown:i,onMouseEnter:o,onMouseOut:a,className:Kn([j2,`${j2}-${u}`]),cx:qK(t,r,e),cy:WK(n,r,e),r,stroke:"transparent",fill:"transparent"})}function YK({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:r,sourceY:i,targetX:o,targetY:a,sourcePosition:u,targetPosition:d,onReconnect:m,onReconnectStart:p,onReconnectEnd:h,setReconnecting:g,setUpdateHover:y}){const v=In(),k=(N,O)=>{if(N.button!==0)return;const{autoPanOnConnect:I,domNode:D,connectionMode:T,connectionRadius:L,lib:A,onConnectStart:M,cancelConnection:$,nodeLookup:W,rfId:B,panBy:U,updateConnection:H}=v.getState(),V=O.type==="target",Y=(G,J)=>{g(!1),h?.(G,n,O.type,J)},Q=G=>m?.(n,G),q=(G,J)=>{g(!0),p?.(N,n,O.type),M?.(G,J)};k0.onPointerDown(N.nativeEvent,{autoPanOnConnect:I,connectionMode:T,connectionRadius:L,domNode:D,handleId:O.id,nodeId:O.nodeId,nodeLookup:W,isTarget:V,edgeUpdaterType:O.type,lib:A,flowId:B,cancelConnection:$,panBy:U,isValidConnection:(...G)=>v.getState().isValidConnection?.(...G)??!0,onConnect:Q,onConnectStart:q,onConnectEnd:(...G)=>v.getState().onConnectEnd?.(...G),onReconnectEnd:Y,updateConnection:H,getTransform:()=>v.getState().transform,getFromHandle:()=>v.getState().connection.fromHandle,dragThreshold:v.getState().connectionDragThreshold,handleDomNode:N.currentTarget})},S=N=>k(N,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),_=N=>k(N,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),w=()=>y(!0),C=()=>y(!1);return c.jsxs(c.Fragment,{children:[(e===!0||e==="source")&&c.jsx(E2,{position:u,centerX:r,centerY:i,radius:t,onMouseDown:S,onMouseEnter:w,onMouseOut:C,type:"source"}),(e===!0||e==="target")&&c.jsx(E2,{position:d,centerX:o,centerY:a,radius:t,onMouseDown:_,onMouseEnter:w,onMouseOut:C,type:"target"})]})}function XK({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:r,onClick:i,onDoubleClick:o,onContextMenu:a,onMouseEnter:u,onMouseMove:d,onMouseLeave:m,reconnectRadius:p,onReconnect:h,onReconnectStart:g,onReconnectEnd:y,rfId:v,edgeTypes:k,noPanClassName:S,onError:_,disableKeyboardA11y:w}){let C=Gt(we=>we.edgeLookup.get(e));const N=Gt(we=>we.defaultEdgeOptions);C=N?{...N,...C}:C;let O=C.type||"default",I=k?.[O]||w2[O];I===void 0&&(_?.("011",Ji.error011(O)),O="default",I=k?.default||w2.default);const D=!!(C.focusable||t&&typeof C.focusable>"u"),T=typeof h<"u"&&(C.reconnectable||n&&typeof C.reconnectable>"u"),L=!!(C.selectable||r&&typeof C.selectable>"u"),A=j.useRef(null),[M,$]=j.useState(!1),[W,B]=j.useState(!1),U=In(),{zIndex:H,sourceX:V,sourceY:Y,targetX:Q,targetY:q,sourcePosition:G,targetPosition:J}=Gt(j.useCallback(we=>{const Ce=we.nodeLookup.get(C.source),Be=we.nodeLookup.get(C.target);if(!Ce||!Be)return{zIndex:C.zIndex,...C2};const Ge=$Y({id:e,sourceNode:Ce,targetNode:Be,sourceHandle:C.sourceHandle||null,targetHandle:C.targetHandle||null,connectionMode:we.connectionMode,onError:_});return{zIndex:AY({selected:C.selected,zIndex:C.zIndex,sourceNode:Ce,targetNode:Be,elevateOnSelect:we.elevateEdgesOnSelect,zIndexMode:we.zIndexMode}),...Ge||C2}},[C.source,C.target,C.sourceHandle,C.targetHandle,C.selected,C.zIndex]),Nn),P=j.useMemo(()=>C.markerStart?`url('#${b0(C.markerStart,v)}')`:void 0,[C.markerStart,v]),X=j.useMemo(()=>C.markerEnd?`url('#${b0(C.markerEnd,v)}')`:void 0,[C.markerEnd,v]);if(C.hidden||V===null||Y===null||Q===null||q===null)return null;const ee=we=>{const{addSelectedEdges:Ce,unselectNodesAndEdges:Be,multiSelectionActive:Ge}=U.getState();L&&(U.setState({nodesSelectionActive:!1}),C.selected&&Ge?(Be({nodes:[],edges:[C]}),A.current?.blur()):Ce([e])),i&&i(we,C)},te=o?we=>{o(we,{...C})}:void 0,re=a?we=>{a(we,{...C})}:void 0,oe=u?we=>{u(we,{...C})}:void 0,de=d?we=>{d(we,{...C})}:void 0,se=m?we=>{m(we,{...C})}:void 0,Ee=we=>{if(!w&&ST.includes(we.key)&&L){const{unselectNodesAndEdges:Ce,addSelectedEdges:Be}=U.getState();we.key==="Escape"?(A.current?.blur(),Ce({edges:[C]})):Be([e])}};return c.jsx("svg",{style:{zIndex:H},children:c.jsxs("g",{className:Kn(["react-flow__edge",`react-flow__edge-${O}`,C.className,S,{selected:C.selected,animated:C.animated,inactive:!L&&!i,updating:M,selectable:L}]),onClick:ee,onDoubleClick:te,onContextMenu:re,onMouseEnter:oe,onMouseMove:de,onMouseLeave:se,onKeyDown:D?Ee:void 0,tabIndex:D?0:void 0,role:C.ariaRole??(D?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":C.ariaLabel===null?void 0:C.ariaLabel||`Edge from ${C.source} to ${C.target}`,"aria-describedby":D?`${tR}-${v}`:void 0,ref:A,...C.domAttributes,children:[!W&&c.jsx(I,{id:e,source:C.source,target:C.target,type:C.type,selected:C.selected,animated:C.animated,selectable:L,deletable:C.deletable??!0,label:C.label,labelStyle:C.labelStyle,labelShowBg:C.labelShowBg,labelBgStyle:C.labelBgStyle,labelBgPadding:C.labelBgPadding,labelBgBorderRadius:C.labelBgBorderRadius,sourceX:V,sourceY:Y,targetX:Q,targetY:q,sourcePosition:G,targetPosition:J,data:C.data,style:C.style,sourceHandleId:C.sourceHandle,targetHandleId:C.targetHandle,markerStart:P,markerEnd:X,pathOptions:"pathOptions"in C?C.pathOptions:void 0,interactionWidth:C.interactionWidth}),T&&c.jsx(YK,{edge:C,isReconnectable:T,reconnectRadius:p,onReconnect:h,onReconnectStart:g,onReconnectEnd:y,sourceX:V,sourceY:Y,targetX:Q,targetY:q,sourcePosition:G,targetPosition:J,setUpdateHover:$,setReconnecting:B})]})})}var KK=j.memo(XK);const ZK=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function jR({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:r,noPanClassName:i,onReconnect:o,onEdgeContextMenu:a,onEdgeMouseEnter:u,onEdgeMouseMove:d,onEdgeMouseLeave:m,onEdgeClick:p,reconnectRadius:h,onEdgeDoubleClick:g,onReconnectStart:y,onReconnectEnd:v,disableKeyboardA11y:k}){const{edgesFocusable:S,edgesReconnectable:_,elementsSelectable:w,onError:C}=Gt(ZK,Nn),N=OK(t);return c.jsxs("div",{className:"react-flow__edges",children:[c.jsx($K,{defaultColor:e,rfId:n}),N.map(O=>c.jsx(KK,{id:O,edgesFocusable:S,edgesReconnectable:_,elementsSelectable:w,noPanClassName:i,onReconnect:o,onContextMenu:a,onMouseEnter:u,onMouseMove:d,onMouseLeave:m,onClick:p,reconnectRadius:h,onDoubleClick:g,onReconnectStart:y,onReconnectEnd:v,rfId:n,onError:C,edgeTypes:r,disableKeyboardA11y:k},O))]})}jR.displayName="EdgeRenderer";const QK=j.memo(jR),JK=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function eZ({children:e}){const t=Gt(JK);return c.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}function tZ(e){const t=Hv(),n=j.useRef(!1);j.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const nZ=e=>e.panZoom?.syncViewport;function rZ(e){const t=Gt(nZ),n=In();return j.useEffect(()=>{e&&(t?.(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function iZ(e){return e.connection.inProgress?{...e.connection,to:$u(e.connection.to,e.transform)}:{...e.connection}}function sZ(e){return iZ}function oZ(e){const t=sZ();return Gt(t,Nn)}const aZ=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function lZ({containerStyle:e,style:t,type:n,component:r}){const{nodesConnectable:i,width:o,height:a,isValid:u,inProgress:d}=Gt(aZ,Nn);return!(o&&i&&d)?null:c.jsx("svg",{style:e,width:o,height:a,className:"react-flow__connectionline react-flow__container",children:c.jsx("g",{className:Kn(["react-flow__connection",jT(u)]),children:c.jsx(ER,{style:t,type:n,CustomComponent:r,isValid:u})})})}const ER=({style:e,type:t=lo.Bezier,CustomComponent:n,isValid:r})=>{const{inProgress:i,from:o,fromNode:a,fromHandle:u,fromPosition:d,to:m,toNode:p,toHandle:h,toPosition:g,pointer:y}=oZ();if(!i)return;if(n)return c.jsx(n,{connectionLineType:t,connectionLineStyle:e,fromNode:a,fromHandle:u,fromX:o.x,fromY:o.y,toX:m.x,toY:m.y,fromPosition:d,toPosition:g,connectionStatus:jT(r),toNode:p,toHandle:h,pointer:y});let v="";const k={sourceX:o.x,sourceY:o.y,sourcePosition:d,targetX:m.x,targetY:m.y,targetPosition:g};switch(t){case lo.Bezier:[v]=PT(k);break;case lo.SimpleBezier:[v]=hR(k);break;case lo.Step:[v]=v0({...k,borderRadius:0});break;case lo.SmoothStep:[v]=v0(k);break;default:[v]=$T(k)}return c.jsx("path",{d:v,fill:"none",className:"react-flow__connection-path",style:e})};ER.displayName="ConnectionLine";const cZ={};function N2(e=cZ){j.useRef(e),In(),j.useEffect(()=>{},[e])}function uZ(){In(),j.useRef(!1),j.useEffect(()=>{},[])}function NR({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:r,onEdgeClick:i,onNodeDoubleClick:o,onEdgeDoubleClick:a,onNodeMouseEnter:u,onNodeMouseMove:d,onNodeMouseLeave:m,onNodeContextMenu:p,onSelectionContextMenu:h,onSelectionStart:g,onSelectionEnd:y,connectionLineType:v,connectionLineStyle:k,connectionLineComponent:S,connectionLineContainerStyle:_,selectionKeyCode:w,selectionOnDrag:C,selectionMode:N,multiSelectionKeyCode:O,panActivationKeyCode:I,zoomActivationKeyCode:D,deleteKeyCode:T,onlyRenderVisibleElements:L,elementsSelectable:A,defaultViewport:M,translateExtent:$,minZoom:W,maxZoom:B,preventScrolling:U,defaultMarkerColor:H,zoomOnScroll:V,zoomOnPinch:Y,panOnScroll:Q,panOnScrollSpeed:q,panOnScrollMode:G,zoomOnDoubleClick:J,panOnDrag:P,onPaneClick:X,onPaneMouseEnter:ee,onPaneMouseMove:te,onPaneMouseLeave:re,onPaneScroll:oe,onPaneContextMenu:de,paneClickDistance:se,nodeClickDistance:Ee,onEdgeContextMenu:we,onEdgeMouseEnter:Ce,onEdgeMouseMove:Be,onEdgeMouseLeave:Ge,reconnectRadius:Ye,onReconnect:yt,onReconnectStart:qt,onReconnectEnd:bt,noDragClassName:vt,noWheelClassName:me,noPanClassName:Oe,disableKeyboardA11y:rt,nodeExtent:Qe,rfId:Je,viewport:fe,onViewportChange:be}){return N2(e),N2(t),uZ(),tZ(n),rZ(fe),c.jsx(CK,{onPaneClick:X,onPaneMouseEnter:ee,onPaneMouseMove:te,onPaneMouseLeave:re,onPaneContextMenu:de,onPaneScroll:oe,paneClickDistance:se,deleteKeyCode:T,selectionKeyCode:w,selectionOnDrag:C,selectionMode:N,onSelectionStart:g,onSelectionEnd:y,multiSelectionKeyCode:O,panActivationKeyCode:I,zoomActivationKeyCode:D,elementsSelectable:A,zoomOnScroll:V,zoomOnPinch:Y,zoomOnDoubleClick:J,panOnScroll:Q,panOnScrollSpeed:q,panOnScrollMode:G,panOnDrag:P,defaultViewport:M,translateExtent:$,minZoom:W,maxZoom:B,onSelectionContextMenu:h,preventScrolling:U,noDragClassName:vt,noWheelClassName:me,noPanClassName:Oe,disableKeyboardA11y:rt,onViewportChange:be,isControlledViewport:!!fe,children:c.jsxs(eZ,{children:[c.jsx(QK,{edgeTypes:t,onEdgeClick:i,onEdgeDoubleClick:a,onReconnect:yt,onReconnectStart:qt,onReconnectEnd:bt,onlyRenderVisibleElements:L,onEdgeContextMenu:we,onEdgeMouseEnter:Ce,onEdgeMouseMove:Be,onEdgeMouseLeave:Ge,reconnectRadius:Ye,defaultMarkerColor:H,noPanClassName:Oe,disableKeyboardA11y:rt,rfId:Je}),c.jsx(lZ,{style:k,type:v,component:S,containerStyle:_}),c.jsx("div",{className:"react-flow__edgelabel-renderer"}),c.jsx(DK,{nodeTypes:e,onNodeClick:r,onNodeDoubleClick:o,onNodeMouseEnter:u,onNodeMouseMove:d,onNodeMouseLeave:m,onNodeContextMenu:p,nodeClickDistance:Ee,onlyRenderVisibleElements:L,noPanClassName:Oe,noDragClassName:vt,disableKeyboardA11y:rt,nodeExtent:Qe,rfId:Je}),c.jsx("div",{className:"react-flow__viewport-portal"})]})})}NR.displayName="GraphView";const dZ=j.memo(NR),I2=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:i,height:o,fitView:a,fitViewOptions:u,minZoom:d=.5,maxZoom:m=2,nodeOrigin:p,nodeExtent:h,zIndexMode:g="basic"}={})=>{const y=new Map,v=new Map,k=new Map,S=new Map,_=r??t??[],w=n??e??[],C=p??[0,0],N=h??wu;VT(k,S,_);const{nodesInitialized:O}=_0(w,y,v,{nodeOrigin:C,nodeExtent:N,zIndexMode:g});let I=[0,0,1];if(a&&i&&o){const D=Pu(y,{filter:M=>!!((M.width||M.initialWidth)&&(M.height||M.initialHeight))}),{x:T,y:L,zoom:A}=Dv(D,i,o,d,m,u?.padding??.1);I=[T,L,A]}return{rfId:"1",width:i??0,height:o??0,transform:I,nodes:w,nodesInitialized:O,nodeLookup:y,parentLookup:v,edges:_,edgeLookup:S,connectionLookup:k,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:r!==void 0,panZoom:null,minZoom:d,maxZoom:m,translateExtent:wu,nodeExtent:N,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:_l.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:C,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:a??!1,fitViewOptions:u,fitViewResolver:null,connection:{...CT},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:jY,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:wT,zIndexMode:g,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},fZ=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:i,height:o,fitView:a,fitViewOptions:u,minZoom:d,maxZoom:m,nodeOrigin:p,nodeExtent:h,zIndexMode:g})=>TX((y,v)=>{async function k(){const{nodeLookup:S,panZoom:_,fitViewOptions:w,fitViewResolver:C,width:N,height:O,minZoom:I,maxZoom:D}=v();_&&(await wY({nodes:S,width:N,height:O,panZoom:_,minZoom:I,maxZoom:D},w),C?.resolve(!0),y({fitViewResolver:null}))}return{...I2({nodes:e,edges:t,width:i,height:o,fitView:a,fitViewOptions:u,minZoom:d,maxZoom:m,nodeOrigin:p,nodeExtent:h,defaultNodes:n,defaultEdges:r,zIndexMode:g}),setNodes:S=>{const{nodeLookup:_,parentLookup:w,nodeOrigin:C,elevateNodesOnSelect:N,fitViewQueued:O,zIndexMode:I,nodesSelectionActive:D}=v(),{nodesInitialized:T,hasSelectedNodes:L}=_0(S,_,w,{nodeOrigin:C,nodeExtent:h,elevateNodesOnSelect:N,checkEquality:!0,zIndexMode:I}),A=D&&L;O&&T?(k(),y({nodes:S,nodesInitialized:T,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:A})):y({nodes:S,nodesInitialized:T,nodesSelectionActive:A})},setEdges:S=>{const{connectionLookup:_,edgeLookup:w}=v();VT(_,w,S),y({edges:S})},setDefaultNodesAndEdges:(S,_)=>{if(S){const{setNodes:w}=v();w(S),y({hasDefaultNodes:!0})}if(_){const{setEdges:w}=v();w(_),y({hasDefaultEdges:!0})}},updateNodeInternals:S=>{const{triggerNodeChanges:_,nodeLookup:w,parentLookup:C,domNode:N,nodeOrigin:O,nodeExtent:I,debug:D,fitViewQueued:T,zIndexMode:L}=v(),{changes:A,updatedInternals:M}=YY(S,w,C,N,O,I,L);M&&(UY(w,C,{nodeOrigin:O,nodeExtent:I,zIndexMode:L}),T?(k(),y({fitViewQueued:!1,fitViewOptions:void 0})):y({}),A?.length>0&&(D&&console.log("React Flow: trigger node changes",A),_?.(A)))},updateNodePositions:(S,_=!1)=>{const w=[];let C=[];const{nodeLookup:N,triggerNodeChanges:O,connection:I,updateConnection:D,onNodesChangeMiddlewareMap:T}=v();for(const[L,A]of S){const M=N.get(L),$=!!(M?.expandParent&&M?.parentId&&A?.position),W={id:L,type:"position",position:$?{x:Math.max(0,A.position.x),y:Math.max(0,A.position.y)}:A.position,dragging:_};if(M&&I.inProgress&&I.fromNode.id===M.id){const B=ea(M,I.fromHandle,at.Left,!0);D({...I,from:B})}$&&M.parentId&&w.push({id:L,parentId:M.parentId,rect:{...A.internals.positionAbsolute,width:A.measured.width??0,height:A.measured.height??0}}),C.push(W)}if(w.length>0){const{parentLookup:L,nodeOrigin:A}=v(),M=$v(w,N,L,A);C.push(...M)}for(const L of T.values())C=L(C);O(C)},triggerNodeChanges:S=>{const{onNodesChange:_,setNodes:w,nodes:C,hasDefaultNodes:N,debug:O}=v();if(S?.length){if(N){const I=iR(S,C);w(I)}O&&console.log("React Flow: trigger node changes",S),_?.(S)}},triggerEdgeChanges:S=>{const{onEdgesChange:_,setEdges:w,edges:C,hasDefaultEdges:N,debug:O}=v();if(S?.length){if(N){const I=ZX(S,C);w(I)}O&&console.log("React Flow: trigger edge changes",S),_?.(S)}},addSelectedNodes:S=>{const{multiSelectionActive:_,edgeLookup:w,nodeLookup:C,triggerNodeChanges:N,triggerEdgeChanges:O}=v();if(_){const I=S.map(D=>Fo(D,!0));N(I);return}N(nl(C,new Set([...S]),!0)),O(nl(w))},addSelectedEdges:S=>{const{multiSelectionActive:_,edgeLookup:w,nodeLookup:C,triggerNodeChanges:N,triggerEdgeChanges:O}=v();if(_){const I=S.map(D=>Fo(D,!0));O(I);return}O(nl(w,new Set([...S]))),N(nl(C,new Set,!0))},unselectNodesAndEdges:({nodes:S,edges:_}={})=>{const{edges:w,nodes:C,nodeLookup:N,triggerNodeChanges:O,triggerEdgeChanges:I}=v(),D=S||C,T=_||w,L=[];for(const M of D){if(!M.selected)continue;const $=N.get(M.id);$&&($.selected=!1),L.push(Fo(M.id,!1))}const A=[];for(const M of T)M.selected&&A.push(Fo(M.id,!1));O(L),I(A)},setMinZoom:S=>{const{panZoom:_,maxZoom:w}=v();_?.setScaleExtent([S,w]),y({minZoom:S})},setMaxZoom:S=>{const{panZoom:_,minZoom:w}=v();_?.setScaleExtent([w,S]),y({maxZoom:S})},setTranslateExtent:S=>{v().panZoom?.setTranslateExtent(S),y({translateExtent:S})},resetSelectedElements:()=>{const{edges:S,nodes:_,triggerNodeChanges:w,triggerEdgeChanges:C,elementsSelectable:N}=v();if(!N)return;const O=_.reduce((D,T)=>T.selected?[...D,Fo(T.id,!1)]:D,[]),I=S.reduce((D,T)=>T.selected?[...D,Fo(T.id,!1)]:D,[]);w(O),C(I)},setNodeExtent:S=>{const{nodes:_,nodeLookup:w,parentLookup:C,nodeOrigin:N,elevateNodesOnSelect:O,nodeExtent:I,zIndexMode:D}=v();S[0][0]===I[0][0]&&S[0][1]===I[0][1]&&S[1][0]===I[1][0]&&S[1][1]===I[1][1]||(_0(_,w,C,{nodeOrigin:N,nodeExtent:S,elevateNodesOnSelect:O,checkEquality:!1,zIndexMode:D}),y({nodeExtent:S}))},panBy:S=>{const{transform:_,width:w,height:C,panZoom:N,translateExtent:O}=v();return XY({delta:S,panZoom:N,transform:_,translateExtent:O,width:w,height:C})},setCenter:async(S,_,w)=>{const{width:C,height:N,maxZoom:O,panZoom:I}=v();if(!I)return Promise.resolve(!1);const D=typeof w?.zoom<"u"?w.zoom:O;return await I.setViewport({x:C/2-S*D,y:N/2-_*D,zoom:D},{duration:w?.duration,ease:w?.ease,interpolate:w?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{y({connection:{...CT}})},updateConnection:S=>{y({connection:S})},reset:()=>y({...I2()})}},Object.is);function IR({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:r,initialWidth:i,initialHeight:o,initialMinZoom:a,initialMaxZoom:u,initialFitViewOptions:d,fitView:m,nodeOrigin:p,nodeExtent:h,zIndexMode:g,children:y}){const[v]=j.useState(()=>fZ({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:i,height:o,fitView:m,minZoom:a,maxZoom:u,fitViewOptions:d,nodeOrigin:p,nodeExtent:h,zIndexMode:g}));return c.jsx(RX,{value:v,children:c.jsx(eK,{children:y})})}function mZ({children:e,nodes:t,edges:n,defaultNodes:r,defaultEdges:i,width:o,height:a,fitView:u,fitViewOptions:d,minZoom:m,maxZoom:p,nodeOrigin:h,nodeExtent:g,zIndexMode:y}){return j.useContext(Jm)?c.jsx(c.Fragment,{children:e}):c.jsx(IR,{initialNodes:t,initialEdges:n,defaultNodes:r,defaultEdges:i,initialWidth:o,initialHeight:a,fitView:u,initialFitViewOptions:d,initialMinZoom:m,initialMaxZoom:p,nodeOrigin:h,nodeExtent:g,zIndexMode:y,children:e})}const hZ={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function pZ({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:i,nodeTypes:o,edgeTypes:a,onNodeClick:u,onEdgeClick:d,onInit:m,onMove:p,onMoveStart:h,onMoveEnd:g,onConnect:y,onConnectStart:v,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:_,onNodeMouseEnter:w,onNodeMouseMove:C,onNodeMouseLeave:N,onNodeContextMenu:O,onNodeDoubleClick:I,onNodeDragStart:D,onNodeDrag:T,onNodeDragStop:L,onNodesDelete:A,onEdgesDelete:M,onDelete:$,onSelectionChange:W,onSelectionDragStart:B,onSelectionDrag:U,onSelectionDragStop:H,onSelectionContextMenu:V,onSelectionStart:Y,onSelectionEnd:Q,onBeforeDelete:q,connectionMode:G,connectionLineType:J=lo.Bezier,connectionLineStyle:P,connectionLineComponent:X,connectionLineContainerStyle:ee,deleteKeyCode:te="Backspace",selectionKeyCode:re="Shift",selectionOnDrag:oe=!1,selectionMode:de=Cu.Full,panActivationKeyCode:se="Space",multiSelectionKeyCode:Ee=Eu()?"Meta":"Control",zoomActivationKeyCode:we=Eu()?"Meta":"Control",snapToGrid:Ce,snapGrid:Be,onlyRenderVisibleElements:Ge=!1,selectNodesOnDrag:Ye,nodesDraggable:yt,autoPanOnNodeFocus:qt,nodesConnectable:bt,nodesFocusable:vt,nodeOrigin:me=nR,edgesFocusable:Oe,edgesReconnectable:rt,elementsSelectable:Qe=!0,defaultViewport:Je=UX,minZoom:fe=.5,maxZoom:be=2,translateExtent:Me=wu,preventScrolling:Fe=!0,nodeExtent:$e,defaultMarkerColor:Wt="#b1b1b7",zoomOnScroll:nn=!0,zoomOnPinch:ke=!0,panOnScroll:Te=!1,panOnScrollSpeed:Pe=.5,panOnScrollMode:Ve=Go.Free,zoomOnDoubleClick:qe=!0,panOnDrag:et=!0,onPaneClick:Mn,onPaneMouseEnter:Tn,onPaneMouseMove:Dn,onPaneMouseLeave:yn,onPaneScroll:Yt,onPaneContextMenu:Jt,paneClickDistance:Et=1,nodeClickDistance:wt=0,children:tt,onReconnect:it,onReconnectStart:rn,onReconnectEnd:Xt,onEdgeContextMenu:mt,onEdgeDoubleClick:Ht,onEdgeMouseEnter:On,onEdgeMouseMove:vn,onEdgeMouseLeave:Rn,reconnectRadius:ve=10,onNodesChange:Re,onEdgesChange:Xe,noDragClassName:He="nodrag",noWheelClassName:Tt="nowheel",noPanClassName:ht="nopan",fitView:$n,fitViewOptions:Ae,connectOnClick:Dt,attributionPosition:kn,proOptions:nr,defaultEdgeOptions:Sn,elevateNodesOnSelect:We=!0,elevateEdgesOnSelect:lr=!1,disableKeyboardA11y:cr=!1,autoPanOnConnect:mn,autoPanOnNodeDrag:Pt,autoPanSpeed:Zn,connectionRadius:wn,isValidConnection:pt,onError:Ar,style:jr,id:Qn,nodeDragThreshold:ct,connectionDragThreshold:cn,viewport:sn,onViewportChange:Nt,width:vr,height:ue,colorMode:Se="light",debug:Ue,onScroll:ft,ariaLabelConfig:Kt,zIndexMode:An="basic",...br},Cn){const Hn=Qn||"1",Er=YX(Se),hn=j.useCallback(Mr=>{Mr.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),ft?.(Mr)},[ft]);return c.jsx("div",{"data-testid":"rf__wrapper",...br,onScroll:hn,style:{...jr,...hZ},ref:Cn,className:Kn(["react-flow",i,Er]),id:Qn,role:"application",children:c.jsxs(mZ,{nodes:e,edges:t,width:vr,height:ue,fitView:$n,fitViewOptions:Ae,minZoom:fe,maxZoom:be,nodeOrigin:me,nodeExtent:$e,zIndexMode:An,children:[c.jsx(WX,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:y,onConnectStart:v,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:_,nodesDraggable:yt,autoPanOnNodeFocus:qt,nodesConnectable:bt,nodesFocusable:vt,edgesFocusable:Oe,edgesReconnectable:rt,elementsSelectable:Qe,elevateNodesOnSelect:We,elevateEdgesOnSelect:lr,minZoom:fe,maxZoom:be,nodeExtent:$e,onNodesChange:Re,onEdgesChange:Xe,snapToGrid:Ce,snapGrid:Be,connectionMode:G,translateExtent:Me,connectOnClick:Dt,defaultEdgeOptions:Sn,fitView:$n,fitViewOptions:Ae,onNodesDelete:A,onEdgesDelete:M,onDelete:$,onNodeDragStart:D,onNodeDrag:T,onNodeDragStop:L,onSelectionDrag:U,onSelectionDragStart:B,onSelectionDragStop:H,onMove:p,onMoveStart:h,onMoveEnd:g,noPanClassName:ht,nodeOrigin:me,rfId:Hn,autoPanOnConnect:mn,autoPanOnNodeDrag:Pt,autoPanSpeed:Zn,onError:Ar,connectionRadius:wn,isValidConnection:pt,selectNodesOnDrag:Ye,nodeDragThreshold:ct,connectionDragThreshold:cn,onBeforeDelete:q,debug:Ue,ariaLabelConfig:Kt,zIndexMode:An}),c.jsx(dZ,{onInit:m,onNodeClick:u,onEdgeClick:d,onNodeMouseEnter:w,onNodeMouseMove:C,onNodeMouseLeave:N,onNodeContextMenu:O,onNodeDoubleClick:I,nodeTypes:o,edgeTypes:a,connectionLineType:J,connectionLineStyle:P,connectionLineComponent:X,connectionLineContainerStyle:ee,selectionKeyCode:re,selectionOnDrag:oe,selectionMode:de,deleteKeyCode:te,multiSelectionKeyCode:Ee,panActivationKeyCode:se,zoomActivationKeyCode:we,onlyRenderVisibleElements:Ge,defaultViewport:Je,translateExtent:Me,minZoom:fe,maxZoom:be,preventScrolling:Fe,zoomOnScroll:nn,zoomOnPinch:ke,zoomOnDoubleClick:qe,panOnScroll:Te,panOnScrollSpeed:Pe,panOnScrollMode:Ve,panOnDrag:et,onPaneClick:Mn,onPaneMouseEnter:Tn,onPaneMouseMove:Dn,onPaneMouseLeave:yn,onPaneScroll:Yt,onPaneContextMenu:Jt,paneClickDistance:Et,nodeClickDistance:wt,onSelectionContextMenu:V,onSelectionStart:Y,onSelectionEnd:Q,onReconnect:it,onReconnectStart:rn,onReconnectEnd:Xt,onEdgeContextMenu:mt,onEdgeDoubleClick:Ht,onEdgeMouseEnter:On,onEdgeMouseMove:vn,onEdgeMouseLeave:Rn,reconnectRadius:ve,defaultMarkerColor:Wt,noDragClassName:He,noWheelClassName:Tt,noPanClassName:ht,rfId:Hn,disableKeyboardA11y:cr,nodeExtent:$e,viewport:sn,onViewportChange:Nt}),c.jsx(VX,{onSelectionChange:W}),tt,c.jsx(PX,{proOptions:nr,position:kn}),c.jsx(zX,{rfId:Hn,disableKeyboardA11y:cr})]})})}var gZ=sR(pZ);function xZ({dimensions:e,lineWidth:t,variant:n,className:r}){return c.jsx("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Kn(["react-flow__background-pattern",n,r])})}function yZ({radius:e,className:t}){return c.jsx("circle",{cx:e,cy:e,r:e,className:Kn(["react-flow__background-pattern","dots",t])})}var ho;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(ho||(ho={}));const vZ={[ho.Dots]:1,[ho.Lines]:1,[ho.Cross]:6},bZ=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function TR({id:e,variant:t=ho.Dots,gap:n=20,size:r,lineWidth:i=1,offset:o=0,color:a,bgColor:u,style:d,className:m,patternClassName:p}){const h=j.useRef(null),{transform:g,patternId:y}=Gt(bZ,Nn),v=r||vZ[t],k=t===ho.Dots,S=t===ho.Cross,_=Array.isArray(n)?n:[n,n],w=[_[0]*g[2]||1,_[1]*g[2]||1],C=v*g[2],N=Array.isArray(o)?o:[o,o],O=S?[C,C]:w,I=[N[0]*g[2]||1+O[0]/2,N[1]*g[2]||1+O[1]/2],D=`${y}${e||""}`;return c.jsxs("svg",{className:Kn(["react-flow__background",m]),style:{...d,...th,"--xy-background-color-props":u,"--xy-background-pattern-color-props":a},ref:h,"data-testid":"rf__background",children:[c.jsx("pattern",{id:D,x:g[0]%w[0],y:g[1]%w[1],width:w[0],height:w[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${I[0]},-${I[1]})`,children:k?c.jsx(yZ,{radius:C/2,className:p}):c.jsx(xZ,{dimensions:O,lineWidth:i,variant:t,className:p})}),c.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${D})`})]})}TR.displayName="Background";const _Z=j.memo(TR);function kZ(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:c.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function SZ(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:c.jsx("path",{d:"M0 0h32v4.2H0z"})})}function wZ(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:c.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function CZ(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:c.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function jZ(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:c.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function _f({children:e,className:t,...n}){return c.jsx("button",{type:"button",className:Kn(["react-flow__controls-button",t]),...n,children:e})}const EZ=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function RR({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:i,onZoomIn:o,onZoomOut:a,onFitView:u,onInteractiveChange:d,className:m,children:p,position:h="bottom-left",orientation:g="vertical","aria-label":y}){const v=In(),{isInteractive:k,minZoomReached:S,maxZoomReached:_,ariaLabelConfig:w}=Gt(EZ,Nn),{zoomIn:C,zoomOut:N,fitView:O}=Hv(),I=()=>{C(),o?.()},D=()=>{N(),a?.()},T=()=>{O(i),u?.()},L=()=>{v.setState({nodesDraggable:!k,nodesConnectable:!k,elementsSelectable:!k}),d?.(!k)},A=g==="horizontal"?"horizontal":"vertical";return c.jsxs(eh,{className:Kn(["react-flow__controls",A,m]),position:h,style:e,"data-testid":"rf__controls","aria-label":y??w["controls.ariaLabel"],children:[t&&c.jsxs(c.Fragment,{children:[c.jsx(_f,{onClick:I,className:"react-flow__controls-zoomin",title:w["controls.zoomIn.ariaLabel"],"aria-label":w["controls.zoomIn.ariaLabel"],disabled:_,children:c.jsx(kZ,{})}),c.jsx(_f,{onClick:D,className:"react-flow__controls-zoomout",title:w["controls.zoomOut.ariaLabel"],"aria-label":w["controls.zoomOut.ariaLabel"],disabled:S,children:c.jsx(SZ,{})})]}),n&&c.jsx(_f,{className:"react-flow__controls-fitview",onClick:T,title:w["controls.fitView.ariaLabel"],"aria-label":w["controls.fitView.ariaLabel"],children:c.jsx(wZ,{})}),r&&c.jsx(_f,{className:"react-flow__controls-interactive",onClick:L,title:w["controls.interactive.ariaLabel"],"aria-label":w["controls.interactive.ariaLabel"],children:k?c.jsx(jZ,{}):c.jsx(CZ,{})}),p]})}RR.displayName="Controls";const NZ=j.memo(RR);function IZ({id:e,x:t,y:n,width:r,height:i,style:o,color:a,strokeColor:u,strokeWidth:d,className:m,borderRadius:p,shapeRendering:h,selected:g,onClick:y}){const{background:v,backgroundColor:k}=o||{},S=a||v||k;return c.jsx("rect",{className:Kn(["react-flow__minimap-node",{selected:g},m]),x:t,y:n,rx:p,ry:p,width:r,height:i,style:{fill:S,stroke:u,strokeWidth:d},shapeRendering:h,onClick:y?_=>y(_,e):void 0})}const TZ=j.memo(IZ),RZ=e=>e.nodes.map(t=>t.id),Ix=e=>e instanceof Function?e:()=>e;function AZ({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:r=5,nodeStrokeWidth:i,nodeComponent:o=TZ,onClick:a}){const u=Gt(RZ,Nn),d=Ix(t),m=Ix(e),p=Ix(n),h=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return c.jsx(c.Fragment,{children:u.map(g=>c.jsx(DZ,{id:g,nodeColorFunc:d,nodeStrokeColorFunc:m,nodeClassNameFunc:p,nodeBorderRadius:r,nodeStrokeWidth:i,NodeComponent:o,onClick:a,shapeRendering:h},g))})}function MZ({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:r,nodeBorderRadius:i,nodeStrokeWidth:o,shapeRendering:a,NodeComponent:u,onClick:d}){const{node:m,x:p,y:h,width:g,height:y}=Gt(v=>{const k=v.nodeLookup.get(e);if(!k)return{node:void 0,x:0,y:0,width:0,height:0};const S=k.internals.userNode,{x:_,y:w}=k.internals.positionAbsolute,{width:C,height:N}=Ts(S);return{node:S,x:_,y:w,width:C,height:N}},Nn);return!m||m.hidden||!AT(m)?null:c.jsx(u,{x:p,y:h,width:g,height:y,style:m.style,selected:!!m.selected,className:r(m),color:t(m),borderRadius:i,strokeColor:n(m),strokeWidth:o,shapeRendering:a,onClick:d,id:m.id})}const DZ=j.memo(MZ);var OZ=j.memo(AZ);const LZ=200,zZ=150,PZ=e=>!e.hidden,BZ=e=>{const t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:t,boundingRect:e.nodeLookup.size>0?RT(Pu(e.nodeLookup,{filter:PZ}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},$Z="react-flow__minimap-desc";function AR({style:e,className:t,nodeStrokeColor:n,nodeColor:r,nodeClassName:i="",nodeBorderRadius:o=5,nodeStrokeWidth:a,nodeComponent:u,bgColor:d,maskColor:m,maskStrokeColor:p,maskStrokeWidth:h,position:g="bottom-right",onClick:y,onNodeClick:v,pannable:k=!1,zoomable:S=!1,ariaLabel:_,inversePan:w,zoomStep:C=1,offsetScale:N=5}){const O=In(),I=j.useRef(null),{boundingRect:D,viewBB:T,rfId:L,panZoom:A,translateExtent:M,flowWidth:$,flowHeight:W,ariaLabelConfig:B}=Gt(BZ,Nn),U=e?.width??LZ,H=e?.height??zZ,V=D.width/U,Y=D.height/H,Q=Math.max(V,Y),q=Q*U,G=Q*H,J=N*Q,P=D.x-(q-D.width)/2-J,X=D.y-(G-D.height)/2-J,ee=q+J*2,te=G+J*2,re=`${$Z}-${L}`,oe=j.useRef(0),de=j.useRef();oe.current=Q,j.useEffect(()=>{if(I.current&&A)return de.current=iX({domNode:I.current,panZoom:A,getTransform:()=>O.getState().transform,getViewScale:()=>oe.current}),()=>{de.current?.destroy()}},[A]),j.useEffect(()=>{de.current?.update({translateExtent:M,width:$,height:W,inversePan:w,pannable:k,zoomStep:C,zoomable:S})},[k,S,w,C,M,$,W]);const se=y?Ce=>{const[Be,Ge]=de.current?.pointer(Ce)||[0,0];y(Ce,{x:Be,y:Ge})}:void 0,Ee=v?j.useCallback((Ce,Be)=>{const Ge=O.getState().nodeLookup.get(Be).internals.userNode;v(Ce,Ge)},[]):void 0,we=_??B["minimap.ariaLabel"];return c.jsx(eh,{position:g,style:{...e,"--xy-minimap-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-background-color-props":typeof m=="string"?m:void 0,"--xy-minimap-mask-stroke-color-props":typeof p=="string"?p:void 0,"--xy-minimap-mask-stroke-width-props":typeof h=="number"?h*Q:void 0,"--xy-minimap-node-background-color-props":typeof r=="string"?r:void 0,"--xy-minimap-node-stroke-color-props":typeof n=="string"?n:void 0,"--xy-minimap-node-stroke-width-props":typeof a=="number"?a:void 0},className:Kn(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:c.jsxs("svg",{width:U,height:H,viewBox:`${P} ${X} ${ee} ${te}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":re,ref:I,onClick:se,children:[we&&c.jsx("title",{id:re,children:we}),c.jsx(OZ,{onClick:Ee,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:o,nodeClassName:i,nodeStrokeWidth:a,nodeComponent:u}),c.jsx("path",{className:"react-flow__minimap-mask",d:`M${P-J},${X-J}h${ee+J*2}v${te+J*2}h${-ee-J*2}z + M${T.x},${T.y}h${T.width}v${T.height}h${-T.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}AR.displayName="MiniMap";const HZ=j.memo(AR),FZ=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,VZ={[Cl.Line]:"right",[Cl.Handle]:"bottom-right"};function UZ({nodeId:e,position:t,variant:n=Cl.Handle,className:r,style:i=void 0,children:o,color:a,minWidth:u=10,minHeight:d=10,maxWidth:m=Number.MAX_VALUE,maxHeight:p=Number.MAX_VALUE,keepAspectRatio:h=!1,resizeDirection:g,autoScale:y=!0,shouldResize:v,onResizeStart:k,onResize:S,onResizeEnd:_}){const w=cR(),C=typeof e=="string"?e:w,N=In(),O=j.useRef(null),I=n===Cl.Handle,D=Gt(j.useCallback(FZ(I&&y),[I,y]),Nn),T=j.useRef(null),L=t??VZ[n];j.useEffect(()=>{if(!(!O.current||!C))return T.current||(T.current=yX({domNode:O.current,nodeId:C,getStoreItems:()=>{const{nodeLookup:M,transform:$,snapGrid:W,snapToGrid:B,nodeOrigin:U,domNode:H}=N.getState();return{nodeLookup:M,transform:$,snapGrid:W,snapToGrid:B,nodeOrigin:U,paneDomNode:H}},onChange:(M,$)=>{const{triggerNodeChanges:W,nodeLookup:B,parentLookup:U,nodeOrigin:H}=N.getState(),V=[],Y={x:M.x,y:M.y},Q=B.get(C);if(Q&&Q.expandParent&&Q.parentId){const q=Q.origin??H,G=M.width??Q.measured.width??0,J=M.height??Q.measured.height??0,P={id:Q.id,parentId:Q.parentId,rect:{width:G,height:J,...MT({x:M.x??Q.position.x,y:M.y??Q.position.y},{width:G,height:J},Q.parentId,B,q)}},X=$v([P],B,U,H);V.push(...X),Y.x=M.x?Math.max(q[0]*G,M.x):void 0,Y.y=M.y?Math.max(q[1]*J,M.y):void 0}if(Y.x!==void 0&&Y.y!==void 0){const q={id:C,type:"position",position:{...Y}};V.push(q)}if(M.width!==void 0&&M.height!==void 0){const G={id:C,type:"dimensions",resizing:!0,setAttributes:g?g==="horizontal"?"width":"height":!0,dimensions:{width:M.width,height:M.height}};V.push(G)}for(const q of $){const G={...q,type:"position"};V.push(G)}W(V)},onEnd:({width:M,height:$})=>{const W={id:C,type:"dimensions",resizing:!1,dimensions:{width:M,height:$}};N.getState().triggerNodeChanges([W])}})),T.current.update({controlPosition:L,boundaries:{minWidth:u,minHeight:d,maxWidth:m,maxHeight:p},keepAspectRatio:h,resizeDirection:g,onResizeStart:k,onResize:S,onResizeEnd:_,shouldResize:v}),()=>{T.current?.destroy()}},[L,u,d,m,p,h,k,S,_,v]);const A=L.split("-");return c.jsx("div",{className:Kn(["react-flow__resize-control","nodrag",...A,n,r]),ref:O,style:{...i,scale:D,...a&&{[I?"backgroundColor":"borderColor"]:a}},children:o})}j.memo(UZ);const GZ=j.memo(function({data:t}){const n=["oc-canvas-node",t.isOwner&&"is-owner",t.isSelected&&"is-selected",t.isDropTarget&&"is-drop-target"].filter(Boolean).join(" "),r=Du(t.icon);return c.jsxs("div",{className:n,children:[c.jsx(jl,{type:"target",position:at.Top,className:"oc-canvas-handle"}),c.jsxs("div",{className:"oc-canvas-node-row",children:[c.jsx("div",{className:"oc-canvas-node-chip",children:c.jsx("span",{className:"oc-canvas-node-chip-icon",style:{WebkitMaskImage:`url("${r}")`,maskImage:`url("${r}")`},"aria-hidden":!0})}),c.jsxs("div",{className:"oc-canvas-node-text",children:[c.jsx("span",{className:"oc-canvas-node-name",children:t.name}),c.jsxs("div",{className:"oc-canvas-node-meta",children:[t.employeeNames.length>0?c.jsxs("span",{className:"oc-canvas-node-person",title:t.employeeNames.join(", "),children:[t.employeeNames[0],t.employeeNames.length>1?` +${t.employeeNames.length-1}`:""]}):c.jsx("span",{className:"oc-canvas-node-id",children:t.roleId}),t.employeeCount>0&&c.jsx("span",{className:"oc-canvas-node-badge",children:t.employeeCount})]})]})]}),c.jsx(jl,{type:"source",position:at.Bottom,className:"oc-canvas-handle"})]})});var Tx,T2;function Vv(){if(T2)return Tx;T2=1;var e="\0",t="\0",n="";class r{_isDirected=!0;_isMultigraph=!1;_isCompound=!1;_label;_defaultNodeLabelFn=()=>{};_defaultEdgeLabelFn=()=>{};_nodes={};_in={};_preds={};_out={};_sucs={};_edgeObjs={};_edgeLabels={};_nodeCount=0;_edgeCount=0;_parent;_children;constructor(p){p&&(this._isDirected=Object.hasOwn(p,"directed")?p.directed:!0,this._isMultigraph=Object.hasOwn(p,"multigraph")?p.multigraph:!1,this._isCompound=Object.hasOwn(p,"compound")?p.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[t]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(p){return this._label=p,this}graph(){return this._label}setDefaultNodeLabel(p){return this._defaultNodeLabelFn=p,typeof p!="function"&&(this._defaultNodeLabelFn=()=>p),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var p=this;return this.nodes().filter(h=>Object.keys(p._in[h]).length===0)}sinks(){var p=this;return this.nodes().filter(h=>Object.keys(p._out[h]).length===0)}setNodes(p,h){var g=arguments,y=this;return p.forEach(function(v){g.length>1?y.setNode(v,h):y.setNode(v)}),this}setNode(p,h){return Object.hasOwn(this._nodes,p)?(arguments.length>1&&(this._nodes[p]=h),this):(this._nodes[p]=arguments.length>1?h:this._defaultNodeLabelFn(p),this._isCompound&&(this._parent[p]=t,this._children[p]={},this._children[t][p]=!0),this._in[p]={},this._preds[p]={},this._out[p]={},this._sucs[p]={},++this._nodeCount,this)}node(p){return this._nodes[p]}hasNode(p){return Object.hasOwn(this._nodes,p)}removeNode(p){var h=this;if(Object.hasOwn(this._nodes,p)){var g=y=>h.removeEdge(h._edgeObjs[y]);delete this._nodes[p],this._isCompound&&(this._removeFromParentsChildList(p),delete this._parent[p],this.children(p).forEach(function(y){h.setParent(y)}),delete this._children[p]),Object.keys(this._in[p]).forEach(g),delete this._in[p],delete this._preds[p],Object.keys(this._out[p]).forEach(g),delete this._out[p],delete this._sucs[p],--this._nodeCount}return this}setParent(p,h){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(h===void 0)h=t;else{h+="";for(var g=h;g!==void 0;g=this.parent(g))if(g===p)throw new Error("Setting "+h+" as parent of "+p+" would create a cycle");this.setNode(h)}return this.setNode(p),this._removeFromParentsChildList(p),this._parent[p]=h,this._children[h][p]=!0,this}_removeFromParentsChildList(p){delete this._children[this._parent[p]][p]}parent(p){if(this._isCompound){var h=this._parent[p];if(h!==t)return h}}children(p=t){if(this._isCompound){var h=this._children[p];if(h)return Object.keys(h)}else{if(p===t)return this.nodes();if(this.hasNode(p))return[]}}predecessors(p){var h=this._preds[p];if(h)return Object.keys(h)}successors(p){var h=this._sucs[p];if(h)return Object.keys(h)}neighbors(p){var h=this.predecessors(p);if(h){const y=new Set(h);for(var g of this.successors(p))y.add(g);return Array.from(y.values())}}isLeaf(p){var h;return this.isDirected()?h=this.successors(p):h=this.neighbors(p),h.length===0}filterNodes(p){var h=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});h.setGraph(this.graph());var g=this;Object.entries(this._nodes).forEach(function([k,S]){p(k)&&h.setNode(k,S)}),Object.values(this._edgeObjs).forEach(function(k){h.hasNode(k.v)&&h.hasNode(k.w)&&h.setEdge(k,g.edge(k))});var y={};function v(k){var S=g.parent(k);return S===void 0||h.hasNode(S)?(y[k]=S,S):S in y?y[S]:v(S)}return this._isCompound&&h.nodes().forEach(k=>h.setParent(k,v(k))),h}setDefaultEdgeLabel(p){return this._defaultEdgeLabelFn=p,typeof p!="function"&&(this._defaultEdgeLabelFn=()=>p),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(p,h){var g=this,y=arguments;return p.reduce(function(v,k){return y.length>1?g.setEdge(v,k,h):g.setEdge(v,k),k}),this}setEdge(){var p,h,g,y,v=!1,k=arguments[0];typeof k=="object"&&k!==null&&"v"in k?(p=k.v,h=k.w,g=k.name,arguments.length===2&&(y=arguments[1],v=!0)):(p=k,h=arguments[1],g=arguments[3],arguments.length>2&&(y=arguments[2],v=!0)),p=""+p,h=""+h,g!==void 0&&(g=""+g);var S=a(this._isDirected,p,h,g);if(Object.hasOwn(this._edgeLabels,S))return v&&(this._edgeLabels[S]=y),this;if(g!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(p),this.setNode(h),this._edgeLabels[S]=v?y:this._defaultEdgeLabelFn(p,h,g);var _=u(this._isDirected,p,h,g);return p=_.v,h=_.w,Object.freeze(_),this._edgeObjs[S]=_,i(this._preds[h],p),i(this._sucs[p],h),this._in[h][S]=_,this._out[p][S]=_,this._edgeCount++,this}edge(p,h,g){var y=arguments.length===1?d(this._isDirected,arguments[0]):a(this._isDirected,p,h,g);return this._edgeLabels[y]}edgeAsObj(){const p=this.edge(...arguments);return typeof p!="object"?{label:p}:p}hasEdge(p,h,g){var y=arguments.length===1?d(this._isDirected,arguments[0]):a(this._isDirected,p,h,g);return Object.hasOwn(this._edgeLabels,y)}removeEdge(p,h,g){var y=arguments.length===1?d(this._isDirected,arguments[0]):a(this._isDirected,p,h,g),v=this._edgeObjs[y];return v&&(p=v.v,h=v.w,delete this._edgeLabels[y],delete this._edgeObjs[y],o(this._preds[h],p),o(this._sucs[p],h),delete this._in[h][y],delete this._out[p][y],this._edgeCount--),this}inEdges(p,h){var g=this._in[p];if(g){var y=Object.values(g);return h?y.filter(v=>v.v===h):y}}outEdges(p,h){var g=this._out[p];if(g){var y=Object.values(g);return h?y.filter(v=>v.w===h):y}}nodeEdges(p,h){var g=this.inEdges(p,h);if(g)return g.concat(this.outEdges(p,h))}}function i(m,p){m[p]?m[p]++:m[p]=1}function o(m,p){--m[p]||delete m[p]}function a(m,p,h,g){var y=""+p,v=""+h;if(!m&&y>v){var k=y;y=v,v=k}return y+n+v+n+(g===void 0?e:g)}function u(m,p,h,g){var y=""+p,v=""+h;if(!m&&y>v){var k=y;y=v,v=k}var S={v:y,w:v};return g&&(S.name=g),S}function d(m,p){return a(m,p.v,p.w,p.name)}return Tx=r,Tx}var Rx,R2;function qZ(){return R2||(R2=1,Rx="2.2.4"),Rx}var Ax,A2;function WZ(){return A2||(A2=1,Ax={Graph:Vv(),version:qZ()}),Ax}var Mx,M2;function YZ(){if(M2)return Mx;M2=1;var e=Vv();Mx={write:t,read:i};function t(o){var a={options:{directed:o.isDirected(),multigraph:o.isMultigraph(),compound:o.isCompound()},nodes:n(o),edges:r(o)};return o.graph()!==void 0&&(a.value=structuredClone(o.graph())),a}function n(o){return o.nodes().map(function(a){var u=o.node(a),d=o.parent(a),m={v:a};return u!==void 0&&(m.value=u),d!==void 0&&(m.parent=d),m})}function r(o){return o.edges().map(function(a){var u=o.edge(a),d={v:a.v,w:a.w};return a.name!==void 0&&(d.name=a.name),u!==void 0&&(d.value=u),d})}function i(o){var a=new e(o.options).setGraph(o.value);return o.nodes.forEach(function(u){a.setNode(u.v,u.value),u.parent&&a.setParent(u.v,u.parent)}),o.edges.forEach(function(u){a.setEdge({v:u.v,w:u.w,name:u.name},u.value)}),a}return Mx}var Dx,D2;function XZ(){if(D2)return Dx;D2=1,Dx=e;function e(t){var n={},r=[],i;function o(a){Object.hasOwn(n,a)||(n[a]=!0,i.push(a),t.successors(a).forEach(o),t.predecessors(a).forEach(o))}return t.nodes().forEach(function(a){i=[],o(a),i.length&&r.push(i)}),r}return Dx}var Ox,O2;function MR(){if(O2)return Ox;O2=1;class e{_arr=[];_keyIndices={};size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var r=this._keyIndices[n];if(r!==void 0)return this._arr[r].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,r){var i=this._keyIndices;if(n=String(n),!Object.hasOwn(i,n)){var o=this._arr,a=o.length;return i[n]=a,o.push({key:n,priority:r}),this._decrease(a),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,r){var i=this._keyIndices[n];if(r>this._arr[i].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[i].priority+" New: "+r);this._arr[i].priority=r,this._decrease(i)}_heapify(n){var r=this._arr,i=2*n,o=i+1,a=n;i>1,!(r[o].priority1;function n(i,o,a,u){return r(i,String(o),a||t,u||function(d){return i.outEdges(d)})}function r(i,o,a,u){var d={},m=new e,p,h,g=function(y){var v=y.v!==p?y.v:y.w,k=d[v],S=a(y),_=h.distance+S;if(S<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+y+" Weight: "+S);_0&&(p=m.removeMin(),h=d[p],h.distance!==Number.POSITIVE_INFINITY);)u(p).forEach(g);return d}return Lx}var zx,z2;function KZ(){if(z2)return zx;z2=1;var e=DR();zx=t;function t(n,r,i){return n.nodes().reduce(function(o,a){return o[a]=e(n,a,r,i),o},{})}return zx}var Px,P2;function OR(){if(P2)return Px;P2=1,Px=e;function e(t){var n=0,r=[],i={},o=[];function a(u){var d=i[u]={onStack:!0,lowlink:n,index:n++};if(r.push(u),t.successors(u).forEach(function(h){Object.hasOwn(i,h)?i[h].onStack&&(d.lowlink=Math.min(d.lowlink,i[h].index)):(a(h),d.lowlink=Math.min(d.lowlink,i[h].lowlink))}),d.lowlink===d.index){var m=[],p;do p=r.pop(),i[p].onStack=!1,m.push(p);while(u!==p);o.push(m)}}return t.nodes().forEach(function(u){Object.hasOwn(i,u)||a(u)}),o}return Px}var Bx,B2;function ZZ(){if(B2)return Bx;B2=1;var e=OR();Bx=t;function t(n){return e(n).filter(function(r){return r.length>1||r.length===1&&n.hasEdge(r[0],r[0])})}return Bx}var $x,$2;function QZ(){if($2)return $x;$2=1,$x=t;var e=()=>1;function t(r,i,o){return n(r,i||e,o||function(a){return r.outEdges(a)})}function n(r,i,o){var a={},u=r.nodes();return u.forEach(function(d){a[d]={},a[d][d]={distance:0},u.forEach(function(m){d!==m&&(a[d][m]={distance:Number.POSITIVE_INFINITY})}),o(d).forEach(function(m){var p=m.v===d?m.w:m.v,h=i(m);a[d][p]={distance:h,predecessor:d}})}),u.forEach(function(d){var m=a[d];u.forEach(function(p){var h=a[p];u.forEach(function(g){var y=h[d],v=m[g],k=h[g],S=y.distance+v.distance;Si.successors(h):h=>i.neighbors(h),d=a==="post"?t:n,m=[],p={};return o.forEach(h=>{if(!i.hasNode(h))throw new Error("Graph does not have node: "+h);d(h,u,p,m)}),m}function t(i,o,a,u){for(var d=[[i,!1]];d.length>0;){var m=d.pop();m[1]?u.push(m[0]):Object.hasOwn(a,m[0])||(a[m[0]]=!0,d.push([m[0],!0]),r(o(m[0]),p=>d.push([p,!1])))}}function n(i,o,a,u){for(var d=[i];d.length>0;){var m=d.pop();Object.hasOwn(a,m)||(a[m]=!0,u.push(m),r(o(m),p=>d.push(p)))}}function r(i,o){for(var a=i.length;a--;)o(i[a],a,i);return i}return Vx}var Ux,U2;function eQ(){if(U2)return Ux;U2=1;var e=zR();Ux=t;function t(n,r){return e(n,r,"post")}return Ux}var Gx,G2;function tQ(){if(G2)return Gx;G2=1;var e=zR();Gx=t;function t(n,r){return e(n,r,"pre")}return Gx}var qx,q2;function nQ(){if(q2)return qx;q2=1;var e=Vv(),t=MR();qx=n;function n(r,i){var o=new e,a={},u=new t,d;function m(h){var g=h.v===d?h.w:h.v,y=u.priority(g);if(y!==void 0){var v=i(h);v0;){if(d=u.removeMin(),Object.hasOwn(a,d))o.setEdge(d,a[d]);else{if(p)throw new Error("Input graph is not connected: "+r);p=!0}r.nodeEdges(d).forEach(m)}return o}return qx}var Wx,W2;function rQ(){return W2||(W2=1,Wx={components:XZ(),dijkstra:DR(),dijkstraAll:KZ(),findCycles:ZZ(),floydWarshall:QZ(),isAcyclic:JZ(),postorder:eQ(),preorder:tQ(),prim:nQ(),tarjan:OR(),topsort:LR()}),Wx}var Yx,Y2;function Oi(){if(Y2)return Yx;Y2=1;var e=WZ();return Yx={Graph:e.Graph,json:YZ(),alg:rQ(),version:e.version},Yx}var Xx,X2;function iQ(){if(X2)return Xx;X2=1;class e{constructor(){let i={};i._next=i._prev=i,this._sentinel=i}dequeue(){let i=this._sentinel,o=i._prev;if(o!==i)return t(o),o}enqueue(i){let o=this._sentinel;i._prev&&i._next&&t(i),i._next=o._next,o._next._prev=i,o._next=i,i._prev=o}toString(){let i=[],o=this._sentinel,a=o._prev;for(;a!==o;)i.push(JSON.stringify(a,n)),a=a._prev;return"["+i.join(", ")+"]"}}function t(r){r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev}function n(r,i){if(r!=="_next"&&r!=="_prev")return i}return Xx=e,Xx}var Kx,K2;function sQ(){if(K2)return Kx;K2=1;let e=Oi().Graph,t=iQ();Kx=r;let n=()=>1;function r(m,p){if(m.nodeCount()<=1)return[];let h=a(m,p||n);return i(h.graph,h.buckets,h.zeroIdx).flatMap(y=>m.outEdges(y.v,y.w))}function i(m,p,h){let g=[],y=p[p.length-1],v=p[0],k;for(;m.nodeCount();){for(;k=v.dequeue();)o(m,p,h,k);for(;k=y.dequeue();)o(m,p,h,k);if(m.nodeCount()){for(let S=p.length-2;S>0;--S)if(k=p[S].dequeue(),k){g=g.concat(o(m,p,h,k,!0));break}}}return g}function o(m,p,h,g,y){let v=y?[]:void 0;return m.inEdges(g.v).forEach(k=>{let S=m.edge(k),_=m.node(k.v);y&&v.push({v:k.v,w:k.w}),_.out-=S,u(p,h,_)}),m.outEdges(g.v).forEach(k=>{let S=m.edge(k),_=k.w,w=m.node(_);w.in-=S,u(p,h,w)}),m.removeNode(g.v),v}function a(m,p){let h=new e,g=0,y=0;m.nodes().forEach(S=>{h.setNode(S,{v:S,in:0,out:0})}),m.edges().forEach(S=>{let _=h.edge(S.v,S.w)||0,w=p(S),C=_+w;h.setEdge(S.v,S.w,C),y=Math.max(y,h.node(S.v).out+=w),g=Math.max(g,h.node(S.w).in+=w)});let v=d(y+g+3).map(()=>new t),k=g+1;return h.nodes().forEach(S=>{u(v,k,h.node(S))}),{graph:h,buckets:v,zeroIdx:k}}function u(m,p,h){h.out?h.in?m[h.out-h.in+p].enqueue(h):m[m.length-1].enqueue(h):m[0].enqueue(h)}function d(m){const p=[];for(let h=0;hL.setNode(A,T.node(A))),T.edges().forEach(A=>{let M=L.edge(A.v,A.w)||{weight:0,minlen:1},$=T.edge(A);L.setEdge(A.v,A.w,{weight:M.weight+$.weight,minlen:Math.max(M.minlen,$.minlen)})}),L}function r(T){let L=new e({multigraph:T.isMultigraph()}).setGraph(T.graph());return T.nodes().forEach(A=>{T.children(A).length||L.setNode(A,T.node(A))}),T.edges().forEach(A=>{L.setEdge(A,T.edge(A))}),L}function i(T){let L=T.nodes().map(A=>{let M={};return T.outEdges(A).forEach($=>{M[$.w]=(M[$.w]||0)+T.edge($).weight}),M});return D(T.nodes(),L)}function o(T){let L=T.nodes().map(A=>{let M={};return T.inEdges(A).forEach($=>{M[$.v]=(M[$.v]||0)+T.edge($).weight}),M});return D(T.nodes(),L)}function a(T,L){let A=T.x,M=T.y,$=L.x-A,W=L.y-M,B=T.width/2,U=T.height/2;if(!$&&!W)throw new Error("Not possible to find intersection inside of the rectangle");let H,V;return Math.abs(W)*B>Math.abs($)*U?(W<0&&(U=-U),H=U*$/W,V=U):($<0&&(B=-B),H=B,V=B*W/$),{x:A+H,y:M+V}}function u(T){let L=N(v(T)+1).map(()=>[]);return T.nodes().forEach(A=>{let M=T.node(A),$=M.rank;$!==void 0&&(L[$][M.order]=A)}),L}function d(T){let L=T.nodes().map(M=>{let $=T.node(M).rank;return $===void 0?Number.MAX_VALUE:$}),A=y(Math.min,L);T.nodes().forEach(M=>{let $=T.node(M);Object.hasOwn($,"rank")&&($.rank-=A)})}function m(T){let L=T.nodes().map(B=>T.node(B).rank),A=y(Math.min,L),M=[];T.nodes().forEach(B=>{let U=T.node(B).rank-A;M[U]||(M[U]=[]),M[U].push(B)});let $=0,W=T.graph().nodeRankFactor;Array.from(M).forEach((B,U)=>{B===void 0&&U%W!==0?--$:B!==void 0&&$&&B.forEach(H=>T.node(H).rank+=$)})}function p(T,L,A,M){let $={width:0,height:0};return arguments.length>=4&&($.rank=A,$.order=M),t(T,"border",$,L)}function h(T,L=g){const A=[];for(let M=0;Mg){const A=h(L);return T.apply(null,A.map(M=>T.apply(null,M)))}else return T.apply(null,L)}function v(T){const A=T.nodes().map(M=>{let $=T.node(M).rank;return $===void 0?Number.MIN_VALUE:$});return y(Math.max,A)}function k(T,L){let A={lhs:[],rhs:[]};return T.forEach(M=>{L(M)?A.lhs.push(M):A.rhs.push(M)}),A}function S(T,L){let A=Date.now();try{return L()}finally{console.log(T+" time: "+(Date.now()-A)+"ms")}}function _(T,L){return L()}let w=0;function C(T){var L=++w;return T+(""+L)}function N(T,L,A=1){L==null&&(L=T,T=0);let M=W=>WLM[L]),Object.entries(T).reduce((M,[$,W])=>(M[$]=A(W,$),M),{})}function D(T,L){return T.reduce((A,M,$)=>(A[M]=L[$],A),{})}return Zx}var Qx,Q2;function oQ(){if(Q2)return Qx;Q2=1;let e=sQ(),t=Xn().uniqueId;Qx={run:n,undo:i};function n(o){(o.graph().acyclicer==="greedy"?e(o,u(o)):r(o)).forEach(d=>{let m=o.edge(d);o.removeEdge(d),m.forwardName=d.name,m.reversed=!0,o.setEdge(d.w,d.v,m,t("rev"))});function u(d){return m=>d.edge(m).weight}}function r(o){let a=[],u={},d={};function m(p){Object.hasOwn(d,p)||(d[p]=!0,u[p]=!0,o.outEdges(p).forEach(h=>{Object.hasOwn(u,h.w)?a.push(h):m(h.w)}),delete u[p])}return o.nodes().forEach(m),a}function i(o){o.edges().forEach(a=>{let u=o.edge(a);if(u.reversed){o.removeEdge(a);let d=u.forwardName;delete u.reversed,delete u.forwardName,o.setEdge(a.w,a.v,u,d)}})}return Qx}var Jx,J2;function aQ(){if(J2)return Jx;J2=1;let e=Xn();Jx={run:t,undo:r};function t(i){i.graph().dummyChains=[],i.edges().forEach(o=>n(i,o))}function n(i,o){let a=o.v,u=i.node(a).rank,d=o.w,m=i.node(d).rank,p=o.name,h=i.edge(o),g=h.labelRank;if(m===u+1)return;i.removeEdge(o);let y,v,k;for(k=0,++u;u{let a=i.node(o),u=a.edgeLabel,d;for(i.setEdge(a.edgeObj,u);a.dummy;)d=i.successors(o)[0],i.removeNode(o),u.points.push({x:a.x,y:a.y}),a.dummy==="edge-label"&&(u.x=a.x,u.y=a.y,u.width=a.width,u.height=a.height),o=d,a=i.node(o)})}return Jx}var ey,ej;function bm(){if(ej)return ey;ej=1;const{applyWithChunking:e}=Xn();ey={longestPath:t,slack:n};function t(r){var i={};function o(a){var u=r.node(a);if(Object.hasOwn(i,a))return u.rank;i[a]=!0;let d=r.outEdges(a).map(p=>p==null?Number.POSITIVE_INFINITY:o(p.w)-r.edge(p).minlen);var m=e(Math.min,d);return m===Number.POSITIVE_INFINITY&&(m=0),u.rank=m}r.sources().forEach(o)}function n(r,i){return r.node(i.w).rank-r.node(i.v).rank-r.edge(i).minlen}return ey}var ty,tj;function PR(){if(tj)return ty;tj=1;var e=Oi().Graph,t=bm().slack;ty=n;function n(a){var u=new e({directed:!1}),d=a.nodes()[0],m=a.nodeCount();u.setNode(d,{});for(var p,h;r(u,a){var h=p.v,g=m===h?p.w:h;!a.hasNode(g)&&!t(u,p)&&(a.setNode(g,{}),a.setEdge(m,g,{}),d(g))})}return a.nodes().forEach(d),a.nodeCount()}function i(a,u){return u.edges().reduce((m,p)=>{let h=Number.POSITIVE_INFINITY;return a.hasNode(p.v)!==a.hasNode(p.w)&&(h=t(u,p)),hu.node(m).rank+=d)}return ty}var ny,nj;function lQ(){if(nj)return ny;nj=1;var e=PR(),t=bm().slack,n=bm().longestPath,r=Oi().alg.preorder,i=Oi().alg.postorder,o=Xn().simplify;ny=a,a.initLowLimValues=p,a.initCutValues=u,a.calcCutValue=m,a.leaveEdge=g,a.enterEdge=y,a.exchangeEdges=v;function a(w){w=o(w),n(w);var C=e(w);p(C),u(C,w);for(var N,O;N=g(C);)O=y(C,w,N),v(C,w,N,O)}function u(w,C){var N=i(w,w.nodes());N=N.slice(0,N.length-1),N.forEach(O=>d(w,C,O))}function d(w,C,N){var O=w.node(N),I=O.parent;w.edge(N,I).cutvalue=m(w,C,N)}function m(w,C,N){var O=w.node(N),I=O.parent,D=!0,T=C.edge(N,I),L=0;return T||(D=!1,T=C.edge(I,N)),L=T.weight,C.nodeEdges(N).forEach(A=>{var M=A.v===N,$=M?A.w:A.v;if($!==I){var W=M===D,B=C.edge(A).weight;if(L+=W?B:-B,S(w,N,$)){var U=w.edge(N,$).cutvalue;L+=W?-U:U}}}),L}function p(w,C){arguments.length<2&&(C=w.nodes()[0]),h(w,{},1,C)}function h(w,C,N,O,I){var D=N,T=w.node(O);return C[O]=!0,w.neighbors(O).forEach(L=>{Object.hasOwn(C,L)||(N=h(w,C,N,L,O))}),T.low=D,T.lim=N++,I?T.parent=I:delete T.parent,N}function g(w){return w.edges().find(C=>w.edge(C).cutvalue<0)}function y(w,C,N){var O=N.v,I=N.w;C.hasEdge(O,I)||(O=N.w,I=N.v);var D=w.node(O),T=w.node(I),L=D,A=!1;D.lim>T.lim&&(L=T,A=!0);var M=C.edges().filter($=>A===_(w,w.node($.v),L)&&A!==_(w,w.node($.w),L));return M.reduce(($,W)=>t(C,W)!C.node(I).parent),O=r(w,N);O=O.slice(1),O.forEach(I=>{var D=w.node(I).parent,T=C.edge(I,D),L=!1;T||(T=C.edge(D,I),L=!0),C.node(I).rank=C.node(D).rank+(L?T.minlen:-T.minlen)})}function S(w,C,N){return w.hasEdge(C,N)}function _(w,C,N){return N.low<=C.lim&&C.lim<=N.lim}return ny}var ry,rj;function cQ(){if(rj)return ry;rj=1;var e=bm(),t=e.longestPath,n=PR(),r=lQ();ry=i;function i(d){var m=d.graph().ranker;if(m instanceof Function)return m(d);switch(d.graph().ranker){case"network-simplex":u(d);break;case"tight-tree":a(d);break;case"longest-path":o(d);break;case"none":break;default:u(d)}}var o=t;function a(d){t(d),n(d)}function u(d){r(d)}return ry}var iy,ij;function uQ(){if(ij)return iy;ij=1,iy=e;function e(r){let i=n(r);r.graph().dummyChains.forEach(o=>{let a=r.node(o),u=a.edgeObj,d=t(r,i,u.v,u.w),m=d.path,p=d.lca,h=0,g=m[h],y=!0;for(;o!==u.w;){if(a=r.node(o),y){for(;(g=m[h])!==p&&r.node(g).maxRankm||p>i[h].lim));for(g=h,h=a;(h=r.parent(h))!==g;)d.push(h);return{path:u.concat(d.reverse()),lca:g}}function n(r){let i={},o=0;function a(u){let d=o;r.children(u).forEach(a),i[u]={low:d,lim:o++}}return r.children().forEach(a),i}return iy}var sy,sj;function dQ(){if(sj)return sy;sj=1;let e=Xn();sy={run:t,cleanup:o};function t(a){let u=e.addDummyNode(a,"root",{},"_root"),d=r(a),m=Object.values(d),p=e.applyWithChunking(Math.max,m)-1,h=2*p+1;a.graph().nestingRoot=u,a.edges().forEach(y=>a.edge(y).minlen*=h);let g=i(a)+1;a.children().forEach(y=>n(a,u,h,g,p,d,y)),a.graph().nodeRankFactor=h}function n(a,u,d,m,p,h,g){let y=a.children(g);if(!y.length){g!==u&&a.setEdge(u,g,{weight:0,minlen:d});return}let v=e.addBorderNode(a,"_bt"),k=e.addBorderNode(a,"_bb"),S=a.node(g);a.setParent(v,g),S.borderTop=v,a.setParent(k,g),S.borderBottom=k,y.forEach(_=>{n(a,u,d,m,p,h,_);let w=a.node(_),C=w.borderTop?w.borderTop:_,N=w.borderBottom?w.borderBottom:_,O=w.borderTop?m:2*m,I=C!==N?1:p-h[g]+1;a.setEdge(v,C,{weight:O,minlen:I,nestingEdge:!0}),a.setEdge(N,k,{weight:O,minlen:I,nestingEdge:!0})}),a.parent(g)||a.setEdge(u,v,{weight:0,minlen:p+h[g]})}function r(a){var u={};function d(m,p){var h=a.children(m);h&&h.length&&h.forEach(g=>d(g,p+1)),u[m]=p}return a.children().forEach(m=>d(m,1)),u}function i(a){return a.edges().reduce((u,d)=>u+a.edge(d).weight,0)}function o(a){var u=a.graph();a.removeNode(u.nestingRoot),delete u.nestingRoot,a.edges().forEach(d=>{var m=a.edge(d);m.nestingEdge&&a.removeEdge(d)})}return sy}var oy,oj;function fQ(){if(oj)return oy;oj=1;let e=Xn();oy=t;function t(r){function i(o){let a=r.children(o),u=r.node(o);if(a.length&&a.forEach(i),Object.hasOwn(u,"minRank")){u.borderLeft=[],u.borderRight=[];for(let d=u.minRank,m=u.maxRank+1;dr(d.node(m))),d.edges().forEach(m=>r(d.edge(m)))}function r(d){let m=d.width;d.width=d.height,d.height=m}function i(d){d.nodes().forEach(m=>o(d.node(m))),d.edges().forEach(m=>{let p=d.edge(m);p.points.forEach(o),Object.hasOwn(p,"y")&&o(p)})}function o(d){d.y=-d.y}function a(d){d.nodes().forEach(m=>u(d.node(m))),d.edges().forEach(m=>{let p=d.edge(m);p.points.forEach(u),Object.hasOwn(p,"x")&&u(p)})}function u(d){let m=d.x;d.x=d.y,d.y=m}return ay}var ly,lj;function hQ(){if(lj)return ly;lj=1;let e=Xn();ly=t;function t(n){let r={},i=n.nodes().filter(p=>!n.children(p).length),o=i.map(p=>n.node(p).rank),a=e.applyWithChunking(Math.max,o),u=e.range(a+1).map(()=>[]);function d(p){if(r[p])return;r[p]=!0;let h=n.node(p);u[h.rank].push(p),n.successors(p).forEach(d)}return i.sort((p,h)=>n.node(p).rank-n.node(h).rank).forEach(d),u}return ly}var cy,cj;function pQ(){if(cj)return cy;cj=1;let e=Xn().zipObject;cy=t;function t(r,i){let o=0;for(let a=1;ay)),u=i.flatMap(g=>r.outEdges(g).map(y=>({pos:a[y.w],weight:r.edge(y).weight})).sort((y,v)=>y.pos-v.pos)),d=1;for(;d{let y=g.pos+d;p[y]+=g.weight;let v=0;for(;y>0;)y%2&&(v+=p[y+1]),y=y-1>>1,p[y]+=g.weight;h+=g.weight*v}),h}return cy}var uy,uj;function gQ(){if(uj)return uy;uj=1,uy=e;function e(t,n=[]){return n.map(r=>{let i=t.inEdges(r);if(i.length){let o=i.reduce((a,u)=>{let d=t.edge(u),m=t.node(u.v);return{sum:a.sum+d.weight*m.order,weight:a.weight+d.weight}},{sum:0,weight:0});return{v:r,barycenter:o.sum/o.weight,weight:o.weight}}else return{v:r}})}return uy}var dy,dj;function xQ(){if(dj)return dy;dj=1;let e=Xn();dy=t;function t(i,o){let a={};i.forEach((d,m)=>{let p=a[d.v]={indegree:0,in:[],out:[],vs:[d.v],i:m};d.barycenter!==void 0&&(p.barycenter=d.barycenter,p.weight=d.weight)}),o.edges().forEach(d=>{let m=a[d.v],p=a[d.w];m!==void 0&&p!==void 0&&(p.indegree++,m.out.push(a[d.w]))});let u=Object.values(a).filter(d=>!d.indegree);return n(u)}function n(i){let o=[];function a(d){return m=>{m.merged||(m.barycenter===void 0||d.barycenter===void 0||m.barycenter>=d.barycenter)&&r(d,m)}}function u(d){return m=>{m.in.push(d),--m.indegree===0&&i.push(m)}}for(;i.length;){let d=i.pop();o.push(d),d.in.reverse().forEach(a(d)),d.out.forEach(u(d))}return o.filter(d=>!d.merged).map(d=>e.pick(d,["vs","i","barycenter","weight"]))}function r(i,o){let a=0,u=0;i.weight&&(a+=i.barycenter*i.weight,u+=i.weight),o.weight&&(a+=o.barycenter*o.weight,u+=o.weight),i.vs=o.vs.concat(i.vs),i.barycenter=a/u,i.weight=u,i.i=Math.min(o.i,i.i),o.merged=!0}return dy}var fy,fj;function yQ(){if(fj)return fy;fj=1;let e=Xn();fy=t;function t(i,o){let a=e.partition(i,v=>Object.hasOwn(v,"barycenter")),u=a.lhs,d=a.rhs.sort((v,k)=>k.i-v.i),m=[],p=0,h=0,g=0;u.sort(r(!!o)),g=n(m,d,g),u.forEach(v=>{g+=v.vs.length,m.push(v.vs),p+=v.barycenter*v.weight,h+=v.weight,g=n(m,d,g)});let y={vs:m.flat(!0)};return h&&(y.barycenter=p/h,y.weight=h),y}function n(i,o,a){let u;for(;o.length&&(u=o[o.length-1]).i<=a;)o.pop(),i.push(u.vs),a++;return a}function r(i){return(o,a)=>o.barycentera.barycenter?1:i?a.i-o.i:o.i-a.i}return fy}var my,mj;function vQ(){if(mj)return my;mj=1;let e=gQ(),t=xQ(),n=yQ();my=r;function r(a,u,d,m){let p=a.children(u),h=a.node(u),g=h?h.borderLeft:void 0,y=h?h.borderRight:void 0,v={};g&&(p=p.filter(w=>w!==g&&w!==y));let k=e(a,p);k.forEach(w=>{if(a.children(w.v).length){let C=r(a,w.v,d,m);v[w.v]=C,Object.hasOwn(C,"barycenter")&&o(w,C)}});let S=t(k,d);i(S,v);let _=n(S,m);if(g&&(_.vs=[g,_.vs,y].flat(!0),a.predecessors(g).length)){let w=a.node(a.predecessors(g)[0]),C=a.node(a.predecessors(y)[0]);Object.hasOwn(_,"barycenter")||(_.barycenter=0,_.weight=0),_.barycenter=(_.barycenter*_.weight+w.order+C.order)/(_.weight+2),_.weight+=2}return _}function i(a,u){a.forEach(d=>{d.vs=d.vs.flatMap(m=>u[m]?u[m].vs:m)})}function o(a,u){a.barycenter!==void 0?(a.barycenter=(a.barycenter*a.weight+u.barycenter*u.weight)/(a.weight+u.weight),a.weight+=u.weight):(a.barycenter=u.barycenter,a.weight=u.weight)}return my}var hy,hj;function bQ(){if(hj)return hy;hj=1;let e=Oi().Graph,t=Xn();hy=n;function n(i,o,a,u){u||(u=i.nodes());let d=r(i),m=new e({compound:!0}).setGraph({root:d}).setDefaultNodeLabel(p=>i.node(p));return u.forEach(p=>{let h=i.node(p),g=i.parent(p);(h.rank===o||h.minRank<=o&&o<=h.maxRank)&&(m.setNode(p),m.setParent(p,g||d),i[a](p).forEach(y=>{let v=y.v===p?y.w:y.v,k=m.edge(v,p),S=k!==void 0?k.weight:0;m.setEdge(v,p,{weight:i.edge(y).weight+S})}),Object.hasOwn(h,"minRank")&&m.setNode(p,{borderLeft:h.borderLeft[o],borderRight:h.borderRight[o]}))}),m}function r(i){for(var o;i.hasNode(o=t.uniqueId("_root")););return o}return hy}var py,pj;function _Q(){if(pj)return py;pj=1,py=e;function e(t,n,r){let i={},o;r.forEach(a=>{let u=t.parent(a),d,m;for(;u;){if(d=t.parent(u),d?(m=i[d],i[d]=u):(m=o,o=u),m&&m!==u){n.setEdge(m,u);return}u=d}})}return py}var gy,gj;function kQ(){if(gj)return gy;gj=1;let e=hQ(),t=pQ(),n=vQ(),r=bQ(),i=_Q(),o=Oi().Graph,a=Xn();gy=u;function u(h,g){if(g&&typeof g.customOrder=="function"){g.customOrder(h,u);return}let y=a.maxRank(h),v=d(h,a.range(1,y+1),"inEdges"),k=d(h,a.range(y-1,-1,-1),"outEdges"),S=e(h);if(p(h,S),g&&g.disableOptimalOrderHeuristic)return;let _=Number.POSITIVE_INFINITY,w;for(let C=0,N=0;N<4;++C,++N){m(C%2?v:k,C%4>=2),S=a.buildLayerMatrix(h);let O=t(h,S);O<_&&(N=0,w=Object.assign({},S),_=O)}p(h,w)}function d(h,g,y){const v=new Map,k=(S,_)=>{v.has(S)||v.set(S,[]),v.get(S).push(_)};for(const S of h.nodes()){const _=h.node(S);if(typeof _.rank=="number"&&k(_.rank,S),typeof _.minRank=="number"&&typeof _.maxRank=="number")for(let w=_.minRank;w<=_.maxRank;w++)w!==_.rank&&k(w,S)}return g.map(function(S){return r(h,S,y,v.get(S)||[])})}function m(h,g){let y=new o;h.forEach(function(v){let k=v.graph().root,S=n(v,k,y,g);S.vs.forEach((_,w)=>v.node(_).order=w),i(v,y,S.vs)})}function p(h,g){Object.values(g).forEach(y=>y.forEach((v,k)=>h.node(v).order=k))}return gy}var xy,xj;function SQ(){if(xj)return xy;xj=1;let e=Oi().Graph,t=Xn();xy={positionX:y,findType1Conflicts:n,findType2Conflicts:r,addConflict:o,hasConflict:a,verticalAlignment:u,horizontalCompaction:d,alignCoordinates:h,findSmallestWidthAlignment:p,balance:g};function n(S,_){let w={};function C(N,O){let I=0,D=0,T=N.length,L=O[O.length-1];return O.forEach((A,M)=>{let $=i(S,A),W=$?S.node($).order:T;($||A===L)&&(O.slice(D,M+1).forEach(B=>{S.predecessors(B).forEach(U=>{let H=S.node(U),V=H.order;(V{A=O[M],S.node(A).dummy&&S.predecessors(A).forEach($=>{let W=S.node($);W.dummy&&(W.orderL)&&o(w,$,A)})})}function N(O,I){let D=-1,T,L=0;return I.forEach((A,M)=>{if(S.node(A).dummy==="border"){let $=S.predecessors(A);$.length&&(T=S.node($[0]).order,C(I,L,M,D,T),L=M,D=T)}C(I,L,I.length,T,O.length)}),I}return _.length&&_.reduce(N),w}function i(S,_){if(S.node(_).dummy)return S.predecessors(_).find(w=>S.node(w).dummy)}function o(S,_,w){if(_>w){let N=_;_=w,w=N}let C=S[_];C||(S[_]=C={}),C[w]=!0}function a(S,_,w){if(_>w){let C=_;_=w,w=C}return!!S[_]&&Object.hasOwn(S[_],w)}function u(S,_,w,C){let N={},O={},I={};return _.forEach(D=>{D.forEach((T,L)=>{N[T]=T,O[T]=T,I[T]=L})}),_.forEach(D=>{let T=-1;D.forEach(L=>{let A=C(L);if(A.length){A=A.sort(($,W)=>I[$]-I[W]);let M=(A.length-1)/2;for(let $=Math.floor(M),W=Math.ceil(M);$<=W;++$){let B=A[$];O[L]===L&&TMath.max($,O[W.v]+I.edge(W)),0)}function A(M){let $=I.outEdges(M).reduce((B,U)=>Math.min(B,O[U.w]-I.edge(U)),Number.POSITIVE_INFINITY),W=S.node(M);$!==Number.POSITIVE_INFINITY&&W.borderType!==D&&(O[M]=Math.max(O[M],$))}return T(L,I.predecessors.bind(I)),T(A,I.successors.bind(I)),Object.keys(C).forEach(M=>O[M]=O[w[M]]),O}function m(S,_,w,C){let N=new e,O=S.graph(),I=v(O.nodesep,O.edgesep,C);return _.forEach(D=>{let T;D.forEach(L=>{let A=w[L];if(N.setNode(A),T){var M=w[T],$=N.edge(M,A);N.setEdge(M,A,Math.max(I(S,L,T),$||0))}T=L})}),N}function p(S,_){return Object.values(_).reduce((w,C)=>{let N=Number.NEGATIVE_INFINITY,O=Number.POSITIVE_INFINITY;Object.entries(C).forEach(([D,T])=>{let L=k(S,D)/2;N=Math.max(T+L,N),O=Math.min(T-L,O)});const I=N-O;return I{["l","r"].forEach(I=>{let D=O+I,T=S[D];if(T===_)return;let L=Object.values(T),A=C-t.applyWithChunking(Math.min,L);I!=="l"&&(A=N-t.applyWithChunking(Math.max,L)),A&&(S[D]=t.mapValues(T,M=>M+A))})})}function g(S,_){return t.mapValues(S.ul,(w,C)=>{if(_)return S[_.toLowerCase()][C];{let N=Object.values(S).map(O=>O[C]).sort((O,I)=>O-I);return(N[1]+N[2])/2}})}function y(S){let _=t.buildLayerMatrix(S),w=Object.assign(n(S,_),r(S,_)),C={},N;["u","d"].forEach(I=>{N=I==="u"?_:Object.values(_).reverse(),["l","r"].forEach(D=>{D==="r"&&(N=N.map(M=>Object.values(M).reverse()));let T=(I==="u"?S.predecessors:S.successors).bind(S),L=u(S,N,w,T),A=d(S,N,L.root,L.align,D==="r");D==="r"&&(A=t.mapValues(A,M=>-M)),C[I+D]=A})});let O=p(S,C);return h(C,O),g(C,S.graph().align)}function v(S,_,w){return(C,N,O)=>{let I=C.node(N),D=C.node(O),T=0,L;if(T+=I.width/2,Object.hasOwn(I,"labelpos"))switch(I.labelpos.toLowerCase()){case"l":L=-I.width/2;break;case"r":L=I.width/2;break}if(L&&(T+=w?L:-L),L=0,T+=(I.dummy?_:S)/2,T+=(D.dummy?_:S)/2,T+=D.width/2,Object.hasOwn(D,"labelpos"))switch(D.labelpos.toLowerCase()){case"l":L=D.width/2;break;case"r":L=-D.width/2;break}return L&&(T+=w?L:-L),L=0,T}}function k(S,_){return S.node(_).width}return xy}var yy,yj;function wQ(){if(yj)return yy;yj=1;let e=Xn(),t=SQ().positionX;yy=n;function n(i){i=e.asNonCompoundGraph(i),r(i),Object.entries(t(i)).forEach(([o,a])=>i.node(o).x=a)}function r(i){let o=e.buildLayerMatrix(i),a=i.graph().ranksep,u=0;o.forEach(d=>{const m=d.reduce((p,h)=>{const g=i.node(h).height;return p>g?p:g},0);d.forEach(p=>i.node(p).y=u+m/2),u+=m+a})}return yy}var vy,vj;function CQ(){if(vj)return vy;vj=1;let e=oQ(),t=aQ(),n=cQ(),r=Xn().normalizeRanks,i=uQ(),o=Xn().removeEmptyRanks,a=dQ(),u=fQ(),d=mQ(),m=kQ(),p=wQ(),h=Xn(),g=Oi().Graph;vy=y;function y(P,X){let ee=X&&X.debugTiming?h.time:h.notime;ee("layout",()=>{let te=ee(" buildLayoutGraph",()=>T(P));ee(" runLayout",()=>v(te,ee,X)),ee(" updateInputGraph",()=>k(P,te))})}function v(P,X,ee){X(" makeSpaceForEdgeLabels",()=>L(P)),X(" removeSelfEdges",()=>Y(P)),X(" acyclic",()=>e.run(P)),X(" nestingGraph.run",()=>a.run(P)),X(" rank",()=>n(h.asNonCompoundGraph(P))),X(" injectEdgeLabelProxies",()=>A(P)),X(" removeEmptyRanks",()=>o(P)),X(" nestingGraph.cleanup",()=>a.cleanup(P)),X(" normalizeRanks",()=>r(P)),X(" assignRankMinMax",()=>M(P)),X(" removeEdgeLabelProxies",()=>$(P)),X(" normalize.run",()=>t.run(P)),X(" parentDummyChains",()=>i(P)),X(" addBorderSegments",()=>u(P)),X(" order",()=>m(P,ee)),X(" insertSelfEdges",()=>Q(P)),X(" adjustCoordinateSystem",()=>d.adjust(P)),X(" position",()=>p(P)),X(" positionSelfEdges",()=>q(P)),X(" removeBorderNodes",()=>V(P)),X(" normalize.undo",()=>t.undo(P)),X(" fixupEdgeLabelCoords",()=>U(P)),X(" undoCoordinateSystem",()=>d.undo(P)),X(" translateGraph",()=>W(P)),X(" assignNodeIntersects",()=>B(P)),X(" reversePoints",()=>H(P)),X(" acyclic.undo",()=>e.undo(P))}function k(P,X){P.nodes().forEach(ee=>{let te=P.node(ee),re=X.node(ee);te&&(te.x=re.x,te.y=re.y,te.rank=re.rank,X.children(ee).length&&(te.width=re.width,te.height=re.height))}),P.edges().forEach(ee=>{let te=P.edge(ee),re=X.edge(ee);te.points=re.points,Object.hasOwn(re,"x")&&(te.x=re.x,te.y=re.y)}),P.graph().width=X.graph().width,P.graph().height=X.graph().height}let S=["nodesep","edgesep","ranksep","marginx","marginy"],_={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},w=["acyclicer","ranker","rankdir","align"],C=["width","height","rank"],N={width:0,height:0},O=["minlen","weight","width","height","labeloffset"],I={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},D=["labelpos"];function T(P){let X=new g({multigraph:!0,compound:!0}),ee=J(P.graph());return X.setGraph(Object.assign({},_,G(ee,S),h.pick(ee,w))),P.nodes().forEach(te=>{let re=J(P.node(te));const oe=G(re,C);Object.keys(N).forEach(de=>{oe[de]===void 0&&(oe[de]=N[de])}),X.setNode(te,oe),X.setParent(te,P.parent(te))}),P.edges().forEach(te=>{let re=J(P.edge(te));X.setEdge(te,Object.assign({},I,G(re,O),h.pick(re,D)))}),X}function L(P){let X=P.graph();X.ranksep/=2,P.edges().forEach(ee=>{let te=P.edge(ee);te.minlen*=2,te.labelpos.toLowerCase()!=="c"&&(X.rankdir==="TB"||X.rankdir==="BT"?te.width+=te.labeloffset:te.height+=te.labeloffset)})}function A(P){P.edges().forEach(X=>{let ee=P.edge(X);if(ee.width&&ee.height){let te=P.node(X.v),oe={rank:(P.node(X.w).rank-te.rank)/2+te.rank,e:X};h.addDummyNode(P,"edge-proxy",oe,"_ep")}})}function M(P){let X=0;P.nodes().forEach(ee=>{let te=P.node(ee);te.borderTop&&(te.minRank=P.node(te.borderTop).rank,te.maxRank=P.node(te.borderBottom).rank,X=Math.max(X,te.maxRank))}),P.graph().maxRank=X}function $(P){P.nodes().forEach(X=>{let ee=P.node(X);ee.dummy==="edge-proxy"&&(P.edge(ee.e).labelRank=ee.rank,P.removeNode(X))})}function W(P){let X=Number.POSITIVE_INFINITY,ee=0,te=Number.POSITIVE_INFINITY,re=0,oe=P.graph(),de=oe.marginx||0,se=oe.marginy||0;function Ee(we){let Ce=we.x,Be=we.y,Ge=we.width,Ye=we.height;X=Math.min(X,Ce-Ge/2),ee=Math.max(ee,Ce+Ge/2),te=Math.min(te,Be-Ye/2),re=Math.max(re,Be+Ye/2)}P.nodes().forEach(we=>Ee(P.node(we))),P.edges().forEach(we=>{let Ce=P.edge(we);Object.hasOwn(Ce,"x")&&Ee(Ce)}),X-=de,te-=se,P.nodes().forEach(we=>{let Ce=P.node(we);Ce.x-=X,Ce.y-=te}),P.edges().forEach(we=>{let Ce=P.edge(we);Ce.points.forEach(Be=>{Be.x-=X,Be.y-=te}),Object.hasOwn(Ce,"x")&&(Ce.x-=X),Object.hasOwn(Ce,"y")&&(Ce.y-=te)}),oe.width=ee-X+de,oe.height=re-te+se}function B(P){P.edges().forEach(X=>{let ee=P.edge(X),te=P.node(X.v),re=P.node(X.w),oe,de;ee.points?(oe=ee.points[0],de=ee.points[ee.points.length-1]):(ee.points=[],oe=re,de=te),ee.points.unshift(h.intersectRect(te,oe)),ee.points.push(h.intersectRect(re,de))})}function U(P){P.edges().forEach(X=>{let ee=P.edge(X);if(Object.hasOwn(ee,"x"))switch((ee.labelpos==="l"||ee.labelpos==="r")&&(ee.width-=ee.labeloffset),ee.labelpos){case"l":ee.x-=ee.width/2+ee.labeloffset;break;case"r":ee.x+=ee.width/2+ee.labeloffset;break}})}function H(P){P.edges().forEach(X=>{let ee=P.edge(X);ee.reversed&&ee.points.reverse()})}function V(P){P.nodes().forEach(X=>{if(P.children(X).length){let ee=P.node(X),te=P.node(ee.borderTop),re=P.node(ee.borderBottom),oe=P.node(ee.borderLeft[ee.borderLeft.length-1]),de=P.node(ee.borderRight[ee.borderRight.length-1]);ee.width=Math.abs(de.x-oe.x),ee.height=Math.abs(re.y-te.y),ee.x=oe.x+ee.width/2,ee.y=te.y+ee.height/2}}),P.nodes().forEach(X=>{P.node(X).dummy==="border"&&P.removeNode(X)})}function Y(P){P.edges().forEach(X=>{if(X.v===X.w){var ee=P.node(X.v);ee.selfEdges||(ee.selfEdges=[]),ee.selfEdges.push({e:X,label:P.edge(X)}),P.removeEdge(X)}})}function Q(P){var X=h.buildLayerMatrix(P);X.forEach(ee=>{var te=0;ee.forEach((re,oe)=>{var de=P.node(re);de.order=oe+te,(de.selfEdges||[]).forEach(se=>{h.addDummyNode(P,"selfedge",{width:se.label.width,height:se.label.height,rank:de.rank,order:oe+ ++te,e:se.e,label:se.label},"_se")}),delete de.selfEdges})})}function q(P){P.nodes().forEach(X=>{var ee=P.node(X);if(ee.dummy==="selfedge"){var te=P.node(ee.e.v),re=te.x+te.width/2,oe=te.y,de=ee.x-re,se=te.height/2;P.setEdge(ee.e,ee.label),P.removeNode(X),ee.label.points=[{x:re+2*de/3,y:oe-se},{x:re+5*de/6,y:oe-se},{x:re+de,y:oe},{x:re+5*de/6,y:oe+se},{x:re+2*de/3,y:oe+se}],ee.label.x=ee.x,ee.label.y=ee.y}})}function G(P,X){return h.mapValues(h.pick(P,X),Number)}function J(P){var X={};return P&&Object.entries(P).forEach(([ee,te])=>{typeof ee=="string"&&(ee=ee.toLowerCase()),X[ee]=te}),X}return vy}var by,bj;function jQ(){if(bj)return by;bj=1;let e=Xn(),t=Oi().Graph;by={debugOrdering:n};function n(r){let i=e.buildLayerMatrix(r),o=new t({compound:!0,multigraph:!0}).setGraph({});return r.nodes().forEach(a=>{o.setNode(a,{label:a}),o.setParent(a,"layer"+r.node(a).rank)}),r.edges().forEach(a=>o.setEdge(a.v,a.w,{},a.name)),i.forEach((a,u)=>{let d="layer"+u;o.setNode(d,{rank:"same"}),a.reduce((m,p)=>(o.setEdge(m,p,{style:"invis"}),p))}),o}return by}var _y,_j;function EQ(){return _j||(_j=1,_y="1.1.8"),_y}var ky,kj;function NQ(){return kj||(kj=1,ky={graphlib:Oi(),layout:CQ(),debug:jQ(),util:{time:Xn().time,notime:Xn().notime},version:EQ()}),ky}var IQ=NQ();const Sj=ta(IQ);function TQ(e,t,n={}){const r=new Sj.graphlib.Graph;r.setDefaultEdgeLabel(()=>({})),r.setGraph({rankdir:"TB",ranksep:60,nodesep:36,marginx:24,marginy:24});const i=n.nodeWidth??220,o=n.nodeHeight??80;return e.forEach(a=>r.setNode(a.id,{width:i,height:o})),t.forEach(a=>r.setEdge(a.source,a.target)),Sj.layout(r),e.map(a=>{const{x:u,y:d}=r.node(a.id);return{...a,position:{x:u-i/2,y:d-o/2}}})}const RQ={roleNode:GZ},AQ=j.forwardRef(function(t,n){return c.jsx(IR,{children:c.jsx(MQ,{...t,forwardedRef:n})})});function MQ({roles:e,employees:t,sessionRecruitmentByRole:n,selectedRoleId:r,onSelectRole:i,onReparent:o,readOnly:a,forwardedRef:u}){const d=j.useMemo(()=>{const A=new Map;for(const M of t){const $=M.role_ids?.length?M.role_ids:[M.role_id];for(const W of $){if(!W)continue;const B=A.get(W)??[];B.push(M),A.set(W,B)}}return A},[t]),m=j.useCallback(A=>n?n[A]??[]:(d.get(A)??[]).filter(M=>!M.is_default_employee).map(M=>M.name).filter(Boolean),[d,n]),[p,h]=j.useState(0),g=j.useMemo(()=>e.map(A=>A.role_id).sort().join("|"),[e]),y=j.useRef(g);j.useEffect(()=>{y.current!==g&&(y.current=g,h(A=>A+1))},[g]),j.useImperativeHandle(u,()=>({autoLayout:()=>h(A=>A+1)}),[]);const[v,k]=j.useState(null),[S,_]=j.useState({});j.useEffect(()=>{_({})},[p]);const w=j.useMemo(()=>{const A={id:"owner",type:"roleNode",position:{x:0,y:0},draggable:!1,data:{roleId:"owner",name:"You (Owner)",responsibility:"",icon:null,employeeCount:0,employeeNames:[],isOwner:!0,isSelected:!1,isDropTarget:!1}},M=e.map(U=>({id:U.role_id,type:"roleNode",position:{x:0,y:0},draggable:!0,data:{roleId:U.role_id,name:U.name,responsibility:U.responsibility,icon:U.icon??null,employeeCount:m(U.role_id).length,employeeNames:m(U.role_id),isOwner:!1,isSelected:!1,isDropTarget:!1}})),$=[A,...M],W=e.map(U=>({id:`e-${U.reports_to}-${U.role_id}`,source:U.reports_to,target:U.role_id,type:"smoothstep"}));return{nodes:TQ($,W),edges:W}},[p,a]),C=j.useMemo(()=>w.nodes.map(A=>{if(A.id==="owner")return A;const M=e.find(W=>W.role_id===A.id);if(!M)return A;const $=S[A.id];return{...A,position:$??A.position,draggable:!0,data:{...A.data,name:M.name,responsibility:M.responsibility,icon:M.icon??null,employeeCount:m(M.role_id).length,employeeNames:m(M.role_id),isSelected:M.role_id===r,isDropTarget:M.role_id===v}}}),[w.nodes,e,d,m,r,v,a,S]),[N,O]=j.useState(C);j.useEffect(()=>{O(C)},[C]);const I=j.useCallback(A=>{O(M=>iR(A,M))},[]),D=j.useCallback((A,M)=>{if(a)return;const $=220,W=80,B={x:M.position.x+$/2,y:M.position.y+W/2},U=N.find(H=>H.id===M.id?!1:B.x>=H.position.x&&B.x<=H.position.x+$&&B.y>=H.position.y&&B.y<=H.position.y+W);k(U?.id??null)},[N,a]),T=j.useCallback((A,M)=>{const $=v;k(null);const W=()=>_(B=>({...B,[M.id]:{x:M.position.x,y:M.position.y}}));if(a||!$||$===M.id||BR(e,M.id,$)){W();return}o(M.id,$),h(B=>B+1)},[v,e,a,o]),L=j.useCallback((A,M)=>{i(M.id==="owner"?null:M.id)},[i]);return c.jsx("div",{style:{width:"100%",height:"100%"},children:c.jsxs(gZ,{nodes:N,edges:w.edges,nodeTypes:RQ,onNodesChange:I,onNodeDrag:D,onNodeDragStop:T,onNodeClick:L,fitView:!0,fitViewOptions:{padding:.32,minZoom:.45,maxZoom:1.2},nodesConnectable:!1,edgesFocusable:!1,style:{width:"100%",height:"100%"},children:[c.jsx(_Z,{gap:28,size:1,color:"rgba(240, 237, 232, 0.10)"}),c.jsx(NZ,{showInteractive:!1}),c.jsx(HZ,{pannable:!0,nodeStrokeWidth:0,maskColor:"rgba(12, 17, 27, 0.6)"})]})})}function BR(e,t,n){const r=e.filter(i=>i.reports_to===t).map(i=>i.role_id);for(const i of r)if(i===n||BR(e,i,n))return!0;return!1}function DQ({roles:e,employees:t,sessionRecruitmentByRole:n,isCustomMode:r,onAddRole:i,onUpdateRole:o,onDeleteRole:a,savedOrgsList:u,activeSavedOrg:d,currentOrgVersion:m,versionAtLoad:p,onSavedOrgsList:h,onSavedOrgSaveAs:g,onSavedOrgLoad:y,onSavedOrgDelete:v}){const[k,S]=j.useState("canvas"),[_,w]=j.useState(null),C=j.useRef(null),N=j.useMemo(()=>e.find(A=>A.role_id===_)??null,[e,_]),O=j.useCallback((A,M)=>{r&&o(A,{reports_to:M})},[o,r]),I=j.useCallback(()=>{C.current?.autoLayout()},[]),D=j.useCallback(()=>{if(!r)return;const A=new Set(e.map(W=>W.role_id));let M="new_role",$=1;for(;A.has(M);)$+=1,M=`new_role_${$}`;i(M,"New Role","","owner",null),w(M)},[e,i,r]),T=j.useCallback(()=>{if(!r||!N)return;const A=new Set(e.map(W=>W.role_id));let M=`${N.role_id}_copy`,$=1;for(;A.has(M);)$+=1,M=`${N.role_id}_copy_${$}`;i(M,`${N.name} (copy)`,N.responsibility,N.reports_to,N.icon),w(M)},[e,i,N,r]),L=j.useRef(null);return j.useEffect(()=>{const A=M=>{const $=M.target;if(!($&&($.tagName==="INPUT"||$.tagName==="TEXTAREA"||$.tagName==="SELECT"||$.isContentEditable))&&!(L.current&&!L.current.contains($))){if(M.key==="Escape"&&_){w(null),M.preventDefault();return}if(M.key==="Delete"&&_&&r){a(_),w(null),M.preventDefault();return}if((M.metaKey||M.ctrlKey)&&M.key.toLowerCase()==="d"&&_&&r){T(),M.preventDefault();return}if(M.key.toLowerCase()==="f"&&k==="canvas"){I(),M.preventDefault();return}}};return window.addEventListener("keydown",A),()=>window.removeEventListener("keydown",A)},[_,r,k,a,I,T]),c.jsxs("div",{className:"se-container",ref:L,children:[c.jsxs("div",{className:"se-toolbar",children:[c.jsxs("div",{className:"se-view-switcher",role:"tablist","aria-label":"Editor view",children:[c.jsx("button",{role:"tab","aria-selected":k==="canvas",className:`se-view-btn${k==="canvas"?" is-active":""}`,onClick:()=>S("canvas"),children:"Canvas"}),c.jsx("button",{role:"tab","aria-selected":k==="table",className:`se-view-btn${k==="table"?" is-active":""}`,onClick:()=>S("table"),children:"Table"})]}),c.jsxs("div",{className:`se-toolbar-actions${r?"":" se-toolbar-actions--readonly"}`,children:[r?c.jsxs("div",{className:"se-saved-org-control",children:[c.jsx("span",{className:"se-toolbar-label",children:"Saved org"}),c.jsx(BV,{savedOrgs:u??null,activeName:d??null,isDirty:p!=null&&(m??0)!==p,onRefresh:h??(()=>{}),onSaveAs:g??(()=>{}),onLoad:y??(()=>{}),onDelete:v??(()=>{})})]}):c.jsx("span",{className:"se-readonly-pill",children:"Read-only corporate"}),c.jsx("div",{className:"se-toolbar-divider","aria-hidden":!0}),k==="canvas"&&c.jsx("button",{className:"btn btn-ghost btn-sm",onClick:I,children:"Auto-layout"}),r&&c.jsx("button",{className:"btn btn-primary btn-sm",onClick:D,children:"+ Add role"})]})]}),c.jsxs("div",{className:"se-body",children:[k==="canvas"?c.jsx(AQ,{ref:C,roles:e,employees:t,sessionRecruitmentByRole:n,selectedRoleId:_,onSelectRole:w,onReparent:O,readOnly:!r}):c.jsx($U,{roles:e,employees:t,selectedIds:_?[_]:[],onSelectRow:A=>w(A),onUpdateRole:o,onDeleteRole:a,readOnly:!r}),N&&c.jsx(UV,{role:N,allRoles:e,employees:t,readOnly:!r,onUpdateRole:o,onDeleteRole:A=>{a(A),w(null)},onClose:()=>w(null)})]})]})}const Wi={rocket:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M13.13 22.19L11.5 18.36c3.07-1.39 5.51-3.94 6.69-7.07L22 13l-8.87 9.19zM5.64 12.5L2 10.87l9.19-8.87 1.63 3.81c-3.13 1.18-5.68 3.62-7.07 6.69zM14.54 9.46c-.78-.78-.78-2.05 0-2.83s2.05-.78 2.83 0 .78 2.05 0 2.83c-.79.78-2.05.78-2.83 0zM8 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2z'/%3E%3C/svg%3E",people:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z'/%3E%3C/svg%3E",check:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z'/%3E%3C/svg%3E",addPerson:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm-9-2V7H4v3H1v2h3v3h2v-3h3v-2H6zm9 4c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E",trash:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z'/%3E%3C/svg%3E",team:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E",deploy:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2322c55e' d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 14.5v-9l6 4.5-6 4.5z'/%3E%3C/svg%3E",person:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E"};function OQ({onComplete:e,onSwitchToTab:t}){const[n,r]=j.useState(1),[i,o]=j.useState([{name:"",resp:"",parent:"owner"}]),a=()=>o([...i,{name:"",resp:"",parent:"owner"}]),u=(g,y,v)=>{const k=[...i];k[g][y]=v,o(k)},d=g=>{i.length<=1||o(i.filter((y,v)=>v!==g))},m=i.filter(g=>g.name.trim()),p=m.map(g=>g.name.trim()).filter(Boolean),h=()=>{e(m.map(g=>({name:g.name.trim(),responsibility:g.resp.trim(),reportsTo:g.parent})))};return c.jsxs("div",{className:"qs-wizard",children:[c.jsxs("div",{className:"qs-header",children:[c.jsx("img",{src:Wi.rocket,alt:"",className:"qs-header-icon"}),c.jsxs("div",{children:[c.jsx("h3",{className:"qs-header-title",children:"Build Your Team"}),c.jsxs("p",{className:"qs-header-sub",children:["Create an org team in a few steps, or ",c.jsx("button",{className:"qs-link-btn",onClick:()=>t("architecture"),children:"use a template"})]})]})]}),c.jsx("div",{className:"qs-progress",children:[{n:1,icon:Wi.people,label:"Team Members"},{n:2,icon:Wi.check,label:"Preview"}].map(g=>c.jsxs("div",{className:`qs-step${n===g.n?" qs-step-active":n>g.n?" qs-step-done":""}`,children:[c.jsx("img",{src:g.icon,alt:"",className:"qs-step-icon"}),c.jsx("span",{children:g.label})]},g.n))}),n===1&&c.jsxs("div",{className:"qs-panel",children:[c.jsx("h4",{children:"Who's on your team?"}),c.jsx("p",{className:"qs-hint",children:"Add each team member with their name and what they do."}),c.jsx("div",{className:"qs-members",children:i.map((g,y)=>c.jsxs("div",{className:"qs-member-row",children:[c.jsx("input",{className:"qs-member-name",value:g.name,placeholder:"Role name (e.g. Engineer)",onChange:v=>u(y,"name",v.target.value)}),c.jsx("input",{className:"qs-member-resp",value:g.resp,placeholder:"What do they do?",onChange:v=>u(y,"resp",v.target.value)}),c.jsxs("select",{className:"qs-member-parent",value:g.parent,onChange:v=>u(y,"parent",v.target.value),children:[c.jsx("option",{value:"owner",children:"Reports to you"}),p.filter(v=>v!==g.name.trim()).map(v=>c.jsx("option",{value:v,children:`Managed by ${v}`},v))]}),i.length>1&&c.jsx("button",{className:"qs-remove-btn",onClick:()=>d(y),title:"Remove",children:c.jsx("img",{src:Wi.trash,alt:"",className:"qs-remove-icon"})})]},y))}),c.jsxs("button",{className:"qs-add-member",onClick:a,children:[c.jsx("img",{src:Wi.addPerson,alt:"",className:"qs-add-icon"})," Add another member"]}),c.jsxs("div",{className:"qs-nav",children:[c.jsx("span",{}),c.jsx("button",{className:"oc-btn-primary",onClick:()=>r(2),disabled:m.length===0,children:"Next: Preview โ†’"})]})]}),n===2&&c.jsxs("div",{className:"qs-panel",children:[c.jsx("h4",{children:"Your team at a glance"}),c.jsxs("div",{className:"qs-preview",children:[c.jsxs("div",{className:"qs-preview-section",children:[c.jsxs("h5",{children:["Team (",m.length," members)"]}),m.map((g,y)=>c.jsxs("div",{className:"qs-preview-member",children:[c.jsx("strong",{children:g.name}),g.resp&&c.jsxs("span",{className:"qs-preview-resp",children:[" โ€” ",g.resp]}),c.jsx("span",{className:"qs-preview-parent",children:g.parent==="owner"?" (reports to you)":` (managed by ${g.parent})`})]},y))]}),c.jsxs("div",{className:"qs-preview-section",children:[c.jsx("h5",{children:"Actor Runtime"}),c.jsx("p",{children:"Seat routing and delegation will be derived from your reporting structure and any team seats you configure later."})]})]}),c.jsxs("div",{className:"qs-nav",children:[c.jsx("button",{className:"oc-btn-ghost",onClick:()=>r(1),children:"โ† Back"}),c.jsx("button",{className:"oc-btn-primary qs-create-btn",onClick:h,children:"Create Team"})]})]})]})}function LQ({roles:e,employees:t,sessionRecruitmentByRole:n,isCustomMode:r,onAddRole:i,onBulkAddRoles:o,onUpdateRole:a,onDeleteRole:u,onExport:d,onImportEmployee:m,onResetArchitecture:p,onSwitchToTab:h,savedOrgsList:g,activeSavedOrg:y,currentOrgVersion:v,versionAtLoad:k,onSavedOrgsList:S,onSavedOrgSaveAs:_,onSavedOrgLoad:w,onSavedOrgDelete:C}){const[N,O]=j.useState(!1),[I,D]=j.useState(!1),[T,L]=j.useState(""),[A,M]=j.useState(""),[$,W]=j.useState(""),[B,U]=j.useState("1.0.0"),H=j.useMemo(()=>{const X=new Map;for(const ee of t){const te=ee.role_ids?.length?ee.role_ids:[ee.role_id];for(const re of te){if(!re)continue;const oe=X.get(re)||[];oe.push(ee),X.set(re,oe)}}return X},[t]),V=()=>{!T.trim()||!A.trim()||(d({package_id:T.trim(),name:A.trim(),description:$,version:B}),D(!1),L(""),M(""),W(""),U("1.0.0"))},Y=j.useRef(null);j.useEffect(()=>{N&&e.length>0&&(O(!1),Y.current&&(clearTimeout(Y.current),Y.current=null))},[e.length,N]),j.useEffect(()=>{if(N)return Y.current=setTimeout(()=>O(!1),1e4),()=>{Y.current&&clearTimeout(Y.current)}},[N]);const Q=X=>{const ee=new Map,te=new Set,re=[];for(const oe of X){let de=oe.name.toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9-]/g,"").replace(/^-+|-+$/g,"");if(!de)continue;let se=de,Ee=2;for(;te.has(se);)se=`${de}-${Ee++}`;te.add(se),ee.set(oe.name,se);const we=oe.reportsTo==="owner"?"owner":ee.get(oe.reportsTo)||"owner";re.push({role_id:se,name:oe.name,responsibility:oe.responsibility,reports_to:we})}if(re.length!==0)if(o)O(!0),o(re);else{for(const oe of re)i(oe.role_id,oe.name,oe.responsibility,oe.reports_to);O(!0)}},q=()=>{confirm("This will remove all org roles, employees, and work-item templates. Continue?")&&p?.()},G=j.useMemo(()=>{let X=0;for(const ee of e)(H.get(ee.role_id)??[]).length>0&&(X+=1);return X},[e,H]),J=j.useMemo(()=>t.filter(X=>X.linked_agent_id).length,[t]),P=Math.max(0,e.length-G);return r&&e.length===0?c.jsx("div",{className:"team-view",children:N?c.jsx("div",{className:"qs-wizard",children:c.jsxs("div",{className:"qs-loading",children:[c.jsx("span",{className:"spinner-inline"})," Setting up your team..."]})}):c.jsx(OQ,{onComplete:Q,onSwitchToTab:h})}):c.jsxs("div",{className:"team-view",children:[c.jsxs("div",{className:`team-command-bar${r?" team-command-bar--editable":" team-command-bar--readonly"}`,children:[c.jsxs("div",{className:"team-command-copy",children:[c.jsx("span",{className:"team-command-eyebrow",children:r?"Saved org workspace":"Corporate baseline"}),c.jsx("span",{className:"team-command-title",children:r?"Editable company architecture":"Built-in company architecture"})]}),c.jsxs("div",{className:"team-command-metrics",children:[c.jsxs("span",{children:[c.jsx("b",{children:G})," staffed roles"]}),c.jsxs("span",{children:[c.jsx("b",{children:P})," vacant"]}),c.jsxs("span",{children:[c.jsx("b",{children:J})," in office"]})]}),r&&c.jsxs("div",{className:"team-command-actions",children:[c.jsxs("button",{className:"myorg-inline-btn",onClick:()=>h("employees"),children:[c.jsx("img",{src:Wi.addPerson,alt:"",className:"myorg-inline-icon"})," Hire Talent"]}),c.jsx("button",{className:"btn btn-ghost btn-sm",onClick:()=>D(!0),children:"Export Package"}),p&&c.jsxs("button",{className:"myorg-reset-btn",onClick:q,children:[c.jsx("img",{src:Wi.trash,alt:"",className:"myorg-reset-icon"})," Reset"]})]})]}),!r&&c.jsx("div",{className:"team-readonly-strip",children:"Corporate is fixed and read-only; saved company architectures are edited separately."}),c.jsx(DQ,{roles:e,employees:t,sessionRecruitmentByRole:n,isCustomMode:r,onAddRole:i,onUpdateRole:a,onDeleteRole:u,savedOrgsList:g??null,activeSavedOrg:y??null,currentOrgVersion:v??0,versionAtLoad:k??null,onSavedOrgsList:S,onSavedOrgSaveAs:_,onSavedOrgLoad:w,onSavedOrgDelete:C}),I&&c.jsxs("div",{className:"myorg-form",children:[c.jsx("h4",{className:"myorg-form-title",children:"Export as .opcpkg"}),c.jsxs("div",{className:"oc-form-row",children:[c.jsx("label",{children:"Package ID"}),c.jsx("input",{value:T,onChange:X=>L(X.target.value),placeholder:"my-architecture"})]}),c.jsxs("div",{className:"oc-form-row",children:[c.jsx("label",{children:"Name"}),c.jsx("input",{value:A,onChange:X=>M(X.target.value),placeholder:"My Architecture"})]}),c.jsxs("div",{className:"oc-form-row",children:[c.jsx("label",{children:"Description"}),c.jsx("input",{value:$,onChange:X=>W(X.target.value),placeholder:"An org team structure"})]}),c.jsxs("div",{className:"oc-form-row",children:[c.jsx("label",{children:"Version"}),c.jsx("input",{value:B,onChange:X=>U(X.target.value)})]}),c.jsxs("div",{className:"oc-form-actions",children:[c.jsx("button",{className:"oc-btn-primary",onClick:V,disabled:!T.trim()||!A.trim(),children:"Export"}),c.jsx("button",{className:"oc-btn-ghost",onClick:()=>D(!1),children:"Cancel"})]})]}),c.jsxs("div",{className:"myorg-section",children:[c.jsxs("div",{className:"myorg-section-header",children:[c.jsx("img",{src:Wi.team,alt:"",className:"myorg-section-icon"}),c.jsx("h3",{className:"myorg-section-title",children:"Team Roster"}),c.jsxs("span",{className:"myorg-section-count",children:[t.length," members"]}),c.jsx("span",{className:"myorg-section-spacer"}),c.jsxs("span",{className:"myorg-section-note",children:[G,"/",e.length," staffed"]})]}),c.jsx("div",{className:"team-roster-grid",children:e.map(X=>{const ee=H.get(X.role_id)||[];return c.jsxs("div",{className:"team-roster-card",children:[c.jsxs("div",{className:"team-roster-card-header",children:[c.jsx("img",{src:Du(X.icon),alt:"",className:"team-roster-card-icon"}),c.jsx("span",{className:"team-roster-role-name",children:X.name}),c.jsx("span",{className:"team-roster-count",children:ee.length||"vacant"})]}),ee.length>0?ee.map(te=>c.jsxs("div",{className:"team-roster-emp",children:[c.jsx("img",{src:Wi.person,alt:"",className:"team-roster-emp-avatar"}),c.jsxs("div",{className:"team-roster-emp-info",children:[c.jsx("span",{className:"team-roster-emp-name",children:te.name}),c.jsx("span",{className:`team-roster-seniority team-roster-seniority--${te.seniority}`,children:te.seniority})]}),te.linked_agent_id?c.jsx("span",{className:"team-roster-badge team-roster-badge--active",children:"In Office"}):m&&te.role_id?c.jsxs("button",{className:"team-roster-deploy-btn",onClick:()=>m(te.employee_id),title:"Add this employee to the office workspace",children:[c.jsx("img",{src:Wi.deploy,alt:"",className:"team-roster-deploy-icon"})," Deploy"]}):null]},te.employee_id)):c.jsxs("div",{className:"team-roster-vacant",children:[c.jsx("span",{className:"team-roster-vacant-text",children:"No members yet"}),r&&c.jsx("button",{className:"team-roster-hire-btn",onClick:()=>h("employees"),children:"Hire"})]})]},X.role_id)})})]})]})}function rh(e){if(e.adaptive&&typeof e.adaptive=="object")return e.adaptive;const t=e.metadata;if(t&&typeof t=="object"&&t.adaptive&&typeof t.adaptive=="object")return t.adaptive}function zQ(e){const t=rh(e);return(Array.isArray(t?.signals)?t.signals:[]).filter(r=>r&&typeof r=="object").filter(r=>!!(r.required??!0)&&!r.satisfied).map(r=>String(r.name??"").trim()).filter(Boolean)}function PQ(e){const n=rh(e)?.work_item_profile;return n&&typeof n=="object"?String(n.gate_owner_role_id??"").trim():""}function BQ(e){const t=rh(e),n=typeof t?.confidence=="number"?t.confidence:void 0;return typeof n=="number"?`${Math.round(n*100)}%`:""}function $Q({roles:e,runtimeTeams:t,runtimeSeats:n,workItems:r,frontier:i,companyProfile:o,runtimePolicy:a,finalDeciderRoleId:u,topLevelRoleIds:d,readOnly:m=!1,onUpdateOrgStrategy:p,onUpdateRuntimePolicy:h}){const g=e.filter(S=>(d??[]).includes(S.role_id)),y=u||(g.length===1?g[0]?.role_id:""),v=g.length>1&&!y,k=new Map(e.map(S=>[S.role_id,S.name]));return c.jsxs("div",{className:"wfe-container",children:[c.jsxs("div",{className:"wfe-header",children:[c.jsx("h3",{className:"wfe-title",children:"Actor Runtime"}),c.jsx("span",{className:"wfe-profile-badge",children:o})]}),c.jsx("div",{className:"myorg-collapsible",style:{margin:"0 0 8px"},children:c.jsxs("div",{className:"myorg-collapsible-body",style:{display:"block"},children:[c.jsxs("div",{className:"oc-form-row",children:[c.jsx("label",{children:"Final decider"}),c.jsxs("select",{value:y,disabled:m,onChange:S=>{m||p?.({final_decider_role_id:S.target.value||null})},children:[c.jsx("option",{value:"",children:g.length>1?"Select top-level role":"Auto-select only top-level role"}),g.map(S=>c.jsx("option",{value:S.role_id,children:S.name},S.role_id))]})]}),c.jsx("div",{style:{fontSize:12,color:"var(--text-secondary)"},children:"Runtime wakeups, delegation, approvals, and recovery are seat-scoped."}),v&&c.jsx("div",{className:"org-toast org-toast--warn",style:{margin:"0 0 8px"},children:"Multiple top-level roles exist. Select one final decider before company execution can start."})]})}),t.length||n.length||r.length?c.jsx("div",{className:"myorg-collapsible",style:{margin:"0 0 8px"},children:c.jsxs("div",{className:"myorg-collapsible-body",style:{display:"block"},children:[c.jsxs("div",{className:"oc-form-row",children:[c.jsx("label",{children:"Runtime"}),c.jsxs("div",{children:[i.status||"running",i.run_id?` (${i.run_id.slice(0,8)})`:""]})]}),c.jsxs("div",{className:"oc-form-row",children:[c.jsx("label",{children:"Frontier"}),c.jsxs("div",{children:[i.running_count??0," running, ",i.ready_count??0," ready, ",i.blocked_count??0," blocked, ",i.waiting_count??0," waiting"]})]}),c.jsxs("div",{className:"oc-form-row",children:[c.jsx("label",{children:"Teams"}),c.jsx("div",{children:t.length})]}),c.jsxs("div",{className:"oc-form-row",children:[c.jsx("label",{children:"Seats"}),c.jsx("div",{children:n.length})]}),c.jsxs("div",{className:"oc-form-row",children:[c.jsx("label",{children:"Work items"}),c.jsx("div",{children:r.length})]}),r.length>0&&c.jsx("div",{style:{fontSize:12,color:"var(--text-secondary)"},children:r.slice(0,6).map(S=>{const _=rh(S),w=typeof _?.normalized_state=="string"?_.normalized_state:"",C=typeof _?.blocked_reason=="string"?_.blocked_reason:S.blocked_reason??"",N=PQ(S),O=zQ(S),I=BQ(S),D=[C?`waiting ${C}`:"",N?`gate ${k.get(N)??N}`:"",O.length?`signals ${O.join(", ")}`:"",I?`confidence ${I}`:"",w==="invalidated"?"invalidated":""].filter(Boolean);return c.jsxs("div",{style:{marginBottom:6},children:[c.jsxs("div",{children:[k.get(S.role_id)??S.role_id,": ",S.title," [",S.phase,"]",S.kanban_column&&c.jsxs("span",{style:{opacity:.5},children:[" ยท ",S.kanban_column]}),S.batch_id&&c.jsxs("span",{style:{opacity:.5},children:[" batch:",S.batch_id]}),w&&w!==S.phase&&c.jsxs("span",{style:{opacity:.7},children:[" state:",w]})]}),D.length>0&&c.jsx("div",{style:{marginLeft:12,opacity:.85},children:D.join(" โ€ข ")})]},S.work_item_id)})})]})}):null]})}function HQ({pkg:e,onUninstall:t,uninstallingId:n}){const r=n===e.package_id;return c.jsxs("div",{className:"pkg-card",children:[c.jsxs("div",{className:"pkg-card-header",children:[c.jsx("img",{src:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M20.54 5.23l-1.39-1.68C18.88 3.21 18.47 3 18 3H6c-.47 0-.88.21-1.16.55L3.46 5.23C3.17 5.57 3 6.02 3 6.5V19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6.5c0-.48-.17-.93-.46-1.27zM12 17.5L6.5 12H10v-2h4v2h3.5L12 17.5zM5.12 5l.81-1h12l.94 1H5.12z'/%3E%3C/svg%3E",alt:"package",className:"pkg-card-icon"}),c.jsxs("div",{className:"pkg-card-title-wrap",children:[c.jsx("span",{className:"pkg-card-name",children:e.name||e.package_id}),c.jsxs("span",{className:"pkg-card-version",children:["v",e.version]})]})]}),c.jsxs("div",{className:"pkg-card-stats",children:[c.jsxs("span",{className:"pkg-card-stat",children:[c.jsx("img",{src:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E",alt:"roles",className:"pkg-stat-icon"}),e.role_ids.length," roles"]}),c.jsxs("span",{className:"pkg-card-stat",children:[c.jsx("img",{src:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.11-.9-2-2-2zm-5 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z'/%3E%3C/svg%3E",alt:"templates",className:"pkg-stat-icon"}),e.template_ids.length," templates"]})]}),e.installed_at&&c.jsxs("div",{className:"pkg-card-date",children:["Installed ",new Date(e.installed_at).toLocaleDateString()]}),t&&c.jsx("div",{className:"pkg-card-actions",children:c.jsx("button",{className:"pkg-btn pkg-btn-danger",disabled:r,onClick:i=>{i.stopPropagation(),t(e.package_id)},children:r?"Removing...":"Uninstall"})})]})}function Sy({icon:e,title:t,count:n,extra:r,children:i,defaultExpanded:o=!1}){const[a,u]=j.useState(o);return c.jsxs("div",{className:"myorg-collapsible",children:[c.jsxs("button",{className:"myorg-collapsible-toggle",onClick:()=>u(!a),children:[c.jsx("span",{className:"myorg-toggle-icon",children:a?"โ–พ":"โ–ธ"}),c.jsx("img",{src:e,alt:"",className:"myorg-section-icon"}),c.jsx("span",{className:"myorg-collapsible-title",children:t}),c.jsx("span",{className:"myorg-collapsible-count",children:n}),r&&c.jsx("span",{className:"myorg-collapsible-extra",onClick:d=>d.stopPropagation(),children:r})]}),a&&c.jsx("div",{className:"myorg-collapsible-body",children:i})]})}const qi={search:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M15.5 14h-.79l-.28-.27a6.5 6.5 0 1 0-.7.7l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0A4.5 4.5 0 1 1 14 9.5 4.5 4.5 0 0 1 9.5 14z'/%3E%3C/svg%3E",arch:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z'/%3E%3C/svg%3E",packages:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M20.54 5.23l-1.39-1.68C18.88 3.21 18.47 3 18 3H6c-.47 0-.88.21-1.16.55L3.46 5.23C3.17 5.57 3 6.02 3 6.5V19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6.5c0-.48-.17-.93-.46-1.27zM12 17.5L6.5 12H10v-2h4v2h3.5L12 17.5zM5.12 5l.81-1h12l.94 1H5.12z'/%3E%3C/svg%3E",channels:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M1 9l2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9zm8 8l3 3 3-3c-1.65-1.66-4.34-1.66-6 0zm-4-4l2 2c2.76-2.76 7.24-2.76 10 0l2-2C15.14 9.14 8.87 9.14 5 13z'/%3E%3C/svg%3E",reorg:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M6.99 11L3 15l3.99 4v-3H14v-2H6.99v-3zM21 9l-3.99-4v3H10v2h7.01v3L21 9z'/%3E%3C/svg%3E",importPkg:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z'/%3E%3C/svg%3E",arrow:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z'/%3E%3C/svg%3E",gateReview:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23f59e0b' d='M12 2L4 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-3zm-2 16l-4-4 1.41-1.41L10 15.17l6.59-6.59L18 10l-8 8z'/%3E%3C/svg%3E",gateApproval:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2322c55e' d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z'/%3E%3C/svg%3E",gateHold:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ef4444' d='M6 19h4V5H6v14zm8-14v14h4V5h-4z'/%3E%3C/svg%3E"},C0={pipeline:"Pipeline",hub_spoke:"Hub & Spoke",review_loop:"Review Loop",hierarchical:"Hierarchical",flat:"Flat Team"};function FQ({presets:e,installedIds:t,previewData:n,applyingPresetId:r,readOnly:i,onPreview:o,onApplyPreset:a,onClearPreview:u,installedPackages:d,channels:m,reorgProposals:p,isCustomMode:h,onReorgDecide:g,onMarketInstall:y,onMarketUninstall:v}){const[k,S]=j.useState(""),[_,w]=j.useState(null),[C,N]=j.useState(null),[O,I]=j.useState(!1),[D,T]=j.useState(""),[L,A]=j.useState(null),M=j.useMemo(()=>{const H=new Set;for(const V of e)V.category&&H.add(V.category);return Array.from(H).sort()},[e]),$=j.useMemo(()=>{const H=new Set;for(const V of e)V.collaboration_pattern&&H.add(V.collaboration_pattern);return Array.from(H).sort()},[e]),W=j.useMemo(()=>{let H=e;if(_&&(H=H.filter(V=>V.category===_)),C&&(H=H.filter(V=>V.collaboration_pattern===C)),k.trim()){const V=k.trim().toLowerCase();H=H.filter(Y=>Y.name.toLowerCase().includes(V)||Y.description.toLowerCase().includes(V)||Y.tags.some(Q=>Q.toLowerCase().includes(V))||(C0[Y.collaboration_pattern]||"").toLowerCase().includes(V))}return H},[e,_,C,k]),B=()=>{D.trim()&&(y(D.trim(),"namespace"),I(!1),T(""))},U=H=>{confirm("Uninstall this package? Roles and work-item templates from this package will be removed.")&&(A(H),v(H),setTimeout(()=>A(null),3e3))};return c.jsxs("div",{className:"mkt-container","data-testid":"architecture-marketplace",children:[c.jsxs("div",{className:"mkt-toolbar",children:[c.jsxs("div",{className:"mkt-search-wrap",children:[c.jsx("img",{src:qi.search,alt:"",className:"mkt-search-icon"}),c.jsx("input",{className:"mkt-search",placeholder:"Search architectures...",value:k,onChange:H=>S(H.target.value)})]}),c.jsxs("span",{className:"mkt-count",children:[W.length," architectures"]})]}),c.jsxs("div",{className:"mkt-filters",children:[M.length>0&&c.jsxs("div",{className:"mkt-pill-row",children:[c.jsx("button",{className:`mkt-pill${_?"":" active"}`,onClick:()=>w(null),children:"All"}),M.map(H=>c.jsx("button",{className:`mkt-pill${_===H?" active":""}`,onClick:()=>w(_===H?null:H),children:H},H))]}),$.length>0&&c.jsxs("div",{className:"mkt-pill-row",children:[c.jsx("button",{className:`mkt-pill mkt-pill-pattern${C?"":" active"}`,onClick:()=>N(null),children:"All Patterns"}),$.map(H=>c.jsx("button",{className:`mkt-pill mkt-pill-pattern${C===H?" active":""}`,onClick:()=>N(C===H?null:H),children:C0[H]||H},H))]})]}),W.length>0?c.jsxs("div",{className:"mkt-section",children:[c.jsxs("div",{className:"mkt-section-header",children:[c.jsx("img",{src:qi.arch,alt:"",className:"mkt-section-icon"}),c.jsx("h3",{className:"mkt-section-title",children:"Architecture Blueprints"}),c.jsx("span",{className:"mkt-section-count",children:W.length})]}),c.jsx("div",{className:"mkt-arch-grid",children:W.map(H=>c.jsx(VQ,{preset:H,isInstalled:t.has(H.id),isApplying:r===H.id,readOnly:i,onPreview:()=>o(H.id),onApply:()=>a(H.id,"namespace")},H.id))})]}):c.jsx("div",{className:"mkt-empty",children:c.jsx("p",{children:"No architectures match your search."})}),c.jsxs(Sy,{icon:qi.packages,title:"Installed Packages",count:d.length,extra:h?c.jsxs("button",{className:"myorg-inline-btn",onClick:()=>I(!O),children:[c.jsx("img",{src:qi.importPkg,alt:"",className:"myorg-inline-icon"})," Import"]}):void 0,children:[h&&O&&c.jsxs("div",{className:"myorg-form",children:[c.jsxs("div",{className:"oc-form-row",children:[c.jsx("label",{children:"Path"}),c.jsx("input",{value:D,onChange:H=>T(H.target.value),placeholder:"/path/to/package.opcpkg"})]}),c.jsxs("div",{className:"oc-form-actions",children:[c.jsx("button",{className:"oc-btn-primary",onClick:B,disabled:!D.trim(),children:"Install"}),c.jsx("button",{className:"oc-btn-ghost",onClick:()=>I(!1),children:"Cancel"})]})]}),d.length>0?c.jsx("div",{className:"pkg-grid",children:d.map(H=>c.jsx(HQ,{pkg:H,onUninstall:h?U:void 0,uninstallingId:L},H.package_id))}):c.jsx("div",{className:"myorg-empty-hint",children:"No packages installed."})]}),c.jsx(Sy,{icon:qi.channels,title:"Channels & Connectors",count:m.length,children:m.length>0?c.jsx("div",{className:"org-channels-grid",children:m.map(H=>c.jsxs("div",{className:`org-channel-card${H.running?" org-ch-running":""}${H.enabled?"":" org-ch-disabled"}`,children:[c.jsxs("div",{className:"org-ch-header",children:[c.jsx("span",{className:`org-ch-dot${H.running?" running":H.ready?" ready":H.configured?" configured":""}`}),c.jsx("span",{className:"org-ch-name",children:H.name})]}),c.jsxs("div",{className:"org-ch-status-row",children:[H.enabled&&c.jsx("span",{className:"org-ch-badge org-ch-enabled",children:"enabled"}),H.running&&c.jsx("span",{className:"org-ch-badge org-ch-running-badge",children:"running"}),!H.enabled&&c.jsx("span",{className:"org-ch-badge org-ch-off",children:"disabled"})]})]},H.name))}):c.jsx("div",{className:"myorg-empty-hint",children:"No channels configured."})}),p.length>0&&c.jsx(Sy,{icon:qi.reorg,title:"Reorg Proposals",count:p.length,children:c.jsx("div",{className:"org-reorg-list",children:p.map(H=>{const V=H.status==="proposed";return c.jsxs("div",{className:`org-reorg-card org-reorg-${H.status}`,children:[c.jsxs("div",{className:"org-reorg-header",children:[c.jsx("span",{className:"org-reorg-title",children:H.title||H.summary||"Untitled"}),c.jsx("span",{className:"org-reorg-status",children:H.status})]}),H.summary&&c.jsx("div",{className:"org-reorg-summary",children:H.summary}),V&&h&&c.jsxs("div",{className:"org-reorg-actions",children:[c.jsx("button",{className:"org-reorg-approve",onClick:()=>g(H.proposal_id,!0),children:"Approve"}),c.jsx("button",{className:"org-reorg-deny",onClick:()=>g(H.proposal_id,!1),children:"Deny"})]})]},H.proposal_id)})})}),n&&c.jsx(UQ,{data:n,isInstalled:t.has(n.id),isApplying:r===n.id,onApply:()=>a(n.id,"namespace"),onClose:u})]})}function VQ({preset:e,isInstalled:t,isApplying:n,readOnly:r,onPreview:i,onApply:o}){const a=C0[e.collaboration_pattern]||e.collaboration_pattern;return c.jsxs("div",{className:"mkt-arch-card",style:{borderLeftColor:e.color||"var(--accent)"},onClick:i,children:[c.jsxs("div",{className:"mkt-arch-header",children:[c.jsx("span",{className:"mkt-arch-emoji",children:e.emoji}),c.jsxs("div",{className:"mkt-arch-title-wrap",children:[c.jsx("span",{className:"mkt-arch-name",children:e.name}),c.jsxs("div",{className:"mkt-arch-badges",children:[c.jsx("span",{className:"mkt-arch-category",children:e.category}),e.collaboration_pattern&&c.jsx("span",{className:"mkt-arch-pattern",children:a})]})]})]}),e.dag_summary&&c.jsx("div",{className:"mkt-arch-dag-summary",children:e.dag_summary}),c.jsx("div",{className:"mkt-arch-desc",children:e.description}),c.jsxs("div",{className:"mkt-arch-stats",children:[c.jsxs("span",{className:"mkt-arch-stat",children:[e.roles_count," roles"]}),c.jsxs("span",{className:"mkt-arch-stat",children:[e.work_item_templates_count," templates"]}),e.gates_count>0&&c.jsxs("span",{className:"mkt-arch-stat",children:[e.gates_count," checkpoints"]}),e.team_size&&c.jsxs("span",{className:"mkt-arch-stat",children:[e.team_size," people"]})]}),e.tags.length>0&&c.jsx("div",{className:"mkt-arch-tags",children:e.tags.slice(0,4).map(u=>c.jsx("span",{className:"mkt-tag",children:u},u))}),c.jsxs("div",{className:"mkt-arch-actions",children:[t?c.jsx("span",{className:"mkt-installed-badge",children:"Installed"}):r?null:c.jsx("button",{className:"mkt-btn mkt-btn-primary mkt-btn-sm",disabled:n,onClick:u=>{u.stopPropagation(),o()},children:n?"Applying...":"Use This"}),c.jsx("button",{className:"mkt-btn mkt-btn-ghost mkt-btn-sm",onClick:u=>{u.stopPropagation(),i()},children:"Preview"})]})]})}function UQ({data:e,isInstalled:t,isApplying:n,onApply:r,onClose:i}){return c.jsx("div",{className:"mkt-modal-overlay",onClick:i,children:c.jsxs("div",{className:"mkt-modal",onClick:o=>o.stopPropagation(),children:[c.jsxs("div",{className:"mkt-modal-header",style:{borderBottomColor:e.color||"var(--border)"},children:[c.jsx("span",{className:"mkt-modal-emoji",children:e.emoji}),c.jsxs("div",{children:[c.jsx("h2",{className:"mkt-modal-name",children:e.name}),c.jsx("span",{className:"mkt-modal-category",children:e.category})]}),c.jsx("button",{className:"mkt-modal-close",onClick:i,children:"ร—"})]}),c.jsxs("div",{className:"mkt-modal-body",children:[c.jsx("p",{className:"mkt-modal-desc",children:e.description}),e.tags.length>0&&c.jsxs("div",{className:"mkt-modal-section",children:[c.jsx("div",{className:"mkt-modal-label",children:"Tags"}),c.jsx("div",{className:"mkt-modal-tags",children:e.tags.map(o=>c.jsx("span",{className:"mkt-tag",children:o},o))})]}),c.jsxs("div",{className:"mkt-modal-section",children:[c.jsxs("div",{className:"mkt-modal-label",children:["Roles (",e.roles.length,")"]}),c.jsx("div",{className:"mkt-role-list",children:e.roles.map(o=>c.jsxs("div",{className:"mkt-role-item",children:[c.jsxs("div",{className:"mkt-role-name",children:[o.name," ",c.jsx("code",{children:o.id})]}),c.jsx("div",{className:"mkt-role-resp",children:o.responsibility}),c.jsxs("div",{className:"mkt-role-meta",children:["reports to: ",c.jsx("code",{children:o.reports_to}),o.can_spawn&&o.can_spawn.length>0&&c.jsxs(c.Fragment,{children:[" ยท spawns: ",o.can_spawn.map(a=>c.jsx("code",{children:a},a))]})]})]},o.id))})]}),c.jsxs("div",{className:"mkt-modal-section",children:[c.jsxs("div",{className:"mkt-modal-label",children:["Work item templates (",e.work_item_templates.length," templates)"]}),c.jsx("div",{className:"mkt-dag-wrap",children:c.jsx(GQ,{templates:e.work_item_templates})})]})]}),c.jsx("div",{className:"mkt-modal-footer",children:t?c.jsx("span",{className:"mkt-installed-badge",children:"Already Installed"}):c.jsx("button",{className:"mkt-btn mkt-btn-primary",disabled:n,onClick:r,children:n?"Applying...":"Use This Architecture"})})]})})}function GQ({templates:e}){const t=[];let n="__init__",r=[];for(const i of e)i.parallel_group!==n?(r.length>0&&t.push({group:n,templates:r}),n=i.parallel_group,r=[i]):r.push(i);return r.length>0&&t.push({group:n,templates:r}),c.jsx("div",{className:"org-dag",children:t.map((i,o)=>c.jsxs("div",{className:"org-dag-group-wrap",children:[o>0&&c.jsx("div",{className:"org-dag-arrow",children:c.jsx("img",{src:qi.arrow,alt:"โ†’",className:"org-dag-arrow-icon"})}),c.jsxs("div",{className:`org-dag-group${i.templates.length>1?" org-dag-parallel":""}`,children:[i.templates.length>1&&c.jsx("div",{className:"org-dag-parallel-label",children:"parallel"}),i.templates.map(a=>c.jsxs("div",{className:"org-dag-node",children:[c.jsxs("div",{className:"org-dag-node-header",children:[c.jsx("span",{className:"org-dag-node-title",children:a.title}),c.jsx("span",{className:"org-dag-node-role",children:a.role_id})]}),c.jsx("div",{className:"org-dag-node-id",children:a.id}),a.gate&&c.jsxs("div",{className:`org-dag-gate org-gate-${a.gate.type}`,children:[c.jsx("img",{src:a.gate.type==="review"?qi.gateReview:a.gate.type==="approval"?qi.gateApproval:qi.gateHold,alt:"",className:"org-gate-icon"}),c.jsx("span",{children:a.gate.type}),a.gate.reviewer_role&&c.jsxs("span",{className:"org-gate-reviewer",children:["by ",a.gate.reviewer_role]})]})]},a.id))]})]},o))})}function qQ(e){const t=e.trim().split(/\s+/).filter(Boolean);return t.length===0?"?":t.length===1?t[0].slice(0,2).toUpperCase():(t[0][0]+t[t.length-1][0]).toUpperCase()}function WQ({template:e,hiringId:t,onHire:n,onClick:r}){const i=t===e.template_id,o=e.color?{background:`color-mix(in srgb, ${e.color} 18%, transparent)`,color:e.color,boxShadow:`inset 0 0 0 1px color-mix(in srgb, ${e.color} 28%, transparent)`}:void 0,a=[],u=new Set;for(const p of[...e.tags,...e.domains])u.has(p)||(u.add(p),a.push(p));const d=a.slice(0,3),m=a.length-d.length;return c.jsxs("div",{className:"tm-card",onClick:()=>r(e),children:[c.jsxs("div",{className:"tm-card-head",children:[c.jsx("div",{className:"tm-card-avatar",style:o,"aria-hidden":!0,children:e.emoji?c.jsx("span",{className:"tm-card-avatar-emoji",children:e.emoji}):c.jsx("span",{className:"tm-card-avatar-mono",children:qQ(e.name)})}),c.jsxs("div",{className:"tm-card-head-text",children:[c.jsxs("div",{className:"tm-card-name-row",children:[c.jsx("span",{className:"tm-card-name",title:e.name,children:e.name}),e.preferred_external_agent&&c.jsx("span",{className:"tm-card-agent-badge",title:`Agent: ${e.preferred_external_agent}`,children:e.preferred_external_agent})]}),e.category&&c.jsx("span",{className:"tm-card-category",children:e.category})]})]}),c.jsxs("div",{className:"tm-card-body",children:[e.vibe&&c.jsxs("div",{className:"tm-card-vibe",children:['"',e.vibe,'"']}),e.description&&c.jsx("div",{className:"tm-card-desc",children:e.description})]}),d.length>0&&c.jsxs("div",{className:"tm-card-chips",children:[d.map(p=>c.jsx("span",{className:"tm-card-chip",children:p},p)),m>0&&c.jsxs("span",{className:"tm-card-chip tm-card-chip-more",children:["+",m]})]}),c.jsx("div",{className:"tm-card-footer",children:c.jsx("button",{className:"tm-card-hire-btn",disabled:i,onClick:p=>{p.stopPropagation(),n(e.template_id)},children:i?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"spinner-inline"})," Hiring"]}):"Hire โ†’"})})]})}const $R=e=>e,HR=e=>e;function YQ({template:e,vacantRoles:t,hiringId:n,readOnly:r,onHire:i,onClose:o}){const[a,u]=j.useState(""),d=n===e.template_id,m=t.length===0,p=!r&&!d&&!m&&a!=="";j.useEffect(()=>{u("")},[e.template_id]);const h=()=>{p&&i(HR(e.template_id),$R(a))};return c.jsx("div",{className:"tm-detail-overlay",onClick:o,children:c.jsxs("div",{className:"tm-detail-modal",onClick:g=>g.stopPropagation(),children:[c.jsxs("div",{className:"tm-detail-header",style:{borderBottomColor:e.color||"var(--border)"},children:[e.emoji&&c.jsx("span",{className:"tm-detail-emoji",children:e.emoji}),c.jsxs("div",{children:[c.jsx("h2",{className:"tm-detail-name",children:e.name}),c.jsx("span",{className:"tm-detail-category",children:e.category})]}),c.jsx("button",{className:"tm-detail-close",onClick:o,children:"ร—"})]}),c.jsxs("div",{className:"tm-detail-body",children:[e.vibe&&c.jsxs("blockquote",{className:"tm-detail-vibe",children:['"',e.vibe,'"']}),e.description&&c.jsx("p",{className:"tm-detail-desc",children:e.description}),e.domains.length>0&&c.jsxs("div",{className:"tm-detail-section",children:[c.jsx("div",{className:"tm-detail-label",children:"Domains"}),c.jsx("div",{className:"tm-detail-tags",children:e.domains.map(g=>c.jsx("span",{className:"org-domain-tag",children:g},g))})]}),e.tags.length>0&&c.jsxs("div",{className:"tm-detail-section",children:[c.jsx("div",{className:"tm-detail-label",children:"Tags"}),c.jsx("div",{className:"tm-detail-tags",children:e.tags.map(g=>c.jsx("span",{className:"org-tool-tag",children:g},g))})]}),e.preferred_external_agent&&c.jsxs("div",{className:"tm-detail-section",children:[c.jsx("div",{className:"tm-detail-label",children:"Recommended Agent"}),c.jsx("span",{className:"tm-card-agent-badge",children:e.preferred_external_agent})]}),!r&&c.jsxs("div",{className:"tm-detail-section",children:[c.jsx("div",{className:"tm-detail-label",children:"Hire into role"}),m?c.jsx("p",{className:"tm-detail-vacancy-empty",children:"No vacant roles. Create a role in the Team tab first."}):c.jsx("div",{className:"tm-detail-role-list",role:"listbox","aria-label":"Vacant roles",children:t.map(g=>{const y=g.role_id===a;return c.jsxs("button",{type:"button",role:"option","aria-selected":y,className:`tm-detail-role-row${y?" is-selected":""}`,onClick:()=>u(g.role_id),children:[c.jsx("span",{className:"tm-detail-role-name",children:g.name}),g.responsibility&&c.jsx("span",{className:"tm-detail-role-resp",children:g.responsibility})]},g.role_id)})})]})]}),!r&&c.jsx("div",{className:"tm-detail-footer",children:c.jsx("button",{className:"tm-detail-hire-btn",disabled:!p,onClick:h,children:d?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"spinner-inline"})," Hiring..."]}):"Hire to selected role"})})]})})}function XQ({open:e,template:t,vacantRoles:n,onConfirm:r,onClose:i}){const[o,a]=j.useState("");if(j.useEffect(()=>{e&&a("")},[e,t?.template_id]),j.useEffect(()=>{if(!e)return;const p=h=>{h.key==="Escape"&&i()};return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[e,i]),!e||!t)return null;const u=n.length===0,d=!u&&o!=="",m=()=>{d&&r(HR(t.template_id),$R(o))};return c.jsx("div",{className:"htr-overlay",role:"dialog","aria-modal":"true",onMouseDown:i,children:c.jsxs("div",{className:"htr-modal",onMouseDown:p=>p.stopPropagation(),children:[c.jsxs("header",{className:"htr-header",children:[c.jsxs("div",{children:[c.jsxs("h3",{className:"htr-title",children:["Hire ",t.name]}),c.jsx("p",{className:"htr-subtitle",children:"Pick the role to fill with this employee."})]}),c.jsx("button",{className:"htr-close",type:"button",onClick:i,"aria-label":"Close",children:"x"})]}),c.jsx("div",{className:"htr-body",children:u?c.jsxs("div",{className:"htr-empty",children:[c.jsx("p",{className:"htr-empty-title",children:"No vacant roles."}),c.jsx("p",{className:"htr-empty-hint",children:"Add a role in the Team tab first, then come back to hire."})]}):c.jsx("div",{className:"htr-role-list",role:"listbox","aria-label":"Vacant roles",children:n.map(p=>{const h=p.role_id===o;return c.jsxs("button",{type:"button",role:"option","aria-selected":h,className:`htr-role-row${h?" is-selected":""}`,onClick:()=>a(p.role_id),children:[c.jsx("span",{className:"htr-role-name",children:p.name}),p.responsibility&&c.jsx("span",{className:"htr-role-resp",children:p.responsibility})]},p.role_id)})})}),c.jsxs("footer",{className:"htr-footer",children:[c.jsx("button",{type:"button",className:"btn btn-ghost",onClick:i,children:u?"Close":"Cancel"}),!u&&c.jsx("button",{type:"button",className:"btn btn-primary",onClick:m,disabled:!d,children:"Hire to selected role"})]})]})})}const wj={search:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M15.5 14h-.79l-.28-.27a6.5 6.5 0 1 0-.7.7l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0A4.5 4.5 0 1 1 14 9.5 4.5 4.5 0 0 1 9.5 14z'/%3E%3C/svg%3E",talent:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E"};function KQ({templates:e,vacantRoles:t,hiringTemplateId:n,readOnly:r,onHireTalent:i}){const[o,a]=j.useState(""),[u,d]=j.useState(null),[m,p]=j.useState(null),[h,g]=j.useState(null),y=j.useMemo(()=>{const S=new Set;for(const _ of e)_.category&&S.add(_.category);return Array.from(S).sort()},[e]),v=j.useMemo(()=>{let S=e;if(u&&(S=S.filter(_=>_.category===u)),o.trim()){const _=o.trim().toLowerCase();S=S.filter(w=>w.name.toLowerCase().includes(_)||w.description.toLowerCase().includes(_)||w.domains.some(C=>C.toLowerCase().includes(_))||w.tags.some(C=>C.toLowerCase().includes(_))||(w.vibe??"").toLowerCase().includes(_))}return S},[e,u,o]),k=S=>{if(r)return;const _=e.find(w=>w.template_id===S);_&&g(_)};return c.jsxs("div",{className:"mkt-container","data-testid":"employees-marketplace",children:[c.jsxs("div",{className:"mkt-toolbar",children:[c.jsxs("div",{className:"mkt-search-wrap",children:[c.jsx("img",{src:wj.search,alt:"",className:"mkt-search-icon"}),c.jsx("input",{className:"mkt-search",placeholder:"Search talent templates...",value:o,onChange:S=>a(S.target.value)})]}),c.jsxs("span",{className:"mkt-count",children:[v.length," employees",t.length>0&&c.jsxs(c.Fragment,{children:[" ยท ",t.length," vacant role",t.length===1?"":"s"]})]})]}),y.length>0&&c.jsx("div",{className:"mkt-filters",children:c.jsxs("div",{className:"mkt-pill-row",children:[c.jsx("button",{className:`mkt-pill${u?"":" active"}`,onClick:()=>d(null),children:"All"}),y.map(S=>c.jsx("button",{className:`mkt-pill${u===S?" active":""}`,onClick:()=>d(u===S?null:S),children:S},S))]})}),v.length>0?c.jsxs("div",{className:"mkt-section",children:[c.jsxs("div",{className:"mkt-section-header",children:[c.jsx("img",{src:wj.talent,alt:"",className:"mkt-section-icon"}),c.jsx("h3",{className:"mkt-section-title",children:"Talent Templates"}),c.jsx("span",{className:"mkt-section-count",children:v.length})]}),c.jsx("div",{className:"tm-grid",children:v.map(S=>c.jsx(WQ,{template:S,hiringId:n,onHire:k,onClick:p},S.template_id))})]}):c.jsx("div",{className:"mkt-empty",children:c.jsx("p",{children:e.length===0?"No talent templates available.":"No employees match your search."})}),m&&c.jsx(YQ,{template:m,vacantRoles:t,hiringId:n,readOnly:r,onHire:(S,_)=>{r||(i(S,_),p(null))},onClose:()=>p(null)}),c.jsx(XQ,{open:h!==null,template:h,vacantRoles:t,onConfirm:(S,_)=>{i(S,_),g(null)},onClose:()=>g(null)})]})}const Vc={download:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z'/%3E%3C/svg%3E",upload:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M9 16h6v-6h4l-7-7-7 7h4zm-4 2h14v2H5z'/%3E%3C/svg%3E",check:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2322c55e' d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z'/%3E%3C/svg%3E",warn:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ef4444' d='M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z'/%3E%3C/svg%3E"};function ZQ({onExport:e,onImport:t,configExportYaml:n,importPreview:r,importError:i}){const[o,a]=j.useState(""),[u,d]=j.useState(null),[m,p]=j.useState(!1),h=j.useRef(!1),g=j.useRef(null);j.useEffect(()=>{if(!h.current||!n||n===g.current)return;g.current=n,h.current=!1;const w=new Blob([n],{type:"application/x-yaml"}),C=URL.createObjectURL(w),N=document.createElement("a");N.href=C;const O=new Date().toISOString().replace(/[:.]/g,"-").slice(0,19);N.download=`org_config_${O}.yaml`,document.body.appendChild(N),N.click(),document.body.removeChild(N),URL.revokeObjectURL(C)},[n]),j.useEffect(()=>{p(!1)},[o]),j.useEffect(()=>{r&&!i&&p(!0)},[r,i]);const y=()=>{h.current=!0,e()},v=w=>{const C=w.target.files?.[0];if(!C)return;d(C.name);const N=new FileReader;N.onload=()=>{const O=N.result;typeof O=="string"&&a(O)},N.readAsText(C),w.target.value=""},k=()=>{o.trim()&&t(o,!0)},S=()=>{!m||!o.trim()||confirm("Apply this config? The current company architecture will be overwritten.")&&(t(o,!1),p(!1),a(""),d(null))},_=()=>{a(""),d(null),p(!1)};return c.jsxs("div",{className:"cfg-io-panel","data-testid":"config-import-export-panel",children:[c.jsxs("div",{className:"cfg-io-header",children:[c.jsx("h3",{className:"cfg-io-title",children:"Config Import / Export"}),c.jsx("p",{className:"cfg-io-subtitle",children:"Download the current company architecture as YAML, or upload one to replace it."})]}),c.jsxs("div",{className:"cfg-io-section",children:[c.jsxs("div",{className:"cfg-io-section-header",children:[c.jsx("img",{src:Vc.download,alt:"",className:"cfg-io-section-icon"}),c.jsx("span",{className:"cfg-io-section-title",children:"Download current config"})]}),c.jsxs("button",{className:"cfg-io-btn cfg-io-btn-primary",onClick:y,children:[c.jsx("img",{src:Vc.download,alt:"",className:"cfg-io-btn-icon"})," Download YAML"]})]}),c.jsxs("div",{className:"cfg-io-section",children:[c.jsxs("div",{className:"cfg-io-section-header",children:[c.jsx("img",{src:Vc.upload,alt:"",className:"cfg-io-section-icon"}),c.jsx("span",{className:"cfg-io-section-title",children:"Upload config"})]}),c.jsx("div",{className:"cfg-io-upload-row",children:c.jsxs("label",{className:"cfg-io-file-label",children:[c.jsx("input",{type:"file",accept:".yaml,.yml",onChange:v,className:"cfg-io-file-input"}),c.jsx("span",{className:"cfg-io-file-btn",children:"Choose fileโ€ฆ"}),c.jsx("span",{className:"cfg-io-file-name",children:u??"no file selected"})]})}),c.jsx("textarea",{className:"cfg-io-textarea",placeholder:"โ€ฆor paste YAML here",value:o,onChange:w=>a(w.target.value),spellCheck:!1,rows:10}),c.jsxs("div",{className:"cfg-io-actions",children:[c.jsx("button",{className:"cfg-io-btn cfg-io-btn-ghost",onClick:k,disabled:!o.trim(),children:"Dry run"}),c.jsx("button",{className:"cfg-io-btn cfg-io-btn-primary",onClick:S,disabled:!m||!o.trim(),children:"Apply"}),o&&c.jsx("button",{className:"cfg-io-btn cfg-io-btn-ghost",onClick:_,children:"Clear"})]}),r&&!i&&c.jsxs("div",{className:"cfg-io-preview",children:[c.jsx("img",{src:Vc.check,alt:"",className:"cfg-io-preview-icon"}),c.jsxs("div",{className:"cfg-io-preview-body",children:[c.jsx("div",{className:"cfg-io-preview-title",children:"Dry run OK โ€” ready to apply"}),c.jsxs("div",{className:"cfg-io-preview-stats",children:[c.jsxs("span",{className:"cfg-io-preview-stat",children:[c.jsx("span",{className:"cfg-io-stat-label",children:"Roles added"}),c.jsx("span",{className:"cfg-io-stat-value",children:r.roles_added})]}),c.jsxs("span",{className:"cfg-io-preview-stat",children:[c.jsx("span",{className:"cfg-io-stat-label",children:"Roles removed"}),c.jsx("span",{className:"cfg-io-stat-value",children:r.roles_removed})]}),c.jsxs("span",{className:"cfg-io-preview-stat",children:[c.jsx("span",{className:"cfg-io-stat-label",children:"Employees changed"}),c.jsx("span",{className:"cfg-io-stat-value",children:r.employees_changed})]})]})]})]}),i&&c.jsxs("div",{className:"cfg-io-error",children:[c.jsx("img",{src:Vc.warn,alt:"",className:"cfg-io-error-icon"}),c.jsxs("div",{className:"cfg-io-error-body",children:[c.jsx("div",{className:"cfg-io-error-title",children:"Validation failed"}),c.jsx("pre",{className:"cfg-io-error-text",children:i})]})]})]})]})}const Cj=[{name:"",responsibility:"",prompt:"",reportsToIndex:null},{name:"",responsibility:"",prompt:"",reportsToIndex:0}];function wy(e){return e.trim()||"Member"}function QQ({open:e,pending:t,result:n,onClose:r,onCreate:i}){const[o,a]=j.useState(1),[u,d]=j.useState(""),[m,p]=j.useState(Cj),[h,g]=j.useState("");j.useEffect(()=>{e&&(a(1),d(""),p(Cj),g(""))},[e]),j.useEffect(()=>{if(!(!e||!n)){if(n.ok){r();return}g(n.error||"Failed to create organization")}},[e,n,r]);const y=u.trim().length>0,v=j.useMemo(()=>m.map((D,T)=>({member:D,index:T})).filter(D=>D.member.name.trim()),[m]),k=j.useMemo(()=>new Map(v.map((D,T)=>[D.index,T])),[v]),S=v.length>=2,_=y&&S&&!t,w=j.useMemo(()=>v.map(({member:D,index:T},L)=>{const A=D.reportsToIndex==null?null:k.get(D.reportsToIndex);return{...D,roleName:wy(D.name),managerName:A!=null&&A{p(L=>L.map((A,M)=>M===D?{...A,...T}:A))},N=()=>{p(D=>[...D,{name:"",responsibility:"",prompt:"",reportsToIndex:0}])},O=D=>{p(T=>T.filter((A,M)=>M!==D).map((A,M)=>({...A,reportsToIndex:A.reportsToIndex==null?null:A.reportsToIndex>=D?Math.max(0,A.reportsToIndex-1):A.reportsToIndex})).map((A,M)=>M===0?{...A,reportsToIndex:null}:A))},I=()=>{_&&(g(""),i(u.trim(),v.map(({member:D},T)=>{const L=D.reportsToIndex==null?null:k.get(D.reportsToIndex);return{name:D.name.trim(),responsibility:D.responsibility.trim(),prompt:D.prompt.trim(),reports_to_index:L!=null&&LD.stopPropagation(),children:[c.jsxs("div",{className:"org-create-header",children:[c.jsxs("div",{children:[c.jsx("span",{className:"org-create-eyebrow",children:"New organization"}),c.jsx("h3",{id:"org-create-title",className:"org-create-title",children:"Create a saved org"})]}),c.jsx("button",{type:"button",className:"org-create-close",onClick:r,"aria-label":"Close",children:"x"})]}),c.jsx("div",{className:"org-create-steps","aria-label":"Create organization steps",children:[["1","Name"],["2","Members"],["3","Review"]].map(([D,T])=>c.jsxs("span",{className:`org-create-step${o===Number(D)?" org-create-step--active":o>Number(D)?" org-create-step--done":""}`,children:[c.jsx("span",{children:D}),T]},D))}),o===1&&c.jsx("div",{className:"org-create-panel",children:c.jsxs("label",{className:"org-create-field",children:[c.jsx("span",{children:"Organization name"}),c.jsx("input",{value:u,onChange:D=>d(D.target.value),placeholder:"HKU Research Lab",autoFocus:!0})]})}),o===2&&c.jsxs("div",{className:"org-create-panel",children:[c.jsx("div",{className:"org-create-member-list",children:m.map((D,T)=>c.jsxs("div",{className:"org-create-member-row",children:[c.jsx("input",{value:D.name,onChange:L=>C(T,{name:L.target.value}),placeholder:T===0?"Lead role":"Member role"}),c.jsx("input",{value:D.responsibility,onChange:L=>C(T,{responsibility:L.target.value}),placeholder:"Responsibility"}),c.jsxs("select",{value:D.reportsToIndex==null?"owner":String(D.reportsToIndex),onChange:L=>C(T,{reportsToIndex:L.target.value==="owner"?null:Number(L.target.value)}),disabled:T===0,"aria-label":"Reports to",children:[c.jsx("option",{value:"owner",children:"Owner"}),m.slice(0,T).map((L,A)=>c.jsx("option",{value:A,children:wy(L.name)},A))]}),c.jsx("button",{type:"button",className:"org-create-icon-btn",onClick:()=>O(T),disabled:m.length<=2,title:"Remove member","aria-label":"Remove member",children:"-"}),c.jsx("textarea",{value:D.prompt,onChange:L=>C(T,{prompt:L.target.value}),placeholder:"Prompt optional","aria-label":`${T===0?"Lead role":"Member role"} prompt optional`})]},T))}),c.jsx("button",{type:"button",className:"org-create-add",onClick:N,children:"+ Add member"})]}),o===3&&c.jsx("div",{className:"org-create-panel",children:c.jsxs("div",{className:"org-create-review",children:[c.jsxs("div",{className:"org-create-review-head",children:[c.jsx("span",{children:u.trim()}),c.jsxs("b",{children:[v.length," members"]})]}),w.map(D=>c.jsxs("div",{className:"org-create-review-row",children:[c.jsx("strong",{children:D.roleName}),c.jsxs("span",{children:[D.managerName,D.prompt.trim()?c.jsx("em",{children:"Prompt"}):null]})]},D.index))]})}),h&&c.jsx("div",{className:"org-create-error",children:h}),c.jsxs("div",{className:"org-create-actions",children:[c.jsx("button",{type:"button",className:"btn btn-ghost",onClick:o===1?r:()=>a(o-1),children:o===1?"Cancel":"Back"}),o<3?c.jsx("button",{type:"button",className:"btn btn-primary",onClick:()=>a(o+1),disabled:o===1?!y:!S,children:"Next"}):c.jsx("button",{type:"button",className:"btn btn-primary",onClick:I,disabled:!_,children:t?"Creating...":"Create organization"})]})]})})}const Ka={team:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z'/%3E%3C/svg%3E",runtime:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M13 2.05v2.02c3.95.49 7 3.85 7 7.93 0 3.21-1.81 6-4.72 7.72L13 17v5h5l-1.22-1.22C19.91 19.07 22 15.76 22 12c0-5.18-3.95-9.45-9-9.95zM11 2.05C5.95 2.55 2 6.82 2 12c0 3.76 2.09 7.07 5.22 8.78L6 22h5V2.05z'/%3E%3C/svg%3E",architecture:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z'/%3E%3C/svg%3E",employees:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E"},jj={agents:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M20 9V7c0-1.1-.9-2-2-2h-3c0-1.66-1.34-3-3-3S9 3.34 9 5H6c-1.1 0-2 .9-2 2v2c-1.66 0-3 1.34-3 3s1.34 3 3 3v4c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-4c1.66 0 3-1.34 3-3s-1.34-3-3-3z'/%3E%3C/svg%3E",active:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2322c55e' d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 14.5v-9l6 4.5-6 4.5z'/%3E%3C/svg%3E"};function JQ(e){const t=String(e??"").trim();return t?t.replace(/^org[_-]/i,"").replace(/[_-]+/g," ").replace(/\s+/g," ").trim().replace(/\b\w/g,n=>n.toUpperCase()):""}function eJ({data:e,sessionRecruitmentByRole:t,talents:n,employeeDetail:r,reorgProposals:i,isCustomMode:o,onRequestData:a,onRequestTalents:u,onRequestEmployeeDetail:d,onHireTalent:m,hiringTemplateId:p,onImportEmployee:h,onRequestReorgList:g,onReorgDecide:y,onMarketExport:v,onMarketInstall:k,onMarketUninstall:S,marketPresets:_,marketPreviewData:w,onMarketBrowse:C,onMarketPreview:N,onMarketApplyPreset:O,onMarketClearPreview:I,onAddRole:D,onBulkAddRoles:T,onUpdateRole:L,onDeleteRole:A,onUpdateOrgStrategy:M,onUpdateRuntimePolicy:$,onResetArchitecture:W,onConfigExport:B,onConfigImport:U,configExportYaml:H,configImportPreview:V,configImportError:Y,onSavedOrgsList:Q,onSavedOrgSaveAs:q,onSavedOrgCreate:G,onSavedOrgLoad:J,onSavedOrgDelete:P,savedOrgsList:X,activeSavedOrg:ee,activeSavedOrgVersionAtLoad:te,orgCreatePending:re,orgCreateResult:oe,onSelectCorporate:de}){const[se,Ee]=j.useState("team"),[we,Ce]=j.useState(!1),Be=j.useCallback(tt=>{Ee(tt)},[]),[Ge,Ye]=j.useState(null),yt=j.useRef(-1),[qt,bt]=j.useState(null),vt=j.useRef(null),me=j.useCallback((tt,it="info")=>{bt({msg:tt,type:it}),vt.current&&clearTimeout(vt.current),vt.current=setTimeout(()=>bt(null),3e3)},[]);j.useEffect(()=>()=>{vt.current&&clearTimeout(vt.current)},[]);const Oe=j.useRef(a),rt=j.useRef(u),Qe=j.useRef(g),Je=j.useRef(C),fe=j.useRef(Q);Oe.current=a,rt.current=u,Qe.current=g,Je.current=C,fe.current=Q,j.useEffect(()=>{Oe.current(),rt.current(),Qe.current(),Je.current?.(),fe.current?.()},[]),j.useEffect(()=>{!oe||!oe.ok||(Ce(!1),Ee("team"),me(`Created ${oe.organization_name||oe.name} and saved automatically`))},[oe,me]);const be=e?.roles??[],Me=j.useMemo(()=>o?be.filter(tt=>!tt.is_builtin):be,[be,o]),Fe=j.useMemo(()=>e?.employees??[],[e?.employees]),$e=j.useMemo(()=>zm(e),[e]),Wt=j.useMemo(()=>Fe.filter(tt=>tt.linked_agent_id),[Fe]),ke=e?.organization_name?.trim()||JQ(ee)||(o?"Custom org":"Corporate company"),Te=(o?e?.organization_id||ee:"corporate")||"",Pe=o?"Saved org":"Corporate",Ve=o?ee?"Editable saved architecture":"Editable draft architecture":"Built-in read-only architecture",qe=$e.frontier.status||$e.projectRun?.status||$e.projectRun?.lifecycle_status||"ready",et=j.useMemo(()=>{const tt=new Set;for(const it of Fe){if(it.is_default_employee)continue;const rn=it.role_ids?.length?it.role_ids:[it.role_id];for(const Xt of rn)Xt&&tt.add(Xt)}return tt},[Fe]),Mn=j.useMemo(()=>Me.filter(tt=>!et.has(tt.role_id)),[Me,et]),Tn=j.useMemo(()=>new Set((e?.installed_packages??[]).map(tt=>tt.package_id)),[e?.installed_packages]),Dn=e?.org_version??0;j.useEffect(()=>{Ge&&yt.current>=0&&Dn!==yt.current&&(Ye(null),yt.current=-1,Ee("team"),me("Architecture applied successfully"))},[Dn,Ge,me]);const yn=(tt,it)=>{yt.current=Dn,Ye(tt),O?.(tt,it)},Yt=tt=>{if(tt==="corporate"){de?.();return}if(tt.startsWith("org:")){const it=tt.slice(4);it&&J?.(it)}};if(!e)return c.jsx("div",{className:"org-tab",children:c.jsx("div",{className:"org-loading",children:"Loading organization data..."})});const Jt=e.installed_packages??[],Et=X??[],wt=o&&ee?`org:${ee}`:"corporate";return c.jsxs("div",{className:"org-tab",children:[c.jsxs("div",{className:`org-header${o?" org-header--custom":" org-header--corporate"}`,children:[c.jsxs("div",{className:"org-header-main",children:[c.jsxs("div",{className:"org-eyebrow",children:[c.jsx("span",{children:"Company"}),c.jsx("span",{className:"org-eyebrow-separator",children:"/"}),c.jsx("span",{children:Pe})]}),c.jsxs("div",{className:"org-title-row",children:[c.jsx("h2",{className:"org-title",children:ke}),c.jsxs("span",{className:"org-version-badge",children:["v",e.org_version]}),c.jsx("span",{className:`org-state-badge${o?" org-state-badge--editable":" org-state-badge--readonly"}`,children:Ve})]}),c.jsxs("div",{className:"org-header-meta",children:[c.jsx("span",{className:"org-meta-pill",children:e.company_profile||(o?"custom":"corporate")}),Te&&c.jsx("code",{className:"org-meta-code",children:Te}),c.jsx("span",{className:"org-meta-pill org-meta-pill--runtime",children:qe}),c.jsx("span",{className:"org-meta-pill org-meta-pill--saved",children:"Auto-saved"})]})]}),c.jsxs("div",{className:"org-control-panel",children:[c.jsxs("label",{className:"org-switcher",children:[c.jsx("span",{className:"org-switcher-label",children:"Organization"}),c.jsx("span",{className:"org-switcher-select-wrap",children:c.jsxs("select",{className:"org-switcher-select",value:wt,onChange:tt=>Yt(tt.target.value),onFocus:()=>Q?.(),onPointerDown:()=>Q?.(),"aria-label":"Organization",children:[c.jsx("option",{value:"corporate",children:"Corporate"}),Et.map(tt=>c.jsx("option",{value:`org:${tt.name}`,children:(tt.organization_name||tt.name).trim()||tt.name},tt.name))]})})]}),c.jsxs("button",{type:"button",className:"org-create-trigger",onClick:()=>Ce(!0),children:[c.jsx("span",{className:"org-create-trigger-icon","aria-hidden":!0,children:"+"}),"New organization"]})]}),c.jsxs("div",{className:"org-stats-strip",children:[c.jsxs("span",{className:"org-stat",children:[c.jsx("img",{src:jj.agents,alt:"",className:"org-stat-icon"}),c.jsx("b",{children:Me.length})," roles"]}),c.jsxs("span",{className:"org-stat",children:[c.jsx("img",{src:Ka.employees,alt:"",className:"org-stat-icon"}),c.jsx("b",{children:Fe.length})," employees"]}),c.jsxs("span",{className:"org-stat",children:[c.jsx("img",{src:Ka.runtime,alt:"",className:"org-stat-icon"}),c.jsx("b",{children:$e.runtimeTeams.length})," runtime teams"]}),c.jsxs("span",{className:"org-stat",children:[c.jsx("img",{src:jj.active,alt:"",className:"org-stat-icon"}),c.jsx("b",{children:Wt.length})," active"]})]})]}),c.jsx("div",{className:"org-subtabs",children:[{id:"team",icon:Ka.team,label:"Team",count:Me.length},{id:"runtime",icon:Ka.runtime,label:"Runtime",count:$e.runtimeTeams.length},{id:"architecture",icon:Ka.architecture,label:"Architecture",count:_?.length??0},{id:"employees",icon:Ka.employees,label:"Employees",count:n.length}].map(tt=>c.jsxs("button",{className:`org-subtab${se===tt.id?" org-subtab--active":""}`,onClick:()=>Be(tt.id),children:[c.jsx("img",{src:tt.icon,alt:"",className:"org-subtab-icon"}),c.jsx("span",{className:"org-subtab-label",children:tt.label}),c.jsx("span",{className:"org-subtab-count",children:tt.count})]},tt.id))}),qt&&c.jsx("div",{className:`org-toast org-toast--${qt.type}`,onClick:()=>bt(null),children:qt.msg}),c.jsxs("div",{className:"org-tab-content",children:[se==="team"&&c.jsx(LQ,{roles:Me,employees:Fe,sessionRecruitmentByRole:t,isCustomMode:o,onAddRole:D??(()=>{}),onBulkAddRoles:T,onUpdateRole:L??(()=>{}),onDeleteRole:A??(()=>{}),onExport:v??(()=>{}),onImportEmployee:h,onResetArchitecture:W,onSwitchToTab:tt=>Ee(tt),savedOrgsList:X,activeSavedOrg:ee??null,currentOrgVersion:e?.org_version??0,versionAtLoad:te??null,onSavedOrgsList:Q,onSavedOrgSaveAs:q,onSavedOrgLoad:J,onSavedOrgDelete:P}),se==="runtime"&&c.jsx($Q,{roles:Me,runtimeTeams:$e.runtimeTeams,runtimeSeats:$e.runtimeSeats,workItems:$e.workItems,frontier:$e.frontier,companyProfile:e.company_profile,runtimePolicy:e.runtime_policy,finalDeciderRoleId:e.final_decider_role_id,topLevelRoleIds:e.top_level_role_ids,readOnly:!o,onUpdateOrgStrategy:M,onUpdateRuntimePolicy:$}),se==="architecture"&&c.jsxs(c.Fragment,{children:[c.jsx(FQ,{presets:_??[],installedIds:Tn,previewData:w??null,applyingPresetId:Ge,readOnly:!o,onPreview:N??(()=>{}),onApplyPreset:yn,onClearPreview:I??(()=>{}),installedPackages:Jt,channels:e.channels,reorgProposals:i,isCustomMode:!!o,onReorgDecide:y,onMarketInstall:(tt,it)=>k?.(tt,it),onMarketUninstall:tt=>S?.(tt)}),o&&c.jsx(ZQ,{onExport:B??(()=>{}),onImport:U??(()=>{}),configExportYaml:H??null,importPreview:V??null,importError:Y??null})]}),se==="employees"&&c.jsx(KQ,{templates:n,vacantRoles:Mn,hiringTemplateId:p??null,readOnly:!o,onHireTalent:m})]}),c.jsx(QQ,{open:we,pending:re,result:oe??null,onClose:()=>Ce(!1),onCreate:(tt,it)=>G?.(tt,it)})]})}function tJ(e,t,n,r){const i=n.join(", "),o=`session:${t.id}`,a=e.channels.find(u=>u.id===o)??e.channels.find(u=>u.type==="activity");a&&e.sendMessage({channelId:a.id,sender:"system",senderName:"System",content:`Task **${t.displayId}** assigned to ${i}`,metadata:{type:"task_assigned",taskId:t.id,boardId:t.boardId}})}const nJ=1e12,rJ=/^\[Company:([^\]]+)\]\s*(.*)$/,iJ=/^\[Company\]\s*(.*)$/;function FR(e,t){return t==="idle"||t==="reflecting"||t==="tool_active"?t:e==="running"?"reflecting":void 0}function _m(e){const t=typeof e=="string"?Number(e):e;return typeof t!="number"||!Number.isFinite(t)?Date.now():t!!t&&typeof t=="object").map(t=>({timestamp:_m(t.timestamp),type:t.type??"status_change",summary:typeof t.summary=="string"?t.summary:"",detail:typeof t.detail=="string"?t.detail:void 0,turnId:typeof t.turn_id=="string"?t.turn_id:typeof t.turnId=="string"?t.turnId:void 0,itemId:typeof t.item_id=="string"?t.item_id:typeof t.itemId=="string"?t.itemId:void 0,streamId:typeof t.stream_id=="string"?t.stream_id:typeof t.streamId=="string"?t.streamId:void 0,seq:typeof t.seq=="number"&&Number.isFinite(t.seq)?t.seq:void 0,executionMode:typeof t.execution_mode=="string"?t.execution_mode:typeof t.executionMode=="string"?t.executionMode:void 0}))):[]}function sJ(e){return Array.isArray(e)?LI(e.filter(t=>!!t&&typeof t=="object").map(t=>{const n=typeof t.runtime_task_id=="string"?t.runtime_task_id:typeof t.runtimeTaskId=="string"?t.runtimeTaskId:typeof t.execution_turn_id=="string"?t.execution_turn_id:typeof t.executionTurnId=="string"?t.executionTurnId:void 0,r=typeof t.execution_turn_id=="string"?t.execution_turn_id:typeof t.executionTurnId=="string"?t.executionTurnId:n;return{timestamp:_m(t.timestamp),type:t.type??"gate_result",workItemProjectionId:typeof t.work_item_projection_id=="string"?t.work_item_projection_id:typeof t.workItemProjectionId=="string"?t.workItemProjectionId:void 0,workItemTurnType:typeof t.work_item_turn_type=="string"?t.work_item_turn_type:typeof t.workItemTurnType=="string"?t.workItemTurnType:void 0,workItemProjectionTitle:typeof t.work_item_projection_title=="string"?t.work_item_projection_title:typeof t.workItemProjectionTitle=="string"?t.workItemProjectionTitle:void 0,runtimeTaskId:n,executionTurnId:r,roleName:typeof t.role_name=="string"?t.role_name:typeof t.roleName=="string"?t.roleName:void 0,detail:typeof t.detail=="string"?t.detail:void 0}})):[]}function oJ(e){return e.replace(/[_-]/g," ").replace(/\b\w/g,t=>t.toUpperCase())}function Ej(e){const t=e.toLowerCase();return t.includes("starting")||t.includes("started")?"work_item_started":t.includes("gate passed")||t.includes("approved")||t.includes("completed")?"gate_approved":t.includes("rejected")||t.includes("reworking")?"gate_rejected":t.includes("awaiting peer")?"awaiting_peer":t.includes("awaiting manager review")?"awaiting_manager_review":t.includes("awaiting user")||t.includes("awaiting human review")||t.includes("awaiting review")||t.includes("awaiting confirmation")||t.includes("awaiting feedback")?"awaiting_human":t.includes("failed")?"work_item_failed":t.includes("deadlock")?"deadlock":"gate_result"}function aJ(e){const t=e.content.trim(),n=e.metadata??{},r=e.sender!=="system"&&e.sender!=="assistant"?e.senderName:void 0,i=typeof n.forwarded_from=="string"?n.forwarded_from:typeof n.task_id=="string"?n.task_id:typeof n.taskId=="string"?n.taskId:void 0,o=rJ.exec(t);if(o){const[,u,d]=o,m=d.trim();return{timestamp:e.timestamp,type:Ej(m),workItemProjectionId:u,workItemProjectionTitle:oJ(u),roleName:r,detail:m||void 0,runtimeTaskId:i,executionTurnId:i}}const a=iJ.exec(t);if(a){const u=a[1].trim();return{timestamp:e.timestamp,type:Ej(u),workItemProjectionId:"company_runtime",workItemProjectionTitle:"Company Runtime",roleName:r,detail:u||void 0,runtimeTaskId:i,executionTurnId:i}}return null}function lJ(e){return e.map(aJ).filter(t=>t!=null).sort((t,n)=>t.timestamp-n.timestamp)}function cJ(e,t){if(e.length===0||t.length===0)return e;const n=new Map;for(const r of t){const i=n.get(r.channelId);i?i.push(r):n.set(r.channelId,[r])}return e.map(r=>{const i=lJ(n.get(r.channelId)??[]),o=r.workItemLog&&r.workItemLog.length>0?r.workItemLog:i,a=[...o].reverse().find(m=>{const p=m.workItemProjectionId;return p&&p!=="company_runtime"}),u=r.mode==="primary"?a?.workItemProjectionId??r.workItemProjectionId:r.workItemProjectionId??a?.workItemProjectionId,d=r.isCompanyRuntime||r.mode==="primary"&&o.length>0;return o.length===0&&u===r.workItemProjectionId&&d===r.isCompanyRuntime?r:{...r,isCompanyRuntime:d,workItemProjectionId:u,...o.length>0?{workItemLog:o}:{}}})}function uJ(e,t){if(e.length===0||t.length===0)return e;const n=new Map(t.map(r=>[r.taskId,r]));return e.map(r=>{const i=n.get(r.id);if(!i)return r;const o=i.workItemProjectionId??r.workItemProjectionId,a=i.companyProfile??r.companyProfile,u=i.workItemRoleId??r.workItemRoleId,d=i.workItemRoleName??r.workItemRoleName;return o===r.workItemProjectionId&&a===r.companyProfile&&u===r.workItemRoleId&&d===r.workItemRoleName?r:{...r,workItemProjectionId:o,companyProfile:a,workItemRoleId:u,workItemRoleName:d}})}function VR(e){return{id:e.channel_id??e.id??"",type:e.channel_type??e.type??"session",name:e.name??"",officeId:e.office_id??e.officeId,participants:e.participants??[],pinned:!!e.pinned,createdAt:typeof e.created_at=="number"?e.created_at*1e3:e.createdAt??Date.now()}}function Lf(e){const t=e.sender_name??e.senderName??"",n=String(t).trim().toLowerCase()==="task generalist"?"OPC":t;return{id:e.message_id??e.id??"",channelId:e.channel_id??e.channelId??"",sender:e.sender??"",senderName:n,content:e.content??"",timestamp:typeof e.created_at=="number"?e.created_at*1e3:e.timestamp??Date.now(),replyToId:e.reply_to_id??e.replyToId,mentions:e.mentions??[],metadata:e.metadata,senderDeleted:!!(e.sender_deleted??e.senderDeleted)}}function UR(e){return{id:e.board_id??e.id??"",name:e.name??"",description:e.description,color:e.color??"#3b82f6",officeId:e.office_id??e.officeId,prefix:e.prefix??"T",nextTaskNum:e.next_task_num??e.nextTaskNum??1,createdAt:typeof e.created_at=="number"?e.created_at*1e3:e.createdAt??Date.now(),updatedAt:typeof e.updated_at=="number"?e.updated_at*1e3:e.updatedAt??Date.now()}}function GR(e){return{id:e.column_id??e.id??"",boardId:e.board_id??e.boardId??"",name:e.name??"",color:e.color??"#888",sortOrder:e.sort_order??e.sortOrder??0,isTerminal:!!(e.is_terminal??e.isTerminal),roleLabel:e.role_label??e.roleLabel,gateType:e.gate_type??e.gateType,isParallel:e.is_parallel??e.isParallel}}function qR(e){const t=FR(e.status,e.agent_status??e.agentStatus),n=e.kanban_column??e.column_id??e.columnId??"",r=e.work_item_id??e.workItemId??e.task_id??e.id??"",i=e.runtime_task_id??e.runtimeTaskId??e.execution_turn_id??e.executionTurnId??(e.work_item_id??e.workItemId?void 0:e.task_id??e.id),o=e.execution_turn_id??e.executionTurnId??i,a=e.execution_mode??e.executionMode,u=e.work_item_projection_id??e.workItemProjectionId,d=a==="task_mode"||u==="task_mode_execution";return{id:r,displayId:e.display_id??e.displayId??"",boardId:e.board_id??e.boardId??"",columnId:n,title:e.title??"",description:e.description,priority:e.priority??null,assigneeIds:e.assignee_ids??e.assigneeIds??[],tags:e.tags??[],sortOrder:e.sort_order??e.sortOrder??0,sessionId:e.session_id??e.sessionId,workItemId:e.work_item_id??e.workItemId,runtimeTaskId:i,executionTurnId:o,createdAt:typeof e.created_at=="number"?e.created_at*1e3:e.createdAt??Date.now(),updatedAt:typeof e.updated_at=="number"?e.updated_at*1e3:e.updatedAt??Date.now(),agentStatus:t,currentTool:e.current_tool??e.currentTool,displayTool:e.display_tool??e.displayTool??e.current_tool??e.currentTool,toolElapsedMs:e.tool_elapsed_ms??e.toolElapsedMs,lastToolSummary:e.last_tool_summary??e.lastToolSummary,contextTokens:e.context_tokens??e.contextTokens,contextWindow:e.context_window??e.contextWindow,contextRemainingPct:e.context_remaining_pct??e.contextRemainingPct,inputTokens:e.input_tokens??e.inputTokens,outputTokens:e.output_tokens??e.outputTokens,totalTokens:e.total_tokens??e.totalTokens,turnCostUsd:e.turn_cost_usd??e.turnCostUsd,sessionCostUsd:e.session_cost_usd??e.sessionCostUsd,pendingPermissionCount:e.pending_permission_count??e.pendingPermissionCount,drainMode:e.drain_mode??e.drainMode,residentStatus:e.resident_status??e.residentStatus,actionableInboxCount:e.actionable_inbox_count??e.actionableInboxCount,protocolBacklogCount:e.protocol_backlog_count??e.protocolBacklogCount,notificationBacklogCount:e.notification_backlog_count??e.notificationBacklogCount,latestNotification:e.latest_notification??e.latestNotification,workItemProjectionId:d?void 0:u,workItemTurnType:d?void 0:e.work_item_turn_type??e.workItemTurnType,companyProfile:d?void 0:e.company_profile??e.companyProfile,orgId:d?void 0:e.org_id??e.organization_id??e.orgId??e.organizationId,workItemRoleId:d?void 0:e.work_item_role_id??e.workItemRoleId,workItemRoleName:d?void 0:e.work_item_role_name??e.workItemRoleName,workItemGate:d?void 0:YR(e.work_item_gate??e.workItemGate),employeeAssignment:WR(e.employee_assignment??e.employeeAssignment),selectedExecutionAgent:e.selected_execution_agent??e.selectedExecutionAgent,originChannel:e.origin_channel??e.originChannel,dependencies:e.dependencies,progressLog:ih(e.progress_log??e.progressLog),handoffContext:e.handoff_context??e.handoffContext,phase:e.phase,runtimeSessionId:e.runtime_session_id??e.runtimeSessionId,resumeCursor:e.resume_cursor??e.resumeCursor,worktreePath:e.worktree_path??e.worktreePath,blockedReason:e.blocked_reason??e.blockedReason,reviewVerdict:e.review_verdict??e.reviewVerdict,reviewSummary:e.review_summary??e.reviewSummary,reviewOwnerRoleId:e.review_owner_role_id??e.reviewOwnerRoleId,reviewOwnerSeatId:e.review_owner_seat_id??e.reviewOwnerSeatId,managerRoleId:e.manager_role_id??e.managerRoleId,managerSeatId:e.manager_seat_id??e.managerSeatId,scopeKey:e.scope_key??e.scopeKey,completionReport:e.completion_report??e.completionReport,reworkFeedback:e.rework_feedback??e.reworkFeedback,planningContext:e.planning_context??e.planningContext,deliverables:e.deliverables,acceptanceCriteria:e.acceptance_criteria??e.acceptanceCriteria,delegationRationale:e.delegation_rationale??e.delegationRationale,nonOverlapGuard:e.non_overlap_guard??e.nonOverlapGuard,coordinationNotes:e.coordination_notes??e.coordinationNotes,originalMessage:e.original_message??e.originalMessage,residentAssignment:e.resident_assignment??e.residentAssignment,memberSessionState:e.member_session_state??e.memberSessionState,ownershipContract:e.ownership_contract??e.ownershipContract}}function WR(e){if(!(!e||typeof e!="object"))return{name:e.name,employeeId:e.employee_id??e.employeeId,category:e.category,experienceScore:e.experience_score??e.experienceScore,domains:e.domains,preferredExternalAgent:e.preferred_external_agent??e.preferredExternalAgent,promptContext:e.prompt_context??e.promptContext,deltaContext:e.delta_context??e.deltaContext,skillRefs:e.skill_refs??e.skillRefs}}function YR(e){if(!(!e||typeof e!="object"))return{type:e.type??e.gate_type??e.gateType,reviewerRole:e.reviewer_role??e.reviewerRole,autoApprove:e.auto_approve??e.autoApprove,criteria:e.criteria}}const dJ=new Set(["queued","ready","ready_for_rework","waiting_dependencies","running","waiting_for_peer","waiting_for_children","paused","needs_attention","awaiting_manager_review","awaiting_human","approved","failed","cancelled"]),fJ=new Set(["active","waiting","pending","done","failed"]);function mJ(e){return typeof e=="string"&&dJ.has(e)?e:"queued"}function hJ(e){return typeof e=="string"&&fJ.has(e)?e:"pending"}function pJ(e){return e==="reflecting"||e==="tool_active"||e==="idle"?e:"idle"}function gJ(e){const t=typeof e.kind=="string"&&e.kind.trim()?e.kind:"activity",n=typeof e.title=="string"&&e.title.trim()?e.title:t.replace(/_/g," ");return{kind:t,title:n,roleName:typeof e.role_name=="string"?e.role_name:typeof e.roleName=="string"?e.roleName:void 0,runtimeTaskId:typeof e.runtime_task_id=="string"?e.runtime_task_id:typeof e.runtimeTaskId=="string"?e.runtimeTaskId:void 0,entries:ih(e.entries)}}function xJ(e){const t=Array.isArray(e.activity_sections)?e.activity_sections:Array.isArray(e.activitySections)?e.activitySections:[];return{workItemId:typeof e.work_item_id=="string"?e.work_item_id:e.workItemId??"",workItemProjectionId:typeof e.work_item_projection_id=="string"?e.work_item_projection_id:e.workItemProjectionId??void 0,phase:mJ(e.phase),kanbanColumn:typeof e.kanban_column=="string"?e.kanban_column:e.kanbanColumn??"todo",title:typeof e.title=="string"?e.title:"",kind:typeof e.kind=="string"?e.kind:e.kind??void 0,isReviewTarget:!!(e.is_review_target??e.isReviewTarget),executorRoleId:e.executor_role_id??e.executorRoleId??void 0,executorRoleName:e.executor_role_name??e.executorRoleName??void 0,reviewerRoleId:e.reviewer_role_id??e.reviewerRoleId??void 0,createdAt:_m(e.created_at??e.createdAt),updatedAt:_m(e.updated_at??e.updatedAt),executionTurnId:e.execution_turn_id??e.executionTurnId??void 0,activitySections:t.filter(n=>!!n&&typeof n=="object").map(gJ),progressLog:ih(e.progress_log??e.progressLog)}}function Nj(e){if(!e||typeof e!="object")return;const t={};for(const[n,r]of Object.entries(e)){if(!r||typeof r!="object")continue;const i=r,a=(Array.isArray(i.work_items)?i.work_items:Array.isArray(i.workItems)?i.workItems:[]).map(xJ).sort((d,m)=>d.createdAt-m.createdAt),u=typeof i.role_key=="string"?i.role_key:typeof i.roleKey=="string"?i.roleKey:n;t[n]={roleKey:u,roleId:typeof i.role_id=="string"?i.role_id:typeof i.roleId=="string"?i.roleId:n,roleName:typeof i.role_name=="string"?i.role_name:typeof i.roleName=="string"?i.roleName:n,roleSessionId:typeof i.role_session_id=="string"?i.role_session_id:typeof i.roleSessionId=="string"?i.roleSessionId:void 0,teamInstanceId:typeof i.team_instance_id=="string"?i.team_instance_id:typeof i.teamInstanceId=="string"?i.teamInstanceId:void 0,runtimeStatus:pJ(i.runtime_status??i.runtimeStatus),aggregatedStatus:hJ(i.aggregated_status??i.aggregatedStatus),workItems:a}}return Object.keys(t).length>0?t:void 0}function XR(e){const t=FR(e.status,e.agent_status??e.agentStatus),n=e.task_id??e.taskId??"",r=e.runtime_task_id??e.runtimeTaskId??e.execution_turn_id??e.executionTurnId??n,i=e.execution_turn_id??e.executionTurnId??r,o=e.execution_mode??e.executionMode,a=String(e.exec_mode??e.execMode??"").trim().toLowerCase(),u=e.work_item_projection_id??e.workItemProjectionId,d=a==="task"||a==="project"||a==="single"||o==="task_mode"||u==="task_mode_execution",m=d?void 0:e.parent_session_id??e.parentSessionId,p={projectId:e.project_id??e.projectId??"",taskId:n,runtimeTaskId:r,executionTurnId:i,channelId:e.channel_id??e.channelId??"",sessionId:e.session_id??e.sessionId,parentSessionId:m,mode:d?"primary":e.mode??(m?"child":"primary"),title:e.title??"Untitled",status:e.status??"pending",columnId:e.column_id??e.columnId??"todo",assigneeIds:e.assignee_ids??e.assigneeIds??[],priority:e.priority??null,tags:e.tags??[],agentStatus:t,currentTool:e.current_tool??e.currentTool,displayTool:e.display_tool??e.displayTool??e.current_tool??e.currentTool,toolElapsedMs:e.tool_elapsed_ms??e.toolElapsedMs,lastToolSummary:e.last_tool_summary??e.lastToolSummary,contextTokens:e.context_tokens??e.contextTokens,contextWindow:e.context_window??e.contextWindow,contextRemainingPct:e.context_remaining_pct??e.contextRemainingPct,inputTokens:e.input_tokens??e.inputTokens,outputTokens:e.output_tokens??e.outputTokens,totalTokens:e.total_tokens??e.totalTokens,turnCostUsd:e.turn_cost_usd??e.turnCostUsd,sessionCostUsd:e.session_cost_usd??e.sessionCostUsd,pendingPermissionCount:e.pending_permission_count??e.pendingPermissionCount,drainMode:e.drain_mode??e.drainMode,progressLog:ih(e.progress_log??e.progressLog),createdAt:typeof e.created_at=="number"?e.created_at*1e3:e.createdAt??Date.now(),updatedAt:typeof e.updated_at=="number"?e.updated_at*1e3:e.updatedAt??Date.now(),messageCount:e.message_count??e.messageCount??0,latestPreview:e.latest_preview??e.latestPreview,latestSender:e.latest_sender??e.latestSender,latestMessageId:e.latest_message_id??e.latestMessageId,indexLoaded:e.index_loaded??e.indexLoaded,detailLoaded:e.detail_loaded??e.detailLoaded,fullLoaded:e.full_loaded??e.fullLoaded,hasMore:e.has_more??e.hasMore,detailLoading:e.detail_loading??e.detailLoading,detailError:e.detail_error??e.detailError,viewGeneration:e.view_generation??e.viewGeneration,execMode:e.exec_mode??e.execMode,companyProfile:d?void 0:e.company_profile??e.companyProfile,orgId:d?void 0:e.org_id??e.organization_id??e.orgId??e.organizationId,preferredAgent:e.preferred_agent??e.preferredAgent,workItemProjectionId:d?void 0:u,workItemTurnType:d?void 0:e.work_item_turn_type??e.workItemTurnType,workItemRoleId:d?void 0:e.work_item_role_id??e.workItemRoleId,workItemRoleName:d?void 0:e.work_item_role_name??e.workItemRoleName,workItemGate:d?void 0:YR(e.work_item_gate??e.workItemGate),employeeAssignment:WR(e.employee_assignment??e.employeeAssignment),selectedExecutionAgent:e.selected_execution_agent??e.selectedExecutionAgent,originChannel:e.origin_channel??e.originChannel,originTaskId:e.origin_task_id??e.originTaskId??e.task_id??e.taskId,runtimeControlState:e.runtime_control_state??e.runtimeControlState,canStop:e.can_stop??e.canStop,canResume:e.can_resume??e.canResume,resumeParentTaskId:e.resume_parent_task_id??e.resumeParentTaskId,resumeParentSessionId:e.resume_parent_session_id??e.resumeParentSessionId,pendingRuntimeCheckpointId:e.pending_runtime_checkpoint_id??e.pendingRuntimeCheckpointId,stopIntentId:e.stop_intent_id??e.stopIntentId,handoffContext:e.handoff_context??e.handoffContext,handoffTo:e.handoff_to??e.handoffTo,artifacts:e.artifacts,isCompanyRuntime:d?!1:e.is_company_runtime??e.isCompanyRuntime,workItemLog:d?[]:sJ(e.work_item_log??e.workItemLog),roleWorkItems:d?void 0:Nj(e.role_work_items??e.roleWorkItems),executorRoleWorkItems:d?void 0:Nj(e.executor_role_work_items??e.executorRoleWorkItems),draftTurnId:e.draft_turn_id??e.draftTurnId,runtimeSessionId:e.runtime_session_id??e.runtimeSessionId,resumeCursor:e.resume_cursor??e.resumeCursor,activeSubagents:e.active_subagents??e.activeSubagents,permissionRequests:e.permission_requests??e.permissionRequests,worktreePath:e.worktree_path??e.worktreePath,residentStatus:e.resident_status??e.residentStatus,actionableInboxCount:e.actionable_inbox_count??e.actionableInboxCount,protocolBacklogCount:e.protocol_backlog_count??e.protocolBacklogCount,notificationBacklogCount:e.notification_backlog_count??e.notificationBacklogCount,latestNotification:e.latest_notification??e.latestNotification};return zI(p)}function Ij(e){const t=(e.channels??[]).map(VR),n=(e.messages??[]).map(Lf),r=(e.boards??[]).map(UR),i=(e.columns??[]).map(GR),o=cJ((e.sessions??[]).map(XR),n),a=uJ((e.tasks??[]).map(qR),o);return{channels:t,messages:n,boards:r,columns:i,tasks:a,sessions:o}}function yJ(e){return`session:${e}`}const vJ=new Set(["company_recruitment_confirmation","company_staffing_selection"]);function bJ(e){let t=null;for(const o of e){const a=o.metadata?.checkpoint_type;!a||!vJ.has(a)||(!t||(o.timestamp??0)>=(t.timestamp??0))&&(t=o)}if(!t?.metadata)return null;const n=t.metadata,r={},i=(o,a)=>{const u=String(o??"").trim(),d=String(a??"").trim();if(!u||!d)return;const m=r[u]??(r[u]=[]);m.includes(d)||m.push(d)};for(const o of n.recruitment_rationales??[])o?.selection_label&&i(o.role_id,o.selection_label);if(Object.keys(r).length===0)for(const o of n.proposals??[]){const a=o?.existing_employee?.employee_name||o?.candidate?.proposed_name||o?.candidate?.template_name||"";i(o?.role_id,a)}return Object.keys(r).length?r:null}function _J(){try{const e=localStorage.getItem("opc_outdoor_override");if(e==="day"||e==="night")return e;if(localStorage.getItem("opc_outdoor_day")==="1")return"day";if(localStorage.getItem("opc_outdoor_night")==="1")return"night"}catch{}return"auto"}const Tj=80,kJ=new Set(["message_start","message_stop","tool_call_delta","status_snapshot","context_usage","cost_update","task_ledger_updated","prompt_prefix_state","prompt_prefix_cache_fingerprint","prefetch_started","prefetch_completed","prefetch_consumed","durable_memory_extracted","durable_memory_extraction_failed","session_memory_updated","session_memory_update_failed","tool_batch_started","tool_batch_completed","permission_predicted","turn_started","turn_completed"]),SJ=new Set(["member_inbox_updated"]);function wJ(){return`${window.location.protocol==="https:"?"wss":"ws"}://${window.location.hostname}:${window.location.port||"8765"}/ws`}function CJ(e){return e==="connected"?"ok":e==="connecting"?"warn":e==="error"?"error":"off"}function Uc(e){return vV(e)}function ks(e){return i0(e)}function Cy(e,t){if(e!=="task")return e==="org"?"custom":"corporate"}function Bo(e,t){return e!=="org"?void 0:String(t??"").trim()||void 0}function Cs(e){const t=String(e??"").trim().toLowerCase().replace("-","_");return t==="codex"||t==="claude_code"||t==="cursor"||t==="opencode"?t:"native"}function jJ(e,t=120){const n=JSON.stringify(e)??"";return n.length<=t?n:n.slice(0,t)+"โ€ฆ"}function EJ(e,t){const n=typeof e.runtime_status=="string"?e.runtime_status:typeof e.status=="string"?e.status:t?.runtime_status??t?.status??"idle",r=e.appearance&&typeof e.appearance=="object"?e.appearance:t?.appearance??{palette:0,hue_shift:0,seat_zone:"work_area"},i=Array.isArray(e.specialties)?e.specialties.filter(a=>typeof a=="string"):t?.specialties??[],o=typeof e.agent_id=="string"?e.agent_id:t?.agent_id??"";return{agent_id:o,name:typeof e.name=="string"&&e.name?e.name:typeof e.role_name=="string"&&e.role_name?e.role_name:t?.name??o,description:typeof e.description=="string"?e.description:t?.description??"",specialties:i,status:n,office_id:typeof e.office_id=="string"?e.office_id:t?.office_id,appearance:r,employee_id:typeof e.employee_id=="string"?e.employee_id:t?.employee_id,opc_role_id:typeof e.opc_role_id=="string"?e.opc_role_id:t?.opc_role_id,runtime_status:n,current_tool:typeof e.current_tool=="string"?e.current_tool:e.current_tool==null?void 0:t?.current_tool,current_task_id:typeof e.current_task_id=="string"?e.current_task_id:e.current_task_id==null?void 0:t?.current_task_id}}function Rj(e,t=[]){const n=new Map(t.map(r=>[r.agent_id,r]));return e.filter(r=>!!r&&typeof r=="object").map(r=>{const i=typeof r.agent_id=="string"?r.agent_id:"";return EJ(r,n.get(i))}).filter(r=>!!r.agent_id)}function Aj(e){if(!e||typeof e!="object")return;const t=e;return{name:typeof t.name=="string"?t.name:void 0,employeeId:typeof t.employee_id=="string"?t.employee_id:typeof t.employeeId=="string"?t.employeeId:void 0,category:typeof t.category=="string"?t.category:void 0,experienceScore:typeof t.experience_score=="number"?t.experience_score:typeof t.experienceScore=="number"?t.experienceScore:void 0}}function kf(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function NJ(e){const t=String(e??"").trim().toLowerCase();return t==="idle"||t==="done"||t==="failed"||t==="cancelled"}function jy(e){const t={};if((typeof e.execution_mode=="string"?e.execution_mode:"")==="task_mode"||e.work_item_projection_id==="task_mode_execution"){const o=Aj(e.employee_assignment??e.employeeAssignment);return o&&(t.employeeAssignment=o),typeof e.selected_execution_agent=="string"?t.selectedExecutionAgent=Cs(e.selected_execution_agent):typeof e.selectedExecutionAgent=="string"&&(t.selectedExecutionAgent=Cs(e.selectedExecutionAgent)),t}typeof e.work_item_projection_id=="string"?t.workItemProjectionId=e.work_item_projection_id:typeof e.workItemProjectionId=="string"&&(t.workItemProjectionId=e.workItemProjectionId),typeof e.work_item_turn_type=="string"?t.workItemTurnType=e.work_item_turn_type:typeof e.workItemTurnType=="string"&&(t.workItemTurnType=e.workItemTurnType),typeof e.work_item_role_id=="string"?t.workItemRoleId=e.work_item_role_id:typeof e.workItemRoleId=="string"&&(t.workItemRoleId=e.workItemRoleId),typeof e.work_item_role_name=="string"?t.workItemRoleName=e.work_item_role_name:typeof e.workItemRoleName=="string"&&(t.workItemRoleName=e.workItemRoleName);const i=Aj(e.employee_assignment??e.employeeAssignment);return i&&(t.employeeAssignment=i),typeof e.selected_execution_agent=="string"?t.selectedExecutionAgent=Cs(e.selected_execution_agent):typeof e.selectedExecutionAgent=="string"&&(t.selectedExecutionAgent=Cs(e.selectedExecutionAgent)),t}function Ey(e){const t={};return e.latest_notification&&typeof e.latest_notification=="object"&&(t.latestNotification=e.latest_notification),typeof e.runtime_session_id=="string"&&(t.runtimeSessionId=e.runtime_session_id),typeof e.resume_cursor=="number"&&(t.resumeCursor=e.resume_cursor),Array.isArray(e.active_subagents)&&(t.activeSubagents=e.active_subagents),Array.isArray(e.permission_requests)&&(t.permissionRequests=e.permission_requests),typeof e.worktree_path=="string"&&(t.worktreePath=e.worktree_path),typeof e.current_tool=="string"&&(t.currentTool=e.current_tool),typeof e.display_tool=="string"&&e.display_tool.trim()&&(t.displayTool=e.display_tool),typeof e.tool_elapsed_ms=="number"&&(t.toolElapsedMs=e.tool_elapsed_ms),typeof e.last_tool_summary=="string"&&(t.lastToolSummary=e.last_tool_summary),typeof e.context_tokens=="number"&&(t.contextTokens=e.context_tokens),typeof e.context_window=="number"&&e.context_window>0&&(t.contextWindow=e.context_window),typeof e.context_remaining_pct=="number"&&(t.contextRemainingPct=e.context_remaining_pct),typeof e.input_tokens=="number"?t.inputTokens=e.input_tokens:typeof e.input_tokens_total=="number"?t.inputTokens=e.input_tokens_total:typeof e.tokens_in=="number"&&(t.inputTokens=e.tokens_in),typeof e.output_tokens=="number"?t.outputTokens=e.output_tokens:typeof e.output_tokens_total=="number"?t.outputTokens=e.output_tokens_total:typeof e.tokens_out=="number"&&(t.outputTokens=e.tokens_out),typeof e.total_tokens=="number"?t.totalTokens=e.total_tokens:typeof e.tokens_total=="number"&&(t.totalTokens=e.tokens_total),typeof e.turn_cost_usd=="number"&&(t.turnCostUsd=e.turn_cost_usd),typeof e.session_cost_usd=="number"&&(t.sessionCostUsd=e.session_cost_usd),typeof e.pending_permission_count=="number"&&(t.pendingPermissionCount=e.pending_permission_count),typeof e.drain_mode=="string"&&(t.drainMode=e.drain_mode),typeof e.resident_status=="string"&&(t.residentStatus=e.resident_status),typeof e.actionable_inbox_count=="number"&&(t.actionableInboxCount=e.actionable_inbox_count),typeof e.protocol_backlog_count=="number"&&(t.protocolBacklogCount=e.protocol_backlog_count),typeof e.notification_backlog_count=="number"&&(t.notificationBacklogCount=e.notification_backlog_count),t}function Ny(e){const t={};return e.latest_notification&&typeof e.latest_notification=="object"&&(t.latestNotification=e.latest_notification),typeof e.current_tool=="string"&&(t.currentTool=e.current_tool),typeof e.display_tool=="string"&&e.display_tool.trim()&&(t.displayTool=e.display_tool),typeof e.tool_elapsed_ms=="number"&&(t.toolElapsedMs=e.tool_elapsed_ms),typeof e.last_tool_summary=="string"&&(t.lastToolSummary=e.last_tool_summary),typeof e.context_tokens=="number"&&(t.contextTokens=e.context_tokens),typeof e.context_window=="number"&&e.context_window>0&&(t.contextWindow=e.context_window),typeof e.context_remaining_pct=="number"&&(t.contextRemainingPct=e.context_remaining_pct),typeof e.input_tokens=="number"?t.inputTokens=e.input_tokens:typeof e.input_tokens_total=="number"?t.inputTokens=e.input_tokens_total:typeof e.tokens_in=="number"&&(t.inputTokens=e.tokens_in),typeof e.output_tokens=="number"?t.outputTokens=e.output_tokens:typeof e.output_tokens_total=="number"?t.outputTokens=e.output_tokens_total:typeof e.tokens_out=="number"&&(t.outputTokens=e.tokens_out),typeof e.total_tokens=="number"?t.totalTokens=e.total_tokens:typeof e.tokens_total=="number"&&(t.totalTokens=e.tokens_total),typeof e.turn_cost_usd=="number"&&(t.turnCostUsd=e.turn_cost_usd),typeof e.session_cost_usd=="number"&&(t.sessionCostUsd=e.session_cost_usd),typeof e.pending_permission_count=="number"&&(t.pendingPermissionCount=e.pending_permission_count),typeof e.drain_mode=="string"&&(t.drainMode=e.drain_mode),typeof e.resident_status=="string"&&(t.residentStatus=e.resident_status),typeof e.actionable_inbox_count=="number"&&(t.actionableInboxCount=e.actionable_inbox_count),typeof e.protocol_backlog_count=="number"&&(t.protocolBacklogCount=e.protocol_backlog_count),typeof e.notification_backlog_count=="number"&&(t.notificationBacklogCount=e.notification_backlog_count),t}function Mj(e,t){if(!t||!e)return!1;if(t.activeSessionId===e)return!0;const n=t.activeSession;if(!n)return!1;if(n.taskId===e||n.parentSessionId===e||n.sessionId===e)return!0;const r=t.sessions.find(u=>u.taskId===e);if(!r)return!1;const i=new Set([String(n.taskId??"").trim(),String(n.sessionId??"").trim()].filter(Boolean)),o=String(r.parentSessionId??"").trim();if(o&&i.has(o))return!0;const a=String(n.parentSessionId??"").trim();return a?String(r.taskId??"").trim()===a||String(r.sessionId??"").trim()===a:!1}function IJ(e){return e==="done"||e==="delivered"?"approved":e==="failed"?"failed":e==="cancelled"?"cancelled":e==="pending"?"queued":e==="awaiting_manager_review"||e==="awaiting_review"?"awaiting_manager_review":e==="awaiting_human"?"awaiting_human":"running"}function TJ(e){return e==="approved"||e==="failed"||e==="cancelled"?"done":e==="awaiting_manager_review"||e==="awaiting_human"?"in-review":e==="queued"||e==="ready"||e==="ready_for_rework"||e==="waiting_dependencies"?"todo":"in-progress"}function RJ(e){return e==="done"||e==="delivered"?"done":e==="failed"||e==="cancelled"?"failed":e==="pending"?"pending":e==="awaiting_manager_review"||e==="awaiting_review"||e==="awaiting_human"?"waiting":"active"}function AJ(e){return e==="reflecting"||e==="tool_active"||e==="idle"?e:"idle"}function MJ(e){const t=ao(e)||e.taskId,n=e.workItemRoleId||e.assigneeIds[0]||e.taskId,r=e.workItemRoleName||n.replace(/[_-]/g," ").replace(/\b\w/g,o=>o.toUpperCase()),i=IJ(e.status);return{roleKey:n,roleId:n,roleName:r,runtimeStatus:AJ(e.agentStatus),aggregatedStatus:RJ(e.status),workItems:[{workItemId:e.workItemProjectionId||t,workItemProjectionId:e.workItemProjectionId,phase:i,kanbanColumn:TJ(i),title:e.title||r,kind:e.workItemTurnType,executorRoleId:n,executorRoleName:r,createdAt:e.createdAt,updatedAt:e.updatedAt,executionTurnId:t,progressLog:e.progressLog,activitySections:e.progressLog.length>0?[{kind:"activity",title:"Runtime activity",roleName:r,runtimeTaskId:t,entries:e.progressLog}]:[]}]}}function DJ({taskId:e,sessions:t,agents:n,onClose:r}){if(!e)return null;for(const a of t){const u=a.roleWorkItems;if(u)for(const d of Object.values(u)){const m=d.workItems.find(p=>p.executionTurnId===e);if(m)return c.jsx(yC,{role:d,focusedWorkItemId:m.workItemId,focusedExecutionTurnId:m.executionTurnId,agents:n,onClose:r})}}const i=t.find(a=>a.taskId===e||ao(a)===e);if(!i)return null;const o=MJ(i);return c.jsx(yC,{role:o,focusedExecutionTurnId:e,agents:n,onClose:r})}function OJ(){const e=j.useRef(new VM);j.useMemo(()=>YM(e.current),[]);const t=j.useRef(null),n=wJ(),[r,i]=j.useState(n),[o,a]=j.useState(n),[u,d]=j.useState("disconnected"),[m,p]=j.useState(""),[h,g]=j.useState(null),[y,v]=j.useState([]),[k,S]=j.useState(0),[_,w]=j.useState(null),[C,N]=j.useState("openopc"),[O,I]=j.useState(!0),[D,T]=j.useState(()=>{try{return localStorage.getItem("opc_office_sidebar_collapsed")==="1"}catch{return!1}}),L=()=>T(Z=>{const z=!Z;try{localStorage.setItem("opc_office_sidebar_collapsed",z?"1":"0")}catch{}return z}),[A,M]=j.useState("all"),[$,W]=j.useState("workspace"),[B,U]=j.useState([]),[H,V]=j.useState(!1),[Y,Q]=j.useState(null),[q,G]=j.useState("task"),[J,P]=j.useState("corporate"),[X,ee]=j.useState("native"),[te,re]=j.useState(null),[oe,de]=j.useState(null),[se,Ee]=j.useState(null),[we,Ce]=j.useState(null),[Be,Ge]=j.useState([]),[Ye,yt]=j.useState(""),[qt,bt]=j.useState(null),[vt,me]=j.useState([]),[Oe,rt]=j.useState([]),[Qe,Je]=j.useState(null),[fe,be]=j.useState(null),[Me,Fe]=j.useState(null),[$e,Wt]=j.useState(null),[nn,ke]=j.useState(null),[Te,Pe]=j.useState(null),[Ve,qe]=j.useState(null),[et,Mn]=j.useState(!1),[Tn,Dn]=j.useState(null),[yn,Yt]=j.useState(null),Jt=j.useRef(new Set),Et=j.useRef(new Set),wt=j.useRef([]),tt=j.useRef("task"),it=j.useRef(null),rn=j.useRef(null),Xt=j.useRef(null),mt=j.useRef(null),Ht=j.useRef(null),On=j.useRef("default"),vn=j.useRef(null),Rn=j.useRef(""),ve=j.useRef(0),Re=j.useRef(!1),Xe=j.useRef(!1),He=j.useRef(0),Tt=j.useRef(!1),ht=j.useRef(null),$n=j.useRef(null),Ae=j.useRef(new Map),[Dt,kn]=j.useState(null),[nr,Sn]=j.useState(null),[We,lr]=j.useState("success"),[cr,mn]=j.useState(null),[Pt,Zn]=j.useState(null),[wn,pt]=j.useState(null),[Ar,jr]=j.useState(()=>_J()),Qn=j.useCallback(Z=>(typeof Z=="string"?Z.trim():"")||"default",[]),ct=j.useCallback(()=>Qn(On.current),[Qn]),cn=j.useCallback(()=>`${Date.now()}-${Math.random().toString(36).slice(2,9)}`,[]),sn=j.useCallback(Z=>{if(!Z||typeof Z!="object")return"";for(const ne of["project_id","projectId","active_project_id","activeProjectId"]){const ae=Z[ne];if(typeof ae=="string"&&ae.trim())return ae.trim()}const z=Z.data;if(z&&typeof z=="object")for(const ne of["project_id","projectId"]){const ae=z[ne];if(typeof ae=="string"&&ae.trim())return ae.trim()}return""},[]),Nt=j.useCallback((Z,z=!1)=>{const ne=sn(Z);return ne?ne===ct():z},[ct,sn]),vr=j.useCallback(Z=>{if(!Z||typeof Z!="object")return"";const z=Z.switch_seq??Z.switchSeq;return typeof z=="string"?z.trim():""},[]),ue=j.useCallback(Z=>{if(!Z||typeof Z!="object")return null;const z=Z.view_generation??Z.viewGeneration;if(typeof z=="number")return z;if(typeof z=="string"&&z.trim()){const ne=Number(z);return Number.isFinite(ne)?ne:null}return null},[]),Se=j.useCallback(Z=>{const z=sn(Z);if(!z)return!1;const ne=vn.current;if(z!==ct()&&z!==ne)return!1;const ae=ue(Z);if(ae!==null&&ae!==ve.current)return!1;const he=vr(Z);return!he||!Rn.current||he===Rn.current},[ct,vr,ue,sn]),Ue=j.useCallback(Z=>{if(!Z||Z.error!=="task_not_found")return!1;if(!Nt(Z,!1))return!0;if((typeof Z.action=="string"?Z.action:"")!=="session_detail")return!1;const ne=ue(Z);if(ne!==null&&ne!==ve.current)return!0;const ae=typeof Z.task_id=="string"?Z.task_id:"";return ae?!(mt.current?.sessions??[]).some(je=>je.taskId===ae):!0},[Nt,ue]),ft=j.useCallback(()=>{for(const Z of Ae.current.values())clearTimeout(Z);Ae.current.clear()},[]),Kt=j.useCallback((Z,z="full",ne=!1,ae)=>{if(!Z)return;const he=ae||ct(),je=ve.current;if(!ne&&!Mj(Z,mt.current))return;const Ke=`${he}:${je}:${Z}`,ze=Ae.current.get(Ke);ze&&(clearTimeout(ze),Ae.current.delete(Ke));const Bt=setTimeout(()=>{Ae.current.delete(Ke),he===ct()&&je===ve.current&&(!ne&&!Mj(Z,mt.current)||(mt.current?.updateSession(Z,{detailLoading:!0,detailError:void 0,viewGeneration:je}),t.current?.sessionDetail(he,Z,{limit:200,detailLevel:z,include:z==="full"?["messages","session_state","progress","work_items","runtime_context"]:["messages","session_state"],viewGeneration:je})))},180);Ae.current.set(Ke,Bt)},[ct]),An=j.useCallback((Z,z="success")=>{Sn(Z),lr(z),setTimeout(()=>Sn(null),3e3)},[]),br=j.useCallback(()=>{$n.current&&(clearTimeout($n.current),$n.current=null),Tt.current=!1,ht.current=null},[]),Cn=j.useCallback(Z=>{br(),Tt.current=!0,ht.current=Z,$n.current=setTimeout(()=>{!Tt.current||ht.current!==Z||(br(),p("create_session_timeout"),An("Session creation timed out. Please try again.","error"))},3e4)},[br,An]),Hn=t4(),Er=cV(),hn=SV(),Mr=CV(),ra=hn.activeSessionId,Hu=j.useMemo(()=>ra?bJ(Er.getChannelMessages(yJ(ra))):null,[ra,Er]);j.useCallback(Z=>{const z=Qn(Z);On.current=z,ft(),Er.initFromBackend(z,[],[]),Hn.initFromBackend(z,[],[],[]),hn.initFromBackend(z,[]),br(),pt(null),Ee(null),Ce(null)},[Hn,Er,br,ft,Qn,hn]);const Rs=j.useCallback(Z=>{const z=Qn(Z),ne=cn();return Re.current=!0,Rn.current=ne,ve.current+=1,vn.current=z,ft(),p(`Switching to ${z}...`),ne},[ft,cn,Qn]),sh=j.useRef(!1);j.useLayoutEffect(()=>{rn.current=Er,Xt.current=Hn,mt.current=hn,Ht.current=Mr,it.current=Z=>{if(!Hn.activeBoardId||Hn.activeBoardColumns.length===0)return;const ne=Hn.activeBoardColumns.find(ae=>ae.name==="Todo")?.id??Hn.activeBoardColumns[0].id;Hn.createTask({boardId:Hn.activeBoardId,columnId:ne,title:Z.title,priority:Z.priority,assigneeIds:Z.assignee_id?[Z.assignee_id]:[]})},sh.current=!0}),j.useEffect(()=>{wt.current=B},[B]),j.useEffect(()=>{tt.current=q},[q]),j.useEffect(()=>{const Z=e.current,z=ne=>{w(ne),S(ae=>ae+1)};return Z.on("agentSelected",z),()=>{Z.off("agentSelected",z)}},[]);const ia=j.useRef(new Map),si=j.useRef(null),As=j.useCallback(Z=>{const z=ia.current;if(z.size===0)return;const ne=Z?[Z]:Array.from(z.keys());for(const ae of ne){const he=z.get(ae);if(!he)continue;z.delete(ae);const je=mt.current;he.draftText&&je?.appendDraft(ae,he.draftText,he.draftIteration,he.draftTurnId),je?.updateSession(ae,he.sessionPatch),Object.keys(he.kanbanPatch).length>0&&Xt.current?.updateTask(ae,he.kanbanPatch)}z.size===0&&si.current!==null&&(window.clearTimeout(si.current),si.current=null)},[]),oh=j.useCallback(()=>{si.current===null&&(si.current=window.setTimeout(()=>{si.current=null,As()},80))},[As]),Ms=j.useRef(null),sa=j.useCallback(()=>{Ms.current===null&&(Ms.current=window.setTimeout(()=>{Ms.current=null,S(Z=>Z+1)},300))},[]);j.useEffect(()=>{const Z=new X3(r,{onSnapshot:z=>{if(!Se(z))return;g(z);const ne=z.timeline.slice(-Tj);v(ne);const ae=new Set;for(const je of ne)ae.add(je.event_id);Et.current=ae,e.current.pushSnapshot(z);const he=Object.entries(z.agents??{});if(he.length>0){const je=Rj(he.map(([Ke,ze])=>({...ze&&typeof ze=="object"?ze:{},agent_id:Ke})),wt.current);wt.current=je,U(je)}z.exec_mode&&G(ks(z.exec_mode)),z.company_profile&&P(Uc(z.company_profile)),z.task_preferred_agent&&ee(Cs(z.task_preferred_agent)),S(je=>je+1)},onEvent:z=>{try{if(!Nt(z,!1))return;if(Et.current.has(z.event_id)){Et.current.delete(z.event_id);return}if(v(ne=>[...ne.slice(-Tj+1),z]),e.current.pushEvent(z),z.type==="task_routed"&&z.agent_id){if(tt.current==="company"||tt.current==="org")return;const ne=z.data?.task_id;if(ne&&!Xt.current?.tasks.find(ae=>ae.id===ne)){const ae=typeof z.data?.content_preview=="string"?z.data.content_preview.slice(0,80):"Task";it.current?.({title:ae,priority:null,assignee_id:z.agent_id})}}if(z.type==="task_done"&&z.agent_id&&Q(z.agent_id),["turn_started","assistant_delta","thinking_delta","status_snapshot","tool_started","tool_progress","tool_completed","permission_requested","permission_resolved","cost_update","context_usage","context_warning","subagent_started","subagent_updated","subagent_completed","member_inbox_updated","compaction_applied","checkpoint_saved","turn_completed","turn_failed"].includes(z.type)){const ne=z.data,ae=typeof ne.task_id=="string"?ne.task_id:"";if(ae){const he=z.type==="assistant_delta"||z.type==="thinking_delta";he||As(ae);const je=mt.current,Ke=Xt.current,ze=je?.sessions.find(da=>da.taskId===ae),Bt=typeof ne.work_item_projection_id=="string"?ne.work_item_projection_id:"",Ft=(typeof ne.execution_mode=="string"?ne.execution_mode:"")==="task_mode"||Bt==="task_mode_execution",It=typeof ne.turn_id=="string"&&ne.turn_id?ne.turn_id:typeof ne.canonical_turn_id=="string"&&ne.canonical_turn_id?ne.canonical_turn_id:typeof ne.execution_turn_id=="string"&&ne.execution_turn_id?ne.execution_turn_id:void 0,Ot=!!Bt&&Bt!=="task_mode_execution"&&!Ft;Ot&&!he&&ze?.isCompanyRuntime!==!0&&je?.setCompanyRuntime(ae,!0);const dr={lastRuntimeEventType:z.type,...z.type==="member_inbox_updated"?{}:{updatedAt:Date.now()},...Ey(ne)},fr=typeof ne.tool_name=="string"?ne.tool_name:void 0,ua={...Ny(ne),...fr!==void 0?{currentTool:fr||void 0}:{},...fr?{displayTool:fr}:{}};if(he){const da=ia.current;let rr=da.get(ae);const Hl=z.type==="assistant_delta"&&typeof ne.text=="string"?ne.text:"";rr&&Hl&&rr.draftText&&rr.draftTurnId!==void 0&&It!==void 0&&rr.draftTurnId!==It&&(As(ae),rr=void 0),rr||(rr={draftText:"",sessionPatch:{},kanbanPatch:{}},da.set(ae,rr)),Hl&&(rr.draftText+=Hl,rr.draftIteration=typeof ne.iteration=="number"?ne.iteration:rr.draftIteration??ze?.draftIteration,It!==void 0&&(rr.draftTurnId=It)),rr.sessionPatch={...rr.sessionPatch,...dr,...Ot?{isCompanyRuntime:!0}:{}},rr.kanbanPatch={...rr.kanbanPatch,...ua},oh()}else(z.type==="turn_started"||z.type==="turn_completed"||z.type==="turn_failed"||z.type==="checkpoint_saved")&&je?.clearDraft(ae),je?.updateSession(ae,dr),Ke?.updateTask(ae,ua);const Gu=Ft&&kJ.has(z.type)||SJ.has(z.type);z.type!=="assistant_delta"&&!Gu&&Kt(ae)}}if(z.type==="agent_removed"&&z.agent_id){const ne=z.agent_id;vM(ne);const ae=rn.current;ae&&(ae.markSenderDeleted(ne),ae.removeParticipant(ne))}sa()}catch(ne){console.error("[onEvent] Error:",ne,z)}},onAck:z=>{try{if(z.ok===!1){if(z.action==="create_session"&&br(),Ue(z))return;z.action==="session_detail"&&typeof z.task_id=="string"&&mt.current?.updateSession(z.task_id,{detailLoading:!1,detailError:String(z.error??"request_failed")}),p(String(z.error??"request_failed")),Zn(null),mn(null),An(String(z.error??"Request failed"),"error")}if(z.ok&&z.action==="employee_imported"&&An("Employee deployed to office!"),z.ok&&z.action==="talent_imported"&&An(`Imported ${z.count??0} templates!`),z.ok&&z.action==="talent_hired"&&(kn(null),An(`${z.name??"Agent"} hired and added to office!`)),z.ok&&z.action==="architecture_reset"&&(Pe(null),qe(null)),z.ok&&z.action==="session_detail"){if(!Nt(z,!1))return;const ne=ue(z);if(ne!==null&&ne!==ve.current)return;const ae=typeof z.task_id=="string"?z.task_id:"",he=Array.isArray(z.messages)?z.messages.map(Lf):[],je=typeof z.message_count=="number"?z.message_count:he.length,Ke=rn.current;Ke&&he.length>0&&Ke.mergeMessagesFromBackend(he);const ze=mt.current;if(ze&&ae){const Bt=ze.sessions.find(dr=>dr.taskId===ae),on=String(Bt?.draftTurnId??"").trim();on&&he.some(dr=>{if(dr.sender==="user")return!1;const fr=dr.metadata??{};return String(fr.transcript_kind??fr.kind??"").trim()!=="runtime_v2_assistant"?!1:String(fr.canonical_turn_id??fr.turn_id??"").trim()===on})&&ze.clearDraft(ae);const It=z.session_state,Ot=It&&typeof It=="object"?XR(It):null;ze.updateSession(ae,{...Ot??{},...typeof z.handoff_context=="string"?{handoffContext:z.handoff_context}:{},...typeof z.handoff_to=="string"?{handoffTo:z.handoff_to}:{},messageCount:je,detailLoaded:!0,fullLoaded:z.detail_level==="full"&&z.has_more!==!0,hasMore:z.has_more===!0,detailLoading:!1,detailError:void 0,viewGeneration:ne??ve.current})}}if(Array.isArray(z.agents)){const ne=Rj(z.agents,wt.current);wt.current=ne,U(ne);for(const ae of ne)e.current.ensureAgent(ae.agent_id,ae.name,ae.office_id,ae.appearance?.palette,ae.appearance?.desk_id);S(ae=>ae+1)}if(z.ok&&(z.agent_id||z.deleted)&&(z.deleted&&(Zn(null),mn(null),An("Agent removed")),z.agent_id&&!z.deleted&&An("Agent created!"),t.current?.listAgents()),z.ok&&Array.isArray(z.projects)){const ne=Ht.current;if(ne){const ae=ct(),he=!Xe.current,je=!Xe.current&&!Re.current,Ke=typeof z.active_project_id=="string"?z.active_project_id.trim():"",ze=z.action==="create_project"&&typeof z.project_id=="string"?z.project_id.trim():"",Bt=je?Qn(ze||Ke||On.current):ze?Qn(ze):ct();if(ze&&(Re.current=!0),Xe.current=!0,On.current=Bt,ne.initFromBackend(z.projects,Bt),Bt!==ae||he){const on=cn();Rn.current=on,vn.current=Bt,ve.current+=1,p(`Switching to ${Bt}...`),t.current?.switchProject(Bt,on)}}}if(z.ok&&Array.isArray(z.channels)){if(!Se(z))return;const ne=Ij(z),ae=sn(z);if(!ae)return;const he=vn.current===ae||ct()!==ae;On.current=ae,vn.current=null,Ht.current?.setActiveProject(ae),he&&(ft(),pt(null),Ee(null),Ce(null)),p("");const je=rn.current;je&&je.initFromBackend(ae,ne.channels,ne.messages);const Ke=Xt.current;Ke&&Ke.initFromBackend(ae,ne.boards,ne.columns,ne.tasks);const ze=mt.current;if(ze){ze.initFromBackend(ae,ne.sessions);const Bt=ze.activeSessionId;Bt&&Kt(Bt,"full",!0)}}}catch(ne){console.error("[onAck] Error:",ne)}},onStatus:(z,ne)=>{if(d(z),p(ne??""),z==="connected"){const ae=ct();Z.listProjects(),Z.orgInfo(),Z.orgSavedList(),Z.collabSync(ae,void 0,ve.current)}},onCollabMessage:(z,ne)=>{try{if(z==="project_index_push"){if(!Se(ne))return}else if(!Nt(ne,!1))return;const ae=rn.current;if(z==="chat_new_message")ae&&ae.addMessageFromBackend(Lf(ne));else if(z==="chat_channel_created")ae&&ae.addChannelFromBackend(VR(ne));else if(z==="session_runtime_control"){const he=mt.current;if(he){const je=Array.isArray(ne.task_ids)?ne.task_ids.map(String).filter(Boolean):[],Ke={runtimeControlState:String(ne.runtime_control_state??ne.runtimeControlState??"idle"),canStop:!!(ne.can_stop??ne.canStop),canResume:!!(ne.can_resume??ne.canResume),resumeParentTaskId:String(ne.resume_parent_task_id??ne.resumeParentTaskId??""),resumeParentSessionId:String(ne.resume_parent_session_id??ne.resumeParentSessionId??""),pendingRuntimeCheckpointId:String(ne.pending_runtime_checkpoint_id??ne.pendingRuntimeCheckpointId??""),stopIntentId:String(ne.stop_intent_id??ne.stopIntentId??"")};for(const ze of je)he.updateSession(ze,Ke)}}else if(z==="board_task_status_changed"){const he=String(ne.task_id??""),je=String(ne.column_id??""),Ke=String(ne.status??""),ze=["done","failed","cancelled"].includes(Ke);if(he&&je){const Bt=Xt.current;if(Bt){const Ft=Bt.tasks.find(It=>It.id===he);if(Ft){const It={};Ft.columnId!==je&&Bt.moveTask(he,je,0),Ke==="running"?(!Ft.agentStatus||Ft.agentStatus==="idle")&&(It.agentStatus="reflecting"):(Ft.agentStatus||Ft.currentTool||Ft.displayTool)&&(It.agentStatus=void 0,It.currentTool=void 0,It.displayTool=void 0),Object.keys(It).length>0&&Bt.updateTask(he,It)}}const on=mt.current;if(on){const Ft=on.sessions.find(Ot=>Ot.taskId===he),It={columnId:je,status:Ke||je};Ke==="running"?(!Ft?.agentStatus||Ft.agentStatus==="idle")&&(It.agentStatus="reflecting"):(Ft?.agentStatus||Ft?.currentTool||Ft?.displayTool||ze)&&(It.agentStatus=void 0,It.currentTool=void 0,It.displayTool=void 0),Object.assign(It,R4(Ft,Ke)),on.updateSession(he,{...It})}}}else if(z==="execution_mode_resolved"){const he=String(ne.mode??""),je=String(ne.profile??"");if(he){const Ke=ks(he);G(Ke),P(Ke==="org"?"custom":Ke==="company"?Uc(je):"corporate")}else je&&P(Uc(je))}else if(z==="project_run_updated"||z==="seat_digest_updated"||z==="work_item_batch_updated")t.current?.collabSync(ct(),void 0,ve.current);else if(z==="collab_sync_push"||z==="project_index_push"){const he=String(ne.sync_scope??ne.syncScope??"").toLowerCase(),je=z==="project_index_push"||he==="index";if(!Se(ne))return;const Ke=Ij(ne),ze=sn(ne);if(!ze)return;const Bt=vn.current===ze||ct()!==ze;if(On.current=ze,vn.current=null,Ht.current?.setActiveProject(ze),Bt&&(ft(),pt(null),Ee(null),Ce(null)),p(""),je){const Ot=mt.current;Ot&&Ot.initFromBackend(ze,Ke.sessions,{preserveExistingWhenIncomingPartial:!0,preserveActiveWhenMissing:!0}),t.current?.collabSync(ze,void 0,ve.current);return}const on=rn.current;on&&on.initFromBackend(ze,Ke.channels,Ke.messages);const Ft=Xt.current;Ft&&Ft.initFromBackend(ze,Ke.boards,Ke.columns,Ke.tasks);const It=mt.current;if(It){It.initFromBackend(ze,Ke.sessions);const Ot=It.activeSessionId;Ot&&Kt(Ot,"full",!0)}}}catch(ae){console.error("[onCollabMessage] Error:",ae)}},onAgentRuntimeUpdate:z=>{if(!Nt(z,!1))return;z.agent_id&&U(ae=>{const he=ae.map(je=>je.agent_id===z.agent_id?{...je,status:z.status,runtime_status:z.status,current_tool:z.current_tool??void 0,current_task_id:z.task_id??void 0}:je);return wt.current=he,he});const ne=Xt.current;if(ne&&z.task_id){const ae=z,he=Ny(ae),je=Ey(ae);if(kf(ae,"current_tool")){const ze=typeof ae.current_tool=="string"&&ae.current_tool.trim()?ae.current_tool:void 0;he.currentTool=ze,je.currentTool=ze,ze&&(he.displayTool=ze,je.displayTool=ze)}if(kf(ae,"display_tool")){const ze=typeof ae.display_tool=="string"&&ae.display_tool.trim()?ae.display_tool:void 0;ze&&(he.displayTool=ze,je.displayTool=ze)}if(NJ(z.status)&&(he.displayTool=void 0,je.displayTool=void 0),kf(ae,"tool_elapsed_ms")){const ze=typeof ae.tool_elapsed_ms=="number"?ae.tool_elapsed_ms:void 0;he.toolElapsedMs=ze,je.toolElapsedMs=ze}if(kf(ae,"last_tool_summary")){const ze=typeof ae.last_tool_summary=="string"?ae.last_tool_summary:void 0;he.lastToolSummary=ze,je.lastToolSummary=ze}typeof z.iteration=="number"&&(he.iterationCount=z.iteration),ne.updateTask(z.task_id,{agentStatus:z.status,...he});const Ke=mt.current;Ke&&Ke.updateSession(z.task_id,{agentStatus:z.status,...je,updatedAt:Date.now()}),Kt(z.task_id)}},onWorkerNotification:z=>{if(!Nt(z,!1))return;const ne=z,ae=typeof z.task_id=="string"?z.task_id:"";if(!ae)return;const he=ne;mt.current?.updateSession(ae,{...Ey(ne),latestNotification:he,updatedAt:Date.now()}),Xt.current?.updateTask(ae,{...Ny(ne),latestNotification:he}),Kt(ae)},onKanbanViewData:z=>{if(!Nt(z,!1))return;const ne=Xt.current;ne&&ne.initFromBackend(sn(z)||ct(),(z.boards??[]).map(UR),(z.columns??[]).map(GR),(z.tasks??[]).map(qR))},onSessionProgress:z=>{if(!Nt(z,!1))return;const ne=mt.current;if(!(!ne||!z.task_id||!z.entry)){if(ne.appendProgress(z.task_id,{type:z.entry.type,summary:z.entry.summary,detail:z.entry.detail,timestamp:z.entry.timestamp*1e3,turnId:typeof z.entry.turn_id=="string"?z.entry.turn_id:typeof z.entry.turnId=="string"?z.entry.turnId:void 0,itemId:typeof z.entry.item_id=="string"?z.entry.item_id:typeof z.entry.itemId=="string"?z.entry.itemId:void 0,streamId:typeof z.entry.stream_id=="string"?z.entry.stream_id:typeof z.entry.streamId=="string"?z.entry.streamId:void 0,toolCallId:typeof z.entry.tool_call_id=="string"?z.entry.tool_call_id:typeof z.entry.toolCallId=="string"?z.entry.toolCallId:void 0,permissionGroupKey:typeof z.entry.permission_group_key=="string"?z.entry.permission_group_key:typeof z.entry.permissionGroupKey=="string"?z.entry.permissionGroupKey:void 0,seq:typeof z.entry.seq=="number"?z.entry.seq:void 0,executionMode:typeof z.entry.execution_mode=="string"?z.entry.execution_mode:typeof z.entry.executionMode=="string"?z.entry.executionMode:void 0}),z.entry.type==="tool_call"){const ae=String(z.entry.summary??"").trim();ne.updateSession(z.task_id,{...ae?{currentTool:ae,displayTool:ae}:{},updatedAt:z.entry.timestamp*1e3})}z.entry.type!=="thinking"&&z.entry.type!=="verification"&&Kt(z.task_id)}},onBoardEvent:z=>{if(!Nt(z,!1))return;const ne=Xt.current;if(!ne)return;const ae=String(z.task_id??"");if(!ae)return;const he=mt.current;if(he&&he.sessions.find(dr=>dr.taskId===ae)?.mode==="child")return;const je=Array.isArray(z.assignee_ids)?z.assignee_ids.map(String):[],Ke=jy(z);if(ne.tasks.find(Ot=>Ot.id===ae)){const Ot={};z.title&&(Ot.title=String(z.title)),z.display_id&&(Ot.displayId=String(z.display_id)),je.length>0&&(Ot.assigneeIds=je),Object.assign(Ot,Ke),Object.keys(Ot).length>0&&ne.updateTask(ae,Ot);return}const Bt=String(z.board_id??ne.activeBoardId??"default"),on=ne.columns.filter(Ot=>Ot.boardId===Bt),It=on.find(Ot=>Ot.name==="Todo")?.id??on[0]?.id??"";It&&(ne.createTask({boardId:Bt,columnId:It,title:String(z.title??"Untitled"),taskId:ae,displayId:z.display_id?String(z.display_id):void 0,assigneeIds:je}),Object.keys(Ke).length>0&&ne.updateTask(ae,Ke))},onSessionCreated:z=>{try{if(!Nt(z,!1))return;const ne=mt.current;if(!ne)return;const ae=String(z.task_id??"");if(!ae)return;const he=sn(z);if(!he)return;const je=ae?ne.sessions.find(Ot=>Ot.taskId===ae):void 0,Ke=jy(z),ze=ks(z.exec_mode??je?.execMode),Bt=Cy(ze,z.company_profile??je?.companyProfile),on=Bo(ze,z.org_id??z.organization_id??je?.orgId);ze==="org"&&on&&Pe(on),ne.createSession({projectId:he,taskId:ae,channelId:z.channel_id,sessionId:z.session_id,parentSessionId:z.parent_session_id,originTaskId:z.origin_task_id??je?.originTaskId??ae,mode:z.parent_session_id?"child":"primary",execMode:ze,companyProfile:Bt,orgId:on,preferredAgent:Cs(z.preferred_agent??je?.preferredAgent),title:z.title,status:z.status,columnId:je?.columnId??"todo",assigneeIds:Array.isArray(z.assignee_ids)?z.assignee_ids.map(String):je?.assigneeIds??[],priority:je?.priority??null,tags:je?.tags??[],progressLog:je?.progressLog??[],createdAt:typeof z.created_at=="number"?z.created_at*1e3:je?.createdAt??Date.now(),updatedAt:Date.now(),messageCount:0,...Ke});const Ft=Xt.current;if(Ft&&ze==="task"&&!z.parent_session_id&&ae&&!Ft.tasks.find(Ot=>Ot.id===ae)&&Ft.activeBoardId){const dr=Ft.columns.filter(fr=>fr.boardId===Ft.activeBoardId).find(fr=>fr.name==="Todo");dr&&Ft.createTask({boardId:Ft.activeBoardId,columnId:dr.id,title:z.title,taskId:ae,assigneeIds:je?.assigneeIds??[]})}if(Tt.current){if(ht.current!==he)return;br(),ne.setActiveSession(z.task_id),Kt(z.task_id,"full",!0)}}catch(ne){console.error("[onSessionCreated] Error:",ne)}},onSessionUpdated:z=>{try{if(!Nt(z,!1))return;const ne=mt.current;if(!ne||!z.task_id)return;const ae=ks(z.exec_mode??ne.sessions.find(he=>he.taskId===z.task_id)?.execMode);ne.updateSession(z.task_id,{...z.exec_mode?{execMode:ae}:{},...z.exec_mode||z.company_profile?{companyProfile:Cy(ae,z.company_profile)}:{},..."org_id"in z||"organization_id"in z?{orgId:Bo(ae,z.org_id??z.organization_id)}:{},...z.preferred_agent?{preferredAgent:Cs(z.preferred_agent)}:{},...z.selected_execution_agent?{selectedExecutionAgent:Cs(z.selected_execution_agent)}:{}}),(z.exec_mode==="org"||z.exec_mode==="custom")&&(z.org_id||z.organization_id)&&Pe(String(z.org_id??z.organization_id))}catch(ne){console.error("[onSessionUpdated] Error:",ne)}},onSessionMessage:z=>{try{if(!Nt(z,!1))return;const ne=rn.current;if(!ne)return;const ae=Lf(z);console.debug("[onSessionMessage]",ae.sender,ae.channelId,ae.content?.slice(0,60)),ne.addMessageFromBackend(ae);const he=ae.channelId.startsWith("session:")?ae.channelId.slice(8):"";he&&ae.sender!=="user"&&(mt.current?.clearDraft(he),Kt(he,"full",!0))}catch(ne){console.error("[onSessionMessage] Error:",ne)}},onSessionTitleUpdated:z=>{try{if(!Nt(z,!1))return;const ne=mt.current;ne&&ne.updateSession(z.task_id,{title:z.title});const ae=Xt.current;if(ae){const je=ne?.sessions.find(ze=>ze.taskId===z.task_id)?.originTaskId??z.task_id,Ke=ae.boards.find(ze=>ze.id===je);Ke&&Ke.name!==z.title&&ae.updateBoardName(je,z.title)}}catch(ne){console.error("[onSessionTitleUpdated] Error:",ne)}},onSessionDeleted:z=>{try{if(!Nt(z,!1))return;const ne=mt.current;if(!ne)return;ne.activeSessionId===z.task_id&&ne.setActiveSession(null),ne.deleteSession(z.task_id);const ae=Xt.current;ae&&ae.deleteTask(z.task_id);const he=rn.current;he&&he.removeSessionData(z.task_id)}catch(ne){console.error("[onSessionDeleted] Error:",ne)}},onProjectSwitched:z=>{if(!Se(z))return;const ne=typeof z.project_id=="string"?z.project_id.trim():"";ne&&(vn.current=ne,p(`Switching to ${ne}...`))},onProjectDeleted:z=>{const ne=Ht.current;ne&&ne.removeProject(z.project_id)},onOrgInfo:z=>{const ne=cN(z);re(ne),qe(ae=>ae===null?ne?.org_version??0:ae),(z?.project_run?.execution_model==="multi_team_org"||Array.isArray(z?.work_items)&&z.work_items.length>0)&&t.current?.collabSync(ct(),void 0,ve.current)},onRecoveryStatus:z=>{Nt(z,!1)&&de(z)},onCommsState:z=>{Nt(z,!1)&&Ee(z)},onCommsMessage:z=>{Nt(z,!0)&&Ce(z)},onRecoveryResult:z=>{Nt(z,!1)&&(z?.status==="completed"||z?.status==="cancelled")&&t.current?.recoveryAction(ct(),"scan")},onTalentList:z=>{Ge(z.templates??[]),z.talent_dir&&yt(z.talent_dir)},onEmployeeDetail:z=>{bt(z)},onReorgList:z=>{me(z.proposals??[])},onOrgConfigExport:z=>{be(z.yaml??"")},onOrgConfigImport:z=>{z.ok?(Fe(z.preview??null),Wt(null),z.dry_run||(Pe(null),qe(null))):(Wt(z.error??"Import failed"),Fe(null))},onOrgSavedList:z=>{ke(z.orgs??[]),"active_name"in z&&Pe(z.active_name??null)},onOrgSavedSaveAs:z=>{z.ok?(t.current?.orgSavedList(),Pe(z.name),qe(null),Yt({kind:"ok",text:`Saved "${z.name}"`})):Yt({kind:"error",text:`Save failed: ${z.error??"unknown"}`})},onOrgSavedCreate:z=>{if(Mn(!1),Dn({...z,nonce:Date.now()}),z.ok){const ne=z.organization_id||z.name;Pe(ne),G("org"),P("custom"),t.current?.orgSavedList(),t.current?.orgInfo(),qe(null),Yt({kind:"ok",text:`Created "${z.organization_name||ne}"`})}else Yt({kind:"error",text:`Create failed: ${z.error??"unknown"}`})},onOrgSavedLoad:z=>{z.ok?(Pe(z.name),G("org"),P("custom"),t.current?.orgSavedList(),qe(null),Yt({kind:"ok",text:`Loaded "${z.name}"`})):Yt({kind:"error",text:`Load failed: ${z.error??"unknown"}`})},onOrgSavedDelete:z=>{z.ok?(t.current?.orgSavedList(),Pe(ne=>ne===z.name?(qe(null),null):ne),Yt({kind:"ok",text:`Deleted "${z.name}"`})):Yt({kind:"error",text:`Delete failed: ${z.error??"unknown"}`})},onMarketBrowse:z=>{rt(z.presets??[])},onMarketPreview:z=>{Je(z)},onChildSessionCreated:z=>{if(!Nt(z,!1))return;const ne=mt.current;if(!ne)return;const ae=jy(z),he=sn(z);if(he&&(ne.createSession({projectId:he,taskId:z.task_id,channelId:z.channel_id??`session:${z.task_id}`,sessionId:z.session_id,parentSessionId:z.parent_session_id,originTaskId:z.origin_task_id??z.task_id,mode:"child",orgId:String(z.org_id??z.organization_id??"").trim()||void 0,title:z.title,status:"pending",columnId:"todo",assigneeIds:z.agent_id?[z.agent_id]:[],priority:null,tags:[],createdAt:Date.now(),updatedAt:Date.now(),messageCount:0,progressLog:[],...ae}),z.parent_session_id)){const je=ne.sessions.find(Ke=>Ke.sessionId===z.parent_session_id||Ke.taskId===z.parent_session_id);je&&!je.isCompanyRuntime&&ne.setCompanyRuntime(je.taskId,!0)}},onWorkItemProgress:z=>{if(!Nt(z,!1))return;const ne=mt.current;if(!ne||!z.task_id||!z.entry)return;const ae=typeof z.entry.work_item_projection_id=="string"?z.entry.work_item_projection_id:"",he=ae&&ae!=="company_runtime"?ae:void 0,je=typeof z.entry.runtime_task_id=="string"&&z.entry.runtime_task_id?z.entry.runtime_task_id:typeof z.runtime_task_id=="string"&&z.runtime_task_id?z.runtime_task_id:typeof z.entry.execution_turn_id=="string"&&z.entry.execution_turn_id?z.entry.execution_turn_id:typeof z.execution_turn_id=="string"&&z.execution_turn_id?z.execution_turn_id:void 0,Ke=typeof z.entry.execution_turn_id=="string"&&z.entry.execution_turn_id?z.entry.execution_turn_id:typeof z.execution_turn_id=="string"&&z.execution_turn_id?z.execution_turn_id:je;ne.updateSession(z.task_id,{isCompanyRuntime:!0,...he?{workItemProjectionId:he}:{}});const ze=Xt.current;ze&&he&&ze.updateTask(z.task_id,{workItemProjectionId:he}),ne.appendWorkItemProgress(z.task_id,{timestamp:z.entry.timestamp*1e3,type:z.entry.type,workItemProjectionId:he,workItemTurnType:typeof z.entry.work_item_turn_type=="string"?z.entry.work_item_turn_type:void 0,workItemProjectionTitle:typeof z.entry.work_item_projection_title=="string"?z.entry.work_item_projection_title:void 0,runtimeTaskId:je,executionTurnId:Ke,roleName:z.entry.role_name,detail:z.entry.detail})}});return t.current=Z,Z.connect(),()=>{Z.disconnect();for(const z of Jt.current)clearTimeout(z);Jt.current.clear();for(const z of Ae.current.values())clearTimeout(z);Ae.current.clear(),si.current!==null&&(window.clearTimeout(si.current),si.current=null),ia.current.clear(),Ms.current!==null&&(window.clearTimeout(Ms.current),Ms.current=null)}},[r]),j.useEffect(()=>{const Z=()=>{if(typeof document<"u"&&document.visibilityState==="hidden")return;const ne=Date.now();ne-He.current<1500||(He.current=ne,t.current?.collabSync(ct(),void 0,ve.current))},z=()=>{document.visibilityState==="visible"&&Z()};return window.addEventListener("focus",Z),document.addEventListener("visibilitychange",z),()=>{window.removeEventListener("focus",Z),document.removeEventListener("visibilitychange",z)}},[ct]),j.useEffect(()=>{if(!yn)return;const Z=setTimeout(()=>Yt(null),3e3);return()=>clearTimeout(Z)},[yn]);const oi=j.useCallback(()=>{t.current?.orgSavedList()},[]),Dl=j.useCallback((Z,z)=>{t.current?.orgSavedSaveAs(Z,z)},[]),Ol=j.useCallback((Z,z)=>{Mn(!0),Dn(null),t.current?.orgSavedCreate(Z,z)},[]),ns=j.useCallback(Z=>{t.current?.orgSavedLoad(Z)},[]),Ds=j.useCallback(Z=>{t.current?.orgSavedDelete(Z)},[]),Fu=j.useCallback(()=>{G("company"),P("corporate"),qe(null),t.current?.setExecutionMode("company","corporate",X),t.current?.orgInfo()},[X]);j.useEffect(()=>{if(!Y)return;const Z=Y;e.current.setAgentBubble(Z,"Done!");const z=setTimeout(()=>{Jt.current.delete(z),e.current.setAgentBubble(Z,null)},3e3);Jt.current.add(z),Q(null)},[Y]),j.useCallback((Z,z,ne)=>{const ae=Hn.tasks.find(he=>he.id===Z);for(const he of z)e.current.sendToSeat(he),e.current.setAgentActive(he,!0),e.current.setAgentBubble(he,`Task: ${ne.slice(0,22)}`),t.current?.assignTaskToAgent(ct(),Z,he,ne);if(ae){const he=z.map(je=>B.find(Ke=>Ke.agent_id===je)?.name??je);tJ(Er,ae,he)}S(he=>he+1)},[Hn.tasks,Er,B,ct]);const oa=j.useMemo(()=>{const Z=h?Object.keys(h.agents).length:0,z=h?.skills.total??0;return{totalAgents:Z,totalSkills:z}},[h]),ki=j.useMemo(()=>{const Z=e.current.getCharacterCards();return(O?Z:Z.filter(ne=>!ne.isSubagent)).slice().sort((ne,ae)=>ne.displayName.localeCompare(ae.displayName))},[O,k]),zi=j.useMemo(()=>Bn(),[k]),Si=j.useMemo(()=>{const Z={};for(const z of ki)z.officeId&&(Z[z.id]=z.officeId);return Z},[ki]),[Ll,rs]=j.useState(null),[ai,aa]=j.useState(""),vo=Z=>{ai.trim()&&(e.current.renameOffice(Z,ai.trim()),S(z=>z+1)),rs(null)},zl=(Z,z)=>{e.current.assignAgentToOffice(z,Z),t.current?.moveAgent(z,Z),S(ne=>ne+1)},la=(Z,z)=>{e.current.changeAgentSeat(Z,z),S(ne=>ne+1)},Jn=ki.find(Z=>Z.id===_)??null,Vu=j.useMemo(()=>Jn?e.current.getSeatsForOffice(Jn.officeId):[],[Jn?.officeId,k]),ur=j.useMemo(()=>{const Z=y.slice(-40);return{trace:Z.some(z=>z.type==="tool_start"||z.type==="tool_done"),reflect:Z.some(z=>z.type==="reflect_start"||z.type==="reflect_done"),synthesize:Z.some(z=>z.type==="skill_synthesized")}},[y]),is=j.useMemo(()=>["all",...Array.from(new Set(y.map(z=>z.type)))],[y]),ca=j.useMemo(()=>(A==="all"?y:y.filter(z=>z.type===A)).slice().reverse(),[A,y]),bo=()=>{const Z=o.trim();!Z||Z===r||i(Z)},Pl=j.useCallback(Z=>{w(Z),S(z=>z+1)},[]),Bl=j.useCallback((Z,z,ne,ae)=>{const he=hn.sessions.find(fr=>fr.taskId===Z),je=ks(z),Ke=Uc(he?.companyProfile??J),ze=je==="org"?"custom":"corporate",Bt=String(he?.orgId??Te??"").trim(),on=Bo(je,ae??he?.orgId??Te),Ft=ks(he?.execMode),It=Uc(J);if(Ft===je&&Ke===ze&&Bt===String(on??"").trim()&&q===je&&It===ze)return;hn.updateSession(Z,{execMode:je,companyProfile:ze,orgId:on,preferredAgent:he?.preferredAgent??X}),G(je),P(ze),je==="org"&&on&&Pe(on);const Ot=he?.preferredAgent??X,dr=je==="task"?void 0:ze;t.current?.sessionUpdateConfig(ct(),Z,je,dr,Ot,on),t.current?.setExecutionMode(je,dr,Ot,on)},[hn,q,J,X,Te,ct]),$l=j.useCallback((Z,z)=>{const ne=hn.sessions.find(Bt=>Bt.taskId===Z),ae=Cs(z),he=ks(ne?.execMode),je=he==="org"?"custom":"corporate";hn.updateSession(Z,{preferredAgent:ae,selectedExecutionAgent:ae}),ee(ae);const Ke=he==="task"?void 0:je,ze=Bo(he,ne?.orgId??Te);t.current?.sessionUpdateConfig(ct(),Z,he,Ke,ae,ze),t.current?.setExecutionMode(he,Ke,ae,ze)},[hn,J,Te,ct]),_o=j.useCallback((Z,z,ne)=>{if(vn.current||Tt.current)return;const ae=ct();Cn(ae);const he=ks(Z),je=he==="org"?"custom":he==="company"?"corporate":void 0;t.current?.createSession(ae,void 0,he,je,X,Bo(he,ne??Te)),W("workspace")},[ct,Cn,X,Te]),ss=j.useCallback((Z,z)=>{const ne=hn.sessions.find(je=>je.taskId===Z),ae=ne?.resumeParentSessionId??ne?.parentSessionId??ne?.sessionId,he=ne?.resumeParentTaskId??(ae?hn.sessions.find(je=>je.sessionId===ae&&!je.parentSessionId)?.taskId:void 0)??Z;for(const je of hn.sessions)(je.taskId===Z||je.taskId===he||ae&&(je.parentSessionId===ae||je.sessionId===ae))&&hn.updateSession(je.taskId,{...z,resumeParentTaskId:he,resumeParentSessionId:ae})},[hn]),Uu=j.useCallback(Z=>{const z=hn.sessions.find(ae=>ae.taskId===Z);(z?.execMode==="company"||z?.execMode==="org"||z?.execMode==="custom"||z?.isCompanyRuntime||z?.parentSessionId||z?.companyProfile)&&ss(Z,{runtimeControlState:"suspending",canStop:!1,canResume:!1}),t.current?.sessionStop(ct(),Z)},[hn.sessions,ss,ct]),ah=j.useCallback(Z=>{const z=hn.sessions.find(ae=>ae.taskId===Z);(z?.execMode==="company"||z?.execMode==="org"||z?.execMode==="custom"||z?.isCompanyRuntime||z?.parentSessionId||z?.companyProfile)&&ss(Z,{runtimeControlState:"resuming",canStop:!1,canResume:!1}),t.current?.sessionResume(ct(),Z)},[hn.sessions,ss,ct]);j.useCallback((Z,z,ne)=>{const ae=ks(Z),he=ae==="org"?"custom":"corporate",je=Bo(ae,ne??Te);G(ae),P(he),je&&Pe(je),t.current?.setExecutionMode(ae,ae==="task"?void 0:he,X,je)},[J,X,Te]);const Os=q==="org",lh=q==="task"?"task":q==="org"?`company/${Te??"org"}`:`company/${J}`;return c.jsxs("div",{className:`app-shell theme-${C}`,children:[yn&&c.jsx("div",{className:`org-toast org-toast--${yn.kind}`,role:"status","aria-live":"polite",children:yn.text}),c.jsxs("header",{className:"topbar",children:[c.jsxs("div",{className:"topbar-left",children:[c.jsxs("span",{className:"logo-text",children:["Open",c.jsx("span",{className:"logo-accent",children:"OPC"})]}),c.jsx("div",{className:`conn-dot ${CJ(u)}`,title:`${u}${m?` โ€” ${m}`:""} +${r}`}),c.jsx(RV,{projects:Mr.projects,activeId:Mr.activeProjectId,onSelect:Z=>{const z=Rs(Z);t.current?.switchProject(Z,z)},onCreate:Z=>{t.current?.createProject(Z)},onDelete:Z=>t.current?.deleteProject(Z)})]}),c.jsxs("div",{className:"topbar-center",children:[c.jsxs("div",{className:"page-nav",children:[c.jsxs("button",{className:`page-nav-btn${$==="workspace"?" active":""}`,onClick:()=>W("workspace"),children:["Workspace",(()=>{const Z=Er.channels.reduce((z,ne)=>z+Er.getUnreadCount(ne.id),0);return Z>0?c.jsx("span",{className:"nav-unread-badge",children:Z>99?"99+":Z}):null})()]}),c.jsx("button",{className:`page-nav-btn${$==="office"?" active":""}`,onClick:()=>W("office"),children:"Office"}),c.jsx("button",{className:`page-nav-btn${$==="org"?" active":""}`,onClick:()=>W("org"),children:"Org"})]}),c.jsxs("div",{className:"stat-chips",children:[c.jsxs("span",{className:"stat-chip",children:[c.jsx("b",{children:oa.totalAgents})," agents"]}),c.jsxs("span",{className:"stat-chip",children:[c.jsx("b",{children:oa.totalSkills})," skills"]}),c.jsxs("span",{className:"stat-chip",children:[c.jsx("b",{children:Hn.getOpenTaskCount()})," tasks"]})]})]}),c.jsxs("div",{className:"topbar-right",children:[c.jsxs("select",{className:"theme-select",value:Ar,title:"Outdoor lighting override",onChange:Z=>{const z=Z.target.value;jr(z);try{z==="auto"?(localStorage.removeItem("opc_outdoor_override"),localStorage.removeItem("opc_outdoor_day"),localStorage.removeItem("opc_outdoor_night")):(localStorage.setItem("opc_outdoor_override",z),localStorage.removeItem("opc_outdoor_day"),localStorage.removeItem("opc_outdoor_night"))}catch{}e.current.syncOutdoorLighting()},children:[c.jsx("option",{value:"auto",children:"Outdoor auto"}),c.jsx("option",{value:"day",children:"Outdoor day"}),c.jsx("option",{value:"night",children:"Outdoor night"})]}),c.jsxs("select",{className:"theme-select",value:C,onChange:Z=>N(Z.target.value),children:[c.jsx("option",{value:"midnight",children:"Midnight"}),c.jsx("option",{value:"neon",children:"Neon"}),c.jsx("option",{value:"paper",children:"Paper"}),c.jsx("option",{value:"retro",children:"Retro"}),c.jsx("option",{value:"terminal",children:"Terminal"}),c.jsx("option",{value:"cozy",children:"Cozy"}),c.jsx("option",{value:"openopc",children:"OpenOPC"})]}),c.jsx("button",{className:`icon-btn ${H?"active":""}`,onClick:()=>V(Z=>!Z),title:"Developer Tools",children:c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:[c.jsx("path",{d:"M5.5 2L2 5.5 5.5 9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M10.5 7L14 10.5 10.5 14",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})})]})]}),$==="workspace"&&c.jsx(rV,{boardStore:Hn,chatStore:Er,sessionStore:hn,agents:B,officeMap:Si,execMode:q,companyProfile:J,taskPreferredAgent:X,projectId:Mr.activeProjectId,orgInfoData:te,onNavigateToOrg:()=>W("org"),savedOrgsList:nn,activeSavedOrg:Te,onSavedOrgsList:oi,onSavedOrgLoad:ns,recoveryStatus:oe,onRecoveryResume:Z=>t.current?.recoveryAction(ct(),"resume",Z),onRecoveryCancel:Z=>t.current?.recoveryAction(ct(),"cancel",Z),commsState:se,commsMessage:we,onCommsRefresh:Z=>{const{project_id:z,...ne}=Z??{};t.current?.commsState(ct(),ne)},onCommsReadMessage:Z=>t.current?.commsReadMessage(ct(),Z),onRunTask:(Z,z,ne,ae,he)=>{t.current?.send({type:"run_task",project_id:ct(),task_id:Z,title:z,description:ne,mode:ae,profile:he})},onCreateTask:(Z,z,ne,ae)=>{t.current?.send({type:"kanban_create_task",project_id:ct(),title:Z,board_id:z,column_id:ne,task_id:ae})},onMoveTask:(Z,z)=>{t.current?.send({type:"kanban_move_task",project_id:ct(),task_id:Z,column_id:z})},onCreateSession:()=>{if(vn.current||Tt.current)return;const Z=ct();Cn(Z),t.current?.createSession(Z,void 0,q,Cy(q),X,Bo(q,Te))},onSessionSend:(Z,z,ne,ae)=>t.current?.sessionSend(ct(),Z,z,ne,ae),onSecretarySend:Z=>t.current?.secretarySend(ct(),Z),onDeleteSession:Z=>t.current?.deleteSession(ct(),Z),onTitleChange:(Z,z)=>t.current?.sessionUpdateTitle(ct(),Z,z),onSessionConfigChange:Bl,onSessionTaskAgentChange:$l,onContinueInNewChat:_o,onSessionStop:Uu,onSessionResume:ah,onSessionComplete:Z=>t.current?.sessionComplete(ct(),Z),onLoadSessionDetail:(Z,z)=>t.current?.sessionDetail(ct(),Z,{...z,include:z?.detailLevel==="full"?["messages","session_state","progress","work_items","runtime_context"]:["messages","session_state"],viewGeneration:ve.current}),onOpenExecutionPanel:Z=>pt(Z),onCollabSync:()=>t.current?.collabSync(ct(),void 0,ve.current)}),$==="org"&&c.jsx("div",{className:"org-page",children:c.jsx(eJ,{data:te,sessionRecruitmentByRole:Hu,talents:Be,employeeDetail:qt,reorgProposals:vt,isCustomMode:Os,onRequestData:()=>t.current?.orgInfo(),onRequestTalents:()=>t.current?.talentList(),onRequestEmployeeDetail:Z=>t.current?.employeeDetail(Z),onHireTalent:(Z,z)=>{kn(Z),t.current?.talentHire(Z,z,void 0,te?.organization_id||Te||void 0)},hiringTemplateId:Dt,onImportEmployee:Z=>t.current?.importEmployeeAsAgent(Z),onRequestReorgList:()=>t.current?.reorgList(),onReorgDecide:(Z,z,ne)=>t.current?.reorgDecide(Z,z,ne),onMarketExport:Z=>t.current?.marketExport(Z),onMarketInstall:(Z,z)=>t.current?.marketInstall(Z,z),onMarketUninstall:Z=>t.current?.marketUninstall(Z),marketPresets:Oe,marketPreviewData:Qe,onMarketBrowse:()=>t.current?.marketBrowse(),onMarketPreview:Z=>t.current?.marketPreview(Z),onMarketApplyPreset:(Z,z)=>t.current?.marketApplyPreset(Z,z),onMarketClearPreview:()=>Je(null),onAddRole:(Z,z,ne,ae,he)=>t.current?.addRole(Z,z,ne,ae,he),onBulkAddRoles:Z=>t.current?.bulkAddRoles(Z),onUpdateRole:(Z,z)=>t.current?.updateRole(Z,z),onDeleteRole:Z=>t.current?.deleteRole(Z),onUpdateOrgStrategy:Z=>t.current?.updateOrgStrategy(Z),onUpdateRuntimePolicy:Z=>t.current?.updateRuntimePolicy(Z),onResetArchitecture:()=>t.current?.resetArchitecture(),onConfigExport:()=>t.current?.orgConfigExport(),onConfigImport:(Z,z)=>t.current?.orgConfigImport(Z,z),configExportYaml:fe,configImportPreview:Me,configImportError:$e,onSavedOrgsList:oi,onSavedOrgSaveAs:Dl,onSavedOrgCreate:Ol,onSavedOrgLoad:ns,onSavedOrgDelete:Ds,savedOrgsList:nn,activeSavedOrg:Te,activeSavedOrgVersionAtLoad:Ve,orgCreatePending:et,orgCreateResult:Tn,onSelectCorporate:Fu})}),$==="mapEditor"&&c.jsx("div",{className:"editor-page",children:c.jsx(GM,{bridge:e.current})}),c.jsxs("main",{className:`main-grid${$!=="office"?" hidden":""}${D?" sidebar-collapsed":""}`,children:[c.jsxs("section",{className:"canvas-wrap",children:[c.jsx(FM,{bridge:e.current,active:$==="office"}),c.jsx("button",{className:"canvas-float-btn",onClick:()=>I(Z=>!Z),title:O?"Hide sub-agents":"Show sub-agents",children:O?"๐Ÿ‘ฅ":"๐Ÿ‘ค"}),c.jsx("button",{className:"sidebar-collapse-btn",onClick:L,title:D?"Show side panel":"Hide side panel","aria-label":D?"Show side panel":"Hide side panel",children:c.jsx("span",{className:"collapse-glyph",children:D?"โฎ":"โฏ"})})]}),c.jsx("aside",{className:"sidebar",children:c.jsx("div",{className:"sidebar-body",children:c.jsxs("div",{className:"team-panel",children:[c.jsxs("div",{className:"mode-info-bar",children:[c.jsx("span",{className:"mode-badge",children:q==="company"?`${q}/${J}`:lh}),Os?c.jsxs("span",{className:"mode-hint",children:["Manage your team in the ",c.jsx("b",{children:"Org"})," tab"]}):c.jsxs("span",{className:"mode-hint",children:["Switch to ",c.jsx("b",{children:"Org"})," mode to create or manage agents"]})]}),c.jsxs("div",{className:"section-label",children:["Offices ",c.jsx("span",{className:"count-badge",children:zi.length})]}),c.jsx("div",{className:"office-cards",children:zi.map(Z=>{const z=Uj(Z.id).length,ne=ki.filter(he=>he.officeId===Z.id),ae=ki.filter(he=>he.officeId!==Z.id&&!he.isSubagent);return c.jsxs("div",{className:"office-card",onClick:()=>e.current.panToOffice(Z.id),children:[c.jsxs("div",{className:"office-card-header",children:[Ll===Z.id?c.jsx("input",{className:"office-name-input",value:ai,onChange:he=>aa(he.target.value),onBlur:()=>vo(Z.id),onKeyDown:he=>{he.key==="Enter"&&vo(Z.id),he.key==="Escape"&&rs(null)},autoFocus:!0,onClick:he=>he.stopPropagation()}):c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"office-name",children:Z.name}),c.jsx("button",{className:"office-edit-btn",title:"Rename",onClick:he=>{he.stopPropagation(),rs(Z.id),aa(Z.name)},children:"โœŽ"})]}),c.jsxs("span",{className:"office-capacity",children:[ne.length,"/",z]})]}),c.jsxs("div",{className:"office-agents",children:[ne.map(he=>c.jsx("span",{className:"office-agent-chip",title:`${he.displayName} โ€” ${he.seatId??"no seat"}`,onClick:je=>{je.stopPropagation(),Pl(he.id)},children:he.displayName.slice(0,8)},he.id)),Os&&ne.length0&&c.jsxs("select",{className:"assign-dropdown",value:"",onClick:he=>he.stopPropagation(),onChange:he=>{he.target.value&&zl(Z.id,he.target.value)},children:[c.jsx("option",{value:"",children:"+ Move here"}),ae.map(he=>c.jsxs("option",{value:he.id,children:[he.displayName," (",zi.find(je=>je.id===ki.find(Ke=>Ke.id===he.id)?.officeId)?.name??"?",")"]},he.id))]})]})]},Z.id)})}),c.jsxs("div",{className:"section-label",children:["Active Agents ",c.jsx("span",{className:"count-badge",children:B.length})]}),c.jsxs("div",{className:"agent-list",children:[B.map(Z=>c.jsxs("div",{className:`agent-row ${_===Z.agent_id?"selected":""}`,children:[c.jsxs("button",{className:"agent-row-main",onClick:()=>Pl(Z.agent_id),children:[c.jsx("span",{className:`dot ${Z.status}`}),c.jsxs("div",{className:"agent-info",children:[c.jsx("span",{className:"agent-name",children:Z.name}),c.jsx("span",{className:"agent-spec",children:Z.specialties.slice(0,2).join(" ยท ")||"general"})]})]}),Os&&(Pt===Z.agent_id?c.jsx("span",{className:"agent-del",style:{pointerEvents:"none"},children:c.jsx("span",{className:"spinner-inline"})}):cr===Z.agent_id?c.jsxs("span",{className:"del-confirm",children:[c.jsx("span",{className:"del-confirm-label",children:"Delete?"}),c.jsx("button",{className:"del-confirm-yes",onClick:()=>{Zn(Z.agent_id),mn(null),t.current?.deleteAgent(Z.agent_id)},children:"Yes"}),c.jsx("button",{className:"del-confirm-no",onClick:()=>mn(null),children:"No"})]}):c.jsx("button",{className:"agent-del",title:`Remove ${Z.name}`,onClick:()=>mn(Z.agent_id),children:"ร—"}))]},Z.agent_id)),B.length===0&&c.jsx("div",{className:"empty-state",children:"No agents yet โ€” click a template above to spawn one."})]}),Jn&&c.jsxs("div",{className:"agent-detail",children:[c.jsx("div",{className:"agent-detail-name",children:Jn.displayName}),c.jsxs("div",{className:"agent-detail-row",children:[c.jsx("span",{className:"detail-label",children:"State"}),c.jsx("span",{className:"detail-value",children:Jn.state})]}),c.jsxs("div",{className:"agent-detail-row",children:[c.jsx("span",{className:"detail-label",children:"Tool"}),c.jsx("span",{className:"detail-value",children:Jn.currentTool??"โ€”"})]}),c.jsxs("div",{className:"agent-detail-row",children:[c.jsx("span",{className:"detail-label",children:"Task"}),c.jsx("span",{className:"detail-value",children:Jn.taskSummary??"โ€”"})]}),c.jsxs("div",{className:"agent-detail-row",children:[c.jsx("span",{className:"detail-label",children:"Office"}),c.jsx("select",{className:"detail-select",value:Jn.officeId,onChange:Z=>{zl(Z.target.value,Jn.id)},disabled:!Os,children:zi.map(Z=>c.jsx("option",{value:Z.id,children:Z.name},Z.id))})]}),c.jsxs("div",{className:"agent-detail-row",children:[c.jsx("span",{className:"detail-label",children:"Seat"}),c.jsxs("select",{className:"detail-select",value:Jn.seatId??"",onChange:Z=>{Z.target.value&&la(Jn.id,Z.target.value)},disabled:!Os,children:[c.jsx("option",{value:"",children:"โ€”"}),Vu.map(Z=>{const z=Z.id.replace(/^office-\d+-/,"").replace("-"," ").replace(/\b\w/g,ae=>ae.toUpperCase()),ne=Z.assigned&&Z.assignedTo!==Jn.id;return c.jsxs("option",{value:Z.id,disabled:ne,children:[z,ne?` (${Z.assignedTo})`:Z.assignedTo===Jn.id?" โœ“":""]},Z.id)})]})]})]}),ki.length>B.length&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"section-label",children:["Characters",c.jsx("button",{className:"inline-btn",onClick:()=>I(Z=>!Z),children:O?"hide sub":"show sub"})]}),c.jsx("div",{className:"agent-list",children:ki.filter(Z=>!B.some(z=>z.agent_id===Z.id)).map(Z=>c.jsxs("button",{className:`agent-row-simple ${_===Z.id?"selected":""}`,onClick:()=>Pl(Z.id),children:[Z.isSubagent&&c.jsx("span",{className:"sub-badge",children:"SUB"}),c.jsx("span",{className:"agent-name",children:Z.displayName}),c.jsxs("span",{className:"agent-spec",children:[Z.state,Z.currentTool?` ยท ${Z.currentTool}`:""]})]},Z.id))})]})]})})})]}),H&&c.jsxs("div",{className:"dev-overlay",children:[c.jsxs("div",{className:"dev-header",children:[c.jsx("span",{className:"dev-title",children:"Developer Tools"}),c.jsx("button",{className:"icon-btn",onClick:()=>V(!1),children:"โœ•"})]}),c.jsxs("div",{className:"dev-group",children:[c.jsx("div",{className:"dev-label",children:"Connection"}),c.jsxs("div",{className:"input-row",children:[c.jsx("input",{value:o,onChange:Z=>a(Z.target.value),placeholder:"ws://..."}),c.jsx("button",{className:"send-btn",onClick:bo,children:"โ†ฉ"})]})]}),c.jsxs("div",{className:"dev-group",children:[c.jsx("div",{className:"dev-label",children:"Evolution Pipeline"}),c.jsx("div",{className:"evo-pipeline",children:["Trace","Reflect","Synthesize","Practice","Lifecycle"].map((Z,z)=>{const ne=Z.toLowerCase(),ae=ne in ur?ur[ne]:!1;return c.jsxs("div",{className:"evo-phase-group",children:[z>0&&c.jsx("div",{className:"evo-connector"}),c.jsxs("div",{className:`evo-node ${ae?"active":""}`,children:[c.jsx("div",{className:"evo-dot"}),c.jsx("span",{className:"evo-label",children:Z})]})]},Z)})}),c.jsx("div",{className:"list",children:(h?.skills.recent??[]).slice(-6).reverse().map((Z,z)=>c.jsxs("div",{className:"list-row",children:[c.jsx("span",{children:Z.skill_name}),c.jsx("span",{className:"muted mono",children:Z.version})]},`${Z.skill_name}-${Z.timestamp}-${z}`))})]}),c.jsxs("div",{className:"dev-group",children:[c.jsxs("div",{className:"dev-label",children:["Events",c.jsx("select",{className:"inline-select",value:A,onChange:Z=>M(Z.target.value),children:is.map(Z=>c.jsx("option",{value:Z,children:Z},Z))})]}),c.jsx("div",{className:"event-log",children:ca.slice(0,30).map(Z=>c.jsxs("div",{className:"log-row",children:[c.jsx("span",{className:"log-time",children:new Date(Z.timestamp*1e3).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}),c.jsx("span",{className:"log-type",children:Z.type}),c.jsx("span",{className:"log-agent",children:Z.agent_id}),c.jsx("span",{className:"log-data",children:jJ(Z.data)})]},Z.event_id))})]}),Object.keys(h?.channels??{}).length>0&&c.jsxs("div",{className:"dev-group",children:[c.jsx("div",{className:"dev-label",children:"Channels"}),Object.entries(h?.channels??{}).map(([Z,z])=>c.jsxs("div",{className:"list-row",children:[c.jsx("span",{children:Z}),c.jsx("span",{className:"muted",children:String(z.last_type??"idle")})]},Z))]})]}),nr&&c.jsx("div",{className:We==="error"?"toast-error":"toast-success",children:nr}),c.jsx(DJ,{taskId:wn,sessions:hn.sessions,agents:B,onClose:()=>pt(null)})]})}class LJ extends St.Component{constructor(){super(...arguments),this.state={error:null,info:""}}static getDerivedStateFromError(t){return{error:t}}componentDidCatch(t,n){console.error("[ErrorBoundary] React crashed:",t,n),this.setState({info:n.componentStack??""})}render(){return this.state.error?c.jsxs("div",{style:{padding:32,color:"#ff6b6b",background:"#1a1a2e",minHeight:"100vh",fontFamily:"monospace"},children:[c.jsx("h2",{children:"UI Error โ€” React crashed"}),c.jsx("pre",{style:{whiteSpace:"pre-wrap",fontSize:13},children:this.state.error.message}),c.jsxs("details",{open:!0,style:{marginTop:12,fontSize:12,color:"#ccc"},children:[c.jsx("summary",{children:"Stack trace"}),c.jsx("pre",{style:{whiteSpace:"pre-wrap"},children:this.state.error.stack})]}),this.state.info&&c.jsxs("details",{style:{marginTop:12,fontSize:12,color:"#888"},children:[c.jsx("summary",{children:"Component stack"}),c.jsx("pre",{style:{whiteSpace:"pre-wrap"},children:this.state.info})]}),c.jsx("button",{onClick:()=>{this.setState({error:null,info:""})},style:{marginTop:16,padding:"8px 16px",background:"#6366f1",color:"#fff",border:"none",borderRadius:6,cursor:"pointer"},children:"Try to recover"})]}):this.props.children}}window.addEventListener("error",e=>{console.error("[Global] Uncaught error:",e.error??e.message)});window.addEventListener("unhandledrejection",e=>{console.error("[Global] Unhandled promise rejection:",e.reason)});const j0=document.getElementById("root");if(!j0)throw document.body.innerHTML='

Root element not found

',new Error("Root element #root not found");try{H3.createRoot(j0).render(c.jsx(LJ,{children:c.jsx(OJ,{})}))}catch(e){console.error("React render error:",e),j0.innerHTML=`

React Error: ${e}

`} diff --git a/opc/plugins/office_ui/frontend_dist/assets/index-cOg8E2rt.js b/opc/plugins/office_ui/frontend_dist/assets/index-cOg8E2rt.js deleted file mode 100644 index 9161019..0000000 --- a/opc/plugins/office_ui/frontend_dist/assets/index-cOg8E2rt.js +++ /dev/null @@ -1,155 +0,0 @@ -import{g as ta,r as A3}from"./phaser-DFK5Ua9d.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&i(a)}).observe(document,{childList:!0,subtree:!0});function n(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerPolicy&&(o.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?o.credentials="include":r.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function i(r){if(r.ep)return;r.ep=!0;const o=n(r);fetch(r.href,o)}})();var ig={exports:{}},Cc={};var hk;function M3(){if(hk)return Cc;hk=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(i,r,o){var a=null;if(o!==void 0&&(a=""+o),r.key!==void 0&&(a=""+r.key),"key"in r){o={};for(var u in r)u!=="key"&&(o[u]=r[u])}else o=r;return r=o.ref,{$$typeof:e,type:i,key:a,ref:r!==void 0?r:null,props:o}}return Cc.Fragment=t,Cc.jsx=n,Cc.jsxs=n,Cc}var gk;function D3(){return gk||(gk=1,ig.exports=M3()),ig.exports}var c=D3(),rg={exports:{}},xt={};var xk;function O3(){if(xk)return xt;xk=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),o=Symbol.for("react.consumer"),a=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),m=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),g=Symbol.iterator;function y(G){return G===null||typeof G!="object"?null:(G=g&&G[g]||G["@@iterator"],typeof G=="function"?G:null)}var v={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},k=Object.assign,S={};function _(G,J,P){this.props=G,this.context=J,this.refs=S,this.updater=P||v}_.prototype.isReactComponent={},_.prototype.setState=function(G,J){if(typeof G!="object"&&typeof G!="function"&&G!=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,G,J,"setState")},_.prototype.forceUpdate=function(G){this.updater.enqueueForceUpdate(this,G,"forceUpdate")};function w(){}w.prototype=_.prototype;function C(G,J,P){this.props=G,this.context=J,this.refs=S,this.updater=P||v}var N=C.prototype=new w;N.constructor=C,k(N,_.prototype),N.isPureReactComponent=!0;var O=Array.isArray;function I(){}var D={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function L(G,J,P){var K=P.ref;return{$$typeof:e,type:G,key:J,ref:K!==void 0?K:null,props:P}}function A(G,J){return L(G.type,J,G.props)}function M(G){return typeof G=="object"&&G!==null&&G.$$typeof===e}function $(G){var J={"=":"=0",":":"=2"};return"$"+G.replace(/[=:]/g,function(P){return J[P]})}var W=/\/+/g;function B(G,J){return typeof G=="object"&&G!==null&&G.key!=null?$(""+G.key):J.toString(36)}function U(G){switch(G.status){case"fulfilled":return G.value;case"rejected":throw G.reason;default:switch(typeof G.status=="string"?G.then(I,I):(G.status="pending",G.then(function(J){G.status==="pending"&&(G.status="fulfilled",G.value=J)},function(J){G.status==="pending"&&(G.status="rejected",G.reason=J)})),G.status){case"fulfilled":return G.value;case"rejected":throw G.reason}}throw G}function F(G,J,P,K,ee){var te=typeof G;(te==="undefined"||te==="boolean")&&(G=null);var ie=!1;if(G===null)ie=!0;else switch(te){case"bigint":case"string":case"number":ie=!0;break;case"object":switch(G.$$typeof){case e:case t:ie=!0;break;case h:return ie=G._init,F(ie(G._payload),J,P,K,ee)}}if(ie)return ee=ee(G),ie=K===""?"."+B(G,0):K,O(ee)?(P="",ie!=null&&(P=ie.replace(W,"$&/")+"/"),F(ee,J,P,"",function(se){return se})):ee!=null&&(M(ee)&&(ee=A(ee,P+(ee.key==null||G&&G.key===ee.key?"":(""+ee.key).replace(W,"$&/")+"/")+ie)),J.push(ee)),1;ie=0;var oe=K===""?".":K+":";if(O(G))for(var fe=0;fe>>1,q=F[Q];if(0>>1;Qr(P,Y))Kr(ee,P)?(F[Q]=ee,F[K]=Y,Q=K):(F[Q]=P,F[J]=Y,Q=J);else if(Kr(ee,Y))F[Q]=ee,F[K]=Y,Q=K;else break e}}return V}function r(F,V){var Y=F.sortIndex-V.sortIndex;return Y!==0?Y:F.id-V.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var a=Date,u=a.now();e.unstable_now=function(){return a.now()-u}}var d=[],m=[],h=1,p=null,g=3,y=!1,v=!1,k=!1,S=!1,_=typeof setTimeout=="function"?setTimeout:null,w=typeof clearTimeout=="function"?clearTimeout:null,C=typeof setImmediate<"u"?setImmediate:null;function N(F){for(var V=n(m);V!==null;){if(V.callback===null)i(m);else if(V.startTime<=F)i(m),V.sortIndex=V.expirationTime,t(d,V);else break;V=n(m)}}function O(F){if(k=!1,N(F),!v)if(n(d)!==null)v=!0,I||(I=!0,$());else{var V=n(m);V!==null&&U(O,V.startTime-F)}}var I=!1,D=-1,T=5,L=-1;function A(){return S?!0:!(e.unstable_now()-LF&&A());){var Q=p.callback;if(typeof Q=="function"){p.callback=null,g=p.priorityLevel;var q=Q(p.expirationTime<=F);if(F=e.unstable_now(),typeof q=="function"){p.callback=q,N(F),V=!0;break t}p===n(d)&&i(d),N(F)}else i(d);p=n(d)}if(p!==null)V=!0;else{var G=n(m);G!==null&&U(O,G.startTime-F),V=!1}}break e}finally{p=null,g=Y,y=!1}V=void 0}}finally{V?$():I=!1}}}var $;if(typeof C=="function")$=function(){C(M)};else if(typeof MessageChannel<"u"){var W=new MessageChannel,B=W.port2;W.port1.onmessage=M,$=function(){B.postMessage(null)}}else $=function(){_(M,0)};function U(F,V){D=_(function(){F(e.unstable_now())},V)}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(F){F.callback=null},e.unstable_forceFrameRate=function(F){0>F||125Q?(F.sortIndex=Y,t(m,F),n(d)===null&&F===n(m)&&(k?(w(D),D=-1):k=!0,U(O,Y-Q))):(F.sortIndex=q,t(d,F),v||y||(v=!0,I||(I=!0,$()))),F},e.unstable_shouldYield=A,e.unstable_wrapCallback=function(F){var V=g;return function(){var Y=g;g=V;try{return F.apply(this,arguments)}finally{g=Y}}}})(ag)),ag}var bk;function z3(){return bk||(bk=1,og.exports=L3()),og.exports}var lg={exports:{}},gi={};var _k;function P3(){if(_k)return gi;_k=1;var e=El();function t(d){var m="https://react.dev/errors/"+d;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),lg.exports=P3(),lg.exports}var Sk;function B3(){if(Sk)return jc;Sk=1;var e=z3(),t=El(),n=Mj();function i(s){var l="https://react.dev/errors/"+s;if(1q||(s.current=Q[q],Q[q]=null,q--)}function P(s,l){q++,Q[q]=s.current,s.current=l}var K=G(null),ee=G(null),te=G(null),ie=G(null);function oe(s,l){switch(P(te,l),P(ee,s),P(K,null),l.nodeType){case 9:case 11:s=(s=l.documentElement)&&(s=s.namespaceURI)?P_(s):0;break;default:if(s=l.tagName,l=l.namespaceURI)l=P_(l),s=B_(l,s);else switch(s){case"svg":s=1;break;case"math":s=2;break;default:s=0}}J(K),P(K,s)}function fe(){J(K),J(ee),J(te)}function se(s){s.memoizedState!==null&&P(ie,s);var l=K.current,f=B_(l,s.type);l!==f&&(P(ee,s),P(K,f))}function _e(s){ee.current===s&&(J(K),J(ee)),ie.current===s&&(J(ie),_c._currentValue=Y)}var we,Ce;function Be(s){if(we===void 0)try{throw Error()}catch(f){var l=f.stack.trim().match(/\n( *(at )?)/);we=l&&l[1]||"",Ce=-1)":-1b||re[x]!==ge[b]){var ke=` -`+re[x].replace(" at new "," at ");return s.displayName&&ke.includes("")&&(ke=ke.replace("",s.displayName)),ke}while(1<=x&&0<=b);break}}}finally{Ve=!1,Error.prepareStackTrace=f}return(f=s?s.displayName||s.name:"")?Be(f):""}function ht(s,l){switch(s.tag){case 26:case 27:case 5:return Be(s.type);case 16:return Be("Lazy");case 13:return s.child!==l&&l!==null?Be("Suspense Fallback"):Be("Suspense");case 19:return Be("SuspenseList");case 0:case 15:return Ye(s.type,!1);case 11:return Ye(s.type.render,!1);case 1:return Ye(s.type,!0);case 31:return Be("Activity");default:return""}}function zt(s){try{var l="",f=null;do l+=ht(s,f),f=s,s=s.return;while(s);return l}catch(x){return` -Error generating stack: `+x.message+` -`+x.stack}}var bt=Object.prototype.hasOwnProperty,Nt=e.unstable_scheduleCallback,me=e.unstable_cancelCallback,ze=e.unstable_shouldYield,lt=e.unstable_requestPaint,tt=e.unstable_now,qe=e.unstable_getCurrentPriorityLevel,ce=e.unstable_ImmediatePriority,ve=e.unstable_UserBlockingPriority,Ae=e.unstable_NormalPriority,$e=e.unstable_LowPriority,He=e.unstable_IdlePriority,Kt=e.log,Yt=e.unstable_setDisableYieldValue,be=null,Re=null;function Ue(s){if(typeof Kt=="function"&&Yt(s),Re&&typeof Re.setStrictMode=="function")try{Re.setStrictMode(be,s)}catch{}}var Xe=Math.clz32?Math.clz32:qn,Ge=Math.log,Je=Math.LN2;function qn(s){return s>>>=0,s===0?32:31-(Ge(s)/Je|0)|0}var In=256,Dn=262144,Ie=4194304;function Te(s){var l=s&42;if(l!==0)return l;switch(s&-s){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 s&261888;case 262144:case 524288:case 1048576:case 2097152:return s&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return s&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return s}}function Ke(s,l,f){var x=s.pendingLanes;if(x===0)return 0;var b=0,j=s.suspendedLanes,H=s.pingedLanes;s=s.warmLanes;var X=x&134217727;return X!==0?(x=X&~j,x!==0?b=Te(x):(H&=X,H!==0?b=Te(H):f||(f=X&~s,f!==0&&(b=Te(f))))):(X=x&~j,X!==0?b=Te(X):H!==0?b=Te(H):f||(f=x&~s,f!==0&&(b=Te(f)))),b===0?0:l!==0&&l!==b&&(l&j)===0&&(j=b&-b,f=l&-l,j>=f||j===32&&(f&4194048)!==0)?l:b}function We(s,l){return(s.pendingLanes&~(s.suspendedLanes&~s.pingedLanes)&l)===0}function gt(s,l){switch(s){case 1:case 2:case 4:case 8:case 64:return l+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 l+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 Oe(){var s=Ie;return Ie<<=1,(Ie&62914560)===0&&(Ie=4194304),s}function nt(s){for(var l=[],f=0;31>f;f++)l.push(s);return l}function on(s,l){s.pendingLanes|=l,l!==268435456&&(s.suspendedLanes=0,s.pingedLanes=0,s.warmLanes=0)}function Zt(s,l,f,x,b,j){var H=s.pendingLanes;s.pendingLanes=f,s.suspendedLanes=0,s.pingedLanes=0,s.warmLanes=0,s.expiredLanes&=f,s.entangledLanes&=f,s.errorRecoveryDisabledLanes&=f,s.shellSuspendCounter=0;var X=s.entanglements,re=s.expirationTimes,ge=s.hiddenUpdates;for(f=H&~f;0"u")return null;try{return s.activeElement||s.body}catch{return s.body}}var hi=/[\n"\\]/g;function bn(s){return s.replace(hi,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function Ln(s,l,f,x,b,j,H,X){s.name="",H!=null&&typeof H!="function"&&typeof H!="symbol"&&typeof H!="boolean"?s.type=H:s.removeAttribute("type"),l!=null?H==="number"?(l===0&&s.value===""||s.value!=l)&&(s.value=""+de(l)):s.value!==""+de(l)&&(s.value=""+de(l)):H!=="submit"&&H!=="reset"||s.removeAttribute("value"),l!=null?fn(s,H,de(l)):f!=null?fn(s,H,de(f)):x!=null&&s.removeAttribute("value"),b==null&&j!=null&&(s.defaultChecked=!!j),b!=null&&(s.checked=b&&typeof b!="function"&&typeof b!="symbol"),X!=null&&typeof X!="function"&&typeof X!="symbol"&&typeof X!="boolean"?s.name=""+de(X):s.removeAttribute("name")}function Si(s,l,f,x,b,j,H,X){if(j!=null&&typeof j!="function"&&typeof j!="symbol"&&typeof j!="boolean"&&(s.type=j),l!=null||f!=null){if(!(j!=="submit"&&j!=="reset"||l!=null)){ft(s);return}f=f!=null?""+de(f):"",l=l!=null?""+de(l):f,X||l===s.value||(s.value=l),s.defaultValue=l}x=x??b,x=typeof x!="function"&&typeof x!="symbol"&&!!x,s.checked=X?s.checked:!!x,s.defaultChecked=!!x,H!=null&&typeof H!="function"&&typeof H!="symbol"&&typeof H!="boolean"&&(s.name=H),ft(s)}function fn(s,l,f){l==="number"&&Nn(s.ownerDocument)===s||s.defaultValue===""+f||(s.defaultValue=""+f)}function Ri(s,l,f,x){if(s=s.options,l){l={};for(var b=0;b"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ll=!1;if(kr)try{var is={};Object.defineProperty(is,"passive",{get:function(){Ll=!0}}),window.addEventListener("test",is,is),window.removeEventListener("test",is,is)}catch{Ll=!1}var or=null,aa=null,yo=null;function zl(){if(yo)return yo;var s,l=aa,f=l.length,x,b="value"in or?or.value:or.textContent,j=b.length;for(s=0;s=Fl),Gv=" ",qv=!1;function Wv(s,l){switch(s){case"keyup":return eA.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Yv(s){return s=s.detail,typeof s=="object"&&"data"in s?s.data:null}var fa=!1;function nA(s,l){switch(s){case"compositionend":return Yv(l);case"keypress":return l.which!==32?null:(qv=!0,Gv);case"textInput":return s=l.data,s===Gv&&qv?null:s;default:return null}}function iA(s,l){if(fa)return s==="compositionend"||!cp&&Wv(s,l)?(s=zl(),yo=aa=or=null,fa=!1,s):null;switch(s){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1=l)return{node:f,offset:l-s};s=x}e:{for(;f;){if(f.nextSibling){f=f.nextSibling;break e}f=f.parentNode}f=void 0}f=nb(f)}}function rb(s,l){return s&&l?s===l?!0:s&&s.nodeType===3?!1:l&&l.nodeType===3?rb(s,l.parentNode):"contains"in s?s.contains(l):s.compareDocumentPosition?!!(s.compareDocumentPosition(l)&16):!1:!1}function sb(s){s=s!=null&&s.ownerDocument!=null&&s.ownerDocument.defaultView!=null?s.ownerDocument.defaultView:window;for(var l=Nn(s.document);l instanceof s.HTMLIFrameElement;){try{var f=typeof l.contentWindow.location.href=="string"}catch{f=!1}if(f)s=l.contentWindow;else break;l=Nn(s.document)}return l}function fp(s){var l=s&&s.nodeName&&s.nodeName.toLowerCase();return l&&(l==="input"&&(s.type==="text"||s.type==="search"||s.type==="tel"||s.type==="url"||s.type==="password")||l==="textarea"||s.contentEditable==="true")}var dA=kr&&"documentMode"in document&&11>=document.documentMode,ma=null,mp=null,ql=null,pp=!1;function ob(s,l,f){var x=f.window===f?f.document:f.nodeType===9?f:f.ownerDocument;pp||ma==null||ma!==Nn(x)||(x=ma,"selectionStart"in x&&fp(x)?x={start:x.selectionStart,end:x.selectionEnd}:(x=(x.ownerDocument&&x.ownerDocument.defaultView||window).getSelection(),x={anchorNode:x.anchorNode,anchorOffset:x.anchorOffset,focusNode:x.focusNode,focusOffset:x.focusOffset}),ql&&Gl(ql,x)||(ql=x,x=Dd(mp,"onSelect"),0>=H,b-=H,zr=1<<32-Xe(l)+b|f<wt?(Lt=et,et=null):Lt=et.sibling;var Wt=xe(ue,et,he[wt],Ee);if(Wt===null){et===null&&(et=Lt);break}s&&et&&Wt.alternate===null&&l(ue,et),le=j(Wt,le,wt),qt===null?ot=Wt:qt.sibling=Wt,qt=Wt,et=Lt}if(wt===he.length)return f(ue,et),Bt&&as(ue,wt),ot;if(et===null){for(;wtwt?(Lt=et,et=null):Lt=et.sibling;var io=xe(ue,et,Wt.value,Ee);if(io===null){et===null&&(et=Lt);break}s&&et&&io.alternate===null&&l(ue,et),le=j(io,le,wt),qt===null?ot=io:qt.sibling=io,qt=io,et=Lt}if(Wt.done)return f(ue,et),Bt&&as(ue,wt),ot;if(et===null){for(;!Wt.done;wt++,Wt=he.next())Wt=Ne(ue,Wt.value,Ee),Wt!==null&&(le=j(Wt,le,wt),qt===null?ot=Wt:qt.sibling=Wt,qt=Wt);return Bt&&as(ue,wt),ot}for(et=x(et);!Wt.done;wt++,Wt=he.next())Wt=ye(et,ue,wt,Wt.value,Ee),Wt!==null&&(s&&Wt.alternate!==null&&et.delete(Wt.key===null?wt:Wt.key),le=j(Wt,le,wt),qt===null?ot=Wt:qt.sibling=Wt,qt=Wt);return s&&et.forEach(function(R3){return l(ue,R3)}),Bt&&as(ue,wt),ot}function un(ue,le,he,Ee){if(typeof he=="object"&&he!==null&&he.type===k&&he.key===null&&(he=he.props.children),typeof he=="object"&&he!==null){switch(he.$$typeof){case y:e:{for(var ot=he.key;le!==null;){if(le.key===ot){if(ot=he.type,ot===k){if(le.tag===7){f(ue,le.sibling),Ee=b(le,he.props.children),Ee.return=ue,ue=Ee;break e}}else if(le.elementType===ot||typeof ot=="object"&&ot!==null&&ot.$$typeof===T&&Io(ot)===le.type){f(ue,le.sibling),Ee=b(le,he.props),Ql(Ee,he),Ee.return=ue,ue=Ee;break e}f(ue,le);break}else l(ue,le);le=le.sibling}he.type===k?(Ee=wo(he.props.children,ue.mode,Ee,he.key),Ee.return=ue,ue=Ee):(Ee=Zu(he.type,he.key,he.props,null,ue.mode,Ee),Ql(Ee,he),Ee.return=ue,ue=Ee)}return H(ue);case v:e:{for(ot=he.key;le!==null;){if(le.key===ot)if(le.tag===4&&le.stateNode.containerInfo===he.containerInfo&&le.stateNode.implementation===he.implementation){f(ue,le.sibling),Ee=b(le,he.children||[]),Ee.return=ue,ue=Ee;break e}else{f(ue,le);break}else l(ue,le);le=le.sibling}Ee=_p(he,ue.mode,Ee),Ee.return=ue,ue=Ee}return H(ue);case T:return he=Io(he),un(ue,le,he,Ee)}if(U(he))return Qe(ue,le,he,Ee);if($(he)){if(ot=$(he),typeof ot!="function")throw Error(i(150));return he=ot.call(he),ut(ue,le,he,Ee)}if(typeof he.then=="function")return un(ue,le,rd(he),Ee);if(he.$$typeof===C)return un(ue,le,ed(ue,he),Ee);sd(ue,he)}return typeof he=="string"&&he!==""||typeof he=="number"||typeof he=="bigint"?(he=""+he,le!==null&&le.tag===6?(f(ue,le.sibling),Ee=b(le,he),Ee.return=ue,ue=Ee):(f(ue,le),Ee=bp(he,ue.mode,Ee),Ee.return=ue,ue=Ee),H(ue)):f(ue,le)}return function(ue,le,he,Ee){try{Zl=0;var ot=un(ue,le,he,Ee);return wa=null,ot}catch(et){if(et===Sa||et===nd)throw et;var qt=Vi(29,et,null,ue.mode);return qt.lanes=Ee,qt.return=ue,qt}}}var Ro=Ib(!0),Tb=Ib(!1),$s=!1;function Mp(s){s.updateQueue={baseState:s.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Dp(s,l){s=s.updateQueue,l.updateQueue===s&&(l.updateQueue={baseState:s.baseState,firstBaseUpdate:s.firstBaseUpdate,lastBaseUpdate:s.lastBaseUpdate,shared:s.shared,callbacks:null})}function Hs(s){return{lane:s,tag:0,payload:null,callback:null,next:null}}function Fs(s,l,f){var x=s.updateQueue;if(x===null)return null;if(x=x.shared,(Xt&2)!==0){var b=x.pending;return b===null?l.next=l:(l.next=b.next,b.next=l),x.pending=l,l=Ku(s),mb(s,null,f),l}return Xu(s,x,l,f),Ku(s)}function Jl(s,l,f){if(l=l.updateQueue,l!==null&&(l=l.shared,(f&4194048)!==0)){var x=l.lanes;x&=s.pendingLanes,f|=x,l.lanes=f,Qt(s,f)}}function Op(s,l){var f=s.updateQueue,x=s.alternate;if(x!==null&&(x=x.updateQueue,f===x)){var b=null,j=null;if(f=f.firstBaseUpdate,f!==null){do{var H={lane:f.lane,tag:f.tag,payload:f.payload,callback:null,next:null};j===null?b=j=H:j=j.next=H,f=f.next}while(f!==null);j===null?b=j=l:j=j.next=l}else b=j=l;f={baseState:x.baseState,firstBaseUpdate:b,lastBaseUpdate:j,shared:x.shared,callbacks:x.callbacks},s.updateQueue=f;return}s=f.lastBaseUpdate,s===null?f.firstBaseUpdate=l:s.next=l,f.lastBaseUpdate=l}var Lp=!1;function ec(){if(Lp){var s=ka;if(s!==null)throw s}}function tc(s,l,f,x){Lp=!1;var b=s.updateQueue;$s=!1;var j=b.firstBaseUpdate,H=b.lastBaseUpdate,X=b.shared.pending;if(X!==null){b.shared.pending=null;var re=X,ge=re.next;re.next=null,H===null?j=ge:H.next=ge,H=re;var ke=s.alternate;ke!==null&&(ke=ke.updateQueue,X=ke.lastBaseUpdate,X!==H&&(X===null?ke.firstBaseUpdate=ge:X.next=ge,ke.lastBaseUpdate=re))}if(j!==null){var Ne=b.baseState;H=0,ke=ge=re=null,X=j;do{var xe=X.lane&-536870913,ye=xe!==X.lane;if(ye?(Ot&xe)===xe:(x&xe)===xe){xe!==0&&xe===_a&&(Lp=!0),ke!==null&&(ke=ke.next={lane:0,tag:X.tag,payload:X.payload,callback:null,next:null});e:{var Qe=s,ut=X;xe=l;var un=f;switch(ut.tag){case 1:if(Qe=ut.payload,typeof Qe=="function"){Ne=Qe.call(un,Ne,xe);break e}Ne=Qe;break e;case 3:Qe.flags=Qe.flags&-65537|128;case 0:if(Qe=ut.payload,xe=typeof Qe=="function"?Qe.call(un,Ne,xe):Qe,xe==null)break e;Ne=p({},Ne,xe);break e;case 2:$s=!0}}xe=X.callback,xe!==null&&(s.flags|=64,ye&&(s.flags|=8192),ye=b.callbacks,ye===null?b.callbacks=[xe]:ye.push(xe))}else ye={lane:xe,tag:X.tag,payload:X.payload,callback:X.callback,next:null},ke===null?(ge=ke=ye,re=Ne):ke=ke.next=ye,H|=xe;if(X=X.next,X===null){if(X=b.shared.pending,X===null)break;ye=X,X=ye.next,ye.next=null,b.lastBaseUpdate=ye,b.shared.pending=null}}while(!0);ke===null&&(re=Ne),b.baseState=re,b.firstBaseUpdate=ge,b.lastBaseUpdate=ke,j===null&&(b.shared.lanes=0),Ws|=H,s.lanes=H,s.memoizedState=Ne}}function Rb(s,l){if(typeof s!="function")throw Error(i(191,s));s.call(l)}function Ab(s,l){var f=s.callbacks;if(f!==null)for(s.callbacks=null,s=0;sj?j:8;var H=F.T,X={};F.T=X,th(s,!1,l,f);try{var re=b(),ge=F.S;if(ge!==null&&ge(X,re),re!==null&&typeof re=="object"&&typeof re.then=="function"){var ke=bA(re,x);rc(s,l,ke,Yi(s))}else rc(s,l,x,Yi(s))}catch(Ne){rc(s,l,{then:function(){},status:"rejected",reason:Ne},Yi())}finally{V.p=j,H!==null&&X.types!==null&&(H.types=X.types),F.T=H}}function jA(){}function Jp(s,l,f,x){if(s.tag!==5)throw Error(i(476));var b=u1(s).queue;c1(s,b,l,Y,f===null?jA:function(){return d1(s),f(x)})}function u1(s){var l=s.memoizedState;if(l!==null)return l;l={memoizedState:Y,baseState:Y,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ds,lastRenderedState:Y},next:null};var f={};return l.next={memoizedState:f,baseState:f,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ds,lastRenderedState:f},next:null},s.memoizedState=l,s=s.alternate,s!==null&&(s.memoizedState=l),l}function d1(s){var l=u1(s);l.next===null&&(l=s.alternate.memoizedState),rc(s,l.next.queue,{},Yi())}function eh(){return ci(_c)}function f1(){return Pn().memoizedState}function m1(){return Pn().memoizedState}function EA(s){for(var l=s.return;l!==null;){switch(l.tag){case 24:case 3:var f=Yi();s=Hs(f);var x=Fs(l,s,f);x!==null&&(Li(x,l,f),Jl(x,l,f)),l={cache:Ip()},s.payload=l;return}l=l.return}}function NA(s,l,f){var x=Yi();f={lane:x,revertLane:0,gesture:null,action:f,hasEagerState:!1,eagerState:null,next:null},hd(s)?h1(l,f):(f=yp(s,l,f,x),f!==null&&(Li(f,s,x),g1(f,l,x)))}function p1(s,l,f){var x=Yi();rc(s,l,f,x)}function rc(s,l,f,x){var b={lane:x,revertLane:0,gesture:null,action:f,hasEagerState:!1,eagerState:null,next:null};if(hd(s))h1(l,b);else{var j=s.alternate;if(s.lanes===0&&(j===null||j.lanes===0)&&(j=l.lastRenderedReducer,j!==null))try{var H=l.lastRenderedState,X=j(H,f);if(b.hasEagerState=!0,b.eagerState=X,Fi(X,H))return Xu(s,l,b,0),mn===null&&Yu(),!1}catch{}if(f=yp(s,l,b,x),f!==null)return Li(f,s,x),g1(f,l,x),!0}return!1}function th(s,l,f,x){if(x={lane:2,revertLane:Mh(),gesture:null,action:x,hasEagerState:!1,eagerState:null,next:null},hd(s)){if(l)throw Error(i(479))}else l=yp(s,f,x,2),l!==null&&Li(l,s,2)}function hd(s){var l=s.alternate;return s===kt||l!==null&&l===kt}function h1(s,l){ja=ld=!0;var f=s.pending;f===null?l.next=l:(l.next=f.next,f.next=l),s.pending=l}function g1(s,l,f){if((f&4194048)!==0){var x=l.lanes;x&=s.pendingLanes,f|=x,l.lanes=f,Qt(s,f)}}var sc={readContext:ci,use:dd,useCallback:Tn,useContext:Tn,useEffect:Tn,useImperativeHandle:Tn,useLayoutEffect:Tn,useInsertionEffect:Tn,useMemo:Tn,useReducer:Tn,useRef:Tn,useState:Tn,useDebugValue:Tn,useDeferredValue:Tn,useTransition:Tn,useSyncExternalStore:Tn,useId:Tn,useHostTransitionStatus:Tn,useFormState:Tn,useActionState:Tn,useOptimistic:Tn,useMemoCache:Tn,useCacheRefresh:Tn};sc.useEffectEvent=Tn;var x1={readContext:ci,use:dd,useCallback:function(s,l){return wi().memoizedState=[s,l===void 0?null:l],s},useContext:ci,useEffect:e1,useImperativeHandle:function(s,l,f){f=f!=null?f.concat([s]):null,md(4194308,4,r1.bind(null,l,s),f)},useLayoutEffect:function(s,l){return md(4194308,4,s,l)},useInsertionEffect:function(s,l){md(4,2,s,l)},useMemo:function(s,l){var f=wi();l=l===void 0?null:l;var x=s();if(Ao){Ue(!0);try{s()}finally{Ue(!1)}}return f.memoizedState=[x,l],x},useReducer:function(s,l,f){var x=wi();if(f!==void 0){var b=f(l);if(Ao){Ue(!0);try{f(l)}finally{Ue(!1)}}}else b=l;return x.memoizedState=x.baseState=b,s={pending:null,lanes:0,dispatch:null,lastRenderedReducer:s,lastRenderedState:b},x.queue=s,s=s.dispatch=NA.bind(null,kt,s),[x.memoizedState,s]},useRef:function(s){var l=wi();return s={current:s},l.memoizedState=s},useState:function(s){s=Yp(s);var l=s.queue,f=p1.bind(null,kt,l);return l.dispatch=f,[s.memoizedState,f]},useDebugValue:Zp,useDeferredValue:function(s,l){var f=wi();return Qp(f,s,l)},useTransition:function(){var s=Yp(!1);return s=c1.bind(null,kt,s.queue,!0,!1),wi().memoizedState=s,[!1,s]},useSyncExternalStore:function(s,l,f){var x=kt,b=wi();if(Bt){if(f===void 0)throw Error(i(407));f=f()}else{if(f=l(),mn===null)throw Error(i(349));(Ot&127)!==0||Pb(x,l,f)}b.memoizedState=f;var j={value:f,getSnapshot:l};return b.queue=j,e1($b.bind(null,x,j,s),[s]),x.flags|=2048,Na(9,{destroy:void 0},Bb.bind(null,x,j,f,l),null),f},useId:function(){var s=wi(),l=mn.identifierPrefix;if(Bt){var f=Pr,x=zr;f=(x&~(1<<32-Xe(x)-1)).toString(32)+f,l="_"+l+"R_"+f,f=cd++,0<\/script>",j=j.removeChild(j.firstChild);break;case"select":j=typeof x.is=="string"?H.createElement("select",{is:x.is}):H.createElement("select"),x.multiple?j.multiple=!0:x.size&&(j.size=x.size);break;default:j=typeof x.is=="string"?H.createElement(b,{is:x.is}):H.createElement(b)}}j[jt]=l,j[yt]=x;e:for(H=l.child;H!==null;){if(H.tag===5||H.tag===6)j.appendChild(H.stateNode);else if(H.tag!==4&&H.tag!==27&&H.child!==null){H.child.return=H,H=H.child;continue}if(H===l)break e;for(;H.sibling===null;){if(H.return===null||H.return===l)break e;H=H.return}H.sibling.return=H.return,H=H.sibling}l.stateNode=j;e:switch(di(j,b,x),b){case"button":case"input":case"select":case"textarea":x=!!x.autoFocus;break e;case"img":x=!0;break e;default:x=!1}x&&ms(l)}}return vn(l),hh(l,l.type,s===null?null:s.memoizedProps,l.pendingProps,f),null;case 6:if(s&&l.stateNode!=null)s.memoizedProps!==x&&ms(l);else{if(typeof x!="string"&&l.stateNode===null)throw Error(i(166));if(s=te.current,va(l)){if(s=l.stateNode,f=l.memoizedProps,x=null,b=li,b!==null)switch(b.tag){case 27:case 5:x=b.memoizedProps}s[jt]=l,s=!!(s.nodeValue===f||x!==null&&x.suppressHydrationWarning===!0||L_(s.nodeValue,f)),s||Ps(l,!0)}else s=Od(s).createTextNode(x),s[jt]=l,l.stateNode=s}return vn(l),null;case 31:if(f=l.memoizedState,s===null||s.memoizedState!==null){if(x=va(l),f!==null){if(s===null){if(!x)throw Error(i(318));if(s=l.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(i(557));s[jt]=l}else Co(),(l.flags&128)===0&&(l.memoizedState=null),l.flags|=4;vn(l),s=!1}else f=Cp(),s!==null&&s.memoizedState!==null&&(s.memoizedState.hydrationErrors=f),s=!0;if(!s)return l.flags&256?(Gi(l),l):(Gi(l),null);if((l.flags&128)!==0)throw Error(i(558))}return vn(l),null;case 13:if(x=l.memoizedState,s===null||s.memoizedState!==null&&s.memoizedState.dehydrated!==null){if(b=va(l),x!==null&&x.dehydrated!==null){if(s===null){if(!b)throw Error(i(318));if(b=l.memoizedState,b=b!==null?b.dehydrated:null,!b)throw Error(i(317));b[jt]=l}else Co(),(l.flags&128)===0&&(l.memoizedState=null),l.flags|=4;vn(l),b=!1}else b=Cp(),s!==null&&s.memoizedState!==null&&(s.memoizedState.hydrationErrors=b),b=!0;if(!b)return l.flags&256?(Gi(l),l):(Gi(l),null)}return Gi(l),(l.flags&128)!==0?(l.lanes=f,l):(f=x!==null,s=s!==null&&s.memoizedState!==null,f&&(x=l.child,b=null,x.alternate!==null&&x.alternate.memoizedState!==null&&x.alternate.memoizedState.cachePool!==null&&(b=x.alternate.memoizedState.cachePool.pool),j=null,x.memoizedState!==null&&x.memoizedState.cachePool!==null&&(j=x.memoizedState.cachePool.pool),j!==b&&(x.flags|=2048)),f!==s&&f&&(l.child.flags|=8192),bd(l,l.updateQueue),vn(l),null);case 4:return fe(),s===null&&zh(l.stateNode.containerInfo),vn(l),null;case 10:return cs(l.type),vn(l),null;case 19:if(J(zn),x=l.memoizedState,x===null)return vn(l),null;if(b=(l.flags&128)!==0,j=x.rendering,j===null)if(b)ac(x,!1);else{if(Rn!==0||s!==null&&(s.flags&128)!==0)for(s=l.child;s!==null;){if(j=ad(s),j!==null){for(l.flags|=128,ac(x,!1),s=j.updateQueue,l.updateQueue=s,bd(l,s),l.subtreeFlags=0,s=f,f=l.child;f!==null;)pb(f,s),f=f.sibling;return P(zn,zn.current&1|2),Bt&&as(l,x.treeForkCount),l.child}s=s.sibling}x.tail!==null&&tt()>Cd&&(l.flags|=128,b=!0,ac(x,!1),l.lanes=4194304)}else{if(!b)if(s=ad(j),s!==null){if(l.flags|=128,b=!0,s=s.updateQueue,l.updateQueue=s,bd(l,s),ac(x,!0),x.tail===null&&x.tailMode==="hidden"&&!j.alternate&&!Bt)return vn(l),null}else 2*tt()-x.renderingStartTime>Cd&&f!==536870912&&(l.flags|=128,b=!0,ac(x,!1),l.lanes=4194304);x.isBackwards?(j.sibling=l.child,l.child=j):(s=x.last,s!==null?s.sibling=j:l.child=j,x.last=j)}return x.tail!==null?(s=x.tail,x.rendering=s,x.tail=s.sibling,x.renderingStartTime=tt(),s.sibling=null,f=zn.current,P(zn,b?f&1|2:f&1),Bt&&as(l,x.treeForkCount),s):(vn(l),null);case 22:case 23:return Gi(l),Pp(),x=l.memoizedState!==null,s!==null?s.memoizedState!==null!==x&&(l.flags|=8192):x&&(l.flags|=8192),x?(f&536870912)!==0&&(l.flags&128)===0&&(vn(l),l.subtreeFlags&6&&(l.flags|=8192)):vn(l),f=l.updateQueue,f!==null&&bd(l,f.retryQueue),f=null,s!==null&&s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(f=s.memoizedState.cachePool.pool),x=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(x=l.memoizedState.cachePool.pool),x!==f&&(l.flags|=2048),s!==null&&J(No),null;case 24:return f=null,s!==null&&(f=s.memoizedState.cache),l.memoizedState.cache!==f&&(l.flags|=2048),cs(Bn),vn(l),null;case 25:return null;case 30:return null}throw Error(i(156,l.tag))}function MA(s,l){switch(Sp(l),l.tag){case 1:return s=l.flags,s&65536?(l.flags=s&-65537|128,l):null;case 3:return cs(Bn),fe(),s=l.flags,(s&65536)!==0&&(s&128)===0?(l.flags=s&-65537|128,l):null;case 26:case 27:case 5:return _e(l),null;case 31:if(l.memoizedState!==null){if(Gi(l),l.alternate===null)throw Error(i(340));Co()}return s=l.flags,s&65536?(l.flags=s&-65537|128,l):null;case 13:if(Gi(l),s=l.memoizedState,s!==null&&s.dehydrated!==null){if(l.alternate===null)throw Error(i(340));Co()}return s=l.flags,s&65536?(l.flags=s&-65537|128,l):null;case 19:return J(zn),null;case 4:return fe(),null;case 10:return cs(l.type),null;case 22:case 23:return Gi(l),Pp(),s!==null&&J(No),s=l.flags,s&65536?(l.flags=s&-65537|128,l):null;case 24:return cs(Bn),null;case 25:return null;default:return null}}function H1(s,l){switch(Sp(l),l.tag){case 3:cs(Bn),fe();break;case 26:case 27:case 5:_e(l);break;case 4:fe();break;case 31:l.memoizedState!==null&&Gi(l);break;case 13:Gi(l);break;case 19:J(zn);break;case 10:cs(l.type);break;case 22:case 23:Gi(l),Pp(),s!==null&&J(No);break;case 24:cs(Bn)}}function lc(s,l){try{var f=l.updateQueue,x=f!==null?f.lastEffect:null;if(x!==null){var b=x.next;f=b;do{if((f.tag&s)===s){x=void 0;var j=f.create,H=f.inst;x=j(),H.destroy=x}f=f.next}while(f!==b)}}catch(X){sn(l,l.return,X)}}function Gs(s,l,f){try{var x=l.updateQueue,b=x!==null?x.lastEffect:null;if(b!==null){var j=b.next;x=j;do{if((x.tag&s)===s){var H=x.inst,X=H.destroy;if(X!==void 0){H.destroy=void 0,b=l;var re=f,ge=X;try{ge()}catch(ke){sn(b,re,ke)}}}x=x.next}while(x!==j)}}catch(ke){sn(l,l.return,ke)}}function F1(s){var l=s.updateQueue;if(l!==null){var f=s.stateNode;try{Ab(l,f)}catch(x){sn(s,s.return,x)}}}function V1(s,l,f){f.props=Mo(s.type,s.memoizedProps),f.state=s.memoizedState;try{f.componentWillUnmount()}catch(x){sn(s,l,x)}}function cc(s,l){try{var f=s.ref;if(f!==null){switch(s.tag){case 26:case 27:case 5:var x=s.stateNode;break;case 30:x=s.stateNode;break;default:x=s.stateNode}typeof f=="function"?s.refCleanup=f(x):f.current=x}}catch(b){sn(s,l,b)}}function Br(s,l){var f=s.ref,x=s.refCleanup;if(f!==null)if(typeof x=="function")try{x()}catch(b){sn(s,l,b)}finally{s.refCleanup=null,s=s.alternate,s!=null&&(s.refCleanup=null)}else if(typeof f=="function")try{f(null)}catch(b){sn(s,l,b)}else f.current=null}function U1(s){var l=s.type,f=s.memoizedProps,x=s.stateNode;try{e:switch(l){case"button":case"input":case"select":case"textarea":f.autoFocus&&x.focus();break e;case"img":f.src?x.src=f.src:f.srcSet&&(x.srcset=f.srcSet)}}catch(b){sn(s,s.return,b)}}function gh(s,l,f){try{var x=s.stateNode;t3(x,s.type,f,l),x[yt]=l}catch(b){sn(s,s.return,b)}}function G1(s){return s.tag===5||s.tag===3||s.tag===26||s.tag===27&&Qs(s.type)||s.tag===4}function xh(s){e:for(;;){for(;s.sibling===null;){if(s.return===null||G1(s.return))return null;s=s.return}for(s.sibling.return=s.return,s=s.sibling;s.tag!==5&&s.tag!==6&&s.tag!==18;){if(s.tag===27&&Qs(s.type)||s.flags&2||s.child===null||s.tag===4)continue e;s.child.return=s,s=s.child}if(!(s.flags&2))return s.stateNode}}function yh(s,l,f){var x=s.tag;if(x===5||x===6)s=s.stateNode,l?(f.nodeType===9?f.body:f.nodeName==="HTML"?f.ownerDocument.body:f).insertBefore(s,l):(l=f.nodeType===9?f.body:f.nodeName==="HTML"?f.ownerDocument.body:f,l.appendChild(s),f=f._reactRootContainer,f!=null||l.onclick!==null||(l.onclick=sr));else if(x!==4&&(x===27&&Qs(s.type)&&(f=s.stateNode,l=null),s=s.child,s!==null))for(yh(s,l,f),s=s.sibling;s!==null;)yh(s,l,f),s=s.sibling}function _d(s,l,f){var x=s.tag;if(x===5||x===6)s=s.stateNode,l?f.insertBefore(s,l):f.appendChild(s);else if(x!==4&&(x===27&&Qs(s.type)&&(f=s.stateNode),s=s.child,s!==null))for(_d(s,l,f),s=s.sibling;s!==null;)_d(s,l,f),s=s.sibling}function q1(s){var l=s.stateNode,f=s.memoizedProps;try{for(var x=s.type,b=l.attributes;b.length;)l.removeAttributeNode(b[0]);di(l,x,f),l[jt]=s,l[yt]=f}catch(j){sn(s,s.return,j)}}var ps=!1,Fn=!1,vh=!1,W1=typeof WeakSet=="function"?WeakSet:Set,ei=null;function DA(s,l){if(s=s.containerInfo,$h=Fd,s=sb(s),fp(s)){if("selectionStart"in s)var f={start:s.selectionStart,end:s.selectionEnd};else e:{f=(f=s.ownerDocument)&&f.defaultView||window;var x=f.getSelection&&f.getSelection();if(x&&x.rangeCount!==0){f=x.anchorNode;var b=x.anchorOffset,j=x.focusNode;x=x.focusOffset;try{f.nodeType,j.nodeType}catch{f=null;break e}var H=0,X=-1,re=-1,ge=0,ke=0,Ne=s,xe=null;t:for(;;){for(var ye;Ne!==f||b!==0&&Ne.nodeType!==3||(X=H+b),Ne!==j||x!==0&&Ne.nodeType!==3||(re=H+x),Ne.nodeType===3&&(H+=Ne.nodeValue.length),(ye=Ne.firstChild)!==null;)xe=Ne,Ne=ye;for(;;){if(Ne===s)break t;if(xe===f&&++ge===b&&(X=H),xe===j&&++ke===x&&(re=H),(ye=Ne.nextSibling)!==null)break;Ne=xe,xe=Ne.parentNode}Ne=ye}f=X===-1||re===-1?null:{start:X,end:re}}else f=null}f=f||{start:0,end:0}}else f=null;for(Hh={focusedElem:s,selectionRange:f},Fd=!1,ei=l;ei!==null;)if(l=ei,s=l.child,(l.subtreeFlags&1028)!==0&&s!==null)s.return=l,ei=s;else for(;ei!==null;){switch(l=ei,j=l.alternate,s=l.flags,l.tag){case 0:if((s&4)!==0&&(s=l.updateQueue,s=s!==null?s.events:null,s!==null))for(f=0;f title"))),di(j,x,f),j[jt]=s,dn(j),x=j;break e;case"link":var H=J_("link","href",b).get(x+(f.href||""));if(H){for(var X=0;Xun&&(H=un,un=ut,ut=H);var ue=ib(X,ut),le=ib(X,un);if(ue&&le&&(ye.rangeCount!==1||ye.anchorNode!==ue.node||ye.anchorOffset!==ue.offset||ye.focusNode!==le.node||ye.focusOffset!==le.offset)){var he=Ne.createRange();he.setStart(ue.node,ue.offset),ye.removeAllRanges(),ut>un?(ye.addRange(he),ye.extend(le.node,le.offset)):(he.setEnd(le.node,le.offset),ye.addRange(he))}}}}for(Ne=[],ye=X;ye=ye.parentNode;)ye.nodeType===1&&Ne.push({element:ye,left:ye.scrollLeft,top:ye.scrollTop});for(typeof X.focus=="function"&&X.focus(),X=0;Xf?32:f,F.T=null,f=jh,jh=null;var j=Xs,H=vs;if(Zn=0,Ma=Xs=null,vs=0,(Xt&6)!==0)throw Error(i(331));var X=Xt;if(Xt|=4,r_(j.current),t_(j,j.current,H,f),Xt=X,hc(0,!1),Re&&typeof Re.onPostCommitFiberRoot=="function")try{Re.onPostCommitFiberRoot(be,j)}catch{}return!0}finally{V.p=b,F.T=x,k_(s,l)}}function w_(s,l,f){l=lr(f,l),l=sh(s.stateNode,l,2),s=Fs(s,l,2),s!==null&&(on(s,2),$r(s))}function sn(s,l,f){if(s.tag===3)w_(s,s,f);else for(;l!==null;){if(l.tag===3){w_(l,s,f);break}else if(l.tag===1){var x=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof x.componentDidCatch=="function"&&(Ys===null||!Ys.has(x))){s=lr(f,s),f=C1(2),x=Fs(l,f,2),x!==null&&(j1(f,x,l,s),on(x,2),$r(x));break}}l=l.return}}function Th(s,l,f){var x=s.pingCache;if(x===null){x=s.pingCache=new zA;var b=new Set;x.set(l,b)}else b=x.get(l),b===void 0&&(b=new Set,x.set(l,b));b.has(f)||(kh=!0,b.add(f),s=FA.bind(null,s,l,f),l.then(s,s))}function FA(s,l,f){var x=s.pingCache;x!==null&&x.delete(l),s.pingedLanes|=s.suspendedLanes&f,s.warmLanes&=~f,mn===s&&(Ot&f)===f&&(Rn===4||Rn===3&&(Ot&62914560)===Ot&&300>tt()-wd?(Xt&2)===0&&Da(s,0):Sh|=f,Aa===Ot&&(Aa=0)),$r(s)}function C_(s,l){l===0&&(l=Oe()),s=So(s,l),s!==null&&(on(s,l),$r(s))}function VA(s){var l=s.memoizedState,f=0;l!==null&&(f=l.retryLane),C_(s,f)}function UA(s,l){var f=0;switch(s.tag){case 31:case 13:var x=s.stateNode,b=s.memoizedState;b!==null&&(f=b.retryLane);break;case 19:x=s.stateNode;break;case 22:x=s.stateNode._retryCache;break;default:throw Error(i(314))}x!==null&&x.delete(l),C_(s,f)}function GA(s,l){return Nt(s,l)}var Rd=null,La=null,Rh=!1,Ad=!1,Ah=!1,Zs=0;function $r(s){s!==La&&s.next===null&&(La===null?Rd=La=s:La=La.next=s),Ad=!0,Rh||(Rh=!0,WA())}function hc(s,l){if(!Ah&&Ad){Ah=!0;do for(var f=!1,x=Rd;x!==null;){if(s!==0){var b=x.pendingLanes;if(b===0)var j=0;else{var H=x.suspendedLanes,X=x.pingedLanes;j=(1<<31-Xe(42|s)+1)-1,j&=b&~(H&~X),j=j&201326741?j&201326741|1:j?j|2:0}j!==0&&(f=!0,I_(x,j))}else j=Ot,j=Ke(x,x===mn?j:0,x.cancelPendingCommit!==null||x.timeoutHandle!==-1),(j&3)===0||We(x,j)||(f=!0,I_(x,j));x=x.next}while(f);Ah=!1}}function qA(){j_()}function j_(){Ad=Rh=!1;var s=0;Zs!==0&&i3()&&(s=Zs);for(var l=tt(),f=null,x=Rd;x!==null;){var b=x.next,j=E_(x,l);j===0?(x.next=null,f===null?Rd=b:f.next=b,b===null&&(La=f)):(f=x,(s!==0||(j&3)!==0)&&(Ad=!0)),x=b}Zn!==0&&Zn!==5||hc(s),Zs!==0&&(Zs=0)}function E_(s,l){for(var f=s.suspendedLanes,x=s.pingedLanes,b=s.expirationTimes,j=s.pendingLanes&-62914561;0X)break;var ke=re.transferSize,Ne=re.initiatorType;ke&&z_(Ne)&&(re=re.responseEnd,H+=ke*(re"u"?null:document;function X_(s,l,f){var x=za;if(x&&typeof l=="string"&&l){var b=bn(l);b='link[rel="'+s+'"][href="'+b+'"]',typeof f=="string"&&(b+='[crossorigin="'+f+'"]'),Y_.has(b)||(Y_.add(b),s={rel:s,crossOrigin:f,href:l},x.querySelector(b)===null&&(l=x.createElement("link"),di(l,"link",s),dn(l),x.head.appendChild(l)))}}function f3(s){bs.D(s),X_("dns-prefetch",s,null)}function m3(s,l){bs.C(s,l),X_("preconnect",s,l)}function p3(s,l,f){bs.L(s,l,f);var x=za;if(x&&s&&l){var b='link[rel="preload"][as="'+bn(l)+'"]';l==="image"&&f&&f.imageSrcSet?(b+='[imagesrcset="'+bn(f.imageSrcSet)+'"]',typeof f.imageSizes=="string"&&(b+='[imagesizes="'+bn(f.imageSizes)+'"]')):b+='[href="'+bn(s)+'"]';var j=b;switch(l){case"style":j=Pa(s);break;case"script":j=Ba(s)}pr.has(j)||(s=p({rel:"preload",href:l==="image"&&f&&f.imageSrcSet?void 0:s,as:l},f),pr.set(j,s),x.querySelector(b)!==null||l==="style"&&x.querySelector(vc(j))||l==="script"&&x.querySelector(bc(j))||(l=x.createElement("link"),di(l,"link",s),dn(l),x.head.appendChild(l)))}}function h3(s,l){bs.m(s,l);var f=za;if(f&&s){var x=l&&typeof l.as=="string"?l.as:"script",b='link[rel="modulepreload"][as="'+bn(x)+'"][href="'+bn(s)+'"]',j=b;switch(x){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":j=Ba(s)}if(!pr.has(j)&&(s=p({rel:"modulepreload",href:s},l),pr.set(j,s),f.querySelector(b)===null)){switch(x){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(f.querySelector(bc(j)))return}x=f.createElement("link"),di(x,"link",s),dn(x),f.head.appendChild(x)}}}function g3(s,l,f){bs.S(s,l,f);var x=za;if(x&&s){var b=Yn(x).hoistableStyles,j=Pa(s);l=l||"default";var H=b.get(j);if(!H){var X={loading:0,preload:null};if(H=x.querySelector(vc(j)))X.loading=5;else{s=p({rel:"stylesheet",href:s,"data-precedence":l},f),(f=pr.get(j))&&Yh(s,f);var re=H=x.createElement("link");dn(re),di(re,"link",s),re._p=new Promise(function(ge,ke){re.onload=ge,re.onerror=ke}),re.addEventListener("load",function(){X.loading|=1}),re.addEventListener("error",function(){X.loading|=2}),X.loading|=4,zd(H,l,x)}H={type:"stylesheet",instance:H,count:1,state:X},b.set(j,H)}}}function x3(s,l){bs.X(s,l);var f=za;if(f&&s){var x=Yn(f).hoistableScripts,b=Ba(s),j=x.get(b);j||(j=f.querySelector(bc(b)),j||(s=p({src:s,async:!0},l),(l=pr.get(b))&&Xh(s,l),j=f.createElement("script"),dn(j),di(j,"link",s),f.head.appendChild(j)),j={type:"script",instance:j,count:1,state:null},x.set(b,j))}}function y3(s,l){bs.M(s,l);var f=za;if(f&&s){var x=Yn(f).hoistableScripts,b=Ba(s),j=x.get(b);j||(j=f.querySelector(bc(b)),j||(s=p({src:s,async:!0,type:"module"},l),(l=pr.get(b))&&Xh(s,l),j=f.createElement("script"),dn(j),di(j,"link",s),f.head.appendChild(j)),j={type:"script",instance:j,count:1,state:null},x.set(b,j))}}function K_(s,l,f,x){var b=(b=te.current)?Ld(b):null;if(!b)throw Error(i(446));switch(s){case"meta":case"title":return null;case"style":return typeof f.precedence=="string"&&typeof f.href=="string"?(l=Pa(f.href),f=Yn(b).hoistableStyles,x=f.get(l),x||(x={type:"style",instance:null,count:0,state:null},f.set(l,x)),x):{type:"void",instance:null,count:0,state:null};case"link":if(f.rel==="stylesheet"&&typeof f.href=="string"&&typeof f.precedence=="string"){s=Pa(f.href);var j=Yn(b).hoistableStyles,H=j.get(s);if(H||(b=b.ownerDocument||b,H={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},j.set(s,H),(j=b.querySelector(vc(s)))&&!j._p&&(H.instance=j,H.state.loading=5),pr.has(s)||(f={rel:"preload",as:"style",href:f.href,crossOrigin:f.crossOrigin,integrity:f.integrity,media:f.media,hrefLang:f.hrefLang,referrerPolicy:f.referrerPolicy},pr.set(s,f),j||v3(b,s,f,H.state))),l&&x===null)throw Error(i(528,""));return H}if(l&&x!==null)throw Error(i(529,""));return null;case"script":return l=f.async,f=f.src,typeof f=="string"&&l&&typeof l!="function"&&typeof l!="symbol"?(l=Ba(f),f=Yn(b).hoistableScripts,x=f.get(l),x||(x={type:"script",instance:null,count:0,state:null},f.set(l,x)),x):{type:"void",instance:null,count:0,state:null};default:throw Error(i(444,s))}}function Pa(s){return'href="'+bn(s)+'"'}function vc(s){return'link[rel="stylesheet"]['+s+"]"}function Z_(s){return p({},s,{"data-precedence":s.precedence,precedence:null})}function v3(s,l,f,x){s.querySelector('link[rel="preload"][as="style"]['+l+"]")?x.loading=1:(l=s.createElement("link"),x.preload=l,l.addEventListener("load",function(){return x.loading|=1}),l.addEventListener("error",function(){return x.loading|=2}),di(l,"link",f),dn(l),s.head.appendChild(l))}function Ba(s){return'[src="'+bn(s)+'"]'}function bc(s){return"script[async]"+s}function Q_(s,l,f){if(l.count++,l.instance===null)switch(l.type){case"style":var x=s.querySelector('style[data-href~="'+bn(f.href)+'"]');if(x)return l.instance=x,dn(x),x;var b=p({},f,{"data-href":f.href,"data-precedence":f.precedence,href:null,precedence:null});return x=(s.ownerDocument||s).createElement("style"),dn(x),di(x,"style",b),zd(x,f.precedence,s),l.instance=x;case"stylesheet":b=Pa(f.href);var j=s.querySelector(vc(b));if(j)return l.state.loading|=4,l.instance=j,dn(j),j;x=Z_(f),(b=pr.get(b))&&Yh(x,b),j=(s.ownerDocument||s).createElement("link"),dn(j);var H=j;return H._p=new Promise(function(X,re){H.onload=X,H.onerror=re}),di(j,"link",x),l.state.loading|=4,zd(j,f.precedence,s),l.instance=j;case"script":return j=Ba(f.src),(b=s.querySelector(bc(j)))?(l.instance=b,dn(b),b):(x=f,(b=pr.get(j))&&(x=p({},f),Xh(x,b)),s=s.ownerDocument||s,b=s.createElement("script"),dn(b),di(b,"link",x),s.head.appendChild(b),l.instance=b);case"void":return null;default:throw Error(i(443,l.type))}else l.type==="stylesheet"&&(l.state.loading&4)===0&&(x=l.instance,l.state.loading|=4,zd(x,f.precedence,s));return l.instance}function zd(s,l,f){for(var x=f.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),b=x.length?x[x.length-1]:null,j=b,H=0;H title"):null)}function b3(s,l,f){if(f===1||l.itemProp!=null)return!1;switch(s){case"meta":case"title":return!0;case"style":if(typeof l.precedence!="string"||typeof l.href!="string"||l.href==="")break;return!0;case"link":if(typeof l.rel!="string"||typeof l.href!="string"||l.href===""||l.onLoad||l.onError)break;return l.rel==="stylesheet"?(s=l.disabled,typeof l.precedence=="string"&&s==null):!0;case"script":if(l.async&&typeof l.async!="function"&&typeof l.async!="symbol"&&!l.onLoad&&!l.onError&&l.src&&typeof l.src=="string")return!0}return!1}function tk(s){return!(s.type==="stylesheet"&&(s.state.loading&3)===0)}function _3(s,l,f,x){if(f.type==="stylesheet"&&(typeof x.media!="string"||matchMedia(x.media).matches!==!1)&&(f.state.loading&4)===0){if(f.instance===null){var b=Pa(x.href),j=l.querySelector(vc(b));if(j){l=j._p,l!==null&&typeof l=="object"&&typeof l.then=="function"&&(s.count++,s=Bd.bind(s),l.then(s,s)),f.state.loading|=4,f.instance=j,dn(j);return}j=l.ownerDocument||l,x=Z_(x),(b=pr.get(b))&&Yh(x,b),j=j.createElement("link"),dn(j);var H=j;H._p=new Promise(function(X,re){H.onload=X,H.onerror=re}),di(j,"link",x),f.instance=j}s.stylesheets===null&&(s.stylesheets=new Map),s.stylesheets.set(f,l),(l=f.state.preload)&&(f.state.loading&3)===0&&(s.count++,f=Bd.bind(s),l.addEventListener("load",f),l.addEventListener("error",f))}}var Kh=0;function k3(s,l){return s.stylesheets&&s.count===0&&Hd(s,s.stylesheets),0Kh?50:800)+l);return s.unsuspend=f,function(){s.unsuspend=null,clearTimeout(x),clearTimeout(b)}}:null}function Bd(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Hd(this,this.stylesheets);else if(this.unsuspend){var s=this.unsuspend;this.unsuspend=null,s()}}}var $d=null;function Hd(s,l){s.stylesheets=null,s.unsuspend!==null&&(s.count++,$d=new Map,l.forEach(S3,s),$d=null,Bd.call(s))}function S3(s,l){if(!(l.state.loading&4)){var f=$d.get(s);if(f)var x=f.get(null);else{f=new Map,$d.set(s,f);for(var b=s.querySelectorAll("link[data-precedence],style[data-precedence]"),j=0;j"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),sg.exports=B3(),sg.exports}var H3=$3();const F3=2e3,V3=3e4,U3=20,G3=100,q3=3e4,W3=1e4,Y3=new Set(["collab_sync","kanban_create_board","kanban_create_task","kanban_update_task","kanban_move_task","kanban_delete_board","kanban_delete_task","kanban_assign","kanban_status","kanban_switch_view","run_task","create_session","session_send","session_update_config","session_delete","session_detail","session_stop","session_resume","session_complete","session_update_title","secretary_send","project_index","recovery_action","comms_state","comms_read_message"]);class X3{constructor(t,n){this.url=t,this.handlers=n,this.ws=null,this.reconnectTimer=null,this.closedByUser=!1,this.reconnectAttempt=0,this.pendingQueue=[],this.heartbeatTimer=null,this.pongTimer=null}updateUrl(t){this.url=t}connect(){this.closedByUser=!1,this.handlers.onStatus?.("connecting"),this.ws=new WebSocket(this.url),this.ws.onopen=()=>{this.reconnectAttempt=0,this.handlers.onStatus?.("connected"),this.flushPendingQueue(),this.startHeartbeat()},this.ws.onmessage=t=>{this.handleMessage(t.data)},this.ws.onerror=()=>{this.handlers.onStatus?.("error","WebSocket error")},this.ws.onclose=()=>{this.stopHeartbeat(),this.handlers.onStatus?.("disconnected"),this.ws=null,this.closedByUser||this.scheduleReconnect()}}disconnect(){this.closedByUser=!0,this.stopHeartbeat(),this.reconnectTimer!==null&&(window.clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.ws?.close(),this.ws=null}send(t){if(!this.ensureProjectScope(t))return;const n=JSON.stringify(t);if(!this.ws||this.ws.readyState!==WebSocket.OPEN){this.pendingQueue.length{!this.ws||this.ws.readyState!==WebSocket.OPEN||(this.ws.send(JSON.stringify({type:"ping"})),this.pongTimer=window.setTimeout(()=>{this.pongTimer=null,this.ws?.close()},W3))},q3)}stopHeartbeat(){this.heartbeatTimer!==null&&(window.clearInterval(this.heartbeatTimer),this.heartbeatTimer=null),this.pongTimer!==null&&(window.clearTimeout(this.pongTimer),this.pongTimer=null)}handlePong(){this.pongTimer!==null&&(window.clearTimeout(this.pongTimer),this.pongTimer=null)}scheduleReconnect(){if(this.reconnectTimer!==null)return;if(this.reconnectAttempt>=U3){this.handlers.onStatus?.("error","max reconnect attempts reached");return}const t=Math.min(F3*Math.pow(2,this.reconnectAttempt),V3);this.reconnectAttempt++,this.reconnectTimer=window.setTimeout(()=>{this.reconnectTimer=null,this.connect()},t)}}var K3=A3();const Pi=ta(K3),R=32,An=20,Zi=25,E0=2,Ck=3,Z3=An*Ck+E0*(Ck-1),Q3=Zi,cg=Z3,Ec=Q3,Wc=R*8,el=R*4,il=R*20,Dj=1.8,J3=Dj,eM=Dj,tM=30,nM=8,iM=-2,rM=.22,sM=5,oM=23;function aM(){if(typeof window>"u")return null;const e=o=>{const a=new URLSearchParams(o);return a.get("day")==="1"||a.get("daytime")==="1"?"day":a.get("night")==="1"?"night":null};let t=e(window.location.search||"");if(t)return t;const n=window.location.hash;if(!n)return null;const i=n.indexOf("?");if(i>=0&&(t=e(n.slice(i+1)),t))return t;const r=n.replace(/^#/,"");return r.includes("=")&&(t=e(r),t)?t:null}function Yc(e=new Date){if(typeof window<"u")try{const n=aM();if(n==="day")return!0;if(n==="night")return!1;const i=window.localStorage?.getItem("opc_outdoor_override");if(i==="day")return!0;if(i==="night")return!1;if(window.localStorage?.getItem("opc_outdoor_day")==="1")return!0;if(window.localStorage?.getItem("opc_outdoor_night")==="1")return!1}catch{}const t=e.getHours();return t>=sM&&t<=oM}const jk=11064556,Ek=3228986,lM=200,cM=100,uM=60,Sf=2,wf=20,Oj=3,Lj=6,Ha=2.5,dM=8,fM=15,Nk=5,Ik=10,mM=5,Tk=3,Rk=2;function pM(e,t,n){const i=t||e.clientWidth||window.innerWidth-380,r=n||e.clientHeight||window.innerHeight-48,o=Yc()?"#a8d4ec":"#31453a";return{type:Pi.CANVAS,parent:e,width:i,height:r,pixelArt:!0,backgroundColor:o,physics:{default:"arcade",arcade:{gravity:{x:0,y:0},debug:!1}},scale:{mode:Pi.Scale.RESIZE,autoCenter:Pi.Scale.NONE,parent:e},render:{antialias:!1,pixelArt:!0}}}const hM=16,gM=32,Ak=6;class xM extends Pi.Scene{constructor(){super("Boot")}preload(){this.load.image("office-bg","assets/office-bg.png"),this.load.spritesheet("office-tileset-32","assets/office-tileset-32.png",{frameWidth:32,frameHeight:32});for(let n=0;n{t.clear(),t.fillStyle(4886745,1),t.fillRect(this.scale.width/2-100,this.scale.height/2-8,200*n,16)}),this.load.on("complete",()=>t.destroy())}create(){this.createCharacterAnimations(),console.log("[BootScene] All assets loaded"),this.scene.start("Office")}createCharacterAnimations(){const n=[{name:"down",row:0},{name:"up",row:1},{name:"right",row:2},{name:"left",row:2}];for(let i=0;i0)return t}}catch{}return Pj()}function km(e){localStorage.setItem(zj,JSON.stringify(e))}function yM(e,t){const n=Mn(),i=n.find(r=>r.id===e);i&&(i.name=t,km(n))}function ug(e,t){const n=Mn();for(const r of n)r.assignedAgents=r.assignedAgents.filter(o=>o!==t);const i=n.find(r=>r.id===e);i&&i.assignedAgents.push(t),km(n)}function vM(e){const t=Mn();for(const n of t)n.assignedAgents=n.assignedAgents.filter(i=>i!==e);km(t)}function bM(e){return Mn().find(t=>t.assignedAgents.includes(e))}function _M(e,t,n){const i=Mn(),r=i.find(o=>o.id===e);r&&(r.mapStr=t,r.seats=n,km(i))}function Bj(e){const t=[];for(let n=0;n0?e[e.length-1].offsetCol+An:An,n=[];for(let i=0;it.map(n=>n===0?".":"#").join(""))}function xi(e,t,n,i,r=t+i){return{x:Math.round(e*R),y:Math.round(t*R),w:Math.round(n*R),h:Math.round(i*R),depthY:Math.round(r*R)}}const kM=[xi(8,4,4.3,3.35,7.15),xi(2.3,8.65,5.35,1.95,10.55),xi(11.1,8.55,3.1,1.7,10.45),xi(14.15,8.55,4.95,2,10.95),xi(2.1,11.45,3.05,1.8,12.95),xi(5.25,11.45,3.05,1.8,12.95),xi(8.45,11.45,3.05,1.8,12.95),xi(2.1,14.55,3.05,1.85,16.1),xi(5.25,14.55,3.05,1.85,16.1),xi(8.45,14.55,3.05,1.85,16.1),xi(14,12.15,4.85,3,15.3),xi(1,19.55,3.05,1.15,20.7),xi(4.45,20.45,3.35,1.35,21.8),xi(14.1,20.5,3.15,1.85,22.3),xi(8.05,23.1,4.2,1,24.1),xi(17,23.1,2.1,1,24.1)];class zf{constructor(){this.bgSprites=[],this.foregroundSprites=[],this.nameLabels=[],this.decor=[],this.outdoorBackdrop=null,this.outdoorParking=null,this.tilesetFrames={shelfA:61,shelfB:62,waterCooler:105,waterCoolerAlt:106,fridge:108,vending:110,plantA:148,plantB:150,boxA:153,boxB:154,boxC:158}}clearSceneDecor(){for(const t of this.bgSprites)t.destroy();for(const t of this.foregroundSprites)t.destroy();for(const t of this.nameLabels)t.destroy();for(const t of this.decor)t.destroy();this.bgSprites=[],this.foregroundSprites=[],this.nameLabels=[],this.decor=[],this.outdoorBackdrop=null,this.outdoorParking=null}addForegroundOccluders(t,n){const i=n.offsetCol*R;for(const r of kM){const o=t.add.image(i,0,"office-bg");o.setOrigin(0,0),o.setCrop(r.x,r.y,r.w,r.h),o.setDepth(r.depthY),this.foregroundSprites.push(o)}}addPixelLabel(t,n,i,r,o,a="#f5efe3",u="10px"){const d=t.add.text(n,i,r,{fontSize:u,fontFamily:"monospace",color:a,backgroundColor:o,padding:{left:4,right:4,top:2,bottom:2},resolution:2,align:"center"});return d.setOrigin(.5,.5),d.setDepth(-94),this.decor.push(d),d}addTilesetSprite(t,n,i,r,o=1){const a=t.add.image(n,i,"office-tileset-32",r);return a.setOrigin(0,0),a.setScale(o),a.setDepth(-92),this.decor.push(a),a}getOutdoorMetrics(t,n){const i=n+R*10.1,r=R*4.1,o=i+r+R*.15,a=o+R*1.1;return{gateCenterX:t/2,roadY:i,roadHeight:r,waterTopY:o,dockY:a,bottomY:n+il}}paintStylizedParkingCar(t,n,i,r,o,a){const u=o?{outline:1314840,body:14240338,bodyMid:13057092,bodyDark:9316914,cabin:14706798,cabinHi:15894668,cabinLo:11546684,glass:6062264,glassDeep:3824776,glassHi:12116220,tire:1842724,tireOuter:1184794,bonnetHi:15233140}:{outline:1053728,body:4095176,bodyMid:3105960,bodyDark:2377848,cabin:6068444,cabinHi:8303856,cabinLo:3434664,glass:4878240,glassDeep:3164264,glassHi:11065599,tire:1842724,tireOuter:1184794,bonnetHi:7121128},d=(y,v,k,S,_,w=1)=>{t.fillStyle(_,w);const C=r?-y-k:y;t.fillRect(Math.round(n+C),Math.round(i+v),k,S)};t.fillStyle(988175,.28),t.fillEllipse(n,i+36,36,9),d(-16,-38,32,76,u.outline),d(-15,-37,30,74,u.body),d(-14,2,28,35,u.bodyDark),d(-14,-4,28,10,u.bodyMid),d(-13,8,26,22,u.body),d(-13,8,26,7,u.bonnetHi,.92),d(-13,-35,26,32,u.cabin),d(-13,-35,26,4,u.cabinHi),d(-13,-8,26,5,u.cabinLo),d(-11,-7,22,11,u.glassDeep),d(-11,-7,22,5,u.glass),d(-10,-6,8,3,u.glassHi),d(-1,-6,6,2,u.glassHi,.75),d(-16,-2,3,8,u.bodyDark),d(13,-2,3,8,u.bodyDark);const m=22,h=-30,p=7,g=9;for(const y of[m,h])d(-22,y,p,g,u.tire),d(15,y,p,g,u.tire),d(-22,y,1,g,u.tireOuter),d(15+p-1,y,1,g,u.tireOuter);for(const y of[m,h])d(-18,y+1,4,g-2,u.bodyDark),d(14,y+1,4,g-2,u.bodyDark);a&&(d(-12,33,5,4,16052970),d(7,33,5,4,16052970),d(-11,34,2,2,16775368),d(8,34,2,2,16775368),d(-13,-38,4,3,16733488),d(9,-38,4,3,13121568),d(-18,4,3,4,16763976),d(15,4,3,4,16752688)),d(-15,-37,30,1,u.cabinHi,.45),d(-14,28,28,1,0,.12)}buildOutdoorBackdrop(t,n,i,r,o,a){const u=t.add.graphics();u.setDepth(-320);const d=-Wc,m=-el,h=n+Wc*2,p=i+el+il,g=d+h,y=i+il,v=m+R*6.2,k=i+R*.35,S=i+R*4.25,_=i+R*5.9,{gateCenterX:w,roadY:C,roadHeight:N,waterTopY:O,dockY:I}=this.getOutdoorMetrics(n,i),D=o?{skyTop:7259376,skyBand:11066104,towerFar:8953780,towerNear:10268868,towerRoof:11847900,winColor:16777215,winAlpha:.22,facadeColor:14214384,facadeAlpha:.36,bridgeColor:12636384,bridgeAlpha:.92,grassBase:3831876,grassLawn:6076520,treeTrunk:3562560,treeMid:5023848,treeHi:7526532,grove0:3168312,grove1:5150816,grove2:6865016,fence:10127992,road:3948616,roadDash:14207120,curb:3551792,water:3508408,ripple:6073556,rippleHi:10017008,edgeGreen:5810280,edgeGreenHi:8310928,logoDirt:12105880,logoDirtHi:13684920}:{skyTop:2503493,skyBand:3494250,towerFar:1253426,towerNear:1911614,towerRoof:2373195,winColor:15979916,winAlpha:.42,facadeColor:3163484,facadeAlpha:.45,bridgeColor:2306631,bridgeAlpha:.95,grassBase:3232315,grassLawn:5210447,treeTrunk:2835501,treeMid:4156223,treeHi:5539412,grove0:2637864,grove1:4222784,grove2:6130776,fence:8153685,road:3159098,roadDash:13676922,curb:3025447,water:2181730,ripple:3967139,rippleHi:7913424,edgeGreen:7310175,edgeGreenHi:9417850,logoDirt:10265207,logoDirtHi:12301197};if(u.fillStyle(D.skyTop,1),u.fillRect(d,m,h,R*8.2),u.fillStyle(D.skyBand,1),u.fillRect(d,m+R*6.15,h,R*2.05),o){u.fillStyle(16775400,.45);for(let me=0;me<5;me++){const ze=d+h*(.12+me*.19)+me*17%40,lt=m+R*(1.4+me%3*.35);u.fillEllipse(ze,lt,R*2.2,R*.95)}u.fillStyle(16773808,.92),u.fillCircle(g-R*2.4,m+R*1.25,R*.85),u.fillStyle(16776432,.35),u.fillCircle(g-R*2.4,m+R*1.25,R*1.45)}u.fillStyle(D.towerFar,1);for(let me=d-R;meR*1.9&&u.fillRect(me+qe-8,Ae+4,3,3));u.fillStyle(D.facadeColor,D.facadeAlpha),u.fillRect(me+qe*.5,ve+R*.4,2,ce-R*.8),u.fillStyle(D.towerNear,1)}u.fillStyle(D.bridgeColor,D.bridgeAlpha);for(let me=d+R*6;me(me.offsetCol+2.95)*R),A=R*.9,M=n-R*1.8,$=6,W=R*1.7,B=i+R*.08,U=R*2.05,F=B+U,V=R*9.4,Y=w-V/2,Q=F-2,q=R*3.1,G=Q+q,J=R*2.3;u.fillStyle(12428667,1),u.fillRect(w-R*4.25,G,R*8.5,C-G),u.fillStyle(14141089,.95);for(let me=G+R*.35;meK&&u.fillRect(K,B,ze-K,$),u.fillStyle(8415310,1),u.fillRect(ze-4,B,4,R*.62),u.fillRect(ze+W,B,4,R*.62),u.fillStyle(11045217,1),u.fillRect(ze,B,W,4),u.fillStyle(15920612,1),K=ze+W}Kw-R*5.4&&me=0&&this.decor.splice(me,1),this.outdoorParking.destroy(),this.outdoorParking=null}const Ce=t.add.graphics();Ce.setDepth(-300);const Be=4080460,Ve=15262424,Ye=[{x:d+R*2.2,count:5},{x:g-R*11.4,count:5}];Ce.lineStyle(0,0,0),Ce.fillStyle(Be,1);for(const me of Ye)Ce.fillRect(me.x,_,R*12.8,R*3.8);Ce.lineStyle(1,Ve,.95);for(const me of Ye)for(let ze=0;zew-R;for(let lt=0;lt=0&&this.decor.splice(a,1),this.outdoorParking.destroy(),this.outdoorParking=null}if(this.outdoorBackdrop){const a=this.decor.indexOf(this.outdoorBackdrop);a>=0&&this.decor.splice(a,1),this.outdoorBackdrop.destroy(),this.outdoorBackdrop=null}this.buildOutdoorBackdrop(t,r,o,i,n,{skipLabels:!0})}buildBoundaryDecor(t,n,i){const r=t.add.graphics();r.setDepth(-140);const o=t.add.graphics();o.setDepth(-95);const a=((n[n.length-1]?.offsetCol??0)+An)*R,u=Zi*R,d=An*R,m=R*2,h=R*20;this.buildOutdoorBackdrop(t,a,u,n,i),r.fillStyle(2498844,1),r.fillRect(-R,0,a+R*2,u),r.fillStyle(3221794,1),r.fillRect(0,0,a,u),r.fillStyle(6048831,1),r.fillRect(0,0,a,8),r.fillRect(0,u-8,a,8),r.fillRect(0,0,8,u),r.fillRect(a-8,0,8,u),r.fillStyle(2367001,1),r.fillRect(8,8,a-16,3),r.fillRect(8,u-11,a-16,3),r.fillStyle(1709844,1),r.fillRect(0,0,a,m),r.fillStyle(4931637,1),r.fillRect(0,m-5,a,5),r.fillStyle(4208173,1),r.fillRect(0,m,a,u-m),r.fillStyle(4865588,1),r.fillRect(0,R*8,a,R*4),r.fillStyle(3813416,1),r.fillRect(0,h,a,u-h),r.lineStyle(1,5917503,.32);for(let p=0;p<=a;p+=R)r.beginPath(),r.moveTo(p,m),r.lineTo(p,u),r.strokePath();for(let p=m;p<=u;p+=R)r.beginPath(),r.moveTo(0,p),r.lineTo(a,p),r.strokePath();for(let p=R*3;pM.id===p.id);r.fillStyle(5785659,1),r.fillRect(g-10,0,d+20,u),r.fillStyle(2301208,1),r.fillRect(g-4,0,d+8,u),r.lineStyle(2,8087640,.9),r.strokeRect(g-10,0,d+20,u),r.lineStyle(2,10982014,.34),r.strokeRect(g-4,0,d+8,u),r.fillStyle(1578259,1),r.fillRect(g-4,0,d+8,R),r.fillStyle(7166796,1),r.fillRect(g+R*5.5,R*.55,R*9,5),r.fillStyle(9074018,1),r.fillRect(g-10,0,8,8),r.fillRect(g+d+2,0,8,8),r.fillRect(g-10,u-8,8,8),r.fillRect(g+d+2,u-8,8,8),r.fillStyle(3221536,1),r.fillRect(g-4,h,d+8,6);const v=g+R*.7,k=g+R*14.65,S=R*1.05,_=R*4.45,w=R*6.4,C=S+w+R*.35,N=R*.55,O=y%2===0?6115909:5069382,I=y%2===0?4609113:5984070,D=y%2===0?5205640:7297908,T=y%2===0?5666919:9073231,L=y%2===0?7045045:10119803,A=y%2===0?6196089:10979160;r.fillStyle(2827295,1),r.fillRect(g+R*.58,C,d-R*1.16,R*.44),r.fillStyle(7692879,1),r.fillRect(g+R*.92,C+2,d-R*1.84,2),r.fillRect(g+R*4.3,C-R*.2,4,R*.84),r.fillRect(g+d-R*4.3,C-R*.2,4,R*.84),o.fillStyle(1906966,1),o.fillRect(v,S,_,w),o.fillRect(k,S,_,w),o.fillStyle(3090722,1),o.fillRect(v+4,S+4,_-8,w-8),o.fillRect(k+4,S+4,_-8,w-8),o.fillStyle(O,1),o.fillRect(v+4,S+4,_-8,R*.7),o.fillStyle(I,1),o.fillRect(k+4,S+4,_-8,R*.7),o.fillStyle(D,.95),o.fillRect(v+4,S+R*1.15,_-8,w-R*1.45),o.fillStyle(T,.95),o.fillRect(k+4,S+R*1.15,_-8,w-R*1.45),o.fillStyle(15127204,.16),o.fillRect(v+10,S+10,_-20,2),o.fillRect(k+10,S+10,_-20,2),o.lineStyle(1,6181444,.28);for(let M=v+12;M","#2d241c","#e8d5b6","8px"),this.decor.push(r,o)}buildMap(t,n=Yc()){this.clearSceneDecor();const i=Mn(),r=((i[i.length-1]?.offsetCol??0)+An)*R,o=Zi*R,a=this.getOutdoorMetrics(r,o);this.buildBoundaryDecor(t,i,n);for(const m of i){const h=(m.offsetCol+An/2)*R,p=t.add.image(m.offsetCol*R,0,"office-bg");p.setOrigin(0,0),p.setDepth(-100),this.bgSprites.push(p),this.addForegroundOccluders(t,m);const g=t.add.text(h,6,m.name,{fontSize:"14px",fontFamily:"monospace",color:"#ffffff",stroke:"#000000",strokeThickness:3,align:"center"});g.setOrigin(.5,0),g.setDepth(99999),g.setData("officeId",m.id),this.nameLabels.push(g)}const u=$j(i),d=zf.buildWallBodies(t,u);return console.log("[OfficeMapBuilder] Composite map ready โ€”",i.length,"offices"),{wallBodies:d,collisionGrid:u,waterfront:{dockCenterX:a.gateCenterX,dockY:a.dockY,waterTopY:a.waterTopY,waterBottomY:a.bottomY}}}getBackgroundSprites(){return this.bgSprites}getNameLabels(){return this.nameLabels}updateLabel(t,n){const i=this.nameLabels.find(r=>r.getData("officeId")===t);i&&i.setText(n)}static buildWallBodies(t,n){const i=n.length,r=i>0?n[0].length:0,o=t.physics.add.staticGroup();for(let a=0;a=0){const h=d-u,p=t.add.rectangle(u*R+h*R/2,a*R+R/2,h*R,R);p.setVisible(!1),o.add(p),u=-1}}}return o}static buildWallBodiesForRegion(t,n,i,r){const o=n.length,a=o>0?n[0].length:0;for(let u=0;u=0){const p=m-d,g=t.add.rectangle((r+d)*R+p*R/2,u*R+R/2,p*R,R);g.setVisible(!1),i.add(g),d=-1}}}}}const rt={IDLE:"idle",WALK:"walk",TYPE:"type",THINK:"think",CELEBRATE:"celebrate",COFFEE:"coffee",CHAT:"chat",PRACTICE:"practice",REFLECT:"reflect",SLEEP:"sleep",PRESENT:"present"},Fa={DOWN:"down",LEFT:"left",RIGHT:"right",UP:"up"};function Iy(e,t){return e+Math.random()*(t-e)}function SM(e,t){return Math.floor(Iy(e,t+1))}class wM extends Pi.GameObjects.Container{constructor(t,n,i,r,o,a){const u=o*R+R/2,d=a*R+R/2;super(t,u,d),this.officeId="office-0",this.agentState=rt.IDLE,this.dir=Fa.DOWN,this.isActive=!1,this.currentTool=null,this.seatId=null,this.urgency="relaxed",this.isSubagent=!1,this.parentAgentId=null,this.lastEventAt=0,this.stateTimer=0,this.seatTimer=0,this.wanderCount=0,this.hueShift=0,this.bubbleText=null,this.bubbleTimer=0,this.myceliumEffect=null,this.myceliumEffectTimer=0,this.myceliumSession=null,this.bubbleObj=null,this.currentPath=[],this.pathIndex=0,this.pathfinder=null,this.arrivalCallback=null,this.agentId=n,this.displayName=i,this.palette=r%6,this.wanderTimer=Iy(.5,2.5),this.wanderLimit=SM(Oj,Lj);const m=`char_${this.palette}`;this.shadow=t.add.ellipse(0,iM,tM,nM,1382432,rM),this.shadow.setOrigin(.5,.5),this.add(this.shadow),this.sprite=t.add.sprite(0,0,m),this.sprite.setScale(J3,eM),this.sprite.setOrigin(.5,1),this.add(this.sprite),t.add.existing(this),t.physics.world.enable(this);const h=Math.min(12,R-4),p=Math.min(6,R/2);this.body.setSize(h,p),this.body.setOffset(-h/2,-p),this.body.setCollideWorldBounds(!0),this.setDepth(d),this.playAnimForState()}setPathfinder(t){this.pathfinder=t}getState(){return this.agentState}getTilePos(){return{x:Math.floor(this.x/R),y:Math.floor(this.y/R)}}setAgentState(t){this.agentState!==t&&(this.agentState=t,this.playAnimForState())}setDirection(t){this.dir!==t&&(this.dir=t,this.playAnimForState())}playAnimForState(){if(!this.sprite?.anims)return;const t=`char_${this.palette}`,n=this.dir,i=n===Fa.LEFT;this.sprite.setFlipX(i);const r=i?"right":n;switch(this.agentState){case rt.WALK:this.sprite.play(`${t}_walk_${r}`,!0);break;case rt.CELEBRATE:this.sprite.play(`${t}_celebrate_${r}`,!0);break;case rt.TYPE:case rt.PRESENT:case rt.PRACTICE:this.sprite.play(`${t}_type_${r}`,!0);break;case rt.THINK:case rt.REFLECT:this.sprite.play(`${t}_read_${r}`,!0);break;case rt.COFFEE:case rt.CHAT:this.sprite.play(`${t}_coffee_${r}`,!0);break;case rt.SLEEP:case rt.IDLE:default:this.sprite.play(`${t}_idle_${r}`,!0);break}}async walkTo(t,n,i){if(!this.pathfinder||!this.sprite?.anims)return!1;const r=this.getTilePos(),o=await this.pathfinder.findPath(r,{x:t,y:n});return o.length===0?!1:(this.currentPath=o,this.pathIndex=0,this.arrivalCallback=i??null,this.setAgentState(rt.WALK),!0)}stopMovement(){this.currentPath=[],this.pathIndex=0,this.arrivalCallback=null,this.body?.setVelocity(0,0)}get isMoving(){return this.agentState===rt.WALK&&this.currentPath.length>0}getWalkSpeed(){switch(this.urgency){case"urgent":return lM;case"normal":return cM;default:return uM}}showBubble(t,n=mM){this.bubbleText=t,this.bubbleTimer=n,this.updateBubbleDisplay()}clearBubble(){this.bubbleText=null,this.bubbleTimer=0,this.bubbleObj&&(this.bubbleObj.destroy(),this.bubbleObj=null)}updateBubbleDisplay(){if(this.bubbleObj&&(this.bubbleObj.destroy(),this.bubbleObj=null),!this.bubbleText)return;const t=this.scene.add.container(this.x,this.y-70),n=this.scene.add.text(0,0,this.bubbleText,{fontSize:"10px",fontFamily:"monospace",color:"#1a1a2e",backgroundColor:"#ffffff",padding:{x:4,y:2},resolution:2});n.setOrigin(.5,1);const i=this.scene.add.graphics(),r=n.width+8,o=n.height+4;i.fillStyle(16777215,.95),i.fillRoundedRect(-r/2,-o,r,o,4),i.lineStyle(1,6710886,.5),i.strokeRoundedRect(-r/2,-o,r,o,4),t.add([i,n]),t.setDepth(1e5),this.bubbleObj=t}update(t){this.setDepth(this.y),this.bubbleObj&&(this.bubbleObj.setPosition(this.x,this.y-70),this.bubbleTimer>0&&(this.bubbleTimer-=t,this.bubbleTimer<=0&&this.clearBubble())),this.stateTimer>0&&(this.stateTimer-=t,this.stateTimer<=0&&(this.stateTimer=0,this.agentState===rt.CELEBRATE&&this.setAgentState(rt.IDLE),this.agentState===rt.COFFEE&&(this.setAgentState(rt.IDLE),this.wanderTimer=Iy(Sf,wf)),this.agentState===rt.CHAT&&this.setAgentState(rt.IDLE))),this.agentState===rt.WALK&&this.currentPath.length>0&&this.followPath(t)}followPath(t){if(this.body.setVelocity(0,0),this.pathIndex>=this.currentPath.length){this.arriveAtDestination();return}const n=this.currentPath[this.pathIndex],i=n.x*R+R/2,r=n.y*R+R/2,o=i-this.x,a=r-this.y,u=Math.sqrt(o*o+a*a),m=this.getWalkSpeed()*t;if(u<=m+.5){this.x=i,this.y=r,this.pathIndex++,this.pathIndex>=this.currentPath.length&&this.arriveAtDestination();return}this.x+=o/u*m,this.y+=a/u*m,Math.abs(o)>Math.abs(a)?this.setDirection(o>0?Fa.RIGHT:Fa.LEFT):this.setDirection(a>0?Fa.DOWN:Fa.UP)}arriveAtDestination(){this.currentPath=[],this.pathIndex=0,this.body.setVelocity(0,0);const t=this.arrivalCallback;this.arrivalCallback=null,t?t():this.agentState===rt.WALK&&this.setAgentState(rt.IDLE)}destroy(t){this.clearBubble(),super.destroy(t)}}var fg,Dk;function CM(){return Dk||(Dk=1,fg=function(){this.pointsToAvoid={},this.startX,this.callback,this.startY,this.endX,this.endY,this.nodeHash={},this.openList}),fg}var mg,Ok;function jM(){return Ok||(Ok=1,mg=function(e,t,n,i,r){this.parent=e,this.x=t,this.y=n,this.costSoFar=i,this.simpleDistanceToTarget=r,this.bestGuessDistance=function(){return this.costSoFar+this.simpleDistanceToTarget}}),mg}var Cf={exports:{}},EM=Cf.exports,Lk;function NM(){return Lk||(Lk=1,(function(e,t){(function(){var n,i,r,o,a,u,d,m,h,p,g,y,v,k,S;r=Math.floor,p=Math.min,i=function(_,w){return _w?1:0},h=function(_,w,C,N,O){var I;if(C==null&&(C=0),O==null&&(O=i),C<0)throw new Error("lo must be non-negative");for(N==null&&(N=_.length);CA;0<=A?L++:L--)T.push(L);return T}).apply(this).reverse(),D=[],N=0,O=I.length;NM;0<=M?++T:--T)$.push(a(_,C));return $},k=function(_,w,C,N){var O,I,D;for(N==null&&(N=i),O=_[C];C>w;){if(D=C-1>>1,I=_[D],N(O,I)<0){_[C]=I,C=D;continue}break}return _[C]=O},S=function(_,w,C){var N,O,I,D,T;for(C==null&&(C=i),O=_.length,T=w,I=_[w],N=2*w+1;Np[0].length-1||W>p.length-1||B>p[0].length-1||U>p.length-1)throw new Error("Your start or end point is outside the scope of your grid.");if($===B&&W===U){V([]);return}for(var Y=p[U][B],Q=!1,q=0;q"u"){w.shift();continue}if(W.openList.size()===0){W.callback(null),delete _[$],w.shift();continue}var B=W.openList.pop();if(W.endX===B.x&&W.endY===B.y){var U=[];U.push({x:B.x,y:B.y});for(var F=B.parent;F!=null;)U.push({x:F.x,y:F.y}),F=F.parent;U.reverse();var V=U;W.callback(V),delete _[$],w.shift();continue}B.list=r,B.y>0&&I(W,B,0,-1,u*L(B.x,B.y-1)),B.x0&&I(W,B,-1,0,u*L(B.x-1,B.y)),O&&(B.x>0&&B.y>0&&(k||D(p,N,B.x,B.y-1,B)&&D(p,N,B.x-1,B.y,B))&&I(W,B,-1,-1,d*L(B.x-1,B.y-1)),B.x0&&(k||D(p,N,B.x,B.y-1,B)&&D(p,N,B.x+1,B.y,B))&&I(W,B,1,-1,d*L(B.x+1,B.y-1)),B.x>0&&B.y[...n]),this.gridRows=this.grid.length,this.gridCols=this.gridRows>0?this.grid[0].length:0,this.easystar=new RM.js,this.easystar.setGrid(this.grid),this.easystar.setAcceptableTiles([0]),this.easystar.setIterationsPerCalculation(800)}findPath(t,n){return new Promise(i=>{if(t.x<0||t.x>=this.gridCols||t.y<0||t.y>=this.gridRows||n.x<0||n.x>=this.gridCols||n.y<0||n.y>=this.gridRows){i([]);return}if(this.grid[n.y]?.[n.x]===1){const r=this.findNearestWalkable(n.x,n.y);if(!r){i([]);return}n=r}if(this.grid[t.y]?.[t.x]===1){const r=this.findNearestWalkable(t.x,t.y);if(!r){i([]);return}t=r}this.easystar.findPath(t.x,t.y,n.x,n.y,r=>{i(r??[])}),this.easystar.calculate()})}blockTile(t,n){n>=0&&n=0&&t=0&&n=0&&t=this.grid.length||t<0||t<0||t>=this.grid[0].length?!1:this.grid[n][t]===0}getWalkableTiles(){const t=[];for(let n=0;n=r&&e=o&&tMM(`${e.id}-${u.id}`,u.localX+t,u.localY,u.type)),doorways:o.doorways.map(u=>({id:`${e.id}-${u.id}`,tileX:u.localX+t,tileY:u.localY}))}}const i={};for(const[r,o]of e.seats){const a=OM(r,o),u=`${e.id}-${a}`;if(!n[u])continue;i[u]=(i[u]??0)+1;const d=i[u],m=a==="workspace"?"desk":a==="meetingRoom"?"meeting":a==="breakRoom"?"break":a==="leaderOffice"?"leader":"lobby",h=DM(r,o,a);n[u].seats.push(AM(`${e.id}-${m}-${d}`,r+t,o,h))}return n}function Fj(e){const t=e??Mn(),n={};for(const i of t)Object.assign(n,LM(i));return n}let po=Fj();function zM(e){po=Fj(e)}function Vj(e){const t=po[`${e}-workspace`]?.seats??[],n=po[`${e}-leaderOffice`]?.seats??[];return[...t,...n]}function $k(){return Object.values(po).flatMap(e=>e.seats)}function PM(e){const t=po[e];if(!t)return null;const{x:n,y:i,w:r,h:o}=t.bounds,a=e.split("-").slice(0,2).join("-"),d=Mn().find(g=>g.id===a);if(!d)return{x:n+1,y:i+1};const m=Bj(d.mapStr),h=d.offsetCol,p=[];for(let g=i;g=0&&v({x:n.tileX,y:n.tileY})):[]}function Bo(e,t){return e+Math.random()*(t-e)}function BM(e,t){return Math.floor(Bo(e,t+1))}function Hr(e,t){return e.length>t?e.slice(0,t)+"...":e}function Fk(e){if(!e)return"Tool";const t=e.toLowerCase().trim();return t==="shell"?"Shell":t==="write_file"||t==="write"?"Write":t==="edit_file"||t==="edit"?"Edit":t==="read_file"||t==="read"?"Read":t==="grep"||t==="search"?"Search":t==="web_search"||t==="websearch"?"WebSearch":t==="web_fetch"||t==="webfetch"?"Fetch":e.slice(0,12)}class $M{constructor(t){this.pendingDespawn=new Set,this.scene=t}applyEvent(t){const n=t.data??{},i=t.agent_id||"openopc-main";if(i==="user")return;const r=i.startsWith("subagent-"),o=r?typeof n.parent_agent_id=="string"?n.parent_agent_id:"openopc-main":null,a=r?`Sub ${i.slice(-4)}`:void 0,u=this.scene.ensureAgent(i,a,r,o);switch(u.lastEventAt=Date.now(),typeof n.task_preview=="string"&&(u.taskSummary=n.task_preview),typeof n.result_preview=="string"&&(u.taskSummary=n.result_preview),t.type){case"tool_start":this.onToolStart(u,n);break;case"tool_done":this.onToolDone(u,n);break;case"agent_active":this.onAgentActive(u);break;case"waiting":this.onWaiting(u);break;case"reflect_start":this.onReflectStart(u);break;case"reflect_done":this.onReflectDone(u);break;case"skill_synthesized":this.onSkillSynthesized(u,n);break;case"subagent_spawn":this.onSubagentSpawn(u,i,o);break;case"subagent_done":this.onSubagentDone(u,i);break;case"message_in":this.onMessageIn(u,n);break;case"message_out":this.onMessageOut(u,n);break;case"practice_start":this.onPracticeStart(u,n);break;case"practice_done":this.onPracticeDone(u);break;case"task_routed":this.onTaskRouted(u,n);break;case"task_delegated":this.onTaskDelegated(u,i,n);break;case"delegation_done":this.onDelegationDone(u,n);break;case"agent_spawned":this.onAgentSpawned(u,i,n);break;case"agent_removed":this.onAgentRemoved(u,i);break;case"collab_started":this.onCollabStarted(u);break;case"collab_ended":this.onCollabEnded(u);break;case"skill_published":this.onSkillPublished(u,n);break;case"skill_adopted":this.onSkillAdopted(u,n);break;case"mycelium_transport":this.onMyceliumTransport(u,i,n);break;case"mycelium_crystallize":this.onMyceliumCrystallize(u,i,n);break;case"mycelium_spore":this.onMyceliumSpore(u,i,n);break;case"mycelium_decompose":this.onMyceliumDecompose(u,i,n);break;case"mycelium_unit_created":this.onMyceliumUnitCreated(u,n);break;case"mycelium_germinate":this.onMyceliumGerminate(u,i,n);break;case"hyphal_strengthen":this.onHyphalStrengthen(i,n);break;case"hyphal_weaken":this.onHyphalWeaken(i,n);break}}onToolStart(t,n){const i=typeof n.tool_name=="string"?n.tool_name:"tool",r=Fk(i);t.urgency="urgent",t.currentTool=i,t.isActive=!0,t.showBubble(`${r}...`),this.sendToSeat(t)}onToolDone(t,n){const i=typeof n.tool_name=="string"?n.tool_name:t.currentTool,r=Fk(i);t.currentTool=null,t.setAgentState(rt.CELEBRATE),t.stateTimer=Ha,t.isActive=!1,t.showBubble(`${r} done`)}onAgentActive(t){t.urgency="urgent",t.isActive=!0,t.currentTool||this.sendToSeat(t)}onWaiting(t){t.urgency="relaxed",t.isActive=!1,t.currentTool=null,t.showBubble("Waiting");const n=this.moveToZone(t,"breakRoom",rt.COFFEE);n||t.setAgentState(rt.IDLE),n&&(t.stateTimer=Bo(dM,fM))}onReflectStart(t){t.urgency="normal",t.isActive=!1,t.currentTool="Reflect",this.moveToZone(t,"meetingRoom",rt.REFLECT)||t.setAgentState(rt.REFLECT),t.stateTimer=30,t.showBubble("Reflecting...")}onReflectDone(t){t.currentTool=null,t.setAgentState(rt.CELEBRATE),t.stateTimer=Ha,t.showBubble("Insight!")}onSkillSynthesized(t,n){const i=Hr(String(n.skill_name??"new"),20);t.setAgentState(rt.PRESENT),t.showBubble(`New Skill: ${i}`)}onSubagentSpawn(t,n,i){this.placeAtDoorway(t),t.urgency="urgent",t.isActive=!0,t.showBubble("Spawned"),this.sendToSeat(t)}onSubagentDone(t,n){t.urgency="relaxed",t.currentTool=null,t.isActive=!1,t.showBubble("Finished"),this.moveToDoorway(t)?this.pendingDespawn.add(n):this.scene.removeAgent(n)}onMessageIn(t,n){t.urgency="urgent";const i=typeof n.content_preview=="string"?n.content_preview:"";i&&(t.taskSummary=i);const r=i?Hr(i,30):"New task";t.showBubble(r),t.isActive=!0,this.sendToSeat(t)}onMessageOut(t,n){const i=typeof n.content_preview=="string"?n.content_preview:"";i&&(t.taskSummary=i);const r=i?Hr(i,30):"Reply sent";t.showBubble(`Reply: ${r}`)}onPracticeStart(t,n){t.urgency="normal";const i=typeof n.target_domain=="string"?n.target_domain:"Practice";t.showBubble(`Practicing: ${Hr(i,20)}`),t.isActive=!1,t.currentTool="Practice",this.moveToZone(t,"meetingRoom",rt.PRACTICE)||t.setAgentState(rt.PRACTICE)}onPracticeDone(t){t.currentTool=null,t.setAgentState(rt.CELEBRATE),t.stateTimer=Ha,t.showBubble("Practice done!")}onTaskRouted(t,n){t.urgency="urgent";const i=typeof n.method=="string"?n.method:"auto";t.isActive=!0,this.sendToSeat(t),t.showBubble(`Assigned (${i})`)}onTaskDelegated(t,n,i){t.urgency="normal",t.stateTimer=Bo(Nk,Ik);const r=typeof i.target=="string"?i.target:"?";t.setAgentState(rt.CHAT),t.showBubble(`Delegating to ${r}...`);const o=this.scene.getAgent(r);o&&(o.parentAgentId=n,o.showBubble("Receiving task..."))}onDelegationDone(t,n){const i=typeof n.target=="string"?n.target:"";if(t.setAgentState(rt.IDLE),t.showBubble("Delegation complete"),i){const r=this.scene.getAgent(i);r&&(r.parentAgentId=null)}}onAgentSpawned(t,n,i){const r=typeof i.role_name=="string"?i.role_name:n;t.displayName=r,this.placeAtDoorway(t),this.sendToSeat(t),t.showBubble(`${r} joined`)}onAgentRemoved(t,n){t.showBubble("Leaving..."),this.moveToDoorway(t)?this.pendingDespawn.add(n):this.scene.removeAgent(n)}onCollabStarted(t){t.urgency="normal",t.isActive=!1,t.stateTimer=Bo(Nk,Ik),this.moveToZone(t,"meetingRoom",rt.CHAT),t.showBubble("Collaborating...")}onCollabEnded(t){t.stateTimer=Ha,t.setAgentState(rt.CELEBRATE),t.showBubble("Collaboration done!")}onSkillPublished(t,n){const i=Hr(String(n.skill_name??"skill"),20);t.setAgentState(rt.CELEBRATE),t.stateTimer=Ha,t.showBubble(`Published: ${i}`)}onSkillAdopted(t,n){const i=Hr(String(n.skill_name??"skill"),20);t.showBubble(`Adopted: ${i}`)}onMyceliumTransport(t,n,i){const r=typeof i.source=="string"?i.source:n,o=typeof i.target=="string"?i.target:null,a=typeof i.domain=="string"?Hr(i.domain,15):"?",u=this.scene.ensureAgent(r);if(u.myceliumEffect="transport_send",u.myceliumEffectTimer=3,u.showBubble(`-> [${a}]`),o){const d=this.scene.ensureAgent(o);d.myceliumEffect="transport_recv",d.myceliumEffectTimer=2,d.showBubble("Receiving...");const m=d.getTilePos();u.walkTo(m.x,m.y+1)}}onMyceliumCrystallize(t,n,i){const r=Array.isArray(i.corroborating_agents)?i.corroborating_agents:[],o=Hr(String(i.content_preview??"Knowledge"),22),a=Array.from(new Set([n,...r])),u=`${t.officeId}-meetingRoom`,d=po[u]?.seats??[];for(let m=0;m{p.setDirection(y.facing),p.setAgentState(rt.CHAT)}),p.showBubble(h===n?`Crystal: ${o}`:"Crystal!")}}onMyceliumSpore(t,n,i){const r=Hr(String(i.content_preview??"Breakthrough"),20);t.myceliumEffect="spore_send",t.myceliumEffectTimer=4,t.setAgentState(rt.PRESENT),t.showBubble(`Breakthrough! ${r}`),this.moveToZone(t,"breakRoom")}onMyceliumDecompose(t,n,i){const r=Hr(String(i.humus_preview??"Lesson learned"),22);t.myceliumEffect="decompose",t.myceliumEffectTimer=4,t.setAgentState(rt.REFLECT),t.showBubble(`Learning: ${r}`),this.moveToZone(t,"meetingRoom")}onMyceliumUnitCreated(t,n){const i=String(n.nutrient_type??"insight").slice(0,1).toUpperCase();t.showBubble(`[${i}]...`,2)}onMyceliumGerminate(t,n,i){const r=typeof i.target_agent=="string"?i.target_agent:n,o=this.scene.ensureAgent(r);o.myceliumEffect=null,o.setAgentState(rt.CELEBRATE),o.stateTimer=Ha,o.showBubble("Insight took root!")}onHyphalStrengthen(t,n){}onHyphalWeaken(t,n){}updateIdle(t){for(const n of this.scene.agents.values()){if(this.pendingDespawn.has(n.agentId)&&!n.isMoving){this.pendingDespawn.delete(n.agentId),this.scene.removeAgent(n.agentId);continue}if(n.myceliumEffectTimer>0&&(n.myceliumEffectTimer-=t,n.myceliumEffectTimer<=0&&(n.myceliumEffect=null,n.myceliumEffectTimer=0,n.myceliumSession=null)),n.agentState===rt.TYPE&&!n.isActive){n.seatTimer>0?(n.seatTimer-=t,n.seatTimer<=0&&(n.seatTimer=0,n.setAgentState(rt.IDLE),n.wanderCount=0,n.wanderLimit=BM(Oj,Lj),n.wanderTimer=Bo(Sf,wf))):n.setAgentState(rt.IDLE);continue}if(n.agentState===rt.IDLE){if(n.isActive){if(n.urgency="urgent",!n.seatId){n.setAgentState(rt.TYPE);continue}this.sendToSeat(n);continue}if(n.wanderTimer-=t,n.wanderTimer<=0){if(n.wanderCount>=n.wanderLimit&&n.seatId){n.urgency="relaxed",this.sendToSeat(n),n.wanderTimer=Bo(Sf,wf);continue}const i=this.scene.getWalkableTilesForOffice(n.officeId);if(i.length>0){n.urgency="relaxed";const r=i[Math.floor(Math.random()*i.length)];n.walkTo(r.x,r.y),n.wanderCount++}n.wanderTimer=Bo(Sf,wf)}}}}sendToSeat(t){if(!t.seatId)return;const n=this.scene.getSeatById(t.seatId);n&&t.walkTo(n.tileX,n.tileY,()=>{t.setAgentState(rt.TYPE),t.setDirection(n.facing),t.isActive||(t.seatTimer=Tk+Math.random()*Rk)}).then(i=>{i||(t.setAgentState(rt.TYPE),t.setDirection(n.facing),t.isActive||(t.seatTimer=Tk+Math.random()*Rk))})}moveToZone(t,n,i){const r=`${t.officeId}-${n}`,o=po[r];if(!o)return!1;if(o.seats.length>0){const u=new Set;for(const m of this.scene.agents.values()){if(m===t||m.isMoving)continue;const h=m.getTilePos();u.add(`${h.x},${h.y}`)}for(const m of this.scene.agents.values()){if(m===t||!m.isMoving)continue;const h=m.currentPath;if(h?.length){const p=h[h.length-1];u.add(`${p.x},${p.y}`)}}const d=o.seats.find(m=>!u.has(`${m.tileX},${m.tileY}`));if(d)return t.walkTo(d.tileX,d.tileY,()=>{t.setDirection(d.facing),i?t.setAgentState(i):t.setAgentState(rt.IDLE)}),!0}const a=PM(r);return a?(t.walkTo(a.x,a.y,()=>{i?t.setAgentState(i):t.setAgentState(rt.IDLE)}),!0):!1}moveToDoorway(t){const n=Hk(t.officeId);if(n.length===0)return!1;const i=n[Math.floor(Math.random()*n.length)];return t.walkTo(i.x,i.y),!0}placeAtDoorway(t){const n=Hk(t.officeId);if(n.length>0){const i=n[Math.floor(Math.random()*n.length)];t.setPosition(i.x*R+R/2,i.y*R+R/2)}}}class HM extends Pi.Scene{constructor(){super("Office"),this.yachtLoopStarted=!1,this.outdoorIsDay=null,this.agents=new Map,this.seats=[],this.walkableTiles=[],this.walkableTilesByOffice=new Map,this.dragState={pointerId:null,lastX:0,lastY:0,moved:!1}}create(){this.bridge=this.registry.get("bridge");const t=Yc();this.outdoorIsDay=t,this.cameras.main.setBackgroundColor(t?jk:Ek),this.mapBuilder=new zf,this.mapData=this.mapBuilder.buildMap(this,t),this.pathfinder=new Bk(this.mapData.collisionGrid),this.walkableTiles=this.pathfinder.getWalkableTiles(),this.buildWalkableTilesByOffice(),this.seats=$k().map(d=>({...d})),this.behavior=new $M(this);const n=cg*R,i=Ec*R,r=-Wc,o=-el,a=n+Wc*2,u=i+el+il;this.physics.world.setBounds(r,o,a,u),this.cameras.main.setBounds(r,o,a,u),this.resetCameraView(!1),this.startWaterfrontLoop(),this.input.on("pointerdown",d=>{d.leftButtonDown()&&(this.dragState.pointerId=d.id,this.dragState.lastX=d.x,this.dragState.lastY=d.y,this.dragState.moved=!1)}),this.input.on("pointermove",d=>{if(!d.isDown||this.dragState.pointerId!==d.id)return;const m=d.x-this.dragState.lastX,h=d.y-this.dragState.lastY;if(!this.dragState.moved&&Math.abs(d.downX-d.x)+Math.abs(d.downY-d.y)<6)return;this.dragState.moved=!0;const p=this.cameras.main;p.stopFollow(),p.scrollX-=m/p.zoom,p.scrollY-=h/p.zoom,this.dragState.lastX=d.x,this.dragState.lastY=d.y}),this.input.on("wheel",(d,m,h,p)=>{const g=this.cameras.main,y=this.input.activePointer,v=g.getWorldPoint(y.x,y.y),k=this.getMinCameraZoom(g),S=Pi.Math.Clamp(g.zoom-p*.0015,k,3);g.setZoom(S);const _=g.getWorldPoint(y.x,y.y);g.scrollX+=v.x-_.x,g.scrollY+=v.y-_.y,g.scrollX=g.clampX(g.scrollX),g.scrollY=g.clampY(g.scrollY)}),this.scale.on("resize",()=>{const d=this.cameras.main,m=this.getMinCameraZoom(d);d.zoom{if(this.dragState.pointerId!==d.id)return;const m=this.dragState.pointerId===d.id&&this.dragState.moved;if(this.dragState.pointerId=null,this.dragState.moved=!1,m)return;const h=this.cameras.main.getWorldPoint(d.x,d.y);let p=null,g=1/0;for(const y of this.agents.values()){const v=Pi.Math.Distance.Between(h.x,h.y,y.x,y.y);v<24&&vthis.add.circle(Y,5,2.1,14284031,.95));U.add(F),U.setDepth(-250),U.setAlpha(0),U.setRotation(-.04),U.setScale(o),this.tweens.add({targets:[p,g,y],scaleX:{from:.85,to:1.2},alpha:{from:.5,to:.2},duration:900,yoyo:!0,repeat:-1});const V=()=>{U.setPosition(u,a),U.setAlpha(0),U.setRotation(-.04),p.setAlpha(.55),g.setAlpha(.42),y.setAlpha(.24),this.tweens.add({targets:U,x:d,alpha:1,rotation:.015,duration:7200,ease:"Sine.InOut",onComplete:()=>{p.setAlpha(.22),g.setAlpha(.14),y.setAlpha(.08),this.tweens.add({targets:U,x:d+4,y:a+R*.12,duration:1400,yoyo:!0,repeat:2,ease:"Sine.InOut"}),this.time.delayedCall(3600,()=>{p.setAlpha(.48),g.setAlpha(.32),y.setAlpha(.18),this.tweens.add({targets:U,x:m,alpha:0,rotation:-.055,duration:7600,ease:"Sine.InOut",onComplete:()=>{this.time.delayedCall(2400,V)}})})}})};V()}buildWalkableTilesByOffice(){this.walkableTilesByOffice.clear();const t=Mn();for(const n of t){const i=[];for(const r of this.walkableTiles)r.x>=n.offsetCol&&r.xm.id===t);if(!i)return;const r=(i.offsetCol+An/2)*R,o=Ec/2*R,a=this.cameras.main,u=this.getMinCameraZoom(a),d=Pi.Math.Clamp(Math.min(this.scale.width/((An+4)*R),this.scale.height/((Ec-4)*R)),u,Math.max(1.5,u));a.stopFollow(),this.tweens.add({targets:a,zoom:d,duration:380,ease:"Cubic.easeOut"}),a.pan(r,o,380,"Cubic.easeOut")}resolveOfficeForAgent(t){const n=bM(t);if(n)return n.id;const i=Mn();let r=null,o=-1;for(const u of i){const d=Vj(u.id),m=u.assignedAgents.length,h=d.length-m;h>o&&(r=u,o=h)}const a=r?.id??i[0]?.id??"office-0";return ug(a,t),a}addAgent(t,n,i=!1,r=null,o,a,u){if(this.agents.has(t))return this.agents.get(t);const d=n??t,m=a??this.agents.size%6,h=o?(ug(o,t),o):this.resolveOfficeForAgent(t),p=u?this.seats.find(C=>C.id===u&&!C.assigned)??this.findFreeSeatInOffice(h):this.findFreeSeatInOffice(h),v=(Mn().find(C=>C.id===h)?.offsetCol??0)+5,k=20;let S=v,_=k;p&&(S=p.tileX,_=p.tileY,p.assigned=!0,p.assignedTo=t);const w=new wM(this,t,d,m,S,_);return w.officeId=h,w.setPathfinder(this.pathfinder),w.seatId=p?.id??null,w.isSubagent=i,w.parentAgentId=r,p&&(w.setAgentState(rt.TYPE),w.setDirection(p.facing),w.seatTimer=10),this.agents.set(t,w),w}removeAgent(t){const n=this.agents.get(t);if(n){if(n.seatId){const i=this.seats.find(r=>r.id===n.seatId);i&&(i.assigned=!1,i.assignedTo=null)}n.destroy(),this.agents.delete(t);try{const{unassignAgent:i}=require("../map/OfficeStore");i(t)}catch{}}}getAgent(t){return this.agents.get(t)}ensureAgent(t,n,i=!1,r=null,o,a,u){const d=this.agents.get(t);return d?(o&&d.officeId!==o&&this.reassignAgent(t,o),u&&d.seatId!==u&&this.changeAgentSeat(t,u),d):this.addAgent(t,n,i,r,o,a,u)}findFreeSeatInOffice(t){const n=this.seats.filter(i=>i.id.startsWith(`${t}-desk-`)).find(i=>!i.assigned);return n||(this.seats.filter(i=>i.id.startsWith(`${t}-leader-`)).find(i=>!i.assigned)??null)}getSeatById(t){return this.seats.find(n=>n.id===t)}reassignAgent(t,n){const i=this.agents.get(t);if(!i)return;if(i.seatId){const m=this.seats.find(h=>h.id===i.seatId);m&&(m.assigned=!1,m.assignedTo=null)}i.stopMovement(),ug(n,t),i.officeId=n;const r=this.findFreeSeatInOffice(n),u=(Mn().find(m=>m.id===n)?.offsetCol??0)+5,d=20;r?(r.assigned=!0,r.assignedTo=t,i.seatId=r.id,i.setPosition(r.tileX*R+R/2,r.tileY*R+R/2),i.setAgentState(rt.TYPE),i.setDirection(r.facing),i.seatTimer=10):(i.seatId=null,i.setPosition(u*R+R/2,d*R+R/2))}getCharacterCards(){const t=[];for(const n of this.agents.values())t.push({id:n.agentId,displayName:n.displayName,state:n.agentState,currentTool:n.currentTool,isSubagent:n.isSubagent,parentAgentId:n.parentAgentId,taskSummary:n.taskSummary,lastEventAt:n.lastEventAt,officeId:n.officeId,seatId:n.seatId});return t}changeAgentSeat(t,n){const i=this.agents.get(t);if(!i)return;if(i.seatId){const o=this.seats.find(a=>a.id===i.seatId);o&&(o.assigned=!1,o.assignedTo=null)}const r=this.seats.find(o=>o.id===n);!r||r.assigned&&r.assignedTo!==t||(r.assigned=!0,r.assignedTo=t,i.seatId=n,i.stopMovement(),i.setPosition(r.tileX*R+R/2,r.tileY*R+R/2),i.setAgentState(rt.TYPE),i.setDirection(r.facing),i.seatTimer=10)}rebuildOfficeCollision(t,n,i){_M(t,n,i),this.mapData.wallBodies&&this.mapData.wallBodies.clear(!0,!0);const r=Mn(),o=$j(r),a=zf.buildWallBodies(this,o);this.mapData={...this.mapData,wallBodies:a,collisionGrid:o},this.pathfinder=new Bk(o),this.walkableTiles=this.pathfinder.getWalkableTiles(),this.buildWalkableTilesByOffice(),zM(r),this.seats=$k().map(u=>({...u}));for(const u of this.agents.values())u.setPathfinder(this.pathfinder),u.stopMovement();console.log("[OfficeScene] Office collision rebuilt โ€”",t,"walkable:",this.walkableTiles.length)}renameOffice(t,n){yM(t,n),this.mapBuilder.updateLabel(t,n)}checkOutdoorDayNight(){this.applyOutdoorLighting(Yc())}syncOutdoorLighting(){this.applyOutdoorLighting(Yc())}applyOutdoorLighting(t){t!==this.outdoorIsDay&&(this.outdoorIsDay=t,this.cameras.main.setBackgroundColor(t?jk:Ek),this.mapBuilder.refreshOutdoorDayNight(this,t))}getWorldSize(){const t=cg*R,n=Ec*R;return{worldW:t+Wc*2,worldH:n+el+il}}getMinCameraZoom(t){const{worldW:n,worldH:i}=this.getWorldSize();return Math.max(t.width/n,t.height/i)}}function FM({bridge:e,active:t=!0}){const n=E.useRef(null),i=E.useRef(null),r=E.useRef(null),o=E.useRef(t);return o.current=t,E.useEffect(()=>{const a=r.current;!a||!a.loop||(t?a.loop.started&&!a.loop.running&&(a.loop.wake(),a.scale.getParentBounds(),a.scale.refresh()):a.loop.running&&a.loop.sleep())},[t]),E.useEffect(()=>{if(!n.current||!i.current)return;const a=n.current,u=i.current,d=(h,p)=>{console.log("[PhaserGame] Creating Phaser game",h,"ร—",p);const g=pM(u,h,p);g.scene=[xM,HM];const y=new Pi.Game(g);y.registry.set("bridge",e),y.events.once(Pi.Core.Events.READY,()=>{!o.current&&y.loop.running&&y.loop.sleep()}),r.current=y};if(typeof ResizeObserver>"u")return d(a.clientWidth||window.innerWidth-380,a.clientHeight||window.innerHeight-48),()=>{r.current?.destroy(!0),r.current=null};const m=new ResizeObserver(h=>{const p=h[h.length-1].contentRect,g=Math.floor(p.width),y=Math.floor(p.height);if(!(g<1||y<1))if(!r.current)d(g,y);else{const v=r.current.scale;v.getParentBounds(),v.refresh()}});return m.observe(a),()=>{m.disconnect(),r.current?.destroy(!0),r.current=null}},[e]),c.jsx("div",{ref:n,style:{width:"100%",height:"100%"},children:c.jsx("div",{ref:i,style:{width:"100%",height:"100%"}})})}class VM extends Pi.Events.EventEmitter{constructor(){super(),this.scene=null,this.eventQueue=[],this.snapshotQueue=[]}setScene(t){this.scene=t;for(const n of this.snapshotQueue)this.applySnapshot(n);this.snapshotQueue=[];for(const n of this.eventQueue)this.applyEvent(n);this.eventQueue=[]}getScene(){return this.scene}pushEvent(t){if(!this.scene){this.eventQueue.push(t),this.eventQueue.length>500&&this.eventQueue.shift();return}this.applyEvent(t)}pushSnapshot(t){const n=Object.keys(t.agents??{}).length;if(!this.scene){console.log(`[GameBridge] pushSnapshot queued (scene not ready) โ€” ${n} agents`),this.snapshotQueue=[t],this.eventQueue=[];return}console.log(`[GameBridge] pushSnapshot applying now โ€” ${n} agents`),this.applySnapshot(t)}sendToSeat(t){this.scene&&this.scene.behavior.sendToSeat(this.scene.ensureAgent(t))}setAgentActive(t,n){if(!this.scene)return;const i=this.scene.getAgent(t);i&&(i.isActive=n)}setAgentBubble(t,n){if(!this.scene)return;const i=this.scene.getAgent(t);i&&(n?i.showBubble(n):i.clearBubble())}ensureAgent(t,n,i,r,o){this.scene&&this.scene.ensureAgent(t,n,!1,null,i,r,o)}getCharacterCards(){return this.scene?this.scene.getCharacterCards():[]}getOffices(){return Mn()}renameOffice(t,n){this.scene&&(this.scene.renameOffice(t,n),this.emit("officeChanged"))}assignAgentToOffice(t,n){this.scene&&(this.scene.reassignAgent(t,n),this.emit("officeChanged"))}panToOffice(t){this.scene&&this.scene.panToOffice(t)}resetCamera(){this.scene&&this.scene.resetCameraView()}syncOutdoorLighting(){this.scene&&this.scene.syncOutdoorLighting()}rebuildOfficeCollision(t,n,i){this.scene&&this.scene.rebuildOfficeCollision(t,n,i)}getSeatsForOffice(t){return this.scene?this.scene.seats.filter(n=>n.id.startsWith(`${t}-desk-`)||n.id.startsWith(`${t}-leader-`)).map(n=>({id:n.id,assigned:n.assigned,assignedTo:n.assignedTo})):[]}changeAgentSeat(t,n){this.scene&&(this.scene.changeAgentSeat(t,n),this.emit("officeChanged"))}notifyChannelMessage(t,n){if(this.scene)for(const i of t){const r=this.scene.getAgent(i);r&&(r.showBubble(n.slice(0,30)),setTimeout(()=>r.clearBubble(),4e3))}}triggerCrossOfficeMeeting(t){if(this.scene)for(const n of t){const i=this.scene.getAgent(n);i&&this.scene.behavior.moveToZone(i,"meetingRoom")}}triggerCelebration(t){if(!this.scene)return;const n=this.scene.getAgent(t);n&&(n.showBubble("๐ŸŽ‰ Done!"),setTimeout(()=>n.clearBubble(),3e3))}applyEvent(t){this.scene&&(this.scene.behavior.applyEvent(t),this.emit("eventApplied",t))}applySnapshot(t){if(!this.scene){console.warn("[GameBridge] applySnapshot called but scene is null");return}const n=Array.from(this.scene.agents.keys());console.log("[GameBridge] applySnapshot โ€” clearing",n.length,"old agents:",n);for(const o of n)this.scene.removeAgent(o);const i=t.timeline??[];for(const o of i)this.scene.behavior.applyEvent(o);const r=Object.entries(t.agents??{});console.log("[GameBridge] applySnapshot โ€” adding",r.length,"agents:",r.map(([o])=>o));for(const[o,a]of r){const u=a,d=u.name||u.role_name||o,m=u.office_id,h=u.appearance?.palette,p=u.appearance?.desk_id;try{const g=this.scene.ensureAgent(o,d,!1,null,m,h,p),y=u.runtime_status||u.status;y==="tool_active"?(g.currentTool=u.current_tool??null,g.isActive=!0,g.setAgentState(rt.TYPE)):y==="reflecting"&&(g.currentTool=u.current_tool??"Reflect",g.isActive=!1,g.setAgentState(rt.REFLECT)),console.log(`[GameBridge] โœ“ ensured ${o} in ${m} palette=${h}`)}catch(g){console.error(`[GameBridge] โœ— ensureAgent failed for ${o}:`,g)}}i.length===0&&r.length===0&&(console.warn("[GameBridge] applySnapshot โ€” empty snapshot, creating fallback agent"),this.scene.ensureAgent("openopc-main","OpenOPC")),console.log("[GameBridge] applySnapshot done โ€” total agents:",this.scene.agents.size),this.emit("snapshotApplied",t)}}const UM="assets/office-bg.png";function GM({bridge:e}){const t=E.useRef(null),n=E.useRef(null),i=E.useRef(!1),[r,o]=E.useState(()=>Mn()),[a,u]=E.useState(()=>Mn()[0]?.id??"office-0"),d=r.find(te=>te.id===a)??r[0],[m,h]=E.useState(()=>dg(d?.mapStr??Xc,An,Zi)),[p,g]=E.useState(()=>[...d?.seats??Kc]),[y,v]=E.useState("wall"),[k,S]=E.useState(!1),[_,w]=E.useState(!1),[C,N]=E.useState(!1),[O,I]=E.useState(1),[D,T]=E.useState(!0),L=An,A=Zi,M=te=>{const ie=Mn();o(ie),u(te);const oe=ie.find(fe=>fe.id===te);oe&&(h(dg(oe.mapStr,An,Zi)),g([...oe.seats])),N(!1)};E.useEffect(()=>{const te=new Image;te.crossOrigin="anonymous",te.onload=()=>{n.current=te,S(!0)},te.onerror=()=>{n.current=null,S(!0)},te.src=UM},[]);const $=E.useCallback(()=>{const te=t.current;if(!te)return;const ie=te.getContext("2d");if(!ie)return;const oe=L*R,fe=A*R;te.width=oe,te.height=fe,ie.clearRect(0,0,oe,fe),n.current?ie.drawImage(n.current,0,0,oe,fe):(ie.fillStyle="#3d3d3d",ie.fillRect(0,0,oe,fe));for(let se=0;se{$()},[$]);const W=te=>{const ie=t.current;if(!ie)return null;const oe=ie.getBoundingClientRect(),fe=ie.width/oe.width,se=ie.height/oe.height,_e=Math.floor((te.clientX-oe.left)*fe/R),we=Math.floor((te.clientY-oe.top)*se/R);return _e<0||_e>=L||we<0||we>=A?null:{c:_e,r:we}},B=E.useCallback((te,ie)=>{if(N(!1),y==="seat")g(oe=>{const fe=oe.findIndex(([se,_e])=>se===te&&_e===ie);return fe>=0?oe.filter((se,_e)=>_e!==fe):[...oe,[te,ie]]}),h(oe=>{if(oe[ie]?.[te]===1){const fe=oe.map(se=>[...se]);return fe[ie][te]=0,fe}return oe});else{const oe=y==="wall"?1:0;h(fe=>{if(fe[ie]?.[te]===oe)return fe;const se=fe.map(_e=>[..._e]);return se[ie][te]=oe,se}),y==="wall"&&g(fe=>fe.filter(([se,_e])=>!(se===te&&_e===ie)))}},[y]),U=te=>{if(te.button!==0)return;i.current=!0;const ie=W(te);ie&&B(ie.c,ie.r)},F=te=>{if(!i.current||y==="seat")return;const ie=W(te);ie&&B(ie.c,ie.r)},V=()=>{i.current=!1},Y=()=>{const te=Mk(m);e.rebuildOfficeCollision(a,te,p),N(!0),o(Mn()),setTimeout(()=>N(!1),2e3)},Q=()=>w(te=>!te),q=()=>{h(dg(Xc,An,Zi)),g([...Kc]),N(!1)},G=(()=>{const ie=Mk(m).map((fe,se)=>` '${fe}', // ${se}`).join(` -`),oe=p.map(([fe,se])=>` [${fe}, ${se}],`).join(` -`);return`const MAP_STR: string[] = [ -${ie} -] - -const SEATS: [number, number][] = [ -${oe} -]`})(),J=()=>I(te=>Math.min(te+.25,3)),P=()=>I(te=>Math.max(te-.25,.5)),K=m.flat().filter(te=>te===1).length,ee=m.flat().filter(te=>te===0).length;return c.jsxs("div",{className:"collision-editor",children:[c.jsxs("div",{className:"ce-toolbar",children:[c.jsxs("div",{className:"ce-toolbar-group",children:[c.jsx("span",{className:"ce-title",children:"Map Editor"}),c.jsx("select",{className:"ce-office-select",value:a,onChange:te=>M(te.target.value),children:r.map(te=>c.jsx("option",{value:te.id,children:te.name},te.id))})]}),c.jsxs("div",{className:"ce-toolbar-group",children:[c.jsxs("button",{className:`ce-mode-btn ${y==="wall"?"active wall":""}`,onClick:()=>v("wall"),children:[c.jsx("span",{className:"ce-mode-dot wall"})," Wall"]}),c.jsxs("button",{className:`ce-mode-btn ${y==="floor"?"active floor":""}`,onClick:()=>v("floor"),children:[c.jsx("span",{className:"ce-mode-dot floor"})," Floor"]}),c.jsxs("button",{className:`ce-mode-btn ${y==="seat"?"active seat":""}`,onClick:()=>v("seat"),children:[c.jsx("span",{className:"ce-mode-dot seat"})," Seat"]})]}),c.jsxs("div",{className:"ce-toolbar-group",children:[c.jsx("button",{className:"ce-btn",onClick:P,children:"-"}),c.jsxs("span",{className:"ce-zoom-label",children:[Math.round(O*100),"%"]}),c.jsx("button",{className:"ce-btn",onClick:J,children:"+"}),c.jsx("button",{className:`ce-btn${D?" active":""}`,onClick:()=>T(te=>!te),children:"Grid"})]}),c.jsxs("div",{className:"ce-toolbar-group",children:[c.jsx("button",{className:`ce-btn apply${C?" success":""}`,onClick:Y,children:C?"Applied":"Apply"}),c.jsx("button",{className:`ce-btn${_?" active":""}`,onClick:Q,children:"Export"}),c.jsx("button",{className:"ce-btn danger",onClick:q,children:"Reset"})]}),c.jsxs("div",{className:"ce-toolbar-group ce-stats",children:[c.jsxs("span",{children:["Walls: ",K]}),c.jsxs("span",{children:["Floor: ",ee]}),c.jsxs("span",{children:["Seats: ",p.length]})]})]}),c.jsxs("div",{className:"ce-body",children:[c.jsx("div",{className:"ce-canvas-wrap",style:{overflow:"auto"},children:c.jsx("canvas",{ref:t,style:{width:L*R*O,height:A*R*O,imageRendering:"pixelated",cursor:y==="seat"?"crosshair":"cell"},onMouseDown:U,onMouseMove:F,onMouseUp:V,onMouseLeave:V})}),_&&c.jsxs("div",{className:"ce-export-panel",children:[c.jsxs("div",{className:"ce-export-header",children:[c.jsx("span",{children:"Export โ€” copy to source code"}),c.jsx("button",{className:"ce-btn",onClick:()=>navigator.clipboard.writeText(G),children:"Copy"})]}),c.jsx("textarea",{className:"ce-export-textarea",value:G,readOnly:!0,rows:20})]})]})]})}let qM=0;function Qn(e,t,n={}){return{event_id:`test-${++qM}`,type:e,agent_id:t,data:n,timestamp:Date.now()/1e3}}function kn(e){return new Promise(t=>setTimeout(t,e))}async function WM(e){const t=[],n=e.getScene();if(!n)return t.push({name:"scene-ready",pass:!1,detail:"OfficeScene not initialized"}),t;console.log("%c[EventTest] Starting full event test suite (multi-office)...","color: #6366f1; font-weight: bold");for(const M of[...n.agents.keys()])n.removeAgent(M);await kn(100);const i=Mn();t.push({name:"offices-loaded",pass:i.length>=3,detail:`${i.length} offices loaded: ${i.map(M=>M.name).join(", ")}`});const r=["agent-A","agent-B","agent-C","agent-D","agent-E","agent-F"];for(const M of r)e.pushEvent(Qn("agent_active",M));await kn(300);const o=new Set;let a=!1;for(const M of r){const $=n.getAgent(M);$&&$.seatId&&(o.has($.seatId)&&(a=!0),o.add($.seatId))}t.push({name:"desk-assignment-unique",pass:!a&&o.size===r.length,detail:`Assigned ${o.size} unique seats to ${r.length} agents. IDs: [${[...o].join(", ")}]`});const u=r.every(M=>n.getAgent(M)?.officeId!=null);t.push({name:"agents-have-officeId",pass:u,detail:r.map(M=>`${M}=${n.getAgent(M)?.officeId}`).join(", ")}),e.pushEvent(Qn("tool_start","agent-A",{tool_name:"shell"})),await kn(200);const d=n.getAgent("agent-A");t.push({name:"tool_start-state",pass:d.isActive===!0&&d.currentTool==="shell",detail:`isActive=${d.isActive}, currentTool=${d.currentTool}`}),e.pushEvent(Qn("tool_done","agent-A",{tool_name:"shell"})),await kn(100),t.push({name:"tool_done-celebrate",pass:d.agentState==="celebrate",detail:`state=${d.agentState}`});for(let M=0;M<20&&d.agentState==="celebrate";M++)await kn(500);t.push({name:"celebrate-to-idle",pass:d.agentState!=="celebrate",detail:`state=${d.agentState}`}),e.pushEvent(Qn("waiting","agent-B")),await kn(200);const m=n.getAgent("agent-B");t.push({name:"waiting-state",pass:m.isActive===!1&&(m.agentState==="walk"||m.agentState==="idle"||m.agentState==="coffee"),detail:`isActive=${m.isActive}, state=${m.agentState}`}),e.pushEvent(Qn("reflect_start","agent-C")),await kn(200);const h=n.getAgent("agent-C");t.push({name:"reflect_start-state",pass:h.currentTool==="Reflect"&&(h.agentState==="walk"||h.agentState==="reflect"),detail:`currentTool=${h.currentTool}, state=${h.agentState}`}),e.pushEvent(Qn("reflect_done","agent-C")),await kn(100),t.push({name:"reflect_done-celebrate",pass:h.agentState==="celebrate",detail:`state=${h.agentState}`});const p=["agent-A","agent-B","agent-C","agent-D"];for(const M of p)e.pushEvent(Qn("collab_started",M));await kn(4e3);const g=new Map;let y=!1;for(const M of p){const $=n.getAgent(M);if(!$)continue;const W=$.getTilePos(),B=`${W.x},${W.y}`;g.has(B)&&(y=!0),g.set(B,M)}t.push({name:"collab-no-overlap",pass:!y,detail:`${p.length} agents, ${g.size} unique positions`});for(const M of p)e.pushEvent(Qn("collab_ended",M));await kn(100);const v=p.every(M=>n.getAgent(M)?.agentState==="celebrate");t.push({name:"collab_ended-celebrate",pass:v,detail:p.map(M=>`${M}=${n.getAgent(M)?.agentState}`).join(", ")}),await kn(3e3),e.pushEvent(Qn("practice_start","agent-E",{target_domain:"TypeScript"})),await kn(200);const k=n.getAgent("agent-E");t.push({name:"practice_start-state",pass:k.currentTool==="Practice"&&(k.agentState==="walk"||k.agentState==="practice"),detail:`currentTool=${k.currentTool}, state=${k.agentState}`}),e.pushEvent(Qn("practice_done","agent-E")),await kn(100),t.push({name:"practice_done-celebrate",pass:k.agentState==="celebrate",detail:`state=${k.agentState}`}),await kn(3e3),e.pushEvent(Qn("task_delegated","agent-A",{target:"agent-B"})),await kn(100),t.push({name:"task_delegated-chat",pass:d.agentState==="chat",detail:`state=${d.agentState}`}),e.pushEvent(Qn("delegation_done","agent-A",{target:"agent-B"})),await kn(300),t.push({name:"delegation_done-return",pass:["idle","walk","type"].includes(d.agentState),detail:`state=${d.agentState}`});const S=n.getAgent("agent-F");e.pushEvent(Qn("message_in","agent-F",{content_preview:"Hello test"})),await kn(200),t.push({name:"message_in-active",pass:S.isActive===!0,detail:`isActive=${S.isActive}, state=${S.agentState}`}),e.pushEvent(Qn("message_out","agent-F",{content_preview:"Reply test"})),await kn(100),t.push({name:"message_out-bubble",pass:S.bubbleText?.includes("Reply")===!0,detail:`bubble="${S.bubbleText}"`}),e.pushEvent(Qn("subagent_spawn","subagent-test-1",{parent_agent_id:"agent-A"})),await kn(200);const _=n.getAgent("subagent-test-1");t.push({name:"subagent_spawn-created",pass:_!=null&&_.isSubagent===!0,detail:`created=${!!_}, isSubagent=${_?.isSubagent}`}),e.pushEvent(Qn("subagent_done","subagent-test-1")),await kn(5e3),t.push({name:"subagent_done-removed",pass:n.getAgent("subagent-test-1")==null,detail:`still exists=${!!n.getAgent("subagent-test-1")}`}),e.pushEvent(Qn("task_routed","agent-E",{method:"auto"})),await kn(200),t.push({name:"task_routed-active",pass:k.isActive===!0,detail:`isActive=${k.isActive}, state=${k.agentState}`}),e.pushEvent(Qn("agent_removed","agent-F")),await kn(5e3),t.push({name:"agent_removed-destroyed",pass:n.getAgent("agent-F")==null,detail:`still exists=${!!n.getAgent("agent-F")}`}),e.pushEvent(Qn("mycelium_crystallize","agent-A",{corroborating_agents:["agent-B","agent-C"],content_preview:"Shared knowledge"})),await kn(4e3);const w=new Map;let C=!1;for(const M of["agent-A","agent-B","agent-C"]){const $=n.getAgent(M);if(!$)continue;const W=$.getTilePos(),B=`${W.x},${W.y}`;w.has(B)&&(C=!0),w.set(B,M)}t.push({name:"crystal-no-overlap",pass:!C,detail:`3 agents, ${w.size} unique positions`});const N=new Map;let O=!1;for(const M of n.agents.values())M.seatId&&(N.has(M.seatId)&&(O=!0),N.set(M.seatId,M.agentId));t.push({name:"desk-seat-no-conflict",pass:!O,detail:`${N.size} desk seats assigned, conflict=${O}`});const I=n.getAgent("agent-D");if(I){const M=I.officeId,$=i.find(B=>B.id!==M)??i[1];e.assignAgentToOffice("agent-D",$.id),await kn(300);const W=I.officeId;t.push({name:"reassign-office",pass:W===$.id&&W!==M,detail:`${M} โ†’ ${W} (expected ${$.id})`})}else t.push({name:"reassign-office",pass:!1,detail:"agent-D not found"});const D=new Map;let T=!1;for(const M of n.agents.values())M.seatId&&(D.has(M.seatId)&&(T=!0),D.set(M.seatId,M.agentId));t.push({name:"cross-office-seat-unique",pass:!T,detail:`${D.size} seats, conflict=${T}`});const L=t.filter(M=>M.pass).length,A=t.filter(M=>!M.pass).length;console.log(""),console.log("%c[EventTest] โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•","color: #6366f1; font-weight: bold"),console.log(`%c[EventTest] Results: ${L} passed, ${A} failed, ${t.length} total`,`color: ${A>0?"#f87171":"#34d399"}; font-weight: bold`),console.log("%c[EventTest] โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•","color: #6366f1; font-weight: bold");for(const M of t){const $=M.pass?"โœ…":"โŒ",W=M.pass?"color: #34d399":"color: #f87171; font-weight: bold";console.log(`%c ${$} ${M.name}: ${M.detail}`,W)}return t}function YM(e){window.__runEventTests=()=>WM(e),window.__bridge=e,console.log("%c[EventTest] Test runner ready. Run: window.__runEventTests()","color: #fbbf24; font-weight: bold")}const XM={queued:"todo",ready:"todo",ready_for_rework:"todo",waiting_dependencies:"todo",running:"in-progress",waiting_for_peer:"in-progress",waiting_for_children:"in-progress",paused:"in-progress",needs_attention:"in-progress",awaiting_manager_review:"in-review",awaiting_human:"in-review",approved:"done",failed:"done",cancelled:"done"};function KM(e){return e?XM[e]??"todo":"todo"}function ZM(){return`${Date.now()}-${Math.random().toString(36).slice(2,7)}`}function QM(e,t){switch(t.type){case"SET":return t.boards;case"UPDATE_NAME":return e.map(n=>n.id===t.boardId?{...n,name:t.name}:n);default:return e}}function JM(e,t){return t.type==="SET"?t.columns:e}function e4(e,t){const n=Date.now();switch(t.type){case"SET":return t.tasks;case"ADD":return e.some(i=>i.id===t.task.id)?e:[...e,t.task];case"UPDATE":return e.map(i=>i.id===t.id?{...i,...t.partial,updatedAt:n}:i);case"DELETE":return e.filter(i=>i.id!==t.id);case"MOVE":return e.map(i=>i.id===t.id?{...i,columnId:t.columnId,sortOrder:t.sortOrder,updatedAt:n}:i);case"ASSIGN":return e.map(i=>i.id===t.taskId?{...i,assigneeIds:t.agentIds,updatedAt:n}:i);case"REMOVE_ASSIGNEE":return e.map(i=>i.assigneeIds.includes(t.agentId)?{...i,assigneeIds:i.assigneeIds.filter(r=>r!==t.agentId),updatedAt:n}:i);default:return e}}function t4(){const[e,t]=E.useReducer(QM,[]),[n,i]=E.useReducer(JM,[]),[r,o]=E.useReducer(e4,[]),[a,u]=E.useState(null),[d,m]=E.useState("default"),h=E.useMemo(()=>e.find(D=>D.id===a)??null,[e,a]),p=E.useMemo(()=>n.filter(D=>D.boardId===a).sort((D,T)=>D.sortOrder-T.sortOrder),[n,a]),g=E.useMemo(()=>{const D=r.filter(L=>L.boardId===a),T={};for(const L of p)T[L.id]=[];for(const L of D){const A=L.phase?KM(L.phase):L.columnId;T[A]&&T[A].push(L)}for(const L of Object.keys(T))T[L].sort((A,M)=>A.sortOrder-M.sortOrder);return T},[r,a,p]),y=E.useCallback(D=>{const T=e.find($=>$.id===D.boardId),L=T?.nextTaskNum??1,A=T?.prefix??"T",M={id:D.taskId??`task-${ZM()}`,displayId:D.displayId??`${A}-${String(L).padStart(3,"0")}`,boardId:D.boardId,columnId:D.columnId,title:D.title,description:D.description,priority:D.priority??null,assigneeIds:D.assigneeIds??[],tags:D.tags??[],sortOrder:L,createdAt:Date.now(),updatedAt:Date.now()};return o({type:"ADD",task:M}),M},[e]),v=E.useCallback((D,T)=>o({type:"UPDATE",id:D,partial:T}),[]),k=E.useCallback(D=>o({type:"DELETE",id:D}),[]),S=E.useCallback((D,T,L)=>o({type:"MOVE",id:D,columnId:T,sortOrder:L}),[]),_=E.useCallback((D,T)=>o({type:"ASSIGN",taskId:D,agentIds:T}),[]),w=E.useCallback(()=>{const D=new Set(n.filter(T=>T.isTerminal).map(T=>T.id));return r.filter(T=>!D.has(T.columnId)).length},[r,n]),C=E.useCallback(D=>{o({type:"REMOVE_ASSIGNEE",agentId:D})},[]),N=E.useCallback((D,T,L,A,M)=>{const $=D||"default",W=$!==d,B=!W&&!!M?.preserveTasksWhenIncomingEmpty&&A.length===0;m($),t({type:"SET",boards:T}),i({type:"SET",columns:L}),o({type:"SET",tasks:B?r:A}),u(U=>!W&&U&&T.some(F=>F.id===U)?U:null)},[d,r]),O=E.useCallback(D=>{u(D)},[]),I=E.useCallback((D,T)=>{t({type:"UPDATE_NAME",boardId:D,name:T})},[]);return E.useMemo(()=>({scopeProjectId:d,boards:e,columns:n,tasks:r,activeBoardId:a,activeBoard:h,activeBoardColumns:p,tasksByColumn:g,setActiveBoard:O,createTask:y,updateTask:v,deleteTask:k,moveTask:S,assignTask:_,dispatchTask:o,getOpenTaskCount:w,removeAssignee:C,initFromBackend:N,updateBoardName:I}),[d,e,n,r,a,h,p,g,O,y,v,k,S,_,o,w,C,N,I])}const Vk={done:"โœ“",failed:"โœ—",pending:"โ—‹",blocked:"โ– ",cancelled:"โ€”",running:"โ–ถ"},Uk={done:"var(--green, #27ae60)",failed:"var(--red, #e74c3c)",pending:"var(--text-secondary, #888)",blocked:"var(--yellow, #f39c12)",cancelled:"var(--text-dim, #555)",running:"var(--accent, #3498db)"};function n4({data:e,onResume:t,onCancel:n}){const[i,r]=E.useState(new Set);if(!e.interrupted.length&&!e.active_recoveries.length)return null;const o=e.interrupted.filter(a=>!i.has(a.parent_task_id));return!o.length&&!e.active_recoveries.length?null:c.jsx("div",{className:"wfr-panel",children:o.map(a=>{const u=e.active_recoveries.includes(a.parent_task_id),d=a.work_items.filter(h=>h.status==="done").length,m=a.work_items.filter(h=>h.interrupted||h.status==="failed").length;return c.jsxs("div",{className:"wfr-card",children:[c.jsxs("div",{className:"wfr-header",children:[c.jsx("span",{className:"wfr-icon",children:"โš "}),c.jsxs("div",{className:"wfr-header-text",children:[c.jsxs("span",{className:"wfr-title",children:["Interrupted: ",a.title]}),c.jsxs("span",{className:"wfr-subtitle",children:[d,"/",a.work_items.length," work items done, ",m," interrupted",a.profile&&c.jsxs(c.Fragment,{children:[" ยท ",a.profile]})]})]})]}),c.jsx("div",{className:"wfr-work-items",children:a.work_items.map(h=>c.jsxs("div",{className:`wfr-work-item wfr-work-item--${h.status}`,children:[c.jsx("span",{className:"wfr-work-item-icon",style:{color:Uk[h.status]||Uk.pending},children:Vk[h.status]||Vk.pending}),c.jsx("span",{className:"wfr-work-item-title",children:h.title}),h.interrupted&&c.jsx("span",{className:"wfr-work-item-badge",children:"interrupted"})]},h.work_item_projection_id))}),c.jsx("div",{className:"wfr-actions",children:u?c.jsxs("span",{className:"wfr-recovering",children:[c.jsx("span",{className:"spinner-inline"})," Recovering..."]}):c.jsxs(c.Fragment,{children:[c.jsx("button",{className:"wfr-btn wfr-btn--resume",onClick:()=>t(a.parent_task_id),children:"Resume"}),c.jsx("button",{className:"wfr-btn wfr-btn--cancel",onClick:()=>n(a.parent_task_id),children:"Cancel"}),c.jsx("button",{className:"wfr-btn wfr-btn--dismiss",onClick:()=>r(h=>new Set(h).add(a.parent_task_id)),children:"Dismiss"})]})})]},a.parent_task_id)})})}var Sm=Mj();const i4=ta(Sm);function Va(e,t,n){let i=n.initialDeps??[],r,o=!0;function a(){var u,d,m;let h;n.key&&((u=n.debug)!=null&&u.call(n))&&(h=Date.now());const p=e();if(!(p.length!==i.length||p.some((v,k)=>i[k]!==v)))return r;i=p;let y;if(n.key&&((d=n.debug)!=null&&d.call(n))&&(y=Date.now()),r=t(...p),n.key&&((m=n.debug)!=null&&m.call(n))){const v=Math.round((Date.now()-h)*100)/100,k=Math.round((Date.now()-y)*100)/100,S=k/16,_=(w,C)=>{for(w=String(w);w.length{i=u},a}function Gk(e,t){if(e===void 0)throw new Error("Unexpected undefined");return e}const r4=(e,t)=>Math.abs(e-t)<1.01,s4=(e,t,n)=>{let i;return function(...r){e.clearTimeout(i),i=e.setTimeout(()=>t.apply(this,r),n)}},qk=e=>{const{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},o4=e=>e,a4=e=>{const t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1),i=[];for(let r=t;r<=n;r++)i.push(r);return i},l4=(e,t)=>{const n=e.scrollElement;if(!n)return;const i=e.targetWindow;if(!i)return;const r=a=>{const{width:u,height:d}=a;t({width:Math.round(u),height:Math.round(d)})};if(r(qk(n)),!i.ResizeObserver)return()=>{};const o=new i.ResizeObserver(a=>{const u=()=>{const d=a[0];if(d?.borderBoxSize){const m=d.borderBoxSize[0];if(m){r({width:m.inlineSize,height:m.blockSize});return}}r(qk(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(u):u()});return o.observe(n,{box:"border-box"}),()=>{o.unobserve(n)}},Wk={passive:!0},Yk=typeof window>"u"?!0:"onscrollend"in window,c4=(e,t)=>{const n=e.scrollElement;if(!n)return;const i=e.targetWindow;if(!i)return;let r=0;const o=e.options.useScrollendEvent&&Yk?()=>{}:s4(i,()=>{t(r,!1)},e.options.isScrollingResetDelay),a=h=>()=>{const{horizontal:p,isRtl:g}=e.options;r=p?n.scrollLeft*(g&&-1||1):n.scrollTop,o(),t(r,h)},u=a(!0),d=a(!1);n.addEventListener("scroll",u,Wk);const m=e.options.useScrollendEvent&&Yk;return m&&n.addEventListener("scrollend",d,Wk),()=>{n.removeEventListener("scroll",u),m&&n.removeEventListener("scrollend",d)}},u4=(e,t,n)=>{if(t?.borderBoxSize){const i=t.borderBoxSize[0];if(i)return Math.round(i[n.options.horizontal?"inlineSize":"blockSize"])}return e[n.options.horizontal?"offsetWidth":"offsetHeight"]},d4=(e,{adjustments:t=0,behavior:n},i)=>{var r,o;const a=e+t;(o=(r=i.scrollElement)==null?void 0:r.scrollTo)==null||o.call(r,{[i.options.horizontal?"left":"top"]:a,behavior:n})};class f4{constructor(t){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.now=()=>{var n,i,r;return((r=(i=(n=this.targetWindow)==null?void 0:n.performance)==null?void 0:i.now)==null?void 0:r.call(i))??Date.now()},this.observer=(()=>{let n=null;const i=()=>n||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:n=new this.targetWindow.ResizeObserver(r=>{r.forEach(o=>{const a=()=>{const u=o.target,d=this.indexFromElement(u);if(!u.isConnected){this.observer.unobserve(u);return}this.shouldMeasureDuringScroll(d)&&this.resizeItem(d,this.options.measureElement(u,o,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(a):a()})}));return{disconnect:()=>{var r;(r=i())==null||r.disconnect(),n=null},observe:r=>{var o;return(o=i())==null?void 0:o.observe(r,{box:"border-box"})},unobserve:r=>{var o;return(o=i())==null?void 0:o.unobserve(r)}}})(),this.range=null,this.setOptions=n=>{Object.entries(n).forEach(([i,r])=>{typeof r>"u"&&delete n[i]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:o4,rangeExtractor:a4,onChange:()=>{},measureElement:u4,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...n}},this.notify=n=>{var i,r;(r=(i=this.options).onChange)==null||r.call(i,this,n)},this.maybeNotify=Va(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),n=>{this.notify(n)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(n=>n()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var n;const i=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==i){if(this.cleanup(),!i){this.maybeNotify();return}this.scrollElement=i,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((n=this.scrollElement)==null?void 0:n.window)??null,this.elementsCache.forEach(r=>{this.observer.observe(r)}),this.unsubs.push(this.options.observeElementRect(this,r=>{this.scrollRect=r,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(r,o)=>{this.scrollAdjustments=0,this.scrollDirection=o?this.getScrollOffset()this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(n,i)=>{const r=new Map,o=new Map;for(let a=i-1;a>=0;a--){const u=n[a];if(r.has(u.lane))continue;const d=o.get(u.lane);if(d==null||u.end>d.end?o.set(u.lane,u):u.enda.end===u.end?a.index-u.index:a.end-u.end)[0]:void 0},this.getMeasurementOptions=Va(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes],(n,i,r,o,a,u)=>(this.prevLanes!==void 0&&this.prevLanes!==u&&(this.lanesChangedFlag=!0),this.prevLanes=u,this.pendingMeasuredCacheIndexes=[],{count:n,paddingStart:i,scrollMargin:r,getItemKey:o,enabled:a,lanes:u}),{key:!1}),this.getMeasurements=Va(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:n,paddingStart:i,scrollMargin:r,getItemKey:o,enabled:a,lanes:u},d)=>{if(!a)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>n)for(const g of this.laneAssignments.keys())g>=n&&this.laneAssignments.delete(g);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(g=>{this.itemSizeCache.set(g.key,g.size)}));const m=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===n&&(this.lanesSettling=!1);const h=this.measurementsCache.slice(0,m),p=new Array(u).fill(void 0);for(let g=0;g1){k=v;const N=p[k],O=N!==void 0?h[N]:void 0;S=O?O.end+this.options.gap:i+r}else{const N=this.options.lanes===1?h[g-1]:this.getFurthestMeasurement(h,g);S=N?N.end+this.options.gap:i+r,k=N?N.lane:g%this.options.lanes,this.options.lanes>1&&this.laneAssignments.set(g,k)}const _=d.get(y),w=typeof _=="number"?_:this.options.estimateSize(g),C=S+w;h[g]={index:g,start:S,size:w,end:C,key:y,lane:k},p[k]=g}return this.measurementsCache=h,h},{key:!1,debug:()=>this.options.debug}),this.calculateRange=Va(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(n,i,r,o)=>this.range=n.length>0&&i>0?m4({measurements:n,outerSize:i,scrollOffset:r,lanes:o}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Va(()=>{let n=null,i=null;const r=this.calculateRange();return r&&(n=r.startIndex,i=r.endIndex),this.maybeNotify.updateDeps([this.isScrolling,n,i]),[this.options.rangeExtractor,this.options.overscan,this.options.count,n,i]},(n,i,r,o,a)=>o===null||a===null?[]:n({startIndex:o,endIndex:a,overscan:i,count:r}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=n=>{const i=this.options.indexAttribute,r=n.getAttribute(i);return r?parseInt(r,10):(console.warn(`Missing attribute name '${i}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=n=>{var i;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;const r=this.scrollState.index??((i=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:i.index);if(r!==void 0&&this.range){const o=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),a=Math.max(0,r-o),u=Math.min(this.options.count-1,r+o);return n>=a&&n<=u}return!0},this.measureElement=n=>{if(!n){this.elementsCache.forEach((a,u)=>{a.isConnected||(this.observer.unobserve(a),this.elementsCache.delete(u))});return}const i=this.indexFromElement(n),r=this.options.getItemKey(i),o=this.elementsCache.get(r);o!==n&&(o&&this.observer.unobserve(o),this.observer.observe(n),this.elementsCache.set(r,n)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(i)&&this.resizeItem(i,this.options.measureElement(n,void 0,this))},this.resizeItem=(n,i)=>{var r;const o=this.measurementsCache[n];if(!o)return;const a=this.itemSizeCache.get(o.key)??o.size,u=i-a;u!==0&&(((r=this.scrollState)==null?void 0:r.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(o,u,this):o.start[this.getVirtualIndexes(),this.getMeasurements()],(n,i)=>{const r=[];for(let o=0,a=n.length;othis.options.debug}),this.getVirtualItemForOffset=n=>{const i=this.getMeasurements();if(i.length!==0)return Gk(i[Uj(0,i.length-1,r=>Gk(i[r]).start,n)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const n=this.scrollElement.document.documentElement;return this.options.horizontal?n.scrollWidth-this.scrollElement.innerWidth:n.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(n,i,r=0)=>{if(!this.scrollElement)return 0;const o=this.getSize(),a=this.getScrollOffset();i==="auto"&&(i=n>=a+o?"end":"start"),i==="center"?n+=(r-o)/2:i==="end"&&(n-=o);const u=this.getMaxScrollOffset();return Math.max(Math.min(u,n),0)},this.getOffsetForIndex=(n,i="auto")=>{n=Math.max(0,Math.min(n,this.options.count-1));const r=this.getSize(),o=this.getScrollOffset(),a=this.measurementsCache[n];if(!a)return;if(i==="auto")if(a.end>=o+r-this.options.scrollPaddingEnd)i="end";else if(a.start<=o+this.options.scrollPaddingStart)i="start";else return[o,i];if(i==="end"&&n===this.options.count-1)return[this.getMaxScrollOffset(),i];const u=i==="end"?a.end+this.options.scrollPaddingEnd:a.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(u,i,a.size),i]},this.scrollToOffset=(n,{align:i="start",behavior:r="auto"}={})=>{const o=this.getOffsetForAlignment(n,i),a=this.now();this.scrollState={index:null,align:i,behavior:r,startedAt:a,lastTargetOffset:o,stableFrames:0},this._scrollToOffset(o,{adjustments:void 0,behavior:r}),this.scheduleScrollReconcile()},this.scrollToIndex=(n,{align:i="auto",behavior:r="auto"}={})=>{n=Math.max(0,Math.min(n,this.options.count-1));const o=this.getOffsetForIndex(n,i);if(!o)return;const[a,u]=o,d=this.now();this.scrollState={index:n,align:u,behavior:r,startedAt:d,lastTargetOffset:a,stableFrames:0},this._scrollToOffset(a,{adjustments:void 0,behavior:r}),this.scheduleScrollReconcile()},this.scrollBy=(n,{behavior:i="auto"}={})=>{const r=this.getScrollOffset()+n,o=this.now();this.scrollState={index:null,align:"start",behavior:i,startedAt:o,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:i}),this.scheduleScrollReconcile()},this.getTotalSize=()=>{var n;const i=this.getMeasurements();let r;if(i.length===0)r=this.options.paddingStart;else if(this.options.lanes===1)r=((n=i[i.length-1])==null?void 0:n.end)??0;else{const o=Array(this.options.lanes).fill(null);let a=i.length-1;for(;a>=0&&o.some(u=>u===null);){const u=i[a];o[u.lane]===null&&(o[u.lane]=u.end),a--}r=Math.max(...o.filter(u=>u!==null))}return Math.max(r-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(n,{adjustments:i,behavior:r})=>{this.options.scrollToFn(n,{behavior:r,adjustments:i},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(t)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}const i=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,r=i?i[0]:this.scrollState.lastTargetOffset,o=1,a=r!==this.scrollState.lastTargetOffset;if(!a&&r4(r,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=o){this.scrollState=null;return}}else this.scrollState.stableFrames=0,a&&(this.scrollState.lastTargetOffset=r,this.scrollState.behavior="auto",this._scrollToOffset(r,{adjustments:void 0,behavior:"auto"}));this.scheduleScrollReconcile()}}const Uj=(e,t,n,i)=>{for(;e<=t;){const r=(e+t)/2|0,o=n(r);if(oi)t=r-1;else return r}return e>0?e-1:0};function m4({measurements:e,outerSize:t,scrollOffset:n,lanes:i}){const r=e.length-1,o=d=>e[d].start;if(e.length<=i)return{startIndex:0,endIndex:r};let a=Uj(0,r,o,n),u=a;if(i===1)for(;u1){const d=Array(i).fill(0);for(;uh=0&&m.some(h=>h>=n);){const h=e[a];m[h.lane]=h.start,a--}a=Math.max(0,a-a%i),u=Math.min(r,u+(i-1-u%i))}return{startIndex:a,endIndex:u}}const Xk=typeof document<"u"?E.useLayoutEffect:E.useEffect;function p4({useFlushSync:e=!0,...t}){const n=E.useReducer(()=>({}),{})[1],i={...t,onChange:(o,a)=>{var u;e&&a?Sm.flushSync(n):n(),(u=t.onChange)==null||u.call(t,o,a)}},[r]=E.useState(()=>new f4(i));return r.setOptions(i),Xk(()=>r._didMount(),[]),Xk(()=>r._willUpdate()),r}function Gj(e){return p4({observeElementRect:l4,observeElementOffset:c4,scrollToFn:d4,...e})}function h4(){return c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M12 2C9.5 2 7.5 3.5 7 5.5C5 5.5 3 7.5 3 10C3 12 4.5 13.5 6 14V20C6 21.1 6.9 22 8 22H16C17.1 22 18 21.1 18 20V14C19.5 13.5 21 12 21 10C21 7.5 19 5.5 17 5.5C16.5 3.5 14.5 2 12 2Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M12 2V8M8 6H16M12 14V18",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function wm(){return c.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:c.jsx("path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94L6.73 20.15a2.12 2.12 0 0 1-3-3l6.72-6.72a6 6 0 0 1 7.94-7.94L14.7 6.3z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function qj(){return c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("rect",{x:"4",y:"4",width:"16",height:"16",rx:"3",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("rect",{x:"8",y:"8",width:"8",height:"8",rx:"1.5",fill:"currentColor"})]})}function g4(){return c.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:c.jsx("path",{d:"M5 12L3 3L21 12L3 21L5 12ZM5 12H13",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Cm(){return c.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function Nl(){return c.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",children:c.jsx("path",{d:"M20 6L9 17L4 12",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function x4(){return c.jsxs("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M13 8H7",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),c.jsx("path",{d:"M17 12H7",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"})]})}function y4(){return c.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:c.jsx("path",{d:"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66L9.41 17.41a2 2 0 0 1-2.83-2.83l8.49-8.49",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Yr({down:e}){return c.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",style:{transition:"transform 200ms",transform:e?"rotate(90deg)":"none"},children:c.jsx("path",{d:"M9 18L15 12L9 6",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function v4(){return c.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:c.jsx("path",{d:"M12 5V19M5 12H19",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})}function N0(){return c.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("circle",{cx:"11",cy:"11",r:"8",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("path",{d:"M21 21L16.65 16.65",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function b4(){return c.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M3 6H5H21",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),c.jsx("path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M19 6L18.13 20.11A2 2 0 0 1 16.14 22H7.86a2 2 0 0 1-2-1.89L5 6",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function _4(){return c.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("rect",{x:"3",y:"3",width:"7",height:"9",rx:"1.5",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("rect",{x:"14",y:"3",width:"7",height:"5",rx:"1.5",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("rect",{x:"14",y:"12",width:"7",height:"9",rx:"1.5",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("rect",{x:"3",y:"16",width:"7",height:"5",rx:"1.5",stroke:"currentColor",strokeWidth:"1.5"})]})}function Wj(){return c.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",children:c.jsx("path",{d:"M22 12H18L15 21L9 3L6 12H2",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function au(){return c.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",children:c.jsx("path",{d:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Fo(){return c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .962 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.582a.5.5 0 0 1 0 .962L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.962 0z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M20 3v4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),c.jsx("path",{d:"M22 5h-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),c.jsx("path",{d:"M4 17v2",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),c.jsx("path",{d:"M5 18H3",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function Yj(){return c.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M5 12h14",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"m12 5 7 7-7 7",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})]})}function k4(){return c.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M9 11L12 14L22 4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M21 12V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function Kk(){return c.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",children:c.jsx("path",{d:"M13 2L3 14H12L11 22L21 10H12L13 2Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function jm(){return c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M4 18H10V14H4V18Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M8 14H14V10H8V14Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M12 10H18V6H12V10Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M18 8L21 8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function S4(){return c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M9 12L11 14L15 10",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function w4(){return c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M15 9L9 15M9 9L15 15",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function Nc(){return c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("path",{d:"M12 6V12L16 14",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function Pf(){return c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M7 17L2 12L7 7",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M17 7L22 12L17 17",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M2 12H22",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function dl(){return c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M12 2V22",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),c.jsx("circle",{cx:"12",cy:"6",r:"2",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("circle",{cx:"12",cy:"12",r:"2",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("circle",{cx:"12",cy:"18",r:"2",stroke:"currentColor",strokeWidth:"1.5"}),c.jsx("path",{d:"M14 6H20",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),c.jsx("path",{d:"M14 12H18",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),c.jsx("path",{d:"M14 18H20",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function Em(){return c.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:c.jsx("path",{d:"M18 6L6 18M6 6L18 18",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Zk({size:e=12}={}){return c.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[c.jsx("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M7 11V7a5 5 0 0 1 10 0v4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round"})]})}function C4({size:e=14}={}){return c.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[c.jsx("circle",{cx:"12",cy:"8",r:"5",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M20 21a8 8 0 0 0-16 0",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round"})]})}function j4({size:e=14}={}){return c.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M10 6h4",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),c.jsx("path",{d:"M10 10h4",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),c.jsx("path",{d:"M10 14h4",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),c.jsx("path",{d:"M10 18h4",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"})]})}function E4({size:e=14}={}){return c.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[c.jsx("path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .962 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.582a.5.5 0 0 1 0 .962L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.962 0z",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M20 3v4",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),c.jsx("path",{d:"M22 5h-4",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),c.jsx("path",{d:"M4 17v2",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"}),c.jsx("path",{d:"M5 18H3",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"})]})}const Za=new Set(["done","failed","cancelled"]),N4=new Set(["company","org","custom"]),I4=new Set(["idle","done","failed","cancelled"]);function Nm(e){return Za.has(e.status)?"idle":e.agentStatus==="reflecting"||e.agentStatus==="tool_active"?e.agentStatus:e.runtimeControlState&&e.runtimeControlState!=="running"&&e.runtimeControlState!=="suspending"&&e.runtimeControlState!=="resuming"?"idle":e.status==="running"?"reflecting":"idle"}function Kr(e){return Nm(e)!=="idle"}function T4(e){if(!e)return!1;const t=String(e.execMode??"").trim().toLowerCase(),n=t==="task";return N4.has(t)||!!e.isCompanyRuntime||!!e.parentSessionId||!!e.orgId||!!e.workItemProjectionId||!!e.roleWorkItems||!!e.executorRoleWorkItems||!!e.companyProfile&&!n}function R4(e,t){if(!T4(e))return{};const n=String(t??"").trim().toLowerCase();if(n==="running")return{runtimeControlState:"running",canStop:!0,canResume:!1};if(I4.has(n)){const i=e?.runtimeControlState;return i==="suspending"||i==="suspended"?{}:{runtimeControlState:"idle",canStop:!1,canResume:!1}}return{}}function gg(e){if(!(typeof e!="number"||!Number.isFinite(e)))return e}function Qk(e){return Math.max(0,Math.min(Math.round(e),100))}function Xj(e){const t=gg(e?.contextTokens),n=gg(e?.contextWindow),i=gg(e?.contextRemainingPct),r=typeof t=="number"?Math.max(0,Math.round(t)):void 0,o=typeof n=="number"&&n>0?Math.max(1,Math.round(n)):void 0,a=typeof i=="number"?Qk(i):void 0;if(typeof r=="number"&&typeof o=="number"){const u=Math.min(r,o),d=Qk(u/o*100);return{usedPct:d,remainingPct:100-d,usedTokens:u,windowTokens:o}}if(typeof a=="number"&&typeof o=="number"){const u=100-a;return{usedPct:u,remainingPct:a,usedTokens:Math.round(u/100*o),windowTokens:o}}return typeof o=="number"?{usedPct:0,remainingPct:100,usedTokens:0,windowTokens:o}:typeof a=="number"?{remainingPct:a}:typeof r=="number"?{usedTokens:r}:{}}const A4=/(\d[\d,]*)\s*\/\s*(\d[\d,]*)\s+tokens/i,M4=/(\d{1,3})%\s*used/i,D4=/(\d{1,3})%\s*remaining/i;function O4(e){return e.replace(/\s+/g," ").trim()}function L4(e){const t=String(e||"").trim(),n=t.match(/^\*\*(.{8,160}?)\*\*:\s+([\s\S]+)$/);if(n){const a=n[2].trim();if(a.length>=80)return a}const i=t.indexOf(": ");if(i<8||i>160)return t;const r=t.slice(0,i).replace(/\*/g,"").trim(),o=t.slice(i+2).trim();return o.length<80||!/[A-Za-z\u4e00-\u9fff]/.test(r)||/^(https?|file)$/i.test(r)?t:o}function Ty(e){const t=e.metadata??{};switch(String(t.transcript_kind??t.kind??"").trim()){case"child_task_result":return 80;case"child_task_result_retry":return 79;case"company_role_result":return 75;case"company_role_result_retry":return 74;case"child_result":return 70;case"runtime_v2_assistant":return 60;case"runtime_v2_company_assistant":return 20;case"top_level_reply":return 40}return String(t.kind??"").trim()==="worker_notification"?20:0}function z4(e){if(Ty(e)<=0)return"";const t=O4(L4(e.content)).slice(0,2e3);return t?`result:${t}`:""}function Xd(e){if(!e)return;const t=e.replace(/,/g,"").trim();if(!t)return;const n=Number(t);return Number.isFinite(n)?Math.max(0,Math.round(n)):void 0}function Jk(e){if(!(typeof e!="number"||!Number.isFinite(e)))return Math.max(0,Math.min(Math.round(e),100))}function fl(e){if(!e)return;const t=String(e.execMode??"").trim();if(!(t==="company"||t==="org"||t==="custom"||!!e.isCompanyRuntime||!!e.roleWorkItems||!!e.executorRoleWorkItems))return;const i=Object.values(e.executorRoleWorkItems??e.roleWorkItems??{});if(i.length===0)return;const r=i.map(o=>o.aggregatedStatus);if(r.some(o=>o==="active"))return"running";if(r.some(o=>o==="waiting")||r.some(o=>o==="pending"))return"pending";if(r.every(o=>o==="failed"))return"failed";if(r.every(o=>o==="done")||r.some(o=>o==="done"))return"done"}function P4(e){const t={};for(const n of e??[]){const i=`${n.summary??""} ${n.detail??""}`.trim();if(!i)continue;const r=A4.exec(i);if(r){const u=Xd(r[1]),d=Xd(r[2]);typeof u=="number"&&(t.contextTokens=u),typeof d=="number"&&d>0&&(t.contextWindow=d)}const o=D4.exec(i);if(o){t.contextRemainingPct=Jk(Xd(o[1]));continue}const a=M4.exec(i);if(a){const u=Jk(Xd(a[1]));typeof u=="number"&&(t.contextRemainingPct=100-u)}}return t}function Bf(e){const t=P4(e.progressLog),n=e.contextTokens??t.contextTokens,i=e.contextWindow??t.contextWindow,r=e.contextRemainingPct??t.contextRemainingPct;return n===e.contextTokens&&i===e.contextWindow&&r===e.contextRemainingPct?e:{...e,contextTokens:n,contextWindow:i,contextRemainingPct:r}}function Kj(e){const t=new Set,n=[];for(const i of e)t.has(i.taskId)||(t.add(i.taskId),n.push(i));return n}function B4(e){return!!(String(e?.workItemRoleId??"").trim()||String(e?.workItemRoleName??"").trim())}function jf(e,t){if(!e||e.mode==="child")return[];const n=new Set;e.sessionId&&n.add(e.sessionId),n.add(e.taskId);const i=String(e.originTaskId??e.taskId??"").trim(),r=new Map;for(const u of e.workItemLog??[]){const d=u.executionTurnId||u.runtimeTaskId;d&&!r.has(d)&&r.set(d,r.size)}const o=new Set;return t.filter(u=>{if(u.taskId===e.taskId||o.has(u.taskId))return!1;const d=!!u.parentSessionId&&n.has(u.parentSessionId),m=r.has(u.taskId),h=!!i&&String(u.originTaskId??"").trim()===i;return!d&&!m&&!h?!1:(o.add(u.taskId),!0)}).sort((u,d)=>{const m=r.get(u.taskId),h=r.get(d.taskId);return m!=null&&h!=null&&m!==h?m-h:m!=null&&h==null?-1:m==null&&h!=null?1:d.updatedAt-u.updatedAt})}function eS(e,t){const n=jf(e,t);return!e||e.mode==="child"||!B4(e)?n:Kj([e,...n])}function $f(e,t){if(!e||e.mode==="child")return[];const n=String(e.sessionId??"").trim();if(!n)return[];const i=new Set;return t.filter(r=>r.taskId===e.taskId||i.has(r.taskId)||String(r.sessionId??"").trim()!==n?!1:(i.add(r.taskId),!0)).sort((r,o)=>o.updatedAt-r.updatedAt)}function $4(e){const t=String(e?.execMode??"").trim();return t==="company"||t==="org"||t==="custom"}function tS(e){const t=Kr(e)?1e9:0,n=String(e.draftAssistantText??"").trim()?1e10:0,i=Math.max(0,e.messageCount??0)*1e4,r=(e.progressLog?.length??0)*100;return n+t+i+r+e.updatedAt}function nS(e){const t=Xj(e),n=Kr(e)?1e11:0,i=String(e.draftAssistantText??"").trim()?1e10:0,r=typeof t.usedPct=="number"||typeof t.usedTokens=="number"||typeof t.windowTokens=="number"?1e10:0,o=typeof e.inputTokens=="number"||typeof e.outputTokens=="number"||typeof e.totalTokens=="number"?1e9:0,a=Math.max(0,e.messageCount??0)*1e4,u=(e.progressLog?.length??0)*100;return n+i+r+o+a+u}function Hf(e,t){if(!e)return{timelineSessions:[],displaySession:null,runtimeSession:null,projectedFromChild:!1};const n=Bf(e);if(e.mode==="child"||t.length===0)return{timelineSessions:[n],displaySession:n,runtimeSession:n,projectedFromChild:!1};const i=t.map(Bf),r=i.filter(p=>p.status!=="cancelled"),o=r.length>0?r:i,a=Kj([n,...o]),u=$4(e),d=[...a].sort((p,g)=>tS(g)-tS(p))[0]??n,m=u?n:d,h=[...a].sort((p,g)=>nS(g)-nS(p))[0]??m;return{timelineSessions:a,displaySession:m,runtimeSession:h,projectedFromChild:!u&&m.taskId!==e.taskId}}function iS(e,t,n){if(!e)return null;const i=Bf(e),r=t??i,o=fl(r)??fl(i),a=Ff(n.length>0?n:[i]);return{...i,status:o??(r.status||i.status),assigneeIds:r.assigneeIds.length>0?r.assigneeIds:i.assigneeIds,agentStatus:r.agentStatus??i.agentStatus,currentTool:r.currentTool??i.currentTool,displayTool:r.displayTool??r.currentTool??i.displayTool??i.currentTool,toolElapsedMs:r.toolElapsedMs??i.toolElapsedMs,lastToolSummary:r.lastToolSummary??i.lastToolSummary,contextTokens:r.contextTokens??i.contextTokens,contextWindow:r.contextWindow??i.contextWindow,contextRemainingPct:r.contextRemainingPct??i.contextRemainingPct,inputTokens:r.inputTokens??i.inputTokens,outputTokens:r.outputTokens??i.outputTokens,totalTokens:r.totalTokens??i.totalTokens,turnCostUsd:r.turnCostUsd??i.turnCostUsd,sessionCostUsd:r.sessionCostUsd??i.sessionCostUsd,pendingPermissionCount:r.pendingPermissionCount??i.pendingPermissionCount,drainMode:r.drainMode??i.drainMode,workItemProjectionId:r.workItemProjectionId??i.workItemProjectionId,workItemTurnType:r.workItemTurnType??i.workItemTurnType,companyProfile:i.companyProfile??r.companyProfile,workItemRoleId:i.workItemRoleId??r.workItemRoleId,workItemRoleName:i.workItemRoleName??r.workItemRoleName,workItemGate:i.workItemGate??r.workItemGate,employeeAssignment:i.employeeAssignment??r.employeeAssignment,selectedExecutionAgent:r.selectedExecutionAgent??i.selectedExecutionAgent,draftAssistantText:r.draftAssistantText??i.draftAssistantText,draftUpdatedAt:r.draftUpdatedAt??i.draftUpdatedAt,draftIteration:r.draftIteration??i.draftIteration,draftTurnId:r.draftTurnId??i.draftTurnId,runtimeControlState:r.runtimeControlState??i.runtimeControlState,canStop:r.canStop??i.canStop,canResume:r.canResume??i.canResume,resumeParentTaskId:r.resumeParentTaskId??i.resumeParentTaskId,resumeParentSessionId:r.resumeParentSessionId??i.resumeParentSessionId,pendingRuntimeCheckpointId:r.pendingRuntimeCheckpointId??i.pendingRuntimeCheckpointId,stopIntentId:r.stopIntentId??i.stopIntentId,updatedAt:Math.max(i.updatedAt,r.updatedAt),messageCount:Math.max(i.messageCount??0,r.messageCount??0,a),isCompanyRuntime:!!(i.isCompanyRuntime||r.isCompanyRuntime),workItemLog:(i.workItemLog?.length??0)>0?i.workItemLog:r.workItemLog,roleWorkItems:i.roleWorkItems??r.roleWorkItems,executorRoleWorkItems:i.executorRoleWorkItems??r.executorRoleWorkItems,activeSubagents:i.activeSubagents??r.activeSubagents,permissionRequests:i.permissionRequests??r.permissionRequests}}function H4(e,t,n){if(!e)return null;const i=Bf(e),r=t??i,o=fl(r)??fl(i),a=Ff(n.length>0?n:[i]);return{...i,status:o??(r.status||i.status),agentStatus:r.agentStatus??i.agentStatus,currentTool:r.currentTool??i.currentTool,displayTool:r.displayTool??r.currentTool??i.displayTool??i.currentTool,toolElapsedMs:r.toolElapsedMs??i.toolElapsedMs,lastToolSummary:r.lastToolSummary??i.lastToolSummary,contextTokens:r.contextTokens??i.contextTokens,contextWindow:r.contextWindow??i.contextWindow,contextRemainingPct:r.contextRemainingPct??i.contextRemainingPct,inputTokens:r.inputTokens??i.inputTokens,outputTokens:r.outputTokens??i.outputTokens,totalTokens:r.totalTokens??i.totalTokens,turnCostUsd:r.turnCostUsd??i.turnCostUsd,sessionCostUsd:r.sessionCostUsd??i.sessionCostUsd,pendingPermissionCount:r.pendingPermissionCount??i.pendingPermissionCount,drainMode:r.drainMode??i.drainMode,selectedExecutionAgent:r.selectedExecutionAgent??i.selectedExecutionAgent,runtimeControlState:r.runtimeControlState??i.runtimeControlState,canStop:r.canStop??i.canStop,canResume:r.canResume??i.canResume,resumeParentTaskId:r.resumeParentTaskId??i.resumeParentTaskId,resumeParentSessionId:r.resumeParentSessionId??i.resumeParentSessionId,pendingRuntimeCheckpointId:r.pendingRuntimeCheckpointId??i.pendingRuntimeCheckpointId,stopIntentId:r.stopIntentId??i.stopIntentId,updatedAt:Math.max(i.updatedAt,r.updatedAt),messageCount:Math.max(i.messageCount??0,r.messageCount??0,a)}}function rS(e){const t=new Set,n=new Map,i=[];for(const r of e)for(const o of r){const a=o.metadata??{},u=typeof a.ui_message_id=="string"?a.ui_message_id.trim():"",d=z4(o);if(d){const h=n.get(d);if(h!==void 0){Ty(o)>Ty(i[h])&&(i[h]=o);continue}n.set(d,i.length)}const m=d||u||`${o.sender}:${o.replyToId??""}:${o.timestamp}:${o.content.trim()}`;t.has(m)||(t.add(m),i.push(o))}return i.sort((r,o)=>r.timestamp===o.timestamp?r.id.localeCompare(o.id):r.timestamp-o.timestamp)}function sS(e){const t=new Set,n=[];for(const i of e)for(const r of i.progressLog??[]){const o=`${r.timestamp}:${r.type}:${r.summary}:${r.detail??""}`;t.has(o)||(t.add(o),n.push(r))}return n.sort((i,r)=>i.timestamp-r.timestamp)}function Ff(e){return e.reduce((t,n)=>t+Math.max(0,n.messageCount??0),0)}const F4={idle:"status-idle",done:"status-done",pending:"status-pending",failed:"status-failed",cancelled:"status-cancelled",blocked:"status-blocked"};function V4(e){const t=fl(e)??e.status,n=Nm({...e,status:t});return n==="tool_active"?"status-tool-active":n==="reflecting"?"status-reflecting":t==="running"?"status-running-idle":F4[t]??"status-pending"}function U4(e){const t=Date.now()-e;return t<6e4?"just now":t<36e5?`${Math.floor(t/6e4)}m`:t<864e5?`${Math.floor(t/36e5)}h`:`${Math.floor(t/864e5)}d`}function G4(e){const t=new Date,n=new Date(e),i=new Date(t.getFullYear(),t.getMonth(),t.getDate()),r=new Date(i.getTime()-864e5);return n>=i?"Today":n>=r?"Yesterday":"Earlier"}function q4(e){const t=new Map,n=[];for(const i of e)if(i.mode==="child"&&i.parentSessionId){const r=t.get(i.parentSessionId)??[];r.push(i),t.set(i.parentSessionId,r)}else n.push(i);return n.map(i=>({session:i,children:Array.from(new Map([...i.sessionId?t.get(i.sessionId)??[]:[],...t.get(i.taskId)??[]].map(r=>[r.taskId,r])).values())}))}function Kd({session:e,isActive:t,isChild:n,isLast:i,unreadCount:r,onSelect:o,onDelete:a}){const[u,d]=E.useState(!1),[m,h]=E.useState(!1),p=e.assigneeIds.length>0?e.assigneeIds[0].replace(/^agent-/,""):null,g=fl(e)??e.status;return E.useEffect(()=>{if(!m)return;const y=setTimeout(()=>h(!1),3e3);return()=>clearTimeout(y)},[m]),c.jsxs("button",{className:`session-item${t?" active":""}${n?" session-item-child":""}`,onClick:o,onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),children:[n&&c.jsx("span",{className:`session-tree-line${i?" last":""}`}),c.jsx("span",{className:`session-dot ${V4(e)}`}),c.jsxs("div",{className:"session-item-content",children:[c.jsxs("span",{className:"session-item-title",children:[n&&p&&c.jsx("span",{className:"session-agent-tag",children:p}),!n&&e.isCompanyRuntime&&c.jsx("span",{className:"session-runtime-badge",title:"Company runtime",children:c.jsx(jm,{})}),e.title]}),c.jsxs("span",{className:"session-item-meta",children:[g," ยท ",U4(e.updatedAt)]})]}),!!r&&r>0&&c.jsx("span",{className:"session-unread-badge",children:r>99?"99+":r}),u&&!n&&!m&&c.jsx("button",{className:"session-delete-btn",onClick:y=>{y.stopPropagation(),h(!0)},title:"Delete",children:c.jsx(b4,{})}),m&&c.jsxs("span",{className:"session-confirm-delete",onClick:y=>y.stopPropagation(),children:[c.jsx("button",{className:"session-confirm-yes",onClick:()=>{h(!1),a()},children:"Delete"}),c.jsx("button",{className:"session-confirm-no",onClick:()=>h(!1),children:"Cancel"})]})]})}function W4({sessions:e,activeSessionId:t,activeChannel:n,secretaryChannelId:i,unreadCounts:r,onSelect:o,onCreateSession:a,onDeleteSession:u,onSelectSecretary:d}){const[m,h]=E.useState(""),[p,g]=E.useState(new Set),y=e.some(T=>T.isCompanyRuntime||T.mode==="child"||T.execMode==="company"||T.execMode==="org"||T.execMode==="custom"),v=E.useCallback(T=>{g(L=>{const A=new Set(L);return A.has(T)?A.delete(T):A.add(T),A})},[]),k=E.useMemo(()=>{if(!m.trim())return e;const T=m.toLowerCase();return e.filter(L=>L.title.toLowerCase().includes(T))},[e,m]),S=E.useMemo(()=>q4(k),[k]),_=E.useMemo(()=>{const T={Today:[],Yesterday:[],Earlier:[]};for(const L of S){const A=G4(L.session.createdAt);T[A]?.push(L)}return T},[S]),w=E.useMemo(()=>{const T=[];for(const L of["Today","Yesterday","Earlier"]){const A=_[L];if(!(!A||A.length===0)){T.push({kind:"group",group:L});for(const M of A){T.push({kind:"primary",node:M});const $=M.children.length>0,W=p.has(M.session.taskId);$&&W?T.push({kind:"child-count",node:M}):$&&M.children.forEach((B,U)=>{T.push({kind:"child",parentTaskId:M.session.taskId,child:B,childIndex:U,childCount:M.children.length})})}}}return T},[p,_]),C=w.length>120,N=E.useRef(null),O=Gj({count:w.length,getScrollElement:()=>N.current,estimateSize:T=>{const L=w[T];return L?.kind==="group"?26:L?.kind==="child-count"?30:54},overscan:8}),I=E.useCallback(T=>{const L=T.children.length>0,A=p.has(T.session.taskId);return c.jsx("div",{className:"session-tree-node",children:c.jsxs("div",{className:"session-tree-primary",children:[L&&c.jsx("button",{className:`session-expand-btn${A?" collapsed":""}`,onClick:M=>{M.stopPropagation(),v(T.session.taskId)},"aria-label":A?"Expand":"Collapse"}),c.jsx(Kd,{session:T.session,isActive:T.session.taskId===t,unreadCount:r?.[T.session.channelId],onSelect:()=>o(T.session.taskId),onDelete:()=>u(T.session.taskId)})]})})},[t,p,u,o,v,r]),D=E.useCallback(T=>T.kind==="group"?c.jsx("div",{className:"session-group-label",children:y?`${T.group} Runtime Sessions`:T.group}):T.kind==="primary"?I(T.node):T.kind==="child-count"?c.jsxs("button",{className:"session-child-count",onClick:()=>v(T.node.session.taskId),children:[T.node.children.length," sub-task",T.node.children.length>1?"s":""]}):c.jsx("div",{className:"session-children",children:c.jsx(Kd,{session:T.child,isActive:T.child.taskId===t,isChild:!0,isLast:T.childIndex===T.childCount-1,unreadCount:r?.[T.child.channelId],onSelect:()=>o(T.child.taskId),onDelete:()=>u(T.child.taskId)})}),[t,y,u,o,I,v,r]);return c.jsxs("div",{className:"session-sidebar",children:[c.jsxs("button",{className:"session-new-btn",onClick:a,children:[c.jsx(v4,{}),c.jsx("span",{children:"New Chat"})]}),d&&c.jsxs("button",{className:`session-nav-btn${n===i?" active":""}`,onClick:d,children:[c.jsx(au,{}),c.jsx("span",{children:"Secretary"}),!!(i&&r?.[i])&&r[i]>0&&c.jsx("span",{className:"session-unread-badge",children:r[i]>99?"99+":r[i]})]}),c.jsxs("div",{className:"session-search-wrap",children:[c.jsx(N0,{}),c.jsx("input",{className:"session-search",placeholder:"Search...",value:m,onChange:T=>h(T.target.value)})]}),c.jsxs("div",{ref:N,className:`session-list${C?" session-list-virtualized":""}`,children:[C?c.jsx("div",{style:{height:O.getTotalSize(),width:"100%",position:"relative"},children:O.getVirtualItems().map(T=>c.jsx("div",{"data-index":T.index,ref:O.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${T.start}px)`},children:D(w[T.index])},T.key))}):["Today","Yesterday","Earlier"].map(T=>{const L=_[T];return!L||L.length===0?null:c.jsxs("div",{className:"session-group",children:[c.jsx("div",{className:"session-group-label",children:y?`${T} Runtime Sessions`:T}),L.map(A=>{const M=A.children.length>0,$=p.has(A.session.taskId);return c.jsxs("div",{className:"session-tree-node",children:[c.jsxs("div",{className:"session-tree-primary",children:[M&&c.jsx("button",{className:`session-expand-btn${$?" collapsed":""}`,onClick:W=>{W.stopPropagation(),v(A.session.taskId)},"aria-label":$?"Expand":"Collapse"}),c.jsx(Kd,{session:A.session,isActive:A.session.taskId===t,unreadCount:r?.[A.session.channelId],onSelect:()=>o(A.session.taskId),onDelete:()=>u(A.session.taskId)})]}),M&&!$&&c.jsx("div",{className:"session-children",children:A.children.map((W,B)=>c.jsx(Kd,{session:W,isActive:W.taskId===t,isChild:!0,isLast:B===A.children.length-1,unreadCount:r?.[W.channelId],onSelect:()=>o(W.taskId),onDelete:()=>u(W.taskId)},W.taskId))}),M&&$&&c.jsxs("button",{className:"session-child-count",onClick:()=>v(A.session.taskId),children:[A.children.length," sub-task",A.children.length>1?"s":""]})]},A.session.taskId)})]},T)}),k.length===0&&c.jsx("div",{className:"session-empty",children:"No sessions yet"})]}),c.jsxs("button",{className:`session-nav-btn session-activity-btn${t===null&&n!==i?" active":""}`,onClick:()=>o(null),children:[c.jsx(Wj,{}),c.jsx("span",{children:"Activity"})]})]})}const Y4=new Set(["company_work_item_gate","company_delivery_feedback","company_staffing_selection","company_recruitment_confirmation","company_reorg_pending","human_escalation","task_user_input"]),X4=new Set(["responded","resolved","timeout","timed_out","expired","stale","superseded","ignored","cancelled","canceled","invalid"]);function K4(e){return Y4.has(String(e??"").trim())}function lu(e){return!(!K4(e?.checkpoint_type)||e?.self_evolution_completed||String(e?.kind??"").trim()==="company_self_evolution_result")}function Z4(e){const t=String(e?.checkpoint_status??"").trim().toLowerCase();return X4.has(t)?!0:!!String(e?.checkpoint_response_message_id??"").trim()}function I0(e){const t=String(e?.checkpoint_id??"").trim();if(!t)return;const n=String(e?.checkpoint_type??"").trim(),i=String(e?.escalation_id??"").trim();return{response_to_checkpoint_id:t,response_to_checkpoint_type:n||void 0,response_to_escalation_id:i||void 0}}function Zj(e){const t=String(e?.response_to_checkpoint_type??"").trim();if(!(t==="company_delivery_feedback"||t==="human_escalation"))return e}function T0(e){const t=new Set,n=new Set,i=new Set;let r;const o=new Map,a=new Map,u=new Set;for(let d=0;dd,k=g==="human_escalation"&&!!y&&(a.get(y)??-1)>d;if(Z4(h)||v||k){n.add(m.id);continue}t.add(m.id),r=I0(h)??r}return{pendingMessageIds:t,respondedMessageIds:n,duplicateMessageIds:i,latestPendingReplyMetadata:r}}function ji(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var Q4=typeof Symbol=="function"&&Symbol.observable||"@@observable",oS=Q4,aS=()=>Math.random().toString(36).substring(7).split("").join("."),J4={INIT:`@@redux/INIT${aS()}`,REPLACE:`@@redux/REPLACE${aS()}`},lS=J4;function e5(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function Qj(e,t,n){if(typeof e!="function")throw new Error(ji(2));if(typeof t=="function"&&typeof n=="function"||typeof n=="function"&&typeof arguments[3]=="function")throw new Error(ji(0));if(typeof t=="function"&&typeof n>"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(ji(1));return n(Qj)(e,t)}let i=e,r=t,o=new Map,a=o,u=0,d=!1;function m(){a===o&&(a=new Map,o.forEach((S,_)=>{a.set(_,S)}))}function h(){if(d)throw new Error(ji(3));return r}function p(S){if(typeof S!="function")throw new Error(ji(4));if(d)throw new Error(ji(5));let _=!0;m();const w=u++;return a.set(w,S),function(){if(_){if(d)throw new Error(ji(6));_=!1,m(),a.delete(w),o=null}}}function g(S){if(!e5(S))throw new Error(ji(7));if(typeof S.type>"u")throw new Error(ji(8));if(typeof S.type!="string")throw new Error(ji(17));if(d)throw new Error(ji(9));try{d=!0,r=i(r,S)}finally{d=!1}return(o=a).forEach(w=>{w()}),S}function y(S){if(typeof S!="function")throw new Error(ji(10));i=S,g({type:lS.REPLACE})}function v(){const S=p;return{subscribe(_){if(typeof _!="object"||_===null)throw new Error(ji(11));function w(){const N=_;N.next&&N.next(h())}return w(),{unsubscribe:S(w)}},[oS](){return this}}}return g({type:lS.INIT}),{dispatch:g,subscribe:p,getState:h,replaceReducer:y,[oS]:v}}function cS(e,t){return function(...n){return t(e.apply(this,n))}}function uS(e,t){if(typeof e=="function")return cS(e,t);if(typeof e!="object"||e===null)throw new Error(ji(16));const n={};for(const i in e){const r=e[i];typeof r=="function"&&(n[i]=cS(r,t))}return n}function Jj(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...i)=>t(n(...i)))}function t5(...e){return t=>(n,i)=>{const r=t(n,i);let o=()=>{throw new Error(ji(15))};const a={getState:r.getState,dispatch:(d,...m)=>o(d,...m)},u=e.map(d=>d(a));return o=Jj(...u)(r.dispatch),{...r,dispatch:o}}}var xg={exports:{}},yg={};var dS;function n5(){if(dS)return yg;dS=1;var e=El();function t(d,m){return d===m&&(d!==0||1/d===1/m)||d!==d&&m!==m}var n=typeof Object.is=="function"?Object.is:t,i=e.useSyncExternalStore,r=e.useRef,o=e.useEffect,a=e.useMemo,u=e.useDebugValue;return yg.useSyncExternalStoreWithSelector=function(d,m,h,p,g){var y=r(null);if(y.current===null){var v={hasValue:!1,value:null};y.current=v}else v=y.current;y=a(function(){function S(O){if(!_){if(_=!0,w=O,O=p(O),g!==void 0&&v.hasValue){var I=v.value;if(g(I,O))return C=I}return C=O}if(I=C,n(w,O))return I;var D=p(O);return g!==void 0&&g(I,D)?(w=O,I):(w=O,C=D)}var _=!1,w,C,N=h===void 0?null:h;return[function(){return S(m())},N===null?void 0:function(){return S(N())}]},[m,h,p,g]);var k=i(d,y[0],y[1]);return o(function(){v.hasValue=!0,v.value=k},[k]),u(k),k},yg}var fS;function i5(){return fS||(fS=1,xg.exports=n5()),xg.exports}i5();var r5=E.version.startsWith("19"),s5=Symbol.for(r5?"react.transitional.element":"react.element"),o5=Symbol.for("react.portal"),a5=Symbol.for("react.fragment"),l5=Symbol.for("react.strict_mode"),c5=Symbol.for("react.profiler"),u5=Symbol.for("react.consumer"),d5=Symbol.for("react.context"),eE=Symbol.for("react.forward_ref"),f5=Symbol.for("react.suspense"),m5=Symbol.for("react.suspense_list"),R0=Symbol.for("react.memo"),p5=Symbol.for("react.lazy"),h5=eE,g5=R0;function x5(e){if(typeof e=="object"&&e!==null){const{$$typeof:t}=e;switch(t){case s5:switch(e=e.type,e){case a5:case c5:case l5:case f5:case m5:return e;default:switch(e=e&&e.$$typeof,e){case d5:case eE:case p5:case R0:return e;case u5:return e;default:return t}}case o5:return t}}}function y5(e){return x5(e)===R0}function v5(e,t,n,i,{areStatesEqual:r,areOwnPropsEqual:o,areStatePropsEqual:a}){let u=!1,d,m,h,p,g;function y(w,C){return d=w,m=C,h=e(d,m),p=t(i,m),g=n(h,p,m),u=!0,g}function v(){return h=e(d,m),t.dependsOnOwnProps&&(p=t(i,m)),g=n(h,p,m),g}function k(){return e.dependsOnOwnProps&&(h=e(d,m)),t.dependsOnOwnProps&&(p=t(i,m)),g=n(h,p,m),g}function S(){const w=e(d,m),C=!a(w,h);return h=w,C&&(g=n(h,p,m)),g}function _(w,C){const N=!o(C,m),O=!r(w,d,C,m);return d=w,m=C,N&&O?v():N?k():O?S():g}return function(C,N){return u?_(C,N):y(C,N)}}function b5(e,{initMapStateToProps:t,initMapDispatchToProps:n,initMergeProps:i,...r}){const o=t(e,r),a=n(e,r),u=i(e,r);return v5(o,a,u,e,r)}function _5(e,t){const n={};for(const i in e){const r=e[i];typeof r=="function"&&(n[i]=(...o)=>t(r(...o)))}return n}function Ry(e){return function(n){const i=e(n);function r(){return i}return r.dependsOnOwnProps=!1,r}}function mS(e){return e.dependsOnOwnProps?!!e.dependsOnOwnProps:e.length!==1}function tE(e,t){return function(i,{displayName:r}){const o=function(u,d){return o.dependsOnOwnProps?o.mapToProps(u,d):o.mapToProps(u,void 0)};return o.dependsOnOwnProps=!0,o.mapToProps=function(u,d){o.mapToProps=e,o.dependsOnOwnProps=mS(e);let m=o(u,d);return typeof m=="function"&&(o.mapToProps=m,o.dependsOnOwnProps=mS(m),m=o(u,d)),m},o}}function A0(e,t){return(n,i)=>{throw new Error(`Invalid value of type ${typeof e} for ${t} argument when connecting component ${i.wrappedComponentName}.`)}}function k5(e){return e&&typeof e=="object"?Ry(t=>_5(e,t)):e?typeof e=="function"?tE(e):A0(e,"mapDispatchToProps"):Ry(t=>({dispatch:t}))}function S5(e){return e?typeof e=="function"?tE(e):A0(e,"mapStateToProps"):Ry(()=>({}))}function w5(e,t,n){return{...n,...e,...t}}function C5(e){return function(n,{displayName:i,areMergedPropsEqual:r}){let o=!1,a;return function(d,m,h){const p=e(d,m,h);return o?r(p,a)||(a=p):(o=!0,a=p),a}}}function j5(e){return e?typeof e=="function"?C5(e):A0(e,"mergeProps"):()=>w5}function E5(e){e()}function N5(){let e=null,t=null;return{clear(){e=null,t=null},notify(){E5(()=>{let n=e;for(;n;)n.callback(),n=n.next})},get(){const n=[];let i=e;for(;i;)n.push(i),i=i.next;return n},subscribe(n){let i=!0;const r=t={callback:n,next:null,prev:t};return r.prev?r.prev.next=r:e=r,function(){!i||e===null||(i=!1,r.next?r.next.prev=r.prev:t=r.prev,r.prev?r.prev.next=r.next:e=r.next)}}}}var pS={notify(){},get:()=>[]};function nE(e,t){let n,i=pS,r=0,o=!1;function a(k){h();const S=i.subscribe(k);let _=!1;return()=>{_||(_=!0,S(),p())}}function u(){i.notify()}function d(){v.onStateChange&&v.onStateChange()}function m(){return o}function h(){r++,n||(n=t?t.addNestedSub(d):e.subscribe(d),i=N5())}function p(){r--,n&&r===0&&(n(),n=void 0,i.clear(),i=pS)}function g(){o||(o=!0,h())}function y(){o&&(o=!1,p())}const v={addNestedSub:a,notifyNestedSubs:u,handleChangeWrapper:d,isSubscribed:m,trySubscribe:g,tryUnsubscribe:y,getListeners:()=>i};return v}var I5=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",T5=I5(),R5=()=>typeof navigator<"u"&&navigator.product==="ReactNative",A5=R5(),M5=()=>T5||A5?E.useLayoutEffect:E.useEffect,Vf=M5();function hS(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function vg(e,t){if(hS(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(let r=0;re(...t),n)}function W5(e,t,n,i,r,o){e.current=i,n.current=!1,r.current&&(r.current=null,o())}function Y5(e,t,n,i,r,o,a,u,d,m,h){if(!e)return()=>{};let p=!1,g=null;const y=()=>{if(p||!u.current)return;const k=t.getState();let S,_;try{S=i(k,r.current)}catch(w){_=w,g=w}_||(g=null),S===o.current?a.current||m():(o.current=S,d.current=S,a.current=!0,h())};return n.onStateChange=y,n.trySubscribe(),y(),()=>{if(p=!0,n.tryUnsubscribe(),n.onStateChange=null,g)throw g}}function X5(e,t){return e===t}function K5(e,t,n,{pure:i,areStatesEqual:r=X5,areOwnPropsEqual:o=vg,areStatePropsEqual:a=vg,areMergedPropsEqual:u=vg,forwardRef:d=!1,context:m=rE}={}){const h=m,p=S5(e),g=k5(t),y=j5(n),v=!!e;return S=>{const _=S.displayName||S.name||"Component",w=`Connect(${_})`,C={shouldHandleStateChanges:v,displayName:w,wrappedComponentName:_,WrappedComponent:S,initMapStateToProps:p,initMapDispatchToProps:g,initMergeProps:y,areStatesEqual:r,areStatePropsEqual:a,areOwnPropsEqual:o,areMergedPropsEqual:u};function N(D){const[T,L,A]=E.useMemo(()=>{const{reactReduxForwardedRef:we,...Ce}=D;return[D.context,we,Ce]},[D]),M=E.useMemo(()=>{let we=h;return T?.Consumer,we},[T,h]),$=E.useContext(M),W=!!D.store&&!!D.store.getState&&!!D.store.dispatch,B=!!$&&!!$.store,U=W?D.store:$.store,F=B?$.getServerState:U.getState,V=E.useMemo(()=>b5(U.dispatch,C),[U]),[Y,Q]=E.useMemo(()=>{if(!v)return G5;const we=nE(U,W?void 0:$.subscription),Ce=we.notifyNestedSubs.bind(we);return[we,Ce]},[U,W,$]),q=E.useMemo(()=>W?$:{...$,subscription:Y},[W,$,Y]),G=E.useRef(void 0),J=E.useRef(A),P=E.useRef(void 0),K=E.useRef(!1),ee=E.useRef(!1),te=E.useRef(void 0);Vf(()=>(ee.current=!0,()=>{ee.current=!1}),[]);const ie=E.useMemo(()=>()=>P.current&&A===J.current?P.current:V(U.getState(),A),[U,A]),oe=E.useMemo(()=>Ce=>Y?Y5(v,U,Y,V,J,G,K,ee,P,Q,Ce):()=>{},[Y]);q5(W5,[J,G,K,A,P,Q]);let fe;try{fe=E.useSyncExternalStore(oe,ie,F?()=>V(F(),A):ie)}catch(we){throw te.current&&(we.message+=` -The error may be correlated with this previous error: -${te.current.stack} - -`),we}Vf(()=>{te.current=void 0,P.current=void 0,G.current=fe});const se=E.useMemo(()=>E.createElement(S,{...fe,ref:L}),[L,S,fe]);return E.useMemo(()=>v?E.createElement(M.Provider,{value:q},se):se,[M,se,q])}const I=E.memo(N);if(I.WrappedComponent=S,I.displayName=N.displayName=w,d){const T=E.forwardRef(function(A,M){return E.createElement(I,{...A,reactReduxForwardedRef:M})});return T.displayName=w,T.WrappedComponent=S,Ay(T,S)}return Ay(I,S)}}var sE=K5;function Z5(e){const{children:t,context:n,serverState:i,store:r}=e,o=E.useMemo(()=>{const d=nE(r);return{store:r,subscription:d,getServerState:i?()=>i:void 0}},[r,i]),a=E.useMemo(()=>r.getState(),[r]);Vf(()=>{const{subscription:d}=o;return d.onStateChange=d.notifyNestedSubs,d.trySubscribe(),a!==r.getState()&&d.notifyNestedSubs(),()=>{d.tryUnsubscribe(),d.onStateChange=void 0}},[o,a]);const u=n||rE;return E.createElement(u.Provider,{value:o},t)}var Q5=Z5,J5="Invariant failed";function eD(e,t){throw new Error(J5)}var Nr=function(t){var n=t.top,i=t.right,r=t.bottom,o=t.left,a=i-o,u=r-n,d={top:n,right:i,bottom:r,left:o,width:a,height:u,x:o,y:n,center:{x:(i+o)/2,y:(r+n)/2}};return d},M0=function(t,n){return{top:t.top-n.top,left:t.left-n.left,bottom:t.bottom+n.bottom,right:t.right+n.right}},vS=function(t,n){return{top:t.top+n.top,left:t.left+n.left,bottom:t.bottom-n.bottom,right:t.right-n.right}},tD=function(t,n){return{top:t.top+n.y,left:t.left+n.x,bottom:t.bottom+n.y,right:t.right+n.x}},bg={top:0,right:0,bottom:0,left:0},D0=function(t){var n=t.borderBox,i=t.margin,r=i===void 0?bg:i,o=t.border,a=o===void 0?bg:o,u=t.padding,d=u===void 0?bg:u,m=Nr(M0(n,r)),h=Nr(vS(n,a)),p=Nr(vS(h,d));return{marginBox:m,borderBox:Nr(n),paddingBox:h,contentBox:p,margin:r,border:a,padding:d}},hr=function(t){var n=t.slice(0,-2),i=t.slice(-2);if(i!=="px")return 0;var r=Number(n);return isNaN(r)&&eD(),r},nD=function(){return{x:window.pageXOffset,y:window.pageYOffset}},Uf=function(t,n){var i=t.borderBox,r=t.border,o=t.margin,a=t.padding,u=tD(i,n);return D0({borderBox:u,border:r,margin:o,padding:a})},Gf=function(t,n){return n===void 0&&(n=nD()),Uf(t,n)},oE=function(t,n){var i={top:hr(n.marginTop),right:hr(n.marginRight),bottom:hr(n.marginBottom),left:hr(n.marginLeft)},r={top:hr(n.paddingTop),right:hr(n.paddingRight),bottom:hr(n.paddingBottom),left:hr(n.paddingLeft)},o={top:hr(n.borderTopWidth),right:hr(n.borderRightWidth),bottom:hr(n.borderBottomWidth),left:hr(n.borderLeftWidth)};return D0({borderBox:t,margin:i,padding:r,border:o})},aE=function(t){var n=t.getBoundingClientRect(),i=window.getComputedStyle(t);return oE(n,i)},cu=function(t){var n=[],i=null,r=function(){for(var a=arguments.length,u=new Array(a),d=0;d{const o=iD(n,r.options);return e.addEventListener(r.eventName,r.fn,o),function(){e.removeEventListener(r.eventName,r.fn,o)}});return function(){i.forEach(o=>{o()})}}const rD="Invariant failed";class Wf extends Error{}Wf.prototype.toString=function(){return this.message};function Le(e,t){throw new Wf(rD)}let sD=class extends St.Component{constructor(...t){super(...t),this.callbacks=null,this.unbind=uo,this.onWindowError=n=>{const i=this.getCallbacks();i.isDragging()&&i.tryAbort(),n.error instanceof Wf&&n.preventDefault()},this.getCallbacks=()=>{if(!this.callbacks)throw new Error("Unable to find AppCallbacks in ");return this.callbacks},this.setCallbacks=n=>{this.callbacks=n}}componentDidMount(){this.unbind=vr(window,[{eventName:"error",fn:this.onWindowError}])}componentDidCatch(t){if(t instanceof Wf){this.setState({});return}throw t}componentWillUnmount(){this.unbind()}render(){return this.props.children(this.setCallbacks)}};const oD=` - Press space bar to start a drag. - When dragging you can use the arrow keys to move the item around and escape to cancel. - Some screen readers may require you to be in focus mode or to use your pass through key -`,Yf=e=>e+1,aD=e=>` - You have lifted an item in position ${Yf(e.source.index)} -`,cE=(e,t)=>{const n=e.droppableId===t.droppableId,i=Yf(e.index),r=Yf(t.index);return n?` - You have moved the item from position ${i} - to position ${r} - `:` - You have moved the item from position ${i} - in list ${e.droppableId} - to list ${t.droppableId} - in position ${r} - `},uE=(e,t,n)=>t.droppableId===n.droppableId?` - The item ${e} - has been combined with ${n.draggableId}`:` - The item ${e} - in list ${t.droppableId} - has been combined with ${n.draggableId} - in list ${n.droppableId} - `,lD=e=>{const t=e.destination;if(t)return cE(e.source,t);const n=e.combine;return n?uE(e.draggableId,e.source,n):"You are over an area that cannot be dropped on"},bS=e=>` - The item has returned to its starting position - of ${Yf(e.index)} -`,cD=e=>{if(e.reason==="CANCEL")return` - Movement cancelled. - ${bS(e.source)} - `;const t=e.destination,n=e.combine;return t?` - You have dropped the item. - ${cE(e.source,t)} - `:n?` - You have dropped the item. - ${uE(e.draggableId,e.source,n)} - `:` - The item has been dropped while not over a drop area. - ${bS(e.source)} - `},Ef={dragHandleUsageInstructions:oD,onDragStart:aD,onDragUpdate:lD,onDragEnd:cD};function uD(e,t){return!!(e===t||Number.isNaN(e)&&Number.isNaN(t))}function dE(e,t){if(e.length!==t.length)return!1;for(let n=0;n({inputs:t,result:e()}))[0],i=E.useRef(!0),r=E.useRef(n),a=i.current||!!(t&&r.current.inputs&&dE(t,r.current.inputs))?r.current:{inputs:t,result:e()};return E.useEffect(()=>{i.current=!1,r.current=a},[a]),a.result}function it(e,t){return Ft(()=>e,t)}const ii={x:0,y:0},fi=(e,t)=>({x:e.x+t.x,y:e.y+t.y}),Qi=(e,t)=>({x:e.x-t.x,y:e.y-t.y}),fo=(e,t)=>e.x===t.x&&e.y===t.y,Il=e=>({x:e.x!==0?-e.x:0,y:e.y!==0?-e.y:0}),qo=(e,t,n=0)=>e==="x"?{x:t,y:n}:{x:n,y:t},uu=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2),_S=(e,t)=>Math.min(...t.map(n=>uu(e,n))),fE=e=>t=>({x:e(t.x),y:e(t.y)});var dD=(e,t)=>{const n=Nr({top:Math.max(t.top,e.top),right:Math.min(t.right,e.right),bottom:Math.min(t.bottom,e.bottom),left:Math.max(t.left,e.left)});return n.width<=0||n.height<=0?null:n};const Iu=(e,t)=>({top:e.top+t.y,left:e.left+t.x,bottom:e.bottom+t.y,right:e.right+t.x}),kS=e=>[{x:e.left,y:e.top},{x:e.right,y:e.top},{x:e.left,y:e.bottom},{x:e.right,y:e.bottom}],fD={top:0,right:0,bottom:0,left:0},mD=(e,t)=>t?Iu(e,t.scroll.diff.displacement):e,pD=(e,t,n)=>n&&n.increasedBy?{...e,[t.end]:e[t.end]+n.increasedBy[t.line]}:e,hD=(e,t)=>t&&t.shouldClipSubject?dD(t.pageMarginBox,e):Nr(e);var ml=({page:e,withPlaceholder:t,axis:n,frame:i})=>{const r=mD(e.marginBox,i),o=pD(r,n,t),a=hD(o,i);return{page:e,withPlaceholder:t,active:a}},O0=(e,t)=>{e.frame||Le();const n=e.frame,i=Qi(t,n.scroll.initial),r=Il(i),o={...n,scroll:{initial:n.scroll.initial,current:t,diff:{value:i,displacement:r},max:n.scroll.max}},a=ml({page:e.subject.page,withPlaceholder:e.subject.withPlaceholder,axis:e.axis,frame:o});return{...e,frame:o,subject:a}};function ni(e,t=dE){let n=null;function i(...r){if(n&&n.lastThis===this&&t(r,n.lastArgs))return n.lastResult;const o=e.apply(this,r);return n={lastResult:o,lastArgs:r,lastThis:this},o}return i.clear=function(){n=null},i}const mE=ni(e=>e.reduce((t,n)=>(t[n.descriptor.id]=n,t),{})),pE=ni(e=>e.reduce((t,n)=>(t[n.descriptor.id]=n,t),{})),Im=ni(e=>Object.values(e)),gD=ni(e=>Object.values(e));var Tl=ni((e,t)=>gD(t).filter(i=>e===i.descriptor.droppableId).sort((i,r)=>i.descriptor.index-r.descriptor.index));function L0(e){return e.at&&e.at.type==="REORDER"?e.at.destination:null}function Tm(e){return e.at&&e.at.type==="COMBINE"?e.at.combine:null}var Rm=ni((e,t)=>t.filter(n=>n.descriptor.id!==e.descriptor.id)),xD=({isMovingForward:e,draggable:t,destination:n,insideDestination:i,previousImpact:r})=>{if(!n.isCombineEnabled||!L0(r))return null;function a(y){const v={type:"COMBINE",combine:{draggableId:y,droppableId:n.descriptor.id}};return{...r,at:v}}const u=r.displaced.all,d=u.length?u[0]:null;if(e)return d?a(d):null;const m=Rm(t,i);if(!d){if(!m.length)return null;const y=m[m.length-1];return a(y.descriptor.id)}const h=m.findIndex(y=>y.descriptor.id===d);h===-1&&Le();const p=h-1;if(p<0)return null;const g=m[p];return a(g.descriptor.id)},Rl=(e,t)=>e.descriptor.droppableId===t.descriptor.id;const hE={point:ii,value:0},du={invisible:{},visible:{},all:[]},yD={displaced:du,displacedBy:hE,at:null};var br=(e,t)=>n=>e<=n&&n<=t,gE=e=>{const t=br(e.top,e.bottom),n=br(e.left,e.right);return i=>{if(t(i.top)&&t(i.bottom)&&n(i.left)&&n(i.right))return!0;const o=t(i.top)||t(i.bottom),a=n(i.left)||n(i.right);if(o&&a)return!0;const d=i.tope.bottom,m=i.lefte.right;return d&&m?!0:d&&a||m&&o}},vD=e=>{const t=br(e.top,e.bottom),n=br(e.left,e.right);return i=>t(i.top)&&t(i.bottom)&&n(i.left)&&n(i.right)};const z0={direction:"vertical",line:"y",crossAxisLine:"x",start:"top",end:"bottom",size:"height",crossAxisStart:"left",crossAxisEnd:"right",crossAxisSize:"width"},xE={direction:"horizontal",line:"x",crossAxisLine:"y",start:"left",end:"right",size:"width",crossAxisStart:"top",crossAxisEnd:"bottom",crossAxisSize:"height"};var bD=e=>t=>{const n=br(t.top,t.bottom),i=br(t.left,t.right);return r=>e===z0?n(r.top)&&n(r.bottom):i(r.left)&&i(r.right)};const _D=(e,t)=>{const n=t.frame?t.frame.scroll.diff.displacement:ii;return Iu(e,n)},kD=(e,t,n)=>t.subject.active?n(t.subject.active)(e):!1,SD=(e,t,n)=>n(t)(e),P0=({target:e,destination:t,viewport:n,withDroppableDisplacement:i,isVisibleThroughFrameFn:r})=>{const o=i?_D(e,t):e;return kD(o,t,r)&&SD(o,n,r)},wD=e=>P0({...e,isVisibleThroughFrameFn:gE}),yE=e=>P0({...e,isVisibleThroughFrameFn:vD}),CD=e=>P0({...e,isVisibleThroughFrameFn:bD(e.destination.axis)}),jD=(e,t,n)=>{if(typeof n=="boolean")return n;if(!t)return!0;const{invisible:i,visible:r}=t;if(i[e])return!1;const o=r[e];return o?o.shouldAnimate:!0};function ED(e,t){const n=e.page.marginBox,i={top:t.point.y,right:0,bottom:0,left:t.point.x};return Nr(M0(n,i))}function fu({afterDragging:e,destination:t,displacedBy:n,viewport:i,forceShouldAnimate:r,last:o}){return e.reduce(function(u,d){const m=ED(d,n),h=d.descriptor.id;if(u.all.push(h),!wD({target:m,destination:t,viewport:i,withDroppableDisplacement:!0}))return u.invisible[d.descriptor.id]=!0,u;const g=jD(h,o,r),y={draggableId:h,shouldAnimate:g};return u.visible[h]=y,u},{all:[],visible:{},invisible:{}})}function ND(e,t){if(!e.length)return 0;const n=e[e.length-1].descriptor.index;return t.inHomeList?n:n+1}function SS({insideDestination:e,inHomeList:t,displacedBy:n,destination:i}){const r=ND(e,{inHomeList:t});return{displaced:du,displacedBy:n,at:{type:"REORDER",destination:{droppableId:i.descriptor.id,index:r}}}}function Xf({draggable:e,insideDestination:t,destination:n,viewport:i,displacedBy:r,last:o,index:a,forceShouldAnimate:u}){const d=Rl(e,n);if(a==null)return SS({insideDestination:t,inHomeList:d,displacedBy:r,destination:n});const m=t.find(v=>v.descriptor.index===a);if(!m)return SS({insideDestination:t,inHomeList:d,displacedBy:r,destination:n});const h=Rm(e,t),p=t.indexOf(m),g=h.slice(p);return{displaced:fu({afterDragging:g,destination:n,displacedBy:r,last:o,viewport:i.frame,forceShouldAnimate:u}),displacedBy:r,at:{type:"REORDER",destination:{droppableId:n.descriptor.id,index:a}}}}function ho(e,t){return!!t.effected[e]}var ID=({isMovingForward:e,destination:t,draggables:n,combine:i,afterCritical:r})=>{if(!t.isCombineEnabled)return null;const o=i.draggableId,u=n[o].descriptor.index;return ho(o,r)?e?u:u-1:e?u+1:u},TD=({isMovingForward:e,isInHomeList:t,insideDestination:n,location:i})=>{if(!n.length)return null;const r=i.index,o=e?r+1:r-1,a=n[0].descriptor.index,u=n[n.length-1].descriptor.index,d=t?u:u+1;return od?null:o},RD=({isMovingForward:e,isInHomeList:t,draggable:n,draggables:i,destination:r,insideDestination:o,previousImpact:a,viewport:u,afterCritical:d})=>{const m=a.at;if(m||Le(),m.type==="REORDER"){const p=TD({isMovingForward:e,isInHomeList:t,location:m.destination,insideDestination:o});return p==null?null:Xf({draggable:n,insideDestination:o,destination:r,viewport:u,last:a.displaced,displacedBy:a.displacedBy,index:p})}const h=ID({isMovingForward:e,destination:r,displaced:a.displaced,draggables:i,combine:m.combine,afterCritical:d});return h==null?null:Xf({draggable:n,insideDestination:o,destination:r,viewport:u,last:a.displaced,displacedBy:a.displacedBy,index:h})},AD=({displaced:e,afterCritical:t,combineWith:n,displacedBy:i})=>{const r=!!(e.visible[n]||e.invisible[n]);return ho(n,t)?r?ii:Il(i.point):r?i.point:ii},MD=({afterCritical:e,impact:t,draggables:n})=>{const i=Tm(t);i||Le();const r=i.draggableId,o=n[r].page.borderBox.center,a=AD({displaced:t.displaced,afterCritical:e,combineWith:r,displacedBy:t.displacedBy});return fi(o,a)};const vE=(e,t)=>t.margin[e.start]+t.borderBox[e.size]/2,DD=(e,t)=>t.margin[e.end]+t.borderBox[e.size]/2,B0=(e,t,n)=>t[e.crossAxisStart]+n.margin[e.crossAxisStart]+n.borderBox[e.crossAxisSize]/2,wS=({axis:e,moveRelativeTo:t,isMoving:n})=>qo(e.line,t.marginBox[e.end]+vE(e,n),B0(e,t.marginBox,n)),CS=({axis:e,moveRelativeTo:t,isMoving:n})=>qo(e.line,t.marginBox[e.start]-DD(e,n),B0(e,t.marginBox,n)),OD=({axis:e,moveInto:t,isMoving:n})=>qo(e.line,t.contentBox[e.start]+vE(e,n),B0(e,t.contentBox,n));var LD=({impact:e,draggable:t,draggables:n,droppable:i,afterCritical:r})=>{const o=Tl(i.descriptor.id,n),a=t.page,u=i.axis;if(!o.length)return OD({axis:u,moveInto:i.page,isMoving:a});const{displaced:d,displacedBy:m}=e,h=d.all[0];if(h){const g=n[h];if(ho(h,r))return CS({axis:u,moveRelativeTo:g.page,isMoving:a});const y=Uf(g.page,m.point);return CS({axis:u,moveRelativeTo:y,isMoving:a})}const p=o[o.length-1];if(p.descriptor.id===t.descriptor.id)return a.borderBox.center;if(ho(p.descriptor.id,r)){const g=Uf(p.page,Il(r.displacedBy.point));return wS({axis:u,moveRelativeTo:g,isMoving:a})}return wS({axis:u,moveRelativeTo:p.page,isMoving:a})},My=(e,t)=>{const n=e.frame;return n?fi(t,n.scroll.diff.displacement):t};const zD=({impact:e,draggable:t,droppable:n,draggables:i,afterCritical:r})=>{const o=t.page.borderBox.center,a=e.at;return!n||!a?o:a.type==="REORDER"?LD({impact:e,draggable:t,draggables:i,droppable:n,afterCritical:r}):MD({impact:e,draggables:i,afterCritical:r})};var Am=e=>{const t=zD(e),n=e.droppable;return n?My(n,t):t},bE=(e,t)=>{const n=Qi(t,e.scroll.initial),i=Il(n);return{frame:Nr({top:t.y,bottom:t.y+e.frame.height,left:t.x,right:t.x+e.frame.width}),scroll:{initial:e.scroll.initial,max:e.scroll.max,current:t,diff:{value:n,displacement:i}}}};function jS(e,t){return e.map(n=>t[n])}function PD(e,t){for(let n=0;n{const o=bE(t,fi(t.scroll.current,r)),a=n.frame?O0(n,fi(n.frame.scroll.current,r)):n,u=e.displaced,d=fu({afterDragging:jS(u.all,i),destination:n,displacedBy:e.displacedBy,viewport:o.frame,last:u,forceShouldAnimate:!1}),m=fu({afterDragging:jS(u.all,i),destination:a,displacedBy:e.displacedBy,viewport:t.frame,last:u,forceShouldAnimate:!1}),h={},p={},g=[u,d,m];return u.all.forEach(v=>{const k=PD(v,g);if(k){p[v]=k;return}h[v]=!0}),{...e,displaced:{all:u.all,invisible:h,visible:p}}},$D=(e,t)=>fi(e.scroll.diff.displacement,t),$0=({pageBorderBoxCenter:e,draggable:t,viewport:n})=>{const i=$D(n,e),r=Qi(i,t.page.borderBox.center);return fi(t.client.borderBox.center,r)},_E=({draggable:e,destination:t,newPageBorderBoxCenter:n,viewport:i,withDroppableDisplacement:r,onlyOnMainAxis:o=!1})=>{const a=Qi(n,e.page.borderBox.center),d={target:Iu(e.page.borderBox,a),destination:t,withDroppableDisplacement:r,viewport:i};return o?CD(d):yE(d)},HD=({isMovingForward:e,draggable:t,destination:n,draggables:i,previousImpact:r,viewport:o,previousPageBorderBoxCenter:a,previousClientSelection:u,afterCritical:d})=>{if(!n.isEnabled)return null;const m=Tl(n.descriptor.id,i),h=Rl(t,n),p=xD({isMovingForward:e,draggable:t,destination:n,insideDestination:m,previousImpact:r})||RD({isMovingForward:e,isInHomeList:h,draggable:t,draggables:i,destination:n,insideDestination:m,previousImpact:r,viewport:o,afterCritical:d});if(!p)return null;const g=Am({impact:p,draggable:t,droppable:n,draggables:i,afterCritical:d});if(_E({draggable:t,destination:n,newPageBorderBoxCenter:g,viewport:o.frame,withDroppableDisplacement:!1,onlyOnMainAxis:!0}))return{clientSelection:$0({pageBorderBoxCenter:g,draggable:t,viewport:o}),impact:p,scrollJumpRequest:null};const v=Qi(g,a),k=BD({impact:p,viewport:o,destination:n,draggables:i,maxScrollChange:v});return{clientSelection:u,impact:k,scrollJumpRequest:v}};const Ci=e=>{const t=e.subject.active;return t||Le(),t};var FD=({isMovingForward:e,pageBorderBoxCenter:t,source:n,droppables:i,viewport:r})=>{const o=n.subject.active;if(!o)return null;const a=n.axis,u=br(o[a.start],o[a.end]),d=Im(i).filter(h=>h!==n).filter(h=>h.isEnabled).filter(h=>!!h.subject.active).filter(h=>gE(r.frame)(Ci(h))).filter(h=>{const p=Ci(h);return e?o[a.crossAxisEnd]{const p=Ci(h),g=br(p[a.start],p[a.end]);return u(p[a.start])||u(p[a.end])||g(o[a.start])||g(o[a.end])}).sort((h,p)=>{const g=Ci(h)[a.crossAxisStart],y=Ci(p)[a.crossAxisStart];return e?g-y:y-g}).filter((h,p,g)=>Ci(h)[a.crossAxisStart]===Ci(g[0])[a.crossAxisStart]);if(!d.length)return null;if(d.length===1)return d[0];const m=d.filter(h=>br(Ci(h)[a.start],Ci(h)[a.end])(t[a.line]));return m.length===1?m[0]:m.length>1?m.sort((h,p)=>Ci(h)[a.start]-Ci(p)[a.start])[0]:d.sort((h,p)=>{const g=_S(t,kS(Ci(h))),y=_S(t,kS(Ci(p)));return g!==y?g-y:Ci(h)[a.start]-Ci(p)[a.start]})[0]};const ES=(e,t)=>{const n=e.page.borderBox.center;return ho(e.descriptor.id,t)?Qi(n,t.displacedBy.point):n},VD=(e,t)=>{const n=e.page.borderBox;return ho(e.descriptor.id,t)?Iu(n,Il(t.displacedBy.point)):n};var UD=({pageBorderBoxCenter:e,viewport:t,destination:n,insideDestination:i,afterCritical:r})=>i.filter(a=>yE({target:VD(a,r),destination:n,viewport:t.frame,withDroppableDisplacement:!0})).sort((a,u)=>{const d=uu(e,My(n,ES(a,r))),m=uu(e,My(n,ES(u,r)));return d{const i=e.axis;if(e.descriptor.mode==="virtual")return qo(i.line,t[i.line]);const r=e.subject.page.contentBox[i.size],d=Tl(e.descriptor.id,n).reduce((m,h)=>m+h.client.marginBox[i.size],0)+t[i.line]-r;return d<=0?null:qo(i.line,d)},kE=(e,t)=>({...e,scroll:{...e.scroll,max:t}}),SE=(e,t,n)=>{const i=e.frame;Rl(t,e)&&Le(),e.subject.withPlaceholder&&Le();const r=Tu(e.axis,t.displaceBy).point,o=GD(e,r,n),a={placeholderSize:r,increasedBy:o,oldFrameMaxScroll:e.frame?e.frame.scroll.max:null};if(!i){const h=ml({page:e.subject.page,withPlaceholder:a,axis:e.axis,frame:e.frame});return{...e,subject:h}}const u=o?fi(i.scroll.max,o):i.scroll.max,d=kE(i,u),m=ml({page:e.subject.page,withPlaceholder:a,axis:e.axis,frame:d});return{...e,subject:m,frame:d}},qD=e=>{const t=e.subject.withPlaceholder;t||Le();const n=e.frame;if(!n){const a=ml({page:e.subject.page,axis:e.axis,frame:null,withPlaceholder:null});return{...e,subject:a}}const i=t.oldFrameMaxScroll;i||Le();const r=kE(n,i),o=ml({page:e.subject.page,axis:e.axis,frame:r,withPlaceholder:null});return{...e,subject:o,frame:r}};var WD=({previousPageBorderBoxCenter:e,moveRelativeTo:t,insideDestination:n,draggable:i,draggables:r,destination:o,viewport:a,afterCritical:u})=>{if(!t){if(n.length)return null;const p={displaced:du,displacedBy:hE,at:{type:"REORDER",destination:{droppableId:o.descriptor.id,index:0}}},g=Am({impact:p,draggable:i,droppable:o,draggables:r,afterCritical:u}),y=Rl(i,o)?o:SE(o,i,r);return _E({draggable:i,destination:y,newPageBorderBoxCenter:g,viewport:a.frame,withDroppableDisplacement:!1,onlyOnMainAxis:!0})?p:null}const d=e[o.axis.line]<=t.page.borderBox.center[o.axis.line],m=(()=>{const p=t.descriptor.index;return t.descriptor.id===i.descriptor.id||d?p:p+1})(),h=Tu(o.axis,i.displaceBy);return Xf({draggable:i,insideDestination:n,destination:o,viewport:a,displacedBy:h,last:du,index:m})},YD=({isMovingForward:e,previousPageBorderBoxCenter:t,draggable:n,isOver:i,draggables:r,droppables:o,viewport:a,afterCritical:u})=>{const d=FD({isMovingForward:e,pageBorderBoxCenter:t,source:i,droppables:o,viewport:a});if(!d)return null;const m=Tl(d.descriptor.id,r),h=UD({pageBorderBoxCenter:t,viewport:a,destination:d,insideDestination:m,afterCritical:u}),p=WD({previousPageBorderBoxCenter:t,destination:d,draggable:n,draggables:r,moveRelativeTo:h,insideDestination:m,viewport:a,afterCritical:u});if(!p)return null;const g=Am({impact:p,draggable:n,droppable:d,draggables:r,afterCritical:u});return{clientSelection:$0({pageBorderBoxCenter:g,draggable:n,viewport:a}),impact:p,scrollJumpRequest:null}},Ji=e=>{const t=e.at;return t?t.type==="REORDER"?t.destination.droppableId:t.combine.droppableId:null};const XD=(e,t)=>{const n=Ji(e);return n?t[n]:null};var KD=({state:e,type:t})=>{const n=XD(e.impact,e.dimensions.droppables),i=!!n,r=e.dimensions.droppables[e.critical.droppable.id],o=n||r,a=o.axis.direction,u=a==="vertical"&&(t==="MOVE_UP"||t==="MOVE_DOWN")||a==="horizontal"&&(t==="MOVE_LEFT"||t==="MOVE_RIGHT");if(u&&!i)return null;const d=t==="MOVE_DOWN"||t==="MOVE_RIGHT",m=e.dimensions.draggables[e.critical.draggable.id],h=e.current.page.borderBoxCenter,{draggables:p,droppables:g}=e.dimensions;return u?HD({isMovingForward:d,previousPageBorderBoxCenter:h,draggable:m,destination:o,draggables:p,viewport:e.viewport,previousClientSelection:e.current.client.selection,previousImpact:e.impact,afterCritical:e.afterCritical}):YD({isMovingForward:d,previousPageBorderBoxCenter:h,draggable:m,isOver:o,draggables:p,droppables:g,viewport:e.viewport,afterCritical:e.afterCritical})};function $o(e){return e.phase==="DRAGGING"||e.phase==="COLLECTING"}function wE(e){const t=br(e.top,e.bottom),n=br(e.left,e.right);return function(r){return t(r.y)&&n(r.x)}}function ZD(e,t){return e.leftt.left&&e.topt.top}function QD({pageBorderBox:e,draggable:t,candidates:n}){const i=t.page.borderBox.center,r=n.map(o=>{const a=o.axis,u=qo(o.axis.line,e.center[a.line],o.page.borderBox.center[a.crossAxisLine]);return{id:o.descriptor.id,distance:uu(i,u)}}).sort((o,a)=>a.distance-o.distance);return r[0]?r[0].id:null}function JD({pageBorderBox:e,draggable:t,droppables:n}){const i=Im(n).filter(r=>{if(!r.isEnabled)return!1;const o=r.subject.active;if(!o||!ZD(e,o))return!1;if(wE(o)(e.center))return!0;const a=r.axis,u=o.center[a.crossAxisLine],d=e[a.crossAxisStart],m=e[a.crossAxisEnd],h=br(o[a.crossAxisStart],o[a.crossAxisEnd]),p=h(d),g=h(m);return!p&&!g?!0:p?du});return i.length?i.length===1?i[0].descriptor.id:QD({pageBorderBox:e,draggable:t,candidates:i}):null}const CE=(e,t)=>Nr(Iu(e,t));var eO=(e,t)=>{const n=e.frame;return n?CE(t,n.scroll.diff.value):t};function jE({displaced:e,id:t}){return!!(e.visible[t]||e.invisible[t])}function tO({draggable:e,closest:t,inHomeList:n}){return t?n&&t.descriptor.index>e.descriptor.index?t.descriptor.index-1:t.descriptor.index:null}var nO=({pageBorderBoxWithDroppableScroll:e,draggable:t,destination:n,insideDestination:i,last:r,viewport:o,afterCritical:a})=>{const u=n.axis,d=Tu(n.axis,t.displaceBy),m=d.value,h=e[u.start],p=e[u.end],y=Rm(t,i).find(k=>{const S=k.descriptor.id,_=k.page.borderBox.center[u.line],w=ho(S,a),C=jE({displaced:r,id:S});return w?C?p<=_:h<_-m:C?p<=_+m:h<_})||null,v=tO({draggable:t,closest:y,inHomeList:Rl(t,n)});return Xf({draggable:t,insideDestination:i,destination:n,viewport:o,last:r,displacedBy:d,index:v})};const iO=4;var rO=({draggable:e,pageBorderBoxWithDroppableScroll:t,previousImpact:n,destination:i,insideDestination:r,afterCritical:o})=>{if(!i.isCombineEnabled)return null;const a=i.axis,u=Tu(i.axis,e.displaceBy),d=u.value,m=t[a.start],h=t[a.end],g=Rm(e,r).find(v=>{const k=v.descriptor.id,S=v.page.borderBox,w=S[a.size]/iO,C=ho(k,o),N=jE({displaced:n.displaced,id:k});return C?N?h>S[a.start]+w&&hS[a.start]-d+w&&mS[a.start]+d+w&&hS[a.start]+w&&m{const u=CE(t.page.borderBox,e),d=JD({pageBorderBox:u,draggable:t,droppables:i});if(!d)return yD;const m=i[d],h=Tl(m.descriptor.id,n),p=eO(m,u);return rO({pageBorderBoxWithDroppableScroll:p,draggable:t,previousImpact:r,destination:m,insideDestination:h,afterCritical:a})||nO({pageBorderBoxWithDroppableScroll:p,draggable:t,destination:m,insideDestination:h,last:r.displaced,viewport:o,afterCritical:a})},H0=(e,t)=>({...e,[t.descriptor.id]:t});const sO=({previousImpact:e,impact:t,droppables:n})=>{const i=Ji(e),r=Ji(t);if(!i||i===r)return n;const o=n[i];if(!o.subject.withPlaceholder)return n;const a=qD(o);return H0(n,a)};var oO=({draggable:e,draggables:t,droppables:n,previousImpact:i,impact:r})=>{const o=sO({previousImpact:i,impact:r,droppables:n}),a=Ji(r);if(!a)return o;const u=n[a];if(Rl(e,u)||u.subject.withPlaceholder)return o;const d=SE(u,e,t);return H0(o,d)},Zc=({state:e,clientSelection:t,dimensions:n,viewport:i,impact:r,scrollJumpRequest:o})=>{const a=i||e.viewport,u=n||e.dimensions,d=t||e.current.client.selection,m=Qi(d,e.initial.client.selection),h={offset:m,selection:d,borderBoxCenter:fi(e.initial.client.borderBoxCenter,m)},p={selection:fi(h.selection,a.scroll.current),borderBoxCenter:fi(h.borderBoxCenter,a.scroll.current),offset:fi(h.offset,a.scroll.diff.value)},g={client:h,page:p};if(e.phase==="COLLECTING")return{...e,dimensions:u,viewport:a,current:g};const y=u.draggables[e.critical.draggable.id],v=r||EE({pageOffset:p.offset,draggable:y,draggables:u.draggables,droppables:u.droppables,previousImpact:e.impact,viewport:a,afterCritical:e.afterCritical}),k=oO({draggable:y,impact:v,previousImpact:e.impact,draggables:u.draggables,droppables:u.droppables});return{...e,current:g,dimensions:{draggables:u.draggables,droppables:k},impact:v,viewport:a,scrollJumpRequest:o||null,forceShouldAnimate:o?!1:null}};function aO(e,t){return e.map(n=>t[n])}var NE=({impact:e,viewport:t,draggables:n,destination:i,forceShouldAnimate:r})=>{const o=e.displaced,a=aO(o.all,n),u=fu({afterDragging:a,destination:i,displacedBy:e.displacedBy,viewport:t.frame,forceShouldAnimate:r,last:o});return{...e,displaced:u}},IE=({impact:e,draggable:t,droppable:n,draggables:i,viewport:r,afterCritical:o})=>{const a=Am({impact:e,draggable:t,draggables:i,droppable:n,afterCritical:o});return $0({pageBorderBoxCenter:a,draggable:t,viewport:r})},TE=({state:e,dimensions:t,viewport:n})=>{e.movementMode!=="SNAP"&&Le();const i=e.impact,r=n||e.viewport,o=t||e.dimensions,{draggables:a,droppables:u}=o,d=a[e.critical.draggable.id],m=Ji(i);m||Le();const h=u[m],p=NE({impact:i,viewport:r,destination:h,draggables:a}),g=IE({impact:p,draggable:d,droppable:h,draggables:a,viewport:r,afterCritical:e.afterCritical});return Zc({impact:p,clientSelection:g,state:e,dimensions:o,viewport:r})},lO=e=>({index:e.index,droppableId:e.droppableId}),RE=({draggable:e,home:t,draggables:n,viewport:i})=>{const r=Tu(t.axis,e.displaceBy),o=Tl(t.descriptor.id,n),a=o.indexOf(e);a===-1&&Le();const u=o.slice(a+1),d=u.reduce((g,y)=>(g[y.descriptor.id]=!0,g),{}),m={inVirtualList:t.descriptor.mode==="virtual",displacedBy:r,effected:d};return{impact:{displaced:fu({afterDragging:u,destination:t,displacedBy:r,last:null,viewport:i.frame,forceShouldAnimate:!1}),displacedBy:r,at:{type:"REORDER",destination:lO(e.descriptor)}},afterCritical:m}},cO=(e,t)=>({draggables:e.draggables,droppables:H0(e.droppables,t)}),uO=({draggable:e,offset:t,initialWindowScroll:n})=>{const i=Uf(e.client,t),r=Gf(i,n);return{...e,placeholder:{...e.placeholder,client:i},client:i,page:r}},dO=e=>{const t=e.frame;return t||Le(),t},fO=({additions:e,updatedDroppables:t,viewport:n})=>{const i=n.scroll.diff.value;return e.map(r=>{const o=r.descriptor.droppableId,a=t[o],d=dO(a).scroll.diff.value,m=fi(i,d);return uO({draggable:r,offset:m,initialWindowScroll:n.scroll.initial})})},mO=({state:e,published:t})=>{const n=t.modified.map(_=>{const w=e.dimensions.droppables[_.droppableId];return O0(w,_.scroll)}),i={...e.dimensions.droppables,...mE(n)},r=pE(fO({additions:t.additions,updatedDroppables:i,viewport:e.viewport})),o={...e.dimensions.draggables,...r};t.removals.forEach(_=>{delete o[_]});const a={droppables:i,draggables:o},u=Ji(e.impact),d=u?a.droppables[u]:null,m=a.draggables[e.critical.draggable.id],h=a.droppables[e.critical.droppable.id],{impact:p,afterCritical:g}=RE({draggable:m,home:h,draggables:o,viewport:e.viewport}),y=d&&d.isCombineEnabled?e.impact:p,v=EE({pageOffset:e.current.page.offset,draggable:a.draggables[e.critical.draggable.id],draggables:a.draggables,droppables:a.droppables,previousImpact:y,viewport:e.viewport,afterCritical:g}),k={...e,phase:"DRAGGING",impact:v,onLiftImpact:p,dimensions:a,afterCritical:g,forceShouldAnimate:!1};return e.phase==="COLLECTING"?k:{...k,phase:"DROP_PENDING",reason:e.reason,isWaiting:!1}};const Dy=e=>e.movementMode==="SNAP",_g=(e,t,n)=>{const i=cO(e.dimensions,t);return!Dy(e)||n?Zc({state:e,dimensions:i}):TE({state:e,dimensions:i})};function kg(e){return e.isDragging&&e.movementMode==="SNAP"?{...e,scrollJumpRequest:null}:e}const NS={phase:"IDLE",completed:null,shouldFlush:!1};var pO=(e=NS,t)=>{if(t.type==="FLUSH")return{...NS,shouldFlush:!0};if(t.type==="INITIAL_PUBLISH"){e.phase!=="IDLE"&&Le();const{critical:n,clientSelection:i,viewport:r,dimensions:o,movementMode:a}=t.payload,u=o.draggables[n.draggable.id],d=o.droppables[n.droppable.id],m={selection:i,borderBoxCenter:u.client.borderBox.center,offset:ii},h={client:m,page:{selection:fi(m.selection,r.scroll.initial),borderBoxCenter:fi(m.selection,r.scroll.initial),offset:fi(m.selection,r.scroll.diff.value)}},p=Im(o.droppables).every(k=>!k.isFixedOnPage),{impact:g,afterCritical:y}=RE({draggable:u,home:d,draggables:o.draggables,viewport:r});return{phase:"DRAGGING",isDragging:!0,critical:n,movementMode:a,dimensions:o,initial:h,current:h,isWindowScrollAllowed:p,impact:g,afterCritical:y,onLiftImpact:g,viewport:r,scrollJumpRequest:null,forceShouldAnimate:null}}if(t.type==="COLLECTION_STARTING")return e.phase==="COLLECTING"||e.phase==="DROP_PENDING"?e:(e.phase!=="DRAGGING"&&Le(),{...e,phase:"COLLECTING"});if(t.type==="PUBLISH_WHILE_DRAGGING")return e.phase==="COLLECTING"||e.phase==="DROP_PENDING"||Le(),mO({state:e,published:t.payload});if(t.type==="MOVE"){if(e.phase==="DROP_PENDING")return e;$o(e)||Le();const{client:n}=t.payload;return fo(n,e.current.client.selection)?e:Zc({state:e,clientSelection:n,impact:Dy(e)?e.impact:null})}if(t.type==="UPDATE_DROPPABLE_SCROLL"){if(e.phase==="DROP_PENDING"||e.phase==="COLLECTING")return kg(e);$o(e)||Le();const{id:n,newScroll:i}=t.payload,r=e.dimensions.droppables[n];if(!r)return e;const o=O0(r,i);return _g(e,o,!1)}if(t.type==="UPDATE_DROPPABLE_IS_ENABLED"){if(e.phase==="DROP_PENDING")return e;$o(e)||Le();const{id:n,isEnabled:i}=t.payload,r=e.dimensions.droppables[n];r||Le(),r.isEnabled===i&&Le();const o={...r,isEnabled:i};return _g(e,o,!0)}if(t.type==="UPDATE_DROPPABLE_IS_COMBINE_ENABLED"){if(e.phase==="DROP_PENDING")return e;$o(e)||Le();const{id:n,isCombineEnabled:i}=t.payload,r=e.dimensions.droppables[n];r||Le(),r.isCombineEnabled===i&&Le();const o={...r,isCombineEnabled:i};return _g(e,o,!0)}if(t.type==="MOVE_BY_WINDOW_SCROLL"){if(e.phase==="DROP_PENDING"||e.phase==="DROP_ANIMATING")return e;$o(e)||Le(),e.isWindowScrollAllowed||Le();const n=t.payload.newScroll;if(fo(e.viewport.scroll.current,n))return kg(e);const i=bE(e.viewport,n);return Dy(e)?TE({state:e,viewport:i}):Zc({state:e,viewport:i})}if(t.type==="UPDATE_VIEWPORT_MAX_SCROLL"){if(!$o(e))return e;const n=t.payload.maxScroll;if(fo(n,e.viewport.scroll.max))return e;const i={...e.viewport,scroll:{...e.viewport.scroll,max:n}};return{...e,viewport:i}}if(t.type==="MOVE_UP"||t.type==="MOVE_DOWN"||t.type==="MOVE_LEFT"||t.type==="MOVE_RIGHT"){if(e.phase==="COLLECTING"||e.phase==="DROP_PENDING")return e;e.phase!=="DRAGGING"&&Le();const n=KD({state:e,type:t.type});return n?Zc({state:e,impact:n.impact,clientSelection:n.clientSelection,scrollJumpRequest:n.scrollJumpRequest}):e}if(t.type==="DROP_PENDING"){const n=t.payload.reason;return e.phase!=="COLLECTING"&&Le(),{...e,phase:"DROP_PENDING",isWaiting:!0,reason:n}}if(t.type==="DROP_ANIMATE"){const{completed:n,dropDuration:i,newHomeClientOffset:r}=t.payload;return e.phase==="DRAGGING"||e.phase==="DROP_PENDING"||Le(),{phase:"DROP_ANIMATING",completed:n,dropDuration:i,newHomeClientOffset:r,dimensions:e.dimensions}}if(t.type==="DROP_COMPLETE"){const{completed:n}=t.payload;return{phase:"IDLE",completed:n,shouldFlush:!1}}return e};function en(e,t){return e instanceof Object&&"type"in e&&e.type===t}const hO=e=>({type:"BEFORE_INITIAL_CAPTURE",payload:e}),gO=e=>({type:"LIFT",payload:e}),xO=e=>({type:"INITIAL_PUBLISH",payload:e}),yO=e=>({type:"PUBLISH_WHILE_DRAGGING",payload:e}),vO=()=>({type:"COLLECTION_STARTING",payload:null}),bO=e=>({type:"UPDATE_DROPPABLE_SCROLL",payload:e}),_O=e=>({type:"UPDATE_DROPPABLE_IS_ENABLED",payload:e}),kO=e=>({type:"UPDATE_DROPPABLE_IS_COMBINE_ENABLED",payload:e}),AE=e=>({type:"MOVE",payload:e}),SO=e=>({type:"MOVE_BY_WINDOW_SCROLL",payload:e}),wO=e=>({type:"UPDATE_VIEWPORT_MAX_SCROLL",payload:e}),CO=()=>({type:"MOVE_UP",payload:null}),jO=()=>({type:"MOVE_DOWN",payload:null}),EO=()=>({type:"MOVE_RIGHT",payload:null}),NO=()=>({type:"MOVE_LEFT",payload:null}),F0=()=>({type:"FLUSH",payload:null}),IO=e=>({type:"DROP_ANIMATE",payload:e}),V0=e=>({type:"DROP_COMPLETE",payload:e}),ME=e=>({type:"DROP",payload:e}),TO=e=>({type:"DROP_PENDING",payload:e}),DE=()=>({type:"DROP_ANIMATION_FINISHED",payload:null});var RO=e=>({getState:t,dispatch:n})=>i=>r=>{if(!en(r,"LIFT")){i(r);return}const{id:o,clientSelection:a,movementMode:u}=r.payload,d=t();d.phase==="DROP_ANIMATING"&&n(V0({completed:d.completed})),t().phase!=="IDLE"&&Le(),n(F0()),n(hO({draggableId:o,movementMode:u}));const h={draggableId:o,scrollOptions:{shouldPublishImmediately:u==="SNAP"}},{critical:p,dimensions:g,viewport:y}=e.startPublishing(h);n(xO({critical:p,dimensions:g,clientSelection:a,movementMode:u,viewport:y}))},AO=e=>()=>t=>n=>{en(n,"INITIAL_PUBLISH")&&e.dragging(),en(n,"DROP_ANIMATE")&&e.dropping(n.payload.completed.result.reason),(en(n,"FLUSH")||en(n,"DROP_COMPLETE"))&&e.resting(),t(n)};const U0={outOfTheWay:"cubic-bezier(0.2, 0, 0, 1)",drop:"cubic-bezier(.2,1,.1,1)"},mu={opacity:{drop:0,combining:.7},scale:{drop:.75}},OE={outOfTheWay:.2,minDropTime:.33,maxDropTime:.55},Lo=`${OE.outOfTheWay}s ${U0.outOfTheWay}`,Qc={fluid:`opacity ${Lo}`,snap:`transform ${Lo}, opacity ${Lo}`,drop:e=>{const t=`${e}s ${U0.drop}`;return`transform ${t}, opacity ${t}`},outOfTheWay:`transform ${Lo}`,placeholder:`height ${Lo}, width ${Lo}, margin ${Lo}`},IS=e=>fo(e,ii)?void 0:`translate(${e.x}px, ${e.y}px)`,Oy={moveTo:IS,drop:(e,t)=>{const n=IS(e);if(n)return t?`${n} scale(${mu.scale.drop})`:n}},{minDropTime:Ly,maxDropTime:LE}=OE,MO=LE-Ly,TS=1500,DO=.6;var OO=({current:e,destination:t,reason:n})=>{const i=uu(e,t);if(i<=0)return Ly;if(i>=TS)return LE;const r=i/TS,o=Ly+MO*r,a=n==="CANCEL"?o*DO:o;return Number(a.toFixed(2))},LO=({impact:e,draggable:t,dimensions:n,viewport:i,afterCritical:r})=>{const{draggables:o,droppables:a}=n,u=Ji(e),d=u?a[u]:null,m=a[t.descriptor.droppableId],h=IE({impact:e,draggable:t,draggables:o,afterCritical:r,droppable:d||m,viewport:i});return Qi(h,t.client.borderBox.center)},zO=({draggables:e,reason:t,lastImpact:n,home:i,viewport:r,onLiftImpact:o})=>!n.at||t!=="DROP"?{impact:NE({draggables:e,impact:o,destination:i,viewport:r,forceShouldAnimate:!0}),didDropInsideDroppable:!1}:n.at.type==="REORDER"?{impact:n,didDropInsideDroppable:!0}:{impact:{...n,displaced:du},didDropInsideDroppable:!0};const PO=({getState:e,dispatch:t})=>n=>i=>{if(!en(i,"DROP")){n(i);return}const r=e(),o=i.payload.reason;if(r.phase==="COLLECTING"){t(TO({reason:o}));return}if(r.phase==="IDLE")return;r.phase==="DROP_PENDING"&&r.isWaiting&&Le(),r.phase==="DRAGGING"||r.phase==="DROP_PENDING"||Le();const u=r.critical,d=r.dimensions,m=d.draggables[r.critical.draggable.id],{impact:h,didDropInsideDroppable:p}=zO({reason:o,lastImpact:r.impact,afterCritical:r.afterCritical,onLiftImpact:r.onLiftImpact,home:r.dimensions.droppables[r.critical.droppable.id],viewport:r.viewport,draggables:r.dimensions.draggables}),g=p?L0(h):null,y=p?Tm(h):null,v={index:u.draggable.index,droppableId:u.droppable.id},k={draggableId:m.descriptor.id,type:m.descriptor.type,source:v,reason:o,mode:r.movementMode,destination:g,combine:y},S=LO({impact:h,draggable:m,dimensions:d,viewport:r.viewport,afterCritical:r.afterCritical}),_={critical:r.critical,afterCritical:r.afterCritical,result:k,impact:h};if(!(!fo(r.current.client.offset,S)||!!k.combine)){t(V0({completed:_}));return}const C=OO({current:r.current.client.offset,destination:S,reason:o});t(IO({newHomeClientOffset:S,dropDuration:C,completed:_}))};var zE=()=>({x:window.pageXOffset,y:window.pageYOffset});function BO(e){return{eventName:"scroll",options:{passive:!0,capture:!1},fn:t=>{t.target!==window&&t.target!==window.document||e()}}}function $O({onWindowScroll:e}){function t(){e(zE())}const n=cu(t),i=BO(n);let r=uo;function o(){return r!==uo}function a(){o()&&Le(),r=vr(window,[i])}function u(){o()||Le(),n.cancel(),r(),r=uo}return{start:a,stop:u,isActive:o}}const HO=e=>en(e,"DROP_COMPLETE")||en(e,"DROP_ANIMATE")||en(e,"FLUSH"),FO=e=>{const t=$O({onWindowScroll:n=>{e.dispatch(SO({newScroll:n}))}});return n=>i=>{!t.isActive()&&en(i,"INITIAL_PUBLISH")&&t.start(),t.isActive()&&HO(i)&&t.stop(),n(i)}};var VO=e=>{let t=!1,n=!1;const i=setTimeout(()=>{n=!0}),r=o=>{t||n||(t=!0,e(o),clearTimeout(i))};return r.wasCalled=()=>t,r},UO=()=>{const e=[],t=r=>{const o=e.findIndex(u=>u.timerId===r);o===-1&&Le();const[a]=e.splice(o,1);a.callback()};return{add:r=>{const o=setTimeout(()=>t(o)),a={timerId:o,callback:r};e.push(a)},flush:()=>{if(!e.length)return;const r=[...e];e.length=0,r.forEach(o=>{clearTimeout(o.timerId),o.callback()})}}};const GO=(e,t)=>e==null&&t==null?!0:e==null||t==null?!1:e.droppableId===t.droppableId&&e.index===t.index,qO=(e,t)=>e==null&&t==null?!0:e==null||t==null?!1:e.draggableId===t.draggableId&&e.droppableId===t.droppableId,WO=(e,t)=>{if(e===t)return!0;const n=e.draggable.id===t.draggable.id&&e.draggable.droppableId===t.draggable.droppableId&&e.draggable.type===t.draggable.type&&e.draggable.index===t.draggable.index,i=e.droppable.id===t.droppable.id&&e.droppable.type===t.droppable.type;return n&&i},Ic=(e,t)=>{t()},Zd=(e,t)=>({draggableId:e.draggable.id,type:e.droppable.type,source:{droppableId:e.droppable.id,index:e.draggable.index},mode:t});function Sg(e,t,n,i){if(!e){n(i(t));return}const r=VO(n);e(t,{announce:r}),r.wasCalled()||n(i(t))}var YO=(e,t)=>{const n=UO();let i=null;const r=(p,g)=>{i&&Le(),Ic("onBeforeCapture",()=>{const y=e().onBeforeCapture;y&&y({draggableId:p,mode:g})})},o=(p,g)=>{i&&Le(),Ic("onBeforeDragStart",()=>{const y=e().onBeforeDragStart;y&&y(Zd(p,g))})},a=(p,g)=>{i&&Le();const y=Zd(p,g);i={mode:g,lastCritical:p,lastLocation:y.source,lastCombine:null},n.add(()=>{Ic("onDragStart",()=>Sg(e().onDragStart,y,t,Ef.onDragStart))})},u=(p,g)=>{const y=L0(g),v=Tm(g);i||Le();const k=!WO(p,i.lastCritical);k&&(i.lastCritical=p);const S=!GO(i.lastLocation,y);S&&(i.lastLocation=y);const _=!qO(i.lastCombine,v);if(_&&(i.lastCombine=v),!k&&!S&&!_)return;const w={...Zd(p,i.mode),combine:v,destination:y};n.add(()=>{Ic("onDragUpdate",()=>Sg(e().onDragUpdate,w,t,Ef.onDragUpdate))})},d=()=>{i||Le(),n.flush()},m=p=>{i||Le(),i=null,Ic("onDragEnd",()=>Sg(e().onDragEnd,p,t,Ef.onDragEnd))};return{beforeCapture:r,beforeStart:o,start:a,update:u,flush:d,drop:m,abort:()=>{if(!i)return;const p={...Zd(i.lastCritical,i.mode),combine:null,destination:null,reason:"CANCEL"};m(p)}}},XO=(e,t)=>{const n=YO(e,t);return i=>r=>o=>{if(en(o,"BEFORE_INITIAL_CAPTURE")){n.beforeCapture(o.payload.draggableId,o.payload.movementMode);return}if(en(o,"INITIAL_PUBLISH")){const u=o.payload.critical;n.beforeStart(u,o.payload.movementMode),r(o),n.start(u,o.payload.movementMode);return}if(en(o,"DROP_COMPLETE")){const u=o.payload.completed.result;n.flush(),r(o),n.drop(u);return}if(r(o),en(o,"FLUSH")){n.abort();return}const a=i.getState();a.phase==="DRAGGING"&&n.update(a.critical,a.impact)}};const KO=e=>t=>n=>{if(!en(n,"DROP_ANIMATION_FINISHED")){t(n);return}const i=e.getState();i.phase!=="DROP_ANIMATING"&&Le(),e.dispatch(V0({completed:i.completed}))},ZO=e=>{let t=null,n=null;function i(){n&&(cancelAnimationFrame(n),n=null),t&&(t(),t=null)}return r=>o=>{if((en(o,"FLUSH")||en(o,"DROP_COMPLETE")||en(o,"DROP_ANIMATION_FINISHED"))&&i(),r(o),!en(o,"DROP_ANIMATE"))return;const a={eventName:"scroll",options:{capture:!0,passive:!1,once:!0},fn:function(){e.getState().phase==="DROP_ANIMATING"&&e.dispatch(DE())}};n=requestAnimationFrame(()=>{n=null,t=vr(window,[a])})}};var QO=e=>()=>t=>n=>{(en(n,"DROP_COMPLETE")||en(n,"FLUSH")||en(n,"DROP_ANIMATE"))&&e.stopPublishing(),t(n)},JO=e=>{let t=!1;return()=>n=>i=>{if(en(i,"INITIAL_PUBLISH")){t=!0,e.tryRecordFocus(i.payload.critical.draggable.id),n(i),e.tryRestoreFocusRecorded();return}if(n(i),!!t){if(en(i,"FLUSH")){t=!1,e.tryRestoreFocusRecorded();return}if(en(i,"DROP_COMPLETE")){t=!1;const r=i.payload.completed.result;r.combine&&e.tryShiftRecord(r.draggableId,r.combine.draggableId),e.tryRestoreFocusRecorded()}}}};const eL=e=>en(e,"DROP_COMPLETE")||en(e,"DROP_ANIMATE")||en(e,"FLUSH");var tL=e=>t=>n=>i=>{if(eL(i)){e.stop(),n(i);return}if(en(i,"INITIAL_PUBLISH")){n(i);const r=t.getState();r.phase!=="DRAGGING"&&Le(),e.start(r);return}n(i),e.scroll(t.getState())};const nL=e=>t=>n=>{if(t(n),!en(n,"PUBLISH_WHILE_DRAGGING"))return;const i=e.getState();i.phase==="DROP_PENDING"&&(i.isWaiting||e.dispatch(ME({reason:i.reason})))},iL=Jj;var rL=({dimensionMarshal:e,focusMarshal:t,styleMarshal:n,getResponders:i,announce:r,autoScroller:o})=>Qj(pO,iL(t5(AO(n),QO(e),RO(e),PO,KO,ZO,nL,tL(o),FO,JO(t),XO(i,r))));const wg=()=>({additions:{},removals:{},modified:{}});function sL({registry:e,callbacks:t}){let n=wg(),i=null;const r=()=>{i||(t.collectionStarting(),i=requestAnimationFrame(()=>{i=null;const{additions:d,removals:m,modified:h}=n,p=Object.keys(d).map(v=>e.draggable.getById(v).getDimension(ii)).sort((v,k)=>v.descriptor.index-k.descriptor.index),g=Object.keys(h).map(v=>{const S=e.droppable.getById(v).callbacks.getScrollWhileDragging();return{droppableId:v,scroll:S}}),y={additions:p,removals:Object.keys(m),modified:g};n=wg(),t.publish(y)}))};return{add:d=>{const m=d.descriptor.id;n.additions[m]=d,n.modified[d.descriptor.droppableId]=!0,n.removals[m]&&delete n.removals[m],r()},remove:d=>{const m=d.descriptor;n.removals[m.id]=!0,n.modified[m.droppableId]=!0,n.additions[m.id]&&delete n.additions[m.id],r()},stop:()=>{i&&(cancelAnimationFrame(i),i=null,n=wg())}}}var PE=({scrollHeight:e,scrollWidth:t,height:n,width:i})=>{const r=Qi({x:t,y:e},{x:i,y:n});return{x:Math.max(0,r.x),y:Math.max(0,r.y)}},BE=()=>{const e=document.documentElement;return e||Le(),e},$E=()=>{const e=BE();return PE({scrollHeight:e.scrollHeight,scrollWidth:e.scrollWidth,width:e.clientWidth,height:e.clientHeight})},oL=()=>{const e=zE(),t=$E(),n=e.y,i=e.x,r=BE(),o=r.clientWidth,a=r.clientHeight,u=i+o,d=n+a;return{frame:Nr({top:n,left:i,right:u,bottom:d}),scroll:{initial:e,current:e,max:t,diff:{value:ii,displacement:ii}}}},aL=({critical:e,scrollOptions:t,registry:n})=>{const i=oL(),r=i.scroll.current,o=e.droppable,a=n.droppable.getAllByType(o.type).map(h=>h.callbacks.getDimensionAndWatchScroll(r,t)),u=n.draggable.getAllByType(e.draggable.type).map(h=>h.getDimension(r));return{dimensions:{draggables:pE(u),droppables:mE(a)},critical:e,viewport:i}};function RS(e,t,n){return!(n.descriptor.id===t.id||n.descriptor.type!==t.type||e.droppable.getById(n.descriptor.droppableId).descriptor.mode!=="virtual")}var lL=(e,t)=>{let n=null;const i=sL({callbacks:{publish:t.publishWhileDragging,collectionStarting:t.collectionStarting},registry:e}),r=(g,y)=>{e.droppable.exists(g)||Le(),n&&t.updateDroppableIsEnabled({id:g,isEnabled:y})},o=(g,y)=>{n&&(e.droppable.exists(g)||Le(),t.updateDroppableIsCombineEnabled({id:g,isCombineEnabled:y}))},a=(g,y)=>{n&&(e.droppable.exists(g)||Le(),t.updateDroppableScroll({id:g,newScroll:y}))},u=(g,y)=>{n&&e.droppable.getById(g).callbacks.scroll(y)},d=()=>{if(!n)return;i.stop();const g=n.critical.droppable;e.droppable.getAllByType(g.type).forEach(y=>y.callbacks.dragStopped()),n.unsubscribe(),n=null},m=g=>{n||Le();const y=n.critical.draggable;g.type==="ADDITION"&&RS(e,y,g.value)&&i.add(g.value),g.type==="REMOVAL"&&RS(e,y,g.value)&&i.remove(g.value)};return{updateDroppableIsEnabled:r,updateDroppableIsCombineEnabled:o,scrollDroppable:u,updateDroppableScroll:a,startPublishing:g=>{n&&Le();const y=e.draggable.getById(g.draggableId),v=e.droppable.getById(y.descriptor.droppableId),k={draggable:y.descriptor,droppable:v.descriptor},S=e.subscribe(m);return n={critical:k,unsubscribe:S},aL({critical:k,registry:e,scrollOptions:g.scrollOptions})},stopPublishing:d}},HE=(e,t)=>e.phase==="IDLE"?!0:e.phase!=="DROP_ANIMATING"||e.completed.result.draggableId===t?!1:e.completed.result.reason==="DROP",cL=e=>{window.scrollBy(e.x,e.y)};const uL=ni(e=>Im(e).filter(t=>!(!t.isEnabled||!t.frame))),dL=(e,t)=>uL(t).find(i=>(i.frame||Le(),wE(i.frame.pageMarginBox)(e)))||null;var fL=({center:e,destination:t,droppables:n})=>{if(t){const r=n[t];return r.frame?r:null}return dL(e,n)};const pu={startFromPercentage:.25,maxScrollAtPercentage:.05,maxPixelScroll:28,ease:e=>e**2,durationDampening:{stopDampeningAt:1200,accelerateAt:360},disabled:!1};var mL=(e,t,n=()=>pu)=>{const i=n(),r=e[t.size]*i.startFromPercentage,o=e[t.size]*i.maxScrollAtPercentage;return{startScrollingFrom:r,maxScrollValueAt:o}},FE=({startOfRange:e,endOfRange:t,current:n})=>{const i=t-e;return i===0?0:(n-e)/i},G0=1,pL=(e,t,n=()=>pu)=>{const i=n();if(e>t.startScrollingFrom)return 0;if(e<=t.maxScrollValueAt)return i.maxPixelScroll;if(e===t.startScrollingFrom)return G0;const o=1-FE({startOfRange:t.maxScrollValueAt,endOfRange:t.startScrollingFrom,current:e}),a=i.maxPixelScroll*i.ease(o);return Math.ceil(a)},hL=(e,t,n)=>{const i=n(),r=i.durationDampening.accelerateAt,o=i.durationDampening.stopDampeningAt,a=t,u=o,m=Date.now()-a;if(m>=o)return e;if(m{const o=pL(e,t,r);return o===0?0:i?Math.max(hL(o,n,r),G0):o},MS=({container:e,distanceToEdges:t,dragStartTime:n,axis:i,shouldUseTimeDampening:r,getAutoScrollerOptions:o})=>{const a=mL(e,i,o);return t[i.end]{const i=t.height>e.height,r=t.width>e.width;return!r&&!i?n:r&&i?null:{x:r?0:n.x,y:i?0:n.y}};const xL=fE(e=>e===0?0:e);var VE=({dragStartTime:e,container:t,subject:n,center:i,shouldUseTimeDampening:r,getAutoScrollerOptions:o})=>{const a={top:i.y-t.top,right:t.right-i.x,bottom:t.bottom-i.y,left:i.x-t.left},u=MS({container:t,distanceToEdges:a,dragStartTime:e,axis:z0,shouldUseTimeDampening:r,getAutoScrollerOptions:o}),d=MS({container:t,distanceToEdges:a,dragStartTime:e,axis:xE,shouldUseTimeDampening:r,getAutoScrollerOptions:o}),m=xL({x:d,y:u});if(fo(m,ii))return null;const h=gL({container:t,subject:n,proposedScroll:m});return h?fo(h,ii)?null:h:null};const yL=fE(e=>e===0?0:e>0?1:-1),q0=(()=>{const e=(t,n)=>t<0?t:t>n?t-n:0;return({current:t,max:n,change:i})=>{const r=fi(t,i),o={x:e(r.x,n.x),y:e(r.y,n.y)};return fo(o,ii)?null:o}})(),UE=({max:e,current:t,change:n})=>{const i={x:Math.max(t.x,e.x),y:Math.max(t.y,e.y)},r=yL(n),o=q0({max:i,current:t,change:r});return!o||r.x!==0&&o.x===0||r.y!==0&&o.y===0},W0=(e,t)=>UE({current:e.scroll.current,max:e.scroll.max,change:t}),vL=(e,t)=>{if(!W0(e,t))return null;const n=e.scroll.max,i=e.scroll.current;return q0({current:i,max:n,change:t})},Y0=(e,t)=>{const n=e.frame;return n?UE({current:n.scroll.current,max:n.scroll.max,change:t}):!1},bL=(e,t)=>{const n=e.frame;return!n||!Y0(e,t)?null:q0({current:n.scroll.current,max:n.scroll.max,change:t})};var _L=({viewport:e,subject:t,center:n,dragStartTime:i,shouldUseTimeDampening:r,getAutoScrollerOptions:o})=>{const a=VE({dragStartTime:i,container:e.frame,subject:t,center:n,shouldUseTimeDampening:r,getAutoScrollerOptions:o});return a&&W0(e,a)?a:null},kL=({droppable:e,subject:t,center:n,dragStartTime:i,shouldUseTimeDampening:r,getAutoScrollerOptions:o})=>{const a=e.frame;if(!a)return null;const u=VE({dragStartTime:i,container:a.pageMarginBox,subject:t,center:n,shouldUseTimeDampening:r,getAutoScrollerOptions:o});return u&&Y0(e,u)?u:null},DS=({state:e,dragStartTime:t,shouldUseTimeDampening:n,scrollWindow:i,scrollDroppable:r,getAutoScrollerOptions:o})=>{const a=e.current.page.borderBoxCenter,d=e.dimensions.draggables[e.critical.draggable.id].page.marginBox;if(e.isWindowScrollAllowed){const p=e.viewport,g=_L({dragStartTime:t,viewport:p,subject:d,center:a,shouldUseTimeDampening:n,getAutoScrollerOptions:o});if(g){i(g);return}}const m=fL({center:a,destination:Ji(e.impact),droppables:e.dimensions.droppables});if(!m)return;const h=kL({dragStartTime:t,droppable:m,subject:d,center:a,shouldUseTimeDampening:n,getAutoScrollerOptions:o});h&&r(m.descriptor.id,h)},SL=({scrollWindow:e,scrollDroppable:t,getAutoScrollerOptions:n=()=>pu})=>{const i=cu(e),r=cu(t);let o=null;const a=m=>{o||Le();const{shouldUseTimeDampening:h,dragStartTime:p}=o;DS({state:m,scrollWindow:i,scrollDroppable:r,dragStartTime:p,shouldUseTimeDampening:h,getAutoScrollerOptions:n})};return{start:m=>{o&&Le();const h=Date.now();let p=!1;const g=()=>{p=!0};DS({state:m,dragStartTime:0,shouldUseTimeDampening:!1,scrollWindow:g,scrollDroppable:g,getAutoScrollerOptions:n}),o={dragStartTime:h,shouldUseTimeDampening:p},p&&a(m)},stop:()=>{o&&(i.cancel(),r.cancel(),o=null)},scroll:a}},wL=({move:e,scrollDroppable:t,scrollWindow:n})=>{const i=(u,d)=>{const m=fi(u.current.client.selection,d);e({client:m})},r=(u,d)=>{if(!Y0(u,d))return d;const m=bL(u,d);if(!m)return t(u.descriptor.id,d),null;const h=Qi(d,m);return t(u.descriptor.id,h),Qi(d,h)},o=(u,d,m)=>{if(!u||!W0(d,m))return m;const h=vL(d,m);if(!h)return n(m),null;const p=Qi(m,h);return n(p),Qi(m,p)};return u=>{const d=u.scrollJumpRequest;if(!d)return;const m=Ji(u.impact);m||Le();const h=r(u.dimensions.droppables[m],d);if(!h)return;const p=u.viewport,g=o(u.isWindowScrollAllowed,p,h);g&&i(u,g)}},CL=({scrollDroppable:e,scrollWindow:t,move:n,getAutoScrollerOptions:i})=>{const r=SL({scrollWindow:t,scrollDroppable:e,getAutoScrollerOptions:i}),o=wL({move:n,scrollWindow:t,scrollDroppable:e});return{scroll:d=>{if(!(i().disabled||d.phase!=="DRAGGING")){if(d.movementMode==="FLUID"){r.scroll(d);return}d.scrollJumpRequest&&o(d)}},start:r.start,stop:r.stop}};const pl="data-rfd",hl=(()=>{const e=`${pl}-drag-handle`;return{base:e,draggableId:`${e}-draggable-id`,contextId:`${e}-context-id`}})(),zy=(()=>{const e=`${pl}-draggable`;return{base:e,contextId:`${e}-context-id`,id:`${e}-id`}})(),jL=(()=>{const e=`${pl}-droppable`;return{base:e,contextId:`${e}-context-id`,id:`${e}-id`}})(),OS={contextId:`${pl}-scroll-container-context-id`},EL=e=>t=>`[${t}="${e}"]`,Tc=(e,t)=>e.map(n=>{const i=n.styles[t];return i?`${n.selector} { ${i} }`:""}).join(" "),NL="pointer-events: none;";var IL=e=>{const t=EL(e),n=(()=>{const u=` - cursor: -webkit-grab; - cursor: grab; - `;return{selector:t(hl.contextId),styles:{always:` - -webkit-touch-callout: none; - -webkit-tap-highlight-color: rgba(0,0,0,0); - touch-action: manipulation; - `,resting:u,dragging:NL,dropAnimating:u}}})(),i=(()=>{const u=` - transition: ${Qc.outOfTheWay}; - `;return{selector:t(zy.contextId),styles:{dragging:u,dropAnimating:u,userCancel:u}}})(),r={selector:t(jL.contextId),styles:{always:"overflow-anchor: none;"}},a=[i,n,r,{selector:"body",styles:{dragging:` - cursor: grabbing; - cursor: -webkit-grabbing; - user-select: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - overflow-anchor: none; - `}}];return{always:Tc(a,"always"),resting:Tc(a,"resting"),dragging:Tc(a,"dragging"),dropAnimating:Tc(a,"dropAnimating"),userCancel:Tc(a,"userCancel")}};const er=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?E.useLayoutEffect:E.useEffect,Cg=()=>{const e=document.querySelector("head");return e||Le(),e},LS=e=>{const t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.type="text/css",t};function TL(e,t){const n=Ft(()=>IL(e),[e]),i=E.useRef(null),r=E.useRef(null),o=it(ni(p=>{const g=r.current;g||Le(),g.textContent=p}),[]),a=it(p=>{const g=i.current;g||Le(),g.textContent=p},[]);er(()=>{!i.current&&!r.current||Le();const p=LS(t),g=LS(t);return i.current=p,r.current=g,p.setAttribute(`${pl}-always`,e),g.setAttribute(`${pl}-dynamic`,e),Cg().appendChild(p),Cg().appendChild(g),a(n.always),o(n.resting),()=>{const y=v=>{const k=v.current;k||Le(),Cg().removeChild(k),v.current=null};y(i),y(r)}},[t,a,o,n.always,n.resting,e]);const u=it(()=>o(n.dragging),[o,n.dragging]),d=it(p=>{if(p==="DROP"){o(n.dropAnimating);return}o(n.userCancel)},[o,n.dropAnimating,n.userCancel]),m=it(()=>{r.current&&o(n.resting)},[o,n.resting]);return Ft(()=>({dragging:u,dropping:d,resting:m}),[u,d,m])}function GE(e,t){return Array.from(e.querySelectorAll(t))}var qE=e=>e&&e.ownerDocument&&e.ownerDocument.defaultView?e.ownerDocument.defaultView:window;function Mm(e){return e instanceof qE(e).HTMLElement}function RL(e,t){const n=`[${hl.contextId}="${e}"]`,i=GE(document,n);if(!i.length)return null;const r=i.find(o=>o.getAttribute(hl.draggableId)===t);return!r||!Mm(r)?null:r}function AL(e){const t=E.useRef({}),n=E.useRef(null),i=E.useRef(null),r=E.useRef(!1),o=it(function(g,y){const v={id:g,focus:y};return t.current[g]=v,function(){const S=t.current;S[g]!==v&&delete S[g]}},[]),a=it(function(g){const y=RL(e,g);y&&y!==document.activeElement&&y.focus()},[e]),u=it(function(g,y){n.current===g&&(n.current=y)},[]),d=it(function(){i.current||r.current&&(i.current=requestAnimationFrame(()=>{i.current=null;const g=n.current;g&&a(g)}))},[a]),m=it(function(g){n.current=null;const y=document.activeElement;y&&y.getAttribute(hl.draggableId)===g&&(n.current=g)},[]);return er(()=>(r.current=!0,function(){r.current=!1;const g=i.current;g&&cancelAnimationFrame(g)}),[]),Ft(()=>({register:o,tryRecordFocus:m,tryRestoreFocusRecorded:d,tryShiftRecord:u}),[o,m,d,u])}function ML(){const e={draggables:{},droppables:{}},t=[];function n(p){return t.push(p),function(){const y=t.indexOf(p);y!==-1&&t.splice(y,1)}}function i(p){t.length&&t.forEach(g=>g(p))}function r(p){return e.draggables[p]||null}function o(p){const g=r(p);return g||Le(),g}const a={register:p=>{e.draggables[p.descriptor.id]=p,i({type:"ADDITION",value:p})},update:(p,g)=>{const y=e.draggables[g.descriptor.id];y&&y.uniqueId===p.uniqueId&&(delete e.draggables[g.descriptor.id],e.draggables[p.descriptor.id]=p)},unregister:p=>{const g=p.descriptor.id,y=r(g);y&&p.uniqueId===y.uniqueId&&(delete e.draggables[g],e.droppables[p.descriptor.droppableId]&&i({type:"REMOVAL",value:p}))},getById:o,findById:r,exists:p=>!!r(p),getAllByType:p=>Object.values(e.draggables).filter(g=>g.descriptor.type===p)};function u(p){return e.droppables[p]||null}function d(p){const g=u(p);return g||Le(),g}const m={register:p=>{e.droppables[p.descriptor.id]=p},unregister:p=>{const g=u(p.descriptor.id);g&&p.uniqueId===g.uniqueId&&delete e.droppables[p.descriptor.id]},getById:d,findById:u,exists:p=>!!u(p),getAllByType:p=>Object.values(e.droppables).filter(g=>g.descriptor.type===p)};function h(){e.draggables={},e.droppables={},t.length=0}return{draggable:a,droppable:m,subscribe:n,clean:h}}function DL(){const e=Ft(ML,[]);return E.useEffect(()=>function(){e.clean()},[e]),e}var X0=St.createContext(null),Kf=()=>{const e=document.body;return e||Le(),e};const OL={position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0 0 0 0)","clip-path":"inset(100%)"},LL=e=>`rfd-announcement-${e}`;function zL(e){const t=Ft(()=>LL(e),[e]),n=E.useRef(null);return E.useEffect(function(){const o=document.createElement("div");return n.current=o,o.id=t,o.setAttribute("aria-live","assertive"),o.setAttribute("aria-atomic","true"),qf(o.style,OL),Kf().appendChild(o),function(){setTimeout(function(){const d=Kf();d.contains(o)&&d.removeChild(o),o===n.current&&(n.current=null)})}},[t]),it(r=>{const o=n.current;if(o){o.textContent=r;return}},[])}const PL={separator:"::"};function K0(e,t=PL){const n=St.useId();return Ft(()=>`${e}${t.separator}${n}`,[t.separator,e,n])}function BL({contextId:e,uniqueId:t}){return`rfd-hidden-text-${e}-${t}`}function $L({contextId:e,text:t}){const n=K0("hidden-text",{separator:"-"}),i=Ft(()=>BL({contextId:e,uniqueId:n}),[n,e]);return E.useEffect(function(){const o=document.createElement("div");return o.id=i,o.textContent=t,o.style.display="none",Kf().appendChild(o),function(){const u=Kf();u.contains(o)&&u.removeChild(o)}},[i,t]),i}var Dm=St.createContext(null);function WE(e){const t=E.useRef(e);return E.useEffect(()=>{t.current=e}),t}function HL(){let e=null;function t(){return!!e}function n(a){return a===e}function i(a){e&&Le();const u={abandon:a};return e=u,u}function r(){e||Le(),e=null}function o(){e&&(e.abandon(),r())}return{isClaimed:t,isActive:n,claim:i,release:r,tryAbandon:o}}function hu(e){return e.phase==="IDLE"||e.phase==="DROP_ANIMATING"?!1:e.isDragging}const FL=9,VL=13,Z0=27,YE=32,UL=33,GL=34,qL=35,WL=36,YL=37,XL=38,KL=39,ZL=40,QL={[VL]:!0,[FL]:!0};var XE=e=>{QL[e.keyCode]&&e.preventDefault()};const Om=(()=>{const e="visibilitychange";return typeof document>"u"?e:[e,`ms${e}`,`webkit${e}`,`moz${e}`,`o${e}`].find(i=>`on${i}`in document)||e})(),KE=0,zS=5;function JL(e,t){return Math.abs(t.x-e.x)>=zS||Math.abs(t.y-e.y)>=zS}const PS={type:"IDLE"};function e6({cancel:e,completed:t,getPhase:n,setPhase:i}){return[{eventName:"mousemove",fn:r=>{const{button:o,clientX:a,clientY:u}=r;if(o!==KE)return;const d={x:a,y:u},m=n();if(m.type==="DRAGGING"){r.preventDefault(),m.actions.move(d);return}m.type!=="PENDING"&&Le();const h=m.point;if(!JL(h,d))return;r.preventDefault();const p=m.actions.fluidLift(d);i({type:"DRAGGING",actions:p})}},{eventName:"mouseup",fn:r=>{const o=n();if(o.type!=="DRAGGING"){e();return}r.preventDefault(),o.actions.drop({shouldBlockNextClick:!0}),t()}},{eventName:"mousedown",fn:r=>{n().type==="DRAGGING"&&r.preventDefault(),e()}},{eventName:"keydown",fn:r=>{if(n().type==="PENDING"){e();return}if(r.keyCode===Z0){r.preventDefault(),e();return}XE(r)}},{eventName:"resize",fn:e},{eventName:"scroll",options:{passive:!0,capture:!1},fn:()=>{n().type==="PENDING"&&e()}},{eventName:"webkitmouseforcedown",fn:r=>{const o=n();if(o.type==="IDLE"&&Le(),o.actions.shouldRespectForcePress()){e();return}r.preventDefault()}},{eventName:Om,fn:e}]}function t6(e){const t=E.useRef(PS),n=E.useRef(uo),i=Ft(()=>({eventName:"mousedown",fn:function(p){if(p.defaultPrevented||p.button!==KE||p.ctrlKey||p.metaKey||p.shiftKey||p.altKey)return;const g=e.findClosestDraggableId(p);if(!g)return;const y=e.tryGetLock(g,a,{sourceEvent:p});if(!y)return;p.preventDefault();const v={x:p.clientX,y:p.clientY};n.current(),m(y,v)}}),[e]),r=Ft(()=>({eventName:"webkitmouseforcewillbegin",fn:h=>{if(h.defaultPrevented)return;const p=e.findClosestDraggableId(h);if(!p)return;const g=e.findOptionsForDraggable(p);g&&(g.shouldRespectForcePress||e.canGetLock(p)&&h.preventDefault())}}),[e]),o=it(function(){const p={passive:!1,capture:!0};n.current=vr(window,[r,i],p)},[r,i]),a=it(()=>{t.current.type!=="IDLE"&&(t.current=PS,n.current(),o())},[o]),u=it(()=>{const h=t.current;a(),h.type==="DRAGGING"&&h.actions.cancel({shouldBlockNextClick:!0}),h.type==="PENDING"&&h.actions.abort()},[a]),d=it(function(){const p={capture:!0,passive:!1},g=e6({cancel:u,completed:a,getPhase:()=>t.current,setPhase:y=>{t.current=y}});n.current=vr(window,g,p)},[u,a]),m=it(function(p,g){t.current.type!=="IDLE"&&Le(),t.current={type:"PENDING",point:g,actions:p},d()},[d]);er(function(){return o(),function(){n.current()}},[o])}function n6(){}const i6={[GL]:!0,[UL]:!0,[WL]:!0,[qL]:!0};function r6(e,t){function n(){t(),e.cancel()}function i(){t(),e.drop()}return[{eventName:"keydown",fn:r=>{if(r.keyCode===Z0){r.preventDefault(),n();return}if(r.keyCode===YE){r.preventDefault(),i();return}if(r.keyCode===ZL){r.preventDefault(),e.moveDown();return}if(r.keyCode===XL){r.preventDefault(),e.moveUp();return}if(r.keyCode===KL){r.preventDefault(),e.moveRight();return}if(r.keyCode===YL){r.preventDefault(),e.moveLeft();return}if(i6[r.keyCode]){r.preventDefault();return}XE(r)}},{eventName:"mousedown",fn:n},{eventName:"mouseup",fn:n},{eventName:"click",fn:n},{eventName:"touchstart",fn:n},{eventName:"resize",fn:n},{eventName:"wheel",fn:n,options:{passive:!0}},{eventName:Om,fn:n}]}function s6(e){const t=E.useRef(n6),n=Ft(()=>({eventName:"keydown",fn:function(o){if(o.defaultPrevented||o.keyCode!==YE)return;const a=e.findClosestDraggableId(o);if(!a)return;const u=e.tryGetLock(a,h,{sourceEvent:o});if(!u)return;o.preventDefault();let d=!0;const m=u.snapLift();t.current();function h(){d||Le(),d=!1,t.current(),i()}t.current=vr(window,r6(m,h),{capture:!0,passive:!1})}}),[e]),i=it(function(){const o={passive:!1,capture:!0};t.current=vr(window,[n],o)},[n]);er(function(){return i(),function(){t.current()}},[i])}const jg={type:"IDLE"},o6=120,a6=.15;function l6({cancel:e,getPhase:t}){return[{eventName:"orientationchange",fn:e},{eventName:"resize",fn:e},{eventName:"contextmenu",fn:n=>{n.preventDefault()}},{eventName:"keydown",fn:n=>{if(t().type!=="DRAGGING"){e();return}n.keyCode===Z0&&n.preventDefault(),e()}},{eventName:Om,fn:e}]}function c6({cancel:e,completed:t,getPhase:n}){return[{eventName:"touchmove",options:{capture:!1},fn:i=>{const r=n();if(r.type!=="DRAGGING"){e();return}r.hasMoved=!0;const{clientX:o,clientY:a}=i.touches[0],u={x:o,y:a};i.preventDefault(),r.actions.move(u)}},{eventName:"touchend",fn:i=>{const r=n();if(r.type!=="DRAGGING"){e();return}i.preventDefault(),r.actions.drop({shouldBlockNextClick:!0}),t()}},{eventName:"touchcancel",fn:i=>{if(n().type!=="DRAGGING"){e();return}i.preventDefault(),e()}},{eventName:"touchforcechange",fn:i=>{const r=n();r.type==="IDLE"&&Le();const o=i.touches[0];if(!o||!(o.force>=a6))return;const u=r.actions.shouldRespectForcePress();if(r.type==="PENDING"){u&&e();return}if(u){if(r.hasMoved){i.preventDefault();return}e();return}i.preventDefault()}},{eventName:Om,fn:e}]}function u6(e){const t=E.useRef(jg),n=E.useRef(uo),i=it(function(){return t.current},[]),r=it(function(y){t.current=y},[]),o=Ft(()=>({eventName:"touchstart",fn:function(y){if(y.defaultPrevented)return;const v=e.findClosestDraggableId(y);if(!v)return;const k=e.tryGetLock(v,u,{sourceEvent:y});if(!k)return;const S=y.touches[0],{clientX:_,clientY:w}=S,C={x:_,y:w};n.current(),p(k,C)}}),[e]),a=it(function(){const y={capture:!0,passive:!1};n.current=vr(window,[o],y)},[o]),u=it(()=>{const g=t.current;g.type!=="IDLE"&&(g.type==="PENDING"&&clearTimeout(g.longPressTimerId),r(jg),n.current(),a())},[a,r]),d=it(()=>{const g=t.current;u(),g.type==="DRAGGING"&&g.actions.cancel({shouldBlockNextClick:!0}),g.type==="PENDING"&&g.actions.abort()},[u]),m=it(function(){const y={capture:!0,passive:!1},v={cancel:d,completed:u,getPhase:i},k=vr(window,c6(v),y),S=vr(window,l6(v),y);n.current=function(){k(),S()}},[d,i,u]),h=it(function(){const y=i();y.type!=="PENDING"&&Le();const v=y.actions.fluidLift(y.point);r({type:"DRAGGING",actions:v,hasMoved:!1})},[i,r]),p=it(function(y,v){i().type!=="IDLE"&&Le();const k=setTimeout(h,o6);r({type:"PENDING",point:v,actions:y,longPressTimerId:k}),m()},[m,i,r,h]);er(function(){return a(),function(){n.current();const v=i();v.type==="PENDING"&&(clearTimeout(v.longPressTimerId),r(jg))}},[i,a,r]),er(function(){return vr(window,[{eventName:"touchmove",fn:()=>{},options:{capture:!1,passive:!1}}])},[])}const d6=["input","button","textarea","select","option","optgroup","video","audio"];function ZE(e,t){if(t==null)return!1;if(d6.includes(t.tagName.toLowerCase()))return!0;const i=t.getAttribute("contenteditable");return i==="true"||i===""?!0:t===e?!1:ZE(e,t.parentElement)}function f6(e,t){const n=t.target;return Mm(n)?ZE(e,n):!1}var m6=e=>Nr(e.getBoundingClientRect()).center;function p6(e){return e instanceof qE(e).Element}const h6=(()=>{const e="matches";return typeof document>"u"?e:[e,"msMatchesSelector","webkitMatchesSelector"].find(i=>i in Element.prototype)||e})();function QE(e,t){return e==null?null:e[h6](t)?e:QE(e.parentElement,t)}function g6(e,t){return e.closest?e.closest(t):QE(e,t)}function x6(e){return`[${hl.contextId}="${e}"]`}function y6(e,t){const n=t.target;if(!p6(n))return null;const i=x6(e),r=g6(n,i);return!r||!Mm(r)?null:r}function v6(e,t){const n=y6(e,t);return n?n.getAttribute(hl.draggableId):null}function b6(e,t){const n=`[${zy.contextId}="${e}"]`,r=GE(document,n).find(o=>o.getAttribute(zy.id)===t);return!r||!Mm(r)?null:r}function _6(e){e.preventDefault()}function Qd({expected:e,phase:t,isLockActive:n,shouldWarn:i}){return!(!n()||e!==t)}function JE({lockAPI:e,store:t,registry:n,draggableId:i}){if(e.isClaimed())return!1;const r=n.draggable.findById(i);return!(!r||!r.options.isEnabled||!HE(t.getState(),i))}function k6({lockAPI:e,contextId:t,store:n,registry:i,draggableId:r,forceSensorStop:o,sourceEvent:a}){if(!JE({lockAPI:e,store:n,registry:i,draggableId:r}))return null;const d=i.draggable.getById(r),m=b6(t,d.descriptor.id);if(!m||a&&!d.options.canDragInteractiveElements&&f6(m,a))return null;const h=e.claim(o||uo);let p="PRE_DRAG";function g(){return d.options.shouldRespectForcePress}function y(){return e.isActive(h)}function v(O,I){Qd({expected:O,phase:p,isLockActive:y,shouldWarn:!0})&&n.dispatch(I())}const k=v.bind(null,"DRAGGING");function S(O){function I(){e.release(),p="COMPLETED"}p!=="PRE_DRAG"&&(I(),Le()),n.dispatch(gO(O.liftActionArgs)),p="DRAGGING";function D(T,L={shouldBlockNextClick:!1}){if(O.cleanup(),L.shouldBlockNextClick){const A=vr(window,[{eventName:"click",fn:_6,options:{once:!0,passive:!1,capture:!0}}]);setTimeout(A)}I(),n.dispatch(ME({reason:T}))}return{isActive:()=>Qd({expected:"DRAGGING",phase:p,isLockActive:y,shouldWarn:!1}),shouldRespectForcePress:g,drop:T=>D("DROP",T),cancel:T=>D("CANCEL",T),...O.actions}}function _(O){const I=cu(T=>{k(()=>AE({client:T}))});return{...S({liftActionArgs:{id:r,clientSelection:O,movementMode:"FLUID"},cleanup:()=>I.cancel(),actions:{move:I}}),move:I}}function w(){const O={moveUp:()=>k(CO),moveRight:()=>k(EO),moveDown:()=>k(jO),moveLeft:()=>k(NO)};return S({liftActionArgs:{id:r,clientSelection:m6(m),movementMode:"SNAP"},cleanup:uo,actions:O})}function C(){Qd({expected:"PRE_DRAG",phase:p,isLockActive:y,shouldWarn:!0})&&e.release()}return{isActive:()=>Qd({expected:"PRE_DRAG",phase:p,isLockActive:y,shouldWarn:!1}),shouldRespectForcePress:g,fluidLift:_,snapLift:w,abort:C}}const S6=[t6,s6,u6];function w6({contextId:e,store:t,registry:n,customSensors:i,enableDefaultSensors:r}){const o=[...r?S6:[],...i||[]],a=E.useState(()=>HL())[0],u=it(function(S,_){hu(S)&&!hu(_)&&a.tryAbandon()},[a]);er(function(){let S=t.getState();return t.subscribe(()=>{const w=t.getState();u(S,w),S=w})},[a,t,u]),er(()=>a.tryAbandon,[a.tryAbandon]);const d=it(k=>JE({lockAPI:a,registry:n,store:t,draggableId:k}),[a,n,t]),m=it((k,S,_)=>k6({lockAPI:a,registry:n,contextId:e,store:t,draggableId:k,forceSensorStop:S||null,sourceEvent:_&&_.sourceEvent?_.sourceEvent:null}),[e,a,n,t]),h=it(k=>v6(e,k),[e]),p=it(k=>{const S=n.draggable.findById(k);return S?S.options:null},[n.draggable]),g=it(function(){a.isClaimed()&&(a.tryAbandon(),t.getState().phase!=="IDLE"&&t.dispatch(F0()))},[a,t]),y=it(()=>a.isClaimed(),[a]),v=Ft(()=>({canGetLock:d,tryGetLock:m,findClosestDraggableId:h,findOptionsForDraggable:p,tryReleaseLock:g,isLockClaimed:y}),[d,m,h,p,g,y]);for(let k=0;k({onBeforeCapture:t=>{const n=()=>{e.onBeforeCapture&&e.onBeforeCapture(t)};Sm.flushSync(n)},onBeforeDragStart:e.onBeforeDragStart,onDragStart:e.onDragStart,onDragEnd:e.onDragEnd,onDragUpdate:e.onDragUpdate}),j6=e=>({...pu,...e.autoScrollerOptions,durationDampening:{...pu.durationDampening,...e.autoScrollerOptions}});function Rc(e){return e.current||Le(),e.current}function E6(e){const{contextId:t,setCallbacks:n,sensors:i,nonce:r,dragHandleUsageInstructions:o}=e,a=E.useRef(null),u=WE(e),d=it(()=>C6(u.current),[u]),m=it(()=>j6(u.current),[u]),h=zL(t),p=$L({contextId:t,text:o}),g=TL(t,r),y=it(A=>{Rc(a).dispatch(A)},[]),v=Ft(()=>uS({publishWhileDragging:yO,updateDroppableScroll:bO,updateDroppableIsEnabled:_O,updateDroppableIsCombineEnabled:kO,collectionStarting:vO},y),[y]),k=DL(),S=Ft(()=>lL(k,v),[k,v]),_=Ft(()=>CL({scrollWindow:cL,scrollDroppable:S.scrollDroppable,getAutoScrollerOptions:m,...uS({move:AE},y)}),[S.scrollDroppable,y,m]),w=AL(t),C=Ft(()=>rL({announce:h,autoScroller:_,dimensionMarshal:S,focusMarshal:w,getResponders:d,styleMarshal:g}),[h,_,S,w,d,g]);a.current=C;const N=it(()=>{const A=Rc(a);A.getState().phase!=="IDLE"&&A.dispatch(F0())},[]),O=it(()=>{const A=Rc(a).getState();return A.phase==="DROP_ANIMATING"?!0:A.phase==="IDLE"?!1:A.isDragging},[]),I=Ft(()=>({isDragging:O,tryAbort:N}),[O,N]);n(I);const D=it(A=>HE(Rc(a).getState(),A),[]),T=it(()=>$o(Rc(a).getState()),[]),L=Ft(()=>({marshal:S,focus:w,contextId:t,canLift:D,isMovementAllowed:T,dragHandleUsageInstructionsId:p,registry:k}),[t,S,p,w,D,T,k]);return w6({contextId:t,store:C,registry:k,customSensors:i||null,enableDefaultSensors:e.enableDefaultSensors!==!1}),E.useEffect(()=>N,[N]),St.createElement(Dm.Provider,{value:L},St.createElement(Q5,{context:X0,store:C},e.children))}function N6(){return St.useId()}function I6(e){const t=N6(),n=e.dragHandleUsageInstructions||Ef.dragHandleUsageInstructions;return St.createElement(sD,null,i=>St.createElement(E6,{nonce:e.nonce,contextId:t,setCallbacks:i,dragHandleUsageInstructions:n,enableDefaultSensors:e.enableDefaultSensors,sensors:e.sensors,onBeforeCapture:e.onBeforeCapture,onBeforeDragStart:e.onBeforeDragStart,onDragStart:e.onDragStart,onDragUpdate:e.onDragUpdate,onDragEnd:e.onDragEnd,autoScrollerOptions:e.autoScrollerOptions},e.children))}const BS={dragging:5e3,dropAnimating:4500},T6=(e,t)=>t?Qc.drop(t.duration):e?Qc.snap:Qc.fluid,R6=(e,t)=>{if(e)return t?mu.opacity.drop:mu.opacity.combining},A6=e=>e.forceShouldAnimate!=null?e.forceShouldAnimate:e.mode==="SNAP";function M6(e){const n=e.dimension.client,{offset:i,combineWith:r,dropping:o}=e,a=!!r,u=A6(e),d=!!o,m=d?Oy.drop(i,a):Oy.moveTo(i);return{position:"fixed",top:n.marginBox.top,left:n.marginBox.left,boxSizing:"border-box",width:n.borderBox.width,height:n.borderBox.height,transition:T6(u,o),transform:m,opacity:R6(a,d),zIndex:d?BS.dropAnimating:BS.dragging,pointerEvents:"none"}}function D6(e){return{transform:Oy.moveTo(e.offset),transition:e.shouldAnimateDisplacement?void 0:"none"}}function O6(e){return e.type==="DRAGGING"?M6(e):D6(e)}function L6(e,t,n=ii){const i=window.getComputedStyle(t),r=t.getBoundingClientRect(),o=oE(r,i),a=Gf(o,n),u={client:o,tagName:t.tagName.toLowerCase(),display:i.display},d={x:o.marginBox.width,y:o.marginBox.height};return{descriptor:e,placeholder:u,displaceBy:d,client:o,page:a}}function z6(e){const t=K0("draggable"),{descriptor:n,registry:i,getDraggableRef:r,canDragInteractiveElements:o,shouldRespectForcePress:a,isEnabled:u}=e,d=Ft(()=>({canDragInteractiveElements:o,shouldRespectForcePress:a,isEnabled:u}),[o,u,a]),m=it(y=>{const v=r();return v||Le(),L6(n,v,y)},[n,r]),h=Ft(()=>({uniqueId:t,descriptor:n,options:d,getDimension:m}),[n,m,d,t]),p=E.useRef(h),g=E.useRef(!0);er(()=>(i.draggable.register(p.current),()=>i.draggable.unregister(p.current)),[i.draggable]),er(()=>{if(g.current){g.current=!1;return}const y=p.current;p.current=h,i.draggable.update(h,y)},[h,i.draggable])}var Q0=St.createContext(null);function Zf(e){const t=E.useContext(e);return t||Le(),t}function P6(e){e.preventDefault()}const B6=e=>{const t=E.useRef(null),n=it((I=null)=>{t.current=I},[]),i=it(()=>t.current,[]),{contextId:r,dragHandleUsageInstructionsId:o,registry:a}=Zf(Dm),{type:u,droppableId:d}=Zf(Q0),m=Ft(()=>({id:e.draggableId,index:e.index,type:u,droppableId:d}),[e.draggableId,e.index,u,d]),{children:h,draggableId:p,isEnabled:g,shouldRespectForcePress:y,canDragInteractiveElements:v,isClone:k,mapped:S,dropAnimationFinished:_}=e;if(!k){const I=Ft(()=>({descriptor:m,registry:a,getDraggableRef:i,canDragInteractiveElements:v,shouldRespectForcePress:y,isEnabled:g}),[m,a,i,v,y,g]);z6(I)}const w=Ft(()=>g?{tabIndex:0,role:"button","aria-describedby":o,"data-rfd-drag-handle-draggable-id":p,"data-rfd-drag-handle-context-id":r,draggable:!1,onDragStart:P6}:null,[r,o,p,g]),C=it(I=>{S.type==="DRAGGING"&&S.dropping&&I.propertyName==="transform"&&Sm.flushSync(_)},[_,S]),N=Ft(()=>{const I=O6(S),D=S.type==="DRAGGING"&&S.dropping?C:void 0;return{innerRef:n,draggableProps:{"data-rfd-draggable-context-id":r,"data-rfd-draggable-id":p,style:I,onTransitionEnd:D},dragHandleProps:w}},[r,w,p,S,C,n]),O=Ft(()=>({draggableId:m.id,type:m.type,source:{index:m.index,droppableId:m.droppableId}}),[m.droppableId,m.id,m.index,m.type]);return St.createElement(St.Fragment,null,h(N,S.snapshot,O))};var eN=(e,t)=>e===t,tN=e=>{const{combine:t,destination:n}=e;return n?n.droppableId:t?t.droppableId:null};const $6=e=>e.combine?e.combine.draggableId:null,H6=e=>e.at&&e.at.type==="COMBINE"?e.at.combine.draggableId:null;function F6(){const e=ni((r,o)=>({x:r,y:o})),t=ni((r,o,a=null,u=null,d=null)=>({isDragging:!0,isClone:o,isDropAnimating:!!d,dropAnimation:d,mode:r,draggingOver:a,combineWith:u,combineTargetFor:null})),n=ni((r,o,a,u,d=null,m=null,h=null)=>({mapped:{type:"DRAGGING",dropping:null,draggingOver:d,combineWith:m,mode:o,offset:r,dimension:a,forceShouldAnimate:h,snapshot:t(o,u,d,m,null)}}));return(r,o)=>{if(hu(r)){if(r.critical.draggable.id!==o.draggableId)return null;const a=r.current.client.offset,u=r.dimensions.draggables[o.draggableId],d=Ji(r.impact),m=H6(r.impact),h=r.forceShouldAnimate;return n(e(a.x,a.y),r.movementMode,u,o.isClone,d,m,h)}if(r.phase==="DROP_ANIMATING"){const a=r.completed;if(a.result.draggableId!==o.draggableId)return null;const u=o.isClone,d=r.dimensions.draggables[o.draggableId],m=a.result,h=m.mode,p=tN(m),g=$6(m),v={duration:r.dropDuration,curve:U0.drop,moveTo:r.newHomeClientOffset,opacity:g?mu.opacity.drop:null,scale:g?mu.scale.drop:null};return{mapped:{type:"DRAGGING",offset:r.newHomeClientOffset,dimension:d,dropping:v,draggingOver:p,combineWith:g,mode:h,forceShouldAnimate:null,snapshot:t(h,u,p,g,v)}}}return null}}function nN(e=null){return{isDragging:!1,isDropAnimating:!1,isClone:!1,dropAnimation:null,mode:null,draggingOver:null,combineTargetFor:e,combineWith:null}}const V6={mapped:{type:"SECONDARY",offset:ii,combineTargetFor:null,shouldAnimateDisplacement:!0,snapshot:nN(null)}};function U6(){const e=ni((a,u)=>({x:a,y:u})),t=ni(nN),n=ni((a,u=null,d)=>({mapped:{type:"SECONDARY",offset:a,combineTargetFor:u,shouldAnimateDisplacement:d,snapshot:t(u)}})),i=a=>a?n(ii,a,!0):null,r=(a,u,d,m)=>{const h=d.displaced.visible[a],p=!!(m.inVirtualList&&m.effected[a]),g=Tm(d),y=g&&g.draggableId===a?u:null;if(!h){if(!p)return i(y);if(d.displaced.invisible[a])return null;const S=Il(m.displacedBy.point),_=e(S.x,S.y);return n(_,y,!0)}if(p)return i(y);const v=d.displacedBy.point,k=e(v.x,v.y);return n(k,y,h.shouldAnimate)};return(a,u)=>{if(hu(a))return a.critical.draggable.id===u.draggableId?null:r(u.draggableId,a.critical.draggable.id,a.impact,a.afterCritical);if(a.phase==="DROP_ANIMATING"){const d=a.completed;return d.result.draggableId===u.draggableId?null:r(u.draggableId,d.result.draggableId,d.impact,d.afterCritical)}return null}}const G6=()=>{const e=F6(),t=U6();return(i,r)=>e(i,r)||t(i,r)||V6},q6={dropAnimationFinished:DE},W6=sE(G6,q6,null,{context:X0,areStatePropsEqual:eN})(B6);function iN(e){return Zf(Q0).isUsingCloneFor===e.draggableId&&!e.isClone?null:St.createElement(W6,e)}function Y6(e){const t=typeof e.isDragDisabled=="boolean"?!e.isDragDisabled:!0,n=!!e.disableInteractiveElementBlocking,i=!!e.shouldRespectForcePress;return St.createElement(iN,qf({},e,{isClone:!1,isEnabled:t,canDragInteractiveElements:n,shouldRespectForcePress:i}))}const rN=e=>t=>e===t,X6=rN("scroll"),K6=rN("auto"),$S=(e,t)=>t(e.overflowX)||t(e.overflowY),Z6=e=>{const t=window.getComputedStyle(e),n={overflowX:t.overflowX,overflowY:t.overflowY};return $S(n,X6)||$S(n,K6)},Q6=()=>!1,sN=e=>e==null?null:e===document.body?Q6()?e:null:e===document.documentElement?null:Z6(e)?e:sN(e.parentElement);var Py=e=>({x:e.scrollLeft,y:e.scrollTop});const oN=e=>e?window.getComputedStyle(e).position==="fixed"?!0:oN(e.parentElement):!1;var J6=e=>{const t=sN(e),n=oN(e);return{closestScrollable:t,isFixedOnPage:n}},e8=({descriptor:e,isEnabled:t,isCombineEnabled:n,isFixedOnPage:i,direction:r,client:o,page:a,closest:u})=>{const d=(()=>{if(!u)return null;const{scrollSize:g,client:y}=u,v=PE({scrollHeight:g.scrollHeight,scrollWidth:g.scrollWidth,height:y.paddingBox.height,width:y.paddingBox.width});return{pageMarginBox:u.page.marginBox,frameClient:y,scrollSize:g,shouldClipSubject:u.shouldClipSubject,scroll:{initial:u.scroll,current:u.scroll,max:v,diff:{value:ii,displacement:ii}}}})(),m=r==="vertical"?z0:xE,h=ml({page:a,withPlaceholder:null,axis:m,frame:d});return{descriptor:e,isCombineEnabled:n,isFixedOnPage:i,axis:m,isEnabled:t,client:o,page:a,frame:d,subject:h}};const t8=(e,t)=>{const n=aE(e);if(!t||e!==t)return n;const i=n.paddingBox.top-t.scrollTop,r=n.paddingBox.left-t.scrollLeft,o=i+t.scrollHeight,a=r+t.scrollWidth,d=M0({top:i,right:a,bottom:o,left:r},n.border);return D0({borderBox:d,margin:n.margin,border:n.border,padding:n.padding})};var n8=({ref:e,descriptor:t,env:n,windowScroll:i,direction:r,isDropDisabled:o,isCombineEnabled:a,shouldClipSubject:u})=>{const d=n.closestScrollable,m=t8(e,d),h=Gf(m,i),p=(()=>{if(!d)return null;const y=aE(d),v={scrollHeight:d.scrollHeight,scrollWidth:d.scrollWidth};return{client:y,page:Gf(y,i),scroll:Py(d),scrollSize:v,shouldClipSubject:u}})();return e8({descriptor:t,isEnabled:!o,isCombineEnabled:a,isFixedOnPage:n.isFixedOnPage,direction:r,client:m,page:h,closest:p})};const i8={passive:!1},r8={passive:!0};var HS=e=>e.shouldPublishImmediately?i8:r8;const Jd=e=>e&&e.env.closestScrollable||null;function s8(e){const t=E.useRef(null),n=Zf(Dm),i=K0("droppable"),{registry:r,marshal:o}=n,a=WE(e),u=Ft(()=>({id:e.droppableId,type:e.type,mode:e.mode}),[e.droppableId,e.mode,e.type]),d=E.useRef(u),m=Ft(()=>ni((N,O)=>{t.current||Le();const I={x:N,y:O};o.updateDroppableScroll(u.id,I)}),[u.id,o]),h=it(()=>{const N=t.current;return!N||!N.env.closestScrollable?ii:Py(N.env.closestScrollable)},[]),p=it(()=>{const N=h();m(N.x,N.y)},[h,m]),g=Ft(()=>cu(p),[p]),y=it(()=>{const N=t.current,O=Jd(N);if(N&&O||Le(),N.scrollOptions.shouldPublishImmediately){p();return}g()},[g,p]),v=it((N,O)=>{t.current&&Le();const I=a.current,D=I.getDroppableRef();D||Le();const T=J6(D),L={ref:D,descriptor:u,env:T,scrollOptions:O};t.current=L;const A=n8({ref:D,descriptor:u,env:T,windowScroll:N,direction:I.direction,isDropDisabled:I.isDropDisabled,isCombineEnabled:I.isCombineEnabled,shouldClipSubject:!I.ignoreContainerClipping}),M=T.closestScrollable;return M&&(M.setAttribute(OS.contextId,n.contextId),M.addEventListener("scroll",y,HS(L.scrollOptions))),A},[n.contextId,u,y,a]),k=it(()=>{const N=t.current,O=Jd(N);return N&&O||Le(),Py(O)},[]),S=it(()=>{const N=t.current;N||Le();const O=Jd(N);t.current=null,O&&(g.cancel(),O.removeAttribute(OS.contextId),O.removeEventListener("scroll",y,HS(N.scrollOptions)))},[y,g]),_=it(N=>{const O=t.current;O||Le();const I=Jd(O);I||Le(),I.scrollTop+=N.y,I.scrollLeft+=N.x},[]),w=Ft(()=>({getDimensionAndWatchScroll:v,getScrollWhileDragging:k,dragStopped:S,scroll:_}),[S,v,k,_]),C=Ft(()=>({uniqueId:i,descriptor:u,callbacks:w}),[w,u,i]);er(()=>(d.current=C.descriptor,r.droppable.register(C),()=>{t.current&&S(),r.droppable.unregister(C)}),[w,u,S,C,o,r.droppable]),er(()=>{t.current&&o.updateDroppableIsEnabled(d.current.id,!e.isDropDisabled)},[e.isDropDisabled,o]),er(()=>{t.current&&o.updateDroppableIsCombineEnabled(d.current.id,e.isCombineEnabled)},[e.isCombineEnabled,o])}function Eg(){}const FS={width:0,height:0,margin:fD},o8=({isAnimatingOpenOnMount:e,placeholder:t,animate:n})=>e||n==="close"?FS:{height:t.client.borderBox.height,width:t.client.borderBox.width,margin:t.client.margin},a8=({isAnimatingOpenOnMount:e,placeholder:t,animate:n})=>{const i=o8({isAnimatingOpenOnMount:e,placeholder:t,animate:n});return{display:t.display,boxSizing:"border-box",width:i.width,height:i.height,marginTop:i.margin.top,marginRight:i.margin.right,marginBottom:i.margin.bottom,marginLeft:i.margin.left,flexShrink:"0",flexGrow:"0",pointerEvents:"none",transition:n!=="none"?Qc.placeholder:null}},l8=e=>{const t=E.useRef(null),n=it(()=>{t.current&&(clearTimeout(t.current),t.current=null)},[]),{animate:i,onTransitionEnd:r,onClose:o,contextId:a}=e,[u,d]=E.useState(e.animate==="open");E.useEffect(()=>u?i!=="open"?(n(),d(!1),Eg):t.current?Eg:(t.current=setTimeout(()=>{t.current=null,d(!1)}),n):Eg,[i,u,n]);const m=it(p=>{p.propertyName==="height"&&(r(),i==="close"&&o())},[i,o,r]),h=a8({isAnimatingOpenOnMount:u,animate:e.animate,placeholder:e.placeholder});return St.createElement(e.placeholder.tagName,{style:h,"data-rfd-placeholder-context-id":a,onTransitionEnd:m,ref:e.innerRef})};var c8=St.memo(l8);class u8 extends St.PureComponent{constructor(...t){super(...t),this.state={isVisible:!!this.props.on,data:this.props.on,animate:this.props.shouldAnimate&&this.props.on?"open":"none"},this.onClose=()=>{this.state.animate==="close"&&this.setState({isVisible:!1})}}static getDerivedStateFromProps(t,n){return t.shouldAnimate?t.on?{isVisible:!0,data:t.on,animate:"open"}:n.isVisible?{isVisible:!0,data:n.data,animate:"close"}:{isVisible:!1,animate:"close",data:null}:{isVisible:!!t.on,data:t.on,animate:"none"}}render(){if(!this.state.isVisible)return null;const t={onClose:this.onClose,data:this.state.data,animate:this.state.animate};return this.props.children(t)}}const d8=e=>{const t=E.useContext(Dm);t||Le();const{contextId:n,isMovementAllowed:i}=t,r=E.useRef(null),o=E.useRef(null),{children:a,droppableId:u,type:d,mode:m,direction:h,ignoreContainerClipping:p,isDropDisabled:g,isCombineEnabled:y,snapshot:v,useClone:k,updateViewportMaxScroll:S,getContainerForClone:_}=e,w=it(()=>r.current,[]),C=it((M=null)=>{r.current=M},[]);it(()=>o.current,[]);const N=it((M=null)=>{o.current=M},[]),O=it(()=>{i()&&S({maxScroll:$E()})},[i,S]);s8({droppableId:u,type:d,mode:m,direction:h,isDropDisabled:g,isCombineEnabled:y,ignoreContainerClipping:p,getDroppableRef:w});const I=Ft(()=>St.createElement(u8,{on:e.placeholder,shouldAnimate:e.shouldAnimatePlaceholder},({onClose:M,data:$,animate:W})=>St.createElement(c8,{placeholder:$,onClose:M,innerRef:N,animate:W,contextId:n,onTransitionEnd:O})),[n,O,e.placeholder,e.shouldAnimatePlaceholder,N]),D=Ft(()=>({innerRef:C,placeholder:I,droppableProps:{"data-rfd-droppable-id":u,"data-rfd-droppable-context-id":n}}),[n,u,I,C]),T=k?k.dragging.draggableId:null,L=Ft(()=>({droppableId:u,type:d,isUsingCloneFor:T}),[u,T,d]);function A(){if(!k)return null;const{dragging:M,render:$}=k,W=St.createElement(iN,{draggableId:M.draggableId,index:M.source.index,isClone:!0,isEnabled:!0,shouldRespectForcePress:!1,canDragInteractiveElements:!0},(B,U)=>$(B,U,M));return i4.createPortal(W,_())}return St.createElement(Q0.Provider,{value:L},a(D,v),A())};function f8(){return document.body||Le(),document.body}const VS={mode:"standard",type:"DEFAULT",direction:"vertical",isDropDisabled:!1,isCombineEnabled:!1,ignoreContainerClipping:!1,renderClone:null,getContainerForClone:f8},aN=e=>{let t={...e},n;for(n in VS)e[n]===void 0&&(t={...t,[n]:VS[n]});return t},Ng=(e,t)=>e===t.droppable.type,US=(e,t)=>t.draggables[e.draggable.id],m8=()=>{const e={placeholder:null,shouldAnimatePlaceholder:!0,snapshot:{isDraggingOver:!1,draggingOverWith:null,draggingFromThisWith:null,isUsingPlaceholder:!1},useClone:null},t={...e,shouldAnimatePlaceholder:!1},n=ni(o=>({draggableId:o.id,type:o.type,source:{index:o.index,droppableId:o.droppableId}})),i=ni((o,a,u,d,m,h)=>{const p=m.descriptor.id;if(m.descriptor.droppableId===o){const v=h?{render:h,dragging:n(m.descriptor)}:null,k={isDraggingOver:u,draggingOverWith:u?p:null,draggingFromThisWith:p,isUsingPlaceholder:!0};return{placeholder:m.placeholder,shouldAnimatePlaceholder:!1,snapshot:k,useClone:v}}if(!a)return t;if(!d)return e;const y={isDraggingOver:u,draggingOverWith:p,draggingFromThisWith:null,isUsingPlaceholder:!0};return{placeholder:m.placeholder,shouldAnimatePlaceholder:!0,snapshot:y,useClone:null}});return(o,a)=>{const u=aN(a),d=u.droppableId,m=u.type,h=!u.isDropDisabled,p=u.renderClone;if(hu(o)){const g=o.critical;if(!Ng(m,g))return t;const y=US(g,o.dimensions),v=Ji(o.impact)===d;return i(d,h,v,v,y,p)}if(o.phase==="DROP_ANIMATING"){const g=o.completed;if(!Ng(m,g.critical))return t;const y=US(g.critical,o.dimensions);return i(d,h,tN(g.result)===d,Ji(g.impact)===d,y,p)}if(o.phase==="IDLE"&&o.completed&&!o.shouldFlush){const g=o.completed;if(!Ng(m,g.critical))return t;const y=Ji(g.impact)===d,v=!!(g.impact.at&&g.impact.at.type==="COMBINE"),k=g.critical.droppable.id===d;return y?v?e:t:k?e:t}return t}},p8={updateViewportMaxScroll:wO},h8=sE(m8,p8,(e,t,n)=>({...aN(n),...e,...t}),{context:X0,areStatePropsEqual:eN})(d8),Qf={urgent:{label:"Urgent",color:"var(--red)",symbol:"โ–ฒโ–ฒ"},high:{label:"High",color:"var(--yellow)",symbol:"โ–ฒ"},medium:{label:"Medium",color:"var(--accent)",symbol:"โ– "},low:{label:"Low",color:"var(--text-secondary)",symbol:"โ–ฝ"}},Jf={idle:"Idle",reflecting:"Thinking...",tool_active:"Running tool"};function J0(e){const t=(e??"").trim();return t?t.replace(/[_-]+/g," ").replace(/\b\w/g,n=>n.toUpperCase()):""}function gl(e){const t=(e.workItemRoleName??"").trim();return t||J0(e.workItemRoleId)}function g8(e){return(e.employeeAssignment?.name??"").trim()}function Ig(e){const t=gl(e),n=g8(e);return t&&n?`${t} ยท ${n}`:t||n}function rl(e){return typeof e=="string"?e.trim():""}function ao(e){if(!e)return"";const t=e;return rl(t.executionTurnId)||rl(t.runtimeTaskId)||rl(t.taskId)}function Lm(e){return rl(e?.workItemId)?rl(e?.executionTurnId)||rl(e?.runtimeTaskId):""}const x8={todo:{label:"To do",color:"#9ca3af"},in_progress:{label:"In progress",color:"#f59e0b"},in_review:{label:"In review",color:"#fbbf24"},done:{label:"Done",color:"#34d399"},running:{label:"Running",color:"#34d399"},idle:{label:"Idle",color:"#6366f1"},blocked:{label:"Blocked",color:"#f97316"},awaiting_peer:{label:"Awaiting",color:"#fbbf24"},awaiting_manager_review:{label:"Mgr Review",color:"#fbbf24"},awaiting_human:{label:"Human Review",color:"#fbbf24"},awaiting_review:{label:"In Review",color:"#fbbf24"},failed:{label:"Failed",color:"#ef4444"},cancelled:{label:"Cancelled",color:"#9ca3af"}};function y8({task:e,index:t,agents:n,officeMap:i,companyMode:r,isSelected:o,onClick:a,onStart:u}){const d=e.assigneeIds.map(I=>n.find(D=>D.agent_id===I)).filter(Boolean),m=e.priority?Qf[e.priority]:null,h=i&&d.length>1&&new Set(d.map(I=>i[I.agent_id]).filter(Boolean)).size>1,p=e.agentStatus&&e.agentStatus!=="idle",g=e.dependencies?.length??0,y=e.phase,v=!p&&y&&y!=="ready"?x8[y]??null:null,k=e.employeeAssignment,S=gl(e),_=e.workItemGate,w=J0(e.managerRoleId),C=(e.blockedReason??"").trim(),N=(e.reworkFeedback??"").trim(),O=Lm(e);return c.jsx(Y6,{draggableId:e.id,index:t,isDragDisabled:!!r,children:(I,D)=>c.jsxs("div",{ref:I.innerRef,...I.draggableProps,...I.dragHandleProps,className:`kanban-card${D.isDragging?" is-dragging":""}${p?" is-active":""}${o?" is-selected":""}`,"data-task-id":e.id,onMouseUp:T=>{T.button===0&&!D.isDragging&&a(e)},children:[c.jsxs("div",{className:"kanban-card-top",children:[c.jsx("span",{className:"kanban-card-id",children:e.displayId}),v&&c.jsxs("span",{className:"kanban-status-badge",style:{color:v.color},children:[c.jsx("span",{style:{display:"inline-block",width:6,height:6,borderRadius:"50%",background:v.color,marginRight:3}}),v.label]}),g>0&&c.jsxs("span",{className:"kanban-dep-badge",title:`${g} upstream dep(s)`,children:[g," dep"]}),h&&c.jsx("span",{className:"kanban-cross-badge",title:"Cross-office",children:"โ‡„"}),u&&c.jsx("button",{className:"kanban-start-btn",title:r?"Start Work Item":"Start task",onClick:T=>{T.stopPropagation(),u(e.id)},children:"โ–ถ"})]}),c.jsx("p",{className:"kanban-card-title",children:e.title}),(S||k?.name||_?.type||e.originChannel||e.workItemProjectionId)&&c.jsxs("div",{className:"kanban-card-meta-row",children:[S&&c.jsx("span",{className:"kanban-meta-badge kanban-role-badge",title:`Role: ${S}`,children:S}),k?.name&&c.jsxs("span",{className:"kanban-meta-badge kanban-employee-badge",title:`Employee: ${k.name}${k.category?` (${k.category})`:""}`,children:[c.jsx("span",{className:"kanban-meta-icon",children:"๐Ÿ‘ค"}),k.name]}),e.workItemProjectionId&&c.jsx("span",{className:"kanban-meta-badge kanban-projection-badge",title:`Projection: ${e.workItemProjectionId}`,children:e.workItemProjectionId}),_?.type&&c.jsxs("span",{className:`kanban-meta-badge kanban-gate-badge kanban-gate-${_.type}`,title:`Gate: ${_.type}${_.reviewerRole?` by ${_.reviewerRole}`:""}`,children:[_.type==="review"?"โœ‰":_.type==="approval"?"โœ“":"โœ‹",_.type]}),e.originChannel&&c.jsxs("span",{className:"kanban-meta-badge kanban-origin-badge",title:`Origin: ${e.originChannel}`,children:["#",e.originChannel]}),w&&c.jsx("span",{className:"kanban-meta-badge",title:`Manager: ${w}`,children:w})]}),(C||N||O)&&c.jsxs("div",{className:"kanban-card-tags",children:[C&&c.jsx("span",{className:"kanban-tag",children:C}),N&&c.jsx("span",{className:"kanban-tag",children:N}),O&&c.jsx("span",{className:"kanban-tag",title:`Execution Turn: ${O}`,children:"Runtime"})]}),p&&c.jsxs("div",{className:`kanban-card-runtime status-${e.agentStatus}`,children:[c.jsx("span",{className:"kanban-runtime-dot"}),c.jsx("span",{className:"kanban-runtime-label",children:e.agentStatus==="tool_active"&&e.currentTool?e.currentTool:Jf[e.agentStatus]??e.agentStatus})]}),e.tags.length>0&&c.jsx("div",{className:"kanban-card-tags",children:e.tags.slice(0,3).map(T=>c.jsx("span",{className:"kanban-tag",children:T},T))}),(m||d.length>0)&&c.jsxs("div",{className:"kanban-card-footer",children:[c.jsx("div",{className:"kanban-card-footer-left",children:m&&c.jsx("span",{className:"kanban-priority",style:{color:m.color},title:m.label,children:m.symbol})}),c.jsxs("div",{className:"kanban-assignee-group",children:[d.slice(0,3).map(T=>c.jsx("span",{className:"kanban-assignee-badge",title:T.name,children:T.name.charAt(0).toUpperCase()},T.agent_id)),d.length>3&&c.jsxs("span",{className:"kanban-assignee-badge kanban-assignee-more",children:["+",d.length-3]})]})]})]})})}function v8({column:e,tasks:t,agents:n,officeMap:i,companyMode:r,selectedTaskId:o,onCardClick:a,onStartTask:u,onQuickCreate:d}){const[m,h]=E.useState(!1),[p,g]=E.useState(""),y=E.useRef(!1),v=E.useCallback(()=>{if(y.current)return;y.current=!0;const k=p.trim();k&&d&&d(k),g(""),h(!1)},[p,d]);return c.jsxs("div",{className:"kanban-column",children:[c.jsxs("div",{className:"kanban-column-header",children:[c.jsx("span",{className:"kanban-col-dot",style:{background:e.color}}),c.jsx("span",{className:"kanban-col-label",children:e.name}),c.jsx("span",{className:"kanban-col-count",children:t.length}),d&&c.jsx("button",{className:"kanban-col-add",title:"Add task",onClick:()=>{y.current=!1,h(!0)},children:"+"})]}),m&&c.jsx("div",{className:"kanban-quick-add",children:c.jsx("input",{className:"kanban-quick-input",value:p,onChange:k=>g(k.target.value),onKeyDown:k=>{k.key==="Enter"&&(k.preventDefault(),v()),k.key==="Escape"&&(y.current=!0,g(""),h(!1))},onBlur:v,placeholder:"Task title...",autoFocus:!0})}),c.jsx(h8,{droppableId:e.id,isDropDisabled:!!r,children:k=>c.jsxs("div",{ref:k.innerRef,...k.droppableProps,className:"kanban-col-body",children:[t.length===0&&!m&&c.jsx("div",{className:"kanban-empty",children:c.jsx("span",{className:"kanban-empty-icon",children:"ยท"})}),t.map((S,_)=>c.jsx(y8,{task:S,index:_,agents:n,officeMap:i,companyMode:r,isSelected:S.id===o,onClick:a,onStart:u},S.id)),k.placeholder]})})]})}function b8({columns:e,tasksByColumn:t,agents:n,officeMap:i,store:r,companyMode:o,selectedTaskId:a,onCardClick:u,onStartTask:d,onQuickCreate:m,onMoveTask:h}){const p=g=>{if(o||!g.destination)return;const y=g.source.droppableId,v=g.destination.droppableId;if(y!==v)return;const k=g.destination.index,S=g.draggableId,_=[...t[v]??[]].filter(C=>C.id!==S),w=(t[v]??[]).find(C=>C.id===S);w&&_.splice(k,0,w),_.forEach((C,N)=>{r.moveTask(C.id,v,N)})};return c.jsx(I6,{onDragEnd:p,children:c.jsx("div",{className:"kanban-board",children:e.map(g=>c.jsx(v8,{column:g,tasks:t[g.id]??[],agents:n,officeMap:i,companyMode:o,selectedTaskId:a,onCardClick:u,onStartTask:!o&&g.name==="Todo"?d:void 0,onQuickCreate:!o&&g.name==="Todo"?m:void 0},g.id))})})}function _8({agents:e,tasks:t}){const n=E.useMemo(()=>{const r=new Map(t.map(o=>[o.id,o]));return e.map(o=>{const a=t.find(d=>d.assigneeIds.includes(o.agent_id)&&d.agentStatus&&d.agentStatus!=="idle"),u=o.current_task_id?r.get(o.current_task_id):void 0;return{agent:o,status:a?.agentStatus??o.runtime_status??"idle",currentTool:a?.currentTool??o.current_tool,taskDisplayId:a?.displayId??u?.displayId}})},[e,t]);if(e.length===0)return null;const i=n.filter(r=>r.status!=="idle").length;return c.jsxs("div",{className:"agent-status-bar",children:[c.jsx("span",{className:"agent-status-summary",children:i>0?`${i}/${e.length} active`:`${e.length} agent${e.length!==1?"s":""}`}),c.jsx("div",{className:"agent-status-chips",children:n.map(({agent:r,status:o,currentTool:a,taskDisplayId:u})=>c.jsxs("div",{className:`agent-status-chip status-${o}`,title:`${r.name}: ${o==="tool_active"&&a?a:Jf[o]}${u?` (${u})`:""}`,children:[c.jsx("span",{className:"agent-status-avatar",children:r.name.charAt(0).toUpperCase()}),c.jsx("span",{className:"agent-status-name",children:r.name}),o!=="idle"&&c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"kanban-runtime-dot"}),c.jsx("span",{className:"agent-status-detail",children:o==="tool_active"&&a?a:Jf[o]})]}),u&&c.jsx("span",{className:"agent-status-task",children:u})]},r.agent_id))})]})}function k8({boards:e,activeBoardId:t,onSelect:n}){return c.jsx("div",{className:"board-selector",children:c.jsx("div",{className:"board-tabs",children:e.map(i=>c.jsxs("button",{className:`board-tab${i.id===t?" active":""}`,style:{"--board-color":i.color},onClick:()=>n(i.id),children:[c.jsx("span",{className:"board-tab-dot",style:{background:i.color}}),i.name]},i.id))})})}function mi(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function ws(e){return Array.isArray(e)?e.filter(mi):[]}function xl(e){return Array.isArray(e)?e.map(t=>String(t??"").trim()).filter(Boolean):[]}function S8(e){return mi(e)?{run_id:typeof e.run_id=="string"?e.run_id:void 0,status:typeof e.status=="string"?e.status:void 0,total_cells:typeof e.total_cells=="number"?e.total_cells:void 0,total_role_sessions:typeof e.total_role_sessions=="number"?e.total_role_sessions:void 0,total_work_items:typeof e.total_work_items=="number"?e.total_work_items:void 0,ready_count:typeof e.ready_count=="number"?e.ready_count:void 0,running_count:typeof e.running_count=="number"?e.running_count:void 0,blocked_count:typeof e.blocked_count=="number"?e.blocked_count:void 0,waiting_count:typeof e.waiting_count=="number"?e.waiting_count:void 0,done_count:typeof e.done_count=="number"?e.done_count:void 0,failed_count:typeof e.failed_count=="number"?e.failed_count:void 0}:{}}function w8(e){return{cell_id:String(e.cell_id??e.team_id??e.id??"").trim(),team_instance_id:typeof e.team_instance_id=="string"?e.team_instance_id:void 0,team_id:typeof e.team_id=="string"?e.team_id:void 0,manager_role_id:String(e.manager_role_id??"").trim(),member_role_ids:xl(e.member_role_ids),seat_ids:xl(e.seat_ids),parent_team_id:typeof e.parent_team_id=="string"?e.parent_team_id:void 0,status:String(e.status??"idle"),is_final_decider_cell:typeof e.is_final_decider_cell=="boolean"?e.is_final_decider_cell:void 0}}function C8(e){return{role_session_id:String(e.role_session_id??e.id??"").trim(),role_id:String(e.role_id??"").trim(),employee_id:String(e.employee_id??"").trim(),team_id:typeof e.team_id=="string"?e.team_id:void 0,team_instance_id:typeof e.team_instance_id=="string"?e.team_instance_id:void 0,seat_id:typeof e.seat_id=="string"?e.seat_id:void 0,focused_work_item_id:typeof e.focused_work_item_id=="string"?e.focused_work_item_id:void 0,current_work_item_id:typeof e.current_work_item_id=="string"?e.current_work_item_id:void 0,background_work_item_ids:xl(e.background_work_item_ids),manager_role_ids:xl(e.manager_role_ids),manager_seat_id:typeof e.manager_seat_id=="string"?e.manager_seat_id:void 0,resident_status:typeof e.resident_status=="string"?e.resident_status:void 0,latest_notification:mi(e.latest_notification)?e.latest_notification:void 0,manager_digest:mi(e.manager_digest)?e.manager_digest:void 0,status:String(e.status??"cold")}}function j8(e){const t=mi(e.metadata)?e.metadata:void 0,n=mi(e.adaptive)?e.adaptive:t&&mi(t.adaptive)?t.adaptive:void 0;return{work_item_id:String(e.work_item_id??e.id??"").trim(),role_id:String(e.role_id??"").trim(),cell_id:String(e.cell_id??"").trim(),team_id:typeof e.team_id=="string"?e.team_id:void 0,team_instance_id:typeof e.team_instance_id=="string"?e.team_instance_id:void 0,seat_id:typeof e.seat_id=="string"?e.seat_id:void 0,title:String(e.title??""),kind:String(e.kind??"execute"),phase:String(e.phase??"ready"),kanban_column:String(e.kanban_column??"todo"),batch_id:typeof e.batch_id=="string"?e.batch_id:void 0,batch_index:typeof e.batch_index=="number"?e.batch_index:void 0,deliverable_summary:typeof e.deliverable_summary=="string"?e.deliverable_summary:void 0,blocked_reason:typeof e.blocked_reason=="string"?e.blocked_reason:void 0,handoff_status:typeof e.handoff_status=="string"?e.handoff_status:void 0,parent_work_item_id:typeof e.parent_work_item_id=="string"?e.parent_work_item_id:void 0,work_item_projection_id:typeof e.work_item_projection_id=="string"?e.work_item_projection_id:void 0,metadata:t,adaptive:n}}function E8(e){if(mi(e))return{run_id:typeof e.run_id=="string"?e.run_id:void 0,project_id:typeof e.project_id=="string"?e.project_id:void 0,session_id:typeof e.session_id=="string"?e.session_id:void 0,status:typeof e.status=="string"?e.status:void 0,lifecycle_status:typeof e.lifecycle_status=="string"?e.lifecycle_status:void 0,company_profile:typeof e.company_profile=="string"?e.company_profile:void 0,execution_model:typeof e.execution_model=="string"?e.execution_model:void 0,current_revision:typeof e.current_revision=="number"?e.current_revision:void 0,latest_deliverable_summary:typeof e.latest_deliverable_summary=="string"?e.latest_deliverable_summary:void 0,recovery_pointer:mi(e.recovery_pointer)?e.recovery_pointer:void 0}}function N8(e){if(mi(e))return{project_id:typeof e.project_id=="string"?e.project_id:void 0,run_id:typeof e.run_id=="string"?e.run_id:void 0,latest_deliverable_summary:typeof e.latest_deliverable_summary=="string"?e.latest_deliverable_summary:void 0,architecture_decisions:ws(e.architecture_decisions),completed_work_items:ws(e.completed_work_items),open_issues:xl(e.open_issues),verification_summary:typeof e.verification_summary=="string"?e.verification_summary:void 0,artifact_index:ws(e.artifact_index),handoff_summaries:ws(e.handoff_summaries),last_failure_summary:typeof e.last_failure_summary=="string"?e.last_failure_summary:void 0,project_memory_excerpt:typeof e.project_memory_excerpt=="string"?e.project_memory_excerpt:void 0,session_memory_excerpt:typeof e.session_memory_excerpt=="string"?e.session_memory_excerpt:void 0}}function I8(e){return{seat_id:String(e.seat_id??e.id??"").trim(),team_id:typeof e.team_id=="string"?e.team_id:void 0,role_id:typeof e.role_id=="string"?e.role_id:void 0,employee_id:typeof e.employee_id=="string"?e.employee_id:void 0,role_session_id:typeof e.role_session_id=="string"?e.role_session_id:void 0,resident_status:typeof e.resident_status=="string"?e.resident_status:void 0,current_work_item:mi(e.current_work_item)?e.current_work_item:void 0,latest_notification:mi(e.latest_notification)?e.latest_notification:void 0,manager_digest:mi(e.manager_digest)?e.manager_digest:void 0}}function T8(e){return{link_id:typeof e.link_id=="string"?e.link_id:void 0,session_id:typeof e.session_id=="string"?e.session_id:void 0,linked_session_id:typeof e.linked_session_id=="string"?e.linked_session_id:void 0,link_type:typeof e.link_type=="string"?e.link_type:void 0,metadata:mi(e.metadata)?e.metadata:void 0,created_at:typeof e.created_at=="string"?e.created_at:void 0}}function lN(e){const t=mi(e)?e:{},n=ws(t.runtime_teams).map(w8),i=ws(t.runtime_seats).map(C8),r=ws(t.work_items).map(j8);return{roles:Array.isArray(t.roles)?t.roles:[],employees:Array.isArray(t.employees)?t.employees:[],company_profile:typeof t.company_profile=="string"?t.company_profile:"",organization_id:typeof t.organization_id=="string"?t.organization_id:void 0,organization_name:typeof t.organization_name=="string"?t.organization_name:void 0,organization_config_file:typeof t.organization_config_file=="string"?t.organization_config_file:void 0,final_decider_role_id:typeof t.final_decider_role_id=="string"?t.final_decider_role_id:null,top_level_role_ids:xl(t.top_level_role_ids),runtime_teams:n,runtime_seats:i,work_items:r,frontier:S8(t.frontier),project_run:E8(t.project_run),project_dossier:N8(t.project_dossier),seat_digests:ws(t.seat_digests).map(I8),revision_links:ws(t.revision_links).map(T8),project_recovery:mi(t.project_recovery)?t.project_recovery:void 0,channels:Array.isArray(t.channels)?t.channels:[],connectors:Array.isArray(t.connectors)?t.connectors:[],org_version:typeof t.org_version=="number"?t.org_version:0,runtime_topology_version:typeof t.runtime_topology_version=="number"?t.runtime_topology_version:0,installed_packages:Array.isArray(t.installed_packages)?t.installed_packages:[],runtime_policy:mi(t.runtime_policy)?t.runtime_policy:void 0}}function zm(e){const t=lN(e);return{runtimeTeams:t.runtime_teams??[],runtimeSeats:t.runtime_seats??[],workItems:t.work_items??[],frontier:t.frontier??{},projectRun:t.project_run,projectDossier:t.project_dossier,seatDigests:t.seat_digests??[],revisionLinks:t.revision_links??[],projectRecovery:t.project_recovery}}function R8({state:e,message:t,onRefresh:n,onReadMessage:i,pollIntervalMs:r=3e4,embedded:o=!1}){const[a,u]=E.useState(null),d=E.useRef(n);d.current=n,E.useEffect(()=>{if(!r)return;d.current();const g=window.setInterval(()=>d.current(),r);return()=>window.clearInterval(g)},[r]);const m=E.useMemo(()=>e?.roles?e.roles.reduce((g,y)=>g+y.unread_count,0):0,[e?.roles]),h=g=>{u(g),i(g)},p=o?{fontSize:13,color:"var(--text)"}:{border:"1px solid var(--border, #333)",borderRadius:6,background:"var(--bg-primary, #1e1e1e)",fontSize:13};return c.jsxs("div",{className:"comms-panel",style:p,children:[c.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 12px",borderBottom:"1px solid var(--border, #333)"},children:[c.jsx("span",{style:{fontWeight:600,fontSize:13,flex:1},children:"Agent Communications"}),m>0&&c.jsxs(gu,{color:"var(--accent, #3498db)",children:[m," unread"]}),c.jsx("button",{onClick:n,style:{background:"var(--surface, #2a2a2a)",border:"1px solid var(--border, #444)",color:"var(--text-secondary, #aaa)",fontSize:11,padding:"3px 10px",cursor:"pointer",borderRadius:4},children:"Refresh"})]}),e?e.available?e.empty?c.jsx(Nf,{children:"No communications yet. They will appear once agents start collaborating."}):c.jsx(A8,{state:e,selectedPath:a,onSelectMessage:h}):c.jsxs(Nf,{children:["Not available",e.reason?`: ${e.reason}`:""]}):c.jsx(Nf,{children:"Loading communications..."}),t&&c.jsx(O8,{message:t,onClose:()=>u(null)})]})}function A8({state:e,selectedPath:t,onSelectMessage:n}){const i=(e.roles?.length??0)>0,r=(e.meetings?.length??0)>0,o=(e.recent_failures?.length??0)>0;return c.jsxs("div",{style:{padding:"4px 0"},children:[o&&c.jsx(Tg,{title:"Failures",children:(e.recent_failures||[]).map((a,u)=>c.jsxs("div",{style:{padding:"6px 12px",marginBottom:4,background:"color-mix(in srgb, var(--red, #e74c3c) 6%, transparent)",borderLeft:"3px solid var(--red, #e74c3c)"},children:[c.jsxs("div",{style:{fontWeight:600,fontSize:12},children:[a.operation," ยท ",a.from_role," โ†’ ",a.to_role]}),c.jsx("div",{style:{fontSize:11,color:"var(--text-secondary, #999)",marginTop:2},children:a.reason})]},`${a.recorded_at||"f"}-${u}`))}),i&&c.jsx(Tg,{title:`Inboxes (${e.roles.length})`,children:e.roles.map(a=>c.jsx(M8,{role:a,selectedPath:t,onSelectMessage:n},a.role_id))}),r&&c.jsx(Tg,{title:"Meetings",children:(e.meetings||[]).map(a=>c.jsxs("div",{style:{padding:"6px 12px",marginBottom:4,borderLeft:`3px solid ${a.status==="open"?"var(--accent, #3498db)":"var(--text-dim, #555)"}`},children:[c.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[c.jsx(gu,{color:a.status==="open"?"var(--accent, #3498db)":"var(--text-dim, #555)",children:a.status}),c.jsx("strong",{style:{fontSize:12,flex:1},children:a.topic}),c.jsxs("span",{style:{fontSize:11,color:"var(--text-dim, #888)"},children:[a.entry_count," entries"]})]}),c.jsxs("div",{style:{fontSize:11,color:"var(--text-secondary, #999)",marginTop:3},children:["by ",a.organizer," ยท ",a.participants.join(", ")]}),a.decision&&c.jsxs("div",{style:{fontSize:11,marginTop:3,color:"var(--green, #27ae60)"},children:["Decision: ",a.decision]})]},a.meeting_id))}),!i&&!r&&!o&&c.jsx(Nf,{children:"No communication activity yet."})]})}function M8({role:e,selectedPath:t,onSelectMessage:n}){const[i,r]=E.useState(!0),o=e.unread_count>0||(e.recent_seen?.length??0)>0||(e.recent_outbox?.length??0)>0,[a,u]=E.useState(e.unread_count>0?"unread":"history"),d=E.useMemo(()=>{switch(a){case"unread":return e.recent_unread||[];case"history":return e.recent_seen||[];case"sent":return e.recent_outbox||[];default:return[]}},[a,e.recent_unread,e.recent_seen,e.recent_outbox]),m=e.role_id.replace(/_/g," ").replace(/\b\w/g,h=>h.toUpperCase());return c.jsxs("div",{style:{marginBottom:2},children:[c.jsxs("div",{onClick:()=>r(h=>!h),style:{display:"flex",alignItems:"center",gap:8,padding:"6px 12px",cursor:"pointer",userSelect:"none",background:i?"var(--surface-hover, rgba(255,255,255,0.03))":"transparent",borderRadius:4},children:[c.jsx("span",{style:{fontSize:10,width:10},children:i?"โ–ผ":"โ–ถ"}),c.jsx("span",{style:{flex:1,fontWeight:600,fontSize:12},children:m}),e.has_blocking&&c.jsx(gu,{color:"var(--red, #e74c3c)",children:"BLOCKING"}),e.unread_count>0&&c.jsxs(gu,{color:"var(--accent, #3498db)",children:[e.unread_count," new"]}),c.jsxs("span",{style:{fontSize:11,color:"var(--text-dim, #666)"},children:[e.seen_count," read ยท ",e.outbox_count," sent"]})]}),i&&o&&c.jsxs("div",{style:{paddingLeft:12},children:[c.jsxs("div",{style:{display:"flex",gap:2,padding:"4px 0",borderBottom:"1px solid var(--border, #333)",marginBottom:4},children:[c.jsxs(Rg,{active:a==="unread",onClick:()=>u("unread"),children:["Unread (",e.unread_count,")"]}),c.jsxs(Rg,{active:a==="history",onClick:()=>u("history"),children:["Read (",e.recent_seen?.length??0,")"]}),c.jsxs(Rg,{active:a==="sent",onClick:()=>u("sent"),children:["Sent (",e.recent_outbox?.length??0,")"]})]}),d.length===0?c.jsx("div",{style:{padding:"8px 0",fontSize:11,color:"var(--text-dim, #666)"},children:"No messages."}):c.jsx("div",{style:{maxHeight:280,overflow:"auto"},children:d.map(h=>c.jsx(D8,{message:h,selected:h.path===t,onClick:()=>n(h.path)},h.message_id))})]})]})}function D8({message:e,selected:t,onClick:n}){const r=e.bucket==="sent"?`To: ${e.to||"?"}`:`From: ${e.from}`;return c.jsx("div",{onClick:n,style:{padding:"5px 8px",marginBottom:2,background:t?"var(--accent-soft, #2c4a6b)":"transparent",cursor:"pointer",borderRadius:4,borderLeft:e.blocking?"3px solid var(--red, #e74c3c)":"3px solid transparent",transition:"background 0.1s"},children:c.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6},children:[c.jsxs("span",{style:{fontSize:11,color:"var(--text-secondary, #aaa)",minWidth:0,flex:1},children:[c.jsx("strong",{children:r})," ",c.jsx("span",{style:{color:"var(--text, #ddd)"},children:e.subject})]}),e.blocking&&c.jsx("span",{style:{fontSize:9,color:"var(--red, #e74c3c)",fontWeight:700},children:"BLK"}),c.jsx("span",{style:{fontSize:10,color:"var(--text-dim, #666)",flexShrink:0},children:e.sent_at?.slice(11,19)||""})]})})}function O8({message:e,onClose:t}){return c.jsxs("div",{style:{margin:"8px 12px 12px",padding:12,border:"1px solid var(--border, #444)",borderRadius:6,background:"var(--bg-secondary, #262626)",maxHeight:400,overflow:"auto"},children:[c.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[c.jsx("strong",{style:{flex:1,fontSize:13},children:e.header.subject||"(no subject)"}),c.jsx("button",{onClick:t,style:{background:"var(--surface, #333)",border:"1px solid var(--border, #444)",color:"var(--text-secondary, #aaa)",fontSize:11,padding:"2px 10px",cursor:"pointer",borderRadius:4},children:"Close"})]}),c.jsxs("div",{style:{fontSize:11,color:"var(--text-secondary, #999)",marginBottom:8,display:"flex",gap:8,flexWrap:"wrap"},children:[c.jsxs("span",{children:["From: ",c.jsx("strong",{children:e.header.from||"?"})]}),c.jsxs("span",{children:["To: ",c.jsx("strong",{children:e.header.to||"?"})]}),c.jsx("span",{children:e.header.sent_at||""}),e.header.blocking&&c.jsx(gu,{color:"var(--red, #e74c3c)",children:"BLOCKING"})]}),c.jsx("pre",{style:{margin:0,fontSize:12,whiteSpace:"pre-wrap",wordBreak:"break-word",color:"var(--text, #ddd)",lineHeight:1.5},children:e.body})]})}function Tg({title:e,children:t}){return c.jsxs("div",{style:{marginBottom:4},children:[c.jsx("div",{style:{fontSize:10,textTransform:"uppercase",letterSpacing:.6,fontWeight:700,color:"var(--text-dim, #777)",padding:"8px 12px 4px"},children:e}),t]})}function gu({color:e,children:t}){return c.jsx("span",{style:{background:e,color:"white",borderRadius:10,padding:"1px 7px",fontSize:10,fontWeight:600,whiteSpace:"nowrap"},children:t})}function Rg({active:e,onClick:t,children:n}){return c.jsx("button",{onClick:t,style:{background:e?"var(--accent-soft, #2c4a6b)":"transparent",border:"none",color:e?"var(--text, #ddd)":"var(--text-secondary, #999)",fontSize:11,padding:"3px 10px",cursor:"pointer",borderRadius:4,fontWeight:e?600:400},children:n})}function Nf({children:e}){return c.jsx("div",{style:{padding:"20px 16px",fontSize:12,color:"var(--text-secondary, #888)",textAlign:"center"},children:e})}function Ua(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function Ga(e){return Array.isArray(e)?e.filter(t=>t&&typeof t=="object"&&!Array.isArray(t)):[]}function xr(e,t="Pending"){return String(e??"").trim()||t}function Ac(e,t="Team"){const n=String(e??"").trim();return n?n.replace(/[_-]+/g," ").replace(/\b\w/g,i=>i.toUpperCase()):t}function GS(e){return xr(e,"idle").toLowerCase().replace(/[\s_]+/g,"-")}function L8({orgInfoData:e,recoveryStatus:t,commsState:n,onStopRun:i,embedded:r=!1}){const o=E.useMemo(()=>zm(e??null),[e]),a=o.projectRun,u=o.seatDigests,d=u.reduce((_,w)=>{const C=Ua(w.manager_digest);return _+Ga(C.pending_decisions).length},0),m=u.reduce((_,w)=>_+Ga(Ua(w.manager_digest).actionable_chat).length,0),h=u.reduce((_,w)=>_+Ga(Ua(w.manager_digest).protocol_backlog).length,0),p=u.reduce((_,w)=>_+Ga(Ua(w.manager_digest).notification_backlog).length,0),g=m+h+p,y=Array.isArray(t?.interrupted)?t.interrupted.length:0,v=[{label:"Actionable",value:m},{label:"Protocol",value:h},{label:"Notifications",value:p},{label:"Meetings",value:n?.meetings?.length??0},{label:"Failures",value:n?.recent_failures?.length??0}],k=E.useMemo(()=>{const _=new Map;for(const N of u){const O=String(N.seat_id??"").trim();O&&_.set(O,Ua(N.manager_digest))}const w=o.runtimeTeams.map(N=>{const O=[String(N.cell_id??"").trim(),String(N.team_id??"").trim(),String(N.team_instance_id??"").trim()].filter(Boolean),I=o.runtimeSeats.filter(L=>O.includes(String(L.team_id??"").trim())||O.includes(String(L.team_instance_id??"").trim())),D=I.reduce((L,A)=>{const M=_.get(String(A.seat_id??"").trim())??{};return L+Ga(M.pending_decisions).length},0),T=I.map(L=>xr(L.latest_notification?.subject??L.latest_notification?.summary,"")).find(Boolean);return{key:String(N.cell_id??N.team_id??N.team_instance_id??N.manager_role_id??"team"),label:Ac(N.team_id??N.cell_id,"Team"),managerLabel:Ac(N.manager_role_id,"Unassigned manager"),status:xr(N.status,"idle"),seatCount:I.length||N.member_role_ids.length,pendingApprovals:D,latestAlert:T,seats:I.map(L=>({key:String(L.seat_id??L.role_session_id??L.role_id),roleLabel:Ac(L.role_id,"Seat"),seatLabel:xr(L.seat_id??L.role_session_id,"Seat"),status:xr(L.resident_status??L.status,"idle")}))}}),C=new Set(w.flatMap(N=>N.seats.map(O=>O.key)));for(const N of o.runtimeSeats){const O=String(N.seat_id??N.role_session_id??N.role_id).trim();if(!O||C.has(O))continue;const I=String(N.team_id??N.team_instance_id??"unassigned").trim()||"unassigned";let D=w.find(L=>L.key===I);D||(D={key:I,label:Ac(I,"Unassigned Team"),managerLabel:"Unassigned manager",status:xr(N.status,"idle"),seatCount:0,pendingApprovals:0,seats:[]},w.push(D));const T=_.get(String(N.seat_id??"").trim())??{};D.pendingApprovals+=Ga(T.pending_decisions).length,D.latestAlert||(D.latestAlert=xr(N.latest_notification?.subject??N.latest_notification?.summary,"")),D.seats.push({key:O,roleLabel:Ac(N.role_id,"Seat"),seatLabel:xr(N.seat_id??N.role_session_id,"Seat"),status:xr(N.resident_status??N.status,"idle")}),D.seatCount=D.seats.length}return w.sort((N,O)=>N.label.localeCompare(O.label))},[o.runtimeTeams,o.runtimeSeats,u]),S=k.map(_=>_.latestAlert).find(Boolean)||"No current alerts";return!a?.run_id&&k.length===0?null:c.jsxs("section",{className:`project-cockpit${r?" embedded":""}`,"aria-label":"Team",children:[c.jsxs("div",{className:"project-cockpit-overview",children:[c.jsxs("div",{className:"project-cockpit-title",children:[c.jsx("span",{className:"project-cockpit-label",children:"Team"}),c.jsx("strong",{children:xr(a?.run_id,"Runtime Team Status")}),i&&c.jsx("button",{className:"project-cockpit-stop-btn",onClick:i,title:"Stop this run",children:"Stop"})]}),c.jsxs("div",{className:"project-cockpit-metrics",children:[c.jsx("span",{children:xr(a?.lifecycle_status,"active")}),c.jsxs("span",{children:["Teams ",k.length]}),c.jsxs("span",{children:["Seats ",o.runtimeSeats.length]}),c.jsxs("span",{children:["Approvals ",d]}),c.jsxs("span",{children:["Unread ",g]}),c.jsxs("span",{children:["Recovery ",y>0?`${y} interrupted`:xr(Ua(a?.recovery_pointer).status,"clean")]})]})]}),c.jsxs("div",{className:"project-cockpit-grid project-cockpit-grid--team",children:[c.jsxs("section",{className:"project-cockpit-panel",children:[c.jsxs("header",{children:[c.jsx("h3",{children:"Communication"}),c.jsx("span",{children:v.length})]}),c.jsxs("div",{className:"project-cockpit-summary",children:[v.map(_=>c.jsxs("span",{children:[_.label," ",_.value]},_.label)),c.jsx("div",{className:"project-cockpit-inline-text",children:S})]})]}),c.jsxs("section",{className:"project-cockpit-panel project-cockpit-panel--wide",children:[c.jsxs("header",{children:[c.jsx("h3",{children:"Teams"}),c.jsx("span",{children:k.length})]}),c.jsx("div",{className:"project-cockpit-team-grid",children:k.map(_=>c.jsxs("article",{className:"project-cockpit-team-card",children:[c.jsxs("div",{className:"project-cockpit-team-head",children:[c.jsxs("div",{className:"project-cockpit-team-title",children:[c.jsx("strong",{children:_.label}),c.jsx("span",{children:_.managerLabel})]}),c.jsx("span",{className:`project-cockpit-team-status status-${GS(_.status)}`,children:_.status})]}),c.jsxs("div",{className:"project-cockpit-team-meta",children:[c.jsxs("span",{children:["Seats ",_.seatCount]}),c.jsxs("span",{children:["Approvals ",_.pendingApprovals]}),_.latestAlert&&c.jsx("span",{children:_.latestAlert})]}),c.jsx("div",{className:"project-cockpit-seat-list",children:_.seats.length>0?_.seats.map(w=>c.jsxs("div",{className:"project-cockpit-seat-row",children:[c.jsx("span",{className:"project-cockpit-seat-role",children:w.roleLabel}),c.jsx("span",{className:"project-cockpit-seat-id",children:w.seatLabel}),c.jsx("span",{className:`project-cockpit-seat-status status-${GS(w.status)}`,children:w.status})]},w.key)):c.jsx("div",{className:"project-cockpit-inline-text",children:"No seats assigned yet"})})]},_.key))})]})]})]})}function z8(e){const t=Date.now()-e;return t<6e4?"just now":t<36e5?`${Math.floor(t/6e4)}m ago`:t<864e5?`${Math.floor(t/36e5)}h ago`:`${Math.floor(t/864e5)}d ago`}const qS={running:{color:"var(--green)",label:"Running"},idle:{color:"var(--accent)",label:"Idle"},done:{color:"var(--green)",label:"Done"},pending:{color:"var(--text-secondary)",label:"Pending"},failed:{color:"var(--red)",label:"Failed"},cancelled:{color:"var(--text-secondary)",label:"Cancelled"},blocked:{color:"var(--yellow)",label:"Blocked"},awaiting_human:{color:"var(--yellow)",label:"Waiting for review"},awaiting_manager_review:{color:"var(--yellow)",label:"Manager review"},awaiting_review:{color:"var(--yellow)",label:"Waiting for review"},awaiting_peer:{color:"var(--yellow)",label:"Waiting for peer"}},P8=new Set(["awaiting_human","awaiting_manager_review","awaiting_review","awaiting_peer"]),WS={native:"Native",codex:"Codex",claude_code:"Claude Code",cursor:"Cursor",opencode:"OpenCode"};function B8({session:e,agents:t,onTitleChange:n,onViewOnBoard:i,onStop:r,onComplete:o,onResume:a}){const[u,d]=E.useState(!1),[m,h]=E.useState(e.title),p=E.useRef(null);E.useEffect(()=>{u||h(e.title)},[e.title,u]);const g=E.useCallback(()=>{const G=m.trim();G&&G!==e.title?n(e.taskId,G):h(e.title),d(!1)},[m,e.title,e.taskId,n]),y=E.useCallback(()=>{h(e.title),d(!0),setTimeout(()=>p.current?.select(),0)},[e.title]),v=e.assigneeIds.map(G=>t.find(J=>J.agent_id===G)).filter(Boolean),k=String(e.execMode??"").trim().toLowerCase(),S=k==="company"||k==="org"||k==="custom"||!!e.isCompanyRuntime||!!e.workItemProjectionId||!!e.workItemRoleId||!!e.workItemRoleName,_=v.length>0&&!S,w=e.runtimeControlState??(e.status==="running"?"running":"idle"),C=w==="suspending",N=w==="resuming",O=w==="suspended",I=e.status==="running"&&!C&&!O&&!N,D=P8.has(e.status),T=(e.canStop??e.status==="running")&&!C&&!O&&!N,L=(e.canResume??(O||!D&&!I&&e.status!=="done"&&e.status!=="pending"))&&!C&&!N,A=qS[e.status]??qS.pending,M=C?"Stopping":O?"Suspended":N?"Resuming":A.label,$=gl(e),W=Nm(e),B=Kr(e),U=e.displayTool||e.currentTool,[F,V]=E.useState(U||void 0);E.useEffect(()=>{if(!I){V(void 0);return}U&&V(U)},[I,U]);const Y=typeof e.pendingPermissionCount=="number"&&e.pendingPermissionCount>0,Q=Y,q=C?"var(--yellow)":O?"var(--text-secondary)":W==="tool_active"?"var(--green)":W==="reflecting"?"var(--yellow)":A.color;return c.jsxs("div",{className:"task-header-shell",children:[c.jsxs("div",{className:"task-header-bar",children:[c.jsxs("div",{className:"task-header-left",children:[u?c.jsx("input",{ref:p,className:"task-title-input",value:m,onChange:G=>h(G.target.value),onBlur:g,onKeyDown:G=>{G.key==="Enter"&&g(),G.key==="Escape"&&(h(e.title),d(!1))}}):c.jsx("span",{className:"task-title",onClick:y,title:"Click to edit",children:e.title}),c.jsxs("span",{className:"task-status-pill","data-status":e.status,"data-working":B?"true":"false",children:[c.jsx("span",{className:"task-status-dot",style:{background:q}}),M]}),I&&F&&c.jsxs("span",{className:"task-tool-pill",children:[c.jsx(wm,{}),c.jsx("code",{children:F}),e.currentTool&&typeof e.toolElapsedMs=="number"&&e.toolElapsedMs>0&&c.jsxs("span",{children:[e.toolElapsedMs,"ms"]})]}),e.lastToolSummary&&c.jsx("span",{className:"task-projection-pill",title:e.lastToolSummary,children:e.lastToolSummary.slice(0,48)}),$&&c.jsx("span",{className:"task-role-pill",title:`Role: ${$}`,children:$}),e.employeeAssignment?.name&&c.jsxs("span",{className:"task-employee-pill",title:`Employee: ${e.employeeAssignment.name}${e.employeeAssignment.category?` (${e.employeeAssignment.category})`:""}`,children:[c.jsx("span",{className:"task-employee-icon",children:"๐Ÿ‘ค"}),e.employeeAssignment.name]}),e.selectedExecutionAgent&&c.jsxs("span",{className:"task-agent-pill",title:`Execution Agent: ${WS[e.selectedExecutionAgent]??e.selectedExecutionAgent}`,children:[c.jsx("span",{className:"task-agent-icon",children:"โš™"}),WS[e.selectedExecutionAgent]??e.selectedExecutionAgent]})]}),c.jsxs("div",{className:"task-header-right",children:[_&&c.jsx("div",{className:"task-header-avatars",children:v.slice(0,3).map(G=>c.jsx("span",{className:"task-header-avatar",title:G.name,children:G.name.charAt(0).toUpperCase()},G.agent_id))}),c.jsx("span",{className:"task-header-time",title:new Date(e.createdAt).toLocaleString(),children:z8(e.createdAt)}),(T||C)&&r&&c.jsxs("button",{className:"task-stop-btn",onClick:r,title:"Stop task",disabled:!T,children:[c.jsx(qj,{}),c.jsx("span",{children:C?"Stopping...":"Stop"})]}),L&&a&&e.status!=="done"&&c.jsx("button",{className:"task-resume-btn",onClick:a,title:"Resume prior runtime (re-awaken original team, no new plan)",children:c.jsx("span",{children:"Continue"})}),o&&c.jsxs("button",{className:"task-done-btn",onClick:o,title:"Mark task as done",children:[c.jsx(Nl,{}),c.jsx("span",{children:"Done"})]}),i&&c.jsx("button",{className:"task-board-btn",onClick:i,title:"View on Board",children:c.jsx(_4,{})})]})]}),Q&&c.jsx("div",{className:"task-header-metrics",children:Y&&c.jsxs("div",{className:"task-runtime-metric task-runtime-metric-approval",title:"Pending approvals",children:[c.jsx("span",{className:"task-runtime-metric-label",children:"Approvals"}),c.jsx("span",{className:"task-runtime-metric-value",children:e.pendingPermissionCount})]})})]})}function Fr(e){return String(e??"").trim().replace(/\s+/g," ").slice(0,96)}function cN(e,t=0){const n=e.itemId||e.streamId||e.toolCallId||e.permissionGroupKey;return n?`${e.type}:${Fr(e.turnId)}:${Fr(n)}`:e.type==="thinking"?`thinking:${Fr(e.turnId)||Fr(e.executionMode)||Fr(e.summary)||"stream"}:${t}`:e.type==="tool_call"&&e.turnId?`tool:${Fr(e.turnId)}:${Fr(e.summary)||"tool"}:${t}`:e.turnId&&typeof e.seq=="number"?`${e.type}:${Fr(e.turnId)}:seq:${e.seq}`:[e.type,Fr(e.turnId),Number.isFinite(e.timestamp)?e.timestamp:"",Fr(e.summary),t].join(":")}const $8=new Set(["done","failed","cancelled"]),YS=new Set(["thinking","tool_call","autonomy","needs_input","verification"]),em={thinking:{icon:c.jsx(h4,{}),color:"var(--accent)",label:"Thinking"},tool_call:{icon:c.jsx(wm,{}),color:"var(--green)",label:"Tool"},autonomy:{icon:c.jsx(au,{}),color:"var(--yellow)",label:"Autonomy"},handoff:{icon:c.jsx(Yj,{}),color:"var(--accent)",label:"Handoff"},gate_result:{icon:c.jsx(k4,{}),color:"var(--green)",label:"Gate"},status_change:{icon:c.jsx(Kk,{}),color:"var(--text-secondary)",label:"Status"},work_item_started:{icon:c.jsx(jm,{}),color:"var(--accent)",label:"Work item"},gate_approved:{icon:c.jsx(S4,{}),color:"var(--green)",label:"Gate Passed"},gate_rejected:{icon:c.jsx(w4,{}),color:"var(--red)",label:"Rejected"},awaiting_manager_review:{icon:c.jsx(Nc,{}),color:"var(--yellow)",label:"Awaiting Manager Review"},awaiting_human:{icon:c.jsx(Nc,{}),color:"var(--yellow)",label:"Awaiting Human Review"},awaiting_review:{icon:c.jsx(Nc,{}),color:"var(--yellow)",label:"Awaiting Review"},awaiting_peer:{icon:c.jsx(Nc,{}),color:"var(--yellow)",label:"Awaiting Peer"},work_item_failed:{icon:c.jsx(Kk,{}),color:"var(--red)",label:"Failed"},deadlock:{icon:c.jsx(Pf,{}),color:"var(--red)",label:"Deadlock"},needs_input:{icon:c.jsx(Nc,{}),color:"var(--yellow)",label:"Needs Input"},verification:{icon:c.jsx(au,{}),color:"var(--accent)",label:"Verification"}},Ag=5;function Mc(e){const t=Math.floor((Date.now()-e)/1e3);if(t<5)return"just now";if(t<60)return`${t}s ago`;const n=Math.floor(t/60);return n<60?`${n}m ago`:`${Math.floor(n/60)}h ago`}function If(e){if(typeof e=="string"){const t=e.trim();if(t.startsWith("{")&&t.endsWith("}")||t.startsWith("[")&&t.endsWith("]"))try{return If(JSON.parse(t))}catch{return e}return e}return Array.isArray(e)?e.map(If):e&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([t,n])=>[t,If(n)])):e}function H8(e){const t=e.trim();if(!t||!t.startsWith("{")&&!t.startsWith("["))return e;try{return JSON.stringify(If(JSON.parse(t)),null,2)}catch{return e}}function Wo({entries:e,agentStatus:t,currentTool:n,toolElapsedMs:i,lastToolSummary:r,sessionStatus:o,expandedByDefault:a}){const[u,d]=E.useState(!!a),m=!!o&&$8.has(o),h=!m&&t==="reflecting",p=!m&&t==="tool_active",g=h||p,y=E.useMemo(()=>e,[e]),v=E.useMemo(()=>u||y.length<=Ag?y:y.slice(-Ag),[y,u]),k=y.length-v.length;return y.length===0&&!g&&!m?null:c.jsxs("div",{className:"ptl-block",children:[g&&c.jsxs("div",{className:`ptl-live ${p?"ptl-live-tool":"ptl-live-think"}`,children:[c.jsx("span",{className:"ptl-live-icon",children:p?c.jsx(wm,{}):c.jsx(Fo,{})}),c.jsx("span",{className:"ptl-live-text",children:p?"Running":"Thinking"}),p&&n&&c.jsx("code",{className:"ptl-live-tool-name",children:n}),p&&typeof i=="number"&&i>0&&c.jsx("span",{className:"ptl-live-elapsed",children:i<1e3?`${i}ms`:`${(i/1e3).toFixed(1)}s`}),c.jsx("span",{className:"ptl-live-shimmer"})]}),r&&!p&&c.jsxs("div",{className:"ptl-last-tool-summary",children:[c.jsx("span",{className:"ptl-last-tool-label",children:"Last tool result:"}),c.jsx("span",{className:"ptl-last-tool-text",children:r})]}),k>0&&c.jsxs("button",{className:"ptl-expand",onClick:()=>d(!0),children:[c.jsx(Yr,{}),c.jsxs("span",{children:[k," earlier step",k>1?"s":""]})]}),v.length>0&&c.jsx("div",{className:"ptl-timeline",children:v.map((S,_)=>{const w=_===v.length-1,C=em[S.type]||em.status_change;return c.jsxs("div",{className:`ptl-entry${w?" ptl-entry-last":""}`,children:[c.jsxs("div",{className:"ptl-connector",children:[c.jsx("div",{className:"ptl-dot",style:{color:C.color},children:C.icon}),!w&&c.jsx("div",{className:"ptl-line"})]}),c.jsx("div",{className:"ptl-content",children:c.jsx(uN,{entry:S})})]},cN(S,k+_))})}),m&&!g&&c.jsxs("div",{className:`ptl-completion ptl-completion-${o}`,children:[c.jsx("span",{className:"ptl-completion-icon",children:o==="done"?"โœ“":o==="failed"?"โœ—":"โ€”"}),c.jsx("span",{className:"ptl-completion-text",children:o==="done"?"Completed":o==="failed"?"Failed":"Cancelled"})]}),u&&y.length>Ag&&c.jsxs("button",{className:"ptl-expand",onClick:()=>d(!1),children:[c.jsx(Yr,{down:!0}),c.jsx("span",{children:"Show less"})]}),!u&&k>0&&c.jsxs("button",{className:"ptl-expand",onClick:()=>d(!0),children:[c.jsx(Yr,{}),c.jsxs("span",{children:["Show more (",k," earlier step",k>1?"s":"",")"]})]})]})}const uN=St.memo(function({entry:t}){const[n,i]=E.useState(!1),r=em[t.type]||em.status_change,o=t.type==="tool_call"&&!!t.detail;if(t.type==="tool_call")return c.jsxs("div",{className:`ptl-tool-card${n?" expanded":""}`,children:[c.jsxs("button",{className:`ptl-row ptl-tool-toggle${o?" clickable":""}`,onClick:()=>{o&&i(a=>!a)},type:"button",children:[c.jsx("span",{className:"ptl-label",style:{color:r.color},children:r.label}),c.jsx("code",{className:"ptl-tool-badge",children:t.summary}),c.jsx("span",{className:"ptl-time",children:Mc(t.timestamp)}),o&&c.jsx("span",{className:"ptl-tool-chevron",children:c.jsx(Yr,{down:n})})]}),n&&t.detail&&c.jsx("pre",{className:"ptl-tool-card-detail",children:H8(t.detail)})]});if(t.type==="autonomy"){const a=!!t.detail;return c.jsxs("div",{className:`ptl-tool-card ptl-autonomy-card${n?" expanded":""}`,children:[c.jsxs("button",{className:`ptl-row ptl-tool-toggle${a?" clickable":""}`,onClick:()=>{a&&i(u=>!u)},type:"button",children:[c.jsx("span",{className:"ptl-label",style:{color:r.color},children:r.label}),c.jsx("code",{className:"ptl-tool-badge",children:t.summary}),c.jsx("span",{className:"ptl-time",children:Mc(t.timestamp)}),a&&c.jsx("span",{className:"ptl-tool-chevron",children:c.jsx(Yr,{down:n})})]}),n&&t.detail&&c.jsx("div",{className:"ptl-tool-card-detail ptl-autonomy-detail",children:t.detail})]})}if(t.type==="thinking")return c.jsxs("div",{className:"ptl-tool-card",children:[c.jsxs("button",{className:"ptl-row ptl-tool-toggle clickable",onClick:()=>i(a=>!a),type:"button",children:[c.jsx("span",{className:"ptl-label",style:{color:r.color},children:r.label}),c.jsx("span",{className:"ptl-summary",children:t.summary}),c.jsx("span",{className:"ptl-time",children:Mc(t.timestamp)}),c.jsx("span",{className:"ptl-tool-chevron",children:c.jsx(Yr,{down:n})})]}),n&&c.jsx("div",{className:"ptl-tool-card-detail ptl-thinking-detail",children:t.detail||t.summary})]});if(t.type==="verification"){const a=!!t.detail;return c.jsxs("div",{className:`ptl-tool-card ptl-verification-card${n?" expanded":""}`,children:[c.jsxs("button",{className:`ptl-row ptl-tool-toggle${a?" clickable":""}`,onClick:()=>{a&&i(u=>!u)},type:"button",children:[c.jsx("span",{className:"ptl-label",style:{color:r.color},children:r.label}),c.jsx("span",{className:"ptl-summary",children:t.summary||"Verification"}),c.jsx("span",{className:"ptl-time",children:Mc(t.timestamp)}),a&&c.jsx("span",{className:"ptl-tool-chevron",children:c.jsx(Yr,{down:n})})]}),n&&t.detail&&c.jsx("div",{className:"ptl-tool-card-detail ptl-verification-detail",children:t.detail})]})}return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"ptl-row",children:[c.jsx("span",{className:"ptl-label",style:{color:r.color},children:r.label}),c.jsx("span",{className:"ptl-summary",children:t.summary}),c.jsx("span",{className:"ptl-time",children:Mc(t.timestamp)})]}),t.detail&&c.jsx("div",{className:"ptl-detail",children:t.detail})]})});function F8(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const V8=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,U8=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,G8={};function XS(e,t){return(G8.jsx?U8:V8).test(e)}const q8=/[ \t\n\f\r]/g;function W8(e){return typeof e=="object"?e.type==="text"?KS(e.value):!1:KS(e)}function KS(e){return e.replace(q8,"")===""}class Ru{constructor(t,n,i){this.normal=n,this.property=t,i&&(this.space=i)}}Ru.prototype.normal={};Ru.prototype.property={};Ru.prototype.space=void 0;function dN(e,t){const n={},i={};for(const r of e)Object.assign(n,r.property),Object.assign(i,r.normal);return new Ru(n,i,t)}function By(e){return e.toLowerCase()}class $i{constructor(t,n){this.attribute=n,this.property=t}}$i.prototype.attribute="";$i.prototype.booleanish=!1;$i.prototype.boolean=!1;$i.prototype.commaOrSpaceSeparated=!1;$i.prototype.commaSeparated=!1;$i.prototype.defined=!1;$i.prototype.mustUseProperty=!1;$i.prototype.number=!1;$i.prototype.overloadedBoolean=!1;$i.prototype.property="";$i.prototype.spaceSeparated=!1;$i.prototype.space=void 0;let Y8=0;const Ct=na(),Vn=na(),$y=na(),De=na(),xn=na(),sl=na(),Xi=na();function na(){return 2**++Y8}const Hy=Object.freeze(Object.defineProperty({__proto__:null,boolean:Ct,booleanish:Vn,commaOrSpaceSeparated:Xi,commaSeparated:sl,number:De,overloadedBoolean:$y,spaceSeparated:xn},Symbol.toStringTag,{value:"Module"})),Mg=Object.keys(Hy);class ev extends $i{constructor(t,n,i,r){let o=-1;if(super(t,n),ZS(this,"space",r),typeof i=="number")for(;++o4&&n.slice(0,4)==="data"&&J8.test(t)){if(t.charAt(4)==="-"){const o=t.slice(5).replace(QS,nz);i="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{const o=t.slice(4);if(!QS.test(o)){let a=o.replace(Q8,tz);a.charAt(0)!=="-"&&(a="-"+a),t="data"+a}}r=ev}return new r(i,t)}function tz(e){return"-"+e.toLowerCase()}function nz(e){return e.charAt(1).toUpperCase()}const iz=dN([fN,X8,hN,gN,xN],"html"),tv=dN([fN,K8,hN,gN,xN],"svg");function rz(e){return e.join(" ").trim()}var qa={},Dg,JS;function sz(){if(JS)return Dg;JS=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,n=/^\s*/,i=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,r=/^:\s*/,o=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,a=/^[;\s]*/,u=/^\s+|\s+$/g,d=` -`,m="/",h="*",p="",g="comment",y="declaration";function v(S,_){if(typeof S!="string")throw new TypeError("First argument must be a string");if(!S)return[];_=_||{};var w=1,C=1;function N(B){var U=B.match(t);U&&(w+=U.length);var F=B.lastIndexOf(d);C=~F?B.length-F:C+B.length}function O(){var B={line:w,column:C};return function(U){return U.position=new I(B),L(),U}}function I(B){this.start=B,this.end={line:w,column:C},this.source=_.source}I.prototype.content=S;function D(B){var U=new Error(_.source+":"+w+":"+C+": "+B);if(U.reason=B,U.filename=_.source,U.line=w,U.column=C,U.source=S,!_.silent)throw U}function T(B){var U=B.exec(S);if(U){var F=U[0];return N(F),S=S.slice(F.length),U}}function L(){T(n)}function A(B){var U;for(B=B||[];U=M();)U!==!1&&B.push(U);return B}function M(){var B=O();if(!(m!=S.charAt(0)||h!=S.charAt(1))){for(var U=2;p!=S.charAt(U)&&(h!=S.charAt(U)||m!=S.charAt(U+1));)++U;if(U+=2,p===S.charAt(U-1))return D("End of comment missing");var F=S.slice(2,U-2);return C+=2,N(F),S=S.slice(U),C+=2,B({type:g,comment:F})}}function $(){var B=O(),U=T(i);if(U){if(M(),!T(r))return D("property missing ':'");var F=T(o),V=B({type:y,property:k(U[0].replace(e,p)),value:F?k(F[0].replace(e,p)):p});return T(a),V}}function W(){var B=[];A(B);for(var U;U=$();)U!==!1&&(B.push(U),A(B));return B}return L(),W()}function k(S){return S?S.replace(u,p):p}return Dg=v,Dg}var ew;function oz(){if(ew)return qa;ew=1;var e=qa&&qa.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(qa,"__esModule",{value:!0}),qa.default=n;const t=e(sz());function n(i,r){let o=null;if(!i||typeof i!="string")return o;const a=(0,t.default)(i),u=typeof r=="function";return a.forEach(d=>{if(d.type!=="declaration")return;const{property:m,value:h}=d;u?r(m,h,d):h&&(o=o||{},o[m]=h)}),o}return qa}var Dc={},tw;function az(){if(tw)return Dc;tw=1,Object.defineProperty(Dc,"__esModule",{value:!0}),Dc.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,t=/-([a-z])/g,n=/^[^-]+$/,i=/^-(webkit|moz|ms|o|khtml)-/,r=/^-(ms)-/,o=function(m){return!m||n.test(m)||e.test(m)},a=function(m,h){return h.toUpperCase()},u=function(m,h){return"".concat(h,"-")},d=function(m,h){return h===void 0&&(h={}),o(m)?m:(m=m.toLowerCase(),h.reactCompat?m=m.replace(r,u):m=m.replace(i,u),m.replace(t,a))};return Dc.camelCase=d,Dc}var Oc,nw;function lz(){if(nw)return Oc;nw=1;var e=Oc&&Oc.__importDefault||function(r){return r&&r.__esModule?r:{default:r}},t=e(oz()),n=az();function i(r,o){var a={};return!r||typeof r!="string"||(0,t.default)(r,function(u,d){u&&d&&(a[(0,n.camelCase)(u,o)]=d)}),a}return i.default=i,Oc=i,Oc}var cz=lz();const uz=ta(cz),yN=vN("end"),nv=vN("start");function vN(e){return t;function t(n){const i=n&&n.position&&n.position[e]||{};if(typeof i.line=="number"&&i.line>0&&typeof i.column=="number"&&i.column>0)return{line:i.line,column:i.column,offset:typeof i.offset=="number"&&i.offset>-1?i.offset:void 0}}}function dz(e){const t=nv(e),n=yN(e);if(t&&n)return{start:t,end:n}}function Jc(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?iw(e.position):"start"in e||"end"in e?iw(e):"line"in e||"column"in e?Fy(e):""}function Fy(e){return rw(e&&e.line)+":"+rw(e&&e.column)}function iw(e){return Fy(e&&e.start)+"-"+Fy(e&&e.end)}function rw(e){return e&&typeof e=="number"?e:1}class bi extends Error{constructor(t,n,i){super(),typeof n=="string"&&(i=n,n=void 0);let r="",o={},a=!1;if(n&&("line"in n&&"column"in n?o={place:n}:"start"in n&&"end"in n?o={place:n}:"type"in n?o={ancestors:[n],place:n.position}:o={...n}),typeof t=="string"?r=t:!o.cause&&t&&(a=!0,r=t.message,o.cause=t),!o.ruleId&&!o.source&&typeof i=="string"){const d=i.indexOf(":");d===-1?o.ruleId=i:(o.source=i.slice(0,d),o.ruleId=i.slice(d+1))}if(!o.place&&o.ancestors&&o.ancestors){const d=o.ancestors[o.ancestors.length-1];d&&(o.place=d.position)}const u=o.place&&"start"in o.place?o.place.start:o.place;this.ancestors=o.ancestors||void 0,this.cause=o.cause||void 0,this.column=u?u.column:void 0,this.fatal=void 0,this.file="",this.message=r,this.line=u?u.line:void 0,this.name=Jc(o.place)||"1:1",this.place=o.place||void 0,this.reason=this.message,this.ruleId=o.ruleId||void 0,this.source=o.source||void 0,this.stack=a&&o.cause&&typeof o.cause.stack=="string"?o.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}bi.prototype.file="";bi.prototype.name="";bi.prototype.reason="";bi.prototype.message="";bi.prototype.stack="";bi.prototype.column=void 0;bi.prototype.line=void 0;bi.prototype.ancestors=void 0;bi.prototype.cause=void 0;bi.prototype.fatal=void 0;bi.prototype.place=void 0;bi.prototype.ruleId=void 0;bi.prototype.source=void 0;const iv={}.hasOwnProperty,fz=new Map,mz=/[A-Z]/g,pz=new Set(["table","tbody","thead","tfoot","tr"]),hz=new Set(["td","th"]),bN="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function gz(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let i;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");i=wz(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");i=Sz(n,t.jsx,t.jsxs)}const r={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:i,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?tv:iz,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},o=_N(r,e,void 0);return o&&typeof o!="string"?o:r.create(e,r.Fragment,{children:o||void 0},void 0)}function _N(e,t,n){if(t.type==="element")return xz(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return yz(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return bz(e,t,n);if(t.type==="mdxjsEsm")return vz(e,t);if(t.type==="root")return _z(e,t,n);if(t.type==="text")return kz(e,t)}function xz(e,t,n){const i=e.schema;let r=i;t.tagName.toLowerCase()==="svg"&&i.space==="html"&&(r=tv,e.schema=r),e.ancestors.push(t);const o=SN(e,t.tagName,!1),a=Cz(e,t);let u=sv(e,t);return pz.has(t.tagName)&&(u=u.filter(function(d){return typeof d=="string"?!W8(d):!0})),kN(e,a,o,t),rv(a,u),e.ancestors.pop(),e.schema=i,e.create(t,o,a,n)}function yz(e,t){if(t.data&&t.data.estree&&e.evaluater){const i=t.data.estree.body[0];return i.type,e.evaluater.evaluateExpression(i.expression)}xu(e,t.position)}function vz(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);xu(e,t.position)}function bz(e,t,n){const i=e.schema;let r=i;t.name==="svg"&&i.space==="html"&&(r=tv,e.schema=r),e.ancestors.push(t);const o=t.name===null?e.Fragment:SN(e,t.name,!0),a=jz(e,t),u=sv(e,t);return kN(e,a,o,t),rv(a,u),e.ancestors.pop(),e.schema=i,e.create(t,o,a,n)}function _z(e,t,n){const i={};return rv(i,sv(e,t)),e.create(t,e.Fragment,i,n)}function kz(e,t){return t.value}function kN(e,t,n,i){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=i)}function rv(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function Sz(e,t,n){return i;function i(r,o,a,u){const m=Array.isArray(a.children)?n:t;return u?m(o,a,u):m(o,a)}}function wz(e,t){return n;function n(i,r,o,a){const u=Array.isArray(o.children),d=nv(i);return t(r,o,a,u,{columnNumber:d?d.column-1:void 0,fileName:e,lineNumber:d?d.line:void 0},void 0)}}function Cz(e,t){const n={};let i,r;for(r in t.properties)if(r!=="children"&&iv.call(t.properties,r)){const o=Ez(e,r,t.properties[r]);if(o){const[a,u]=o;e.tableCellAlignToStyle&&a==="align"&&typeof u=="string"&&hz.has(t.tagName)?i=u:n[a]=u}}if(i){const o=n.style||(n.style={});o[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=i}return n}function jz(e,t){const n={};for(const i of t.attributes)if(i.type==="mdxJsxExpressionAttribute")if(i.data&&i.data.estree&&e.evaluater){const o=i.data.estree.body[0];o.type;const a=o.expression;a.type;const u=a.properties[0];u.type,Object.assign(n,e.evaluater.evaluateExpression(u.argument))}else xu(e,t.position);else{const r=i.name;let o;if(i.value&&typeof i.value=="object")if(i.value.data&&i.value.data.estree&&e.evaluater){const u=i.value.data.estree.body[0];u.type,o=e.evaluater.evaluateExpression(u.expression)}else xu(e,t.position);else o=i.value===null?!0:i.value;n[r]=o}return n}function sv(e,t){const n=[];let i=-1;const r=e.passKeys?new Map:fz;for(;++ir?0:r+t:t=t>r?r:t,n=n>0?n:0,i.length<1e4)a=Array.from(i),a.unshift(t,n),e.splice(...a);else for(n&&e.splice(t,n);o0?(tr(e,e.length,0,t),e):t}const aw={}.hasOwnProperty;function CN(e){const t={};let n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"๏ฟฝ":String.fromCodePoint(n)}function Rr(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Ei=xo(/[A-Za-z]/),vi=xo(/[\dA-Za-z]/),Lz=xo(/[#-'*+\--9=?A-Z^-~]/);function tm(e){return e!==null&&(e<32||e===127)}const Vy=xo(/\d/),zz=xo(/[\dA-Fa-f]/),Pz=xo(/[!-/:-@[-`{-~]/);function ct(e){return e!==null&&e<-2}function pn(e){return e!==null&&(e<0||e===32)}function Mt(e){return e===-2||e===-1||e===32}const Pm=xo(new RegExp("\\p{P}|\\p{S}","u")),Yo=xo(/\s/);function xo(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function Ml(e){const t=[];let n=-1,i=0,r=0;for(;++n55295&&o<57344){const u=e.charCodeAt(n+1);o<56320&&u>56319&&u<57344?(a=String.fromCharCode(o,u),r=1):a="๏ฟฝ"}else a=String.fromCharCode(o);a&&(t.push(e.slice(i,n),encodeURIComponent(a)),i=n+r+1,a=""),r&&(n+=r,r=0)}return t.join("")+e.slice(i)}function Vt(e,t,n,i){const r=i?i-1:Number.POSITIVE_INFINITY;let o=0;return a;function a(d){return Mt(d)?(e.enter(n),u(d)):t(d)}function u(d){return Mt(d)&&o++a))return;const D=t.events.length;let T=D,L,A;for(;T--;)if(t.events[T][0]==="exit"&&t.events[T][1].type==="chunkFlow"){if(L){A=t.events[T][1].end;break}L=!0}for(_(i),I=D;IC;){const O=n[N];t.containerState=O[1],O[0].exit.call(t,e)}n.length=C}function w(){r.write([null]),o=void 0,r=void 0,t.containerState._closeFlow=void 0}}function Vz(e,t,n){return Vt(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function yl(e){if(e===null||pn(e)||Yo(e))return 1;if(Pm(e))return 2}function Bm(e,t,n){const i=[];let r=-1;for(;++r1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const p={...e[i][1].end},g={...e[n][1].start};cw(p,-d),cw(g,d),a={type:d>1?"strongSequence":"emphasisSequence",start:p,end:{...e[i][1].end}},u={type:d>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:g},o={type:d>1?"strongText":"emphasisText",start:{...e[i][1].end},end:{...e[n][1].start}},r={type:d>1?"strong":"emphasis",start:{...a.start},end:{...u.end}},e[i][1].end={...a.start},e[n][1].start={...u.end},m=[],e[i][1].end.offset-e[i][1].start.offset&&(m=yr(m,[["enter",e[i][1],t],["exit",e[i][1],t]])),m=yr(m,[["enter",r,t],["enter",a,t],["exit",a,t],["enter",o,t]]),m=yr(m,Bm(t.parser.constructs.insideSpan.null,e.slice(i+1,n),t)),m=yr(m,[["exit",o,t],["enter",u,t],["exit",u,t],["exit",r,t]]),e[n][1].end.offset-e[n][1].start.offset?(h=2,m=yr(m,[["enter",e[n][1],t],["exit",e[n][1],t]])):h=0,tr(e,i-1,n-i+3,m),n=i+m.length-h-2;break}}for(n=-1;++n0&&Mt(I)?Vt(e,w,"linePrefix",o+1)(I):w(I)}function w(I){return I===null||ct(I)?e.check(uw,k,N)(I):(e.enter("codeFlowValue"),C(I))}function C(I){return I===null||ct(I)?(e.exit("codeFlowValue"),w(I)):(e.consume(I),C)}function N(I){return e.exit("codeFenced"),t(I)}function O(I,D,T){let L=0;return A;function A(U){return I.enter("lineEnding"),I.consume(U),I.exit("lineEnding"),M}function M(U){return I.enter("codeFencedFence"),Mt(U)?Vt(I,$,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(U):$(U)}function $(U){return U===u?(I.enter("codeFencedFenceSequence"),W(U)):T(U)}function W(U){return U===u?(L++,I.consume(U),W):L>=a?(I.exit("codeFencedFenceSequence"),Mt(U)?Vt(I,B,"whitespace")(U):B(U)):T(U)}function B(U){return U===null||ct(U)?(I.exit("codeFencedFence"),D(U)):T(U)}}}function tP(e,t,n){const i=this;return r;function r(a){return a===null?n(a):(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),o)}function o(a){return i.parser.lazy[i.now().line]?n(a):t(a)}}const Lg={name:"codeIndented",tokenize:iP},nP={partial:!0,tokenize:rP};function iP(e,t,n){const i=this;return r;function r(m){return e.enter("codeIndented"),Vt(e,o,"linePrefix",5)(m)}function o(m){const h=i.events[i.events.length-1];return h&&h[1].type==="linePrefix"&&h[2].sliceSerialize(h[1],!0).length>=4?a(m):n(m)}function a(m){return m===null?d(m):ct(m)?e.attempt(nP,a,d)(m):(e.enter("codeFlowValue"),u(m))}function u(m){return m===null||ct(m)?(e.exit("codeFlowValue"),a(m)):(e.consume(m),u)}function d(m){return e.exit("codeIndented"),t(m)}}function rP(e,t,n){const i=this;return r;function r(a){return i.parser.lazy[i.now().line]?n(a):ct(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),r):Vt(e,o,"linePrefix",5)(a)}function o(a){const u=i.events[i.events.length-1];return u&&u[1].type==="linePrefix"&&u[2].sliceSerialize(u[1],!0).length>=4?t(a):ct(a)?r(a):n(a)}}const sP={name:"codeText",previous:aP,resolve:oP,tokenize:lP};function oP(e){let t=e.length-4,n=3,i,r;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(i=n;++i=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-i+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-i+this.left.length).reverse())}splice(t,n,i){const r=n||0;this.setCursor(Math.trunc(t));const o=this.right.splice(this.right.length-r,Number.POSITIVE_INFINITY);return i&&Lc(this.left,i),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),Lc(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),Lc(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(a):e.interrupt(i.parser.constructs.flow,n,t)(a)}}function RN(e,t,n,i,r,o,a,u,d){const m=d||Number.POSITIVE_INFINITY;let h=0;return p;function p(_){return _===60?(e.enter(i),e.enter(r),e.enter(o),e.consume(_),e.exit(o),g):_===null||_===32||_===41||tm(_)?n(_):(e.enter(i),e.enter(a),e.enter(u),e.enter("chunkString",{contentType:"string"}),k(_))}function g(_){return _===62?(e.enter(o),e.consume(_),e.exit(o),e.exit(r),e.exit(i),t):(e.enter(u),e.enter("chunkString",{contentType:"string"}),y(_))}function y(_){return _===62?(e.exit("chunkString"),e.exit(u),g(_)):_===null||_===60||ct(_)?n(_):(e.consume(_),_===92?v:y)}function v(_){return _===60||_===62||_===92?(e.consume(_),y):y(_)}function k(_){return!h&&(_===null||_===41||pn(_))?(e.exit("chunkString"),e.exit(u),e.exit(a),e.exit(i),t(_)):h999||y===null||y===91||y===93&&!d||y===94&&!u&&"_hiddenFootnoteSupport"in a.parser.constructs?n(y):y===93?(e.exit(o),e.enter(r),e.consume(y),e.exit(r),e.exit(i),t):ct(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),h):(e.enter("chunkString",{contentType:"string"}),p(y))}function p(y){return y===null||y===91||y===93||ct(y)||u++>999?(e.exit("chunkString"),h(y)):(e.consume(y),d||(d=!Mt(y)),y===92?g:p)}function g(y){return y===91||y===92||y===93?(e.consume(y),u++,p):p(y)}}function MN(e,t,n,i,r,o){let a;return u;function u(g){return g===34||g===39||g===40?(e.enter(i),e.enter(r),e.consume(g),e.exit(r),a=g===40?41:g,d):n(g)}function d(g){return g===a?(e.enter(r),e.consume(g),e.exit(r),e.exit(i),t):(e.enter(o),m(g))}function m(g){return g===a?(e.exit(o),d(a)):g===null?n(g):ct(g)?(e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),Vt(e,m,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),h(g))}function h(g){return g===a||g===null||ct(g)?(e.exit("chunkString"),m(g)):(e.consume(g),g===92?p:h)}function p(g){return g===a||g===92?(e.consume(g),h):h(g)}}function eu(e,t){let n;return i;function i(r){return ct(r)?(e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),n=!0,i):Mt(r)?Vt(e,i,n?"linePrefix":"lineSuffix")(r):t(r)}}const gP={name:"definition",tokenize:yP},xP={partial:!0,tokenize:vP};function yP(e,t,n){const i=this;let r;return o;function o(y){return e.enter("definition"),a(y)}function a(y){return AN.call(i,e,u,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(y)}function u(y){return r=Rr(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)),y===58?(e.enter("definitionMarker"),e.consume(y),e.exit("definitionMarker"),d):n(y)}function d(y){return pn(y)?eu(e,m)(y):m(y)}function m(y){return RN(e,h,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(y)}function h(y){return e.attempt(xP,p,p)(y)}function p(y){return Mt(y)?Vt(e,g,"whitespace")(y):g(y)}function g(y){return y===null||ct(y)?(e.exit("definition"),i.parser.defined.push(r),t(y)):n(y)}}function vP(e,t,n){return i;function i(u){return pn(u)?eu(e,r)(u):n(u)}function r(u){return MN(e,o,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(u)}function o(u){return Mt(u)?Vt(e,a,"whitespace")(u):a(u)}function a(u){return u===null||ct(u)?t(u):n(u)}}const bP={name:"hardBreakEscape",tokenize:_P};function _P(e,t,n){return i;function i(o){return e.enter("hardBreakEscape"),e.consume(o),r}function r(o){return ct(o)?(e.exit("hardBreakEscape"),t(o)):n(o)}}const kP={name:"headingAtx",resolve:SP,tokenize:wP};function SP(e,t){let n=e.length-2,i=3,r,o;return e[i][1].type==="whitespace"&&(i+=2),n-2>i&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(i===n-1||n-4>i&&e[n-2][1].type==="whitespace")&&(n-=i+1===n?2:4),n>i&&(r={type:"atxHeadingText",start:e[i][1].start,end:e[n][1].end},o={type:"chunkText",start:e[i][1].start,end:e[n][1].end,contentType:"text"},tr(e,i,n-i+1,[["enter",r,t],["enter",o,t],["exit",o,t],["exit",r,t]])),e}function wP(e,t,n){let i=0;return r;function r(h){return e.enter("atxHeading"),o(h)}function o(h){return e.enter("atxHeadingSequence"),a(h)}function a(h){return h===35&&i++<6?(e.consume(h),a):h===null||pn(h)?(e.exit("atxHeadingSequence"),u(h)):n(h)}function u(h){return h===35?(e.enter("atxHeadingSequence"),d(h)):h===null||ct(h)?(e.exit("atxHeading"),t(h)):Mt(h)?Vt(e,u,"whitespace")(h):(e.enter("atxHeadingText"),m(h))}function d(h){return h===35?(e.consume(h),d):(e.exit("atxHeadingSequence"),u(h))}function m(h){return h===null||h===35||pn(h)?(e.exit("atxHeadingText"),u(h)):(e.consume(h),m)}}const CP=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],fw=["pre","script","style","textarea"],jP={concrete:!0,name:"htmlFlow",resolveTo:IP,tokenize:TP},EP={partial:!0,tokenize:AP},NP={partial:!0,tokenize:RP};function IP(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function TP(e,t,n){const i=this;let r,o,a,u,d;return m;function m(P){return h(P)}function h(P){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(P),p}function p(P){return P===33?(e.consume(P),g):P===47?(e.consume(P),o=!0,k):P===63?(e.consume(P),r=3,i.interrupt?t:q):Ei(P)?(e.consume(P),a=String.fromCharCode(P),S):n(P)}function g(P){return P===45?(e.consume(P),r=2,y):P===91?(e.consume(P),r=5,u=0,v):Ei(P)?(e.consume(P),r=4,i.interrupt?t:q):n(P)}function y(P){return P===45?(e.consume(P),i.interrupt?t:q):n(P)}function v(P){const K="CDATA[";return P===K.charCodeAt(u++)?(e.consume(P),u===K.length?i.interrupt?t:$:v):n(P)}function k(P){return Ei(P)?(e.consume(P),a=String.fromCharCode(P),S):n(P)}function S(P){if(P===null||P===47||P===62||pn(P)){const K=P===47,ee=a.toLowerCase();return!K&&!o&&fw.includes(ee)?(r=1,i.interrupt?t(P):$(P)):CP.includes(a.toLowerCase())?(r=6,K?(e.consume(P),_):i.interrupt?t(P):$(P)):(r=7,i.interrupt&&!i.parser.lazy[i.now().line]?n(P):o?w(P):C(P))}return P===45||vi(P)?(e.consume(P),a+=String.fromCharCode(P),S):n(P)}function _(P){return P===62?(e.consume(P),i.interrupt?t:$):n(P)}function w(P){return Mt(P)?(e.consume(P),w):A(P)}function C(P){return P===47?(e.consume(P),A):P===58||P===95||Ei(P)?(e.consume(P),N):Mt(P)?(e.consume(P),C):A(P)}function N(P){return P===45||P===46||P===58||P===95||vi(P)?(e.consume(P),N):O(P)}function O(P){return P===61?(e.consume(P),I):Mt(P)?(e.consume(P),O):C(P)}function I(P){return P===null||P===60||P===61||P===62||P===96?n(P):P===34||P===39?(e.consume(P),d=P,D):Mt(P)?(e.consume(P),I):T(P)}function D(P){return P===d?(e.consume(P),d=null,L):P===null||ct(P)?n(P):(e.consume(P),D)}function T(P){return P===null||P===34||P===39||P===47||P===60||P===61||P===62||P===96||pn(P)?O(P):(e.consume(P),T)}function L(P){return P===47||P===62||Mt(P)?C(P):n(P)}function A(P){return P===62?(e.consume(P),M):n(P)}function M(P){return P===null||ct(P)?$(P):Mt(P)?(e.consume(P),M):n(P)}function $(P){return P===45&&r===2?(e.consume(P),F):P===60&&r===1?(e.consume(P),V):P===62&&r===4?(e.consume(P),G):P===63&&r===3?(e.consume(P),q):P===93&&r===5?(e.consume(P),Q):ct(P)&&(r===6||r===7)?(e.exit("htmlFlowData"),e.check(EP,J,W)(P)):P===null||ct(P)?(e.exit("htmlFlowData"),W(P)):(e.consume(P),$)}function W(P){return e.check(NP,B,J)(P)}function B(P){return e.enter("lineEnding"),e.consume(P),e.exit("lineEnding"),U}function U(P){return P===null||ct(P)?W(P):(e.enter("htmlFlowData"),$(P))}function F(P){return P===45?(e.consume(P),q):$(P)}function V(P){return P===47?(e.consume(P),a="",Y):$(P)}function Y(P){if(P===62){const K=a.toLowerCase();return fw.includes(K)?(e.consume(P),G):$(P)}return Ei(P)&&a.length<8?(e.consume(P),a+=String.fromCharCode(P),Y):$(P)}function Q(P){return P===93?(e.consume(P),q):$(P)}function q(P){return P===62?(e.consume(P),G):P===45&&r===2?(e.consume(P),q):$(P)}function G(P){return P===null||ct(P)?(e.exit("htmlFlowData"),J(P)):(e.consume(P),G)}function J(P){return e.exit("htmlFlow"),t(P)}}function RP(e,t,n){const i=this;return r;function r(a){return ct(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),o):n(a)}function o(a){return i.parser.lazy[i.now().line]?n(a):t(a)}}function AP(e,t,n){return i;function i(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),e.attempt(Au,t,n)}}const MP={name:"htmlText",tokenize:DP};function DP(e,t,n){const i=this;let r,o,a;return u;function u(q){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(q),d}function d(q){return q===33?(e.consume(q),m):q===47?(e.consume(q),O):q===63?(e.consume(q),C):Ei(q)?(e.consume(q),T):n(q)}function m(q){return q===45?(e.consume(q),h):q===91?(e.consume(q),o=0,v):Ei(q)?(e.consume(q),w):n(q)}function h(q){return q===45?(e.consume(q),y):n(q)}function p(q){return q===null?n(q):q===45?(e.consume(q),g):ct(q)?(a=p,V(q)):(e.consume(q),p)}function g(q){return q===45?(e.consume(q),y):p(q)}function y(q){return q===62?F(q):q===45?g(q):p(q)}function v(q){const G="CDATA[";return q===G.charCodeAt(o++)?(e.consume(q),o===G.length?k:v):n(q)}function k(q){return q===null?n(q):q===93?(e.consume(q),S):ct(q)?(a=k,V(q)):(e.consume(q),k)}function S(q){return q===93?(e.consume(q),_):k(q)}function _(q){return q===62?F(q):q===93?(e.consume(q),_):k(q)}function w(q){return q===null||q===62?F(q):ct(q)?(a=w,V(q)):(e.consume(q),w)}function C(q){return q===null?n(q):q===63?(e.consume(q),N):ct(q)?(a=C,V(q)):(e.consume(q),C)}function N(q){return q===62?F(q):C(q)}function O(q){return Ei(q)?(e.consume(q),I):n(q)}function I(q){return q===45||vi(q)?(e.consume(q),I):D(q)}function D(q){return ct(q)?(a=D,V(q)):Mt(q)?(e.consume(q),D):F(q)}function T(q){return q===45||vi(q)?(e.consume(q),T):q===47||q===62||pn(q)?L(q):n(q)}function L(q){return q===47?(e.consume(q),F):q===58||q===95||Ei(q)?(e.consume(q),A):ct(q)?(a=L,V(q)):Mt(q)?(e.consume(q),L):F(q)}function A(q){return q===45||q===46||q===58||q===95||vi(q)?(e.consume(q),A):M(q)}function M(q){return q===61?(e.consume(q),$):ct(q)?(a=M,V(q)):Mt(q)?(e.consume(q),M):L(q)}function $(q){return q===null||q===60||q===61||q===62||q===96?n(q):q===34||q===39?(e.consume(q),r=q,W):ct(q)?(a=$,V(q)):Mt(q)?(e.consume(q),$):(e.consume(q),B)}function W(q){return q===r?(e.consume(q),r=void 0,U):q===null?n(q):ct(q)?(a=W,V(q)):(e.consume(q),W)}function B(q){return q===null||q===34||q===39||q===60||q===61||q===96?n(q):q===47||q===62||pn(q)?L(q):(e.consume(q),B)}function U(q){return q===47||q===62||pn(q)?L(q):n(q)}function F(q){return q===62?(e.consume(q),e.exit("htmlTextData"),e.exit("htmlText"),t):n(q)}function V(q){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(q),e.exit("lineEnding"),Y}function Y(q){return Mt(q)?Vt(e,Q,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(q):Q(q)}function Q(q){return e.enter("htmlTextData"),a(q)}}const lv={name:"labelEnd",resolveAll:PP,resolveTo:BP,tokenize:$P},OP={tokenize:HP},LP={tokenize:FP},zP={tokenize:VP};function PP(e){let t=-1;const n=[];for(;++t=3&&(m===null||ct(m))?(e.exit("thematicBreak"),t(m)):n(m)}function d(m){return m===r?(e.consume(m),i++,d):(e.exit("thematicBreakSequence"),Mt(m)?Vt(e,u,"whitespace")(m):u(m))}}const zi={continuation:{tokenize:JP},exit:tB,name:"list",tokenize:QP},KP={partial:!0,tokenize:nB},ZP={partial:!0,tokenize:eB};function QP(e,t,n){const i=this,r=i.events[i.events.length-1];let o=r&&r[1].type==="linePrefix"?r[2].sliceSerialize(r[1],!0).length:0,a=0;return u;function u(y){const v=i.containerState.type||(y===42||y===43||y===45?"listUnordered":"listOrdered");if(v==="listUnordered"?!i.containerState.marker||y===i.containerState.marker:Vy(y)){if(i.containerState.type||(i.containerState.type=v,e.enter(v,{_container:!0})),v==="listUnordered")return e.enter("listItemPrefix"),y===42||y===45?e.check(Tf,n,m)(y):m(y);if(!i.interrupt||y===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),d(y)}return n(y)}function d(y){return Vy(y)&&++a<10?(e.consume(y),d):(!i.interrupt||a<2)&&(i.containerState.marker?y===i.containerState.marker:y===41||y===46)?(e.exit("listItemValue"),m(y)):n(y)}function m(y){return e.enter("listItemMarker"),e.consume(y),e.exit("listItemMarker"),i.containerState.marker=i.containerState.marker||y,e.check(Au,i.interrupt?n:h,e.attempt(KP,g,p))}function h(y){return i.containerState.initialBlankLine=!0,o++,g(y)}function p(y){return Mt(y)?(e.enter("listItemPrefixWhitespace"),e.consume(y),e.exit("listItemPrefixWhitespace"),g):n(y)}function g(y){return i.containerState.size=o+i.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(y)}}function JP(e,t,n){const i=this;return i.containerState._closeFlow=void 0,e.check(Au,r,o);function r(u){return i.containerState.furtherBlankLines=i.containerState.furtherBlankLines||i.containerState.initialBlankLine,Vt(e,t,"listItemIndent",i.containerState.size+1)(u)}function o(u){return i.containerState.furtherBlankLines||!Mt(u)?(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,a(u)):(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,e.attempt(ZP,t,a)(u))}function a(u){return i.containerState._closeFlow=!0,i.interrupt=void 0,Vt(e,e.attempt(zi,t,n),"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(u)}}function eB(e,t,n){const i=this;return Vt(e,r,"listItemIndent",i.containerState.size+1);function r(o){const a=i.events[i.events.length-1];return a&&a[1].type==="listItemIndent"&&a[2].sliceSerialize(a[1],!0).length===i.containerState.size?t(o):n(o)}}function tB(e){e.exit(this.containerState.type)}function nB(e,t,n){const i=this;return Vt(e,r,"listItemPrefixWhitespace",i.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function r(o){const a=i.events[i.events.length-1];return!Mt(o)&&a&&a[1].type==="listItemPrefixWhitespace"?t(o):n(o)}}const mw={name:"setextUnderline",resolveTo:iB,tokenize:rB};function iB(e,t){let n=e.length,i,r,o;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){i=n;break}e[n][1].type==="paragraph"&&(r=n)}else e[n][1].type==="content"&&e.splice(n,1),!o&&e[n][1].type==="definition"&&(o=n);const a={type:"setextHeading",start:{...e[i][1].start},end:{...e[e.length-1][1].end}};return e[r][1].type="setextHeadingText",o?(e.splice(r,0,["enter",a,t]),e.splice(o+1,0,["exit",e[i][1],t]),e[i][1].end={...e[o][1].end}):e[i][1]=a,e.push(["exit",a,t]),e}function rB(e,t,n){const i=this;let r;return o;function o(m){let h=i.events.length,p;for(;h--;)if(i.events[h][1].type!=="lineEnding"&&i.events[h][1].type!=="linePrefix"&&i.events[h][1].type!=="content"){p=i.events[h][1].type==="paragraph";break}return!i.parser.lazy[i.now().line]&&(i.interrupt||p)?(e.enter("setextHeadingLine"),r=m,a(m)):n(m)}function a(m){return e.enter("setextHeadingLineSequence"),u(m)}function u(m){return m===r?(e.consume(m),u):(e.exit("setextHeadingLineSequence"),Mt(m)?Vt(e,d,"lineSuffix")(m):d(m))}function d(m){return m===null||ct(m)?(e.exit("setextHeadingLine"),t(m)):n(m)}}const sB={tokenize:oB};function oB(e){const t=this,n=e.attempt(Au,i,e.attempt(this.parser.constructs.flowInitial,r,Vt(e,e.attempt(this.parser.constructs.flow,r,e.attempt(dP,r)),"linePrefix")));return n;function i(o){if(o===null){e.consume(o);return}return e.enter("lineEndingBlank"),e.consume(o),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function r(o){if(o===null){e.consume(o);return}return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const aB={resolveAll:ON()},lB=DN("string"),cB=DN("text");function DN(e){return{resolveAll:ON(e==="text"?uB:void 0),tokenize:t};function t(n){const i=this,r=this.parser.constructs[e],o=n.attempt(r,a,u);return a;function a(h){return m(h)?o(h):u(h)}function u(h){if(h===null){n.consume(h);return}return n.enter("data"),n.consume(h),d}function d(h){return m(h)?(n.exit("data"),o(h)):(n.consume(h),d)}function m(h){if(h===null)return!0;const p=r[h];let g=-1;if(p)for(;++g-1){const u=a[0];typeof u=="string"?a[0]=u.slice(i):a.shift()}o>0&&a.push(e[r].slice(0,o))}return a}function SB(e,t){let n=-1;const i=[];let r;for(;++n0){const Kt=Ae.tokenStack[Ae.tokenStack.length-1];(Kt[1]||hw).call(Ae,void 0,Kt[0])}for(ve.position={start:ro(ce.length>0?ce[0][1].start:{line:1,column:1,offset:0}),end:ro(ce.length>0?ce[ce.length-2][1].end:{line:1,column:1,offset:0})},He=-1;++He0&&(i.className=["language-"+r[0]]);let o={type:"element",tagName:"code",properties:i,children:[{type:"text",value:n}]};return t.meta&&(o.data={meta:t.meta}),e.patch(t,o),o=e.applyData(t,o),o={type:"element",tagName:"pre",properties:{},children:[o]},e.patch(t,o),o}function zB(e,t){const n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function PB(e,t){const n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function BB(e,t){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",i=String(t.identifier).toUpperCase(),r=Ml(i.toLowerCase()),o=e.footnoteOrder.indexOf(i);let a,u=e.footnoteCounts.get(i);u===void 0?(u=0,e.footnoteOrder.push(i),a=e.footnoteOrder.length):a=o+1,u+=1,e.footnoteCounts.set(i,u);const d={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+r,id:n+"fnref-"+r+(u>1?"-"+u:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(a)}]};e.patch(t,d);const m={type:"element",tagName:"sup",properties:{},children:[d]};return e.patch(t,m),e.applyData(t,m)}function $B(e,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function HB(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function PN(e,t){const n=t.referenceType;let i="]";if(n==="collapsed"?i+="[]":n==="full"&&(i+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+i}];const r=e.all(t),o=r[0];o&&o.type==="text"?o.value="["+o.value:r.unshift({type:"text",value:"["});const a=r[r.length-1];return a&&a.type==="text"?a.value+=i:r.push({type:"text",value:i}),r}function FB(e,t){const n=String(t.identifier).toUpperCase(),i=e.definitionById.get(n);if(!i)return PN(e,t);const r={src:Ml(i.url||""),alt:t.alt};i.title!==null&&i.title!==void 0&&(r.title=i.title);const o={type:"element",tagName:"img",properties:r,children:[]};return e.patch(t,o),e.applyData(t,o)}function VB(e,t){const n={src:Ml(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);const i={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,i),e.applyData(t,i)}function UB(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const i={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,i),e.applyData(t,i)}function GB(e,t){const n=String(t.identifier).toUpperCase(),i=e.definitionById.get(n);if(!i)return PN(e,t);const r={href:Ml(i.url||"")};i.title!==null&&i.title!==void 0&&(r.title=i.title);const o={type:"element",tagName:"a",properties:r,children:e.all(t)};return e.patch(t,o),e.applyData(t,o)}function qB(e,t){const n={href:Ml(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const i={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,i),e.applyData(t,i)}function WB(e,t,n){const i=e.all(t),r=n?YB(n):BN(t),o={},a=[];if(typeof t.checked=="boolean"){const h=i[0];let p;h&&h.type==="element"&&h.tagName==="p"?p=h:(p={type:"element",tagName:"p",properties:{},children:[]},i.unshift(p)),p.children.length>0&&p.children.unshift({type:"text",value:" "}),p.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),o.className=["task-list-item"]}let u=-1;for(;++u1}function XB(e,t){const n={},i=e.all(t);let r=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++r0){const a={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},u=nv(t.children[1]),d=yN(t.children[t.children.length-1]);u&&d&&(a.position={start:u,end:d}),r.push(a)}const o={type:"element",tagName:"table",properties:{},children:e.wrap(r,!0)};return e.patch(t,o),e.applyData(t,o)}function e9(e,t,n){const i=n?n.children:void 0,o=(i?i.indexOf(t):1)===0?"th":"td",a=n&&n.type==="table"?n.align:void 0,u=a?a.length:t.children.length;let d=-1;const m=[];for(;++d0,!0),i[0]),r=i.index+i[0].length,i=n.exec(t);return o.push(yw(t.slice(r),r>0,!1)),o.join("")}function yw(e,t,n){let i=0,r=e.length;if(t){let o=e.codePointAt(i);for(;o===gw||o===xw;)i++,o=e.codePointAt(i)}if(n){let o=e.codePointAt(r-1);for(;o===gw||o===xw;)r--,o=e.codePointAt(r-1)}return r>i?e.slice(i,r):""}function i9(e,t){const n={type:"text",value:n9(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function r9(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}const s9={blockquote:DB,break:OB,code:LB,delete:zB,emphasis:PB,footnoteReference:BB,heading:$B,html:HB,imageReference:FB,image:VB,inlineCode:UB,linkReference:GB,link:qB,listItem:WB,list:XB,paragraph:KB,root:ZB,strong:QB,table:JB,tableCell:t9,tableRow:e9,text:i9,thematicBreak:r9,toml:ef,yaml:ef,definition:ef,footnoteDefinition:ef};function ef(){}const $N=-1,$m=0,tu=1,nm=2,cv=3,uv=4,dv=5,fv=6,HN=7,FN=8,vw=typeof self=="object"?self:globalThis,o9=(e,t)=>{const n=(r,o)=>(e.set(o,r),r),i=r=>{if(e.has(r))return e.get(r);const[o,a]=t[r];switch(o){case $m:case $N:return n(a,r);case tu:{const u=n([],r);for(const d of a)u.push(i(d));return u}case nm:{const u=n({},r);for(const[d,m]of a)u[i(d)]=i(m);return u}case cv:return n(new Date(a),r);case uv:{const{source:u,flags:d}=a;return n(new RegExp(u,d),r)}case dv:{const u=n(new Map,r);for(const[d,m]of a)u.set(i(d),i(m));return u}case fv:{const u=n(new Set,r);for(const d of a)u.add(i(d));return u}case HN:{const{name:u,message:d}=a;return n(new vw[u](d),r)}case FN:return n(BigInt(a),r);case"BigInt":return n(Object(BigInt(a)),r);case"ArrayBuffer":return n(new Uint8Array(a).buffer,a);case"DataView":{const{buffer:u}=new Uint8Array(a);return n(new DataView(u),a)}}return n(new vw[o](a),r)};return i},bw=e=>o9(new Map,e)(0),Wa="",{toString:a9}={},{keys:l9}=Object,zc=e=>{const t=typeof e;if(t!=="object"||!e)return[$m,t];const n=a9.call(e).slice(8,-1);switch(n){case"Array":return[tu,Wa];case"Object":return[nm,Wa];case"Date":return[cv,Wa];case"RegExp":return[uv,Wa];case"Map":return[dv,Wa];case"Set":return[fv,Wa];case"DataView":return[tu,n]}return n.includes("Array")?[tu,n]:n.includes("Error")?[HN,n]:[nm,n]},tf=([e,t])=>e===$m&&(t==="function"||t==="symbol"),c9=(e,t,n,i)=>{const r=(a,u)=>{const d=i.push(a)-1;return n.set(u,d),d},o=a=>{if(n.has(a))return n.get(a);let[u,d]=zc(a);switch(u){case $m:{let h=a;switch(d){case"bigint":u=FN,h=a.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+d);h=null;break;case"undefined":return r([$N],a)}return r([u,h],a)}case tu:{if(d){let g=a;return d==="DataView"?g=new Uint8Array(a.buffer):d==="ArrayBuffer"&&(g=new Uint8Array(a)),r([d,[...g]],a)}const h=[],p=r([u,h],a);for(const g of a)h.push(o(g));return p}case nm:{if(d)switch(d){case"BigInt":return r([d,a.toString()],a);case"Boolean":case"Number":case"String":return r([d,a.valueOf()],a)}if(t&&"toJSON"in a)return o(a.toJSON());const h=[],p=r([u,h],a);for(const g of l9(a))(e||!tf(zc(a[g])))&&h.push([o(g),o(a[g])]);return p}case cv:return r([u,a.toISOString()],a);case uv:{const{source:h,flags:p}=a;return r([u,{source:h,flags:p}],a)}case dv:{const h=[],p=r([u,h],a);for(const[g,y]of a)(e||!(tf(zc(g))||tf(zc(y))))&&h.push([o(g),o(y)]);return p}case fv:{const h=[],p=r([u,h],a);for(const g of a)(e||!tf(zc(g)))&&h.push(o(g));return p}}const{message:m}=a;return r([u,{name:d,message:m}],a)};return o},_w=(e,{json:t,lossy:n}={})=>{const i=[];return c9(!(t||n),!!t,new Map,i)(e),i},im=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?bw(_w(e,t)):structuredClone(e):(e,t)=>bw(_w(e,t));function u9(e,t){const n=[{type:"text",value:"โ†ฉ"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function d9(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function f9(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||u9,i=e.options.footnoteBackLabel||d9,r=e.options.footnoteLabel||"Footnotes",o=e.options.footnoteLabelTagName||"h2",a=e.options.footnoteLabelProperties||{className:["sr-only"]},u=[];let d=-1;for(;++d0&&v.push({type:"text",value:" "});let w=typeof n=="string"?n:n(d,y);typeof w=="string"&&(w={type:"text",value:w}),v.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+g+(y>1?"-"+y:""),dataFootnoteBackref:"",ariaLabel:typeof i=="string"?i:i(d,y),className:["data-footnote-backref"]},children:Array.isArray(w)?w:[w]})}const S=h[h.length-1];if(S&&S.type==="element"&&S.tagName==="p"){const w=S.children[S.children.length-1];w&&w.type==="text"?w.value+=" ":S.children.push({type:"text",value:" "}),S.children.push(...v)}else h.push(...v);const _={type:"element",tagName:"li",properties:{id:t+"fn-"+g},children:e.wrap(h,!0)};e.patch(m,_),u.push(_)}if(u.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:o,properties:{...im(a),id:"footnote-label"},children:[{type:"text",value:r}]},{type:"text",value:` -`},{type:"element",tagName:"ol",properties:{},children:e.wrap(u,!0)},{type:"text",value:` -`}]}}const Hm=(function(e){if(e==null)return g9;if(typeof e=="function")return Fm(e);if(typeof e=="object")return Array.isArray(e)?m9(e):p9(e);if(typeof e=="string")return h9(e);throw new Error("Expected function, string, or object as test")});function m9(e){const t=[];let n=-1;for(;++n":""))+")"})}return g;function g(){let y=VN,v,k,S;if((!t||o(d,m,h[h.length-1]||void 0))&&(y=b9(n(d,h)),y[0]===Gy))return y;if("children"in d&&d.children){const _=d;if(_.children&&y[0]!==v9)for(k=(i?_.children.length:-1)+a,S=h.concat(_);k>-1&&k<_.children.length;){const w=_.children[k];if(v=u(w,k,S)(),v[0]===Gy)return v;k=typeof v[1]=="number"?v[1]:k+a}}return y}}}function b9(e){return Array.isArray(e)?e:typeof e=="number"?[y9,e]:e==null?VN:[e]}function mv(e,t,n,i){let r,o,a;typeof t=="function"&&typeof n!="function"?(o=void 0,a=t,r=n):(o=t,a=n,r=i),UN(e,o,u,r);function u(d,m){const h=m[m.length-1],p=h?h.children.indexOf(d):void 0;return a(d,p,h)}}const qy={}.hasOwnProperty,_9={};function k9(e,t){const n=t||_9,i=new Map,r=new Map,o=new Map,a={...s9,...n.handlers},u={all:m,applyData:w9,definitionById:i,footnoteById:r,footnoteCounts:o,footnoteOrder:[],handlers:a,one:d,options:n,patch:S9,wrap:j9};return mv(e,function(h){if(h.type==="definition"||h.type==="footnoteDefinition"){const p=h.type==="definition"?i:r,g=String(h.identifier).toUpperCase();p.has(g)||p.set(g,h)}}),u;function d(h,p){const g=h.type,y=u.handlers[g];if(qy.call(u.handlers,g)&&y)return y(u,h,p);if(u.options.passThrough&&u.options.passThrough.includes(g)){if("children"in h){const{children:k,...S}=h,_=im(S);return _.children=u.all(h),_}return im(h)}return(u.options.unknownHandler||C9)(u,h,p)}function m(h){const p=[];if("children"in h){const g=h.children;let y=-1;for(;++y0&&n.push({type:"text",value:` -`}),n}function kw(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function Sw(e,t){const n=k9(e,t),i=n.one(e,void 0),r=f9(n),o=Array.isArray(i)?{type:"root",children:i}:i||{type:"root",children:[]};return r&&o.children.push({type:"text",value:` -`},r),o}function E9(e,t){return e&&"run"in e?async function(n,i){const r=Sw(n,{file:i,...t});await e.run(r,i)}:function(n,i){return Sw(n,{file:i,...e||t})}}function ww(e){if(e)throw e}var Pg,Cw;function N9(){if(Cw)return Pg;Cw=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,n=Object.defineProperty,i=Object.getOwnPropertyDescriptor,r=function(m){return typeof Array.isArray=="function"?Array.isArray(m):t.call(m)==="[object Array]"},o=function(m){if(!m||t.call(m)!=="[object Object]")return!1;var h=e.call(m,"constructor"),p=m.constructor&&m.constructor.prototype&&e.call(m.constructor.prototype,"isPrototypeOf");if(m.constructor&&!h&&!p)return!1;var g;for(g in m);return typeof g>"u"||e.call(m,g)},a=function(m,h){n&&h.name==="__proto__"?n(m,h.name,{enumerable:!0,configurable:!0,value:h.newValue,writable:!0}):m[h.name]=h.newValue},u=function(m,h){if(h==="__proto__")if(e.call(m,h)){if(i)return i(m,h).value}else return;return m[h]};return Pg=function d(){var m,h,p,g,y,v,k=arguments[0],S=1,_=arguments.length,w=!1;for(typeof k=="boolean"&&(w=k,k=arguments[1]||{},S=2),(k==null||typeof k!="object"&&typeof k!="function")&&(k={});S<_;++S)if(m=arguments[S],m!=null)for(h in m)p=u(k,h),g=u(m,h),k!==g&&(w&&g&&(o(g)||(y=r(g)))?(y?(y=!1,v=p&&r(p)?p:[]):v=p&&o(p)?p:{},a(k,{name:h,newValue:d(w,v,g)})):typeof g<"u"&&a(k,{name:h,newValue:g}));return k},Pg}var I9=N9();const Bg=ta(I9);function Wy(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function T9(){const e=[],t={run:n,use:i};return t;function n(...r){let o=-1;const a=r.pop();if(typeof a!="function")throw new TypeError("Expected function as last argument, not "+a);u(null,...r);function u(d,...m){const h=e[++o];let p=-1;if(d){a(d);return}for(;++pa.length;let d;u&&a.push(r);try{d=e.apply(this,a)}catch(m){const h=m;if(u&&n)throw h;return r(h)}u||(d&&d.then&&typeof d.then=="function"?d.then(o,r):d instanceof Error?r(d):o(d))}function r(a,...u){n||(n=!0,t(a,...u))}function o(a){r(null,a)}}const Vr={basename:A9,dirname:M9,extname:D9,join:O9,sep:"/"};function A9(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');Mu(e);let n=0,i=-1,r=e.length,o;if(t===void 0||t.length===0||t.length>e.length){for(;r--;)if(e.codePointAt(r)===47){if(o){n=r+1;break}}else i<0&&(o=!0,i=r+1);return i<0?"":e.slice(n,i)}if(t===e)return"";let a=-1,u=t.length-1;for(;r--;)if(e.codePointAt(r)===47){if(o){n=r+1;break}}else a<0&&(o=!0,a=r+1),u>-1&&(e.codePointAt(r)===t.codePointAt(u--)?u<0&&(i=r):(u=-1,i=a));return n===i?i=a:i<0&&(i=e.length),e.slice(n,i)}function M9(e){if(Mu(e),e.length===0)return".";let t=-1,n=e.length,i;for(;--n;)if(e.codePointAt(n)===47){if(i){t=n;break}}else i||(i=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function D9(e){Mu(e);let t=e.length,n=-1,i=0,r=-1,o=0,a;for(;t--;){const u=e.codePointAt(t);if(u===47){if(a){i=t+1;break}continue}n<0&&(a=!0,n=t+1),u===46?r<0?r=t:o!==1&&(o=1):r>-1&&(o=-1)}return r<0||n<0||o===0||o===1&&r===n-1&&r===i+1?"":e.slice(r,n)}function O9(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function z9(e,t){let n="",i=0,r=-1,o=0,a=-1,u,d;for(;++a<=e.length;){if(a2){if(d=n.lastIndexOf("/"),d!==n.length-1){d<0?(n="",i=0):(n=n.slice(0,d),i=n.length-1-n.lastIndexOf("/")),r=a,o=0;continue}}else if(n.length>0){n="",i=0,r=a,o=0;continue}}t&&(n=n.length>0?n+"/..":"..",i=2)}else n.length>0?n+="/"+e.slice(r+1,a):n=e.slice(r+1,a),i=a-r-1;r=a,o=0}else u===46&&o>-1?o++:o=-1}return n}function Mu(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const P9={cwd:B9};function B9(){return"/"}function Yy(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function $9(e){if(typeof e=="string")e=new URL(e);else if(!Yy(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return H9(e)}function H9(e){if(e.hostname!==""){const i=new TypeError('File URL host must be "localhost" or empty on darwin');throw i.code="ERR_INVALID_FILE_URL_HOST",i}const t=e.pathname;let n=-1;for(;++n0){let[y,...v]=h;const k=i[g][1];Wy(k)&&Wy(y)&&(y=Bg(!0,k,y)),i[g]=[m,y,...v]}}}}const G9=new pv().freeze();function Vg(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function Ug(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function Gg(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Ew(e){if(!Wy(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function Nw(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function nf(e){return q9(e)?e:new GN(e)}function q9(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function W9(e){return typeof e=="string"||Y9(e)}function Y9(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const X9="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",Iw=[],Tw={allowDangerousHtml:!0},K9=/^(https?|ircs?|mailto|xmpp)$/i,Z9=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function Q9(e){const t=J9(e),n=e$(e);return t$(t.runSync(t.parse(n),n),e)}function J9(e){const t=e.rehypePlugins||Iw,n=e.remarkPlugins||Iw,i=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...Tw}:Tw;return G9().use(MB).use(n).use(E9,i).use(t)}function e$(e){const t=e.children||"",n=new GN;return typeof t=="string"&&(n.value=t),n}function t$(e,t){const n=t.allowedElements,i=t.allowElement,r=t.components,o=t.disallowedElements,a=t.skipHtml,u=t.unwrapDisallowed,d=t.urlTransform||n$;for(const h of Z9)Object.hasOwn(t,h.from)&&(""+h.from+(h.to?"use `"+h.to+"` instead":"remove it")+X9+h.id,void 0);return mv(e,m),gz(e,{Fragment:c.Fragment,components:r,ignoreInvalidStyle:!0,jsx:c.jsx,jsxs:c.jsxs,passKeys:!0,passNode:!0});function m(h,p,g){if(h.type==="raw"&&g&&typeof p=="number")return a?g.children.splice(p,1):g.children[p]={type:"text",value:h.value},p;if(h.type==="element"){let y;for(y in Og)if(Object.hasOwn(Og,y)&&Object.hasOwn(h.properties,y)){const v=h.properties[y],k=Og[y];(k===null||k.includes(h.tagName))&&(h.properties[y]=d(String(v||""),y,h))}}if(h.type==="element"){let y=n?!n.includes(h.tagName):o?o.includes(h.tagName):!1;if(!y&&i&&typeof p=="number"&&(y=!i(h,p,g)),y&&g&&typeof p=="number")return u&&h.children?g.children.splice(p,1,...h.children):g.children.splice(p,1),p}}}function n$(e){const t=e.indexOf(":"),n=e.indexOf("?"),i=e.indexOf("#"),r=e.indexOf("/");return t===-1||r!==-1&&t>r||n!==-1&&t>n||i!==-1&&t>i||K9.test(e.slice(0,t))?e:""}function Rw(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let i=0,r=n.indexOf(t);for(;r!==-1;)i++,r=n.indexOf(t,r+t.length);return i}function i$(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function r$(e,t,n){const r=Hm((n||{}).ignore||[]),o=s$(t);let a=-1;for(;++a0?{type:"text",value:I}:void 0),I===!1?g.lastIndex=N+1:(v!==N&&w.push({type:"text",value:m.value.slice(v,N)}),Array.isArray(I)?w.push(...I):I&&w.push(I),v=N+C[0].length,_=!0),!g.global)break;C=g.exec(m.value)}return _?(v?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],i=n.indexOf(")");const r=Rw(e,"(");let o=Rw(e,")");for(;i!==-1&&r>o;)e+=n.slice(0,i+1),n=n.slice(i+1),i=n.indexOf(")"),o++;return[e,n]}function qN(e,t){const n=e.input.charCodeAt(e.index-1);return(e.index===0||Yo(n)||Pm(n))&&(!t||n!==47)}WN.peek=N$;function b$(){this.buffer()}function _$(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function k$(){this.buffer()}function S$(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function w$(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Rr(this.sliceSerialize(e)).toLowerCase(),n.label=t}function C$(e){this.exit(e)}function j$(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Rr(this.sliceSerialize(e)).toLowerCase(),n.label=t}function E$(e){this.exit(e)}function N$(){return"["}function WN(e,t,n,i){const r=n.createTracker(i);let o=r.move("[^");const a=n.enter("footnoteReference"),u=n.enter("reference");return o+=r.move(n.safe(n.associationId(e),{after:"]",before:o})),u(),a(),o+=r.move("]"),o}function I$(){return{enter:{gfmFootnoteCallString:b$,gfmFootnoteCall:_$,gfmFootnoteDefinitionLabelString:k$,gfmFootnoteDefinition:S$},exit:{gfmFootnoteCallString:w$,gfmFootnoteCall:C$,gfmFootnoteDefinitionLabelString:j$,gfmFootnoteDefinition:E$}}}function T$(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:WN},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(i,r,o,a){const u=o.createTracker(a);let d=u.move("[^");const m=o.enter("footnoteDefinition"),h=o.enter("label");return d+=u.move(o.safe(o.associationId(i),{before:d,after:"]"})),h(),d+=u.move("]:"),i.children&&i.children.length>0&&(u.shift(4),d+=u.move((t?` -`:" ")+o.indentLines(o.containerFlow(i,u.current()),t?YN:R$))),m(),d}}function R$(e,t,n){return t===0?e:YN(e,t,n)}function YN(e,t,n){return(n?"":" ")+e}const A$=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];XN.peek=z$;function M$(){return{canContainEols:["delete"],enter:{strikethrough:O$},exit:{strikethrough:L$}}}function D$(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:A$}],handlers:{delete:XN}}}function O$(e){this.enter({type:"delete",children:[]},e)}function L$(e){this.exit(e)}function XN(e,t,n,i){const r=n.createTracker(i),o=n.enter("strikethrough");let a=r.move("~~");return a+=n.containerPhrasing(e,{...r.current(),before:a,after:"~"}),a+=r.move("~~"),o(),a}function z$(){return"~"}function P$(e){return e.length}function B$(e,t){const n=t||{},i=(n.align||[]).concat(),r=n.stringLength||P$,o=[],a=[],u=[],d=[];let m=0,h=-1;for(;++hm&&(m=e[h].length);++_d[_])&&(d[_]=C)}k.push(w)}a[h]=k,u[h]=S}let p=-1;if(typeof i=="object"&&"length"in i)for(;++pd[p]&&(d[p]=w),y[p]=w),g[p]=C}a.splice(1,0,g),u.splice(1,0,y),h=-1;const v=[];for(;++h "),o.shift(2);const a=n.indentLines(n.containerFlow(e,o.current()),F$);return r(),a}function F$(e,t,n){return">"+(n?"":" ")+e}function V$(e,t){return Mw(e,t.inConstruct,!0)&&!Mw(e,t.notInConstruct,!1)}function Mw(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let i=-1;for(;++ia&&(a=o):o=1,r=i+t.length,i=n.indexOf(t,r);return a}function G$(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function q$(e){const t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function W$(e,t,n,i){const r=q$(n),o=e.value||"",a=r==="`"?"GraveAccent":"Tilde";if(G$(e,n)){const p=n.enter("codeIndented"),g=n.indentLines(o,Y$);return p(),g}const u=n.createTracker(i),d=r.repeat(Math.max(U$(o,r)+1,3)),m=n.enter("codeFenced");let h=u.move(d);if(e.lang){const p=n.enter(`codeFencedLang${a}`);h+=u.move(n.safe(e.lang,{before:h,after:" ",encode:["`"],...u.current()})),p()}if(e.lang&&e.meta){const p=n.enter(`codeFencedMeta${a}`);h+=u.move(" "),h+=u.move(n.safe(e.meta,{before:h,after:` -`,encode:["`"],...u.current()})),p()}return h+=u.move(` -`),o&&(h+=u.move(o+` -`)),h+=u.move(d),m(),h}function Y$(e,t,n){return(n?"":" ")+e}function hv(e){const t=e.options.quote||'"';if(t!=='"'&&t!=="'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function X$(e,t,n,i){const r=hv(n),o=r==='"'?"Quote":"Apostrophe",a=n.enter("definition");let u=n.enter("label");const d=n.createTracker(i);let m=d.move("[");return m+=d.move(n.safe(n.associationId(e),{before:m,after:"]",...d.current()})),m+=d.move("]: "),u(),!e.url||/[\0- \u007F]/.test(e.url)?(u=n.enter("destinationLiteral"),m+=d.move("<"),m+=d.move(n.safe(e.url,{before:m,after:">",...d.current()})),m+=d.move(">")):(u=n.enter("destinationRaw"),m+=d.move(n.safe(e.url,{before:m,after:e.title?" ":` -`,...d.current()}))),u(),e.title&&(u=n.enter(`title${o}`),m+=d.move(" "+r),m+=d.move(n.safe(e.title,{before:m,after:r,...d.current()})),m+=d.move(r),u()),a(),m}function K$(e){const t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function yu(e){return"&#x"+e.toString(16).toUpperCase()+";"}function rm(e,t,n){const i=yl(e),r=yl(t);return i===void 0?r===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:r===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:i===1?r===void 0?{inside:!1,outside:!1}:r===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:r===void 0?{inside:!1,outside:!1}:r===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}KN.peek=Z$;function KN(e,t,n,i){const r=K$(n),o=n.enter("emphasis"),a=n.createTracker(i),u=a.move(r);let d=a.move(n.containerPhrasing(e,{after:r,before:u,...a.current()}));const m=d.charCodeAt(0),h=rm(i.before.charCodeAt(i.before.length-1),m,r);h.inside&&(d=yu(m)+d.slice(1));const p=d.charCodeAt(d.length-1),g=rm(i.after.charCodeAt(0),p,r);g.inside&&(d=d.slice(0,-1)+yu(p));const y=a.move(r);return o(),n.attentionEncodeSurroundingInfo={after:g.outside,before:h.outside},u+d+y}function Z$(e,t,n){return n.options.emphasis||"*"}function Q$(e,t){let n=!1;return mv(e,function(i){if("value"in i&&/\r?\n|\r/.test(i.value)||i.type==="break")return n=!0,Gy}),!!((!e.depth||e.depth<3)&&ov(e)&&(t.options.setext||n))}function J$(e,t,n,i){const r=Math.max(Math.min(6,e.depth||1),1),o=n.createTracker(i);if(Q$(e,n)){const h=n.enter("headingSetext"),p=n.enter("phrasing"),g=n.containerPhrasing(e,{...o.current(),before:` -`,after:` -`});return p(),h(),g+` -`+(r===1?"=":"-").repeat(g.length-(Math.max(g.lastIndexOf("\r"),g.lastIndexOf(` -`))+1))}const a="#".repeat(r),u=n.enter("headingAtx"),d=n.enter("phrasing");o.move(a+" ");let m=n.containerPhrasing(e,{before:"# ",after:` -`,...o.current()});return/^[\t ]/.test(m)&&(m=yu(m.charCodeAt(0))+m.slice(1)),m=m?a+" "+m:a,n.options.closeAtx&&(m+=" "+a),d(),u(),m}ZN.peek=e7;function ZN(e){return e.value||""}function e7(){return"<"}QN.peek=t7;function QN(e,t,n,i){const r=hv(n),o=r==='"'?"Quote":"Apostrophe",a=n.enter("image");let u=n.enter("label");const d=n.createTracker(i);let m=d.move("![");return m+=d.move(n.safe(e.alt,{before:m,after:"]",...d.current()})),m+=d.move("]("),u(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(u=n.enter("destinationLiteral"),m+=d.move("<"),m+=d.move(n.safe(e.url,{before:m,after:">",...d.current()})),m+=d.move(">")):(u=n.enter("destinationRaw"),m+=d.move(n.safe(e.url,{before:m,after:e.title?" ":")",...d.current()}))),u(),e.title&&(u=n.enter(`title${o}`),m+=d.move(" "+r),m+=d.move(n.safe(e.title,{before:m,after:r,...d.current()})),m+=d.move(r),u()),m+=d.move(")"),a(),m}function t7(){return"!"}JN.peek=n7;function JN(e,t,n,i){const r=e.referenceType,o=n.enter("imageReference");let a=n.enter("label");const u=n.createTracker(i);let d=u.move("![");const m=n.safe(e.alt,{before:d,after:"]",...u.current()});d+=u.move(m+"]["),a();const h=n.stack;n.stack=[],a=n.enter("reference");const p=n.safe(n.associationId(e),{before:d,after:"]",...u.current()});return a(),n.stack=h,o(),r==="full"||!m||m!==p?d+=u.move(p+"]"):r==="shortcut"?d=d.slice(0,-1):d+=u.move("]"),d}function n7(){return"!"}eI.peek=i7;function eI(e,t,n){let i=e.value||"",r="`",o=-1;for(;new RegExp("(^|[^`])"+r+"([^`]|$)").test(i);)r+="`";for(/[^ \r\n]/.test(i)&&(/^[ \r\n]/.test(i)&&/[ \r\n]$/.test(i)||/^`|`$/.test(i))&&(i=" "+i+" ");++o\u007F]/.test(e.url))}nI.peek=r7;function nI(e,t,n,i){const r=hv(n),o=r==='"'?"Quote":"Apostrophe",a=n.createTracker(i);let u,d;if(tI(e,n)){const h=n.stack;n.stack=[],u=n.enter("autolink");let p=a.move("<");return p+=a.move(n.containerPhrasing(e,{before:p,after:">",...a.current()})),p+=a.move(">"),u(),n.stack=h,p}u=n.enter("link"),d=n.enter("label");let m=a.move("[");return m+=a.move(n.containerPhrasing(e,{before:m,after:"](",...a.current()})),m+=a.move("]("),d(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(d=n.enter("destinationLiteral"),m+=a.move("<"),m+=a.move(n.safe(e.url,{before:m,after:">",...a.current()})),m+=a.move(">")):(d=n.enter("destinationRaw"),m+=a.move(n.safe(e.url,{before:m,after:e.title?" ":")",...a.current()}))),d(),e.title&&(d=n.enter(`title${o}`),m+=a.move(" "+r),m+=a.move(n.safe(e.title,{before:m,after:r,...a.current()})),m+=a.move(r),d()),m+=a.move(")"),u(),m}function r7(e,t,n){return tI(e,n)?"<":"["}iI.peek=s7;function iI(e,t,n,i){const r=e.referenceType,o=n.enter("linkReference");let a=n.enter("label");const u=n.createTracker(i);let d=u.move("[");const m=n.containerPhrasing(e,{before:d,after:"]",...u.current()});d+=u.move(m+"]["),a();const h=n.stack;n.stack=[],a=n.enter("reference");const p=n.safe(n.associationId(e),{before:d,after:"]",...u.current()});return a(),n.stack=h,o(),r==="full"||!m||m!==p?d+=u.move(p+"]"):r==="shortcut"?d=d.slice(0,-1):d+=u.move("]"),d}function s7(){return"["}function gv(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function o7(e){const t=gv(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function a7(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function rI(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function l7(e,t,n,i){const r=n.enter("list"),o=n.bulletCurrent;let a=e.ordered?a7(n):gv(n);const u=e.ordered?a==="."?")":".":o7(n);let d=t&&n.bulletLastUsed?a===n.bulletLastUsed:!1;if(!e.ordered){const h=e.children?e.children[0]:void 0;if((a==="*"||a==="-")&&h&&(!h.children||!h.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(d=!0),rI(n)===a&&h){let p=-1;for(;++p-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+o);let a=o.length+1;(r==="tab"||r==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(a=Math.ceil(a/4)*4);const u=n.createTracker(i);u.move(o+" ".repeat(a-o.length)),u.shift(a);const d=n.enter("listItem"),m=n.indentLines(n.containerFlow(e,u.current()),h);return d(),m;function h(p,g,y){return g?(y?"":" ".repeat(a))+p:(y?o:o+" ".repeat(a-o.length))+p}}function d7(e,t,n,i){const r=n.enter("paragraph"),o=n.enter("phrasing"),a=n.containerPhrasing(e,i);return o(),r(),a}const f7=Hm(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function m7(e,t,n,i){return(e.children.some(function(a){return f7(a)})?n.containerPhrasing:n.containerFlow).call(n,e,i)}function p7(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}sI.peek=h7;function sI(e,t,n,i){const r=p7(n),o=n.enter("strong"),a=n.createTracker(i),u=a.move(r+r);let d=a.move(n.containerPhrasing(e,{after:r,before:u,...a.current()}));const m=d.charCodeAt(0),h=rm(i.before.charCodeAt(i.before.length-1),m,r);h.inside&&(d=yu(m)+d.slice(1));const p=d.charCodeAt(d.length-1),g=rm(i.after.charCodeAt(0),p,r);g.inside&&(d=d.slice(0,-1)+yu(p));const y=a.move(r+r);return o(),n.attentionEncodeSurroundingInfo={after:g.outside,before:h.outside},u+d+y}function h7(e,t,n){return n.options.strong||"*"}function g7(e,t,n,i){return n.safe(e.value,i)}function x7(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function y7(e,t,n){const i=(rI(n)+(n.options.ruleSpaces?" ":"")).repeat(x7(n));return n.options.ruleSpaces?i.slice(0,-1):i}const oI={blockquote:H$,break:Dw,code:W$,definition:X$,emphasis:KN,hardBreak:Dw,heading:J$,html:ZN,image:QN,imageReference:JN,inlineCode:eI,link:nI,linkReference:iI,list:l7,listItem:u7,paragraph:d7,root:m7,strong:sI,text:g7,thematicBreak:y7};function v7(){return{enter:{table:b7,tableData:Ow,tableHeader:Ow,tableRow:k7},exit:{codeText:S7,table:_7,tableData:Xg,tableHeader:Xg,tableRow:Xg}}}function b7(e){const t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function _7(e){this.exit(e),this.data.inTable=void 0}function k7(e){this.enter({type:"tableRow",children:[]},e)}function Xg(e){this.exit(e)}function Ow(e){this.enter({type:"tableCell",children:[]},e)}function S7(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,w7));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function w7(e,t){return t==="|"?t:e}function C7(e){const t=e||{},n=t.tableCellPadding,i=t.tablePipeAlign,r=t.stringLength,o=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:` -`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:g,table:a,tableCell:d,tableRow:u}};function a(y,v,k,S){return m(h(y,k,S),y.align)}function u(y,v,k,S){const _=p(y,k,S),w=m([_]);return w.slice(0,w.indexOf(` -`))}function d(y,v,k,S){const _=k.enter("tableCell"),w=k.enter("phrasing"),C=k.containerPhrasing(y,{...S,before:o,after:o});return w(),_(),C}function m(y,v){return B$(y,{align:v,alignDelimiters:i,padding:n,stringLength:r})}function h(y,v,k){const S=y.children;let _=-1;const w=[],C=v.enter("table");for(;++_0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const V7={tokenize:Z7,partial:!0};function U7(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:Y7,continuation:{tokenize:X7},exit:K7}},text:{91:{name:"gfmFootnoteCall",tokenize:W7},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:G7,resolveTo:q7}}}}function G7(e,t,n){const i=this;let r=i.events.length;const o=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);let a;for(;r--;){const d=i.events[r][1];if(d.type==="labelImage"){a=d;break}if(d.type==="gfmFootnoteCall"||d.type==="labelLink"||d.type==="label"||d.type==="image"||d.type==="link")break}return u;function u(d){if(!a||!a._balanced)return n(d);const m=Rr(i.sliceSerialize({start:a.end,end:i.now()}));return m.codePointAt(0)!==94||!o.includes(m.slice(1))?n(d):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),t(d))}}function q7(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const i={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},r={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};r.end.column++,r.end.offset++,r.end._bufferIndex++;const o={type:"gfmFootnoteCallString",start:Object.assign({},r.end),end:Object.assign({},e[e.length-1][1].start)},a={type:"chunkString",contentType:"string",start:Object.assign({},o.start),end:Object.assign({},o.end)},u=[e[n+1],e[n+2],["enter",i,t],e[n+3],e[n+4],["enter",r,t],["exit",r,t],["enter",o,t],["enter",a,t],["exit",a,t],["exit",o,t],e[e.length-2],e[e.length-1],["exit",i,t]];return e.splice(n,e.length-n+1,...u),e}function W7(e,t,n){const i=this,r=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);let o=0,a;return u;function u(p){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(p),e.exit("gfmFootnoteCallLabelMarker"),d}function d(p){return p!==94?n(p):(e.enter("gfmFootnoteCallMarker"),e.consume(p),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",m)}function m(p){if(o>999||p===93&&!a||p===null||p===91||pn(p))return n(p);if(p===93){e.exit("chunkString");const g=e.exit("gfmFootnoteCallString");return r.includes(Rr(i.sliceSerialize(g)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(p),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(p)}return pn(p)||(a=!0),o++,e.consume(p),p===92?h:m}function h(p){return p===91||p===92||p===93?(e.consume(p),o++,m):m(p)}}function Y7(e,t,n){const i=this,r=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);let o,a=0,u;return d;function d(v){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(v),e.exit("gfmFootnoteDefinitionLabelMarker"),m}function m(v){return v===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(v),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",h):n(v)}function h(v){if(a>999||v===93&&!u||v===null||v===91||pn(v))return n(v);if(v===93){e.exit("chunkString");const k=e.exit("gfmFootnoteDefinitionLabelString");return o=Rr(i.sliceSerialize(k)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(v),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),g}return pn(v)||(u=!0),a++,e.consume(v),v===92?p:h}function p(v){return v===91||v===92||v===93?(e.consume(v),a++,h):h(v)}function g(v){return v===58?(e.enter("definitionMarker"),e.consume(v),e.exit("definitionMarker"),r.includes(o)||r.push(o),Vt(e,y,"gfmFootnoteDefinitionWhitespace")):n(v)}function y(v){return t(v)}}function X7(e,t,n){return e.check(Au,t,e.attempt(V7,t,n))}function K7(e){e.exit("gfmFootnoteDefinition")}function Z7(e,t,n){const i=this;return Vt(e,r,"gfmFootnoteDefinitionIndent",5);function r(o){const a=i.events[i.events.length-1];return a&&a[1].type==="gfmFootnoteDefinitionIndent"&&a[2].sliceSerialize(a[1],!0).length===4?t(o):n(o)}}function Q7(e){let n=(e||{}).singleTilde;const i={name:"strikethrough",tokenize:o,resolveAll:r};return n==null&&(n=!0),{text:{126:i},insideSpan:{null:[i]},attentionMarkers:{null:[126]}};function r(a,u){let d=-1;for(;++d1?d(v):(a.consume(v),p++,y);if(p<2&&!n)return d(v);const S=a.exit("strikethroughSequenceTemporary"),_=yl(v);return S._open=!_||_===2&&!!k,S._close=!k||k===2&&!!_,u(v)}}}class J7{constructor(){this.map=[]}add(t,n,i){eH(this,t,n,i)}consume(t){if(this.map.sort(function(o,a){return o[0]-a[0]}),this.map.length===0)return;let n=this.map.length;const i=[];for(;n>0;)n-=1,i.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];i.push(t.slice()),t.length=0;let r=i.pop();for(;r;){for(const o of r)t.push(o);r=i.pop()}this.map.length=0}}function eH(e,t,n,i){let r=0;if(!(n===0&&i.length===0)){for(;r-1;){const B=i.events[M][1].type;if(B==="lineEnding"||B==="linePrefix")M--;else break}const $=M>-1?i.events[M][1].type:null,W=$==="tableHead"||$==="tableRow"?I:d;return W===I&&i.parser.lazy[i.now().line]?n(A):W(A)}function d(A){return e.enter("tableHead"),e.enter("tableRow"),m(A)}function m(A){return A===124||(a=!0,o+=1),h(A)}function h(A){return A===null?n(A):ct(A)?o>1?(o=0,i.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),y):n(A):Mt(A)?Vt(e,h,"whitespace")(A):(o+=1,a&&(a=!1,r+=1),A===124?(e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),a=!0,h):(e.enter("data"),p(A)))}function p(A){return A===null||A===124||pn(A)?(e.exit("data"),h(A)):(e.consume(A),A===92?g:p)}function g(A){return A===92||A===124?(e.consume(A),p):p(A)}function y(A){return i.interrupt=!1,i.parser.lazy[i.now().line]?n(A):(e.enter("tableDelimiterRow"),a=!1,Mt(A)?Vt(e,v,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(A):v(A))}function v(A){return A===45||A===58?S(A):A===124?(a=!0,e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),k):O(A)}function k(A){return Mt(A)?Vt(e,S,"whitespace")(A):S(A)}function S(A){return A===58?(o+=1,a=!0,e.enter("tableDelimiterMarker"),e.consume(A),e.exit("tableDelimiterMarker"),_):A===45?(o+=1,_(A)):A===null||ct(A)?N(A):O(A)}function _(A){return A===45?(e.enter("tableDelimiterFiller"),w(A)):O(A)}function w(A){return A===45?(e.consume(A),w):A===58?(a=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(A),e.exit("tableDelimiterMarker"),C):(e.exit("tableDelimiterFiller"),C(A))}function C(A){return Mt(A)?Vt(e,N,"whitespace")(A):N(A)}function N(A){return A===124?v(A):A===null||ct(A)?!a||r!==o?O(A):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(A)):O(A)}function O(A){return n(A)}function I(A){return e.enter("tableRow"),D(A)}function D(A){return A===124?(e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),D):A===null||ct(A)?(e.exit("tableRow"),t(A)):Mt(A)?Vt(e,D,"whitespace")(A):(e.enter("data"),T(A))}function T(A){return A===null||A===124||pn(A)?(e.exit("data"),D(A)):(e.consume(A),A===92?L:T)}function L(A){return A===92||A===124?(e.consume(A),T):T(A)}}function rH(e,t){let n=-1,i=!0,r=0,o=[0,0,0,0],a=[0,0,0,0],u=!1,d=0,m,h,p;const g=new J7;for(;++nn[2]+1){const v=n[2]+1,k=n[3]-n[2]-1;e.add(v,k,[])}}e.add(n[3]+1,0,[["exit",p,t]])}return r!==void 0&&(o.end=Object.assign({},Qa(t.events,r)),e.add(r,0,[["exit",o,t]]),o=void 0),o}function zw(e,t,n,i,r){const o=[],a=Qa(t.events,n);r&&(r.end=Object.assign({},a),o.push(["exit",r,t])),i.end=Object.assign({},a),o.push(["exit",i,t]),e.add(n+1,0,o)}function Qa(e,t){const n=e[t],i=n[0]==="enter"?"start":"end";return n[1][i]}const sH={name:"tasklistCheck",tokenize:aH};function oH(){return{text:{91:sH}}}function aH(e,t,n){const i=this;return r;function r(d){return i.previous!==null||!i._gfmTasklistFirstContentOfListItem?n(d):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(d),e.exit("taskListCheckMarker"),o)}function o(d){return pn(d)?(e.enter("taskListCheckValueUnchecked"),e.consume(d),e.exit("taskListCheckValueUnchecked"),a):d===88||d===120?(e.enter("taskListCheckValueChecked"),e.consume(d),e.exit("taskListCheckValueChecked"),a):n(d)}function a(d){return d===93?(e.enter("taskListCheckMarker"),e.consume(d),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),u):n(d)}function u(d){return ct(d)?t(d):Mt(d)?e.check({tokenize:lH},t,n)(d):n(d)}}function lH(e,t,n){return Vt(e,i,"whitespace");function i(r){return r===null?n(r):t(r)}}function cH(e){return CN([D7(),U7(),Q7(e),nH(),oH()])}const uH={};function dH(e){const t=this,n=e||uH,i=t.data(),r=i.micromarkExtensions||(i.micromarkExtensions=[]),o=i.fromMarkdownExtensions||(i.fromMarkdownExtensions=[]),a=i.toMarkdownExtensions||(i.toMarkdownExtensions=[]);r.push(cH(n)),o.push(T7()),a.push(R7(n))}const fH=30,Kg=10;function mH({className:e,children:t}){const[n,i]=E.useState(!1),[r,o]=E.useState(!1),a=String(t).replace(/\n$/,""),u=e?.replace("language-","")||"",d=a.split(` -`),m=d.length>fH,h=m?d.length-Kg*2:0,p=E.useCallback(()=>{navigator.clipboard.writeText(a),i(!0),setTimeout(()=>i(!1),1500)},[a]);return c.jsxs("div",{className:"code-block-wrap",children:[c.jsxs("div",{className:"code-block-header",children:[c.jsxs("span",{className:"code-block-lang",children:[u||"code",m?` (${d.length} lines)`:""]}),c.jsx("button",{className:"code-block-copy",onClick:p,children:n?c.jsxs(c.Fragment,{children:[c.jsx(Nl,{})," ",c.jsx("span",{children:"Copied"})]}):c.jsxs(c.Fragment,{children:[c.jsx(Cm,{})," ",c.jsx("span",{children:"Copy"})]})})]}),c.jsx("pre",{children:c.jsx("code",{className:e,children:m&&!r?c.jsxs(c.Fragment,{children:[d.slice(0,Kg).join(` -`)+` -`,c.jsxs("span",{className:"code-block-omitted",onClick:()=>o(!0),children:["... +",h," lines (click to expand)"]}),` -`+d.slice(-Kg).join(` -`)]}):a})}),m&&r&&c.jsxs("button",{className:"code-block-collapse-btn",onClick:()=>o(!1),children:["Collapse (",d.length," lines)"]})]})}const pH={code({className:e,children:t,...n}){return e?.startsWith("language-")?c.jsx(mH,{className:e,children:t}):c.jsx("code",{className:e,...n,children:t})}},hH=3e3,gH=60,Zg=800;function Pw(e){if(e.length>hH)return!0;let t=0;for(let n=0;n=gH)return!0;return!1}function xH(e){const t=e.lastIndexOf(` -`,Zg);return e.slice(0,t>Zg/2?t:Zg)}const ti=St.memo(function({content:t,className:n="msg-content-agent",collapseMode:i="auto"}){const r=i!=="never"&&Pw(t),[o,a]=E.useState(r);E.useEffect(()=>{a(i!=="never"&&Pw(t))},[i,t]);const u=o?xH(t):t,d=t.split(` -`).length,m=t.length;return c.jsxs("div",{className:n,children:[c.jsx(Q9,{remarkPlugins:[dH],components:pH,children:u}),r&&o&&c.jsxs("button",{className:"msg-collapse-toggle",onClick:()=>a(!1),children:["Show more (",d," lines, ",(m/1e3).toFixed(1),"k chars)"]}),r&&!o&&c.jsx("button",{className:"msg-collapse-toggle",onClick:()=>a(!0),children:"Show less"})]})}),Bw={native:"OpenOPC Native",codex:"Codex",claude_code:"Claude Code",cursor:"Cursor",opencode:"OpenCode"},vu="codex",Qg="native",yH=["codex","native","claude_code","cursor","opencode"],vH=["native","codex","claude_code","cursor","opencode"];function hI(e){if(!e)return{kind:"fallback"};if(e.kind==="employee"){const t=String(e.id??e.employee_id??"").trim();return t?{kind:"employee",id:t}:{kind:"fallback"}}if(e.kind==="template"){const t=String(e.id??e.template_id??"").trim();return t?{kind:"template",id:t}:{kind:"fallback"}}return{kind:"fallback"}}function gI(e){const t=hI(e);return t.kind==="fallback"?"fallback:":`${t.kind}:${t.id??""}`}function bH(e,t,n){const i=String(e.role_id??"").trim(),r=String(e.role_label??"").trim(),o=`${i} ${r} ${e.role_responsibility??""}`.toLowerCase(),a=new Set((e.same_role_employee_ids??[]).map(m=>String(m??"").trim()).filter(Boolean)),u=t.map(m=>{const h=String(m.employee_id??"").trim(),p=String(m.employee_name??h).trim()||h,g=String(m.role_id??"").trim(),y=String(m.category??"").trim(),v=[g,y].filter(Boolean).join(" ยท ")||h;return{kind:"employee",id:h,name:p,subtitle:v,category:y,searchText:`${h} ${p} ${g} ${y} ${(m.domains??[]).join(" ")} ${(m.tags??[]).join(" ")}`.toLowerCase(),rank:a.has(h)||g===i?0:2}}).filter(m=>m.id).sort((m,h)=>m.rank-h.rank||m.name.localeCompare(h.name)),d=n.map(m=>{const h=String(m.template_id??"").trim(),p=String(m.template_name??h).trim()||h,g=String(m.category??"").trim(),y=[g,h].filter(Boolean).join(" ยท ")||h,v=`${h} ${p} ${g} ${(m.domains??[]).join(" ")} ${(m.tags??[]).join(" ")}`.toLowerCase(),k=o.split(/[^a-z0-9]+/).filter(S=>S.length>=3).reduce((S,_)=>S+(v.includes(_)?1:0),0);return{kind:"template",id:h,name:p,subtitle:y,category:g,searchText:v,rank:k}}).filter(m=>m.id).sort((m,h)=>h.rank-m.rank||m.name.localeCompare(h.name));return[...u,...d,{kind:"fallback",id:"",name:"Fallback role-only",subtitle:"No employee override",category:"fallback",searchText:"fallback role only no employee override"}]}function _H(e,t){const n=gI(t);return e.find(i=>`${i.kind}:${i.id}`===n)??e[0]}function kH(e,t){const n=t.toLowerCase().split(/\s+/).filter(Boolean);return n.length===0?!0:n.every(i=>e.searchText.includes(i))}function SH(e){return e.map(t=>{const n=String(t.role_id??"").trim(),i=String(t.existing_employee?.employee_id??"").trim(),r=String(t.candidate?.template_id??"").trim(),o=i?{kind:"employee",id:i}:r?{kind:"template",id:r}:{kind:"fallback"};return{role_id:n,role_label:t.role_labels?.[0]??n,role_responsibility:"",default_selection:o,same_role_employee_ids:t.existing_employee_ids??[],fallback_available:!0,default_agent:t.default_agent??vu,selected_agent:t.selected_agent??t.default_agent??vu,default_source:"recruitment"}}).filter(t=>t.role_id)}function wH(e,t){return t.kind==="template"&&e?.candidate?.template_id===t.id?e.candidate.proposed_name||e.candidate.template_name||t.name:t.kind==="employee"&&e?.existing_employee?.employee_id===t.id&&e.existing_employee.employee_name||t.name}function $w(e,t){const n={},i=e.staffing_selections??{};for(const r of t){const o=String(r.role_id??"").trim();o&&(n[o]=hI(i[o]??r.default_selection))}return n}function Hw(e,t){const n=e.recruitment_role_agents??{},i={};for(const r of t){const o=String(r.role_id??"").trim();o&&(i[o]=n[o]??r.selected_agent??r.default_agent??vu)}return i}function CH(e){return!!(String(e.checkpoint_response_message_id??"").trim()||String(e.checkpoint_responded_at??"").trim()||String(e.checkpoint_reply_kind??"").trim())}const xI=St.memo(function({meta:t,onReply:n,responded:i}){const r=t.proposals??[],o=E.useMemo(()=>{const L={};for(const A of r){const M=String(A.role_id??"").trim();M&&(L[M]=A)}return L},[r]),a=E.useMemo(()=>t.staffing_roles?.length?t.staffing_roles:SH(r),[t.staffing_roles,r]),u=t.staffing_pool?.employees??[],d=t.staffing_pool?.templates??[],m=t.recruitment_rationales??[],h=E.useMemo(()=>{const L={};for(const A of a){const M=String(A.role_id??"").trim();M&&(L[M]=bH(A,u,d))}return L},[u,a,d]),[p,g]=E.useState({}),[y,v]=E.useState(""),[k,S]=E.useState(()=>$w(t,a)),[_,w]=E.useState(()=>Hw(t,a)),[C,N]=E.useState(t.recruitment_agent??Qg),O=i;E.useEffect(()=>{!O||!CH(t)||(S($w(t,a)),w(Hw(t,a)),N(t.recruitment_agent??Qg))},[O,t,a]),E.useEffect(()=>{N(t.recruitment_agent??Qg)},[t.recruitment_agent]);const I=E.useCallback(L=>{const A=String(t.checkpoint_id??"").trim();if(!A)throw new Error("Recruitment checkpoint reply requires checkpoint_id metadata.");const M=String(t.checkpoint_type??"").trim();return{response_to_checkpoint_id:A,response_to_checkpoint_type:M||"company_recruitment_confirmation",checkpoint_reply_kind:L,staffing_selections:k,recruitment_agent:C,recruitment_role_agents:a.reduce(($,W)=>{const B=String(W.role_id??"").trim();return B&&($[B]=_[B]??W.selected_agent??W.default_agent??vu),$},{})}},[t.checkpoint_id,t.checkpoint_type,C,_,a,k]),D=E.useCallback(()=>{O||n("approve",I("approve"))},[I,O,n]),T=E.useCallback(()=>{O||!y.trim()||(n(y.trim(),I("feedback")),v(""))},[I,O,y,n]);return c.jsxs("div",{className:"ckpt-panel ckpt-recruitment",children:[c.jsxs("div",{className:"ckpt-header",children:[c.jsx("div",{className:"ckpt-icon ckpt-icon-recruit",children:c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[c.jsx("circle",{cx:"6",cy:"5",r:"3"}),c.jsx("path",{d:"M2 14c0-2.2 1.8-4 4-4s4 1.8 4 4"}),c.jsx("path",{d:"M12 5v4M10 7h4"})]})}),c.jsx("div",{className:"ckpt-title",children:"Recruitment Review"}),c.jsx("span",{className:"ckpt-badge ckpt-badge-profile",children:t.company_profile||"corporate"}),O&&c.jsx("span",{className:"ckpt-badge ckpt-badge-responded",children:"Responded"})]}),t.summary&&c.jsx("div",{className:"ckpt-summary",children:t.summary}),c.jsxs("div",{className:"ckpt-recruiter-agent",children:[c.jsx("label",{className:"ckpt-agent-label",htmlFor:`recruitment-recruiter-agent-${t.checkpoint_id}`,children:"Recruiter Agent"}),c.jsx("select",{id:`recruitment-recruiter-agent-${t.checkpoint_id}`,className:"ckpt-agent-select",value:C,onChange:L=>N(L.target.value),disabled:O,children:vH.map(L=>c.jsx("option",{value:L,children:Bw[L]},L))})]}),m.length>0&&c.jsx("div",{className:"ckpt-recruitment-reasons",children:m.map(L=>c.jsxs("div",{className:"ckpt-recruitment-reason",children:[c.jsxs("div",{className:"ckpt-proposal-header",children:[c.jsx("span",{className:"ckpt-role-name",children:L.role_id}),L.role_label&&L.role_label!==L.role_id&&c.jsx("span",{className:"ckpt-field-tag",children:L.role_label}),L.selection_label&&c.jsx("span",{className:"ckpt-badge ckpt-badge-template",children:L.selection_label})]}),L.rationale&&c.jsx("div",{className:"ckpt-rationale",children:L.rationale})]},L.role_id))}),c.jsx("div",{className:"ckpt-staffing-grid",children:a.map(L=>{const A=String(L.role_id??"").trim(),M=h[A]??[{kind:"fallback",id:"",name:"Fallback role-only",subtitle:"No employee override",category:"fallback",searchText:"fallback role only no employee override"}],$=_H(M,k[A]),W=o[A],B=p[A]??"",U=M.filter(F=>kH(F,B)).slice(0,8);return c.jsxs("div",{className:"ckpt-staffing-card",children:[c.jsxs("div",{className:"ckpt-proposal-header",children:[c.jsx("span",{className:"ckpt-role-name",children:A}),c.jsx("span",{className:`ckpt-badge ckpt-badge-${$.kind}`,children:$.kind})]}),L.role_label&&L.role_label!==A&&c.jsx("div",{className:"ckpt-role-labels",children:c.jsx("span",{className:"ckpt-field-tag",children:L.role_label})}),c.jsxs("div",{className:"ckpt-staffing-selected",children:[c.jsx("div",{className:"ckpt-cand-name",children:wH(W,$)}),c.jsxs("div",{className:"ckpt-cand-meta",children:[c.jsx("span",{className:"ckpt-cand-category",children:$.category}),c.jsx("span",{className:"ckpt-domain-tag",children:$.subtitle})]})]}),c.jsx("input",{className:"ckpt-staffing-search",value:B,onChange:F=>g(V=>({...V,[A]:F.target.value})),placeholder:"Search employees or templates...",disabled:O}),c.jsx("div",{className:"ckpt-staffing-options",children:U.map(F=>{const V=`${F.kind}:${F.id}`===gI(k[A]);return c.jsxs("button",{className:`ckpt-staffing-option${V?" active":""}`,onClick:()=>S(Y=>({...Y,[A]:{kind:F.kind,id:F.id}})),disabled:O,title:F.subtitle,children:[c.jsx("span",{className:"ckpt-staffing-option-kind",children:F.kind}),c.jsx("span",{className:"ckpt-staffing-option-name",children:F.name})]},`${F.kind}:${F.id}`)})}),c.jsxs("div",{className:"ckpt-agent-picker",children:[c.jsx("label",{className:"ckpt-agent-label",htmlFor:`recruit-agent-${t.checkpoint_id}-${A}`,children:"Execution Agent"}),c.jsx("select",{id:`recruit-agent-${t.checkpoint_id}-${A}`,className:"ckpt-agent-select",value:_[A]??L.selected_agent??L.default_agent??vu,onChange:F=>w(V=>({...V,[A]:F.target.value})),disabled:O,children:yH.map(F=>c.jsx("option",{value:F,children:Bw[F]},F))})]})]},A)})}),!O&&c.jsxs("div",{className:"ckpt-actions ckpt-actions-inline-feedback",children:[c.jsx("button",{className:"ckpt-btn ckpt-btn-approve",onClick:D,children:"Approve"}),c.jsx("textarea",{className:"ckpt-feedback-input ckpt-feedback-inline-input",placeholder:"Feedback to refine recruitment...",value:y,onChange:L=>v(L.target.value),rows:2}),c.jsx("button",{className:"ckpt-btn ckpt-btn-feedback",onClick:T,disabled:!y.trim(),children:"Send Feedback"})]})]})}),Fw={native:"OpenOPC Native",codex:"Codex",claude_code:"Claude Code",cursor:"Cursor",opencode:"OpenCode"},Ky="codex",Jg="native",jH=["codex","native","claude_code","cursor","opencode"],EH=["native","codex","claude_code","cursor","opencode"];function yI(e){if(!e)return{kind:"fallback"};if(e.kind==="employee"){const t=String(e.id??e.employee_id??"").trim();return t?{kind:"employee",id:t}:{kind:"fallback"}}if(e.kind==="template"){const t=String(e.id??e.template_id??"").trim();return t?{kind:"template",id:t}:{kind:"fallback"}}return{kind:"fallback"}}function vI(e){const t=yI(e);return t.kind==="fallback"?"fallback:":`${t.kind}:${t.id??""}`}function NH(e,t,n){const i=String(e.role_id??"").trim(),r=String(e.role_label??"").trim(),o=`${i} ${r} ${e.role_responsibility??""}`.toLowerCase(),a=new Set((e.same_role_employee_ids??[]).map(h=>String(h??"").trim()).filter(Boolean)),u=h=>{const p=`${h.template_id??""} ${h.template_name??""} ${h.category??""} ${(h.domains??[]).join(" ")} ${(h.tags??[]).join(" ")}`.toLowerCase(),g=String(h.category??"").toLowerCase();let y=0;for(const v of o.split(/[^a-z0-9]+/).filter(k=>k.length>=3))(p.includes(v)||g&&v.includes(g))&&(y+=1);return(p.includes(i.replace(/_/g,"-"))||p.includes(i.replace(/_/g," ")))&&(y+=2),y},d=t.map(h=>{const p=String(h.employee_id??"").trim(),g=String(h.employee_name??p).trim()||p,y=String(h.role_id??"").trim(),v=String(h.category??"").trim(),k=[y,v].filter(Boolean).join(" ยท ")||p;return{kind:"employee",id:p,name:g,subtitle:k,category:v,searchText:`${p} ${g} ${y} ${v} ${(h.domains??[]).join(" ")} ${(h.tags??[]).join(" ")}`.toLowerCase(),rank:a.has(p)||y===i?0:2}}).filter(h=>h.id).sort((h,p)=>h.rank-p.rank||h.name.localeCompare(p.name)),m=n.map(h=>{const p=String(h.template_id??"").trim(),g=String(h.template_name??p).trim()||p,y=String(h.category??"").trim(),v=[y,p].filter(Boolean).join(" ยท ")||p;return{kind:"template",id:p,name:g,subtitle:v,category:y,searchText:`${p} ${g} ${y} ${(h.domains??[]).join(" ")} ${(h.tags??[]).join(" ")}`.toLowerCase(),rank:u(h)}}).filter(h=>h.id).sort((h,p)=>p.rank-h.rank||h.name.localeCompare(p.name));return[...d,...m,{kind:"fallback",id:"",name:"Fallback role-only",subtitle:"No employee override",category:"fallback",searchText:"fallback role only no employee override"}]}function IH(e,t){const n=vI(t);return e.find(i=>`${i.kind}:${i.id}`===n)??e[0]}function TH(e,t){const n=t.toLowerCase().split(/\s+/).filter(Boolean);return n.length===0?!0:n.every(i=>e.searchText.includes(i))}function Vw(e,t){const n={},i=e.staffing_selections??{};for(const r of t){const o=String(r.role_id??"").trim();o&&(n[o]=yI(i[o]??r.default_selection))}return n}function Uw(e,t){const n=e.recruitment_role_agents??{},i={};for(const r of t){const o=String(r.role_id??"").trim();o&&(i[o]=n[o]??r.selected_agent??r.default_agent??Ky)}return i}function RH(e){return!!(String(e.checkpoint_response_message_id??"").trim()||String(e.checkpoint_responded_at??"").trim()||String(e.staffing_action??"").trim())}const bI=St.memo(function({meta:t,onReply:n,responded:i}){const r=E.useMemo(()=>t.staffing_roles??[],[t.staffing_roles]),o=t.staffing_pool?.employees??[],a=t.staffing_pool?.templates??[],u=E.useMemo(()=>{const O={};for(const I of r){const D=String(I.role_id??"").trim();D&&(O[D]=NH(I,o,a))}return O},[o,r,a]),[d,m]=E.useState({}),[h,p]=E.useState(()=>Vw(t,r)),[g,y]=E.useState(()=>Uw(t,r)),[v,k]=E.useState(t.recruitment_agent??Jg),S=i,_=t.recommended_action==="auto_recruit"&&a.length>0;E.useEffect(()=>{!S||!RH(t)||(p(Vw(t,r)),y(Uw(t,r)),k(t.recruitment_agent??Jg))},[S,t,r]),E.useEffect(()=>{k(t.recruitment_agent??Jg)},[t.recruitment_agent]);const w=E.useCallback(O=>{const I=String(t.checkpoint_id??"").trim();if(!I)throw new Error("Staffing checkpoint reply requires checkpoint_id metadata.");return{response_to_checkpoint_id:I,response_to_checkpoint_type:"company_staffing_selection",staffing_action:O,staffing_selections:h,recruitment_agent:v,recruitment_role_agents:r.reduce((D,T)=>{const L=String(T.role_id??"").trim();return L&&(D[L]=g[L]??T.selected_agent??T.default_agent??Ky),D},{})}},[t.checkpoint_id,v,g,r,h]),C=E.useCallback(()=>{S||n("approve",w("manual_approve"))},[w,S,n]),N=E.useCallback(()=>{S||n("auto recruit",w("auto_recruit"))},[w,S,n]);return c.jsxs("div",{className:"ckpt-panel ckpt-staffing",children:[c.jsxs("div",{className:"ckpt-header",children:[c.jsx("div",{className:"ckpt-icon ckpt-icon-staffing",children:c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[c.jsx("path",{d:"M6 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"}),c.jsx("path",{d:"M1.5 14c.6-2.5 2.2-4 4.5-4s3.9 1.5 4.5 4"}),c.jsx("path",{d:"M12.5 3.5v5M10 6h5"})]})}),c.jsx("div",{className:"ckpt-title",children:"Manual Staffing"}),c.jsx("span",{className:"ckpt-badge ckpt-badge-profile",children:t.company_profile||"corporate"}),_&&!S&&c.jsx("span",{className:"ckpt-badge ckpt-badge-scope",children:"Recruit recommended"}),S&&c.jsx("span",{className:"ckpt-badge ckpt-badge-responded",children:"Responded"})]}),t.summary&&c.jsx("div",{className:"ckpt-summary",children:t.summary}),c.jsxs("div",{className:"ckpt-recruiter-agent",children:[c.jsx("label",{className:"ckpt-agent-label",htmlFor:`staffing-recruiter-agent-${t.checkpoint_id}`,children:"Recruiter Agent"}),c.jsx("select",{id:`staffing-recruiter-agent-${t.checkpoint_id}`,className:"ckpt-agent-select",value:v,onChange:O=>k(O.target.value),disabled:S,children:EH.map(O=>c.jsx("option",{value:O,children:Fw[O]},O))})]}),c.jsx("div",{className:"ckpt-staffing-grid",children:r.map(O=>{const I=String(O.role_id??"").trim(),D=u[I]??[{kind:"fallback",id:"",name:"Fallback role-only",subtitle:"No employee override",category:"fallback",searchText:"fallback role only no employee override"}],T=IH(D,h[I]),L=d[I]??"",A=D.filter(M=>TH(M,L)).slice(0,8);return c.jsxs("div",{className:"ckpt-staffing-card",children:[c.jsxs("div",{className:"ckpt-proposal-header",children:[c.jsx("span",{className:"ckpt-role-name",children:I}),c.jsx("span",{className:`ckpt-badge ckpt-badge-${T.kind}`,children:T.kind})]}),O.role_label&&O.role_label!==I&&c.jsx("div",{className:"ckpt-role-labels",children:c.jsx("span",{className:"ckpt-field-tag",children:O.role_label})}),c.jsxs("div",{className:"ckpt-staffing-selected",children:[c.jsx("div",{className:"ckpt-cand-name",children:T.name}),c.jsxs("div",{className:"ckpt-cand-meta",children:[c.jsx("span",{className:"ckpt-cand-category",children:T.category}),c.jsx("span",{className:"ckpt-domain-tag",children:T.subtitle})]})]}),c.jsx("input",{className:"ckpt-staffing-search",value:L,onChange:M=>m($=>({...$,[I]:M.target.value})),placeholder:"Search employees or templates...",disabled:S}),c.jsx("div",{className:"ckpt-staffing-options",children:A.map(M=>{const $=`${M.kind}:${M.id}`===vI(h[I]);return c.jsxs("button",{className:`ckpt-staffing-option${$?" active":""}`,onClick:()=>p(W=>({...W,[I]:{kind:M.kind,id:M.id}})),disabled:S,title:M.subtitle,children:[c.jsx("span",{className:"ckpt-staffing-option-kind",children:M.kind}),c.jsx("span",{className:"ckpt-staffing-option-name",children:M.name})]},`${M.kind}:${M.id}`)})}),c.jsxs("div",{className:"ckpt-agent-picker",children:[c.jsx("label",{className:"ckpt-agent-label",htmlFor:`staffing-agent-${t.checkpoint_id}-${I}`,children:"Execution Agent"}),c.jsx("select",{id:`staffing-agent-${t.checkpoint_id}-${I}`,className:"ckpt-agent-select",value:g[I]??O.selected_agent??O.default_agent??Ky,onChange:M=>y($=>({...$,[I]:M.target.value})),disabled:S,children:jH.map(M=>c.jsx("option",{value:M,children:Fw[M]},M))})]})]},I)})}),!S&&c.jsx("div",{className:"ckpt-actions",children:_?c.jsxs(c.Fragment,{children:[c.jsx("button",{className:"ckpt-btn ckpt-btn-approve",onClick:N,children:"Auto Recruit"}),c.jsx("button",{className:"ckpt-btn ckpt-btn-feedback",onClick:C,children:"Approve Selections"})]}):c.jsxs(c.Fragment,{children:[c.jsx("button",{className:"ckpt-btn ckpt-btn-approve",onClick:C,children:"Approve Selections"}),a.length>0&&c.jsx("button",{className:"ckpt-btn ckpt-btn-feedback",onClick:N,children:"Auto Recruit"})]})})]})}),AH={task_adjustment:"Task Adjustment",runtime_replan:"Runtime Replan",org_mutation:"Org Mutation"},Gw={low:"var(--green)",medium:"var(--yellow)",high:"var(--red)"},_I=St.memo(function({meta:t,onReply:n,responded:i}){const r=i,o=E.useCallback(()=>{r||n("approve")},[r,n]),a=E.useCallback(()=>{r||n("deny")},[r,n]),u=t.role_changes??[],d=t.work_item_projection_changes??[],m=t.scope||"org_mutation",h=t.risk_level||"medium",p=t.impact_summary||{};return c.jsxs("div",{className:"ckpt-panel ckpt-reorg",children:[c.jsxs("div",{className:"ckpt-header",children:[c.jsx("div",{className:"ckpt-icon ckpt-icon-reorg",children:c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[c.jsx("rect",{x:"1",y:"1",width:"5",height:"5",rx:"1"}),c.jsx("rect",{x:"10",y:"1",width:"5",height:"5",rx:"1"}),c.jsx("rect",{x:"5.5",y:"10",width:"5",height:"5",rx:"1"}),c.jsx("path",{d:"M3.5 6v2.5a1 1 0 001 1h7a1 1 0 001-1V6"}),c.jsx("path",{d:"M8 9.5V10"})]})}),c.jsx("div",{className:"ckpt-title",children:t.title||"Company Reorg"}),r&&c.jsx("span",{className:"ckpt-badge ckpt-badge-responded",children:"Responded"})]}),c.jsxs("div",{className:"ckpt-reorg-badges",children:[c.jsx("span",{className:"ckpt-badge ckpt-badge-scope",children:AH[m]||m}),c.jsxs("span",{className:"ckpt-badge",style:{color:Gw[h]||"var(--text-secondary)",borderColor:Gw[h]||"var(--border)"},children:["Risk: ",h.charAt(0).toUpperCase()+h.slice(1)]})]}),t.summary&&c.jsx("div",{className:"ckpt-summary",children:t.summary}),t.rationale&&c.jsx("div",{className:"ckpt-rationale",children:t.rationale}),u.length>0&&c.jsxs("div",{className:"ckpt-changes-section",children:[c.jsx("div",{className:"ckpt-changes-title",children:"Role Changes"}),u.map((g,y)=>c.jsxs("div",{className:"ckpt-change-row",children:[c.jsx("span",{className:`ckpt-change-action ckpt-action-${g.action}`,children:g.action}),c.jsx("span",{className:"ckpt-change-id",children:g.role_id}),g.replacement_role_id&&c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"ckpt-change-arrow",children:"โ†’"}),c.jsx("span",{className:"ckpt-change-id",children:g.replacement_role_id})]}),g.reason&&c.jsx("span",{className:"ckpt-change-reason",children:g.reason})]},y))]}),d.length>0&&c.jsxs("div",{className:"ckpt-changes-section",children:[c.jsx("div",{className:"ckpt-changes-title",children:"Work Item Projection Changes"}),d.map((g,y)=>c.jsxs("div",{className:"ckpt-change-row",children:[c.jsx("span",{className:`ckpt-change-action ckpt-action-${g.action}`,children:g.action}),c.jsx("span",{className:"ckpt-change-id",children:g.work_item_projection_id}),g.replacement_work_item_projection_id&&c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"ckpt-change-arrow",children:"โ†’"}),c.jsx("span",{className:"ckpt-change-id",children:g.replacement_work_item_projection_id})]}),g.reason&&c.jsx("span",{className:"ckpt-change-reason",children:g.reason})]},y))]}),Object.keys(p).length>0&&c.jsxs("div",{className:"ckpt-impact",children:[p.affected_tasks!=null&&c.jsxs("span",{children:["Tasks affected: ",p.affected_tasks]}),p.affected_roles!=null&&c.jsxs("span",{children:["Roles affected: ",p.affected_roles]}),p.migration_count!=null&&c.jsxs("span",{children:["Migrations: ",p.migration_count]})]}),!r&&c.jsxs("div",{className:"ckpt-actions",children:[c.jsx("button",{className:"ckpt-btn ckpt-btn-approve",onClick:o,children:"Approve Reorg"}),c.jsx("button",{className:"ckpt-btn ckpt-btn-deny",onClick:a,children:"Deny"})]})]})}),MH=3e4;function DH(e){return e.split(` -`).map(t=>t.trim()).find(Boolean)??e}function OH(e){switch(e){case"timeout":case"timed_out":case"expired":return"Expired";case"stale":case"invalid":return"Inactive";case"cancelled":case"canceled":return"Cancelled";case"resolved":return"Resolved";default:return"Responded"}}const sm=St.memo(function({meta:t,onReply:n,responded:i}){const r=i,o=String(t.checkpoint_status??"").trim().toLowerCase(),a=OH(o),u=String(t.prompt??t.summary??""),d=E.useMemo(()=>u.split(` -`).map(O=>O.trim()).filter(Boolean),[u]),m=DH(u).replace(/^\[[^\]]+\]\s*/,"")||"Action Required",h=d.slice(1).join(` -`).trim(),p=String(t.summary??"").trim(),g=(t.options??[]).filter(O=>!!O?.id),y=E.useMemo(()=>(t.active_subagents??[]).filter(O=>!!O&&typeof O=="object"),[t.active_subagents]),v=E.useMemo(()=>(t.permission_requests??[]).filter(O=>!!O&&typeof O=="object"),[t.permission_requests]),k=String(t.worktree_path??"").trim(),S=y.length>0||v.length>0||!!k,[_,w]=E.useState(""),C=!!_&&!r;E.useEffect(()=>{if(!C)return;const O=window.setTimeout(()=>w(""),MH);return()=>window.clearTimeout(O)},[C,_]);const N=E.useCallback(O=>{r||C||(w(O.id),n(O.label||O.id))},[r,C,n]);return c.jsxs("div",{className:"ckpt-panel ckpt-escalation",children:[c.jsxs("div",{className:"ckpt-header",children:[c.jsx("div",{className:"ckpt-icon ckpt-icon-escalation",children:c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[c.jsx("path",{d:"M8 1.5L14.5 13H1.5L8 1.5Z"}),c.jsx("path",{d:"M8 5.5V9"}),c.jsx("circle",{cx:"8",cy:"11.5",r:"0.75",fill:"currentColor",stroke:"none"})]})}),c.jsx("div",{className:"ckpt-title",children:m}),c.jsx("span",{className:"ckpt-badge ckpt-badge-scope",children:String(t.escalation_type??"decision_needed").replace(/_/g," ")}),r&&c.jsx("span",{className:"ckpt-badge ckpt-badge-responded",children:a})]}),p&&p!==m&&c.jsxs("div",{className:"ckpt-section",children:[c.jsx("div",{className:"ckpt-section-title",children:"Summary"}),c.jsx(ti,{content:p,className:"ckpt-markdown"})]}),h&&c.jsxs("div",{className:"ckpt-section",children:[c.jsx("div",{className:"ckpt-section-title",children:"Request"}),c.jsx(ti,{content:h,className:"ckpt-markdown"})]}),S&&c.jsxs("details",{className:"ckpt-runtime-details",children:[c.jsx("summary",{children:"Runtime State"}),c.jsxs("div",{className:"ckpt-runtime-body",children:[k&&c.jsxs("div",{children:["Worktree: ",c.jsx("code",{children:k})]}),y.length>0&&c.jsxs("div",{children:["Active subagents: ",y.length]}),v.length>0&&c.jsxs("div",{children:["Pending permission records: ",v.length]})]})]}),!r&&g.length>0&&c.jsx("div",{className:"ckpt-actions ckpt-escalation-actions",children:g.map(O=>c.jsx("button",{className:`ckpt-btn ${O.id.includes("deny")?"ckpt-btn-deny":"ckpt-btn-approve"}${C?" ckpt-btn-submitting":""}`,onClick:()=>N(O),disabled:C,children:C&&_===O.id?"Submittingโ€ฆ":O.label||O.id},O.id))}),C&&c.jsx("div",{className:"ckpt-escalation-hint",children:"Decision sent โ€” waiting for server confirmationโ€ฆ"}),!r&&t.default_action&&c.jsxs("div",{className:"ckpt-escalation-hint",children:["Default on timeout: ",c.jsx("code",{children:t.default_action})]})]})});function LH(e){return e.split(` -`).map(t=>t.trim()).find(Boolean)??e}function zH(e){switch(e){case"ignored":return"Ignored";case"timeout":case"timed_out":case"expired":return"Expired";case"stale":case"invalid":return"Inactive";case"superseded":return"Superseded";case"cancelled":case"canceled":return"Cancelled";case"resolved":return"Resolved";default:return"Responded"}}const kI=St.memo(function({meta:t,onReply:n,responded:i}){const r=i,[o,a]=E.useState(""),[u,d]=E.useState(null),m=String(t.checkpoint_status??"").trim().toLowerCase(),h=zH(m),p=String(t.prompt??t.summary??"").trim(),y=`${String(t.work_item_projection_title??LH(p)??"Human Review").trim()||"Human Review"} (for self-evolution)`,v=String(t.summary??"").trim(),k=E.useMemo(()=>(t.active_subagents??[]).filter(T=>!!T&&typeof T=="object"),[t.active_subagents]),S=E.useMemo(()=>(t.permission_requests??[]).filter(T=>!!T&&typeof T=="object"),[t.permission_requests]),_=String(t.worktree_path??"").trim(),w=k.length>0||S.length>0||!!_,C=r||u!==null,N=E.useCallback((T,L="")=>{const A=String(t.checkpoint_id??"").trim();if(!A)throw new Error("Delivery self-evolution reply requires checkpoint_id metadata.");const M={response_to_checkpoint_id:A,response_to_checkpoint_type:"company_delivery_feedback",checkpoint_reply_kind:T};return(T==="approve"||T==="feedback")&&(M.self_evolution_trigger=!0,M.human_feedback_text=L),M},[t.checkpoint_id]),O=E.useCallback(()=>{if(C)return;const T=N("approve");d("approve"),n("I fully agree with this delivery.",T)},[C,N,n]),I=E.useCallback(()=>{const T=o.trim();if(C||!T)return;const L=N("feedback",T);d("feedback"),n(T,L),a("")},[C,N,o,n]),D=E.useCallback(()=>{if(C)return;const T=N("ignore");d("ignore"),n("Ignore this self-evolution review.",T)},[C,N,n]);return c.jsxs("div",{className:"ckpt-panel ckpt-delivery-feedback",children:[c.jsxs("div",{className:"ckpt-header",children:[c.jsx("div",{className:"ckpt-icon ckpt-icon-user-input",children:c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[c.jsx("path",{d:"M8 1.5L14 5v4.5c0 2.25-1.8 4.25-6 5-4.2-.75-6-2.75-6-5V5L8 1.5Z"}),c.jsx("path",{d:"M5.5 8.25L7.25 10l3.25-4"})]})}),c.jsx("div",{className:"ckpt-title",children:y}),c.jsx("span",{className:"ckpt-badge ckpt-badge-scope",children:String(t.feedback_scope??"final").replace(/_/g," ")}),r&&c.jsx("span",{className:"ckpt-badge ckpt-badge-responded",children:h})]}),v&&v!==y&&c.jsxs("div",{className:"ckpt-section",children:[c.jsx("div",{className:"ckpt-section-title",children:"Summary"}),c.jsx(ti,{content:v,className:"ckpt-markdown"})]}),p&&c.jsxs("div",{className:"ckpt-section",children:[c.jsx("div",{className:"ckpt-section-title",children:"Review Request"}),c.jsx(ti,{content:p,className:"ckpt-markdown"})]}),w&&c.jsxs("details",{className:"ckpt-runtime-details",children:[c.jsx("summary",{children:"Runtime State"}),c.jsxs("div",{className:"ckpt-runtime-body",children:[_&&c.jsxs("div",{children:["Worktree: ",c.jsx("code",{children:_})]}),k.length>0&&c.jsxs("div",{children:["Active subagents: ",k.length]}),S.length>0&&c.jsxs("div",{children:["Pending permission records: ",S.length]})]})]}),!r&&c.jsxs("div",{className:"ckpt-actions ckpt-actions-inline-feedback",children:[c.jsx("button",{className:"ckpt-btn ckpt-btn-approve",onClick:O,disabled:C,children:"Fully Agree"}),c.jsx("button",{className:"ckpt-btn ckpt-btn-cancel",onClick:D,disabled:C,children:"Ignore"}),c.jsx("textarea",{className:"ckpt-feedback-input ckpt-feedback-inline-input",placeholder:"Feedback for self-evolution...",value:o,onChange:T=>a(T.target.value),disabled:C,rows:2}),c.jsx("button",{className:"ckpt-btn ckpt-btn-feedback",onClick:I,disabled:C||!o.trim(),children:"Send Feedback"})]})]})}),sf="__other__",PH=["A","B","C"];function Ur(e){return String(e??"").trim()}function BH(e,t){const n=Ur(e.question),i=Ur(e.header);if(!n&&!i)return null;const r=(e.options??[]).slice(0,3).map((o,a)=>({id:Ur(o.id)||String.fromCharCode(97+a),label:Ur(o.label),description:Ur(o.description)})).filter(o=>o.label);return{id:Ur(e.id)||`question_${t+1}`,header:i,question:n||i,options:r,allow_freeform:e.allow_freeform!==!1,required:e.required!==!1}}const SI=St.memo(function({meta:t,onReply:n,responded:i}){const[r,o]=E.useState(""),[a,u]=E.useState({}),d=i,m=String(t.work_item_projection_title??t.work_item_projection_id??"Input Needed").trim()||"Input Needed",h=String(t.summary??"").trim(),p=String(t.prompt??"").trim(),g=String(t.context_note??"").trim(),y=String(t.resume_hint??"").trim(),v=E.useMemo(()=>(t.questions??[]).map(V=>String(V).trim()).filter(Boolean),[t.questions]),k=E.useMemo(()=>(t.input_questions??[]).map((V,Y)=>BH(V,Y)).filter(V=>V!==null),[t.input_questions]),S=k.some(V=>(V.options??[]).length>0),_=E.useMemo(()=>(t.required_fields??[]).map(V=>String(V).trim()).filter(Boolean),[t.required_fields]),w=E.useMemo(()=>(t.active_subagents??[]).filter(V=>!!V&&typeof V=="object"),[t.active_subagents]),C=E.useMemo(()=>(t.permission_requests??[]).filter(V=>!!V&&typeof V=="object"),[t.permission_requests]),N=String(t.worktree_path??"").trim(),O=String(t.requesting_role_id??"").trim(),I=String(t.requesting_task_id??"").trim(),D=String(t.requesting_work_item_id??"").trim(),T=String(t.seat_id??"").trim(),A=!!O||!!I||!!D||!!T||w.length>0||C.length>0||!!N,M=E.useCallback((V,Y)=>{u(Q=>({...Q,[V]:{freeformText:Q[V]?.freeformText??"",selectedOptionId:Y}}))},[]),$=E.useCallback((V,Y)=>{u(Q=>({...Q,[V]:{selectedOptionId:Q[V]?.selectedOptionId,freeformText:Y}}))},[]),W=E.useCallback(V=>{if(V.required===!1)return!0;const Y=a[V.id],Q=Y?.selectedOptionId;return!!(Q&&Q!==sf||V.allow_freeform!==!1&&Ur(Y?.freeformText))},[a]),B=S&&k.every(W),U=E.useCallback(()=>{const V=r.trim();d||!V||n(V)},[d,n,r]),F=E.useCallback(()=>{if(d||!B)return;const V={},Y=[];k.forEach(Q=>{const q=a[Q.id]??{freeformText:""},G=(Q.options??[]).find(te=>te.id===q.selectedOptionId),J=Ur(q.freeformText),K=[G?.label??"",J].filter(Boolean).join("; ");V[Q.id]={question_id:Q.id,question:Q.question,...G?{selected_option_id:G.id,selected_label:G.label}:{},...J?{freeform_text:J}:{},answer_text:K};const ee=Ur(Q.header)||Ur(Q.question)||Q.id;Y.push(`- ${ee}: ${K||"(no answer)"}`)}),n(Y.join(` -`),{user_input_answers:V})},[a,B,k,d,n]);return c.jsxs("div",{className:"ckpt-panel ckpt-user-input",children:[c.jsxs("div",{className:"ckpt-header",children:[c.jsx("div",{className:"ckpt-icon ckpt-icon-user-input",children:c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[c.jsx("path",{d:"M3 3.5h10v6H6.5L3 13V3.5Z"}),c.jsx("path",{d:"M5.5 6h5"}),c.jsx("path",{d:"M5.5 8h3.5"})]})}),c.jsx("div",{className:"ckpt-title",children:m}),c.jsx("span",{className:"ckpt-badge ckpt-badge-scope",children:"awaiting input"}),d&&c.jsx("span",{className:"ckpt-badge ckpt-badge-responded",children:"Responded"})]}),h&&c.jsxs("div",{className:"ckpt-section",children:[c.jsx("div",{className:"ckpt-section-title",children:"Summary"}),c.jsx(ti,{content:h,className:"ckpt-markdown"})]}),p&&c.jsxs("div",{className:"ckpt-section",children:[c.jsx("div",{className:"ckpt-section-title",children:"Request"}),c.jsx(ti,{content:p,className:"ckpt-markdown"})]}),S?c.jsxs("div",{className:"ckpt-section",children:[c.jsx("div",{className:"ckpt-section-title",children:"Questions"}),c.jsx("div",{className:"ckpt-choice-list",children:k.map(V=>{const Y=a[V.id]??{freeformText:""},Q=V.options??[],q=V.allow_freeform!==!1,G=q&&(Q.length===0||Y.selectedOptionId===sf);return c.jsxs("div",{className:"ckpt-choice-question",children:[V.header&&c.jsx("div",{className:"ckpt-question-header",children:V.header}),c.jsx(ti,{content:V.question,className:"ckpt-markdown"}),Q.length>0&&c.jsxs("div",{className:"ckpt-choice-grid",children:[Q.map((J,P)=>{const K=Y.selectedOptionId===J.id;return c.jsxs("button",{className:`ckpt-choice-option${K?" is-selected":""}`,onClick:()=>M(V.id,J.id),children:[c.jsx("span",{className:"ckpt-choice-letter",children:PH[P]??"?"}),c.jsxs("span",{className:"ckpt-choice-copy",children:[c.jsx("span",{className:"ckpt-choice-label",children:J.label}),J.description&&c.jsx("span",{className:"ckpt-choice-desc",children:J.description})]})]},J.id)}),q&&c.jsxs("button",{className:`ckpt-choice-option${Y.selectedOptionId===sf?" is-selected":""}`,onClick:()=>M(V.id,sf),children:[c.jsx("span",{className:"ckpt-choice-letter",children:"D"}),c.jsxs("span",{className:"ckpt-choice-copy",children:[c.jsx("span",{className:"ckpt-choice-label",children:"Other"}),c.jsx("span",{className:"ckpt-choice-desc",children:"Enter a custom answer"})]})]})]}),G&&c.jsx("textarea",{className:"ckpt-feedback-input ckpt-other-field",placeholder:"Type your answer...",value:Y.freeformText,onChange:J=>$(V.id,J.target.value),rows:3})]},V.id)})})]}):v.length>0&&c.jsxs("div",{className:"ckpt-section",children:[c.jsx("div",{className:"ckpt-section-title",children:"Questions"}),c.jsx("ul",{className:"ckpt-task-list",children:v.map(V=>c.jsx("li",{children:V},V))})]}),_.length>0&&c.jsxs("div",{className:"ckpt-section",children:[c.jsx("div",{className:"ckpt-section-title",children:"Required Fields"}),c.jsx("div",{className:"ckpt-task-tags",children:_.map(V=>c.jsx("span",{className:"ckpt-field-tag",children:V},V))})]}),g&&c.jsxs("div",{className:"ckpt-section",children:[c.jsx("div",{className:"ckpt-section-title",children:"Context"}),c.jsx(ti,{content:g,className:"ckpt-markdown ckpt-markdown-muted"})]}),y&&c.jsx("div",{className:"ckpt-escalation-hint",children:y}),A&&c.jsxs("details",{className:"ckpt-runtime-details",children:[c.jsx("summary",{children:"Runtime State"}),c.jsxs("div",{className:"ckpt-runtime-body",children:[O&&c.jsxs("div",{children:["Requester: ",c.jsx("code",{children:O})]}),D&&c.jsxs("div",{children:["Work item: ",c.jsx("code",{children:D})]}),I&&c.jsxs("div",{children:["Task: ",c.jsx("code",{children:I})]}),T&&c.jsxs("div",{children:["Seat: ",c.jsx("code",{children:T})]}),N&&c.jsxs("div",{children:["Worktree: ",c.jsx("code",{children:N})]}),w.length>0&&c.jsxs("div",{children:["Active subagents: ",w.length]}),C.length>0&&c.jsxs("div",{children:["Pending permission records: ",C.length]})]})]}),!d&&c.jsxs("div",{className:"ckpt-feedback-area",children:[S?null:c.jsx("textarea",{className:"ckpt-feedback-input",placeholder:"Reply with the missing input to continue...",value:r,onChange:V=>o(V.target.value),rows:3}),c.jsx("div",{className:"ckpt-feedback-btns",children:c.jsx("button",{className:"ckpt-btn ckpt-btn-approve",onClick:S?F:U,disabled:S?!B:!r.trim(),children:"Send Reply"})})]})]})}),Zy={todo:"To do",in_progress:"In progress",in_review:"In review",done:"Done"};function ex(e,t){if(t&&t in Zy)return t;switch(e){case"active":return"in_progress";case"waiting":return"in_review";case"done":return"done";case"failed":return"done";case"pending":return"todo";default:return"todo"}}function of(e){return Zy[e]??Zy.todo}const qw={active:0,waiting:1,failed:2,done:3,pending:4};function $H(e){if(e.length===0)return"pending";let t=e[0],n=qw[t]??99;for(const i of e){const r=qw[i]??99;r12&&/^[0-9a-f-]+$/i.test(e.replace(/_/g,""))}function ol(e){return typeof e=="string"?e.trim():""}function tx(...e){for(const t of e){const n=ol(t);if(n)return n}return""}function FH(e){const t=ol(e);return t?HH[t]??J0(t):""}function VH(e){return e==="done"?c.jsx("span",{className:"wi-projection-icon",children:"โœ“"}):e==="active"?c.jsx("span",{className:"wi-projection-icon wi-projection-pulse",children:"โ—"}):e==="failed"?c.jsx("span",{className:"wi-projection-icon",children:"โœ—"}):e==="waiting"?c.jsx("span",{className:"wi-projection-icon",children:"โ—"}):null}const UH={active:"active",waiting:"waiting",pending:"pending",done:"done",failed:"failed"};function GH(e){return e?e==="in-progress"?"in_progress":e==="in-review"?"in_review":e:"todo"}function qH(e){switch(e){case"running":case"waiting_for_peer":case"waiting_for_children":case"paused":case"needs_attention":return"active";case"awaiting_manager_review":case"awaiting_human":case"queued":case"ready":case"ready_for_rework":case"waiting_dependencies":return"waiting";case"approved":return"done";case"failed":case"cancelled":return"failed";default:return"pending"}}function WH(e){const t=ol(e.status).toLowerCase();return t==="done"||t==="delivered"?"done":t==="failed"||t==="cancelled"?"failed":t==="awaiting_peer"||t==="awaiting_manager_review"||t==="awaiting_human"||t==="awaiting_review"||t==="blocked"||t==="paused"||t==="awaiting_owner"?"waiting":t==="running"||t==="deliverable"||t==="active"||t==="ready"?"active":"pending"}function Qy({workItemLog:e,roleWorkItems:t,executorRoleWorkItems:n,childSessions:i,isCompanyRuntime:r=!1,onWorkItemClick:o}){const a=E.useMemo(()=>{const v=new Map;for(const k of i??[]){v.set(k.taskId,k);const S=ao(k);S&&v.set(S,k)}return v},[i]),u=E.useMemo(()=>{const v=new Map,k=[];for(const S of e){const _=ao(S),w=S.workItemProjectionId??_??"";if(!w)continue;if(!v.has(w)){k.push(w);const N=S.workItemProjectionTitle??w,O=S.roleName||(Ww(N)?"Agent":N);v.set(w,{projectionId:w,title:O,roleName:S.roleName,status:"pending",executionTurnId:_})}const C=v.get(w);switch(S.roleName?(C.roleName=S.roleName,C.title=S.roleName):S.workItemProjectionTitle&&!Ww(S.workItemProjectionTitle)&&(C.title=S.workItemProjectionTitle),_&&(C.executionTurnId=_),S.type){case"work_item_started":C.status="active";break;case"gate_approved":C.status="done";break;case"gate_rejected":C.status="active";break;case"awaiting_manager_review":case"awaiting_human":case"awaiting_review":case"awaiting_peer":C.status="waiting";break;case"work_item_failed":case"deadlock":C.status="failed";break}}for(const S of v.values()){if(!S.executionTurnId)continue;const _=a.get(S.executionTurnId);if(!_)continue;const w=Ig(_);w&&(S.title=w),_.workItemRoleName&&(S.roleName=_.workItemRoleName),_.status==="done"?S.status="done":_.status==="failed"&&(S.status="failed")}return k.map(S=>v.get(S))},[e,a]),d=E.useMemo(()=>{const v=new Map;for(const k of e){const S=ao(k);S&&!v.has(S)&&v.set(S,v.size)}return v},[e]),m=n??t,h=E.useMemo(()=>{if(!m)return[];const v=[];for(const k of Object.values(m)){if(!k||!Array.isArray(k.workItems)||k.workItems.length===0)continue;const _=[...k.workItems].sort((I,D)=>I.createdAt-D.createdAt).map(I=>{const D=GH(I.kanbanColumn),T=qH(I.phase);return{executionTurnId:I.executionTurnId??"",title:ol(I.title)||ol(I.executorRoleName)||ol(I.executorRoleId)||"Work item",status:T,statusLabel:of(D),columnId:D,updatedAt:I.updatedAt,workItemId:I.workItemId,progressLog:I.progressLog,activitySections:I.activitySections??[],isReviewTarget:I.isReviewTarget}}),w=UH[k.aggregatedStatus]??"pending",C=ex(w),N=_[_.length-1],O=[..._].reverse().find(I=>!!I.executionTurnId)?.executionTurnId??"";v.push({roleKey:k.roleKey,executionTurnId:N.executionTurnId||O,title:k.roleName||k.roleId,status:w,statusLabel:of(C),roleName:k.roleName,updatedAt:_.reduce((I,D)=>Math.max(I,D.updatedAt),0),turns:_,runtimeStatus:k.runtimeStatus})}return v.sort((k,S)=>{const _=k.turns[0]?.updatedAt??Number.POSITIVE_INFINITY,w=S.turns[0]?.updatedAt??Number.POSITIVE_INFINITY;return _-w}),v},[m]),p=E.useMemo(()=>{const v=[...i??[]];if(v.length===0)return[];const k=new Map,S=[];for(const w of v){const C=tx(w.workItemRoleId,w.assigneeIds[0],w.taskId);k.has(C)||(k.set(C,[]),S.push(C)),k.get(C).push(w)}S.sort((w,C)=>{const N=k.get(w)??[],O=k.get(C)??[],I=Math.min(...N.map(A=>d.get(ao(A)||A.taskId)??Number.POSITIVE_INFINITY)),D=Math.min(...O.map(A=>d.get(ao(A)||A.taskId)??Number.POSITIVE_INFINITY));if(I!==D)return I-D;const T=Math.min(...N.map(A=>A.updatedAt)),L=Math.min(...O.map(A=>A.updatedAt));return T-L});const _=[];for(const w of S){const C=k.get(w)??[];if(C.length===0)continue;const N=C.slice().sort((A,M)=>A.updatedAt-M.updatedAt).map(A=>{const M=WH(A),$=ao(A),W=ex(M,String(A.columnId??"").trim()||void 0);return{executionTurnId:$||A.taskId,title:tx(Ig(A),A.title,A.workItemRoleName,A.workItemRoleId,"Turn"),status:M,statusLabel:of(W),columnId:W,updatedAt:A.updatedAt}}),O=N[N.length-1],I=$H(N.map(A=>A.status)),D=ex(I),T=C[0],L=tx(T.workItemRoleName,T.workItemRoleId,T.assigneeIds[0],Ig(T),T.title,"Agent");_.push({roleKey:w,executionTurnId:O.executionTurnId,title:L,status:I,statusLabel:of(D),executionAgent:FH(T.selectedExecutionAgent??T.preferredAgent),roleName:T.workItemRoleName,updatedAt:Math.max(...C.map(A=>A.updatedAt)),turns:N})}return _},[i,d]),g=E.useMemo(()=>h.length>0?h:r?[]:p,[r,h,p]),y=E.useMemo(()=>g.length>0?g.map(v=>({projectionId:v.roleKey,title:v.title,roleName:v.roleName,status:v.status,executionTurnId:v.executionTurnId})):r?[]:u,[r,g,u]);return r&&g.length===0||e.length===0&&y.length===0&&g.length===0?null:c.jsxs("div",{className:"wi-progress-card",children:[c.jsxs("div",{className:"wi-progress-header",children:[c.jsx(jm,{}),c.jsx("span",{children:"Execution Progress"})]}),y.length>0&&c.jsx("div",{className:"wi-progress-pipeline",children:y.map((v,k)=>c.jsxs("div",{className:"wi-projection-group",children:[c.jsxs("button",{type:"button",className:`wi-projection-chip wi-projection-${v.status}`,onClick:()=>o?.(v.executionTurnId||""),title:`Open Runtime Session${v.roleName?`: ${v.title} (${v.roleName})`:`: ${v.title}`}`,children:[c.jsx("span",{className:"wi-projection-label",children:v.title}),VH(v.status)]}),ku.mime_type?.startsWith("image/")),i=e.filter(u=>u.mime_type?.startsWith("video/")),r=e.filter(u=>!u.mime_type?.startsWith("image/")&&!u.mime_type?.startsWith("video/")),o=n.length===1?"":(n.length<=3," cols-2"),a=i.length===1?"":(i.length<=3," cols-2");return c.jsxs("div",{className:"msg-attachments",children:[n.length>0&&c.jsx("div",{className:`msg-attachment-grid${o}`,children:n.map(u=>{const d=`/api/attachments/${u.attachment_id}/${u.filename}`;return c.jsx("img",{className:"msg-attachment-image",src:d,alt:u.filename,loading:"lazy",onClick:()=>t?.(d)},u.attachment_id)})}),i.length>0&&c.jsx("div",{className:`msg-attachment-grid${a}`,children:i.map(u=>{const d=`/api/attachments/${u.attachment_id}/${u.filename}`;return c.jsx("video",{className:"msg-attachment-video",src:d,controls:!0,preload:"metadata",playsInline:!0},u.attachment_id)})}),r.length>0&&c.jsx("div",{className:"msg-attachment-files",children:r.map(u=>c.jsxs("a",{className:"msg-attachment-file-chip",href:`/api/attachments/${u.attachment_id}/${u.filename}`,download:!0,title:u.filename,children:["๐Ÿ“Ž ",u.filename,c.jsx("span",{className:"msg-attachment-file-size",children:u.size_bytes<1024?`${u.size_bytes}B`:u.size_bytes<1048576?`${(u.size_bytes/1024).toFixed(0)}KB`:`${(u.size_bytes/1048576).toFixed(1)}MB`})]},u.attachment_id))})]})}const Yw=["#F59E0B","#10B981","#3B82F6","#8B5CF6","#EC4899","#06B6D4","#F97316","#6366F1"],Xw=new Map;function yv(e){const t=Xw.get(e);if(t)return t;let n=0;for(let r=0;rd.toUpperCase());let a="โ—",u="active";return r.includes("gate passed")||r.includes("approved")||r.includes("completed")?(a="โœ“",u="passed"):r.includes("rejected")||r.includes("reworking")?(a="โ†ป",u="rejected"):r.includes("failed")||r.includes("timed out")?(a="โœ—",u="failed"):r.includes("awaiting")&&(a="โณ",u="waiting"),{projectionId:n,workItemName:o,action:i,icon:a,statusClass:u}}const ZH={session:{icon:c.jsx(x4,{}),title:"New Conversation",hint:"Send a message to start working with your OPC system"},activity:{icon:c.jsx(Wj,{}),title:"Activity Feed",hint:"Agent activity across all sessions will appear here."},secretary:{icon:c.jsx(au,{}),title:"Secretary",hint:"Manage policies, rules, and preferences for your agents."}},QH=5*6e4,Kw=200,nx=200,JH=96,eF=1;function tF(e){return e.scrollHeight-e.scrollTop-e.clientHeight"u"||!document.body)return!1;const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="fixed",t.style.top="0",t.style.left="-9999px",t.style.opacity="0",document.body.appendChild(t);try{return t.focus(),t.select(),t.setSelectionRange(0,t.value.length),document.execCommand("copy")}catch{return!1}finally{document.body.removeChild(t)}}function rF(e,t){return t==="full"?!0:String(e.metadata?.detail_visibility??"summary").trim()!=="full"}function sF(e){return String(e.metadata?.transcript_kind??"").trim()==="runtime_v2_user_turn"}function nu(e){return e.replace(/\s+/g," ").trim()}function oF(e){const t=String(e||"").trim(),n=t.match(/^\*\*(.{8,160}?)\*\*:\s+([\s\S]+)$/);if(n){const a=n[2].trim();if(a.length>=80)return a}const i=t.indexOf(": ");if(i<8||i>160)return t;const r=t.slice(0,i).replace(/\*/g,"").trim(),o=t.slice(i+2).trim();return o.length<80||!/[A-Za-z\u4e00-\u9fff]/.test(r)||/^(https?|file)$/i.test(r)?t:o}function aF(e){const t=String(e.metadata?.transcript_kind??e.metadata?.kind??"").trim();return!!(["runtime_v2_assistant","runtime_v2_company_assistant","top_level_reply","company_role_result","company_role_result_retry","child_task_result","child_task_result_retry","child_result"].includes(t)||String(e.metadata?.kind??"").trim()==="worker_notification")}function Zw(e){const t=String(e||"").trim();if(!t)return null;try{const n=JSON.parse(t);return n&&typeof n=="object"&&!Array.isArray(n)?n:null}catch{return null}}function lF(e){const t=String(e||"").trim();if(!t)return null;if(t.startsWith("{")&&t.endsWith("}")){const u=Zw(t);return u?{obj:u}:null}const n=t.indexOf("{"),i=t.lastIndexOf("}");if(n<=0||i<=n)return null;const o=t.slice(0,n).trim().replace(/\*/g,"").replace(/:\s*$/,"").trim();if(!/\b(report|review)\b/i.test(o))return null;const a=Zw(t.slice(n,i+1));return a?{obj:a,title:o||void 0}:null}function al(e){return typeof e=="string"?e.trim():""}function Qw(e,t=4){if(!Array.isArray(e))return[];const n=[];for(const i of e){const r=typeof i=="string"?i.trim():i&&typeof i=="object"&&"summary"in i?al(i.summary):"";if(r&&n.push(r),n.length>=t)break}return n}function cF(e){if(!Array.isArray(e))return[];const t=[];for(const n of e){if(!n||typeof n!="object")continue;const i=n,r=al(i.path),o=al(i.name)||r.split("/").filter(Boolean).pop()||"Artifact";t.push({name:o,path:r,status:al(i.status)||void 0})}return t}function uF(e){if(!Array.isArray(e))return;const t=e.filter(i=>i&&typeof i=="object").length;return t?`${e.filter(i=>i.met===!0).length}/${t} acceptance checks met`:void 0}function wI(e){const t=lF(e);if(!t)return null;const{obj:n,title:i}=t,r=al(n.summary),o=al(n.review_verdict),a=cF(n.deliverables),u=Qw(n.risks),d=Qw(n.next_actions),m=uF(n.acceptance_status);return!r&&!o&&a.length===0&&!m?null:{kind:o?"review":a.length>0||m?"report":"update",title:i,summary:r,verdict:o||void 0,deliverables:a,risks:u,nextActions:d,acceptanceSummary:m}}const dF=St.memo(function({entry:t,showDate:n,dateStr:i,compact:r=!1}){return c.jsxs("div",{children:[n&&c.jsx("div",{className:"msg-date-sep",children:c.jsx("span",{children:i})}),c.jsxs("div",{className:`msg-row agent msg-row-inline-progress${r?" compact":""}`,children:[c.jsx("div",{className:"msg-avatar agent-avatar",children:c.jsx(Fo,{})}),c.jsx("div",{className:"msg-body msg-inline-progress-body",children:c.jsx("div",{className:"msg-inline-progress-shell",children:c.jsx(uN,{entry:t})})})]})]})}),fF=St.memo(function({msg:t,showDate:n,dateStr:i}){const r=KH(t.content);return r?c.jsxs("div",{children:[n&&c.jsx("div",{className:"msg-date-sep",children:c.jsx("span",{children:i})}),c.jsxs("div",{className:`work-item-divider work-item-divider-${r.statusClass}`,children:[c.jsx("div",{className:"work-item-divider-line"}),c.jsxs("span",{className:"work-item-divider-label",children:[c.jsx("span",{className:"work-item-divider-icon",children:r.icon}),r.workItemName,c.jsx("span",{className:"work-item-divider-action",children:r.action})]}),c.jsx("div",{className:"work-item-divider-line"})]})]}):null}),mF=St.memo(function({msg:t,showDate:n,dateStr:i}){return c.jsxs("div",{children:[n&&c.jsx("div",{className:"msg-date-sep",children:c.jsx("span",{children:i})}),c.jsx("div",{className:"msg-system",children:c.jsx("span",{children:t.content})})]})}),pF=St.memo(function({msg:t,showDate:n,dateStr:i}){return c.jsxs("div",{children:[n&&c.jsx("div",{className:"msg-date-sep",children:c.jsx("span",{children:i})}),c.jsxs("div",{className:"msg-row agent msg-row-context",children:[c.jsx("div",{className:"msg-avatar agent-avatar msg-avatar-context",children:c.jsx(au,{})}),c.jsx("div",{className:"msg-body",children:c.jsxs("div",{className:"msg-content-agent-card msg-context-card",children:[c.jsx("div",{className:"msg-context-label",children:"Execution Context"}),c.jsx(ti,{content:t.content})]})})]})]})}),hF=St.memo(function({text:t,timestamp:n,iteration:i,showDate:r,dateStr:o}){return c.jsxs("div",{children:[r&&c.jsx("div",{className:"msg-date-sep",children:c.jsx("span",{children:o})}),c.jsxs("div",{className:"msg-row agent msg-row-draft",children:[c.jsx("div",{className:"msg-avatar agent-avatar msg-avatar-draft",children:c.jsx(Fo,{})}),c.jsxs("div",{className:"msg-body",children:[c.jsxs("div",{className:"msg-agent-header",children:[c.jsx("span",{className:"msg-sender",children:"Live Reply"}),c.jsx("span",{className:"msg-time",title:Zr(n),children:Es(n)})]}),c.jsxs("div",{className:"msg-content-agent-card msg-draft-card",children:[i?c.jsxs("div",{className:"msg-draft-label",children:["Turn ",i]}):null,c.jsx(ti,{content:t,collapseMode:"never"})]})]})]})]})}),gF=St.memo(function({msg:t,showDate:n,dateStr:i,isGrouped:r,isCopied:o,onCopy:a,onImageClick:u,renderUserMarkdown:d}){return c.jsxs("div",{children:[n&&c.jsx("div",{className:"msg-date-sep",children:c.jsx("span",{children:i})}),c.jsx("div",{className:`msg-row user${r?" grouped":""}`,children:c.jsxs("div",{className:"msg-body msg-body-user",children:[c.jsx("div",{className:"msg-content-user",children:d?c.jsx(ti,{content:t.content,className:"msg-content-user-markdown"}):t.content}),c.jsx(YH,{refs:t.metadata?.attachment_refs,onImageClick:u}),c.jsxs("div",{className:"msg-meta-user",children:[c.jsx("span",{className:"msg-time",title:Zr(t.timestamp),children:Es(t.timestamp)}),c.jsx("button",{className:"msg-action-btn",onClick:()=>a(t.id,t.content),title:"Copy",children:o?c.jsx(Nl,{}):c.jsx(Cm,{})})]})]})})]})});function CI(e){const t=String(e||"").trim();if(!t)return null;const n=t.match(/^\[Delegating to ([^\]]+)\]/);if(n){const d=n[1].trim(),m=t.match(/task=([^|]+?)(?:\||$)/),h=m?m[1].trim():"";return{kind:"delegation",label:`Delegating to ${d}`,summary:h,tone:"info"}}if(/^\[External resume\]/i.test(t)){const d=t.match(/codex:[a-z0-9-]+:([a-f0-9-]+)/i);return{kind:"external_resume",label:"External resume",summary:d?`Restored session ${d[1].slice(0,8)}โ€ฆ`:"Resumed prior session",tone:"info"}}const i=t.match(/^\[External inbox\]\s*(.+)$/i);if(i)return{kind:"external_status",label:"External inbox",summary:nu(i[1]),tone:"info"};const r=t.match(/^\[External status\]\s*(.+)$/i);if(r)return{kind:"external_status",label:"External status",summary:r[1].split(/\(|;/)[0].trim()||r[1].trim(),tone:"info"};if(/^\[External error\]/i.test(t)||/^\[External failure\]/i.test(t))return{kind:"external_error",label:"External error",summary:t.replace(/^\[[^\]]+\]\s*/,"").split(` -`)[0].slice(0,140),tone:"danger"};const o=t.match(/^\[Company:([^\]]+)\]\s*(.+)$/);if(o){const d=o[1].split("::"),m=d[0]||"company",h=o[2].trim(),p=h.toLowerCase(),g=p.includes("completed")||p.includes("done")?"success":p.includes("blocked")||p.includes("failed")?"warning":"info";return{kind:"company_event",label:`${m.toUpperCase()} ยท ${d[1]??""}`.replace(/ ยท $/,""),summary:h,tone:g}}const a=t.match(/^(Review needed|Status digest|Blocked|Completion):\s*(.+)$/i);if(a){const d=a[1].replace(/\b\w/g,h=>h.toUpperCase()),m=nu(a[2]);return{kind:"company_event",label:d,summary:m,tone:/^Blocked$/i.test(a[1])?"warning":"info"}}const u=t.match(/^NO_DELEGATION_JUSTIFICATION:\s*(.+)$/i);return u?{kind:"company_event",label:"Delegation check",summary:nu(u[1]).slice(0,180),tone:"info"}:null}function xF(e,t){const{isCompanyRuntime:n,detailMode:i}=t;if(!n||i==="full"||lu(e.metadata))return null;const r=CI(e.content);if(!r)return null;const o=e.sender==="system"||e.metadata?.type==="system",a=r.kind==="company_event"||e.content.startsWith("[Company:");return!o&&!a?null:{msg:e,classification:r}}function yF(e,t={}){const{isCompanyRuntime:n=!1,detailMode:i="summary"}=t,r=[];let o=[],a=0;const u=new Set,d=new Set,m=()=>{if(o.length===0)return;const h=o[0].msg,p=o[o.length-1].msg;r.push({kind:"ops-bundle",id:`ops:${h.id}:${o.length}:${p.id}`,timestamp:h.timestamp,events:o,sortOrder:a}),o=[]};return e.forEach((h,p)=>{const g=p*2+1,y=xF(h,{isCompanyRuntime:n,detailMode:i});if(y){o.length===0&&(a=g),o.push(y);return}const v=i==="summary"?wI(h.content):null;if(v){const k=[h.sender,Math.round(h.timestamp/1e3),v.kind,nu(v.summary||v.acceptanceSummary||"").slice(0,500),v.verdict??"",v.deliverables.map(S=>`${S.name}:${S.path}`).join("|").slice(0,800)].join("");if(u.has(k))return;u.add(k)}if(i==="summary"){const k=nu(oF(h.content)).slice(0,1200);if(k){const S=aF(h)?["result",k].join(""):[h.sender,Math.round(h.timestamp/1e3),k].join("");if(d.has(S))return;d.add(S)}}m(),r.push({kind:"message",id:h.id,timestamp:h.timestamp,msg:h,sortOrder:g})}),m(),r}const vF=St.memo(function({msg:t,showDate:n,dateStr:i,classification:r}){const[o,a]=E.useState(!1),u=t.content.trim()!==`[${r.label}] ${r.summary}`.trim()&&t.content.trim().length>r.summary.length+4;return c.jsxs("div",{children:[n&&c.jsx("div",{className:"msg-date-sep",children:c.jsx("span",{children:i})}),c.jsxs("div",{className:`msg-ops-row msg-ops-tone-${r.tone}${o?" expanded":""}`,onClick:u?()=>a(d=>!d):void 0,role:u?"button":void 0,tabIndex:u?0:-1,children:[c.jsx("span",{className:"msg-ops-dot","aria-hidden":"true"}),c.jsx("span",{className:"msg-ops-label",children:r.label}),r.summary&&c.jsx("span",{className:"msg-ops-summary",title:r.summary,children:r.summary}),c.jsx("span",{className:"msg-ops-time",title:Zr(t.timestamp),children:Es(t.timestamp)}),u&&c.jsx("span",{className:`msg-ops-chevron${o?" open":""}`,"aria-hidden":"true",children:c.jsx(Yr,{down:o})})]}),u&&o&&c.jsx("div",{className:"msg-ops-details",children:c.jsx("pre",{className:"msg-ops-details-pre",children:t.content})})]})}),bF=St.memo(function({events:t,showDate:n,dateStr:i}){const[r,o]=E.useState(!1);if(t.length===0)return null;const a=t[0].msg,u=t[t.length-1].msg,d=t.reduce((p,g)=>{const y=g.classification.kind==="company_event"?"company":g.classification.kind.startsWith("external")?"runtime":"delegation";return p[y]=(p[y]??0)+1,p},{}),m=Object.entries(d).map(([p,g])=>`${g} ${p}`).join(" ยท "),h=`${t.length} technical event${t.length===1?"":"s"} hidden`;return c.jsxs("div",{children:[n&&c.jsx("div",{className:"msg-date-sep",children:c.jsx("span",{children:i})}),c.jsxs("button",{type:"button",className:`msg-ops-bundle${r?" expanded":""}`,onClick:()=>o(p=>!p),title:`${Zr(a.timestamp)} - ${Zr(u.timestamp)}`,children:[c.jsx("span",{className:"msg-ops-bundle-dot"}),c.jsx("span",{className:"msg-ops-bundle-title",children:h}),c.jsx("span",{className:"msg-ops-bundle-summary",children:m}),c.jsx("span",{className:"msg-ops-bundle-time",children:Es(a.timestamp)}),c.jsx("span",{className:"msg-ops-bundle-chevron",children:c.jsx(Yr,{down:r})})]}),r&&c.jsx("div",{className:"msg-ops-bundle-details",children:t.map(({msg:p,classification:g})=>c.jsxs("div",{className:`msg-ops-bundle-event msg-ops-tone-${g.tone}`,children:[c.jsx("span",{className:"msg-ops-dot"}),c.jsx("span",{className:"msg-ops-label",children:g.label}),c.jsx("span",{className:"msg-ops-summary",children:g.summary}),c.jsx("span",{className:"msg-ops-time",title:Zr(p.timestamp),children:Es(p.timestamp)})]},p.id))})]})});function _F(e){return e.kind==="review"?`Review ยท ${e.verdict?e.verdict.replace(/_/g," "):"review"}`:e.kind==="report"?"Report":"Update"}const kF=St.memo(function({msg:t,payload:n,showDate:i,dateStr:r,isCopied:o,onCopy:a}){const u=yv(t.sender==="system"?t.senderName||"OPC":t.sender),d=t.senderDeleted?"[Deleted]":t.senderName,m=_F(n),h=n.summary||n.acceptanceSummary||m;return c.jsxs("div",{children:[i&&c.jsx("div",{className:"msg-date-sep",children:c.jsx("span",{children:r})}),c.jsxs("div",{className:"msg-row agent msg-row-project-update",children:[c.jsx("div",{className:"msg-avatar agent-avatar",style:{background:u},children:d.charAt(0).toUpperCase()}),c.jsxs("div",{className:"msg-body",children:[c.jsxs("div",{className:"msg-agent-header",children:[c.jsx("span",{className:"msg-sender",style:{color:u},children:d}),c.jsx("span",{className:"msg-time",title:Zr(t.timestamp),children:Es(t.timestamp)})]}),c.jsxs("div",{className:`msg-project-update-card msg-project-update-${n.kind}`,children:[c.jsxs("div",{className:"msg-project-update-head",children:[c.jsx("span",{className:"msg-project-update-label",children:m}),n.acceptanceSummary&&c.jsx("span",{className:"msg-project-update-chip",children:n.acceptanceSummary})]}),n.title&&c.jsx("div",{className:"msg-project-update-title",children:n.title}),c.jsx(ti,{content:h,className:"msg-project-update-summary"}),n.deliverables.length>0&&c.jsxs("div",{className:"msg-project-update-section",children:[c.jsx("div",{className:"msg-project-update-section-label",children:"Outputs"}),c.jsx("div",{className:"msg-project-update-artifacts",children:n.deliverables.slice(0,6).map((p,g)=>c.jsxs("div",{className:"msg-project-update-artifact",children:[c.jsx("span",{className:"msg-project-update-artifact-name",children:p.name}),p.status&&c.jsx("span",{className:"msg-project-update-artifact-status",children:p.status}),p.path&&c.jsx("code",{className:"msg-project-update-artifact-path",children:p.path})]},`${p.path||p.name}-${g}`))})]}),(n.risks.length>0||n.nextActions.length>0)&&c.jsxs("div",{className:"msg-project-update-grid",children:[n.risks.length>0&&c.jsxs("div",{className:"msg-project-update-section",children:[c.jsx("div",{className:"msg-project-update-section-label",children:"Caveats"}),c.jsx("ul",{className:"msg-project-update-list",children:n.risks.map((p,g)=>c.jsx("li",{children:p},`risk-${g}`))})]}),n.nextActions.length>0&&c.jsxs("div",{className:"msg-project-update-section",children:[c.jsx("div",{className:"msg-project-update-section-label",children:"Next"}),c.jsx("ul",{className:"msg-project-update-list",children:n.nextActions.map((p,g)=>c.jsx("li",{children:p},`next-${g}`))})]})]}),c.jsx("div",{className:"msg-card-actions",children:c.jsx("button",{className:"msg-action-btn",onClick:()=>a(t.id,t.content),title:"Copy raw update",children:o?c.jsxs(c.Fragment,{children:[c.jsx(Nl,{})," ",c.jsx("span",{children:"Copied"})]}):c.jsxs(c.Fragment,{children:[c.jsx(Cm,{})," ",c.jsx("span",{children:"Copy raw"})]})})})]})]})]})]})}),SF=St.memo(function({msg:t,showDate:n,dateStr:i,isGrouped:r,isCopied:o,isCheckpointResponded:a,suppressCheckpointPanel:u,onCopy:d,onSend:m}){const h=!!t.senderDeleted,p=h?"[Deleted]":t.senderName,g=yv(t.sender==="system"?t.senderName||"OPC":t.sender),y=t.channelId.startsWith("session:")?t.channelId.slice(8):t.metadata?.taskId??t.metadata?.task_id,v=String(t.metadata?.checkpoint_type??"").trim(),k=I0(t.metadata),S=lu(t.metadata)&&!u;return c.jsxs("div",{children:[n&&c.jsx("div",{className:"msg-date-sep",children:c.jsx("span",{children:i})}),c.jsxs("div",{className:`msg-row agent${r?" grouped":""}${h?" deleted-sender":""}`,children:[r?c.jsx("div",{className:"msg-avatar-spacer"}):c.jsx("div",{className:"msg-avatar agent-avatar",style:{background:g},children:p.charAt(0).toUpperCase()}),c.jsxs("div",{className:"msg-body",children:[!r&&c.jsxs("div",{className:"msg-agent-header",children:[c.jsx("span",{className:`msg-sender${h?" deleted":""}`,style:{color:g},children:p}),c.jsx("span",{className:"msg-time",title:Zr(t.timestamp),children:Es(t.timestamp)})]}),t.replyToId&&c.jsx("div",{className:"msg-reply-indicator",children:"Replying to previous message"}),S?c.jsxs(c.Fragment,{children:[v==="company_recruitment_confirmation"&&c.jsx(xI,{meta:t.metadata,onReply:(_,w)=>m?.(_,y,w),responded:a}),v==="company_staffing_selection"&&c.jsx(bI,{meta:t.metadata,onReply:(_,w)=>m?.(_,y,w),responded:a}),v==="company_work_item_gate"&&c.jsx(sm,{meta:t.metadata,onReply:_=>m?.(_,y,k),responded:a}),v==="company_delivery_feedback"&&c.jsx(kI,{meta:t.metadata,onReply:(_,w)=>m?.(_,y,w??k),responded:a}),v==="company_reorg_pending"&&c.jsx(_I,{meta:t.metadata,onReply:_=>m?.(_,y,k),responded:a}),v==="human_escalation"&&c.jsx(sm,{meta:t.metadata,onReply:_=>m?.(_,y,k),responded:a}),v==="task_user_input"&&c.jsx(SI,{meta:t.metadata,onReply:(_,w)=>m?.(_,y,{...k,...w}),responded:a})]}):c.jsxs("div",{className:"msg-content-agent-card",style:{borderLeftColor:g},children:[c.jsx(ti,{content:t.content}),c.jsxs("div",{className:"msg-card-actions",children:[c.jsx("button",{className:"msg-action-btn",onClick:()=>d(t.id,t.content),title:"Copy message",children:o?c.jsxs(c.Fragment,{children:[c.jsx(Nl,{})," ",c.jsx("span",{children:"Copied"})]}):c.jsxs(c.Fragment,{children:[c.jsx(Cm,{})," ",c.jsx("span",{children:"Copy"})]})}),r&&c.jsx("span",{className:"msg-time msg-time-inline",title:Zr(t.timestamp),children:Es(t.timestamp)})]})]})]})]})]})}),Ja=St.memo(function({messages:t,channelName:n,viewKind:i="session",detailMode:r="summary",agentStatus:o,currentTool:a,toolElapsedMs:u,lastToolSummary:d,progressLog:m,draftAssistantText:h,draftUpdatedAt:p,draftIteration:g,draftTurnId:y,isCompanyRuntime:v,workItemLog:k,childSessions:S,roleWorkItems:_,executorRoleWorkItems:w,onSend:C,onWorkItemClick:N,onWorkItemOpenSession:O,onMarkRead:I,hasOlderHistory:D=!1,totalMessageCount:T,onLoadOlderHistory:L,loadingOlderHistory:A=!1,autoScroll:M=!0,initialScrollToBottom:$=!0,showWorkItemRuntimeCard:W=!0,showRuntimeProgress:B=!0,renderUserMarkdown:U=!1}){const F=E.useRef(null),[V,Y]=E.useState(null),[Q,q]=E.useState(null),[G,J]=E.useState(Kw),P=E.useRef(M),K=E.useRef($),ee=E.useRef(null),te=E.useRef(0),ie=E.useRef(null),oe=E.useCallback(()=>{const Ie=F.current;if(!Ie)return;const Te=tF(Ie),{programmatic:Ke,pinned:We}=nF({scrollTop:Ie.scrollTop,expectedScrollTop:ee.current,nearBottom:Te,followEnabled:M});Ke||(ee.current=null,P.current=We),Te&&I?.()},[M,I]),se=(k?.length??0)+(S?.length??0),_e=E.useMemo(()=>{const Ie=t.filter(Te=>rF(Te,r));return v?Ie.filter(Te=>!(Te.metadata?.type==="system"&&Te.content.startsWith("[Company:")||!B&&Te.content.startsWith("[Company:"))):Ie},[r,v,t,B]),we=i==="session"&&!!C,Ce=E.useMemo(()=>T0(_e),[_e]),Be=E.useMemo(()=>we?_e.filter(Ie=>Ce.pendingMessageIds.has(Ie.id)):[],[Ce.pendingMessageIds,_e,we]),Ve=E.useMemo(()=>we?_e.filter(Ie=>!Ce.pendingMessageIds.has(Ie.id)):_e,[Ce.pendingMessageIds,_e,we]),Ye=E.useMemo(()=>{const Ie=new Set;for(const Te of m??[]){if(Te.type!=="thinking")continue;const Ke=String(Te.turnId??"").trim();Ke&&Ie.add(Ke)}return Ie},[m]),ht=E.useMemo(()=>{const Ie=[];for(const Te of Ve){const Ke=String(Te.metadata?.runtime_thinking??"").trim();if(!Ke)continue;const We=String(Te.metadata?.canonical_turn_id??Te.metadata?.turn_id??"").trim();We&&Ye.has(We)||Ie.push({type:"thinking",summary:"Thinking",detail:Ke,timestamp:Math.max(0,Te.timestamp-1),turnId:We||void 0,itemId:We?`${We}:thinking`:`thinking:${Te.id}`,streamId:We?`${We}:thinking`:`thinking:${Te.id}`,executionMode:String(Te.metadata?.execution_mode??"").trim()||void 0})}return Ie},[Ye,Ve]),zt=E.useMemo(()=>B?[...(m??[]).filter(Ie=>YS.has(Ie.type)),...ht].sort((Ie,Te)=>Ie.timestamp-Te.timestamp):[],[m,B,ht]),bt=E.useMemo(()=>B?(m??[]).filter(Ie=>!YS.has(Ie.type)):[],[m,B]),Nt=E.useMemo(()=>B?r==="full"?m??[]:zt:[],[r,zt,m,B]),me=E.useMemo(()=>bt,[bt]),ze=E.useMemo(()=>{const Ie=String(h??"").trim();return Ie?{kind:"draft",id:`draft-${y??g??"active"}`,timestamp:p??Date.now(),text:Ie,iteration:g,sortOrder:Number.MAX_SAFE_INTEGER}:null},[h,g,y,p]),lt=!!o&&o!=="idle",tt=me.length>0,qe=B&&r!=="full"&&(lt||tt),ce=E.useMemo(()=>{const Ie=[...yF(Ve,{isCompanyRuntime:v,detailMode:r}),...Nt.map((Te,Ke)=>({kind:"progress",id:`progress-${cN(Te,Ke)}`,timestamp:Te.timestamp,entry:Te,sortOrder:Ke*2}))];return Ie.sort((Te,Ke)=>Te.timestamp-Ke.timestamp||Te.sortOrder-Ke.sortOrder),ze&&Ie.push(ze),Ie},[r,ze,v,Ve,Nt]),ve=Math.max(0,ce.length-G),Ae=E.useMemo(()=>ve>0?ce.slice(-G):ce,[ve,ce,G]);E.useEffect(()=>{J(Kw)},[n,i]),E.useEffect(()=>{P.current=M,K.current=$,ee.current=null},[n,i,M,$]);const $e=E.useMemo(()=>{let Ie="";return Ae.map((Te,Ke)=>{const We=new Date(Te.timestamp).toLocaleDateString(),gt=We!==Ie;gt&&(Ie=We);const Oe=Ke>0?Ae[Ke-1]:null,nt=Te.kind==="message"&&Oe?.kind==="message"&&!gt&&Oe.msg.sender===Te.msg.sender&&Oe.msg.senderName===Te.msg.senderName&&Te.msg.metadata?.type!=="system"&&Oe.msg.metadata?.type!=="system"&&!Te.msg.metadata?.is_work_item_event&&!Oe.msg.metadata?.is_work_item_event&&Te.msg.timestamp-Oe.msg.timestamp{iF(Te).then(Ke=>{Ke&&(Y(Ie),setTimeout(()=>Y(null),1500))})},[]),Kt=E.useCallback(async()=>{if(ve>0){J(Ie=>Math.min(ce.length,Ie+nx));return}!D||A||!L||(await L(_e[0]),J(Ie=>Ie+nx))},[_e,D,ve,A,L,ce.length]),Yt=ZH[i],be=!!(r!=="full"&&W&&v&&se>0),Re=Be.length>0,Ue=E.useMemo(()=>{const Ie=[];(ve>0||D)&&Ie.push({kind:"history-hint"});for(let Te=0;Te<$e.length;Te++)Ie.push({kind:"timeline",idx:Te});return be&&Ie.push({kind:"work-item-runtime-card"}),qe&&Ie.push({kind:"progress-block"}),Re&&Ie.push({kind:"pending-section"}),Ie.push({kind:"end-anchor"}),Ie},[$e.length,ve,D,be,qe,Re]),Xe=Gj({count:Ue.length,getScrollElement:()=>F.current,estimateSize:Ie=>{const Te=Ue[Ie];if(Te.kind==="end-anchor")return 1;if(Te.kind==="history-hint")return 48;if(Te.kind==="work-item-runtime-card")return 120;if(Te.kind==="progress-block")return 80;if(Te.kind==="pending-section")return 200;const Ke=$e[Te.idx];if(Ke?.item.kind==="message"){const We=Ke.item.msg.content.length;return We<100?72:We<500?120:We<2e3?200:300}return Ke?.item.kind==="draft"?Ke.item.text.length<400?120:200:Ke?.item.kind==="ops-bundle"?Ke.item.events.length>8?92:48:80},overscan:15,getItemKey:Ie=>{const Te=Ue[Ie];return Te.kind==="timeline"?$e[Te.idx]?.item.id??`tl-${Te.idx}`:Te.kind}}),Ge=E.useCallback(()=>{const Ie=F.current;Ie&&(Ie.scrollTop=Math.max(0,Ie.scrollHeight-Ie.clientHeight),ee.current=Ie.scrollTop)},[]);E.useEffect(()=>{if(!M||typeof ResizeObserver>"u")return;const Ie=ie.current;if(!Ie)return;const Te=new ResizeObserver(()=>{K.current||!P.current||Ge()});return Te.observe(Ie),()=>Te.disconnect()},[M,Ge,Ue.length]);const Je=Ve.length,qn=E.useMemo(()=>{const Ie=ce[ce.length-1],Te=Ie?.kind==="message"?`message:${Ie.id}:${Ie.msg.content.length}:${Ie.timestamp}`:Ie?.kind==="draft"?`draft:${Ie.id}:${Ie.text.length}:${Ie.timestamp}`:Ie?.kind==="progress"?`progress:${Ie.id}:${Ie.entry.summary.length}:${Ie.entry.detail?.length??0}:${Ie.timestamp}`:Ie?.kind==="ops-bundle"?`ops:${Ie.id}:${Ie.events.length}:${Ie.timestamp}`:"empty",Ke=me[me.length-1],We=Ke?`${Ke.type}:${Ke.summary.length}:${Ke.detail?.length??0}:${Ke.timestamp}`:"none";return[Ue.length,Je,Te,me.length,We,Be.length,se,qe?`${o??""}:${a??""}`:""].join("|")},[o,me,a,Je,Be.length,qe,ce,Ue.length,se]);E.useLayoutEffect(()=>{const Ie=ce.length>0||Be.length>0||se>0||qe;!K.current||!Ie||(K.current=!1,te.current=Je,Ge(),M&&I?.())},[ce.length>0,qe]),E.useLayoutEffect(()=>{!M||K.current||!P.current||Ge()},[M,Ge,qn]),E.useEffect(()=>{!M||K.current||!P.current||Je<=te.current||(te.current=Je,I?.())},[Je,M,I]);const In=E.useCallback(Ie=>{if(Ie.kind==="history-hint")return c.jsxs("div",{className:"msg-history-hint",children:[c.jsx("button",{className:"msg-history-load-btn",onClick:()=>{Kt()},disabled:A,children:A?"Loading older messages...":ve>0?`Load ${Math.min(nx,ve)} older messages`:"Load older messages"}),c.jsxs("span",{className:"msg-history-meta",children:["Showing latest ",Ae.length," of ",T??ce.length]})]});if(Ie.kind==="work-item-runtime-card")return c.jsxs("div",{className:"msg-row agent",children:[c.jsx("div",{className:"msg-avatar agent-avatar",children:c.jsx(Fo,{})}),c.jsx("div",{className:"msg-body",children:c.jsx(Qy,{workItemLog:k??[],roleWorkItems:_,executorRoleWorkItems:w,childSessions:S,isCompanyRuntime:v,onWorkItemClick:N})})]});if(Ie.kind==="progress-block")return c.jsxs("div",{className:"msg-row agent agent-working-row",children:[c.jsx("div",{className:"msg-avatar agent-avatar",children:c.jsx(Fo,{})}),c.jsx("div",{className:"msg-body",children:c.jsx(Wo,{entries:me,agentStatus:o,currentTool:a,toolElapsedMs:u,lastToolSummary:d,expandedByDefault:!0})})]});if(Ie.kind==="pending-section")return c.jsxs("div",{className:"msg-pending-section",children:[c.jsx("div",{className:"msg-pending-header",children:"Pending Actions"}),c.jsx("div",{className:"msg-pending-stack",children:Be.map(dt=>{const jn=dt.senderDeleted?"[Deleted]":dt.senderName,Jt=yv(dt.sender==="system"?dt.senderName||"OPC":dt.sender),En=dt.channelId.startsWith("session:")?dt.channelId.slice(8):dt.metadata?.taskId??dt.metadata?.task_id,hn=String(dt.metadata?.checkpoint_type??"").trim(),jt=I0(dt.metadata);return c.jsxs("div",{className:`msg-row agent msg-row-pending${dt.senderDeleted?" deleted-sender":""}`,children:[c.jsx("div",{className:"msg-avatar agent-avatar",style:{background:Jt},children:jn.charAt(0).toUpperCase()}),c.jsxs("div",{className:"msg-body",children:[c.jsxs("div",{className:"msg-agent-header",children:[c.jsx("span",{className:`msg-sender${dt.senderDeleted?" deleted":""}`,style:{color:Jt},children:jn}),c.jsx("span",{className:"msg-time",title:Zr(dt.timestamp),children:Es(dt.timestamp)})]}),hn==="company_recruitment_confirmation"&&c.jsx(xI,{meta:dt.metadata,onReply:(yt,gn)=>C?.(yt,En,gn),responded:!1}),hn==="company_staffing_selection"&&c.jsx(bI,{meta:dt.metadata,onReply:(yt,gn)=>C?.(yt,En,gn),responded:!1}),hn==="company_work_item_gate"&&c.jsx(sm,{meta:dt.metadata,onReply:yt=>C?.(yt,En,jt),responded:!1}),hn==="company_delivery_feedback"&&c.jsx(kI,{meta:dt.metadata,onReply:(yt,gn)=>C?.(yt,En,gn??jt),responded:!1}),hn==="company_reorg_pending"&&c.jsx(_I,{meta:dt.metadata,onReply:yt=>C?.(yt,En,jt),responded:!1}),hn==="human_escalation"&&c.jsx(sm,{meta:dt.metadata,onReply:yt=>C?.(yt,En,jt),responded:!1}),hn==="task_user_input"&&c.jsx(SI,{meta:dt.metadata,onReply:(yt,gn)=>C?.(yt,En,{...jt,...gn}),responded:!1})]})]},`pending-${dt.id}`)})})]});if(Ie.kind==="end-anchor")return c.jsx("div",{className:"msg-end-anchor"});const{item:Te,showDate:Ke,dateStr:We,isGrouped:gt}=$e[Ie.idx];if(Te.kind==="progress")return c.jsx(dF,{entry:Te.entry,showDate:Ke,dateStr:We,compact:r!=="full"});if(Te.kind==="draft")return c.jsx(hF,{text:Te.text,timestamp:Te.timestamp,iteration:Te.iteration,showDate:Ke,dateStr:We});if(Te.kind==="ops-bundle")return c.jsx(bF,{events:Te.events,showDate:Ke,dateStr:We});const{msg:Oe}=Te,nt=Oe.metadata?.type==="system",on=sF(Oe),Zt=!!Oe.metadata?.is_work_item_event||Oe.content.startsWith("[Company:"),_t=lu(Oe.metadata),Qt=Oe.sender==="user",Cn=!Qt&&!_t?wI(Oe.content):null;if(Zt&&!_t)return c.jsx(fF,{msg:Oe,showDate:Ke,dateStr:We});if(Cn)return c.jsx(kF,{msg:Oe,payload:Cn,showDate:Ke,dateStr:We,isCopied:V===Oe.id,onCopy:He});if(on&&!_t)return c.jsx(pF,{msg:Oe,showDate:Ke,dateStr:We});if(nt&&!_t)return c.jsx(mF,{msg:Oe,showDate:Ke,dateStr:We});if(Qt)return c.jsx(gF,{msg:Oe,showDate:Ke,dateStr:We,isGrouped:gt,isCopied:V===Oe.id,onCopy:He,onImageClick:q,renderUserMarkdown:U});if(Oe.sender==="system"&&(String(Oe.metadata?.checkpoint_type??"").trim(),!lu(Oe.metadata))){const dt=CI(Oe.content);if(dt)return c.jsx(vF,{msg:Oe,showDate:Ke,dateStr:We,isGrouped:gt,classification:dt})}return c.jsx(SF,{msg:Oe,showDate:Ke,dateStr:We,isGrouped:gt,isCopied:V===Oe.id,isCheckpointResponded:Ce.respondedMessageIds.has(Oe.id),suppressCheckpointPanel:Ce.duplicateMessageIds.has(Oe.id),onCopy:He,onSend:C})},[$e,V,He,U,Ce,C,Kt,A,ve,Ae.length,T,ce.length,k,_,w,S,t,N,O,me,o,a,u,d,Be,qe,r]);if(ce.length===0&&Be.length===0)return c.jsxs("div",{className:"msg-list",ref:F,onScroll:oe,children:[c.jsxs("div",{className:"msg-welcome",children:[c.jsx("div",{className:"msg-welcome-icon",children:Yt.icon}),c.jsx("div",{className:"msg-welcome-title",children:n||Yt.title}),c.jsx("div",{className:"msg-welcome-hint",children:Yt.hint})]}),be&&c.jsxs("div",{className:"msg-row agent",children:[c.jsx("div",{className:"msg-avatar agent-avatar",children:c.jsx(Fo,{})}),c.jsx("div",{className:"msg-body",children:c.jsx(Qy,{workItemLog:k??[],roleWorkItems:_,executorRoleWorkItems:w,childSessions:S,isCompanyRuntime:v,onWorkItemClick:N})})]}),qe&&c.jsxs("div",{className:"msg-row agent",children:[c.jsx("div",{className:"msg-avatar agent-avatar",children:c.jsx(Fo,{})}),c.jsx("div",{className:"msg-body",children:c.jsx(Wo,{entries:me,agentStatus:o,currentTool:a,toolElapsedMs:u,lastToolSummary:d,expandedByDefault:!0})})]}),c.jsx("div",{className:"msg-end-anchor"})]});const Dn=Xe.getVirtualItems();return c.jsxs("div",{className:"msg-list",ref:F,onScroll:oe,children:[c.jsx("div",{ref:ie,style:{height:Xe.getTotalSize(),width:"100%",position:"relative"},children:c.jsx("div",{style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${Dn[0]?.start??0}px)`},children:Dn.map(Ie=>c.jsx("div",{"data-index":Ie.index,ref:Xe.measureElement,children:In(Ue[Ie.index])},Ie.key))})}),Q&&c.jsx("div",{className:"lightbox-overlay",onClick:()=>q(null),children:c.jsx("img",{className:"lightbox-img",src:Q,alt:"Preview"})})]})}),wF=10*1024*1024,CF=20*1024*1024,jF="image/*,video/mp4,video/mpeg,video/quicktime,video/webm,.mp4,.mpeg,.mpg,.mov,.webm,.txt,.md,.pdf,.csv,.json,.yaml,.yml,.py,.js,.ts,.tsx,.jsx,.html,.css,.java,.c,.cpp,.go,.rs,.rb,.sh,.xml,.toml,.docx,.xlsx,.pptx",af={native:"OpenOPC Native",codex:"Codex",claude_code:"Claude Code",cursor:"Cursor",opencode:"OpenCode"};function EF(e,t){return new Promise((n,i)=>{const r=new FileReader;r.onprogress=o=>{o.lengthComputable&&t?.(Math.round(o.loaded/o.total*100))},r.onload=()=>{const o=r.result;t?.(100),n(o.split(",")[1]||"")},r.onerror=i,r.readAsDataURL(e)})}function Jw(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(0)}KB`:`${(e/(1024*1024)).toFixed(1)}MB`}function jI(e,t){const n=t.includes(".")?t.split(".").pop()?.toUpperCase()??"":"";return e.startsWith("image/")?"IMG":e.startsWith("video/")?"VID":e==="application/pdf"?"PDF":e.includes("wordprocessingml")?"DOC":e.includes("spreadsheetml")||n==="CSV"?"XLS":e.includes("presentationml")?"PPT":e.includes("json")?"JSON":e.includes("yaml")||n==="YML"||n==="YAML"?"YAML":e.startsWith("text/")?"TXT":["PY","TS","TSX","JS","JSX","GO","RS","RB","JAVA","C","CPP","HTML","CSS","SH"].includes(n)?n:n||"FILE"}function NF(e,t){const n=jI(e,t);return n==="IMG"?"image":n==="VID"?"video":n==="PDF"?"pdf":n==="DOC"||n==="XLS"||n==="PPT"?"office":n==="JSON"||n==="YAML"?"data":n==="TXT"?"text":["PY","TS","TSX","JS","JSX","GO","RS","RB","JAVA","C","CPP","HTML","CSS","SH"].includes(n)?"code":"generic"}function IF({progress:e,state:t,error:n}){const r=2*Math.PI*11,o=n||t==="ready"?100:Math.max(0,Math.min(e,100)),a=r*(1-o/100);return c.jsxs("span",{className:`attachment-progress-ring${n?" error":t==="ready"?" ready":""}`,"aria-label":n?"Attachment preparation failed":t==="ready"?"Attachment ready to send":`Preparing attachment ${o}%`,role:"img",children:[c.jsxs("svg",{viewBox:"0 0 28 28","aria-hidden":"true",children:[c.jsx("circle",{className:"attachment-progress-track",cx:"14",cy:"14",r:11}),c.jsx("circle",{className:"attachment-progress-value",cx:"14",cy:"14",r:11,strokeDasharray:r,strokeDashoffset:a})]}),c.jsx("span",{className:"attachment-progress-center",children:n?"!":t==="ready"?c.jsx(Nl,{}):o})]})}function TF({usedPct:e,usedTokens:t,windowTokens:n}){const r=2*Math.PI*11,o=Math.max(0,Math.min(e,100)),a=r*(1-o/100),u=o>=80,d=o>=90,m=typeof t=="number"&&typeof n=="number"?`${o}% used (${t.toLocaleString()}/${n.toLocaleString()})`:`${o}% used`;return c.jsxs("span",{className:`composer-context-ring${u?" low":""}${d?" critical":""}`,title:`Context window: ${m}`,"aria-label":`Context window ${m}`,role:"img",children:[c.jsxs("svg",{viewBox:"0 0 28 28","aria-hidden":"true",children:[c.jsx("circle",{className:"composer-context-ring-track",cx:"14",cy:"14",r:11}),c.jsx("circle",{className:"composer-context-ring-value",cx:"14",cy:"14",r:11,strokeDasharray:r,strokeDashoffset:a})]}),c.jsx("span",{className:"composer-context-ring-label",children:o})]})}function ix(e){return e.organization_name?.trim()||e.name}function rx({disabled:e,placeholder:t,channelId:n,execMode:i,companyProfile:r,taskPreferredAgent:o="native",agentStatus:a,currentTool:u,displayTool:d,activeAgentCount:m,runtimeControlState:h,canStop:p,autoFocus:g=!0,contextTokens:y,contextWindow:v,contextRemainingPct:k,savedOrgs:S,activeSavedOrg:_,selectedOrgId:w,lockedMode:C=!1,onSend:N,onModeChange:O,onTaskAgentChange:I,onSavedOrgsRefresh:D,onSavedOrgLoad:T,onStop:L,onContinueInNewChat:A}){const[M,$]=E.useState(""),[W,B]=E.useState(!1),[U,F]=E.useState([]),[V,Y]=E.useState(null),Q=E.useRef(null),q=E.useRef(null),G=h==="suspending",J=h==="running"||h==="suspending"||h==="resuming",P=h==="suspended",K=h!=null,ee=J||!K&&a!=null&&a!=="idle",te=(p??!0)&&!G&&!P,ie=E.useMemo(()=>Xj({contextTokens:y,contextWindow:v,contextRemainingPct:k}),[k,y,v]);E.useEffect(()=>{const be=Q.current;be&&(be.style.height="auto",be.style.height=`${Math.min(be.scrollHeight,200)}px`)},[M]),E.useEffect(()=>{$(""),F(be=>(be.forEach(Re=>{Re.preview_url&&URL.revokeObjectURL(Re.preview_url)}),[])),!e&&g&&setTimeout(()=>Q.current?.focus(),50)},[n,e,g]);const oe=E.useCallback((be,Re)=>{F(Ue=>Ue.map(Xe=>Xe.id===be?Re(Xe):Xe))},[]),fe=E.useCallback(async(be,Re)=>{try{const Ue=await EF(Re,Xe=>{oe(be,Ge=>({...Ge,progress_percent:Xe,transfer_state:"reading"}))});oe(be,Xe=>({...Xe,base64_data:Ue,progress_percent:100,transfer_state:"ready"}))}catch{oe(be,Ue=>({...Ue,error:"Failed to prepare file",progress_percent:0,transfer_state:"error"}))}},[oe]),se=E.useCallback(be=>{const Re=Array.from(be);let Ue=U.reduce((Ge,Je)=>Ge+Je.size_bytes,0);const Xe=Re.map(Ge=>{let Je;return Ge.size>wF?Je=`Too large (${Jw(Ge.size)})`:Ue+Ge.size>CF?Je="Total size exceeds 20MB":Ue+=Ge.size,{id:crypto.randomUUID(),file:Ge,filename:Ge.name||"upload",mime_type:Ge.type||"application/octet-stream",size_bytes:Ge.size,preview_url:Ge.type.startsWith("image/")?URL.createObjectURL(Ge):"",progress_percent:0,transfer_state:Je?"error":"reading",error:Je}});F(Ge=>[...Ge,...Xe]),Xe.filter(Ge=>!Ge.error).forEach(Ge=>{fe(Ge.id,Ge.file)})},[U,fe]),_e=E.useCallback(be=>{F(Re=>{const Ue=Re.find(Xe=>Xe.id===be);return Ue?.preview_url&&URL.revokeObjectURL(Ue.preview_url),Re.filter(Xe=>Xe.id!==be)})},[]),we=E.useCallback(()=>{if(e||ee)return;const be=M.trim(),Re=U.filter(Ge=>!Ge.error&&Ge.transfer_state==="reading"),Ue=U.filter(Ge=>!Ge.error&&!!Ge.base64_data);if(Re.length>0||!be&&Ue.length===0)return;const Xe=Ue.map(Ge=>({filename:Ge.filename,data:Ge.base64_data,mime_type:Ge.mime_type}));N(be||"Sent with attachments",Xe.length?Xe:void 0),$(""),U.forEach(Ge=>{Ge.preview_url&&URL.revokeObjectURL(Ge.preview_url)}),F([])},[e,ee,M,U,N]),Ce=E.useCallback(be=>{const Re=be.clipboardData?.files;Re&&Re.length>0&&(be.preventDefault(),se(Re))},[se]),Be=String(r??"").trim().toLowerCase(),Ve=i==="company"?"company":i==="org"||i==="custom"||Be==="custom"?"org":"task",Ye=E.useMemo(()=>(S??[]).filter(be=>!!be.name&&be.name!=="corporate"),[S]),ht=_?Ye.find(be=>be.name===_):void 0,zt=w?Ye.find(be=>be.name===w):void 0,bt=ht?ix(ht):_||"",Nt=zt?ix(zt):w||bt,me=zt?.name||w||ht?.name||"",ze=Ve==="task"?"task":"company",lt=Ve==="org"?me?`org:${me}`:"":"corporate",tt=Ve==="org"?Nt?`Company / ${Nt}`:"Company / Saved org":"Company / Corporate",qe=ze==="task"?"Task":tt,ce=!!i&&!!O,ve=Ve==="task"&&!!I,Ae=E.useMemo(()=>{const be=Ve==="task"?"task":Ve==="org"?`org:${me||"selected"}`:"company:corporate",Re=me||ht?.name||"",Ue=Nt||bt||Re,Xe=[{key:"task",mode:"task",label:"Task",description:"A single agent handles the request",icon:c.jsx(C4,{})},{key:"company:corporate",mode:"company",profile:"corporate",label:"Company / Corporate",description:"A team of roles collaborates",icon:c.jsx(j4,{})}];return Re&&Xe.push({key:`org:${Re}`,mode:"org",profile:"custom",orgId:Re,label:`Company / ${Ue}`,description:"A saved company architecture collaborates",icon:c.jsx(E4,{})}),Xe.filter(Ge=>Ge.key!==be)},[bt,ht?.name,Ve,Nt,me]),$e=U.filter(be=>!be.error&&be.transfer_state==="reading").length,He=U.filter(be=>!be.error&&be.transfer_state==="ready").length,Kt=d||u,Yt=ee?G?"Stopping...":m&&m>1?`${m} agents working`:Kt?`Running ${Kt}`:a==="reflecting"?"Thinking...":"Working...":null;return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:`msg-composer${W?" focused":""}${ee?" working":""}`,children:[ee&&Yt&&c.jsxs("div",{className:"composer-status",children:[c.jsx("div",{className:"composer-status-indicator"}),c.jsx("span",{className:"composer-status-text",children:Yt}),c.jsxs("button",{className:"composer-stop-btn",onClick:L,title:"Stop",disabled:!te||!L,children:[c.jsx(qj,{}),c.jsx("span",{children:G?"Stopping...":"Stop"})]})]}),U.length>0&&c.jsx("div",{className:"composer-attachments",children:U.map(be=>c.jsxs("div",{className:`attachment-chip${be.error?" error":""}`,children:[be.preview_url?c.jsx("img",{className:"attachment-thumb",src:be.preview_url,alt:be.filename,onClick:()=>Y(be.preview_url)}):c.jsx("span",{className:`attachment-file-icon tone-${NF(be.mime_type,be.filename)}`,children:jI(be.mime_type,be.filename)}),c.jsxs("span",{className:"attachment-chip-info",children:[c.jsx("span",{className:"attachment-chip-name",children:be.filename}),c.jsx("span",{className:"attachment-chip-size",children:be.error?be.error:be.transfer_state==="reading"?`Preparing ${be.progress_percent}%`:`${Jw(be.size_bytes)} - Ready`})]}),c.jsx(IF,{progress:be.progress_percent,state:be.transfer_state,error:be.error}),c.jsx("button",{className:"attachment-chip-remove",onClick:()=>_e(be.id),title:"Remove",children:c.jsx(Em,{})})]},be.id))}),c.jsxs("div",{className:"composer-input-area",children:[c.jsx("textarea",{ref:Q,value:M,onChange:be=>$(be.target.value),onFocus:()=>B(!0),onBlur:()=>B(!1),onPaste:Ce,onKeyDown:be=>{be.key==="Enter"&&!be.shiftKey&&(be.preventDefault(),we())},placeholder:t??"Message...",rows:1,disabled:e}),c.jsxs("div",{className:"composer-bottom",children:[c.jsx("button",{className:"composer-attach-btn",onClick:()=>q.current?.click(),title:"Attach files",disabled:e,children:c.jsx(y4,{})}),c.jsx("input",{ref:q,type:"file",multiple:!0,accept:jF,style:{display:"none"},onChange:be=>{be.target.files&&se(be.target.files),be.target.value=""}}),(ce||i)&&c.jsxs("div",{className:"composer-config-group","data-locked":C?"true":void 0,children:[ce&&!C?c.jsxs("label",{className:"composer-mode-inline","data-kind":"mode",title:"Execution mode for this chat and new work started from it",children:[c.jsx("span",{className:"composer-mode-inline-label",children:"Mode"}),c.jsx("span",{className:"composer-mode-select-wrap",children:c.jsxs("select",{className:"composer-mode-select",value:ze,onChange:be=>{if(be.target.value==="task"){O?.("task");return}O?.("company","corporate")},onFocus:()=>D?.(),onPointerDown:()=>D?.(),disabled:e,"aria-label":"Execution mode",children:[c.jsx("option",{value:"task",children:"Task"}),c.jsx("option",{value:"company",children:"Company"})]})})]}):ce&&C?c.jsxs("div",{className:"composer-mode-chip","data-kind":"mode",tabIndex:0,role:"group","aria-label":`Mode locked to ${qe}.${A?" Use the menu to start a new chat in a different mode.":" Start a new chat to use a different mode."}`,children:[c.jsx("span",{className:"composer-mode-chip-icon","aria-hidden":"true",children:c.jsx(Zk,{})}),c.jsx("span",{className:"composer-mode-chip-label",children:qe}),c.jsxs("div",{className:"composer-mode-chip-popover",role:"dialog","aria-label":"Mode info",children:[c.jsx("div",{className:"composer-mode-chip-popover-title",children:"Mode is fixed for this chat"}),c.jsxs("div",{className:"composer-mode-chip-popover-body",children:["Once the first message is sent, this chat is committed to"," ",c.jsx("strong",{children:qe}),"."]}),A&&Ae.length>0&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"composer-mode-chip-popover-divider","aria-hidden":"true"}),c.jsx("div",{className:"composer-mode-chip-popover-action-title",children:"Continue in a new chat"}),c.jsx("div",{className:"composer-mode-chip-popover-actions",children:Ae.map(be=>c.jsxs("button",{type:"button",className:"composer-mode-chip-popover-action",onClick:()=>A(be.mode,be.profile,be.orgId),"aria-label":`Start a new chat in ${be.label}`,children:[c.jsx("span",{className:"composer-mode-chip-popover-action-icon","aria-hidden":"true",children:be.icon}),c.jsxs("span",{className:"composer-mode-chip-popover-action-text",children:[c.jsx("span",{className:"composer-mode-chip-popover-action-label",children:be.label}),c.jsx("span",{className:"composer-mode-chip-popover-action-desc",children:be.description})]}),c.jsx("span",{className:"composer-mode-chip-popover-action-arrow","aria-hidden":"true",children:c.jsx(Yj,{})})]},be.key))})]})]})]}):c.jsx("span",{className:"composer-mode","data-kind":"mode",children:qe}),ze==="company"&&ce&&!C&&c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"composer-config-divider","aria-hidden":"true"}),c.jsxs("label",{className:"composer-mode-inline","data-kind":"org",title:"Company architecture for this chat",children:[c.jsx("span",{className:"composer-mode-inline-label",children:"Company"}),c.jsx("span",{className:"composer-mode-select-wrap",children:c.jsxs("select",{className:"composer-mode-select",value:lt,onChange:be=>{const Re=be.target.value;if(Re==="corporate"){O?.("company","corporate");return}if(Re.startsWith("org:")){const Ue=Re.slice(4);Ue&&O?.("org","custom",Ue)}},onFocus:()=>D?.(),onPointerDown:()=>D?.(),disabled:e,"aria-label":"Company architecture",children:[c.jsx("option",{value:"corporate",children:"Corporate"}),!lt&&c.jsx("option",{value:"",disabled:!0,children:"Select saved org"}),lt&<!=="corporate"&&!Ye.some(be=>`org:${be.name}`===lt)&&c.jsx("option",{value:lt,children:Nt||me}),Ye.length===0?c.jsx("option",{value:"",disabled:!0,children:"No saved orgs"}):Ye.map(be=>c.jsx("option",{value:`org:${be.name}`,children:ix(be)},be.name))]})})]})]}),Ve==="task"&&c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"composer-config-divider","aria-hidden":"true"}),ve&&!C?c.jsxs("label",{className:"composer-mode-inline","data-kind":"agent",title:"Execution agent for this task-mode chat",children:[c.jsx("span",{className:"composer-mode-inline-label",children:"Agent"}),c.jsx("span",{className:"composer-mode-select-wrap",children:c.jsx("select",{className:"composer-mode-select",value:o,onChange:be=>I?.(be.target.value),disabled:e,"aria-label":"Task mode agent",children:Object.entries(af).map(([be,Re])=>c.jsx("option",{value:be,children:Re},be))})})]}):ve&&C?c.jsxs("span",{className:"composer-mode-chip","data-kind":"agent",tabIndex:0,role:"status","aria-label":`Agent locked to ${af[o]}. Start a new chat to use a different agent.`,children:[c.jsx("span",{className:"composer-mode-chip-icon","aria-hidden":"true",children:c.jsx(Zk,{})}),c.jsx("span",{className:"composer-mode-chip-label",children:af[o]}),c.jsxs("span",{className:"composer-mode-chip-popover",role:"tooltip",children:[c.jsx("span",{className:"composer-mode-chip-popover-title",children:"Agent is fixed for this chat"}),c.jsx("span",{className:"composer-mode-chip-popover-body",children:"The execution agent is committed once the chat starts. Start a new chat to switch agents."})]})]}):c.jsx("span",{className:"composer-mode","data-kind":"agent",children:af[o]})]})]}),c.jsx("span",{className:"composer-hint",children:$e>0?`Preparing ${$e} attachment${$e>1?"s":""}`:He>0?`${He} attachment${He>1?"s":""} ready`:"Shift+Enter for new line"}),typeof ie.usedPct=="number"&&c.jsx(TF,{usedPct:ie.usedPct,usedTokens:ie.usedTokens,windowTokens:ie.windowTokens}),c.jsx("button",{className:"composer-send-btn",onClick:we,disabled:e||$e>0||!M.trim()&&He===0||ee,children:c.jsx(g4,{})})]})]})]}),V&&c.jsx("div",{className:"lightbox-overlay",onClick:()=>Y(null),children:c.jsx("img",{className:"lightbox-img",src:V,alt:"Preview"})})]})}function vv(e){return Nm(e)}function eC(e){const t=vv(e);return t==="tool_active"?0:t==="reflecting"?1:e.status==="running"?2:e.status==="pending"?3:e.status==="done"?5:e.status==="failed"?6:4}function bv(e){const t=Math.floor((Date.now()-e)/1e3);if(t<5)return"now";if(t<60)return`${t}s`;const n=Math.floor(t/60);return n<60?`${n}m`:`${Math.floor(n/60)}h`}function RF(e){return e.length===0?"โ€”":bv(e[e.length-1].timestamp)}function AF(e){if(e.status==="done")return"Completed";if(e.status==="failed")return"Failed";if(e.status==="cancelled")return"Cancelled";const t=vv(e);if(t==="tool_active"&&e.currentTool)return e.currentTool;if(t==="reflecting")return"Thinkingโ€ฆ";if(e.status==="pending")return"Pending";const n=e.progressLog;if(n.length>0){const i=n[n.length-1];return i.type==="work_item_started"?`Work item: ${i.summary}`:i.type==="tool_call"?i.summary:i.detail?i.detail.replace(/\s+/g," ").trim():i.summary}return"Idle"}function tC(e){return e==="done"?"โœ“":e==="failed"?"โœ—":e==="cancelled"?"โ€”":null}function nC(e){return e==="done"?"awp-terminal-done":e==="failed"?"awp-terminal-failed":e==="cancelled"?"awp-terminal-cancelled":""}const MF={native:"Native",codex:"Codex",claude_code:"Claude Code",cursor:"Cursor",opencode:"OpenCode"},sx={done:{cls:"awp-result-done",text:"Work item completed successfully"},failed:{cls:"awp-result-failed",text:"Work item failed"},cancelled:{cls:"awp-result-cancelled",text:"Work item cancelled"}},Jy={active:"Working",waiting:"Waiting",pending:"Pending",done:"Completed",failed:"Failed"},iC={active:0,waiting:1,pending:2,done:3,failed:4};function DF(e){if(e.runtimeStatus==="tool_active")return"Running toolโ€ฆ";if(e.runtimeStatus==="reflecting")return"Thinkingโ€ฆ";const t=Jy[e.aggregatedStatus]??"Pending";return e.aggregatedStatus==="done"?`${t} ยท ${e.workItems.length} work item${e.workItems.length===1?"":"s"}`:t}function OF(e){if(e.workItems.length===0)return"โ€”";const t=e.workItems.reduce((n,i)=>Math.max(n,i.updatedAt),0);return t?bv(t):"โ€”"}function LF(e){if(e.phase==="failed")return"failed";if(e.phase==="cancelled")return"cancelled";if(e.kanbanColumn==="done")return"done"}function zF({sections:e,fallbackEntries:t,sessionStatus:n}){const i=(e??[]).filter(r=>(r.entries?.length??0)>0||!!r.runtimeTaskId);return i.length>0?c.jsx("div",{className:"wf-role-turn-activity-sections",children:i.map((r,o)=>{const a=r.entries??[],u=`${r.runtimeTaskId||r.kind}:${o}`;return c.jsxs("section",{className:"wf-role-turn-activity-section",children:[c.jsxs("div",{className:"wf-role-turn-activity-section-head",children:[c.jsx("span",{className:"wf-role-turn-activity-section-title",children:r.title}),r.roleName&&c.jsx("span",{className:"wf-role-turn-activity-section-role",children:r.roleName}),a.length>0&&c.jsx("span",{className:"wf-role-turn-activity-section-count",children:a.length})]}),a.length>0?c.jsx(Wo,{entries:a,sessionStatus:n,expandedByDefault:!0}):c.jsx("div",{className:"wf-role-turn-empty-activity",children:"No runtime activity yet"})]},u)})}):!t||t.length===0?c.jsx("div",{className:"wf-role-turn-empty-activity",children:"No runtime activity yet"}):c.jsx(Wo,{entries:t,sessionStatus:n,expandedByDefault:!0})}function PF({roleWorkItems:e,onOpenChildDetail:t,onOpenExecutionPanel:n}){const[i,r]=E.useState(null),[o,a]=E.useState(null),[u,d]=E.useState("all"),[m,h]=E.useState(""),[p,g]=E.useState(!1),y=E.useMemo(()=>Object.values(e),[e]),v=E.useMemo(()=>{let w=y.slice();if(u==="active"?w=w.filter(C=>C.aggregatedStatus==="active"):u==="idle"?w=w.filter(C=>C.aggregatedStatus==="done"||C.aggregatedStatus==="failed"):u==="pending"&&(w=w.filter(C=>C.aggregatedStatus==="pending"||C.aggregatedStatus==="waiting")),m.trim()){const C=m.toLowerCase();w=w.filter(N=>N.roleName.toLowerCase().includes(C)||N.roleId.toLowerCase().includes(C)||N.workItems.some(O=>O.title.toLowerCase().includes(C)))}return w.sort((C,N)=>{const O=iC[C.aggregatedStatus]??99,I=iC[N.aggregatedStatus]??99;return O!==I?O-I:C.roleName.localeCompare(N.roleName)}),w},[y,u,m]);E.useEffect(()=>{i&&!y.some(w=>w.roleKey===i)&&(r(null),a(null))},[y,i]);const k=y.filter(w=>w.aggregatedStatus==="active").length,S=i?e[i]??null:null,_=S&&o?S.workItems.find(w=>w.workItemId===o)??null:null;return y.length===0?null:c.jsxs("div",{className:"awp",children:[c.jsxs("div",{className:"awp-header",children:[c.jsxs("span",{className:"awp-title",children:["Agents",c.jsx("span",{className:"awp-count",children:k>0?`${k}/${y.length} active`:`${y.length}`})]}),c.jsxs("div",{className:"awp-controls",children:[c.jsxs("select",{className:"awp-filter",value:u,onChange:w=>d(w.target.value),children:[c.jsx("option",{value:"all",children:"All"}),c.jsx("option",{value:"active",children:"Active"}),c.jsx("option",{value:"idle",children:"Idle / Done"}),c.jsx("option",{value:"pending",children:"Pending"})]}),c.jsx("button",{className:`awp-search-toggle${p?" active":""}`,onClick:()=>g(w=>!w),title:"Search agents",children:c.jsx(N0,{})})]})]}),p&&c.jsx("div",{className:"awp-search-bar",children:c.jsx("input",{className:"awp-search-input",type:"text",placeholder:"Search agents or work items...",value:m,onChange:w=>h(w.target.value),autoFocus:!0})}),c.jsxs("div",{className:"awp-list",children:[v.map(w=>{const C=i===w.roleKey,N=w.aggregatedStatus==="active",O=w.runtimeStatus==="reflecting"||w.runtimeStatus==="tool_active",I=w.aggregatedStatus==="done"||w.aggregatedStatus==="failed";return c.jsxs("button",{className:`awp-row${C?" awp-row-selected":""}${N?" awp-row-active":""}${I?` awp-row-terminal awp-terminal-${w.aggregatedStatus}`:""}`,onClick:()=>{r(D=>D===w.roleKey?null:w.roleKey),a(null)},title:`${w.roleName} โ€” ${Jy[w.aggregatedStatus]}`,children:[c.jsx("span",{className:`awp-dot${O?" awp-dot-active":""} awp-dot-${w.aggregatedStatus}`}),c.jsxs("div",{className:"awp-row-info",children:[c.jsx("span",{className:"awp-row-name",children:w.roleName}),c.jsxs("span",{className:"awp-row-projection",children:[w.workItems.length," work item",w.workItems.length===1?"":"s"]})]}),c.jsx("span",{className:"awp-row-activity",children:DF(w)}),c.jsx("span",{className:"awp-row-time",children:OF(w)})]},w.roleKey)}),v.length===0&&c.jsx("div",{className:"awp-empty",children:m?"No matching agents":"No agents in this filter"})]}),S&&c.jsxs("div",{className:"awp-detail",children:[c.jsxs("div",{className:"awp-detail-header",children:[c.jsxs("div",{className:"awp-detail-identity",children:[c.jsx("div",{className:"awp-detail-avatar",children:S.roleName.charAt(0).toUpperCase()}),c.jsxs("div",{className:"awp-detail-meta",children:[c.jsx("span",{className:"awp-detail-name",children:S.roleName}),c.jsx("span",{className:"awp-detail-role",children:Jy[S.aggregatedStatus]})]})]}),c.jsx("div",{className:"awp-detail-actions",children:c.jsx("button",{className:"awp-detail-close",onClick:()=>{r(null),a(null)},title:"Close detail",children:c.jsx(Em,{})})})]}),c.jsxs("div",{className:"awp-detail-body",children:[c.jsxs("div",{className:"awp-detail-section",children:[c.jsxs("div",{className:"awp-detail-section-label",children:[c.jsx(dl,{}),c.jsx("span",{children:"Work items"})]}),c.jsx("ul",{className:"wf-role-turns",children:S.workItems.map(w=>{const C=o===w.workItemId,N=w.kanbanColumn==="in-progress"?"in_progress":w.kanbanColumn==="in-review"?"in_review":w.kanbanColumn;return c.jsxs("li",{className:`wf-role-turn${C?" wf-role-turn-expanded":""}`,children:[c.jsxs("button",{type:"button",className:"wf-role-turn-button",onClick:()=>a(O=>O===w.workItemId?null:w.workItemId),children:[c.jsx("span",{className:`wf-role-turn-column wf-role-turn-column-${N}`,children:w.kanbanColumn.replace("-"," ").replace(/^./,O=>O.toUpperCase())}),c.jsxs("span",{className:"wf-role-turn-title",children:[w.isReviewTarget&&c.jsx("span",{className:"wf-role-turn-tag",children:"Review"}),w.title]}),c.jsx("span",{className:"wf-role-turn-time",children:bv(w.updatedAt)}),c.jsx("span",{className:"wf-role-turn-chevron",children:c.jsx(Yr,{down:C})})]}),C&&c.jsxs("div",{className:"wf-role-turn-activity",children:[c.jsx(zF,{sections:w.activitySections,fallbackEntries:w.progressLog,sessionStatus:LF(w)}),w.executionTurnId&&c.jsx("button",{type:"button",className:"wf-role-turn-open-session",onClick:O=>{O.stopPropagation(),w.executionTurnId&&(n??t)?.(w.executionTurnId)},children:"Open runtime session"})]})]},w.workItemId)})})]}),_===null&&S.workItems.length===0&&c.jsx("div",{className:"awp-detail-empty",children:"No work items yet"})]})]})]})}function BF({sessions:e,agents:t,onOpenChildDetail:n,onOpenExecutionPanel:i}){const[r,o]=E.useState(null),[a,u]=E.useState("all"),[d,m]=E.useState(""),[h,p]=E.useState(!1);E.useEffect(()=>{r&&!e.some(_=>_.taskId===r)&&o(null)},[e,r]);const g=E.useMemo(()=>{let _=[...e];if(a==="active"?_=_.filter(Kr):a==="idle"?_=_.filter(w=>Za.has(w.status)||vv(w)==="idle"&&w.status!=="pending"):a==="pending"&&(_=_.filter(w=>w.status==="pending")),d.trim()){const w=d.toLowerCase();_=_.filter(C=>(C.assigneeIds[0]??C.title).toLowerCase().includes(w)||C.title.toLowerCase().includes(w))}return _.sort((w,C)=>eC(w)-eC(C)),_},[e,a,d]),y=e.filter(Kr).length,v=E.useMemo(()=>r?e.find(_=>_.taskId===r)??null:null,[e,r]),k=E.useMemo(()=>{if(!v)return;const _=v.assigneeIds[0];return _?t.find(w=>w.agent_id===_):void 0},[v,t]),S=E.useCallback(_=>{o(w=>w===_?(n?.(_),w):_)},[n]);return e.length===0?null:c.jsxs("div",{className:"awp",children:[c.jsxs("div",{className:"awp-header",children:[c.jsxs("span",{className:"awp-title",children:["Agents",c.jsx("span",{className:"awp-count",children:y>0?`${y}/${e.length} active`:`${e.length}`})]}),c.jsxs("div",{className:"awp-controls",children:[c.jsxs("select",{className:"awp-filter",value:a,onChange:_=>u(_.target.value),children:[c.jsx("option",{value:"all",children:"All"}),c.jsx("option",{value:"active",children:"Active"}),c.jsx("option",{value:"idle",children:"Idle / Done"}),c.jsx("option",{value:"pending",children:"Pending"})]}),c.jsx("button",{className:`awp-search-toggle${h?" active":""}`,onClick:()=>p(_=>!_),title:"Search agents",children:c.jsx(N0,{})})]})]}),h&&c.jsx("div",{className:"awp-search-bar",children:c.jsx("input",{className:"awp-search-input",type:"text",placeholder:"Search agents...",value:d,onChange:_=>m(_.target.value),autoFocus:!0})}),c.jsxs("div",{className:"awp-list",children:[g.map(_=>{const w=Kr(_),C=Za.has(_.status),N=r===_.taskId,O=_.assigneeIds[0]?.replace(/_/g," ").replace(/\b\w/g,L=>L.toUpperCase())??_.title,I=_.workItemProjectionId?.replace(/_/g," ")??"",D=tC(_.status),T=nC(_.status);return c.jsxs("button",{className:`awp-row${N?" awp-row-selected":""}${w?" awp-row-active":""}${C?` awp-row-terminal ${T}`:""}`,onClick:()=>S(_.taskId),onDoubleClick:()=>n?.(_.taskId),title:n?"Click to inspect, click again or double-click to open full context":void 0,children:[D?c.jsx("span",{className:`awp-terminal-icon ${T}`,children:D}):c.jsx("span",{className:`awp-dot${w?" awp-dot-active":""}`}),c.jsxs("div",{className:"awp-row-info",children:[c.jsx("span",{className:"awp-row-name",children:O}),I&&c.jsx("span",{className:"awp-row-projection",children:I})]}),c.jsx("span",{className:"awp-row-activity",children:AF(_)}),c.jsx("span",{className:"awp-row-time",children:RF(_.progressLog)})]},_.taskId)}),g.length===0&&c.jsx("div",{className:"awp-empty",children:d?"No matching agents":"No agents in this filter"})]}),v&&c.jsxs("div",{className:"awp-detail",children:[c.jsxs("div",{className:"awp-detail-header",children:[c.jsxs("div",{className:"awp-detail-identity",children:[c.jsx("div",{className:`awp-detail-avatar${Za.has(v.status)?` ${nC(v.status)}`:""}`,children:(k?.name??v.assigneeIds[0]??"?").charAt(0).toUpperCase()}),c.jsxs("div",{className:"awp-detail-meta",children:[c.jsx("span",{className:"awp-detail-name",children:k?.name??v.assigneeIds[0]??v.title}),gl(v)&&c.jsx("span",{className:"awp-detail-role",children:gl(v)}),v.employeeAssignment?.name&&c.jsx("span",{className:"awp-detail-employee",children:v.employeeAssignment.name}),v.selectedExecutionAgent&&c.jsxs("span",{className:"awp-detail-employee",children:["Agent: ",MF[v.selectedExecutionAgent]??v.selectedExecutionAgent]}),v.workItemProjectionId&&c.jsx("span",{className:"awp-detail-projection",children:v.workItemProjectionId.replace(/_/g," ")})]})]}),c.jsxs("div",{className:"awp-detail-actions",children:[n&&c.jsx("button",{className:"awp-detail-expand",onClick:()=>n(v.taskId),title:"Open full context",children:c.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",children:[c.jsx("path",{d:"M2.5 3.25h9a1 1 0 011 1v5.5a1 1 0 01-1 1h-4l-2.75 2v-2h-2.25a1 1 0 01-1-1v-5.5a1 1 0 011-1Z",stroke:"currentColor",strokeWidth:"1.2",strokeLinejoin:"round"}),c.jsx("path",{d:"M4.5 5.5h5M4.5 7.5h3.5",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})]})}),i&&c.jsx("button",{className:"awp-detail-expand",onClick:()=>i(v.taskId),title:"Open execution panel",children:c.jsx(dl,{})}),c.jsx("button",{className:"awp-detail-close",onClick:()=>o(null),title:"Close detail",children:c.jsx(Em,{})})]})]}),c.jsxs("div",{className:"awp-detail-body",children:[v.handoffContext&&c.jsxs("div",{className:"awp-detail-section",children:[c.jsxs("div",{className:"awp-detail-section-label",children:[c.jsx(Pf,{}),c.jsx("span",{children:"Handoff"})]}),c.jsx("div",{className:"msg-content-agent-card",children:c.jsx(ti,{content:v.handoffContext,className:"awp-detail-handoff awp-detail-handoff-markdown"})})]}),c.jsxs("div",{className:"awp-detail-section",children:[c.jsxs("div",{className:"awp-detail-section-label",children:[c.jsx(dl,{}),c.jsx("span",{children:"Activity"})]}),c.jsx(Wo,{entries:v.progressLog,agentStatus:v.agentStatus,currentTool:v.currentTool,toolElapsedMs:v.toolElapsedMs,lastToolSummary:v.lastToolSummary,sessionStatus:v.status,expandedByDefault:!0}),v.progressLog.length===0&&!v.agentStatus&&!Za.has(v.status)&&c.jsx("div",{className:"awp-detail-empty",children:"No activity recorded yet"})]}),Za.has(v.status)&&sx[v.status]&&c.jsxs("div",{className:`awp-result-banner ${sx[v.status].cls}`,children:[c.jsx("span",{className:"awp-result-icon",children:tC(v.status)}),c.jsx("span",{children:sx[v.status].text})]})]})]})]})}function $F({sessions:e,roleWorkItems:t,isCompanyRuntime:n=!1,agents:i,onOpenChildDetail:r,onOpenExecutionPanel:o}){return t&&Object.keys(t).length>0?c.jsx(PF,{roleWorkItems:t,onOpenChildDetail:r,onOpenExecutionPanel:o}):n?null:c.jsx(BF,{sessions:e,agents:i,onOpenChildDetail:r,onOpenExecutionPanel:o})}function EI(e){try{return JSON.stringify(e,null,2)}catch{return String(e??"")}}function ox(e){return(e??[]).map(t=>t.trim()).filter(Boolean)}function rC(e){return e?Object.entries(e).filter(([,t])=>t!=null&&t!==""&&t!==!1).map(([t,n])=>Array.isArray(n)?[t,n.join(", ")]:typeof n=="object"?[t,EI(n)]:[t,String(n)]):[]}function HF({task:e,linkedSession:t,linkedSessionMessages:n,agents:i,onBack:r,onOpenLinkedSession:o,onOpenExecutionPanel:a}){const u=E.useMemo(()=>e.assigneeIds.map(I=>i.find(D=>D.agent_id===I)).filter(Boolean),[i,e.assigneeIds]),d=e.priority?Qf[e.priority]:null,m=e.residentAssignment??{},h=e.memberSessionState??{},p=e.ownershipContract??{},g=!!(e.agentStatus&&e.agentStatus!=="idle"),y=ox(e.deliverables),v=ox(e.acceptanceCriteria),k=ox(e.dependencies),S=rC({role_id:m.role_id,employee_id:m.employee_id,manager_role_id:m.manager_role_id,team_id:m.team_id,seat_id:m.seat_id,work_item_turn_type:m.work_item_turn_type,resident_status:m.resident_status}),_=rC({status:h.status,current_turn_mode:h.current_turn_mode,manager_role_id:h.manager_role_id,actionable_inbox_count:h.actionable_inbox_count,protocol_backlog_count:h.protocol_backlog_count,notification_backlog_count:h.notification_backlog_count}),w=String(e.employeeAssignment?.promptContext??"").trim(),C=String(e.employeeAssignment?.deltaContext??"").trim(),N=Lm(e),O=!!(e.workItemId||e.workItemProjectionId||N);return c.jsxs("div",{className:"ctx-child-detail",children:[c.jsxs("div",{className:"ctx-child-topbar",children:[c.jsxs("button",{className:"ctx-back-btn",onClick:r,children:["โ†"," Back to board"]}),N&&(o||a)&&c.jsx("button",{className:"ctx-child-stop-btn",onClick:()=>{if(o){o(N);return}a?.(N)},children:"Open Runtime Session"})]}),c.jsxs("div",{className:"ctx-child-header",children:[c.jsx("div",{className:"ctx-child-avatar",children:(e.workItemRoleName??e.title).charAt(0).toUpperCase()}),c.jsxs("div",{className:"ctx-child-meta",children:[c.jsx("span",{className:"ctx-child-name",children:e.title}),c.jsx("span",{className:"ctx-child-work-item",children:[e.workItemRoleName,e.phase].filter(Boolean).join(" ยท ")})]})]}),g&&c.jsxs("div",{className:`task-detail-runtime status-${e.agentStatus}`,children:[c.jsx("span",{className:"kanban-runtime-dot"}),c.jsx("span",{children:e.agentStatus==="tool_active"&&e.currentTool?e.currentTool:Jf[e.agentStatus]??e.agentStatus}),u.length>0&&c.jsx("span",{className:"task-detail-runtime-agent",children:u.map(I=>I.name).join(", ")})]}),c.jsxs("div",{className:"task-detail-body",children:[c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:O?"Work Item":"Task"}),c.jsxs("div",{className:"ctx-task-chip-row",children:[c.jsx("span",{className:"task-detail-dep-id",children:e.displayId}),d&&c.jsx("span",{className:"kanban-tag",children:d.label}),e.workItemRoleName&&c.jsx("span",{className:"kanban-tag",children:e.workItemRoleName}),e.managerRoleId&&c.jsxs("span",{className:"kanban-tag",children:["Manager: ",e.managerRoleId]}),e.scopeKey&&c.jsx("span",{className:"kanban-tag",children:e.scopeKey})]}),e.description&&c.jsx("div",{className:"msg-content-agent-card ctx-task-detail-card",children:c.jsx(ti,{content:e.description})})]}),e.originalMessage&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Session Goal"}),c.jsx("pre",{className:"task-detail-handoff",children:e.originalMessage})]}),e.planningContext&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Planning Context"}),c.jsx("pre",{className:"task-detail-handoff",children:e.planningContext})]}),y.length>0&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Deliverables"}),c.jsx("ul",{className:"task-detail-dep-list",children:y.map(I=>c.jsx("li",{className:"task-detail-dep-item",children:I},I))})]}),v.length>0&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Acceptance Criteria"}),c.jsx("ul",{className:"task-detail-dep-list",children:v.map(I=>c.jsx("li",{className:"task-detail-dep-item",children:I},I))})]}),(e.delegationRationale||e.nonOverlapGuard||e.coordinationNotes)&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Delegation Notes"}),e.delegationRationale&&c.jsx("pre",{className:"task-detail-handoff",children:e.delegationRationale}),e.nonOverlapGuard&&c.jsx("pre",{className:"task-detail-handoff",children:e.nonOverlapGuard}),e.coordinationNotes&&c.jsx("pre",{className:"task-detail-handoff",children:e.coordinationNotes})]}),k.length>0&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Dependencies"}),c.jsx("ul",{className:"task-detail-dep-list",children:k.map(I=>c.jsx("li",{className:"task-detail-dep-item",children:c.jsx("span",{className:"task-detail-dep-id",children:I})},I))})]}),(S.length>0||_.length>0||t)&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Role Runtime Context"}),t&&c.jsxs("div",{className:"ctx-task-chip-row",children:[c.jsxs("span",{className:"kanban-tag",children:["Runtime Session: ",t.title]}),c.jsxs("span",{className:"kanban-tag",children:["Status: ",t.status]})]}),S.length>0&&c.jsx("div",{className:"ctx-task-kv-grid",children:S.map(([I,D])=>c.jsxs("div",{className:"ctx-task-kv-item",children:[c.jsx("span",{className:"ctx-task-kv-label",children:I}),c.jsx("span",{className:"ctx-task-kv-value",children:D})]},I))}),_.length>0&&c.jsx("div",{className:"ctx-task-kv-grid",children:_.map(([I,D])=>c.jsxs("div",{className:"ctx-task-kv-item",children:[c.jsx("span",{className:"ctx-task-kv-label",children:I}),c.jsx("span",{className:"ctx-task-kv-value",children:D})]},I))})]}),e.handoffContext&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Handoff Context"}),c.jsx("pre",{className:"task-detail-handoff",children:e.handoffContext})]}),w&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Role Prompt Context"}),c.jsx("div",{className:"msg-content-agent-card ctx-task-detail-card",children:c.jsx(ti,{content:w})})]}),C&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Role Delta Context"}),c.jsx("pre",{className:"task-detail-handoff",children:C})]}),Object.keys(p).length>0&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Ownership Contract"}),c.jsx("pre",{className:"task-detail-handoff",children:EI(p)})]}),e.progressLog&&e.progressLog.length>0&&c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Activity"}),c.jsx("ul",{className:"task-detail-progress",children:e.progressLog.map((I,D)=>c.jsxs("li",{className:`progress-entry type-${I.type}`,children:[c.jsx("span",{className:"progress-time",children:new Date(I.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}),c.jsx("span",{className:"progress-summary",children:I.summary})]},`${I.timestamp}-${D}`))})]}),c.jsxs("div",{className:"task-detail-section",children:[c.jsx("h4",{className:"task-detail-section-title",children:"Runtime Session Activity"}),t&&n&&n.length>0?c.jsx("div",{className:"task-detail-linked-messages",children:c.jsx(Ja,{messages:n,channelName:t.title??"Runtime Session",detailMode:"summary"})}):t?c.jsx("p",{className:"task-detail-empty-hint",children:"Runtime session has no visible messages yet."}):c.jsx("p",{className:"task-detail-empty-hint",children:"No Runtime Session linked yet."})]})]})]})}function FF(e){const t=Date.now()-e;return t<6e4?"just now":t<36e5?`${Math.floor(t/6e4)}m`:t<864e5?`${Math.floor(t/36e5)}h`:`${Math.floor(t/864e5)}d`}function VF(e,t){if(t>1)return`${t} agents working`;const n=e.displayTool||e.currentTool;return n?`Running ${n}`:e.agentStatus==="reflecting"?"Thinking...":e.status==="running"?"Running":null}function UF(e){if(!(!e||Object.keys(e).length===0))return Object.values(e).filter(t=>t.aggregatedStatus==="active").length}function GF(e){return new Set(e.filter(Kr).map(n=>String(n.workItemRoleId??n.assigneeIds[0]??n.taskId).trim()).filter(Boolean)).size}function sC(e,t){const n=UF(e);return n!==void 0?n||void 0:GF(t)||void 0}function qF(e){const t=e0(e);return t==="org"||t==="custom"?`company/${e.orgId??"org"}`:t==="company"?`company/${e.companyProfile??"corporate"}`:t}function NI(e){const t=String(e??"").trim().toLowerCase();return t==="company"?"company":t==="org"||t==="custom"?"org":"task"}function WF(e){return!!(e.isCompanyRuntime||e.parentSessionId||e.workItemProjectionId||e.roleWorkItems||e.executorRoleWorkItems)}function YF(e){const t=String(e.execMode??"").trim().toLowerCase(),n=NI(e.execMode),i=String(e.companyProfile??"").trim().toLowerCase();return n==="company"?!1:n==="org"?!0:t?!1:i==="custom"||!!e.orgId}function ax(e,t=0){if(!e)return t>0;if(Math.max(e.messageCount??0,t)>0)return!0;const i=String(e.status??"").trim().toLowerCase();return!!(i&&i!=="pending"||e.parentSessionId||e.workItemProjectionId||e.workItemRoleId||e.workItemTurnType||e.pendingRuntimeCheckpointId||e.runtimeControlState&&e.runtimeControlState!=="idle"||(e.progressLog?.length??0)>0||(e.workItemLog?.length??0)>0||e.roleWorkItems&&Object.keys(e.roleWorkItems).length>0||e.executorRoleWorkItems&&Object.keys(e.executorRoleWorkItems).length>0)}function e0(e,t){const i=String(e.execMode??"").trim().toLowerCase().length>0,r=NI(e.execMode);return YF(e)?"org":!i&&r==="task"&&WF(e)?"company":e.execMode??t??"task"}function oC(e,t,n){return t&&e.selectedExecutionAgent&&e.selectedExecutionAgent!=="native"?e.selectedExecutionAgent:e.preferredAgent??e.selectedExecutionAgent??n}function Pc(e,t){const n=!!t?.childDetail;return e?n?"full":e.execMode==="company"||e.execMode==="org"||e.execMode==="custom"?"summary":"full":"summary"}const XF=new Set(["awaiting_human","awaiting_manager_review","awaiting_review","awaiting_peer"]);function aC(e){const t=String(e.status??"").trim(),n=e.runtimeControlState==="suspended"||!XF.has(t)&&t!=="running"&&t!=="done";return!!(e.canResume??n)}function KF({task:e,agents:t,roleLabel:n}){const[i,r]=E.useState(!1),o=e.priority,a=o&&e.priority in Qf?Qf[o]:null,u=e.assigneeIds.map(p=>t.find(g=>g.agent_id===p)?.name??p).filter(Boolean),d=new Date(e.createdAt),m=e.employeeAssignment?.name?`${e.employeeAssignment.name}${e.employeeAssignment.category?` ยท ${e.employeeAssignment.category}`:""}`:null,h=({label:p,value:g})=>c.jsxs("div",{className:"ctx-info-fact",children:[c.jsx("span",{className:"ctx-info-fact-label",children:p}),c.jsx("span",{className:"ctx-info-fact-value",children:g})]});return c.jsxs("div",{className:"ctx-info-v2",children:[c.jsxs("section",{className:"ctx-info-section",children:[c.jsx("h4",{className:"ctx-info-section-title",children:"Status"}),c.jsxs("div",{className:"ctx-info-card",children:[c.jsxs("div",{className:"ctx-info-status-row",children:[c.jsxs("span",{className:`ctx-info-status-pill status-${e.status}`,children:[c.jsx("span",{className:"ctx-info-status-dot"}),e.status]}),a&&c.jsxs("span",{className:"ctx-info-priority-pill",style:{color:a.color},children:[c.jsx("span",{"aria-hidden":"true",children:a.symbol}),a.label]})]}),e.tags&&e.tags.length>0&&c.jsx("div",{className:"ctx-info-chips",children:e.tags.map(p=>c.jsx("span",{className:"ctx-info-chip",children:p},p))})]})]}),c.jsxs("section",{className:"ctx-info-section",children:[c.jsx("h4",{className:"ctx-info-section-title",children:"People & agent"}),c.jsxs("div",{className:"ctx-info-card",children:[u.length>0&&c.jsx(h,{label:"Assignees",value:c.jsx("div",{className:"ctx-info-chips",children:u.map(p=>c.jsx("span",{className:"ctx-info-chip",children:p},p))})}),n&&c.jsx(h,{label:"Role",value:n}),m&&c.jsx(h,{label:"Employee",value:m}),e.selectedExecutionAgent&&c.jsx(h,{label:"Execution agent",value:c.jsx("span",{className:"ctx-info-mono",children:e.selectedExecutionAgent})})]})]}),c.jsxs("section",{className:"ctx-info-section",children:[c.jsx("h4",{className:"ctx-info-section-title",children:"Timing"}),c.jsx("div",{className:"ctx-info-card",children:c.jsx(h,{label:"Created",value:c.jsx("span",{children:d.toLocaleString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})})})})]}),c.jsxs("section",{className:"ctx-info-section ctx-info-dev-section",children:[c.jsxs("button",{className:`ctx-info-dev-toggle${i?" expanded":""}`,type:"button",onClick:()=>r(p=>!p),"aria-expanded":i,children:[c.jsx("svg",{width:"11",height:"11",viewBox:"0 0 16 16","aria-hidden":"true",children:c.jsx("path",{d:i?"M3 6l5 5 5-5":"M6 3l5 5-5 5",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})}),c.jsx("span",{children:"Developer details"})]}),i&&c.jsxs("div",{className:"ctx-info-card ctx-info-dev-card",children:[e.workItemProjectionId&&c.jsx(h,{label:"Projection",value:c.jsx("span",{className:"ctx-info-mono ctx-info-mono-break",children:e.workItemProjectionId})}),c.jsx(h,{label:"Task ID",value:c.jsx("span",{className:"ctx-info-mono ctx-info-mono-break",children:e.taskId})}),c.jsx(h,{label:"Channel",value:c.jsx("span",{className:"ctx-info-mono ctx-info-mono-break",children:e.channelId})}),e.sessionId&&c.jsx(h,{label:"Session",value:c.jsx("span",{className:"ctx-info-mono ctx-info-mono-break",children:e.sessionId})})]})]})]})}function ZF({panelState:e,width:t,onResizeMouseDown:n,isResizing:i,activeView:r,activeSession:o,activeTask:a,linkedTaskSession:u,linkedTaskSessionMessages:d,childDetailSession:m,messages:h,childDetailMessages:p,allSessions:g,openSessions:y,openSessionMessages:v,openSessionChildren:k,agents:S,childSessions:_,execMode:w,taskPreferredAgent:C,savedOrgsList:N,activeSavedOrg:O,onSavedOrgsList:I,onSavedOrgLoad:D,canShowAgentsTab:T=!1,channelId:L,channelName:A,secretaryChannelId:M,unreadCounts:$,multiSessionView:W=!1,panelTab:B,onPanelTabChange:U,commsState:F,commsMessage:V,onCommsRefresh:Y,onCommsReadMessage:Q,orgInfoData:q,recoveryStatus:G,canShowTeamTab:J=!1,onTeamStopRun:P,onTitleChange:K,onSessionConfigChange:ee,onSessionTaskAgentChange:te,onContinueInNewChat:ie,onStop:oe,onComplete:fe,onResume:se,onResumeTask:_e,onStopTask:we,onCompleteTask:Ce,onLocateOnBoard:Be,onBackToParent:Ve,onCloseTaskDetail:Ye,onOpenChildDetail:ht,onOpenExecutionPanel:zt,onSelectSessionTab:bt,onCloseSessionTab:Nt,onToggleMultiSessionView:me,onCollapse:ze,onExpand:lt,onMaximize:tt,onComposerSend:qe,onMessageSend:ce,onSessionSend:ve,onWorkItemClick:Ae,onWorkItemOpenSession:$e,onMarkRead:He,onSessionMarkRead:Kt,onLoadSessionHistory:Yt,isSessionHistoryLoading:be}){const Re=r.kind==="secretary",Ue=r.kind==="activity",Xe=r.kind==="child-detail",Ge=r.kind==="task-detail",Je=!!(o&&(o.isCompanyRuntime||_.length>0)),qn=r.kind==="session"&&o,In=Re?!0:!!o,Dn=!Xe&&y.length>0,Ie=y.length>1,Te=!!(W&&r.kind==="session"&&o&&Ie&&B==="chat"),Ke=E.useRef(null),We=E.useMemo(()=>{const Me=$f(o,g);return Hf(o,[...Me,..._])},[o,_,g]),gt=We.displaySession??o,Oe=Pc(gt),nt=E.useMemo(()=>iS(o,We.runtimeSession,We.timelineSessions),[o,We.runtimeSession,We.timelineSessions]),on=E.useMemo(()=>H4(o,We.runtimeSession,We.timelineSessions),[o,We.runtimeSession,We.timelineSessions]),Zt=E.useMemo(()=>sS(We.timelineSessions),[We.timelineSessions]),_t=E.useMemo(()=>nt?.workItemLog??o?.workItemLog??[],[nt?.workItemLog,o?.workItemLog]),Qt=E.useMemo(()=>eS(nt??o,g),[nt,o,g]),Cn=E.useMemo(()=>nt?.roleWorkItems??o?.roleWorkItems,[nt?.roleWorkItems,o?.roleWorkItems]),dt=E.useMemo(()=>nt?.executorRoleWorkItems??o?.executorRoleWorkItems,[nt?.executorRoleWorkItems,o?.executorRoleWorkItems]),jn=!!(Cn&&Object.keys(Cn).length>0||dt&&Object.keys(dt).length>0),Jt=Qt.length>0?Qt:_,En=E.useMemo(()=>Ff(We.timelineSessions),[We.timelineSessions]),hn=E.useMemo(()=>We.timelineSessions.some(Me=>be?.(Me.taskId)??!1),[We.timelineSessions,be]),jt=E.useCallback(Me=>{if(Me){const $t=We.timelineSessions.find(Wn=>Wn.channelId===Me.channelId);if($t)return $t}return gt??o},[We.timelineSessions,gt,o]),yt=E.useMemo(()=>{if(!m)return;const Me=m.assigneeIds[0];return Me?S.find($t=>$t.agent_id===Me):void 0},[m,S]),gn=u??(()=>{const Me=Lm(a);return Me?g.find($t=>$t.taskId===Me||$t.runtimeTaskId===Me||$t.executionTurnId===Me)??null:null})();E.useEffect(()=>{!Xe||!m||Ke.current?.scrollTo({top:0,behavior:"auto"})},[Xe,m?.taskId]);const ri=o;return e==="collapsed"?c.jsx("div",{className:"ctx-collapse-strip",onClick:()=>lt(),title:"Open panel",children:"โ—€"}):c.jsxs(c.Fragment,{children:[c.jsx("div",{className:`ctx-resize-handle${i?" active":""}`,onMouseDown:n}),c.jsx("div",{className:`ctx-panel${e==="maximized"?" maximized":""}`,style:e!=="maximized"?{width:t}:void 0,children:Ge&&a?c.jsx(HF,{task:a,linkedSession:gn,linkedSessionMessages:d,agents:S,onBack:Ye??ze,onOpenLinkedSession:bt,onOpenExecutionPanel:zt}):Xe&&m?c.jsxs("div",{className:"ctx-child-detail",ref:Ke,children:[c.jsxs("div",{className:"ctx-child-topbar",children:[c.jsx("button",{className:"ctx-back-btn",onClick:Ve,children:"โ† Back to parent"}),(m.canStop??m.status==="running")&&m.runtimeControlState!=="suspending"&&we&&c.jsx("button",{className:"ctx-child-stop-btn",onClick:()=>we(m.taskId),title:"Stop this agent",children:"Stop"}),m.runtimeControlState==="suspending"&&c.jsx("button",{className:"ctx-child-stop-btn",disabled:!0,title:"Stopping this agent",children:"Stopping..."}),aC(m)&&_e&&c.jsx("button",{className:"ctx-child-resume-btn",onClick:()=>_e(m.taskId),title:"Continue this agent's runtime",children:"Continue"})]}),c.jsxs("div",{className:"ctx-child-header",children:[yt&&c.jsx("div",{className:"ctx-child-avatar",children:yt.name.charAt(0).toUpperCase()}),c.jsxs("div",{className:"ctx-child-meta",children:[c.jsx("span",{className:"ctx-child-name",children:yt?.name??m.title}),m.workItemRoleName&&c.jsx("span",{className:"ctx-child-work-item",children:m.workItemRoleName}),!m.workItemRoleName&&m.workItemProjectionId&&c.jsx("span",{className:"ctx-child-work-item",children:m.workItemProjectionId.replace(/_/g," ")})]})]}),m.handoffContext&&c.jsxs("div",{className:"exec-section ctx-child-markdown-section",children:[c.jsxs("div",{className:"exec-section-header",children:[c.jsx(Pf,{}),c.jsx("span",{children:"Received From"})]}),c.jsx("div",{className:"msg-content-agent-card ctx-child-markdown-card",children:c.jsx(ti,{content:m.handoffContext})})]}),c.jsxs("div",{className:"ctx-child-transcript",children:[c.jsxs("div",{className:"ctx-child-transcript-header",children:[c.jsx(dl,{}),c.jsx("span",{children:"Transcript"})]}),c.jsx(Ja,{messages:p,channelName:m.title,viewKind:"session",detailMode:"full",agentStatus:m.agentStatus,currentTool:m.currentTool,toolElapsedMs:m.toolElapsedMs,lastToolSummary:m.lastToolSummary,progressLog:m.progressLog,draftAssistantText:m.draftAssistantText,draftUpdatedAt:m.draftUpdatedAt,draftIteration:m.draftIteration,draftTurnId:m.draftTurnId,onMarkRead:He,hasOlderHistory:!Kr(m)&&m.messageCount>p.length,totalMessageCount:m.messageCount,onLoadOlderHistory:Me=>Yt?.(m.taskId,Me,"full"),loadingOlderHistory:be?.(m.taskId)??!1,autoScroll:!1,initialScrollToBottom:!0,showRuntimeProgress:!0,renderUserMarkdown:!0},m.channelId)]}),m.artifacts&&m.artifacts.length>0&&c.jsxs("div",{className:"ctx-child-artifacts",children:[c.jsxs("div",{className:"ctx-child-section-header",children:[c.jsx(wm,{}),c.jsx("span",{children:"Artifacts"})]}),c.jsx("ul",{className:"ctx-child-artifact-list",children:m.artifacts.map((Me,$t)=>c.jsx("li",{children:Me},$t))})]}),m.handoffTo&&c.jsxs("div",{className:"ctx-child-markdown-section ctx-child-passed-to",children:[c.jsxs("div",{className:"ctx-child-section-header",children:[c.jsx(Pf,{}),c.jsx("span",{children:"Passed To"})]}),c.jsx("div",{className:"msg-content-agent-card ctx-child-markdown-card",children:c.jsx(ti,{content:m.handoffTo})})]})]}):c.jsxs(c.Fragment,{children:[Dn&&c.jsxs("div",{className:"ctx-session-strip",children:[c.jsx("div",{className:"ctx-session-strip-scroll",children:y.map(Me=>{const $t=$?.[Me.channelId]??0,Wn=o?.taskId===Me.taskId;return c.jsxs("div",{className:`ctx-session-chip${Wn?" active":""}`,children:[c.jsxs("button",{className:"ctx-session-chip-main",onClick:()=>bt?.(Me.taskId),title:Me.title,children:[c.jsx("span",{className:`ctx-session-chip-status status-${Me.status}`}),c.jsx("span",{className:"ctx-session-chip-title",children:Me.title}),$t>0&&c.jsx("span",{className:"ctx-session-chip-unread",children:$t>99?"99+":$t})]}),c.jsx("button",{className:"ctx-session-chip-close",onClick:()=>Nt?.(Me.taskId),title:"Close tab",children:"ร—"})]},Me.taskId)})}),Ie&&c.jsx("button",{className:`ctx-session-view-btn${W?" active":""}`,onClick:me,children:W?"Single View":"Multi View"})]}),c.jsxs("div",{className:"ctx-header",children:[Te?c.jsx("span",{className:"ctx-header-title",children:Je?"Open Runtime Sessions":"Open Sessions"}):qn?c.jsxs("div",{className:"ctx-header-tabs",role:"tablist","aria-label":"Session view",children:[c.jsx("button",{role:"tab","aria-selected":B==="chat",className:`ctx-tab${B==="chat"?" active":""}`,onClick:()=>U("chat"),children:"Chat"}),T&&c.jsx("button",{role:"tab","aria-selected":B==="agents",className:`ctx-tab${B==="agents"?" active":""}`,onClick:()=>U("agents"),children:"Agents"}),c.jsx("button",{role:"tab","aria-selected":B==="info",className:`ctx-tab${B==="info"?" active":""}`,onClick:()=>U("info"),children:"Info"}),Y&&c.jsx("button",{role:"tab","aria-selected":B==="comms",className:`ctx-tab${B==="comms"?" active":""}`,onClick:()=>U("comms"),children:"Comms"}),J&&c.jsx("button",{role:"tab","aria-selected":B==="team",className:`ctx-tab${B==="team"?" active":""}`,onClick:()=>U("team"),children:"Team"})]}):Re?c.jsx("span",{style:{fontSize:13,fontWeight:600,padding:"0 4px"},children:"Secretary"}):c.jsx("span",{style:{fontSize:13,fontWeight:600,padding:"0 4px"},children:"Activity"}),c.jsxs("div",{className:"ctx-header-actions",children:[e==="open"&&c.jsx("button",{onClick:tt,title:"Maximize",children:c.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:c.jsx("rect",{x:"2",y:"2",width:"10",height:"10",rx:"1.5",stroke:"currentColor",strokeWidth:"1.3"})})}),e==="maximized"&&c.jsx("button",{onClick:lt,title:"Restore",children:c.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:[c.jsx("rect",{x:"1",y:"3",width:"8",height:"8",rx:"1.5",stroke:"currentColor",strokeWidth:"1.3"}),c.jsx("path",{d:"M5 3V1.5A.5.5 0 015.5 1H12.5a.5.5 0 01.5.5V8.5a.5.5 0 01-.5.5H11",stroke:"currentColor",strokeWidth:"1.3"})]})}),c.jsx("button",{onClick:ze,title:"Close panel",children:c.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:c.jsx("path",{d:"M3 3l8 8M11 3l-8 8",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})})})]})]}),c.jsxs("div",{className:"ctx-body",children:[!o&&!Re&&!Ue&&c.jsxs("div",{className:"ctx-empty",children:[c.jsx("span",{className:"ctx-empty-icon",children:"๐Ÿ“‹"}),c.jsx("span",{children:Je?"Select a Work Item to see details":"Select a task to see details"})]}),Te&&c.jsx("div",{className:"ctx-multi-grid",children:y.map(Me=>{const $t=v[Me.taskId]??[],Wn=k[Me.taskId]??[],_i=$f(Me,g),On=Hf(Me,[..._i,...Wn]),vt=iS(Me,On.runtimeSession,On.timelineSessions),Ni=eS(vt??Me,g),Ii=vt?.roleWorkItems??Me.roleWorkItems,Yn=sC(Ii,Wn)??0,dn=Me.assigneeIds.map(an=>S.find(tn=>tn.agent_id===an)?.name??an).filter(Boolean),Hi=VF(vt??Me,Yn),Or=!!(Me.isCompanyRuntime||Wn.length>0),Et=On.displaySession??Me,Ti=sS(On.timelineSessions),ki=Ff(On.timelineSessions),Xn=ax(vt??Et,Math.max(ki,$t.length)),at=On.timelineSessions.some(an=>be?.(an.taskId)??!1);return c.jsxs("section",{className:`ctx-multi-card${o?.taskId===Me.taskId?" focused":""}`,children:[c.jsxs("div",{className:"ctx-multi-card-header",children:[c.jsxs("button",{className:"ctx-multi-card-main",onClick:()=>bt?.(Me.taskId),title:"Focus session",children:[c.jsx("span",{className:`ctx-multi-card-status status-${Me.status}`}),c.jsx("span",{className:"ctx-multi-card-title",children:Me.title})]}),c.jsxs("div",{className:"ctx-multi-card-actions",children:[((vt??Me).canStop??(vt??Me).status==="running")&&(vt??Me).runtimeControlState!=="suspending"&&we&&c.jsx("button",{onClick:()=>we(On.runtimeSession?.taskId??Me.taskId),children:"Stop"}),(vt??Me).runtimeControlState==="suspending"&&c.jsx("button",{disabled:!0,children:"Stopping..."}),aC(vt??Me)&&_e&&c.jsx("button",{onClick:()=>_e(Me.taskId),children:"Continue"}),(vt??Me).status!=="done"&&(vt??Me).status!=="cancelled"&&Ce&&c.jsx("button",{onClick:()=>Ce(Me.taskId),children:"Done"}),c.jsx("button",{onClick:()=>bt?.(Me.taskId),children:"Focus"}),c.jsx("button",{onClick:()=>Nt?.(Me.taskId),title:"Close tab",children:"ร—"})]})]}),c.jsxs("div",{className:"ctx-multi-card-meta",children:[c.jsx("span",{children:qF(Me)}),c.jsx("span",{children:Me.status}),Hi&&c.jsx("span",{children:Hi}),dn.length>0&&c.jsx("span",{children:dn.join(", ")}),c.jsx("span",{children:FF(Me.updatedAt)})]}),c.jsx("div",{className:"ctx-multi-card-body",children:c.jsx(Ja,{messages:$t,channelName:Et?.title??Me.title,viewKind:"session",detailMode:Pc(Et),agentStatus:vt?.agentStatus??Et?.agentStatus,currentTool:vt?.currentTool??Et?.currentTool,toolElapsedMs:vt?.toolElapsedMs??Et?.toolElapsedMs,lastToolSummary:vt?.lastToolSummary??Et?.lastToolSummary,progressLog:Ti,draftAssistantText:vt?.draftAssistantText??Et?.draftAssistantText,draftUpdatedAt:vt?.draftUpdatedAt??Et?.draftUpdatedAt,draftIteration:vt?.draftIteration??Et?.draftIteration,draftTurnId:vt?.draftTurnId??Et?.draftTurnId,isCompanyRuntime:vt?.isCompanyRuntime??Or,workItemLog:vt?.workItemLog??Me.workItemLog,childSessions:Ni,onSend:(an,tn,It)=>ve?.(Me.taskId,an,void 0,It),onWorkItemClick:Ae,onWorkItemOpenSession:$e,onMarkRead:()=>Kt?.(Me.taskId),hasOlderHistory:!On.timelineSessions.some(Kr)&&ki>$t.length,totalMessageCount:ki,onLoadOlderHistory:an=>{const tn=On.timelineSessions.find(It=>It.channelId===an?.channelId)??Et??Me;return Yt?.(tn.taskId,an,Pc(tn,{childDetail:tn.mode==="child"}))},loadingOlderHistory:at,showRuntimeProgress:Pc(Et)==="full"},Et?.channelId??Me.channelId)}),c.jsx(rx,{disabled:!1,channelId:vt?.channelId??Me.channelId,execMode:e0(Me,w),companyProfile:Me.companyProfile,taskPreferredAgent:oC(Me,Xn,C),agentStatus:vt?.agentStatus??Et?.agentStatus,currentTool:vt?.currentTool??Et?.currentTool,displayTool:vt?.displayTool??Et?.displayTool,activeAgentCount:Yn||void 0,runtimeControlState:(vt??Et)?.runtimeControlState,canStop:(vt??Et)?.canStop,savedOrgs:N??null,activeSavedOrg:O??null,selectedOrgId:Me.orgId??O??null,lockedMode:Xn,autoFocus:!1,contextTokens:vt?.contextTokens??Et?.contextTokens,contextWindow:vt?.contextWindow??Et?.contextWindow,contextRemainingPct:vt?.contextRemainingPct??Et?.contextRemainingPct??100,onSend:(an,tn)=>ve?.(Me.taskId,an,tn,Zj(T0($t).latestPendingReplyMetadata)),onModeChange:(an,tn,It)=>ee?.(Me.taskId,an,tn,It),onTaskAgentChange:an=>te?.(Me.taskId,an),onContinueInNewChat:ie,onSavedOrgsRefresh:I,onSavedOrgLoad:D,onStop:()=>we?.(On.runtimeSession?.taskId??Me.taskId)})]},Me.taskId)})}),Ue&&c.jsxs(c.Fragment,{children:[c.jsx("div",{style:{padding:"8px 12px",fontSize:12,color:"var(--text-secondary)",borderBottom:"1px solid var(--border)"},children:"Recent activity across all sessions"}),c.jsx(Ja,{messages:h,channelName:"Activity",viewKind:"activity",detailMode:"summary",onSend:ce,onMarkRead:He},L)]}),Re&&c.jsxs(c.Fragment,{children:[c.jsx(Ja,{messages:h,channelName:"Secretary",viewKind:"secretary",detailMode:"summary",onSend:ce,onMarkRead:He},M),c.jsx(rx,{disabled:!1,channelId:M,placeholder:"Talk to Secretary about policies, rules, preferences...",onSend:qe})]}),o&&!Re&&!Ue&&!Te&&B==="chat"&&c.jsxs(c.Fragment,{children:[c.jsx(B8,{session:on??o,agents:S,onTitleChange:K,onViewOnBoard:Be?()=>Be(o.taskId):void 0,onStop:oe,onComplete:(on??o).status!=="done"&&(on??o).status!=="cancelled"?fe:void 0,onResume:se}),Je&&(jn||_t.length>0||Qt.length>0)&&c.jsx("div",{className:"ctx-work-item-progress",children:c.jsx(Qy,{workItemLog:_t,roleWorkItems:Cn,executorRoleWorkItems:dt,childSessions:Qt,isCompanyRuntime:Je,onWorkItemClick:Ae})}),c.jsx(Ja,{messages:h,channelName:A,viewKind:"session",detailMode:Oe,agentStatus:nt?.agentStatus??gt?.agentStatus,currentTool:nt?.currentTool??gt?.currentTool,toolElapsedMs:nt?.toolElapsedMs??gt?.toolElapsedMs,lastToolSummary:nt?.lastToolSummary??gt?.lastToolSummary,progressLog:Zt,draftAssistantText:nt?.draftAssistantText??gt?.draftAssistantText,draftUpdatedAt:nt?.draftUpdatedAt??gt?.draftUpdatedAt,draftIteration:nt?.draftIteration??gt?.draftIteration,draftTurnId:nt?.draftTurnId??gt?.draftTurnId,isCompanyRuntime:nt?.isCompanyRuntime??Je,workItemLog:_t,roleWorkItems:Cn,executorRoleWorkItems:dt,childSessions:Qt,onSend:ce,onWorkItemClick:Ae,onWorkItemOpenSession:$e,onMarkRead:He,hasOlderHistory:!We.timelineSessions.some(Kr)&&En>h.length,totalMessageCount:En,onLoadOlderHistory:Me=>{const $t=jt(Me);if($t)return Yt?.($t.taskId,Me,Pc($t,{childDetail:$t.mode==="child"}))},loadingOlderHistory:hn,showWorkItemRuntimeCard:!1,showRuntimeProgress:Oe==="full"},L),c.jsx(rx,{disabled:!In,channelId:nt?.channelId??L,execMode:e0(o,w),companyProfile:o.companyProfile,taskPreferredAgent:oC(o,ax(nt??gt??o,Math.max(En,h.length)),C),agentStatus:nt?.agentStatus??gt?.agentStatus,currentTool:nt?.currentTool??gt?.currentTool,displayTool:nt?.displayTool??gt?.displayTool,runtimeControlState:(nt??gt)?.runtimeControlState,canStop:(nt??gt)?.canStop,savedOrgs:N??null,activeSavedOrg:O??null,selectedOrgId:o.orgId??O??null,lockedMode:ax(nt??gt??o,Math.max(En,h.length)),activeAgentCount:sC(Cn,Jt),contextTokens:nt?.contextTokens??gt?.contextTokens,contextWindow:nt?.contextWindow??gt?.contextWindow,contextRemainingPct:nt?.contextRemainingPct??gt?.contextRemainingPct??100,onSend:qe,onModeChange:(Me,$t,Wn)=>ee?.(o.taskId,Me,$t,Wn),onTaskAgentChange:Me=>te?.(o.taskId,Me),onContinueInNewChat:ie,onSavedOrgsRefresh:I,onSavedOrgLoad:D,onStop:oe})]}),o&&!Re&&!Te&&B==="agents"&&T&&(Jt.length>0||jn?c.jsx($F,{sessions:Jt,roleWorkItems:Cn,isCompanyRuntime:Je,agents:S,onOpenChildDetail:ht,onOpenExecutionPanel:zt}):c.jsxs("div",{className:"ctx-empty",children:[c.jsx("span",{className:"ctx-empty-icon",children:"๐Ÿง "}),c.jsx("span",{children:"No child agents have started for this session yet"})]})),o&&!Re&&!Te&&B==="info"&&ri&&c.jsx(KF,{task:ri,agents:S,roleLabel:gl(ri)}),B==="comms"&&Y&&Q&&c.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0},children:c.jsx(R8,{state:F??null,message:V??null,onRefresh:Y,onReadMessage:Q,embedded:!0})}),B==="team"&&J&&c.jsx("div",{style:{flex:1,overflow:"auto",minHeight:0},children:c.jsx(L8,{orgInfoData:q??null,recoveryStatus:G??null,commsState:F??null,onStopRun:P,embedded:!0})})]})]})})]})}function QF({initialWidth:e,minWidth:t,maxWidth:n,onCollapse:i}){const[r,o]=E.useState(e),[a,u]=E.useState(!1),d=E.useRef(0),m=E.useRef(0),h=E.useRef(e);h.current=r;const p=E.useCallback(g=>{g.preventDefault(),d.current=g.clientX,m.current=h.current,u(!0)},[]);return E.useEffect(()=>{if(!a)return;const g=v=>{const k=d.current-v.clientX,S=m.current+k;if(S{u(!1)};return document.body.style.userSelect="none",document.body.style.cursor="col-resize",document.addEventListener("mousemove",g),document.addEventListener("mouseup",y),()=>{document.body.style.userSelect="",document.body.style.cursor="",document.removeEventListener("mousemove",g),document.removeEventListener("mouseup",y)}},[a,t,n,i]),{width:r,isResizing:a,handleMouseDown:p}}const JF=200;function lC(){const e=globalThis.crypto;return e&&typeof e.randomUUID=="function"?`ui-${e.randomUUID()}`:`ui-${Date.now()}-${Math.random().toString(36).slice(2,9)}`}function eV(e,t,n){if(e!=="org"&&e!=="custom"||!t)return!0;const{roles:i,employees:r}=t,o=zm(t),a=t.top_level_role_ids??[],u=t.final_decider_role_id??"";if(i.length===0)return confirm(`Your org has no roles defined. - -Set up at least one role before running a task. - -Go to Org tab now?`)&&n?.(),!1;if(a.length>1&&!u)return confirm(`Your organization has multiple top-level roles but no final decider selected. - -Choose one final decider in the Org tab before running a task. - -Go to Org tab now?`)&&n?.(),!1;const d=[],m=new Set(i.map(y=>y.role_id));o.runtimeTeams.filter(y=>y.member_role_ids.some(v=>m.has(v))||y.manager_role_id&&m.has(y.manager_role_id)).length===0&&d.push("No runtime teams defined โ€” the system will auto-generate from your roles");const p=new Set(r.map(y=>y.role_id)),g=i.filter(y=>!p.has(y.role_id));if(g.length>0){const y=g.map(v=>v.name).join(", ");d.push(`${g.length} role(s) have no employees: ${y}`)}return d.length>0?confirm(`Before running this task: - -`+d.map(y=>"โ€ข "+y).join(` -`)+` - -Run anyway?`):!0}function tV(e){if(!e)return!1;const t=zm(e);return!!(t.projectRun?.run_id||t.runtimeTeams.length>0||t.runtimeSeats.length>0)}function cC(e,t){const n=!!t?.childDetail;return e?n?"full":e.execMode==="company"||e.execMode==="org"||e.execMode==="custom"?"summary":"full":"summary"}function uC(e){return String(e?.originTaskId??e?.taskId??"").trim()||null}function nV({boardColor:e,title:t,onCommit:n}){const[i,r]=E.useState(!1),[o,a]=E.useState(t),u=E.useRef(null);E.useEffect(()=>{i||a(t)},[t,i]);const d=E.useCallback(()=>{const h=o.trim();h&&h!==t?n(h):a(t),r(!1)},[o,t,n]),m=E.useCallback(()=>{a(t),r(!0),setTimeout(()=>u.current?.select(),0)},[t]);return c.jsx("div",{className:"board-selector",children:c.jsx("div",{className:"board-tabs",children:c.jsxs("span",{className:"board-tab active board-tab-editable",style:{"--board-color":e},children:[c.jsx("span",{className:"board-tab-dot",style:{background:e}}),i?c.jsx("input",{ref:u,className:"board-tab-title-input",value:o,onChange:h=>a(h.target.value),onBlur:d,onKeyDown:h=>{h.key==="Enter"&&d(),h.key==="Escape"&&(a(t),r(!1))}}):c.jsx("span",{className:"board-tab-title",onClick:m,title:"Click to edit session title",children:t})]})})})}function iV({boardStore:e,agents:t,officeMap:n,execMode:i,companyProfile:r,taskPreferredAgent:o,chatStore:a,sessionStore:u,projectId:d,onRunTask:m,onCreateTask:h,onMoveTask:p,onCreateSession:g,onSessionSend:y,onSecretarySend:v,onDeleteSession:k,onTitleChange:S,onSessionConfigChange:_,onSessionTaskAgentChange:w,onContinueInNewChat:C,onSessionStop:N,onSessionResume:O,onSessionComplete:I,onLoadSessionDetail:D,onOpenExecutionPanel:T,onCollabSync:L,orgInfoData:A,onNavigateToOrg:M,recoveryStatus:$,onRecoveryResume:W,onRecoveryCancel:B,commsState:U,commsMessage:F,onCommsRefresh:V,onCommsReadMessage:Y,savedOrgsList:Q,activeSavedOrg:q,onSavedOrgsList:G,onSavedOrgLoad:J}){const{sessions:P,activeSessionId:K,activeSession:ee}=u,[te,ie]=E.useState("collapsed"),{width:oe,isResizing:fe,handleMouseDown:se}=QF({initialWidth:380,minWidth:300,maxWidth:600,onCollapse:()=>ie("collapsed")}),[_e,we]=E.useState("chat"),[Ce,Be]=E.useState(null),[Ve,Ye]=E.useState({kind:"activity"}),[ht,zt]=E.useState([]),[bt,Nt]=E.useState(!1),[me,ze]=E.useState({}),lt=E.useRef(D),tt=E.useRef({active:null,child:null}),qe=i==="company"||i==="org"||i==="custom",ce=`secretary:${d}`,ve=`activity:${d}`,Ae=E.useMemo(()=>Ce?P.find(de=>de.taskId===Ce)??null:null,[P,Ce]),$e=E.useMemo(()=>Ve.kind!=="task-detail"?null:e.tasks.find(de=>de.id===Ve.taskId)??null,[Ve,e.tasks]),He=E.useMemo(()=>{const de=Lm($e);return de?P.find(Se=>Se.taskId===de||Se.runtimeTaskId===de||Se.executionTurnId===de)??null:null},[P,$e]),Kt=E.useMemo(()=>He?a.getChannelMessages(He.channelId):[],[a.messages,a.getChannelMessages,He]),Yt=E.useMemo(()=>jf(ee,P),[P,ee]),be=E.useMemo(()=>$f(ee,P),[P,ee]),Re=E.useMemo(()=>Hf(ee,[...be,...Yt]),[ee,Yt,be]);E.useEffect(()=>{lt.current=D},[D]);const Ue=E.useCallback((de,Se,Fe="summary")=>{const ft=lt.current;!ft||!de||(ze(Gt=>Gt[de]?Gt:{...Gt,[de]:!0}),ft(de,{limit:JF,beforeCreatedAt:Se?.timestamp,beforeMessageId:Se?.id,detailLevel:Fe}),window.setTimeout(()=>{ze(Gt=>Gt[de]?{...Gt,[de]:!1}:Gt)},800))},[]),Xe=E.useCallback(de=>!!me[de],[me]);E.useEffect(()=>{tt.current={active:null,child:null}},[d]),E.useEffect(()=>{Ce&&!Ae&&Be(null)},[Ce,Ae]),E.useEffect(()=>{Ve.kind==="task-detail"&&!$e&&Ye({kind:"activity"})},[Ve,$e]);const Ge=E.useRef(null);E.useEffect(()=>{if(!He){Ge.current=null;return}Ge.current!==He.taskId&&(Ge.current=He.taskId,Ue(He.taskId,void 0,"full"))},[He,Ue]),E.useEffect(()=>{if(!Ce){tt.current.child=null;return}tt.current.child!==Ce&&(tt.current.child=Ce,Ue(Ce,void 0,"full"))},[Ce,Ue]),E.useEffect(()=>{if(!K){tt.current.active=null;return}const de=Re.timelineSessions.length>0?Re.timelineSessions:P.find(Fe=>Fe.taskId===K)?[P.find(Fe=>Fe.taskId===K)]:[];if(de.length===0){tt.current.active=null;return}const Se=de.map(Fe=>`${Fe.taskId}:${cC(Fe,{childDetail:Fe.mode==="child"})}`).join("|");if(tt.current.active!==Se){tt.current.active=Se;for(const Fe of de)Ue(Fe.taskId,void 0,cC(Fe,{childDetail:Fe.mode==="child"}))}},[Re.timelineSessions,K,Ue,P]);const Je=E.useMemo(()=>Ce?{kind:"child-detail"}:Ve.kind==="task-detail"||Ve.kind==="secretary"?Ve:K?{kind:"session",taskId:K}:{kind:"activity"},[Ve,K,Ce]),qn=E.useMemo(()=>Je.kind==="secretary"?ce:Je.kind==="child-detail"&&Ae?Ae.channelId:Je.kind==="session"&&Re.displaySession?Re.displaySession.channelId:Je.kind==="session"&&ee?ee.channelId:ve,[Je,Re.displaySession,ee,Ae,ce,ve]),In=E.useMemo(()=>{if(Je.kind==="activity")return[ve];if(Je.kind==="secretary")return[ce];if(Je.kind==="child-detail"&&Ae)return[Ae.channelId];if(Je.kind==="session"){const de=Re.timelineSessions.map(Se=>Se.channelId).filter((Se,Fe,ft)=>!!Se&&ft.indexOf(Se)===Fe);if(de.length>0)return de}return qn?[qn]:[]},[Je.kind,Re.timelineSessions,Ae,ve,ce,qn]),Dn=E.useMemo(()=>{const de=new Set;for(const Se of P)Se.status!=="cancelled"&&de.add(Se.channelId);return de.add(ve),de.add(ce),de},[P,ve,ce]),Ie=E.useMemo(()=>Je.kind==="activity"?a.messages.filter(de=>de.sender!=="user"&&Dn.has(de.channelId)).sort((de,Se)=>Se.timestamp-de.timestamp).slice(0,50).reverse():Je.kind==="session"&&In.length>1?rS(In.map(de=>a.getChannelMessages(de))):a.getChannelMessages(qn),[a.messages,a.getChannelMessages,qn,Je.kind,Dn,In]),Te=E.useMemo(()=>Ae?a.getChannelMessages(Ae.channelId):[],[a.messages,a.getChannelMessages,Ae]),Ke=E.useMemo(()=>{if(Je.kind==="session")return Zj(T0(Ie).latestPendingReplyMetadata)},[Ie,Je.kind]),We=E.useMemo(()=>[...qe?P.filter(Se=>Se.mode!=="child"):P].sort((Se,Fe)=>Fe.updatedAt-Se.updatedAt),[P,qe]),gt=E.useMemo(()=>{if(!qe)return null;const de=new Set;for(const Se of P)Se.mode==="child"&&de.add(Se.taskId);return de.size>0?de:null},[P,qe]),Oe=E.useMemo(()=>{if(!gt)return e.tasksByColumn;const de={};for(const[Se,Fe]of Object.entries(e.tasksByColumn))de[Se]=Fe.filter(ft=>!gt.has(ft.id));return de},[e.tasksByColumn,gt]),nt=!!(ee&&(ee.isCompanyRuntime||Yt.length>0)),on=!!(ee&&(qe||nt)),Zt=!!(ee&&qe&&tV(A));E.useEffect(()=>{_e==="agents"&&!on&&we("chat"),_e==="comms"&&!V&&we("chat"),_e==="team"&&!Zt&&we("chat")},[_e,on,Zt,V]);const _t=E.useMemo(()=>{const de={};for(const Se of P)de[Se.channelId]=a.getUnreadCount(Se.channelId);return de[ce]=a.getUnreadCount(ce),de},[P,a.getUnreadCount,ce]),Qt=E.useMemo(()=>ht.map(de=>P.find(Se=>Se.taskId===de)).filter(de=>!!de&&de.mode!=="child"),[ht,P]),Cn=E.useMemo(()=>{const de={};for(const Se of Qt){const Fe=jf(Se,P),ft=$f(Se,P),Gt=Hf(Se,[...ft,...Fe]);de[Se.taskId]=rS(Gt.timelineSessions.map(Nn=>a.getChannelMessages(Nn.channelId)))}return de},[Qt,P,a.getChannelMessages]),dt=E.useMemo(()=>{const de={};for(const Se of Qt)de[Se.taskId]=jf(Se,P);return de},[Qt,P]),jn=E.useCallback(de=>{zt(Se=>Se.includes(de)?Se:[...Se,de])},[]),Jt=E.useRef(null);E.useEffect(()=>{K&&!Jt.current&&te==="collapsed"&&(ie("open"),we("chat")),Jt.current=K},[K,te]),E.useEffect(()=>{K&&jn(K)},[K,jn]),E.useEffect(()=>{const de=new Set(P.map(Se=>Se.taskId));zt(Se=>Se.filter(Fe=>de.has(Fe))),ze(Se=>Object.fromEntries(Object.entries(Se).filter(([Fe])=>de.has(Fe))))},[P]),E.useEffect(()=>{bt&&Qt.length<2&&Nt(!1)},[bt,Qt.length]),E.useEffect(()=>{const de=Se=>{if(Se.key==="Escape"&&te!=="collapsed"){const Fe=Se.target?.tagName;if(Fe==="INPUT"||Fe==="TEXTAREA"||Fe==="SELECT")return;ie("collapsed")}};return document.addEventListener("keydown",de),()=>document.removeEventListener("keydown",de)},[te]),E.useEffect(()=>{if(te!=="collapsed")for(const de of In)a.markRead(de)},[In,a,te]);const En=E.useCallback(()=>{for(const de of In)a.markRead(de)},[In,a]),hn=E.useCallback(de=>{const Se=P.find(Fe=>Fe.taskId===de);Se&&a.markRead(Se.channelId)},[P,a]),jt=E.useCallback(de=>{const Se=P.find(Fe=>Fe.taskId===de);Se&&(jn(de),u.setActiveSession(de),Ye({kind:"session",taskId:de}),ie("open"),we("chat"),Be(null),a.markRead(Se.channelId))},[P,jn,u,a]),yt=E.useCallback(de=>{const Se=ht.filter(ft=>ft!==de);if(zt(Se),Ce===de&&Be(null),K!==de)return;const Fe=Se[Se.length-1]??null;if(u.setActiveSession(Fe),Fe){const ft=P.find(Gt=>Gt.taskId===Fe);Ye({kind:"session",taskId:Fe}),we("chat"),ft&&a.markRead(ft.channelId);return}Ye({kind:"activity"})},[ht,Ce,K,u,P,a]),gn=E.useCallback(de=>{if(!de){Ye({kind:"activity"}),u.setActiveSession(null),Be(null);return}const Se=P.find(Fe=>Fe.taskId===de);if(qe&&Se?.mode==="child"){Be(de),ie("open");return}jt(de)},[P,u,qe,jt]),ri=E.useCallback(()=>{Ye({kind:"secretary"}),u.setActiveSession(null),Be(null),ie("open"),a.markRead(ce)},[u,a,ce]),Me=E.useCallback(de=>{const Se=e.tasks.find(ft=>ft.id===de.id);if(qe&&Se){Be(null),Ye({kind:"task-detail",taskId:Se.id}),ie("open"),we("info");return}P.find(ft=>ft.taskId===de.id)?jt(de.id):Se&&Se.phase!=="cancelled"&&(u.createSession({projectId:d,taskId:Se.id,channelId:`session:${Se.id}`,sessionId:Se.sessionId,title:Se.title,status:"pending",columnId:Se.columnId,execMode:i,companyProfile:r,assigneeIds:Se.assigneeIds,priority:Se.priority,tags:Se.tags,selectedExecutionAgent:Se.selectedExecutionAgent,createdAt:Se.createdAt,updatedAt:Se.updatedAt,messageCount:0,progressLog:[]}),jn(de.id),u.setActiveSession(de.id),Ye({kind:"session",taskId:de.id}),ie("open"),we("chat"),L?.())},[P,e.tasks,u,jt,jn,L,qe]),$t=E.useCallback(de=>{if(!e.activeBoardId)return;const Se=e.activeBoardColumns.find(ft=>ft.name==="Todo");if(!Se)return;const Fe=e.createTask({boardId:e.activeBoardId,columnId:Se.id,title:de});h(de,e.activeBoardId,Se.id,Fe.id)},[e,h]),Wn=E.useCallback(de=>{e.setActiveBoard(de);const Se=P.find(Fe=>Fe.mode!=="child"&&uC(Fe)===de);if(Se){jt(Se.taskId);return}Be(null),Ye({kind:"activity"}),u.setActiveSession(null)},[e,P,jt,u]),_i=E.useMemo(()=>new Set(e.boards.map(de=>de.id)),[e.boards]);E.useEffect(()=>{if(qe){const de=$e?.boardId??uC(ee)??null;if(!de||!_i.has(de)){e.activeBoardId!==null&&e.setActiveBoard(null);return}e.activeBoardId!==de&&e.setActiveBoard(de);return}e.boards.length>0&&!e.activeBoardId&&e.setActiveBoard(e.boards[0].id)},[qe,$e?.boardId,ee,_i,e.activeBoardId,e.boards,e.setActiveBoard]);const On=E.useCallback(de=>{const Se=e.tasks.find(bn=>bn.id===de);if(!Se)return;const Fe=P.find(bn=>bn.taskId===de),ft=Fe?.execMode??i,Gt=Fe?.companyProfile??r,Nn=ft==="org"||ft==="custom"?"custom":ft==="company"?Gt:void 0;if(!eV(ft,A,M))return;m(de,Se.title,Se.description??"",ft,Nn);const hi=e.activeBoardColumns.find(bn=>bn.name==="In Progress");hi&&e.moveTask(de,hi.id,0)},[e,m,P,i,r,A,M]),vt=E.useCallback((de,Se,Fe,ft)=>{_?.(de,Se,Fe,ft)},[_]),Ni=E.useCallback(de=>{te==="maximized"&&ie("open"),setTimeout(()=>{document.querySelector(`[data-task-id="${de}"]`)?.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})},100)},[te]),Ii=E.useCallback(()=>{const Se=(Re.runtimeSession??Re.displaySession??ee)?.taskId??K;Se&&N?.(Se)},[Re.runtimeSession,Re.displaySession,ee,K,N]),Yn=E.useCallback(()=>{Ce||K&&I?.(K)},[K,Ce,I]),dn=E.useCallback(de=>{N?.(de)},[N]),Hi=E.useCallback(()=>{const de=Re.runtimeSession??Re.displaySession??ee,Se=de?.resumeParentTaskId??de?.taskId??K;Se&&O?.(Se)},[Re.runtimeSession,Re.displaySession,ee,K,O]),Or=E.useCallback(de=>{const Se=P.find(Fe=>Fe.taskId===de);O?.(Se?.resumeParentTaskId??de)},[P,O]),Et=E.useCallback(de=>{I?.(de)},[I]),Ti=E.useCallback(()=>{if(!bt&&Je.kind!=="session"){const de=K??Qt[Qt.length-1]?.taskId??null;de&&jt(de)}Nt(de=>!de)},[bt,Je.kind,K,Qt,jt]),ki=E.useCallback((de,Se,Fe,ft)=>{const Gt=ft?.ui_message_id?ft:{...ft??{},ui_message_id:lC()};y(de,Se,Fe,Gt)},[y]),Xn=E.useCallback((de,Se)=>{if(Je.kind==="secretary"){v?.(de);return}const Fe=K;if(!Fe)return;const ft=String(Ke?.response_to_checkpoint_id??"").trim();let Gt=Ke;if(!ft){const Nn=lC();Gt={...Ke??{},ui_message_id:Nn};const hi=Re.displaySession??ee;a.sendMessage({channelId:hi?.channelId??`session:${Fe}`,sender:"user",senderName:"You",content:de,metadata:{ui_message_id:Nn}})}ki(Fe,de,Se,Gt)},[Je.kind,K,Re.displaySession,ee,Ke,a,ki,v]),at=E.useCallback((de,Se,Fe)=>{const ft=Se??K;ft&&ki(ft,de,void 0,Fe)},[K,ki]),an=E.useCallback(de=>{const Se=P.find(Fe=>Fe.taskId===de||Fe.runtimeTaskId===de||Fe.executionTurnId===de);Se&&(Be(Se.taskId),ie("open"),we("chat"),a.markRead(Se.channelId))},[P,a]),tn=E.useCallback(de=>{if(T){T(de);return}an(de)},[an,T]),It=Je.kind==="secretary",pi=It?"Secretary":ee?ee.title:"Activity";return c.jsxs("div",{className:`workspace-page${te==="maximized"?" panel-maximized":""}`,children:[c.jsx(W4,{sessions:We,activeSessionId:It?null:K,activeChannel:It?ce:null,secretaryChannelId:ce,unreadCounts:_t,onSelect:gn,onCreateSession:g,onDeleteSession:k,onSelectSecretary:v?ri:void 0}),te!=="maximized"&&c.jsxs("div",{className:"workspace-board",children:[$&&W&&B&&c.jsx(n4,{data:$,onResume:W,onCancel:B}),t.length>0&&c.jsx(_8,{agents:t,tasks:e.tasks}),qe?e.activeBoard&&ee&&c.jsx(nV,{boardColor:e.activeBoard.color,title:e.activeBoard.name,onCommit:de=>S(ee.taskId,de)},ee.taskId):e.boards.length>1&&c.jsx(k8,{boards:e.boards,activeBoardId:e.activeBoardId,onSelect:Wn}),qe&&!e.activeBoard?c.jsx("div",{className:"kanban-empty-state",children:c.jsx("p",{children:"Select a Runtime Session on the left to view its Work Item board."})}):c.jsxs(c.Fragment,{children:[c.jsx(b8,{columns:e.activeBoardColumns,tasksByColumn:Oe,agents:t,officeMap:n,store:e,companyMode:qe,selectedTaskId:Je.kind==="task-detail"?Je.taskId:K,onCardClick:Me,onStartTask:On,onQuickCreate:$t,onMoveTask:p}),qe&&e.activeBoard&&e.tasks.filter(de=>de.boardId===e.activeBoardId).length===0&&c.jsx("div",{className:"kanban-empty-state kanban-empty-state-inline",children:c.jsx("p",{children:"No work items yet โ€” start delegation to populate this board."})})]})]}),c.jsx(ZF,{panelState:te,width:oe,onResizeMouseDown:se,isResizing:fe,activeView:Je,activeSession:ee,activeTask:$e,linkedTaskSession:He,linkedTaskSessionMessages:Kt,childDetailSession:Ae,messages:Ie,childDetailMessages:Te,allSessions:P,openSessions:Qt,openSessionMessages:Cn,openSessionChildren:dt,agents:t,childSessions:Yt,execMode:i,taskPreferredAgent:o,savedOrgsList:Q??null,activeSavedOrg:q??null,onSavedOrgsList:G,onSavedOrgLoad:J,canShowAgentsTab:on,channelId:qn,channelName:pi,secretaryChannelId:ce,unreadCounts:_t,multiSessionView:bt,panelTab:_e,onPanelTabChange:we,commsState:U??null,commsMessage:F??null,onCommsRefresh:V?()=>V({session_id:ee?.sessionId||void 0,project_id:d||void 0}):void 0,onCommsReadMessage:Y,orgInfoData:A??null,recoveryStatus:$??null,canShowTeamTab:Zt,onTeamStopRun:K?()=>N?.(K):void 0,onTitleChange:S,onSessionConfigChange:vt,onSessionTaskAgentChange:w,onContinueInNewChat:C,onStop:Ii,onComplete:Yn,onResume:Hi,onResumeTask:Or,onStopTask:dn,onCompleteTask:Et,onLocateOnBoard:Ni,onBackToParent:()=>Be(null),onCloseTaskDetail:()=>Ye({kind:"activity"}),onOpenChildDetail:an,onOpenExecutionPanel:T,onSelectSessionTab:jt,onCloseSessionTab:yt,onToggleMultiSessionView:Ti,onCollapse:()=>ie("collapsed"),onExpand:()=>ie("open"),onMaximize:()=>ie(de=>de==="maximized"?"open":"maximized"),onComposerSend:Xn,onMessageSend:at,onSessionSend:ki,onWorkItemClick:tn,onWorkItemOpenSession:an,onMarkRead:En,onSessionMarkRead:hn,onLoadSessionHistory:Ue,isSessionHistoryLoading:Xe})]})}function rV(){return`${Date.now()}-${Math.random().toString(36).slice(2,7)}`}const _v=2e3,dC={child_task_result:80,child_task_result_retry:79,company_role_result:75,company_role_result_retry:74,child_result:70,runtime_v2_assistant:60,runtime_v2_company_assistant:20,top_level_reply:40,worker_notification:10};function Xo(e){return e.metadata??{}}function om(e){const t=String(e??"").replace(/\r\n/g,` -`).replace(/\r/g,` -`).split(` -`).map(r=>r.trimEnd()).join(` -`).replace(/\n{3,}/g,` - -`).trim(),n=sV(t),i=n.split(/\n{2,}/).map(r=>r.trim()).filter(Boolean);return i.length>1&&/^Verification:\s/i.test(i[i.length-1])?i.slice(0,-1).join(` - -`).trim():n}function sV(e){const t=String(e||"").trim(),n=t.match(/^\*\*(.{8,160}?)\*\*:\s+([\s\S]+)$/);if(n){const a=n[2].trim();if(a.length>=80)return a}const i=t.indexOf(": ");if(i<8||i>160)return t;const r=t.slice(0,i).replace(/\*/g,"").trim(),o=t.slice(i+2).trim();return o.length<80||!/[A-Za-z\u4e00-\u9fff]/.test(r)||/^(https?|file)$/i.test(r)?t:o}function Ko(e){const t=Xo(e),n=new Set,i=typeof t.checkpoint_type=="string"?t.checkpoint_type.trim():"",r=typeof t.checkpoint_id=="string"?t.checkpoint_id.trim():"";for(const o of[e.id,typeof t.ui_message_id=="string"?t.ui_message_id:"",i&&r?`checkpoint:${i}:${r}`:""]){const a=String(o??"").trim();a&&n.add(a)}return n}function oV(e){return e.startsWith("checkpoint:")}function Xr(e){return typeof e.timestamp=="number"?e.timestamp:0}function fC(e){const t=String(e.sender??"").trim().toLowerCase(),n=Xo(e),i=typeof n.role=="string"?n.role.trim().toLowerCase():"";return t==="user"||i==="user"?"user":"assistant"}function mC(e){const t=Xo(e),n=String(e.sender??"").trim().toLowerCase();let i=0;const r=II(e);return r&&(i+=1e3+r),t.source==="engine"&&(i+=100),n&&n!=="system"&&(i+=20),n&&!["assistant","system","user"].includes(n)&&(i+=5),e.replyToId&&(i+=2),i+=Math.min(Object.keys(t).length,10),i}function pC(e){return String(Xo(e).source??"").trim().toLowerCase()==="engine"}function II(e){const t=Xo(e),n=String(t.transcript_kind??"").trim();if(n)return dC[n]??0;const i=String(t.kind??"").trim();return dC[i]??0}function am(e){return II(e)>0}function TI(e,t){if(e.channelId!==t.channelId)return!1;const n=Ko(e),i=Ko(t);for(const r of n)if(i.has(r))return!0;return!1}function t0(e,t){if(TI(e,t))return!0;if(e.channelId!==t.channelId||fC(e)!==fC(t)||om(e.content)!==om(t.content))return!1;const n=am(e)&&am(t);if(!n&&String(e.replyToId??"")!==String(t.replyToId??"")||!(pC(e)||pC(t)))return!1;const i=Xr(e),r=Xr(t);return!(!n&&i&&r&&Math.abs(i-r)>_v)}function n0(e,t,n=!1){let i=e,r=t;(n||mC(t)>mC(e))&&(i=t,r=e);const o=[];for(const p of[r.mentions,i.mentions])for(const g of p??[])o.includes(g)||o.push(g);const a=Ko(e),u=Ko(t);let d="";for(const p of a)if(u.has(p)&&!oV(p)){d=p;break}const m=om(i.content),h=m&&m===om(r.content)?m:i.content;return{...r,...i,...d?{id:d}:{},content:h,metadata:{...Xo(r),...Xo(i)},mentions:o,timestamp:Xr(i)||Xr(r)}}function lx(e){const t=[],n=new Map;for(const i of[...e].sort((r,o)=>Xr(r)-Xr(o))){const r=Ko(i);let o=-1,a=!1;for(const d of r){const m=n.get(d);if(m!==void 0){o=m,a=t[m].id===i.id;break}}if(o===-1){const d=Xr(i),m=am(i);for(let h=t.length-1;h>=0;h--){const p=Xr(t[h]);if(!m&&d>0&&p>0&&d-p>_v)break;if(t0(t[h],i)){o=h;break}}}const u=o===-1?t.length:o;o===-1?t.push(i):t[o]=n0(t[o],i,a);for(const d of Ko(t[u]))n.has(d)||n.set(d,u)}return t}function aV(e,t){switch(t.type){case"SET":return t.channels;case"CLEAR":return[];case"ADD":return e.some(n=>n.id===t.channel.id)?e:[...e,t.channel];case"REMOVE":return e.filter(n=>n.id!==t.channelId);case"REMOVE_PARTICIPANT":return e.map(n=>({...n,participants:n.participants.filter(i=>i!==t.agentId)}));default:return e}}function lV(e,t){switch(t.type){case"SET":{const n=lx(t.messages);if(e.length===0)return n;const i=e.filter(r=>typeof r.id=="string"&&r.id.startsWith("msg-")&&!n.some(o=>t0(r,o)));return i.length===0?n:lx([...n,...i])}case"CLEAR":return[];case"ADD":{const n=Xr(t.message);Ko(t.message);let i=!1;for(let r=e.length-1;r>=0;r--){const o=Xr(e[r]);if(!i&&n>0&&o>0&&n-o>_v&&(i=!0),TI(e[r],t.message)){const a=[...e];return a[r]=n0(e[r],t.message,e[r].id===t.message.id),a}if((am(t.message)||!i)&&t0(e[r],t.message)){const a=[...e];return a[r]=n0(e[r],t.message),a}}return[...e,t.message]}case"MERGE":return t.messages.length===0?e:lx([...e,...t.messages]);case"MARK_SENDER_DELETED":return e.map(n=>n.sender===t.senderId?{...n,senderDeleted:!0,senderName:"[ๅทฒๅˆ ้™ค็š„ Agent]"}:n);case"REMOVE_BY_CHANNEL":return e.filter(n=>n.channelId!==t.channelId);case"REMOVE_BY_TASK_ID":return e.filter(n=>n.channelId!==`session:${t.taskId}`&&n.metadata?.task_id!==t.taskId);default:return e}}function cV(){const[e,t]=E.useReducer(aV,[]),[n,i]=E.useReducer(lV,[]),[r,o]=E.useState({}),[a,u]=E.useState("default"),d=E.useMemo(()=>{const I={};for(const D of n)I[D.channelId]||(I[D.channelId]=[]),I[D.channelId].push(D);return I},[n]),m=E.useMemo(()=>{const I={};for(const D of n){if(D.sender==="user")continue;const T=r[D.channelId]??0;D.timestamp<=T||(I[D.channelId]=(I[D.channelId]??0)+1)}return I},[n,r]),h=E.useCallback(I=>{const D={id:`msg-${rV()}`,channelId:I.channelId,sender:I.sender,senderName:I.senderName,content:I.content,timestamp:Date.now(),replyToId:I.replyToId,mentions:[],metadata:I.metadata};return i({type:"ADD",message:D}),D},[]),p=E.useCallback(I=>d[I]??[],[d]),g=E.useCallback(I=>m[I]??0,[m]),y=E.useCallback(I=>{o(D=>({...D,[I]:Date.now()}))},[]),v=E.useCallback(I=>{i({type:"MARK_SENDER_DELETED",senderId:I})},[]),k=E.useCallback(I=>{t({type:"REMOVE_PARTICIPANT",agentId:I})},[]),S=E.useCallback(I=>{t({type:"REMOVE",channelId:`session:${I}`}),i({type:"REMOVE_BY_TASK_ID",taskId:I})},[]),_=E.useCallback(()=>{t({type:"CLEAR"}),i({type:"CLEAR"}),o({})},[]),w=E.useCallback((I,D,T)=>{const L=I||"default",A=L!==a;u(L),t({type:"SET",channels:D}),i(A?{type:"SET",messages:T}:{type:"MERGE",messages:T});const M={};for(const $ of T)(!M[$.channelId]||$.timestamp>M[$.channelId])&&(M[$.channelId]=$.timestamp);o($=>A?M:{...$,...M})},[a]),C=E.useCallback(I=>{i({type:"ADD",message:I})},[]),N=E.useCallback(I=>{i({type:"MERGE",messages:I})},[]),O=E.useCallback(I=>{t({type:"ADD",channel:I})},[]);return E.useMemo(()=>({scopeProjectId:a,channels:e,messages:n,sendMessage:h,getChannelMessages:p,getUnreadCount:g,markRead:y,markSenderDeleted:v,removeParticipant:k,removeSessionData:S,clear:_,initFromBackend:w,addMessageFromBackend:C,mergeMessagesFromBackend:N,addChannelFromBackend:O}),[a,e,n,h,p,g,y,v,k,S,_,w,C,N,O])}const Vm=4e3;function ll(e,t){return e.length>t?e.slice(-t):e}function i0(e,t,n){if(!e)return t;if(!t||e===t)return e;if(t.startsWith(e))return t;if(e.startsWith(t)||e.endsWith(t))return e;if(t.endsWith(e))return t;const i=Math.min(e.length,t.length);for(let r=i;r>0;r-=1)if(e.slice(-r)===t.slice(0,r))return`${e}${t.slice(r)}`;return n==="tool_call"&&/[}\]"]$/.test(e)&&!/^\s/.test(t)?`${e} -${t}`:`${e}${t}`}function uV(e,t){const n=e.trim().replace(/\s+/g," ");return n?n.length>120?`${n.slice(0,120).trimEnd()}...`:n:t||"Thinking"}function RI(e){return typeof e.lastTimestamp=="number"&&Number.isFinite(e.lastTimestamp)?e.lastTimestamp:e.timestamp}function dV(e){const t=Number.isFinite(e.timestamp)?e.timestamp:Date.now();return{timestamp:t,lastTimestamp:typeof e.lastTimestamp=="number"&&Number.isFinite(e.lastTimestamp)?e.lastTimestamp:t,type:e.type,summary:typeof e.summary=="string"?e.summary:"",detail:typeof e.detail=="string"&&e.detail?e.detail:void 0,turnId:typeof e.turnId=="string"&&e.turnId?e.turnId:void 0,itemId:typeof e.itemId=="string"&&e.itemId?e.itemId:void 0,streamId:typeof e.streamId=="string"&&e.streamId?e.streamId:void 0,toolCallId:typeof e.toolCallId=="string"&&e.toolCallId?e.toolCallId:void 0,permissionGroupKey:typeof e.permissionGroupKey=="string"&&e.permissionGroupKey?e.permissionGroupKey:void 0,seq:typeof e.seq=="number"&&Number.isFinite(e.seq)?e.seq:void 0,executionMode:typeof e.executionMode=="string"&&e.executionMode?e.executionMode:void 0}}function lm(e){const t=e.itemId||e.streamId;return t?`${e.type}:${e.turnId??""}:${t}`:e.toolCallId&&(e.type==="tool_call"||e.type==="autonomy")?`${e.type}:${e.turnId??""}:${e.toolCallId}`:e.permissionGroupKey&&e.type==="autonomy"?`${e.type}:${e.turnId??""}:${e.permissionGroupKey}`:""}function fV(e,t){const n=lm(e),i=lm(t);return n&&i?n===i:t.timestamp-RI(e)>Vm||e.type!==t.type?!1:e.type==="thinking"?!0:e.type==="tool_call"?e.summary===t.summary:!1}function mV(e,t){return t.timestamp-RI(e)<=Vm&&e.type===t.type&&e.summary===t.summary&&(e.detail??"")===(t.detail??"")}function pV(e,t){if(e.type==="thinking"){const n=i0(e.detail??"",t.detail??"","thinking");return{timestamp:e.timestamp,lastTimestamp:t.timestamp,type:"thinking",summary:uV(n,t.summary||e.summary),detail:n||void 0,turnId:t.turnId??e.turnId,itemId:t.itemId??e.itemId,streamId:t.streamId??e.streamId,toolCallId:t.toolCallId??e.toolCallId,permissionGroupKey:t.permissionGroupKey??e.permissionGroupKey,seq:t.seq??e.seq,executionMode:t.executionMode??e.executionMode}}if(e.type==="tool_call"){const n=i0(e.detail??"",t.detail??"","tool_call");return{timestamp:e.timestamp,lastTimestamp:t.timestamp,type:"tool_call",summary:t.summary||e.summary,detail:n||void 0,turnId:t.turnId??e.turnId,itemId:t.itemId??e.itemId,streamId:t.streamId??e.streamId,toolCallId:t.toolCallId??e.toolCallId,permissionGroupKey:t.permissionGroupKey??e.permissionGroupKey,seq:t.seq??e.seq,executionMode:t.executionMode??e.executionMode}}return{...t,timestamp:e.timestamp,lastTimestamp:t.timestamp}}function AI(e,t,n=100){const i=dV(t),r=lm(i),o=r?[...e].reverse().findIndex(d=>lm(d)===r):-1,a=o>=0?e.length-1-o:e.length-1,u=e[a];return u?r&&typeof u.seq=="number"&&typeof i.seq=="number"&&i.seq<=u.seq?e:mV(u,i)?ll([...e.slice(0,a),{...u,lastTimestamp:i.timestamp},...e.slice(a+1)],n):fV(u,i)?ll([...e.slice(0,a),pV(u,i),...e.slice(a+1)],n):ll([...e,i],n):[i]}function MI(e,t=100){return(Array.isArray(e)?e:[]).reduce((n,i)=>AI(n,i,t),[])}function hV(e){return{timestamp:Number.isFinite(e.timestamp)?e.timestamp:Date.now(),type:e.type,workItemProjectionId:typeof e.workItemProjectionId=="string"&&e.workItemProjectionId?e.workItemProjectionId:void 0,workItemTurnType:typeof e.workItemTurnType=="string"&&e.workItemTurnType?e.workItemTurnType:void 0,workItemProjectionTitle:typeof e.workItemProjectionTitle=="string"&&e.workItemProjectionTitle?e.workItemProjectionTitle:void 0,runtimeTaskId:typeof e.runtimeTaskId=="string"&&e.runtimeTaskId?e.runtimeTaskId:void 0,executionTurnId:typeof e.executionTurnId=="string"&&e.executionTurnId?e.executionTurnId:void 0,roleName:typeof e.roleName=="string"&&e.roleName?e.roleName:void 0,detail:typeof e.detail=="string"&&e.detail?e.detail:void 0}}function DI(e,t){return e.type===t.type&&(e.workItemProjectionId??"")===(t.workItemProjectionId??"")&&(e.workItemTurnType??"")===(t.workItemTurnType??"")&&(e.workItemProjectionTitle??"")===(t.workItemProjectionTitle??"")&&(e.executionTurnId??e.runtimeTaskId??"")===(t.executionTurnId??t.runtimeTaskId??"")&&(e.roleName??"")===(t.roleName??"")}function gV(e,t){return t.timestamp-e.timestamp<=Vm&&DI(e,t)&&(e.type==="thinking"||e.type==="tool_call")}function xV(e,t){return DI(e,t)&&(e.detail??"")===(t.detail??"")&&t.timestamp-e.timestamp<=Vm}function yV(e,t){const n=t.type==="tool_call"?"tool_call":"thinking";return{...e,...t,timestamp:t.timestamp,detail:i0(e.detail??"",t.detail??"",n)||void 0}}function OI(e,t,n=100){const i=hV(t),r=e[e.length-1];return r?xV(r,i)?ll([...e.slice(0,-1),{...r,timestamp:i.timestamp}],n):gV(r,i)?ll([...e.slice(0,-1),yV(r,i)],n):ll([...e,i],n):[i]}function LI(e,t=100){return(Array.isArray(e)?e:[]).reduce((n,i)=>OI(n,i,t),[])}function r0(e){const t=String(e??"").trim().toLowerCase();return t==="company"?"company":t==="org"||t==="custom"?"org":"task"}function vV(e){return String(e??"").trim().toLowerCase()==="custom"?"custom":"corporate"}function zI(e){const t=String(e.execMode??"").trim().toLowerCase(),n=String(e.companyProfile??"").trim().toLowerCase(),i=String(e.orgId??"").trim(),o=t.length>0?r0(t):n==="custom"||i?"org":r0(t);return o==="org"?{...e,execMode:"org",companyProfile:"custom",orgId:i||void 0}:o==="company"?{...e,execMode:"company",companyProfile:"corporate",orgId:void 0}:{...e,execMode:"task",companyProfile:void 0,orgId:void 0}}const lf=100,bV=new Set(["done","failed","cancelled"]);function _V(e,t,n){const i=n,r=new Map(t.filter(u=>u.projectId===i).map(u=>[u.taskId,u])),o=new Set,a=[];for(const u of e){if(u.projectId!==i)continue;const d=r.get(u.taskId);d?(a.push(d),o.add(u.taskId)):a.push(u)}for(const u of t)u.projectId!==i||o.has(u.taskId)||(a.push(u),o.add(u.taskId));return a}function kV(e,t){const n=g=>zI({...g,progressLog:MI(g.progressLog??[],lf),workItemLog:LI(g.workItemLog??[],lf)}),i=g=>{const y=String(g.execMode??"").trim().toLowerCase();return y==="company"||y==="org"||y==="custom"||!!g.isCompanyRuntime||!!g.parentSessionId||!!g.workItemProjectionId||!!g.roleWorkItems||!!g.executorRoleWorkItems||!!g.orgId},r=g=>{const y=String(g.execMode??"").trim().toLowerCase(),v=String(g.companyProfile??"").trim().toLowerCase(),k=String(g.orgId??"").trim();return y==="task"&&(!v||v==="corporate")&&!k&&!g.isCompanyRuntime&&!g.parentSessionId&&!g.workItemProjectionId&&!g.workItemRoleId&&!g.roleWorkItems&&!g.executorRoleWorkItems},o=(g,y)=>{const v=g.execMode,k=y.execMode;return!v||v==="task"&&k&&k!=="task"&&!r(g)&&(i(g)||i(y))?k:v},a=(g,y,v)=>{const k=g[v],S=y[v];return!k||k==="native"&&S&&S!=="native"?S:k},u=(g,y)=>Object.prototype.hasOwnProperty.call(g,y),d=(g,y,v)=>u(g,v)?g[v]:y[v],m=(g,y)=>{const v=typeof g.updatedAt=="number"&&Number.isFinite(g.updatedAt)?g.updatedAt:void 0,k=typeof y.updatedAt=="number"&&Number.isFinite(y.updatedAt)?y.updatedAt:void 0;return v===void 0?k??Date.now():k===void 0?v:Math.max(k,v)},h=(g,y)=>g.runtimeControlState==="suspending"&&y.runtimeControlState==="running"?{...y,runtimeControlState:"suspending",canStop:!1,canResume:g.canResume??!1,pendingRuntimeCheckpointId:g.pendingRuntimeCheckpointId??y.pendingRuntimeCheckpointId,stopIntentId:g.stopIntentId??y.stopIntentId}:y,p=(g,y,v)=>{const k=g[v];if(k!=null)return k;if(!(bV.has(g.status)||g.status!=="running"&&g.runtimeControlState!=="running"&&g.runtimeControlState!=="suspending"&&g.runtimeControlState!=="resuming"))return y[v]};switch(t.type){case"SET":{if(t.reset)return t.sessions.map(n);const y=new Map(e.map(v=>[v.taskId,v]));return t.sessions.map(v=>{const k=y.get(v.taskId);if(!k)return n(v);const S=h(k,v);return n({...v,updatedAt:m(v,k),execMode:o(v,k),preferredAgent:a(v,k,"preferredAgent"),draftAssistantText:k.draftAssistantText??v.draftAssistantText,draftUpdatedAt:k.draftUpdatedAt??v.draftUpdatedAt,draftIteration:k.draftIteration??v.draftIteration,draftTurnId:k.draftTurnId??v.draftTurnId,agentStatus:p(v,k,"agentStatus"),currentTool:p(v,k,"currentTool"),displayTool:p(v,k,"displayTool"),toolElapsedMs:p(v,k,"toolElapsedMs"),lastToolSummary:p(v,k,"lastToolSummary"),contextTokens:k.contextTokens??v.contextTokens,contextWindow:k.contextWindow??v.contextWindow,contextRemainingPct:k.contextRemainingPct??v.contextRemainingPct,inputTokens:k.inputTokens??v.inputTokens,outputTokens:k.outputTokens??v.outputTokens,totalTokens:k.totalTokens??v.totalTokens,turnCostUsd:k.turnCostUsd??v.turnCostUsd,sessionCostUsd:k.sessionCostUsd??v.sessionCostUsd,pendingPermissionCount:k.pendingPermissionCount??v.pendingPermissionCount,drainMode:k.drainMode??v.drainMode,workItemProjectionId:v.workItemProjectionId??k.workItemProjectionId,workItemTurnType:v.workItemTurnType??k.workItemTurnType,companyProfile:d(v,k,"companyProfile"),orgId:d(v,k,"orgId"),workItemRoleId:v.workItemRoleId??k.workItemRoleId,workItemRoleName:v.workItemRoleName??k.workItemRoleName,workItemGate:v.workItemGate??k.workItemGate,roleWorkItems:v.roleWorkItems??k.roleWorkItems,executorRoleWorkItems:v.executorRoleWorkItems??k.executorRoleWorkItems,employeeAssignment:v.employeeAssignment??k.employeeAssignment,selectedExecutionAgent:a(v,k,"selectedExecutionAgent"),runtimeControlState:S.runtimeControlState??k.runtimeControlState,canStop:S.canStop??k.canStop,canResume:S.canResume??k.canResume,resumeParentTaskId:v.resumeParentTaskId??k.resumeParentTaskId,resumeParentSessionId:v.resumeParentSessionId??k.resumeParentSessionId,pendingRuntimeCheckpointId:S.pendingRuntimeCheckpointId??k.pendingRuntimeCheckpointId,stopIntentId:S.stopIntentId??k.stopIntentId,residentStatus:k.residentStatus??v.residentStatus,actionableInboxCount:k.actionableInboxCount??v.actionableInboxCount,protocolBacklogCount:k.protocolBacklogCount??v.protocolBacklogCount,notificationBacklogCount:k.notificationBacklogCount??v.notificationBacklogCount,latestNotification:k.latestNotification??v.latestNotification,latestPreview:v.latestPreview??k.latestPreview,latestSender:v.latestSender??k.latestSender,latestMessageId:v.latestMessageId??k.latestMessageId,indexLoaded:v.indexLoaded??k.indexLoaded,detailLoaded:k.detailLoaded??v.detailLoaded,fullLoaded:k.fullLoaded??v.fullLoaded,hasMore:v.hasMore??k.hasMore,detailLoading:v.detailLoading??k.detailLoading,detailError:v.detailError??k.detailError,viewGeneration:v.viewGeneration??k.viewGeneration,progressLog:k.progressLog&&k.progressLog.length>0?k.progressLog:v.progressLog,workItemLog:k.workItemLog&&k.workItemLog.length>0?k.workItemLog:v.workItemLog,lastRuntimeEventType:k.lastRuntimeEventType??v.lastRuntimeEventType,activeSubagents:k.activeSubagents??v.activeSubagents,permissionRequests:k.permissionRequests??v.permissionRequests,handoffContext:v.handoffContext??k.handoffContext,handoffTo:v.handoffTo??k.handoffTo})})}case"ADD":const g=n(t.session);return e.some(y=>y.taskId===t.session.taskId)?e.map(y=>y.taskId===t.session.taskId?n({...y,...g,progressLog:g.progressLog.length>0?g.progressLog:y.progressLog,workItemLog:(g.workItemLog??[]).length>0?g.workItemLog:y.workItemLog,messageCount:Math.max(y.messageCount??0,g.messageCount??0),updatedAt:Math.max(y.updatedAt??0,g.updatedAt??0),execMode:o(g,y),preferredAgent:a(g,y,"preferredAgent"),workItemProjectionId:g.workItemProjectionId??y.workItemProjectionId,workItemTurnType:g.workItemTurnType??y.workItemTurnType,companyProfile:d(g,y,"companyProfile"),orgId:d(g,y,"orgId"),workItemRoleId:g.workItemRoleId??y.workItemRoleId,workItemRoleName:g.workItemRoleName??y.workItemRoleName,workItemGate:g.workItemGate??y.workItemGate,roleWorkItems:g.roleWorkItems??y.roleWorkItems,executorRoleWorkItems:g.executorRoleWorkItems??y.executorRoleWorkItems,employeeAssignment:g.employeeAssignment??y.employeeAssignment,selectedExecutionAgent:a(g,y,"selectedExecutionAgent"),handoffContext:g.handoffContext??y.handoffContext,handoffTo:g.handoffTo??y.handoffTo,latestPreview:g.latestPreview??y.latestPreview,latestSender:g.latestSender??y.latestSender,latestMessageId:g.latestMessageId??y.latestMessageId,indexLoaded:g.indexLoaded??y.indexLoaded,detailLoaded:g.detailLoaded??y.detailLoaded,fullLoaded:g.fullLoaded??y.fullLoaded,hasMore:g.hasMore??y.hasMore,detailLoading:g.detailLoading??y.detailLoading,detailError:g.detailError??y.detailError,viewGeneration:g.viewGeneration??y.viewGeneration}):y):[g,...e];case"UPDATE":return e.map(y=>y.taskId===t.taskId?(()=>{const v=h(y,t.partial);return n({...y,...v,updatedAt:m(v,y),runtimeControlState:v.runtimeControlState??y.runtimeControlState,canStop:v.canStop??y.canStop,canResume:v.canResume??y.canResume,resumeParentTaskId:v.resumeParentTaskId??y.resumeParentTaskId,resumeParentSessionId:v.resumeParentSessionId??y.resumeParentSessionId,pendingRuntimeCheckpointId:v.pendingRuntimeCheckpointId??y.pendingRuntimeCheckpointId,stopIntentId:v.stopIntentId??y.stopIntentId,roleWorkItems:v.roleWorkItems??y.roleWorkItems,executorRoleWorkItems:v.executorRoleWorkItems??y.executorRoleWorkItems,execMode:d(v,y,"execMode"),companyProfile:d(v,y,"companyProfile"),orgId:d(v,y,"orgId"),isCompanyRuntime:v.isCompanyRuntime??y.isCompanyRuntime,workItemProjectionId:v.workItemProjectionId??y.workItemProjectionId,workItemTurnType:v.workItemTurnType??y.workItemTurnType,workItemRoleId:v.workItemRoleId??y.workItemRoleId,workItemRoleName:v.workItemRoleName??y.workItemRoleName,workItemGate:v.workItemGate??y.workItemGate,employeeAssignment:v.employeeAssignment??y.employeeAssignment,selectedExecutionAgent:v.selectedExecutionAgent??y.selectedExecutionAgent,activeSubagents:v.activeSubagents??y.activeSubagents,permissionRequests:v.permissionRequests??y.permissionRequests,contextTokens:v.contextTokens??y.contextTokens,contextWindow:v.contextWindow??y.contextWindow,contextRemainingPct:v.contextRemainingPct??y.contextRemainingPct,inputTokens:v.inputTokens??y.inputTokens,outputTokens:v.outputTokens??y.outputTokens,totalTokens:v.totalTokens??y.totalTokens,turnCostUsd:v.turnCostUsd??y.turnCostUsd,sessionCostUsd:v.sessionCostUsd??y.sessionCostUsd,...t.partial.progressLog?{progressLog:t.partial.progressLog}:{},...t.partial.workItemLog?{workItemLog:t.partial.workItemLog}:{}})})():y);case"DELETE":return e.filter(y=>y.taskId!==t.taskId);case"APPEND_PROGRESS":return e.map(y=>y.taskId!==t.taskId?y:{...y,progressLog:AI(y.progressLog,t.entry,lf),updatedAt:Math.max(y.updatedAt,t.entry.timestamp)});case"APPEND_DRAFT":return e.map(y=>{if(y.taskId!==t.taskId)return y;const v=t.turnId??y.draftTurnId,k=!!t.turnId&&!!y.draftTurnId&&t.turnId!==y.draftTurnId;return{...y,draftAssistantText:`${k?"":y.draftAssistantText??""}${t.text}`,draftUpdatedAt:t.timestamp,draftIteration:t.iteration??y.draftIteration,draftTurnId:v,updatedAt:Math.max(y.updatedAt,t.timestamp)}});case"CLEAR_DRAFT":return e.map(y=>y.taskId===t.taskId?{...y,draftAssistantText:void 0,draftUpdatedAt:void 0,draftIteration:void 0,draftTurnId:void 0}:y);case"CLEAR_PROGRESS":return e.map(y=>y.taskId===t.taskId?{...y,progressLog:[]}:y);case"APPEND_WORK_ITEM_PROGRESS":return e.map(y=>y.taskId!==t.taskId?y:{...y,workItemLog:OI(y.workItemLog??[],t.entry,lf)});case"SET_COMPANY_RUNTIME":return e.map(y=>y.taskId===t.taskId?{...y,isCompanyRuntime:t.isCompanyRuntime}:y);default:return e}}function SV(){const[e,t]=E.useReducer(kV,[]),[n,i]=E.useState(null),[r,o]=E.useState("default"),a=E.useMemo(()=>e.find(w=>w.taskId===n)??null,[e,n]),u=E.useCallback(w=>{w.projectId===r&&t({type:"ADD",session:w})},[r]),d=E.useCallback(w=>{t({type:"DELETE",taskId:w})},[]),m=E.useCallback(w=>{i(w)},[]),h=E.useCallback((w,C)=>{t({type:"UPDATE",taskId:w,partial:C})},[]),p=E.useCallback((w,C)=>{t({type:"APPEND_PROGRESS",taskId:w,entry:C})},[]),g=E.useCallback((w,C,N,O)=>{t({type:"APPEND_DRAFT",taskId:w,text:C,iteration:N,turnId:O,timestamp:Date.now()})},[]),y=E.useCallback(w=>{t({type:"CLEAR_DRAFT",taskId:w})},[]),v=E.useCallback(w=>{t({type:"CLEAR_PROGRESS",taskId:w})},[]),k=E.useCallback((w,C)=>{t({type:"APPEND_WORK_ITEM_PROGRESS",taskId:w,entry:C})},[]),S=E.useCallback((w,C)=>{t({type:"SET_COMPANY_RUNTIME",taskId:w,isCompanyRuntime:C})},[]),_=E.useCallback((w,C,N)=>{const O=w||"default",I=O!==r,D=N?.preserveExistingWhenIncomingPartial&&!I?_V(e,C,O):C.filter(T=>T.projectId===O);o(O),t({type:"SET",sessions:D,reset:I}),i(T=>!I&&T&&(D.some(L=>L.taskId===T)||N?.preserveActiveWhenMissing)?T:null)},[r,e]);return E.useMemo(()=>({scopeProjectId:r,sessions:e,activeSessionId:n,activeSession:a,createSession:u,deleteSession:d,setActiveSession:m,updateSession:h,appendProgress:p,appendDraft:g,clearDraft:y,clearProgress:v,appendWorkItemProgress:k,setCompanyRuntime:S,initFromBackend:_}),[r,e,n,a,u,d,m,h,p,g,y,v,k,S,_])}function hC(e){return e.trim()||"default"}function wV(e,t){switch(t.type){case"SET":return{projects:t.projects,activeProjectId:hC(t.activeId)};case"ADD":return e.projects.some(n=>n.id===t.project.id)?e:{...e,projects:[...e.projects,t.project]};case"REMOVE":{const n=e.projects.filter(r=>r.id!==t.id),i=e.activeProjectId===t.id?"default":e.activeProjectId;return{projects:n,activeProjectId:i}}case"SET_ACTIVE":return{...e,activeProjectId:hC(t.id)};default:return e}}function CV(){const[e,t]=E.useReducer(wV,{projects:[{id:"default",name:"default"}],activeProjectId:"default"}),n=E.useCallback((a,u)=>{t({type:"SET",projects:a,activeId:u})},[]),i=E.useCallback(a=>{t({type:"ADD",project:a})},[]),r=E.useCallback(a=>{t({type:"REMOVE",id:a})},[]),o=E.useCallback(a=>{t({type:"SET_ACTIVE",id:a})},[]);return E.useMemo(()=>({projects:e.projects,activeProjectId:e.activeProjectId,initFromBackend:n,addProject:i,removeProject:r,setActiveProject:o}),[e,n,i,r,o])}const gC={active:{label:"Working",cls:"exec-badge-running"},waiting:{label:"Waiting",cls:"exec-badge-idle"},pending:{label:"Pending",cls:"exec-badge-pending"},done:{label:"Done",cls:"exec-badge-done"},failed:{label:"Failed",cls:"exec-badge-failed"}},cf={todo:{label:"To do",cls:"exec-badge-pending"},"in-progress":{label:"In progress",cls:"exec-badge-running"},"in-review":{label:"In review",cls:"exec-badge-idle"},done:{label:"Done",cls:"exec-badge-done"},failed:{label:"Failed",cls:"exec-badge-failed"},cancelled:{label:"Cancelled",cls:"exec-badge-cancelled"}};function jV(e){const t=Math.floor((Date.now()-e)/1e3);if(t<5)return"now";if(t<60)return`${t}s ago`;const n=Math.floor(t/60);if(n<60)return`${n}m ago`;const i=Math.floor(n/60);return i<24?`${i}h ago`:`${Math.floor(i/24)}d ago`}function cx(e){const t=String(e??"").trim();return t?t.replace(/[_-]/g," ").replace(/\b\w/g,n=>n.toUpperCase()):""}function EV(e){return e.phase==="failed"?cf.failed:e.phase==="cancelled"?cf.cancelled:cf[e.kanbanColumn]??cf.todo}function NV(e){if(e.phase==="failed")return"failed";if(e.phase==="cancelled")return"cancelled";if(e.kanbanColumn==="done")return"done"}function IV(e){const t=e.activitySections??[];return t.length>0?t.reduce((n,i)=>n+(i.entries?.length??0),0):e.progressLog.length}function TV({sections:e,fallbackEntries:t,sessionStatus:n}){const i=(e??[]).filter(r=>(r.entries?.length??0)>0||!!r.runtimeTaskId);return i.length>0?c.jsx("div",{className:"exec-activity-sections",children:i.map((r,o)=>{const a=r.entries??[],u=`${r.runtimeTaskId||r.kind}:${o}`;return c.jsxs("section",{className:"exec-activity-section",children:[c.jsxs("div",{className:"exec-activity-section-head",children:[c.jsx("span",{className:"exec-activity-section-title",children:r.title}),r.roleName&&c.jsx("span",{className:"exec-activity-section-role",children:r.roleName}),a.length>0&&c.jsx("span",{className:"exec-section-count",children:a.length})]}),a.length>0?c.jsx(Wo,{entries:a,sessionStatus:n,expandedByDefault:!0}):c.jsx("div",{className:"exec-section-empty",children:"No runtime activity yet"})]},u)})}):!t||t.length===0?c.jsx("div",{className:"exec-section-empty",children:"No activity recorded yet"}):c.jsx(Wo,{entries:t,sessionStatus:n,expandedByDefault:!0})}function xC({role:e,focusedWorkItemId:t,focusedExecutionTurnId:n,agents:i,onClose:r}){const o=E.useMemo(()=>e.workItems.slice().sort((w,C)=>w.createdAt-C.createdAt),[e.workItems]),u=E.useMemo(()=>o.find(w=>!!t&&w.workItemId===t||!!n&&w.executionTurnId===n)??o[o.length-1]??null,[n,t,o])?.workItemId,[d,m]=E.useState(()=>{const w=new Set;return u&&w.add(u),w}),h=E.useRef(new Set);E.useEffect(()=>{!u||h.current.has(u)||(h.current.add(u),m(w=>{if(w.has(u))return w;const C=new Set(w);return C.add(u),C}))},[u]);const p=E.useCallback(w=>{m(C=>{const N=new Set(C);return N.has(w)?N.delete(w):N.add(w),N})},[]),g=E.useRef(null),y=E.useRef(null);E.useEffect(()=>{!u||y.current===u||(y.current=u,g.current?.scrollIntoView({behavior:"smooth",block:"nearest"}))},[u]);const v=E.useCallback(w=>{w.key==="Escape"&&r()},[r]);E.useEffect(()=>(document.addEventListener("keydown",v),()=>document.removeEventListener("keydown",v)),[v]);const k=i.find(w=>w.agent_id===e.roleId),S=e.roleName||k?.name||cx(e.roleId)||"Role",_=gC[e.aggregatedStatus]??gC.pending;return c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"exec-panel-backdrop",onClick:r}),c.jsxs("div",{className:"exec-panel",children:[c.jsxs("div",{className:"exec-panel-header",children:[c.jsxs("div",{className:"exec-panel-title-row",children:[c.jsx(dl,{}),c.jsx("h3",{className:"exec-panel-title",children:S}),c.jsx("span",{className:`exec-badge ${_.cls}`,children:_.label}),c.jsxs("span",{className:"exec-panel-task-count",children:[o.length," Work Item",o.length===1?"":"s"]})]}),c.jsx("button",{className:"exec-panel-close",onClick:r,title:"Close (Esc)",children:c.jsx(Em,{})})]}),c.jsxs("div",{className:"exec-panel-identity",children:[c.jsx("div",{className:"exec-panel-avatar",children:S.charAt(0).toUpperCase()}),c.jsxs("div",{className:"exec-panel-agent-info",children:[c.jsx("span",{className:"exec-panel-agent-name",children:S}),c.jsx("span",{className:"exec-panel-agent-role",children:cx(e.roleId)}),e.roleSessionId&&c.jsx("span",{className:"exec-panel-employee",children:e.roleSessionId})]})]}),c.jsxs("div",{className:"exec-panel-body",children:[o.length===0&&c.jsx("div",{className:"exec-section-empty",children:"No work items yet"}),o.map((w,C)=>{const N=w.workItemId===u,O=d.has(w.workItemId),I=EV(w),D=IV(w);return c.jsxs("div",{ref:N?g:null,className:`exec-task-card${N?" exec-task-card-focused":""}`,children:[c.jsxs("button",{type:"button",className:"exec-task-card-header",onClick:()=>p(w.workItemId),title:O?"Collapse":"Expand",children:[c.jsxs("span",{className:"exec-task-card-index",children:["Work item #",C+1]}),c.jsx("span",{className:"exec-task-card-title",children:w.title||w.workItemId}),c.jsx("span",{className:`exec-badge ${I.cls}`,children:I.label}),c.jsx("span",{className:"exec-task-card-time",children:jV(w.updatedAt)}),c.jsx("span",{className:`exec-task-card-chevron${O?" open":""}`,"aria-hidden":"true",children:"โ–ธ"})]}),O&&c.jsxs("div",{className:"exec-task-card-body",children:[c.jsxs("div",{className:"exec-task-card-projection",children:[c.jsx(jm,{}),c.jsx("span",{children:cx(w.kind)||"Work item"}),w.workItemProjectionId&&c.jsx("code",{children:w.workItemProjectionId}),w.executionTurnId&&c.jsx("span",{className:"exec-inline-tag",children:"Execution Turn"}),w.isReviewTarget&&c.jsx("span",{className:"exec-inline-tag",children:"Review target"}),w.executorRoleName&&c.jsx("span",{children:w.executorRoleName})]}),c.jsxs("div",{className:"exec-section",children:[c.jsxs("div",{className:"exec-section-header",children:[c.jsx(dl,{}),c.jsx("span",{children:"Activity"}),c.jsx("span",{className:"exec-section-count",children:D})]}),c.jsx("div",{className:"exec-section-content exec-activity-scroll",children:c.jsx(TV,{sections:w.activitySections,fallbackEntries:w.progressLog,sessionStatus:NV(w)})})]})]})]},w.workItemId)})]})]})]})}function RV({projects:e,activeId:t,onSelect:n,onCreate:i,onDelete:r}){const[o,a]=E.useState(!1),[u,d]=E.useState(""),[m,h]=E.useState(null),p=E.useCallback(()=>{const y=u.trim().toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/^-|-$/g,"");y&&(i(y),d(""),a(!1))},[u,i]),g=E.useCallback(()=>{!m||!r||(r(m),h(null))},[m,r]);return c.jsxs("div",{className:"project-selector",style:{display:"flex",alignItems:"center",gap:6},children:[c.jsx("select",{className:"theme-select",value:t,onChange:y=>n(y.target.value),title:"Switch project",children:e.map(y=>c.jsx("option",{value:y.id,children:y.name},y.id))}),o?c.jsxs("form",{onSubmit:y=>{y.preventDefault(),p()},style:{display:"flex",gap:4},children:[c.jsx("input",{autoFocus:!0,className:"theme-select",value:u,placeholder:"project-name",onChange:y=>d(y.target.value),onKeyDown:y=>{y.key==="Escape"&&a(!1)},style:{width:120}}),c.jsx("button",{type:"submit",className:"pill-btn",style:{fontSize:11,padding:"2px 8px"},children:"+"})]}):c.jsx("button",{className:"pill-btn",onClick:()=>a(!0),title:"New project",style:{fontSize:11,padding:"2px 8px"},children:"+"}),r&&t!=="default"&&!m&&c.jsx("button",{className:"pill-btn",onClick:()=>h(t),title:"Delete project",style:{fontSize:11,padding:"2px 8px",color:"#ef4444"},children:"Del"}),m&&c.jsx("div",{className:"project-delete-confirm",style:{position:"fixed",inset:0,zIndex:9999,display:"flex",alignItems:"center",justifyContent:"center",background:"rgba(0,0,0,0.5)"},children:c.jsxs("div",{style:{background:"var(--bg-surface, #1e1e2e)",borderRadius:12,padding:"24px 32px",maxWidth:400,boxShadow:"0 8px 32px rgba(0,0,0,0.4)",textAlign:"center"},children:[c.jsxs("p",{style:{margin:"0 0 8px",fontWeight:600,fontSize:15},children:['Delete project "',m,'"?']}),c.jsx("p",{style:{margin:"0 0 20px",fontSize:13,opacity:.7},children:"All sessions, messages, tasks, and agent data in this project will be permanently deleted. This action cannot be undone."}),c.jsxs("div",{style:{display:"flex",gap:8,justifyContent:"center"},children:[c.jsx("button",{className:"pill-btn",onClick:()=>h(null),style:{padding:"6px 18px",fontSize:13},children:"Cancel"}),c.jsx("button",{className:"pill-btn",onClick:g,style:{padding:"6px 18px",fontSize:13,background:"#ef4444",color:"#fff"},children:"Delete"})]})]})})]})}const AV=80;function MV(e){const t=Date.now()/1e3,n=Math.max(0,t-e);if(n<60)return"just now";if(n<3600)return`${Math.floor(n/60)}m ago`;if(n<86400)return`${Math.floor(n/3600)}h ago`;if(n<604800)return`${Math.floor(n/86400)}d ago`;try{return new Date(e*1e3).toLocaleDateString()}catch{return""}}function yC(e){return(e.organization_name||e.name).trim()||e.name}function DV(e){const t=e.trim();return t.length>0&&t.length<=AV&&!/[\\/]/.test(t)&&!/[\u0000-\u001f]/.test(t)}function OV(e){return e.normalize("NFKD").replace(/[^\x00-\x7F]/g,"").toLowerCase().trim().replace(/\s+/g,"_").replace(/[^a-z0-9_-]+/g,"_").replace(/_+/g,"_").replace(/^[_-]+|[_-]+$/g,"").slice(0,64)||"org"}function LV({className:e}){return c.jsxs("svg",{className:e,width:"12",height:"12",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0,children:[c.jsx("path",{d:"M8 1.5L1.5 4.5L8 7.5L14.5 4.5L8 1.5Z",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round"}),c.jsx("path",{d:"M2 8L8 10.8L14 8",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round",opacity:"0.6"}),c.jsx("path",{d:"M2 11.5L8 14.2L14 11.5",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round",opacity:"0.35"})]})}function zV({className:e}){return c.jsx("svg",{className:e,width:"10",height:"10",viewBox:"0 0 12 12",fill:"none","aria-hidden":!0,children:c.jsx("path",{d:"M3 4.5L6 7.5L9 4.5",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}function PV({className:e}){return c.jsxs("svg",{className:e,width:"11",height:"11",viewBox:"0 0 12 12",fill:"none","aria-hidden":!0,children:[c.jsx("circle",{cx:"5",cy:"5",r:"3.2",stroke:"currentColor",strokeWidth:"1.3"}),c.jsx("path",{d:"M7.5 7.5L10 10",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})]})}function BV({savedOrgs:e,activeName:t,isDirty:n,onRefresh:i,onSaveAs:r,onLoad:o,onDelete:a}){const[u,d]=E.useState(!1),[m,h]=E.useState(""),[p,g]=E.useState(0),[y,v]=E.useState(!1),[k,S]=E.useState(""),[_,w]=E.useState(null),[C,N]=E.useState(null),O=E.useRef(null),I=E.useRef(null);E.useEffect(()=>{N(null)},[t,e]);const D=(e??[]).filter(Y=>!m.trim()||Y.name.toLowerCase().includes(m.trim().toLowerCase())),T=E.useRef(!1);E.useEffect(()=>{u&&!T.current&&(T.current=!0,i())},[u,i]),E.useEffect(()=>{y&&I.current?.focus()},[y]),E.useEffect(()=>{g(Y=>Math.min(Y,Math.max(0,D.length-1)))},[D.length]),E.useEffect(()=>{if(!u)return;const Y=Q=>{O.current&&!O.current.contains(Q.target)&&L()};return document.addEventListener("mousedown",Y),()=>document.removeEventListener("mousedown",Y)},[u]);const L=E.useCallback(()=>{d(!1),h(""),g(0),v(!1),S(""),w(null)},[]),A=E.useCallback(Y=>{if(Y===t){L();return}N(Y),o(Y),L()},[o,L,t]),M=E.useCallback(Y=>{a(Y),w(null)},[a]),$=k.trim(),W=DV($),B=OV($),U=(e??[]).some(Y=>Y.name===B||yC(Y).toLowerCase()===$.toLowerCase()),F=E.useCallback(()=>{W&&(r($,U),v(!1),S(""),L())},[W,$,U,r,L]),V=Y=>{if(Y.key==="Escape"){Y.preventDefault(),L();return}if(y){Y.key==="Enter"&&(Y.preventDefault(),F());return}if(Y.key==="ArrowDown")Y.preventDefault(),g(Q=>Math.min(Q+1,Math.max(0,D.length-1)));else if(Y.key==="ArrowUp")Y.preventDefault(),g(Q=>Math.max(0,Q-1));else if(Y.key==="Enter"){const Q=D[p];Q&&A(Q.name)}else if((Y.key==="Backspace"||Y.key==="Delete")&&(Y.metaKey||Y.ctrlKey)){const Q=D[p];Q&&(Y.preventDefault(),w(Q.name))}};return c.jsxs("div",{className:"sos-wrap",ref:O,children:[c.jsxs("button",{type:"button",className:"sos-pill","data-open":u?"true":"false",onClick:()=>d(Y=>!Y),"aria-haspopup":"listbox","aria-expanded":u,title:t?`Active saved architecture: ${t}`:"No saved architecture loaded",children:[c.jsx(LV,{className:"sos-pill-glyph"}),t?c.jsx("span",{className:"sos-pill-name",children:t}):c.jsx("span",{className:"sos-pill-name sos-pill-name--placeholder",children:"draft"}),n&&c.jsx("span",{className:"sos-pill-dirty","aria-label":"Modified since opened"}),c.jsx(zV,{className:"sos-pill-caret"})]}),u&&c.jsxs("div",{className:"sos-popover",role:"listbox",onKeyDown:V,tabIndex:-1,children:[c.jsxs("div",{className:"sos-search-row",children:[c.jsx(PV,{className:"sos-search-glyph"}),c.jsx("input",{type:"text",className:"sos-search-input",placeholder:"Search architecturesโ€ฆ",value:m,onChange:Y=>{h(Y.target.value),g(0)},autoFocus:!0,onKeyDown:V}),c.jsx("kbd",{className:"sos-search-hint",children:"โ†‘โ†“ โ†ต"})]}),c.jsx("div",{className:"sos-list",children:e===null?c.jsx("div",{className:"sos-empty",children:"Loadingโ€ฆ"}):D.length===0?c.jsx("div",{className:"sos-empty",children:(e??[]).length===0?"No saved architectures.":"No matches."}):D.map((Y,Q)=>{const q=t===Y.name,G=p===Q,J=yC(Y);return c.jsxs("div",{className:`sos-row${q?" sos-row--active":""}`,"data-highlighted":G?"true":"false",onMouseEnter:()=>g(Q),onClick:()=>A(Y.name),role:"option","aria-selected":q,children:[c.jsxs("div",{className:"sos-row-meta",children:[c.jsx("span",{className:"sos-row-name",children:J}),c.jsxs("span",{className:"sos-row-stats",children:[J!==Y.name&&`${Y.name} ยท `,Y.roles_count," ",Y.roles_count===1?"role":"roles"," ยท ",Y.employees_count," ",Y.employees_count===1?"employee":"employees"," ยท ",MV(Y.saved_at)]})]}),C===Y.name?c.jsx("span",{className:"sos-row-loading",children:"loadingโ€ฆ"}):q?c.jsx("span",{className:"sos-row-active-chip",children:"active"}):_===Y.name?c.jsx("button",{type:"button",className:"sos-row-delete sos-row-delete--confirm",onClick:P=>{P.stopPropagation(),M(Y.name)},children:"confirm"}):c.jsx("button",{type:"button",className:"sos-row-delete",onClick:P=>{P.stopPropagation(),w(Y.name)},title:"Delete",children:"delete"})]},Y.name)})}),c.jsxs("div",{className:"sos-save-as",children:[y?c.jsxs("div",{className:"sos-save-as-form",children:[c.jsx("input",{ref:I,type:"text",className:"sos-save-as-input",placeholder:"Organization name",value:k,onChange:Y=>S(Y.target.value),onKeyDown:V}),c.jsx("button",{type:"button",className:"btn btn-primary btn-sm",onClick:F,disabled:!W,children:U?"Overwrite copy":"Save as copy"}),c.jsx("button",{type:"button",className:"btn btn-ghost btn-sm",onClick:()=>{v(!1),S("")},children:"Cancel"})]}):c.jsx("button",{type:"button",className:"sos-save-as-trigger",onClick:()=>v(!0),children:"+ Save as copy..."}),y&&k&&!W&&c.jsx("div",{className:"sos-save-as-hint sos-save-as-hint--warn",children:"Use up to 80 characters. Slashes are not allowed."}),y&&W&&U&&c.jsx("div",{className:"sos-save-as-hint sos-save-as-hint--warn",children:"Name exists - this will overwrite that copy."})]})]})]})}const $V=["leader","strategy","target","code","terminal","database","settings","bug","design","pen","layout","marketing","analytics","writing","clipboard","security","support","idea","person","team","camera","calendar","group","ai","generic"],iu={leader:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M5 16L3 5l5.5 5L12 4l3.5 6L21 5l-2 11H5zm0 2h14v2H5v-2z'/%3E%3C/svg%3E",strategy:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M19 22H5v-2h14v2zM17.16 8.26C18.22 9.63 19 10.85 19 12c0 2.21-3.13 4-7 4s-7-1.79-7-4c0-1.15.78-2.37 1.84-3.74C7.83 7.03 9 5.67 9 4.5a2.5 2.5 0 0 1 5 0c0 1.17 1.17 2.53 2.16 3.76zM12 6a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1z'/%3E%3C/svg%3E",target:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm0-14c-3.31 0-6 2.69-6 6s2.69 6 6 6 6-2.69 6-6-2.69-6-6-6zm0 10c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4z'/%3E%3C/svg%3E",code:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0L19.2 12l-4.6-4.6L16 6l6 6-6 6-1.4-1.4z'/%3E%3C/svg%3E",terminal:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M20 4H4c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V8h16v10zM13 14h4v2h-4zm-3.41-.82l-2.59 2.59L8.41 17 12 13.41 8.41 9.82 7 11.24l2.59 2.59z'/%3E%3C/svg%3E",database:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 2C6.48 2 2 3.79 2 6v12c0 2.21 4.48 4 10 4s10-1.79 10-4V6c0-2.21-4.48-4-10-4zm0 18c-4.42 0-8-1.34-8-3v-2.5c1.74 1.5 4.71 2.5 8 2.5s6.26-1 8-2.5V17c0 1.66-3.58 3-8 3zm0-5c-4.42 0-8-1.34-8-3v-2.5c1.74 1.5 4.71 2.5 8 2.5s6.26-1 8-2.5V12c0 1.66-3.58 3-8 3zm0-5c-4.42 0-8-1.34-8-3s3.58-3 8-3 8 1.34 8 3-3.58 3-8 3z'/%3E%3C/svg%3E",settings:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M19.43 12.98c.04-.32.07-.64.07-.98 0-.34-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.39-.3-.61-.22l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.09-.49 0-.61.22l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98 0 .33.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.12.22.39.3.61.22l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.23.09.49 0 .61-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12 15.5c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5 3.5 1.57 3.5 3.5-1.57 3.5-3.5 3.5z'/%3E%3C/svg%3E",bug:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M20 8h-2.81c-.45-.78-1.07-1.45-1.82-1.96L17 4.41 15.59 3l-2.17 2.17C12.96 5.06 12.49 5 12 5s-.96.06-1.41.17L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8zm-6 8h-4v-2h4v2zm0-4h-4v-2h4v2z'/%3E%3C/svg%3E",design:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10c1.38 0 2.5-1.12 2.5-2.5 0-.61-.23-1.2-.64-1.67-.08-.1-.13-.21-.13-.33 0-.28.22-.5.5-.5H16c3.31 0 6-2.69 6-6 0-4.96-4.49-9-10-9zm5.5 11c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm-3-4c-.83 0-1.5-.67-1.5-1.5S13.67 6 14.5 6s1.5.67 1.5 1.5S15.33 9 14.5 9zm-5 0C8.67 9 8 8.33 8 7.5S8.67 6 9.5 6s1.5.67 1.5 1.5S10.33 9 9.5 9zm-3 4c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z'/%3E%3C/svg%3E",pen:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z'/%3E%3C/svg%3E",layout:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z'/%3E%3C/svg%3E",marketing:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M18 11v2h4v-2h-4zm-2 6.61c.96.71 2.21 1.65 3.2 2.39.4-.53.8-1.07 1.2-1.6-.99-.74-2.24-1.68-3.2-2.4-.4.54-.8 1.08-1.2 1.61zM20.4 5.6c-.4-.53-.8-1.07-1.2-1.6-.99.74-2.24 1.68-3.2 2.4.4.53.8 1.07 1.2 1.6.96-.72 2.21-1.65 3.2-2.4zM4 9c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h1v4h2v-4h1l5 3V6L8 9H4zm11.5 3c0-1.33-.58-2.53-1.5-3.35v6.69c.92-.81 1.5-2.01 1.5-3.34z'/%3E%3C/svg%3E",analytics:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M3.5 18.49l6-6.01 4 4L22 6.92l-1.41-1.41-7.09 7.97-4-4L2 16.99l1.5 1.5z'/%3E%3C/svg%3E",writing:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z'/%3E%3C/svg%3E",clipboard:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm2 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z'/%3E%3C/svg%3E",security:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm0 10.99h7c-.53 4.12-3.28 7.79-7 8.94V12H5V6.3l7-3.11V11.99z'/%3E%3C/svg%3E",support:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M21 6h-2v9H6v2c0 .55.45 1 1 1h11l4 4V7c0-.55-.45-1-1-1zm-4 6V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v14l4-4h10c.55 0 1-.45 1-1z'/%3E%3C/svg%3E",idea:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M9 21c0 .55.45 1 1 1h4c.55 0 1-.45 1-1v-1H9v1zm3-19C8.14 2 5 5.14 5 9c0 2.38 1.19 4.47 3 5.74V17c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2.26c1.81-1.27 3-3.36 3-5.74 0-3.86-3.14-7-7-7z'/%3E%3C/svg%3E",person:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E",team:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z'/%3E%3C/svg%3E",camera:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 15.2c-1.77 0-3.2-1.43-3.2-3.2s1.43-3.2 3.2-3.2 3.2 1.43 3.2 3.2-1.43 3.2-3.2 3.2zM9 2L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2H9zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5z'/%3E%3C/svg%3E",calendar:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z'/%3E%3C/svg%3E",group:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 12.75c1.63 0 3.07.39 4.24.9 1.08.48 1.76 1.56 1.76 2.73L18 18H6l.01-1.62c0-1.17.68-2.25 1.76-2.73 1.17-.51 2.6-.9 4.23-.9zM4 13c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm1.13 1.1c-.37-.06-.74-.1-1.13-.1-.99 0-1.93.21-2.78.58C.48 14.9 0 15.62 0 16.43V18h4.5v-1.61c0-.83.23-1.61.63-2.29zM20 13c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm4 3.43c0-.81-.48-1.53-1.22-1.85-.85-.37-1.79-.58-2.78-.58-.39 0-.76.04-1.13.1.4.68.63 1.46.63 2.29V18H24v-1.57zM12 6c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3z'/%3E%3C/svg%3E",ai:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M19 9l1.25-2.75L23 5l-2.75-1.25L19 1l-1.25 2.75L15 5l2.75 1.25L19 9zm-7.5.5L9 4 6.5 9.5 1 12l5.5 2.5L9 20l2.5-5.5L17 12l-5.5-2.5zM19 15l-1.25 2.75L15 19l2.75 1.25L19 23l1.25-2.75L23 19l-2.75-1.25L19 15z'/%3E%3C/svg%3E",generic:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E"};function Du(e){return e?e.startsWith("data:")?e:iu[e]??iu.generic:iu.generic}const Bc=["file_read","file_write","file_edit","file_search","list_dir","shell_exec","web_search","web_fetch","todo_read","todo_write","browser_navigate","browser_navigate_back","browser_snapshot","browser_wait_for","browser_scroll","browser_click","browser_type","browser_select_option","browser_take_screenshot","browser_evaluate","browser_close"],HV=[{label:"Files",prefix:"file_",tools:Bc.filter(e=>e.startsWith("file_"))},{label:"Shell",prefix:"shell_",tools:Bc.filter(e=>e==="shell_exec")},{label:"Web",prefix:"web_",tools:Bc.filter(e=>e.startsWith("web_"))},{label:"TODOs",prefix:"todo_",tools:Bc.filter(e=>e.startsWith("todo_"))},{label:"Browser",prefix:"browser_",tools:Bc.filter(e=>e.startsWith("browser_"))}],FV=["codex","cursor","claude_code","opencode"],VV=[{value:"auto",label:"Auto",hint:"System picks native or external based on role config"},{value:"native",label:"Native",hint:"Run directly in-process via LLM"},{value:"external",label:"External",hint:"Delegate to an external agent (codex, cursor, etc.)"}];function UV({role:e,allRoles:t,employees:n,readOnly:i,onUpdateRole:r,onDeleteRole:o,onClose:a}){const[u,d]=E.useState(e.name),[m,h]=E.useState(e.responsibility),[p,g]=E.useState(e.reports_to),[y,v]=E.useState(e.icon??null),[k,S]=E.useState(()=>new Set(e.can_spawn)),[_,w]=E.useState(()=>new Set(e.tools)),[C,N]=E.useState(e.runtime_policy?.execution_strategy??"auto"),[O,I]=E.useState(e.preferred_external_agent??null),[D,T]=E.useState((e.prompt_refs??[]).join(` -`)),[L,A]=E.useState(!1),M=E.useRef(e.role_id);E.useEffect(()=>{M.current!==e.role_id&&(M.current=e.role_id,d(e.name),h(e.responsibility),g(e.reports_to),v(e.icon??null),S(new Set(e.can_spawn)),w(new Set(e.tools)),N(e.runtime_policy?.execution_strategy??"auto"),I(e.preferred_external_agent??null),T((e.prompt_refs??[]).join(` -`)),A(!1))},[e]);const $=E.useRef({}),W=E.useRef(null),B=E.useRef(e.role_id);E.useEffect(()=>{B.current=e.role_id},[e.role_id]);const U=E.useCallback(()=>{W.current&&(clearTimeout(W.current),W.current=null);const se=$.current;$.current={},Object.keys(se).length!==0&&r(B.current,se)},[r]),F=E.useCallback(se=>{i||($.current={...$.current,...se},W.current&&clearTimeout(W.current),W.current=setTimeout(U,500))},[U,i]);E.useEffect(()=>()=>{W.current&&(clearTimeout(W.current),W.current=null);const se=$.current;Object.keys(se).length>0&&($.current={},r(B.current,se))},[r]);const V=se=>{d(se),F({name:se})},Y=se=>{h(se),F({responsibility:se})},Q=se=>{g(se),F({reports_to:se})},q=se=>{v(se),F({icon:se})},G=se=>{N(se),F({execution_strategy:se})},J=se=>{I(se),F({preferred_external_agent:se})},P=se=>{T(se);const _e=se.split(` -`).map(we=>we.trim()).filter(Boolean);F({prompt_refs:_e})},K=se=>{const _e=new Set(k);_e.has(se)?_e.delete(se):_e.add(se),S(_e),F({can_spawn:Array.from(_e)})},ee=se=>{const _e=new Set(_);_e.has(se)?_e.delete(se):_e.add(se),w(_e),F({tools:Array.from(_e)})},te=E.useMemo(()=>t.filter(se=>se.role_id!==e.role_id),[t,e.role_id]),ie=E.useMemo(()=>n.filter(se=>(se.role_ids?.length?se.role_ids:[se.role_id]).includes(e.role_id)).length,[n,e.role_id]),oe=E.useMemo(()=>D.split(` -`).filter(se=>se.trim()).length,[D]),fe=()=>{if(!L){A(!0);return}U(),o(e.role_id)};return c.jsxs("aside",{className:"ri-panel","aria-label":`Inspector for role ${e.name}`,children:[c.jsxs("header",{className:"ri-panel-header",children:[c.jsx("img",{src:Du(y),alt:"",className:"ri-panel-icon"}),c.jsxs("div",{className:"ri-panel-title-wrap",children:[c.jsx("h3",{className:"ri-panel-title",children:u||"(unnamed)"}),c.jsx("code",{className:"ri-panel-id",children:e.role_id})]}),c.jsx("button",{className:"btn btn-ghost btn-sm ri-panel-close",onClick:a,title:"Close (Esc)",children:"โœ•"})]}),c.jsxs("div",{className:"ri-panel-body",children:[c.jsxs(Ya,{title:"Identity",defaultExpanded:!0,children:[c.jsx(gr,{label:"Name",children:c.jsx("input",{className:"ri-text-input",value:u,onChange:se=>V(se.target.value),disabled:i})}),c.jsx(gr,{label:"Responsibility",children:c.jsx("textarea",{className:"ri-textarea",rows:3,value:m,onChange:se=>Y(se.target.value),disabled:i})}),c.jsx(gr,{label:"Icon",children:c.jsx(GV,{value:y,onChange:q,readOnly:i})})]}),c.jsxs(Ya,{title:"Hierarchy",defaultExpanded:!0,children:[c.jsx(gr,{label:"Reports to",children:c.jsxs("select",{className:"ri-select",value:p,onChange:se=>Q(se.target.value),disabled:i,children:[c.jsx("option",{value:"owner",children:"You (Owner)"}),te.map(se=>c.jsx("option",{value:se.role_id,children:se.name},se.role_id))]})}),c.jsx(gr,{label:"Can delegate to",children:c.jsx(qV,{allIds:te.map(se=>se.role_id),labelFor:se=>te.find(_e=>_e.role_id===se)?.name??se,selected:k,onToggle:K,readOnly:i})}),c.jsx(gr,{label:"Employees assigned",children:c.jsx("span",{className:"ri-meta-value",children:ie})})]}),c.jsx(Ya,{title:`Tools (${_.size})`,children:c.jsx(WV,{tools:_,onToggle:ee,readOnly:i})}),c.jsx(Ya,{title:`Prompts (${oe})`,children:c.jsx(gr,{label:"Prompt refs / inline",children:c.jsx("textarea",{className:"ri-textarea ri-textarea-mono",rows:5,placeholder:"One prompt ref or inline instruction per line",value:D,onChange:se=>P(se.target.value),disabled:i})})}),c.jsxs(Ya,{title:"Runtime policy",children:[c.jsx(gr,{label:"Execution strategy",children:c.jsx("div",{className:"ri-radio-group",children:VV.map(se=>c.jsxs("label",{className:"ri-radio",title:se.hint,children:[c.jsx("input",{type:"radio",name:`exec-strategy-${e.role_id}`,value:se.value,checked:C===se.value,onChange:()=>G(se.value),disabled:i}),se.label]},se.value))})}),C==="external"&&c.jsx(gr,{label:"Preferred external agent",children:c.jsxs("select",{className:"ri-select",value:O??"",onChange:se=>J(se.target.value||null),disabled:i,children:[c.jsx("option",{value:"",children:"(any)"}),FV.map(se=>c.jsx("option",{value:se,children:se},se))]})})]}),c.jsxs(Ya,{title:"Advanced",children:[c.jsx(gr,{label:"Role type",children:c.jsx("span",{className:"ri-meta-value",children:e.role_type??"worker"})}),c.jsx(gr,{label:"Skills",children:c.jsx("span",{className:"ri-meta-value",children:e.skill_refs&&e.skill_refs.length>0?e.skill_refs.join(", "):"(none)"})}),c.jsx(gr,{label:"Artifact contract",children:c.jsx("span",{className:"ri-meta-value",children:e.artifact_contract_ref??"(none)"})})]})]}),!i&&c.jsx("footer",{className:"ri-panel-footer",children:c.jsx("button",{className:`btn btn-sm ${L?"btn-danger":"btn-ghost"}`,onClick:fe,onBlur:()=>A(!1),children:L?"Confirm delete?":"Delete role"})})]})}function Ya({title:e,defaultExpanded:t=!1,children:n}){const[i,r]=E.useState(t);return c.jsxs("section",{className:`ri-group${i?" is-expanded":""}`,children:[c.jsxs("button",{className:"ri-group-header",onClick:()=>r(o=>!o),children:[c.jsx("span",{className:"ri-group-caret",children:i?"โ–พ":"โ–ธ"}),c.jsx("span",{className:"ri-group-title",children:e})]}),i&&c.jsx("div",{className:"ri-group-body",children:n})]})}function gr({label:e,children:t}){return c.jsxs("div",{className:"ri-field",children:[c.jsx("label",{className:"ri-field-label",children:e}),c.jsx("div",{className:"ri-field-control",children:t})]})}function GV({value:e,onChange:t,readOnly:n}){const[i,r]=E.useState(!1);return c.jsxs("div",{className:"ri-icon-picker",children:[c.jsxs("button",{className:"ri-icon-picker-trigger",onClick:()=>!n&&r(o=>!o),disabled:n,children:[c.jsx("img",{src:Du(e),alt:"",className:"ri-icon-picker-current"}),c.jsx("span",{className:"ri-icon-picker-label",children:e??"generic"})]}),i&&c.jsxs("div",{className:"ri-icon-picker-popover",children:[c.jsx("button",{className:`ri-icon-option${e===null?" is-active":""}`,onClick:()=>{t(null),r(!1)},title:"Default icon",children:c.jsx("img",{src:iu.generic,alt:""})}),$V.filter(o=>o!=="generic").map(o=>c.jsx("button",{className:`ri-icon-option${e===o?" is-active":""}`,onClick:()=>{t(o),r(!1)},title:o,children:c.jsx("img",{src:iu[o],alt:o})},o))]})]})}function qV({allIds:e,labelFor:t,selected:n,onToggle:i,readOnly:r}){const[o,a]=E.useState(!1),u=e.filter(d=>!n.has(d));return c.jsxs("div",{className:"ri-multiselect",children:[c.jsxs("div",{className:"ri-chips",children:[Array.from(n).map(d=>c.jsxs("span",{className:"ri-chip",children:[t(d),!r&&c.jsx("button",{className:"ri-chip-x",onClick:()=>i(d),title:"Remove",children:"ร—"})]},d)),!r&&u.length>0&&c.jsx("button",{className:"ri-chip-add",onClick:()=>a(d=>!d),children:"+ Add"}),n.size===0&&r&&c.jsx("span",{className:"ri-meta-value",children:"(none)"})]}),o&&!r&&c.jsx("div",{className:"ri-multiselect-popover",children:u.map(d=>c.jsx("button",{className:"ri-multiselect-option",onClick:()=>{i(d),a(!1)},children:t(d)},d))})]})}function WV({tools:e,onToggle:t,readOnly:n}){return c.jsx("div",{className:"ri-toolcheck",children:HV.map(i=>c.jsxs("fieldset",{className:"ri-toolcheck-group",children:[c.jsx("legend",{className:"ri-toolcheck-legend",children:i.label}),c.jsx("div",{className:"ri-toolcheck-items",children:i.tools.map(r=>c.jsxs("label",{className:"ri-toolcheck-item",children:[c.jsx("input",{type:"checkbox",checked:e.has(r),onChange:()=>t(r),disabled:n}),c.jsx("span",{className:"ri-toolcheck-name",children:r.replace(i.prefix,"")||r})]},r))})]},i.prefix))})}function co(e,t){return typeof e=="function"?e(t):e}function nr(e,t){return n=>{t.setState(i=>({...i,[e]:co(n,i[e])}))}}function Um(e){return e instanceof Function}function YV(e){return Array.isArray(e)&&e.every(t=>typeof t=="number")}function XV(e,t){const n=[],i=r=>{r.forEach(o=>{n.push(o);const a=t(o);a!=null&&a.length&&i(a)})};return i(e),n}function mt(e,t,n){let i=[],r;return o=>{let a;n.key&&n.debug&&(a=Date.now());const u=e(o);if(!(u.length!==i.length||u.some((h,p)=>i[p]!==h)))return r;i=u;let m;if(n.key&&n.debug&&(m=Date.now()),r=t(...u),n==null||n.onChange==null||n.onChange(r),n.key&&n.debug&&n!=null&&n.debug()){const h=Math.round((Date.now()-a)*100)/100,p=Math.round((Date.now()-m)*100)/100,g=p/16,y=(v,k)=>{for(v=String(v);v.length{var r;return(r=e?.debugAll)!=null?r:e[t]},key:!1,onChange:i}}function KV(e,t,n,i){const r=()=>{var a;return(a=o.getValue())!=null?a:e.options.renderFallbackValue},o={id:`${t.id}_${n.id}`,row:t,column:n,getValue:()=>t.getValue(i),renderValue:r,getContext:mt(()=>[e,n,t,o],(a,u,d,m)=>({table:a,column:u,row:d,cell:m,getValue:m.getValue,renderValue:m.renderValue}),pt(e.options,"debugCells"))};return e._features.forEach(a=>{a.createCell==null||a.createCell(o,n,t,e)},{}),o}function ZV(e,t,n,i){var r,o;const u={...e._getDefaultColumnDef(),...t},d=u.accessorKey;let m=(r=(o=u.id)!=null?o:d?typeof String.prototype.replaceAll=="function"?d.replaceAll(".","_"):d.replace(/\./g,"_"):void 0)!=null?r:typeof u.header=="string"?u.header:void 0,h;if(u.accessorFn?h=u.accessorFn:d&&(d.includes(".")?h=g=>{let y=g;for(const k of d.split(".")){var v;y=(v=y)==null?void 0:v[k]}return y}:h=g=>g[u.accessorKey]),!m)throw new Error;let p={id:`${String(m)}`,accessorFn:h,parent:i,depth:n,columnDef:u,columns:[],getFlatColumns:mt(()=>[!0],()=>{var g;return[p,...(g=p.columns)==null?void 0:g.flatMap(y=>y.getFlatColumns())]},pt(e.options,"debugColumns")),getLeafColumns:mt(()=>[e._getOrderColumnsFn()],g=>{var y;if((y=p.columns)!=null&&y.length){let v=p.columns.flatMap(k=>k.getLeafColumns());return g(v)}return[p]},pt(e.options,"debugColumns"))};for(const g of e._features)g.createColumn==null||g.createColumn(p,e);return p}const yi="debugHeaders";function vC(e,t,n){var i;let o={id:(i=n.id)!=null?i:t.id,column:t,index:n.index,isPlaceholder:!!n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const a=[],u=d=>{d.subHeaders&&d.subHeaders.length&&d.subHeaders.map(u),a.push(d)};return u(o),a},getContext:()=>({table:e,header:o,column:t})};return e._features.forEach(a=>{a.createHeader==null||a.createHeader(o,e)}),o}const QV={createTable:e=>{e.getHeaderGroups=mt(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,i,r)=>{var o,a;const u=(o=i?.map(p=>n.find(g=>g.id===p)).filter(Boolean))!=null?o:[],d=(a=r?.map(p=>n.find(g=>g.id===p)).filter(Boolean))!=null?a:[],m=n.filter(p=>!(i!=null&&i.includes(p.id))&&!(r!=null&&r.includes(p.id)));return uf(t,[...u,...m,...d],e)},pt(e.options,yi)),e.getCenterHeaderGroups=mt(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,i,r)=>(n=n.filter(o=>!(i!=null&&i.includes(o.id))&&!(r!=null&&r.includes(o.id))),uf(t,n,e,"center")),pt(e.options,yi)),e.getLeftHeaderGroups=mt(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,i)=>{var r;const o=(r=i?.map(a=>n.find(u=>u.id===a)).filter(Boolean))!=null?r:[];return uf(t,o,e,"left")},pt(e.options,yi)),e.getRightHeaderGroups=mt(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,i)=>{var r;const o=(r=i?.map(a=>n.find(u=>u.id===a)).filter(Boolean))!=null?r:[];return uf(t,o,e,"right")},pt(e.options,yi)),e.getFooterGroups=mt(()=>[e.getHeaderGroups()],t=>[...t].reverse(),pt(e.options,yi)),e.getLeftFooterGroups=mt(()=>[e.getLeftHeaderGroups()],t=>[...t].reverse(),pt(e.options,yi)),e.getCenterFooterGroups=mt(()=>[e.getCenterHeaderGroups()],t=>[...t].reverse(),pt(e.options,yi)),e.getRightFooterGroups=mt(()=>[e.getRightHeaderGroups()],t=>[...t].reverse(),pt(e.options,yi)),e.getFlatHeaders=mt(()=>[e.getHeaderGroups()],t=>t.map(n=>n.headers).flat(),pt(e.options,yi)),e.getLeftFlatHeaders=mt(()=>[e.getLeftHeaderGroups()],t=>t.map(n=>n.headers).flat(),pt(e.options,yi)),e.getCenterFlatHeaders=mt(()=>[e.getCenterHeaderGroups()],t=>t.map(n=>n.headers).flat(),pt(e.options,yi)),e.getRightFlatHeaders=mt(()=>[e.getRightHeaderGroups()],t=>t.map(n=>n.headers).flat(),pt(e.options,yi)),e.getCenterLeafHeaders=mt(()=>[e.getCenterFlatHeaders()],t=>t.filter(n=>{var i;return!((i=n.subHeaders)!=null&&i.length)}),pt(e.options,yi)),e.getLeftLeafHeaders=mt(()=>[e.getLeftFlatHeaders()],t=>t.filter(n=>{var i;return!((i=n.subHeaders)!=null&&i.length)}),pt(e.options,yi)),e.getRightLeafHeaders=mt(()=>[e.getRightFlatHeaders()],t=>t.filter(n=>{var i;return!((i=n.subHeaders)!=null&&i.length)}),pt(e.options,yi)),e.getLeafHeaders=mt(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(t,n,i)=>{var r,o,a,u,d,m;return[...(r=(o=t[0])==null?void 0:o.headers)!=null?r:[],...(a=(u=n[0])==null?void 0:u.headers)!=null?a:[],...(d=(m=i[0])==null?void 0:m.headers)!=null?d:[]].map(h=>h.getLeafHeaders()).flat()},pt(e.options,yi))}};function uf(e,t,n,i){var r,o;let a=0;const u=function(g,y){y===void 0&&(y=1),a=Math.max(a,y),g.filter(v=>v.getIsVisible()).forEach(v=>{var k;(k=v.columns)!=null&&k.length&&u(v.columns,y+1)},0)};u(e);let d=[];const m=(g,y)=>{const v={depth:y,id:[i,`${y}`].filter(Boolean).join("_"),headers:[]},k=[];g.forEach(S=>{const _=[...k].reverse()[0],w=S.column.depth===v.depth;let C,N=!1;if(w&&S.column.parent?C=S.column.parent:(C=S.column,N=!0),_&&_?.column===C)_.subHeaders.push(S);else{const O=vC(n,C,{id:[i,y,C.id,S?.id].filter(Boolean).join("_"),isPlaceholder:N,placeholderId:N?`${k.filter(I=>I.column===C).length}`:void 0,depth:y,index:k.length});O.subHeaders.push(S),k.push(O)}v.headers.push(S),S.headerGroup=v}),d.push(v),y>0&&m(k,y-1)},h=t.map((g,y)=>vC(n,g,{depth:a,index:y}));m(h,a-1),d.reverse();const p=g=>g.filter(v=>v.column.getIsVisible()).map(v=>{let k=0,S=0,_=[0];v.subHeaders&&v.subHeaders.length?(_=[],p(v.subHeaders).forEach(C=>{let{colSpan:N,rowSpan:O}=C;k+=N,_.push(O)})):k=1;const w=Math.min(..._);return S=S+w,v.colSpan=k,v.rowSpan=S,{colSpan:k,rowSpan:S}});return p((r=(o=d[0])==null?void 0:o.headers)!=null?r:[]),d}const JV=(e,t,n,i,r,o,a)=>{let u={id:t,index:i,original:n,depth:r,parentId:a,_valuesCache:{},_uniqueValuesCache:{},getValue:d=>{if(u._valuesCache.hasOwnProperty(d))return u._valuesCache[d];const m=e.getColumn(d);if(m!=null&&m.accessorFn)return u._valuesCache[d]=m.accessorFn(u.original,i),u._valuesCache[d]},getUniqueValues:d=>{if(u._uniqueValuesCache.hasOwnProperty(d))return u._uniqueValuesCache[d];const m=e.getColumn(d);if(m!=null&&m.accessorFn)return m.columnDef.getUniqueValues?(u._uniqueValuesCache[d]=m.columnDef.getUniqueValues(u.original,i),u._uniqueValuesCache[d]):(u._uniqueValuesCache[d]=[u.getValue(d)],u._uniqueValuesCache[d])},renderValue:d=>{var m;return(m=u.getValue(d))!=null?m:e.options.renderFallbackValue},subRows:[],getLeafRows:()=>XV(u.subRows,d=>d.subRows),getParentRow:()=>u.parentId?e.getRow(u.parentId,!0):void 0,getParentRows:()=>{let d=[],m=u;for(;;){const h=m.getParentRow();if(!h)break;d.push(h),m=h}return d.reverse()},getAllCells:mt(()=>[e.getAllLeafColumns()],d=>d.map(m=>KV(e,u,m,m.id)),pt(e.options,"debugRows")),_getAllCellsByColumnId:mt(()=>[u.getAllCells()],d=>d.reduce((m,h)=>(m[h.column.id]=h,m),{}),pt(e.options,"debugRows"))};for(let d=0;d{e._getFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():t.getPreFilteredRowModel(),e._getFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},PI=(e,t,n)=>{var i,r;const o=n==null||(i=n.toString())==null?void 0:i.toLowerCase();return!!(!((r=e.getValue(t))==null||(r=r.toString())==null||(r=r.toLowerCase())==null)&&r.includes(o))};PI.autoRemove=e=>Ar(e);const BI=(e,t,n)=>{var i;return!!(!((i=e.getValue(t))==null||(i=i.toString())==null)&&i.includes(n))};BI.autoRemove=e=>Ar(e);const $I=(e,t,n)=>{var i;return((i=e.getValue(t))==null||(i=i.toString())==null?void 0:i.toLowerCase())===n?.toLowerCase()};$I.autoRemove=e=>Ar(e);const HI=(e,t,n)=>{var i;return(i=e.getValue(t))==null?void 0:i.includes(n)};HI.autoRemove=e=>Ar(e);const FI=(e,t,n)=>!n.some(i=>{var r;return!((r=e.getValue(t))!=null&&r.includes(i))});FI.autoRemove=e=>Ar(e)||!(e!=null&&e.length);const VI=(e,t,n)=>n.some(i=>{var r;return(r=e.getValue(t))==null?void 0:r.includes(i)});VI.autoRemove=e=>Ar(e)||!(e!=null&&e.length);const UI=(e,t,n)=>e.getValue(t)===n;UI.autoRemove=e=>Ar(e);const GI=(e,t,n)=>e.getValue(t)==n;GI.autoRemove=e=>Ar(e);const kv=(e,t,n)=>{let[i,r]=n;const o=e.getValue(t);return o>=i&&o<=r};kv.resolveFilterValue=e=>{let[t,n]=e,i=typeof t!="number"?parseFloat(t):t,r=typeof n!="number"?parseFloat(n):n,o=t===null||Number.isNaN(i)?-1/0:i,a=n===null||Number.isNaN(r)?1/0:r;if(o>a){const u=o;o=a,a=u}return[o,a]};kv.autoRemove=e=>Ar(e)||Ar(e[0])&&Ar(e[1]);const Ss={includesString:PI,includesStringSensitive:BI,equalsString:$I,arrIncludes:HI,arrIncludesAll:FI,arrIncludesSome:VI,equals:UI,weakEquals:GI,inNumberRange:kv};function Ar(e){return e==null||e===""}const tU={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:nr("columnFilters",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,t)=>{e.getAutoFilterFn=()=>{const n=t.getCoreRowModel().flatRows[0],i=n?.getValue(e.id);return typeof i=="string"?Ss.includesString:typeof i=="number"?Ss.inNumberRange:typeof i=="boolean"||i!==null&&typeof i=="object"?Ss.equals:Array.isArray(i)?Ss.arrIncludes:Ss.weakEquals},e.getFilterFn=()=>{var n,i;return Um(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn==="auto"?e.getAutoFilterFn():(n=(i=t.options.filterFns)==null?void 0:i[e.columnDef.filterFn])!=null?n:Ss[e.columnDef.filterFn]},e.getCanFilter=()=>{var n,i,r;return((n=e.columnDef.enableColumnFilter)!=null?n:!0)&&((i=t.options.enableColumnFilters)!=null?i:!0)&&((r=t.options.enableFilters)!=null?r:!0)&&!!e.accessorFn},e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var n;return(n=t.getState().columnFilters)==null||(n=n.find(i=>i.id===e.id))==null?void 0:n.value},e.getFilterIndex=()=>{var n,i;return(n=(i=t.getState().columnFilters)==null?void 0:i.findIndex(r=>r.id===e.id))!=null?n:-1},e.setFilterValue=n=>{t.setColumnFilters(i=>{const r=e.getFilterFn(),o=i?.find(h=>h.id===e.id),a=co(n,o?o.value:void 0);if(bC(r,a,e)){var u;return(u=i?.filter(h=>h.id!==e.id))!=null?u:[]}const d={id:e.id,value:a};if(o){var m;return(m=i?.map(h=>h.id===e.id?d:h))!=null?m:[]}return i!=null&&i.length?[...i,d]:[d]})}},createRow:(e,t)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=t=>{const n=e.getAllLeafColumns(),i=r=>{var o;return(o=co(t,r))==null?void 0:o.filter(a=>{const u=n.find(d=>d.id===a.id);if(u){const d=u.getFilterFn();if(bC(d,a.value,u))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(i)},e.resetColumnFilters=t=>{var n,i;e.setColumnFilters(t?[]:(n=(i=e.initialState)==null?void 0:i.columnFilters)!=null?n:[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function bC(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||typeof t>"u"||typeof t=="string"&&!t}const nU=(e,t,n)=>n.reduce((i,r)=>{const o=r.getValue(e);return i+(typeof o=="number"?o:0)},0),iU=(e,t,n)=>{let i;return n.forEach(r=>{const o=r.getValue(e);o!=null&&(i>o||i===void 0&&o>=o)&&(i=o)}),i},rU=(e,t,n)=>{let i;return n.forEach(r=>{const o=r.getValue(e);o!=null&&(i=o)&&(i=o)}),i},sU=(e,t,n)=>{let i,r;return n.forEach(o=>{const a=o.getValue(e);a!=null&&(i===void 0?a>=a&&(i=r=a):(i>a&&(i=a),r{let n=0,i=0;if(t.forEach(r=>{let o=r.getValue(e);o!=null&&(o=+o)>=o&&(++n,i+=o)}),n)return i/n},aU=(e,t)=>{if(!t.length)return;const n=t.map(o=>o.getValue(e));if(!YV(n))return;if(n.length===1)return n[0];const i=Math.floor(n.length/2),r=n.sort((o,a)=>o-a);return n.length%2!==0?r[i]:(r[i-1]+r[i])/2},lU=(e,t)=>Array.from(new Set(t.map(n=>n.getValue(e))).values()),cU=(e,t)=>new Set(t.map(n=>n.getValue(e))).size,uU=(e,t)=>t.length,ux={sum:nU,min:iU,max:rU,extent:sU,mean:oU,median:aU,unique:lU,uniqueCount:cU,count:uU},dU={getDefaultColumnDef:()=>({aggregatedCell:e=>{var t,n;return(t=(n=e.getValue())==null||n.toString==null?void 0:n.toString())!=null?t:null},aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:nr("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,t)=>{e.toggleGrouping=()=>{t.setGrouping(n=>n!=null&&n.includes(e.id)?n.filter(i=>i!==e.id):[...n??[],e.id])},e.getCanGroup=()=>{var n,i;return((n=e.columnDef.enableGrouping)!=null?n:!0)&&((i=t.options.enableGrouping)!=null?i:!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue)},e.getIsGrouped=()=>{var n;return(n=t.getState().grouping)==null?void 0:n.includes(e.id)},e.getGroupedIndex=()=>{var n;return(n=t.getState().grouping)==null?void 0:n.indexOf(e.id)},e.getToggleGroupingHandler=()=>{const n=e.getCanGroup();return()=>{n&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{const n=t.getCoreRowModel().flatRows[0],i=n?.getValue(e.id);if(typeof i=="number")return ux.sum;if(Object.prototype.toString.call(i)==="[object Date]")return ux.extent},e.getAggregationFn=()=>{var n,i;if(!e)throw new Error;return Um(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn==="auto"?e.getAutoAggregationFn():(n=(i=t.options.aggregationFns)==null?void 0:i[e.columnDef.aggregationFn])!=null?n:ux[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=t=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(t),e.resetGrouping=t=>{var n,i;e.setGrouping(t?[]:(n=(i=e.initialState)==null?void 0:i.grouping)!=null?n:[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,t)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=n=>{if(e._groupingValuesCache.hasOwnProperty(n))return e._groupingValuesCache[n];const i=t.getColumn(n);return i!=null&&i.columnDef.getGroupingValue?(e._groupingValuesCache[n]=i.columnDef.getGroupingValue(e.original),e._groupingValuesCache[n]):e.getValue(n)},e._groupingValuesCache={}},createCell:(e,t,n,i)=>{e.getIsGrouped=()=>t.getIsGrouped()&&t.id===n.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&t.getIsGrouped(),e.getIsAggregated=()=>{var r;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((r=n.subRows)!=null&&r.length)}}};function fU(e,t,n){if(!(t!=null&&t.length)||!n)return e;const i=e.filter(o=>!t.includes(o.id));return n==="remove"?i:[...t.map(o=>e.find(a=>a.id===o)).filter(Boolean),...i]}const mU={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:nr("columnOrder",e)}),createColumn:(e,t)=>{e.getIndex=mt(n=>[ru(t,n)],n=>n.findIndex(i=>i.id===e.id),pt(t.options,"debugColumns")),e.getIsFirstColumn=n=>{var i;return((i=ru(t,n)[0])==null?void 0:i.id)===e.id},e.getIsLastColumn=n=>{var i;const r=ru(t,n);return((i=r[r.length-1])==null?void 0:i.id)===e.id}},createTable:e=>{e.setColumnOrder=t=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(t),e.resetColumnOrder=t=>{var n;e.setColumnOrder(t?[]:(n=e.initialState.columnOrder)!=null?n:[])},e._getOrderColumnsFn=mt(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(t,n,i)=>r=>{let o=[];if(!(t!=null&&t.length))o=r;else{const a=[...t],u=[...r];for(;u.length&&a.length;){const d=a.shift(),m=u.findIndex(h=>h.id===d);m>-1&&o.push(u.splice(m,1)[0])}o=[...o,...u]}return fU(o,n,i)},pt(e.options,"debugTable"))}},dx=()=>({left:[],right:[]}),pU={getInitialState:e=>({columnPinning:dx(),...e}),getDefaultOptions:e=>({onColumnPinningChange:nr("columnPinning",e)}),createColumn:(e,t)=>{e.pin=n=>{const i=e.getLeafColumns().map(r=>r.id).filter(Boolean);t.setColumnPinning(r=>{var o,a;if(n==="right"){var u,d;return{left:((u=r?.left)!=null?u:[]).filter(p=>!(i!=null&&i.includes(p))),right:[...((d=r?.right)!=null?d:[]).filter(p=>!(i!=null&&i.includes(p))),...i]}}if(n==="left"){var m,h;return{left:[...((m=r?.left)!=null?m:[]).filter(p=>!(i!=null&&i.includes(p))),...i],right:((h=r?.right)!=null?h:[]).filter(p=>!(i!=null&&i.includes(p)))}}return{left:((o=r?.left)!=null?o:[]).filter(p=>!(i!=null&&i.includes(p))),right:((a=r?.right)!=null?a:[]).filter(p=>!(i!=null&&i.includes(p)))}})},e.getCanPin=()=>e.getLeafColumns().some(i=>{var r,o,a;return((r=i.columnDef.enablePinning)!=null?r:!0)&&((o=(a=t.options.enableColumnPinning)!=null?a:t.options.enablePinning)!=null?o:!0)}),e.getIsPinned=()=>{const n=e.getLeafColumns().map(u=>u.id),{left:i,right:r}=t.getState().columnPinning,o=n.some(u=>i?.includes(u)),a=n.some(u=>r?.includes(u));return o?"left":a?"right":!1},e.getPinnedIndex=()=>{var n,i;const r=e.getIsPinned();return r?(n=(i=t.getState().columnPinning)==null||(i=i[r])==null?void 0:i.indexOf(e.id))!=null?n:-1:0}},createRow:(e,t)=>{e.getCenterVisibleCells=mt(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(n,i,r)=>{const o=[...i??[],...r??[]];return n.filter(a=>!o.includes(a.column.id))},pt(t.options,"debugRows")),e.getLeftVisibleCells=mt(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left],(n,i)=>(i??[]).map(o=>n.find(a=>a.column.id===o)).filter(Boolean).map(o=>({...o,position:"left"})),pt(t.options,"debugRows")),e.getRightVisibleCells=mt(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(n,i)=>(i??[]).map(o=>n.find(a=>a.column.id===o)).filter(Boolean).map(o=>({...o,position:"right"})),pt(t.options,"debugRows"))},createTable:e=>{e.setColumnPinning=t=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(t),e.resetColumnPinning=t=>{var n,i;return e.setColumnPinning(t?dx():(n=(i=e.initialState)==null?void 0:i.columnPinning)!=null?n:dx())},e.getIsSomeColumnsPinned=t=>{var n;const i=e.getState().columnPinning;if(!t){var r,o;return!!((r=i.left)!=null&&r.length||(o=i.right)!=null&&o.length)}return!!((n=i[t])!=null&&n.length)},e.getLeftLeafColumns=mt(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(t,n)=>(n??[]).map(i=>t.find(r=>r.id===i)).filter(Boolean),pt(e.options,"debugColumns")),e.getRightLeafColumns=mt(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(t,n)=>(n??[]).map(i=>t.find(r=>r.id===i)).filter(Boolean),pt(e.options,"debugColumns")),e.getCenterLeafColumns=mt(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,i)=>{const r=[...n??[],...i??[]];return t.filter(o=>!r.includes(o.id))},pt(e.options,"debugColumns"))}};function hU(e){return e||(typeof document<"u"?document:null)}const df={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},fx=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),gU={getDefaultColumnDef:()=>df,getInitialState:e=>({columnSizing:{},columnSizingInfo:fx(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:nr("columnSizing",e),onColumnSizingInfoChange:nr("columnSizingInfo",e)}),createColumn:(e,t)=>{e.getSize=()=>{var n,i,r;const o=t.getState().columnSizing[e.id];return Math.min(Math.max((n=e.columnDef.minSize)!=null?n:df.minSize,(i=o??e.columnDef.size)!=null?i:df.size),(r=e.columnDef.maxSize)!=null?r:df.maxSize)},e.getStart=mt(n=>[n,ru(t,n),t.getState().columnSizing],(n,i)=>i.slice(0,e.getIndex(n)).reduce((r,o)=>r+o.getSize(),0),pt(t.options,"debugColumns")),e.getAfter=mt(n=>[n,ru(t,n),t.getState().columnSizing],(n,i)=>i.slice(e.getIndex(n)+1).reduce((r,o)=>r+o.getSize(),0),pt(t.options,"debugColumns")),e.resetSize=()=>{t.setColumnSizing(n=>{let{[e.id]:i,...r}=n;return r})},e.getCanResize=()=>{var n,i;return((n=e.columnDef.enableResizing)!=null?n:!0)&&((i=t.options.enableColumnResizing)!=null?i:!0)},e.getIsResizing=()=>t.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,t)=>{e.getSize=()=>{let n=0;const i=r=>{if(r.subHeaders.length)r.subHeaders.forEach(i);else{var o;n+=(o=r.column.getSize())!=null?o:0}};return i(e),n},e.getStart=()=>{if(e.index>0){const n=e.headerGroup.headers[e.index-1];return n.getStart()+n.getSize()}return 0},e.getResizeHandler=n=>{const i=t.getColumn(e.column.id),r=i?.getCanResize();return o=>{if(!i||!r||(o.persist==null||o.persist(),mx(o)&&o.touches&&o.touches.length>1))return;const a=e.getSize(),u=e?e.getLeafHeaders().map(_=>[_.column.id,_.column.getSize()]):[[i.id,i.getSize()]],d=mx(o)?Math.round(o.touches[0].clientX):o.clientX,m={},h=(_,w)=>{typeof w=="number"&&(t.setColumnSizingInfo(C=>{var N,O;const I=t.options.columnResizeDirection==="rtl"?-1:1,D=(w-((N=C?.startOffset)!=null?N:0))*I,T=Math.max(D/((O=C?.startSize)!=null?O:0),-.999999);return C.columnSizingStart.forEach(L=>{let[A,M]=L;m[A]=Math.round(Math.max(M+M*T,0)*100)/100}),{...C,deltaOffset:D,deltaPercentage:T}}),(t.options.columnResizeMode==="onChange"||_==="end")&&t.setColumnSizing(C=>({...C,...m})))},p=_=>h("move",_),g=_=>{h("end",_),t.setColumnSizingInfo(w=>({...w,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},y=hU(n),v={moveHandler:_=>p(_.clientX),upHandler:_=>{y?.removeEventListener("mousemove",v.moveHandler),y?.removeEventListener("mouseup",v.upHandler),g(_.clientX)}},k={moveHandler:_=>(_.cancelable&&(_.preventDefault(),_.stopPropagation()),p(_.touches[0].clientX),!1),upHandler:_=>{var w;y?.removeEventListener("touchmove",k.moveHandler),y?.removeEventListener("touchend",k.upHandler),_.cancelable&&(_.preventDefault(),_.stopPropagation()),g((w=_.touches[0])==null?void 0:w.clientX)}},S=xU()?{passive:!1}:!1;mx(o)?(y?.addEventListener("touchmove",k.moveHandler,S),y?.addEventListener("touchend",k.upHandler,S)):(y?.addEventListener("mousemove",v.moveHandler,S),y?.addEventListener("mouseup",v.upHandler,S)),t.setColumnSizingInfo(_=>({..._,startOffset:d,startSize:a,deltaOffset:0,deltaPercentage:0,columnSizingStart:u,isResizingColumn:i.id}))}}},createTable:e=>{e.setColumnSizing=t=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(t),e.setColumnSizingInfo=t=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(t),e.resetColumnSizing=t=>{var n;e.setColumnSizing(t?{}:(n=e.initialState.columnSizing)!=null?n:{})},e.resetHeaderSizeInfo=t=>{var n;e.setColumnSizingInfo(t?fx():(n=e.initialState.columnSizingInfo)!=null?n:fx())},e.getTotalSize=()=>{var t,n;return(t=(n=e.getHeaderGroups()[0])==null?void 0:n.headers.reduce((i,r)=>i+r.getSize(),0))!=null?t:0},e.getLeftTotalSize=()=>{var t,n;return(t=(n=e.getLeftHeaderGroups()[0])==null?void 0:n.headers.reduce((i,r)=>i+r.getSize(),0))!=null?t:0},e.getCenterTotalSize=()=>{var t,n;return(t=(n=e.getCenterHeaderGroups()[0])==null?void 0:n.headers.reduce((i,r)=>i+r.getSize(),0))!=null?t:0},e.getRightTotalSize=()=>{var t,n;return(t=(n=e.getRightHeaderGroups()[0])==null?void 0:n.headers.reduce((i,r)=>i+r.getSize(),0))!=null?t:0}}};let ff=null;function xU(){if(typeof ff=="boolean")return ff;let e=!1;try{const t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener("test",n,t),window.removeEventListener("test",n)}catch{e=!1}return ff=e,ff}function mx(e){return e.type==="touchstart"}const yU={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:nr("columnVisibility",e)}),createColumn:(e,t)=>{e.toggleVisibility=n=>{e.getCanHide()&&t.setColumnVisibility(i=>({...i,[e.id]:n??!e.getIsVisible()}))},e.getIsVisible=()=>{var n,i;const r=e.columns;return(n=r.length?r.some(o=>o.getIsVisible()):(i=t.getState().columnVisibility)==null?void 0:i[e.id])!=null?n:!0},e.getCanHide=()=>{var n,i;return((n=e.columnDef.enableHiding)!=null?n:!0)&&((i=t.options.enableHiding)!=null?i:!0)},e.getToggleVisibilityHandler=()=>n=>{e.toggleVisibility==null||e.toggleVisibility(n.target.checked)}},createRow:(e,t)=>{e._getAllVisibleCells=mt(()=>[e.getAllCells(),t.getState().columnVisibility],n=>n.filter(i=>i.column.getIsVisible()),pt(t.options,"debugRows")),e.getVisibleCells=mt(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(n,i,r)=>[...n,...i,...r],pt(t.options,"debugRows"))},createTable:e=>{const t=(n,i)=>mt(()=>[i(),i().filter(r=>r.getIsVisible()).map(r=>r.id).join("_")],r=>r.filter(o=>o.getIsVisible==null?void 0:o.getIsVisible()),pt(e.options,"debugColumns"));e.getVisibleFlatColumns=t("getVisibleFlatColumns",()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=t("getVisibleLeafColumns",()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=t("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=t("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=t("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),e.setColumnVisibility=n=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(n),e.resetColumnVisibility=n=>{var i;e.setColumnVisibility(n?{}:(i=e.initialState.columnVisibility)!=null?i:{})},e.toggleAllColumnsVisible=n=>{var i;n=(i=n)!=null?i:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((r,o)=>({...r,[o.id]:n||!(o.getCanHide!=null&&o.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(n=>!(n.getIsVisible!=null&&n.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(n=>n.getIsVisible==null?void 0:n.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>n=>{var i;e.toggleAllColumnsVisible((i=n.target)==null?void 0:i.checked)}}};function ru(e,t){return t?t==="center"?e.getCenterVisibleLeafColumns():t==="left"?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}const vU={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},bU={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:nr("globalFilter",e),globalFilterFn:"auto",getColumnCanGlobalFilter:t=>{var n;const i=(n=e.getCoreRowModel().flatRows[0])==null||(n=n._getAllCellsByColumnId()[t.id])==null?void 0:n.getValue();return typeof i=="string"||typeof i=="number"}}),createColumn:(e,t)=>{e.getCanGlobalFilter=()=>{var n,i,r,o;return((n=e.columnDef.enableGlobalFilter)!=null?n:!0)&&((i=t.options.enableGlobalFilter)!=null?i:!0)&&((r=t.options.enableFilters)!=null?r:!0)&&((o=t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))!=null?o:!0)&&!!e.accessorFn}},createTable:e=>{e.getGlobalAutoFilterFn=()=>Ss.includesString,e.getGlobalFilterFn=()=>{var t,n;const{globalFilterFn:i}=e.options;return Um(i)?i:i==="auto"?e.getGlobalAutoFilterFn():(t=(n=e.options.filterFns)==null?void 0:n[i])!=null?t:Ss[i]},e.setGlobalFilter=t=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(t)},e.resetGlobalFilter=t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)}}},_U={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:nr("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,n=!1;e._autoResetExpanded=()=>{var i,r;if(!t){e._queue(()=>{t=!0});return}if((i=(r=e.options.autoResetAll)!=null?r:e.options.autoResetExpanded)!=null?i:!e.options.manualExpanding){if(n)return;n=!0,e._queue(()=>{e.resetExpanded(),n=!1})}},e.setExpanded=i=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(i),e.toggleAllRowsExpanded=i=>{i??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=i=>{var r,o;e.setExpanded(i?{}:(r=(o=e.initialState)==null?void 0:o.expanded)!=null?r:{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(i=>i.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>i=>{i.persist==null||i.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{const i=e.getState().expanded;return i===!0||Object.values(i).some(Boolean)},e.getIsAllRowsExpanded=()=>{const i=e.getState().expanded;return typeof i=="boolean"?i===!0:!(!Object.keys(i).length||e.getRowModel().flatRows.some(r=>!r.getIsExpanded()))},e.getExpandedDepth=()=>{let i=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(o=>{const a=o.split(".");i=Math.max(i,a.length)}),i},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,t)=>{e.toggleExpanded=n=>{t.setExpanded(i=>{var r;const o=i===!0?!0:!!(i!=null&&i[e.id]);let a={};if(i===!0?Object.keys(t.getRowModel().rowsById).forEach(u=>{a[u]=!0}):a=i,n=(r=n)!=null?r:!o,!o&&n)return{...a,[e.id]:!0};if(o&&!n){const{[e.id]:u,...d}=a;return d}return i})},e.getIsExpanded=()=>{var n;const i=t.getState().expanded;return!!((n=t.options.getIsRowExpanded==null?void 0:t.options.getIsRowExpanded(e))!=null?n:i===!0||i?.[e.id])},e.getCanExpand=()=>{var n,i,r;return(n=t.options.getRowCanExpand==null?void 0:t.options.getRowCanExpand(e))!=null?n:((i=t.options.enableExpanding)!=null?i:!0)&&!!((r=e.subRows)!=null&&r.length)},e.getIsAllParentsExpanded=()=>{let n=!0,i=e;for(;n&&i.parentId;)i=t.getRow(i.parentId,!0),n=i.getIsExpanded();return n},e.getToggleExpandedHandler=()=>{const n=e.getCanExpand();return()=>{n&&e.toggleExpanded()}}}},s0=0,o0=10,px=()=>({pageIndex:s0,pageSize:o0}),kU={getInitialState:e=>({...e,pagination:{...px(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:nr("pagination",e)}),createTable:e=>{let t=!1,n=!1;e._autoResetPageIndex=()=>{var i,r;if(!t){e._queue(()=>{t=!0});return}if((i=(r=e.options.autoResetAll)!=null?r:e.options.autoResetPageIndex)!=null?i:!e.options.manualPagination){if(n)return;n=!0,e._queue(()=>{e.resetPageIndex(),n=!1})}},e.setPagination=i=>{const r=o=>co(i,o);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(r)},e.resetPagination=i=>{var r;e.setPagination(i?px():(r=e.initialState.pagination)!=null?r:px())},e.setPageIndex=i=>{e.setPagination(r=>{let o=co(i,r.pageIndex);const a=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return o=Math.max(0,Math.min(o,a)),{...r,pageIndex:o}})},e.resetPageIndex=i=>{var r,o;e.setPageIndex(i?s0:(r=(o=e.initialState)==null||(o=o.pagination)==null?void 0:o.pageIndex)!=null?r:s0)},e.resetPageSize=i=>{var r,o;e.setPageSize(i?o0:(r=(o=e.initialState)==null||(o=o.pagination)==null?void 0:o.pageSize)!=null?r:o0)},e.setPageSize=i=>{e.setPagination(r=>{const o=Math.max(1,co(i,r.pageSize)),a=r.pageSize*r.pageIndex,u=Math.floor(a/o);return{...r,pageIndex:u,pageSize:o}})},e.setPageCount=i=>e.setPagination(r=>{var o;let a=co(i,(o=e.options.pageCount)!=null?o:-1);return typeof a=="number"&&(a=Math.max(-1,a)),{...r,pageCount:a}}),e.getPageOptions=mt(()=>[e.getPageCount()],i=>{let r=[];return i&&i>0&&(r=[...new Array(i)].fill(null).map((o,a)=>a)),r},pt(e.options,"debugTable")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{const{pageIndex:i}=e.getState().pagination,r=e.getPageCount();return r===-1?!0:r===0?!1:ie.setPageIndex(i=>i-1),e.nextPage=()=>e.setPageIndex(i=>i+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>{var i;return(i=e.options.pageCount)!=null?i:Math.ceil(e.getRowCount()/e.getState().pagination.pageSize)},e.getRowCount=()=>{var i;return(i=e.options.rowCount)!=null?i:e.getPrePaginationRowModel().rows.length}}},hx=()=>({top:[],bottom:[]}),SU={getInitialState:e=>({rowPinning:hx(),...e}),getDefaultOptions:e=>({onRowPinningChange:nr("rowPinning",e)}),createRow:(e,t)=>{e.pin=(n,i,r)=>{const o=i?e.getLeafRows().map(d=>{let{id:m}=d;return m}):[],a=r?e.getParentRows().map(d=>{let{id:m}=d;return m}):[],u=new Set([...a,e.id,...o]);t.setRowPinning(d=>{var m,h;if(n==="bottom"){var p,g;return{top:((p=d?.top)!=null?p:[]).filter(k=>!(u!=null&&u.has(k))),bottom:[...((g=d?.bottom)!=null?g:[]).filter(k=>!(u!=null&&u.has(k))),...Array.from(u)]}}if(n==="top"){var y,v;return{top:[...((y=d?.top)!=null?y:[]).filter(k=>!(u!=null&&u.has(k))),...Array.from(u)],bottom:((v=d?.bottom)!=null?v:[]).filter(k=>!(u!=null&&u.has(k)))}}return{top:((m=d?.top)!=null?m:[]).filter(k=>!(u!=null&&u.has(k))),bottom:((h=d?.bottom)!=null?h:[]).filter(k=>!(u!=null&&u.has(k)))}})},e.getCanPin=()=>{var n;const{enableRowPinning:i,enablePinning:r}=t.options;return typeof i=="function"?i(e):(n=i??r)!=null?n:!0},e.getIsPinned=()=>{const n=[e.id],{top:i,bottom:r}=t.getState().rowPinning,o=n.some(u=>i?.includes(u)),a=n.some(u=>r?.includes(u));return o?"top":a?"bottom":!1},e.getPinnedIndex=()=>{var n,i;const r=e.getIsPinned();if(!r)return-1;const o=(n=r==="top"?t.getTopRows():t.getBottomRows())==null?void 0:n.map(a=>{let{id:u}=a;return u});return(i=o?.indexOf(e.id))!=null?i:-1}},createTable:e=>{e.setRowPinning=t=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(t),e.resetRowPinning=t=>{var n,i;return e.setRowPinning(t?hx():(n=(i=e.initialState)==null?void 0:i.rowPinning)!=null?n:hx())},e.getIsSomeRowsPinned=t=>{var n;const i=e.getState().rowPinning;if(!t){var r,o;return!!((r=i.top)!=null&&r.length||(o=i.bottom)!=null&&o.length)}return!!((n=i[t])!=null&&n.length)},e._getPinnedRows=(t,n,i)=>{var r;return((r=e.options.keepPinnedRows)==null||r?(n??[]).map(a=>{const u=e.getRow(a,!0);return u.getIsAllParentsExpanded()?u:null}):(n??[]).map(a=>t.find(u=>u.id===a))).filter(Boolean).map(a=>({...a,position:i}))},e.getTopRows=mt(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(t,n)=>e._getPinnedRows(t,n,"top"),pt(e.options,"debugRows")),e.getBottomRows=mt(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(t,n)=>e._getPinnedRows(t,n,"bottom"),pt(e.options,"debugRows")),e.getCenterRows=mt(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(t,n,i)=>{const r=new Set([...n??[],...i??[]]);return t.filter(o=>!r.has(o.id))},pt(e.options,"debugRows"))}},wU={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:nr("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=t=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(t),e.resetRowSelection=t=>{var n;return e.setRowSelection(t?{}:(n=e.initialState.rowSelection)!=null?n:{})},e.toggleAllRowsSelected=t=>{e.setRowSelection(n=>{t=typeof t<"u"?t:!e.getIsAllRowsSelected();const i={...n},r=e.getPreGroupedRowModel().flatRows;return t?r.forEach(o=>{o.getCanSelect()&&(i[o.id]=!0)}):r.forEach(o=>{delete i[o.id]}),i})},e.toggleAllPageRowsSelected=t=>e.setRowSelection(n=>{const i=typeof t<"u"?t:!e.getIsAllPageRowsSelected(),r={...n};return e.getRowModel().rows.forEach(o=>{a0(r,o.id,i,!0,e)}),r}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=mt(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?gx(e,n):{rows:[],flatRows:[],rowsById:{}},pt(e.options,"debugTable")),e.getFilteredSelectedRowModel=mt(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?gx(e,n):{rows:[],flatRows:[],rowsById:{}},pt(e.options,"debugTable")),e.getGroupedSelectedRowModel=mt(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?gx(e,n):{rows:[],flatRows:[],rowsById:{}},pt(e.options,"debugTable")),e.getIsAllRowsSelected=()=>{const t=e.getFilteredRowModel().flatRows,{rowSelection:n}=e.getState();let i=!!(t.length&&Object.keys(n).length);return i&&t.some(r=>r.getCanSelect()&&!n[r.id])&&(i=!1),i},e.getIsAllPageRowsSelected=()=>{const t=e.getPaginationRowModel().flatRows.filter(r=>r.getCanSelect()),{rowSelection:n}=e.getState();let i=!!t.length;return i&&t.some(r=>!n[r.id])&&(i=!1),i},e.getIsSomeRowsSelected=()=>{var t;const n=Object.keys((t=e.getState().rowSelection)!=null?t:{}).length;return n>0&&n{const t=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:t.filter(n=>n.getCanSelect()).some(n=>n.getIsSelected()||n.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>t=>{e.toggleAllRowsSelected(t.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}},createRow:(e,t)=>{e.toggleSelected=(n,i)=>{const r=e.getIsSelected();t.setRowSelection(o=>{var a;if(n=typeof n<"u"?n:!r,e.getCanSelect()&&r===n)return o;const u={...o};return a0(u,e.id,n,(a=i?.selectChildren)!=null?a:!0,t),u})},e.getIsSelected=()=>{const{rowSelection:n}=t.getState();return Sv(e,n)},e.getIsSomeSelected=()=>{const{rowSelection:n}=t.getState();return l0(e,n)==="some"},e.getIsAllSubRowsSelected=()=>{const{rowSelection:n}=t.getState();return l0(e,n)==="all"},e.getCanSelect=()=>{var n;return typeof t.options.enableRowSelection=="function"?t.options.enableRowSelection(e):(n=t.options.enableRowSelection)!=null?n:!0},e.getCanSelectSubRows=()=>{var n;return typeof t.options.enableSubRowSelection=="function"?t.options.enableSubRowSelection(e):(n=t.options.enableSubRowSelection)!=null?n:!0},e.getCanMultiSelect=()=>{var n;return typeof t.options.enableMultiRowSelection=="function"?t.options.enableMultiRowSelection(e):(n=t.options.enableMultiRowSelection)!=null?n:!0},e.getToggleSelectedHandler=()=>{const n=e.getCanSelect();return i=>{var r;n&&e.toggleSelected((r=i.target)==null?void 0:r.checked)}}}},a0=(e,t,n,i,r)=>{var o;const a=r.getRow(t,!0);n?(a.getCanMultiSelect()||Object.keys(e).forEach(u=>delete e[u]),a.getCanSelect()&&(e[t]=!0)):delete e[t],i&&(o=a.subRows)!=null&&o.length&&a.getCanSelectSubRows()&&a.subRows.forEach(u=>a0(e,u.id,n,i,r))};function gx(e,t){const n=e.getState().rowSelection,i=[],r={},o=function(a,u){return a.map(d=>{var m;const h=Sv(d,n);if(h&&(i.push(d),r[d.id]=d),(m=d.subRows)!=null&&m.length&&(d={...d,subRows:o(d.subRows)}),h)return d}).filter(Boolean)};return{rows:o(t.rows),flatRows:i,rowsById:r}}function Sv(e,t){var n;return(n=t[e.id])!=null?n:!1}function l0(e,t,n){var i;if(!((i=e.subRows)!=null&&i.length))return!1;let r=!0,o=!1;return e.subRows.forEach(a=>{if(!(o&&!r)&&(a.getCanSelect()&&(Sv(a,t)?o=!0:r=!1),a.subRows&&a.subRows.length)){const u=l0(a,t);u==="all"?o=!0:(u==="some"&&(o=!0),r=!1)}}),r?"all":o?"some":!1}const c0=/([0-9]+)/gm,CU=(e,t,n)=>qI(go(e.getValue(n)).toLowerCase(),go(t.getValue(n)).toLowerCase()),jU=(e,t,n)=>qI(go(e.getValue(n)),go(t.getValue(n))),EU=(e,t,n)=>wv(go(e.getValue(n)).toLowerCase(),go(t.getValue(n)).toLowerCase()),NU=(e,t,n)=>wv(go(e.getValue(n)),go(t.getValue(n))),IU=(e,t,n)=>{const i=e.getValue(n),r=t.getValue(n);return i>r?1:iwv(e.getValue(n),t.getValue(n));function wv(e,t){return e===t?0:e>t?1:-1}function go(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function qI(e,t){const n=e.split(c0).filter(Boolean),i=t.split(c0).filter(Boolean);for(;n.length&&i.length;){const r=n.shift(),o=i.shift(),a=parseInt(r,10),u=parseInt(o,10),d=[a,u].sort();if(isNaN(d[0])){if(r>o)return 1;if(o>r)return-1;continue}if(isNaN(d[1]))return isNaN(a)?-1:1;if(a>u)return 1;if(u>a)return-1}return n.length-i.length}const $c={alphanumeric:CU,alphanumericCaseSensitive:jU,text:EU,textCaseSensitive:NU,datetime:IU,basic:TU},RU={getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:nr("sorting",e),isMultiSortEvent:t=>t.shiftKey}),createColumn:(e,t)=>{e.getAutoSortingFn=()=>{const n=t.getFilteredRowModel().flatRows.slice(10);let i=!1;for(const r of n){const o=r?.getValue(e.id);if(Object.prototype.toString.call(o)==="[object Date]")return $c.datetime;if(typeof o=="string"&&(i=!0,o.split(c0).length>1))return $c.alphanumeric}return i?$c.text:$c.basic},e.getAutoSortDir=()=>{const n=t.getFilteredRowModel().flatRows[0];return typeof n?.getValue(e.id)=="string"?"asc":"desc"},e.getSortingFn=()=>{var n,i;if(!e)throw new Error;return Um(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn==="auto"?e.getAutoSortingFn():(n=(i=t.options.sortingFns)==null?void 0:i[e.columnDef.sortingFn])!=null?n:$c[e.columnDef.sortingFn]},e.toggleSorting=(n,i)=>{const r=e.getNextSortingOrder(),o=typeof n<"u"&&n!==null;t.setSorting(a=>{const u=a?.find(y=>y.id===e.id),d=a?.findIndex(y=>y.id===e.id);let m=[],h,p=o?n:r==="desc";if(a!=null&&a.length&&e.getCanMultiSort()&&i?u?h="toggle":h="add":a!=null&&a.length&&d!==a.length-1?h="replace":u?h="toggle":h="replace",h==="toggle"&&(o||r||(h="remove")),h==="add"){var g;m=[...a,{id:e.id,desc:p}],m.splice(0,m.length-((g=t.options.maxMultiSortColCount)!=null?g:Number.MAX_SAFE_INTEGER))}else h==="toggle"?m=a.map(y=>y.id===e.id?{...y,desc:p}:y):h==="remove"?m=a.filter(y=>y.id!==e.id):m=[{id:e.id,desc:p}];return m})},e.getFirstSortDir=()=>{var n,i;return((n=(i=e.columnDef.sortDescFirst)!=null?i:t.options.sortDescFirst)!=null?n:e.getAutoSortDir()==="desc")?"desc":"asc"},e.getNextSortingOrder=n=>{var i,r;const o=e.getFirstSortDir(),a=e.getIsSorted();return a?a!==o&&((i=t.options.enableSortingRemoval)==null||i)&&(!(n&&(r=t.options.enableMultiRemove)!=null)||r)?!1:a==="desc"?"asc":"desc":o},e.getCanSort=()=>{var n,i;return((n=e.columnDef.enableSorting)!=null?n:!0)&&((i=t.options.enableSorting)!=null?i:!0)&&!!e.accessorFn},e.getCanMultiSort=()=>{var n,i;return(n=(i=e.columnDef.enableMultiSort)!=null?i:t.options.enableMultiSort)!=null?n:!!e.accessorFn},e.getIsSorted=()=>{var n;const i=(n=t.getState().sorting)==null?void 0:n.find(r=>r.id===e.id);return i?i.desc?"desc":"asc":!1},e.getSortIndex=()=>{var n,i;return(n=(i=t.getState().sorting)==null?void 0:i.findIndex(r=>r.id===e.id))!=null?n:-1},e.clearSorting=()=>{t.setSorting(n=>n!=null&&n.length?n.filter(i=>i.id!==e.id):[])},e.getToggleSortingHandler=()=>{const n=e.getCanSort();return i=>{n&&(i.persist==null||i.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?t.options.isMultiSortEvent==null?void 0:t.options.isMultiSortEvent(i):!1))}}},createTable:e=>{e.setSorting=t=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(t),e.resetSorting=t=>{var n,i;e.setSorting(t?[]:(n=(i=e.initialState)==null?void 0:i.sorting)!=null?n:[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},AU=[QV,yU,mU,pU,eU,tU,vU,bU,RU,dU,_U,kU,SU,wU,gU];function MU(e){var t,n;const i=[...AU,...(t=e._features)!=null?t:[]];let r={_features:i};const o=r._features.reduce((g,y)=>Object.assign(g,y.getDefaultOptions==null?void 0:y.getDefaultOptions(r)),{}),a=g=>r.options.mergeOptions?r.options.mergeOptions(o,g):{...o,...g};let d={...{},...(n=e.initialState)!=null?n:{}};r._features.forEach(g=>{var y;d=(y=g.getInitialState==null?void 0:g.getInitialState(d))!=null?y:d});const m=[];let h=!1;const p={_features:i,options:{...o,...e},initialState:d,_queue:g=>{m.push(g),h||(h=!0,Promise.resolve().then(()=>{for(;m.length;)m.shift()();h=!1}).catch(y=>setTimeout(()=>{throw y})))},reset:()=>{r.setState(r.initialState)},setOptions:g=>{const y=co(g,r.options);r.options=a(y)},getState:()=>r.options.state,setState:g=>{r.options.onStateChange==null||r.options.onStateChange(g)},_getRowId:(g,y,v)=>{var k;return(k=r.options.getRowId==null?void 0:r.options.getRowId(g,y,v))!=null?k:`${v?[v.id,y].join("."):y}`},getCoreRowModel:()=>(r._getCoreRowModel||(r._getCoreRowModel=r.options.getCoreRowModel(r)),r._getCoreRowModel()),getRowModel:()=>r.getPaginationRowModel(),getRow:(g,y)=>{let v=(y?r.getPrePaginationRowModel():r.getRowModel()).rowsById[g];if(!v&&(v=r.getCoreRowModel().rowsById[g],!v))throw new Error;return v},_getDefaultColumnDef:mt(()=>[r.options.defaultColumn],g=>{var y;return g=(y=g)!=null?y:{},{header:v=>{const k=v.header.column.columnDef;return k.accessorKey?k.accessorKey:k.accessorFn?k.id:null},cell:v=>{var k,S;return(k=(S=v.renderValue())==null||S.toString==null?void 0:S.toString())!=null?k:null},...r._features.reduce((v,k)=>Object.assign(v,k.getDefaultColumnDef==null?void 0:k.getDefaultColumnDef()),{}),...g}},pt(e,"debugColumns")),_getColumnDefs:()=>r.options.columns,getAllColumns:mt(()=>[r._getColumnDefs()],g=>{const y=function(v,k,S){return S===void 0&&(S=0),v.map(_=>{const w=ZV(r,_,S,k),C=_;return w.columns=C.columns?y(C.columns,w,S+1):[],w})};return y(g)},pt(e,"debugColumns")),getAllFlatColumns:mt(()=>[r.getAllColumns()],g=>g.flatMap(y=>y.getFlatColumns()),pt(e,"debugColumns")),_getAllFlatColumnsById:mt(()=>[r.getAllFlatColumns()],g=>g.reduce((y,v)=>(y[v.id]=v,y),{}),pt(e,"debugColumns")),getAllLeafColumns:mt(()=>[r.getAllColumns(),r._getOrderColumnsFn()],(g,y)=>{let v=g.flatMap(k=>k.getLeafColumns());return y(v)},pt(e,"debugColumns")),getColumn:g=>r._getAllFlatColumnsById()[g]};Object.assign(r,p);for(let g=0;gmt(()=>[e.options.data],t=>{const n={rows:[],flatRows:[],rowsById:{}},i=function(r,o,a){o===void 0&&(o=0);const u=[];for(let m=0;me._autoResetPageIndex()))}function OU(){return e=>mt(()=>[e.getState().sorting,e.getPreSortedRowModel()],(t,n)=>{if(!n.rows.length||!(t!=null&&t.length))return n;const i=e.getState().sorting,r=[],o=i.filter(d=>{var m;return(m=e.getColumn(d.id))==null?void 0:m.getCanSort()}),a={};o.forEach(d=>{const m=e.getColumn(d.id);m&&(a[d.id]={sortUndefined:m.columnDef.sortUndefined,invertSorting:m.columnDef.invertSorting,sortingFn:m.getSortingFn()})});const u=d=>{const m=d.map(h=>({...h}));return m.sort((h,p)=>{for(let y=0;y{var p;r.push(h),(p=h.subRows)!=null&&p.length&&(h.subRows=u(h.subRows))}),m};return{rows:u(n.rows),flatRows:r,rowsById:n.rowsById}},pt(e.options,"debugTable","getSortedRowModel",()=>e._autoResetPageIndex()))}function _C(e,t){return e?LU(e)?E.createElement(e,t):e:null}function LU(e){return zU(e)||typeof e=="function"||PU(e)}function zU(e){return typeof e=="function"&&(()=>{const t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function PU(e){return typeof e=="object"&&typeof e.$$typeof=="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function BU(e){const t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[n]=E.useState(()=>({current:MU(t)})),[i,r]=E.useState(()=>n.current.initialState);return n.current.setOptions(o=>({...o,...e,state:{...i,...e.state},onStateChange:a=>{r(a),e.onStateChange==null||e.onStateChange(a)}})),n.current}const kC=["codex","cursor","claude_code","opencode"];function $U({roles:e,employees:t,selectedIds:n,onSelectRow:i,onUpdateRole:r,onDeleteRole:o,readOnly:a}){const[u,d]=E.useState([]),[m,h]=E.useState({}),[p,g]=E.useState(null),[y,v]=E.useState(""),k=E.useMemo(()=>{const T=new Map;for(const L of t){const A=L.role_ids?.length?L.role_ids:[L.role_id];for(const M of A)M&&T.set(M,(T.get(M)??0)+1)}return e.map(L=>({role_id:L.role_id,name:L.name,icon:L.icon??null,reports_to:L.reports_to,toolCount:L.tools?.length??0,agent:L.preferred_external_agent??null,employeeCount:T.get(L.role_id)??0}))},[e,t]),S=E.useMemo(()=>[{id:"owner",name:"Owner"},...e.map(T=>({id:T.role_id,name:T.name}))],[e]),_=T=>{const L=y.trim();L&&L!==e.find(A=>A.role_id===T)?.name&&r(T,{name:L}),g(null),v("")},w=E.useMemo(()=>[{id:"select",header:({table:T})=>c.jsx("input",{type:"checkbox",checked:T.getIsAllRowsSelected(),ref:L=>{L&&(L.indeterminate=T.getIsSomeRowsSelected()&&!T.getIsAllRowsSelected())},onChange:T.getToggleAllRowsSelectedHandler(),disabled:a,"aria-label":"Select all"}),cell:({row:T})=>c.jsx("input",{type:"checkbox",checked:T.getIsSelected(),onChange:T.getToggleSelectedHandler(),disabled:a,"aria-label":`Select ${T.original.role_id}`,onClick:L=>L.stopPropagation()}),size:32,enableSorting:!1},{id:"icon",header:"",cell:({row:T})=>c.jsx("img",{src:Du(T.original.icon),alt:"",className:"rt-cell-icon"}),size:32,enableSorting:!1},{id:"name",header:"Name",accessorKey:"name",cell:({row:T})=>{const L=T.original;return p?.rowId===L.role_id&&p.col==="name"?c.jsx("input",{autoFocus:!0,className:"rt-inline-input",value:y,onChange:M=>v(M.target.value),onBlur:()=>_(L.role_id),onKeyDown:M=>{M.key==="Enter"?_(L.role_id):M.key==="Escape"&&(g(null),v(""))},onClick:M=>M.stopPropagation()}):c.jsx("span",{className:"rt-cell-name",onDoubleClick:M=>{a||(M.stopPropagation(),v(L.name),g({rowId:L.role_id,col:"name"}))},title:"Double-click to edit",children:L.name})}},{id:"role_id",header:"ID",accessorKey:"role_id",cell:({row:T})=>c.jsx("code",{className:"rt-cell-id",children:T.original.role_id})},{id:"reports_to",header:"Reports to",accessorKey:"reports_to",cell:({row:T})=>{const L=T.original;return c.jsx("select",{className:"rt-cell-select",value:L.reports_to,onChange:A=>r(L.role_id,{reports_to:A.target.value}),disabled:a,onClick:A=>A.stopPropagation(),children:S.filter(A=>A.id!==L.role_id).map(A=>c.jsx("option",{value:A.id,children:A.name},A.id))})}},{id:"toolCount",header:"Tools",accessorKey:"toolCount",cell:({row:T})=>c.jsx("span",{className:"rt-cell-count",children:T.original.toolCount}),size:64},{id:"agent",header:"Agent",accessorKey:"agent",cell:({row:T})=>{const L=T.original;return c.jsxs("select",{className:"rt-cell-select",value:L.agent??"",onChange:A=>r(L.role_id,{preferred_external_agent:A.target.value||null}),disabled:a,onClick:A=>A.stopPropagation(),children:[c.jsx("option",{value:"",children:"(auto)"}),kC.map(A=>c.jsx("option",{value:A,children:A},A))]})}},{id:"employeeCount",header:"People",accessorKey:"employeeCount",cell:({row:T})=>c.jsx("span",{className:"rt-cell-count",children:T.original.employeeCount}),size:64},{id:"actions",header:"",cell:({row:T})=>c.jsx("button",{className:"rt-cell-action",onClick:L=>{L.stopPropagation(),!a&&confirm(`Delete role "${T.original.name}"?`)&&o(T.original.role_id)},disabled:a,title:"Delete",children:"โœ•"}),size:40,enableSorting:!1}],[p,y,a,S,r,o]),C=BU({data:k,columns:w,state:{sorting:u,rowSelection:m},onSortingChange:d,onRowSelectionChange:h,enableRowSelection:!0,getRowId:T=>T.role_id,getCoreRowModel:DU(),getSortedRowModel:OU()}),N=Object.values(m).filter(Boolean).length,O=Object.keys(m).filter(T=>m[T]),I=T=>{a||(O.forEach(L=>r(L,{preferred_external_agent:T})),h({}))},D=()=>{a||confirm(`Delete ${N} roles? This cannot be undone.`)&&(O.forEach(T=>o(T)),h({}))};return c.jsxs("div",{className:"rt-container",children:[N>0&&!a&&c.jsxs("div",{className:"rt-bulk-bar",children:[c.jsxs("span",{className:"rt-bulk-count",children:[N," selected"]}),c.jsxs("select",{className:"rt-bulk-select",defaultValue:"",onChange:T=>{const L=T.target.value;L&&I(L==="__auto__"?null:L)},children:[c.jsx("option",{value:"",disabled:!0,children:"Change agentโ€ฆ"}),c.jsx("option",{value:"__auto__",children:"(auto)"}),kC.map(T=>c.jsx("option",{value:T,children:T},T))]}),c.jsx("button",{className:"btn btn-danger btn-sm",onClick:D,children:"Delete selected"}),c.jsx("button",{className:"btn btn-ghost btn-sm",onClick:()=>h({}),children:"Clear"})]}),c.jsx("div",{className:"rt-table-wrap",children:c.jsxs("table",{className:"rt-table",children:[c.jsx("thead",{children:C.getHeaderGroups().map(T=>c.jsx("tr",{children:T.headers.map(L=>c.jsxs("th",{style:{width:L.getSize()},className:L.column.getCanSort()?"rt-th-sortable":"",onClick:L.column.getToggleSortingHandler(),children:[_C(L.column.columnDef.header,L.getContext()),L.column.getIsSorted()==="asc"&&c.jsx("span",{className:"rt-sort-caret",children:" โ–ฒ"}),L.column.getIsSorted()==="desc"&&c.jsx("span",{className:"rt-sort-caret",children:" โ–ผ"})]},L.id))},T.id))}),c.jsxs("tbody",{children:[C.getRowModel().rows.length===0&&c.jsx("tr",{children:c.jsx("td",{colSpan:9,className:"rt-empty",children:'No roles. Add one via the "+ Add role" button.'})}),C.getRowModel().rows.map(T=>{const L=n.includes(T.original.role_id);return c.jsx("tr",{className:`rt-row${T.getIsSelected()?" rt-row-checked":""}${L?" rt-row-active":""}`,onClick:()=>i(T.original.role_id),children:T.getVisibleCells().map(A=>c.jsx("td",{style:{width:A.column.getSize()},children:_C(A.column.columnDef.cell,A.getContext())},A.id))},T.id)})]})]})})]})}function Gn(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,i;n{}};function Gm(){for(var e=0,t=arguments.length,n={},i;e=0&&(i=n.slice(r+1),n=n.slice(0,r)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:i}})}Rf.prototype=Gm.prototype={constructor:Rf,on:function(e,t){var n=this._,i=FU(e+"",n),r,o=-1,a=i.length;if(arguments.length<2){for(;++o0)for(var n=new Array(r),i=0,r,o;i=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),wC.hasOwnProperty(t)?{space:wC[t],local:e}:e}function UU(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===u0&&t.documentElement.namespaceURI===u0?t.createElement(e):t.createElementNS(n,e)}}function GU(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function WI(e){var t=qm(e);return(t.local?GU:UU)(t)}function qU(){}function Cv(e){return e==null?qU:function(){return this.querySelector(e)}}function WU(e){typeof e!="function"&&(e=Cv(e));for(var t=this._groups,n=t.length,i=new Array(n),r=0;r=C&&(C=w+1);!(O=S[C])&&++C=0;)(a=i[r])&&(o&&a.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(a,o),o=a);return this}function yG(e){e||(e=vG);function t(p,g){return p&&g?e(p.__data__,g.__data__):!p-!g}for(var n=this._groups,i=n.length,r=new Array(i),o=0;ot?1:e>=t?0:NaN}function bG(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function _G(){return Array.from(this)}function kG(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?MG:typeof t=="function"?OG:DG)(e,t,n??"")):vl(this.node(),e)}function vl(e,t){return e.style.getPropertyValue(t)||QI(e).getComputedStyle(e,null).getPropertyValue(t)}function zG(e){return function(){delete this[e]}}function PG(e,t){return function(){this[e]=t}}function BG(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function $G(e,t){return arguments.length>1?this.each((t==null?zG:typeof t=="function"?BG:PG)(e,t)):this.node()[e]}function JI(e){return e.trim().split(/^|\s+/)}function jv(e){return e.classList||new eT(e)}function eT(e){this._node=e,this._names=JI(e.getAttribute("class")||"")}eT.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function tT(e,t){for(var n=jv(e),i=-1,r=t.length;++i=0&&(n=t.slice(i+1),t=t.slice(0,i)),{type:t,name:n}})}function pq(e){return function(){var t=this.__on;if(t){for(var n=0,i=-1,r=t.length,o;n()=>e;function d0(e,{sourceEvent:t,subject:n,target:i,identifier:r,active:o,x:a,y:u,dx:d,dy:m,dispatch:h}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:r,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:m,enumerable:!0,configurable:!0},_:{value:h}})}d0.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function wq(e){return!e.ctrlKey&&!e.button}function Cq(){return this.parentNode}function jq(e,t){return t??{x:e.x,y:e.y}}function Eq(){return navigator.maxTouchPoints||"ontouchstart"in this}function aT(){var e=wq,t=Cq,n=jq,i=Eq,r={},o=Gm("start","drag","end"),a=0,u,d,m,h,p=0;function g(N){N.on("mousedown.drag",y).filter(i).on("touchstart.drag",S).on("touchmove.drag",_,Sq).on("touchend.drag touchcancel.drag",w).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function y(N,O){if(!(h||!e.call(this,N,O))){var I=C(this,t.call(this,N,O),N,O,"mouse");I&&(Ki(N.view).on("mousemove.drag",v,bu).on("mouseup.drag",k,bu),sT(N.view),xx(N),m=!1,u=N.clientX,d=N.clientY,I("start",N))}}function v(N){if(cl(N),!m){var O=N.clientX-u,I=N.clientY-d;m=O*O+I*I>p}r.mouse("drag",N)}function k(N){Ki(N.view).on("mousemove.drag mouseup.drag",null),oT(N.view,m),cl(N),r.mouse("end",N)}function S(N,O){if(e.call(this,N,O)){var I=N.changedTouches,D=t.call(this,N,O),T=I.length,L,A;for(L=0;L>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?pf(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?pf(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Iq.exec(e))?new Bi(t[1],t[2],t[3],1):(t=Tq.exec(e))?new Bi(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Rq.exec(e))?pf(t[1],t[2],t[3],t[4]):(t=Aq.exec(e))?pf(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Mq.exec(e))?RC(t[1],t[2]/100,t[3]/100,1):(t=Dq.exec(e))?RC(t[1],t[2]/100,t[3]/100,t[4]):CC.hasOwnProperty(e)?NC(CC[e]):e==="transparent"?new Bi(NaN,NaN,NaN,0):null}function NC(e){return new Bi(e>>16&255,e>>8&255,e&255,1)}function pf(e,t,n,i){return i<=0&&(e=t=n=NaN),new Bi(e,t,n,i)}function zq(e){return e instanceof Lu||(e=Zo(e)),e?(e=e.rgb(),new Bi(e.r,e.g,e.b,e.opacity)):new Bi}function f0(e,t,n,i){return arguments.length===1?zq(e):new Bi(e,t,n,i??1)}function Bi(e,t,n,i){this.r=+e,this.g=+t,this.b=+n,this.opacity=+i}Ev(Bi,f0,lT(Lu,{brighter(e){return e=e==null?um:Math.pow(um,e),new Bi(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?_u:Math.pow(_u,e),new Bi(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Bi(Uo(this.r),Uo(this.g),Uo(this.b),dm(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:IC,formatHex:IC,formatHex8:Pq,formatRgb:TC,toString:TC}));function IC(){return`#${Vo(this.r)}${Vo(this.g)}${Vo(this.b)}`}function Pq(){return`#${Vo(this.r)}${Vo(this.g)}${Vo(this.b)}${Vo((isNaN(this.opacity)?1:this.opacity)*255)}`}function TC(){const e=dm(this.opacity);return`${e===1?"rgb(":"rgba("}${Uo(this.r)}, ${Uo(this.g)}, ${Uo(this.b)}${e===1?")":`, ${e})`}`}function dm(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Uo(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Vo(e){return e=Uo(e),(e<16?"0":"")+e.toString(16)}function RC(e,t,n,i){return i<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Er(e,t,n,i)}function cT(e){if(e instanceof Er)return new Er(e.h,e.s,e.l,e.opacity);if(e instanceof Lu||(e=Zo(e)),!e)return new Er;if(e instanceof Er)return e;e=e.rgb();var t=e.r/255,n=e.g/255,i=e.b/255,r=Math.min(t,n,i),o=Math.max(t,n,i),a=NaN,u=o-r,d=(o+r)/2;return u?(t===o?a=(n-i)/u+(n0&&d<1?0:a,new Er(a,u,d,e.opacity)}function Bq(e,t,n,i){return arguments.length===1?cT(e):new Er(e,t,n,i??1)}function Er(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}Ev(Er,Bq,lT(Lu,{brighter(e){return e=e==null?um:Math.pow(um,e),new Er(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?_u:Math.pow(_u,e),new Er(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*t,r=2*n-i;return new Bi(yx(e>=240?e-240:e+120,r,i),yx(e,r,i),yx(e<120?e+240:e-120,r,i),this.opacity)},clamp(){return new Er(AC(this.h),hf(this.s),hf(this.l),dm(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=dm(this.opacity);return`${e===1?"hsl(":"hsla("}${AC(this.h)}, ${hf(this.s)*100}%, ${hf(this.l)*100}%${e===1?")":`, ${e})`}`}}));function AC(e){return e=(e||0)%360,e<0?e+360:e}function hf(e){return Math.max(0,Math.min(1,e||0))}function yx(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const Nv=e=>()=>e;function $q(e,t){return function(n){return e+n*t}}function Hq(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(i){return Math.pow(e+i*t,n)}}function Fq(e){return(e=+e)==1?uT:function(t,n){return n-t?Hq(t,n,e):Nv(isNaN(t)?n:t)}}function uT(e,t){var n=t-e;return n?$q(e,n):Nv(isNaN(e)?t:e)}const fm=(function e(t){var n=Fq(t);function i(r,o){var a=n((r=f0(r)).r,(o=f0(o)).r),u=n(r.g,o.g),d=n(r.b,o.b),m=uT(r.opacity,o.opacity);return function(h){return r.r=a(h),r.g=u(h),r.b=d(h),r.opacity=m(h),r+""}}return i.gamma=e,i})(1);function Vq(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,i=t.slice(),r;return function(o){for(r=0;rn&&(o=t.slice(n,o),u[a]?u[a]+=o:u[++a]=o),(i=i[0])===(r=r[0])?u[a]?u[a]+=r:u[++a]=r:(u[++a]=null,d.push({i:a,x:Gr(i,r)})),n=vx.lastIndex;return n180?h+=360:h-m>180&&(m+=360),g.push({i:p.push(r(p)+"rotate(",null,i)-2,x:Gr(m,h)})):h&&p.push(r(p)+"rotate("+h+i)}function u(m,h,p,g){m!==h?g.push({i:p.push(r(p)+"skewX(",null,i)-2,x:Gr(m,h)}):h&&p.push(r(p)+"skewX("+h+i)}function d(m,h,p,g,y,v){if(m!==p||h!==g){var k=y.push(r(y)+"scale(",null,",",null,")");v.push({i:k-4,x:Gr(m,p)},{i:k-2,x:Gr(h,g)})}else(p!==1||g!==1)&&y.push(r(y)+"scale("+p+","+g+")")}return function(m,h){var p=[],g=[];return m=e(m),h=e(h),o(m.translateX,m.translateY,h.translateX,h.translateY,p,g),a(m.rotate,h.rotate,p,g),u(m.skewX,h.skewX,p,g),d(m.scaleX,m.scaleY,h.scaleX,h.scaleY,p,g),m=h=null,function(y){for(var v=-1,k=g.length,S;++v=0&&e._call.call(void 0,t),e=e._next;--bl}function OC(){Qo=(pm=Su.now())+Wm,bl=Gc=0;try{rW()}finally{bl=0,oW(),Qo=0}}function sW(){var e=Su.now(),t=e-pm;t>pT&&(Wm-=t,pm=e)}function oW(){for(var e,t=mm,n,i=1/0;t;)t._call?(i>t._time&&(i=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:mm=n);qc=e,h0(i)}function h0(e){if(!bl){Gc&&(Gc=clearTimeout(Gc));var t=e-Qo;t>24?(e<1/0&&(Gc=setTimeout(OC,e-Su.now()-Wm)),Hc&&(Hc=clearInterval(Hc))):(Hc||(pm=Su.now(),Hc=setInterval(sW,pT)),bl=1,hT(OC))}}function LC(e,t,n){var i=new hm;return t=t==null?0:+t,i.restart(r=>{i.stop(),e(r+t)},t,n),i}var aW=Gm("start","end","cancel","interrupt"),lW=[],xT=0,zC=1,g0=2,Mf=3,PC=4,x0=5,Df=6;function Ym(e,t,n,i,r,o){var a=e.__transition;if(!a)e.__transition={};else if(n in a)return;cW(e,n,{name:t,index:i,group:r,on:aW,tween:lW,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:xT})}function Tv(e,t){var n=Dr(e,t);if(n.state>xT)throw new Error("too late; already scheduled");return n}function ts(e,t){var n=Dr(e,t);if(n.state>Mf)throw new Error("too late; already running");return n}function Dr(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function cW(e,t,n){var i=e.__transition,r;i[t]=n,n.timer=gT(o,0,n.time);function o(m){n.state=zC,n.timer.restart(a,n.delay,n.time),n.delay<=m&&a(m-n.delay)}function a(m){var h,p,g,y;if(n.state!==zC)return d();for(h in i)if(y=i[h],y.name===n.name){if(y.state===Mf)return LC(a);y.state===PC?(y.state=Df,y.timer.stop(),y.on.call("interrupt",e,e.__data__,y.index,y.group),delete i[h]):+hg0&&i.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function BW(e,t,n){var i,r,o=PW(t)?Tv:ts;return function(){var a=o(this,e),u=a.on;u!==i&&(r=(i=u).copy()).on(t,n),a.on=r}}function $W(e,t){var n=this._id;return arguments.length<2?Dr(this.node(),n).on.on(e):this.each(BW(n,e,t))}function HW(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function FW(){return this.on("end.remove",HW(this._id))}function VW(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Cv(e));for(var i=this._groups,r=i.length,o=new Array(r),a=0;a()=>e;function pY(e,{sourceEvent:t,target:n,transform:i,dispatch:r}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:r}})}function js(e,t,n){this.k=e,this.x=t,this.y=n}js.prototype={constructor:js,scale:function(e){return e===1?this:new js(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new js(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Xm=new js(1,0,0);_T.prototype=js.prototype;function _T(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Xm;return e.__zoom}function bx(e){e.stopImmediatePropagation()}function Fc(e){e.preventDefault(),e.stopImmediatePropagation()}function hY(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function gY(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function BC(){return this.__zoom||Xm}function xY(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function yY(){return navigator.maxTouchPoints||"ontouchstart"in this}function vY(e,t,n){var i=e.invertX(t[0][0])-n[0][0],r=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(r>i?(i+r)/2:Math.min(0,i)||Math.max(0,r),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}function kT(){var e=hY,t=gY,n=vY,i=xY,r=yY,o=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],u=250,d=Af,m=Gm("start","zoom","end"),h,p,g,y=500,v=150,k=0,S=10;function _(B){B.property("__zoom",BC).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",L).on("dblclick.zoom",A).filter(r).on("touchstart.zoom",M).on("touchmove.zoom",$).on("touchend.zoom touchcancel.zoom",W).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}_.transform=function(B,U,F,V){var Y=B.selection?B.selection():B;Y.property("__zoom",BC),B!==Y?O(B,U,F,V):Y.interrupt().each(function(){I(this,arguments).event(V).start().zoom(null,typeof U=="function"?U.apply(this,arguments):U).end()})},_.scaleBy=function(B,U,F,V){_.scaleTo(B,function(){var Y=this.__zoom.k,Q=typeof U=="function"?U.apply(this,arguments):U;return Y*Q},F,V)},_.scaleTo=function(B,U,F,V){_.transform(B,function(){var Y=t.apply(this,arguments),Q=this.__zoom,q=F==null?N(Y):typeof F=="function"?F.apply(this,arguments):F,G=Q.invert(q),J=typeof U=="function"?U.apply(this,arguments):U;return n(C(w(Q,J),q,G),Y,a)},F,V)},_.translateBy=function(B,U,F,V){_.transform(B,function(){return n(this.__zoom.translate(typeof U=="function"?U.apply(this,arguments):U,typeof F=="function"?F.apply(this,arguments):F),t.apply(this,arguments),a)},null,V)},_.translateTo=function(B,U,F,V,Y){_.transform(B,function(){var Q=t.apply(this,arguments),q=this.__zoom,G=V==null?N(Q):typeof V=="function"?V.apply(this,arguments):V;return n(Xm.translate(G[0],G[1]).scale(q.k).translate(typeof U=="function"?-U.apply(this,arguments):-U,typeof F=="function"?-F.apply(this,arguments):-F),Q,a)},V,Y)};function w(B,U){return U=Math.max(o[0],Math.min(o[1],U)),U===B.k?B:new js(U,B.x,B.y)}function C(B,U,F){var V=U[0]-F[0]*B.k,Y=U[1]-F[1]*B.k;return V===B.x&&Y===B.y?B:new js(B.k,V,Y)}function N(B){return[(+B[0][0]+ +B[1][0])/2,(+B[0][1]+ +B[1][1])/2]}function O(B,U,F,V){B.on("start.zoom",function(){I(this,arguments).event(V).start()}).on("interrupt.zoom end.zoom",function(){I(this,arguments).event(V).end()}).tween("zoom",function(){var Y=this,Q=arguments,q=I(Y,Q).event(V),G=t.apply(Y,Q),J=F==null?N(G):typeof F=="function"?F.apply(Y,Q):F,P=Math.max(G[1][0]-G[0][0],G[1][1]-G[0][1]),K=Y.__zoom,ee=typeof U=="function"?U.apply(Y,Q):U,te=d(K.invert(J).concat(P/K.k),ee.invert(J).concat(P/ee.k));return function(ie){if(ie===1)ie=ee;else{var oe=te(ie),fe=P/oe[2];ie=new js(fe,J[0]-oe[0]*fe,J[1]-oe[1]*fe)}q.zoom(null,ie)}})}function I(B,U,F){return!F&&B.__zooming||new D(B,U)}function D(B,U){this.that=B,this.args=U,this.active=0,this.sourceEvent=null,this.extent=t.apply(B,U),this.taps=0}D.prototype={event:function(B){return B&&(this.sourceEvent=B),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(B,U){return this.mouse&&B!=="mouse"&&(this.mouse[1]=U.invert(this.mouse[0])),this.touch0&&B!=="touch"&&(this.touch0[1]=U.invert(this.touch0[0])),this.touch1&&B!=="touch"&&(this.touch1[1]=U.invert(this.touch1[0])),this.that.__zoom=U,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(B){var U=Ki(this.that).datum();m.call(B,this.that,new pY(B,{sourceEvent:this.sourceEvent,target:_,transform:this.that.__zoom,dispatch:m}),U)}};function T(B,...U){if(!e.apply(this,arguments))return;var F=I(this,U).event(B),V=this.__zoom,Y=Math.max(o[0],Math.min(o[1],V.k*Math.pow(2,i.apply(this,arguments)))),Q=jr(B);if(F.wheel)(F.mouse[0][0]!==Q[0]||F.mouse[0][1]!==Q[1])&&(F.mouse[1]=V.invert(F.mouse[0]=Q)),clearTimeout(F.wheel);else{if(V.k===Y)return;F.mouse=[Q,V.invert(Q)],Of(this),F.start()}Fc(B),F.wheel=setTimeout(q,v),F.zoom("mouse",n(C(w(V,Y),F.mouse[0],F.mouse[1]),F.extent,a));function q(){F.wheel=null,F.end()}}function L(B,...U){if(g||!e.apply(this,arguments))return;var F=B.currentTarget,V=I(this,U,!0).event(B),Y=Ki(B.view).on("mousemove.zoom",J,!0).on("mouseup.zoom",P,!0),Q=jr(B,F),q=B.clientX,G=B.clientY;sT(B.view),bx(B),V.mouse=[Q,this.__zoom.invert(Q)],Of(this),V.start();function J(K){if(Fc(K),!V.moved){var ee=K.clientX-q,te=K.clientY-G;V.moved=ee*ee+te*te>k}V.event(K).zoom("mouse",n(C(V.that.__zoom,V.mouse[0]=jr(K,F),V.mouse[1]),V.extent,a))}function P(K){Y.on("mousemove.zoom mouseup.zoom",null),oT(K.view,V.moved),Fc(K),V.event(K).end()}}function A(B,...U){if(e.apply(this,arguments)){var F=this.__zoom,V=jr(B.changedTouches?B.changedTouches[0]:B,this),Y=F.invert(V),Q=F.k*(B.shiftKey?.5:2),q=n(C(w(F,Q),V,Y),t.apply(this,U),a);Fc(B),u>0?Ki(this).transition().duration(u).call(O,q,V,B):Ki(this).call(_.transform,q,V,B)}}function M(B,...U){if(e.apply(this,arguments)){var F=B.touches,V=F.length,Y=I(this,U,B.changedTouches.length===V).event(B),Q,q,G,J;for(bx(B),q=0;q"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:i})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:i}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},wu=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],ST=["Enter"," ","Escape"],wT={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var _l;(function(e){e.Strict="strict",e.Loose="loose"})(_l||(_l={}));var Go;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Go||(Go={}));var Cu;(function(e){e.Partial="partial",e.Full="full"})(Cu||(Cu={}));const CT={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var lo;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(lo||(lo={}));var gm;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(gm||(gm={}));var st;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(st||(st={}));const $C={[st.Left]:st.Right,[st.Right]:st.Left,[st.Top]:st.Bottom,[st.Bottom]:st.Top};function jT(e){return e===null?null:e?"valid":"invalid"}const ET=e=>"id"in e&&"source"in e&&"target"in e,bY=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Av=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),zu=(e,t=[0,0])=>{const{width:n,height:i}=Ts(e),r=e.origin??t,o=n*r[0],a=i*r[1];return{x:e.position.x-o,y:e.position.y-a}},_Y=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((i,r)=>{const o=typeof r=="string";let a=!t.nodeLookup&&!o?r:void 0;t.nodeLookup&&(a=o?t.nodeLookup.get(r):Av(r)?r:t.nodeLookup.get(r.id));const u=a?xm(a,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return Km(i,u)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Zm(n)},Pu=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},i=!1;return e.forEach(r=>{(t.filter===void 0||t.filter(r))&&(n=Km(n,xm(r)),i=!0)}),i?Zm(n):{x:0,y:0,width:0,height:0}},Mv=(e,t,[n,i,r]=[0,0,1],o=!1,a=!1)=>{const u={...$u(t,[n,i,r]),width:t.width/r,height:t.height/r},d=[];for(const m of e.values()){const{measured:h,selectable:p=!0,hidden:g=!1}=m;if(a&&!p||g)continue;const y=h.width??m.width??m.initialWidth??null,v=h.height??m.height??m.initialHeight??null,k=ju(u,Sl(m)),S=(y??0)*(v??0),_=o&&k>0;(!m.internals.handleBounds||_||k>=S||m.dragging)&&d.push(m)}return d},kY=(e,t)=>{const n=new Set;return e.forEach(i=>{n.add(i.id)}),t.filter(i=>n.has(i.source)||n.has(i.target))};function SY(e,t){const n=new Map,i=t?.nodes?new Set(t.nodes.map(r=>r.id)):null;return e.forEach(r=>{r.measured.width&&r.measured.height&&(t?.includeHiddenNodes||!r.hidden)&&(!i||i.has(r.id))&&n.set(r.id,r)}),n}async function wY({nodes:e,width:t,height:n,panZoom:i,minZoom:r,maxZoom:o},a){if(e.size===0)return Promise.resolve(!0);const u=SY(e,a),d=Pu(u),m=Dv(d,t,n,a?.minZoom??r,a?.maxZoom??o,a?.padding??.1);return await i.setViewport(m,{duration:a?.duration,ease:a?.ease,interpolate:a?.interpolate}),Promise.resolve(!0)}function NT({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:i=[0,0],nodeExtent:r,onError:o}){const a=n.get(e),u=a.parentId?n.get(a.parentId):void 0,{x:d,y:m}=u?u.internals.positionAbsolute:{x:0,y:0},h=a.origin??i;let p=a.extent||r;if(a.extent==="parent"&&!a.expandParent)if(!u)o?.("005",Jr.error005());else{const y=u.measured.width,v=u.measured.height;y&&v&&(p=[[d,m],[d+y,m+v]])}else u&&wl(a.extent)&&(p=[[a.extent[0][0]+d,a.extent[0][1]+m],[a.extent[1][0]+d,a.extent[1][1]+m]]);const g=wl(p)?Jo(t,p,a.measured):t;return(a.measured.width===void 0||a.measured.height===void 0)&&o?.("015",Jr.error015()),{position:{x:g.x-d+(a.measured.width??0)*h[0],y:g.y-m+(a.measured.height??0)*h[1]},positionAbsolute:g}}async function CY({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:i,onBeforeDelete:r}){const o=new Set(e.map(g=>g.id)),a=[];for(const g of n){if(g.deletable===!1)continue;const y=o.has(g.id),v=!y&&g.parentId&&a.find(k=>k.id===g.parentId);(y||v)&&a.push(g)}const u=new Set(t.map(g=>g.id)),d=i.filter(g=>g.deletable!==!1),h=kY(a,d);for(const g of d)u.has(g.id)&&!h.find(v=>v.id===g.id)&&h.push(g);if(!r)return{edges:h,nodes:a};const p=await r({nodes:a,edges:h});return typeof p=="boolean"?p?{edges:h,nodes:a}:{edges:[],nodes:[]}:p}const kl=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),Jo=(e={x:0,y:0},t,n)=>({x:kl(e.x,t[0][0],t[1][0]-(n?.width??0)),y:kl(e.y,t[0][1],t[1][1]-(n?.height??0))});function IT(e,t,n){const{width:i,height:r}=Ts(n),{x:o,y:a}=n.internals.positionAbsolute;return Jo(e,[[o,a],[o+i,a+r]],t)}const HC=(e,t,n)=>en?-kl(Math.abs(e-n),1,t)/t:0,TT=(e,t,n=15,i=40)=>{const r=HC(e.x,i,t.width-i)*n,o=HC(e.y,i,t.height-i)*n;return[r,o]},Km=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),y0=({x:e,y:t,width:n,height:i})=>({x:e,y:t,x2:e+n,y2:t+i}),Zm=({x:e,y:t,x2:n,y2:i})=>({x:e,y:t,width:n-e,height:i-t}),Sl=(e,t=[0,0])=>{const{x:n,y:i}=Av(e)?e.internals.positionAbsolute:zu(e,t);return{x:n,y:i,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},xm=(e,t=[0,0])=>{const{x:n,y:i}=Av(e)?e.internals.positionAbsolute:zu(e,t);return{x:n,y:i,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:i+(e.measured?.height??e.height??e.initialHeight??0)}},RT=(e,t)=>Zm(Km(y0(e),y0(t))),ju=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),i=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*i)},FC=e=>Ir(e.width)&&Ir(e.height)&&Ir(e.x)&&Ir(e.y),Ir=e=>!isNaN(e)&&isFinite(e),jY=(e,t)=>{},Bu=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),$u=({x:e,y:t},[n,i,r],o=!1,a=[1,1])=>{const u={x:(e-n)/r,y:(t-i)/r};return o?Bu(u,a):u},ym=({x:e,y:t},[n,i,r])=>({x:e*r+n,y:t*r+i});function Xa(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function EY(e,t,n){if(typeof e=="string"||typeof e=="number"){const i=Xa(e,n),r=Xa(e,t);return{top:i,right:r,bottom:i,left:r,x:r*2,y:i*2}}if(typeof e=="object"){const i=Xa(e.top??e.y??0,n),r=Xa(e.bottom??e.y??0,n),o=Xa(e.left??e.x??0,t),a=Xa(e.right??e.x??0,t);return{top:i,right:a,bottom:r,left:o,x:o+a,y:i+r}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function NY(e,t,n,i,r,o){const{x:a,y:u}=ym(e,[t,n,i]),{x:d,y:m}=ym({x:e.x+e.width,y:e.y+e.height},[t,n,i]),h=r-d,p=o-m;return{left:Math.floor(a),top:Math.floor(u),right:Math.floor(h),bottom:Math.floor(p)}}const Dv=(e,t,n,i,r,o)=>{const a=EY(o,t,n),u=(t-a.x)/e.width,d=(n-a.y)/e.height,m=Math.min(u,d),h=kl(m,i,r),p=e.x+e.width/2,g=e.y+e.height/2,y=t/2-p*h,v=n/2-g*h,k=NY(e,y,v,h,t,n),S={left:Math.min(k.left-a.left,0),top:Math.min(k.top-a.top,0),right:Math.min(k.right-a.right,0),bottom:Math.min(k.bottom-a.bottom,0)};return{x:y-S.left+S.right,y:v-S.top+S.bottom,zoom:h}},Eu=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function wl(e){return e!=null&&e!=="parent"}function Ts(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function AT(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function MT(e,t={width:0,height:0},n,i,r){const o={...e},a=i.get(n);if(a){const u=a.origin||r;o.x+=a.internals.positionAbsolute.x-(t.width??0)*u[0],o.y+=a.internals.positionAbsolute.y-(t.height??0)*u[1]}return o}function VC(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function IY(){let e,t;return{promise:new Promise((i,r)=>{e=i,t=r}),resolve:e,reject:t}}function TY(e){return{...wT,...e||{}}}function ou(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:i,containerBounds:r}){const{x:o,y:a}=Tr(e),u=$u({x:o-(r?.left??0),y:a-(r?.top??0)},i),{x:d,y:m}=n?Bu(u,t):u;return{xSnapped:d,ySnapped:m,...u}}const Ov=e=>({width:e.offsetWidth,height:e.offsetHeight}),DT=e=>e?.getRootNode?.()||window?.document,RY=["INPUT","SELECT","TEXTAREA"];function OT(e){const t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:RY.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const LT=e=>"clientX"in e,Tr=(e,t)=>{const n=LT(e),i=n?e.clientX:e.touches?.[0].clientX,r=n?e.clientY:e.touches?.[0].clientY;return{x:i-(t?.left??0),y:r-(t?.top??0)}},UC=(e,t,n,i,r)=>{const o=t.querySelectorAll(`.${e}`);return!o||!o.length?null:Array.from(o).map(a=>{const u=a.getBoundingClientRect();return{id:a.getAttribute("data-handleid"),type:e,nodeId:r,position:a.getAttribute("data-handlepos"),x:(u.left-n.left)/i,y:(u.top-n.top)/i,...Ov(a)}})};function zT({sourceX:e,sourceY:t,targetX:n,targetY:i,sourceControlX:r,sourceControlY:o,targetControlX:a,targetControlY:u}){const d=e*.125+r*.375+a*.375+n*.125,m=t*.125+o*.375+u*.375+i*.125,h=Math.abs(d-e),p=Math.abs(m-t);return[d,m,h,p]}function yf(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function GC({pos:e,x1:t,y1:n,x2:i,y2:r,c:o}){switch(e){case st.Left:return[t-yf(t-i,o),n];case st.Right:return[t+yf(i-t,o),n];case st.Top:return[t,n-yf(n-r,o)];case st.Bottom:return[t,n+yf(r-n,o)]}}function PT({sourceX:e,sourceY:t,sourcePosition:n=st.Bottom,targetX:i,targetY:r,targetPosition:o=st.Top,curvature:a=.25}){const[u,d]=GC({pos:n,x1:e,y1:t,x2:i,y2:r,c:a}),[m,h]=GC({pos:o,x1:i,y1:r,x2:e,y2:t,c:a}),[p,g,y,v]=zT({sourceX:e,sourceY:t,targetX:i,targetY:r,sourceControlX:u,sourceControlY:d,targetControlX:m,targetControlY:h});return[`M${e},${t} C${u},${d} ${m},${h} ${i},${r}`,p,g,y,v]}function BT({sourceX:e,sourceY:t,targetX:n,targetY:i}){const r=Math.abs(n-e)/2,o=n0}const DY=({source:e,sourceHandle:t,target:n,targetHandle:i})=>`xy-edge__${e}${t||""}-${n}${i||""}`,OY=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),LY=(e,t,n={})=>{if(!e.source||!e.target)return t;const i=n.getEdgeId||DY;let r;return ET(e)?r={...e}:r={...e,id:i(e)},OY(r,t)?t:(r.sourceHandle===null&&delete r.sourceHandle,r.targetHandle===null&&delete r.targetHandle,t.concat(r))};function $T({sourceX:e,sourceY:t,targetX:n,targetY:i}){const[r,o,a,u]=BT({sourceX:e,sourceY:t,targetX:n,targetY:i});return[`M ${e},${t}L ${n},${i}`,r,o,a,u]}const qC={[st.Left]:{x:-1,y:0},[st.Right]:{x:1,y:0},[st.Top]:{x:0,y:-1},[st.Bottom]:{x:0,y:1}},zY=({source:e,sourcePosition:t=st.Bottom,target:n})=>t===st.Left||t===st.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function PY({source:e,sourcePosition:t=st.Bottom,target:n,targetPosition:i=st.Top,center:r,offset:o,stepPosition:a}){const u=qC[t],d=qC[i],m={x:e.x+u.x*o,y:e.y+u.y*o},h={x:n.x+d.x*o,y:n.y+d.y*o},p=zY({source:m,sourcePosition:t,target:h}),g=p.x!==0?"x":"y",y=p[g];let v=[],k,S;const _={x:0,y:0},w={x:0,y:0},[,,C,N]=BT({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(u[g]*d[g]===-1){g==="x"?(k=r.x??m.x+(h.x-m.x)*a,S=r.y??(m.y+h.y)/2):(k=r.x??(m.x+h.x)/2,S=r.y??m.y+(h.y-m.y)*a);const T=[{x:k,y:m.y},{x:k,y:h.y}],L=[{x:m.x,y:S},{x:h.x,y:S}];u[g]===y?v=g==="x"?T:L:v=g==="x"?L:T}else{const T=[{x:m.x,y:h.y}],L=[{x:h.x,y:m.y}];if(g==="x"?v=u.x===y?L:T:v=u.y===y?T:L,t===i){const B=Math.abs(e[g]-n[g]);if(B<=o){const U=Math.min(o-1,o-B);u[g]===y?_[g]=(m[g]>e[g]?-1:1)*U:w[g]=(h[g]>n[g]?-1:1)*U}}if(t!==i){const B=g==="x"?"y":"x",U=u[g]===d[B],F=m[B]>h[B],V=m[B]=W?(k=(A.x+M.x)/2,S=v[0].y):(k=v[0].x,S=(A.y+M.y)/2)}const O={x:m.x+_.x,y:m.y+_.y},I={x:h.x+w.x,y:h.y+w.y};return[[e,...O.x!==v[0].x||O.y!==v[0].y?[O]:[],...v,...I.x!==v[v.length-1].x||I.y!==v[v.length-1].y?[I]:[],n],k,S,C,N]}function BY(e,t,n,i){const r=Math.min(WC(e,t)/2,WC(t,n)/2,i),{x:o,y:a}=t;if(e.x===o&&o===n.x||e.y===a&&a===n.y)return`L${o} ${a}`;if(e.y===a){const m=e.xn.id===t):e[0])||null}function b0(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(i=>`${i}=${e[i]}`).join("&")}`:""}function HY(e,{id:t,defaultColor:n,defaultMarkerStart:i,defaultMarkerEnd:r}){const o=new Set;return e.reduce((a,u)=>([u.markerStart||i,u.markerEnd||r].forEach(d=>{if(d&&typeof d=="object"){const m=b0(d,t);o.has(m)||(a.push({id:m,color:d.color||n,...d}),o.add(m))}}),a),[]).sort((a,u)=>a.id.localeCompare(u.id))}const HT=1e3,FY=10,Lv={nodeOrigin:[0,0],nodeExtent:wu,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},VY={...Lv,checkEquality:!0};function zv(e,t){const n={...e};for(const i in t)t[i]!==void 0&&(n[i]=t[i]);return n}function UY(e,t,n){const i=zv(Lv,n);for(const r of e.values())if(r.parentId)Bv(r,e,t,i);else{const o=zu(r,i.nodeOrigin),a=wl(r.extent)?r.extent:i.nodeExtent,u=Jo(o,a,Ts(r));r.internals.positionAbsolute=u}}function GY(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;const n=[],i=[];for(const r of e.handles){const o={id:r.id,width:r.width??1,height:r.height??1,nodeId:e.id,x:r.x,y:r.y,position:r.position,type:r.type};r.type==="source"?n.push(o):r.type==="target"&&i.push(o)}return{source:n,target:i}}function Pv(e){return e==="manual"}function _0(e,t,n,i={}){const r=zv(VY,i),o={i:0},a=new Map(t),u=r?.elevateNodesOnSelect&&!Pv(r.zIndexMode)?HT:0;let d=e.length>0,m=!1;t.clear(),n.clear();for(const h of e){let p=a.get(h.id);if(r.checkEquality&&h===p?.internals.userNode)t.set(h.id,p);else{const g=zu(h,r.nodeOrigin),y=wl(h.extent)?h.extent:r.nodeExtent,v=Jo(g,y,Ts(h));p={...r.defaults,...h,measured:{width:h.measured?.width,height:h.measured?.height},internals:{positionAbsolute:v,handleBounds:GY(h,p),z:FT(h,u,r.zIndexMode),userNode:h}},t.set(h.id,p)}(p.measured===void 0||p.measured.width===void 0||p.measured.height===void 0)&&!p.hidden&&(d=!1),h.parentId&&Bv(p,t,n,i,o),m||=h.selected??!1}return{nodesInitialized:d,hasSelectedNodes:m}}function qY(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function Bv(e,t,n,i,r){const{elevateNodesOnSelect:o,nodeOrigin:a,nodeExtent:u,zIndexMode:d}=zv(Lv,i),m=e.parentId,h=t.get(m);if(!h){console.warn(`Parent node ${m} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}qY(e,n),r&&!h.parentId&&h.internals.rootParentIndex===void 0&&d==="auto"&&(h.internals.rootParentIndex=++r.i,h.internals.z=h.internals.z+r.i*FY),r&&h.internals.rootParentIndex!==void 0&&(r.i=h.internals.rootParentIndex);const p=o&&!Pv(d)?HT:0,{x:g,y,z:v}=WY(e,h,a,u,p,d),{positionAbsolute:k}=e.internals,S=g!==k.x||y!==k.y;(S||v!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:S?{x:g,y}:k,z:v}})}function FT(e,t,n){const i=Ir(e.zIndex)?e.zIndex:0;return Pv(n)?i:i+(e.selected?t:0)}function WY(e,t,n,i,r,o){const{x:a,y:u}=t.internals.positionAbsolute,d=Ts(e),m=zu(e,n),h=wl(e.extent)?Jo(m,e.extent,d):m;let p=Jo({x:a+h.x,y:u+h.y},i,d);e.extent==="parent"&&(p=IT(p,d,t));const g=FT(e,r,o),y=t.internals.z??0;return{x:p.x,y:p.y,z:y>=g?y+1:g}}function $v(e,t,n,i=[0,0]){const r=[],o=new Map;for(const a of e){const u=t.get(a.parentId);if(!u)continue;const d=o.get(a.parentId)?.expandedRect??Sl(u),m=RT(d,a.rect);o.set(a.parentId,{expandedRect:m,parent:u})}return o.size>0&&o.forEach(({expandedRect:a,parent:u},d)=>{const m=u.internals.positionAbsolute,h=Ts(u),p=u.origin??i,g=a.x0||y>0||S||_)&&(r.push({id:d,type:"position",position:{x:u.position.x-g+S,y:u.position.y-y+_}}),n.get(d)?.forEach(w=>{e.some(C=>C.id===w.id)||r.push({id:w.id,type:"position",position:{x:w.position.x+g,y:w.position.y+y}})})),(h.width0){const y=$v(g,t,n,r);m.push(...y)}return{changes:m,updatedInternals:d}}async function XY({delta:e,panZoom:t,transform:n,translateExtent:i,width:r,height:o}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const a=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[r,o]],i),u=!!a&&(a.x!==n[0]||a.y!==n[1]||a.k!==n[2]);return Promise.resolve(u)}function ZC(e,t,n,i,r,o){let a=r;const u=i.get(a)||new Map;i.set(a,u.set(n,t)),a=`${r}-${e}`;const d=i.get(a)||new Map;if(i.set(a,d.set(n,t)),o){a=`${r}-${e}-${o}`;const m=i.get(a)||new Map;i.set(a,m.set(n,t))}}function VT(e,t,n){e.clear(),t.clear();for(const i of n){const{source:r,target:o,sourceHandle:a=null,targetHandle:u=null}=i,d={edgeId:i.id,source:r,target:o,sourceHandle:a,targetHandle:u},m=`${r}-${a}--${o}-${u}`,h=`${o}-${u}--${r}-${a}`;ZC("source",d,h,e,r,a),ZC("target",d,m,e,o,u),t.set(i.id,i)}}function UT(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:UT(n,t):!1}function QC(e,t,n){let i=e;do{if(i?.matches?.(t))return!0;if(i===n)return!1;i=i?.parentElement}while(i);return!1}function KY(e,t,n,i){const r=new Map;for(const[o,a]of e)if((a.selected||a.id===i)&&(!a.parentId||!UT(a,e))&&(a.draggable||t&&typeof a.draggable>"u")){const u=e.get(o);u&&r.set(o,{id:o,position:u.position||{x:0,y:0},distance:{x:n.x-u.internals.positionAbsolute.x,y:n.y-u.internals.positionAbsolute.y},extent:u.extent,parentId:u.parentId,origin:u.origin,expandParent:u.expandParent,internals:{positionAbsolute:u.internals.positionAbsolute||{x:0,y:0}},measured:{width:u.measured.width??0,height:u.measured.height??0}})}return r}function _x({nodeId:e,dragItems:t,nodeLookup:n,dragging:i=!0}){const r=[];for(const[a,u]of t){const d=n.get(a)?.internals.userNode;d&&r.push({...d,position:u.position,dragging:i})}if(!e)return[r[0],r];const o=n.get(e)?.internals.userNode;return[o?{...o,position:t.get(e)?.position||o.position,dragging:i}:r[0],r]}function ZY({dragItems:e,snapGrid:t,x:n,y:i}){const r=e.values().next().value;if(!r)return null;const o={x:n-r.distance.x,y:i-r.distance.y},a=Bu(o,t);return{x:a.x-o.x,y:a.y-o.y}}function QY({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:i,onDragStop:r}){let o={x:null,y:null},a=0,u=new Map,d=!1,m={x:0,y:0},h=null,p=!1,g=null,y=!1,v=!1,k=null;function S({noDragClassName:w,handleSelector:C,domNode:N,isSelectable:O,nodeId:I,nodeClickDistance:D=0}){g=Ki(N);function T({x:$,y:W}){const{nodeLookup:B,nodeExtent:U,snapGrid:F,snapToGrid:V,nodeOrigin:Y,onNodeDrag:Q,onSelectionDrag:q,onError:G,updateNodePositions:J}=t();o={x:$,y:W};let P=!1;const K=u.size>1,ee=K&&U?y0(Pu(u)):null,te=K&&V?ZY({dragItems:u,snapGrid:F,x:$,y:W}):null;for(const[ie,oe]of u){if(!B.has(ie))continue;let fe={x:$-oe.distance.x,y:W-oe.distance.y};V&&(fe=te?{x:Math.round(fe.x+te.x),y:Math.round(fe.y+te.y)}:Bu(fe,F));let se=null;if(K&&U&&!oe.extent&&ee){const{positionAbsolute:Ce}=oe.internals,Be=Ce.x-ee.x+U[0][0],Ve=Ce.x+oe.measured.width-ee.x2+U[1][0],Ye=Ce.y-ee.y+U[0][1],ht=Ce.y+oe.measured.height-ee.y2+U[1][1];se=[[Be,Ye],[Ve,ht]]}const{position:_e,positionAbsolute:we}=NT({nodeId:ie,nextPosition:fe,nodeLookup:B,nodeExtent:se||U,nodeOrigin:Y,onError:G});P=P||oe.position.x!==_e.x||oe.position.y!==_e.y,oe.position=_e,oe.internals.positionAbsolute=we}if(v=v||P,!!P&&(J(u,!0),k&&(i||Q||!I&&q))){const[ie,oe]=_x({nodeId:I,dragItems:u,nodeLookup:B});i?.(k,u,ie,oe),Q?.(k,ie,oe),I||q?.(k,oe)}}async function L(){if(!h)return;const{transform:$,panBy:W,autoPanSpeed:B,autoPanOnNodeDrag:U}=t();if(!U){d=!1,cancelAnimationFrame(a);return}const[F,V]=TT(m,h,B);(F!==0||V!==0)&&(o.x=(o.x??0)-F/$[2],o.y=(o.y??0)-V/$[2],await W({x:F,y:V})&&T(o)),a=requestAnimationFrame(L)}function A($){const{nodeLookup:W,multiSelectionActive:B,nodesDraggable:U,transform:F,snapGrid:V,snapToGrid:Y,selectNodesOnDrag:Q,onNodeDragStart:q,onSelectionDragStart:G,unselectNodesAndEdges:J}=t();p=!0,(!Q||!O)&&!B&&I&&(W.get(I)?.selected||J()),O&&Q&&I&&e?.(I);const P=ou($.sourceEvent,{transform:F,snapGrid:V,snapToGrid:Y,containerBounds:h});if(o=P,u=KY(W,U,P,I),u.size>0&&(n||q||!I&&G)){const[K,ee]=_x({nodeId:I,dragItems:u,nodeLookup:W});n?.($.sourceEvent,u,K,ee),q?.($.sourceEvent,K,ee),I||G?.($.sourceEvent,ee)}}const M=aT().clickDistance(D).on("start",$=>{const{domNode:W,nodeDragThreshold:B,transform:U,snapGrid:F,snapToGrid:V}=t();h=W?.getBoundingClientRect()||null,y=!1,v=!1,k=$.sourceEvent,B===0&&A($),o=ou($.sourceEvent,{transform:U,snapGrid:F,snapToGrid:V,containerBounds:h}),m=Tr($.sourceEvent,h)}).on("drag",$=>{const{autoPanOnNodeDrag:W,transform:B,snapGrid:U,snapToGrid:F,nodeDragThreshold:V,nodeLookup:Y}=t(),Q=ou($.sourceEvent,{transform:B,snapGrid:U,snapToGrid:F,containerBounds:h});if(k=$.sourceEvent,($.sourceEvent.type==="touchmove"&&$.sourceEvent.touches.length>1||I&&!Y.has(I))&&(y=!0),!y){if(!d&&W&&p&&(d=!0,L()),!p){const q=Tr($.sourceEvent,h),G=q.x-m.x,J=q.y-m.y;Math.sqrt(G*G+J*J)>V&&A($)}(o.x!==Q.xSnapped||o.y!==Q.ySnapped)&&u&&p&&(m=Tr($.sourceEvent,h),T(Q))}}).on("end",$=>{if(!(!p||y)&&(d=!1,p=!1,cancelAnimationFrame(a),u.size>0)){const{nodeLookup:W,updateNodePositions:B,onNodeDragStop:U,onSelectionDragStop:F}=t();if(v&&(B(u,!1),v=!1),r||U||!I&&F){const[V,Y]=_x({nodeId:I,dragItems:u,nodeLookup:W,dragging:!1});r?.($.sourceEvent,u,V,Y),U?.($.sourceEvent,V,Y),I||F?.($.sourceEvent,Y)}}}).filter($=>{const W=$.target;return!$.button&&(!w||!QC(W,`.${w}`,N))&&(!C||QC(W,C,N))});g.call(M)}function _(){g?.on(".drag",null)}return{update:S,destroy:_}}function JY(e,t,n){const i=[],r={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const o of t.values())ju(r,Sl(o))>0&&i.push(o);return i}const eX=250;function tX(e,t,n,i){let r=[],o=1/0;const a=JY(e,n,t+eX);for(const u of a){const d=[...u.internals.handleBounds?.source??[],...u.internals.handleBounds?.target??[]];for(const m of d){if(i.nodeId===m.nodeId&&i.type===m.type&&i.id===m.id)continue;const{x:h,y:p}=ea(u,m,m.position,!0),g=Math.sqrt(Math.pow(h-e.x,2)+Math.pow(p-e.y,2));g>t||(g1){const u=i.type==="source"?"target":"source";return r.find(d=>d.type===u)??r[0]}return r[0]}function GT(e,t,n,i,r,o=!1){const a=i.get(e);if(!a)return null;const u=r==="strict"?a.internals.handleBounds?.[t]:[...a.internals.handleBounds?.source??[],...a.internals.handleBounds?.target??[]],d=(n?u?.find(m=>m.id===n):u?.[0])??null;return d&&o?{...d,...ea(a,d,d.position,!0)}:d}function qT(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function nX(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const WT=()=>!0;function iX(e,{connectionMode:t,connectionRadius:n,handleId:i,nodeId:r,edgeUpdaterType:o,isTarget:a,domNode:u,nodeLookup:d,lib:m,autoPanOnConnect:h,flowId:p,panBy:g,cancelConnection:y,onConnectStart:v,onConnect:k,onConnectEnd:S,isValidConnection:_=WT,onReconnectEnd:w,updateConnection:C,getTransform:N,getFromHandle:O,autoPanSpeed:I,dragThreshold:D=1,handleDomNode:T}){const L=DT(e.target);let A=0,M;const{x:$,y:W}=Tr(e),B=qT(o,T),U=u?.getBoundingClientRect();let F=!1;if(!U||!B)return;const V=GT(r,B,i,d,t);if(!V)return;let Y=Tr(e,U),Q=!1,q=null,G=!1,J=null;function P(){if(!h||!U)return;const[_e,we]=TT(Y,U,I);g({x:_e,y:we}),A=requestAnimationFrame(P)}const K={...V,nodeId:r,type:B,position:V.position},ee=d.get(r);let ie={inProgress:!0,isValid:null,from:ea(ee,K,st.Left,!0),fromHandle:K,fromPosition:K.position,fromNode:ee,to:Y,toHandle:null,toPosition:$C[K.position],toNode:null,pointer:Y};function oe(){F=!0,C(ie),v?.(e,{nodeId:r,handleId:i,handleType:B})}D===0&&oe();function fe(_e){if(!F){const{x:ht,y:zt}=Tr(_e),bt=ht-$,Nt=zt-W;if(!(bt*bt+Nt*Nt>D*D))return;oe()}if(!O()||!K){se(_e);return}const we=N();Y=Tr(_e,U),M=tX($u(Y,we,!1,[1,1]),n,d,K),Q||(P(),Q=!0);const Ce=YT(_e,{handle:M,connectionMode:t,fromNodeId:r,fromHandleId:i,fromType:a?"target":"source",isValidConnection:_,doc:L,lib:m,flowId:p,nodeLookup:d});J=Ce.handleDomNode,q=Ce.connection,G=nX(!!M,Ce.isValid);const Be=d.get(r),Ve=Be?ea(Be,K,st.Left,!0):ie.from,Ye={...ie,from:Ve,isValid:G,to:Ce.toHandle&&G?ym({x:Ce.toHandle.x,y:Ce.toHandle.y},we):Y,toHandle:Ce.toHandle,toPosition:G&&Ce.toHandle?Ce.toHandle.position:$C[K.position],toNode:Ce.toHandle?d.get(Ce.toHandle.nodeId):null,pointer:Y};C(Ye),ie=Ye}function se(_e){if(!("touches"in _e&&_e.touches.length>0)){if(F){(M||J)&&q&&G&&k?.(q);const{inProgress:we,...Ce}=ie,Be={...Ce,toPosition:ie.toHandle?ie.toPosition:null};S?.(_e,Be),o&&w?.(_e,Be)}y(),cancelAnimationFrame(A),Q=!1,G=!1,q=null,J=null,L.removeEventListener("mousemove",fe),L.removeEventListener("mouseup",se),L.removeEventListener("touchmove",fe),L.removeEventListener("touchend",se)}}L.addEventListener("mousemove",fe),L.addEventListener("mouseup",se),L.addEventListener("touchmove",fe),L.addEventListener("touchend",se)}function YT(e,{handle:t,connectionMode:n,fromNodeId:i,fromHandleId:r,fromType:o,doc:a,lib:u,flowId:d,isValidConnection:m=WT,nodeLookup:h}){const p=o==="target",g=t?a.querySelector(`.${u}-flow__handle[data-id="${d}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:y,y:v}=Tr(e),k=a.elementFromPoint(y,v),S=k?.classList.contains(`${u}-flow__handle`)?k:g,_={handleDomNode:S,isValid:!1,connection:null,toHandle:null};if(S){const w=qT(void 0,S),C=S.getAttribute("data-nodeid"),N=S.getAttribute("data-handleid"),O=S.classList.contains("connectable"),I=S.classList.contains("connectableend");if(!C||!w)return _;const D={source:p?C:i,sourceHandle:p?N:r,target:p?i:C,targetHandle:p?r:N};_.connection=D;const L=O&&I&&(n===_l.Strict?p&&w==="source"||!p&&w==="target":C!==i||N!==r);_.isValid=L&&m(D),_.toHandle=GT(C,w,N,h,n,!0)}return _}const k0={onPointerDown:iX,isValid:YT};function rX({domNode:e,panZoom:t,getTransform:n,getViewScale:i}){const r=Ki(e);function o({translateExtent:u,width:d,height:m,zoomStep:h=1,pannable:p=!0,zoomable:g=!0,inversePan:y=!1}){const v=C=>{if(C.sourceEvent.type!=="wheel"||!t)return;const N=n(),O=C.sourceEvent.ctrlKey&&Eu()?10:1,I=-C.sourceEvent.deltaY*(C.sourceEvent.deltaMode===1?.05:C.sourceEvent.deltaMode?1:.002)*h,D=N[2]*Math.pow(2,I*O);t.scaleTo(D)};let k=[0,0];const S=C=>{(C.sourceEvent.type==="mousedown"||C.sourceEvent.type==="touchstart")&&(k=[C.sourceEvent.clientX??C.sourceEvent.touches[0].clientX,C.sourceEvent.clientY??C.sourceEvent.touches[0].clientY])},_=C=>{const N=n();if(C.sourceEvent.type!=="mousemove"&&C.sourceEvent.type!=="touchmove"||!t)return;const O=[C.sourceEvent.clientX??C.sourceEvent.touches[0].clientX,C.sourceEvent.clientY??C.sourceEvent.touches[0].clientY],I=[O[0]-k[0],O[1]-k[1]];k=O;const D=i()*Math.max(N[2],Math.log(N[2]))*(y?-1:1),T={x:N[0]-I[0]*D,y:N[1]-I[1]*D},L=[[0,0],[d,m]];t.setViewportConstrained({x:T.x,y:T.y,zoom:N[2]},L,u)},w=kT().on("start",S).on("zoom",p?_:null).on("zoom.wheel",g?v:null);r.call(w,{})}function a(){r.on("zoom",null)}return{update:o,destroy:a,pointer:jr}}const Qm=e=>({x:e.x,y:e.y,zoom:e.k}),kx=({x:e,y:t,zoom:n})=>Xm.translate(e,t).scale(n),tl=(e,t)=>e.target.closest(`.${t}`),XT=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),sX=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,Sx=(e,t=0,n=sX,i=()=>{})=>{const r=typeof t=="number"&&t>0;return r||i(),r?e.transition().duration(t).ease(n).on("end",i):e},KT=e=>{const t=e.ctrlKey&&Eu()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function oX({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:i,panOnScrollMode:r,panOnScrollSpeed:o,zoomOnPinch:a,onPanZoomStart:u,onPanZoom:d,onPanZoomEnd:m}){return h=>{if(tl(h,t))return h.ctrlKey&&h.preventDefault(),!1;h.preventDefault(),h.stopImmediatePropagation();const p=n.property("__zoom").k||1;if(h.ctrlKey&&a){const S=jr(h),_=KT(h),w=p*Math.pow(2,_);i.scaleTo(n,w,S,h);return}const g=h.deltaMode===1?20:1;let y=r===Go.Vertical?0:h.deltaX*g,v=r===Go.Horizontal?0:h.deltaY*g;!Eu()&&h.shiftKey&&r!==Go.Vertical&&(y=h.deltaY*g,v=0),i.translateBy(n,-(y/p)*o,-(v/p)*o,{internal:!0});const k=Qm(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d?.(h,k),e.panScrollTimeout=setTimeout(()=>{m?.(h,k),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,u?.(h,k))}}function aX({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(i,r){const o=i.type==="wheel",a=!t&&o&&!i.ctrlKey,u=tl(i,e);if(i.ctrlKey&&o&&u&&i.preventDefault(),a||u)return null;i.preventDefault(),n.call(this,i,r)}}function lX({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return i=>{if(i.sourceEvent?.internal)return;const r=Qm(i.transform);e.mouseButton=i.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=r,i.sourceEvent?.type==="mousedown"&&t(!0),n&&n?.(i.sourceEvent,r)}}function cX({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:i,onPanZoom:r}){return o=>{e.usedRightMouseButton=!!(n&&XT(t,e.mouseButton??0)),o.sourceEvent?.sync||i([o.transform.x,o.transform.y,o.transform.k]),r&&!o.sourceEvent?.internal&&r?.(o.sourceEvent,Qm(o.transform))}}function uX({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:i,onPanZoomEnd:r,onPaneContextMenu:o}){return a=>{if(!a.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,o&&XT(t,e.mouseButton??0)&&!e.usedRightMouseButton&&a.sourceEvent&&o(a.sourceEvent),e.usedRightMouseButton=!1,i(!1),r)){const u=Qm(a.transform);e.prevViewport=u,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{r?.(a.sourceEvent,u)},n?150:0)}}}function dX({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:i,panOnScroll:r,zoomOnDoubleClick:o,userSelectionActive:a,noWheelClassName:u,noPanClassName:d,lib:m,connectionInProgress:h}){return p=>{const g=e||t,y=n&&p.ctrlKey,v=p.type==="wheel";if(p.button===1&&p.type==="mousedown"&&(tl(p,`${m}-flow__node`)||tl(p,`${m}-flow__edge`)))return!0;if(!i&&!g&&!r&&!o&&!n||a||h&&!v||tl(p,u)&&v||tl(p,d)&&(!v||r&&v&&!e)||!n&&p.ctrlKey&&v)return!1;if(!n&&p.type==="touchstart"&&p.touches?.length>1)return p.preventDefault(),!1;if(!g&&!r&&!y&&v||!i&&(p.type==="mousedown"||p.type==="touchstart")||Array.isArray(i)&&!i.includes(p.button)&&p.type==="mousedown")return!1;const k=Array.isArray(i)&&i.includes(p.button)||!p.button||p.button<=1;return(!p.ctrlKey||v)&&k}}function fX({domNode:e,minZoom:t,maxZoom:n,translateExtent:i,viewport:r,onPanZoom:o,onPanZoomStart:a,onPanZoomEnd:u,onDraggingChange:d}){const m={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},h=e.getBoundingClientRect(),p=kT().scaleExtent([t,n]).translateExtent(i),g=Ki(e).call(p);w({x:r.x,y:r.y,zoom:kl(r.zoom,t,n)},[[0,0],[h.width,h.height]],i);const y=g.on("wheel.zoom"),v=g.on("dblclick.zoom");p.wheelDelta(KT);function k(M,$){return g?new Promise(W=>{p?.interpolate($?.interpolate==="linear"?su:Af).transform(Sx(g,$?.duration,$?.ease,()=>W(!0)),M)}):Promise.resolve(!1)}function S({noWheelClassName:M,noPanClassName:$,onPaneContextMenu:W,userSelectionActive:B,panOnScroll:U,panOnDrag:F,panOnScrollMode:V,panOnScrollSpeed:Y,preventScrolling:Q,zoomOnPinch:q,zoomOnScroll:G,zoomOnDoubleClick:J,zoomActivationKeyPressed:P,lib:K,onTransformChange:ee,connectionInProgress:te,paneClickDistance:ie,selectionOnDrag:oe}){B&&!m.isZoomingOrPanning&&_();const fe=U&&!P&&!B;p.clickDistance(oe?1/0:!Ir(ie)||ie<0?0:ie);const se=fe?oX({zoomPanValues:m,noWheelClassName:M,d3Selection:g,d3Zoom:p,panOnScrollMode:V,panOnScrollSpeed:Y,zoomOnPinch:q,onPanZoomStart:a,onPanZoom:o,onPanZoomEnd:u}):aX({noWheelClassName:M,preventScrolling:Q,d3ZoomHandler:y});if(g.on("wheel.zoom",se,{passive:!1}),!B){const we=lX({zoomPanValues:m,onDraggingChange:d,onPanZoomStart:a});p.on("start",we);const Ce=cX({zoomPanValues:m,panOnDrag:F,onPaneContextMenu:!!W,onPanZoom:o,onTransformChange:ee});p.on("zoom",Ce);const Be=uX({zoomPanValues:m,panOnDrag:F,panOnScroll:U,onPaneContextMenu:W,onPanZoomEnd:u,onDraggingChange:d});p.on("end",Be)}const _e=dX({zoomActivationKeyPressed:P,panOnDrag:F,zoomOnScroll:G,panOnScroll:U,zoomOnDoubleClick:J,zoomOnPinch:q,userSelectionActive:B,noPanClassName:$,noWheelClassName:M,lib:K,connectionInProgress:te});p.filter(_e),J?g.on("dblclick.zoom",v):g.on("dblclick.zoom",null)}function _(){p.on("zoom",null)}async function w(M,$,W){const B=kx(M),U=p?.constrain()(B,$,W);return U&&await k(U),new Promise(F=>F(U))}async function C(M,$){const W=kx(M);return await k(W,$),new Promise(B=>B(W))}function N(M){if(g){const $=kx(M),W=g.property("__zoom");(W.k!==M.zoom||W.x!==M.x||W.y!==M.y)&&p?.transform(g,$,null,{sync:!0})}}function O(){const M=g?_T(g.node()):{x:0,y:0,k:1};return{x:M.x,y:M.y,zoom:M.k}}function I(M,$){return g?new Promise(W=>{p?.interpolate($?.interpolate==="linear"?su:Af).scaleTo(Sx(g,$?.duration,$?.ease,()=>W(!0)),M)}):Promise.resolve(!1)}function D(M,$){return g?new Promise(W=>{p?.interpolate($?.interpolate==="linear"?su:Af).scaleBy(Sx(g,$?.duration,$?.ease,()=>W(!0)),M)}):Promise.resolve(!1)}function T(M){p?.scaleExtent(M)}function L(M){p?.translateExtent(M)}function A(M){const $=!Ir(M)||M<0?0:M;p?.clickDistance($)}return{update:S,destroy:_,setViewport:C,setViewportConstrained:w,getViewport:O,scaleTo:I,scaleBy:D,setScaleExtent:T,setTranslateExtent:L,syncViewport:N,setClickDistance:A}}var Cl;(function(e){e.Line="line",e.Handle="handle"})(Cl||(Cl={}));function mX({width:e,prevWidth:t,height:n,prevHeight:i,affectsX:r,affectsY:o}){const a=e-t,u=n-i,d=[a>0?1:a<0?-1:0,u>0?1:u<0?-1:0];return a&&r&&(d[0]=d[0]*-1),u&&o&&(d[1]=d[1]*-1),d}function JC(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),i=e.includes("left"),r=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:i,affectsY:r}}function so(e,t){return Math.max(0,t-e)}function oo(e,t){return Math.max(0,e-t)}function vf(e,t,n){return Math.max(0,t-e,e-n)}function e2(e,t){return e?!t:t}function pX(e,t,n,i,r,o,a,u){let{affectsX:d,affectsY:m}=t;const{isHorizontal:h,isVertical:p}=t,g=h&&p,{xSnapped:y,ySnapped:v}=n,{minWidth:k,maxWidth:S,minHeight:_,maxHeight:w}=i,{x:C,y:N,width:O,height:I,aspectRatio:D}=e;let T=Math.floor(h?y-e.pointerX:0),L=Math.floor(p?v-e.pointerY:0);const A=O+(d?-T:T),M=I+(m?-L:L),$=-o[0]*O,W=-o[1]*I;let B=vf(A,k,S),U=vf(M,_,w);if(a){let Y=0,Q=0;d&&T<0?Y=so(C+T+$,a[0][0]):!d&&T>0&&(Y=oo(C+A+$,a[1][0])),m&&L<0?Q=so(N+L+W,a[0][1]):!m&&L>0&&(Q=oo(N+M+W,a[1][1])),B=Math.max(B,Y),U=Math.max(U,Q)}if(u){let Y=0,Q=0;d&&T>0?Y=oo(C+T,u[0][0]):!d&&T<0&&(Y=so(C+A,u[1][0])),m&&L>0?Q=oo(N+L,u[0][1]):!m&&L<0&&(Q=so(N+M,u[1][1])),B=Math.max(B,Y),U=Math.max(U,Q)}if(r){if(h){const Y=vf(A/D,_,w)*D;if(B=Math.max(B,Y),a){let Q=0;!d&&!m||d&&!m&&g?Q=oo(N+W+A/D,a[1][1])*D:Q=so(N+W+(d?T:-T)/D,a[0][1])*D,B=Math.max(B,Q)}if(u){let Q=0;!d&&!m||d&&!m&&g?Q=so(N+A/D,u[1][1])*D:Q=oo(N+(d?T:-T)/D,u[0][1])*D,B=Math.max(B,Q)}}if(p){const Y=vf(M*D,k,S)/D;if(U=Math.max(U,Y),a){let Q=0;!d&&!m||m&&!d&&g?Q=oo(C+M*D+$,a[1][0])/D:Q=so(C+(m?L:-L)*D+$,a[0][0])/D,U=Math.max(U,Q)}if(u){let Q=0;!d&&!m||m&&!d&&g?Q=so(C+M*D,u[1][0])/D:Q=oo(C+(m?L:-L)*D,u[0][0])/D,U=Math.max(U,Q)}}}L=L+(L<0?U:-U),T=T+(T<0?B:-B),r&&(g?A>M*D?L=(e2(d,m)?-T:T)/D:T=(e2(d,m)?-L:L)*D:h?(L=T/D,m=d):(T=L*D,d=m));const F=d?C+T:C,V=m?N+L:N;return{width:O+(d?-T:T),height:I+(m?-L:L),x:o[0]*T*(d?-1:1)+F,y:o[1]*L*(m?-1:1)+V}}const ZT={width:0,height:0,x:0,y:0},hX={...ZT,pointerX:0,pointerY:0,aspectRatio:1};function gX(e){return[[0,0],[e.measured.width,e.measured.height]]}function xX(e,t,n){const i=t.position.x+e.position.x,r=t.position.y+e.position.y,o=e.measured.width??0,a=e.measured.height??0,u=n[0]*o,d=n[1]*a;return[[i-u,r-d],[i+o-u,r+a-d]]}function yX({domNode:e,nodeId:t,getStoreItems:n,onChange:i,onEnd:r}){const o=Ki(e);let a={controlDirection:JC("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function u({controlPosition:m,boundaries:h,keepAspectRatio:p,resizeDirection:g,onResizeStart:y,onResize:v,onResizeEnd:k,shouldResize:S}){let _={...ZT},w={...hX};a={boundaries:h,resizeDirection:g,keepAspectRatio:p,controlDirection:JC(m)};let C,N=null,O=[],I,D,T,L=!1;const A=aT().on("start",M=>{const{nodeLookup:$,transform:W,snapGrid:B,snapToGrid:U,nodeOrigin:F,paneDomNode:V}=n();if(C=$.get(t),!C)return;N=V?.getBoundingClientRect()??null;const{xSnapped:Y,ySnapped:Q}=ou(M.sourceEvent,{transform:W,snapGrid:B,snapToGrid:U,containerBounds:N});_={width:C.measured.width??0,height:C.measured.height??0,x:C.position.x??0,y:C.position.y??0},w={..._,pointerX:Y,pointerY:Q,aspectRatio:_.width/_.height},I=void 0,C.parentId&&(C.extent==="parent"||C.expandParent)&&(I=$.get(C.parentId),D=I&&C.extent==="parent"?gX(I):void 0),O=[],T=void 0;for(const[q,G]of $)if(G.parentId===t&&(O.push({id:q,position:{...G.position},extent:G.extent}),G.extent==="parent"||G.expandParent)){const J=xX(G,C,G.origin??F);T?T=[[Math.min(J[0][0],T[0][0]),Math.min(J[0][1],T[0][1])],[Math.max(J[1][0],T[1][0]),Math.max(J[1][1],T[1][1])]]:T=J}y?.(M,{..._})}).on("drag",M=>{const{transform:$,snapGrid:W,snapToGrid:B,nodeOrigin:U}=n(),F=ou(M.sourceEvent,{transform:$,snapGrid:W,snapToGrid:B,containerBounds:N}),V=[];if(!C)return;const{x:Y,y:Q,width:q,height:G}=_,J={},P=C.origin??U,{width:K,height:ee,x:te,y:ie}=pX(w,a.controlDirection,F,a.boundaries,a.keepAspectRatio,P,D,T),oe=K!==q,fe=ee!==G,se=te!==Y&&oe,_e=ie!==Q&&fe;if(!se&&!_e&&!oe&&!fe)return;if((se||_e||P[0]===1||P[1]===1)&&(J.x=se?te:_.x,J.y=_e?ie:_.y,_.x=J.x,_.y=J.y,O.length>0)){const Ve=te-Y,Ye=ie-Q;for(const ht of O)ht.position={x:ht.position.x-Ve+P[0]*(K-q),y:ht.position.y-Ye+P[1]*(ee-G)},V.push(ht)}if((oe||fe)&&(J.width=oe&&(!a.resizeDirection||a.resizeDirection==="horizontal")?K:_.width,J.height=fe&&(!a.resizeDirection||a.resizeDirection==="vertical")?ee:_.height,_.width=J.width,_.height=J.height),I&&C.expandParent){const Ve=P[0]*(J.width??0);J.x&&J.x{L&&(k?.(M,{..._}),r?.({..._}),L=!1)});o.call(A)}function d(){o.on(".drag",null)}return{update:u,destroy:d}}var wx={exports:{}},Cx={},jx={exports:{}},Ex={};var t2;function vX(){if(t2)return Ex;t2=1;var e=El();function t(p,g){return p===g&&(p!==0||1/p===1/g)||p!==p&&g!==g}var n=typeof Object.is=="function"?Object.is:t,i=e.useState,r=e.useEffect,o=e.useLayoutEffect,a=e.useDebugValue;function u(p,g){var y=g(),v=i({inst:{value:y,getSnapshot:g}}),k=v[0].inst,S=v[1];return o(function(){k.value=y,k.getSnapshot=g,d(k)&&S({inst:k})},[p,y,g]),r(function(){return d(k)&&S({inst:k}),p(function(){d(k)&&S({inst:k})})},[p]),a(y),y}function d(p){var g=p.getSnapshot;p=p.value;try{var y=g();return!n(p,y)}catch{return!0}}function m(p,g){return g()}var h=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?m:u;return Ex.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:h,Ex}var n2;function bX(){return n2||(n2=1,jx.exports=vX()),jx.exports}var i2;function _X(){if(i2)return Cx;i2=1;var e=El(),t=bX();function n(m,h){return m===h&&(m!==0||1/m===1/h)||m!==m&&h!==h}var i=typeof Object.is=="function"?Object.is:n,r=t.useSyncExternalStore,o=e.useRef,a=e.useEffect,u=e.useMemo,d=e.useDebugValue;return Cx.useSyncExternalStoreWithSelector=function(m,h,p,g,y){var v=o(null);if(v.current===null){var k={hasValue:!1,value:null};v.current=k}else k=v.current;v=u(function(){function _(I){if(!w){if(w=!0,C=I,I=g(I),y!==void 0&&k.hasValue){var D=k.value;if(y(D,I))return N=D}return N=I}if(D=N,i(C,I))return D;var T=g(I);return y!==void 0&&y(D,T)?(C=I,D):(C=I,N=T)}var w=!1,C,N,O=p===void 0?null:p;return[function(){return _(h())},O===null?void 0:function(){return _(O())}]},[h,p,g,y]);var S=r(m,v[0],v[1]);return a(function(){k.hasValue=!0,k.value=S},[S]),d(S),S},Cx}var r2;function kX(){return r2||(r2=1,wx.exports=_X()),wx.exports}var SX=kX();const wX=ta(SX),CX={},s2=e=>{let t;const n=new Set,i=(h,p)=>{const g=typeof h=="function"?h(t):h;if(!Object.is(g,t)){const y=t;t=p??(typeof g!="object"||g===null)?g:Object.assign({},t,g),n.forEach(v=>v(t,y))}},r=()=>t,d={setState:i,getState:r,getInitialState:()=>m,subscribe:h=>(n.add(h),()=>n.delete(h)),destroy:()=>{(CX?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},m=t=e(i,r,d);return d},jX=e=>e?s2(e):s2,{useDebugValue:EX}=St,{useSyncExternalStoreWithSelector:NX}=wX,IX=e=>e;function QT(e,t=IX,n){const i=NX(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return EX(i),i}const o2=(e,t)=>{const n=jX(e),i=(r,o=t)=>QT(n,r,o);return Object.assign(i,n),i},TX=(e,t)=>e?o2(e,t):o2;function Sn(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[i,r]of e)if(!Object.is(r,t.get(i)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const i of e)if(!t.has(i))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const i of n)if(!Object.prototype.hasOwnProperty.call(t,i)||!Object.is(e[i],t[i]))return!1;return!0}const Jm=E.createContext(null),RX=Jm.Provider,JT=Jr.error001();function Ut(e,t){const n=E.useContext(Jm);if(n===null)throw new Error(JT);return QT(n,e,t)}function wn(){const e=E.useContext(Jm);if(e===null)throw new Error(JT);return E.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const a2={display:"none"},AX={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},eR="react-flow__node-desc",tR="react-flow__edge-desc",MX="react-flow__aria-live",DX=e=>e.ariaLiveMessage,OX=e=>e.ariaLabelConfig;function LX({rfId:e}){const t=Ut(DX);return c.jsx("div",{id:`${MX}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:AX,children:t})}function zX({rfId:e,disableKeyboardA11y:t}){const n=Ut(OX);return c.jsxs(c.Fragment,{children:[c.jsx("div",{id:`${eR}-${e}`,style:a2,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),c.jsx("div",{id:`${tR}-${e}`,style:a2,children:n["edge.a11yDescription.default"]}),!t&&c.jsx(LX,{rfId:e})]})}const ep=E.forwardRef(({position:e="top-left",children:t,className:n,style:i,...r},o)=>{const a=`${e}`.split("-");return c.jsx("div",{className:Gn(["react-flow__panel",n,...a]),style:i,ref:o,...r,children:t})});ep.displayName="Panel";function PX({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:c.jsx(ep,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:c.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const BX=e=>{const t=[],n=[];for(const[,i]of e.nodeLookup)i.selected&&t.push(i.internals.userNode);for(const[,i]of e.edgeLookup)i.selected&&n.push(i);return{selectedNodes:t,selectedEdges:n}},bf=e=>e.id;function $X(e,t){return Sn(e.selectedNodes.map(bf),t.selectedNodes.map(bf))&&Sn(e.selectedEdges.map(bf),t.selectedEdges.map(bf))}function HX({onSelectionChange:e}){const t=wn(),{selectedNodes:n,selectedEdges:i}=Ut(BX,$X);return E.useEffect(()=>{const r={nodes:n,edges:i};e?.(r),t.getState().onSelectionChangeHandlers.forEach(o=>o(r))},[n,i,e]),null}const FX=e=>!!e.onSelectionChangeHandlers;function VX({onSelectionChange:e}){const t=Ut(FX);return e||t?c.jsx(HX,{onSelectionChange:e}):null}const S0=typeof window<"u"?E.useLayoutEffect:E.useEffect,nR=[0,0],UX={x:0,y:0,zoom:1},GX=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],l2=[...GX,"rfId"],qX=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),c2={translateExtent:wu,nodeOrigin:nR,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function WX(e){const{setNodes:t,setEdges:n,setMinZoom:i,setMaxZoom:r,setTranslateExtent:o,setNodeExtent:a,reset:u,setDefaultNodesAndEdges:d}=Ut(qX,Sn),m=wn();S0(()=>(d(e.defaultNodes,e.defaultEdges),()=>{h.current=c2,u()}),[]);const h=E.useRef(c2);return S0(()=>{for(const p of l2){const g=e[p],y=h.current[p];g!==y&&(typeof e[p]>"u"||(p==="nodes"?t(g):p==="edges"?n(g):p==="minZoom"?i(g):p==="maxZoom"?r(g):p==="translateExtent"?o(g):p==="nodeExtent"?a(g):p==="ariaLabelConfig"?m.setState({ariaLabelConfig:TY(g)}):p==="fitView"?m.setState({fitViewQueued:g}):p==="fitViewOptions"?m.setState({fitViewOptions:g}):m.setState({[p]:g})))}h.current=e},l2.map(p=>e[p])),null}function u2(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function YX(e){const[t,n]=E.useState(e==="system"?null:e);return E.useEffect(()=>{if(e!=="system"){n(e);return}const i=u2(),r=()=>n(i?.matches?"dark":"light");return r(),i?.addEventListener("change",r),()=>{i?.removeEventListener("change",r)}},[e]),t!==null?t:u2()?.matches?"dark":"light"}const d2=typeof document<"u"?document:null;function Nu(e=null,t={target:d2,actInsideInputWithModifier:!0}){const[n,i]=E.useState(!1),r=E.useRef(!1),o=E.useRef(new Set([])),[a,u]=E.useMemo(()=>{if(e!==null){const m=(Array.isArray(e)?e:[e]).filter(p=>typeof p=="string").map(p=>p.replace("+",` -`).replace(` - -`,` -+`).split(` -`)),h=m.reduce((p,g)=>p.concat(...g),[]);return[m,h]}return[[],[]]},[e]);return E.useEffect(()=>{const d=t?.target??d2,m=t?.actInsideInputWithModifier??!0;if(e!==null){const h=y=>{if(r.current=y.ctrlKey||y.metaKey||y.shiftKey||y.altKey,(!r.current||r.current&&!m)&&OT(y))return!1;const k=m2(y.code,u);if(o.current.add(y[k]),f2(a,o.current,!1)){const S=y.composedPath?.()?.[0]||y.target,_=S?.nodeName==="BUTTON"||S?.nodeName==="A";t.preventDefault!==!1&&(r.current||!_)&&y.preventDefault(),i(!0)}},p=y=>{const v=m2(y.code,u);f2(a,o.current,!0)?(i(!1),o.current.clear()):o.current.delete(y[v]),y.key==="Meta"&&o.current.clear(),r.current=!1},g=()=>{o.current.clear(),i(!1)};return d?.addEventListener("keydown",h),d?.addEventListener("keyup",p),window.addEventListener("blur",g),window.addEventListener("contextmenu",g),()=>{d?.removeEventListener("keydown",h),d?.removeEventListener("keyup",p),window.removeEventListener("blur",g),window.removeEventListener("contextmenu",g)}}},[e,i]),n}function f2(e,t,n){return e.filter(i=>n||i.length===t.size).some(i=>i.every(r=>t.has(r)))}function m2(e,t){return t.includes(e)?"code":"key"}const XX=()=>{const e=wn();return E.useMemo(()=>({zoomIn:t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1.2,t):Promise.resolve(!1)},zoomOut:t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,t):Promise.resolve(!1)},zoomTo:(t,n)=>{const{panZoom:i}=e.getState();return i?i.scaleTo(t,n):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{const{transform:[i,r,o],panZoom:a}=e.getState();return a?(await a.setViewport({x:t.x??i,y:t.y??r,zoom:t.zoom??o},n),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[t,n,i]=e.getState().transform;return{x:t,y:n,zoom:i}},setCenter:async(t,n,i)=>e.getState().setCenter(t,n,i),fitBounds:async(t,n)=>{const{width:i,height:r,minZoom:o,maxZoom:a,panZoom:u}=e.getState(),d=Dv(t,i,r,o,a,n?.padding??.1);return u?(await u.setViewport(d,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(t,n={})=>{const{transform:i,snapGrid:r,snapToGrid:o,domNode:a}=e.getState();if(!a)return t;const{x:u,y:d}=a.getBoundingClientRect(),m={x:t.x-u,y:t.y-d},h=n.snapGrid??r,p=n.snapToGrid??o;return $u(m,i,p,h)},flowToScreenPosition:t=>{const{transform:n,domNode:i}=e.getState();if(!i)return t;const{x:r,y:o}=i.getBoundingClientRect(),a=ym(t,n);return{x:a.x+r,y:a.y+o}}}),[])};function iR(e,t){const n=[],i=new Map,r=[];for(const o of e)if(o.type==="add"){r.push(o);continue}else if(o.type==="remove"||o.type==="replace")i.set(o.id,[o]);else{const a=i.get(o.id);a?a.push(o):i.set(o.id,[o])}for(const o of t){const a=i.get(o.id);if(!a){n.push(o);continue}if(a[0].type==="remove")continue;if(a[0].type==="replace"){n.push({...a[0].item});continue}const u={...o};for(const d of a)KX(d,u);n.push(u)}return r.length&&r.forEach(o=>{o.index!==void 0?n.splice(o.index,0,{...o.item}):n.push({...o.item})}),n}function KX(e,t){switch(e.type){case"select":{t.selected=e.selected;break}case"position":{typeof e.position<"u"&&(t.position=e.position),typeof e.dragging<"u"&&(t.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(t.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(t.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(t.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(t.resizing=e.resizing);break}}}function rR(e,t){return iR(e,t)}function ZX(e,t){return iR(e,t)}function Ho(e,t){return{id:e,type:"select",selected:t}}function nl(e,t=new Set,n=!1){const i=[];for(const[r,o]of e){const a=t.has(r);!(o.selected===void 0&&!a)&&o.selected!==a&&(n&&(o.selected=a),i.push(Ho(o.id,a)))}return i}function p2({items:e=[],lookup:t}){const n=[],i=new Map(e.map(r=>[r.id,r]));for(const[r,o]of e.entries()){const a=t.get(o.id),u=a?.internals?.userNode??a;u!==void 0&&u!==o&&n.push({id:o.id,item:o,type:"replace"}),u===void 0&&n.push({item:o,type:"add",index:r})}for(const[r]of t)i.get(r)===void 0&&n.push({id:r,type:"remove"});return n}function h2(e){return{id:e.id,type:"remove"}}const g2=e=>bY(e),QX=e=>ET(e);function sR(e){return E.forwardRef(e)}function x2(e){const[t,n]=E.useState(BigInt(0)),[i]=E.useState(()=>JX(()=>n(r=>r+BigInt(1))));return S0(()=>{const r=i.get();r.length&&(e(r),i.reset())},[t]),i}function JX(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}const oR=E.createContext(null);function eK({children:e}){const t=wn(),n=E.useCallback(u=>{const{nodes:d=[],setNodes:m,hasDefaultNodes:h,onNodesChange:p,nodeLookup:g,fitViewQueued:y,onNodesChangeMiddlewareMap:v}=t.getState();let k=d;for(const _ of u)k=typeof _=="function"?_(k):_;let S=p2({items:k,lookup:g});for(const _ of v.values())S=_(S);h&&m(k),S.length>0?p?.(S):y&&window.requestAnimationFrame(()=>{const{fitViewQueued:_,nodes:w,setNodes:C}=t.getState();_&&C(w)})},[]),i=x2(n),r=E.useCallback(u=>{const{edges:d=[],setEdges:m,hasDefaultEdges:h,onEdgesChange:p,edgeLookup:g}=t.getState();let y=d;for(const v of u)y=typeof v=="function"?v(y):v;h?m(y):p&&p(p2({items:y,lookup:g}))},[]),o=x2(r),a=E.useMemo(()=>({nodeQueue:i,edgeQueue:o}),[]);return c.jsx(oR.Provider,{value:a,children:e})}function tK(){const e=E.useContext(oR);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const nK=e=>!!e.panZoom;function Hv(){const e=XX(),t=wn(),n=tK(),i=Ut(nK),r=E.useMemo(()=>{const o=p=>t.getState().nodeLookup.get(p),a=p=>{n.nodeQueue.push(p)},u=p=>{n.edgeQueue.push(p)},d=p=>{const{nodeLookup:g,nodeOrigin:y}=t.getState(),v=g2(p)?p:g.get(p.id),k=v.parentId?MT(v.position,v.measured,v.parentId,g,y):v.position,S={...v,position:k,width:v.measured?.width??v.width,height:v.measured?.height??v.height};return Sl(S)},m=(p,g,y={replace:!1})=>{a(v=>v.map(k=>{if(k.id===p){const S=typeof g=="function"?g(k):g;return y.replace&&g2(S)?S:{...k,...S}}return k}))},h=(p,g,y={replace:!1})=>{u(v=>v.map(k=>{if(k.id===p){const S=typeof g=="function"?g(k):g;return y.replace&&QX(S)?S:{...k,...S}}return k}))};return{getNodes:()=>t.getState().nodes.map(p=>({...p})),getNode:p=>o(p)?.internals.userNode,getInternalNode:o,getEdges:()=>{const{edges:p=[]}=t.getState();return p.map(g=>({...g}))},getEdge:p=>t.getState().edgeLookup.get(p),setNodes:a,setEdges:u,addNodes:p=>{const g=Array.isArray(p)?p:[p];n.nodeQueue.push(y=>[...y,...g])},addEdges:p=>{const g=Array.isArray(p)?p:[p];n.edgeQueue.push(y=>[...y,...g])},toObject:()=>{const{nodes:p=[],edges:g=[],transform:y}=t.getState(),[v,k,S]=y;return{nodes:p.map(_=>({..._})),edges:g.map(_=>({..._})),viewport:{x:v,y:k,zoom:S}}},deleteElements:async({nodes:p=[],edges:g=[]})=>{const{nodes:y,edges:v,onNodesDelete:k,onEdgesDelete:S,triggerNodeChanges:_,triggerEdgeChanges:w,onDelete:C,onBeforeDelete:N}=t.getState(),{nodes:O,edges:I}=await CY({nodesToRemove:p,edgesToRemove:g,nodes:y,edges:v,onBeforeDelete:N}),D=I.length>0,T=O.length>0;if(D){const L=I.map(h2);S?.(I),w(L)}if(T){const L=O.map(h2);k?.(O),_(L)}return(T||D)&&C?.({nodes:O,edges:I}),{deletedNodes:O,deletedEdges:I}},getIntersectingNodes:(p,g=!0,y)=>{const v=FC(p),k=v?p:d(p),S=y!==void 0;return k?(y||t.getState().nodes).filter(_=>{const w=t.getState().nodeLookup.get(_.id);if(w&&!v&&(_.id===p.id||!w.internals.positionAbsolute))return!1;const C=Sl(S?_:w),N=ju(C,k);return g&&N>0||N>=C.width*C.height||N>=k.width*k.height}):[]},isNodeIntersecting:(p,g,y=!0)=>{const k=FC(p)?p:d(p);if(!k)return!1;const S=ju(k,g);return y&&S>0||S>=g.width*g.height||S>=k.width*k.height},updateNode:m,updateNodeData:(p,g,y={replace:!1})=>{m(p,v=>{const k=typeof g=="function"?g(v):g;return y.replace?{...v,data:k}:{...v,data:{...v.data,...k}}},y)},updateEdge:h,updateEdgeData:(p,g,y={replace:!1})=>{h(p,v=>{const k=typeof g=="function"?g(v):g;return y.replace?{...v,data:k}:{...v,data:{...v.data,...k}}},y)},getNodesBounds:p=>{const{nodeLookup:g,nodeOrigin:y}=t.getState();return _Y(p,{nodeLookup:g,nodeOrigin:y})},getHandleConnections:({type:p,id:g,nodeId:y})=>Array.from(t.getState().connectionLookup.get(`${y}-${p}${g?`-${g}`:""}`)?.values()??[]),getNodeConnections:({type:p,handleId:g,nodeId:y})=>Array.from(t.getState().connectionLookup.get(`${y}${p?g?`-${p}-${g}`:`-${p}`:""}`)?.values()??[]),fitView:async p=>{const g=t.getState().fitViewResolver??IY();return t.setState({fitViewQueued:!0,fitViewOptions:p,fitViewResolver:g}),n.nodeQueue.push(y=>[...y]),g.promise}}},[]);return E.useMemo(()=>({...r,...e,viewportInitialized:i}),[i])}const y2=e=>e.selected,iK=typeof window<"u"?window:void 0;function rK({deleteKeyCode:e,multiSelectionKeyCode:t}){const n=wn(),{deleteElements:i}=Hv(),r=Nu(e,{actInsideInputWithModifier:!1}),o=Nu(t,{target:iK});E.useEffect(()=>{if(r){const{edges:a,nodes:u}=n.getState();i({nodes:u.filter(y2),edges:a.filter(y2)}),n.setState({nodesSelectionActive:!1})}},[r]),E.useEffect(()=>{n.setState({multiSelectionActive:o})},[o])}function sK(e){const t=wn();E.useEffect(()=>{const n=()=>{if(!e.current||!(e.current.checkVisibility?.()??!0))return!1;const i=Ov(e.current);(i.height===0||i.width===0)&&t.getState().onError?.("004",Jr.error004()),t.setState({width:i.width||500,height:i.height||500})};if(e.current){n(),window.addEventListener("resize",n);const i=new ResizeObserver(()=>n());return i.observe(e.current),()=>{window.removeEventListener("resize",n),i&&e.current&&i.unobserve(e.current)}}},[])}const tp={position:"absolute",width:"100%",height:"100%",top:0,left:0},oK=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function aK({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:i=!1,panOnScrollSpeed:r=.5,panOnScrollMode:o=Go.Free,zoomOnDoubleClick:a=!0,panOnDrag:u=!0,defaultViewport:d,translateExtent:m,minZoom:h,maxZoom:p,zoomActivationKeyCode:g,preventScrolling:y=!0,children:v,noWheelClassName:k,noPanClassName:S,onViewportChange:_,isControlledViewport:w,paneClickDistance:C,selectionOnDrag:N}){const O=wn(),I=E.useRef(null),{userSelectionActive:D,lib:T,connectionInProgress:L}=Ut(oK,Sn),A=Nu(g),M=E.useRef();sK(I);const $=E.useCallback(W=>{_?.({x:W[0],y:W[1],zoom:W[2]}),w||O.setState({transform:W})},[_,w]);return E.useEffect(()=>{if(I.current){M.current=fX({domNode:I.current,minZoom:h,maxZoom:p,translateExtent:m,viewport:d,onDraggingChange:F=>O.setState(V=>V.paneDragging===F?V:{paneDragging:F}),onPanZoomStart:(F,V)=>{const{onViewportChangeStart:Y,onMoveStart:Q}=O.getState();Q?.(F,V),Y?.(V)},onPanZoom:(F,V)=>{const{onViewportChange:Y,onMove:Q}=O.getState();Q?.(F,V),Y?.(V)},onPanZoomEnd:(F,V)=>{const{onViewportChangeEnd:Y,onMoveEnd:Q}=O.getState();Q?.(F,V),Y?.(V)}});const{x:W,y:B,zoom:U}=M.current.getViewport();return O.setState({panZoom:M.current,transform:[W,B,U],domNode:I.current.closest(".react-flow")}),()=>{M.current?.destroy()}}},[]),E.useEffect(()=>{M.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:i,panOnScrollSpeed:r,panOnScrollMode:o,zoomOnDoubleClick:a,panOnDrag:u,zoomActivationKeyPressed:A,preventScrolling:y,noPanClassName:S,userSelectionActive:D,noWheelClassName:k,lib:T,onTransformChange:$,connectionInProgress:L,selectionOnDrag:N,paneClickDistance:C})},[e,t,n,i,r,o,a,u,A,y,S,D,k,T,$,L,N,C]),c.jsx("div",{className:"react-flow__renderer",ref:I,style:tp,children:v})}const lK=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function cK(){const{userSelectionActive:e,userSelectionRect:t}=Ut(lK,Sn);return e&&t?c.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}const Nx=(e,t)=>n=>{n.target===t.current&&e?.(n)},uK=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function dK({isSelecting:e,selectionKeyPressed:t,selectionMode:n=Cu.Full,panOnDrag:i,paneClickDistance:r,selectionOnDrag:o,onSelectionStart:a,onSelectionEnd:u,onPaneClick:d,onPaneContextMenu:m,onPaneScroll:h,onPaneMouseEnter:p,onPaneMouseMove:g,onPaneMouseLeave:y,children:v}){const k=wn(),{userSelectionActive:S,elementsSelectable:_,dragging:w,connectionInProgress:C}=Ut(uK,Sn),N=_&&(e||S),O=E.useRef(null),I=E.useRef(),D=E.useRef(new Set),T=E.useRef(new Set),L=E.useRef(!1),A=Y=>{if(L.current||C){L.current=!1;return}d?.(Y),k.getState().resetSelectedElements(),k.setState({nodesSelectionActive:!1})},M=Y=>{if(Array.isArray(i)&&i?.includes(2)){Y.preventDefault();return}m?.(Y)},$=h?Y=>h(Y):void 0,W=Y=>{L.current&&(Y.stopPropagation(),L.current=!1)},B=Y=>{const{domNode:Q}=k.getState();if(I.current=Q?.getBoundingClientRect(),!I.current)return;const q=Y.target===O.current;if(!q&&!!Y.target.closest(".nokey")||!e||!(o&&q||t)||Y.button!==0||!Y.isPrimary)return;Y.target?.setPointerCapture?.(Y.pointerId),L.current=!1;const{x:P,y:K}=Tr(Y.nativeEvent,I.current);k.setState({userSelectionRect:{width:0,height:0,startX:P,startY:K,x:P,y:K}}),q||(Y.stopPropagation(),Y.preventDefault())},U=Y=>{const{userSelectionRect:Q,transform:q,nodeLookup:G,edgeLookup:J,connectionLookup:P,triggerNodeChanges:K,triggerEdgeChanges:ee,defaultEdgeOptions:te,resetSelectedElements:ie}=k.getState();if(!I.current||!Q)return;const{x:oe,y:fe}=Tr(Y.nativeEvent,I.current),{startX:se,startY:_e}=Q;if(!L.current){const Ye=t?0:r;if(Math.hypot(oe-se,fe-_e)<=Ye)return;ie(),a?.(Y)}L.current=!0;const we={startX:se,startY:_e,x:oeYe.id)),T.current=new Set;const Ve=te?.selectable??!0;for(const Ye of D.current){const ht=P.get(Ye);if(ht)for(const{edgeId:zt}of ht.values()){const bt=J.get(zt);bt&&(bt.selectable??Ve)&&T.current.add(zt)}}if(!VC(Ce,D.current)){const Ye=nl(G,D.current,!0);K(Ye)}if(!VC(Be,T.current)){const Ye=nl(J,T.current);ee(Ye)}k.setState({userSelectionRect:we,userSelectionActive:!0,nodesSelectionActive:!1})},F=Y=>{Y.button===0&&(Y.target?.releasePointerCapture?.(Y.pointerId),!S&&Y.target===O.current&&k.getState().userSelectionRect&&A?.(Y),k.setState({userSelectionActive:!1,userSelectionRect:null}),L.current&&(u?.(Y),k.setState({nodesSelectionActive:D.current.size>0})))},V=i===!0||Array.isArray(i)&&i.includes(0);return c.jsxs("div",{className:Gn(["react-flow__pane",{draggable:V,dragging:w,selection:e}]),onClick:N?void 0:Nx(A,O),onContextMenu:Nx(M,O),onWheel:Nx($,O),onPointerEnter:N?void 0:p,onPointerMove:N?U:g,onPointerUp:N?F:void 0,onPointerDownCapture:N?B:void 0,onClickCapture:N?W:void 0,onPointerLeave:y,ref:O,style:tp,children:[v,c.jsx(cK,{})]})}function w0({id:e,store:t,unselect:n=!1,nodeRef:i}){const{addSelectedNodes:r,unselectNodesAndEdges:o,multiSelectionActive:a,nodeLookup:u,onError:d}=t.getState(),m=u.get(e);if(!m){d?.("012",Jr.error012(e));return}t.setState({nodesSelectionActive:!1}),m.selected?(n||m.selected&&a)&&(o({nodes:[m],edges:[]}),requestAnimationFrame(()=>i?.current?.blur())):r([e])}function aR({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:i,nodeId:r,isSelectable:o,nodeClickDistance:a}){const u=wn(),[d,m]=E.useState(!1),h=E.useRef();return E.useEffect(()=>{h.current=QY({getStoreItems:()=>u.getState(),onNodeMouseDown:p=>{w0({id:p,store:u,nodeRef:e})},onDragStart:()=>{m(!0)},onDragStop:()=>{m(!1)}})},[]),E.useEffect(()=>{if(!(t||!e.current||!h.current))return h.current.update({noDragClassName:n,handleSelector:i,domNode:e.current,isSelectable:o,nodeId:r,nodeClickDistance:a}),()=>{h.current?.destroy()}},[n,i,t,o,e,r,a]),d}const fK=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function lR(){const e=wn();return E.useCallback(n=>{const{nodeExtent:i,snapToGrid:r,snapGrid:o,nodesDraggable:a,onError:u,updateNodePositions:d,nodeLookup:m,nodeOrigin:h}=e.getState(),p=new Map,g=fK(a),y=r?o[0]:5,v=r?o[1]:5,k=n.direction.x*y*n.factor,S=n.direction.y*v*n.factor;for(const[,_]of m){if(!g(_))continue;let w={x:_.internals.positionAbsolute.x+k,y:_.internals.positionAbsolute.y+S};r&&(w=Bu(w,o));const{position:C,positionAbsolute:N}=NT({nodeId:_.id,nextPosition:w,nodeLookup:m,nodeExtent:i,nodeOrigin:h,onError:u});_.position=C,_.internals.positionAbsolute=N,p.set(_.id,_)}d(p)},[])}const Fv=E.createContext(null),mK=Fv.Provider;Fv.Consumer;const cR=()=>E.useContext(Fv),pK=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),hK=(e,t,n)=>i=>{const{connectionClickStartHandle:r,connectionMode:o,connection:a}=i,{fromHandle:u,toHandle:d,isValid:m}=a,h=d?.nodeId===e&&d?.id===t&&d?.type===n;return{connectingFrom:u?.nodeId===e&&u?.id===t&&u?.type===n,connectingTo:h,clickConnecting:r?.nodeId===e&&r?.id===t&&r?.type===n,isPossibleEndHandle:o===_l.Strict?u?.type!==n:e!==u?.nodeId||t!==u?.id,connectionInProcess:!!u,clickConnectionInProcess:!!r,valid:h&&m}};function gK({type:e="source",position:t=st.Top,isValidConnection:n,isConnectable:i=!0,isConnectableStart:r=!0,isConnectableEnd:o=!0,id:a,onConnect:u,children:d,className:m,onMouseDown:h,onTouchStart:p,...g},y){const v=a||null,k=e==="target",S=wn(),_=cR(),{connectOnClick:w,noPanClassName:C,rfId:N}=Ut(pK,Sn),{connectingFrom:O,connectingTo:I,clickConnecting:D,isPossibleEndHandle:T,connectionInProcess:L,clickConnectionInProcess:A,valid:M}=Ut(hK(_,v,e),Sn);_||S.getState().onError?.("010",Jr.error010());const $=U=>{const{defaultEdgeOptions:F,onConnect:V,hasDefaultEdges:Y}=S.getState(),Q={...F,...U};if(Y){const{edges:q,setEdges:G}=S.getState();G(LY(Q,q))}V?.(Q),u?.(Q)},W=U=>{if(!_)return;const F=LT(U.nativeEvent);if(r&&(F&&U.button===0||!F)){const V=S.getState();k0.onPointerDown(U.nativeEvent,{handleDomNode:U.currentTarget,autoPanOnConnect:V.autoPanOnConnect,connectionMode:V.connectionMode,connectionRadius:V.connectionRadius,domNode:V.domNode,nodeLookup:V.nodeLookup,lib:V.lib,isTarget:k,handleId:v,nodeId:_,flowId:V.rfId,panBy:V.panBy,cancelConnection:V.cancelConnection,onConnectStart:V.onConnectStart,onConnectEnd:(...Y)=>S.getState().onConnectEnd?.(...Y),updateConnection:V.updateConnection,onConnect:$,isValidConnection:n||((...Y)=>S.getState().isValidConnection?.(...Y)??!0),getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,autoPanSpeed:V.autoPanSpeed,dragThreshold:V.connectionDragThreshold})}F?h?.(U):p?.(U)},B=U=>{const{onClickConnectStart:F,onClickConnectEnd:V,connectionClickStartHandle:Y,connectionMode:Q,isValidConnection:q,lib:G,rfId:J,nodeLookup:P,connection:K}=S.getState();if(!_||!Y&&!r)return;if(!Y){F?.(U.nativeEvent,{nodeId:_,handleId:v,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:_,type:e,id:v}});return}const ee=DT(U.target),te=n||q,{connection:ie,isValid:oe}=k0.isValid(U.nativeEvent,{handle:{nodeId:_,id:v,type:e},connectionMode:Q,fromNodeId:Y.nodeId,fromHandleId:Y.id||null,fromType:Y.type,isValidConnection:te,flowId:J,doc:ee,lib:G,nodeLookup:P});oe&&ie&&$(ie);const fe=structuredClone(K);delete fe.inProgress,fe.toPosition=fe.toHandle?fe.toHandle.position:null,V?.(U,fe),S.setState({connectionClickStartHandle:null})};return c.jsx("div",{"data-handleid":v,"data-nodeid":_,"data-handlepos":t,"data-id":`${N}-${_}-${v}-${e}`,className:Gn(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",C,m,{source:!k,target:k,connectable:i,connectablestart:r,connectableend:o,clickconnecting:D,connectingfrom:O,connectingto:I,valid:M,connectionindicator:i&&(!L||T)&&(L||A?o:r)}]),onMouseDown:W,onTouchStart:W,onClick:w?B:void 0,ref:y,...g,children:d})}const jl=E.memo(sR(gK));function xK({data:e,isConnectable:t,sourcePosition:n=st.Bottom}){return c.jsxs(c.Fragment,{children:[e?.label,c.jsx(jl,{type:"source",position:n,isConnectable:t})]})}function yK({data:e,isConnectable:t,targetPosition:n=st.Top,sourcePosition:i=st.Bottom}){return c.jsxs(c.Fragment,{children:[c.jsx(jl,{type:"target",position:n,isConnectable:t}),e?.label,c.jsx(jl,{type:"source",position:i,isConnectable:t})]})}function vK(){return null}function bK({data:e,isConnectable:t,targetPosition:n=st.Top}){return c.jsxs(c.Fragment,{children:[c.jsx(jl,{type:"target",position:n,isConnectable:t}),e?.label]})}const vm={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},v2={input:xK,default:yK,output:bK,group:vK};function _K(e){return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??e.style?.width,height:e.height??e.initialHeight??e.style?.height}:{width:e.width??e.style?.width,height:e.height??e.style?.height}}const kK=e=>{const{width:t,height:n,x:i,y:r}=Pu(e.nodeLookup,{filter:o=>!!o.selected});return{width:Ir(t)?t:null,height:Ir(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${i}px,${r}px)`}};function SK({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const i=wn(),{width:r,height:o,transformString:a,userSelectionActive:u}=Ut(kK,Sn),d=lR(),m=E.useRef(null);E.useEffect(()=>{n||m.current?.focus({preventScroll:!0})},[n]);const h=!u&&r!==null&&o!==null;if(aR({nodeRef:m,disabled:!h}),!h)return null;const p=e?y=>{const v=i.getState().nodes.filter(k=>k.selected);e(y,v)}:void 0,g=y=>{Object.prototype.hasOwnProperty.call(vm,y.key)&&(y.preventDefault(),d({direction:vm[y.key],factor:y.shiftKey?4:1}))};return c.jsx("div",{className:Gn(["react-flow__nodesselection","react-flow__container",t]),style:{transform:a},children:c.jsx("div",{ref:m,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:n?void 0:-1,onKeyDown:n?void 0:g,style:{width:r,height:o}})})}const b2=typeof window<"u"?window:void 0,wK=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function uR({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:i,onPaneMouseLeave:r,onPaneContextMenu:o,onPaneScroll:a,paneClickDistance:u,deleteKeyCode:d,selectionKeyCode:m,selectionOnDrag:h,selectionMode:p,onSelectionStart:g,onSelectionEnd:y,multiSelectionKeyCode:v,panActivationKeyCode:k,zoomActivationKeyCode:S,elementsSelectable:_,zoomOnScroll:w,zoomOnPinch:C,panOnScroll:N,panOnScrollSpeed:O,panOnScrollMode:I,zoomOnDoubleClick:D,panOnDrag:T,defaultViewport:L,translateExtent:A,minZoom:M,maxZoom:$,preventScrolling:W,onSelectionContextMenu:B,noWheelClassName:U,noPanClassName:F,disableKeyboardA11y:V,onViewportChange:Y,isControlledViewport:Q}){const{nodesSelectionActive:q,userSelectionActive:G}=Ut(wK,Sn),J=Nu(m,{target:b2}),P=Nu(k,{target:b2}),K=P||T,ee=P||N,te=h&&K!==!0,ie=J||G||te;return rK({deleteKeyCode:d,multiSelectionKeyCode:v}),c.jsx(aK,{onPaneContextMenu:o,elementsSelectable:_,zoomOnScroll:w,zoomOnPinch:C,panOnScroll:ee,panOnScrollSpeed:O,panOnScrollMode:I,zoomOnDoubleClick:D,panOnDrag:!J&&K,defaultViewport:L,translateExtent:A,minZoom:M,maxZoom:$,zoomActivationKeyCode:S,preventScrolling:W,noWheelClassName:U,noPanClassName:F,onViewportChange:Y,isControlledViewport:Q,paneClickDistance:u,selectionOnDrag:te,children:c.jsxs(dK,{onSelectionStart:g,onSelectionEnd:y,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:i,onPaneMouseLeave:r,onPaneContextMenu:o,onPaneScroll:a,panOnDrag:K,isSelecting:!!ie,selectionMode:p,selectionKeyPressed:J,paneClickDistance:u,selectionOnDrag:te,children:[e,q&&c.jsx(SK,{onSelectionContextMenu:B,noPanClassName:F,disableKeyboardA11y:V})]})})}uR.displayName="FlowRenderer";const CK=E.memo(uR),jK=e=>t=>e?Mv(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(n=>n.id):Array.from(t.nodeLookup.keys());function EK(e){return Ut(E.useCallback(jK(e),[e]),Sn)}const NK=e=>e.updateNodeInternals;function IK(){const e=Ut(NK),[t]=E.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(n=>{const i=new Map;n.forEach(r=>{const o=r.target.getAttribute("data-id");i.set(o,{id:o,nodeElement:r.target,force:!0})}),e(i)}));return E.useEffect(()=>()=>{t?.disconnect()},[t]),t}function TK({node:e,nodeType:t,hasDimensions:n,resizeObserver:i}){const r=wn(),o=E.useRef(null),a=E.useRef(null),u=E.useRef(e.sourcePosition),d=E.useRef(e.targetPosition),m=E.useRef(t),h=n&&!!e.internals.handleBounds;return E.useEffect(()=>{o.current&&!e.hidden&&(!h||a.current!==o.current)&&(a.current&&i?.unobserve(a.current),i?.observe(o.current),a.current=o.current)},[h,e.hidden]),E.useEffect(()=>()=>{a.current&&(i?.unobserve(a.current),a.current=null)},[]),E.useEffect(()=>{if(o.current){const p=m.current!==t,g=u.current!==e.sourcePosition,y=d.current!==e.targetPosition;(p||g||y)&&(m.current=t,u.current=e.sourcePosition,d.current=e.targetPosition,r.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:o.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),o}function RK({id:e,onClick:t,onMouseEnter:n,onMouseMove:i,onMouseLeave:r,onContextMenu:o,onDoubleClick:a,nodesDraggable:u,elementsSelectable:d,nodesConnectable:m,nodesFocusable:h,resizeObserver:p,noDragClassName:g,noPanClassName:y,disableKeyboardA11y:v,rfId:k,nodeTypes:S,nodeClickDistance:_,onError:w}){const{node:C,internals:N,isParent:O}=Ut(oe=>{const fe=oe.nodeLookup.get(e),se=oe.parentLookup.has(e);return{node:fe,internals:fe.internals,isParent:se}},Sn);let I=C.type||"default",D=S?.[I]||v2[I];D===void 0&&(w?.("003",Jr.error003(I)),I="default",D=S?.default||v2.default);const T=!!(C.draggable||u&&typeof C.draggable>"u"),L=!!(C.selectable||d&&typeof C.selectable>"u"),A=!!(C.connectable||m&&typeof C.connectable>"u"),M=!!(C.focusable||h&&typeof C.focusable>"u"),$=wn(),W=AT(C),B=TK({node:C,nodeType:I,hasDimensions:W,resizeObserver:p}),U=aR({nodeRef:B,disabled:C.hidden||!T,noDragClassName:g,handleSelector:C.dragHandle,nodeId:e,isSelectable:L,nodeClickDistance:_}),F=lR();if(C.hidden)return null;const V=Ts(C),Y=_K(C),Q=L||T||t||n||i||r,q=n?oe=>n(oe,{...N.userNode}):void 0,G=i?oe=>i(oe,{...N.userNode}):void 0,J=r?oe=>r(oe,{...N.userNode}):void 0,P=o?oe=>o(oe,{...N.userNode}):void 0,K=a?oe=>a(oe,{...N.userNode}):void 0,ee=oe=>{const{selectNodesOnDrag:fe,nodeDragThreshold:se}=$.getState();L&&(!fe||!T||se>0)&&w0({id:e,store:$,nodeRef:B}),t&&t(oe,{...N.userNode})},te=oe=>{if(!(OT(oe.nativeEvent)||v)){if(ST.includes(oe.key)&&L){const fe=oe.key==="Escape";w0({id:e,store:$,unselect:fe,nodeRef:B})}else if(T&&C.selected&&Object.prototype.hasOwnProperty.call(vm,oe.key)){oe.preventDefault();const{ariaLabelConfig:fe}=$.getState();$.setState({ariaLiveMessage:fe["node.a11yDescription.ariaLiveMessage"]({direction:oe.key.replace("Arrow","").toLowerCase(),x:~~N.positionAbsolute.x,y:~~N.positionAbsolute.y})}),F({direction:vm[oe.key],factor:oe.shiftKey?4:1})}}},ie=()=>{if(v||!B.current?.matches(":focus-visible"))return;const{transform:oe,width:fe,height:se,autoPanOnNodeFocus:_e,setCenter:we}=$.getState();if(!_e)return;Mv(new Map([[e,C]]),{x:0,y:0,width:fe,height:se},oe,!0).length>0||we(C.position.x+V.width/2,C.position.y+V.height/2,{zoom:oe[2]})};return c.jsx("div",{className:Gn(["react-flow__node",`react-flow__node-${I}`,{[y]:T},C.className,{selected:C.selected,selectable:L,parent:O,draggable:T,dragging:U}]),ref:B,style:{zIndex:N.z,transform:`translate(${N.positionAbsolute.x}px,${N.positionAbsolute.y}px)`,pointerEvents:Q?"all":"none",visibility:W?"visible":"hidden",...C.style,...Y},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:q,onMouseMove:G,onMouseLeave:J,onContextMenu:P,onClick:ee,onDoubleClick:K,onKeyDown:M?te:void 0,tabIndex:M?0:void 0,onFocus:M?ie:void 0,role:C.ariaRole??(M?"group":void 0),"aria-roledescription":"node","aria-describedby":v?void 0:`${eR}-${k}`,"aria-label":C.ariaLabel,...C.domAttributes,children:c.jsx(mK,{value:e,children:c.jsx(D,{id:e,data:C.data,type:I,positionAbsoluteX:N.positionAbsolute.x,positionAbsoluteY:N.positionAbsolute.y,selected:C.selected??!1,selectable:L,draggable:T,deletable:C.deletable??!0,isConnectable:A,sourcePosition:C.sourcePosition,targetPosition:C.targetPosition,dragging:U,dragHandle:C.dragHandle,zIndex:N.z,parentId:C.parentId,...V})})})}var AK=E.memo(RK);const MK=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function dR(e){const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:i,elementsSelectable:r,onError:o}=Ut(MK,Sn),a=EK(e.onlyRenderVisibleElements),u=IK();return c.jsx("div",{className:"react-flow__nodes",style:tp,children:a.map(d=>c.jsx(AK,{id:d,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:u,nodesDraggable:t,nodesConnectable:n,nodesFocusable:i,elementsSelectable:r,nodeClickDistance:e.nodeClickDistance,onError:o},d))})}dR.displayName="NodeRenderer";const DK=E.memo(dR);function OK(e){return Ut(E.useCallback(n=>{if(!e)return n.edges.map(r=>r.id);const i=[];if(n.width&&n.height)for(const r of n.edges){const o=n.nodeLookup.get(r.source),a=n.nodeLookup.get(r.target);o&&a&&MY({sourceNode:o,targetNode:a,width:n.width,height:n.height,transform:n.transform})&&i.push(r.id)}return i},[e]),Sn)}const LK=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e}};return c.jsx("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},zK=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e,fill:e}};return c.jsx("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},_2={[gm.Arrow]:LK,[gm.ArrowClosed]:zK};function PK(e){const t=wn();return E.useMemo(()=>Object.prototype.hasOwnProperty.call(_2,e)?_2[e]:(t.getState().onError?.("009",Jr.error009(e)),null),[e])}const BK=({id:e,type:t,color:n,width:i=12.5,height:r=12.5,markerUnits:o="strokeWidth",strokeWidth:a,orient:u="auto-start-reverse"})=>{const d=PK(t);return d?c.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${i}`,markerHeight:`${r}`,viewBox:"-10 -10 20 20",markerUnits:o,orient:u,refX:"0",refY:"0",children:c.jsx(d,{color:n,strokeWidth:a})}):null},fR=({defaultColor:e,rfId:t})=>{const n=Ut(o=>o.edges),i=Ut(o=>o.defaultEdgeOptions),r=E.useMemo(()=>HY(n,{id:t,defaultColor:e,defaultMarkerStart:i?.markerStart,defaultMarkerEnd:i?.markerEnd}),[n,i,t,e]);return r.length?c.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:c.jsx("defs",{children:r.map(o=>c.jsx(BK,{id:o.id,type:o.type,color:o.color,width:o.width,height:o.height,markerUnits:o.markerUnits,strokeWidth:o.strokeWidth,orient:o.orient},o.id))})}):null};fR.displayName="MarkerDefinitions";var $K=E.memo(fR);function mR({x:e,y:t,label:n,labelStyle:i,labelShowBg:r=!0,labelBgStyle:o,labelBgPadding:a=[2,4],labelBgBorderRadius:u=2,children:d,className:m,...h}){const[p,g]=E.useState({x:1,y:0,width:0,height:0}),y=Gn(["react-flow__edge-textwrapper",m]),v=E.useRef(null);return E.useEffect(()=>{if(v.current){const k=v.current.getBBox();g({x:k.x,y:k.y,width:k.width,height:k.height})}},[n]),n?c.jsxs("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:y,visibility:p.width?"visible":"hidden",...h,children:[r&&c.jsx("rect",{width:p.width+2*a[0],x:-a[0],y:-a[1],height:p.height+2*a[1],className:"react-flow__edge-textbg",style:o,rx:u,ry:u}),c.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:v,style:i,children:n}),d]}):null}mR.displayName="EdgeText";const HK=E.memo(mR);function np({path:e,labelX:t,labelY:n,label:i,labelStyle:r,labelShowBg:o,labelBgStyle:a,labelBgPadding:u,labelBgBorderRadius:d,interactionWidth:m=20,...h}){return c.jsxs(c.Fragment,{children:[c.jsx("path",{...h,d:e,fill:"none",className:Gn(["react-flow__edge-path",h.className])}),m?c.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:m,className:"react-flow__edge-interaction"}):null,i&&Ir(t)&&Ir(n)?c.jsx(HK,{x:t,y:n,label:i,labelStyle:r,labelShowBg:o,labelBgStyle:a,labelBgPadding:u,labelBgBorderRadius:d}):null]})}function k2({pos:e,x1:t,y1:n,x2:i,y2:r}){return e===st.Left||e===st.Right?[.5*(t+i),n]:[t,.5*(n+r)]}function pR({sourceX:e,sourceY:t,sourcePosition:n=st.Bottom,targetX:i,targetY:r,targetPosition:o=st.Top}){const[a,u]=k2({pos:n,x1:e,y1:t,x2:i,y2:r}),[d,m]=k2({pos:o,x1:i,y1:r,x2:e,y2:t}),[h,p,g,y]=zT({sourceX:e,sourceY:t,targetX:i,targetY:r,sourceControlX:a,sourceControlY:u,targetControlX:d,targetControlY:m});return[`M${e},${t} C${a},${u} ${d},${m} ${i},${r}`,h,p,g,y]}function hR(e){return E.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:o,sourcePosition:a,targetPosition:u,label:d,labelStyle:m,labelShowBg:h,labelBgStyle:p,labelBgPadding:g,labelBgBorderRadius:y,style:v,markerEnd:k,markerStart:S,interactionWidth:_})=>{const[w,C,N]=pR({sourceX:n,sourceY:i,sourcePosition:a,targetX:r,targetY:o,targetPosition:u}),O=e.isInternal?void 0:t;return c.jsx(np,{id:O,path:w,labelX:C,labelY:N,label:d,labelStyle:m,labelShowBg:h,labelBgStyle:p,labelBgPadding:g,labelBgBorderRadius:y,style:v,markerEnd:k,markerStart:S,interactionWidth:_})})}const FK=hR({isInternal:!1}),gR=hR({isInternal:!0});FK.displayName="SimpleBezierEdge";gR.displayName="SimpleBezierEdgeInternal";function xR(e){return E.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:o,label:a,labelStyle:u,labelShowBg:d,labelBgStyle:m,labelBgPadding:h,labelBgBorderRadius:p,style:g,sourcePosition:y=st.Bottom,targetPosition:v=st.Top,markerEnd:k,markerStart:S,pathOptions:_,interactionWidth:w})=>{const[C,N,O]=v0({sourceX:n,sourceY:i,sourcePosition:y,targetX:r,targetY:o,targetPosition:v,borderRadius:_?.borderRadius,offset:_?.offset,stepPosition:_?.stepPosition}),I=e.isInternal?void 0:t;return c.jsx(np,{id:I,path:C,labelX:N,labelY:O,label:a,labelStyle:u,labelShowBg:d,labelBgStyle:m,labelBgPadding:h,labelBgBorderRadius:p,style:g,markerEnd:k,markerStart:S,interactionWidth:w})})}const yR=xR({isInternal:!1}),vR=xR({isInternal:!0});yR.displayName="SmoothStepEdge";vR.displayName="SmoothStepEdgeInternal";function bR(e){return E.memo(({id:t,...n})=>{const i=e.isInternal?void 0:t;return c.jsx(yR,{...n,id:i,pathOptions:E.useMemo(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}const VK=bR({isInternal:!1}),_R=bR({isInternal:!0});VK.displayName="StepEdge";_R.displayName="StepEdgeInternal";function kR(e){return E.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:o,label:a,labelStyle:u,labelShowBg:d,labelBgStyle:m,labelBgPadding:h,labelBgBorderRadius:p,style:g,markerEnd:y,markerStart:v,interactionWidth:k})=>{const[S,_,w]=$T({sourceX:n,sourceY:i,targetX:r,targetY:o}),C=e.isInternal?void 0:t;return c.jsx(np,{id:C,path:S,labelX:_,labelY:w,label:a,labelStyle:u,labelShowBg:d,labelBgStyle:m,labelBgPadding:h,labelBgBorderRadius:p,style:g,markerEnd:y,markerStart:v,interactionWidth:k})})}const UK=kR({isInternal:!1}),SR=kR({isInternal:!0});UK.displayName="StraightEdge";SR.displayName="StraightEdgeInternal";function wR(e){return E.memo(({id:t,sourceX:n,sourceY:i,targetX:r,targetY:o,sourcePosition:a=st.Bottom,targetPosition:u=st.Top,label:d,labelStyle:m,labelShowBg:h,labelBgStyle:p,labelBgPadding:g,labelBgBorderRadius:y,style:v,markerEnd:k,markerStart:S,pathOptions:_,interactionWidth:w})=>{const[C,N,O]=PT({sourceX:n,sourceY:i,sourcePosition:a,targetX:r,targetY:o,targetPosition:u,curvature:_?.curvature}),I=e.isInternal?void 0:t;return c.jsx(np,{id:I,path:C,labelX:N,labelY:O,label:d,labelStyle:m,labelShowBg:h,labelBgStyle:p,labelBgPadding:g,labelBgBorderRadius:y,style:v,markerEnd:k,markerStart:S,interactionWidth:w})})}const GK=wR({isInternal:!1}),CR=wR({isInternal:!0});GK.displayName="BezierEdge";CR.displayName="BezierEdgeInternal";const S2={default:CR,straight:SR,step:_R,smoothstep:vR,simplebezier:gR},w2={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},qK=(e,t,n)=>n===st.Left?e-t:n===st.Right?e+t:e,WK=(e,t,n)=>n===st.Top?e-t:n===st.Bottom?e+t:e,C2="react-flow__edgeupdater";function j2({position:e,centerX:t,centerY:n,radius:i=10,onMouseDown:r,onMouseEnter:o,onMouseOut:a,type:u}){return c.jsx("circle",{onMouseDown:r,onMouseEnter:o,onMouseOut:a,className:Gn([C2,`${C2}-${u}`]),cx:qK(t,i,e),cy:WK(n,i,e),r:i,stroke:"transparent",fill:"transparent"})}function YK({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:i,sourceY:r,targetX:o,targetY:a,sourcePosition:u,targetPosition:d,onReconnect:m,onReconnectStart:h,onReconnectEnd:p,setReconnecting:g,setUpdateHover:y}){const v=wn(),k=(N,O)=>{if(N.button!==0)return;const{autoPanOnConnect:I,domNode:D,connectionMode:T,connectionRadius:L,lib:A,onConnectStart:M,cancelConnection:$,nodeLookup:W,rfId:B,panBy:U,updateConnection:F}=v.getState(),V=O.type==="target",Y=(G,J)=>{g(!1),p?.(G,n,O.type,J)},Q=G=>m?.(n,G),q=(G,J)=>{g(!0),h?.(N,n,O.type),M?.(G,J)};k0.onPointerDown(N.nativeEvent,{autoPanOnConnect:I,connectionMode:T,connectionRadius:L,domNode:D,handleId:O.id,nodeId:O.nodeId,nodeLookup:W,isTarget:V,edgeUpdaterType:O.type,lib:A,flowId:B,cancelConnection:$,panBy:U,isValidConnection:(...G)=>v.getState().isValidConnection?.(...G)??!0,onConnect:Q,onConnectStart:q,onConnectEnd:(...G)=>v.getState().onConnectEnd?.(...G),onReconnectEnd:Y,updateConnection:F,getTransform:()=>v.getState().transform,getFromHandle:()=>v.getState().connection.fromHandle,dragThreshold:v.getState().connectionDragThreshold,handleDomNode:N.currentTarget})},S=N=>k(N,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),_=N=>k(N,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),w=()=>y(!0),C=()=>y(!1);return c.jsxs(c.Fragment,{children:[(e===!0||e==="source")&&c.jsx(j2,{position:u,centerX:i,centerY:r,radius:t,onMouseDown:S,onMouseEnter:w,onMouseOut:C,type:"source"}),(e===!0||e==="target")&&c.jsx(j2,{position:d,centerX:o,centerY:a,radius:t,onMouseDown:_,onMouseEnter:w,onMouseOut:C,type:"target"})]})}function XK({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:i,onClick:r,onDoubleClick:o,onContextMenu:a,onMouseEnter:u,onMouseMove:d,onMouseLeave:m,reconnectRadius:h,onReconnect:p,onReconnectStart:g,onReconnectEnd:y,rfId:v,edgeTypes:k,noPanClassName:S,onError:_,disableKeyboardA11y:w}){let C=Ut(we=>we.edgeLookup.get(e));const N=Ut(we=>we.defaultEdgeOptions);C=N?{...N,...C}:C;let O=C.type||"default",I=k?.[O]||S2[O];I===void 0&&(_?.("011",Jr.error011(O)),O="default",I=k?.default||S2.default);const D=!!(C.focusable||t&&typeof C.focusable>"u"),T=typeof p<"u"&&(C.reconnectable||n&&typeof C.reconnectable>"u"),L=!!(C.selectable||i&&typeof C.selectable>"u"),A=E.useRef(null),[M,$]=E.useState(!1),[W,B]=E.useState(!1),U=wn(),{zIndex:F,sourceX:V,sourceY:Y,targetX:Q,targetY:q,sourcePosition:G,targetPosition:J}=Ut(E.useCallback(we=>{const Ce=we.nodeLookup.get(C.source),Be=we.nodeLookup.get(C.target);if(!Ce||!Be)return{zIndex:C.zIndex,...w2};const Ve=$Y({id:e,sourceNode:Ce,targetNode:Be,sourceHandle:C.sourceHandle||null,targetHandle:C.targetHandle||null,connectionMode:we.connectionMode,onError:_});return{zIndex:AY({selected:C.selected,zIndex:C.zIndex,sourceNode:Ce,targetNode:Be,elevateOnSelect:we.elevateEdgesOnSelect,zIndexMode:we.zIndexMode}),...Ve||w2}},[C.source,C.target,C.sourceHandle,C.targetHandle,C.selected,C.zIndex]),Sn),P=E.useMemo(()=>C.markerStart?`url('#${b0(C.markerStart,v)}')`:void 0,[C.markerStart,v]),K=E.useMemo(()=>C.markerEnd?`url('#${b0(C.markerEnd,v)}')`:void 0,[C.markerEnd,v]);if(C.hidden||V===null||Y===null||Q===null||q===null)return null;const ee=we=>{const{addSelectedEdges:Ce,unselectNodesAndEdges:Be,multiSelectionActive:Ve}=U.getState();L&&(U.setState({nodesSelectionActive:!1}),C.selected&&Ve?(Be({nodes:[],edges:[C]}),A.current?.blur()):Ce([e])),r&&r(we,C)},te=o?we=>{o(we,{...C})}:void 0,ie=a?we=>{a(we,{...C})}:void 0,oe=u?we=>{u(we,{...C})}:void 0,fe=d?we=>{d(we,{...C})}:void 0,se=m?we=>{m(we,{...C})}:void 0,_e=we=>{if(!w&&ST.includes(we.key)&&L){const{unselectNodesAndEdges:Ce,addSelectedEdges:Be}=U.getState();we.key==="Escape"?(A.current?.blur(),Ce({edges:[C]})):Be([e])}};return c.jsx("svg",{style:{zIndex:F},children:c.jsxs("g",{className:Gn(["react-flow__edge",`react-flow__edge-${O}`,C.className,S,{selected:C.selected,animated:C.animated,inactive:!L&&!r,updating:M,selectable:L}]),onClick:ee,onDoubleClick:te,onContextMenu:ie,onMouseEnter:oe,onMouseMove:fe,onMouseLeave:se,onKeyDown:D?_e:void 0,tabIndex:D?0:void 0,role:C.ariaRole??(D?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":C.ariaLabel===null?void 0:C.ariaLabel||`Edge from ${C.source} to ${C.target}`,"aria-describedby":D?`${tR}-${v}`:void 0,ref:A,...C.domAttributes,children:[!W&&c.jsx(I,{id:e,source:C.source,target:C.target,type:C.type,selected:C.selected,animated:C.animated,selectable:L,deletable:C.deletable??!0,label:C.label,labelStyle:C.labelStyle,labelShowBg:C.labelShowBg,labelBgStyle:C.labelBgStyle,labelBgPadding:C.labelBgPadding,labelBgBorderRadius:C.labelBgBorderRadius,sourceX:V,sourceY:Y,targetX:Q,targetY:q,sourcePosition:G,targetPosition:J,data:C.data,style:C.style,sourceHandleId:C.sourceHandle,targetHandleId:C.targetHandle,markerStart:P,markerEnd:K,pathOptions:"pathOptions"in C?C.pathOptions:void 0,interactionWidth:C.interactionWidth}),T&&c.jsx(YK,{edge:C,isReconnectable:T,reconnectRadius:h,onReconnect:p,onReconnectStart:g,onReconnectEnd:y,sourceX:V,sourceY:Y,targetX:Q,targetY:q,sourcePosition:G,targetPosition:J,setUpdateHover:$,setReconnecting:B})]})})}var KK=E.memo(XK);const ZK=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function jR({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:i,noPanClassName:r,onReconnect:o,onEdgeContextMenu:a,onEdgeMouseEnter:u,onEdgeMouseMove:d,onEdgeMouseLeave:m,onEdgeClick:h,reconnectRadius:p,onEdgeDoubleClick:g,onReconnectStart:y,onReconnectEnd:v,disableKeyboardA11y:k}){const{edgesFocusable:S,edgesReconnectable:_,elementsSelectable:w,onError:C}=Ut(ZK,Sn),N=OK(t);return c.jsxs("div",{className:"react-flow__edges",children:[c.jsx($K,{defaultColor:e,rfId:n}),N.map(O=>c.jsx(KK,{id:O,edgesFocusable:S,edgesReconnectable:_,elementsSelectable:w,noPanClassName:r,onReconnect:o,onContextMenu:a,onMouseEnter:u,onMouseMove:d,onMouseLeave:m,onClick:h,reconnectRadius:p,onDoubleClick:g,onReconnectStart:y,onReconnectEnd:v,rfId:n,onError:C,edgeTypes:i,disableKeyboardA11y:k},O))]})}jR.displayName="EdgeRenderer";const QK=E.memo(jR),JK=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function eZ({children:e}){const t=Ut(JK);return c.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}function tZ(e){const t=Hv(),n=E.useRef(!1);E.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const nZ=e=>e.panZoom?.syncViewport;function iZ(e){const t=Ut(nZ),n=wn();return E.useEffect(()=>{e&&(t?.(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function rZ(e){return e.connection.inProgress?{...e.connection,to:$u(e.connection.to,e.transform)}:{...e.connection}}function sZ(e){return rZ}function oZ(e){const t=sZ();return Ut(t,Sn)}const aZ=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function lZ({containerStyle:e,style:t,type:n,component:i}){const{nodesConnectable:r,width:o,height:a,isValid:u,inProgress:d}=Ut(aZ,Sn);return!(o&&r&&d)?null:c.jsx("svg",{style:e,width:o,height:a,className:"react-flow__connectionline react-flow__container",children:c.jsx("g",{className:Gn(["react-flow__connection",jT(u)]),children:c.jsx(ER,{style:t,type:n,CustomComponent:i,isValid:u})})})}const ER=({style:e,type:t=lo.Bezier,CustomComponent:n,isValid:i})=>{const{inProgress:r,from:o,fromNode:a,fromHandle:u,fromPosition:d,to:m,toNode:h,toHandle:p,toPosition:g,pointer:y}=oZ();if(!r)return;if(n)return c.jsx(n,{connectionLineType:t,connectionLineStyle:e,fromNode:a,fromHandle:u,fromX:o.x,fromY:o.y,toX:m.x,toY:m.y,fromPosition:d,toPosition:g,connectionStatus:jT(i),toNode:h,toHandle:p,pointer:y});let v="";const k={sourceX:o.x,sourceY:o.y,sourcePosition:d,targetX:m.x,targetY:m.y,targetPosition:g};switch(t){case lo.Bezier:[v]=PT(k);break;case lo.SimpleBezier:[v]=pR(k);break;case lo.Step:[v]=v0({...k,borderRadius:0});break;case lo.SmoothStep:[v]=v0(k);break;default:[v]=$T(k)}return c.jsx("path",{d:v,fill:"none",className:"react-flow__connection-path",style:e})};ER.displayName="ConnectionLine";const cZ={};function E2(e=cZ){E.useRef(e),wn(),E.useEffect(()=>{},[e])}function uZ(){wn(),E.useRef(!1),E.useEffect(()=>{},[])}function NR({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:i,onEdgeClick:r,onNodeDoubleClick:o,onEdgeDoubleClick:a,onNodeMouseEnter:u,onNodeMouseMove:d,onNodeMouseLeave:m,onNodeContextMenu:h,onSelectionContextMenu:p,onSelectionStart:g,onSelectionEnd:y,connectionLineType:v,connectionLineStyle:k,connectionLineComponent:S,connectionLineContainerStyle:_,selectionKeyCode:w,selectionOnDrag:C,selectionMode:N,multiSelectionKeyCode:O,panActivationKeyCode:I,zoomActivationKeyCode:D,deleteKeyCode:T,onlyRenderVisibleElements:L,elementsSelectable:A,defaultViewport:M,translateExtent:$,minZoom:W,maxZoom:B,preventScrolling:U,defaultMarkerColor:F,zoomOnScroll:V,zoomOnPinch:Y,panOnScroll:Q,panOnScrollSpeed:q,panOnScrollMode:G,zoomOnDoubleClick:J,panOnDrag:P,onPaneClick:K,onPaneMouseEnter:ee,onPaneMouseMove:te,onPaneMouseLeave:ie,onPaneScroll:oe,onPaneContextMenu:fe,paneClickDistance:se,nodeClickDistance:_e,onEdgeContextMenu:we,onEdgeMouseEnter:Ce,onEdgeMouseMove:Be,onEdgeMouseLeave:Ve,reconnectRadius:Ye,onReconnect:ht,onReconnectStart:zt,onReconnectEnd:bt,noDragClassName:Nt,noWheelClassName:me,noPanClassName:ze,disableKeyboardA11y:lt,nodeExtent:tt,rfId:qe,viewport:ce,onViewportChange:ve}){return E2(e),E2(t),uZ(),tZ(n),iZ(ce),c.jsx(CK,{onPaneClick:K,onPaneMouseEnter:ee,onPaneMouseMove:te,onPaneMouseLeave:ie,onPaneContextMenu:fe,onPaneScroll:oe,paneClickDistance:se,deleteKeyCode:T,selectionKeyCode:w,selectionOnDrag:C,selectionMode:N,onSelectionStart:g,onSelectionEnd:y,multiSelectionKeyCode:O,panActivationKeyCode:I,zoomActivationKeyCode:D,elementsSelectable:A,zoomOnScroll:V,zoomOnPinch:Y,zoomOnDoubleClick:J,panOnScroll:Q,panOnScrollSpeed:q,panOnScrollMode:G,panOnDrag:P,defaultViewport:M,translateExtent:$,minZoom:W,maxZoom:B,onSelectionContextMenu:p,preventScrolling:U,noDragClassName:Nt,noWheelClassName:me,noPanClassName:ze,disableKeyboardA11y:lt,onViewportChange:ve,isControlledViewport:!!ce,children:c.jsxs(eZ,{children:[c.jsx(QK,{edgeTypes:t,onEdgeClick:r,onEdgeDoubleClick:a,onReconnect:ht,onReconnectStart:zt,onReconnectEnd:bt,onlyRenderVisibleElements:L,onEdgeContextMenu:we,onEdgeMouseEnter:Ce,onEdgeMouseMove:Be,onEdgeMouseLeave:Ve,reconnectRadius:Ye,defaultMarkerColor:F,noPanClassName:ze,disableKeyboardA11y:lt,rfId:qe}),c.jsx(lZ,{style:k,type:v,component:S,containerStyle:_}),c.jsx("div",{className:"react-flow__edgelabel-renderer"}),c.jsx(DK,{nodeTypes:e,onNodeClick:i,onNodeDoubleClick:o,onNodeMouseEnter:u,onNodeMouseMove:d,onNodeMouseLeave:m,onNodeContextMenu:h,nodeClickDistance:_e,onlyRenderVisibleElements:L,noPanClassName:ze,noDragClassName:Nt,disableKeyboardA11y:lt,nodeExtent:tt,rfId:qe}),c.jsx("div",{className:"react-flow__viewport-portal"})]})})}NR.displayName="GraphView";const dZ=E.memo(NR),N2=({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:r,height:o,fitView:a,fitViewOptions:u,minZoom:d=.5,maxZoom:m=2,nodeOrigin:h,nodeExtent:p,zIndexMode:g="basic"}={})=>{const y=new Map,v=new Map,k=new Map,S=new Map,_=i??t??[],w=n??e??[],C=h??[0,0],N=p??wu;VT(k,S,_);const{nodesInitialized:O}=_0(w,y,v,{nodeOrigin:C,nodeExtent:N,zIndexMode:g});let I=[0,0,1];if(a&&r&&o){const D=Pu(y,{filter:M=>!!((M.width||M.initialWidth)&&(M.height||M.initialHeight))}),{x:T,y:L,zoom:A}=Dv(D,r,o,d,m,u?.padding??.1);I=[T,L,A]}return{rfId:"1",width:r??0,height:o??0,transform:I,nodes:w,nodesInitialized:O,nodeLookup:y,parentLookup:v,edges:_,edgeLookup:S,connectionLookup:k,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:i!==void 0,panZoom:null,minZoom:d,maxZoom:m,translateExtent:wu,nodeExtent:N,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:_l.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:C,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:a??!1,fitViewOptions:u,fitViewResolver:null,connection:{...CT},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:jY,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:wT,zIndexMode:g,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},fZ=({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:r,height:o,fitView:a,fitViewOptions:u,minZoom:d,maxZoom:m,nodeOrigin:h,nodeExtent:p,zIndexMode:g})=>TX((y,v)=>{async function k(){const{nodeLookup:S,panZoom:_,fitViewOptions:w,fitViewResolver:C,width:N,height:O,minZoom:I,maxZoom:D}=v();_&&(await wY({nodes:S,width:N,height:O,panZoom:_,minZoom:I,maxZoom:D},w),C?.resolve(!0),y({fitViewResolver:null}))}return{...N2({nodes:e,edges:t,width:r,height:o,fitView:a,fitViewOptions:u,minZoom:d,maxZoom:m,nodeOrigin:h,nodeExtent:p,defaultNodes:n,defaultEdges:i,zIndexMode:g}),setNodes:S=>{const{nodeLookup:_,parentLookup:w,nodeOrigin:C,elevateNodesOnSelect:N,fitViewQueued:O,zIndexMode:I,nodesSelectionActive:D}=v(),{nodesInitialized:T,hasSelectedNodes:L}=_0(S,_,w,{nodeOrigin:C,nodeExtent:p,elevateNodesOnSelect:N,checkEquality:!0,zIndexMode:I}),A=D&&L;O&&T?(k(),y({nodes:S,nodesInitialized:T,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:A})):y({nodes:S,nodesInitialized:T,nodesSelectionActive:A})},setEdges:S=>{const{connectionLookup:_,edgeLookup:w}=v();VT(_,w,S),y({edges:S})},setDefaultNodesAndEdges:(S,_)=>{if(S){const{setNodes:w}=v();w(S),y({hasDefaultNodes:!0})}if(_){const{setEdges:w}=v();w(_),y({hasDefaultEdges:!0})}},updateNodeInternals:S=>{const{triggerNodeChanges:_,nodeLookup:w,parentLookup:C,domNode:N,nodeOrigin:O,nodeExtent:I,debug:D,fitViewQueued:T,zIndexMode:L}=v(),{changes:A,updatedInternals:M}=YY(S,w,C,N,O,I,L);M&&(UY(w,C,{nodeOrigin:O,nodeExtent:I,zIndexMode:L}),T?(k(),y({fitViewQueued:!1,fitViewOptions:void 0})):y({}),A?.length>0&&(D&&console.log("React Flow: trigger node changes",A),_?.(A)))},updateNodePositions:(S,_=!1)=>{const w=[];let C=[];const{nodeLookup:N,triggerNodeChanges:O,connection:I,updateConnection:D,onNodesChangeMiddlewareMap:T}=v();for(const[L,A]of S){const M=N.get(L),$=!!(M?.expandParent&&M?.parentId&&A?.position),W={id:L,type:"position",position:$?{x:Math.max(0,A.position.x),y:Math.max(0,A.position.y)}:A.position,dragging:_};if(M&&I.inProgress&&I.fromNode.id===M.id){const B=ea(M,I.fromHandle,st.Left,!0);D({...I,from:B})}$&&M.parentId&&w.push({id:L,parentId:M.parentId,rect:{...A.internals.positionAbsolute,width:A.measured.width??0,height:A.measured.height??0}}),C.push(W)}if(w.length>0){const{parentLookup:L,nodeOrigin:A}=v(),M=$v(w,N,L,A);C.push(...M)}for(const L of T.values())C=L(C);O(C)},triggerNodeChanges:S=>{const{onNodesChange:_,setNodes:w,nodes:C,hasDefaultNodes:N,debug:O}=v();if(S?.length){if(N){const I=rR(S,C);w(I)}O&&console.log("React Flow: trigger node changes",S),_?.(S)}},triggerEdgeChanges:S=>{const{onEdgesChange:_,setEdges:w,edges:C,hasDefaultEdges:N,debug:O}=v();if(S?.length){if(N){const I=ZX(S,C);w(I)}O&&console.log("React Flow: trigger edge changes",S),_?.(S)}},addSelectedNodes:S=>{const{multiSelectionActive:_,edgeLookup:w,nodeLookup:C,triggerNodeChanges:N,triggerEdgeChanges:O}=v();if(_){const I=S.map(D=>Ho(D,!0));N(I);return}N(nl(C,new Set([...S]),!0)),O(nl(w))},addSelectedEdges:S=>{const{multiSelectionActive:_,edgeLookup:w,nodeLookup:C,triggerNodeChanges:N,triggerEdgeChanges:O}=v();if(_){const I=S.map(D=>Ho(D,!0));O(I);return}O(nl(w,new Set([...S]))),N(nl(C,new Set,!0))},unselectNodesAndEdges:({nodes:S,edges:_}={})=>{const{edges:w,nodes:C,nodeLookup:N,triggerNodeChanges:O,triggerEdgeChanges:I}=v(),D=S||C,T=_||w,L=[];for(const M of D){if(!M.selected)continue;const $=N.get(M.id);$&&($.selected=!1),L.push(Ho(M.id,!1))}const A=[];for(const M of T)M.selected&&A.push(Ho(M.id,!1));O(L),I(A)},setMinZoom:S=>{const{panZoom:_,maxZoom:w}=v();_?.setScaleExtent([S,w]),y({minZoom:S})},setMaxZoom:S=>{const{panZoom:_,minZoom:w}=v();_?.setScaleExtent([w,S]),y({maxZoom:S})},setTranslateExtent:S=>{v().panZoom?.setTranslateExtent(S),y({translateExtent:S})},resetSelectedElements:()=>{const{edges:S,nodes:_,triggerNodeChanges:w,triggerEdgeChanges:C,elementsSelectable:N}=v();if(!N)return;const O=_.reduce((D,T)=>T.selected?[...D,Ho(T.id,!1)]:D,[]),I=S.reduce((D,T)=>T.selected?[...D,Ho(T.id,!1)]:D,[]);w(O),C(I)},setNodeExtent:S=>{const{nodes:_,nodeLookup:w,parentLookup:C,nodeOrigin:N,elevateNodesOnSelect:O,nodeExtent:I,zIndexMode:D}=v();S[0][0]===I[0][0]&&S[0][1]===I[0][1]&&S[1][0]===I[1][0]&&S[1][1]===I[1][1]||(_0(_,w,C,{nodeOrigin:N,nodeExtent:S,elevateNodesOnSelect:O,checkEquality:!1,zIndexMode:D}),y({nodeExtent:S}))},panBy:S=>{const{transform:_,width:w,height:C,panZoom:N,translateExtent:O}=v();return XY({delta:S,panZoom:N,transform:_,translateExtent:O,width:w,height:C})},setCenter:async(S,_,w)=>{const{width:C,height:N,maxZoom:O,panZoom:I}=v();if(!I)return Promise.resolve(!1);const D=typeof w?.zoom<"u"?w.zoom:O;return await I.setViewport({x:C/2-S*D,y:N/2-_*D,zoom:D},{duration:w?.duration,ease:w?.ease,interpolate:w?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{y({connection:{...CT}})},updateConnection:S=>{y({connection:S})},reset:()=>y({...N2()})}},Object.is);function IR({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:i,initialWidth:r,initialHeight:o,initialMinZoom:a,initialMaxZoom:u,initialFitViewOptions:d,fitView:m,nodeOrigin:h,nodeExtent:p,zIndexMode:g,children:y}){const[v]=E.useState(()=>fZ({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,width:r,height:o,fitView:m,minZoom:a,maxZoom:u,fitViewOptions:d,nodeOrigin:h,nodeExtent:p,zIndexMode:g}));return c.jsx(RX,{value:v,children:c.jsx(eK,{children:y})})}function mZ({children:e,nodes:t,edges:n,defaultNodes:i,defaultEdges:r,width:o,height:a,fitView:u,fitViewOptions:d,minZoom:m,maxZoom:h,nodeOrigin:p,nodeExtent:g,zIndexMode:y}){return E.useContext(Jm)?c.jsx(c.Fragment,{children:e}):c.jsx(IR,{initialNodes:t,initialEdges:n,defaultNodes:i,defaultEdges:r,initialWidth:o,initialHeight:a,fitView:u,initialFitViewOptions:d,initialMinZoom:m,initialMaxZoom:h,nodeOrigin:p,nodeExtent:g,zIndexMode:y,children:e})}const pZ={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function hZ({nodes:e,edges:t,defaultNodes:n,defaultEdges:i,className:r,nodeTypes:o,edgeTypes:a,onNodeClick:u,onEdgeClick:d,onInit:m,onMove:h,onMoveStart:p,onMoveEnd:g,onConnect:y,onConnectStart:v,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:_,onNodeMouseEnter:w,onNodeMouseMove:C,onNodeMouseLeave:N,onNodeContextMenu:O,onNodeDoubleClick:I,onNodeDragStart:D,onNodeDrag:T,onNodeDragStop:L,onNodesDelete:A,onEdgesDelete:M,onDelete:$,onSelectionChange:W,onSelectionDragStart:B,onSelectionDrag:U,onSelectionDragStop:F,onSelectionContextMenu:V,onSelectionStart:Y,onSelectionEnd:Q,onBeforeDelete:q,connectionMode:G,connectionLineType:J=lo.Bezier,connectionLineStyle:P,connectionLineComponent:K,connectionLineContainerStyle:ee,deleteKeyCode:te="Backspace",selectionKeyCode:ie="Shift",selectionOnDrag:oe=!1,selectionMode:fe=Cu.Full,panActivationKeyCode:se="Space",multiSelectionKeyCode:_e=Eu()?"Meta":"Control",zoomActivationKeyCode:we=Eu()?"Meta":"Control",snapToGrid:Ce,snapGrid:Be,onlyRenderVisibleElements:Ve=!1,selectNodesOnDrag:Ye,nodesDraggable:ht,autoPanOnNodeFocus:zt,nodesConnectable:bt,nodesFocusable:Nt,nodeOrigin:me=nR,edgesFocusable:ze,edgesReconnectable:lt,elementsSelectable:tt=!0,defaultViewport:qe=UX,minZoom:ce=.5,maxZoom:ve=2,translateExtent:Ae=wu,preventScrolling:$e=!0,nodeExtent:He,defaultMarkerColor:Kt="#b1b1b7",zoomOnScroll:Yt=!0,zoomOnPinch:be=!0,panOnScroll:Re=!1,panOnScrollSpeed:Ue=.5,panOnScrollMode:Xe=Go.Free,zoomOnDoubleClick:Ge=!0,panOnDrag:Je=!0,onPaneClick:qn,onPaneMouseEnter:In,onPaneMouseMove:Dn,onPaneMouseLeave:Ie,onPaneScroll:Te,onPaneContextMenu:Ke,paneClickDistance:We=1,nodeClickDistance:gt=0,children:Oe,onReconnect:nt,onReconnectStart:on,onReconnectEnd:Zt,onEdgeContextMenu:_t,onEdgeDoubleClick:Qt,onEdgeMouseEnter:Cn,onEdgeMouseMove:dt,onEdgeMouseLeave:jn,reconnectRadius:Jt=10,onNodesChange:En,onEdgesChange:hn,noDragClassName:jt="nodrag",noWheelClassName:yt="nowheel",noPanClassName:gn="nopan",fitView:ri,fitViewOptions:Me,connectOnClick:$t,attributionPosition:Wn,proOptions:_i,defaultEdgeOptions:On,elevateNodesOnSelect:vt=!0,elevateEdgesOnSelect:Ni=!1,disableKeyboardA11y:Ii=!1,autoPanOnConnect:Yn,autoPanOnNodeDrag:dn,autoPanSpeed:Hi,connectionRadius:Or,isValidConnection:Et,onError:Ti,style:ki,id:Xn,nodeDragThreshold:at,connectionDragThreshold:an,viewport:tn,onViewportChange:It,width:pi,height:de,colorMode:Se="light",debug:Fe,onScroll:ft,ariaLabelConfig:Gt,zIndexMode:Nn="basic",...hi},bn){const Ln=Xn||"1",Si=YX(Se),fn=E.useCallback(Ri=>{Ri.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),ft?.(Ri)},[ft]);return c.jsx("div",{"data-testid":"rf__wrapper",...hi,onScroll:fn,style:{...ki,...pZ},ref:bn,className:Gn(["react-flow",r,Si]),id:Xn,role:"application",children:c.jsxs(mZ,{nodes:e,edges:t,width:pi,height:de,fitView:ri,fitViewOptions:Me,minZoom:ce,maxZoom:ve,nodeOrigin:me,nodeExtent:He,zIndexMode:Nn,children:[c.jsx(WX,{nodes:e,edges:t,defaultNodes:n,defaultEdges:i,onConnect:y,onConnectStart:v,onConnectEnd:k,onClickConnectStart:S,onClickConnectEnd:_,nodesDraggable:ht,autoPanOnNodeFocus:zt,nodesConnectable:bt,nodesFocusable:Nt,edgesFocusable:ze,edgesReconnectable:lt,elementsSelectable:tt,elevateNodesOnSelect:vt,elevateEdgesOnSelect:Ni,minZoom:ce,maxZoom:ve,nodeExtent:He,onNodesChange:En,onEdgesChange:hn,snapToGrid:Ce,snapGrid:Be,connectionMode:G,translateExtent:Ae,connectOnClick:$t,defaultEdgeOptions:On,fitView:ri,fitViewOptions:Me,onNodesDelete:A,onEdgesDelete:M,onDelete:$,onNodeDragStart:D,onNodeDrag:T,onNodeDragStop:L,onSelectionDrag:U,onSelectionDragStart:B,onSelectionDragStop:F,onMove:h,onMoveStart:p,onMoveEnd:g,noPanClassName:gn,nodeOrigin:me,rfId:Ln,autoPanOnConnect:Yn,autoPanOnNodeDrag:dn,autoPanSpeed:Hi,onError:Ti,connectionRadius:Or,isValidConnection:Et,selectNodesOnDrag:Ye,nodeDragThreshold:at,connectionDragThreshold:an,onBeforeDelete:q,debug:Fe,ariaLabelConfig:Gt,zIndexMode:Nn}),c.jsx(dZ,{onInit:m,onNodeClick:u,onEdgeClick:d,onNodeMouseEnter:w,onNodeMouseMove:C,onNodeMouseLeave:N,onNodeContextMenu:O,onNodeDoubleClick:I,nodeTypes:o,edgeTypes:a,connectionLineType:J,connectionLineStyle:P,connectionLineComponent:K,connectionLineContainerStyle:ee,selectionKeyCode:ie,selectionOnDrag:oe,selectionMode:fe,deleteKeyCode:te,multiSelectionKeyCode:_e,panActivationKeyCode:se,zoomActivationKeyCode:we,onlyRenderVisibleElements:Ve,defaultViewport:qe,translateExtent:Ae,minZoom:ce,maxZoom:ve,preventScrolling:$e,zoomOnScroll:Yt,zoomOnPinch:be,zoomOnDoubleClick:Ge,panOnScroll:Re,panOnScrollSpeed:Ue,panOnScrollMode:Xe,panOnDrag:Je,onPaneClick:qn,onPaneMouseEnter:In,onPaneMouseMove:Dn,onPaneMouseLeave:Ie,onPaneScroll:Te,onPaneContextMenu:Ke,paneClickDistance:We,nodeClickDistance:gt,onSelectionContextMenu:V,onSelectionStart:Y,onSelectionEnd:Q,onReconnect:nt,onReconnectStart:on,onReconnectEnd:Zt,onEdgeContextMenu:_t,onEdgeDoubleClick:Qt,onEdgeMouseEnter:Cn,onEdgeMouseMove:dt,onEdgeMouseLeave:jn,reconnectRadius:Jt,defaultMarkerColor:Kt,noDragClassName:jt,noWheelClassName:yt,noPanClassName:gn,rfId:Ln,disableKeyboardA11y:Ii,nodeExtent:He,viewport:tn,onViewportChange:It}),c.jsx(VX,{onSelectionChange:W}),Oe,c.jsx(PX,{proOptions:_i,position:Wn}),c.jsx(zX,{rfId:Ln,disableKeyboardA11y:Ii})]})})}var gZ=sR(hZ);function xZ({dimensions:e,lineWidth:t,variant:n,className:i}){return c.jsx("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Gn(["react-flow__background-pattern",n,i])})}function yZ({radius:e,className:t}){return c.jsx("circle",{cx:e,cy:e,r:e,className:Gn(["react-flow__background-pattern","dots",t])})}var mo;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(mo||(mo={}));const vZ={[mo.Dots]:1,[mo.Lines]:1,[mo.Cross]:6},bZ=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function TR({id:e,variant:t=mo.Dots,gap:n=20,size:i,lineWidth:r=1,offset:o=0,color:a,bgColor:u,style:d,className:m,patternClassName:h}){const p=E.useRef(null),{transform:g,patternId:y}=Ut(bZ,Sn),v=i||vZ[t],k=t===mo.Dots,S=t===mo.Cross,_=Array.isArray(n)?n:[n,n],w=[_[0]*g[2]||1,_[1]*g[2]||1],C=v*g[2],N=Array.isArray(o)?o:[o,o],O=S?[C,C]:w,I=[N[0]*g[2]||1+O[0]/2,N[1]*g[2]||1+O[1]/2],D=`${y}${e||""}`;return c.jsxs("svg",{className:Gn(["react-flow__background",m]),style:{...d,...tp,"--xy-background-color-props":u,"--xy-background-pattern-color-props":a},ref:p,"data-testid":"rf__background",children:[c.jsx("pattern",{id:D,x:g[0]%w[0],y:g[1]%w[1],width:w[0],height:w[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${I[0]},-${I[1]})`,children:k?c.jsx(yZ,{radius:C/2,className:h}):c.jsx(xZ,{dimensions:O,lineWidth:r,variant:t,className:h})}),c.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${D})`})]})}TR.displayName="Background";const _Z=E.memo(TR);function kZ(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:c.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function SZ(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:c.jsx("path",{d:"M0 0h32v4.2H0z"})})}function wZ(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:c.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function CZ(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:c.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function jZ(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:c.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function _f({children:e,className:t,...n}){return c.jsx("button",{type:"button",className:Gn(["react-flow__controls-button",t]),...n,children:e})}const EZ=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function RR({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:i=!0,fitViewOptions:r,onZoomIn:o,onZoomOut:a,onFitView:u,onInteractiveChange:d,className:m,children:h,position:p="bottom-left",orientation:g="vertical","aria-label":y}){const v=wn(),{isInteractive:k,minZoomReached:S,maxZoomReached:_,ariaLabelConfig:w}=Ut(EZ,Sn),{zoomIn:C,zoomOut:N,fitView:O}=Hv(),I=()=>{C(),o?.()},D=()=>{N(),a?.()},T=()=>{O(r),u?.()},L=()=>{v.setState({nodesDraggable:!k,nodesConnectable:!k,elementsSelectable:!k}),d?.(!k)},A=g==="horizontal"?"horizontal":"vertical";return c.jsxs(ep,{className:Gn(["react-flow__controls",A,m]),position:p,style:e,"data-testid":"rf__controls","aria-label":y??w["controls.ariaLabel"],children:[t&&c.jsxs(c.Fragment,{children:[c.jsx(_f,{onClick:I,className:"react-flow__controls-zoomin",title:w["controls.zoomIn.ariaLabel"],"aria-label":w["controls.zoomIn.ariaLabel"],disabled:_,children:c.jsx(kZ,{})}),c.jsx(_f,{onClick:D,className:"react-flow__controls-zoomout",title:w["controls.zoomOut.ariaLabel"],"aria-label":w["controls.zoomOut.ariaLabel"],disabled:S,children:c.jsx(SZ,{})})]}),n&&c.jsx(_f,{className:"react-flow__controls-fitview",onClick:T,title:w["controls.fitView.ariaLabel"],"aria-label":w["controls.fitView.ariaLabel"],children:c.jsx(wZ,{})}),i&&c.jsx(_f,{className:"react-flow__controls-interactive",onClick:L,title:w["controls.interactive.ariaLabel"],"aria-label":w["controls.interactive.ariaLabel"],children:k?c.jsx(jZ,{}):c.jsx(CZ,{})}),h]})}RR.displayName="Controls";const NZ=E.memo(RR);function IZ({id:e,x:t,y:n,width:i,height:r,style:o,color:a,strokeColor:u,strokeWidth:d,className:m,borderRadius:h,shapeRendering:p,selected:g,onClick:y}){const{background:v,backgroundColor:k}=o||{},S=a||v||k;return c.jsx("rect",{className:Gn(["react-flow__minimap-node",{selected:g},m]),x:t,y:n,rx:h,ry:h,width:i,height:r,style:{fill:S,stroke:u,strokeWidth:d},shapeRendering:p,onClick:y?_=>y(_,e):void 0})}const TZ=E.memo(IZ),RZ=e=>e.nodes.map(t=>t.id),Ix=e=>e instanceof Function?e:()=>e;function AZ({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:i=5,nodeStrokeWidth:r,nodeComponent:o=TZ,onClick:a}){const u=Ut(RZ,Sn),d=Ix(t),m=Ix(e),h=Ix(n),p=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return c.jsx(c.Fragment,{children:u.map(g=>c.jsx(DZ,{id:g,nodeColorFunc:d,nodeStrokeColorFunc:m,nodeClassNameFunc:h,nodeBorderRadius:i,nodeStrokeWidth:r,NodeComponent:o,onClick:a,shapeRendering:p},g))})}function MZ({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:i,nodeBorderRadius:r,nodeStrokeWidth:o,shapeRendering:a,NodeComponent:u,onClick:d}){const{node:m,x:h,y:p,width:g,height:y}=Ut(v=>{const k=v.nodeLookup.get(e);if(!k)return{node:void 0,x:0,y:0,width:0,height:0};const S=k.internals.userNode,{x:_,y:w}=k.internals.positionAbsolute,{width:C,height:N}=Ts(S);return{node:S,x:_,y:w,width:C,height:N}},Sn);return!m||m.hidden||!AT(m)?null:c.jsx(u,{x:h,y:p,width:g,height:y,style:m.style,selected:!!m.selected,className:i(m),color:t(m),borderRadius:r,strokeColor:n(m),strokeWidth:o,shapeRendering:a,onClick:d,id:m.id})}const DZ=E.memo(MZ);var OZ=E.memo(AZ);const LZ=200,zZ=150,PZ=e=>!e.hidden,BZ=e=>{const t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:t,boundingRect:e.nodeLookup.size>0?RT(Pu(e.nodeLookup,{filter:PZ}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},$Z="react-flow__minimap-desc";function AR({style:e,className:t,nodeStrokeColor:n,nodeColor:i,nodeClassName:r="",nodeBorderRadius:o=5,nodeStrokeWidth:a,nodeComponent:u,bgColor:d,maskColor:m,maskStrokeColor:h,maskStrokeWidth:p,position:g="bottom-right",onClick:y,onNodeClick:v,pannable:k=!1,zoomable:S=!1,ariaLabel:_,inversePan:w,zoomStep:C=1,offsetScale:N=5}){const O=wn(),I=E.useRef(null),{boundingRect:D,viewBB:T,rfId:L,panZoom:A,translateExtent:M,flowWidth:$,flowHeight:W,ariaLabelConfig:B}=Ut(BZ,Sn),U=e?.width??LZ,F=e?.height??zZ,V=D.width/U,Y=D.height/F,Q=Math.max(V,Y),q=Q*U,G=Q*F,J=N*Q,P=D.x-(q-D.width)/2-J,K=D.y-(G-D.height)/2-J,ee=q+J*2,te=G+J*2,ie=`${$Z}-${L}`,oe=E.useRef(0),fe=E.useRef();oe.current=Q,E.useEffect(()=>{if(I.current&&A)return fe.current=rX({domNode:I.current,panZoom:A,getTransform:()=>O.getState().transform,getViewScale:()=>oe.current}),()=>{fe.current?.destroy()}},[A]),E.useEffect(()=>{fe.current?.update({translateExtent:M,width:$,height:W,inversePan:w,pannable:k,zoomStep:C,zoomable:S})},[k,S,w,C,M,$,W]);const se=y?Ce=>{const[Be,Ve]=fe.current?.pointer(Ce)||[0,0];y(Ce,{x:Be,y:Ve})}:void 0,_e=v?E.useCallback((Ce,Be)=>{const Ve=O.getState().nodeLookup.get(Be).internals.userNode;v(Ce,Ve)},[]):void 0,we=_??B["minimap.ariaLabel"];return c.jsx(ep,{position:g,style:{...e,"--xy-minimap-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-background-color-props":typeof m=="string"?m:void 0,"--xy-minimap-mask-stroke-color-props":typeof h=="string"?h:void 0,"--xy-minimap-mask-stroke-width-props":typeof p=="number"?p*Q:void 0,"--xy-minimap-node-background-color-props":typeof i=="string"?i:void 0,"--xy-minimap-node-stroke-color-props":typeof n=="string"?n:void 0,"--xy-minimap-node-stroke-width-props":typeof a=="number"?a:void 0},className:Gn(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:c.jsxs("svg",{width:U,height:F,viewBox:`${P} ${K} ${ee} ${te}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ie,ref:I,onClick:se,children:[we&&c.jsx("title",{id:ie,children:we}),c.jsx(OZ,{onClick:_e,nodeColor:i,nodeStrokeColor:n,nodeBorderRadius:o,nodeClassName:r,nodeStrokeWidth:a,nodeComponent:u}),c.jsx("path",{className:"react-flow__minimap-mask",d:`M${P-J},${K-J}h${ee+J*2}v${te+J*2}h${-ee-J*2}z - M${T.x},${T.y}h${T.width}v${T.height}h${-T.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}AR.displayName="MiniMap";const HZ=E.memo(AR),FZ=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,VZ={[Cl.Line]:"right",[Cl.Handle]:"bottom-right"};function UZ({nodeId:e,position:t,variant:n=Cl.Handle,className:i,style:r=void 0,children:o,color:a,minWidth:u=10,minHeight:d=10,maxWidth:m=Number.MAX_VALUE,maxHeight:h=Number.MAX_VALUE,keepAspectRatio:p=!1,resizeDirection:g,autoScale:y=!0,shouldResize:v,onResizeStart:k,onResize:S,onResizeEnd:_}){const w=cR(),C=typeof e=="string"?e:w,N=wn(),O=E.useRef(null),I=n===Cl.Handle,D=Ut(E.useCallback(FZ(I&&y),[I,y]),Sn),T=E.useRef(null),L=t??VZ[n];E.useEffect(()=>{if(!(!O.current||!C))return T.current||(T.current=yX({domNode:O.current,nodeId:C,getStoreItems:()=>{const{nodeLookup:M,transform:$,snapGrid:W,snapToGrid:B,nodeOrigin:U,domNode:F}=N.getState();return{nodeLookup:M,transform:$,snapGrid:W,snapToGrid:B,nodeOrigin:U,paneDomNode:F}},onChange:(M,$)=>{const{triggerNodeChanges:W,nodeLookup:B,parentLookup:U,nodeOrigin:F}=N.getState(),V=[],Y={x:M.x,y:M.y},Q=B.get(C);if(Q&&Q.expandParent&&Q.parentId){const q=Q.origin??F,G=M.width??Q.measured.width??0,J=M.height??Q.measured.height??0,P={id:Q.id,parentId:Q.parentId,rect:{width:G,height:J,...MT({x:M.x??Q.position.x,y:M.y??Q.position.y},{width:G,height:J},Q.parentId,B,q)}},K=$v([P],B,U,F);V.push(...K),Y.x=M.x?Math.max(q[0]*G,M.x):void 0,Y.y=M.y?Math.max(q[1]*J,M.y):void 0}if(Y.x!==void 0&&Y.y!==void 0){const q={id:C,type:"position",position:{...Y}};V.push(q)}if(M.width!==void 0&&M.height!==void 0){const G={id:C,type:"dimensions",resizing:!0,setAttributes:g?g==="horizontal"?"width":"height":!0,dimensions:{width:M.width,height:M.height}};V.push(G)}for(const q of $){const G={...q,type:"position"};V.push(G)}W(V)},onEnd:({width:M,height:$})=>{const W={id:C,type:"dimensions",resizing:!1,dimensions:{width:M,height:$}};N.getState().triggerNodeChanges([W])}})),T.current.update({controlPosition:L,boundaries:{minWidth:u,minHeight:d,maxWidth:m,maxHeight:h},keepAspectRatio:p,resizeDirection:g,onResizeStart:k,onResize:S,onResizeEnd:_,shouldResize:v}),()=>{T.current?.destroy()}},[L,u,d,m,h,p,k,S,_,v]);const A=L.split("-");return c.jsx("div",{className:Gn(["react-flow__resize-control","nodrag",...A,n,i]),ref:O,style:{...r,scale:D,...a&&{[I?"backgroundColor":"borderColor"]:a}},children:o})}E.memo(UZ);const GZ=E.memo(function({data:t}){const n=["oc-canvas-node",t.isOwner&&"is-owner",t.isSelected&&"is-selected",t.isDropTarget&&"is-drop-target"].filter(Boolean).join(" "),i=Du(t.icon);return c.jsxs("div",{className:n,children:[c.jsx(jl,{type:"target",position:st.Top,className:"oc-canvas-handle"}),c.jsxs("div",{className:"oc-canvas-node-row",children:[c.jsx("div",{className:"oc-canvas-node-chip",children:c.jsx("span",{className:"oc-canvas-node-chip-icon",style:{WebkitMaskImage:`url("${i}")`,maskImage:`url("${i}")`},"aria-hidden":!0})}),c.jsxs("div",{className:"oc-canvas-node-text",children:[c.jsx("span",{className:"oc-canvas-node-name",children:t.name}),c.jsxs("div",{className:"oc-canvas-node-meta",children:[t.employeeNames.length>0?c.jsxs("span",{className:"oc-canvas-node-person",title:t.employeeNames.join(", "),children:[t.employeeNames[0],t.employeeNames.length>1?` +${t.employeeNames.length-1}`:""]}):c.jsx("span",{className:"oc-canvas-node-id",children:t.roleId}),t.employeeCount>0&&c.jsx("span",{className:"oc-canvas-node-badge",children:t.employeeCount})]})]})]}),c.jsx(jl,{type:"source",position:st.Bottom,className:"oc-canvas-handle"})]})});var Tx,I2;function Vv(){if(I2)return Tx;I2=1;var e="\0",t="\0",n="";class i{_isDirected=!0;_isMultigraph=!1;_isCompound=!1;_label;_defaultNodeLabelFn=()=>{};_defaultEdgeLabelFn=()=>{};_nodes={};_in={};_preds={};_out={};_sucs={};_edgeObjs={};_edgeLabels={};_nodeCount=0;_edgeCount=0;_parent;_children;constructor(h){h&&(this._isDirected=Object.hasOwn(h,"directed")?h.directed:!0,this._isMultigraph=Object.hasOwn(h,"multigraph")?h.multigraph:!1,this._isCompound=Object.hasOwn(h,"compound")?h.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[t]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(h){return this._label=h,this}graph(){return this._label}setDefaultNodeLabel(h){return this._defaultNodeLabelFn=h,typeof h!="function"&&(this._defaultNodeLabelFn=()=>h),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var h=this;return this.nodes().filter(p=>Object.keys(h._in[p]).length===0)}sinks(){var h=this;return this.nodes().filter(p=>Object.keys(h._out[p]).length===0)}setNodes(h,p){var g=arguments,y=this;return h.forEach(function(v){g.length>1?y.setNode(v,p):y.setNode(v)}),this}setNode(h,p){return Object.hasOwn(this._nodes,h)?(arguments.length>1&&(this._nodes[h]=p),this):(this._nodes[h]=arguments.length>1?p:this._defaultNodeLabelFn(h),this._isCompound&&(this._parent[h]=t,this._children[h]={},this._children[t][h]=!0),this._in[h]={},this._preds[h]={},this._out[h]={},this._sucs[h]={},++this._nodeCount,this)}node(h){return this._nodes[h]}hasNode(h){return Object.hasOwn(this._nodes,h)}removeNode(h){var p=this;if(Object.hasOwn(this._nodes,h)){var g=y=>p.removeEdge(p._edgeObjs[y]);delete this._nodes[h],this._isCompound&&(this._removeFromParentsChildList(h),delete this._parent[h],this.children(h).forEach(function(y){p.setParent(y)}),delete this._children[h]),Object.keys(this._in[h]).forEach(g),delete this._in[h],delete this._preds[h],Object.keys(this._out[h]).forEach(g),delete this._out[h],delete this._sucs[h],--this._nodeCount}return this}setParent(h,p){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(p===void 0)p=t;else{p+="";for(var g=p;g!==void 0;g=this.parent(g))if(g===h)throw new Error("Setting "+p+" as parent of "+h+" would create a cycle");this.setNode(p)}return this.setNode(h),this._removeFromParentsChildList(h),this._parent[h]=p,this._children[p][h]=!0,this}_removeFromParentsChildList(h){delete this._children[this._parent[h]][h]}parent(h){if(this._isCompound){var p=this._parent[h];if(p!==t)return p}}children(h=t){if(this._isCompound){var p=this._children[h];if(p)return Object.keys(p)}else{if(h===t)return this.nodes();if(this.hasNode(h))return[]}}predecessors(h){var p=this._preds[h];if(p)return Object.keys(p)}successors(h){var p=this._sucs[h];if(p)return Object.keys(p)}neighbors(h){var p=this.predecessors(h);if(p){const y=new Set(p);for(var g of this.successors(h))y.add(g);return Array.from(y.values())}}isLeaf(h){var p;return this.isDirected()?p=this.successors(h):p=this.neighbors(h),p.length===0}filterNodes(h){var p=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});p.setGraph(this.graph());var g=this;Object.entries(this._nodes).forEach(function([k,S]){h(k)&&p.setNode(k,S)}),Object.values(this._edgeObjs).forEach(function(k){p.hasNode(k.v)&&p.hasNode(k.w)&&p.setEdge(k,g.edge(k))});var y={};function v(k){var S=g.parent(k);return S===void 0||p.hasNode(S)?(y[k]=S,S):S in y?y[S]:v(S)}return this._isCompound&&p.nodes().forEach(k=>p.setParent(k,v(k))),p}setDefaultEdgeLabel(h){return this._defaultEdgeLabelFn=h,typeof h!="function"&&(this._defaultEdgeLabelFn=()=>h),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(h,p){var g=this,y=arguments;return h.reduce(function(v,k){return y.length>1?g.setEdge(v,k,p):g.setEdge(v,k),k}),this}setEdge(){var h,p,g,y,v=!1,k=arguments[0];typeof k=="object"&&k!==null&&"v"in k?(h=k.v,p=k.w,g=k.name,arguments.length===2&&(y=arguments[1],v=!0)):(h=k,p=arguments[1],g=arguments[3],arguments.length>2&&(y=arguments[2],v=!0)),h=""+h,p=""+p,g!==void 0&&(g=""+g);var S=a(this._isDirected,h,p,g);if(Object.hasOwn(this._edgeLabels,S))return v&&(this._edgeLabels[S]=y),this;if(g!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(h),this.setNode(p),this._edgeLabels[S]=v?y:this._defaultEdgeLabelFn(h,p,g);var _=u(this._isDirected,h,p,g);return h=_.v,p=_.w,Object.freeze(_),this._edgeObjs[S]=_,r(this._preds[p],h),r(this._sucs[h],p),this._in[p][S]=_,this._out[h][S]=_,this._edgeCount++,this}edge(h,p,g){var y=arguments.length===1?d(this._isDirected,arguments[0]):a(this._isDirected,h,p,g);return this._edgeLabels[y]}edgeAsObj(){const h=this.edge(...arguments);return typeof h!="object"?{label:h}:h}hasEdge(h,p,g){var y=arguments.length===1?d(this._isDirected,arguments[0]):a(this._isDirected,h,p,g);return Object.hasOwn(this._edgeLabels,y)}removeEdge(h,p,g){var y=arguments.length===1?d(this._isDirected,arguments[0]):a(this._isDirected,h,p,g),v=this._edgeObjs[y];return v&&(h=v.v,p=v.w,delete this._edgeLabels[y],delete this._edgeObjs[y],o(this._preds[p],h),o(this._sucs[h],p),delete this._in[p][y],delete this._out[h][y],this._edgeCount--),this}inEdges(h,p){var g=this._in[h];if(g){var y=Object.values(g);return p?y.filter(v=>v.v===p):y}}outEdges(h,p){var g=this._out[h];if(g){var y=Object.values(g);return p?y.filter(v=>v.w===p):y}}nodeEdges(h,p){var g=this.inEdges(h,p);if(g)return g.concat(this.outEdges(h,p))}}function r(m,h){m[h]?m[h]++:m[h]=1}function o(m,h){--m[h]||delete m[h]}function a(m,h,p,g){var y=""+h,v=""+p;if(!m&&y>v){var k=y;y=v,v=k}return y+n+v+n+(g===void 0?e:g)}function u(m,h,p,g){var y=""+h,v=""+p;if(!m&&y>v){var k=y;y=v,v=k}var S={v:y,w:v};return g&&(S.name=g),S}function d(m,h){return a(m,h.v,h.w,h.name)}return Tx=i,Tx}var Rx,T2;function qZ(){return T2||(T2=1,Rx="2.2.4"),Rx}var Ax,R2;function WZ(){return R2||(R2=1,Ax={Graph:Vv(),version:qZ()}),Ax}var Mx,A2;function YZ(){if(A2)return Mx;A2=1;var e=Vv();Mx={write:t,read:r};function t(o){var a={options:{directed:o.isDirected(),multigraph:o.isMultigraph(),compound:o.isCompound()},nodes:n(o),edges:i(o)};return o.graph()!==void 0&&(a.value=structuredClone(o.graph())),a}function n(o){return o.nodes().map(function(a){var u=o.node(a),d=o.parent(a),m={v:a};return u!==void 0&&(m.value=u),d!==void 0&&(m.parent=d),m})}function i(o){return o.edges().map(function(a){var u=o.edge(a),d={v:a.v,w:a.w};return a.name!==void 0&&(d.name=a.name),u!==void 0&&(d.value=u),d})}function r(o){var a=new e(o.options).setGraph(o.value);return o.nodes.forEach(function(u){a.setNode(u.v,u.value),u.parent&&a.setParent(u.v,u.parent)}),o.edges.forEach(function(u){a.setEdge({v:u.v,w:u.w,name:u.name},u.value)}),a}return Mx}var Dx,M2;function XZ(){if(M2)return Dx;M2=1,Dx=e;function e(t){var n={},i=[],r;function o(a){Object.hasOwn(n,a)||(n[a]=!0,r.push(a),t.successors(a).forEach(o),t.predecessors(a).forEach(o))}return t.nodes().forEach(function(a){r=[],o(a),r.length&&i.push(r)}),i}return Dx}var Ox,D2;function MR(){if(D2)return Ox;D2=1;class e{_arr=[];_keyIndices={};size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var i=this._keyIndices[n];if(i!==void 0)return this._arr[i].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,i){var r=this._keyIndices;if(n=String(n),!Object.hasOwn(r,n)){var o=this._arr,a=o.length;return r[n]=a,o.push({key:n,priority:i}),this._decrease(a),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,i){var r=this._keyIndices[n];if(i>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[r].priority+" New: "+i);this._arr[r].priority=i,this._decrease(r)}_heapify(n){var i=this._arr,r=2*n,o=r+1,a=n;r>1,!(i[o].priority1;function n(r,o,a,u){return i(r,String(o),a||t,u||function(d){return r.outEdges(d)})}function i(r,o,a,u){var d={},m=new e,h,p,g=function(y){var v=y.v!==h?y.v:y.w,k=d[v],S=a(y),_=p.distance+S;if(S<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+y+" Weight: "+S);_0&&(h=m.removeMin(),p=d[h],p.distance!==Number.POSITIVE_INFINITY);)u(h).forEach(g);return d}return Lx}var zx,L2;function KZ(){if(L2)return zx;L2=1;var e=DR();zx=t;function t(n,i,r){return n.nodes().reduce(function(o,a){return o[a]=e(n,a,i,r),o},{})}return zx}var Px,z2;function OR(){if(z2)return Px;z2=1,Px=e;function e(t){var n=0,i=[],r={},o=[];function a(u){var d=r[u]={onStack:!0,lowlink:n,index:n++};if(i.push(u),t.successors(u).forEach(function(p){Object.hasOwn(r,p)?r[p].onStack&&(d.lowlink=Math.min(d.lowlink,r[p].index)):(a(p),d.lowlink=Math.min(d.lowlink,r[p].lowlink))}),d.lowlink===d.index){var m=[],h;do h=i.pop(),r[h].onStack=!1,m.push(h);while(u!==h);o.push(m)}}return t.nodes().forEach(function(u){Object.hasOwn(r,u)||a(u)}),o}return Px}var Bx,P2;function ZZ(){if(P2)return Bx;P2=1;var e=OR();Bx=t;function t(n){return e(n).filter(function(i){return i.length>1||i.length===1&&n.hasEdge(i[0],i[0])})}return Bx}var $x,B2;function QZ(){if(B2)return $x;B2=1,$x=t;var e=()=>1;function t(i,r,o){return n(i,r||e,o||function(a){return i.outEdges(a)})}function n(i,r,o){var a={},u=i.nodes();return u.forEach(function(d){a[d]={},a[d][d]={distance:0},u.forEach(function(m){d!==m&&(a[d][m]={distance:Number.POSITIVE_INFINITY})}),o(d).forEach(function(m){var h=m.v===d?m.w:m.v,p=r(m);a[d][h]={distance:p,predecessor:d}})}),u.forEach(function(d){var m=a[d];u.forEach(function(h){var p=a[h];u.forEach(function(g){var y=p[d],v=m[g],k=p[g],S=y.distance+v.distance;Sr.successors(p):p=>r.neighbors(p),d=a==="post"?t:n,m=[],h={};return o.forEach(p=>{if(!r.hasNode(p))throw new Error("Graph does not have node: "+p);d(p,u,h,m)}),m}function t(r,o,a,u){for(var d=[[r,!1]];d.length>0;){var m=d.pop();m[1]?u.push(m[0]):Object.hasOwn(a,m[0])||(a[m[0]]=!0,d.push([m[0],!0]),i(o(m[0]),h=>d.push([h,!1])))}}function n(r,o,a,u){for(var d=[r];d.length>0;){var m=d.pop();Object.hasOwn(a,m)||(a[m]=!0,u.push(m),i(o(m),h=>d.push(h)))}}function i(r,o){for(var a=r.length;a--;)o(r[a],a,r);return r}return Vx}var Ux,V2;function eQ(){if(V2)return Ux;V2=1;var e=zR();Ux=t;function t(n,i){return e(n,i,"post")}return Ux}var Gx,U2;function tQ(){if(U2)return Gx;U2=1;var e=zR();Gx=t;function t(n,i){return e(n,i,"pre")}return Gx}var qx,G2;function nQ(){if(G2)return qx;G2=1;var e=Vv(),t=MR();qx=n;function n(i,r){var o=new e,a={},u=new t,d;function m(p){var g=p.v===d?p.w:p.v,y=u.priority(g);if(y!==void 0){var v=r(p);v0;){if(d=u.removeMin(),Object.hasOwn(a,d))o.setEdge(d,a[d]);else{if(h)throw new Error("Input graph is not connected: "+i);h=!0}i.nodeEdges(d).forEach(m)}return o}return qx}var Wx,q2;function iQ(){return q2||(q2=1,Wx={components:XZ(),dijkstra:DR(),dijkstraAll:KZ(),findCycles:ZZ(),floydWarshall:QZ(),isAcyclic:JZ(),postorder:eQ(),preorder:tQ(),prim:nQ(),tarjan:OR(),topsort:LR()}),Wx}var Yx,W2;function Mr(){if(W2)return Yx;W2=1;var e=WZ();return Yx={Graph:e.Graph,json:YZ(),alg:iQ(),version:e.version},Yx}var Xx,Y2;function rQ(){if(Y2)return Xx;Y2=1;class e{constructor(){let r={};r._next=r._prev=r,this._sentinel=r}dequeue(){let r=this._sentinel,o=r._prev;if(o!==r)return t(o),o}enqueue(r){let o=this._sentinel;r._prev&&r._next&&t(r),r._next=o._next,o._next._prev=r,o._next=r,r._prev=o}toString(){let r=[],o=this._sentinel,a=o._prev;for(;a!==o;)r.push(JSON.stringify(a,n)),a=a._prev;return"["+r.join(", ")+"]"}}function t(i){i._prev._next=i._next,i._next._prev=i._prev,delete i._next,delete i._prev}function n(i,r){if(i!=="_next"&&i!=="_prev")return r}return Xx=e,Xx}var Kx,X2;function sQ(){if(X2)return Kx;X2=1;let e=Mr().Graph,t=rQ();Kx=i;let n=()=>1;function i(m,h){if(m.nodeCount()<=1)return[];let p=a(m,h||n);return r(p.graph,p.buckets,p.zeroIdx).flatMap(y=>m.outEdges(y.v,y.w))}function r(m,h,p){let g=[],y=h[h.length-1],v=h[0],k;for(;m.nodeCount();){for(;k=v.dequeue();)o(m,h,p,k);for(;k=y.dequeue();)o(m,h,p,k);if(m.nodeCount()){for(let S=h.length-2;S>0;--S)if(k=h[S].dequeue(),k){g=g.concat(o(m,h,p,k,!0));break}}}return g}function o(m,h,p,g,y){let v=y?[]:void 0;return m.inEdges(g.v).forEach(k=>{let S=m.edge(k),_=m.node(k.v);y&&v.push({v:k.v,w:k.w}),_.out-=S,u(h,p,_)}),m.outEdges(g.v).forEach(k=>{let S=m.edge(k),_=k.w,w=m.node(_);w.in-=S,u(h,p,w)}),m.removeNode(g.v),v}function a(m,h){let p=new e,g=0,y=0;m.nodes().forEach(S=>{p.setNode(S,{v:S,in:0,out:0})}),m.edges().forEach(S=>{let _=p.edge(S.v,S.w)||0,w=h(S),C=_+w;p.setEdge(S.v,S.w,C),y=Math.max(y,p.node(S.v).out+=w),g=Math.max(g,p.node(S.w).in+=w)});let v=d(y+g+3).map(()=>new t),k=g+1;return p.nodes().forEach(S=>{u(v,k,p.node(S))}),{graph:p,buckets:v,zeroIdx:k}}function u(m,h,p){p.out?p.in?m[p.out-p.in+h].enqueue(p):m[m.length-1].enqueue(p):m[0].enqueue(p)}function d(m){const h=[];for(let p=0;pL.setNode(A,T.node(A))),T.edges().forEach(A=>{let M=L.edge(A.v,A.w)||{weight:0,minlen:1},$=T.edge(A);L.setEdge(A.v,A.w,{weight:M.weight+$.weight,minlen:Math.max(M.minlen,$.minlen)})}),L}function i(T){let L=new e({multigraph:T.isMultigraph()}).setGraph(T.graph());return T.nodes().forEach(A=>{T.children(A).length||L.setNode(A,T.node(A))}),T.edges().forEach(A=>{L.setEdge(A,T.edge(A))}),L}function r(T){let L=T.nodes().map(A=>{let M={};return T.outEdges(A).forEach($=>{M[$.w]=(M[$.w]||0)+T.edge($).weight}),M});return D(T.nodes(),L)}function o(T){let L=T.nodes().map(A=>{let M={};return T.inEdges(A).forEach($=>{M[$.v]=(M[$.v]||0)+T.edge($).weight}),M});return D(T.nodes(),L)}function a(T,L){let A=T.x,M=T.y,$=L.x-A,W=L.y-M,B=T.width/2,U=T.height/2;if(!$&&!W)throw new Error("Not possible to find intersection inside of the rectangle");let F,V;return Math.abs(W)*B>Math.abs($)*U?(W<0&&(U=-U),F=U*$/W,V=U):($<0&&(B=-B),F=B,V=B*W/$),{x:A+F,y:M+V}}function u(T){let L=N(v(T)+1).map(()=>[]);return T.nodes().forEach(A=>{let M=T.node(A),$=M.rank;$!==void 0&&(L[$][M.order]=A)}),L}function d(T){let L=T.nodes().map(M=>{let $=T.node(M).rank;return $===void 0?Number.MAX_VALUE:$}),A=y(Math.min,L);T.nodes().forEach(M=>{let $=T.node(M);Object.hasOwn($,"rank")&&($.rank-=A)})}function m(T){let L=T.nodes().map(B=>T.node(B).rank),A=y(Math.min,L),M=[];T.nodes().forEach(B=>{let U=T.node(B).rank-A;M[U]||(M[U]=[]),M[U].push(B)});let $=0,W=T.graph().nodeRankFactor;Array.from(M).forEach((B,U)=>{B===void 0&&U%W!==0?--$:B!==void 0&&$&&B.forEach(F=>T.node(F).rank+=$)})}function h(T,L,A,M){let $={width:0,height:0};return arguments.length>=4&&($.rank=A,$.order=M),t(T,"border",$,L)}function p(T,L=g){const A=[];for(let M=0;Mg){const A=p(L);return T.apply(null,A.map(M=>T.apply(null,M)))}else return T.apply(null,L)}function v(T){const A=T.nodes().map(M=>{let $=T.node(M).rank;return $===void 0?Number.MIN_VALUE:$});return y(Math.max,A)}function k(T,L){let A={lhs:[],rhs:[]};return T.forEach(M=>{L(M)?A.lhs.push(M):A.rhs.push(M)}),A}function S(T,L){let A=Date.now();try{return L()}finally{console.log(T+" time: "+(Date.now()-A)+"ms")}}function _(T,L){return L()}let w=0;function C(T){var L=++w;return T+(""+L)}function N(T,L,A=1){L==null&&(L=T,T=0);let M=W=>WLM[L]),Object.entries(T).reduce((M,[$,W])=>(M[$]=A(W,$),M),{})}function D(T,L){return T.reduce((A,M,$)=>(A[M]=L[$],A),{})}return Zx}var Qx,Z2;function oQ(){if(Z2)return Qx;Z2=1;let e=sQ(),t=Un().uniqueId;Qx={run:n,undo:r};function n(o){(o.graph().acyclicer==="greedy"?e(o,u(o)):i(o)).forEach(d=>{let m=o.edge(d);o.removeEdge(d),m.forwardName=d.name,m.reversed=!0,o.setEdge(d.w,d.v,m,t("rev"))});function u(d){return m=>d.edge(m).weight}}function i(o){let a=[],u={},d={};function m(h){Object.hasOwn(d,h)||(d[h]=!0,u[h]=!0,o.outEdges(h).forEach(p=>{Object.hasOwn(u,p.w)?a.push(p):m(p.w)}),delete u[h])}return o.nodes().forEach(m),a}function r(o){o.edges().forEach(a=>{let u=o.edge(a);if(u.reversed){o.removeEdge(a);let d=u.forwardName;delete u.reversed,delete u.forwardName,o.setEdge(a.w,a.v,u,d)}})}return Qx}var Jx,Q2;function aQ(){if(Q2)return Jx;Q2=1;let e=Un();Jx={run:t,undo:i};function t(r){r.graph().dummyChains=[],r.edges().forEach(o=>n(r,o))}function n(r,o){let a=o.v,u=r.node(a).rank,d=o.w,m=r.node(d).rank,h=o.name,p=r.edge(o),g=p.labelRank;if(m===u+1)return;r.removeEdge(o);let y,v,k;for(k=0,++u;u{let a=r.node(o),u=a.edgeLabel,d;for(r.setEdge(a.edgeObj,u);a.dummy;)d=r.successors(o)[0],r.removeNode(o),u.points.push({x:a.x,y:a.y}),a.dummy==="edge-label"&&(u.x=a.x,u.y=a.y,u.width=a.width,u.height=a.height),o=d,a=r.node(o)})}return Jx}var ey,J2;function bm(){if(J2)return ey;J2=1;const{applyWithChunking:e}=Un();ey={longestPath:t,slack:n};function t(i){var r={};function o(a){var u=i.node(a);if(Object.hasOwn(r,a))return u.rank;r[a]=!0;let d=i.outEdges(a).map(h=>h==null?Number.POSITIVE_INFINITY:o(h.w)-i.edge(h).minlen);var m=e(Math.min,d);return m===Number.POSITIVE_INFINITY&&(m=0),u.rank=m}i.sources().forEach(o)}function n(i,r){return i.node(r.w).rank-i.node(r.v).rank-i.edge(r).minlen}return ey}var ty,ej;function PR(){if(ej)return ty;ej=1;var e=Mr().Graph,t=bm().slack;ty=n;function n(a){var u=new e({directed:!1}),d=a.nodes()[0],m=a.nodeCount();u.setNode(d,{});for(var h,p;i(u,a){var p=h.v,g=m===p?h.w:p;!a.hasNode(g)&&!t(u,h)&&(a.setNode(g,{}),a.setEdge(m,g,{}),d(g))})}return a.nodes().forEach(d),a.nodeCount()}function r(a,u){return u.edges().reduce((m,h)=>{let p=Number.POSITIVE_INFINITY;return a.hasNode(h.v)!==a.hasNode(h.w)&&(p=t(u,h)),pu.node(m).rank+=d)}return ty}var ny,tj;function lQ(){if(tj)return ny;tj=1;var e=PR(),t=bm().slack,n=bm().longestPath,i=Mr().alg.preorder,r=Mr().alg.postorder,o=Un().simplify;ny=a,a.initLowLimValues=h,a.initCutValues=u,a.calcCutValue=m,a.leaveEdge=g,a.enterEdge=y,a.exchangeEdges=v;function a(w){w=o(w),n(w);var C=e(w);h(C),u(C,w);for(var N,O;N=g(C);)O=y(C,w,N),v(C,w,N,O)}function u(w,C){var N=r(w,w.nodes());N=N.slice(0,N.length-1),N.forEach(O=>d(w,C,O))}function d(w,C,N){var O=w.node(N),I=O.parent;w.edge(N,I).cutvalue=m(w,C,N)}function m(w,C,N){var O=w.node(N),I=O.parent,D=!0,T=C.edge(N,I),L=0;return T||(D=!1,T=C.edge(I,N)),L=T.weight,C.nodeEdges(N).forEach(A=>{var M=A.v===N,$=M?A.w:A.v;if($!==I){var W=M===D,B=C.edge(A).weight;if(L+=W?B:-B,S(w,N,$)){var U=w.edge(N,$).cutvalue;L+=W?-U:U}}}),L}function h(w,C){arguments.length<2&&(C=w.nodes()[0]),p(w,{},1,C)}function p(w,C,N,O,I){var D=N,T=w.node(O);return C[O]=!0,w.neighbors(O).forEach(L=>{Object.hasOwn(C,L)||(N=p(w,C,N,L,O))}),T.low=D,T.lim=N++,I?T.parent=I:delete T.parent,N}function g(w){return w.edges().find(C=>w.edge(C).cutvalue<0)}function y(w,C,N){var O=N.v,I=N.w;C.hasEdge(O,I)||(O=N.w,I=N.v);var D=w.node(O),T=w.node(I),L=D,A=!1;D.lim>T.lim&&(L=T,A=!0);var M=C.edges().filter($=>A===_(w,w.node($.v),L)&&A!==_(w,w.node($.w),L));return M.reduce(($,W)=>t(C,W)!C.node(I).parent),O=i(w,N);O=O.slice(1),O.forEach(I=>{var D=w.node(I).parent,T=C.edge(I,D),L=!1;T||(T=C.edge(D,I),L=!0),C.node(I).rank=C.node(D).rank+(L?T.minlen:-T.minlen)})}function S(w,C,N){return w.hasEdge(C,N)}function _(w,C,N){return N.low<=C.lim&&C.lim<=N.lim}return ny}var iy,nj;function cQ(){if(nj)return iy;nj=1;var e=bm(),t=e.longestPath,n=PR(),i=lQ();iy=r;function r(d){var m=d.graph().ranker;if(m instanceof Function)return m(d);switch(d.graph().ranker){case"network-simplex":u(d);break;case"tight-tree":a(d);break;case"longest-path":o(d);break;case"none":break;default:u(d)}}var o=t;function a(d){t(d),n(d)}function u(d){i(d)}return iy}var ry,ij;function uQ(){if(ij)return ry;ij=1,ry=e;function e(i){let r=n(i);i.graph().dummyChains.forEach(o=>{let a=i.node(o),u=a.edgeObj,d=t(i,r,u.v,u.w),m=d.path,h=d.lca,p=0,g=m[p],y=!0;for(;o!==u.w;){if(a=i.node(o),y){for(;(g=m[p])!==h&&i.node(g).maxRankm||h>r[p].lim));for(g=p,p=a;(p=i.parent(p))!==g;)d.push(p);return{path:u.concat(d.reverse()),lca:g}}function n(i){let r={},o=0;function a(u){let d=o;i.children(u).forEach(a),r[u]={low:d,lim:o++}}return i.children().forEach(a),r}return ry}var sy,rj;function dQ(){if(rj)return sy;rj=1;let e=Un();sy={run:t,cleanup:o};function t(a){let u=e.addDummyNode(a,"root",{},"_root"),d=i(a),m=Object.values(d),h=e.applyWithChunking(Math.max,m)-1,p=2*h+1;a.graph().nestingRoot=u,a.edges().forEach(y=>a.edge(y).minlen*=p);let g=r(a)+1;a.children().forEach(y=>n(a,u,p,g,h,d,y)),a.graph().nodeRankFactor=p}function n(a,u,d,m,h,p,g){let y=a.children(g);if(!y.length){g!==u&&a.setEdge(u,g,{weight:0,minlen:d});return}let v=e.addBorderNode(a,"_bt"),k=e.addBorderNode(a,"_bb"),S=a.node(g);a.setParent(v,g),S.borderTop=v,a.setParent(k,g),S.borderBottom=k,y.forEach(_=>{n(a,u,d,m,h,p,_);let w=a.node(_),C=w.borderTop?w.borderTop:_,N=w.borderBottom?w.borderBottom:_,O=w.borderTop?m:2*m,I=C!==N?1:h-p[g]+1;a.setEdge(v,C,{weight:O,minlen:I,nestingEdge:!0}),a.setEdge(N,k,{weight:O,minlen:I,nestingEdge:!0})}),a.parent(g)||a.setEdge(u,v,{weight:0,minlen:h+p[g]})}function i(a){var u={};function d(m,h){var p=a.children(m);p&&p.length&&p.forEach(g=>d(g,h+1)),u[m]=h}return a.children().forEach(m=>d(m,1)),u}function r(a){return a.edges().reduce((u,d)=>u+a.edge(d).weight,0)}function o(a){var u=a.graph();a.removeNode(u.nestingRoot),delete u.nestingRoot,a.edges().forEach(d=>{var m=a.edge(d);m.nestingEdge&&a.removeEdge(d)})}return sy}var oy,sj;function fQ(){if(sj)return oy;sj=1;let e=Un();oy=t;function t(i){function r(o){let a=i.children(o),u=i.node(o);if(a.length&&a.forEach(r),Object.hasOwn(u,"minRank")){u.borderLeft=[],u.borderRight=[];for(let d=u.minRank,m=u.maxRank+1;di(d.node(m))),d.edges().forEach(m=>i(d.edge(m)))}function i(d){let m=d.width;d.width=d.height,d.height=m}function r(d){d.nodes().forEach(m=>o(d.node(m))),d.edges().forEach(m=>{let h=d.edge(m);h.points.forEach(o),Object.hasOwn(h,"y")&&o(h)})}function o(d){d.y=-d.y}function a(d){d.nodes().forEach(m=>u(d.node(m))),d.edges().forEach(m=>{let h=d.edge(m);h.points.forEach(u),Object.hasOwn(h,"x")&&u(h)})}function u(d){let m=d.x;d.x=d.y,d.y=m}return ay}var ly,aj;function pQ(){if(aj)return ly;aj=1;let e=Un();ly=t;function t(n){let i={},r=n.nodes().filter(h=>!n.children(h).length),o=r.map(h=>n.node(h).rank),a=e.applyWithChunking(Math.max,o),u=e.range(a+1).map(()=>[]);function d(h){if(i[h])return;i[h]=!0;let p=n.node(h);u[p.rank].push(h),n.successors(h).forEach(d)}return r.sort((h,p)=>n.node(h).rank-n.node(p).rank).forEach(d),u}return ly}var cy,lj;function hQ(){if(lj)return cy;lj=1;let e=Un().zipObject;cy=t;function t(i,r){let o=0;for(let a=1;ay)),u=r.flatMap(g=>i.outEdges(g).map(y=>({pos:a[y.w],weight:i.edge(y).weight})).sort((y,v)=>y.pos-v.pos)),d=1;for(;d{let y=g.pos+d;h[y]+=g.weight;let v=0;for(;y>0;)y%2&&(v+=h[y+1]),y=y-1>>1,h[y]+=g.weight;p+=g.weight*v}),p}return cy}var uy,cj;function gQ(){if(cj)return uy;cj=1,uy=e;function e(t,n=[]){return n.map(i=>{let r=t.inEdges(i);if(r.length){let o=r.reduce((a,u)=>{let d=t.edge(u),m=t.node(u.v);return{sum:a.sum+d.weight*m.order,weight:a.weight+d.weight}},{sum:0,weight:0});return{v:i,barycenter:o.sum/o.weight,weight:o.weight}}else return{v:i}})}return uy}var dy,uj;function xQ(){if(uj)return dy;uj=1;let e=Un();dy=t;function t(r,o){let a={};r.forEach((d,m)=>{let h=a[d.v]={indegree:0,in:[],out:[],vs:[d.v],i:m};d.barycenter!==void 0&&(h.barycenter=d.barycenter,h.weight=d.weight)}),o.edges().forEach(d=>{let m=a[d.v],h=a[d.w];m!==void 0&&h!==void 0&&(h.indegree++,m.out.push(a[d.w]))});let u=Object.values(a).filter(d=>!d.indegree);return n(u)}function n(r){let o=[];function a(d){return m=>{m.merged||(m.barycenter===void 0||d.barycenter===void 0||m.barycenter>=d.barycenter)&&i(d,m)}}function u(d){return m=>{m.in.push(d),--m.indegree===0&&r.push(m)}}for(;r.length;){let d=r.pop();o.push(d),d.in.reverse().forEach(a(d)),d.out.forEach(u(d))}return o.filter(d=>!d.merged).map(d=>e.pick(d,["vs","i","barycenter","weight"]))}function i(r,o){let a=0,u=0;r.weight&&(a+=r.barycenter*r.weight,u+=r.weight),o.weight&&(a+=o.barycenter*o.weight,u+=o.weight),r.vs=o.vs.concat(r.vs),r.barycenter=a/u,r.weight=u,r.i=Math.min(o.i,r.i),o.merged=!0}return dy}var fy,dj;function yQ(){if(dj)return fy;dj=1;let e=Un();fy=t;function t(r,o){let a=e.partition(r,v=>Object.hasOwn(v,"barycenter")),u=a.lhs,d=a.rhs.sort((v,k)=>k.i-v.i),m=[],h=0,p=0,g=0;u.sort(i(!!o)),g=n(m,d,g),u.forEach(v=>{g+=v.vs.length,m.push(v.vs),h+=v.barycenter*v.weight,p+=v.weight,g=n(m,d,g)});let y={vs:m.flat(!0)};return p&&(y.barycenter=h/p,y.weight=p),y}function n(r,o,a){let u;for(;o.length&&(u=o[o.length-1]).i<=a;)o.pop(),r.push(u.vs),a++;return a}function i(r){return(o,a)=>o.barycentera.barycenter?1:r?a.i-o.i:o.i-a.i}return fy}var my,fj;function vQ(){if(fj)return my;fj=1;let e=gQ(),t=xQ(),n=yQ();my=i;function i(a,u,d,m){let h=a.children(u),p=a.node(u),g=p?p.borderLeft:void 0,y=p?p.borderRight:void 0,v={};g&&(h=h.filter(w=>w!==g&&w!==y));let k=e(a,h);k.forEach(w=>{if(a.children(w.v).length){let C=i(a,w.v,d,m);v[w.v]=C,Object.hasOwn(C,"barycenter")&&o(w,C)}});let S=t(k,d);r(S,v);let _=n(S,m);if(g&&(_.vs=[g,_.vs,y].flat(!0),a.predecessors(g).length)){let w=a.node(a.predecessors(g)[0]),C=a.node(a.predecessors(y)[0]);Object.hasOwn(_,"barycenter")||(_.barycenter=0,_.weight=0),_.barycenter=(_.barycenter*_.weight+w.order+C.order)/(_.weight+2),_.weight+=2}return _}function r(a,u){a.forEach(d=>{d.vs=d.vs.flatMap(m=>u[m]?u[m].vs:m)})}function o(a,u){a.barycenter!==void 0?(a.barycenter=(a.barycenter*a.weight+u.barycenter*u.weight)/(a.weight+u.weight),a.weight+=u.weight):(a.barycenter=u.barycenter,a.weight=u.weight)}return my}var py,mj;function bQ(){if(mj)return py;mj=1;let e=Mr().Graph,t=Un();py=n;function n(r,o,a,u){u||(u=r.nodes());let d=i(r),m=new e({compound:!0}).setGraph({root:d}).setDefaultNodeLabel(h=>r.node(h));return u.forEach(h=>{let p=r.node(h),g=r.parent(h);(p.rank===o||p.minRank<=o&&o<=p.maxRank)&&(m.setNode(h),m.setParent(h,g||d),r[a](h).forEach(y=>{let v=y.v===h?y.w:y.v,k=m.edge(v,h),S=k!==void 0?k.weight:0;m.setEdge(v,h,{weight:r.edge(y).weight+S})}),Object.hasOwn(p,"minRank")&&m.setNode(h,{borderLeft:p.borderLeft[o],borderRight:p.borderRight[o]}))}),m}function i(r){for(var o;r.hasNode(o=t.uniqueId("_root")););return o}return py}var hy,pj;function _Q(){if(pj)return hy;pj=1,hy=e;function e(t,n,i){let r={},o;i.forEach(a=>{let u=t.parent(a),d,m;for(;u;){if(d=t.parent(u),d?(m=r[d],r[d]=u):(m=o,o=u),m&&m!==u){n.setEdge(m,u);return}u=d}})}return hy}var gy,hj;function kQ(){if(hj)return gy;hj=1;let e=pQ(),t=hQ(),n=vQ(),i=bQ(),r=_Q(),o=Mr().Graph,a=Un();gy=u;function u(p,g){if(g&&typeof g.customOrder=="function"){g.customOrder(p,u);return}let y=a.maxRank(p),v=d(p,a.range(1,y+1),"inEdges"),k=d(p,a.range(y-1,-1,-1),"outEdges"),S=e(p);if(h(p,S),g&&g.disableOptimalOrderHeuristic)return;let _=Number.POSITIVE_INFINITY,w;for(let C=0,N=0;N<4;++C,++N){m(C%2?v:k,C%4>=2),S=a.buildLayerMatrix(p);let O=t(p,S);O<_&&(N=0,w=Object.assign({},S),_=O)}h(p,w)}function d(p,g,y){const v=new Map,k=(S,_)=>{v.has(S)||v.set(S,[]),v.get(S).push(_)};for(const S of p.nodes()){const _=p.node(S);if(typeof _.rank=="number"&&k(_.rank,S),typeof _.minRank=="number"&&typeof _.maxRank=="number")for(let w=_.minRank;w<=_.maxRank;w++)w!==_.rank&&k(w,S)}return g.map(function(S){return i(p,S,y,v.get(S)||[])})}function m(p,g){let y=new o;p.forEach(function(v){let k=v.graph().root,S=n(v,k,y,g);S.vs.forEach((_,w)=>v.node(_).order=w),r(v,y,S.vs)})}function h(p,g){Object.values(g).forEach(y=>y.forEach((v,k)=>p.node(v).order=k))}return gy}var xy,gj;function SQ(){if(gj)return xy;gj=1;let e=Mr().Graph,t=Un();xy={positionX:y,findType1Conflicts:n,findType2Conflicts:i,addConflict:o,hasConflict:a,verticalAlignment:u,horizontalCompaction:d,alignCoordinates:p,findSmallestWidthAlignment:h,balance:g};function n(S,_){let w={};function C(N,O){let I=0,D=0,T=N.length,L=O[O.length-1];return O.forEach((A,M)=>{let $=r(S,A),W=$?S.node($).order:T;($||A===L)&&(O.slice(D,M+1).forEach(B=>{S.predecessors(B).forEach(U=>{let F=S.node(U),V=F.order;(V{A=O[M],S.node(A).dummy&&S.predecessors(A).forEach($=>{let W=S.node($);W.dummy&&(W.orderL)&&o(w,$,A)})})}function N(O,I){let D=-1,T,L=0;return I.forEach((A,M)=>{if(S.node(A).dummy==="border"){let $=S.predecessors(A);$.length&&(T=S.node($[0]).order,C(I,L,M,D,T),L=M,D=T)}C(I,L,I.length,T,O.length)}),I}return _.length&&_.reduce(N),w}function r(S,_){if(S.node(_).dummy)return S.predecessors(_).find(w=>S.node(w).dummy)}function o(S,_,w){if(_>w){let N=_;_=w,w=N}let C=S[_];C||(S[_]=C={}),C[w]=!0}function a(S,_,w){if(_>w){let C=_;_=w,w=C}return!!S[_]&&Object.hasOwn(S[_],w)}function u(S,_,w,C){let N={},O={},I={};return _.forEach(D=>{D.forEach((T,L)=>{N[T]=T,O[T]=T,I[T]=L})}),_.forEach(D=>{let T=-1;D.forEach(L=>{let A=C(L);if(A.length){A=A.sort(($,W)=>I[$]-I[W]);let M=(A.length-1)/2;for(let $=Math.floor(M),W=Math.ceil(M);$<=W;++$){let B=A[$];O[L]===L&&TMath.max($,O[W.v]+I.edge(W)),0)}function A(M){let $=I.outEdges(M).reduce((B,U)=>Math.min(B,O[U.w]-I.edge(U)),Number.POSITIVE_INFINITY),W=S.node(M);$!==Number.POSITIVE_INFINITY&&W.borderType!==D&&(O[M]=Math.max(O[M],$))}return T(L,I.predecessors.bind(I)),T(A,I.successors.bind(I)),Object.keys(C).forEach(M=>O[M]=O[w[M]]),O}function m(S,_,w,C){let N=new e,O=S.graph(),I=v(O.nodesep,O.edgesep,C);return _.forEach(D=>{let T;D.forEach(L=>{let A=w[L];if(N.setNode(A),T){var M=w[T],$=N.edge(M,A);N.setEdge(M,A,Math.max(I(S,L,T),$||0))}T=L})}),N}function h(S,_){return Object.values(_).reduce((w,C)=>{let N=Number.NEGATIVE_INFINITY,O=Number.POSITIVE_INFINITY;Object.entries(C).forEach(([D,T])=>{let L=k(S,D)/2;N=Math.max(T+L,N),O=Math.min(T-L,O)});const I=N-O;return I{["l","r"].forEach(I=>{let D=O+I,T=S[D];if(T===_)return;let L=Object.values(T),A=C-t.applyWithChunking(Math.min,L);I!=="l"&&(A=N-t.applyWithChunking(Math.max,L)),A&&(S[D]=t.mapValues(T,M=>M+A))})})}function g(S,_){return t.mapValues(S.ul,(w,C)=>{if(_)return S[_.toLowerCase()][C];{let N=Object.values(S).map(O=>O[C]).sort((O,I)=>O-I);return(N[1]+N[2])/2}})}function y(S){let _=t.buildLayerMatrix(S),w=Object.assign(n(S,_),i(S,_)),C={},N;["u","d"].forEach(I=>{N=I==="u"?_:Object.values(_).reverse(),["l","r"].forEach(D=>{D==="r"&&(N=N.map(M=>Object.values(M).reverse()));let T=(I==="u"?S.predecessors:S.successors).bind(S),L=u(S,N,w,T),A=d(S,N,L.root,L.align,D==="r");D==="r"&&(A=t.mapValues(A,M=>-M)),C[I+D]=A})});let O=h(S,C);return p(C,O),g(C,S.graph().align)}function v(S,_,w){return(C,N,O)=>{let I=C.node(N),D=C.node(O),T=0,L;if(T+=I.width/2,Object.hasOwn(I,"labelpos"))switch(I.labelpos.toLowerCase()){case"l":L=-I.width/2;break;case"r":L=I.width/2;break}if(L&&(T+=w?L:-L),L=0,T+=(I.dummy?_:S)/2,T+=(D.dummy?_:S)/2,T+=D.width/2,Object.hasOwn(D,"labelpos"))switch(D.labelpos.toLowerCase()){case"l":L=D.width/2;break;case"r":L=-D.width/2;break}return L&&(T+=w?L:-L),L=0,T}}function k(S,_){return S.node(_).width}return xy}var yy,xj;function wQ(){if(xj)return yy;xj=1;let e=Un(),t=SQ().positionX;yy=n;function n(r){r=e.asNonCompoundGraph(r),i(r),Object.entries(t(r)).forEach(([o,a])=>r.node(o).x=a)}function i(r){let o=e.buildLayerMatrix(r),a=r.graph().ranksep,u=0;o.forEach(d=>{const m=d.reduce((h,p)=>{const g=r.node(p).height;return h>g?h:g},0);d.forEach(h=>r.node(h).y=u+m/2),u+=m+a})}return yy}var vy,yj;function CQ(){if(yj)return vy;yj=1;let e=oQ(),t=aQ(),n=cQ(),i=Un().normalizeRanks,r=uQ(),o=Un().removeEmptyRanks,a=dQ(),u=fQ(),d=mQ(),m=kQ(),h=wQ(),p=Un(),g=Mr().Graph;vy=y;function y(P,K){let ee=K&&K.debugTiming?p.time:p.notime;ee("layout",()=>{let te=ee(" buildLayoutGraph",()=>T(P));ee(" runLayout",()=>v(te,ee,K)),ee(" updateInputGraph",()=>k(P,te))})}function v(P,K,ee){K(" makeSpaceForEdgeLabels",()=>L(P)),K(" removeSelfEdges",()=>Y(P)),K(" acyclic",()=>e.run(P)),K(" nestingGraph.run",()=>a.run(P)),K(" rank",()=>n(p.asNonCompoundGraph(P))),K(" injectEdgeLabelProxies",()=>A(P)),K(" removeEmptyRanks",()=>o(P)),K(" nestingGraph.cleanup",()=>a.cleanup(P)),K(" normalizeRanks",()=>i(P)),K(" assignRankMinMax",()=>M(P)),K(" removeEdgeLabelProxies",()=>$(P)),K(" normalize.run",()=>t.run(P)),K(" parentDummyChains",()=>r(P)),K(" addBorderSegments",()=>u(P)),K(" order",()=>m(P,ee)),K(" insertSelfEdges",()=>Q(P)),K(" adjustCoordinateSystem",()=>d.adjust(P)),K(" position",()=>h(P)),K(" positionSelfEdges",()=>q(P)),K(" removeBorderNodes",()=>V(P)),K(" normalize.undo",()=>t.undo(P)),K(" fixupEdgeLabelCoords",()=>U(P)),K(" undoCoordinateSystem",()=>d.undo(P)),K(" translateGraph",()=>W(P)),K(" assignNodeIntersects",()=>B(P)),K(" reversePoints",()=>F(P)),K(" acyclic.undo",()=>e.undo(P))}function k(P,K){P.nodes().forEach(ee=>{let te=P.node(ee),ie=K.node(ee);te&&(te.x=ie.x,te.y=ie.y,te.rank=ie.rank,K.children(ee).length&&(te.width=ie.width,te.height=ie.height))}),P.edges().forEach(ee=>{let te=P.edge(ee),ie=K.edge(ee);te.points=ie.points,Object.hasOwn(ie,"x")&&(te.x=ie.x,te.y=ie.y)}),P.graph().width=K.graph().width,P.graph().height=K.graph().height}let S=["nodesep","edgesep","ranksep","marginx","marginy"],_={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},w=["acyclicer","ranker","rankdir","align"],C=["width","height","rank"],N={width:0,height:0},O=["minlen","weight","width","height","labeloffset"],I={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},D=["labelpos"];function T(P){let K=new g({multigraph:!0,compound:!0}),ee=J(P.graph());return K.setGraph(Object.assign({},_,G(ee,S),p.pick(ee,w))),P.nodes().forEach(te=>{let ie=J(P.node(te));const oe=G(ie,C);Object.keys(N).forEach(fe=>{oe[fe]===void 0&&(oe[fe]=N[fe])}),K.setNode(te,oe),K.setParent(te,P.parent(te))}),P.edges().forEach(te=>{let ie=J(P.edge(te));K.setEdge(te,Object.assign({},I,G(ie,O),p.pick(ie,D)))}),K}function L(P){let K=P.graph();K.ranksep/=2,P.edges().forEach(ee=>{let te=P.edge(ee);te.minlen*=2,te.labelpos.toLowerCase()!=="c"&&(K.rankdir==="TB"||K.rankdir==="BT"?te.width+=te.labeloffset:te.height+=te.labeloffset)})}function A(P){P.edges().forEach(K=>{let ee=P.edge(K);if(ee.width&&ee.height){let te=P.node(K.v),oe={rank:(P.node(K.w).rank-te.rank)/2+te.rank,e:K};p.addDummyNode(P,"edge-proxy",oe,"_ep")}})}function M(P){let K=0;P.nodes().forEach(ee=>{let te=P.node(ee);te.borderTop&&(te.minRank=P.node(te.borderTop).rank,te.maxRank=P.node(te.borderBottom).rank,K=Math.max(K,te.maxRank))}),P.graph().maxRank=K}function $(P){P.nodes().forEach(K=>{let ee=P.node(K);ee.dummy==="edge-proxy"&&(P.edge(ee.e).labelRank=ee.rank,P.removeNode(K))})}function W(P){let K=Number.POSITIVE_INFINITY,ee=0,te=Number.POSITIVE_INFINITY,ie=0,oe=P.graph(),fe=oe.marginx||0,se=oe.marginy||0;function _e(we){let Ce=we.x,Be=we.y,Ve=we.width,Ye=we.height;K=Math.min(K,Ce-Ve/2),ee=Math.max(ee,Ce+Ve/2),te=Math.min(te,Be-Ye/2),ie=Math.max(ie,Be+Ye/2)}P.nodes().forEach(we=>_e(P.node(we))),P.edges().forEach(we=>{let Ce=P.edge(we);Object.hasOwn(Ce,"x")&&_e(Ce)}),K-=fe,te-=se,P.nodes().forEach(we=>{let Ce=P.node(we);Ce.x-=K,Ce.y-=te}),P.edges().forEach(we=>{let Ce=P.edge(we);Ce.points.forEach(Be=>{Be.x-=K,Be.y-=te}),Object.hasOwn(Ce,"x")&&(Ce.x-=K),Object.hasOwn(Ce,"y")&&(Ce.y-=te)}),oe.width=ee-K+fe,oe.height=ie-te+se}function B(P){P.edges().forEach(K=>{let ee=P.edge(K),te=P.node(K.v),ie=P.node(K.w),oe,fe;ee.points?(oe=ee.points[0],fe=ee.points[ee.points.length-1]):(ee.points=[],oe=ie,fe=te),ee.points.unshift(p.intersectRect(te,oe)),ee.points.push(p.intersectRect(ie,fe))})}function U(P){P.edges().forEach(K=>{let ee=P.edge(K);if(Object.hasOwn(ee,"x"))switch((ee.labelpos==="l"||ee.labelpos==="r")&&(ee.width-=ee.labeloffset),ee.labelpos){case"l":ee.x-=ee.width/2+ee.labeloffset;break;case"r":ee.x+=ee.width/2+ee.labeloffset;break}})}function F(P){P.edges().forEach(K=>{let ee=P.edge(K);ee.reversed&&ee.points.reverse()})}function V(P){P.nodes().forEach(K=>{if(P.children(K).length){let ee=P.node(K),te=P.node(ee.borderTop),ie=P.node(ee.borderBottom),oe=P.node(ee.borderLeft[ee.borderLeft.length-1]),fe=P.node(ee.borderRight[ee.borderRight.length-1]);ee.width=Math.abs(fe.x-oe.x),ee.height=Math.abs(ie.y-te.y),ee.x=oe.x+ee.width/2,ee.y=te.y+ee.height/2}}),P.nodes().forEach(K=>{P.node(K).dummy==="border"&&P.removeNode(K)})}function Y(P){P.edges().forEach(K=>{if(K.v===K.w){var ee=P.node(K.v);ee.selfEdges||(ee.selfEdges=[]),ee.selfEdges.push({e:K,label:P.edge(K)}),P.removeEdge(K)}})}function Q(P){var K=p.buildLayerMatrix(P);K.forEach(ee=>{var te=0;ee.forEach((ie,oe)=>{var fe=P.node(ie);fe.order=oe+te,(fe.selfEdges||[]).forEach(se=>{p.addDummyNode(P,"selfedge",{width:se.label.width,height:se.label.height,rank:fe.rank,order:oe+ ++te,e:se.e,label:se.label},"_se")}),delete fe.selfEdges})})}function q(P){P.nodes().forEach(K=>{var ee=P.node(K);if(ee.dummy==="selfedge"){var te=P.node(ee.e.v),ie=te.x+te.width/2,oe=te.y,fe=ee.x-ie,se=te.height/2;P.setEdge(ee.e,ee.label),P.removeNode(K),ee.label.points=[{x:ie+2*fe/3,y:oe-se},{x:ie+5*fe/6,y:oe-se},{x:ie+fe,y:oe},{x:ie+5*fe/6,y:oe+se},{x:ie+2*fe/3,y:oe+se}],ee.label.x=ee.x,ee.label.y=ee.y}})}function G(P,K){return p.mapValues(p.pick(P,K),Number)}function J(P){var K={};return P&&Object.entries(P).forEach(([ee,te])=>{typeof ee=="string"&&(ee=ee.toLowerCase()),K[ee]=te}),K}return vy}var by,vj;function jQ(){if(vj)return by;vj=1;let e=Un(),t=Mr().Graph;by={debugOrdering:n};function n(i){let r=e.buildLayerMatrix(i),o=new t({compound:!0,multigraph:!0}).setGraph({});return i.nodes().forEach(a=>{o.setNode(a,{label:a}),o.setParent(a,"layer"+i.node(a).rank)}),i.edges().forEach(a=>o.setEdge(a.v,a.w,{},a.name)),r.forEach((a,u)=>{let d="layer"+u;o.setNode(d,{rank:"same"}),a.reduce((m,h)=>(o.setEdge(m,h,{style:"invis"}),h))}),o}return by}var _y,bj;function EQ(){return bj||(bj=1,_y="1.1.8"),_y}var ky,_j;function NQ(){return _j||(_j=1,ky={graphlib:Mr(),layout:CQ(),debug:jQ(),util:{time:Un().time,notime:Un().notime},version:EQ()}),ky}var IQ=NQ();const kj=ta(IQ);function TQ(e,t,n={}){const i=new kj.graphlib.Graph;i.setDefaultEdgeLabel(()=>({})),i.setGraph({rankdir:"TB",ranksep:60,nodesep:36,marginx:24,marginy:24});const r=n.nodeWidth??220,o=n.nodeHeight??80;return e.forEach(a=>i.setNode(a.id,{width:r,height:o})),t.forEach(a=>i.setEdge(a.source,a.target)),kj.layout(i),e.map(a=>{const{x:u,y:d}=i.node(a.id);return{...a,position:{x:u-r/2,y:d-o/2}}})}const RQ={roleNode:GZ},AQ=E.forwardRef(function(t,n){return c.jsx(IR,{children:c.jsx(MQ,{...t,forwardedRef:n})})});function MQ({roles:e,employees:t,sessionRecruitmentByRole:n,selectedRoleId:i,onSelectRole:r,onReparent:o,readOnly:a,forwardedRef:u}){const d=E.useMemo(()=>{const A=new Map;for(const M of t){const $=M.role_ids?.length?M.role_ids:[M.role_id];for(const W of $){if(!W)continue;const B=A.get(W)??[];B.push(M),A.set(W,B)}}return A},[t]),m=E.useCallback(A=>n?n[A]??[]:(d.get(A)??[]).filter(M=>!M.is_default_employee).map(M=>M.name).filter(Boolean),[d,n]),[h,p]=E.useState(0),g=E.useMemo(()=>e.map(A=>A.role_id).sort().join("|"),[e]),y=E.useRef(g);E.useEffect(()=>{y.current!==g&&(y.current=g,p(A=>A+1))},[g]),E.useImperativeHandle(u,()=>({autoLayout:()=>p(A=>A+1)}),[]);const[v,k]=E.useState(null),[S,_]=E.useState({});E.useEffect(()=>{_({})},[h]);const w=E.useMemo(()=>{const A={id:"owner",type:"roleNode",position:{x:0,y:0},draggable:!1,data:{roleId:"owner",name:"You (Owner)",responsibility:"",icon:null,employeeCount:0,employeeNames:[],isOwner:!0,isSelected:!1,isDropTarget:!1}},M=e.map(U=>({id:U.role_id,type:"roleNode",position:{x:0,y:0},draggable:!0,data:{roleId:U.role_id,name:U.name,responsibility:U.responsibility,icon:U.icon??null,employeeCount:m(U.role_id).length,employeeNames:m(U.role_id),isOwner:!1,isSelected:!1,isDropTarget:!1}})),$=[A,...M],W=e.map(U=>({id:`e-${U.reports_to}-${U.role_id}`,source:U.reports_to,target:U.role_id,type:"smoothstep"}));return{nodes:TQ($,W),edges:W}},[h,a]),C=E.useMemo(()=>w.nodes.map(A=>{if(A.id==="owner")return A;const M=e.find(W=>W.role_id===A.id);if(!M)return A;const $=S[A.id];return{...A,position:$??A.position,draggable:!0,data:{...A.data,name:M.name,responsibility:M.responsibility,icon:M.icon??null,employeeCount:m(M.role_id).length,employeeNames:m(M.role_id),isSelected:M.role_id===i,isDropTarget:M.role_id===v}}}),[w.nodes,e,d,m,i,v,a,S]),[N,O]=E.useState(C);E.useEffect(()=>{O(C)},[C]);const I=E.useCallback(A=>{O(M=>rR(A,M))},[]),D=E.useCallback((A,M)=>{if(a)return;const $=220,W=80,B={x:M.position.x+$/2,y:M.position.y+W/2},U=N.find(F=>F.id===M.id?!1:B.x>=F.position.x&&B.x<=F.position.x+$&&B.y>=F.position.y&&B.y<=F.position.y+W);k(U?.id??null)},[N,a]),T=E.useCallback((A,M)=>{const $=v;k(null);const W=()=>_(B=>({...B,[M.id]:{x:M.position.x,y:M.position.y}}));if(a||!$||$===M.id||BR(e,M.id,$)){W();return}o(M.id,$),p(B=>B+1)},[v,e,a,o]),L=E.useCallback((A,M)=>{r(M.id==="owner"?null:M.id)},[r]);return c.jsx("div",{style:{width:"100%",height:"100%"},children:c.jsxs(gZ,{nodes:N,edges:w.edges,nodeTypes:RQ,onNodesChange:I,onNodeDrag:D,onNodeDragStop:T,onNodeClick:L,fitView:!0,fitViewOptions:{padding:.32,minZoom:.45,maxZoom:1.2},nodesConnectable:!1,edgesFocusable:!1,style:{width:"100%",height:"100%"},children:[c.jsx(_Z,{gap:28,size:1,color:"rgba(240, 237, 232, 0.10)"}),c.jsx(NZ,{showInteractive:!1}),c.jsx(HZ,{pannable:!0,nodeStrokeWidth:0,maskColor:"rgba(12, 17, 27, 0.6)"})]})})}function BR(e,t,n){const i=e.filter(r=>r.reports_to===t).map(r=>r.role_id);for(const r of i)if(r===n||BR(e,r,n))return!0;return!1}function DQ({roles:e,employees:t,sessionRecruitmentByRole:n,isCustomMode:i,onAddRole:r,onUpdateRole:o,onDeleteRole:a,savedOrgsList:u,activeSavedOrg:d,currentOrgVersion:m,versionAtLoad:h,onSavedOrgsList:p,onSavedOrgSaveAs:g,onSavedOrgLoad:y,onSavedOrgDelete:v}){const[k,S]=E.useState("canvas"),[_,w]=E.useState(null),C=E.useRef(null),N=E.useMemo(()=>e.find(A=>A.role_id===_)??null,[e,_]),O=E.useCallback((A,M)=>{i&&o(A,{reports_to:M})},[o,i]),I=E.useCallback(()=>{C.current?.autoLayout()},[]),D=E.useCallback(()=>{if(!i)return;const A=new Set(e.map(W=>W.role_id));let M="new_role",$=1;for(;A.has(M);)$+=1,M=`new_role_${$}`;r(M,"New Role","","owner",null),w(M)},[e,r,i]),T=E.useCallback(()=>{if(!i||!N)return;const A=new Set(e.map(W=>W.role_id));let M=`${N.role_id}_copy`,$=1;for(;A.has(M);)$+=1,M=`${N.role_id}_copy_${$}`;r(M,`${N.name} (copy)`,N.responsibility,N.reports_to,N.icon),w(M)},[e,r,N,i]),L=E.useRef(null);return E.useEffect(()=>{const A=M=>{const $=M.target;if(!($&&($.tagName==="INPUT"||$.tagName==="TEXTAREA"||$.tagName==="SELECT"||$.isContentEditable))&&!(L.current&&!L.current.contains($))){if(M.key==="Escape"&&_){w(null),M.preventDefault();return}if(M.key==="Delete"&&_&&i){a(_),w(null),M.preventDefault();return}if((M.metaKey||M.ctrlKey)&&M.key.toLowerCase()==="d"&&_&&i){T(),M.preventDefault();return}if(M.key.toLowerCase()==="f"&&k==="canvas"){I(),M.preventDefault();return}}};return window.addEventListener("keydown",A),()=>window.removeEventListener("keydown",A)},[_,i,k,a,I,T]),c.jsxs("div",{className:"se-container",ref:L,children:[c.jsxs("div",{className:"se-toolbar",children:[c.jsxs("div",{className:"se-view-switcher",role:"tablist","aria-label":"Editor view",children:[c.jsx("button",{role:"tab","aria-selected":k==="canvas",className:`se-view-btn${k==="canvas"?" is-active":""}`,onClick:()=>S("canvas"),children:"Canvas"}),c.jsx("button",{role:"tab","aria-selected":k==="table",className:`se-view-btn${k==="table"?" is-active":""}`,onClick:()=>S("table"),children:"Table"})]}),c.jsxs("div",{className:`se-toolbar-actions${i?"":" se-toolbar-actions--readonly"}`,children:[i?c.jsxs("div",{className:"se-saved-org-control",children:[c.jsx("span",{className:"se-toolbar-label",children:"Saved org"}),c.jsx(BV,{savedOrgs:u??null,activeName:d??null,isDirty:h!=null&&(m??0)!==h,onRefresh:p??(()=>{}),onSaveAs:g??(()=>{}),onLoad:y??(()=>{}),onDelete:v??(()=>{})})]}):c.jsx("span",{className:"se-readonly-pill",children:"Read-only corporate"}),c.jsx("div",{className:"se-toolbar-divider","aria-hidden":!0}),k==="canvas"&&c.jsx("button",{className:"btn btn-ghost btn-sm",onClick:I,children:"Auto-layout"}),i&&c.jsx("button",{className:"btn btn-primary btn-sm",onClick:D,children:"+ Add role"})]})]}),c.jsxs("div",{className:"se-body",children:[k==="canvas"?c.jsx(AQ,{ref:C,roles:e,employees:t,sessionRecruitmentByRole:n,selectedRoleId:_,onSelectRole:w,onReparent:O,readOnly:!i}):c.jsx($U,{roles:e,employees:t,selectedIds:_?[_]:[],onSelectRow:A=>w(A),onUpdateRole:o,onDeleteRole:a,readOnly:!i}),N&&c.jsx(UV,{role:N,allRoles:e,employees:t,readOnly:!i,onUpdateRole:o,onDeleteRole:A=>{a(A),w(null)},onClose:()=>w(null)})]})]})}const Wr={rocket:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M13.13 22.19L11.5 18.36c3.07-1.39 5.51-3.94 6.69-7.07L22 13l-8.87 9.19zM5.64 12.5L2 10.87l9.19-8.87 1.63 3.81c-3.13 1.18-5.68 3.62-7.07 6.69zM14.54 9.46c-.78-.78-.78-2.05 0-2.83s2.05-.78 2.83 0 .78 2.05 0 2.83c-.79.78-2.05.78-2.83 0zM8 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2z'/%3E%3C/svg%3E",people:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z'/%3E%3C/svg%3E",check:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z'/%3E%3C/svg%3E",addPerson:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm-9-2V7H4v3H1v2h3v3h2v-3h3v-2H6zm9 4c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E",trash:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z'/%3E%3C/svg%3E",team:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E",deploy:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2322c55e' d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 14.5v-9l6 4.5-6 4.5z'/%3E%3C/svg%3E",person:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E"};function OQ({onComplete:e,onSwitchToTab:t}){const[n,i]=E.useState(1),[r,o]=E.useState([{name:"",resp:"",parent:"owner"}]),a=()=>o([...r,{name:"",resp:"",parent:"owner"}]),u=(g,y,v)=>{const k=[...r];k[g][y]=v,o(k)},d=g=>{r.length<=1||o(r.filter((y,v)=>v!==g))},m=r.filter(g=>g.name.trim()),h=m.map(g=>g.name.trim()).filter(Boolean),p=()=>{e(m.map(g=>({name:g.name.trim(),responsibility:g.resp.trim(),reportsTo:g.parent})))};return c.jsxs("div",{className:"qs-wizard",children:[c.jsxs("div",{className:"qs-header",children:[c.jsx("img",{src:Wr.rocket,alt:"",className:"qs-header-icon"}),c.jsxs("div",{children:[c.jsx("h3",{className:"qs-header-title",children:"Build Your Team"}),c.jsxs("p",{className:"qs-header-sub",children:["Create an org team in a few steps, or ",c.jsx("button",{className:"qs-link-btn",onClick:()=>t("architecture"),children:"use a template"})]})]})]}),c.jsx("div",{className:"qs-progress",children:[{n:1,icon:Wr.people,label:"Team Members"},{n:2,icon:Wr.check,label:"Preview"}].map(g=>c.jsxs("div",{className:`qs-step${n===g.n?" qs-step-active":n>g.n?" qs-step-done":""}`,children:[c.jsx("img",{src:g.icon,alt:"",className:"qs-step-icon"}),c.jsx("span",{children:g.label})]},g.n))}),n===1&&c.jsxs("div",{className:"qs-panel",children:[c.jsx("h4",{children:"Who's on your team?"}),c.jsx("p",{className:"qs-hint",children:"Add each team member with their name and what they do."}),c.jsx("div",{className:"qs-members",children:r.map((g,y)=>c.jsxs("div",{className:"qs-member-row",children:[c.jsx("input",{className:"qs-member-name",value:g.name,placeholder:"Role name (e.g. Engineer)",onChange:v=>u(y,"name",v.target.value)}),c.jsx("input",{className:"qs-member-resp",value:g.resp,placeholder:"What do they do?",onChange:v=>u(y,"resp",v.target.value)}),c.jsxs("select",{className:"qs-member-parent",value:g.parent,onChange:v=>u(y,"parent",v.target.value),children:[c.jsx("option",{value:"owner",children:"Reports to you"}),h.filter(v=>v!==g.name.trim()).map(v=>c.jsx("option",{value:v,children:`Managed by ${v}`},v))]}),r.length>1&&c.jsx("button",{className:"qs-remove-btn",onClick:()=>d(y),title:"Remove",children:c.jsx("img",{src:Wr.trash,alt:"",className:"qs-remove-icon"})})]},y))}),c.jsxs("button",{className:"qs-add-member",onClick:a,children:[c.jsx("img",{src:Wr.addPerson,alt:"",className:"qs-add-icon"})," Add another member"]}),c.jsxs("div",{className:"qs-nav",children:[c.jsx("span",{}),c.jsx("button",{className:"oc-btn-primary",onClick:()=>i(2),disabled:m.length===0,children:"Next: Preview โ†’"})]})]}),n===2&&c.jsxs("div",{className:"qs-panel",children:[c.jsx("h4",{children:"Your team at a glance"}),c.jsxs("div",{className:"qs-preview",children:[c.jsxs("div",{className:"qs-preview-section",children:[c.jsxs("h5",{children:["Team (",m.length," members)"]}),m.map((g,y)=>c.jsxs("div",{className:"qs-preview-member",children:[c.jsx("strong",{children:g.name}),g.resp&&c.jsxs("span",{className:"qs-preview-resp",children:[" โ€” ",g.resp]}),c.jsx("span",{className:"qs-preview-parent",children:g.parent==="owner"?" (reports to you)":` (managed by ${g.parent})`})]},y))]}),c.jsxs("div",{className:"qs-preview-section",children:[c.jsx("h5",{children:"Actor Runtime"}),c.jsx("p",{children:"Seat routing and delegation will be derived from your reporting structure and any team seats you configure later."})]})]}),c.jsxs("div",{className:"qs-nav",children:[c.jsx("button",{className:"oc-btn-ghost",onClick:()=>i(1),children:"โ† Back"}),c.jsx("button",{className:"oc-btn-primary qs-create-btn",onClick:p,children:"Create Team"})]})]})]})}function LQ({roles:e,employees:t,sessionRecruitmentByRole:n,isCustomMode:i,onAddRole:r,onBulkAddRoles:o,onUpdateRole:a,onDeleteRole:u,onExport:d,onImportEmployee:m,onResetArchitecture:h,onSwitchToTab:p,savedOrgsList:g,activeSavedOrg:y,currentOrgVersion:v,versionAtLoad:k,onSavedOrgsList:S,onSavedOrgSaveAs:_,onSavedOrgLoad:w,onSavedOrgDelete:C}){const[N,O]=E.useState(!1),[I,D]=E.useState(!1),[T,L]=E.useState(""),[A,M]=E.useState(""),[$,W]=E.useState(""),[B,U]=E.useState("1.0.0"),F=E.useMemo(()=>{const K=new Map;for(const ee of t){const te=ee.role_ids?.length?ee.role_ids:[ee.role_id];for(const ie of te){if(!ie)continue;const oe=K.get(ie)||[];oe.push(ee),K.set(ie,oe)}}return K},[t]),V=()=>{!T.trim()||!A.trim()||(d({package_id:T.trim(),name:A.trim(),description:$,version:B}),D(!1),L(""),M(""),W(""),U("1.0.0"))},Y=E.useRef(null);E.useEffect(()=>{N&&e.length>0&&(O(!1),Y.current&&(clearTimeout(Y.current),Y.current=null))},[e.length,N]),E.useEffect(()=>{if(N)return Y.current=setTimeout(()=>O(!1),1e4),()=>{Y.current&&clearTimeout(Y.current)}},[N]);const Q=K=>{const ee=new Map,te=new Set,ie=[];for(const oe of K){let fe=oe.name.toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9-]/g,"").replace(/^-+|-+$/g,"");if(!fe)continue;let se=fe,_e=2;for(;te.has(se);)se=`${fe}-${_e++}`;te.add(se),ee.set(oe.name,se);const we=oe.reportsTo==="owner"?"owner":ee.get(oe.reportsTo)||"owner";ie.push({role_id:se,name:oe.name,responsibility:oe.responsibility,reports_to:we})}if(ie.length!==0)if(o)O(!0),o(ie);else{for(const oe of ie)r(oe.role_id,oe.name,oe.responsibility,oe.reports_to);O(!0)}},q=()=>{confirm("This will remove all org roles, employees, and work-item templates. Continue?")&&h?.()},G=E.useMemo(()=>{let K=0;for(const ee of e)(F.get(ee.role_id)??[]).length>0&&(K+=1);return K},[e,F]),J=E.useMemo(()=>t.filter(K=>K.linked_agent_id).length,[t]),P=Math.max(0,e.length-G);return i&&e.length===0?c.jsx("div",{className:"team-view",children:N?c.jsx("div",{className:"qs-wizard",children:c.jsxs("div",{className:"qs-loading",children:[c.jsx("span",{className:"spinner-inline"})," Setting up your team..."]})}):c.jsx(OQ,{onComplete:Q,onSwitchToTab:p})}):c.jsxs("div",{className:"team-view",children:[c.jsxs("div",{className:`team-command-bar${i?" team-command-bar--editable":" team-command-bar--readonly"}`,children:[c.jsxs("div",{className:"team-command-copy",children:[c.jsx("span",{className:"team-command-eyebrow",children:i?"Saved org workspace":"Corporate baseline"}),c.jsx("span",{className:"team-command-title",children:i?"Editable company architecture":"Built-in company architecture"})]}),c.jsxs("div",{className:"team-command-metrics",children:[c.jsxs("span",{children:[c.jsx("b",{children:G})," staffed roles"]}),c.jsxs("span",{children:[c.jsx("b",{children:P})," vacant"]}),c.jsxs("span",{children:[c.jsx("b",{children:J})," in office"]})]}),i&&c.jsxs("div",{className:"team-command-actions",children:[c.jsxs("button",{className:"myorg-inline-btn",onClick:()=>p("employees"),children:[c.jsx("img",{src:Wr.addPerson,alt:"",className:"myorg-inline-icon"})," Hire Talent"]}),c.jsx("button",{className:"btn btn-ghost btn-sm",onClick:()=>D(!0),children:"Export Package"}),h&&c.jsxs("button",{className:"myorg-reset-btn",onClick:q,children:[c.jsx("img",{src:Wr.trash,alt:"",className:"myorg-reset-icon"})," Reset"]})]})]}),!i&&c.jsx("div",{className:"team-readonly-strip",children:"Corporate is fixed and read-only; saved company architectures are edited separately."}),c.jsx(DQ,{roles:e,employees:t,sessionRecruitmentByRole:n,isCustomMode:i,onAddRole:r,onUpdateRole:a,onDeleteRole:u,savedOrgsList:g??null,activeSavedOrg:y??null,currentOrgVersion:v??0,versionAtLoad:k??null,onSavedOrgsList:S,onSavedOrgSaveAs:_,onSavedOrgLoad:w,onSavedOrgDelete:C}),I&&c.jsxs("div",{className:"myorg-form",children:[c.jsx("h4",{className:"myorg-form-title",children:"Export as .opcpkg"}),c.jsxs("div",{className:"oc-form-row",children:[c.jsx("label",{children:"Package ID"}),c.jsx("input",{value:T,onChange:K=>L(K.target.value),placeholder:"my-architecture"})]}),c.jsxs("div",{className:"oc-form-row",children:[c.jsx("label",{children:"Name"}),c.jsx("input",{value:A,onChange:K=>M(K.target.value),placeholder:"My Architecture"})]}),c.jsxs("div",{className:"oc-form-row",children:[c.jsx("label",{children:"Description"}),c.jsx("input",{value:$,onChange:K=>W(K.target.value),placeholder:"An org team structure"})]}),c.jsxs("div",{className:"oc-form-row",children:[c.jsx("label",{children:"Version"}),c.jsx("input",{value:B,onChange:K=>U(K.target.value)})]}),c.jsxs("div",{className:"oc-form-actions",children:[c.jsx("button",{className:"oc-btn-primary",onClick:V,disabled:!T.trim()||!A.trim(),children:"Export"}),c.jsx("button",{className:"oc-btn-ghost",onClick:()=>D(!1),children:"Cancel"})]})]}),c.jsxs("div",{className:"myorg-section",children:[c.jsxs("div",{className:"myorg-section-header",children:[c.jsx("img",{src:Wr.team,alt:"",className:"myorg-section-icon"}),c.jsx("h3",{className:"myorg-section-title",children:"Team Roster"}),c.jsxs("span",{className:"myorg-section-count",children:[t.length," members"]}),c.jsx("span",{className:"myorg-section-spacer"}),c.jsxs("span",{className:"myorg-section-note",children:[G,"/",e.length," staffed"]})]}),c.jsx("div",{className:"team-roster-grid",children:e.map(K=>{const ee=F.get(K.role_id)||[];return c.jsxs("div",{className:"team-roster-card",children:[c.jsxs("div",{className:"team-roster-card-header",children:[c.jsx("img",{src:Du(K.icon),alt:"",className:"team-roster-card-icon"}),c.jsx("span",{className:"team-roster-role-name",children:K.name}),c.jsx("span",{className:"team-roster-count",children:ee.length||"vacant"})]}),ee.length>0?ee.map(te=>c.jsxs("div",{className:"team-roster-emp",children:[c.jsx("img",{src:Wr.person,alt:"",className:"team-roster-emp-avatar"}),c.jsxs("div",{className:"team-roster-emp-info",children:[c.jsx("span",{className:"team-roster-emp-name",children:te.name}),c.jsx("span",{className:`team-roster-seniority team-roster-seniority--${te.seniority}`,children:te.seniority})]}),te.linked_agent_id?c.jsx("span",{className:"team-roster-badge team-roster-badge--active",children:"In Office"}):m&&te.role_id?c.jsxs("button",{className:"team-roster-deploy-btn",onClick:()=>m(te.employee_id),title:"Add this employee to the office workspace",children:[c.jsx("img",{src:Wr.deploy,alt:"",className:"team-roster-deploy-icon"})," Deploy"]}):null]},te.employee_id)):c.jsxs("div",{className:"team-roster-vacant",children:[c.jsx("span",{className:"team-roster-vacant-text",children:"No members yet"}),i&&c.jsx("button",{className:"team-roster-hire-btn",onClick:()=>p("employees"),children:"Hire"})]})]},K.role_id)})})]})]})}function ip(e){if(e.adaptive&&typeof e.adaptive=="object")return e.adaptive;const t=e.metadata;if(t&&typeof t=="object"&&t.adaptive&&typeof t.adaptive=="object")return t.adaptive}function zQ(e){const t=ip(e);return(Array.isArray(t?.signals)?t.signals:[]).filter(i=>i&&typeof i=="object").filter(i=>!!(i.required??!0)&&!i.satisfied).map(i=>String(i.name??"").trim()).filter(Boolean)}function PQ(e){const n=ip(e)?.work_item_profile;return n&&typeof n=="object"?String(n.gate_owner_role_id??"").trim():""}function BQ(e){const t=ip(e),n=typeof t?.confidence=="number"?t.confidence:void 0;return typeof n=="number"?`${Math.round(n*100)}%`:""}function $Q({roles:e,runtimeTeams:t,runtimeSeats:n,workItems:i,frontier:r,companyProfile:o,runtimePolicy:a,finalDeciderRoleId:u,topLevelRoleIds:d,readOnly:m=!1,onUpdateOrgStrategy:h,onUpdateRuntimePolicy:p}){const g=e.filter(S=>(d??[]).includes(S.role_id)),y=u||(g.length===1?g[0]?.role_id:""),v=g.length>1&&!y,k=new Map(e.map(S=>[S.role_id,S.name]));return c.jsxs("div",{className:"wfe-container",children:[c.jsxs("div",{className:"wfe-header",children:[c.jsx("h3",{className:"wfe-title",children:"Actor Runtime"}),c.jsx("span",{className:"wfe-profile-badge",children:o})]}),c.jsx("div",{className:"myorg-collapsible",style:{margin:"0 0 8px"},children:c.jsxs("div",{className:"myorg-collapsible-body",style:{display:"block"},children:[c.jsxs("div",{className:"oc-form-row",children:[c.jsx("label",{children:"Final decider"}),c.jsxs("select",{value:y,disabled:m,onChange:S=>{m||h?.({final_decider_role_id:S.target.value||null})},children:[c.jsx("option",{value:"",children:g.length>1?"Select top-level role":"Auto-select only top-level role"}),g.map(S=>c.jsx("option",{value:S.role_id,children:S.name},S.role_id))]})]}),c.jsx("div",{style:{fontSize:12,color:"var(--text-secondary)"},children:"Runtime wakeups, delegation, approvals, and recovery are seat-scoped."}),v&&c.jsx("div",{className:"org-toast org-toast--warn",style:{margin:"0 0 8px"},children:"Multiple top-level roles exist. Select one final decider before company execution can start."})]})}),t.length||n.length||i.length?c.jsx("div",{className:"myorg-collapsible",style:{margin:"0 0 8px"},children:c.jsxs("div",{className:"myorg-collapsible-body",style:{display:"block"},children:[c.jsxs("div",{className:"oc-form-row",children:[c.jsx("label",{children:"Runtime"}),c.jsxs("div",{children:[r.status||"running",r.run_id?` (${r.run_id.slice(0,8)})`:""]})]}),c.jsxs("div",{className:"oc-form-row",children:[c.jsx("label",{children:"Frontier"}),c.jsxs("div",{children:[r.running_count??0," running, ",r.ready_count??0," ready, ",r.blocked_count??0," blocked, ",r.waiting_count??0," waiting"]})]}),c.jsxs("div",{className:"oc-form-row",children:[c.jsx("label",{children:"Teams"}),c.jsx("div",{children:t.length})]}),c.jsxs("div",{className:"oc-form-row",children:[c.jsx("label",{children:"Seats"}),c.jsx("div",{children:n.length})]}),c.jsxs("div",{className:"oc-form-row",children:[c.jsx("label",{children:"Work items"}),c.jsx("div",{children:i.length})]}),i.length>0&&c.jsx("div",{style:{fontSize:12,color:"var(--text-secondary)"},children:i.slice(0,6).map(S=>{const _=ip(S),w=typeof _?.normalized_state=="string"?_.normalized_state:"",C=typeof _?.blocked_reason=="string"?_.blocked_reason:S.blocked_reason??"",N=PQ(S),O=zQ(S),I=BQ(S),D=[C?`waiting ${C}`:"",N?`gate ${k.get(N)??N}`:"",O.length?`signals ${O.join(", ")}`:"",I?`confidence ${I}`:"",w==="invalidated"?"invalidated":""].filter(Boolean);return c.jsxs("div",{style:{marginBottom:6},children:[c.jsxs("div",{children:[k.get(S.role_id)??S.role_id,": ",S.title," [",S.phase,"]",S.kanban_column&&c.jsxs("span",{style:{opacity:.5},children:[" ยท ",S.kanban_column]}),S.batch_id&&c.jsxs("span",{style:{opacity:.5},children:[" batch:",S.batch_id]}),w&&w!==S.phase&&c.jsxs("span",{style:{opacity:.7},children:[" state:",w]})]}),D.length>0&&c.jsx("div",{style:{marginLeft:12,opacity:.85},children:D.join(" โ€ข ")})]},S.work_item_id)})})]})}):null]})}function HQ({pkg:e,onUninstall:t,uninstallingId:n}){const i=n===e.package_id;return c.jsxs("div",{className:"pkg-card",children:[c.jsxs("div",{className:"pkg-card-header",children:[c.jsx("img",{src:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M20.54 5.23l-1.39-1.68C18.88 3.21 18.47 3 18 3H6c-.47 0-.88.21-1.16.55L3.46 5.23C3.17 5.57 3 6.02 3 6.5V19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6.5c0-.48-.17-.93-.46-1.27zM12 17.5L6.5 12H10v-2h4v2h3.5L12 17.5zM5.12 5l.81-1h12l.94 1H5.12z'/%3E%3C/svg%3E",alt:"package",className:"pkg-card-icon"}),c.jsxs("div",{className:"pkg-card-title-wrap",children:[c.jsx("span",{className:"pkg-card-name",children:e.name||e.package_id}),c.jsxs("span",{className:"pkg-card-version",children:["v",e.version]})]})]}),c.jsxs("div",{className:"pkg-card-stats",children:[c.jsxs("span",{className:"pkg-card-stat",children:[c.jsx("img",{src:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E",alt:"roles",className:"pkg-stat-icon"}),e.role_ids.length," roles"]}),c.jsxs("span",{className:"pkg-card-stat",children:[c.jsx("img",{src:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.11-.9-2-2-2zm-5 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z'/%3E%3C/svg%3E",alt:"templates",className:"pkg-stat-icon"}),e.template_ids.length," templates"]})]}),e.installed_at&&c.jsxs("div",{className:"pkg-card-date",children:["Installed ",new Date(e.installed_at).toLocaleDateString()]}),t&&c.jsx("div",{className:"pkg-card-actions",children:c.jsx("button",{className:"pkg-btn pkg-btn-danger",disabled:i,onClick:r=>{r.stopPropagation(),t(e.package_id)},children:i?"Removing...":"Uninstall"})})]})}function Sy({icon:e,title:t,count:n,extra:i,children:r,defaultExpanded:o=!1}){const[a,u]=E.useState(o);return c.jsxs("div",{className:"myorg-collapsible",children:[c.jsxs("button",{className:"myorg-collapsible-toggle",onClick:()=>u(!a),children:[c.jsx("span",{className:"myorg-toggle-icon",children:a?"โ–พ":"โ–ธ"}),c.jsx("img",{src:e,alt:"",className:"myorg-section-icon"}),c.jsx("span",{className:"myorg-collapsible-title",children:t}),c.jsx("span",{className:"myorg-collapsible-count",children:n}),i&&c.jsx("span",{className:"myorg-collapsible-extra",onClick:d=>d.stopPropagation(),children:i})]}),a&&c.jsx("div",{className:"myorg-collapsible-body",children:r})]})}const qr={search:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M15.5 14h-.79l-.28-.27a6.5 6.5 0 1 0-.7.7l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0A4.5 4.5 0 1 1 14 9.5 4.5 4.5 0 0 1 9.5 14z'/%3E%3C/svg%3E",arch:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z'/%3E%3C/svg%3E",packages:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M20.54 5.23l-1.39-1.68C18.88 3.21 18.47 3 18 3H6c-.47 0-.88.21-1.16.55L3.46 5.23C3.17 5.57 3 6.02 3 6.5V19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6.5c0-.48-.17-.93-.46-1.27zM12 17.5L6.5 12H10v-2h4v2h3.5L12 17.5zM5.12 5l.81-1h12l.94 1H5.12z'/%3E%3C/svg%3E",channels:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M1 9l2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9zm8 8l3 3 3-3c-1.65-1.66-4.34-1.66-6 0zm-4-4l2 2c2.76-2.76 7.24-2.76 10 0l2-2C15.14 9.14 8.87 9.14 5 13z'/%3E%3C/svg%3E",reorg:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M6.99 11L3 15l3.99 4v-3H14v-2H6.99v-3zM21 9l-3.99-4v3H10v2h7.01v3L21 9z'/%3E%3C/svg%3E",importPkg:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z'/%3E%3C/svg%3E",arrow:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z'/%3E%3C/svg%3E",gateReview:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23f59e0b' d='M12 2L4 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-3zm-2 16l-4-4 1.41-1.41L10 15.17l6.59-6.59L18 10l-8 8z'/%3E%3C/svg%3E",gateApproval:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2322c55e' d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z'/%3E%3C/svg%3E",gateHold:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ef4444' d='M6 19h4V5H6v14zm8-14v14h4V5h-4z'/%3E%3C/svg%3E"},C0={pipeline:"Pipeline",hub_spoke:"Hub & Spoke",review_loop:"Review Loop",hierarchical:"Hierarchical",flat:"Flat Team"};function FQ({presets:e,installedIds:t,previewData:n,applyingPresetId:i,readOnly:r,onPreview:o,onApplyPreset:a,onClearPreview:u,installedPackages:d,channels:m,reorgProposals:h,isCustomMode:p,onReorgDecide:g,onMarketInstall:y,onMarketUninstall:v}){const[k,S]=E.useState(""),[_,w]=E.useState(null),[C,N]=E.useState(null),[O,I]=E.useState(!1),[D,T]=E.useState(""),[L,A]=E.useState(null),M=E.useMemo(()=>{const F=new Set;for(const V of e)V.category&&F.add(V.category);return Array.from(F).sort()},[e]),$=E.useMemo(()=>{const F=new Set;for(const V of e)V.collaboration_pattern&&F.add(V.collaboration_pattern);return Array.from(F).sort()},[e]),W=E.useMemo(()=>{let F=e;if(_&&(F=F.filter(V=>V.category===_)),C&&(F=F.filter(V=>V.collaboration_pattern===C)),k.trim()){const V=k.trim().toLowerCase();F=F.filter(Y=>Y.name.toLowerCase().includes(V)||Y.description.toLowerCase().includes(V)||Y.tags.some(Q=>Q.toLowerCase().includes(V))||(C0[Y.collaboration_pattern]||"").toLowerCase().includes(V))}return F},[e,_,C,k]),B=()=>{D.trim()&&(y(D.trim(),"namespace"),I(!1),T(""))},U=F=>{confirm("Uninstall this package? Roles and work-item templates from this package will be removed.")&&(A(F),v(F),setTimeout(()=>A(null),3e3))};return c.jsxs("div",{className:"mkt-container","data-testid":"architecture-marketplace",children:[c.jsxs("div",{className:"mkt-toolbar",children:[c.jsxs("div",{className:"mkt-search-wrap",children:[c.jsx("img",{src:qr.search,alt:"",className:"mkt-search-icon"}),c.jsx("input",{className:"mkt-search",placeholder:"Search architectures...",value:k,onChange:F=>S(F.target.value)})]}),c.jsxs("span",{className:"mkt-count",children:[W.length," architectures"]})]}),c.jsxs("div",{className:"mkt-filters",children:[M.length>0&&c.jsxs("div",{className:"mkt-pill-row",children:[c.jsx("button",{className:`mkt-pill${_?"":" active"}`,onClick:()=>w(null),children:"All"}),M.map(F=>c.jsx("button",{className:`mkt-pill${_===F?" active":""}`,onClick:()=>w(_===F?null:F),children:F},F))]}),$.length>0&&c.jsxs("div",{className:"mkt-pill-row",children:[c.jsx("button",{className:`mkt-pill mkt-pill-pattern${C?"":" active"}`,onClick:()=>N(null),children:"All Patterns"}),$.map(F=>c.jsx("button",{className:`mkt-pill mkt-pill-pattern${C===F?" active":""}`,onClick:()=>N(C===F?null:F),children:C0[F]||F},F))]})]}),W.length>0?c.jsxs("div",{className:"mkt-section",children:[c.jsxs("div",{className:"mkt-section-header",children:[c.jsx("img",{src:qr.arch,alt:"",className:"mkt-section-icon"}),c.jsx("h3",{className:"mkt-section-title",children:"Architecture Blueprints"}),c.jsx("span",{className:"mkt-section-count",children:W.length})]}),c.jsx("div",{className:"mkt-arch-grid",children:W.map(F=>c.jsx(VQ,{preset:F,isInstalled:t.has(F.id),isApplying:i===F.id,readOnly:r,onPreview:()=>o(F.id),onApply:()=>a(F.id,"namespace")},F.id))})]}):c.jsx("div",{className:"mkt-empty",children:c.jsx("p",{children:"No architectures match your search."})}),c.jsxs(Sy,{icon:qr.packages,title:"Installed Packages",count:d.length,extra:p?c.jsxs("button",{className:"myorg-inline-btn",onClick:()=>I(!O),children:[c.jsx("img",{src:qr.importPkg,alt:"",className:"myorg-inline-icon"})," Import"]}):void 0,children:[p&&O&&c.jsxs("div",{className:"myorg-form",children:[c.jsxs("div",{className:"oc-form-row",children:[c.jsx("label",{children:"Path"}),c.jsx("input",{value:D,onChange:F=>T(F.target.value),placeholder:"/path/to/package.opcpkg"})]}),c.jsxs("div",{className:"oc-form-actions",children:[c.jsx("button",{className:"oc-btn-primary",onClick:B,disabled:!D.trim(),children:"Install"}),c.jsx("button",{className:"oc-btn-ghost",onClick:()=>I(!1),children:"Cancel"})]})]}),d.length>0?c.jsx("div",{className:"pkg-grid",children:d.map(F=>c.jsx(HQ,{pkg:F,onUninstall:p?U:void 0,uninstallingId:L},F.package_id))}):c.jsx("div",{className:"myorg-empty-hint",children:"No packages installed."})]}),c.jsx(Sy,{icon:qr.channels,title:"Channels & Connectors",count:m.length,children:m.length>0?c.jsx("div",{className:"org-channels-grid",children:m.map(F=>c.jsxs("div",{className:`org-channel-card${F.running?" org-ch-running":""}${F.enabled?"":" org-ch-disabled"}`,children:[c.jsxs("div",{className:"org-ch-header",children:[c.jsx("span",{className:`org-ch-dot${F.running?" running":F.ready?" ready":F.configured?" configured":""}`}),c.jsx("span",{className:"org-ch-name",children:F.name})]}),c.jsxs("div",{className:"org-ch-status-row",children:[F.enabled&&c.jsx("span",{className:"org-ch-badge org-ch-enabled",children:"enabled"}),F.running&&c.jsx("span",{className:"org-ch-badge org-ch-running-badge",children:"running"}),!F.enabled&&c.jsx("span",{className:"org-ch-badge org-ch-off",children:"disabled"})]})]},F.name))}):c.jsx("div",{className:"myorg-empty-hint",children:"No channels configured."})}),h.length>0&&c.jsx(Sy,{icon:qr.reorg,title:"Reorg Proposals",count:h.length,children:c.jsx("div",{className:"org-reorg-list",children:h.map(F=>{const V=F.status==="proposed";return c.jsxs("div",{className:`org-reorg-card org-reorg-${F.status}`,children:[c.jsxs("div",{className:"org-reorg-header",children:[c.jsx("span",{className:"org-reorg-title",children:F.title||F.summary||"Untitled"}),c.jsx("span",{className:"org-reorg-status",children:F.status})]}),F.summary&&c.jsx("div",{className:"org-reorg-summary",children:F.summary}),V&&p&&c.jsxs("div",{className:"org-reorg-actions",children:[c.jsx("button",{className:"org-reorg-approve",onClick:()=>g(F.proposal_id,!0),children:"Approve"}),c.jsx("button",{className:"org-reorg-deny",onClick:()=>g(F.proposal_id,!1),children:"Deny"})]})]},F.proposal_id)})})}),n&&c.jsx(UQ,{data:n,isInstalled:t.has(n.id),isApplying:i===n.id,onApply:()=>a(n.id,"namespace"),onClose:u})]})}function VQ({preset:e,isInstalled:t,isApplying:n,readOnly:i,onPreview:r,onApply:o}){const a=C0[e.collaboration_pattern]||e.collaboration_pattern;return c.jsxs("div",{className:"mkt-arch-card",style:{borderLeftColor:e.color||"var(--accent)"},onClick:r,children:[c.jsxs("div",{className:"mkt-arch-header",children:[c.jsx("span",{className:"mkt-arch-emoji",children:e.emoji}),c.jsxs("div",{className:"mkt-arch-title-wrap",children:[c.jsx("span",{className:"mkt-arch-name",children:e.name}),c.jsxs("div",{className:"mkt-arch-badges",children:[c.jsx("span",{className:"mkt-arch-category",children:e.category}),e.collaboration_pattern&&c.jsx("span",{className:"mkt-arch-pattern",children:a})]})]})]}),e.dag_summary&&c.jsx("div",{className:"mkt-arch-dag-summary",children:e.dag_summary}),c.jsx("div",{className:"mkt-arch-desc",children:e.description}),c.jsxs("div",{className:"mkt-arch-stats",children:[c.jsxs("span",{className:"mkt-arch-stat",children:[e.roles_count," roles"]}),c.jsxs("span",{className:"mkt-arch-stat",children:[e.work_item_templates_count," templates"]}),e.gates_count>0&&c.jsxs("span",{className:"mkt-arch-stat",children:[e.gates_count," checkpoints"]}),e.team_size&&c.jsxs("span",{className:"mkt-arch-stat",children:[e.team_size," people"]})]}),e.tags.length>0&&c.jsx("div",{className:"mkt-arch-tags",children:e.tags.slice(0,4).map(u=>c.jsx("span",{className:"mkt-tag",children:u},u))}),c.jsxs("div",{className:"mkt-arch-actions",children:[t?c.jsx("span",{className:"mkt-installed-badge",children:"Installed"}):i?null:c.jsx("button",{className:"mkt-btn mkt-btn-primary mkt-btn-sm",disabled:n,onClick:u=>{u.stopPropagation(),o()},children:n?"Applying...":"Use This"}),c.jsx("button",{className:"mkt-btn mkt-btn-ghost mkt-btn-sm",onClick:u=>{u.stopPropagation(),r()},children:"Preview"})]})]})}function UQ({data:e,isInstalled:t,isApplying:n,onApply:i,onClose:r}){return c.jsx("div",{className:"mkt-modal-overlay",onClick:r,children:c.jsxs("div",{className:"mkt-modal",onClick:o=>o.stopPropagation(),children:[c.jsxs("div",{className:"mkt-modal-header",style:{borderBottomColor:e.color||"var(--border)"},children:[c.jsx("span",{className:"mkt-modal-emoji",children:e.emoji}),c.jsxs("div",{children:[c.jsx("h2",{className:"mkt-modal-name",children:e.name}),c.jsx("span",{className:"mkt-modal-category",children:e.category})]}),c.jsx("button",{className:"mkt-modal-close",onClick:r,children:"ร—"})]}),c.jsxs("div",{className:"mkt-modal-body",children:[c.jsx("p",{className:"mkt-modal-desc",children:e.description}),e.tags.length>0&&c.jsxs("div",{className:"mkt-modal-section",children:[c.jsx("div",{className:"mkt-modal-label",children:"Tags"}),c.jsx("div",{className:"mkt-modal-tags",children:e.tags.map(o=>c.jsx("span",{className:"mkt-tag",children:o},o))})]}),c.jsxs("div",{className:"mkt-modal-section",children:[c.jsxs("div",{className:"mkt-modal-label",children:["Roles (",e.roles.length,")"]}),c.jsx("div",{className:"mkt-role-list",children:e.roles.map(o=>c.jsxs("div",{className:"mkt-role-item",children:[c.jsxs("div",{className:"mkt-role-name",children:[o.name," ",c.jsx("code",{children:o.id})]}),c.jsx("div",{className:"mkt-role-resp",children:o.responsibility}),c.jsxs("div",{className:"mkt-role-meta",children:["reports to: ",c.jsx("code",{children:o.reports_to}),o.can_spawn&&o.can_spawn.length>0&&c.jsxs(c.Fragment,{children:[" ยท spawns: ",o.can_spawn.map(a=>c.jsx("code",{children:a},a))]})]})]},o.id))})]}),c.jsxs("div",{className:"mkt-modal-section",children:[c.jsxs("div",{className:"mkt-modal-label",children:["Work item templates (",e.work_item_templates.length," templates)"]}),c.jsx("div",{className:"mkt-dag-wrap",children:c.jsx(GQ,{templates:e.work_item_templates})})]})]}),c.jsx("div",{className:"mkt-modal-footer",children:t?c.jsx("span",{className:"mkt-installed-badge",children:"Already Installed"}):c.jsx("button",{className:"mkt-btn mkt-btn-primary",disabled:n,onClick:i,children:n?"Applying...":"Use This Architecture"})})]})})}function GQ({templates:e}){const t=[];let n="__init__",i=[];for(const r of e)r.parallel_group!==n?(i.length>0&&t.push({group:n,templates:i}),n=r.parallel_group,i=[r]):i.push(r);return i.length>0&&t.push({group:n,templates:i}),c.jsx("div",{className:"org-dag",children:t.map((r,o)=>c.jsxs("div",{className:"org-dag-group-wrap",children:[o>0&&c.jsx("div",{className:"org-dag-arrow",children:c.jsx("img",{src:qr.arrow,alt:"โ†’",className:"org-dag-arrow-icon"})}),c.jsxs("div",{className:`org-dag-group${r.templates.length>1?" org-dag-parallel":""}`,children:[r.templates.length>1&&c.jsx("div",{className:"org-dag-parallel-label",children:"parallel"}),r.templates.map(a=>c.jsxs("div",{className:"org-dag-node",children:[c.jsxs("div",{className:"org-dag-node-header",children:[c.jsx("span",{className:"org-dag-node-title",children:a.title}),c.jsx("span",{className:"org-dag-node-role",children:a.role_id})]}),c.jsx("div",{className:"org-dag-node-id",children:a.id}),a.gate&&c.jsxs("div",{className:`org-dag-gate org-gate-${a.gate.type}`,children:[c.jsx("img",{src:a.gate.type==="review"?qr.gateReview:a.gate.type==="approval"?qr.gateApproval:qr.gateHold,alt:"",className:"org-gate-icon"}),c.jsx("span",{children:a.gate.type}),a.gate.reviewer_role&&c.jsxs("span",{className:"org-gate-reviewer",children:["by ",a.gate.reviewer_role]})]})]},a.id))]})]},o))})}function qQ(e){const t=e.trim().split(/\s+/).filter(Boolean);return t.length===0?"?":t.length===1?t[0].slice(0,2).toUpperCase():(t[0][0]+t[t.length-1][0]).toUpperCase()}function WQ({template:e,hiringId:t,onHire:n,onClick:i}){const r=t===e.template_id,o=e.color?{background:`color-mix(in srgb, ${e.color} 18%, transparent)`,color:e.color,boxShadow:`inset 0 0 0 1px color-mix(in srgb, ${e.color} 28%, transparent)`}:void 0,a=[],u=new Set;for(const h of[...e.tags,...e.domains])u.has(h)||(u.add(h),a.push(h));const d=a.slice(0,3),m=a.length-d.length;return c.jsxs("div",{className:"tm-card",onClick:()=>i(e),children:[c.jsxs("div",{className:"tm-card-head",children:[c.jsx("div",{className:"tm-card-avatar",style:o,"aria-hidden":!0,children:e.emoji?c.jsx("span",{className:"tm-card-avatar-emoji",children:e.emoji}):c.jsx("span",{className:"tm-card-avatar-mono",children:qQ(e.name)})}),c.jsxs("div",{className:"tm-card-head-text",children:[c.jsxs("div",{className:"tm-card-name-row",children:[c.jsx("span",{className:"tm-card-name",title:e.name,children:e.name}),e.preferred_external_agent&&c.jsx("span",{className:"tm-card-agent-badge",title:`Agent: ${e.preferred_external_agent}`,children:e.preferred_external_agent})]}),e.category&&c.jsx("span",{className:"tm-card-category",children:e.category})]})]}),c.jsxs("div",{className:"tm-card-body",children:[e.vibe&&c.jsxs("div",{className:"tm-card-vibe",children:['"',e.vibe,'"']}),e.description&&c.jsx("div",{className:"tm-card-desc",children:e.description})]}),d.length>0&&c.jsxs("div",{className:"tm-card-chips",children:[d.map(h=>c.jsx("span",{className:"tm-card-chip",children:h},h)),m>0&&c.jsxs("span",{className:"tm-card-chip tm-card-chip-more",children:["+",m]})]}),c.jsx("div",{className:"tm-card-footer",children:c.jsx("button",{className:"tm-card-hire-btn",disabled:r,onClick:h=>{h.stopPropagation(),n(e.template_id)},children:r?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"spinner-inline"})," Hiring"]}):"Hire โ†’"})})]})}const $R=e=>e,HR=e=>e;function YQ({template:e,vacantRoles:t,hiringId:n,readOnly:i,onHire:r,onClose:o}){const[a,u]=E.useState(""),d=n===e.template_id,m=t.length===0,h=!i&&!d&&!m&&a!=="";E.useEffect(()=>{u("")},[e.template_id]);const p=()=>{h&&r(HR(e.template_id),$R(a))};return c.jsx("div",{className:"tm-detail-overlay",onClick:o,children:c.jsxs("div",{className:"tm-detail-modal",onClick:g=>g.stopPropagation(),children:[c.jsxs("div",{className:"tm-detail-header",style:{borderBottomColor:e.color||"var(--border)"},children:[e.emoji&&c.jsx("span",{className:"tm-detail-emoji",children:e.emoji}),c.jsxs("div",{children:[c.jsx("h2",{className:"tm-detail-name",children:e.name}),c.jsx("span",{className:"tm-detail-category",children:e.category})]}),c.jsx("button",{className:"tm-detail-close",onClick:o,children:"ร—"})]}),c.jsxs("div",{className:"tm-detail-body",children:[e.vibe&&c.jsxs("blockquote",{className:"tm-detail-vibe",children:['"',e.vibe,'"']}),e.description&&c.jsx("p",{className:"tm-detail-desc",children:e.description}),e.domains.length>0&&c.jsxs("div",{className:"tm-detail-section",children:[c.jsx("div",{className:"tm-detail-label",children:"Domains"}),c.jsx("div",{className:"tm-detail-tags",children:e.domains.map(g=>c.jsx("span",{className:"org-domain-tag",children:g},g))})]}),e.tags.length>0&&c.jsxs("div",{className:"tm-detail-section",children:[c.jsx("div",{className:"tm-detail-label",children:"Tags"}),c.jsx("div",{className:"tm-detail-tags",children:e.tags.map(g=>c.jsx("span",{className:"org-tool-tag",children:g},g))})]}),e.preferred_external_agent&&c.jsxs("div",{className:"tm-detail-section",children:[c.jsx("div",{className:"tm-detail-label",children:"Recommended Agent"}),c.jsx("span",{className:"tm-card-agent-badge",children:e.preferred_external_agent})]}),!i&&c.jsxs("div",{className:"tm-detail-section",children:[c.jsx("div",{className:"tm-detail-label",children:"Hire into role"}),m?c.jsx("p",{className:"tm-detail-vacancy-empty",children:"No vacant roles. Create a role in the Team tab first."}):c.jsx("div",{className:"tm-detail-role-list",role:"listbox","aria-label":"Vacant roles",children:t.map(g=>{const y=g.role_id===a;return c.jsxs("button",{type:"button",role:"option","aria-selected":y,className:`tm-detail-role-row${y?" is-selected":""}`,onClick:()=>u(g.role_id),children:[c.jsx("span",{className:"tm-detail-role-name",children:g.name}),g.responsibility&&c.jsx("span",{className:"tm-detail-role-resp",children:g.responsibility})]},g.role_id)})})]})]}),!i&&c.jsx("div",{className:"tm-detail-footer",children:c.jsx("button",{className:"tm-detail-hire-btn",disabled:!h,onClick:p,children:d?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"spinner-inline"})," Hiring..."]}):"Hire to selected role"})})]})})}function XQ({open:e,template:t,vacantRoles:n,onConfirm:i,onClose:r}){const[o,a]=E.useState("");if(E.useEffect(()=>{e&&a("")},[e,t?.template_id]),E.useEffect(()=>{if(!e)return;const h=p=>{p.key==="Escape"&&r()};return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[e,r]),!e||!t)return null;const u=n.length===0,d=!u&&o!=="",m=()=>{d&&i(HR(t.template_id),$R(o))};return c.jsx("div",{className:"htr-overlay",role:"dialog","aria-modal":"true",onMouseDown:r,children:c.jsxs("div",{className:"htr-modal",onMouseDown:h=>h.stopPropagation(),children:[c.jsxs("header",{className:"htr-header",children:[c.jsxs("div",{children:[c.jsxs("h3",{className:"htr-title",children:["Hire ",t.name]}),c.jsx("p",{className:"htr-subtitle",children:"Pick the role to fill with this employee."})]}),c.jsx("button",{className:"htr-close",type:"button",onClick:r,"aria-label":"Close",children:"x"})]}),c.jsx("div",{className:"htr-body",children:u?c.jsxs("div",{className:"htr-empty",children:[c.jsx("p",{className:"htr-empty-title",children:"No vacant roles."}),c.jsx("p",{className:"htr-empty-hint",children:"Add a role in the Team tab first, then come back to hire."})]}):c.jsx("div",{className:"htr-role-list",role:"listbox","aria-label":"Vacant roles",children:n.map(h=>{const p=h.role_id===o;return c.jsxs("button",{type:"button",role:"option","aria-selected":p,className:`htr-role-row${p?" is-selected":""}`,onClick:()=>a(h.role_id),children:[c.jsx("span",{className:"htr-role-name",children:h.name}),h.responsibility&&c.jsx("span",{className:"htr-role-resp",children:h.responsibility})]},h.role_id)})})}),c.jsxs("footer",{className:"htr-footer",children:[c.jsx("button",{type:"button",className:"btn btn-ghost",onClick:r,children:u?"Close":"Cancel"}),!u&&c.jsx("button",{type:"button",className:"btn btn-primary",onClick:m,disabled:!d,children:"Hire to selected role"})]})]})})}const Sj={search:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M15.5 14h-.79l-.28-.27a6.5 6.5 0 1 0-.7.7l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0A4.5 4.5 0 1 1 14 9.5 4.5 4.5 0 0 1 9.5 14z'/%3E%3C/svg%3E",talent:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E"};function KQ({templates:e,vacantRoles:t,hiringTemplateId:n,readOnly:i,onHireTalent:r}){const[o,a]=E.useState(""),[u,d]=E.useState(null),[m,h]=E.useState(null),[p,g]=E.useState(null),y=E.useMemo(()=>{const S=new Set;for(const _ of e)_.category&&S.add(_.category);return Array.from(S).sort()},[e]),v=E.useMemo(()=>{let S=e;if(u&&(S=S.filter(_=>_.category===u)),o.trim()){const _=o.trim().toLowerCase();S=S.filter(w=>w.name.toLowerCase().includes(_)||w.description.toLowerCase().includes(_)||w.domains.some(C=>C.toLowerCase().includes(_))||w.tags.some(C=>C.toLowerCase().includes(_))||(w.vibe??"").toLowerCase().includes(_))}return S},[e,u,o]),k=S=>{if(i)return;const _=e.find(w=>w.template_id===S);_&&g(_)};return c.jsxs("div",{className:"mkt-container","data-testid":"employees-marketplace",children:[c.jsxs("div",{className:"mkt-toolbar",children:[c.jsxs("div",{className:"mkt-search-wrap",children:[c.jsx("img",{src:Sj.search,alt:"",className:"mkt-search-icon"}),c.jsx("input",{className:"mkt-search",placeholder:"Search talent templates...",value:o,onChange:S=>a(S.target.value)})]}),c.jsxs("span",{className:"mkt-count",children:[v.length," employees",t.length>0&&c.jsxs(c.Fragment,{children:[" ยท ",t.length," vacant role",t.length===1?"":"s"]})]})]}),y.length>0&&c.jsx("div",{className:"mkt-filters",children:c.jsxs("div",{className:"mkt-pill-row",children:[c.jsx("button",{className:`mkt-pill${u?"":" active"}`,onClick:()=>d(null),children:"All"}),y.map(S=>c.jsx("button",{className:`mkt-pill${u===S?" active":""}`,onClick:()=>d(u===S?null:S),children:S},S))]})}),v.length>0?c.jsxs("div",{className:"mkt-section",children:[c.jsxs("div",{className:"mkt-section-header",children:[c.jsx("img",{src:Sj.talent,alt:"",className:"mkt-section-icon"}),c.jsx("h3",{className:"mkt-section-title",children:"Talent Templates"}),c.jsx("span",{className:"mkt-section-count",children:v.length})]}),c.jsx("div",{className:"tm-grid",children:v.map(S=>c.jsx(WQ,{template:S,hiringId:n,onHire:k,onClick:h},S.template_id))})]}):c.jsx("div",{className:"mkt-empty",children:c.jsx("p",{children:e.length===0?"No talent templates available.":"No employees match your search."})}),m&&c.jsx(YQ,{template:m,vacantRoles:t,hiringId:n,readOnly:i,onHire:(S,_)=>{i||(r(S,_),h(null))},onClose:()=>h(null)}),c.jsx(XQ,{open:p!==null,template:p,vacantRoles:t,onConfirm:(S,_)=>{r(S,_),g(null)},onClose:()=>g(null)})]})}const Vc={download:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z'/%3E%3C/svg%3E",upload:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M9 16h6v-6h4l-7-7-7 7h4zm-4 2h14v2H5z'/%3E%3C/svg%3E",check:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2322c55e' d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z'/%3E%3C/svg%3E",warn:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ef4444' d='M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z'/%3E%3C/svg%3E"};function ZQ({onExport:e,onImport:t,configExportYaml:n,importPreview:i,importError:r}){const[o,a]=E.useState(""),[u,d]=E.useState(null),[m,h]=E.useState(!1),p=E.useRef(!1),g=E.useRef(null);E.useEffect(()=>{if(!p.current||!n||n===g.current)return;g.current=n,p.current=!1;const w=new Blob([n],{type:"application/x-yaml"}),C=URL.createObjectURL(w),N=document.createElement("a");N.href=C;const O=new Date().toISOString().replace(/[:.]/g,"-").slice(0,19);N.download=`org_config_${O}.yaml`,document.body.appendChild(N),N.click(),document.body.removeChild(N),URL.revokeObjectURL(C)},[n]),E.useEffect(()=>{h(!1)},[o]),E.useEffect(()=>{i&&!r&&h(!0)},[i,r]);const y=()=>{p.current=!0,e()},v=w=>{const C=w.target.files?.[0];if(!C)return;d(C.name);const N=new FileReader;N.onload=()=>{const O=N.result;typeof O=="string"&&a(O)},N.readAsText(C),w.target.value=""},k=()=>{o.trim()&&t(o,!0)},S=()=>{!m||!o.trim()||confirm("Apply this config? The current company architecture will be overwritten.")&&(t(o,!1),h(!1),a(""),d(null))},_=()=>{a(""),d(null),h(!1)};return c.jsxs("div",{className:"cfg-io-panel","data-testid":"config-import-export-panel",children:[c.jsxs("div",{className:"cfg-io-header",children:[c.jsx("h3",{className:"cfg-io-title",children:"Config Import / Export"}),c.jsx("p",{className:"cfg-io-subtitle",children:"Download the current company architecture as YAML, or upload one to replace it."})]}),c.jsxs("div",{className:"cfg-io-section",children:[c.jsxs("div",{className:"cfg-io-section-header",children:[c.jsx("img",{src:Vc.download,alt:"",className:"cfg-io-section-icon"}),c.jsx("span",{className:"cfg-io-section-title",children:"Download current config"})]}),c.jsxs("button",{className:"cfg-io-btn cfg-io-btn-primary",onClick:y,children:[c.jsx("img",{src:Vc.download,alt:"",className:"cfg-io-btn-icon"})," Download YAML"]})]}),c.jsxs("div",{className:"cfg-io-section",children:[c.jsxs("div",{className:"cfg-io-section-header",children:[c.jsx("img",{src:Vc.upload,alt:"",className:"cfg-io-section-icon"}),c.jsx("span",{className:"cfg-io-section-title",children:"Upload config"})]}),c.jsx("div",{className:"cfg-io-upload-row",children:c.jsxs("label",{className:"cfg-io-file-label",children:[c.jsx("input",{type:"file",accept:".yaml,.yml",onChange:v,className:"cfg-io-file-input"}),c.jsx("span",{className:"cfg-io-file-btn",children:"Choose fileโ€ฆ"}),c.jsx("span",{className:"cfg-io-file-name",children:u??"no file selected"})]})}),c.jsx("textarea",{className:"cfg-io-textarea",placeholder:"โ€ฆor paste YAML here",value:o,onChange:w=>a(w.target.value),spellCheck:!1,rows:10}),c.jsxs("div",{className:"cfg-io-actions",children:[c.jsx("button",{className:"cfg-io-btn cfg-io-btn-ghost",onClick:k,disabled:!o.trim(),children:"Dry run"}),c.jsx("button",{className:"cfg-io-btn cfg-io-btn-primary",onClick:S,disabled:!m||!o.trim(),children:"Apply"}),o&&c.jsx("button",{className:"cfg-io-btn cfg-io-btn-ghost",onClick:_,children:"Clear"})]}),i&&!r&&c.jsxs("div",{className:"cfg-io-preview",children:[c.jsx("img",{src:Vc.check,alt:"",className:"cfg-io-preview-icon"}),c.jsxs("div",{className:"cfg-io-preview-body",children:[c.jsx("div",{className:"cfg-io-preview-title",children:"Dry run OK โ€” ready to apply"}),c.jsxs("div",{className:"cfg-io-preview-stats",children:[c.jsxs("span",{className:"cfg-io-preview-stat",children:[c.jsx("span",{className:"cfg-io-stat-label",children:"Roles added"}),c.jsx("span",{className:"cfg-io-stat-value",children:i.roles_added})]}),c.jsxs("span",{className:"cfg-io-preview-stat",children:[c.jsx("span",{className:"cfg-io-stat-label",children:"Roles removed"}),c.jsx("span",{className:"cfg-io-stat-value",children:i.roles_removed})]}),c.jsxs("span",{className:"cfg-io-preview-stat",children:[c.jsx("span",{className:"cfg-io-stat-label",children:"Employees changed"}),c.jsx("span",{className:"cfg-io-stat-value",children:i.employees_changed})]})]})]})]}),r&&c.jsxs("div",{className:"cfg-io-error",children:[c.jsx("img",{src:Vc.warn,alt:"",className:"cfg-io-error-icon"}),c.jsxs("div",{className:"cfg-io-error-body",children:[c.jsx("div",{className:"cfg-io-error-title",children:"Validation failed"}),c.jsx("pre",{className:"cfg-io-error-text",children:r})]})]})]})]})}const wj=[{name:"",responsibility:"",prompt:"",reportsToIndex:null},{name:"",responsibility:"",prompt:"",reportsToIndex:0}];function wy(e){return e.trim()||"Member"}function QQ({open:e,pending:t,result:n,onClose:i,onCreate:r}){const[o,a]=E.useState(1),[u,d]=E.useState(""),[m,h]=E.useState(wj),[p,g]=E.useState("");E.useEffect(()=>{e&&(a(1),d(""),h(wj),g(""))},[e]),E.useEffect(()=>{if(!(!e||!n)){if(n.ok){i();return}g(n.error||"Failed to create organization")}},[e,n,i]);const y=u.trim().length>0,v=E.useMemo(()=>m.map((D,T)=>({member:D,index:T})).filter(D=>D.member.name.trim()),[m]),k=E.useMemo(()=>new Map(v.map((D,T)=>[D.index,T])),[v]),S=v.length>=2,_=y&&S&&!t,w=E.useMemo(()=>v.map(({member:D,index:T},L)=>{const A=D.reportsToIndex==null?null:k.get(D.reportsToIndex);return{...D,roleName:wy(D.name),managerName:A!=null&&A{h(L=>L.map((A,M)=>M===D?{...A,...T}:A))},N=()=>{h(D=>[...D,{name:"",responsibility:"",prompt:"",reportsToIndex:0}])},O=D=>{h(T=>T.filter((A,M)=>M!==D).map((A,M)=>({...A,reportsToIndex:A.reportsToIndex==null?null:A.reportsToIndex>=D?Math.max(0,A.reportsToIndex-1):A.reportsToIndex})).map((A,M)=>M===0?{...A,reportsToIndex:null}:A))},I=()=>{_&&(g(""),r(u.trim(),v.map(({member:D},T)=>{const L=D.reportsToIndex==null?null:k.get(D.reportsToIndex);return{name:D.name.trim(),responsibility:D.responsibility.trim(),prompt:D.prompt.trim(),reports_to_index:L!=null&&LD.stopPropagation(),children:[c.jsxs("div",{className:"org-create-header",children:[c.jsxs("div",{children:[c.jsx("span",{className:"org-create-eyebrow",children:"New organization"}),c.jsx("h3",{id:"org-create-title",className:"org-create-title",children:"Create a saved org"})]}),c.jsx("button",{type:"button",className:"org-create-close",onClick:i,"aria-label":"Close",children:"x"})]}),c.jsx("div",{className:"org-create-steps","aria-label":"Create organization steps",children:[["1","Name"],["2","Members"],["3","Review"]].map(([D,T])=>c.jsxs("span",{className:`org-create-step${o===Number(D)?" org-create-step--active":o>Number(D)?" org-create-step--done":""}`,children:[c.jsx("span",{children:D}),T]},D))}),o===1&&c.jsx("div",{className:"org-create-panel",children:c.jsxs("label",{className:"org-create-field",children:[c.jsx("span",{children:"Organization name"}),c.jsx("input",{value:u,onChange:D=>d(D.target.value),placeholder:"HKU Research Lab",autoFocus:!0})]})}),o===2&&c.jsxs("div",{className:"org-create-panel",children:[c.jsx("div",{className:"org-create-member-list",children:m.map((D,T)=>c.jsxs("div",{className:"org-create-member-row",children:[c.jsx("input",{value:D.name,onChange:L=>C(T,{name:L.target.value}),placeholder:T===0?"Lead role":"Member role"}),c.jsx("input",{value:D.responsibility,onChange:L=>C(T,{responsibility:L.target.value}),placeholder:"Responsibility"}),c.jsxs("select",{value:D.reportsToIndex==null?"owner":String(D.reportsToIndex),onChange:L=>C(T,{reportsToIndex:L.target.value==="owner"?null:Number(L.target.value)}),disabled:T===0,"aria-label":"Reports to",children:[c.jsx("option",{value:"owner",children:"Owner"}),m.slice(0,T).map((L,A)=>c.jsx("option",{value:A,children:wy(L.name)},A))]}),c.jsx("button",{type:"button",className:"org-create-icon-btn",onClick:()=>O(T),disabled:m.length<=2,title:"Remove member","aria-label":"Remove member",children:"-"}),c.jsx("textarea",{value:D.prompt,onChange:L=>C(T,{prompt:L.target.value}),placeholder:"Prompt optional","aria-label":`${T===0?"Lead role":"Member role"} prompt optional`})]},T))}),c.jsx("button",{type:"button",className:"org-create-add",onClick:N,children:"+ Add member"})]}),o===3&&c.jsx("div",{className:"org-create-panel",children:c.jsxs("div",{className:"org-create-review",children:[c.jsxs("div",{className:"org-create-review-head",children:[c.jsx("span",{children:u.trim()}),c.jsxs("b",{children:[v.length," members"]})]}),w.map(D=>c.jsxs("div",{className:"org-create-review-row",children:[c.jsx("strong",{children:D.roleName}),c.jsxs("span",{children:[D.managerName,D.prompt.trim()?c.jsx("em",{children:"Prompt"}):null]})]},D.index))]})}),p&&c.jsx("div",{className:"org-create-error",children:p}),c.jsxs("div",{className:"org-create-actions",children:[c.jsx("button",{type:"button",className:"btn btn-ghost",onClick:o===1?i:()=>a(o-1),children:o===1?"Cancel":"Back"}),o<3?c.jsx("button",{type:"button",className:"btn btn-primary",onClick:()=>a(o+1),disabled:o===1?!y:!S,children:"Next"}):c.jsx("button",{type:"button",className:"btn btn-primary",onClick:I,disabled:!_,children:t?"Creating...":"Create organization"})]})]})})}const Ka={team:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z'/%3E%3C/svg%3E",runtime:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M13 2.05v2.02c3.95.49 7 3.85 7 7.93 0 3.21-1.81 6-4.72 7.72L13 17v5h5l-1.22-1.22C19.91 19.07 22 15.76 22 12c0-5.18-3.95-9.45-9-9.95zM11 2.05C5.95 2.55 2 6.82 2 12c0 3.76 2.09 7.07 5.22 8.78L6 22h5V2.05z'/%3E%3C/svg%3E",architecture:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z'/%3E%3C/svg%3E",employees:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E"},Cj={agents:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23888' d='M20 9V7c0-1.1-.9-2-2-2h-3c0-1.66-1.34-3-3-3S9 3.34 9 5H6c-1.1 0-2 .9-2 2v2c-1.66 0-3 1.34-3 3s1.34 3 3 3v4c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-4c1.66 0 3-1.34 3-3s-1.34-3-3-3z'/%3E%3C/svg%3E",active:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2322c55e' d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 14.5v-9l6 4.5-6 4.5z'/%3E%3C/svg%3E"};function JQ(e){const t=String(e??"").trim();return t?t.replace(/^org[_-]/i,"").replace(/[_-]+/g," ").replace(/\s+/g," ").trim().replace(/\b\w/g,n=>n.toUpperCase()):""}function eJ({data:e,sessionRecruitmentByRole:t,talents:n,employeeDetail:i,reorgProposals:r,isCustomMode:o,onRequestData:a,onRequestTalents:u,onRequestEmployeeDetail:d,onHireTalent:m,hiringTemplateId:h,onImportEmployee:p,onRequestReorgList:g,onReorgDecide:y,onMarketExport:v,onMarketInstall:k,onMarketUninstall:S,marketPresets:_,marketPreviewData:w,onMarketBrowse:C,onMarketPreview:N,onMarketApplyPreset:O,onMarketClearPreview:I,onAddRole:D,onBulkAddRoles:T,onUpdateRole:L,onDeleteRole:A,onUpdateOrgStrategy:M,onUpdateRuntimePolicy:$,onResetArchitecture:W,onConfigExport:B,onConfigImport:U,configExportYaml:F,configImportPreview:V,configImportError:Y,onSavedOrgsList:Q,onSavedOrgSaveAs:q,onSavedOrgCreate:G,onSavedOrgLoad:J,onSavedOrgDelete:P,savedOrgsList:K,activeSavedOrg:ee,activeSavedOrgVersionAtLoad:te,orgCreatePending:ie,orgCreateResult:oe,onSelectCorporate:fe}){const[se,_e]=E.useState("team"),[we,Ce]=E.useState(!1),Be=E.useCallback(Oe=>{_e(Oe)},[]),[Ve,Ye]=E.useState(null),ht=E.useRef(-1),[zt,bt]=E.useState(null),Nt=E.useRef(null),me=E.useCallback((Oe,nt="info")=>{bt({msg:Oe,type:nt}),Nt.current&&clearTimeout(Nt.current),Nt.current=setTimeout(()=>bt(null),3e3)},[]);E.useEffect(()=>()=>{Nt.current&&clearTimeout(Nt.current)},[]);const ze=E.useRef(a),lt=E.useRef(u),tt=E.useRef(g),qe=E.useRef(C),ce=E.useRef(Q);ze.current=a,lt.current=u,tt.current=g,qe.current=C,ce.current=Q,E.useEffect(()=>{ze.current(),lt.current(),tt.current(),qe.current?.(),ce.current?.()},[]),E.useEffect(()=>{!oe||!oe.ok||(Ce(!1),_e("team"),me(`Created ${oe.organization_name||oe.name} and saved automatically`))},[oe,me]);const ve=e?.roles??[],Ae=E.useMemo(()=>o?ve.filter(Oe=>!Oe.is_builtin):ve,[ve,o]),$e=E.useMemo(()=>e?.employees??[],[e?.employees]),He=E.useMemo(()=>zm(e),[e]),Kt=E.useMemo(()=>$e.filter(Oe=>Oe.linked_agent_id),[$e]),be=e?.organization_name?.trim()||JQ(ee)||(o?"Custom org":"Corporate company"),Re=(o?e?.organization_id||ee:"corporate")||"",Ue=o?"Saved org":"Corporate",Xe=o?ee?"Editable saved architecture":"Editable draft architecture":"Built-in read-only architecture",Ge=He.frontier.status||He.projectRun?.status||He.projectRun?.lifecycle_status||"ready",Je=E.useMemo(()=>{const Oe=new Set;for(const nt of $e){if(nt.is_default_employee)continue;const on=nt.role_ids?.length?nt.role_ids:[nt.role_id];for(const Zt of on)Zt&&Oe.add(Zt)}return Oe},[$e]),qn=E.useMemo(()=>Ae.filter(Oe=>!Je.has(Oe.role_id)),[Ae,Je]),In=E.useMemo(()=>new Set((e?.installed_packages??[]).map(Oe=>Oe.package_id)),[e?.installed_packages]),Dn=e?.org_version??0;E.useEffect(()=>{Ve&&ht.current>=0&&Dn!==ht.current&&(Ye(null),ht.current=-1,_e("team"),me("Architecture applied successfully"))},[Dn,Ve,me]);const Ie=(Oe,nt)=>{ht.current=Dn,Ye(Oe),O?.(Oe,nt)},Te=Oe=>{if(Oe==="corporate"){fe?.();return}if(Oe.startsWith("org:")){const nt=Oe.slice(4);nt&&J?.(nt)}};if(!e)return c.jsx("div",{className:"org-tab",children:c.jsx("div",{className:"org-loading",children:"Loading organization data..."})});const Ke=e.installed_packages??[],We=K??[],gt=o&&ee?`org:${ee}`:"corporate";return c.jsxs("div",{className:"org-tab",children:[c.jsxs("div",{className:`org-header${o?" org-header--custom":" org-header--corporate"}`,children:[c.jsxs("div",{className:"org-header-main",children:[c.jsxs("div",{className:"org-eyebrow",children:[c.jsx("span",{children:"Company"}),c.jsx("span",{className:"org-eyebrow-separator",children:"/"}),c.jsx("span",{children:Ue})]}),c.jsxs("div",{className:"org-title-row",children:[c.jsx("h2",{className:"org-title",children:be}),c.jsxs("span",{className:"org-version-badge",children:["v",e.org_version]}),c.jsx("span",{className:`org-state-badge${o?" org-state-badge--editable":" org-state-badge--readonly"}`,children:Xe})]}),c.jsxs("div",{className:"org-header-meta",children:[c.jsx("span",{className:"org-meta-pill",children:e.company_profile||(o?"custom":"corporate")}),Re&&c.jsx("code",{className:"org-meta-code",children:Re}),c.jsx("span",{className:"org-meta-pill org-meta-pill--runtime",children:Ge}),c.jsx("span",{className:"org-meta-pill org-meta-pill--saved",children:"Auto-saved"})]})]}),c.jsxs("div",{className:"org-control-panel",children:[c.jsxs("label",{className:"org-switcher",children:[c.jsx("span",{className:"org-switcher-label",children:"Organization"}),c.jsx("span",{className:"org-switcher-select-wrap",children:c.jsxs("select",{className:"org-switcher-select",value:gt,onChange:Oe=>Te(Oe.target.value),onFocus:()=>Q?.(),onPointerDown:()=>Q?.(),"aria-label":"Organization",children:[c.jsx("option",{value:"corporate",children:"Corporate"}),We.map(Oe=>c.jsx("option",{value:`org:${Oe.name}`,children:(Oe.organization_name||Oe.name).trim()||Oe.name},Oe.name))]})})]}),c.jsxs("button",{type:"button",className:"org-create-trigger",onClick:()=>Ce(!0),children:[c.jsx("span",{className:"org-create-trigger-icon","aria-hidden":!0,children:"+"}),"New organization"]})]}),c.jsxs("div",{className:"org-stats-strip",children:[c.jsxs("span",{className:"org-stat",children:[c.jsx("img",{src:Cj.agents,alt:"",className:"org-stat-icon"}),c.jsx("b",{children:Ae.length})," roles"]}),c.jsxs("span",{className:"org-stat",children:[c.jsx("img",{src:Ka.employees,alt:"",className:"org-stat-icon"}),c.jsx("b",{children:$e.length})," employees"]}),c.jsxs("span",{className:"org-stat",children:[c.jsx("img",{src:Ka.runtime,alt:"",className:"org-stat-icon"}),c.jsx("b",{children:He.runtimeTeams.length})," runtime teams"]}),c.jsxs("span",{className:"org-stat",children:[c.jsx("img",{src:Cj.active,alt:"",className:"org-stat-icon"}),c.jsx("b",{children:Kt.length})," active"]})]})]}),c.jsx("div",{className:"org-subtabs",children:[{id:"team",icon:Ka.team,label:"Team",count:Ae.length},{id:"runtime",icon:Ka.runtime,label:"Runtime",count:He.runtimeTeams.length},{id:"architecture",icon:Ka.architecture,label:"Architecture",count:_?.length??0},{id:"employees",icon:Ka.employees,label:"Employees",count:n.length}].map(Oe=>c.jsxs("button",{className:`org-subtab${se===Oe.id?" org-subtab--active":""}`,onClick:()=>Be(Oe.id),children:[c.jsx("img",{src:Oe.icon,alt:"",className:"org-subtab-icon"}),c.jsx("span",{className:"org-subtab-label",children:Oe.label}),c.jsx("span",{className:"org-subtab-count",children:Oe.count})]},Oe.id))}),zt&&c.jsx("div",{className:`org-toast org-toast--${zt.type}`,onClick:()=>bt(null),children:zt.msg}),c.jsxs("div",{className:"org-tab-content",children:[se==="team"&&c.jsx(LQ,{roles:Ae,employees:$e,sessionRecruitmentByRole:t,isCustomMode:o,onAddRole:D??(()=>{}),onBulkAddRoles:T,onUpdateRole:L??(()=>{}),onDeleteRole:A??(()=>{}),onExport:v??(()=>{}),onImportEmployee:p,onResetArchitecture:W,onSwitchToTab:Oe=>_e(Oe),savedOrgsList:K,activeSavedOrg:ee??null,currentOrgVersion:e?.org_version??0,versionAtLoad:te??null,onSavedOrgsList:Q,onSavedOrgSaveAs:q,onSavedOrgLoad:J,onSavedOrgDelete:P}),se==="runtime"&&c.jsx($Q,{roles:Ae,runtimeTeams:He.runtimeTeams,runtimeSeats:He.runtimeSeats,workItems:He.workItems,frontier:He.frontier,companyProfile:e.company_profile,runtimePolicy:e.runtime_policy,finalDeciderRoleId:e.final_decider_role_id,topLevelRoleIds:e.top_level_role_ids,readOnly:!o,onUpdateOrgStrategy:M,onUpdateRuntimePolicy:$}),se==="architecture"&&c.jsxs(c.Fragment,{children:[c.jsx(FQ,{presets:_??[],installedIds:In,previewData:w??null,applyingPresetId:Ve,readOnly:!o,onPreview:N??(()=>{}),onApplyPreset:Ie,onClearPreview:I??(()=>{}),installedPackages:Ke,channels:e.channels,reorgProposals:r,isCustomMode:!!o,onReorgDecide:y,onMarketInstall:(Oe,nt)=>k?.(Oe,nt),onMarketUninstall:Oe=>S?.(Oe)}),o&&c.jsx(ZQ,{onExport:B??(()=>{}),onImport:U??(()=>{}),configExportYaml:F??null,importPreview:V??null,importError:Y??null})]}),se==="employees"&&c.jsx(KQ,{templates:n,vacantRoles:qn,hiringTemplateId:h??null,readOnly:!o,onHireTalent:m})]}),c.jsx(QQ,{open:we,pending:ie,result:oe??null,onClose:()=>Ce(!1),onCreate:(Oe,nt)=>G?.(Oe,nt)})]})}function tJ(e,t,n,i){const r=n.join(", "),o=`session:${t.id}`,a=e.channels.find(u=>u.id===o)??e.channels.find(u=>u.type==="activity");a&&e.sendMessage({channelId:a.id,sender:"system",senderName:"System",content:`Task **${t.displayId}** assigned to ${r}`,metadata:{type:"task_assigned",taskId:t.id,boardId:t.boardId}})}const nJ=1e12,iJ=/^\[Company:([^\]]+)\]\s*(.*)$/,rJ=/^\[Company\]\s*(.*)$/;function FR(e,t){return t==="idle"||t==="reflecting"||t==="tool_active"?t:e==="running"?"reflecting":void 0}function _m(e){const t=typeof e=="string"?Number(e):e;return typeof t!="number"||!Number.isFinite(t)?Date.now():t!!t&&typeof t=="object").map(t=>({timestamp:_m(t.timestamp),type:t.type??"status_change",summary:typeof t.summary=="string"?t.summary:"",detail:typeof t.detail=="string"?t.detail:void 0,turnId:typeof t.turn_id=="string"?t.turn_id:typeof t.turnId=="string"?t.turnId:void 0,itemId:typeof t.item_id=="string"?t.item_id:typeof t.itemId=="string"?t.itemId:void 0,streamId:typeof t.stream_id=="string"?t.stream_id:typeof t.streamId=="string"?t.streamId:void 0,seq:typeof t.seq=="number"&&Number.isFinite(t.seq)?t.seq:void 0,executionMode:typeof t.execution_mode=="string"?t.execution_mode:typeof t.executionMode=="string"?t.executionMode:void 0}))):[]}function sJ(e){return Array.isArray(e)?LI(e.filter(t=>!!t&&typeof t=="object").map(t=>{const n=typeof t.runtime_task_id=="string"?t.runtime_task_id:typeof t.runtimeTaskId=="string"?t.runtimeTaskId:typeof t.execution_turn_id=="string"?t.execution_turn_id:typeof t.executionTurnId=="string"?t.executionTurnId:void 0,i=typeof t.execution_turn_id=="string"?t.execution_turn_id:typeof t.executionTurnId=="string"?t.executionTurnId:n;return{timestamp:_m(t.timestamp),type:t.type??"gate_result",workItemProjectionId:typeof t.work_item_projection_id=="string"?t.work_item_projection_id:typeof t.workItemProjectionId=="string"?t.workItemProjectionId:void 0,workItemTurnType:typeof t.work_item_turn_type=="string"?t.work_item_turn_type:typeof t.workItemTurnType=="string"?t.workItemTurnType:void 0,workItemProjectionTitle:typeof t.work_item_projection_title=="string"?t.work_item_projection_title:typeof t.workItemProjectionTitle=="string"?t.workItemProjectionTitle:void 0,runtimeTaskId:n,executionTurnId:i,roleName:typeof t.role_name=="string"?t.role_name:typeof t.roleName=="string"?t.roleName:void 0,detail:typeof t.detail=="string"?t.detail:void 0}})):[]}function oJ(e){return e.replace(/[_-]/g," ").replace(/\b\w/g,t=>t.toUpperCase())}function jj(e){const t=e.toLowerCase();return t.includes("starting")||t.includes("started")?"work_item_started":t.includes("gate passed")||t.includes("approved")||t.includes("completed")?"gate_approved":t.includes("rejected")||t.includes("reworking")?"gate_rejected":t.includes("awaiting peer")?"awaiting_peer":t.includes("awaiting manager review")?"awaiting_manager_review":t.includes("awaiting user")||t.includes("awaiting human review")||t.includes("awaiting review")||t.includes("awaiting confirmation")||t.includes("awaiting feedback")?"awaiting_human":t.includes("failed")?"work_item_failed":t.includes("deadlock")?"deadlock":"gate_result"}function aJ(e){const t=e.content.trim(),n=e.metadata??{},i=e.sender!=="system"&&e.sender!=="assistant"?e.senderName:void 0,r=typeof n.forwarded_from=="string"?n.forwarded_from:typeof n.task_id=="string"?n.task_id:typeof n.taskId=="string"?n.taskId:void 0,o=iJ.exec(t);if(o){const[,u,d]=o,m=d.trim();return{timestamp:e.timestamp,type:jj(m),workItemProjectionId:u,workItemProjectionTitle:oJ(u),roleName:i,detail:m||void 0,runtimeTaskId:r,executionTurnId:r}}const a=rJ.exec(t);if(a){const u=a[1].trim();return{timestamp:e.timestamp,type:jj(u),workItemProjectionId:"company_runtime",workItemProjectionTitle:"Company Runtime",roleName:i,detail:u||void 0,runtimeTaskId:r,executionTurnId:r}}return null}function lJ(e){return e.map(aJ).filter(t=>t!=null).sort((t,n)=>t.timestamp-n.timestamp)}function cJ(e,t){if(e.length===0||t.length===0)return e;const n=new Map;for(const i of t){const r=n.get(i.channelId);r?r.push(i):n.set(i.channelId,[i])}return e.map(i=>{const r=lJ(n.get(i.channelId)??[]),o=i.workItemLog&&i.workItemLog.length>0?i.workItemLog:r,a=[...o].reverse().find(m=>{const h=m.workItemProjectionId;return h&&h!=="company_runtime"}),u=i.mode==="primary"?a?.workItemProjectionId??i.workItemProjectionId:i.workItemProjectionId??a?.workItemProjectionId,d=i.isCompanyRuntime||i.mode==="primary"&&o.length>0;return o.length===0&&u===i.workItemProjectionId&&d===i.isCompanyRuntime?i:{...i,isCompanyRuntime:d,workItemProjectionId:u,...o.length>0?{workItemLog:o}:{}}})}function uJ(e,t){if(e.length===0||t.length===0)return e;const n=new Map(t.map(i=>[i.taskId,i]));return e.map(i=>{const r=n.get(i.id);if(!r)return i;const o=r.workItemProjectionId??i.workItemProjectionId,a=r.companyProfile??i.companyProfile,u=r.workItemRoleId??i.workItemRoleId,d=r.workItemRoleName??i.workItemRoleName;return o===i.workItemProjectionId&&a===i.companyProfile&&u===i.workItemRoleId&&d===i.workItemRoleName?i:{...i,workItemProjectionId:o,companyProfile:a,workItemRoleId:u,workItemRoleName:d}})}function VR(e){return{id:e.channel_id??e.id??"",type:e.channel_type??e.type??"session",name:e.name??"",officeId:e.office_id??e.officeId,participants:e.participants??[],pinned:!!e.pinned,createdAt:typeof e.created_at=="number"?e.created_at*1e3:e.createdAt??Date.now()}}function Lf(e){const t=e.sender_name??e.senderName??"",n=String(t).trim().toLowerCase()==="task generalist"?"OPC":t;return{id:e.message_id??e.id??"",channelId:e.channel_id??e.channelId??"",sender:e.sender??"",senderName:n,content:e.content??"",timestamp:typeof e.created_at=="number"?e.created_at*1e3:e.timestamp??Date.now(),replyToId:e.reply_to_id??e.replyToId,mentions:e.mentions??[],metadata:e.metadata,senderDeleted:!!(e.sender_deleted??e.senderDeleted)}}function UR(e){return{id:e.board_id??e.id??"",name:e.name??"",description:e.description,color:e.color??"#3b82f6",officeId:e.office_id??e.officeId,prefix:e.prefix??"T",nextTaskNum:e.next_task_num??e.nextTaskNum??1,createdAt:typeof e.created_at=="number"?e.created_at*1e3:e.createdAt??Date.now(),updatedAt:typeof e.updated_at=="number"?e.updated_at*1e3:e.updatedAt??Date.now()}}function GR(e){return{id:e.column_id??e.id??"",boardId:e.board_id??e.boardId??"",name:e.name??"",color:e.color??"#888",sortOrder:e.sort_order??e.sortOrder??0,isTerminal:!!(e.is_terminal??e.isTerminal),roleLabel:e.role_label??e.roleLabel,gateType:e.gate_type??e.gateType,isParallel:e.is_parallel??e.isParallel}}function qR(e){const t=FR(e.status,e.agent_status??e.agentStatus),n=e.kanban_column??e.column_id??e.columnId??"",i=e.work_item_id??e.workItemId??e.task_id??e.id??"",r=e.runtime_task_id??e.runtimeTaskId??e.execution_turn_id??e.executionTurnId??(e.work_item_id??e.workItemId?void 0:e.task_id??e.id),o=e.execution_turn_id??e.executionTurnId??r,a=e.execution_mode??e.executionMode,u=e.work_item_projection_id??e.workItemProjectionId,d=a==="task_mode"||u==="task_mode_execution";return{id:i,displayId:e.display_id??e.displayId??"",boardId:e.board_id??e.boardId??"",columnId:n,title:e.title??"",description:e.description,priority:e.priority??null,assigneeIds:e.assignee_ids??e.assigneeIds??[],tags:e.tags??[],sortOrder:e.sort_order??e.sortOrder??0,sessionId:e.session_id??e.sessionId,workItemId:e.work_item_id??e.workItemId,runtimeTaskId:r,executionTurnId:o,createdAt:typeof e.created_at=="number"?e.created_at*1e3:e.createdAt??Date.now(),updatedAt:typeof e.updated_at=="number"?e.updated_at*1e3:e.updatedAt??Date.now(),agentStatus:t,currentTool:e.current_tool??e.currentTool,displayTool:e.display_tool??e.displayTool??e.current_tool??e.currentTool,toolElapsedMs:e.tool_elapsed_ms??e.toolElapsedMs,lastToolSummary:e.last_tool_summary??e.lastToolSummary,contextTokens:e.context_tokens??e.contextTokens,contextWindow:e.context_window??e.contextWindow,contextRemainingPct:e.context_remaining_pct??e.contextRemainingPct,inputTokens:e.input_tokens??e.inputTokens,outputTokens:e.output_tokens??e.outputTokens,totalTokens:e.total_tokens??e.totalTokens,turnCostUsd:e.turn_cost_usd??e.turnCostUsd,sessionCostUsd:e.session_cost_usd??e.sessionCostUsd,pendingPermissionCount:e.pending_permission_count??e.pendingPermissionCount,drainMode:e.drain_mode??e.drainMode,residentStatus:e.resident_status??e.residentStatus,actionableInboxCount:e.actionable_inbox_count??e.actionableInboxCount,protocolBacklogCount:e.protocol_backlog_count??e.protocolBacklogCount,notificationBacklogCount:e.notification_backlog_count??e.notificationBacklogCount,latestNotification:e.latest_notification??e.latestNotification,workItemProjectionId:d?void 0:u,workItemTurnType:d?void 0:e.work_item_turn_type??e.workItemTurnType,companyProfile:d?void 0:e.company_profile??e.companyProfile,orgId:d?void 0:e.org_id??e.organization_id??e.orgId??e.organizationId,workItemRoleId:d?void 0:e.work_item_role_id??e.workItemRoleId,workItemRoleName:d?void 0:e.work_item_role_name??e.workItemRoleName,workItemGate:d?void 0:YR(e.work_item_gate??e.workItemGate),employeeAssignment:WR(e.employee_assignment??e.employeeAssignment),selectedExecutionAgent:e.selected_execution_agent??e.selectedExecutionAgent,originChannel:e.origin_channel??e.originChannel,dependencies:e.dependencies,progressLog:rp(e.progress_log??e.progressLog),handoffContext:e.handoff_context??e.handoffContext,phase:e.phase,runtimeSessionId:e.runtime_session_id??e.runtimeSessionId,resumeCursor:e.resume_cursor??e.resumeCursor,worktreePath:e.worktree_path??e.worktreePath,blockedReason:e.blocked_reason??e.blockedReason,reviewVerdict:e.review_verdict??e.reviewVerdict,reviewSummary:e.review_summary??e.reviewSummary,reviewOwnerRoleId:e.review_owner_role_id??e.reviewOwnerRoleId,reviewOwnerSeatId:e.review_owner_seat_id??e.reviewOwnerSeatId,managerRoleId:e.manager_role_id??e.managerRoleId,managerSeatId:e.manager_seat_id??e.managerSeatId,scopeKey:e.scope_key??e.scopeKey,completionReport:e.completion_report??e.completionReport,reworkFeedback:e.rework_feedback??e.reworkFeedback,planningContext:e.planning_context??e.planningContext,deliverables:e.deliverables,acceptanceCriteria:e.acceptance_criteria??e.acceptanceCriteria,delegationRationale:e.delegation_rationale??e.delegationRationale,nonOverlapGuard:e.non_overlap_guard??e.nonOverlapGuard,coordinationNotes:e.coordination_notes??e.coordinationNotes,originalMessage:e.original_message??e.originalMessage,residentAssignment:e.resident_assignment??e.residentAssignment,memberSessionState:e.member_session_state??e.memberSessionState,ownershipContract:e.ownership_contract??e.ownershipContract}}function WR(e){if(!(!e||typeof e!="object"))return{name:e.name,employeeId:e.employee_id??e.employeeId,category:e.category,experienceScore:e.experience_score??e.experienceScore,domains:e.domains,preferredExternalAgent:e.preferred_external_agent??e.preferredExternalAgent,promptContext:e.prompt_context??e.promptContext,deltaContext:e.delta_context??e.deltaContext,skillRefs:e.skill_refs??e.skillRefs}}function YR(e){if(!(!e||typeof e!="object"))return{type:e.type??e.gate_type??e.gateType,reviewerRole:e.reviewer_role??e.reviewerRole,autoApprove:e.auto_approve??e.autoApprove,criteria:e.criteria}}const dJ=new Set(["queued","ready","ready_for_rework","waiting_dependencies","running","waiting_for_peer","waiting_for_children","paused","needs_attention","awaiting_manager_review","awaiting_human","approved","failed","cancelled"]),fJ=new Set(["active","waiting","pending","done","failed"]);function mJ(e){return typeof e=="string"&&dJ.has(e)?e:"queued"}function pJ(e){return typeof e=="string"&&fJ.has(e)?e:"pending"}function hJ(e){return e==="reflecting"||e==="tool_active"||e==="idle"?e:"idle"}function gJ(e){const t=typeof e.kind=="string"&&e.kind.trim()?e.kind:"activity",n=typeof e.title=="string"&&e.title.trim()?e.title:t.replace(/_/g," ");return{kind:t,title:n,roleName:typeof e.role_name=="string"?e.role_name:typeof e.roleName=="string"?e.roleName:void 0,runtimeTaskId:typeof e.runtime_task_id=="string"?e.runtime_task_id:typeof e.runtimeTaskId=="string"?e.runtimeTaskId:void 0,entries:rp(e.entries)}}function xJ(e){const t=Array.isArray(e.activity_sections)?e.activity_sections:Array.isArray(e.activitySections)?e.activitySections:[];return{workItemId:typeof e.work_item_id=="string"?e.work_item_id:e.workItemId??"",workItemProjectionId:typeof e.work_item_projection_id=="string"?e.work_item_projection_id:e.workItemProjectionId??void 0,phase:mJ(e.phase),kanbanColumn:typeof e.kanban_column=="string"?e.kanban_column:e.kanbanColumn??"todo",title:typeof e.title=="string"?e.title:"",kind:typeof e.kind=="string"?e.kind:e.kind??void 0,isReviewTarget:!!(e.is_review_target??e.isReviewTarget),executorRoleId:e.executor_role_id??e.executorRoleId??void 0,executorRoleName:e.executor_role_name??e.executorRoleName??void 0,reviewerRoleId:e.reviewer_role_id??e.reviewerRoleId??void 0,createdAt:_m(e.created_at??e.createdAt),updatedAt:_m(e.updated_at??e.updatedAt),executionTurnId:e.execution_turn_id??e.executionTurnId??void 0,activitySections:t.filter(n=>!!n&&typeof n=="object").map(gJ),progressLog:rp(e.progress_log??e.progressLog)}}function Ej(e){if(!e||typeof e!="object")return;const t={};for(const[n,i]of Object.entries(e)){if(!i||typeof i!="object")continue;const r=i,a=(Array.isArray(r.work_items)?r.work_items:Array.isArray(r.workItems)?r.workItems:[]).map(xJ).sort((d,m)=>d.createdAt-m.createdAt),u=typeof r.role_key=="string"?r.role_key:typeof r.roleKey=="string"?r.roleKey:n;t[n]={roleKey:u,roleId:typeof r.role_id=="string"?r.role_id:typeof r.roleId=="string"?r.roleId:n,roleName:typeof r.role_name=="string"?r.role_name:typeof r.roleName=="string"?r.roleName:n,roleSessionId:typeof r.role_session_id=="string"?r.role_session_id:typeof r.roleSessionId=="string"?r.roleSessionId:void 0,teamInstanceId:typeof r.team_instance_id=="string"?r.team_instance_id:typeof r.teamInstanceId=="string"?r.teamInstanceId:void 0,runtimeStatus:hJ(r.runtime_status??r.runtimeStatus),aggregatedStatus:pJ(r.aggregated_status??r.aggregatedStatus),workItems:a}}return Object.keys(t).length>0?t:void 0}function XR(e){const t=FR(e.status,e.agent_status??e.agentStatus),n=e.task_id??e.taskId??"",i=e.runtime_task_id??e.runtimeTaskId??e.execution_turn_id??e.executionTurnId??n,r=e.execution_turn_id??e.executionTurnId??i,o=e.execution_mode??e.executionMode,a=String(e.exec_mode??e.execMode??"").trim().toLowerCase(),u=e.work_item_projection_id??e.workItemProjectionId,d=a==="task"||a==="project"||a==="single"||o==="task_mode"||u==="task_mode_execution",m=d?void 0:e.parent_session_id??e.parentSessionId,h={projectId:e.project_id??e.projectId??"",taskId:n,runtimeTaskId:i,executionTurnId:r,channelId:e.channel_id??e.channelId??"",sessionId:e.session_id??e.sessionId,parentSessionId:m,mode:d?"primary":e.mode??(m?"child":"primary"),title:e.title??"Untitled",status:e.status??"pending",columnId:e.column_id??e.columnId??"todo",assigneeIds:e.assignee_ids??e.assigneeIds??[],priority:e.priority??null,tags:e.tags??[],agentStatus:t,currentTool:e.current_tool??e.currentTool,displayTool:e.display_tool??e.displayTool??e.current_tool??e.currentTool,toolElapsedMs:e.tool_elapsed_ms??e.toolElapsedMs,lastToolSummary:e.last_tool_summary??e.lastToolSummary,contextTokens:e.context_tokens??e.contextTokens,contextWindow:e.context_window??e.contextWindow,contextRemainingPct:e.context_remaining_pct??e.contextRemainingPct,inputTokens:e.input_tokens??e.inputTokens,outputTokens:e.output_tokens??e.outputTokens,totalTokens:e.total_tokens??e.totalTokens,turnCostUsd:e.turn_cost_usd??e.turnCostUsd,sessionCostUsd:e.session_cost_usd??e.sessionCostUsd,pendingPermissionCount:e.pending_permission_count??e.pendingPermissionCount,drainMode:e.drain_mode??e.drainMode,progressLog:rp(e.progress_log??e.progressLog),createdAt:typeof e.created_at=="number"?e.created_at*1e3:e.createdAt??Date.now(),updatedAt:typeof e.updated_at=="number"?e.updated_at*1e3:e.updatedAt??Date.now(),messageCount:e.message_count??e.messageCount??0,latestPreview:e.latest_preview??e.latestPreview,latestSender:e.latest_sender??e.latestSender,latestMessageId:e.latest_message_id??e.latestMessageId,indexLoaded:e.index_loaded??e.indexLoaded,detailLoaded:e.detail_loaded??e.detailLoaded,fullLoaded:e.full_loaded??e.fullLoaded,hasMore:e.has_more??e.hasMore,detailLoading:e.detail_loading??e.detailLoading,detailError:e.detail_error??e.detailError,viewGeneration:e.view_generation??e.viewGeneration,execMode:e.exec_mode??e.execMode,companyProfile:d?void 0:e.company_profile??e.companyProfile,orgId:d?void 0:e.org_id??e.organization_id??e.orgId??e.organizationId,preferredAgent:e.preferred_agent??e.preferredAgent,workItemProjectionId:d?void 0:u,workItemTurnType:d?void 0:e.work_item_turn_type??e.workItemTurnType,workItemRoleId:d?void 0:e.work_item_role_id??e.workItemRoleId,workItemRoleName:d?void 0:e.work_item_role_name??e.workItemRoleName,workItemGate:d?void 0:YR(e.work_item_gate??e.workItemGate),employeeAssignment:WR(e.employee_assignment??e.employeeAssignment),selectedExecutionAgent:e.selected_execution_agent??e.selectedExecutionAgent,originChannel:e.origin_channel??e.originChannel,originTaskId:e.origin_task_id??e.originTaskId??e.task_id??e.taskId,runtimeControlState:e.runtime_control_state??e.runtimeControlState,canStop:e.can_stop??e.canStop,canResume:e.can_resume??e.canResume,resumeParentTaskId:e.resume_parent_task_id??e.resumeParentTaskId,resumeParentSessionId:e.resume_parent_session_id??e.resumeParentSessionId,pendingRuntimeCheckpointId:e.pending_runtime_checkpoint_id??e.pendingRuntimeCheckpointId,stopIntentId:e.stop_intent_id??e.stopIntentId,handoffContext:e.handoff_context??e.handoffContext,handoffTo:e.handoff_to??e.handoffTo,artifacts:e.artifacts,isCompanyRuntime:d?!1:e.is_company_runtime??e.isCompanyRuntime,workItemLog:d?[]:sJ(e.work_item_log??e.workItemLog),roleWorkItems:d?void 0:Ej(e.role_work_items??e.roleWorkItems),executorRoleWorkItems:d?void 0:Ej(e.executor_role_work_items??e.executorRoleWorkItems),draftTurnId:e.draft_turn_id??e.draftTurnId,runtimeSessionId:e.runtime_session_id??e.runtimeSessionId,resumeCursor:e.resume_cursor??e.resumeCursor,activeSubagents:e.active_subagents??e.activeSubagents,permissionRequests:e.permission_requests??e.permissionRequests,worktreePath:e.worktree_path??e.worktreePath,residentStatus:e.resident_status??e.residentStatus,actionableInboxCount:e.actionable_inbox_count??e.actionableInboxCount,protocolBacklogCount:e.protocol_backlog_count??e.protocolBacklogCount,notificationBacklogCount:e.notification_backlog_count??e.notificationBacklogCount,latestNotification:e.latest_notification??e.latestNotification};return zI(h)}function Nj(e){const t=(e.channels??[]).map(VR),n=(e.messages??[]).map(Lf),i=(e.boards??[]).map(UR),r=(e.columns??[]).map(GR),o=cJ((e.sessions??[]).map(XR),n),a=uJ((e.tasks??[]).map(qR),o);return{channels:t,messages:n,boards:i,columns:r,tasks:a,sessions:o}}function yJ(e){return`session:${e}`}const vJ=new Set(["company_recruitment_confirmation","company_staffing_selection"]);function bJ(e){let t=null;for(const o of e){const a=o.metadata?.checkpoint_type;!a||!vJ.has(a)||(!t||(o.timestamp??0)>=(t.timestamp??0))&&(t=o)}if(!t?.metadata)return null;const n=t.metadata,i={},r=(o,a)=>{const u=String(o??"").trim(),d=String(a??"").trim();if(!u||!d)return;const m=i[u]??(i[u]=[]);m.includes(d)||m.push(d)};for(const o of n.recruitment_rationales??[])o?.selection_label&&r(o.role_id,o.selection_label);if(Object.keys(i).length===0)for(const o of n.proposals??[]){const a=o?.existing_employee?.employee_name||o?.candidate?.proposed_name||o?.candidate?.template_name||"";r(o?.role_id,a)}return Object.keys(i).length?i:null}function _J(){try{const e=localStorage.getItem("opc_outdoor_override");if(e==="day"||e==="night")return e;if(localStorage.getItem("opc_outdoor_day")==="1")return"day";if(localStorage.getItem("opc_outdoor_night")==="1")return"night"}catch{}return"auto"}const Ij=80,kJ=new Set(["message_start","message_stop","tool_call_delta","status_snapshot","context_usage","cost_update","task_ledger_updated","prompt_prefix_state","prompt_prefix_cache_fingerprint","prefetch_started","prefetch_completed","prefetch_consumed","durable_memory_extracted","durable_memory_extraction_failed","session_memory_updated","session_memory_update_failed","tool_batch_started","tool_batch_completed","permission_predicted","turn_started","turn_completed"]),SJ=new Set(["member_inbox_updated"]);function wJ(){return`${window.location.protocol==="https:"?"wss":"ws"}://${window.location.hostname}:${window.location.port||"8765"}/ws`}function CJ(e){return e==="connected"?"ok":e==="connecting"?"warn":e==="error"?"error":"off"}function Uc(e){return vV(e)}function ks(e){return r0(e)}function Cy(e,t){if(e!=="task")return e==="org"?"custom":"corporate"}function Po(e,t){return e!=="org"?void 0:String(t??"").trim()||void 0}function Cs(e){const t=String(e??"").trim().toLowerCase().replace("-","_");return t==="codex"||t==="claude_code"||t==="cursor"||t==="opencode"?t:"native"}function jJ(e,t=120){const n=JSON.stringify(e)??"";return n.length<=t?n:n.slice(0,t)+"โ€ฆ"}function EJ(e,t){const n=typeof e.runtime_status=="string"?e.runtime_status:typeof e.status=="string"?e.status:t?.runtime_status??t?.status??"idle",i=e.appearance&&typeof e.appearance=="object"?e.appearance:t?.appearance??{palette:0,hue_shift:0,seat_zone:"work_area"},r=Array.isArray(e.specialties)?e.specialties.filter(a=>typeof a=="string"):t?.specialties??[],o=typeof e.agent_id=="string"?e.agent_id:t?.agent_id??"";return{agent_id:o,name:typeof e.name=="string"&&e.name?e.name:typeof e.role_name=="string"&&e.role_name?e.role_name:t?.name??o,description:typeof e.description=="string"?e.description:t?.description??"",specialties:r,status:n,office_id:typeof e.office_id=="string"?e.office_id:t?.office_id,appearance:i,employee_id:typeof e.employee_id=="string"?e.employee_id:t?.employee_id,opc_role_id:typeof e.opc_role_id=="string"?e.opc_role_id:t?.opc_role_id,runtime_status:n,current_tool:typeof e.current_tool=="string"?e.current_tool:e.current_tool==null?void 0:t?.current_tool,current_task_id:typeof e.current_task_id=="string"?e.current_task_id:e.current_task_id==null?void 0:t?.current_task_id}}function Tj(e,t=[]){const n=new Map(t.map(i=>[i.agent_id,i]));return e.filter(i=>!!i&&typeof i=="object").map(i=>{const r=typeof i.agent_id=="string"?i.agent_id:"";return EJ(i,n.get(r))}).filter(i=>!!i.agent_id)}function Rj(e){if(!e||typeof e!="object")return;const t=e;return{name:typeof t.name=="string"?t.name:void 0,employeeId:typeof t.employee_id=="string"?t.employee_id:typeof t.employeeId=="string"?t.employeeId:void 0,category:typeof t.category=="string"?t.category:void 0,experienceScore:typeof t.experience_score=="number"?t.experience_score:typeof t.experienceScore=="number"?t.experienceScore:void 0}}function kf(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function NJ(e){const t=String(e??"").trim().toLowerCase();return t==="idle"||t==="done"||t==="failed"||t==="cancelled"}function jy(e){const t={};if((typeof e.execution_mode=="string"?e.execution_mode:"")==="task_mode"||e.work_item_projection_id==="task_mode_execution"){const o=Rj(e.employee_assignment??e.employeeAssignment);return o&&(t.employeeAssignment=o),typeof e.selected_execution_agent=="string"?t.selectedExecutionAgent=Cs(e.selected_execution_agent):typeof e.selectedExecutionAgent=="string"&&(t.selectedExecutionAgent=Cs(e.selectedExecutionAgent)),t}typeof e.work_item_projection_id=="string"?t.workItemProjectionId=e.work_item_projection_id:typeof e.workItemProjectionId=="string"&&(t.workItemProjectionId=e.workItemProjectionId),typeof e.work_item_turn_type=="string"?t.workItemTurnType=e.work_item_turn_type:typeof e.workItemTurnType=="string"&&(t.workItemTurnType=e.workItemTurnType),typeof e.work_item_role_id=="string"?t.workItemRoleId=e.work_item_role_id:typeof e.workItemRoleId=="string"&&(t.workItemRoleId=e.workItemRoleId),typeof e.work_item_role_name=="string"?t.workItemRoleName=e.work_item_role_name:typeof e.workItemRoleName=="string"&&(t.workItemRoleName=e.workItemRoleName);const r=Rj(e.employee_assignment??e.employeeAssignment);return r&&(t.employeeAssignment=r),typeof e.selected_execution_agent=="string"?t.selectedExecutionAgent=Cs(e.selected_execution_agent):typeof e.selectedExecutionAgent=="string"&&(t.selectedExecutionAgent=Cs(e.selectedExecutionAgent)),t}function Ey(e){const t={};return e.latest_notification&&typeof e.latest_notification=="object"&&(t.latestNotification=e.latest_notification),typeof e.runtime_session_id=="string"&&(t.runtimeSessionId=e.runtime_session_id),typeof e.resume_cursor=="number"&&(t.resumeCursor=e.resume_cursor),Array.isArray(e.active_subagents)&&(t.activeSubagents=e.active_subagents),Array.isArray(e.permission_requests)&&(t.permissionRequests=e.permission_requests),typeof e.worktree_path=="string"&&(t.worktreePath=e.worktree_path),typeof e.current_tool=="string"&&(t.currentTool=e.current_tool),typeof e.display_tool=="string"&&e.display_tool.trim()&&(t.displayTool=e.display_tool),typeof e.tool_elapsed_ms=="number"&&(t.toolElapsedMs=e.tool_elapsed_ms),typeof e.last_tool_summary=="string"&&(t.lastToolSummary=e.last_tool_summary),typeof e.context_tokens=="number"&&(t.contextTokens=e.context_tokens),typeof e.context_window=="number"&&e.context_window>0&&(t.contextWindow=e.context_window),typeof e.context_remaining_pct=="number"&&(t.contextRemainingPct=e.context_remaining_pct),typeof e.input_tokens=="number"?t.inputTokens=e.input_tokens:typeof e.input_tokens_total=="number"?t.inputTokens=e.input_tokens_total:typeof e.tokens_in=="number"&&(t.inputTokens=e.tokens_in),typeof e.output_tokens=="number"?t.outputTokens=e.output_tokens:typeof e.output_tokens_total=="number"?t.outputTokens=e.output_tokens_total:typeof e.tokens_out=="number"&&(t.outputTokens=e.tokens_out),typeof e.total_tokens=="number"?t.totalTokens=e.total_tokens:typeof e.tokens_total=="number"&&(t.totalTokens=e.tokens_total),typeof e.turn_cost_usd=="number"&&(t.turnCostUsd=e.turn_cost_usd),typeof e.session_cost_usd=="number"&&(t.sessionCostUsd=e.session_cost_usd),typeof e.pending_permission_count=="number"&&(t.pendingPermissionCount=e.pending_permission_count),typeof e.drain_mode=="string"&&(t.drainMode=e.drain_mode),typeof e.resident_status=="string"&&(t.residentStatus=e.resident_status),typeof e.actionable_inbox_count=="number"&&(t.actionableInboxCount=e.actionable_inbox_count),typeof e.protocol_backlog_count=="number"&&(t.protocolBacklogCount=e.protocol_backlog_count),typeof e.notification_backlog_count=="number"&&(t.notificationBacklogCount=e.notification_backlog_count),t}function Ny(e){const t={};return e.latest_notification&&typeof e.latest_notification=="object"&&(t.latestNotification=e.latest_notification),typeof e.current_tool=="string"&&(t.currentTool=e.current_tool),typeof e.display_tool=="string"&&e.display_tool.trim()&&(t.displayTool=e.display_tool),typeof e.tool_elapsed_ms=="number"&&(t.toolElapsedMs=e.tool_elapsed_ms),typeof e.last_tool_summary=="string"&&(t.lastToolSummary=e.last_tool_summary),typeof e.context_tokens=="number"&&(t.contextTokens=e.context_tokens),typeof e.context_window=="number"&&e.context_window>0&&(t.contextWindow=e.context_window),typeof e.context_remaining_pct=="number"&&(t.contextRemainingPct=e.context_remaining_pct),typeof e.input_tokens=="number"?t.inputTokens=e.input_tokens:typeof e.input_tokens_total=="number"?t.inputTokens=e.input_tokens_total:typeof e.tokens_in=="number"&&(t.inputTokens=e.tokens_in),typeof e.output_tokens=="number"?t.outputTokens=e.output_tokens:typeof e.output_tokens_total=="number"?t.outputTokens=e.output_tokens_total:typeof e.tokens_out=="number"&&(t.outputTokens=e.tokens_out),typeof e.total_tokens=="number"?t.totalTokens=e.total_tokens:typeof e.tokens_total=="number"&&(t.totalTokens=e.tokens_total),typeof e.turn_cost_usd=="number"&&(t.turnCostUsd=e.turn_cost_usd),typeof e.session_cost_usd=="number"&&(t.sessionCostUsd=e.session_cost_usd),typeof e.pending_permission_count=="number"&&(t.pendingPermissionCount=e.pending_permission_count),typeof e.drain_mode=="string"&&(t.drainMode=e.drain_mode),typeof e.resident_status=="string"&&(t.residentStatus=e.resident_status),typeof e.actionable_inbox_count=="number"&&(t.actionableInboxCount=e.actionable_inbox_count),typeof e.protocol_backlog_count=="number"&&(t.protocolBacklogCount=e.protocol_backlog_count),typeof e.notification_backlog_count=="number"&&(t.notificationBacklogCount=e.notification_backlog_count),t}function Aj(e,t){if(!t||!e)return!1;if(t.activeSessionId===e)return!0;const n=t.activeSession;if(!n)return!1;if(n.taskId===e||n.parentSessionId===e||n.sessionId===e)return!0;const i=t.sessions.find(u=>u.taskId===e);if(!i)return!1;const r=new Set([String(n.taskId??"").trim(),String(n.sessionId??"").trim()].filter(Boolean)),o=String(i.parentSessionId??"").trim();if(o&&r.has(o))return!0;const a=String(n.parentSessionId??"").trim();return a?String(i.taskId??"").trim()===a||String(i.sessionId??"").trim()===a:!1}function IJ(e){return e==="done"||e==="delivered"?"approved":e==="failed"?"failed":e==="cancelled"?"cancelled":e==="pending"?"queued":e==="awaiting_manager_review"||e==="awaiting_review"?"awaiting_manager_review":e==="awaiting_human"?"awaiting_human":"running"}function TJ(e){return e==="approved"||e==="failed"||e==="cancelled"?"done":e==="awaiting_manager_review"||e==="awaiting_human"?"in-review":e==="queued"||e==="ready"||e==="ready_for_rework"||e==="waiting_dependencies"?"todo":"in-progress"}function RJ(e){return e==="done"||e==="delivered"?"done":e==="failed"||e==="cancelled"?"failed":e==="pending"?"pending":e==="awaiting_manager_review"||e==="awaiting_review"||e==="awaiting_human"?"waiting":"active"}function AJ(e){return e==="reflecting"||e==="tool_active"||e==="idle"?e:"idle"}function MJ(e){const t=ao(e)||e.taskId,n=e.workItemRoleId||e.assigneeIds[0]||e.taskId,i=e.workItemRoleName||n.replace(/[_-]/g," ").replace(/\b\w/g,o=>o.toUpperCase()),r=IJ(e.status);return{roleKey:n,roleId:n,roleName:i,runtimeStatus:AJ(e.agentStatus),aggregatedStatus:RJ(e.status),workItems:[{workItemId:e.workItemProjectionId||t,workItemProjectionId:e.workItemProjectionId,phase:r,kanbanColumn:TJ(r),title:e.title||i,kind:e.workItemTurnType,executorRoleId:n,executorRoleName:i,createdAt:e.createdAt,updatedAt:e.updatedAt,executionTurnId:t,progressLog:e.progressLog,activitySections:e.progressLog.length>0?[{kind:"activity",title:"Runtime activity",roleName:i,runtimeTaskId:t,entries:e.progressLog}]:[]}]}}function DJ({taskId:e,sessions:t,agents:n,onClose:i}){if(!e)return null;for(const a of t){const u=a.roleWorkItems;if(u)for(const d of Object.values(u)){const m=d.workItems.find(h=>h.executionTurnId===e);if(m)return c.jsx(xC,{role:d,focusedWorkItemId:m.workItemId,focusedExecutionTurnId:m.executionTurnId,agents:n,onClose:i})}}const r=t.find(a=>a.taskId===e||ao(a)===e);if(!r)return null;const o=MJ(r);return c.jsx(xC,{role:o,focusedExecutionTurnId:e,agents:n,onClose:i})}function OJ(){const e=E.useRef(new VM);E.useMemo(()=>YM(e.current),[]);const t=E.useRef(null),n=wJ(),[i,r]=E.useState(n),[o,a]=E.useState(n),[u,d]=E.useState("disconnected"),[m,h]=E.useState(""),[p,g]=E.useState(null),[y,v]=E.useState([]),[k,S]=E.useState(0),[_,w]=E.useState(null),[C,N]=E.useState("openopc"),[O,I]=E.useState(!0),[D,T]=E.useState(()=>{try{return localStorage.getItem("opc_office_sidebar_collapsed")==="1"}catch{return!1}}),L=()=>T(Z=>{const z=!Z;try{localStorage.setItem("opc_office_sidebar_collapsed",z?"1":"0")}catch{}return z}),[A,M]=E.useState("all"),[$,W]=E.useState("workspace"),[B,U]=E.useState([]),[F,V]=E.useState(!1),[Y,Q]=E.useState(null),[q,G]=E.useState("task"),[J,P]=E.useState("corporate"),[K,ee]=E.useState("native"),[te,ie]=E.useState(null),[oe,fe]=E.useState(null),[se,_e]=E.useState(null),[we,Ce]=E.useState(null),[Be,Ve]=E.useState([]),[Ye,ht]=E.useState(""),[zt,bt]=E.useState(null),[Nt,me]=E.useState([]),[ze,lt]=E.useState([]),[tt,qe]=E.useState(null),[ce,ve]=E.useState(null),[Ae,$e]=E.useState(null),[He,Kt]=E.useState(null),[Yt,be]=E.useState(null),[Re,Ue]=E.useState(null),[Xe,Ge]=E.useState(null),[Je,qn]=E.useState(!1),[In,Dn]=E.useState(null),[Ie,Te]=E.useState(null),Ke=E.useRef(new Set),We=E.useRef(new Set),gt=E.useRef([]),Oe=E.useRef("task"),nt=E.useRef(null),on=E.useRef(null),Zt=E.useRef(null),_t=E.useRef(null),Qt=E.useRef(null),Cn=E.useRef("default"),dt=E.useRef(null),jn=E.useRef(""),Jt=E.useRef(0),En=E.useRef(!1),hn=E.useRef(!1),jt=E.useRef(0),yt=E.useRef(!1),gn=E.useRef(null),ri=E.useRef(null),Me=E.useRef(new Map),[$t,Wn]=E.useState(null),[_i,On]=E.useState(null),[vt,Ni]=E.useState("success"),[Ii,Yn]=E.useState(null),[dn,Hi]=E.useState(null),[Or,Et]=E.useState(null),[Ti,ki]=E.useState(()=>_J()),Xn=E.useCallback(Z=>(typeof Z=="string"?Z.trim():"")||"default",[]),at=E.useCallback(()=>Xn(Cn.current),[Xn]),an=E.useCallback(()=>`${Date.now()}-${Math.random().toString(36).slice(2,9)}`,[]),tn=E.useCallback(Z=>{if(!Z||typeof Z!="object")return"";for(const ne of["project_id","projectId","active_project_id","activeProjectId"]){const ae=Z[ne];if(typeof ae=="string"&&ae.trim())return ae.trim()}const z=Z.data;if(z&&typeof z=="object")for(const ne of["project_id","projectId"]){const ae=z[ne];if(typeof ae=="string"&&ae.trim())return ae.trim()}return""},[]),It=E.useCallback((Z,z=!1)=>{const ne=tn(Z);return ne?ne===at():z},[at,tn]),pi=E.useCallback(Z=>{if(!Z||typeof Z!="object")return"";const z=Z.switch_seq??Z.switchSeq;return typeof z=="string"?z.trim():""},[]),de=E.useCallback(Z=>{if(!Z||typeof Z!="object")return null;const z=Z.view_generation??Z.viewGeneration;if(typeof z=="number")return z;if(typeof z=="string"&&z.trim()){const ne=Number(z);return Number.isFinite(ne)?ne:null}return null},[]),Se=E.useCallback(Z=>{const z=tn(Z);if(!z)return!1;const ne=dt.current;if(z!==at()&&z!==ne)return!1;const ae=de(Z);if(ae!==null&&ae!==Jt.current)return!1;const pe=pi(Z);return!pe||!jn.current||pe===jn.current},[at,pi,de,tn]),Fe=E.useCallback(Z=>{if(!Z||Z.error!=="task_not_found")return!1;if(!It(Z,!1))return!0;if((typeof Z.action=="string"?Z.action:"")!=="session_detail")return!1;const ne=de(Z);if(ne!==null&&ne!==Jt.current)return!0;const ae=typeof Z.task_id=="string"?Z.task_id:"";return ae?!(_t.current?.sessions??[]).some(je=>je.taskId===ae):!0},[It,de]),ft=E.useCallback(()=>{for(const Z of Me.current.values())clearTimeout(Z);Me.current.clear()},[]),Gt=E.useCallback((Z,z="full",ne=!1,ae)=>{if(!Z)return;const pe=ae||at(),je=Jt.current;if(!ne&&!Aj(Z,_t.current))return;const Ze=`${pe}:${je}:${Z}`,Pe=Me.current.get(Ze);Pe&&(clearTimeout(Pe),Me.current.delete(Ze));const Pt=setTimeout(()=>{Me.current.delete(Ze),pe===at()&&je===Jt.current&&(!ne&&!Aj(Z,_t.current)||(_t.current?.updateSession(Z,{detailLoading:!0,detailError:void 0,viewGeneration:je}),t.current?.sessionDetail(pe,Z,{limit:200,detailLevel:z,include:z==="full"?["messages","session_state","progress","work_items","runtime_context"]:["messages","session_state"],viewGeneration:je})))},180);Me.current.set(Ze,Pt)},[at]),Nn=E.useCallback((Z,z="success")=>{On(Z),Ni(z),setTimeout(()=>On(null),3e3)},[]),hi=E.useCallback(()=>{ri.current&&(clearTimeout(ri.current),ri.current=null),yt.current=!1,gn.current=null},[]),bn=E.useCallback(Z=>{hi(),yt.current=!0,gn.current=Z,ri.current=setTimeout(()=>{!yt.current||gn.current!==Z||(hi(),h("create_session_timeout"),Nn("Session creation timed out. Please try again.","error"))},3e4)},[hi,Nn]),Ln=t4(),Si=cV(),fn=SV(),Ri=CV(),ia=fn.activeSessionId,Hu=E.useMemo(()=>ia?bJ(Si.getChannelMessages(yJ(ia))):null,[ia,Si]);E.useCallback(Z=>{const z=Xn(Z);Cn.current=z,ft(),Si.initFromBackend(z,[],[]),Ln.initFromBackend(z,[],[],[]),fn.initFromBackend(z,[]),hi(),Et(null),_e(null),Ce(null)},[Ln,Si,hi,ft,Xn,fn]);const Rs=E.useCallback(Z=>{const z=Xn(Z),ne=an();return En.current=!0,jn.current=ne,Jt.current+=1,dt.current=z,ft(),h(`Switching to ${z}...`),ne},[ft,an,Xn]),sp=E.useRef(!1);E.useLayoutEffect(()=>{on.current=Si,Zt.current=Ln,_t.current=fn,Qt.current=Ri,nt.current=Z=>{if(!Ln.activeBoardId||Ln.activeBoardColumns.length===0)return;const ne=Ln.activeBoardColumns.find(ae=>ae.name==="Todo")?.id??Ln.activeBoardColumns[0].id;Ln.createTask({boardId:Ln.activeBoardId,columnId:ne,title:Z.title,priority:Z.priority,assigneeIds:Z.assignee_id?[Z.assignee_id]:[]})},sp.current=!0}),E.useEffect(()=>{gt.current=B},[B]),E.useEffect(()=>{Oe.current=q},[q]),E.useEffect(()=>{const Z=e.current,z=ne=>{w(ne),S(ae=>ae+1)};return Z.on("agentSelected",z),()=>{Z.off("agentSelected",z)}},[]);const ra=E.useRef(new Map),rr=E.useRef(null),As=E.useCallback(Z=>{const z=ra.current;if(z.size===0)return;const ne=Z?[Z]:Array.from(z.keys());for(const ae of ne){const pe=z.get(ae);if(!pe)continue;z.delete(ae);const je=_t.current;pe.draftText&&je?.appendDraft(ae,pe.draftText,pe.draftIteration,pe.draftTurnId),je?.updateSession(ae,pe.sessionPatch),Object.keys(pe.kanbanPatch).length>0&&Zt.current?.updateTask(ae,pe.kanbanPatch)}z.size===0&&rr.current!==null&&(window.clearTimeout(rr.current),rr.current=null)},[]),op=E.useCallback(()=>{rr.current===null&&(rr.current=window.setTimeout(()=>{rr.current=null,As()},80))},[As]),Ms=E.useRef(null),sa=E.useCallback(()=>{Ms.current===null&&(Ms.current=window.setTimeout(()=>{Ms.current=null,S(Z=>Z+1)},300))},[]);E.useEffect(()=>{const Z=new X3(i,{onSnapshot:z=>{if(!Se(z))return;g(z);const ne=z.timeline.slice(-Ij);v(ne);const ae=new Set;for(const je of ne)ae.add(je.event_id);We.current=ae,e.current.pushSnapshot(z);const pe=Object.entries(z.agents??{});if(pe.length>0){const je=Tj(pe.map(([Ze,Pe])=>({...Pe&&typeof Pe=="object"?Pe:{},agent_id:Ze})),gt.current);gt.current=je,U(je)}z.exec_mode&&G(ks(z.exec_mode)),z.company_profile&&P(Uc(z.company_profile)),z.task_preferred_agent&&ee(Cs(z.task_preferred_agent)),S(je=>je+1)},onEvent:z=>{try{if(!It(z,!1))return;if(We.current.has(z.event_id)){We.current.delete(z.event_id);return}if(v(ne=>[...ne.slice(-Ij+1),z]),e.current.pushEvent(z),z.type==="task_routed"&&z.agent_id){if(Oe.current==="company"||Oe.current==="org")return;const ne=z.data?.task_id;if(ne&&!Zt.current?.tasks.find(ae=>ae.id===ne)){const ae=typeof z.data?.content_preview=="string"?z.data.content_preview.slice(0,80):"Task";nt.current?.({title:ae,priority:null,assignee_id:z.agent_id})}}if(z.type==="task_done"&&z.agent_id&&Q(z.agent_id),["turn_started","assistant_delta","thinking_delta","status_snapshot","tool_started","tool_progress","tool_completed","permission_requested","permission_resolved","cost_update","context_usage","context_warning","subagent_started","subagent_updated","subagent_completed","member_inbox_updated","compaction_applied","checkpoint_saved","turn_completed","turn_failed"].includes(z.type)){const ne=z.data,ae=typeof ne.task_id=="string"?ne.task_id:"";if(ae){const pe=z.type==="assistant_delta"||z.type==="thinking_delta";pe||As(ae);const je=_t.current,Ze=Zt.current,Pe=je?.sessions.find(da=>da.taskId===ae),Pt=typeof ne.work_item_projection_id=="string"?ne.work_item_projection_id:"",Ht=(typeof ne.execution_mode=="string"?ne.execution_mode:"")==="task_mode"||Pt==="task_mode_execution",Tt=typeof ne.turn_id=="string"&&ne.turn_id?ne.turn_id:typeof ne.canonical_turn_id=="string"&&ne.canonical_turn_id?ne.canonical_turn_id:typeof ne.execution_turn_id=="string"&&ne.execution_turn_id?ne.execution_turn_id:void 0,Dt=!!Pt&&Pt!=="task_mode_execution"&&!Ht;Dt&&!pe&&Pe?.isCompanyRuntime!==!0&&je?.setCompanyRuntime(ae,!0);const oi={lastRuntimeEventType:z.type,...z.type==="member_inbox_updated"?{}:{updatedAt:Date.now()},...Ey(ne)},ai=typeof ne.tool_name=="string"?ne.tool_name:void 0,ua={...Ny(ne),...ai!==void 0?{currentTool:ai||void 0}:{},...ai?{displayTool:ai}:{}};if(pe){const da=ra.current;let Jn=da.get(ae);const Hl=z.type==="assistant_delta"&&typeof ne.text=="string"?ne.text:"";Jn&&Hl&&Jn.draftText&&Jn.draftTurnId!==void 0&&Tt!==void 0&&Jn.draftTurnId!==Tt&&(As(ae),Jn=void 0),Jn||(Jn={draftText:"",sessionPatch:{},kanbanPatch:{}},da.set(ae,Jn)),Hl&&(Jn.draftText+=Hl,Jn.draftIteration=typeof ne.iteration=="number"?ne.iteration:Jn.draftIteration??Pe?.draftIteration,Tt!==void 0&&(Jn.draftTurnId=Tt)),Jn.sessionPatch={...Jn.sessionPatch,...oi,...Dt?{isCompanyRuntime:!0}:{}},Jn.kanbanPatch={...Jn.kanbanPatch,...ua},op()}else(z.type==="turn_started"||z.type==="turn_completed"||z.type==="turn_failed"||z.type==="checkpoint_saved")&&je?.clearDraft(ae),je?.updateSession(ae,oi),Ze?.updateTask(ae,ua);const Gu=Ht&&kJ.has(z.type)||SJ.has(z.type);z.type!=="assistant_delta"&&!Gu&&Gt(ae)}}if(z.type==="agent_removed"&&z.agent_id){const ne=z.agent_id;vM(ne);const ae=on.current;ae&&(ae.markSenderDeleted(ne),ae.removeParticipant(ne))}sa()}catch(ne){console.error("[onEvent] Error:",ne,z)}},onAck:z=>{try{if(z.ok===!1){if(z.action==="create_session"&&hi(),Fe(z))return;z.action==="session_detail"&&typeof z.task_id=="string"&&_t.current?.updateSession(z.task_id,{detailLoading:!1,detailError:String(z.error??"request_failed")}),h(String(z.error??"request_failed")),Hi(null),Yn(null),Nn(String(z.error??"Request failed"),"error")}if(z.ok&&z.action==="employee_imported"&&Nn("Employee deployed to office!"),z.ok&&z.action==="talent_imported"&&Nn(`Imported ${z.count??0} templates!`),z.ok&&z.action==="talent_hired"&&(Wn(null),Nn(`${z.name??"Agent"} hired and added to office!`)),z.ok&&z.action==="architecture_reset"&&(Ue(null),Ge(null)),z.ok&&z.action==="session_detail"){if(!It(z,!1))return;const ne=de(z);if(ne!==null&&ne!==Jt.current)return;const ae=typeof z.task_id=="string"?z.task_id:"",pe=Array.isArray(z.messages)?z.messages.map(Lf):[],je=typeof z.message_count=="number"?z.message_count:pe.length,Ze=on.current;Ze&&pe.length>0&&Ze.mergeMessagesFromBackend(pe);const Pe=_t.current;if(Pe&&ae){const Pt=Pe.sessions.find(oi=>oi.taskId===ae),nn=String(Pt?.draftTurnId??"").trim();nn&&pe.some(oi=>{if(oi.sender==="user")return!1;const ai=oi.metadata??{};return String(ai.transcript_kind??ai.kind??"").trim()!=="runtime_v2_assistant"?!1:String(ai.canonical_turn_id??ai.turn_id??"").trim()===nn})&&Pe.clearDraft(ae);const Tt=z.session_state,Dt=Tt&&typeof Tt=="object"?XR(Tt):null;Pe.updateSession(ae,{...Dt??{},...typeof z.handoff_context=="string"?{handoffContext:z.handoff_context}:{},...typeof z.handoff_to=="string"?{handoffTo:z.handoff_to}:{},messageCount:je,detailLoaded:!0,fullLoaded:z.detail_level==="full"&&z.has_more!==!0,hasMore:z.has_more===!0,detailLoading:!1,detailError:void 0,viewGeneration:ne??Jt.current})}}if(Array.isArray(z.agents)){const ne=Tj(z.agents,gt.current);gt.current=ne,U(ne);for(const ae of ne)e.current.ensureAgent(ae.agent_id,ae.name,ae.office_id,ae.appearance?.palette,ae.appearance?.desk_id);S(ae=>ae+1)}if(z.ok&&(z.agent_id||z.deleted)&&(z.deleted&&(Hi(null),Yn(null),Nn("Agent removed")),z.agent_id&&!z.deleted&&Nn("Agent created!"),t.current?.listAgents()),z.ok&&Array.isArray(z.projects)){const ne=Qt.current;if(ne){const ae=at(),pe=!hn.current,je=!hn.current&&!En.current,Ze=typeof z.active_project_id=="string"?z.active_project_id.trim():"",Pe=z.action==="create_project"&&typeof z.project_id=="string"?z.project_id.trim():"",Pt=je?Xn(Pe||Ze||Cn.current):Pe?Xn(Pe):at();if(Pe&&(En.current=!0),hn.current=!0,Cn.current=Pt,ne.initFromBackend(z.projects,Pt),Pt!==ae||pe){const nn=an();jn.current=nn,dt.current=Pt,Jt.current+=1,h(`Switching to ${Pt}...`),t.current?.switchProject(Pt,nn)}}}if(z.ok&&Array.isArray(z.channels)){if(!Se(z))return;const ne=Nj(z),ae=tn(z);if(!ae)return;const pe=dt.current===ae||at()!==ae;Cn.current=ae,dt.current=null,Qt.current?.setActiveProject(ae),pe&&(ft(),Et(null),_e(null),Ce(null)),h("");const je=on.current;je&&je.initFromBackend(ae,ne.channels,ne.messages);const Ze=Zt.current;Ze&&Ze.initFromBackend(ae,ne.boards,ne.columns,ne.tasks);const Pe=_t.current;if(Pe){Pe.initFromBackend(ae,ne.sessions);const Pt=Pe.activeSessionId;Pt&&Gt(Pt,"full",!0)}}}catch(ne){console.error("[onAck] Error:",ne)}},onStatus:(z,ne)=>{if(d(z),h(ne??""),z==="connected"){const ae=at();Z.listProjects(),Z.orgInfo(),Z.orgSavedList(),Z.collabSync(ae,void 0,Jt.current)}},onCollabMessage:(z,ne)=>{try{if(z==="project_index_push"){if(!Se(ne))return}else if(!It(ne,!1))return;const ae=on.current;if(z==="chat_new_message")ae&&ae.addMessageFromBackend(Lf(ne));else if(z==="chat_channel_created")ae&&ae.addChannelFromBackend(VR(ne));else if(z==="session_runtime_control"){const pe=_t.current;if(pe){const je=Array.isArray(ne.task_ids)?ne.task_ids.map(String).filter(Boolean):[],Ze={runtimeControlState:String(ne.runtime_control_state??ne.runtimeControlState??"idle"),canStop:!!(ne.can_stop??ne.canStop),canResume:!!(ne.can_resume??ne.canResume),resumeParentTaskId:String(ne.resume_parent_task_id??ne.resumeParentTaskId??""),resumeParentSessionId:String(ne.resume_parent_session_id??ne.resumeParentSessionId??""),pendingRuntimeCheckpointId:String(ne.pending_runtime_checkpoint_id??ne.pendingRuntimeCheckpointId??""),stopIntentId:String(ne.stop_intent_id??ne.stopIntentId??"")};for(const Pe of je)pe.updateSession(Pe,Ze)}}else if(z==="board_task_status_changed"){const pe=String(ne.task_id??""),je=String(ne.column_id??""),Ze=String(ne.status??""),Pe=["done","failed","cancelled"].includes(Ze);if(pe&&je){const Pt=Zt.current;if(Pt){const Ht=Pt.tasks.find(Tt=>Tt.id===pe);if(Ht){const Tt={};Ht.columnId!==je&&Pt.moveTask(pe,je,0),Ze==="running"?(!Ht.agentStatus||Ht.agentStatus==="idle")&&(Tt.agentStatus="reflecting"):(Ht.agentStatus||Ht.currentTool||Ht.displayTool)&&(Tt.agentStatus=void 0,Tt.currentTool=void 0,Tt.displayTool=void 0),Object.keys(Tt).length>0&&Pt.updateTask(pe,Tt)}}const nn=_t.current;if(nn){const Ht=nn.sessions.find(Dt=>Dt.taskId===pe),Tt={columnId:je,status:Ze||je};Ze==="running"?(!Ht?.agentStatus||Ht.agentStatus==="idle")&&(Tt.agentStatus="reflecting"):(Ht?.agentStatus||Ht?.currentTool||Ht?.displayTool||Pe)&&(Tt.agentStatus=void 0,Tt.currentTool=void 0,Tt.displayTool=void 0),Object.assign(Tt,R4(Ht,Ze)),nn.updateSession(pe,{...Tt})}}}else if(z==="execution_mode_resolved"){const pe=String(ne.mode??""),je=String(ne.profile??"");if(pe){const Ze=ks(pe);G(Ze),P(Ze==="org"?"custom":Ze==="company"?Uc(je):"corporate")}else je&&P(Uc(je))}else if(z==="project_run_updated"||z==="seat_digest_updated"||z==="work_item_batch_updated")t.current?.collabSync(at(),void 0,Jt.current);else if(z==="collab_sync_push"||z==="project_index_push"){const pe=String(ne.sync_scope??ne.syncScope??"").toLowerCase(),je=z==="project_index_push"||pe==="index";if(!Se(ne))return;const Ze=Nj(ne),Pe=tn(ne);if(!Pe)return;const Pt=dt.current===Pe||at()!==Pe;if(Cn.current=Pe,dt.current=null,Qt.current?.setActiveProject(Pe),Pt&&(ft(),Et(null),_e(null),Ce(null)),h(""),je){const Dt=_t.current;Dt&&Dt.initFromBackend(Pe,Ze.sessions,{preserveExistingWhenIncomingPartial:!0,preserveActiveWhenMissing:!0}),t.current?.collabSync(Pe,void 0,Jt.current);return}const nn=on.current;nn&&nn.initFromBackend(Pe,Ze.channels,Ze.messages);const Ht=Zt.current;Ht&&Ht.initFromBackend(Pe,Ze.boards,Ze.columns,Ze.tasks);const Tt=_t.current;if(Tt){Tt.initFromBackend(Pe,Ze.sessions);const Dt=Tt.activeSessionId;Dt&&Gt(Dt,"full",!0)}}}catch(ae){console.error("[onCollabMessage] Error:",ae)}},onAgentRuntimeUpdate:z=>{if(!It(z,!1))return;z.agent_id&&U(ae=>{const pe=ae.map(je=>je.agent_id===z.agent_id?{...je,status:z.status,runtime_status:z.status,current_tool:z.current_tool??void 0,current_task_id:z.task_id??void 0}:je);return gt.current=pe,pe});const ne=Zt.current;if(ne&&z.task_id){const ae=z,pe=Ny(ae),je=Ey(ae);if(kf(ae,"current_tool")){const Pe=typeof ae.current_tool=="string"&&ae.current_tool.trim()?ae.current_tool:void 0;pe.currentTool=Pe,je.currentTool=Pe,Pe&&(pe.displayTool=Pe,je.displayTool=Pe)}if(kf(ae,"display_tool")){const Pe=typeof ae.display_tool=="string"&&ae.display_tool.trim()?ae.display_tool:void 0;Pe&&(pe.displayTool=Pe,je.displayTool=Pe)}if(NJ(z.status)&&(pe.displayTool=void 0,je.displayTool=void 0),kf(ae,"tool_elapsed_ms")){const Pe=typeof ae.tool_elapsed_ms=="number"?ae.tool_elapsed_ms:void 0;pe.toolElapsedMs=Pe,je.toolElapsedMs=Pe}if(kf(ae,"last_tool_summary")){const Pe=typeof ae.last_tool_summary=="string"?ae.last_tool_summary:void 0;pe.lastToolSummary=Pe,je.lastToolSummary=Pe}typeof z.iteration=="number"&&(pe.iterationCount=z.iteration),ne.updateTask(z.task_id,{agentStatus:z.status,...pe});const Ze=_t.current;Ze&&Ze.updateSession(z.task_id,{agentStatus:z.status,...je,updatedAt:Date.now()}),Gt(z.task_id)}},onWorkerNotification:z=>{if(!It(z,!1))return;const ne=z,ae=typeof z.task_id=="string"?z.task_id:"";if(!ae)return;const pe=ne;_t.current?.updateSession(ae,{...Ey(ne),latestNotification:pe,updatedAt:Date.now()}),Zt.current?.updateTask(ae,{...Ny(ne),latestNotification:pe}),Gt(ae)},onKanbanViewData:z=>{if(!It(z,!1))return;const ne=Zt.current;ne&&ne.initFromBackend(tn(z)||at(),(z.boards??[]).map(UR),(z.columns??[]).map(GR),(z.tasks??[]).map(qR))},onSessionProgress:z=>{if(!It(z,!1))return;const ne=_t.current;if(!(!ne||!z.task_id||!z.entry)){if(ne.appendProgress(z.task_id,{type:z.entry.type,summary:z.entry.summary,detail:z.entry.detail,timestamp:z.entry.timestamp*1e3,turnId:typeof z.entry.turn_id=="string"?z.entry.turn_id:typeof z.entry.turnId=="string"?z.entry.turnId:void 0,itemId:typeof z.entry.item_id=="string"?z.entry.item_id:typeof z.entry.itemId=="string"?z.entry.itemId:void 0,streamId:typeof z.entry.stream_id=="string"?z.entry.stream_id:typeof z.entry.streamId=="string"?z.entry.streamId:void 0,toolCallId:typeof z.entry.tool_call_id=="string"?z.entry.tool_call_id:typeof z.entry.toolCallId=="string"?z.entry.toolCallId:void 0,permissionGroupKey:typeof z.entry.permission_group_key=="string"?z.entry.permission_group_key:typeof z.entry.permissionGroupKey=="string"?z.entry.permissionGroupKey:void 0,seq:typeof z.entry.seq=="number"?z.entry.seq:void 0,executionMode:typeof z.entry.execution_mode=="string"?z.entry.execution_mode:typeof z.entry.executionMode=="string"?z.entry.executionMode:void 0}),z.entry.type==="tool_call"){const ae=String(z.entry.summary??"").trim();ne.updateSession(z.task_id,{...ae?{currentTool:ae,displayTool:ae}:{},updatedAt:z.entry.timestamp*1e3})}z.entry.type!=="thinking"&&z.entry.type!=="verification"&&Gt(z.task_id)}},onBoardEvent:z=>{if(!It(z,!1))return;const ne=Zt.current;if(!ne)return;const ae=String(z.task_id??"");if(!ae)return;const pe=_t.current;if(pe&&pe.sessions.find(oi=>oi.taskId===ae)?.mode==="child")return;const je=Array.isArray(z.assignee_ids)?z.assignee_ids.map(String):[],Ze=jy(z);if(ne.tasks.find(Dt=>Dt.id===ae)){const Dt={};z.title&&(Dt.title=String(z.title)),z.display_id&&(Dt.displayId=String(z.display_id)),je.length>0&&(Dt.assigneeIds=je),Object.assign(Dt,Ze),Object.keys(Dt).length>0&&ne.updateTask(ae,Dt);return}const Pt=String(z.board_id??ne.activeBoardId??"default"),nn=ne.columns.filter(Dt=>Dt.boardId===Pt),Tt=nn.find(Dt=>Dt.name==="Todo")?.id??nn[0]?.id??"";Tt&&(ne.createTask({boardId:Pt,columnId:Tt,title:String(z.title??"Untitled"),taskId:ae,displayId:z.display_id?String(z.display_id):void 0,assigneeIds:je}),Object.keys(Ze).length>0&&ne.updateTask(ae,Ze))},onSessionCreated:z=>{try{if(!It(z,!1))return;const ne=_t.current;if(!ne)return;const ae=String(z.task_id??"");if(!ae)return;const pe=tn(z);if(!pe)return;const je=ae?ne.sessions.find(Dt=>Dt.taskId===ae):void 0,Ze=jy(z),Pe=ks(z.exec_mode??je?.execMode),Pt=Cy(Pe,z.company_profile??je?.companyProfile),nn=Po(Pe,z.org_id??z.organization_id??je?.orgId);Pe==="org"&&nn&&Ue(nn),ne.createSession({projectId:pe,taskId:ae,channelId:z.channel_id,sessionId:z.session_id,parentSessionId:z.parent_session_id,originTaskId:z.origin_task_id??je?.originTaskId??ae,mode:z.parent_session_id?"child":"primary",execMode:Pe,companyProfile:Pt,orgId:nn,preferredAgent:Cs(z.preferred_agent??je?.preferredAgent),title:z.title,status:z.status,columnId:je?.columnId??"todo",assigneeIds:Array.isArray(z.assignee_ids)?z.assignee_ids.map(String):je?.assigneeIds??[],priority:je?.priority??null,tags:je?.tags??[],progressLog:je?.progressLog??[],createdAt:typeof z.created_at=="number"?z.created_at*1e3:je?.createdAt??Date.now(),updatedAt:Date.now(),messageCount:0,...Ze});const Ht=Zt.current;if(Ht&&Pe==="task"&&!z.parent_session_id&&ae&&!Ht.tasks.find(Dt=>Dt.id===ae)&&Ht.activeBoardId){const oi=Ht.columns.filter(ai=>ai.boardId===Ht.activeBoardId).find(ai=>ai.name==="Todo");oi&&Ht.createTask({boardId:Ht.activeBoardId,columnId:oi.id,title:z.title,taskId:ae,assigneeIds:je?.assigneeIds??[]})}if(yt.current){if(gn.current!==pe)return;hi(),ne.setActiveSession(z.task_id),Gt(z.task_id,"full",!0)}}catch(ne){console.error("[onSessionCreated] Error:",ne)}},onSessionUpdated:z=>{try{if(!It(z,!1))return;const ne=_t.current;if(!ne||!z.task_id)return;const ae=ks(z.exec_mode??ne.sessions.find(pe=>pe.taskId===z.task_id)?.execMode);ne.updateSession(z.task_id,{...z.exec_mode?{execMode:ae}:{},...z.exec_mode||z.company_profile?{companyProfile:Cy(ae,z.company_profile)}:{},..."org_id"in z||"organization_id"in z?{orgId:Po(ae,z.org_id??z.organization_id)}:{},...z.preferred_agent?{preferredAgent:Cs(z.preferred_agent)}:{},...z.selected_execution_agent?{selectedExecutionAgent:Cs(z.selected_execution_agent)}:{}}),(z.exec_mode==="org"||z.exec_mode==="custom")&&(z.org_id||z.organization_id)&&Ue(String(z.org_id??z.organization_id))}catch(ne){console.error("[onSessionUpdated] Error:",ne)}},onSessionMessage:z=>{try{if(!It(z,!1))return;const ne=on.current;if(!ne)return;const ae=Lf(z);console.debug("[onSessionMessage]",ae.sender,ae.channelId,ae.content?.slice(0,60)),ne.addMessageFromBackend(ae);const pe=ae.channelId.startsWith("session:")?ae.channelId.slice(8):"";pe&&ae.sender!=="user"&&(_t.current?.clearDraft(pe),Gt(pe,"full",!0))}catch(ne){console.error("[onSessionMessage] Error:",ne)}},onSessionTitleUpdated:z=>{try{if(!It(z,!1))return;const ne=_t.current;ne&&ne.updateSession(z.task_id,{title:z.title});const ae=Zt.current;if(ae){const je=ne?.sessions.find(Pe=>Pe.taskId===z.task_id)?.originTaskId??z.task_id,Ze=ae.boards.find(Pe=>Pe.id===je);Ze&&Ze.name!==z.title&&ae.updateBoardName(je,z.title)}}catch(ne){console.error("[onSessionTitleUpdated] Error:",ne)}},onSessionDeleted:z=>{try{if(!It(z,!1))return;const ne=_t.current;if(!ne)return;ne.activeSessionId===z.task_id&&ne.setActiveSession(null),ne.deleteSession(z.task_id);const ae=Zt.current;ae&&ae.deleteTask(z.task_id);const pe=on.current;pe&&pe.removeSessionData(z.task_id)}catch(ne){console.error("[onSessionDeleted] Error:",ne)}},onProjectSwitched:z=>{if(!Se(z))return;const ne=typeof z.project_id=="string"?z.project_id.trim():"";ne&&(dt.current=ne,h(`Switching to ${ne}...`))},onProjectDeleted:z=>{const ne=Qt.current;ne&&ne.removeProject(z.project_id)},onOrgInfo:z=>{const ne=lN(z);ie(ne),Ge(ae=>ae===null?ne?.org_version??0:ae),(z?.project_run?.execution_model==="multi_team_org"||Array.isArray(z?.work_items)&&z.work_items.length>0)&&t.current?.collabSync(at(),void 0,Jt.current)},onRecoveryStatus:z=>{It(z,!1)&&fe(z)},onCommsState:z=>{It(z,!1)&&_e(z)},onCommsMessage:z=>{It(z,!0)&&Ce(z)},onRecoveryResult:z=>{It(z,!1)&&(z?.status==="completed"||z?.status==="cancelled")&&t.current?.recoveryAction(at(),"scan")},onTalentList:z=>{Ve(z.templates??[]),z.talent_dir&&ht(z.talent_dir)},onEmployeeDetail:z=>{bt(z)},onReorgList:z=>{me(z.proposals??[])},onOrgConfigExport:z=>{ve(z.yaml??"")},onOrgConfigImport:z=>{z.ok?($e(z.preview??null),Kt(null),z.dry_run||(Ue(null),Ge(null))):(Kt(z.error??"Import failed"),$e(null))},onOrgSavedList:z=>{be(z.orgs??[]),"active_name"in z&&Ue(z.active_name??null)},onOrgSavedSaveAs:z=>{z.ok?(t.current?.orgSavedList(),Ue(z.name),Ge(null),Te({kind:"ok",text:`Saved "${z.name}"`})):Te({kind:"error",text:`Save failed: ${z.error??"unknown"}`})},onOrgSavedCreate:z=>{if(qn(!1),Dn({...z,nonce:Date.now()}),z.ok){const ne=z.organization_id||z.name;Ue(ne),G("org"),P("custom"),t.current?.orgSavedList(),t.current?.orgInfo(),Ge(null),Te({kind:"ok",text:`Created "${z.organization_name||ne}"`})}else Te({kind:"error",text:`Create failed: ${z.error??"unknown"}`})},onOrgSavedLoad:z=>{z.ok?(Ue(z.name),G("org"),P("custom"),t.current?.orgSavedList(),Ge(null),Te({kind:"ok",text:`Loaded "${z.name}"`})):Te({kind:"error",text:`Load failed: ${z.error??"unknown"}`})},onOrgSavedDelete:z=>{z.ok?(t.current?.orgSavedList(),Ue(ne=>ne===z.name?(Ge(null),null):ne),Te({kind:"ok",text:`Deleted "${z.name}"`})):Te({kind:"error",text:`Delete failed: ${z.error??"unknown"}`})},onMarketBrowse:z=>{lt(z.presets??[])},onMarketPreview:z=>{qe(z)},onChildSessionCreated:z=>{if(!It(z,!1))return;const ne=_t.current;if(!ne)return;const ae=jy(z),pe=tn(z);if(pe&&(ne.createSession({projectId:pe,taskId:z.task_id,channelId:z.channel_id??`session:${z.task_id}`,sessionId:z.session_id,parentSessionId:z.parent_session_id,originTaskId:z.origin_task_id??z.task_id,mode:"child",orgId:String(z.org_id??z.organization_id??"").trim()||void 0,title:z.title,status:"pending",columnId:"todo",assigneeIds:z.agent_id?[z.agent_id]:[],priority:null,tags:[],createdAt:Date.now(),updatedAt:Date.now(),messageCount:0,progressLog:[],...ae}),z.parent_session_id)){const je=ne.sessions.find(Ze=>Ze.sessionId===z.parent_session_id||Ze.taskId===z.parent_session_id);je&&!je.isCompanyRuntime&&ne.setCompanyRuntime(je.taskId,!0)}},onWorkItemProgress:z=>{if(!It(z,!1))return;const ne=_t.current;if(!ne||!z.task_id||!z.entry)return;const ae=typeof z.entry.work_item_projection_id=="string"?z.entry.work_item_projection_id:"",pe=ae&&ae!=="company_runtime"?ae:void 0,je=typeof z.entry.runtime_task_id=="string"&&z.entry.runtime_task_id?z.entry.runtime_task_id:typeof z.runtime_task_id=="string"&&z.runtime_task_id?z.runtime_task_id:typeof z.entry.execution_turn_id=="string"&&z.entry.execution_turn_id?z.entry.execution_turn_id:typeof z.execution_turn_id=="string"&&z.execution_turn_id?z.execution_turn_id:void 0,Ze=typeof z.entry.execution_turn_id=="string"&&z.entry.execution_turn_id?z.entry.execution_turn_id:typeof z.execution_turn_id=="string"&&z.execution_turn_id?z.execution_turn_id:je;ne.updateSession(z.task_id,{isCompanyRuntime:!0,...pe?{workItemProjectionId:pe}:{}});const Pe=Zt.current;Pe&&pe&&Pe.updateTask(z.task_id,{workItemProjectionId:pe}),ne.appendWorkItemProgress(z.task_id,{timestamp:z.entry.timestamp*1e3,type:z.entry.type,workItemProjectionId:pe,workItemTurnType:typeof z.entry.work_item_turn_type=="string"?z.entry.work_item_turn_type:void 0,workItemProjectionTitle:typeof z.entry.work_item_projection_title=="string"?z.entry.work_item_projection_title:void 0,runtimeTaskId:je,executionTurnId:Ze,roleName:z.entry.role_name,detail:z.entry.detail})}});return t.current=Z,Z.connect(),()=>{Z.disconnect();for(const z of Ke.current)clearTimeout(z);Ke.current.clear();for(const z of Me.current.values())clearTimeout(z);Me.current.clear(),rr.current!==null&&(window.clearTimeout(rr.current),rr.current=null),ra.current.clear(),Ms.current!==null&&(window.clearTimeout(Ms.current),Ms.current=null)}},[i]),E.useEffect(()=>{const Z=()=>{if(typeof document<"u"&&document.visibilityState==="hidden")return;const ne=Date.now();ne-jt.current<1500||(jt.current=ne,t.current?.collabSync(at(),void 0,Jt.current))},z=()=>{document.visibilityState==="visible"&&Z()};return window.addEventListener("focus",Z),document.addEventListener("visibilitychange",z),()=>{window.removeEventListener("focus",Z),document.removeEventListener("visibilitychange",z)}},[at]),E.useEffect(()=>{if(!Ie)return;const Z=setTimeout(()=>Te(null),3e3);return()=>clearTimeout(Z)},[Ie]);const sr=E.useCallback(()=>{t.current?.orgSavedList()},[]),Dl=E.useCallback((Z,z)=>{t.current?.orgSavedSaveAs(Z,z)},[]),Ol=E.useCallback((Z,z)=>{qn(!0),Dn(null),t.current?.orgSavedCreate(Z,z)},[]),ns=E.useCallback(Z=>{t.current?.orgSavedLoad(Z)},[]),Ds=E.useCallback(Z=>{t.current?.orgSavedDelete(Z)},[]),Fu=E.useCallback(()=>{G("company"),P("corporate"),Ge(null),t.current?.setExecutionMode("company","corporate",K),t.current?.orgInfo()},[K]);E.useEffect(()=>{if(!Y)return;const Z=Y;e.current.setAgentBubble(Z,"Done!");const z=setTimeout(()=>{Ke.current.delete(z),e.current.setAgentBubble(Z,null)},3e3);Ke.current.add(z),Q(null)},[Y]),E.useCallback((Z,z,ne)=>{const ae=Ln.tasks.find(pe=>pe.id===Z);for(const pe of z)e.current.sendToSeat(pe),e.current.setAgentActive(pe,!0),e.current.setAgentBubble(pe,`Task: ${ne.slice(0,22)}`),t.current?.assignTaskToAgent(at(),Z,pe,ne);if(ae){const pe=z.map(je=>B.find(Ze=>Ze.agent_id===je)?.name??je);tJ(Si,ae,pe)}S(pe=>pe+1)},[Ln.tasks,Si,B,at]);const oa=E.useMemo(()=>{const Z=p?Object.keys(p.agents).length:0,z=p?.skills.total??0;return{totalAgents:Z,totalSkills:z}},[p]),_r=E.useMemo(()=>{const Z=e.current.getCharacterCards();return(O?Z:Z.filter(ne=>!ne.isSubagent)).slice().sort((ne,ae)=>ne.displayName.localeCompare(ae.displayName))},[O,k]),Lr=E.useMemo(()=>Mn(),[k]),kr=E.useMemo(()=>{const Z={};for(const z of _r)z.officeId&&(Z[z.id]=z.officeId);return Z},[_r]),[Ll,is]=E.useState(null),[or,aa]=E.useState(""),yo=Z=>{or.trim()&&(e.current.renameOffice(Z,or.trim()),S(z=>z+1)),is(null)},zl=(Z,z)=>{e.current.assignAgentToOffice(z,Z),t.current?.moveAgent(z,Z),S(ne=>ne+1)},la=(Z,z)=>{e.current.changeAgentSeat(Z,z),S(ne=>ne+1)},Kn=_r.find(Z=>Z.id===_)??null,Vu=E.useMemo(()=>Kn?e.current.getSeatsForOffice(Kn.officeId):[],[Kn?.officeId,k]),si=E.useMemo(()=>{const Z=y.slice(-40);return{trace:Z.some(z=>z.type==="tool_start"||z.type==="tool_done"),reflect:Z.some(z=>z.type==="reflect_start"||z.type==="reflect_done"),synthesize:Z.some(z=>z.type==="skill_synthesized")}},[y]),rs=E.useMemo(()=>["all",...Array.from(new Set(y.map(z=>z.type)))],[y]),ca=E.useMemo(()=>(A==="all"?y:y.filter(z=>z.type===A)).slice().reverse(),[A,y]),vo=()=>{const Z=o.trim();!Z||Z===i||r(Z)},Pl=E.useCallback(Z=>{w(Z),S(z=>z+1)},[]),Bl=E.useCallback((Z,z,ne,ae)=>{const pe=fn.sessions.find(ai=>ai.taskId===Z),je=ks(z),Ze=Uc(pe?.companyProfile??J),Pe=je==="org"?"custom":"corporate",Pt=String(pe?.orgId??Re??"").trim(),nn=Po(je,ae??pe?.orgId??Re),Ht=ks(pe?.execMode),Tt=Uc(J);if(Ht===je&&Ze===Pe&&Pt===String(nn??"").trim()&&q===je&&Tt===Pe)return;fn.updateSession(Z,{execMode:je,companyProfile:Pe,orgId:nn,preferredAgent:pe?.preferredAgent??K}),G(je),P(Pe),je==="org"&&nn&&Ue(nn);const Dt=pe?.preferredAgent??K,oi=je==="task"?void 0:Pe;t.current?.sessionUpdateConfig(at(),Z,je,oi,Dt,nn),t.current?.setExecutionMode(je,oi,Dt,nn)},[fn,q,J,K,Re,at]),$l=E.useCallback((Z,z)=>{const ne=fn.sessions.find(Pt=>Pt.taskId===Z),ae=Cs(z),pe=ks(ne?.execMode),je=pe==="org"?"custom":"corporate";fn.updateSession(Z,{preferredAgent:ae,selectedExecutionAgent:ae}),ee(ae);const Ze=pe==="task"?void 0:je,Pe=Po(pe,ne?.orgId??Re);t.current?.sessionUpdateConfig(at(),Z,pe,Ze,ae,Pe),t.current?.setExecutionMode(pe,Ze,ae,Pe)},[fn,J,Re,at]),bo=E.useCallback((Z,z,ne)=>{if(dt.current||yt.current)return;const ae=at();bn(ae);const pe=ks(Z),je=pe==="org"?"custom":pe==="company"?"corporate":void 0;t.current?.createSession(ae,void 0,pe,je,K,Po(pe,ne??Re)),W("workspace")},[at,bn,K,Re]),ss=E.useCallback((Z,z)=>{const ne=fn.sessions.find(je=>je.taskId===Z),ae=ne?.resumeParentSessionId??ne?.parentSessionId??ne?.sessionId,pe=ne?.resumeParentTaskId??(ae?fn.sessions.find(je=>je.sessionId===ae&&!je.parentSessionId)?.taskId:void 0)??Z;for(const je of fn.sessions)(je.taskId===Z||je.taskId===pe||ae&&(je.parentSessionId===ae||je.sessionId===ae))&&fn.updateSession(je.taskId,{...z,resumeParentTaskId:pe,resumeParentSessionId:ae})},[fn]),Uu=E.useCallback(Z=>{const z=fn.sessions.find(ae=>ae.taskId===Z);(z?.execMode==="company"||z?.execMode==="org"||z?.execMode==="custom"||z?.isCompanyRuntime||z?.parentSessionId||z?.companyProfile)&&ss(Z,{runtimeControlState:"suspending",canStop:!1,canResume:!1}),t.current?.sessionStop(at(),Z)},[fn.sessions,ss,at]),ap=E.useCallback(Z=>{const z=fn.sessions.find(ae=>ae.taskId===Z);(z?.execMode==="company"||z?.execMode==="org"||z?.execMode==="custom"||z?.isCompanyRuntime||z?.parentSessionId||z?.companyProfile)&&ss(Z,{runtimeControlState:"resuming",canStop:!1,canResume:!1}),t.current?.sessionResume(at(),Z)},[fn.sessions,ss,at]);E.useCallback((Z,z,ne)=>{const ae=ks(Z),pe=ae==="org"?"custom":"corporate",je=Po(ae,ne??Re);G(ae),P(pe),je&&Ue(je),t.current?.setExecutionMode(ae,ae==="task"?void 0:pe,K,je)},[J,K,Re]);const Os=q==="org",lp=q==="task"?"task":q==="org"?`company/${Re??"org"}`:`company/${J}`;return c.jsxs("div",{className:`app-shell theme-${C}`,children:[Ie&&c.jsx("div",{className:`org-toast org-toast--${Ie.kind}`,role:"status","aria-live":"polite",children:Ie.text}),c.jsxs("header",{className:"topbar",children:[c.jsxs("div",{className:"topbar-left",children:[c.jsxs("span",{className:"logo-text",children:["Open",c.jsx("span",{className:"logo-accent",children:"OPC"})]}),c.jsx("div",{className:`conn-dot ${CJ(u)}`,title:`${u}${m?` โ€” ${m}`:""} -${i}`}),c.jsx(RV,{projects:Ri.projects,activeId:Ri.activeProjectId,onSelect:Z=>{const z=Rs(Z);t.current?.switchProject(Z,z)},onCreate:Z=>{t.current?.createProject(Z)},onDelete:Z=>t.current?.deleteProject(Z)})]}),c.jsxs("div",{className:"topbar-center",children:[c.jsxs("div",{className:"page-nav",children:[c.jsxs("button",{className:`page-nav-btn${$==="workspace"?" active":""}`,onClick:()=>W("workspace"),children:["Workspace",(()=>{const Z=Si.channels.reduce((z,ne)=>z+Si.getUnreadCount(ne.id),0);return Z>0?c.jsx("span",{className:"nav-unread-badge",children:Z>99?"99+":Z}):null})()]}),c.jsx("button",{className:`page-nav-btn${$==="office"?" active":""}`,onClick:()=>W("office"),children:"Office"}),c.jsx("button",{className:`page-nav-btn${$==="org"?" active":""}`,onClick:()=>W("org"),children:"Org"})]}),c.jsxs("div",{className:"stat-chips",children:[c.jsxs("span",{className:"stat-chip",children:[c.jsx("b",{children:oa.totalAgents})," agents"]}),c.jsxs("span",{className:"stat-chip",children:[c.jsx("b",{children:oa.totalSkills})," skills"]}),c.jsxs("span",{className:"stat-chip",children:[c.jsx("b",{children:Ln.getOpenTaskCount()})," tasks"]})]})]}),c.jsxs("div",{className:"topbar-right",children:[c.jsxs("select",{className:"theme-select",value:Ti,title:"Outdoor lighting override",onChange:Z=>{const z=Z.target.value;ki(z);try{z==="auto"?(localStorage.removeItem("opc_outdoor_override"),localStorage.removeItem("opc_outdoor_day"),localStorage.removeItem("opc_outdoor_night")):(localStorage.setItem("opc_outdoor_override",z),localStorage.removeItem("opc_outdoor_day"),localStorage.removeItem("opc_outdoor_night"))}catch{}e.current.syncOutdoorLighting()},children:[c.jsx("option",{value:"auto",children:"Outdoor auto"}),c.jsx("option",{value:"day",children:"Outdoor day"}),c.jsx("option",{value:"night",children:"Outdoor night"})]}),c.jsxs("select",{className:"theme-select",value:C,onChange:Z=>N(Z.target.value),children:[c.jsx("option",{value:"midnight",children:"Midnight"}),c.jsx("option",{value:"neon",children:"Neon"}),c.jsx("option",{value:"paper",children:"Paper"}),c.jsx("option",{value:"retro",children:"Retro"}),c.jsx("option",{value:"terminal",children:"Terminal"}),c.jsx("option",{value:"cozy",children:"Cozy"}),c.jsx("option",{value:"openopc",children:"OpenOPC"})]}),c.jsx("button",{className:`icon-btn ${F?"active":""}`,onClick:()=>V(Z=>!Z),title:"Developer Tools",children:c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:[c.jsx("path",{d:"M5.5 2L2 5.5 5.5 9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M10.5 7L14 10.5 10.5 14",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})})]})]}),$==="workspace"&&c.jsx(iV,{boardStore:Ln,chatStore:Si,sessionStore:fn,agents:B,officeMap:kr,execMode:q,companyProfile:J,taskPreferredAgent:K,projectId:Ri.activeProjectId,orgInfoData:te,onNavigateToOrg:()=>W("org"),savedOrgsList:Yt,activeSavedOrg:Re,onSavedOrgsList:sr,onSavedOrgLoad:ns,recoveryStatus:oe,onRecoveryResume:Z=>t.current?.recoveryAction(at(),"resume",Z),onRecoveryCancel:Z=>t.current?.recoveryAction(at(),"cancel",Z),commsState:se,commsMessage:we,onCommsRefresh:Z=>{const{project_id:z,...ne}=Z??{};t.current?.commsState(at(),ne)},onCommsReadMessage:Z=>t.current?.commsReadMessage(at(),Z),onRunTask:(Z,z,ne,ae,pe)=>{t.current?.send({type:"run_task",project_id:at(),task_id:Z,title:z,description:ne,mode:ae,profile:pe})},onCreateTask:(Z,z,ne,ae)=>{t.current?.send({type:"kanban_create_task",project_id:at(),title:Z,board_id:z,column_id:ne,task_id:ae})},onMoveTask:(Z,z)=>{t.current?.send({type:"kanban_move_task",project_id:at(),task_id:Z,column_id:z})},onCreateSession:()=>{if(dt.current||yt.current)return;const Z=at();bn(Z),t.current?.createSession(Z,void 0,q,Cy(q),K,Po(q,Re))},onSessionSend:(Z,z,ne,ae)=>t.current?.sessionSend(at(),Z,z,ne,ae),onSecretarySend:Z=>t.current?.secretarySend(at(),Z),onDeleteSession:Z=>t.current?.deleteSession(at(),Z),onTitleChange:(Z,z)=>t.current?.sessionUpdateTitle(at(),Z,z),onSessionConfigChange:Bl,onSessionTaskAgentChange:$l,onContinueInNewChat:bo,onSessionStop:Uu,onSessionResume:ap,onSessionComplete:Z=>t.current?.sessionComplete(at(),Z),onLoadSessionDetail:(Z,z)=>t.current?.sessionDetail(at(),Z,{...z,include:z?.detailLevel==="full"?["messages","session_state","progress","work_items","runtime_context"]:["messages","session_state"],viewGeneration:Jt.current}),onOpenExecutionPanel:Z=>Et(Z),onCollabSync:()=>t.current?.collabSync(at(),void 0,Jt.current)}),$==="org"&&c.jsx("div",{className:"org-page",children:c.jsx(eJ,{data:te,sessionRecruitmentByRole:Hu,talents:Be,employeeDetail:zt,reorgProposals:Nt,isCustomMode:Os,onRequestData:()=>t.current?.orgInfo(),onRequestTalents:()=>t.current?.talentList(),onRequestEmployeeDetail:Z=>t.current?.employeeDetail(Z),onHireTalent:(Z,z)=>{Wn(Z),t.current?.talentHire(Z,z,void 0,te?.organization_id||Re||void 0)},hiringTemplateId:$t,onImportEmployee:Z=>t.current?.importEmployeeAsAgent(Z),onRequestReorgList:()=>t.current?.reorgList(),onReorgDecide:(Z,z,ne)=>t.current?.reorgDecide(Z,z,ne),onMarketExport:Z=>t.current?.marketExport(Z),onMarketInstall:(Z,z)=>t.current?.marketInstall(Z,z),onMarketUninstall:Z=>t.current?.marketUninstall(Z),marketPresets:ze,marketPreviewData:tt,onMarketBrowse:()=>t.current?.marketBrowse(),onMarketPreview:Z=>t.current?.marketPreview(Z),onMarketApplyPreset:(Z,z)=>t.current?.marketApplyPreset(Z,z),onMarketClearPreview:()=>qe(null),onAddRole:(Z,z,ne,ae,pe)=>t.current?.addRole(Z,z,ne,ae,pe),onBulkAddRoles:Z=>t.current?.bulkAddRoles(Z),onUpdateRole:(Z,z)=>t.current?.updateRole(Z,z),onDeleteRole:Z=>t.current?.deleteRole(Z),onUpdateOrgStrategy:Z=>t.current?.updateOrgStrategy(Z),onUpdateRuntimePolicy:Z=>t.current?.updateRuntimePolicy(Z),onResetArchitecture:()=>t.current?.resetArchitecture(),onConfigExport:()=>t.current?.orgConfigExport(),onConfigImport:(Z,z)=>t.current?.orgConfigImport(Z,z),configExportYaml:ce,configImportPreview:Ae,configImportError:He,onSavedOrgsList:sr,onSavedOrgSaveAs:Dl,onSavedOrgCreate:Ol,onSavedOrgLoad:ns,onSavedOrgDelete:Ds,savedOrgsList:Yt,activeSavedOrg:Re,activeSavedOrgVersionAtLoad:Xe,orgCreatePending:Je,orgCreateResult:In,onSelectCorporate:Fu})}),$==="mapEditor"&&c.jsx("div",{className:"editor-page",children:c.jsx(GM,{bridge:e.current})}),c.jsxs("main",{className:`main-grid${$!=="office"?" hidden":""}${D?" sidebar-collapsed":""}`,children:[c.jsxs("section",{className:"canvas-wrap",children:[c.jsx(FM,{bridge:e.current,active:$==="office"}),c.jsx("button",{className:"canvas-float-btn",onClick:()=>I(Z=>!Z),title:O?"Hide sub-agents":"Show sub-agents",children:O?"๐Ÿ‘ฅ":"๐Ÿ‘ค"}),c.jsx("button",{className:"sidebar-collapse-btn",onClick:L,title:D?"Show side panel":"Hide side panel","aria-label":D?"Show side panel":"Hide side panel",children:c.jsx("span",{className:"collapse-glyph",children:D?"โฎ":"โฏ"})})]}),c.jsx("aside",{className:"sidebar",children:c.jsx("div",{className:"sidebar-body",children:c.jsxs("div",{className:"team-panel",children:[c.jsxs("div",{className:"mode-info-bar",children:[c.jsx("span",{className:"mode-badge",children:q==="company"?`${q}/${J}`:lp}),Os?c.jsxs("span",{className:"mode-hint",children:["Manage your team in the ",c.jsx("b",{children:"Org"})," tab"]}):c.jsxs("span",{className:"mode-hint",children:["Switch to ",c.jsx("b",{children:"Org"})," mode to create or manage agents"]})]}),c.jsxs("div",{className:"section-label",children:["Offices ",c.jsx("span",{className:"count-badge",children:Lr.length})]}),c.jsx("div",{className:"office-cards",children:Lr.map(Z=>{const z=Vj(Z.id).length,ne=_r.filter(pe=>pe.officeId===Z.id),ae=_r.filter(pe=>pe.officeId!==Z.id&&!pe.isSubagent);return c.jsxs("div",{className:"office-card",onClick:()=>e.current.panToOffice(Z.id),children:[c.jsxs("div",{className:"office-card-header",children:[Ll===Z.id?c.jsx("input",{className:"office-name-input",value:or,onChange:pe=>aa(pe.target.value),onBlur:()=>yo(Z.id),onKeyDown:pe=>{pe.key==="Enter"&&yo(Z.id),pe.key==="Escape"&&is(null)},autoFocus:!0,onClick:pe=>pe.stopPropagation()}):c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"office-name",children:Z.name}),c.jsx("button",{className:"office-edit-btn",title:"Rename",onClick:pe=>{pe.stopPropagation(),is(Z.id),aa(Z.name)},children:"โœŽ"})]}),c.jsxs("span",{className:"office-capacity",children:[ne.length,"/",z]})]}),c.jsxs("div",{className:"office-agents",children:[ne.map(pe=>c.jsx("span",{className:"office-agent-chip",title:`${pe.displayName} โ€” ${pe.seatId??"no seat"}`,onClick:je=>{je.stopPropagation(),Pl(pe.id)},children:pe.displayName.slice(0,8)},pe.id)),Os&&ne.length0&&c.jsxs("select",{className:"assign-dropdown",value:"",onClick:pe=>pe.stopPropagation(),onChange:pe=>{pe.target.value&&zl(Z.id,pe.target.value)},children:[c.jsx("option",{value:"",children:"+ Move here"}),ae.map(pe=>c.jsxs("option",{value:pe.id,children:[pe.displayName," (",Lr.find(je=>je.id===_r.find(Ze=>Ze.id===pe.id)?.officeId)?.name??"?",")"]},pe.id))]})]})]},Z.id)})}),c.jsxs("div",{className:"section-label",children:["Active Agents ",c.jsx("span",{className:"count-badge",children:B.length})]}),c.jsxs("div",{className:"agent-list",children:[B.map(Z=>c.jsxs("div",{className:`agent-row ${_===Z.agent_id?"selected":""}`,children:[c.jsxs("button",{className:"agent-row-main",onClick:()=>Pl(Z.agent_id),children:[c.jsx("span",{className:`dot ${Z.status}`}),c.jsxs("div",{className:"agent-info",children:[c.jsx("span",{className:"agent-name",children:Z.name}),c.jsx("span",{className:"agent-spec",children:Z.specialties.slice(0,2).join(" ยท ")||"general"})]})]}),Os&&(dn===Z.agent_id?c.jsx("span",{className:"agent-del",style:{pointerEvents:"none"},children:c.jsx("span",{className:"spinner-inline"})}):Ii===Z.agent_id?c.jsxs("span",{className:"del-confirm",children:[c.jsx("span",{className:"del-confirm-label",children:"Delete?"}),c.jsx("button",{className:"del-confirm-yes",onClick:()=>{Hi(Z.agent_id),Yn(null),t.current?.deleteAgent(Z.agent_id)},children:"Yes"}),c.jsx("button",{className:"del-confirm-no",onClick:()=>Yn(null),children:"No"})]}):c.jsx("button",{className:"agent-del",title:`Remove ${Z.name}`,onClick:()=>Yn(Z.agent_id),children:"ร—"}))]},Z.agent_id)),B.length===0&&c.jsx("div",{className:"empty-state",children:"No agents yet โ€” click a template above to spawn one."})]}),Kn&&c.jsxs("div",{className:"agent-detail",children:[c.jsx("div",{className:"agent-detail-name",children:Kn.displayName}),c.jsxs("div",{className:"agent-detail-row",children:[c.jsx("span",{className:"detail-label",children:"State"}),c.jsx("span",{className:"detail-value",children:Kn.state})]}),c.jsxs("div",{className:"agent-detail-row",children:[c.jsx("span",{className:"detail-label",children:"Tool"}),c.jsx("span",{className:"detail-value",children:Kn.currentTool??"โ€”"})]}),c.jsxs("div",{className:"agent-detail-row",children:[c.jsx("span",{className:"detail-label",children:"Task"}),c.jsx("span",{className:"detail-value",children:Kn.taskSummary??"โ€”"})]}),c.jsxs("div",{className:"agent-detail-row",children:[c.jsx("span",{className:"detail-label",children:"Office"}),c.jsx("select",{className:"detail-select",value:Kn.officeId,onChange:Z=>{zl(Z.target.value,Kn.id)},disabled:!Os,children:Lr.map(Z=>c.jsx("option",{value:Z.id,children:Z.name},Z.id))})]}),c.jsxs("div",{className:"agent-detail-row",children:[c.jsx("span",{className:"detail-label",children:"Seat"}),c.jsxs("select",{className:"detail-select",value:Kn.seatId??"",onChange:Z=>{Z.target.value&&la(Kn.id,Z.target.value)},disabled:!Os,children:[c.jsx("option",{value:"",children:"โ€”"}),Vu.map(Z=>{const z=Z.id.replace(/^office-\d+-/,"").replace("-"," ").replace(/\b\w/g,ae=>ae.toUpperCase()),ne=Z.assigned&&Z.assignedTo!==Kn.id;return c.jsxs("option",{value:Z.id,disabled:ne,children:[z,ne?` (${Z.assignedTo})`:Z.assignedTo===Kn.id?" โœ“":""]},Z.id)})]})]})]}),_r.length>B.length&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"section-label",children:["Characters",c.jsx("button",{className:"inline-btn",onClick:()=>I(Z=>!Z),children:O?"hide sub":"show sub"})]}),c.jsx("div",{className:"agent-list",children:_r.filter(Z=>!B.some(z=>z.agent_id===Z.id)).map(Z=>c.jsxs("button",{className:`agent-row-simple ${_===Z.id?"selected":""}`,onClick:()=>Pl(Z.id),children:[Z.isSubagent&&c.jsx("span",{className:"sub-badge",children:"SUB"}),c.jsx("span",{className:"agent-name",children:Z.displayName}),c.jsxs("span",{className:"agent-spec",children:[Z.state,Z.currentTool?` ยท ${Z.currentTool}`:""]})]},Z.id))})]})]})})})]}),F&&c.jsxs("div",{className:"dev-overlay",children:[c.jsxs("div",{className:"dev-header",children:[c.jsx("span",{className:"dev-title",children:"Developer Tools"}),c.jsx("button",{className:"icon-btn",onClick:()=>V(!1),children:"โœ•"})]}),c.jsxs("div",{className:"dev-group",children:[c.jsx("div",{className:"dev-label",children:"Connection"}),c.jsxs("div",{className:"input-row",children:[c.jsx("input",{value:o,onChange:Z=>a(Z.target.value),placeholder:"ws://..."}),c.jsx("button",{className:"send-btn",onClick:vo,children:"โ†ฉ"})]})]}),c.jsxs("div",{className:"dev-group",children:[c.jsx("div",{className:"dev-label",children:"Evolution Pipeline"}),c.jsx("div",{className:"evo-pipeline",children:["Trace","Reflect","Synthesize","Practice","Lifecycle"].map((Z,z)=>{const ne=Z.toLowerCase(),ae=ne in si?si[ne]:!1;return c.jsxs("div",{className:"evo-phase-group",children:[z>0&&c.jsx("div",{className:"evo-connector"}),c.jsxs("div",{className:`evo-node ${ae?"active":""}`,children:[c.jsx("div",{className:"evo-dot"}),c.jsx("span",{className:"evo-label",children:Z})]})]},Z)})}),c.jsx("div",{className:"list",children:(p?.skills.recent??[]).slice(-6).reverse().map((Z,z)=>c.jsxs("div",{className:"list-row",children:[c.jsx("span",{children:Z.skill_name}),c.jsx("span",{className:"muted mono",children:Z.version})]},`${Z.skill_name}-${Z.timestamp}-${z}`))})]}),c.jsxs("div",{className:"dev-group",children:[c.jsxs("div",{className:"dev-label",children:["Events",c.jsx("select",{className:"inline-select",value:A,onChange:Z=>M(Z.target.value),children:rs.map(Z=>c.jsx("option",{value:Z,children:Z},Z))})]}),c.jsx("div",{className:"event-log",children:ca.slice(0,30).map(Z=>c.jsxs("div",{className:"log-row",children:[c.jsx("span",{className:"log-time",children:new Date(Z.timestamp*1e3).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}),c.jsx("span",{className:"log-type",children:Z.type}),c.jsx("span",{className:"log-agent",children:Z.agent_id}),c.jsx("span",{className:"log-data",children:jJ(Z.data)})]},Z.event_id))})]}),Object.keys(p?.channels??{}).length>0&&c.jsxs("div",{className:"dev-group",children:[c.jsx("div",{className:"dev-label",children:"Channels"}),Object.entries(p?.channels??{}).map(([Z,z])=>c.jsxs("div",{className:"list-row",children:[c.jsx("span",{children:Z}),c.jsx("span",{className:"muted",children:String(z.last_type??"idle")})]},Z))]})]}),_i&&c.jsx("div",{className:vt==="error"?"toast-error":"toast-success",children:_i}),c.jsx(DJ,{taskId:Or,sessions:fn.sessions,agents:B,onClose:()=>Et(null)})]})}class LJ extends St.Component{constructor(){super(...arguments),this.state={error:null,info:""}}static getDerivedStateFromError(t){return{error:t}}componentDidCatch(t,n){console.error("[ErrorBoundary] React crashed:",t,n),this.setState({info:n.componentStack??""})}render(){return this.state.error?c.jsxs("div",{style:{padding:32,color:"#ff6b6b",background:"#1a1a2e",minHeight:"100vh",fontFamily:"monospace"},children:[c.jsx("h2",{children:"UI Error โ€” React crashed"}),c.jsx("pre",{style:{whiteSpace:"pre-wrap",fontSize:13},children:this.state.error.message}),c.jsxs("details",{open:!0,style:{marginTop:12,fontSize:12,color:"#ccc"},children:[c.jsx("summary",{children:"Stack trace"}),c.jsx("pre",{style:{whiteSpace:"pre-wrap"},children:this.state.error.stack})]}),this.state.info&&c.jsxs("details",{style:{marginTop:12,fontSize:12,color:"#888"},children:[c.jsx("summary",{children:"Component stack"}),c.jsx("pre",{style:{whiteSpace:"pre-wrap"},children:this.state.info})]}),c.jsx("button",{onClick:()=>{this.setState({error:null,info:""})},style:{marginTop:16,padding:"8px 16px",background:"#6366f1",color:"#fff",border:"none",borderRadius:6,cursor:"pointer"},children:"Try to recover"})]}):this.props.children}}window.addEventListener("error",e=>{console.error("[Global] Uncaught error:",e.error??e.message)});window.addEventListener("unhandledrejection",e=>{console.error("[Global] Unhandled promise rejection:",e.reason)});const j0=document.getElementById("root");if(!j0)throw document.body.innerHTML='

Root element not found

',new Error("Root element #root not found");try{H3.createRoot(j0).render(c.jsx(LJ,{children:c.jsx(OJ,{})}))}catch(e){console.error("React render error:",e),j0.innerHTML=`

React Error: ${e}

`} diff --git a/opc/plugins/office_ui/frontend_dist/index.html b/opc/plugins/office_ui/frontend_dist/index.html index 56699ed..45ee1b3 100644 --- a/opc/plugins/office_ui/frontend_dist/index.html +++ b/opc/plugins/office_ui/frontend_dist/index.html @@ -5,7 +5,7 @@ OpenOPC Pixel Office - + diff --git a/opc/plugins/office_ui/frontend_src/chat/AgentProgressBlock.tsx b/opc/plugins/office_ui/frontend_src/chat/AgentProgressBlock.tsx index 5ecb5a0..e100ad3 100644 --- a/opc/plugins/office_ui/frontend_src/chat/AgentProgressBlock.tsx +++ b/opc/plugins/office_ui/frontend_src/chat/AgentProgressBlock.tsx @@ -18,6 +18,7 @@ export const INLINE_PROGRESS_ENTRY_TYPES = new Set(['thinking const ENTRY_CONFIG: Record = { thinking: { icon: , color: 'var(--accent)', label: 'Thinking' }, + assistant: { icon: , color: 'var(--accent)', label: 'Reply' }, tool_call: { icon: , color: 'var(--green)', label: 'Tool' }, autonomy: { icon: , color: 'var(--yellow)', label: 'Autonomy' }, handoff: { icon: , color: 'var(--accent)', label: 'Handoff' }, @@ -257,7 +258,7 @@ export const AgentProgressEntryCard = React.memo(function AgentProgressEntryCard ) } - if (entry.type === 'thinking') { + if (entry.type === 'thinking' || entry.type === 'assistant') { return (