@ai4b-team/fsaos-gateway-sdk 3.13.0 → 3.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
- /* @fsaos/gateway v2.0.0 — Unified FSAOS Edge Runtime — 2026-08-03T02:19:52.884Z */
2
- "use strict";var __FSAOS_GATEWAY__=(()=>{var da=Object.create;var Vt=Object.defineProperty;var fa=Object.getOwnPropertyDescriptor;var pa=Object.getOwnPropertyNames;var ha=Object.getPrototypeOf,ma=Object.prototype.hasOwnProperty;var gs=t=>{throw TypeError(t)};var ga=(t,e,n)=>e in t?Vt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Ht=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ya=(t,e)=>{for(var n in e)Vt(t,n,{get:e[n],enumerable:!0})},ys=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of pa(e))!ma.call(t,s)&&s!==n&&Vt(t,s,{get:()=>e[s],enumerable:!(r=fa(e,s))||r.enumerable});return t};var B=(t,e,n)=>(n=t!=null?da(ha(t)):{},ys(e||!t||!t.__esModule?Vt(n,"default",{value:t,enumerable:!0}):n,t)),_a=t=>ys(Vt({},"__esModule",{value:!0}),t);var Bt=(t,e,n)=>ga(t,typeof e!="symbol"?e+"":e,n),vr=(t,e,n)=>e.has(t)||gs("Cannot "+n);var o=(t,e,n)=>(vr(t,e,"read from private field"),n?n.call(t):e.get(t)),b=(t,e,n)=>e.has(t)?gs("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),_=(t,e,n,r)=>(vr(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n),P=(t,e,n)=>(vr(t,e,"access private method"),n);var Wt=(t,e,n,r)=>({set _(s){_(t,e,s,n)},get _(){return o(t,e,r)}});var vs=Ht((mc,_s)=>{_s.exports={createClient:window.supabase.createClient}});var ce=Ht((vl,li)=>{li.exports=React});var $n=Ht((bl,di)=>{di.exports={jsx:React.createElement,jsxs:React.createElement,Fragment:React.Fragment}});var Ki=Ht((hd,Ni)=>{Ni.exports=ReactDOM});var eo=Ht((wd,Zi)=>{Zi.exports=ReactDOM});var ms={};ya(ms,{ComponentRenderer:()=>Uo,EnforcementDeniedError:()=>dt,KernelProvider:()=>Qo,QueryClientProvider:()=>fn,auth:()=>Ji,awaitAnchorReady:()=>Jt,awaitScopeReady:()=>Ms,callTool:()=>$i,clearCachedToken:()=>Cr,clearSession:()=>Or,createItem:()=>Hi,disconnectSSE:()=>is,disposeVfsRealtimeWs:()=>pr,electHomeAnchor:()=>Yt,emitEvent:()=>Di,fetchChannelMessages:()=>xi,fetchChannelMessagesPage:()=>_n,fetchChannelMessagesWithCards:()=>cr,fetchEdgesForItem:()=>nr,fetchItemHistory:()=>ir,fetchItemVersions:()=>gn,fetchItems:()=>yn,fetchMemberFocus:()=>or,fetchOpenEnvelope:()=>ar,fetchRecentActivity:()=>sr,fetchResolvedItems:()=>hs,fetchTypeDefinitions:()=>tr,fetchVfsChildren:()=>Zn,fetchVfsChildrenPage:()=>er,fetchVfsItem:()=>Xn,fetchVfsItemById:()=>Yn,fetchVfsTree:()=>rr,gatewayCall:()=>R,getAccessToken:()=>Pe,getAnchor:()=>zt,getAnchorRef:()=>Ye,getAnchorVersion:()=>Er,getAssetUrl:()=>zi,getDefaultSort:()=>ta,getHomeAnchor:()=>Qe,getMountVersion:()=>Zt,getMounts:()=>ht,getRequiredFormFields:()=>na,getScope:()=>le,getScopeVersion:()=>_e,getSessionEntry:()=>Dn,initSession:()=>qn,initVfsRealtimeWs:()=>Cn,interpretSchema:()=>ps,invalidateAllVfs:()=>Ai,invalidateChannelMessages:()=>Oi,invalidateChildren:()=>Jn,invalidateItem:()=>rs,invalidateOpenEnvelope:()=>Ii,invalidatePathAndParent:()=>Ei,invalidateSubtree:()=>Ti,invalidateTypes:()=>Mi,isAnchorReady:()=>Ar,isScopeReady:()=>Un,listChildren:()=>Vi,mount:()=>Yi,mountRealtimeScope:()=>Pn,normalizeItem:()=>pe,ping:()=>Ui,pushChanges:()=>Wi,queryClient:()=>A,readItem:()=>ji,registerCleanup:()=>xe,resetAllSdkState:()=>mt,resolvePrincipalId:()=>ko,setAnchor:()=>Ue,setCachedToken:()=>Ss,setScope:()=>As,setupRequireShim:()=>Xi,signal:()=>Gi,subscribeAnchor:()=>Tr,subscribeArtifactStream:()=>yr,subscribeMounts:()=>kn,subscribeScope:()=>Xe,subscribeToEvents:()=>ue,subscribeToPath:()=>lr,subscribeToScope:()=>dr,unmountRealtimeScope:()=>Qi,updateItem:()=>Bi,uploadFile:()=>ra,useAccounts:()=>Po,useAgentTimeline:()=>ua,useAllChannels:()=>gr,useArrangement:()=>Zo,useArtifactStream:()=>ca,useAsset:()=>Eo,useAuth:()=>mr,useChannelMessages:()=>No,useChannels:()=>Lo,useChildren:()=>co,useComponent:()=>ds,useCreate:()=>Ho,useDelete:()=>$o,useDmChannels:()=>jo,useEdges:()=>go,useEventStream:()=>Yo,useFileUpload:()=>ia,useInfiniteChannelMessages:()=>Ko,useInfiniteChildren:()=>mo,useInfiniteItems:()=>ho,useItem:()=>oo,useItemById:()=>ao,useItemHistory:()=>So,useItemVersions:()=>wo,useItems:()=>po,useLink:()=>zo,useList:()=>ls,useMemberFocus:()=>bo,useMounts:()=>xo,useMove:()=>Go,useMutation:()=>Jo,useNotifications:()=>fs,useOpen:()=>_o,usePermission:()=>Oo,usePermissions:()=>Io,usePrincipal:()=>qo,useRealtimeQuery:()=>Xo,useRecentActivity:()=>Ro,useResolve:()=>fo,useResolvedItems:()=>aa,useScope:()=>Co,useScopeReady:()=>io,useSearch:()=>lo,useTheme:()=>Mo,useTool:()=>Do,useTree:()=>uo,useType:()=>yo,useTypeHelpers:()=>vo,useTypes:()=>hr,useUnreadCounts:()=>Vo,useUpdate:()=>Bo,useUpdatePrincipal:()=>Wo,vfsKeys:()=>w});var dt=class t extends Error{constructor(n){let r=n.message||t.fallbackMessage(n);super(r);Bt(this,"name","EnforcementDeniedError");Bt(this,"deniedBy");Bt(this,"ruleKey");Bt(this,"displayName");this.deniedBy=n.denied_by||n.error_type||n.error||"unknown";let s=n.enforcement;this.ruleKey=s?.rule_key??void 0,this.displayName=s?.display_name??void 0}static fallbackMessage(n){let r=n.error||"",s=n.denied_by||"";return s==="rule"||r==="RULE_DENIED"?"This feature is not enabled for this workspace.":s==="entitlement"||r==="ENTITLEMENT_REQUIRED"?"This feature requires a plan upgrade.":s==="access"||r==="ACCESS_DENIED"||r==="PERMISSION_DENIED"?"You don't have permission to do this.":"This action is not allowed."}get isRuleDenial(){return this.deniedBy==="rule"||this.deniedBy==="RULE_DENIED"}get isAccessDenial(){return this.deniedBy==="access"||this.deniedBy==="ACCESS_DENIED"}get isEntitlementDenial(){return this.deniedBy==="entitlement"||this.deniedBy==="ENTITLEMENT_REQUIRED"}};var bs=B(vs(),1),br=typeof window<"u"&&window.__FSAOS_CONFIG__||{},va=br.supabaseUrl||"https://vahbmsslxuustnlvsrkg.supabase.co",ba=br.supabaseAnonKey||"sb_publishable_ZjosozAjfpZ4InMNElTr6Q_hHB-f5nc",De=br.gatewayUrl||"https://fsaos-mcp-gw-rust.fly.dev",F=(0,bs.createClient)(va,ba,{auth:{persistSession:!0,autoRefreshToken:!0,detectSessionInUrl:!1}});var Gt=null,An=0,ws,Rr,Mn=!1;ws=new Promise(t=>{Rr=t});F.auth.onAuthStateChange((t,e)=>{e?.access_token?(Gt=e.access_token,An=e.expires_at??Math.floor(Date.now()/1e3)+3600):(Gt=null,An=0),Mn||(Mn=!0,Rr())});setTimeout(()=>{Mn||(Mn=!0,Rr())},5e3);function Ss(t,e){Gt=t,An=e??Math.floor(Date.now()/1e3)+3600}function Cr(){Gt=null,An=0}async function Pe(){let t=typeof window<"u"&&window.__FSAOS_CONFIG__||{};if(t.embedToken){if(typeof t.embedToken=="function")try{return await t.embedToken()??null}catch{return null}return t.embedToken}return await ws,Gt}var On=null,Fn=null,Rs=0,wr=new Set,Pr,xr,In=!1;Pr=new Promise(t=>{xr=t});function Cs(){Rs++,wr.forEach(t=>{try{t()}catch(e){console.warn("[SDK] Anchor listener error:",e)}})}function Ue(t){let e=typeof t=="string"?t:t.path,n=On!==e;On=e,Fn=typeof t=="string"?null:t,typeof t!="string"&&!ie.some(r=>r.id===t.id)&&(ie=[...ie,t],Xt()),In||(In=!0,xr()),n&&Cs()}function zt(){return On}function Ye(){return Fn}function Er(){return Rs}function Tr(t){return wr.add(t),()=>{wr.delete(t)}}function Jt(){return Pr}function Ar(){return In}var pt=null;function Yt(t){if(pt){console.warn("[SDK] electHomeAnchor called twice; ignoring (logout to re-elect).");return}pt=t,Ue(t)}function Qe(){return pt}var ie=[],Sr=new Set,Ps=0;function Xt(){Ps++,Sr.forEach(t=>{try{t()}catch(e){console.warn("[SDK] Mount listener error:",e)}})}function ht(){return ie}function Zt(){return Ps}function kn(t){return Sr.add(t),()=>{Sr.delete(t)}}function Mr(t){ie=t,Xt()}function xs(t){ie.some(e=>e.id===t.id)||(ie=[...ie,t],Xt())}function Es(t){ie.find(n=>n.id===t)&&(ie=ie.filter(n=>n.id!==t),Xt(),Fn?.id===t&&pt&&Ue(pt))}var ft=null,$t=null;async function qn(){return ft||$t||($t=(async()=>{let t=Ir(),e=await Pe(),n={};e&&(n.Authorization=`Bearer ${e}`);let r=await fetch(`${De}/d/${t}/init`,{method:"GET",headers:n});if(!r.ok)throw new Error(`Session init failed: ${r.status} ${r.statusText}`);let s=await r.json(),i=s.entry||s;return ft={scope_id:i.scope_id,scope_path:i.scope_path,instance_path:i.instance_path||"/root",fractal_id:i.fractal_id||null,instance_name:i.instance_name||null,display_name:i.scope_display_name||i.display_name||null},ft})(),$t)}function Dn(){return ft}function Or(){ft=null,$t=null,On=null,Fn=null,pt=null,ie=[]}var Ts=[];function xe(t){Ts.push(t)}function mt(){Or(),Cr(),In=!1,Pr=new Promise(t=>{xr=t}),Cs(),Xt();for(let t of Ts)try{t()}catch(e){console.warn("[SDK] Cleanup function failed:",e)}}function Ir(){if(typeof window<"u"){let t=window.__FSAOS_CONFIG__;return t?.hostname?t.hostname:window.location.hostname}return"localhost"}var As=Ue,le=zt,_e=Er,Xe=Tr,Ms=Jt,Un=Ar;var wa=new Set(["list-memberships","init"]);async function R(t,e={}){let n=Ir(),r=`${De}/d/${n}`,s={"Content-Type":"application/json"},i=await Pe();i&&(s.Authorization=`Bearer ${i}`),!wa.has(t)&&!e._scope_path&&await Jt();let a={...e},u=Dn();!a.domain_scope_id&&u?.scope_id&&(a.domain_scope_id=u.scope_id);let c=zt();!a._scope_path&&c&&(a._scope_path=c);let d=await fetch(r,{method:"POST",headers:s,body:JSON.stringify({method:t,params:a})});if(!d.ok)throw new Error(`Gateway HTTP error: ${d.status} ${d.statusText}`);let l=await d.json();if(l.success===!1){let p=l.error||"",f=l.denied_by||l.error_type||"";throw f==="rule"||f==="access"||f==="entitlement"||p==="RULE_DENIED"||p==="ACCESS_DENIED"||p==="PERMISSION_DENIED"||p==="ENTITLEMENT_REQUIRED"?new dt(l):new Error(l.message||l.error||`Gateway call ${t} failed`)}return l}var oe=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}};var Ze,Ne,gt,Os,Sa=(Os=class extends oe{constructor(){super();b(this,Ze);b(this,Ne);b(this,gt);_(this,gt,e=>{if(typeof window<"u"&&window.addEventListener){let n=()=>e();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){o(this,Ne)||this.setEventListener(o(this,gt))}onUnsubscribe(){var e;this.hasListeners()||((e=o(this,Ne))==null||e.call(this),_(this,Ne,void 0))}setEventListener(e){var n;_(this,gt,e),(n=o(this,Ne))==null||n.call(this),_(this,Ne,e(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(e){o(this,Ze)!==e&&(_(this,Ze,e),this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(n=>{n(e)})}isFocused(){return typeof o(this,Ze)=="boolean"?o(this,Ze):globalThis.document?.visibilityState!=="hidden"}},Ze=new WeakMap,Ne=new WeakMap,gt=new WeakMap,Os),yt=new Sa;var Ra={setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t),setInterval:(t,e)=>setInterval(t,e),clearInterval:t=>clearInterval(t)},Ke,Fr,Is,Ca=(Is=class{constructor(){b(this,Ke,Ra);b(this,Fr,!1)}setTimeoutProvider(t){_(this,Ke,t)}setTimeout(t,e){return o(this,Ke).setTimeout(t,e)}clearTimeout(t){o(this,Ke).clearTimeout(t)}setInterval(t,e){return o(this,Ke).setInterval(t,e)}clearInterval(t){o(this,Ke).clearInterval(t)}},Ke=new WeakMap,Fr=new WeakMap,Is),ve=new Ca;function Fs(t){setTimeout(t,0)}var qr=typeof window>"u"||"Deno"in globalThis;function q(){}function Ds(t,e){return typeof t=="function"?t(e):t}function en(t){return typeof t=="number"&&t>=0&&t!==1/0}function Qn(t,e){return Math.max(t+(e||0)-Date.now(),0)}function de(t,e){return typeof t=="function"?t(e):t}function Y(t,e){return typeof t=="function"?t(e):t}function Nn(t,e){let{type:n="all",exact:r,fetchStatus:s,predicate:i,queryKey:a,stale:u}=t;if(a){if(r){if(e.queryHash!==tn(a,e.options))return!1}else if(!et(e.queryKey,a))return!1}if(n!=="all"){let c=e.isActive();if(n==="active"&&!c||n==="inactive"&&c)return!1}return!(typeof u=="boolean"&&e.isStale()!==u||s&&s!==e.state.fetchStatus||i&&!i(e))}function Kn(t,e){let{exact:n,status:r,predicate:s,mutationKey:i}=t;if(i){if(!e.options.mutationKey)return!1;if(n){if(be(e.options.mutationKey)!==be(i))return!1}else if(!et(e.options.mutationKey,i))return!1}return!(r&&e.state.status!==r||s&&!s(e))}function tn(t,e){return(e?.queryKeyHashFn||be)(t)}function be(t){return JSON.stringify(t,(e,n)=>kr(n)?Object.keys(n).sort().reduce((r,s)=>(r[s]=n[s],r),{}):n)}function et(t,e){return t===e?!0:typeof t!=typeof e?!1:t&&e&&typeof t=="object"&&typeof e=="object"?Object.keys(e).every(n=>et(t[n],e[n])):!1}var Pa=Object.prototype.hasOwnProperty;function Dr(t,e,n=0){if(t===e)return t;if(n>500)return e;let r=ks(t)&&ks(e);if(!r&&!(kr(t)&&kr(e)))return e;let i=(r?t:Object.keys(t)).length,a=r?e:Object.keys(e),u=a.length,c=r?new Array(u):{},d=0;for(let l=0;l<u;l++){let p=r?l:a[l],f=t[p],h=e[p];if(f===h){c[p]=f,(r?l<i:Pa.call(t,p))&&d++;continue}if(f===null||h===null||typeof f!="object"||typeof h!="object"){c[p]=h;continue}let v=Dr(f,h,n+1);c[p]=v,v===f&&d++}return i===u&&d===i?t:c}function _t(t,e){if(!e||Object.keys(t).length!==Object.keys(e).length)return!1;for(let n in t)if(t[n]!==e[n])return!1;return!0}function ks(t){return Array.isArray(t)&&t.length===Object.keys(t).length}function kr(t){if(!qs(t))return!1;let e=t.constructor;if(e===void 0)return!0;let n=e.prototype;return!(!qs(n)||!n.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(t)!==Object.prototype)}function qs(t){return Object.prototype.toString.call(t)==="[object Object]"}function Us(t){return new Promise(e=>{ve.setTimeout(e,t)})}function nn(t,e,n){return typeof n.structuralSharing=="function"?n.structuralSharing(t,e):n.structuralSharing!==!1?Dr(t,e):e}function Qs(t,e,n=0){let r=[...t,e];return n&&r.length>n?r.slice(1):r}function Ns(t,e,n=0){let r=[e,...t];return n&&r.length>n?r.slice(0,-1):r}var vt=Symbol();function Ln(t,e){return!t.queryFn&&e?.initialPromise?()=>e.initialPromise:!t.queryFn||t.queryFn===vt?()=>Promise.reject(new Error(`Missing queryFn: '${t.queryHash}'`)):t.queryFn}function bt(t,e){return typeof t=="function"?t(...e):!!t}function Ks(t,e,n){let r=!1,s;return Object.defineProperty(t,"signal",{enumerable:!0,get:()=>(s??(s=e()),r||(r=!0,s.aborted?n():s.addEventListener("abort",n,{once:!0})),s)}),t}var we=(()=>{let t=()=>qr;return{isServer(){return t()},setIsServer(e){t=e}}})();function rn(){let t,e,n=new Promise((s,i)=>{t=s,e=i});n.status="pending",n.catch(()=>{});function r(s){Object.assign(n,s),delete n.resolve,delete n.reject}return n.resolve=s=>{r({status:"fulfilled",value:s}),t(s)},n.reject=s=>{r({status:"rejected",reason:s}),e(s)},n}var Ls=Fs;function xa(){let t=[],e=0,n=u=>{u()},r=u=>{u()},s=Ls,i=u=>{e?t.push(u):s(()=>{n(u)})},a=()=>{let u=t;t=[],u.length&&s(()=>{r(()=>{u.forEach(c=>{n(c)})})})};return{batch:u=>{let c;e++;try{c=u()}finally{e--,e||a()}return c},batchCalls:u=>(...c)=>{i(()=>{u(...c)})},schedule:i,setNotifyFunction:u=>{n=u},setBatchNotifyFunction:u=>{r=u},setScheduler:u=>{s=u}}}var I=xa();var wt,Le,St,js,Ea=(js=class extends oe{constructor(){super();b(this,wt,!0);b(this,Le);b(this,St);_(this,St,e=>{if(typeof window<"u"&&window.addEventListener){let n=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}})}onSubscribe(){o(this,Le)||this.setEventListener(o(this,St))}onUnsubscribe(){var e;this.hasListeners()||((e=o(this,Le))==null||e.call(this),_(this,Le,void 0))}setEventListener(e){var n;_(this,St,e),(n=o(this,Le))==null||n.call(this),_(this,Le,e(this.setOnline.bind(this)))}setOnline(e){o(this,wt)!==e&&(_(this,wt,e),this.listeners.forEach(r=>{r(e)}))}isOnline(){return o(this,wt)}},wt=new WeakMap,Le=new WeakMap,St=new WeakMap,js),Rt=new Ea;function Ta(t){return Math.min(1e3*2**t,3e4)}function Ur(t){return(t??"online")==="online"?Rt.isOnline():!0}var jn=class extends Error{constructor(t){super("CancelledError"),this.revert=t?.revert,this.silent=t?.silent}};function Vn(t){let e=!1,n=0,r,s=rn(),i=()=>s.status!=="pending",a=m=>{if(!i()){let g=new jn(m);f(g),t.onCancel?.(g)}},u=()=>{e=!0},c=()=>{e=!1},d=()=>yt.isFocused()&&(t.networkMode==="always"||Rt.isOnline())&&t.canRun(),l=()=>Ur(t.networkMode)&&t.canRun(),p=m=>{i()||(r?.(),s.resolve(m))},f=m=>{i()||(r?.(),s.reject(m))},h=()=>new Promise(m=>{r=g=>{(i()||d())&&m(g)},t.onPause?.()}).then(()=>{r=void 0,i()||t.onContinue?.()}),v=()=>{if(i())return;let m,g=n===0?t.initialPromise:void 0;try{m=g??t.fn()}catch(S){m=Promise.reject(S)}Promise.resolve(m).then(p).catch(S=>{if(i())return;let C=t.retry??(we.isServer()?0:3),x=t.retryDelay??Ta,U=typeof x=="function"?x(n,S):x,L=C===!0||typeof C=="number"&&n<C||typeof C=="function"&&C(n,S);if(e||!L){f(S);return}n++,t.onFail?.(n,S),Us(U).then(()=>d()?void 0:h()).then(()=>{e?f(S):v()})})};return{promise:s,status:()=>s.status,cancel:a,continue:()=>(r?.(),s),cancelRetry:u,continueRetry:c,canStart:l,start:()=>(l()?v():h().then(v),s)}}var tt,Vs,Hn=(Vs=class{constructor(){b(this,tt)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),en(this.gcTime)&&_(this,tt,ve.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(we.isServer()?1/0:5*60*1e3))}clearGcTimeout(){o(this,tt)!==void 0&&(ve.clearTimeout(o(this,tt)),_(this,tt,void 0))}},tt=new WeakMap,Vs);var nt,Ct,ae,rt,j,sn,st,re,Gs,Ee,Ws,$s=(Ws=class extends Hn{constructor(e){super();b(this,re);b(this,nt);b(this,Ct);b(this,ae);b(this,rt);b(this,j);b(this,sn);b(this,st);_(this,st,!1),_(this,sn,e.defaultOptions),this.setOptions(e.options),this.observers=[],_(this,rt,e.client),_(this,ae,o(this,rt).getQueryCache()),this.queryKey=e.queryKey,this.queryHash=e.queryHash,_(this,nt,Bs(this.options)),this.state=e.state??o(this,nt),this.scheduleGc()}get meta(){return this.options.meta}get promise(){return o(this,j)?.promise}setOptions(e){if(this.options={...o(this,sn),...e},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let n=Bs(this.options);n.data!==void 0&&(this.setState(Hs(n.data,n.dataUpdatedAt)),_(this,nt,n))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&o(this,ae).remove(this)}setData(e,n){let r=nn(this.state.data,e,this.options);return P(this,re,Ee).call(this,{data:r,type:"success",dataUpdatedAt:n?.updatedAt,manual:n?.manual}),r}setState(e,n){P(this,re,Ee).call(this,{type:"setState",state:e,setStateOptions:n})}cancel(e){let n=o(this,j)?.promise;return o(this,j)?.cancel(e),n?n.then(q).catch(q):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return o(this,nt)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>Y(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===vt||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>de(e.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e==="static"?!1:this.state.isInvalidated?!0:!Qn(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(n=>n.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),o(this,j)?.continue()}onOnline(){this.observers.find(n=>n.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),o(this,j)?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),o(this,ae).notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(n=>n!==e),this.observers.length||(o(this,j)&&(o(this,st)||P(this,re,Gs).call(this)?o(this,j).cancel({revert:!0}):o(this,j).cancelRetry()),this.scheduleGc()),o(this,ae).notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||P(this,re,Ee).call(this,{type:"invalidate"})}async fetch(e,n){if(this.state.fetchStatus!=="idle"&&o(this,j)?.status()!=="rejected"){if(this.state.data!==void 0&&n?.cancelRefetch)this.cancel({silent:!0});else if(o(this,j))return o(this,j).continueRetry(),o(this,j).promise}if(e&&this.setOptions(e),!this.options.queryFn){let c=this.observers.find(d=>d.options.queryFn);c&&this.setOptions(c.options)}let r=new AbortController,s=c=>{Object.defineProperty(c,"signal",{enumerable:!0,get:()=>(_(this,st,!0),r.signal)})},i=()=>{let c=Ln(this.options,n),l=(()=>{let p={client:o(this,rt),queryKey:this.queryKey,meta:this.meta};return s(p),p})();return _(this,st,!1),this.options.persister?this.options.persister(c,l,this):c(l)},u=(()=>{let c={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:o(this,rt),state:this.state,fetchFn:i};return s(c),c})();this.options.behavior?.onFetch(u,this),_(this,Ct,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==u.fetchOptions?.meta)&&P(this,re,Ee).call(this,{type:"fetch",meta:u.fetchOptions?.meta}),_(this,j,Vn({initialPromise:n?.initialPromise,fn:u.fetchFn,onCancel:c=>{c instanceof jn&&c.revert&&this.setState({...o(this,Ct),fetchStatus:"idle"}),r.abort()},onFail:(c,d)=>{P(this,re,Ee).call(this,{type:"failed",failureCount:c,error:d})},onPause:()=>{P(this,re,Ee).call(this,{type:"pause"})},onContinue:()=>{P(this,re,Ee).call(this,{type:"continue"})},retry:u.options.retry,retryDelay:u.options.retryDelay,networkMode:u.options.networkMode,canRun:()=>!0}));try{let c=await o(this,j).start();if(c===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(c),o(this,ae).config.onSuccess?.(c,this),o(this,ae).config.onSettled?.(c,this.state.error,this),c}catch(c){if(c instanceof jn){if(c.silent)return o(this,j).promise;if(c.revert){if(this.state.data===void 0)throw c;return this.state.data}}throw P(this,re,Ee).call(this,{type:"error",error:c}),o(this,ae).config.onError?.(c,this),o(this,ae).config.onSettled?.(this.state.data,c,this),c}finally{this.scheduleGc()}}},nt=new WeakMap,Ct=new WeakMap,ae=new WeakMap,rt=new WeakMap,j=new WeakMap,sn=new WeakMap,st=new WeakMap,re=new WeakSet,Gs=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},Ee=function(e){let n=r=>{switch(e.type){case"failed":return{...r,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...Qr(r.data,this.options),fetchMeta:e.meta??null};case"success":let s={...r,...Hs(e.data,e.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return _(this,Ct,e.manual?s:void 0),s;case"error":let i=e.error;return{...r,error:i,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...e.state}}};this.state=n(this.state),I.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),o(this,ae).notify({query:this,type:"updated",action:e})})},Ws);function Qr(t,e){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Ur(e.networkMode)?"fetching":"paused",...t===void 0&&{error:null,status:"pending"}}}function Hs(t,e){return{data:t,dataUpdatedAt:e??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Bs(t){let e=typeof t.initialData=="function"?t.initialData():t.initialData,n=e!==void 0,r=n?typeof t.initialDataUpdatedAt=="function"?t.initialDataUpdatedAt():t.initialDataUpdatedAt:0;return{data:e,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var X,E,an,z,it,Pt,Te,je,cn,xt,Et,ot,at,Ve,Tt,M,on,Nr,Kr,Lr,jr,Vr,Hr,Br,Xs,Ys,un=(Ys=class extends oe{constructor(e,n){super();b(this,M);b(this,X);b(this,E);b(this,an);b(this,z);b(this,it);b(this,Pt);b(this,Te);b(this,je);b(this,cn);b(this,xt);b(this,Et);b(this,ot);b(this,at);b(this,Ve);b(this,Tt,new Set);this.options=n,_(this,X,e),_(this,je,null),_(this,Te,rn()),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(o(this,E).addObserver(this),zs(o(this,E),this.options)?P(this,M,on).call(this):this.updateResult(),P(this,M,jr).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Wr(o(this,E),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Wr(o(this,E),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,P(this,M,Vr).call(this),P(this,M,Hr).call(this),o(this,E).removeObserver(this)}setOptions(e){let n=this.options,r=o(this,E);if(this.options=o(this,X).defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Y(this.options.enabled,o(this,E))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");P(this,M,Br).call(this),o(this,E).setOptions(this.options),n._defaulted&&!_t(this.options,n)&&o(this,X).getQueryCache().notify({type:"observerOptionsUpdated",query:o(this,E),observer:this});let s=this.hasListeners();s&&Js(o(this,E),r,this.options,n)&&P(this,M,on).call(this),this.updateResult(),s&&(o(this,E)!==r||Y(this.options.enabled,o(this,E))!==Y(n.enabled,o(this,E))||de(this.options.staleTime,o(this,E))!==de(n.staleTime,o(this,E)))&&P(this,M,Nr).call(this);let i=P(this,M,Kr).call(this);s&&(o(this,E)!==r||Y(this.options.enabled,o(this,E))!==Y(n.enabled,o(this,E))||i!==o(this,Ve))&&P(this,M,Lr).call(this,i)}getOptimisticResult(e){let n=o(this,X).getQueryCache().build(o(this,X),e),r=this.createResult(n,e);return Ma(this,r)&&(_(this,z,r),_(this,Pt,this.options),_(this,it,o(this,E).state)),r}getCurrentResult(){return o(this,z)}trackResult(e,n){return new Proxy(e,{get:(r,s)=>(this.trackProp(s),n?.(s),s==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&o(this,Te).status==="pending"&&o(this,Te).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(r,s))})}trackProp(e){o(this,Tt).add(e)}getCurrentQuery(){return o(this,E)}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let n=o(this,X).defaultQueryOptions(e),r=o(this,X).getQueryCache().build(o(this,X),n);return r.fetch().then(()=>this.createResult(r,n))}fetch(e){return P(this,M,on).call(this,{...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),o(this,z)))}createResult(e,n){let r=o(this,E),s=this.options,i=o(this,z),a=o(this,it),u=o(this,Pt),d=e!==r?e.state:o(this,an),{state:l}=e,p={...l},f=!1,h;if(n._optimisticResults){let Q=this.hasListeners(),J=!Q&&zs(e,n),me=Q&&Js(e,r,n,s);(J||me)&&(p={...p,...Qr(l.data,e.options)}),n._optimisticResults==="isRestoring"&&(p.fetchStatus="idle")}let{error:v,errorUpdatedAt:m,status:g}=p;h=p.data;let S=!1;if(n.placeholderData!==void 0&&h===void 0&&g==="pending"){let Q;i?.isPlaceholderData&&n.placeholderData===u?.placeholderData?(Q=i.data,S=!0):Q=typeof n.placeholderData=="function"?n.placeholderData(o(this,Et)?.state.data,o(this,Et)):n.placeholderData,Q!==void 0&&(g="success",h=nn(i?.data,Q,n),f=!0)}if(n.select&&h!==void 0&&!S)if(i&&h===a?.data&&n.select===o(this,cn))h=o(this,xt);else try{_(this,cn,n.select),h=n.select(h),h=nn(i?.data,h,n),_(this,xt,h),_(this,je,null)}catch(Q){_(this,je,Q)}o(this,je)&&(v=o(this,je),h=o(this,xt),m=Date.now(),g="error");let C=p.fetchStatus==="fetching",x=g==="pending",U=g==="error",L=x&&C,H=h!==void 0,ne={status:g,fetchStatus:p.fetchStatus,isPending:x,isSuccess:g==="success",isError:U,isInitialLoading:L,isLoading:L,data:h,dataUpdatedAt:p.dataUpdatedAt,error:v,errorUpdatedAt:m,failureCount:p.fetchFailureCount,failureReason:p.fetchFailureReason,errorUpdateCount:p.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:p.dataUpdateCount>d.dataUpdateCount||p.errorUpdateCount>d.errorUpdateCount,isFetching:C,isRefetching:C&&!x,isLoadingError:U&&!H,isPaused:p.fetchStatus==="paused",isPlaceholderData:f,isRefetchError:U&&H,isStale:$r(e,n),refetch:this.refetch,promise:o(this,Te),isEnabled:Y(n.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let Q=ne.data!==void 0,J=ne.status==="error"&&!Q,me=T=>{J?T.reject(ne.error):Q&&T.resolve(ne.data)},ge=()=>{let T=_(this,Te,ne.promise=rn());me(T)},ye=o(this,Te);switch(ye.status){case"pending":e.queryHash===r.queryHash&&me(ye);break;case"fulfilled":(J||ne.data!==ye.value)&&ge();break;case"rejected":(!J||ne.error!==ye.reason)&&ge();break}}return ne}updateResult(){let e=o(this,z),n=this.createResult(o(this,E),this.options);if(_(this,it,o(this,E).state),_(this,Pt,this.options),o(this,it).data!==void 0&&_(this,Et,o(this,E)),_t(n,e))return;_(this,z,n);let r=()=>{if(!e)return!0;let{notifyOnChangeProps:s}=this.options,i=typeof s=="function"?s():s;if(i==="all"||!i&&!o(this,Tt).size)return!0;let a=new Set(i??o(this,Tt));return this.options.throwOnError&&a.add("error"),Object.keys(o(this,z)).some(u=>{let c=u;return o(this,z)[c]!==e[c]&&a.has(c)})};P(this,M,Xs).call(this,{listeners:r()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&P(this,M,jr).call(this)}},X=new WeakMap,E=new WeakMap,an=new WeakMap,z=new WeakMap,it=new WeakMap,Pt=new WeakMap,Te=new WeakMap,je=new WeakMap,cn=new WeakMap,xt=new WeakMap,Et=new WeakMap,ot=new WeakMap,at=new WeakMap,Ve=new WeakMap,Tt=new WeakMap,M=new WeakSet,on=function(e){P(this,M,Br).call(this);let n=o(this,E).fetch(this.options,e);return e?.throwOnError||(n=n.catch(q)),n},Nr=function(){P(this,M,Vr).call(this);let e=de(this.options.staleTime,o(this,E));if(we.isServer()||o(this,z).isStale||!en(e))return;let r=Qn(o(this,z).dataUpdatedAt,e)+1;_(this,ot,ve.setTimeout(()=>{o(this,z).isStale||this.updateResult()},r))},Kr=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(o(this,E)):this.options.refetchInterval)??!1},Lr=function(e){P(this,M,Hr).call(this),_(this,Ve,e),!(we.isServer()||Y(this.options.enabled,o(this,E))===!1||!en(o(this,Ve))||o(this,Ve)===0)&&_(this,at,ve.setInterval(()=>{(this.options.refetchIntervalInBackground||yt.isFocused())&&P(this,M,on).call(this)},o(this,Ve)))},jr=function(){P(this,M,Nr).call(this),P(this,M,Lr).call(this,P(this,M,Kr).call(this))},Vr=function(){o(this,ot)!==void 0&&(ve.clearTimeout(o(this,ot)),_(this,ot,void 0))},Hr=function(){o(this,at)!==void 0&&(ve.clearInterval(o(this,at)),_(this,at,void 0))},Br=function(){let e=o(this,X).getQueryCache().build(o(this,X),this.options);if(e===o(this,E))return;let n=o(this,E);_(this,E,e),_(this,an,e.state),this.hasListeners()&&(n?.removeObserver(this),e.addObserver(this))},Xs=function(e){I.batch(()=>{e.listeners&&this.listeners.forEach(n=>{n(o(this,z))}),o(this,X).getQueryCache().notify({query:o(this,E),type:"observerResultsUpdated"})})},Ys);function Aa(t,e){return Y(e.enabled,t)!==!1&&t.state.data===void 0&&!(t.state.status==="error"&&e.retryOnMount===!1)}function zs(t,e){return Aa(t,e)||t.state.data!==void 0&&Wr(t,e,e.refetchOnMount)}function Wr(t,e,n){if(Y(e.enabled,t)!==!1&&de(e.staleTime,t)!=="static"){let r=typeof n=="function"?n(t):n;return r==="always"||r!==!1&&$r(t,e)}return!1}function Js(t,e,n,r){return(t!==e||Y(r.enabled,t)===!1)&&(!n.suspense||t.state.status!=="error")&&$r(t,n)}function $r(t,e){return Y(e.enabled,t)!==!1&&t.isStaleByTime(de(e.staleTime,t))}function Ma(t,e){return!_t(t.getCurrentResult(),e)}function At(t){return{onFetch:(e,n)=>{let r=e.options,s=e.fetchOptions?.meta?.fetchMore?.direction,i=e.state.data?.pages||[],a=e.state.data?.pageParams||[],u={pages:[],pageParams:[]},c=0,d=async()=>{let l=!1,p=v=>{Ks(v,()=>e.signal,()=>l=!0)},f=Ln(e.options,e.fetchOptions),h=async(v,m,g)=>{if(l)return Promise.reject();if(m==null&&v.pages.length)return Promise.resolve(v);let C=(()=>{let H={client:e.client,queryKey:e.queryKey,pageParam:m,direction:g?"backward":"forward",meta:e.options.meta};return p(H),H})(),x=await f(C),{maxPages:U}=e.options,L=g?Ns:Qs;return{pages:L(v.pages,x,U),pageParams:L(v.pageParams,m,U)}};if(s&&i.length){let v=s==="backward",m=v?Zs:Gr,g={pages:i,pageParams:a},S=m(r,g);u=await h(g,S,v)}else{let v=t??i.length;do{let m=c===0?a[0]??r.initialPageParam:Gr(r,u);if(c>0&&m==null)break;u=await h(u,m),c++}while(c<v)}return u};e.options.persister?e.fetchFn=()=>e.options.persister?.(d,{client:e.client,queryKey:e.queryKey,meta:e.options.meta,signal:e.signal},n):e.fetchFn=d}}}function Gr(t,{pages:e,pageParams:n}){let r=e.length-1;return e.length>0?t.getNextPageParam(e[r],e,n[r],n):void 0}function Zs(t,{pages:e,pageParams:n}){return e.length>0?t.getPreviousPageParam?.(e[0],e,n[0],n):void 0}function ei(t,e){return e?Gr(t,e)!=null:!1}function ti(t,e){return!e||!t.getPreviousPageParam?!1:Zs(t,e)!=null}var zr=class extends un{constructor(t,e){super(t,e)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(t){super.setOptions({...t,behavior:At()})}getOptimisticResult(t){return t.behavior=At(),super.getOptimisticResult(t)}fetchNextPage(t){return this.fetch({...t,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(t){return this.fetch({...t,meta:{fetchMore:{direction:"backward"}}})}createResult(t,e){let{state:n}=t,r=super.createResult(t,e),{isFetching:s,isRefetching:i,isError:a,isRefetchError:u}=r,c=n.fetchMeta?.fetchMore?.direction,d=a&&c==="forward",l=s&&c==="forward",p=a&&c==="backward",f=s&&c==="backward";return{...r,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:ei(e,n.data),hasPreviousPage:ti(e,n.data),isFetchNextPageError:d,isFetchingNextPage:l,isFetchPreviousPageError:p,isFetchingPreviousPage:f,isRefetchError:u&&!d&&!p,isRefetching:i&&!l&&!f}}};var ln,Se,G,ct,Re,He,ni,ri=(ni=class extends Hn{constructor(e){super();b(this,Re);b(this,ln);b(this,Se);b(this,G);b(this,ct);_(this,ln,e.client),this.mutationId=e.mutationId,_(this,G,e.mutationCache),_(this,Se,[]),this.state=e.state||Jr(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){o(this,Se).includes(e)||(o(this,Se).push(e),this.clearGcTimeout(),o(this,G).notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){_(this,Se,o(this,Se).filter(n=>n!==e)),this.scheduleGc(),o(this,G).notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){o(this,Se).length||(this.state.status==="pending"?this.scheduleGc():o(this,G).remove(this))}continue(){return o(this,ct)?.continue()??this.execute(this.state.variables)}async execute(e){let n=()=>{P(this,Re,He).call(this,{type:"continue"})},r={client:o(this,ln),meta:this.options.meta,mutationKey:this.options.mutationKey};_(this,ct,Vn({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(new Error("No mutationFn found")),onFail:(a,u)=>{P(this,Re,He).call(this,{type:"failed",failureCount:a,error:u})},onPause:()=>{P(this,Re,He).call(this,{type:"pause"})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>o(this,G).canRun(this)}));let s=this.state.status==="pending",i=!o(this,ct).canStart();try{if(s)n();else{P(this,Re,He).call(this,{type:"pending",variables:e,isPaused:i}),o(this,G).config.onMutate&&await o(this,G).config.onMutate(e,this,r);let u=await this.options.onMutate?.(e,r);u!==this.state.context&&P(this,Re,He).call(this,{type:"pending",context:u,variables:e,isPaused:i})}let a=await o(this,ct).start();return await o(this,G).config.onSuccess?.(a,e,this.state.context,this,r),await this.options.onSuccess?.(a,e,this.state.context,r),await o(this,G).config.onSettled?.(a,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(a,null,e,this.state.context,r),P(this,Re,He).call(this,{type:"success",data:a}),a}catch(a){try{await o(this,G).config.onError?.(a,e,this.state.context,this,r)}catch(u){Promise.reject(u)}try{await this.options.onError?.(a,e,this.state.context,r)}catch(u){Promise.reject(u)}try{await o(this,G).config.onSettled?.(void 0,a,this.state.variables,this.state.context,this,r)}catch(u){Promise.reject(u)}try{await this.options.onSettled?.(void 0,a,e,this.state.context,r)}catch(u){Promise.reject(u)}throw P(this,Re,He).call(this,{type:"error",error:a}),a}finally{o(this,G).runNext(this)}}},ln=new WeakMap,Se=new WeakMap,G=new WeakMap,ct=new WeakMap,Re=new WeakSet,He=function(e){let n=r=>{switch(e.type){case"failed":return{...r,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...r,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:e.error,failureCount:r.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=n(this.state),I.batch(()=>{o(this,Se).forEach(r=>{r.onMutationUpdate(e)}),o(this,G).notify({mutation:this,type:"updated",action:e})})},ni);function Jr(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Ae,fe,dn,si,ii=(si=class extends oe{constructor(e={}){super();b(this,Ae);b(this,fe);b(this,dn);this.config=e,_(this,Ae,new Set),_(this,fe,new Map),_(this,dn,0)}build(e,n,r){let s=new ri({client:e,mutationCache:this,mutationId:++Wt(this,dn)._,options:e.defaultMutationOptions(n),state:r});return this.add(s),s}add(e){o(this,Ae).add(e);let n=Bn(e);if(typeof n=="string"){let r=o(this,fe).get(n);r?r.push(e):o(this,fe).set(n,[e])}this.notify({type:"added",mutation:e})}remove(e){if(o(this,Ae).delete(e)){let n=Bn(e);if(typeof n=="string"){let r=o(this,fe).get(n);if(r)if(r.length>1){let s=r.indexOf(e);s!==-1&&r.splice(s,1)}else r[0]===e&&o(this,fe).delete(n)}}this.notify({type:"removed",mutation:e})}canRun(e){let n=Bn(e);if(typeof n=="string"){let s=o(this,fe).get(n)?.find(i=>i.state.status==="pending");return!s||s===e}else return!0}runNext(e){let n=Bn(e);return typeof n=="string"?o(this,fe).get(n)?.find(s=>s!==e&&s.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){I.batch(()=>{o(this,Ae).forEach(e=>{this.notify({type:"removed",mutation:e})}),o(this,Ae).clear(),o(this,fe).clear()})}getAll(){return Array.from(o(this,Ae))}find(e){let n={exact:!0,...e};return this.getAll().find(r=>Kn(n,r))}findAll(e={}){return this.getAll().filter(n=>Kn(e,n))}notify(e){I.batch(()=>{this.listeners.forEach(n=>{n(e)})})}resumePausedMutations(){let e=this.getAll().filter(n=>n.state.isPaused);return I.batch(()=>Promise.all(e.map(n=>n.continue().catch(q))))}},Ae=new WeakMap,fe=new WeakMap,dn=new WeakMap,si);function Bn(t){return t.options.scope?.id}var Me,Be,Z,Oe,Ie,Wn,Yr,oi,Xr=(oi=class extends oe{constructor(e,n){super();b(this,Ie);b(this,Me);b(this,Be);b(this,Z);b(this,Oe);_(this,Me,e),this.setOptions(n),this.bindMethods(),P(this,Ie,Wn).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let n=this.options;this.options=o(this,Me).defaultMutationOptions(e),_t(this.options,n)||o(this,Me).getMutationCache().notify({type:"observerOptionsUpdated",mutation:o(this,Z),observer:this}),n?.mutationKey&&this.options.mutationKey&&be(n.mutationKey)!==be(this.options.mutationKey)?this.reset():o(this,Z)?.state.status==="pending"&&o(this,Z).setOptions(this.options)}onUnsubscribe(){this.hasListeners()||o(this,Z)?.removeObserver(this)}onMutationUpdate(e){P(this,Ie,Wn).call(this),P(this,Ie,Yr).call(this,e)}getCurrentResult(){return o(this,Be)}reset(){o(this,Z)?.removeObserver(this),_(this,Z,void 0),P(this,Ie,Wn).call(this),P(this,Ie,Yr).call(this)}mutate(e,n){return _(this,Oe,n),o(this,Z)?.removeObserver(this),_(this,Z,o(this,Me).getMutationCache().build(o(this,Me),this.options)),o(this,Z).addObserver(this),o(this,Z).execute(e)}},Me=new WeakMap,Be=new WeakMap,Z=new WeakMap,Oe=new WeakMap,Ie=new WeakSet,Wn=function(){let e=o(this,Z)?.state??Jr();_(this,Be,{...e,isPending:e.status==="pending",isSuccess:e.status==="success",isError:e.status==="error",isIdle:e.status==="idle",mutate:this.mutate,reset:this.reset})},Yr=function(e){I.batch(()=>{if(o(this,Oe)&&this.hasListeners()){let n=o(this,Be).variables,r=o(this,Be).context,s={client:o(this,Me),meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type==="success"){try{o(this,Oe).onSuccess?.(e.data,n,r,s)}catch(i){Promise.reject(i)}try{o(this,Oe).onSettled?.(e.data,null,n,r,s)}catch(i){Promise.reject(i)}}else if(e?.type==="error"){try{o(this,Oe).onError?.(e.error,n,r,s)}catch(i){Promise.reject(i)}try{o(this,Oe).onSettled?.(void 0,e.error,n,r,s)}catch(i){Promise.reject(i)}}}this.listeners.forEach(n=>{n(o(this,Be))})})},oi);var Ce,ai,ci=(ai=class extends oe{constructor(e={}){super();b(this,Ce);this.config=e,_(this,Ce,new Map)}build(e,n,r){let s=n.queryKey,i=n.queryHash??tn(s,n),a=this.get(i);return a||(a=new $s({client:e,queryKey:s,queryHash:i,options:e.defaultQueryOptions(n),state:r,defaultOptions:e.getQueryDefaults(s)}),this.add(a)),a}add(e){o(this,Ce).has(e.queryHash)||(o(this,Ce).set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){let n=o(this,Ce).get(e.queryHash);n&&(e.destroy(),n===e&&o(this,Ce).delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){I.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return o(this,Ce).get(e)}getAll(){return[...o(this,Ce).values()]}find(e){let n={exact:!0,...e};return this.getAll().find(r=>Nn(n,r))}findAll(e={}){let n=this.getAll();return Object.keys(e).length>0?n.filter(r=>Nn(e,r)):n}notify(e){I.batch(()=>{this.listeners.forEach(n=>{n(e)})})}onFocus(){I.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){I.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},Ce=new WeakMap,ai);var D,We,$e,Mt,Ot,Ge,It,Ft,ui,Zr=(ui=class{constructor(t={}){b(this,D);b(this,We);b(this,$e);b(this,Mt);b(this,Ot);b(this,Ge);b(this,It);b(this,Ft);_(this,D,t.queryCache||new ci),_(this,We,t.mutationCache||new ii),_(this,$e,t.defaultOptions||{}),_(this,Mt,new Map),_(this,Ot,new Map),_(this,Ge,0)}mount(){Wt(this,Ge)._++,o(this,Ge)===1&&(_(this,It,yt.subscribe(async t=>{t&&(await this.resumePausedMutations(),o(this,D).onFocus())})),_(this,Ft,Rt.subscribe(async t=>{t&&(await this.resumePausedMutations(),o(this,D).onOnline())})))}unmount(){var t,e;Wt(this,Ge)._--,o(this,Ge)===0&&((t=o(this,It))==null||t.call(this),_(this,It,void 0),(e=o(this,Ft))==null||e.call(this),_(this,Ft,void 0))}isFetching(t){return o(this,D).findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return o(this,We).findAll({...t,status:"pending"}).length}getQueryData(t){let e=this.defaultQueryOptions({queryKey:t});return o(this,D).get(e.queryHash)?.state.data}ensureQueryData(t){let e=this.defaultQueryOptions(t),n=o(this,D).build(this,e),r=n.state.data;return r===void 0?this.fetchQuery(t):(t.revalidateIfStale&&n.isStaleByTime(de(e.staleTime,n))&&this.prefetchQuery(e),Promise.resolve(r))}getQueriesData(t){return o(this,D).findAll(t).map(({queryKey:e,state:n})=>{let r=n.data;return[e,r]})}setQueryData(t,e,n){let r=this.defaultQueryOptions({queryKey:t}),i=o(this,D).get(r.queryHash)?.state.data,a=Ds(e,i);if(a!==void 0)return o(this,D).build(this,r).setData(a,{...n,manual:!0})}setQueriesData(t,e,n){return I.batch(()=>o(this,D).findAll(t).map(({queryKey:r})=>[r,this.setQueryData(r,e,n)]))}getQueryState(t){let e=this.defaultQueryOptions({queryKey:t});return o(this,D).get(e.queryHash)?.state}removeQueries(t){let e=o(this,D);I.batch(()=>{e.findAll(t).forEach(n=>{e.remove(n)})})}resetQueries(t,e){let n=o(this,D);return I.batch(()=>(n.findAll(t).forEach(r=>{r.reset()}),this.refetchQueries({type:"active",...t},e)))}cancelQueries(t,e={}){let n={revert:!0,...e},r=I.batch(()=>o(this,D).findAll(t).map(s=>s.cancel(n)));return Promise.all(r).then(q).catch(q)}invalidateQueries(t,e={}){return I.batch(()=>(o(this,D).findAll(t).forEach(n=>{n.invalidate()}),t?.refetchType==="none"?Promise.resolve():this.refetchQueries({...t,type:t?.refetchType??t?.type??"active"},e)))}refetchQueries(t,e={}){let n={...e,cancelRefetch:e.cancelRefetch??!0},r=I.batch(()=>o(this,D).findAll(t).filter(s=>!s.isDisabled()&&!s.isStatic()).map(s=>{let i=s.fetch(void 0,n);return n.throwOnError||(i=i.catch(q)),s.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(r).then(q)}fetchQuery(t){let e=this.defaultQueryOptions(t);e.retry===void 0&&(e.retry=!1);let n=o(this,D).build(this,e);return n.isStaleByTime(de(e.staleTime,n))?n.fetch(e):Promise.resolve(n.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(q).catch(q)}fetchInfiniteQuery(t){return t.behavior=At(t.pages),this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(q).catch(q)}ensureInfiniteQueryData(t){return t.behavior=At(t.pages),this.ensureQueryData(t)}resumePausedMutations(){return Rt.isOnline()?o(this,We).resumePausedMutations():Promise.resolve()}getQueryCache(){return o(this,D)}getMutationCache(){return o(this,We)}getDefaultOptions(){return o(this,$e)}setDefaultOptions(t){_(this,$e,t)}setQueryDefaults(t,e){o(this,Mt).set(be(t),{queryKey:t,defaultOptions:e})}getQueryDefaults(t){let e=[...o(this,Mt).values()],n={};return e.forEach(r=>{et(t,r.queryKey)&&Object.assign(n,r.defaultOptions)}),n}setMutationDefaults(t,e){o(this,Ot).set(be(t),{mutationKey:t,defaultOptions:e})}getMutationDefaults(t){let e=[...o(this,Ot).values()],n={};return e.forEach(r=>{et(t,r.mutationKey)&&Object.assign(n,r.defaultOptions)}),n}defaultQueryOptions(t){if(t._defaulted)return t;let e={...o(this,$e).queries,...this.getQueryDefaults(t.queryKey),...t,_defaulted:!0};return e.queryHash||(e.queryHash=tn(e.queryKey,e)),e.refetchOnReconnect===void 0&&(e.refetchOnReconnect=e.networkMode!=="always"),e.throwOnError===void 0&&(e.throwOnError=!!e.suspense),!e.networkMode&&e.persister&&(e.networkMode="offlineFirst"),e.queryFn===vt&&(e.enabled=!1),e}defaultMutationOptions(t){return t?._defaulted?t:{...o(this,$e).mutations,...t?.mutationKey&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){o(this,D).clear(),o(this,We).clear()}},D=new WeakMap,We=new WeakMap,$e=new WeakMap,Mt=new WeakMap,Ot=new WeakMap,Ge=new WeakMap,It=new WeakMap,Ft=new WeakMap,ui);var kt=B(ce(),1),fi=B($n(),1),es=kt.createContext(void 0),K=t=>{let e=kt.useContext(es);if(t)return t;if(!e)throw new Error("No QueryClient set, use QueryClientProvider to set one");return e},fn=({client:t,children:e})=>(kt.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),(0,fi.jsx)(es.Provider,{value:t,children:e}));var Gn=B(ce(),1),pi=Gn.createContext(!1),hi=()=>Gn.useContext(pi),Sl=pi.Provider;var pn=B(ce(),1),Oa=B($n(),1);function Ia(){let t=!1;return{clearReset:()=>{t=!1},reset:()=>{t=!0},isReset:()=>t}}var Fa=pn.createContext(Ia()),mi=()=>pn.useContext(Fa);var gi=B(ce(),1);var yi=(t,e,n)=>{let r=n?.state.error&&typeof t.throwOnError=="function"?bt(t.throwOnError,[n.state.error,n]):t.throwOnError;(t.suspense||t.experimental_prefetchInRender||r)&&(e.isReset()||(t.retryOnMount=!1))},_i=t=>{gi.useEffect(()=>{t.clearReset()},[t])},vi=({result:t,errorResetBoundary:e,throwOnError:n,query:r,suspense:s})=>t.isError&&!e.isReset()&&!t.isFetching&&r&&(s&&t.data===void 0||bt(n,[t.error,r]));var bi=t=>{if(t.suspense){let n=s=>s==="static"?s:Math.max(s??1e3,1e3),r=t.staleTime;t.staleTime=typeof r=="function"?(...s)=>n(r(...s)):n(r),typeof t.gcTime=="number"&&(t.gcTime=Math.max(t.gcTime,1e3))}},wi=(t,e)=>t.isLoading&&t.isFetching&&!e,Si=(t,e)=>t?.suspense&&e.isPending,ts=(t,e,n)=>e.fetchOptimistic(t).catch(()=>{n.clearReset()});var ze=B(ce(),1);function zn(t,e,n){let r=hi(),s=mi(),i=K(n),a=i.defaultQueryOptions(t);i.getDefaultOptions().queries?._experimental_beforeQuery?.(a);let u=i.getQueryCache().get(a.queryHash);a._optimisticResults=r?"isRestoring":"optimistic",bi(a),yi(a,s,u),_i(s);let c=!i.getQueryCache().get(a.queryHash),[d]=ze.useState(()=>new e(i,a)),l=d.getOptimisticResult(a),p=!r&&t.subscribed!==!1;if(ze.useSyncExternalStore(ze.useCallback(f=>{let h=p?d.subscribe(I.batchCalls(f)):q;return d.updateResult(),h},[d,p]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),ze.useEffect(()=>{d.setOptions(a)},[a,d]),Si(a,l))throw ts(a,d,s);if(vi({result:l,errorResetBoundary:s,throwOnError:a.throwOnError,query:u,suspense:a.suspense}))throw l.error;return i.getDefaultOptions().queries?._experimental_afterQuery?.(a,l),a.experimental_prefetchInRender&&!we.isServer()&&wi(l,r)&&(c?ts(a,d,s):u?.promise)?.catch(q).finally(()=>{d.updateResult()}),a.notifyOnChangeProps?l:d.trackResult(l)}function k(t,e){return zn(t,un,e)}var Fe=B(ce(),1);function ke(t,e){let n=K(e),[r]=Fe.useState(()=>new Xr(n,t));Fe.useEffect(()=>{r.setOptions(t)},[r,t]);let s=Fe.useSyncExternalStore(Fe.useCallback(a=>r.subscribe(I.batchCalls(a)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),i=Fe.useCallback((a,u)=>{r.mutate(a,u).catch(q)},[r]);if(s.error&&bt(r.options.throwOnError,[s.error]))throw s.error;return{...s,mutate:i,mutateAsync:s.mutate}}function hn(t,e){return zn(t,zr,e)}var A=new Zr({defaultOptions:{queries:{staleTime:1e3*60*2,gcTime:1e3*60*10,refetchOnWindowFocus:!1,retry:1}}});function V(){return le()??"__unscoped__"}var w={all:()=>["vfs",V()],item:t=>["vfs",V(),"item",t],itemById:t=>["vfs","item-by-id",t],children:t=>["vfs",V(),"children",t],allChildren:()=>["vfs",V(),"children"],types:t=>["vfs","types",t??"default"],edges:t=>["vfs","edges",t],search:(t,e)=>["vfs",V(),"search",t,...e??[]],items:(t,e)=>["vfs",V(),"items",t,JSON.stringify(e??{})],allItems:()=>["vfs",V(),"items"],tree:(t,e)=>["vfs",V(),"tree",t,e??1],openEnvelope:(t,e)=>["vfs",V(),"open",t,e??"__default__"],allOpenEnvelopes:()=>["vfs",V(),"open"],memberFocus:t=>["vfs","member-focus",t],fractalInstances:()=>["vfs","fractal-instances"],recentActivity:(t,e,n)=>["vfs",V(),"get-activity-feed",t,e,n],itemVersions:(t,e,n,r)=>["vfs","item-versions",t,e,n,r],itemHistory:(t,e,n)=>["vfs","item-history",t,e,n],channelMessages:(t,e)=>["vfs",V(),"channel-messages",t,e??"__top__"],allChannelMessages:()=>["vfs",V(),"channel-messages"],channels:t=>["vfs",V(),"channels",t??"all"],allChannels:()=>["vfs",V(),"channels"],notifications:(t,e)=>["vfs",V(),"notifications",t??"all",e??200],allNotifications:()=>["vfs",V(),"notifications"],unreadCounts:()=>["vfs",V(),"unread-counts"],memberships:t=>["memberships",t]};function Ri(){return new Date().toISOString()}function Ci(){return crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2,11)}`}function pe(t){let e=t.path||t.item_path||"",n=e.split("/");n.pop();let r=n.join("/"),s=t.type_data||{};return s.allowed_parent_types&&!s.accepts&&(s.accepts=s.allowed_parent_types),delete s.allowed_parent_types,{id:t.id||t.item_id||"",name:t.name||t.item_name||"",item_type:t.item_type||"unknown",path:e,parent_path:r,is_active:t.is_active!==!1,has_children:t.has_children??!1,created_at:t.created_at||Ri(),updated_at:t.updated_at||Ri(),visibility:t.visibility,type_data:s,scope_item_id:t.scope_item_id,fractal_id:t.fractal_id,parent_instance_id:t.parent_instance_id,owner_principal_id:t.owner_principal_id,created_by_principal_id:t.created_by_principal_id,parent_id:t.parent_id,space_item_id:t.space_item_id,account_item_id:t.account_item_id}}function mn(t){return(t.content?.items||t.items||[]).map(pe)}async function Yn(t){try{let e=await R("read",{id:t});if(e.item_name||e.item_path){let r=pe(e);return r.path&&A.setQueryData(w.item(r.path),r),r}let n=e.item;if(n){let r=pe(n);return r.path&&A.setQueryData(w.item(r.path),r),r}return null}catch{return null}}async function Xn(t){try{let e=await R("read",{path:t});if(e.item_name||e.item_path)return pe(e);let n=e.item;return n?pe(n):null}catch{return null}}async function Zn(t){try{let e=await R("list",{path:t,limit:200}),n=mn(e);for(let r of n)A.setQueryData(w.item(r.path),r);return n}catch(e){return console.error(`[gateway] Failed to fetch children of ${t}:`,e),[]}}async function er(t,e,n){try{let r=await R("list",{path:t,limit:e,offset:n}),s=mn(r);for(let i of s)A.setQueryData(w.item(i.path),i);return{items:s,total_hint:r.total??r.content?.total??s.length}}catch(r){return console.error(`[gateway] Failed to fetch children page of ${t}:`,r),{items:[],total_hint:0}}}async function tr(t){let n=await R("types-list",t?{scope_id:t}:{}),r=n.content?.items||n.items||[],s=new Map;for(let i of r){let a=i.name,u=i.type_data;!a||!u||s.set(a,{type_key:a,display_name:u.display_name||a,display_name_plural:u.display_name_plural||a+"s",icon:u.icon||"File",color:u.color||"gray",description:u.description||"",input_schema:u.input_schema||{},system_schema:u.system_schema||{},json_schema:u.input_schema||u.json_schema||{},default_data:u.default_data||{},field_defaults:u.field_defaults||{},renderer_config:u.renderer_config||{},is_system:u.is_system??!1,is_active:u.is_active??!0,is_container:u.is_container??!1,is_scope:u.is_scope??!1,render_mode:u.render_mode||"none",placement_mode:u.placement_mode,direct_parent_types:u.direct_parent_types,allowed_parent_types:u.allowed_parent_types,governed_create:u.governed_create,create_method:u.create_method,dedup:u.dedup,edges:u.edges,events:u.events})}return s}async function nr(t){try{let e=await R("edges",{item_id:t}),n=e.outgoing||[],r=e.incoming||[],s=[];for(let i of n)s.push({id:i.edge_id||Ci(),source_item_id:t,target_item_id:i.target_id||"",edge_type:i.edge_type||"",weight:i.weight??1,context:i.context||{},is_active:!0,is_bidirectional:i.is_bidirectional});for(let i of r)s.push({id:i.edge_id||Ci(),source_item_id:i.source_id||"",target_item_id:t,edge_type:i.edge_type||"",weight:i.weight??1,context:i.context||{},is_active:!0,is_bidirectional:i.is_bidirectional});return s}catch(e){return console.warn(`[gateway] Failed to fetch edges for ${t}:`,e),[]}}async function rr(t,e=1,n,r){try{let s={path:t,max_depth:e>0?e:999};n?.length&&(s.item_types=n),r&&(s.limit=r);let i=await R("tree",s),a=mn(i);for(let u of a)A.setQueryData(w.item(u.path),u);return a}catch(s){return console.error(`[gateway] Failed to fetch tree at ${t}:`,s),[]}}async function sr(t,e=50,n=0){try{let r=await R("get-activity-feed",{scope_path:t,limit:e,offset:n});return r.content?.items||r.items||r.entries||[]}catch(r){return console.error(`[gateway] Failed to fetch recent activity for ${t}:`,r),[]}}async function gn(t,e={}){let{limit:n=50,offset:r=0,include_snapshots:s=!1}=e;try{let i=await R("item-versions",{id:t,limit:n,offset:r,include_snapshots:s});return{versions:i.content?.items||i.versions||[],total:i.total??0}}catch(i){return console.error(`[gateway] Failed to fetch item versions for ${t}:`,i),{versions:[],total:0}}}async function ir(t,e=50,n=0){return gn(t,{limit:e,offset:n})}async function or(t,e,n){try{let r={scope_id:t};e?.length&&(r.item_types=e),n&&(r.limit=n);let s=await R("member-focus",r),i=mn(s);for(let a of i)A.setQueryData(w.item(a.path),a);return i}catch(r){return console.error(`[gateway] Failed to fetch member focus for scope ${t}:`,r),[]}}async function ar(t,e){let n={path:t};e?.mode&&(n.mode=e.mode),e?.strategy&&(n.strategy=e.strategy),e?.arguments&&(n.arguments=e.arguments);let s=await R("open",n);return{item_id:s.item_id,item_path:s.item_path,item_name:s.item_name,item_type:s.item_type,render:s.render,compatible_components:s.compatible_components??[],content:s.content,metadata:s.metadata,instructions:s.instructions}}async function yn(t){let e={item_type:t.type};t.scope&&(e.scope_path=t.scope);let n={};if(t.name&&(n.name=t.name),t.tag&&(n.tag=t.tag),t.parent_id&&(n.parent_id=t.parent_id),t.sort_by&&(n.sort_by=t.sort_by),t.sort_dir&&(n.sort_dir=t.sort_dir),t.offset!=null&&(n.offset=t.offset),t.fields)for(let[r,s]of Object.entries(t.fields))n[`field.${r}`]=String(s);Object.keys(n).length>0&&(e.filters=n),t.limit!=null&&(e.limit=t.limit);try{let r=await R("query",e),s=mn(r);for(let i of s)A.setQueryData(w.item(i.path),i);return{items:s,total_hint:r.total??r.content?.total??s.length}}catch(r){return console.error(`[gateway] Failed to fetch items of type ${t.type}:`,r),{items:[],total_hint:0}}}function Pi(t){return t.filter(e=>e.item_type==="card").map(e=>{let n=e.type_data||{},r=n.payload||{};return{id:e.id||"",path:e.path||"",name:e.name||(e.path||"").split("/").pop()||"",createdAt:e.created_at||"",action:n.action||"created",targetId:n.target_id||void 0,targetPath:n.target_path||"",targetDisplayName:n.target_display_name||"",targetDescription:n.target_description||"",targetItemType:n.target_item_type||"",toolId:(e.name||"").startsWith("card-")?(e.name||"").substring(5):void 0,parentMessagePath:e.parent_message_path||void 0,visibility:n.visibility||"private",openWith:r.open_with||void 0,hostBundled:r.host_bundled===!0?!0:void 0,bundleExport:r.bundle_export||void 0,launchArguments:r.launch_arguments||void 0,requiresUserAttention:r.requires_user_attention===!0?!0:void 0}}).sort((e,n)=>e.createdAt.localeCompare(n.createdAt))}function ns(t){return t.filter(e=>e.item_type==="message").map(e=>{let n=e.type_data||{},r="user";n.role==="assistant"?r="assistant":n.role==="system"&&(r="system");let s=n.metadata||{};return{id:e.id||"",path:e.path||"",content:n.message||n.content||"",created_at:e.created_at||"",role:r,seq:n.seq||0,principal_id:n.principal_id,reply_count:n.reply_count||0,parent_message_id:n.parent_message_id,intent_card:s.intent_card,metadata:Object.keys(s).length>0?s:void 0,thread_summary:Array.isArray(n.thread_summary)&&n.thread_summary.length>0?n.thread_summary:void 0}}).sort((e,n)=>e.seq-n.seq)}async function xi(t,e){try{let n={channel_path:t};e&&(n.parent_message_id=e);let s=await R("get-channel-messages",n),i=s.messages||s.content?.items||s.items||[];return ns(i)}catch(n){return console.error(`[gateway] Failed to fetch channel messages for ${t}:`,n),[]}}async function cr(t,e){try{let n={channel_path:t};e&&(n.parent_message_id=e);let s=await R("get-channel-messages",n),i=s.messages||[],a=ns(i),u=Pi(i),c=new Map,d=[];for(let l of u)if(l.parentMessagePath){let p=c.get(l.parentMessagePath)||[];p.push(l),c.set(l.parentMessagePath,p)}else d.push(l);return{messages:a,messageCards:c,siblingCards:d,mode:s.mode||"top_level"}}catch(n){return console.error(`[gateway] Failed to fetch channel messages with cards for ${t}:`,n),{messages:[],messageCards:new Map,siblingCards:[],mode:"top_level"}}}async function _n(t,e){try{let n={channel_path:t};e?.parentMessageId&&(n.parent_message_id=e.parentMessageId),e?.limit&&(n.limit=e.limit),e?.before_seq!=null&&(n.before_seq=e.before_seq),e?.after_seq!=null&&(n.after_seq=e.after_seq);let s=await R("get-channel-messages",n),i=s.messages||[],a=Pi(i),u=new Map,c=[];for(let d of a)if(d.parentMessagePath){let l=u.get(d.parentMessagePath)||[];l.push(d),u.set(d.parentMessagePath,l)}else c.push(d);return{messages:ns(i),messageCards:u,siblingCards:c,mode:s.mode||"top_level"}}catch(n){return console.error(`[gateway] Failed to fetch channel messages page for ${t}:`,n),{messages:[],messageCards:new Map,siblingCards:[],mode:"top_level"}}}function Jn(t){A.invalidateQueries({queryKey:w.children(t)})}function rs(t){A.invalidateQueries({queryKey:w.item(t)})}function Ei(t,e){rs(t),Jn(t);let n=t.split("/");n.pop();let r=n.join("/")||e;r&&Jn(r)}function Ti(t){let e=t+"/";A.invalidateQueries({predicate:n=>{let r=n.queryKey;return r[0]!=="vfs"?!1:r.some(s=>typeof s=="string"&&(s===t||s.startsWith(e)))}})}function Ai(){A.invalidateQueries({queryKey:w.all()})}function Mi(t){A.invalidateQueries({queryKey:w.types(t)})}function Oi(t,e){t?A.invalidateQueries({queryKey:w.channelMessages(t,e)}):A.invalidateQueries({queryKey:w.allChannelMessages()})}function Ii(t,e){t&&e?A.invalidateQueries({queryKey:w.openEnvelope(t,e)}):t?A.invalidateQueries({predicate:n=>{let r=n.queryKey;return r[0]==="vfs"&&r[2]==="open"&&r[3]===t}}):A.invalidateQueries({queryKey:w.allOpenEnvelopes()})}var ka=typeof window<"u"&&(window.location?.hostname==="localhost"||window.location?.hostname==="127.0.0.1"||window.__FSAOS_WS_DEBUG__);function W(...t){ka&&console.log("[WS]",...t)}var O=null,qt=null,Dt=null,vn=0,qa=3e4,Fi=1e4,Qt=!1,Da=3e4,ur=null,ki=!1;function Ua(){wn(),ur=setInterval(()=>{qe({type:"ping"})},Da)}function wn(){ur&&(clearInterval(ur),ur=null)}function Qa(){typeof document>"u"||(document.hidden?wn():bn()&&(W("Tab visible, reconnecting..."),Sn()))}function Na(){ki||typeof document>"u"||(document.addEventListener("visibilitychange",Qa),ki=!0)}var ee={},Ut=[],Nt=new Map,ut=new Map;function Ka(){return Object.keys(ee).some(e=>ee[e]&&ee[e].length>0)||Ut.length>0}function bn(){return Nt.size>0||ut.size>0}async function Sn(){if(!bn()){W("ensureConnection: no active subscriptions, skipping");return}if(O&&O.readyState===WebSocket.OPEN){W("ensureConnection: already open");return}if(qt)return W("ensureConnection: connection already in flight, waiting..."),qt;if(O){W("ensureConnection: killing stale WS in state",O.readyState);try{O.close()}catch{}O=null}return Qt=!1,qt=(async()=>{try{let t=typeof window<"u"&&window.__FSAOS_CONFIG__||{},e=De,n=await Pe();if(!n){W("ensureConnection: no token available, will retry"),qi();return}let r=e.startsWith("https")?"wss":"ws",s=e.replace(/^https?:\/\//,""),i=`${r}://${s}/ws`;i+=`?token=${encodeURIComponent(n)}`,W("ensureConnection: opening WS to",i.substring(0,50)+"..."),O=new WebSocket(i),await new Promise((a,u)=>{if(!O)return u(new Error("WebSocket not created"));let c=setTimeout(()=>{if(W("ensureConnection: TIMEOUT after",Fi,"ms"),O&&O.readyState!==WebSocket.OPEN){try{O.close()}catch{}O=null}u(new Error("WebSocket connection timeout"))},Fi);O.onopen=()=>{clearTimeout(c),W("ensureConnection: CONNECTED"),vn=0,La(),(typeof document>"u"||!document.hidden)&&Ua(),Na(),a()},O.onmessage=d=>{ja(d.data)},O.onerror=()=>{W("ensureConnection: WS error event")},O.onclose=d=>{clearTimeout(c),W("ensureConnection: WS closed, code:",d.code,"reason:",d.reason),O=null,wn(),!Qt&&bn()&&qi(),u(new Error(`WebSocket closed: ${d.code}`))}})}catch(t){W("ensureConnection: failed -",t?.message||t)}finally{qt=null}})(),qt}function qi(){if(Dt||typeof document<"u"&&document.hidden)return;let t=Math.min(1e3*Math.pow(2,vn)+Math.random()*1e3,qa);vn++,W("scheduleReconnect: attempt",vn,"in",Math.round(t),"ms"),Dt=setTimeout(()=>{Dt=null,bn()&&Sn()},t)}function La(){for(let t of Nt.values())W("resubscribeAll: scope",t.scope_id),qe({type:"subscribe",scope_id:t.scope_id,event_types:t.event_types});for(let t of ut.values())W("resubscribeAll: path",t.path),qe({type:"subscribe_path",path:t.path,event_types:t.event_types})}function qe(t){O&&O.readyState===WebSocket.OPEN&&O.send(JSON.stringify(t))}function ja(t){try{let e=JSON.parse(t);if(e.type==="subscribed"||e.type==="subscribed_path"||e.type==="unsubscribed"||e.type==="unsubscribed_path"||e.type==="pong")return;if(e.type==="error"){console.warn("[WS] Server error:",e.message);return}if(e.type==="event"||e.event_type){let n=e.event_type||"message",r=e.data||e;r.path&&ee[r.path]&&ee[r.path].forEach(s=>s(r)),ee["*"]&&ee["*"].forEach(s=>s(r));for(let s of Ut)s.eventType!=="*"&&s.eventType!==n||s.filter&&!s.filter(r)||s.callback(r)}}catch{}}function ss(){!Ka()&&Nt.size===0&&ut.size===0&&O&&(Qt=!0,wn(),O.close(),O=null,Qt=!1)}function lr(t,e){return ee[t]||(ee[t]=[]),ee[t].push(e),ut.has(t)||(ut.set(t,{path:t,event_types:["token_stream"]}),O&&O.readyState===WebSocket.OPEN&&qe({type:"subscribe_path",path:t,event_types:["token_stream"]})),Sn(),()=>{let n=ee[t];if(n){let r=n.indexOf(e);r!==-1&&n.splice(r,1),n.length===0&&(delete ee[t],ut.delete(t),qe({type:"unsubscribe_path",path:t}))}ss()}}function ue(t,e,n){let s=(Array.isArray(t)?t:[t]).map(i=>({eventType:i,callback:e,filter:n}));return Ut.push(...s),bn()&&Sn(),()=>{for(let i of s){let a=Ut.indexOf(i);a!==-1&&Ut.splice(a,1)}ss()}}function dr(t,e=["vfs_change","ccm_change"]){return W("subscribeToScope:",t,e),Nt.set(t,{scope_id:t,event_types:e}),O&&O.readyState===WebSocket.OPEN&&qe({type:"subscribe",scope_id:t,event_types:e}),Sn(),()=>{Nt.delete(t),qe({type:"unsubscribe",scope_id:t}),ss()}}function Di(t,e,n={}){qe({type:"emit",scope_id:t,event_type:e,payload:n})}function is(){W("disconnectSSE: tearing down"),Qt=!0,wn(),O&&(O.close(),O=null),Dt&&(clearTimeout(Dt),Dt=null),qt=null,Qt=!1,vn=0;for(let t of Object.keys(ee))delete ee[t];Ut.length=0,Nt.clear(),ut.clear()}function Ui(){qe({type:"ping"})}xe(is);var Kt=new Map,fr=null,Rn=new Map,Va=250;function Cn(t){pr(),Pn(t),fr=ue("vfs_change",e=>Ha(e))}function Pn(t){if(Kt.has(t))return;let e=dr(t,["vfs_change","ccm_change"]);Kt.set(t,e)}function Qi(t){let e=Kt.get(t);e&&(e(),Kt.delete(t))}function pr(){for(let[,t]of Kt)t();Kt.clear(),fr&&(fr(),fr=null),Rn.forEach(t=>clearTimeout(t)),Rn.clear()}xe(pr);function Ha(t){let e=t.path,n=t.action;if(!e)return;let r=e.split("/");r.pop();let s=r.join("/")||"/root",i=Rn.get(s);i&&clearTimeout(i);let a=setTimeout(()=>{Rn.delete(s),Ba(n,e,t,s)},Va);Rn.set(s,a)}function Ba(t,e,n,r){if((t||"").toUpperCase()==="DELETE")A.removeQueries({queryKey:w.item(e)}),A.removeQueries({queryKey:w.children(e)}),A.removeQueries({queryKey:w.tree(e)});else if(n.item_id)try{let i={id:n.item_id,path:n.path,name:n.name,item_type:n.item_type,parent_id:n.parent_id,scope_item_id:n.scope_item_id},a=pe(i);a&&a.id&&A.setQueryData(w.item(e),a)}catch{}A.invalidateQueries({queryKey:w.children(r)}),A.invalidateQueries({predicate:i=>{let a=i.queryKey;if(a[0]!=="vfs"||a[1]!=="tree")return!1;let u=a[2];return e.startsWith(u+"/")||e===u}}),n.item_id&&A.invalidateQueries({queryKey:w.itemById(n.item_id)})}var os=B(ce(),1),Li=B(Ki(),1);function ji(t){return R("read",{path:t})}function Vi(t,e){return R("list",{path:t,...e})}function Hi(t){return R("create",t)}function Bi(t){return R("update",t)}function Wi(t){return R("create",t)}function $i(t,e){let r=(typeof window<"u"&&window.__FSAOS_CONFIG__||{}).scopePath||"";return R("tools/call",{name:t,instance_path:r,...e||{}})}function Gi(t,e,n){return R("signal",{target_id:t,event_name:e,payload:n||{}})}function zi(t){return((typeof window<"u"&&window.__FSAOS_CONFIG__||{}).edgeBaseUrl||"")+t}var Ji={signIn:t=>t.provider?F.auth.signInWithOAuth({provider:t.provider,options:{redirectTo:t.redirectTo||window.location.href}}):F.auth.signInWithPassword({email:t.email,password:t.password}),signUp:t=>F.auth.signUp({email:t.email,password:t.password,options:{data:t.metadata||{}}}),signOut:async()=>{await F.auth.signOut(),mt(),A.clear()},getSession:()=>F.auth.getSession().then(t=>t.data.session),getUser:()=>F.auth.getUser().then(t=>t.data.user),onAuthStateChange:t=>{let{data:{subscription:e}}=F.auth.onAuthStateChange((n,r)=>{t({event:n,session:r,user:r?.user??null})});return()=>e?.unsubscribe()},resetPassword:t=>F.auth.resetPasswordForEmail(t),signInWithMagicLink:(t,e)=>F.auth.signInWithOtp({email:t,options:{emailRedirectTo:e||window.location.href}})};function Yi(){let t=document.getElementById("root");if(t)try{let e=window.__FSAOS_COMPONENT__;if(!e){t.innerHTML='<div style="padding:2rem;color:#ef4444;font-family:system-ui"><h2>Component Error</h2><pre>No component found. The bundle may have failed to load.</pre></div>';return}let n=e.default||e,r=window.__FSAOS_ITEM_DATA__||null,s=r?{item:r,...r}:{};(0,Li.createRoot)(t).render((0,os.createElement)(fn,{client:A},(0,os.createElement)(n,s)))}catch(e){console.error("[FSAOS] Failed to mount root component:",e),t.innerHTML='<div style="padding:2rem;color:#ef4444;font-family:system-ui"><h2>Component Error</h2><pre>'+(e.message||e)+"</pre></div>"}}function Xi(){let t=window.React,e=window.ReactDOM,n=window.__FSAOS_GATEWAY__,r=window.__FSAOS_UI__;if(!n){console.error("[FSAOS] Cannot set up require shim: __FSAOS_GATEWAY__ not found");return}let s={react:t,"react-dom":e,"react-dom/client":e,"react/jsx-runtime":{jsx:t?.createElement,jsxs:t?.createElement,Fragment:t?.Fragment},"@fsaos/react":n,"@fsaos/gateway":n,"@fsaos/ui":r||{}};window.require=function(a){if(s[a])return s[a];throw new Error("[FSAOS] Module not found: "+a)},window.__FSAOS_MOUNT__=n.mount}var y=B(ce(),1),$a=B(eo(),1),Ga=B($n(),1);function Wa(t){return`${t}/settings/mounts`}var xn=null;async function as(t,e){xn=Wa(t);try{let s=((await R("read",{path:xn}))?.item?.type_data?.mounts??[]).map(e).filter(a=>a!==null),i=Qe();return i&&!s.some(a=>a.id===i.id)&&s.unshift(i),Mr(s),s}catch{let n=Qe(),r=n?[n]:[];return Mr(r),r}}async function to(){if(!xn)return;let t=ht().map(n=>n.id),e=Ye()?.id??null;try{await R("update",{path:xn,type_data:{mounts:t,last_anchor:e}})}catch{try{let r=xn.split("/").slice(0,-1).join("/");await R("create",{parent_path:r,name:"mounts",item_type:"file",type_data:{mounts:t,last_anchor:e}})}catch(r){console.warn("[SDK] mount declaration persist failed:",r)}}}async function cs(t){xs(t),await to()}async function no(t){Es(t),await to()}function N(){return(0,y.useSyncExternalStore)(Xe,_e,_e)}function io(){return N(),Un()}function oo(t){return N(),k({queryKey:w.item(t),queryFn:()=>Xn(t),enabled:!!t})}function ao(t){return N(),k({queryKey:w.itemById(t),queryFn:()=>Yn(t),enabled:!!t})}function ls(t){return N(),k({queryKey:w.children(t),queryFn:()=>Zn(t),enabled:!!t})}function co(t){let e=ls(t);return{...e,children:e.data??[]}}function uo(t,e=1){return N(),k({queryKey:w.tree(t,e),queryFn:()=>rr(t,e),enabled:!!t})}function lo(t,e){return N(),k({queryKey:w.search(t,e),queryFn:async()=>{let n={query:t};e?.length&&(n.item_types=e);let r=await R("search",n);return(r.content?.items||r.items||[]).map(pe)},enabled:!!t&&t.length>0})}function fo(t){N();let e=(0,y.useMemo)(()=>t,[JSON.stringify(t)]);return k({queryKey:["vfs",le()??"__unscoped__","resolve",JSON.stringify(e??{})],queryFn:async()=>await R("resolve",e),enabled:!!e?.query&&e.query.length>0})}function po(t){N();let e=(0,y.useMemo)(()=>t,[JSON.stringify(t)]);return k({queryKey:w.items(e?.type??"",e),queryFn:()=>yn(e),enabled:!!e?.type,select:n=>n.items})}function ho(t){N();let e=t?.limit??20,n=(0,y.useMemo)(()=>t,[JSON.stringify(t)]),r=hn({queryKey:["vfs",le()??"__unscoped__","infinite-items",n?.type??"",JSON.stringify(n??{})],queryFn:async({pageParam:i=0})=>yn({...n,limit:e,offset:i}),initialPageParam:0,getNextPageParam:(i,a,u)=>{if(!(i.items.length<e))return u+i.items.length},enabled:!!n?.type});return{allItems:(0,y.useMemo)(()=>{if(!r.data?.pages)return[];let i=new Set,a=[];for(let u of r.data.pages)for(let c of u.items)c.id&&!i.has(c.id)&&(i.add(c.id),a.push(c));return a},[r.data?.pages]),fetchNextPage:r.fetchNextPage,isFetchingNextPage:r.isFetchingNextPage,isExhausted:!r.hasNextPage,isLoading:r.isLoading,isFetching:r.isFetching,error:r.error,totalHint:r.data?.pages?.[0]?.total_hint}}function mo(t){N();let e=20,n=hn({queryKey:["vfs",le()??"__unscoped__","infinite-children",t??""],queryFn:async({pageParam:s=0})=>er(t,e,s),initialPageParam:0,getNextPageParam:(s,i,a)=>{if(!(s.items.length<e))return a+s.items.length},enabled:!!t});return{allItems:(0,y.useMemo)(()=>{if(!n.data?.pages)return[];let s=new Set,i=[];for(let a of n.data.pages)for(let u of a.items)u.id&&!s.has(u.id)&&(s.add(u.id),i.push(u));return i},[n.data?.pages]),fetchNextPage:n.fetchNextPage,isFetchingNextPage:n.isFetchingNextPage,isExhausted:!n.hasNextPage,isLoading:n.isLoading,isFetching:n.isFetching,error:n.error,totalHint:n.data?.pages?.[0]?.total_hint}}function go(t){return N(),k({queryKey:w.edges(t),queryFn:()=>nr(t),enabled:!!t})}function hr(t){return N(),k({queryKey:w.types(t),queryFn:()=>tr(t)})}function yo(t,e){let n=hr(e);return{...n,data:n.data?.get(t)??void 0}}function _o(t,e){N();let n=(0,y.useMemo)(()=>e?.arguments,[JSON.stringify(e?.arguments)]),r=e?.mode,s=e?.strategy,i=e?.width;return k({queryKey:[...w.openEnvelope(t,s),i],queryFn:async()=>{let a=await ar(t,{mode:r,strategy:s,arguments:n});if(i&&a.render?.props?.url){let u=a.render.props.url,c=u.includes("?")?"&":"?";a.render.props.url=`${u}${c}w=${i}`}return a},enabled:!!t})}var ro={related_to:"Related To",depends_on:"Depends On",blocks:"Blocks",parent_of:"Parent Of",child_of:"Child Of",references:"References",implements:"Implements",extends:"Extends",contains:"Contains",belongs_to:"Belongs To",created_by:"Created By",assigned_to:"Assigned To",tagged_with:"Tagged With",linked_to:"Linked To"};function vo(t){let e=hr(t),n=e.data??new Map;return(0,y.useMemo)(()=>({canHaveChildren:h=>n.get(h.item_type)?.is_container??!1,isScope:h=>n.get(h.item_type)?.is_scope??!1,isScopeType:h=>n.get(h)?.is_scope??!1,isContainerType:h=>n.get(h)?.is_container??!1,getTypeDefinition:h=>n.get(h),getTypeColor:h=>n.get(h)?.color??"gray",getTypeIcon:h=>n.get(h)?.icon??"File",getTypeDisplayName:h=>n.get(h)?.display_name??h,getKnownEdgeTypes:()=>Object.entries(ro).map(([h,v])=>({key:h,label:v})),getEdgeTypeLabel:h=>ro[h]??h.replace(/_/g," "),allTypes:n,loading:e.isLoading}),[n,e.isLoading])}function bo(t,e,n){return N(),k({queryKey:w.memberFocus(t),queryFn:()=>or(t,e,n),enabled:!!t})}function wo(t,e={}){let{limit:n=50,offset:r=0,include_snapshots:s=!1}=e;return k({queryKey:w.itemVersions(t,String(n),String(r),String(s)),queryFn:()=>gn(t,{limit:n,offset:r,include_snapshots:s}),enabled:!!t})}function So(t,e=50,n=0){return k({queryKey:w.itemHistory(t,String(e),String(n)),queryFn:()=>ir(t,e,n),enabled:!!t})}function Ro(t,e=50,n=0){return N(),k({queryKey:w.recentActivity(t,String(e),String(n)),queryFn:()=>sr(t,e,n),enabled:!!t})}function Co(){let[t,e]=(0,y.useState)(null),[n,r]=(0,y.useState)(!0),[s,i]=(0,y.useState)(null);return(0,y.useEffect)(()=>{let a=!1;return qn().then(u=>{if(!a){let c=typeof window<"u"&&window.__FSAOS_CONFIG__||{};e({path:u.scope_path,scope_id:u.scope_id,fractal_id:u.fractal_id,instance_name:u.instance_name,display_name:u.display_name,componentPath:c.componentPath||"",isEmbed:!!c.embedToken}),r(!1)}}).catch(u=>{a||(i(u instanceof Error?u:new Error(String(u))),r(!1))}),()=>{a=!0}},[]),{data:t,loading:n,error:s}}var za=[];function En(t){return{id:t.accountId,path:t.path,kind:t.isSpace?"space":"account",name:t.name,grantedUnderAccountId:t.grantedUnderAccountId??void 0}}function Po(){let{user:t}=mr(),e=(0,y.useRef)(!1),n=k({queryKey:w.memberships(t?.id??"anonymous"),queryFn:async()=>((await R("list-memberships",{})).memberships||[]).map(f=>({accountId:f.account_id,path:f.account_path,name:f.account_name,role:f.role||"member",typeData:f.account_type_data||{},joinedAt:f.joined_at,via:f.via,placement:f.placement,subordinateTo:f.subordinate_to??null,cascadeAnchorId:f.cascade_anchor_id??null,isAccount:f.is_account??void 0,isSpace:f.is_space??void 0,isOwner:f.is_owner??void 0,billingResponsible:f.billing_responsible??void 0,grantedVia:f.granted_via??null,grantedUnderAccountId:f.granted_under_account_id??null,personalSpaceId:f.personal_space_id??null,personalSpacePath:f.personal_space_path??null})),enabled:!!t?.id,staleTime:1e3*60*2}),r=n.data??za,s=(0,y.useMemo)(()=>r.filter(l=>l.isAccount!==!1&&!l.isSpace),[r]),i=(0,y.useMemo)(()=>{let l=new Set(s.map(f=>f.accountId)),p=f=>!f.subordinateTo||!l.has(f.subordinateTo);return[...s].sort((f,h)=>Number(p(h))-Number(p(f)))},[s]),a=(0,y.useSyncExternalStore)(Xe,_e,_e),u=(0,y.useMemo)(()=>{let l=Ye();return l?r.find(p=>p.accountId===l.id)??null:null},[a,r]);(0,y.useEffect)(()=>{if(!t?.id){e.current=!1;return}if(!e.current)if(i.length===1){let l=i[0];Yt(En(l)),Cn(l.accountId),l.personalSpacePath&&as(l.personalSpacePath,p=>{let f=r.find(h=>h.accountId===p);return f?En(f):null}).catch(()=>{}),e.current=!0}else i.length>1&&(e.current=!0)},[t?.id,i,r]);let c=(0,y.useCallback)(l=>{let p=r.find(h=>h.path===l);if(!p)return;let f=En(p);Qe()?Ue(f):(Yt(f),p.personalSpacePath&&as(p.personalSpacePath,h=>{let v=r.find(m=>m.accountId===h);return v?En(v):null}).catch(()=>{})),Cn(p.accountId)},[r]),d=(0,y.useCallback)(l=>{let p=r.find(f=>f.path===l);p&&(cs(En(p)).catch(()=>{}),Pn(l))},[r]);return{accounts:i,allMemberships:r,currentAccount:u,mountedScope:null,switchAccount:c,mountScope:d,loading:n.isLoading,error:n.error}}function xo(){let t=(0,y.useSyncExternalStore)(kn,Zt,Zt);return{mounts:(0,y.useMemo)(()=>ht(),[t]),homeAnchor:Qe(),anchor:Ye(),setAnchor:Ue,mount:cs,unmount:no}}function mr(){let[t,e]=(0,y.useState)(null),[n,r]=(0,y.useState)(null),[s,i]=(0,y.useState)(!0),a=(0,y.useRef)(null);(0,y.useEffect)(()=>{F.auth.getSession().then(({data:h,error:v})=>{if(v){console.warn("[useAuth] getSession error, clearing stale session:",v.message),F.auth.signOut().catch(()=>{}),r(null),e(null),i(!1);return}r(h?.session??null),e(h?.session?.user??null),i(!1)}).catch(h=>{console.warn("[useAuth] getSession threw, clearing stale session:",h?.message),F.auth.signOut().catch(()=>{}),r(null),e(null),i(!1)});let{data:{subscription:f}}=F.auth.onAuthStateChange((h,v)=>{if(h==="TOKEN_REFRESHED"&&!v){console.warn("[useAuth] TOKEN_REFRESHED with null session \u2014 signing out"),F.auth.signOut().catch(()=>{}),r(null),e(null),i(!1);return}r(v),e(v?.user??null),i(!1)});return a.current=f,()=>{f?.unsubscribe()}},[]);let u=(0,y.useCallback)(async f=>f.provider?F.auth.signInWithOAuth({provider:f.provider,options:f.redirectTo?{redirectTo:f.redirectTo}:{redirectTo:window.location.href}}):F.auth.signInWithPassword({email:f.email,password:f.password}),[]),c=(0,y.useCallback)(async f=>F.auth.signUp({email:f.email,password:f.password,options:{data:f.metadata||{}}}),[]),d=(0,y.useCallback)(async()=>{await F.auth.signOut(),mt(),A.clear()},[]),l=(0,y.useCallback)(async f=>{let{error:h}=await F.auth.resetPasswordForEmail(f);if(h)throw h},[]),p=(0,y.useCallback)(async(f,h)=>{let{error:v}=await F.auth.signInWithOtp({email:f,options:h?{emailRedirectTo:h}:{emailRedirectTo:window.location.href}});if(v)throw v},[]);return{user:t,session:n,loading:s,signIn:u,signUp:c,signOut:d,resetPassword:l,signInWithMagicLink:p}}function Eo(t){let[e,n]=(0,y.useState)(null),[r,s]=(0,y.useState)(!1),[i,a]=(0,y.useState)(null);return(0,y.useEffect)(()=>{if(!t){n(null),s(!1);return}if(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t))s(!0),R("resolve-asset",{asset_id:t}).then(c=>{c.success&&c.public_url?n({url:c.public_url,id:c.asset_id,name:c.name,mimeType:c.mime_type,width:c.width,height:c.height,sizeBytes:c.size_bytes}):a(new Error(c.error||"Asset not found")),s(!1)}).catch(c=>{a(c instanceof Error?c:new Error(String(c))),s(!1)});else{let d=(typeof window<"u"&&window.__FSAOS_CONFIG__||{}).edgeBaseUrl||"";n({url:d+t}),s(!1)}},[t]),{data:e,loading:r,error:i}}var Tn={},so={};xe(()=>{for(let t of Object.keys(Tn))delete Tn[t]});var To=null;function Ao(t){To=t,typeof window<"u"&&!window.__FSAOS_GATEWAY__&&(window.__FSAOS_GATEWAY__=t)}function Ja(t){switch(t){case"react":return typeof window<"u"&&window.React||y.default;case"react-dom":case"react-dom/client":return typeof window<"u"&&window.ReactDOM||$a;case"react/jsx-runtime":case"react/jsx-dev-runtime":return typeof window<"u"&&window.React?{jsx:window.React.createElement,jsxs:window.React.createElement,Fragment:window.React.Fragment}:Ga;case"@fsaos/gateway":case"@fsaos/react":return typeof window<"u"&&window.__FSAOS_GATEWAY__||To||{};case"@fsaos/ui":return typeof window<"u"&&window.__FSAOS_UI__||{};case"@fsaos/theme":return{};default:return console.warn(`[useComponent] Unknown module requested: ${t}`),{}}}function Ya(t,e){return t.replace(/^(\s*)(:root|body)(\s*[{,])/gm,(n,r,s,i)=>`${r}.${e}${i}`)}async function Xa(t,e){if(!so[t])try{let n=await fetch(t);if(!n.ok)return;let r=await n.text();if(!r.trim()||r.includes("No CSS bundle for this component"))return;e&&!r.includes(`.fsaos-c-${e}`)&&(r=Ya(r,`fsaos-c-${e}`));let s=document.createElement("style");s.setAttribute("data-fsaos-component-css",t),e&&s.setAttribute("data-fsaos-component-id",e),s.textContent=r,document.head.appendChild(s),so[t]=s}catch{}}function Za(t){let e=null,n=window.__FSAOS_REGISTER__;window.__FSAOS_REGISTER__=r=>{e=r};try{let r=["var require = arguments[0];",t,"return window.__FSAOS_COMPONENT__;"].join(`
3
- `),i=new Function(r)(Ja),a=e??i;return a?a.default||a:null}finally{n!==void 0?window.__FSAOS_REGISTER__=n:delete window.__FSAOS_REGISTER__}}function ds(t){let[e,n]=(0,y.useState)(null),[r,s]=(0,y.useState)(!0),[i,a]=(0,y.useState)(null);return(0,y.useEffect)(()=>{if(!t)return;let u=!1;s(!0),a(null);let d=(typeof window<"u"&&window.__FSAOS_CONFIG__||{}).edgeBaseUrl||"";return(async()=>{try{let l=1,p=t+"@v1",f=d+t+"/__bundle.js";try{let S=await fetch(d+t+"/__meta",{cache:"no-store"});S.ok&&(l=(await S.json()).version||1,p=t+"@v"+l,f=d+t+"/__bundle.v"+l+".js")}catch{f=d+t+"/__bundle.js?v="+Date.now()}if(u)return;if(Tn[p]){n(()=>Tn[p]),s(!1);return}let h=await fetch(f);if(!h.ok)throw new Error(`Failed to fetch bundle: ${h.status} ${h.statusText} (${f})`);let v=await h.text();if(u)return;let m=f.replace(/__bundle(\.v\d+)?\.js(\?.*)?$/,"__bundle$1.css");Xa(m).catch(()=>{});let g=Za(v);if(!g)throw new Error("Bundle did not export a component. Expected window.__FSAOS_COMPONENT__ (FSAOS build) or a __FSAOS_REGISTER__(Component) call.");if(typeof g!="function")throw new Error(`Bundle export is not a React component (got ${typeof g})`);Tn[p]=g,u||(n(()=>g),s(!1))}catch(l){u||(a(l instanceof Error?l:new Error(String(l))),s(!1))}})(),()=>{u=!0}},[t]),{Component:e,loading:r,error:i}}var ec=["--color-primary","--color-secondary","--color-background","--color-surface","--color-text","--color-text-secondary","--color-border","--color-accent","--color-success","--color-warning","--color-error","--font-family-heading","--font-family-body","--border-radius","--spacing-unit"];function Mo(){return{data:(0,y.useMemo)(()=>{if(typeof document>"u")return{tokens:{}};let e={},n=getComputedStyle(document.documentElement);return ec.forEach(r=>{e[r]=n.getPropertyValue(r).trim()}),{tokens:e}},[]),loading:!1,error:null}}function Oo(t,e){return{data:{allowed:!0},loading:!1,error:null}}function Io(t,e){let n={};return(e||[]).forEach(r=>{n[r]=!0}),{data:n,loading:!1,error:null}}var se=null,Lt=null,us=new Set;function tc(){us.forEach(t=>t())}xe(()=>{se=null,Lt=null});async function Fo(t){let e=t;if(!e){let{data:r}=await F.auth.getSession();e=r?.session?.user?.id}let n={principalId:null,displayName:null,createdAt:null,metadata:null,vfsPath:null};if(!e)return n;if(se&&se.authUserId===e){let{principalId:r,displayName:s,createdAt:i,metadata:a,vfsPath:u}=se;return{principalId:r,displayName:s,createdAt:i,metadata:a,vfsPath:u}}return Lt||(Lt=(async()=>{try{let{data:r,error:s}=await F.from("os_principals").select("id, display_name, created_at, metadata").eq("auth_user_id",e).eq("principal_type","user").maybeSingle();if(s)return console.warn("[SDK] Could not resolve principal:",s.message),n;let i=r?.id??null,a=null;if(i){let{data:c}=await F.from("os_items").select("path").eq("owner_principal_id",i).eq("item_type","principal").eq("is_active",!0).like("path","/root/principals/%"),d=(c??[]).map(l=>l.path);a=d.find(l=>l.split("/").length===4)??d[0]??null}let u={principalId:i,displayName:r?.display_name??null,createdAt:r?.created_at??null,metadata:r?.metadata??null,vfsPath:a};return se={authUserId:e,...u},u}finally{Lt=null}})(),Lt)}async function ko(t){return(await Fo(t)).principalId}function qo(){let t=mr(),e=t.user,n=se?.authUserId===e?.id?se:null,[r,s]=(0,y.useState)(n),i=(0,y.useRef)(null);return(0,y.useEffect)(()=>{let a=()=>{let u=se;u&&u.authUserId===e?.id&&s({principalId:u.principalId,displayName:u.displayName,createdAt:u.createdAt,metadata:u.metadata,vfsPath:u.vfsPath})};return us.add(a),()=>{us.delete(a)}},[e?.id]),(0,y.useEffect)(()=>{if(!e?.id){s(null),i.current=null;return}i.current===e.id&&r?.principalId!=null||(i.current=e.id,Fo(e.id).then(a=>{s(a)}))},[e?.id]),t.loading?{data:null,loading:!0,error:null}:e?{data:{id:e.id,principalId:r?.principalId??null,email:e.email,display_name:r?.displayName??void 0,created_at:r?.createdAt??void 0,vfs_path:r?.vfsPath??void 0,role:e.role||e.app_metadata?.role||"user",authenticated:!0,metadata:r?.metadata??e.user_metadata??{}},loading:!1,error:null}:{data:{id:"anonymous",principalId:null,role:"viewer",authenticated:!1},loading:!1,error:null}}function Do(){return{data:null,loading:!1,error:null}}function Uo(t){let{path:e,...n}=t,r=ds(e),s=r.Component,{loading:i,error:a}=r;return i?(0,y.createElement)("div",{className:"fsaos-loading"},""):a?(0,y.createElement)("div",{className:"fsaos-error"},"Failed to load component"):s?(0,y.createElement)(s,n):null}function Qo(t){return t.children}function No(t){let e=N(),{channelPath:n,parentMessageId:r,realtime:s=!0,enabled:i}=t,a=i!==void 0?i&&!!n:!!n,u=(0,y.useMemo)(()=>w.channelMessages(n??"",r),[n,r,e]),c=K(),d=(0,y.useRef)(null),l=k({queryKey:u,queryFn:()=>cr(n,r),enabled:a});(0,y.useEffect)(()=>{if(!s||!a)return;let m=ue("vfs_change",()=>{d.current&&clearTimeout(d.current),d.current=setTimeout(()=>{c.invalidateQueries({queryKey:u})},500)},g=>(g.item_type==="message"||g.item_type==="card")&&typeof g.path=="string"&&g.path.startsWith(n));return()=>{m(),d.current&&clearTimeout(d.current)}},[s,a,n,u,c]);let p=l.data,f=p?.messages??[],h=p?.messageCards??new Map,v=p?.siblingCards??[];return{messages:f,messageCards:h,siblingCards:v,threads:(0,y.useMemo)(()=>f.filter(m=>m.reply_count>0),[f]),isLoading:l.isLoading,isFetching:l.isFetching,error:l.error,refetch:l.refetch}}function Ko(t){N();let{channelPath:e,parentMessageId:n,limit:r=50,realtime:s=!0,enabled:i=!0}=t,a=!!n,u=i&&!!e,c=hn({queryKey:[...w.channelMessages(e||"",n),"infinite",r],queryFn:async({pageParam:m})=>_n(e,{parentMessageId:n,limit:r,before_seq:a?void 0:m,after_seq:a?m:void 0}),initialPageParam:void 0,getNextPageParam:m=>!a||m.messages.length<r?void 0:m.messages[m.messages.length-1]?.seq,getPreviousPageParam:m=>a||m.messages.length<r?void 0:m.messages[0]?.seq,enabled:u}),d=(0,y.useMemo)(()=>{if(!c.data?.pages)return[];let m=new Set,g=[];for(let S of c.data.pages)for(let C of S.messages)m.has(C.id)||(m.add(C.id),g.push(C));return g.sort((S,C)=>S.seq-C.seq)},[c.data?.pages]),{messageCards:l,siblingCards:p}=(0,y.useMemo)(()=>{let m=new Map,g=[];if(!c.data?.pages)return{messageCards:m,siblingCards:g};let S=new Set;for(let C of c.data.pages){for(let[x,U]of C.messageCards)for(let L of U){if(S.has(L.id))continue;S.add(L.id);let H=m.get(x)||[];H.push(L),m.set(x,H)}for(let x of C.siblingCards)S.has(x.id)||(S.add(x.id),g.push(x))}return{messageCards:m,siblingCards:g}},[c.data?.pages]),f=K(),h=(0,y.useRef)(null),v=(0,y.useMemo)(()=>[...w.channelMessages(e||"",n),"infinite",r],[e,n,r]);return(0,y.useEffect)(()=>{if(!s||!e||!u)return;let m=ue("vfs_change",()=>{h.current&&clearTimeout(h.current),h.current=setTimeout(async()=>{let g=f.getQueryData(v);if(!g?.pages?.length){f.invalidateQueries({queryKey:v});return}let S=0;for(let C of g.pages)for(let x of C.messages)x.seq>S&&(S=x.seq);if(S===0){f.invalidateQueries({queryKey:v});return}try{let C=await _n(e,{parentMessageId:n,limit:r,after_seq:S});if(C.messages.length===0&&C.siblingCards.length===0){f.invalidateQueries({queryKey:v});return}if(C.messages.length>0){let x=Math.min(...C.messages.map(U=>U.seq));if(x>S+1){console.warn(`[useInfiniteChannelMessages] sequence gap detected: maxSeq=${S}, minNewSeq=${x}. Triggering full refetch.`),f.invalidateQueries({queryKey:v});return}}f.setQueryData(v,x=>{if(!x)return x;let U=[...x.pages],L=U.length-1,H=U[L],lt=new Set(H.messages.map(T=>T.id)),ne=C.messages.filter(T=>!lt.has(T.id)),Q=[...H.messages,...ne].sort((T,Je)=>T.seq-Je.seq),J=new Map(H.messageCards);for(let[T,Je]of C.messageCards){let $=J.get(T)||[],jt=new Set($.map(_r=>_r.id)),la=Je.filter(_r=>!jt.has(_r.id));J.set(T,[...$,...la])}let me=new Set(H.siblingCards.map(T=>T.id)),ge=C.siblingCards.filter(T=>!me.has(T.id)),ye=[...H.siblingCards,...ge];return U[L]={...H,messages:Q,messageCards:J,siblingCards:ye},{...x,pages:U}})}catch(C){console.warn("[useInfiniteChannelMessages] live tail fetch failed, falling back to full invalidation:",C),f.invalidateQueries({queryKey:v})}},500)},g=>(g.item_type==="message"||g.item_type==="card")&&typeof g.path=="string"&&g.path.startsWith(e));return()=>{m(),h.current&&clearTimeout(h.current)}},[s,e,u,v,f,n,r]),{messages:d,messageCards:l,siblingCards:p,threads:d.filter(m=>m.reply_count>0),isLoading:c.isLoading,isFetching:c.isFetching,error:c.error,refetch:c.refetch,hasPreviousPage:c.hasPreviousPage??!1,fetchPreviousPage:c.fetchPreviousPage,isFetchingPreviousPage:c.isFetchingPreviousPage??!1,hasNextPage:c.hasNextPage??!1,fetchNextPage:c.fetchNextPage,isFetchingNextPage:c.isFetchingNextPage??!1}}function nc(t){return t==="on"||t==="auto"?"on":"off"}function rc(t){let e=t.type_data||{},n=t._reader||{},r=n.context_lineage||{};return{id:t.id||"",path:t.path||"",name:t.name||"",displayName:e.display_name||t.name||"",aiMode:nc(e.ai_mode),isPrivate:e.is_private||!1,isDm:e.is_dm||!1,messageCount:e.message_count||0,updatedAt:t.updated_at||"",chatScopePath:r.context_path||"",contextId:t.scope_item_id||"",contextPath:r.context_path||"",contextType:r.context_type||"",contextName:r.context_name||"",contextDisplayName:r.context_name||"",contextPrincipalId:void 0,accountId:t.account_item_id||"",accountPath:"",accountDisplayName:"",memberRole:n.member_role||"member",memberPath:"",modePath:"",autoPilot:e.auto_pilot||!1}}function gr(t={}){let e=N(),{realtime:n=!0,enabled:r=!0}=t,s=K(),i=(0,y.useRef)(null),a=(0,y.useMemo)(()=>w.channels("all"),[e]),u=k({queryKey:a,queryFn:async()=>((await R("query",{item_type:"channel",include_reader:!0,limit:500})).items||[]).map(rc),enabled:r});return(0,y.useEffect)(()=>{if(!n||!r)return;let d=ue("vfs_change",()=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{s.invalidateQueries({queryKey:a})},1e3)},p=>p.item_type==="channel"||p.item_type==="message"),l=ue("ccm_change",()=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{s.invalidateQueries({queryKey:a})},1e3)},p=>p.item_type==="channel"||p.item_type==="message");return()=>{d(),l(),i.current&&clearTimeout(i.current)}},[n,r,a,s]),{channels:u.data??[],isLoading:u.isLoading,isFetching:u.isFetching,error:u.error,refetch:u.refetch}}function Lo(t={}){let e=gr(t),n=(0,y.useMemo)(()=>e.channels.filter(r=>!r.isDm),[e.channels]);return{...e,channels:n}}function jo(t={}){let e=gr(t),n=(0,y.useMemo)(()=>e.channels.filter(r=>r.isDm),[e.channels]);return{...e,channels:n}}function fs(t={}){let e=N(),{filter:n="all",limit:r=200,realtime:s=!0,enabled:i=!0}=t,a=K(),u=(0,y.useRef)(null),c=(0,y.useMemo)(()=>w.notifications(n,r),[n,r,e]),d=k({queryKey:c,queryFn:async()=>{let p={limit:r};return n==="unread"&&(p.filter="unread"),(await R("get-notifications",p)).notifications||[]},enabled:i});return(0,y.useEffect)(()=>{if(!s||!i)return;let p=["vfs_change","ccm_change"].map(f=>ue(f,()=>{u.current&&clearTimeout(u.current),u.current=setTimeout(()=>{a.invalidateQueries({queryKey:c})},2e3)},h=>h.item_type==="notification"||h.item_type==="message"));return()=>{p.forEach(f=>f()),u.current&&clearTimeout(u.current)}},[s,i,c,a]),{notifications:d.data??[],isLoading:d.isLoading,isFetching:d.isFetching,error:d.error,refetch:d.refetch}}function Vo(t={}){let{channels:e,realtime:n=!0,enabled:r=!0}=t,{notifications:s,isLoading:i,isFetching:a,error:u,refetch:c}=fs({filter:"unread",limit:200,realtime:n,enabled:r}),d=(0,y.useMemo)(()=>{let h=new Map;for(let v of s)v.is_unread&&v.channel_id&&h.set(v.channel_id,(h.get(v.channel_id)||0)+1);return h},[s]),l=(0,y.useMemo)(()=>{let h=0;return d.forEach(v=>{h+=v}),h},[d]),{dmUnread:p,channelUnread:f}=(0,y.useMemo)(()=>{if(!e)return{dmUnread:0,channelUnread:0};let h=new Set(e.filter(g=>g.isDm).map(g=>g.id)),v=0,m=0;return d.forEach((g,S)=>{h.has(S)?v+=g:m+=g}),{dmUnread:v,channelUnread:m}},[e,d]);return{unreadByChannel:d,totalUnread:l,dmUnread:p,channelUnread:f,isLoading:i,isFetching:a,error:u,refetch:c}}function Ho(){let t=K();return ke({mutationFn:e=>R("create",e),onSuccess:(e,n)=>{let r=n.parent_path;r&&t.invalidateQueries({queryKey:w.children(r)})}})}function Bo(){let t=K();return ke({mutationFn:e=>R("update",e),onSuccess:(e,n)=>{let r=n.path;if(r){t.invalidateQueries({queryKey:w.item(r)});let s=r.split("/");s.pop();let i=s.join("/");i&&t.invalidateQueries({queryKey:w.children(i)})}}})}function Wo(){return ke({mutationFn:t=>R("update-principal",t),onSuccess:(t,e)=>{if(!se)return;let n=t&&typeof t=="object"&&t.metadata?t.metadata:{...se.metadata??{},...typeof e.language=="string"?{language:e.language}:{},...typeof e.timezone=="string"?{timezone:e.timezone}:{},..."avatar_file_id"in e?{avatar_file_id:e.avatar_file_id}:{}};se={...se,displayName:typeof e.display_name=="string"?e.display_name:se.displayName,metadata:n},tc()}})}function $o(){let t=K();return ke({mutationFn:e=>R("delete",e),onSuccess:(e,n)=>{let r=n.path;if(r){t.removeQueries({queryKey:w.item(r)});let s=r.split("/");s.pop();let i=s.join("/");i&&t.invalidateQueries({queryKey:w.children(i)})}}})}function Go(){let t=K();return ke({mutationFn:e=>R("move",e),onSuccess:(e,n)=>{let r=n.path,s=n.new_parent_path;if(r){t.invalidateQueries({queryKey:w.item(r)});let i=r.split("/");i.pop();let a=i.join("/");a&&t.invalidateQueries({queryKey:w.children(a)})}s&&t.invalidateQueries({queryKey:w.children(s)})}})}function zo(){let t=K();return ke({mutationFn:e=>R("link",e),onSuccess:(e,n)=>{let r=n.source_id,s=n.target_id;r&&t.invalidateQueries({queryKey:w.edges(r)}),s&&t.invalidateQueries({queryKey:w.edges(s)})}})}function Jo(t,e){let n=K(),{optimistic:r,...s}=e??{};return ke({mutationFn:i=>R(t,i),onMutate:r?async i=>{await n.cancelQueries({queryKey:r.queryKey});let a=n.getQueryData(r.queryKey);return n.setQueryData(r.queryKey,u=>r.update(u,i)),{previous:a}}:void 0,onError:(i,a,u)=>{r&&u?.previous!==void 0&&n.setQueryData(r.queryKey,u.previous),s.onError?.(i)},onSuccess:s.onSuccess,onSettled:r?()=>{n.invalidateQueries({queryKey:r.queryKey})}:void 0})}function Yo(t,e,n){let r,s,i,a=!0;if(typeof t=="string")r=t,s=e,i=n;else{s=t;let d=e;r=d.eventType,i=d.filter,a=d.enabled??!0}let u=(0,y.useRef)(s),c=(0,y.useRef)(i);(0,y.useEffect)(()=>{u.current=s,c.current=i},[s,i]),(0,y.useEffect)(()=>a?ue(r,l=>u.current(l),c.current?l=>c.current(l):void 0):void 0,[r,a])}function Xo(t){let{queryKey:e,queryFn:n,eventType:r,filter:s,enabled:i=!0,debounceMs:a=500}=t,u=K(),c=(0,y.useRef)(null),d=k({queryKey:e,queryFn:n,enabled:i});return(0,y.useEffect)(()=>{if(!i)return;let l=ue(r,()=>{c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{u.invalidateQueries({queryKey:e})},a)},s);return()=>{l(),c.current&&clearTimeout(c.current)}},[r,i,a,u,JSON.stringify(e)]),d}function Zo(t){N();let e=(0,y.useMemo)(()=>t?typeof t=="string"?{path:t}:t:null,[typeof t=="string"?t:JSON.stringify(t)]),n=!!e&&!!(e.key||e.path||e.item_id),r=e?.key??e?.path??e?.item_id??"",s=k({queryKey:["vfs",le()??"__unscoped__","arrangement",r],queryFn:async()=>{if(!e)return null;let l=await R("resolve-arrangement",e);return l?.success===!1?(console.warn("[useArrangement] resolve-arrangement failed:",l?.error),null):l??null},enabled:n}),i=s.data??null,a=(0,y.useMemo)(()=>i?.resolved_children??[],[i]),u=i?.resolution_level??null,c=(0,y.useMemo)(()=>{let p=(i?.type_data??null)?.order;return Array.isArray(p)?p:null},[i]),d=(0,y.useCallback)(l=>{if(!c||!l?.length)return l??[];let p=m=>m.id??m.name??"",f=new Map(c.map((m,g)=>[m,g])),h=[],v=[];for(let m of l)(f.has(p(m))?h:v).push(m);return h.sort((m,g)=>f.get(p(m))-f.get(p(g))),[...h,...v]},[c]);return{...s,arrangement:i,resolvedChildren:a,resolutionLevel:u,order:c,sourceScopeId:i?.scope_item_id??null,applyTo:d}}function sc(t){return t.split("_").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}function ic(t,e){return e&&e.length>0?"select":t==="boolean"?"toggle":t==="integer"||t==="number"?"range":t==="string"?"text":"none"}function oc(t,e){return!(t==="object"||t==="array")}function ac(t){return["string","number","integer","boolean"].includes(t)}function cc(t){return t!=="object"&&t!=="array"}function ea(t,e,n,r){let s=t?.properties;if(!s||typeof s!="object")return[];let i=[];for(let[a,u]of Object.entries(s)){let c=u.type||"string",d=u.enum,l=oc(c,d),p=ac(c),f=ic(c,d);i.push({key:a,label:u.title||sc(a),type:c,description:u.description,enum_values:d,default_value:n[a]??r[a]??u.default,editable:e,filterable:l,sortable:p,filter_widget:f})}return i}function ps(t){let e=t.default_data||{},n=t.field_defaults||{},r=ea(t.input_schema,!0,e,n),s=ea(t.system_schema,!1,e,n),i=[...r,...s],a=i.filter(d=>cc(d.type)),u=i.filter(d=>d.filterable),c=i.filter(d=>d.sortable);return{fields:i,columns:a,filterable:u,sortable:c,form_fields:r,system_fields:s}}function ta(t){return{field:"updated_at",direction:"desc"}}function na(t){let e=ps(t),n=new Set(t.input_schema?.required||[]);return e.form_fields.filter(r=>n.has(r.key)||r.default_value===void 0)}var te=B(ce(),1);var uc=0;function lc(){return`upload_${Date.now()}_${++uc}`}async function ra(t,e,n,r){let s=e.name||(t instanceof File?t.name:`file-${Date.now()}`),i=t.type||"application/octet-stream",a=e.itemType||"file",c=await R("create",{parent_path:e.parentPath,item_type:a,name:s,type_data:{...e.typeData||{},file_source:{type:"upload",content_type:i}}});if(!c.id)throw new Error(c.error||c.message||"Failed to create file item");let d=c.id,l=c.path;if(c.storage_completed&&c.file_ref)return{itemId:d,itemPath:l,fileRef:c.file_ref};let p=c.storage_key,f=c.upload_token,h=c.storage_worker_url||"https://fsaos-storage.radns.workers.dev";if(!p)throw new Error("Gateway returned no storage_key \u2014 file_source may not be supported for this item type");await dc(h,p,f,t,i,n,r);let v=await sa(d,p,i);return{itemId:d,itemPath:l,fileRef:v}}function dc(t,e,n,r,s,i,a){return new Promise((u,c)=>{let d=new XMLHttpRequest;if(d.open("PUT",`${t}/upload`),d.setRequestHeader("X-Storage-Key",e),d.setRequestHeader("Content-Type",s),n&&d.setRequestHeader("X-Upload-Token",n),d.upload.onprogress=l=>{l.lengthComputable&&i&&i(Math.round(l.loaded/l.total*100))},d.onload=()=>{d.status>=200&&d.status<300?u():c(new Error(`Storage upload failed: HTTP ${d.status} \u2014 ${d.responseText?.slice(0,300)}`))},d.onerror=()=>c(new Error("Storage upload network error")),d.ontimeout=()=>c(new Error("Storage upload timed out")),a){if(a.aborted){c(new Error("Upload cancelled"));return}a.addEventListener("abort",()=>{d.abort(),c(new Error("Upload cancelled"))})}d.send(r)})}async function sa(t,e,n){let r=await Pe(),s=await fetch(`${De}/storage/upload-complete`,{method:"POST",headers:{"Content-Type":"application/json",...r?{Authorization:`Bearer ${r}`}:{}},body:JSON.stringify({item_id:t,storage_key:e,content_type:n})});if(!s.ok){let a=await s.text().catch(()=>"");throw new Error(`Upload confirmation failed: HTTP ${s.status} \u2014 ${a.slice(0,300)}`)}let i=await s.json();if(!i.success)throw new Error(i.error||i.message||"Upload confirmation rejected");return i.file_ref}function ia(){let[t,e]=(0,te.useState)([]),n=K(),r=(0,te.useRef)(t);r.current=t;let s=(0,te.useCallback)((m,g)=>{e(S=>S.map(C=>C.id===m?{...C,...g}:C))},[]),i=(0,te.useCallback)(m=>{e(g=>[...g,m])},[]),a=(0,te.useCallback)(async(m,g,S,C,x)=>{let U=S.name||g.name,L=g.type||"application/octet-stream",H=S.itemType||"file",lt=x?.itemId||null,ne=x?.itemPath||null,Q=x?.storageKey||null,J=x?.uploadToken||null,me=x?.storageWorkerUrl||null;try{if(!C||C==="create"){s(m,{status:"creating",error:null,_failedAt:null});let T=await R("create",{parent_path:S.parentPath,item_type:H,name:U,type_data:{...S.typeData||{},file_source:{type:"upload",content_type:L}}});if(!T.id)throw Object.assign(new Error(T.error||T.message||"Failed to create file item"),{_step:"create"});if(lt=T.id,ne=T.path,s(m,{itemId:lt,itemPath:ne}),T.storage_completed&&T.file_ref){s(m,{status:"complete",progress:100,fileRef:T.file_ref}),n.invalidateQueries({queryKey:w.children(S.parentPath)});return}if(Q=T.storage_key,J=T.upload_token||"",me=T.storage_worker_url||"https://fsaos-storage.radns.workers.dev",s(m,{_storageKey:Q,_uploadToken:J,_storageWorkerUrl:me}),!Q)throw Object.assign(new Error("Gateway returned no storage_key"),{_step:"create"})}(!C||C==="create"||C==="upload")&&(s(m,{status:"uploading",progress:0,error:null,_failedAt:null}),await new Promise((T,Je)=>{let $=new XMLHttpRequest;s(m,{_xhr:$}),$.open("PUT",`${me}/upload`),$.setRequestHeader("X-Storage-Key",Q),$.setRequestHeader("Content-Type",L),J&&$.setRequestHeader("X-Upload-Token",J),$.upload.onprogress=jt=>{jt.lengthComputable&&s(m,{progress:Math.round(jt.loaded/jt.total*100)})},$.onload=()=>{$.status>=200&&$.status<300?T():Je(Object.assign(new Error(`Storage upload failed: HTTP ${$.status}`),{_step:"upload"}))},$.onerror=()=>Je(Object.assign(new Error("Storage upload network error"),{_step:"upload"})),$.ontimeout=()=>Je(Object.assign(new Error("Storage upload timed out"),{_step:"upload"})),$.send(g)}),s(m,{progress:100,_xhr:null})),s(m,{status:"confirming",error:null,_failedAt:null});let ge=await sa(lt,Q,L);s(m,{status:"complete",fileRef:ge}),n.invalidateQueries({queryKey:w.children(S.parentPath)})}catch(ge){let ye=ge?.message||String(ge),T=ge?._step||"create";s(m,{status:"error",error:ye,_failedAt:T,_xhr:null})}},[s,n]),u=(0,te.useCallback)((m,g)=>{let S=lc();i({id:S,file:m,status:"creating",progress:0,error:null,itemId:null,itemPath:null,fileRef:null,options:g,_storageKey:null,_uploadToken:null,_storageWorkerUrl:null,_xhr:null,_failedAt:null}),a(S,m,g)},[i,a]),c=(0,te.useCallback)((m,g)=>{for(let S of m)u(S,g)},[u]),d=(0,te.useCallback)(m=>{let g=r.current.find(x=>x.id===m);if(!g||g.status!=="error")return;let S=g._failedAt||"create",C=g._storageKey&&g.itemId?{storageKey:g._storageKey,uploadToken:g._uploadToken||"",storageWorkerUrl:g._storageWorkerUrl||"https://fsaos-storage.radns.workers.dev",itemId:g.itemId,itemPath:g.itemPath||""}:void 0;a(m,g.file,g.options,S,C)},[a]),l=(0,te.useCallback)(m=>{let g=r.current.find(S=>S.id===m);g&&(g._xhr&&g._xhr.abort(),s(m,{status:"error",error:"Cancelled",_xhr:null,_failedAt:null}))},[s]),p=(0,te.useCallback)(m=>{e(g=>g.filter(S=>S.id!==m))},[]),f=(0,te.useCallback)(()=>{e(m=>m.filter(g=>g.status!=="complete"))},[]),h=t.some(m=>m.status==="creating"||m.status==="uploading"||m.status==="confirming"),v=t.map(({_storageKey:m,_uploadToken:g,_storageWorkerUrl:S,_xhr:C,_failedAt:x,...U})=>U);return{upload:u,uploadMultiple:c,uploads:v,retryUpload:d,cancelUpload:l,removeUpload:p,clearCompleted:f,isUploading:h}}var oa=B(ce(),1);async function hs(t,e){return await R("resolve-items",{context_id:t,item_type:e})}function aa(t,e){return(0,oa.useSyncExternalStore)(Xe,_e,_e),k({queryKey:["vfs",le()??"__unscoped__","resolved-items",t??"",e],queryFn:()=>hs(t,e),enabled:!!(t&&e)})}var he=B(ce(),1);function yr(t,e){let n={artifacts:new Map,timeline:[]},r=new Map;function s(a){if(!a.action?.startsWith("artifact_"))return;let c,d=a.name;if(typeof d=="string"&&d.startsWith("{"))try{c=JSON.parse(d)}catch{return}else if(a.artifact_id)c=a;else return;switch(c.type){case"artifact_opened":{let l=Date.now();if(n.artifacts.set(c.artifact_id,{artifact_id:c.artifact_id,surface_type:c.surface_type,tool_id:c.tool_id,tool_name:c.tool_name,target_uri:c.target_uri,status:"streaming",content:"",total_chars:0,delta_count:0,artifact_item_uri:null,evidence_uri:null,meta:c.meta,started_at:l,completed_at:null}),r.has(c.tool_id)){let p=r.get(c.tool_id);n.timeline[p].artifact_ids.push(c.artifact_id)}else{let p=n.timeline.length;n.timeline.push({tool_id:c.tool_id,tool_name:c.tool_name,status:"started",target_uri:c.target_uri,started_at:l,completed_at:null,artifact_ids:[c.artifact_id]}),r.set(c.tool_id,p)}break}case"artifact_delta":{let l=n.artifacts.get(c.artifact_id);l&&(l.content+=c.content_delta,l.total_chars+=c.content_delta.length,l.delta_count+=1,c.target_uri&&!l.target_uri&&(l.target_uri=c.target_uri));break}case"artifact_done":{let l=n.artifacts.get(c.artifact_id);l&&(l.status=c.status,l.total_chars=c.total_chars,l.artifact_item_uri=c.artifact_item_uri,l.evidence_uri=c.evidence_uri,c.target_uri&&(l.target_uri=c.target_uri),(c.status==="completed"||c.status==="failed")&&(l.completed_at=Date.now()));let p=r.get(c.tool_id);if(p!==void 0){let f=n.timeline[p];c.status==="executing"?f.status="executing":c.status==="completed"?(f.status="completed",f.completed_at=Date.now()):c.status==="failed"&&(f.status="failed",f.completed_at=Date.now()),c.target_uri&&!f.target_uri&&(f.target_uri=c.target_uri)}break}}e(n)}return lr(t,s)}function ca(t,e=!0){let[n,r]=(0,he.useState)(new Map),[s,i]=(0,he.useState)([]),a=(0,he.useRef)({artifacts:new Map,timeline:[]});(0,he.useEffect)(()=>!t||!e?void 0:yr(t,p=>{a.current=p,r(new Map(p.artifacts)),i([...p.timeline])}),[t,e]);let u=(0,he.useCallback)(()=>{r(new Map),i([]),a.current={artifacts:new Map,timeline:[]}},[]),c=Array.from(n.values()).find(l=>l.surface_type==="file_editor"&&l.status==="streaming")??null,d=Array.from(n.values()).filter(l=>l.surface_type==="activity"&&(l.status==="streaming"||l.status==="executing"));return{artifacts:n,timeline:s,activeEditor:c,activeActivities:d,reset:u}}function ua(t,e=!0){let[n,r]=(0,he.useState)([]);(0,he.useEffect)(()=>!t||!e?void 0:yr(t,a=>{r([...a.timeline])}),[t,e]);let s=n.length>0?n[n.length-1]:null;return{timeline:n,latestActivity:s}}Ao(ms);return _a(ms);})();
1
+ /* @fsaos/gateway v2.0.0 — Unified FSAOS Edge Runtime — 2026-08-03T04:38:35.676Z */
2
+ "use strict";var __FSAOS_GATEWAY__=(()=>{var ha=Object.create;var Vt=Object.defineProperty;var ma=Object.getOwnPropertyDescriptor;var ga=Object.getOwnPropertyNames;var ya=Object.getPrototypeOf,_a=Object.prototype.hasOwnProperty;var _s=e=>{throw TypeError(e)};var va=(e,t,n)=>t in e?Vt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Ht=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ba=(e,t)=>{for(var n in t)Vt(e,n,{get:t[n],enumerable:!0})},vs=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of ga(t))!_a.call(e,s)&&s!==n&&Vt(e,s,{get:()=>t[s],enumerable:!(r=ma(t,s))||r.enumerable});return e};var j=(e,t,n)=>(n=e!=null?ha(ya(e)):{},vs(t||!e||!e.__esModule?Vt(n,"default",{value:e,enumerable:!0}):n,e)),wa=e=>vs(Vt({},"__esModule",{value:!0}),e);var Wt=(e,t,n)=>va(e,typeof t!="symbol"?t+"":t,n),br=(e,t,n)=>t.has(e)||_s("Cannot "+n);var o=(e,t,n)=>(br(e,t,"read from private field"),n?n.call(e):t.get(e)),b=(e,t,n)=>t.has(e)?_s("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),_=(e,t,n,r)=>(br(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),x=(e,t,n)=>(br(e,t,"access private method"),n);var Bt=(e,t,n,r)=>({set _(s){_(e,t,s,n)},get _(){return o(e,t,r)}});var ws=Ht((bc,bs)=>{bs.exports={createClient:window.supabase.createClient}});var ie=Ht((Cl,fi)=>{fi.exports=React});var $n=Ht((xl,pi)=>{pi.exports={jsx:React.createElement,jsxs:React.createElement,Fragment:React.Fragment}});var ji=Ht((vd,Li)=>{Li.exports=ReactDOM});var no=Ht((Pd,to)=>{to.exports=ReactDOM});var ys={};ba(ys,{ComponentRenderer:()=>No,EnforcementDeniedError:()=>dt,KernelProvider:()=>Ko,QueryClientProvider:()=>fn,auth:()=>Xi,awaitAnchorReady:()=>Jt,awaitScopeReady:()=>Is,callTool:()=>zi,clearCachedToken:()=>xr,clearSession:()=>Ir,createItem:()=>Bi,disconnectSSE:()=>os,disposeVfsRealtimeWs:()=>pr,electHomeAnchor:()=>Yt,emitEvent:()=>Qi,fetchChannelMessages:()=>Ti,fetchChannelMessagesPage:()=>_n,fetchChannelMessagesWithCards:()=>cr,fetchEdgesForItem:()=>nr,fetchItemHistory:()=>ir,fetchItemVersions:()=>gn,fetchItems:()=>yn,fetchMemberFocus:()=>or,fetchOpenEnvelope:()=>ar,fetchRecentActivity:()=>sr,fetchResolvedItems:()=>ms,fetchTimelineHistory:()=>gs,fetchTypeDefinitions:()=>tr,fetchVfsChildren:()=>Zn,fetchVfsChildrenPage:()=>er,fetchVfsItem:()=>Xn,fetchVfsItemById:()=>Yn,fetchVfsTree:()=>rr,gatewayCall:()=>R,getAccessToken:()=>xe,getAnchor:()=>zt,getAnchorRef:()=>Ye,getAnchorVersion:()=>Tr,getAssetUrl:()=>Yi,getDefaultSort:()=>ra,getHomeAnchor:()=>Qe,getMountVersion:()=>Zt,getMounts:()=>ht,getRequiredFormFields:()=>sa,getScope:()=>le,getScopeVersion:()=>_e,getSessionEntry:()=>Dn,initSession:()=>qn,initVfsRealtimeWs:()=>Cn,interpretSchema:()=>hs,invalidateAllVfs:()=>Oi,invalidateChannelMessages:()=>Fi,invalidateChildren:()=>Jn,invalidateItem:()=>ss,invalidateOpenEnvelope:()=>ki,invalidatePathAndParent:()=>Ai,invalidateSubtree:()=>Mi,invalidateTypes:()=>Ii,isAnchorReady:()=>Mr,isScopeReady:()=>Un,listChildren:()=>Wi,mount:()=>Zi,mountRealtimeScope:()=>xn,normalizeItem:()=>pe,ping:()=>Ni,pushChanges:()=>Gi,queryClient:()=>A,readItem:()=>Hi,registerCleanup:()=>Pe,resetAllSdkState:()=>mt,resolvePrincipalId:()=>Do,setAnchor:()=>Ue,setCachedToken:()=>Cs,setScope:()=>Os,setupRequireShim:()=>eo,signal:()=>Ji,subscribeAnchor:()=>Ar,subscribeArtifactStream:()=>yr,subscribeMounts:()=>kn,subscribeScope:()=>Xe,subscribeToEvents:()=>te,subscribeToPath:()=>lr,subscribeToScope:()=>dr,unmountRealtimeScope:()=>Ki,updateItem:()=>$i,uploadFile:()=>ia,useAccounts:()=>Eo,useAgentTimeline:()=>da,useAllChannels:()=>gr,useArrangement:()=>ta,useArtifactStream:()=>la,useAsset:()=>Ao,useAuth:()=>mr,useChannelMessages:()=>Lo,useChannels:()=>Vo,useChildren:()=>lo,useComponent:()=>fs,useCreate:()=>Bo,useDelete:()=>zo,useDmChannels:()=>Ho,useEdges:()=>_o,useEventStream:()=>Zo,useFileUpload:()=>aa,useInfiniteChannelMessages:()=>jo,useInfiniteChildren:()=>yo,useInfiniteItems:()=>go,useItem:()=>co,useItemById:()=>uo,useItemHistory:()=>Co,useItemVersions:()=>Ro,useItems:()=>mo,useLink:()=>Yo,useList:()=>ds,useMemberFocus:()=>So,useMounts:()=>To,useMove:()=>Jo,useMutation:()=>Xo,useNotifications:()=>ps,useOpen:()=>bo,usePermission:()=>Fo,usePermissions:()=>ko,usePrincipal:()=>Uo,useRealtimeQuery:()=>ea,useRecentActivity:()=>xo,useResolve:()=>ho,useResolvedItems:()=>ua,useScope:()=>Po,useScopeReady:()=>ao,useSearch:()=>po,useTheme:()=>Io,useTimelineHistory:()=>fa,useTool:()=>Qo,useTree:()=>fo,useType:()=>vo,useTypeHelpers:()=>wo,useTypes:()=>hr,useUnreadCounts:()=>Wo,useUpdate:()=>$o,useUpdatePrincipal:()=>Go,vfsKeys:()=>w});var dt=class e extends Error{constructor(n){let r=n.message||e.fallbackMessage(n);super(r);Wt(this,"name","EnforcementDeniedError");Wt(this,"deniedBy");Wt(this,"ruleKey");Wt(this,"displayName");this.deniedBy=n.denied_by||n.error_type||n.error||"unknown";let s=n.enforcement;this.ruleKey=s?.rule_key??void 0,this.displayName=s?.display_name??void 0}static fallbackMessage(n){let r=n.error||"",s=n.denied_by||"";return s==="rule"||r==="RULE_DENIED"?"This feature is not enabled for this workspace.":s==="entitlement"||r==="ENTITLEMENT_REQUIRED"?"This feature requires a plan upgrade.":s==="access"||r==="ACCESS_DENIED"||r==="PERMISSION_DENIED"?"You don't have permission to do this.":"This action is not allowed."}get isRuleDenial(){return this.deniedBy==="rule"||this.deniedBy==="RULE_DENIED"}get isAccessDenial(){return this.deniedBy==="access"||this.deniedBy==="ACCESS_DENIED"}get isEntitlementDenial(){return this.deniedBy==="entitlement"||this.deniedBy==="ENTITLEMENT_REQUIRED"}};var Ss=j(ws(),1),wr=typeof window<"u"&&window.__FSAOS_CONFIG__||{},Sa=wr.supabaseUrl||"https://vahbmsslxuustnlvsrkg.supabase.co",Ra=wr.supabaseAnonKey||"sb_publishable_ZjosozAjfpZ4InMNElTr6Q_hHB-f5nc",De=wr.gatewayUrl||"https://fsaos-mcp-gw-rust.fly.dev",F=(0,Ss.createClient)(Sa,Ra,{auth:{persistSession:!0,autoRefreshToken:!0,detectSessionInUrl:!1}});var Gt=null,An=0,Rs,Cr,Mn=!1;Rs=new Promise(e=>{Cr=e});F.auth.onAuthStateChange((e,t)=>{t?.access_token?(Gt=t.access_token,An=t.expires_at??Math.floor(Date.now()/1e3)+3600):(Gt=null,An=0),Mn||(Mn=!0,Cr())});setTimeout(()=>{Mn||(Mn=!0,Cr())},5e3);function Cs(e,t){Gt=e,An=t??Math.floor(Date.now()/1e3)+3600}function xr(){Gt=null,An=0}async function xe(){let e=typeof window<"u"&&window.__FSAOS_CONFIG__||{};if(e.embedToken){if(typeof e.embedToken=="function")try{return await e.embedToken()??null}catch{return null}return e.embedToken}return await Rs,Gt}var On=null,Fn=null,xs=0,Sr=new Set,Pr,Er,In=!1;Pr=new Promise(e=>{Er=e});function Ps(){xs++,Sr.forEach(e=>{try{e()}catch(t){console.warn("[SDK] Anchor listener error:",t)}})}function Ue(e){let t=typeof e=="string"?e:e.path,n=On!==t;On=t,Fn=typeof e=="string"?null:e,typeof e!="string"&&!ae.some(r=>r.id===e.id)&&(ae=[...ae,e],Xt()),In||(In=!0,Er()),n&&Ps()}function zt(){return On}function Ye(){return Fn}function Tr(){return xs}function Ar(e){return Sr.add(e),()=>{Sr.delete(e)}}function Jt(){return Pr}function Mr(){return In}var pt=null;function Yt(e){if(pt){console.warn("[SDK] electHomeAnchor called twice; ignoring (logout to re-elect).");return}pt=e,Ue(e)}function Qe(){return pt}var ae=[],Rr=new Set,Es=0;function Xt(){Es++,Rr.forEach(e=>{try{e()}catch(t){console.warn("[SDK] Mount listener error:",t)}})}function ht(){return ae}function Zt(){return Es}function kn(e){return Rr.add(e),()=>{Rr.delete(e)}}function Or(e){ae=e,Xt()}function Ts(e){ae.some(t=>t.id===e.id)||(ae=[...ae,e],Xt())}function As(e){ae.find(n=>n.id===e)&&(ae=ae.filter(n=>n.id!==e),Xt(),Fn?.id===e&&pt&&Ue(pt))}var ft=null,$t=null;async function qn(){return ft||$t||($t=(async()=>{let e=Fr(),t=await xe(),n={};t&&(n.Authorization=`Bearer ${t}`);let r=await fetch(`${De}/d/${e}/init`,{method:"GET",headers:n});if(!r.ok)throw new Error(`Session init failed: ${r.status} ${r.statusText}`);let s=await r.json(),i=s.entry||s;return ft={scope_id:i.scope_id,scope_path:i.scope_path,instance_path:i.instance_path||"/root",fractal_id:i.fractal_id||null,instance_name:i.instance_name||null,display_name:i.scope_display_name||i.display_name||null},ft})(),$t)}function Dn(){return ft}function Ir(){ft=null,$t=null,On=null,Fn=null,pt=null,ae=[]}var Ms=[];function Pe(e){Ms.push(e)}function mt(){Ir(),xr(),In=!1,Pr=new Promise(e=>{Er=e}),Ps(),Xt();for(let e of Ms)try{e()}catch(t){console.warn("[SDK] Cleanup function failed:",t)}}function Fr(){if(typeof window<"u"){let e=window.__FSAOS_CONFIG__;return e?.hostname?e.hostname:window.location.hostname}return"localhost"}var Os=Ue,le=zt,_e=Tr,Xe=Ar,Is=Jt,Un=Mr;var Ca=new Set(["list-memberships","init"]);async function R(e,t={}){let n=Fr(),r=`${De}/d/${n}`,s={"Content-Type":"application/json"},i=await xe();i&&(s.Authorization=`Bearer ${i}`),!Ca.has(e)&&!t._scope_path&&await Jt();let a={...t},c=Dn();!a.domain_scope_id&&c?.scope_id&&(a.domain_scope_id=c.scope_id);let u=zt();!a._scope_path&&u&&(a._scope_path=u);let d=await fetch(r,{method:"POST",headers:s,body:JSON.stringify({method:e,params:a})});if(!d.ok)throw new Error(`Gateway HTTP error: ${d.status} ${d.statusText}`);let l=await d.json();if(l.success===!1){let p=l.error||"",f=l.denied_by||l.error_type||"";throw f==="rule"||f==="access"||f==="entitlement"||p==="RULE_DENIED"||p==="ACCESS_DENIED"||p==="PERMISSION_DENIED"||p==="ENTITLEMENT_REQUIRED"?new dt(l):new Error(l.message||l.error||`Gateway call ${e} failed`)}return l}var ce=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}};var Ze,Ne,gt,Fs,xa=(Fs=class extends ce{constructor(){super();b(this,Ze);b(this,Ne);b(this,gt);_(this,gt,t=>{if(typeof window<"u"&&window.addEventListener){let n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){o(this,Ne)||this.setEventListener(o(this,gt))}onUnsubscribe(){var t;this.hasListeners()||((t=o(this,Ne))==null||t.call(this),_(this,Ne,void 0))}setEventListener(t){var n;_(this,gt,t),(n=o(this,Ne))==null||n.call(this),_(this,Ne,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){o(this,Ze)!==t&&(_(this,Ze,t),this.onFocus())}onFocus(){let t=this.isFocused();this.listeners.forEach(n=>{n(t)})}isFocused(){return typeof o(this,Ze)=="boolean"?o(this,Ze):globalThis.document?.visibilityState!=="hidden"}},Ze=new WeakMap,Ne=new WeakMap,gt=new WeakMap,Fs),yt=new xa;var Pa={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Ke,kr,ks,Ea=(ks=class{constructor(){b(this,Ke,Pa);b(this,kr,!1)}setTimeoutProvider(e){_(this,Ke,e)}setTimeout(e,t){return o(this,Ke).setTimeout(e,t)}clearTimeout(e){o(this,Ke).clearTimeout(e)}setInterval(e,t){return o(this,Ke).setInterval(e,t)}clearInterval(e){o(this,Ke).clearInterval(e)}},Ke=new WeakMap,kr=new WeakMap,ks),ve=new Ea;function qs(e){setTimeout(e,0)}var Dr=typeof window>"u"||"Deno"in globalThis;function q(){}function Qs(e,t){return typeof e=="function"?e(t):e}function en(e){return typeof e=="number"&&e>=0&&e!==1/0}function Qn(e,t){return Math.max(e+(t||0)-Date.now(),0)}function de(e,t){return typeof e=="function"?e(t):e}function Y(e,t){return typeof e=="function"?e(t):e}function Nn(e,t){let{type:n="all",exact:r,fetchStatus:s,predicate:i,queryKey:a,stale:c}=e;if(a){if(r){if(t.queryHash!==tn(a,t.options))return!1}else if(!et(t.queryKey,a))return!1}if(n!=="all"){let u=t.isActive();if(n==="active"&&!u||n==="inactive"&&u)return!1}return!(typeof c=="boolean"&&t.isStale()!==c||s&&s!==t.state.fetchStatus||i&&!i(t))}function Kn(e,t){let{exact:n,status:r,predicate:s,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(n){if(be(t.options.mutationKey)!==be(i))return!1}else if(!et(t.options.mutationKey,i))return!1}return!(r&&t.state.status!==r||s&&!s(t))}function tn(e,t){return(t?.queryKeyHashFn||be)(e)}function be(e){return JSON.stringify(e,(t,n)=>qr(n)?Object.keys(n).sort().reduce((r,s)=>(r[s]=n[s],r),{}):n)}function et(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(n=>et(e[n],t[n])):!1}var Ta=Object.prototype.hasOwnProperty;function Ur(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=Ds(e)&&Ds(t);if(!r&&!(qr(e)&&qr(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),c=a.length,u=r?new Array(c):{},d=0;for(let l=0;l<c;l++){let p=r?l:a[l],f=e[p],h=t[p];if(f===h){u[p]=f,(r?l<i:Ta.call(e,p))&&d++;continue}if(f===null||h===null||typeof f!="object"||typeof h!="object"){u[p]=h;continue}let v=Ur(f,h,n+1);u[p]=v,v===f&&d++}return i===c&&d===i?e:u}function _t(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function Ds(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function qr(e){if(!Us(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!Us(n)||!n.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function Us(e){return Object.prototype.toString.call(e)==="[object Object]"}function Ns(e){return new Promise(t=>{ve.setTimeout(t,e)})}function nn(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?Ur(e,t):t}function Ks(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function Ls(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var vt=Symbol();function Ln(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===vt?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function bt(e,t){return typeof e=="function"?e(...t):!!e}function js(e,t,n){let r=!1,s;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(s??(s=t()),r||(r=!0,s.aborted?n():s.addEventListener("abort",n,{once:!0})),s)}),e}var we=(()=>{let e=()=>Dr;return{isServer(){return e()},setIsServer(t){e=t}}})();function rn(){let e,t,n=new Promise((s,i)=>{e=s,t=i});n.status="pending",n.catch(()=>{});function r(s){Object.assign(n,s),delete n.resolve,delete n.reject}return n.resolve=s=>{r({status:"fulfilled",value:s}),e(s)},n.reject=s=>{r({status:"rejected",reason:s}),t(s)},n}var Vs=qs;function Aa(){let e=[],t=0,n=c=>{c()},r=c=>{c()},s=Vs,i=c=>{t?e.push(c):s(()=>{n(c)})},a=()=>{let c=e;e=[],c.length&&s(()=>{r(()=>{c.forEach(u=>{n(u)})})})};return{batch:c=>{let u;t++;try{u=c()}finally{t--,t||a()}return u},batchCalls:c=>(...u)=>{i(()=>{c(...u)})},schedule:i,setNotifyFunction:c=>{n=c},setBatchNotifyFunction:c=>{r=c},setScheduler:c=>{s=c}}}var I=Aa();var wt,Le,St,Hs,Ma=(Hs=class extends ce{constructor(){super();b(this,wt,!0);b(this,Le);b(this,St);_(this,St,t=>{if(typeof window<"u"&&window.addEventListener){let n=()=>t(!0),r=()=>t(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}})}onSubscribe(){o(this,Le)||this.setEventListener(o(this,St))}onUnsubscribe(){var t;this.hasListeners()||((t=o(this,Le))==null||t.call(this),_(this,Le,void 0))}setEventListener(t){var n;_(this,St,t),(n=o(this,Le))==null||n.call(this),_(this,Le,t(this.setOnline.bind(this)))}setOnline(t){o(this,wt)!==t&&(_(this,wt,t),this.listeners.forEach(r=>{r(t)}))}isOnline(){return o(this,wt)}},wt=new WeakMap,Le=new WeakMap,St=new WeakMap,Hs),Rt=new Ma;function Oa(e){return Math.min(1e3*2**e,3e4)}function Qr(e){return(e??"online")==="online"?Rt.isOnline():!0}var jn=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function Vn(e){let t=!1,n=0,r,s=rn(),i=()=>s.status!=="pending",a=m=>{if(!i()){let g=new jn(m);f(g),e.onCancel?.(g)}},c=()=>{t=!0},u=()=>{t=!1},d=()=>yt.isFocused()&&(e.networkMode==="always"||Rt.isOnline())&&e.canRun(),l=()=>Qr(e.networkMode)&&e.canRun(),p=m=>{i()||(r?.(),s.resolve(m))},f=m=>{i()||(r?.(),s.reject(m))},h=()=>new Promise(m=>{r=g=>{(i()||d())&&m(g)},e.onPause?.()}).then(()=>{r=void 0,i()||e.onContinue?.()}),v=()=>{if(i())return;let m,g=n===0?e.initialPromise:void 0;try{m=g??e.fn()}catch(S){m=Promise.reject(S)}Promise.resolve(m).then(p).catch(S=>{if(i())return;let C=e.retry??(we.isServer()?0:3),P=e.retryDelay??Oa,U=typeof P=="function"?P(n,S):P,L=C===!0||typeof C=="number"&&n<C||typeof C=="function"&&C(n,S);if(t||!L){f(S);return}n++,e.onFail?.(n,S),Ns(U).then(()=>d()?void 0:h()).then(()=>{t?f(S):v()})})};return{promise:s,status:()=>s.status,cancel:a,continue:()=>(r?.(),s),cancelRetry:c,continueRetry:u,canStart:l,start:()=>(l()?v():h().then(v),s)}}var tt,Ws,Hn=(Ws=class{constructor(){b(this,tt)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),en(this.gcTime)&&_(this,tt,ve.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(we.isServer()?1/0:5*60*1e3))}clearGcTimeout(){o(this,tt)!==void 0&&(ve.clearTimeout(o(this,tt)),_(this,tt,void 0))}},tt=new WeakMap,Ws);var nt,Ct,ue,rt,V,sn,st,se,Js,Ee,Gs,zs=(Gs=class extends Hn{constructor(t){super();b(this,se);b(this,nt);b(this,Ct);b(this,ue);b(this,rt);b(this,V);b(this,sn);b(this,st);_(this,st,!1),_(this,sn,t.defaultOptions),this.setOptions(t.options),this.observers=[],_(this,rt,t.client),_(this,ue,o(this,rt).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,_(this,nt,$s(this.options)),this.state=t.state??o(this,nt),this.scheduleGc()}get meta(){return this.options.meta}get promise(){return o(this,V)?.promise}setOptions(t){if(this.options={...o(this,sn),...t},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let n=$s(this.options);n.data!==void 0&&(this.setState(Bs(n.data,n.dataUpdatedAt)),_(this,nt,n))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&o(this,ue).remove(this)}setData(t,n){let r=nn(this.state.data,t,this.options);return x(this,se,Ee).call(this,{data:r,type:"success",dataUpdatedAt:n?.updatedAt,manual:n?.manual}),r}setState(t,n){x(this,se,Ee).call(this,{type:"setState",state:t,setStateOptions:n})}cancel(t){let n=o(this,V)?.promise;return o(this,V)?.cancel(t),n?n.then(q).catch(q):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return o(this,nt)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(t=>Y(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===vt||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>de(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!Qn(this.state.dataUpdatedAt,t)}onFocus(){this.observers.find(n=>n.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),o(this,V)?.continue()}onOnline(){this.observers.find(n=>n.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),o(this,V)?.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),o(this,ue).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(n=>n!==t),this.observers.length||(o(this,V)&&(o(this,st)||x(this,se,Js).call(this)?o(this,V).cancel({revert:!0}):o(this,V).cancelRetry()),this.scheduleGc()),o(this,ue).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||x(this,se,Ee).call(this,{type:"invalidate"})}async fetch(t,n){if(this.state.fetchStatus!=="idle"&&o(this,V)?.status()!=="rejected"){if(this.state.data!==void 0&&n?.cancelRefetch)this.cancel({silent:!0});else if(o(this,V))return o(this,V).continueRetry(),o(this,V).promise}if(t&&this.setOptions(t),!this.options.queryFn){let u=this.observers.find(d=>d.options.queryFn);u&&this.setOptions(u.options)}let r=new AbortController,s=u=>{Object.defineProperty(u,"signal",{enumerable:!0,get:()=>(_(this,st,!0),r.signal)})},i=()=>{let u=Ln(this.options,n),l=(()=>{let p={client:o(this,rt),queryKey:this.queryKey,meta:this.meta};return s(p),p})();return _(this,st,!1),this.options.persister?this.options.persister(u,l,this):u(l)},c=(()=>{let u={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:o(this,rt),state:this.state,fetchFn:i};return s(u),u})();this.options.behavior?.onFetch(c,this),_(this,Ct,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==c.fetchOptions?.meta)&&x(this,se,Ee).call(this,{type:"fetch",meta:c.fetchOptions?.meta}),_(this,V,Vn({initialPromise:n?.initialPromise,fn:c.fetchFn,onCancel:u=>{u instanceof jn&&u.revert&&this.setState({...o(this,Ct),fetchStatus:"idle"}),r.abort()},onFail:(u,d)=>{x(this,se,Ee).call(this,{type:"failed",failureCount:u,error:d})},onPause:()=>{x(this,se,Ee).call(this,{type:"pause"})},onContinue:()=>{x(this,se,Ee).call(this,{type:"continue"})},retry:c.options.retry,retryDelay:c.options.retryDelay,networkMode:c.options.networkMode,canRun:()=>!0}));try{let u=await o(this,V).start();if(u===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(u),o(this,ue).config.onSuccess?.(u,this),o(this,ue).config.onSettled?.(u,this.state.error,this),u}catch(u){if(u instanceof jn){if(u.silent)return o(this,V).promise;if(u.revert){if(this.state.data===void 0)throw u;return this.state.data}}throw x(this,se,Ee).call(this,{type:"error",error:u}),o(this,ue).config.onError?.(u,this),o(this,ue).config.onSettled?.(this.state.data,u,this),u}finally{this.scheduleGc()}}},nt=new WeakMap,Ct=new WeakMap,ue=new WeakMap,rt=new WeakMap,V=new WeakMap,sn=new WeakMap,st=new WeakMap,se=new WeakSet,Js=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},Ee=function(t){let n=r=>{switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...Nr(r.data,this.options),fetchMeta:t.meta??null};case"success":let s={...r,...Bs(t.data,t.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return _(this,Ct,t.manual?s:void 0),s;case"error":let i=t.error;return{...r,error:i,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),I.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),o(this,ue).notify({query:this,type:"updated",action:t})})},Gs);function Nr(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Qr(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function Bs(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function $s(e){let t=typeof e.initialData=="function"?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var X,E,an,z,it,xt,Te,je,cn,Pt,Et,ot,at,Ve,Tt,M,on,Kr,Lr,jr,Vr,Hr,Wr,Br,ei,Zs,un=(Zs=class extends ce{constructor(t,n){super();b(this,M);b(this,X);b(this,E);b(this,an);b(this,z);b(this,it);b(this,xt);b(this,Te);b(this,je);b(this,cn);b(this,Pt);b(this,Et);b(this,ot);b(this,at);b(this,Ve);b(this,Tt,new Set);this.options=n,_(this,X,t),_(this,je,null),_(this,Te,rn()),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(o(this,E).addObserver(this),Ys(o(this,E),this.options)?x(this,M,on).call(this):this.updateResult(),x(this,M,Vr).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return $r(o(this,E),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return $r(o(this,E),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,x(this,M,Hr).call(this),x(this,M,Wr).call(this),o(this,E).removeObserver(this)}setOptions(t){let n=this.options,r=o(this,E);if(this.options=o(this,X).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Y(this.options.enabled,o(this,E))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");x(this,M,Br).call(this),o(this,E).setOptions(this.options),n._defaulted&&!_t(this.options,n)&&o(this,X).getQueryCache().notify({type:"observerOptionsUpdated",query:o(this,E),observer:this});let s=this.hasListeners();s&&Xs(o(this,E),r,this.options,n)&&x(this,M,on).call(this),this.updateResult(),s&&(o(this,E)!==r||Y(this.options.enabled,o(this,E))!==Y(n.enabled,o(this,E))||de(this.options.staleTime,o(this,E))!==de(n.staleTime,o(this,E)))&&x(this,M,Kr).call(this);let i=x(this,M,Lr).call(this);s&&(o(this,E)!==r||Y(this.options.enabled,o(this,E))!==Y(n.enabled,o(this,E))||i!==o(this,Ve))&&x(this,M,jr).call(this,i)}getOptimisticResult(t){let n=o(this,X).getQueryCache().build(o(this,X),t),r=this.createResult(n,t);return Fa(this,r)&&(_(this,z,r),_(this,xt,this.options),_(this,it,o(this,E).state)),r}getCurrentResult(){return o(this,z)}trackResult(t,n){return new Proxy(t,{get:(r,s)=>(this.trackProp(s),n?.(s),s==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&o(this,Te).status==="pending"&&o(this,Te).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(r,s))})}trackProp(t){o(this,Tt).add(t)}getCurrentQuery(){return o(this,E)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){let n=o(this,X).defaultQueryOptions(t),r=o(this,X).getQueryCache().build(o(this,X),n);return r.fetch().then(()=>this.createResult(r,n))}fetch(t){return x(this,M,on).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),o(this,z)))}createResult(t,n){let r=o(this,E),s=this.options,i=o(this,z),a=o(this,it),c=o(this,xt),d=t!==r?t.state:o(this,an),{state:l}=t,p={...l},f=!1,h;if(n._optimisticResults){let N=this.hasListeners(),J=!N&&Ys(t,n),me=N&&Xs(t,r,n,s);(J||me)&&(p={...p,...Nr(l.data,t.options)}),n._optimisticResults==="isRestoring"&&(p.fetchStatus="idle")}let{error:v,errorUpdatedAt:m,status:g}=p;h=p.data;let S=!1;if(n.placeholderData!==void 0&&h===void 0&&g==="pending"){let N;i?.isPlaceholderData&&n.placeholderData===c?.placeholderData?(N=i.data,S=!0):N=typeof n.placeholderData=="function"?n.placeholderData(o(this,Et)?.state.data,o(this,Et)):n.placeholderData,N!==void 0&&(g="success",h=nn(i?.data,N,n),f=!0)}if(n.select&&h!==void 0&&!S)if(i&&h===a?.data&&n.select===o(this,cn))h=o(this,Pt);else try{_(this,cn,n.select),h=n.select(h),h=nn(i?.data,h,n),_(this,Pt,h),_(this,je,null)}catch(N){_(this,je,N)}o(this,je)&&(v=o(this,je),h=o(this,Pt),m=Date.now(),g="error");let C=p.fetchStatus==="fetching",P=g==="pending",U=g==="error",L=P&&C,W=h!==void 0,re={status:g,fetchStatus:p.fetchStatus,isPending:P,isSuccess:g==="success",isError:U,isInitialLoading:L,isLoading:L,data:h,dataUpdatedAt:p.dataUpdatedAt,error:v,errorUpdatedAt:m,failureCount:p.fetchFailureCount,failureReason:p.fetchFailureReason,errorUpdateCount:p.errorUpdateCount,isFetched:t.isFetched(),isFetchedAfterMount:p.dataUpdateCount>d.dataUpdateCount||p.errorUpdateCount>d.errorUpdateCount,isFetching:C,isRefetching:C&&!P,isLoadingError:U&&!W,isPaused:p.fetchStatus==="paused",isPlaceholderData:f,isRefetchError:U&&W,isStale:Gr(t,n),refetch:this.refetch,promise:o(this,Te),isEnabled:Y(n.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){let N=re.data!==void 0,J=re.status==="error"&&!N,me=T=>{J?T.reject(re.error):N&&T.resolve(re.data)},ge=()=>{let T=_(this,Te,re.promise=rn());me(T)},ye=o(this,Te);switch(ye.status){case"pending":t.queryHash===r.queryHash&&me(ye);break;case"fulfilled":(J||re.data!==ye.value)&&ge();break;case"rejected":(!J||re.error!==ye.reason)&&ge();break}}return re}updateResult(){let t=o(this,z),n=this.createResult(o(this,E),this.options);if(_(this,it,o(this,E).state),_(this,xt,this.options),o(this,it).data!==void 0&&_(this,Et,o(this,E)),_t(n,t))return;_(this,z,n);let r=()=>{if(!t)return!0;let{notifyOnChangeProps:s}=this.options,i=typeof s=="function"?s():s;if(i==="all"||!i&&!o(this,Tt).size)return!0;let a=new Set(i??o(this,Tt));return this.options.throwOnError&&a.add("error"),Object.keys(o(this,z)).some(c=>{let u=c;return o(this,z)[u]!==t[u]&&a.has(u)})};x(this,M,ei).call(this,{listeners:r()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&x(this,M,Vr).call(this)}},X=new WeakMap,E=new WeakMap,an=new WeakMap,z=new WeakMap,it=new WeakMap,xt=new WeakMap,Te=new WeakMap,je=new WeakMap,cn=new WeakMap,Pt=new WeakMap,Et=new WeakMap,ot=new WeakMap,at=new WeakMap,Ve=new WeakMap,Tt=new WeakMap,M=new WeakSet,on=function(t){x(this,M,Br).call(this);let n=o(this,E).fetch(this.options,t);return t?.throwOnError||(n=n.catch(q)),n},Kr=function(){x(this,M,Hr).call(this);let t=de(this.options.staleTime,o(this,E));if(we.isServer()||o(this,z).isStale||!en(t))return;let r=Qn(o(this,z).dataUpdatedAt,t)+1;_(this,ot,ve.setTimeout(()=>{o(this,z).isStale||this.updateResult()},r))},Lr=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(o(this,E)):this.options.refetchInterval)??!1},jr=function(t){x(this,M,Wr).call(this),_(this,Ve,t),!(we.isServer()||Y(this.options.enabled,o(this,E))===!1||!en(o(this,Ve))||o(this,Ve)===0)&&_(this,at,ve.setInterval(()=>{(this.options.refetchIntervalInBackground||yt.isFocused())&&x(this,M,on).call(this)},o(this,Ve)))},Vr=function(){x(this,M,Kr).call(this),x(this,M,jr).call(this,x(this,M,Lr).call(this))},Hr=function(){o(this,ot)!==void 0&&(ve.clearTimeout(o(this,ot)),_(this,ot,void 0))},Wr=function(){o(this,at)!==void 0&&(ve.clearInterval(o(this,at)),_(this,at,void 0))},Br=function(){let t=o(this,X).getQueryCache().build(o(this,X),this.options);if(t===o(this,E))return;let n=o(this,E);_(this,E,t),_(this,an,t.state),this.hasListeners()&&(n?.removeObserver(this),t.addObserver(this))},ei=function(t){I.batch(()=>{t.listeners&&this.listeners.forEach(n=>{n(o(this,z))}),o(this,X).getQueryCache().notify({query:o(this,E),type:"observerResultsUpdated"})})},Zs);function Ia(e,t){return Y(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function Ys(e,t){return Ia(e,t)||e.state.data!==void 0&&$r(e,t,t.refetchOnMount)}function $r(e,t,n){if(Y(t.enabled,e)!==!1&&de(t.staleTime,e)!=="static"){let r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&Gr(e,t)}return!1}function Xs(e,t,n,r){return(e!==t||Y(r.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&Gr(e,n)}function Gr(e,t){return Y(t.enabled,e)!==!1&&e.isStaleByTime(de(t.staleTime,e))}function Fa(e,t){return!_t(e.getCurrentResult(),t)}function At(e){return{onFetch:(t,n)=>{let r=t.options,s=t.fetchOptions?.meta?.fetchMore?.direction,i=t.state.data?.pages||[],a=t.state.data?.pageParams||[],c={pages:[],pageParams:[]},u=0,d=async()=>{let l=!1,p=v=>{js(v,()=>t.signal,()=>l=!0)},f=Ln(t.options,t.fetchOptions),h=async(v,m,g)=>{if(l)return Promise.reject();if(m==null&&v.pages.length)return Promise.resolve(v);let C=(()=>{let W={client:t.client,queryKey:t.queryKey,pageParam:m,direction:g?"backward":"forward",meta:t.options.meta};return p(W),W})(),P=await f(C),{maxPages:U}=t.options,L=g?Ls:Ks;return{pages:L(v.pages,P,U),pageParams:L(v.pageParams,m,U)}};if(s&&i.length){let v=s==="backward",m=v?ti:zr,g={pages:i,pageParams:a},S=m(r,g);c=await h(g,S,v)}else{let v=e??i.length;do{let m=u===0?a[0]??r.initialPageParam:zr(r,c);if(u>0&&m==null)break;c=await h(c,m),u++}while(u<v)}return c};t.options.persister?t.fetchFn=()=>t.options.persister?.(d,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=d}}}function zr(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function ti(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}function ni(e,t){return t?zr(e,t)!=null:!1}function ri(e,t){return!t||!e.getPreviousPageParam?!1:ti(e,t)!=null}var Jr=class extends un{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){super.setOptions({...e,behavior:At()})}getOptimisticResult(e){return e.behavior=At(),super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"backward"}}})}createResult(e,t){let{state:n}=e,r=super.createResult(e,t),{isFetching:s,isRefetching:i,isError:a,isRefetchError:c}=r,u=n.fetchMeta?.fetchMore?.direction,d=a&&u==="forward",l=s&&u==="forward",p=a&&u==="backward",f=s&&u==="backward";return{...r,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:ni(t,n.data),hasPreviousPage:ri(t,n.data),isFetchNextPageError:d,isFetchingNextPage:l,isFetchPreviousPageError:p,isFetchingPreviousPage:f,isRefetchError:c&&!d&&!p,isRefetching:i&&!l&&!f}}};var ln,Se,G,ct,Re,He,si,ii=(si=class extends Hn{constructor(t){super();b(this,Re);b(this,ln);b(this,Se);b(this,G);b(this,ct);_(this,ln,t.client),this.mutationId=t.mutationId,_(this,G,t.mutationCache),_(this,Se,[]),this.state=t.state||Yr(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){o(this,Se).includes(t)||(o(this,Se).push(t),this.clearGcTimeout(),o(this,G).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){_(this,Se,o(this,Se).filter(n=>n!==t)),this.scheduleGc(),o(this,G).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){o(this,Se).length||(this.state.status==="pending"?this.scheduleGc():o(this,G).remove(this))}continue(){return o(this,ct)?.continue()??this.execute(this.state.variables)}async execute(t){let n=()=>{x(this,Re,He).call(this,{type:"continue"})},r={client:o(this,ln),meta:this.options.meta,mutationKey:this.options.mutationKey};_(this,ct,Vn({fn:()=>this.options.mutationFn?this.options.mutationFn(t,r):Promise.reject(new Error("No mutationFn found")),onFail:(a,c)=>{x(this,Re,He).call(this,{type:"failed",failureCount:a,error:c})},onPause:()=>{x(this,Re,He).call(this,{type:"pause"})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>o(this,G).canRun(this)}));let s=this.state.status==="pending",i=!o(this,ct).canStart();try{if(s)n();else{x(this,Re,He).call(this,{type:"pending",variables:t,isPaused:i}),o(this,G).config.onMutate&&await o(this,G).config.onMutate(t,this,r);let c=await this.options.onMutate?.(t,r);c!==this.state.context&&x(this,Re,He).call(this,{type:"pending",context:c,variables:t,isPaused:i})}let a=await o(this,ct).start();return await o(this,G).config.onSuccess?.(a,t,this.state.context,this,r),await this.options.onSuccess?.(a,t,this.state.context,r),await o(this,G).config.onSettled?.(a,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(a,null,t,this.state.context,r),x(this,Re,He).call(this,{type:"success",data:a}),a}catch(a){try{await o(this,G).config.onError?.(a,t,this.state.context,this,r)}catch(c){Promise.reject(c)}try{await this.options.onError?.(a,t,this.state.context,r)}catch(c){Promise.reject(c)}try{await o(this,G).config.onSettled?.(void 0,a,this.state.variables,this.state.context,this,r)}catch(c){Promise.reject(c)}try{await this.options.onSettled?.(void 0,a,t,this.state.context,r)}catch(c){Promise.reject(c)}throw x(this,Re,He).call(this,{type:"error",error:a}),a}finally{o(this,G).runNext(this)}}},ln=new WeakMap,Se=new WeakMap,G=new WeakMap,ct=new WeakMap,Re=new WeakSet,He=function(t){let n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=n(this.state),I.batch(()=>{o(this,Se).forEach(r=>{r.onMutationUpdate(t)}),o(this,G).notify({mutation:this,type:"updated",action:t})})},si);function Yr(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Ae,fe,dn,oi,ai=(oi=class extends ce{constructor(t={}){super();b(this,Ae);b(this,fe);b(this,dn);this.config=t,_(this,Ae,new Set),_(this,fe,new Map),_(this,dn,0)}build(t,n,r){let s=new ii({client:t,mutationCache:this,mutationId:++Bt(this,dn)._,options:t.defaultMutationOptions(n),state:r});return this.add(s),s}add(t){o(this,Ae).add(t);let n=Wn(t);if(typeof n=="string"){let r=o(this,fe).get(n);r?r.push(t):o(this,fe).set(n,[t])}this.notify({type:"added",mutation:t})}remove(t){if(o(this,Ae).delete(t)){let n=Wn(t);if(typeof n=="string"){let r=o(this,fe).get(n);if(r)if(r.length>1){let s=r.indexOf(t);s!==-1&&r.splice(s,1)}else r[0]===t&&o(this,fe).delete(n)}}this.notify({type:"removed",mutation:t})}canRun(t){let n=Wn(t);if(typeof n=="string"){let s=o(this,fe).get(n)?.find(i=>i.state.status==="pending");return!s||s===t}else return!0}runNext(t){let n=Wn(t);return typeof n=="string"?o(this,fe).get(n)?.find(s=>s!==t&&s.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){I.batch(()=>{o(this,Ae).forEach(t=>{this.notify({type:"removed",mutation:t})}),o(this,Ae).clear(),o(this,fe).clear()})}getAll(){return Array.from(o(this,Ae))}find(t){let n={exact:!0,...t};return this.getAll().find(r=>Kn(n,r))}findAll(t={}){return this.getAll().filter(n=>Kn(t,n))}notify(t){I.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){let t=this.getAll().filter(n=>n.state.isPaused);return I.batch(()=>Promise.all(t.map(n=>n.continue().catch(q))))}},Ae=new WeakMap,fe=new WeakMap,dn=new WeakMap,oi);function Wn(e){return e.options.scope?.id}var Me,We,Z,Oe,Ie,Bn,Xr,ci,Zr=(ci=class extends ce{constructor(t,n){super();b(this,Ie);b(this,Me);b(this,We);b(this,Z);b(this,Oe);_(this,Me,t),this.setOptions(n),this.bindMethods(),x(this,Ie,Bn).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){let n=this.options;this.options=o(this,Me).defaultMutationOptions(t),_t(this.options,n)||o(this,Me).getMutationCache().notify({type:"observerOptionsUpdated",mutation:o(this,Z),observer:this}),n?.mutationKey&&this.options.mutationKey&&be(n.mutationKey)!==be(this.options.mutationKey)?this.reset():o(this,Z)?.state.status==="pending"&&o(this,Z).setOptions(this.options)}onUnsubscribe(){this.hasListeners()||o(this,Z)?.removeObserver(this)}onMutationUpdate(t){x(this,Ie,Bn).call(this),x(this,Ie,Xr).call(this,t)}getCurrentResult(){return o(this,We)}reset(){o(this,Z)?.removeObserver(this),_(this,Z,void 0),x(this,Ie,Bn).call(this),x(this,Ie,Xr).call(this)}mutate(t,n){return _(this,Oe,n),o(this,Z)?.removeObserver(this),_(this,Z,o(this,Me).getMutationCache().build(o(this,Me),this.options)),o(this,Z).addObserver(this),o(this,Z).execute(t)}},Me=new WeakMap,We=new WeakMap,Z=new WeakMap,Oe=new WeakMap,Ie=new WeakSet,Bn=function(){let t=o(this,Z)?.state??Yr();_(this,We,{...t,isPending:t.status==="pending",isSuccess:t.status==="success",isError:t.status==="error",isIdle:t.status==="idle",mutate:this.mutate,reset:this.reset})},Xr=function(t){I.batch(()=>{if(o(this,Oe)&&this.hasListeners()){let n=o(this,We).variables,r=o(this,We).context,s={client:o(this,Me),meta:this.options.meta,mutationKey:this.options.mutationKey};if(t?.type==="success"){try{o(this,Oe).onSuccess?.(t.data,n,r,s)}catch(i){Promise.reject(i)}try{o(this,Oe).onSettled?.(t.data,null,n,r,s)}catch(i){Promise.reject(i)}}else if(t?.type==="error"){try{o(this,Oe).onError?.(t.error,n,r,s)}catch(i){Promise.reject(i)}try{o(this,Oe).onSettled?.(void 0,t.error,n,r,s)}catch(i){Promise.reject(i)}}}this.listeners.forEach(n=>{n(o(this,We))})})},ci);var Ce,ui,li=(ui=class extends ce{constructor(t={}){super();b(this,Ce);this.config=t,_(this,Ce,new Map)}build(t,n,r){let s=n.queryKey,i=n.queryHash??tn(s,n),a=this.get(i);return a||(a=new zs({client:t,queryKey:s,queryHash:i,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(s)}),this.add(a)),a}add(t){o(this,Ce).has(t.queryHash)||(o(this,Ce).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){let n=o(this,Ce).get(t.queryHash);n&&(t.destroy(),n===t&&o(this,Ce).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){I.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return o(this,Ce).get(t)}getAll(){return[...o(this,Ce).values()]}find(t){let n={exact:!0,...t};return this.getAll().find(r=>Nn(n,r))}findAll(t={}){let n=this.getAll();return Object.keys(t).length>0?n.filter(r=>Nn(t,r)):n}notify(t){I.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){I.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){I.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Ce=new WeakMap,ui);var D,Be,$e,Mt,Ot,Ge,It,Ft,di,es=(di=class{constructor(e={}){b(this,D);b(this,Be);b(this,$e);b(this,Mt);b(this,Ot);b(this,Ge);b(this,It);b(this,Ft);_(this,D,e.queryCache||new li),_(this,Be,e.mutationCache||new ai),_(this,$e,e.defaultOptions||{}),_(this,Mt,new Map),_(this,Ot,new Map),_(this,Ge,0)}mount(){Bt(this,Ge)._++,o(this,Ge)===1&&(_(this,It,yt.subscribe(async e=>{e&&(await this.resumePausedMutations(),o(this,D).onFocus())})),_(this,Ft,Rt.subscribe(async e=>{e&&(await this.resumePausedMutations(),o(this,D).onOnline())})))}unmount(){var e,t;Bt(this,Ge)._--,o(this,Ge)===0&&((e=o(this,It))==null||e.call(this),_(this,It,void 0),(t=o(this,Ft))==null||t.call(this),_(this,Ft,void 0))}isFetching(e){return o(this,D).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return o(this,Be).findAll({...e,status:"pending"}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return o(this,D).get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=o(this,D).build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(de(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return o(this,D).findAll(e).map(({queryKey:t,state:n})=>{let r=n.data;return[t,r]})}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=o(this,D).get(r.queryHash)?.state.data,a=Qs(t,i);if(a!==void 0)return o(this,D).build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return I.batch(()=>o(this,D).findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return o(this,D).get(t.queryHash)?.state}removeQueries(e){let t=o(this,D);I.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){let n=o(this,D);return I.batch(()=>(n.findAll(e).forEach(r=>{r.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=I.batch(()=>o(this,D).findAll(e).map(s=>s.cancel(n)));return Promise.all(r).then(q).catch(q)}invalidateQueries(e,t={}){return I.batch(()=>(o(this,D).findAll(e).forEach(n=>{n.invalidate()}),e?.refetchType==="none"?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=I.batch(()=>o(this,D).findAll(e).filter(s=>!s.isDisabled()&&!s.isStatic()).map(s=>{let i=s.fetch(void 0,n);return n.throwOnError||(i=i.catch(q)),s.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(r).then(q)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=o(this,D).build(this,t);return n.isStaleByTime(de(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(q).catch(q)}fetchInfiniteQuery(e){return e.behavior=At(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(q).catch(q)}ensureInfiniteQueryData(e){return e.behavior=At(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return Rt.isOnline()?o(this,Be).resumePausedMutations():Promise.resolve()}getQueryCache(){return o(this,D)}getMutationCache(){return o(this,Be)}getDefaultOptions(){return o(this,$e)}setDefaultOptions(e){_(this,$e,e)}setQueryDefaults(e,t){o(this,Mt).set(be(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...o(this,Mt).values()],n={};return t.forEach(r=>{et(e,r.queryKey)&&Object.assign(n,r.defaultOptions)}),n}setMutationDefaults(e,t){o(this,Ot).set(be(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...o(this,Ot).values()],n={};return t.forEach(r=>{et(e,r.mutationKey)&&Object.assign(n,r.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...o(this,$e).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=tn(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===vt&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...o(this,$e).mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){o(this,D).clear(),o(this,Be).clear()}},D=new WeakMap,Be=new WeakMap,$e=new WeakMap,Mt=new WeakMap,Ot=new WeakMap,Ge=new WeakMap,It=new WeakMap,Ft=new WeakMap,di);var kt=j(ie(),1),hi=j($n(),1),ts=kt.createContext(void 0),Q=e=>{let t=kt.useContext(ts);if(e)return e;if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},fn=({client:e,children:t})=>(kt.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,hi.jsx)(ts.Provider,{value:e,children:t}));var Gn=j(ie(),1),mi=Gn.createContext(!1),gi=()=>Gn.useContext(mi),El=mi.Provider;var pn=j(ie(),1),ka=j($n(),1);function qa(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Da=pn.createContext(qa()),yi=()=>pn.useContext(Da);var _i=j(ie(),1);var vi=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError=="function"?bt(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},bi=e=>{_i.useEffect(()=>{e.clearReset()},[e])},wi=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:s})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(s&&e.data===void 0||bt(n,[e.error,r]));var Si=e=>{if(e.suspense){let n=s=>s==="static"?s:Math.max(s??1e3,1e3),r=e.staleTime;e.staleTime=typeof r=="function"?(...s)=>n(r(...s)):n(r),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},Ri=(e,t)=>e.isLoading&&e.isFetching&&!t,Ci=(e,t)=>e?.suspense&&t.isPending,ns=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});var ze=j(ie(),1);function zn(e,t,n){let r=gi(),s=yi(),i=Q(n),a=i.defaultQueryOptions(e);i.getDefaultOptions().queries?._experimental_beforeQuery?.(a);let c=i.getQueryCache().get(a.queryHash);a._optimisticResults=r?"isRestoring":"optimistic",Si(a),vi(a,s,c),bi(s);let u=!i.getQueryCache().get(a.queryHash),[d]=ze.useState(()=>new t(i,a)),l=d.getOptimisticResult(a),p=!r&&e.subscribed!==!1;if(ze.useSyncExternalStore(ze.useCallback(f=>{let h=p?d.subscribe(I.batchCalls(f)):q;return d.updateResult(),h},[d,p]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),ze.useEffect(()=>{d.setOptions(a)},[a,d]),Ci(a,l))throw ns(a,d,s);if(wi({result:l,errorResetBoundary:s,throwOnError:a.throwOnError,query:c,suspense:a.suspense}))throw l.error;return i.getDefaultOptions().queries?._experimental_afterQuery?.(a,l),a.experimental_prefetchInRender&&!we.isServer()&&Ri(l,r)&&(u?ns(a,d,s):c?.promise)?.catch(q).finally(()=>{d.updateResult()}),a.notifyOnChangeProps?l:d.trackResult(l)}function k(e,t){return zn(e,un,t)}var Fe=j(ie(),1);function ke(e,t){let n=Q(t),[r]=Fe.useState(()=>new Zr(n,e));Fe.useEffect(()=>{r.setOptions(e)},[r,e]);let s=Fe.useSyncExternalStore(Fe.useCallback(a=>r.subscribe(I.batchCalls(a)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),i=Fe.useCallback((a,c)=>{r.mutate(a,c).catch(q)},[r]);if(s.error&&bt(r.options.throwOnError,[s.error]))throw s.error;return{...s,mutate:i,mutateAsync:s.mutate}}function hn(e,t){return zn(e,Jr,t)}var A=new es({defaultOptions:{queries:{staleTime:1e3*60*2,gcTime:1e3*60*10,refetchOnWindowFocus:!1,retry:1}}});function H(){return le()??"__unscoped__"}var w={all:()=>["vfs",H()],item:e=>["vfs",H(),"item",e],itemById:e=>["vfs","item-by-id",e],children:e=>["vfs",H(),"children",e],allChildren:()=>["vfs",H(),"children"],types:e=>["vfs","types",e??"default"],edges:e=>["vfs","edges",e],search:(e,t)=>["vfs",H(),"search",e,...t??[]],items:(e,t)=>["vfs",H(),"items",e,JSON.stringify(t??{})],allItems:()=>["vfs",H(),"items"],tree:(e,t)=>["vfs",H(),"tree",e,t??1],openEnvelope:(e,t)=>["vfs",H(),"open",e,t??"__default__"],allOpenEnvelopes:()=>["vfs",H(),"open"],memberFocus:e=>["vfs","member-focus",e],fractalInstances:()=>["vfs","fractal-instances"],recentActivity:(e,t,n)=>["vfs",H(),"get-activity-feed",e,t,n],itemVersions:(e,t,n,r)=>["vfs","item-versions",e,t,n,r],itemHistory:(e,t,n)=>["vfs","item-history",e,t,n],channelMessages:(e,t)=>["vfs",H(),"channel-messages",e,t??"__top__"],allChannelMessages:()=>["vfs",H(),"channel-messages"],channels:e=>["vfs",H(),"channels",e??"all"],allChannels:()=>["vfs",H(),"channels"],notifications:(e,t)=>["vfs",H(),"notifications",e??"all",t??200],allNotifications:()=>["vfs",H(),"notifications"],unreadCounts:()=>["vfs",H(),"unread-counts"],memberships:e=>["memberships",e]};function xi(){return new Date().toISOString()}function Pi(){return crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2,11)}`}function pe(e){let t=e.path||e.item_path||"",n=t.split("/");n.pop();let r=n.join("/"),s=e.type_data||{};return s.allowed_parent_types&&!s.accepts&&(s.accepts=s.allowed_parent_types),delete s.allowed_parent_types,{id:e.id||e.item_id||"",name:e.name||e.item_name||"",item_type:e.item_type||"unknown",path:t,parent_path:r,is_active:e.is_active!==!1,has_children:e.has_children??!1,created_at:e.created_at||xi(),updated_at:e.updated_at||xi(),visibility:e.visibility,type_data:s,scope_item_id:e.scope_item_id,fractal_id:e.fractal_id,parent_instance_id:e.parent_instance_id,owner_principal_id:e.owner_principal_id,created_by_principal_id:e.created_by_principal_id,parent_id:e.parent_id,space_item_id:e.space_item_id,account_item_id:e.account_item_id}}function mn(e){return(e.content?.items||e.items||[]).map(pe)}async function Yn(e){try{let t=await R("read",{id:e});if(t.item_name||t.item_path){let r=pe(t);return r.path&&A.setQueryData(w.item(r.path),r),r}let n=t.item;if(n){let r=pe(n);return r.path&&A.setQueryData(w.item(r.path),r),r}return null}catch{return null}}async function Xn(e){try{let t=await R("read",{path:e});if(t.item_name||t.item_path)return pe(t);let n=t.item;return n?pe(n):null}catch{return null}}async function Zn(e){try{let t=await R("list",{path:e,limit:200}),n=mn(t);for(let r of n)A.setQueryData(w.item(r.path),r);return n}catch(t){return console.error(`[gateway] Failed to fetch children of ${e}:`,t),[]}}async function er(e,t,n){try{let r=await R("list",{path:e,limit:t,offset:n}),s=mn(r);for(let i of s)A.setQueryData(w.item(i.path),i);return{items:s,total_hint:r.total??r.content?.total??s.length}}catch(r){return console.error(`[gateway] Failed to fetch children page of ${e}:`,r),{items:[],total_hint:0}}}async function tr(e){let n=await R("types-list",e?{scope_id:e}:{}),r=n.content?.items||n.items||[],s=new Map;for(let i of r){let a=i.name,c=i.type_data;!a||!c||s.set(a,{type_key:a,display_name:c.display_name||a,display_name_plural:c.display_name_plural||a+"s",icon:c.icon||"File",color:c.color||"gray",description:c.description||"",input_schema:c.input_schema||{},system_schema:c.system_schema||{},json_schema:c.input_schema||c.json_schema||{},default_data:c.default_data||{},field_defaults:c.field_defaults||{},renderer_config:c.renderer_config||{},is_system:c.is_system??!1,is_active:c.is_active??!0,is_container:c.is_container??!1,is_scope:c.is_scope??!1,render_mode:c.render_mode||"none",placement_mode:c.placement_mode,direct_parent_types:c.direct_parent_types,allowed_parent_types:c.allowed_parent_types,governed_create:c.governed_create,create_method:c.create_method,dedup:c.dedup,edges:c.edges,events:c.events})}return s}async function nr(e){try{let t=await R("edges",{item_id:e}),n=t.outgoing||[],r=t.incoming||[],s=[];for(let i of n)s.push({id:i.edge_id||Pi(),source_item_id:e,target_item_id:i.target_id||"",edge_type:i.edge_type||"",weight:i.weight??1,context:i.context||{},is_active:!0,is_bidirectional:i.is_bidirectional});for(let i of r)s.push({id:i.edge_id||Pi(),source_item_id:i.source_id||"",target_item_id:e,edge_type:i.edge_type||"",weight:i.weight??1,context:i.context||{},is_active:!0,is_bidirectional:i.is_bidirectional});return s}catch(t){return console.warn(`[gateway] Failed to fetch edges for ${e}:`,t),[]}}async function rr(e,t=1,n,r){try{let s={path:e,max_depth:t>0?t:999};n?.length&&(s.item_types=n),r&&(s.limit=r);let i=await R("tree",s),a=mn(i);for(let c of a)A.setQueryData(w.item(c.path),c);return a}catch(s){return console.error(`[gateway] Failed to fetch tree at ${e}:`,s),[]}}async function sr(e,t=50,n=0){try{let r=await R("get-activity-feed",{scope_path:e,limit:t,offset:n});return r.content?.items||r.items||r.entries||[]}catch(r){return console.error(`[gateway] Failed to fetch recent activity for ${e}:`,r),[]}}async function gn(e,t={}){let{limit:n=50,offset:r=0,include_snapshots:s=!1}=t;try{let i=await R("item-versions",{id:e,limit:n,offset:r,include_snapshots:s});return{versions:i.content?.items||i.versions||[],total:i.total??0}}catch(i){return console.error(`[gateway] Failed to fetch item versions for ${e}:`,i),{versions:[],total:0}}}async function ir(e,t=50,n=0){return gn(e,{limit:t,offset:n})}async function or(e,t,n){try{let r={scope_id:e};t?.length&&(r.item_types=t),n&&(r.limit=n);let s=await R("member-focus",r),i=mn(s);for(let a of i)A.setQueryData(w.item(a.path),a);return i}catch(r){return console.error(`[gateway] Failed to fetch member focus for scope ${e}:`,r),[]}}async function ar(e,t){let n={path:e};t?.mode&&(n.mode=t.mode),t?.strategy&&(n.strategy=t.strategy),t?.arguments&&(n.arguments=t.arguments);let s=await R("open",n);return{item_id:s.item_id,item_path:s.item_path,item_name:s.item_name,item_type:s.item_type,render:s.render,compatible_components:s.compatible_components??[],content:s.content,metadata:s.metadata,instructions:s.instructions}}async function yn(e){let t={item_type:e.type};e.scope&&(t.scope_path=e.scope);let n={};if(e.name&&(n.name=e.name),e.tag&&(n.tag=e.tag),e.parent_id&&(n.parent_id=e.parent_id),e.sort_by&&(n.sort_by=e.sort_by),e.sort_dir&&(n.sort_dir=e.sort_dir),e.offset!=null&&(n.offset=e.offset),e.fields)for(let[r,s]of Object.entries(e.fields))n[`field.${r}`]=String(s);Object.keys(n).length>0&&(t.filters=n),e.limit!=null&&(t.limit=e.limit);try{let r=await R("query",t),s=mn(r);for(let i of s)A.setQueryData(w.item(i.path),i);return{items:s,total_hint:r.total??r.content?.total??s.length}}catch(r){return console.error(`[gateway] Failed to fetch items of type ${e.type}:`,r),{items:[],total_hint:0}}}function Ei(e){return e.filter(t=>t.item_type==="card").map(t=>{let n=t.type_data||{},r=n.payload||{};return{id:t.id||"",path:t.path||"",name:t.name||(t.path||"").split("/").pop()||"",createdAt:t.created_at||"",action:n.action||"created",targetId:n.target_id||void 0,targetPath:n.target_path||"",targetDisplayName:n.target_display_name||"",targetDescription:n.target_description||"",targetItemType:n.target_item_type||"",toolId:(t.name||"").startsWith("card-")?(t.name||"").substring(5):void 0,parentMessagePath:t.parent_message_path||void 0,visibility:n.visibility||"private",openWith:r.open_with||void 0,hostBundled:r.host_bundled===!0?!0:void 0,bundleExport:r.bundle_export||void 0,launchArguments:r.launch_arguments||void 0,requiresUserAttention:r.requires_user_attention===!0?!0:void 0}}).sort((t,n)=>t.createdAt.localeCompare(n.createdAt))}function rs(e){return e.filter(t=>t.item_type==="message").map(t=>{let n=t.type_data||{},r="user";n.role==="assistant"?r="assistant":n.role==="system"&&(r="system");let s=n.metadata||{};return{id:t.id||"",path:t.path||"",content:n.message||n.content||"",created_at:t.created_at||"",role:r,seq:n.seq||0,principal_id:n.principal_id,reply_count:n.reply_count||0,parent_message_id:n.parent_message_id,intent_card:s.intent_card,metadata:Object.keys(s).length>0?s:void 0,thread_summary:Array.isArray(n.thread_summary)&&n.thread_summary.length>0?n.thread_summary:void 0}}).sort((t,n)=>t.seq-n.seq)}async function Ti(e,t){try{let n={channel_path:e};t&&(n.parent_message_id=t);let s=await R("get-channel-messages",n),i=s.messages||s.content?.items||s.items||[];return rs(i)}catch(n){return console.error(`[gateway] Failed to fetch channel messages for ${e}:`,n),[]}}async function cr(e,t){try{let n={channel_path:e};t&&(n.parent_message_id=t);let s=await R("get-channel-messages",n),i=s.messages||[],a=rs(i),c=Ei(i),u=new Map,d=[];for(let l of c)if(l.parentMessagePath){let p=u.get(l.parentMessagePath)||[];p.push(l),u.set(l.parentMessagePath,p)}else d.push(l);return{messages:a,messageCards:u,siblingCards:d,mode:s.mode||"top_level"}}catch(n){return console.error(`[gateway] Failed to fetch channel messages with cards for ${e}:`,n),{messages:[],messageCards:new Map,siblingCards:[],mode:"top_level"}}}async function _n(e,t){try{let n={channel_path:e};t?.parentMessageId&&(n.parent_message_id=t.parentMessageId),t?.limit&&(n.limit=t.limit),t?.before_seq!=null&&(n.before_seq=t.before_seq),t?.after_seq!=null&&(n.after_seq=t.after_seq);let s=await R("get-channel-messages",n),i=s.messages||[],a=Ei(i),c=new Map,u=[];for(let d of a)if(d.parentMessagePath){let l=c.get(d.parentMessagePath)||[];l.push(d),c.set(d.parentMessagePath,l)}else u.push(d);return{messages:rs(i),messageCards:c,siblingCards:u,mode:s.mode||"top_level"}}catch(n){return console.error(`[gateway] Failed to fetch channel messages page for ${e}:`,n),{messages:[],messageCards:new Map,siblingCards:[],mode:"top_level"}}}function Jn(e){A.invalidateQueries({queryKey:w.children(e)})}function ss(e){A.invalidateQueries({queryKey:w.item(e)})}function Ai(e,t){ss(e),Jn(e);let n=e.split("/");n.pop();let r=n.join("/")||t;r&&Jn(r)}function Mi(e){let t=e+"/";A.invalidateQueries({predicate:n=>{let r=n.queryKey;return r[0]!=="vfs"?!1:r.some(s=>typeof s=="string"&&(s===e||s.startsWith(t)))}})}function Oi(){A.invalidateQueries({queryKey:w.all()})}function Ii(e){A.invalidateQueries({queryKey:w.types(e)})}function Fi(e,t){e?A.invalidateQueries({queryKey:w.channelMessages(e,t)}):A.invalidateQueries({queryKey:w.allChannelMessages()})}function ki(e,t){e&&t?A.invalidateQueries({queryKey:w.openEnvelope(e,t)}):e?A.invalidateQueries({predicate:n=>{let r=n.queryKey;return r[0]==="vfs"&&r[2]==="open"&&r[3]===e}}):A.invalidateQueries({queryKey:w.allOpenEnvelopes()})}var Ua=typeof window<"u"&&(window.location?.hostname==="localhost"||window.location?.hostname==="127.0.0.1"||window.__FSAOS_WS_DEBUG__);function B(...e){Ua&&console.log("[WS]",...e)}var O=null,qt=null,Dt=null,vn=0,Qa=3e4,qi=1e4,Qt=!1,Na=3e4,ur=null,Di=!1;function Ka(){wn(),ur=setInterval(()=>{qe({type:"ping"})},Na)}function wn(){ur&&(clearInterval(ur),ur=null)}function La(){typeof document>"u"||(document.hidden?wn():bn()&&(B("Tab visible, reconnecting..."),Sn()))}function ja(){Di||typeof document>"u"||(document.addEventListener("visibilitychange",La),Di=!0)}var ee={},Ut=[],Nt=new Map,ut=new Map;function Va(){return Object.keys(ee).some(t=>ee[t]&&ee[t].length>0)||Ut.length>0}function bn(){return Nt.size>0||ut.size>0}async function Sn(){if(!bn()){B("ensureConnection: no active subscriptions, skipping");return}if(O&&O.readyState===WebSocket.OPEN){B("ensureConnection: already open");return}if(qt)return B("ensureConnection: connection already in flight, waiting..."),qt;if(O){B("ensureConnection: killing stale WS in state",O.readyState);try{O.close()}catch{}O=null}return Qt=!1,qt=(async()=>{try{let e=typeof window<"u"&&window.__FSAOS_CONFIG__||{},t=De,n=await xe();if(!n){B("ensureConnection: no token available, will retry"),Ui();return}let r=t.startsWith("https")?"wss":"ws",s=t.replace(/^https?:\/\//,""),i=`${r}://${s}/ws`;i+=`?token=${encodeURIComponent(n)}`,B("ensureConnection: opening WS to",i.substring(0,50)+"..."),O=new WebSocket(i),await new Promise((a,c)=>{if(!O)return c(new Error("WebSocket not created"));let u=setTimeout(()=>{if(B("ensureConnection: TIMEOUT after",qi,"ms"),O&&O.readyState!==WebSocket.OPEN){try{O.close()}catch{}O=null}c(new Error("WebSocket connection timeout"))},qi);O.onopen=()=>{clearTimeout(u),B("ensureConnection: CONNECTED"),vn=0,Ha(),(typeof document>"u"||!document.hidden)&&Ka(),ja(),a()},O.onmessage=d=>{Wa(d.data)},O.onerror=()=>{B("ensureConnection: WS error event")},O.onclose=d=>{clearTimeout(u),B("ensureConnection: WS closed, code:",d.code,"reason:",d.reason),O=null,wn(),!Qt&&bn()&&Ui(),c(new Error(`WebSocket closed: ${d.code}`))}})}catch(e){B("ensureConnection: failed -",e?.message||e)}finally{qt=null}})(),qt}function Ui(){if(Dt||typeof document<"u"&&document.hidden)return;let e=Math.min(1e3*Math.pow(2,vn)+Math.random()*1e3,Qa);vn++,B("scheduleReconnect: attempt",vn,"in",Math.round(e),"ms"),Dt=setTimeout(()=>{Dt=null,bn()&&Sn()},e)}function Ha(){for(let e of Nt.values())B("resubscribeAll: scope",e.scope_id),qe({type:"subscribe",scope_id:e.scope_id,event_types:e.event_types});for(let e of ut.values())B("resubscribeAll: path",e.path),qe({type:"subscribe_path",path:e.path,event_types:e.event_types})}function qe(e){O&&O.readyState===WebSocket.OPEN&&O.send(JSON.stringify(e))}function Wa(e){try{let t=JSON.parse(e);if(t.type==="subscribed"||t.type==="subscribed_path"||t.type==="unsubscribed"||t.type==="unsubscribed_path"||t.type==="pong")return;if(t.type==="error"){console.warn("[WS] Server error:",t.message);return}if(t.type==="event"||t.event_type){let n=t.event_type||"message",r=t.data||t;r.path&&ee[r.path]&&ee[r.path].forEach(s=>s(r)),ee["*"]&&ee["*"].forEach(s=>s(r));for(let s of Ut)s.eventType!=="*"&&s.eventType!==n||s.filter&&!s.filter(r)||s.callback(r)}}catch{}}function is(){!Va()&&Nt.size===0&&ut.size===0&&O&&(Qt=!0,wn(),O.close(),O=null,Qt=!1)}function lr(e,t){return ee[e]||(ee[e]=[]),ee[e].push(t),ut.has(e)||(ut.set(e,{path:e,event_types:["token_stream"]}),O&&O.readyState===WebSocket.OPEN&&qe({type:"subscribe_path",path:e,event_types:["token_stream"]})),Sn(),()=>{let n=ee[e];if(n){let r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(delete ee[e],ut.delete(e),qe({type:"unsubscribe_path",path:e}))}is()}}function te(e,t,n){let s=(Array.isArray(e)?e:[e]).map(i=>({eventType:i,callback:t,filter:n}));return Ut.push(...s),bn()&&Sn(),()=>{for(let i of s){let a=Ut.indexOf(i);a!==-1&&Ut.splice(a,1)}is()}}function dr(e,t=["vfs_change","ccm_change"]){return B("subscribeToScope:",e,t),Nt.set(e,{scope_id:e,event_types:t}),O&&O.readyState===WebSocket.OPEN&&qe({type:"subscribe",scope_id:e,event_types:t}),Sn(),()=>{Nt.delete(e),qe({type:"unsubscribe",scope_id:e}),is()}}function Qi(e,t,n={}){qe({type:"emit",scope_id:e,event_type:t,payload:n})}function os(){B("disconnectSSE: tearing down"),Qt=!0,wn(),O&&(O.close(),O=null),Dt&&(clearTimeout(Dt),Dt=null),qt=null,Qt=!1,vn=0;for(let e of Object.keys(ee))delete ee[e];Ut.length=0,Nt.clear(),ut.clear()}function Ni(){qe({type:"ping"})}Pe(os);var Kt=new Map,fr=null,Rn=new Map,Ba=250;function Cn(e){pr(),xn(e),fr=te("vfs_change",t=>$a(t))}function xn(e){if(Kt.has(e))return;let t=dr(e,["vfs_change","ccm_change"]);Kt.set(e,t)}function Ki(e){let t=Kt.get(e);t&&(t(),Kt.delete(e))}function pr(){for(let[,e]of Kt)e();Kt.clear(),fr&&(fr(),fr=null),Rn.forEach(e=>clearTimeout(e)),Rn.clear()}Pe(pr);function $a(e){let t=e.path,n=e.action;if(!t)return;let r=t.split("/");r.pop();let s=r.join("/")||"/root",i=Rn.get(s);i&&clearTimeout(i);let a=setTimeout(()=>{Rn.delete(s),Ga(n,t,e,s)},Ba);Rn.set(s,a)}function Ga(e,t,n,r){if((e||"").toUpperCase()==="DELETE")A.removeQueries({queryKey:w.item(t)}),A.removeQueries({queryKey:w.children(t)}),A.removeQueries({queryKey:w.tree(t)});else if(n.item_id)try{let i={id:n.item_id,path:n.path,name:n.name,item_type:n.item_type,parent_id:n.parent_id,scope_item_id:n.scope_item_id},a=pe(i);a&&a.id&&A.setQueryData(w.item(t),a)}catch{}A.invalidateQueries({queryKey:w.children(r)}),A.invalidateQueries({predicate:i=>{let a=i.queryKey;if(a[0]!=="vfs"||a[1]!=="tree")return!1;let c=a[2];return t.startsWith(c+"/")||t===c}}),n.item_id&&A.invalidateQueries({queryKey:w.itemById(n.item_id)})}var as=j(ie(),1),Vi=j(ji(),1);function Hi(e){return R("read",{path:e})}function Wi(e,t){return R("list",{path:e,...t})}function Bi(e){return R("create",e)}function $i(e){return R("update",e)}function Gi(e){return R("create",e)}function zi(e,t){let r=(typeof window<"u"&&window.__FSAOS_CONFIG__||{}).scopePath||"";return R("tools/call",{name:e,instance_path:r,...t||{}})}function Ji(e,t,n){return R("signal",{target_id:e,event_name:t,payload:n||{}})}function Yi(e){return((typeof window<"u"&&window.__FSAOS_CONFIG__||{}).edgeBaseUrl||"")+e}var Xi={signIn:e=>e.provider?F.auth.signInWithOAuth({provider:e.provider,options:{redirectTo:e.redirectTo||window.location.href}}):F.auth.signInWithPassword({email:e.email,password:e.password}),signUp:e=>F.auth.signUp({email:e.email,password:e.password,options:{data:e.metadata||{}}}),signOut:async()=>{await F.auth.signOut(),mt(),A.clear()},getSession:()=>F.auth.getSession().then(e=>e.data.session),getUser:()=>F.auth.getUser().then(e=>e.data.user),onAuthStateChange:e=>{let{data:{subscription:t}}=F.auth.onAuthStateChange((n,r)=>{e({event:n,session:r,user:r?.user??null})});return()=>t?.unsubscribe()},resetPassword:e=>F.auth.resetPasswordForEmail(e),signInWithMagicLink:(e,t)=>F.auth.signInWithOtp({email:e,options:{emailRedirectTo:t||window.location.href}})};function Zi(){let e=document.getElementById("root");if(e)try{let t=window.__FSAOS_COMPONENT__;if(!t){e.innerHTML='<div style="padding:2rem;color:#ef4444;font-family:system-ui"><h2>Component Error</h2><pre>No component found. The bundle may have failed to load.</pre></div>';return}let n=t.default||t,r=window.__FSAOS_ITEM_DATA__||null,s=r?{item:r,...r}:{};(0,Vi.createRoot)(e).render((0,as.createElement)(fn,{client:A},(0,as.createElement)(n,s)))}catch(t){console.error("[FSAOS] Failed to mount root component:",t),e.innerHTML='<div style="padding:2rem;color:#ef4444;font-family:system-ui"><h2>Component Error</h2><pre>'+(t.message||t)+"</pre></div>"}}function eo(){let e=window.React,t=window.ReactDOM,n=window.__FSAOS_GATEWAY__,r=window.__FSAOS_UI__;if(!n){console.error("[FSAOS] Cannot set up require shim: __FSAOS_GATEWAY__ not found");return}let s={react:e,"react-dom":t,"react-dom/client":t,"react/jsx-runtime":{jsx:e?.createElement,jsxs:e?.createElement,Fragment:e?.Fragment},"@fsaos/react":n,"@fsaos/gateway":n,"@fsaos/ui":r||{}};window.require=function(a){if(s[a])return s[a];throw new Error("[FSAOS] Module not found: "+a)},window.__FSAOS_MOUNT__=n.mount}var y=j(ie(),1),Ja=j(no(),1),Ya=j($n(),1);function za(e){return`${e}/settings/mounts`}var Pn=null;async function cs(e,t){Pn=za(e);try{let s=((await R("read",{path:Pn}))?.item?.type_data?.mounts??[]).map(t).filter(a=>a!==null),i=Qe();return i&&!s.some(a=>a.id===i.id)&&s.unshift(i),Or(s),s}catch{let n=Qe(),r=n?[n]:[];return Or(r),r}}async function ro(){if(!Pn)return;let e=ht().map(n=>n.id),t=Ye()?.id??null;try{await R("update",{path:Pn,type_data:{mounts:e,last_anchor:t}})}catch{try{let r=Pn.split("/").slice(0,-1).join("/");await R("create",{parent_path:r,name:"mounts",item_type:"file",type_data:{mounts:e,last_anchor:t}})}catch(r){console.warn("[SDK] mount declaration persist failed:",r)}}}async function us(e){Ts(e),await ro()}async function so(e){As(e),await ro()}function K(){return(0,y.useSyncExternalStore)(Xe,_e,_e)}function ao(){return K(),Un()}function co(e){return K(),k({queryKey:w.item(e),queryFn:()=>Xn(e),enabled:!!e})}function uo(e){return K(),k({queryKey:w.itemById(e),queryFn:()=>Yn(e),enabled:!!e})}function ds(e){return K(),k({queryKey:w.children(e),queryFn:()=>Zn(e),enabled:!!e})}function lo(e){let t=ds(e);return{...t,children:t.data??[]}}function fo(e,t=1){return K(),k({queryKey:w.tree(e,t),queryFn:()=>rr(e,t),enabled:!!e})}function po(e,t){return K(),k({queryKey:w.search(e,t),queryFn:async()=>{let n={query:e};t?.length&&(n.item_types=t);let r=await R("search",n);return(r.content?.items||r.items||[]).map(pe)},enabled:!!e&&e.length>0})}function ho(e){K();let t=(0,y.useMemo)(()=>e,[JSON.stringify(e)]);return k({queryKey:["vfs",le()??"__unscoped__","resolve",JSON.stringify(t??{})],queryFn:async()=>await R("resolve",t),enabled:!!t?.query&&t.query.length>0})}function mo(e){K();let t=(0,y.useMemo)(()=>e,[JSON.stringify(e)]);return k({queryKey:w.items(t?.type??"",t),queryFn:()=>yn(t),enabled:!!t?.type,select:n=>n.items})}function go(e){K();let t=e?.limit??20,n=(0,y.useMemo)(()=>e,[JSON.stringify(e)]),r=hn({queryKey:["vfs",le()??"__unscoped__","infinite-items",n?.type??"",JSON.stringify(n??{})],queryFn:async({pageParam:i=0})=>yn({...n,limit:t,offset:i}),initialPageParam:0,getNextPageParam:(i,a,c)=>{if(!(i.items.length<t))return c+i.items.length},enabled:!!n?.type});return{allItems:(0,y.useMemo)(()=>{if(!r.data?.pages)return[];let i=new Set,a=[];for(let c of r.data.pages)for(let u of c.items)u.id&&!i.has(u.id)&&(i.add(u.id),a.push(u));return a},[r.data?.pages]),fetchNextPage:r.fetchNextPage,isFetchingNextPage:r.isFetchingNextPage,isExhausted:!r.hasNextPage,isLoading:r.isLoading,isFetching:r.isFetching,error:r.error,totalHint:r.data?.pages?.[0]?.total_hint}}function yo(e){K();let t=20,n=hn({queryKey:["vfs",le()??"__unscoped__","infinite-children",e??""],queryFn:async({pageParam:s=0})=>er(e,t,s),initialPageParam:0,getNextPageParam:(s,i,a)=>{if(!(s.items.length<t))return a+s.items.length},enabled:!!e});return{allItems:(0,y.useMemo)(()=>{if(!n.data?.pages)return[];let s=new Set,i=[];for(let a of n.data.pages)for(let c of a.items)c.id&&!s.has(c.id)&&(s.add(c.id),i.push(c));return i},[n.data?.pages]),fetchNextPage:n.fetchNextPage,isFetchingNextPage:n.isFetchingNextPage,isExhausted:!n.hasNextPage,isLoading:n.isLoading,isFetching:n.isFetching,error:n.error,totalHint:n.data?.pages?.[0]?.total_hint}}function _o(e){return K(),k({queryKey:w.edges(e),queryFn:()=>nr(e),enabled:!!e})}function hr(e){return K(),k({queryKey:w.types(e),queryFn:()=>tr(e)})}function vo(e,t){let n=hr(t);return{...n,data:n.data?.get(e)??void 0}}function bo(e,t){K();let n=(0,y.useMemo)(()=>t?.arguments,[JSON.stringify(t?.arguments)]),r=t?.mode,s=t?.strategy,i=t?.width;return k({queryKey:[...w.openEnvelope(e,s),i],queryFn:async()=>{let a=await ar(e,{mode:r,strategy:s,arguments:n});if(i&&a.render?.props?.url){let c=a.render.props.url,u=c.includes("?")?"&":"?";a.render.props.url=`${c}${u}w=${i}`}return a},enabled:!!e})}var io={related_to:"Related To",depends_on:"Depends On",blocks:"Blocks",parent_of:"Parent Of",child_of:"Child Of",references:"References",implements:"Implements",extends:"Extends",contains:"Contains",belongs_to:"Belongs To",created_by:"Created By",assigned_to:"Assigned To",tagged_with:"Tagged With",linked_to:"Linked To"};function wo(e){let t=hr(e),n=t.data??new Map;return(0,y.useMemo)(()=>({canHaveChildren:h=>n.get(h.item_type)?.is_container??!1,isScope:h=>n.get(h.item_type)?.is_scope??!1,isScopeType:h=>n.get(h)?.is_scope??!1,isContainerType:h=>n.get(h)?.is_container??!1,getTypeDefinition:h=>n.get(h),getTypeColor:h=>n.get(h)?.color??"gray",getTypeIcon:h=>n.get(h)?.icon??"File",getTypeDisplayName:h=>n.get(h)?.display_name??h,getKnownEdgeTypes:()=>Object.entries(io).map(([h,v])=>({key:h,label:v})),getEdgeTypeLabel:h=>io[h]??h.replace(/_/g," "),allTypes:n,loading:t.isLoading}),[n,t.isLoading])}function So(e,t,n){return K(),k({queryKey:w.memberFocus(e),queryFn:()=>or(e,t,n),enabled:!!e})}function Ro(e,t={}){let{limit:n=50,offset:r=0,include_snapshots:s=!1}=t;return k({queryKey:w.itemVersions(e,String(n),String(r),String(s)),queryFn:()=>gn(e,{limit:n,offset:r,include_snapshots:s}),enabled:!!e})}function Co(e,t=50,n=0){return k({queryKey:w.itemHistory(e,String(t),String(n)),queryFn:()=>ir(e,t,n),enabled:!!e})}function xo(e,t=50,n=0){return K(),k({queryKey:w.recentActivity(e,String(t),String(n)),queryFn:()=>sr(e,t,n),enabled:!!e})}function Po(){let[e,t]=(0,y.useState)(null),[n,r]=(0,y.useState)(!0),[s,i]=(0,y.useState)(null);return(0,y.useEffect)(()=>{let a=!1;return qn().then(c=>{if(!a){let u=typeof window<"u"&&window.__FSAOS_CONFIG__||{};t({path:c.scope_path,scope_id:c.scope_id,fractal_id:c.fractal_id,instance_name:c.instance_name,display_name:c.display_name,componentPath:u.componentPath||"",isEmbed:!!u.embedToken}),r(!1)}}).catch(c=>{a||(i(c instanceof Error?c:new Error(String(c))),r(!1))}),()=>{a=!0}},[]),{data:e,loading:n,error:s}}var Xa=[];function En(e){return{id:e.accountId,path:e.path,kind:e.isSpace?"space":"account",name:e.name,grantedUnderAccountId:e.grantedUnderAccountId??void 0}}function Eo(){let{user:e}=mr(),t=(0,y.useRef)(!1),n=k({queryKey:w.memberships(e?.id??"anonymous"),queryFn:async()=>((await R("list-memberships",{})).memberships||[]).map(f=>({accountId:f.account_id,path:f.account_path,name:f.account_name,role:f.role||"member",typeData:f.account_type_data||{},joinedAt:f.joined_at,via:f.via,placement:f.placement,subordinateTo:f.subordinate_to??null,cascadeAnchorId:f.cascade_anchor_id??null,isAccount:f.is_account??void 0,isSpace:f.is_space??void 0,isOwner:f.is_owner??void 0,billingResponsible:f.billing_responsible??void 0,grantedVia:f.granted_via??null,grantedUnderAccountId:f.granted_under_account_id??null,personalSpaceId:f.personal_space_id??null,personalSpacePath:f.personal_space_path??null})),enabled:!!e?.id,staleTime:1e3*60*2}),r=n.data??Xa,s=(0,y.useMemo)(()=>r.filter(l=>l.isAccount!==!1&&!l.isSpace),[r]),i=(0,y.useMemo)(()=>{let l=new Set(s.map(f=>f.accountId)),p=f=>!f.subordinateTo||!l.has(f.subordinateTo);return[...s].sort((f,h)=>Number(p(h))-Number(p(f)))},[s]),a=(0,y.useSyncExternalStore)(Xe,_e,_e),c=(0,y.useMemo)(()=>{let l=Ye();return l?r.find(p=>p.accountId===l.id)??null:null},[a,r]);(0,y.useEffect)(()=>{if(!e?.id){t.current=!1;return}if(!t.current)if(i.length===1){let l=i[0];Yt(En(l)),Cn(l.accountId),l.personalSpacePath&&cs(l.personalSpacePath,p=>{let f=r.find(h=>h.accountId===p);return f?En(f):null}).catch(()=>{}),t.current=!0}else i.length>1&&(t.current=!0)},[e?.id,i,r]);let u=(0,y.useCallback)(l=>{let p=r.find(h=>h.path===l);if(!p)return;let f=En(p);Qe()?Ue(f):(Yt(f),p.personalSpacePath&&cs(p.personalSpacePath,h=>{let v=r.find(m=>m.accountId===h);return v?En(v):null}).catch(()=>{})),Cn(p.accountId)},[r]),d=(0,y.useCallback)(l=>{let p=r.find(f=>f.path===l);p&&(us(En(p)).catch(()=>{}),xn(l))},[r]);return{accounts:i,allMemberships:r,currentAccount:c,mountedScope:null,switchAccount:u,mountScope:d,loading:n.isLoading,error:n.error}}function To(){let e=(0,y.useSyncExternalStore)(kn,Zt,Zt);return{mounts:(0,y.useMemo)(()=>ht(),[e]),homeAnchor:Qe(),anchor:Ye(),setAnchor:Ue,mount:us,unmount:so}}function mr(){let[e,t]=(0,y.useState)(null),[n,r]=(0,y.useState)(null),[s,i]=(0,y.useState)(!0),a=(0,y.useRef)(null);(0,y.useEffect)(()=>{F.auth.getSession().then(({data:h,error:v})=>{if(v){console.warn("[useAuth] getSession error, clearing stale session:",v.message),F.auth.signOut().catch(()=>{}),r(null),t(null),i(!1);return}r(h?.session??null),t(h?.session?.user??null),i(!1)}).catch(h=>{console.warn("[useAuth] getSession threw, clearing stale session:",h?.message),F.auth.signOut().catch(()=>{}),r(null),t(null),i(!1)});let{data:{subscription:f}}=F.auth.onAuthStateChange((h,v)=>{if(h==="TOKEN_REFRESHED"&&!v){console.warn("[useAuth] TOKEN_REFRESHED with null session \u2014 signing out"),F.auth.signOut().catch(()=>{}),r(null),t(null),i(!1);return}r(v),t(v?.user??null),i(!1)});return a.current=f,()=>{f?.unsubscribe()}},[]);let c=(0,y.useCallback)(async f=>f.provider?F.auth.signInWithOAuth({provider:f.provider,options:f.redirectTo?{redirectTo:f.redirectTo}:{redirectTo:window.location.href}}):F.auth.signInWithPassword({email:f.email,password:f.password}),[]),u=(0,y.useCallback)(async f=>F.auth.signUp({email:f.email,password:f.password,options:{data:f.metadata||{}}}),[]),d=(0,y.useCallback)(async()=>{await F.auth.signOut(),mt(),A.clear()},[]),l=(0,y.useCallback)(async f=>{let{error:h}=await F.auth.resetPasswordForEmail(f);if(h)throw h},[]),p=(0,y.useCallback)(async(f,h)=>{let{error:v}=await F.auth.signInWithOtp({email:f,options:h?{emailRedirectTo:h}:{emailRedirectTo:window.location.href}});if(v)throw v},[]);return{user:e,session:n,loading:s,signIn:c,signUp:u,signOut:d,resetPassword:l,signInWithMagicLink:p}}function Ao(e){let[t,n]=(0,y.useState)(null),[r,s]=(0,y.useState)(!1),[i,a]=(0,y.useState)(null);return(0,y.useEffect)(()=>{if(!e){n(null),s(!1);return}if(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e))s(!0),R("resolve-asset",{asset_id:e}).then(u=>{u.success&&u.public_url?n({url:u.public_url,id:u.asset_id,name:u.name,mimeType:u.mime_type,width:u.width,height:u.height,sizeBytes:u.size_bytes}):a(new Error(u.error||"Asset not found")),s(!1)}).catch(u=>{a(u instanceof Error?u:new Error(String(u))),s(!1)});else{let d=(typeof window<"u"&&window.__FSAOS_CONFIG__||{}).edgeBaseUrl||"";n({url:d+e}),s(!1)}},[e]),{data:t,loading:r,error:i}}var Tn={},oo={};Pe(()=>{for(let e of Object.keys(Tn))delete Tn[e]});var Mo=null;function Oo(e){Mo=e,typeof window<"u"&&!window.__FSAOS_GATEWAY__&&(window.__FSAOS_GATEWAY__=e)}function Za(e){switch(e){case"react":return typeof window<"u"&&window.React||y.default;case"react-dom":case"react-dom/client":return typeof window<"u"&&window.ReactDOM||Ja;case"react/jsx-runtime":case"react/jsx-dev-runtime":return typeof window<"u"&&window.React?{jsx:window.React.createElement,jsxs:window.React.createElement,Fragment:window.React.Fragment}:Ya;case"@fsaos/gateway":case"@fsaos/react":return typeof window<"u"&&window.__FSAOS_GATEWAY__||Mo||{};case"@fsaos/ui":return typeof window<"u"&&window.__FSAOS_UI__||{};case"@fsaos/theme":return{};default:return console.warn(`[useComponent] Unknown module requested: ${e}`),{}}}function ec(e,t){return e.replace(/^(\s*)(:root|body)(\s*[{,])/gm,(n,r,s,i)=>`${r}.${t}${i}`)}async function tc(e,t){if(!oo[e])try{let n=await fetch(e);if(!n.ok)return;let r=await n.text();if(!r.trim()||r.includes("No CSS bundle for this component"))return;t&&!r.includes(`.fsaos-c-${t}`)&&(r=ec(r,`fsaos-c-${t}`));let s=document.createElement("style");s.setAttribute("data-fsaos-component-css",e),t&&s.setAttribute("data-fsaos-component-id",t),s.textContent=r,document.head.appendChild(s),oo[e]=s}catch{}}function nc(e){let t=null,n=window.__FSAOS_REGISTER__;window.__FSAOS_REGISTER__=r=>{t=r};try{let r=["var require = arguments[0];",e,"return window.__FSAOS_COMPONENT__;"].join(`
3
+ `),i=new Function(r)(Za),a=t??i;return a?a.default||a:null}finally{n!==void 0?window.__FSAOS_REGISTER__=n:delete window.__FSAOS_REGISTER__}}function fs(e){let[t,n]=(0,y.useState)(null),[r,s]=(0,y.useState)(!0),[i,a]=(0,y.useState)(null);return(0,y.useEffect)(()=>{if(!e)return;let c=!1;s(!0),a(null);let d=(typeof window<"u"&&window.__FSAOS_CONFIG__||{}).edgeBaseUrl||"";return(async()=>{try{let l=1,p=e+"@v1",f=d+e+"/__bundle.js";try{let S=await fetch(d+e+"/__meta",{cache:"no-store"});S.ok&&(l=(await S.json()).version||1,p=e+"@v"+l,f=d+e+"/__bundle.v"+l+".js")}catch{f=d+e+"/__bundle.js?v="+Date.now()}if(c)return;if(Tn[p]){n(()=>Tn[p]),s(!1);return}let h=await fetch(f);if(!h.ok)throw new Error(`Failed to fetch bundle: ${h.status} ${h.statusText} (${f})`);let v=await h.text();if(c)return;let m=f.replace(/__bundle(\.v\d+)?\.js(\?.*)?$/,"__bundle$1.css");tc(m).catch(()=>{});let g=nc(v);if(!g)throw new Error("Bundle did not export a component. Expected window.__FSAOS_COMPONENT__ (FSAOS build) or a __FSAOS_REGISTER__(Component) call.");if(typeof g!="function")throw new Error(`Bundle export is not a React component (got ${typeof g})`);Tn[p]=g,c||(n(()=>g),s(!1))}catch(l){c||(a(l instanceof Error?l:new Error(String(l))),s(!1))}})(),()=>{c=!0}},[e]),{Component:t,loading:r,error:i}}var rc=["--color-primary","--color-secondary","--color-background","--color-surface","--color-text","--color-text-secondary","--color-border","--color-accent","--color-success","--color-warning","--color-error","--font-family-heading","--font-family-body","--border-radius","--spacing-unit"];function Io(){return{data:(0,y.useMemo)(()=>{if(typeof document>"u")return{tokens:{}};let t={},n=getComputedStyle(document.documentElement);return rc.forEach(r=>{t[r]=n.getPropertyValue(r).trim()}),{tokens:t}},[]),loading:!1,error:null}}function Fo(e,t){return{data:{allowed:!0},loading:!1,error:null}}function ko(e,t){let n={};return(t||[]).forEach(r=>{n[r]=!0}),{data:n,loading:!1,error:null}}var oe=null,Lt=null,ls=new Set;function sc(){ls.forEach(e=>e())}Pe(()=>{oe=null,Lt=null});async function qo(e){let t=e;if(!t){let{data:r}=await F.auth.getSession();t=r?.session?.user?.id}let n={principalId:null,displayName:null,createdAt:null,metadata:null,vfsPath:null};if(!t)return n;if(oe&&oe.authUserId===t){let{principalId:r,displayName:s,createdAt:i,metadata:a,vfsPath:c}=oe;return{principalId:r,displayName:s,createdAt:i,metadata:a,vfsPath:c}}return Lt||(Lt=(async()=>{try{let{data:r,error:s}=await F.from("os_principals").select("id, display_name, created_at, metadata").eq("auth_user_id",t).eq("principal_type","user").maybeSingle();if(s)return console.warn("[SDK] Could not resolve principal:",s.message),n;let i=r?.id??null,a=null;if(i){let{data:u}=await F.from("os_items").select("path").eq("owner_principal_id",i).eq("item_type","principal").eq("is_active",!0).like("path","/root/principals/%"),d=(u??[]).map(l=>l.path);a=d.find(l=>l.split("/").length===4)??d[0]??null}let c={principalId:i,displayName:r?.display_name??null,createdAt:r?.created_at??null,metadata:r?.metadata??null,vfsPath:a};return oe={authUserId:t,...c},c}finally{Lt=null}})(),Lt)}async function Do(e){return(await qo(e)).principalId}function Uo(){let e=mr(),t=e.user,n=oe?.authUserId===t?.id?oe:null,[r,s]=(0,y.useState)(n),i=(0,y.useRef)(null);return(0,y.useEffect)(()=>{let a=()=>{let c=oe;c&&c.authUserId===t?.id&&s({principalId:c.principalId,displayName:c.displayName,createdAt:c.createdAt,metadata:c.metadata,vfsPath:c.vfsPath})};return ls.add(a),()=>{ls.delete(a)}},[t?.id]),(0,y.useEffect)(()=>{if(!t?.id){s(null),i.current=null;return}i.current===t.id&&r?.principalId!=null||(i.current=t.id,qo(t.id).then(a=>{s(a)}))},[t?.id]),e.loading?{data:null,loading:!0,error:null}:t?{data:{id:t.id,principalId:r?.principalId??null,email:t.email,display_name:r?.displayName??void 0,created_at:r?.createdAt??void 0,vfs_path:r?.vfsPath??void 0,role:t.role||t.app_metadata?.role||"user",authenticated:!0,metadata:r?.metadata??t.user_metadata??{}},loading:!1,error:null}:{data:{id:"anonymous",principalId:null,role:"viewer",authenticated:!1},loading:!1,error:null}}function Qo(){return{data:null,loading:!1,error:null}}function No(e){let{path:t,...n}=e,r=fs(t),s=r.Component,{loading:i,error:a}=r;return i?(0,y.createElement)("div",{className:"fsaos-loading"},""):a?(0,y.createElement)("div",{className:"fsaos-error"},"Failed to load component"):s?(0,y.createElement)(s,n):null}function Ko(e){return e.children}function Lo(e){let t=K(),{channelPath:n,parentMessageId:r,realtime:s=!0,enabled:i}=e,a=i!==void 0?i&&!!n:!!n,c=(0,y.useMemo)(()=>w.channelMessages(n??"",r),[n,r,t]),u=Q(),d=(0,y.useRef)(null),l=k({queryKey:c,queryFn:()=>cr(n,r),enabled:a});(0,y.useEffect)(()=>{if(!s||!a)return;let m=te("vfs_change",()=>{d.current&&clearTimeout(d.current),d.current=setTimeout(()=>{u.invalidateQueries({queryKey:c})},500)},g=>(g.item_type==="message"||g.item_type==="card")&&typeof g.path=="string"&&g.path.startsWith(n));return()=>{m(),d.current&&clearTimeout(d.current)}},[s,a,n,c,u]);let p=l.data,f=p?.messages??[],h=p?.messageCards??new Map,v=p?.siblingCards??[];return{messages:f,messageCards:h,siblingCards:v,threads:(0,y.useMemo)(()=>f.filter(m=>m.reply_count>0),[f]),isLoading:l.isLoading,isFetching:l.isFetching,error:l.error,refetch:l.refetch}}function jo(e){K();let{channelPath:t,parentMessageId:n,limit:r=50,realtime:s=!0,enabled:i=!0}=e,a=!!n,c=i&&!!t,u=hn({queryKey:[...w.channelMessages(t||"",n),"infinite",r],queryFn:async({pageParam:m})=>_n(t,{parentMessageId:n,limit:r,before_seq:a?void 0:m,after_seq:a?m:void 0}),initialPageParam:void 0,getNextPageParam:m=>!a||m.messages.length<r?void 0:m.messages[m.messages.length-1]?.seq,getPreviousPageParam:m=>a||m.messages.length<r?void 0:m.messages[0]?.seq,enabled:c}),d=(0,y.useMemo)(()=>{if(!u.data?.pages)return[];let m=new Set,g=[];for(let S of u.data.pages)for(let C of S.messages)m.has(C.id)||(m.add(C.id),g.push(C));return g.sort((S,C)=>S.seq-C.seq)},[u.data?.pages]),{messageCards:l,siblingCards:p}=(0,y.useMemo)(()=>{let m=new Map,g=[];if(!u.data?.pages)return{messageCards:m,siblingCards:g};let S=new Set;for(let C of u.data.pages){for(let[P,U]of C.messageCards)for(let L of U){if(S.has(L.id))continue;S.add(L.id);let W=m.get(P)||[];W.push(L),m.set(P,W)}for(let P of C.siblingCards)S.has(P.id)||(S.add(P.id),g.push(P))}return{messageCards:m,siblingCards:g}},[u.data?.pages]),f=Q(),h=(0,y.useRef)(null),v=(0,y.useMemo)(()=>[...w.channelMessages(t||"",n),"infinite",r],[t,n,r]);return(0,y.useEffect)(()=>{if(!s||!t||!c)return;let m=te("vfs_change",()=>{h.current&&clearTimeout(h.current),h.current=setTimeout(async()=>{let g=f.getQueryData(v);if(!g?.pages?.length){f.invalidateQueries({queryKey:v});return}let S=0;for(let C of g.pages)for(let P of C.messages)P.seq>S&&(S=P.seq);if(S===0){f.invalidateQueries({queryKey:v});return}try{let C=await _n(t,{parentMessageId:n,limit:r,after_seq:S});if(C.messages.length===0&&C.siblingCards.length===0){f.invalidateQueries({queryKey:v});return}if(C.messages.length>0){let P=Math.min(...C.messages.map(U=>U.seq));if(P>S+1){console.warn(`[useInfiniteChannelMessages] sequence gap detected: maxSeq=${S}, minNewSeq=${P}. Triggering full refetch.`),f.invalidateQueries({queryKey:v});return}}f.setQueryData(v,P=>{if(!P)return P;let U=[...P.pages],L=U.length-1,W=U[L],lt=new Set(W.messages.map(T=>T.id)),re=C.messages.filter(T=>!lt.has(T.id)),N=[...W.messages,...re].sort((T,Je)=>T.seq-Je.seq),J=new Map(W.messageCards);for(let[T,Je]of C.messageCards){let $=J.get(T)||[],jt=new Set($.map(vr=>vr.id)),pa=Je.filter(vr=>!jt.has(vr.id));J.set(T,[...$,...pa])}let me=new Set(W.siblingCards.map(T=>T.id)),ge=C.siblingCards.filter(T=>!me.has(T.id)),ye=[...W.siblingCards,...ge];return U[L]={...W,messages:N,messageCards:J,siblingCards:ye},{...P,pages:U}})}catch(C){console.warn("[useInfiniteChannelMessages] live tail fetch failed, falling back to full invalidation:",C),f.invalidateQueries({queryKey:v})}},500)},g=>(g.item_type==="message"||g.item_type==="card")&&typeof g.path=="string"&&g.path.startsWith(t));return()=>{m(),h.current&&clearTimeout(h.current)}},[s,t,c,v,f,n,r]),{messages:d,messageCards:l,siblingCards:p,threads:d.filter(m=>m.reply_count>0),isLoading:u.isLoading,isFetching:u.isFetching,error:u.error,refetch:u.refetch,hasPreviousPage:u.hasPreviousPage??!1,fetchPreviousPage:u.fetchPreviousPage,isFetchingPreviousPage:u.isFetchingPreviousPage??!1,hasNextPage:u.hasNextPage??!1,fetchNextPage:u.fetchNextPage,isFetchingNextPage:u.isFetchingNextPage??!1}}function ic(e){return e==="on"||e==="auto"?"on":"off"}function oc(e){let t=e.type_data||{},n=e._reader||{},r=n.context_lineage||{};return{id:e.id||"",path:e.path||"",name:e.name||"",displayName:t.display_name||e.name||"",aiMode:ic(t.ai_mode),isPrivate:t.is_private||!1,isDm:t.is_dm||!1,messageCount:t.message_count||0,updatedAt:e.updated_at||"",chatScopePath:r.context_path||"",contextId:e.scope_item_id||"",contextPath:r.context_path||"",contextType:r.context_type||"",contextName:r.context_name||"",contextDisplayName:r.context_name||"",contextPrincipalId:void 0,accountId:e.account_item_id||"",accountPath:"",accountDisplayName:"",memberRole:n.member_role||"member",memberPath:"",modePath:"",autoPilot:t.auto_pilot||!1}}function gr(e={}){let t=K(),{realtime:n=!0,enabled:r=!0}=e,s=Q(),i=(0,y.useRef)(null),a=(0,y.useMemo)(()=>w.channels("all"),[t]),c=k({queryKey:a,queryFn:async()=>((await R("query",{item_type:"channel",include_reader:!0,limit:500})).items||[]).map(oc),enabled:r});return(0,y.useEffect)(()=>{if(!n||!r)return;let d=te("vfs_change",()=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{s.invalidateQueries({queryKey:a})},1e3)},p=>p.item_type==="channel"||p.item_type==="message"),l=te("ccm_change",()=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{s.invalidateQueries({queryKey:a})},1e3)},p=>p.item_type==="channel"||p.item_type==="message");return()=>{d(),l(),i.current&&clearTimeout(i.current)}},[n,r,a,s]),{channels:c.data??[],isLoading:c.isLoading,isFetching:c.isFetching,error:c.error,refetch:c.refetch}}function Vo(e={}){let t=gr(e),n=(0,y.useMemo)(()=>t.channels.filter(r=>!r.isDm),[t.channels]);return{...t,channels:n}}function Ho(e={}){let t=gr(e),n=(0,y.useMemo)(()=>t.channels.filter(r=>r.isDm),[t.channels]);return{...t,channels:n}}function ps(e={}){let t=K(),{filter:n="all",limit:r=200,realtime:s=!0,enabled:i=!0}=e,a=Q(),c=(0,y.useRef)(null),u=(0,y.useMemo)(()=>w.notifications(n,r),[n,r,t]),d=k({queryKey:u,queryFn:async()=>{let p={limit:r};return n==="unread"&&(p.filter="unread"),(await R("get-notifications",p)).notifications||[]},enabled:i});return(0,y.useEffect)(()=>{if(!s||!i)return;let p=["vfs_change","ccm_change"].map(f=>te(f,()=>{c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{a.invalidateQueries({queryKey:u})},2e3)},h=>h.item_type==="notification"||h.item_type==="message"));return()=>{p.forEach(f=>f()),c.current&&clearTimeout(c.current)}},[s,i,u,a]),{notifications:d.data??[],isLoading:d.isLoading,isFetching:d.isFetching,error:d.error,refetch:d.refetch}}function Wo(e={}){let{channels:t,realtime:n=!0,enabled:r=!0}=e,{notifications:s,isLoading:i,isFetching:a,error:c,refetch:u}=ps({filter:"unread",limit:200,realtime:n,enabled:r}),d=(0,y.useMemo)(()=>{let h=new Map;for(let v of s)v.is_unread&&v.channel_id&&h.set(v.channel_id,(h.get(v.channel_id)||0)+1);return h},[s]),l=(0,y.useMemo)(()=>{let h=0;return d.forEach(v=>{h+=v}),h},[d]),{dmUnread:p,channelUnread:f}=(0,y.useMemo)(()=>{if(!t)return{dmUnread:0,channelUnread:0};let h=new Set(t.filter(g=>g.isDm).map(g=>g.id)),v=0,m=0;return d.forEach((g,S)=>{h.has(S)?v+=g:m+=g}),{dmUnread:v,channelUnread:m}},[t,d]);return{unreadByChannel:d,totalUnread:l,dmUnread:p,channelUnread:f,isLoading:i,isFetching:a,error:c,refetch:u}}function Bo(){let e=Q();return ke({mutationFn:t=>R("create",t),onSuccess:(t,n)=>{let r=n.parent_path;r&&e.invalidateQueries({queryKey:w.children(r)})}})}function $o(){let e=Q();return ke({mutationFn:t=>R("update",t),onSuccess:(t,n)=>{let r=n.path;if(r){e.invalidateQueries({queryKey:w.item(r)});let s=r.split("/");s.pop();let i=s.join("/");i&&e.invalidateQueries({queryKey:w.children(i)})}}})}function Go(){return ke({mutationFn:e=>R("update-principal",e),onSuccess:(e,t)=>{if(!oe)return;let n=e&&typeof e=="object"&&e.metadata?e.metadata:{...oe.metadata??{},...typeof t.language=="string"?{language:t.language}:{},...typeof t.timezone=="string"?{timezone:t.timezone}:{},..."avatar_file_id"in t?{avatar_file_id:t.avatar_file_id}:{}};oe={...oe,displayName:typeof t.display_name=="string"?t.display_name:oe.displayName,metadata:n},sc()}})}function zo(){let e=Q();return ke({mutationFn:t=>R("delete",t),onSuccess:(t,n)=>{let r=n.path;if(r){e.removeQueries({queryKey:w.item(r)});let s=r.split("/");s.pop();let i=s.join("/");i&&e.invalidateQueries({queryKey:w.children(i)})}}})}function Jo(){let e=Q();return ke({mutationFn:t=>R("move",t),onSuccess:(t,n)=>{let r=n.path,s=n.new_parent_path;if(r){e.invalidateQueries({queryKey:w.item(r)});let i=r.split("/");i.pop();let a=i.join("/");a&&e.invalidateQueries({queryKey:w.children(a)})}s&&e.invalidateQueries({queryKey:w.children(s)})}})}function Yo(){let e=Q();return ke({mutationFn:t=>R("link",t),onSuccess:(t,n)=>{let r=n.source_id,s=n.target_id;r&&e.invalidateQueries({queryKey:w.edges(r)}),s&&e.invalidateQueries({queryKey:w.edges(s)})}})}function Xo(e,t){let n=Q(),{optimistic:r,...s}=t??{};return ke({mutationFn:i=>R(e,i),onMutate:r?async i=>{await n.cancelQueries({queryKey:r.queryKey});let a=n.getQueryData(r.queryKey);return n.setQueryData(r.queryKey,c=>r.update(c,i)),{previous:a}}:void 0,onError:(i,a,c)=>{r&&c?.previous!==void 0&&n.setQueryData(r.queryKey,c.previous),s.onError?.(i)},onSuccess:s.onSuccess,onSettled:r?()=>{n.invalidateQueries({queryKey:r.queryKey})}:void 0})}function Zo(e,t,n){let r,s,i,a=!0;if(typeof e=="string")r=e,s=t,i=n;else{s=e;let d=t;r=d.eventType,i=d.filter,a=d.enabled??!0}let c=(0,y.useRef)(s),u=(0,y.useRef)(i);(0,y.useEffect)(()=>{c.current=s,u.current=i},[s,i]),(0,y.useEffect)(()=>a?te(r,l=>c.current(l),u.current?l=>u.current(l):void 0):void 0,[r,a])}function ea(e){let{queryKey:t,queryFn:n,eventType:r,filter:s,enabled:i=!0,debounceMs:a=500}=e,c=Q(),u=(0,y.useRef)(null),d=k({queryKey:t,queryFn:n,enabled:i});return(0,y.useEffect)(()=>{if(!i)return;let l=te(r,()=>{u.current&&clearTimeout(u.current),u.current=setTimeout(()=>{c.invalidateQueries({queryKey:t})},a)},s);return()=>{l(),u.current&&clearTimeout(u.current)}},[r,i,a,c,JSON.stringify(t)]),d}function ta(e){K();let t=(0,y.useMemo)(()=>e?typeof e=="string"?{path:e}:e:null,[typeof e=="string"?e:JSON.stringify(e)]),n=!!t&&!!(t.key||t.path||t.item_id),r=t?.key??t?.path??t?.item_id??"",s=k({queryKey:["vfs",le()??"__unscoped__","arrangement",r],queryFn:async()=>{if(!t)return null;let l=await R("resolve-arrangement",t);return l?.success===!1?(console.warn("[useArrangement] resolve-arrangement failed:",l?.error),null):l??null},enabled:n}),i=s.data??null,a=(0,y.useMemo)(()=>i?.resolved_children??[],[i]),c=i?.resolution_level??null,u=(0,y.useMemo)(()=>{let p=(i?.type_data??null)?.order;return Array.isArray(p)?p:null},[i]),d=(0,y.useCallback)(l=>{if(!u||!l?.length)return l??[];let p=m=>m.id??m.name??"",f=new Map(u.map((m,g)=>[m,g])),h=[],v=[];for(let m of l)(f.has(p(m))?h:v).push(m);return h.sort((m,g)=>f.get(p(m))-f.get(p(g))),[...h,...v]},[u]);return{...s,arrangement:i,resolvedChildren:a,resolutionLevel:c,order:u,sourceScopeId:i?.scope_item_id??null,applyTo:d}}function ac(e){return e.split("_").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function cc(e,t){return t&&t.length>0?"select":e==="boolean"?"toggle":e==="integer"||e==="number"?"range":e==="string"?"text":"none"}function uc(e,t){return!(e==="object"||e==="array")}function lc(e){return["string","number","integer","boolean"].includes(e)}function dc(e){return e!=="object"&&e!=="array"}function na(e,t,n,r){let s=e?.properties;if(!s||typeof s!="object")return[];let i=[];for(let[a,c]of Object.entries(s)){let u=c.type||"string",d=c.enum,l=uc(u,d),p=lc(u),f=cc(u,d);i.push({key:a,label:c.title||ac(a),type:u,description:c.description,enum_values:d,default_value:n[a]??r[a]??c.default,editable:t,filterable:l,sortable:p,filter_widget:f})}return i}function hs(e){let t=e.default_data||{},n=e.field_defaults||{},r=na(e.input_schema,!0,t,n),s=na(e.system_schema,!1,t,n),i=[...r,...s],a=i.filter(d=>dc(d.type)),c=i.filter(d=>d.filterable),u=i.filter(d=>d.sortable);return{fields:i,columns:a,filterable:c,sortable:u,form_fields:r,system_fields:s}}function ra(e){return{field:"updated_at",direction:"desc"}}function sa(e){let t=hs(e),n=new Set(e.input_schema?.required||[]);return t.form_fields.filter(r=>n.has(r.key)||r.default_value===void 0)}var ne=j(ie(),1);var fc=0;function pc(){return`upload_${Date.now()}_${++fc}`}async function ia(e,t,n,r){let s=t.name||(e instanceof File?e.name:`file-${Date.now()}`),i=e.type||"application/octet-stream",a=t.itemType||"file",u=await R("create",{parent_path:t.parentPath,item_type:a,name:s,type_data:{...t.typeData||{},file_source:{type:"upload",content_type:i}}});if(!u.id)throw new Error(u.error||u.message||"Failed to create file item");let d=u.id,l=u.path;if(u.storage_completed&&u.file_ref)return{itemId:d,itemPath:l,fileRef:u.file_ref};let p=u.storage_key,f=u.upload_token,h=u.storage_worker_url||"https://fsaos-storage.radns.workers.dev";if(!p)throw new Error("Gateway returned no storage_key \u2014 file_source may not be supported for this item type");await hc(h,p,f,e,i,n,r);let v=await oa(d,p,i);return{itemId:d,itemPath:l,fileRef:v}}function hc(e,t,n,r,s,i,a){return new Promise((c,u)=>{let d=new XMLHttpRequest;if(d.open("PUT",`${e}/upload`),d.setRequestHeader("X-Storage-Key",t),d.setRequestHeader("Content-Type",s),n&&d.setRequestHeader("X-Upload-Token",n),d.upload.onprogress=l=>{l.lengthComputable&&i&&i(Math.round(l.loaded/l.total*100))},d.onload=()=>{d.status>=200&&d.status<300?c():u(new Error(`Storage upload failed: HTTP ${d.status} \u2014 ${d.responseText?.slice(0,300)}`))},d.onerror=()=>u(new Error("Storage upload network error")),d.ontimeout=()=>u(new Error("Storage upload timed out")),a){if(a.aborted){u(new Error("Upload cancelled"));return}a.addEventListener("abort",()=>{d.abort(),u(new Error("Upload cancelled"))})}d.send(r)})}async function oa(e,t,n){let r=await xe(),s=await fetch(`${De}/storage/upload-complete`,{method:"POST",headers:{"Content-Type":"application/json",...r?{Authorization:`Bearer ${r}`}:{}},body:JSON.stringify({item_id:e,storage_key:t,content_type:n})});if(!s.ok){let a=await s.text().catch(()=>"");throw new Error(`Upload confirmation failed: HTTP ${s.status} \u2014 ${a.slice(0,300)}`)}let i=await s.json();if(!i.success)throw new Error(i.error||i.message||"Upload confirmation rejected");return i.file_ref}function aa(){let[e,t]=(0,ne.useState)([]),n=Q(),r=(0,ne.useRef)(e);r.current=e;let s=(0,ne.useCallback)((m,g)=>{t(S=>S.map(C=>C.id===m?{...C,...g}:C))},[]),i=(0,ne.useCallback)(m=>{t(g=>[...g,m])},[]),a=(0,ne.useCallback)(async(m,g,S,C,P)=>{let U=S.name||g.name,L=g.type||"application/octet-stream",W=S.itemType||"file",lt=P?.itemId||null,re=P?.itemPath||null,N=P?.storageKey||null,J=P?.uploadToken||null,me=P?.storageWorkerUrl||null;try{if(!C||C==="create"){s(m,{status:"creating",error:null,_failedAt:null});let T=await R("create",{parent_path:S.parentPath,item_type:W,name:U,type_data:{...S.typeData||{},file_source:{type:"upload",content_type:L}}});if(!T.id)throw Object.assign(new Error(T.error||T.message||"Failed to create file item"),{_step:"create"});if(lt=T.id,re=T.path,s(m,{itemId:lt,itemPath:re}),T.storage_completed&&T.file_ref){s(m,{status:"complete",progress:100,fileRef:T.file_ref}),n.invalidateQueries({queryKey:w.children(S.parentPath)});return}if(N=T.storage_key,J=T.upload_token||"",me=T.storage_worker_url||"https://fsaos-storage.radns.workers.dev",s(m,{_storageKey:N,_uploadToken:J,_storageWorkerUrl:me}),!N)throw Object.assign(new Error("Gateway returned no storage_key"),{_step:"create"})}(!C||C==="create"||C==="upload")&&(s(m,{status:"uploading",progress:0,error:null,_failedAt:null}),await new Promise((T,Je)=>{let $=new XMLHttpRequest;s(m,{_xhr:$}),$.open("PUT",`${me}/upload`),$.setRequestHeader("X-Storage-Key",N),$.setRequestHeader("Content-Type",L),J&&$.setRequestHeader("X-Upload-Token",J),$.upload.onprogress=jt=>{jt.lengthComputable&&s(m,{progress:Math.round(jt.loaded/jt.total*100)})},$.onload=()=>{$.status>=200&&$.status<300?T():Je(Object.assign(new Error(`Storage upload failed: HTTP ${$.status}`),{_step:"upload"}))},$.onerror=()=>Je(Object.assign(new Error("Storage upload network error"),{_step:"upload"})),$.ontimeout=()=>Je(Object.assign(new Error("Storage upload timed out"),{_step:"upload"})),$.send(g)}),s(m,{progress:100,_xhr:null})),s(m,{status:"confirming",error:null,_failedAt:null});let ge=await oa(lt,N,L);s(m,{status:"complete",fileRef:ge}),n.invalidateQueries({queryKey:w.children(S.parentPath)})}catch(ge){let ye=ge?.message||String(ge),T=ge?._step||"create";s(m,{status:"error",error:ye,_failedAt:T,_xhr:null})}},[s,n]),c=(0,ne.useCallback)((m,g)=>{let S=pc();i({id:S,file:m,status:"creating",progress:0,error:null,itemId:null,itemPath:null,fileRef:null,options:g,_storageKey:null,_uploadToken:null,_storageWorkerUrl:null,_xhr:null,_failedAt:null}),a(S,m,g)},[i,a]),u=(0,ne.useCallback)((m,g)=>{for(let S of m)c(S,g)},[c]),d=(0,ne.useCallback)(m=>{let g=r.current.find(P=>P.id===m);if(!g||g.status!=="error")return;let S=g._failedAt||"create",C=g._storageKey&&g.itemId?{storageKey:g._storageKey,uploadToken:g._uploadToken||"",storageWorkerUrl:g._storageWorkerUrl||"https://fsaos-storage.radns.workers.dev",itemId:g.itemId,itemPath:g.itemPath||""}:void 0;a(m,g.file,g.options,S,C)},[a]),l=(0,ne.useCallback)(m=>{let g=r.current.find(S=>S.id===m);g&&(g._xhr&&g._xhr.abort(),s(m,{status:"error",error:"Cancelled",_xhr:null,_failedAt:null}))},[s]),p=(0,ne.useCallback)(m=>{t(g=>g.filter(S=>S.id!==m))},[]),f=(0,ne.useCallback)(()=>{t(m=>m.filter(g=>g.status!=="complete"))},[]),h=e.some(m=>m.status==="creating"||m.status==="uploading"||m.status==="confirming"),v=e.map(({_storageKey:m,_uploadToken:g,_storageWorkerUrl:S,_xhr:C,_failedAt:P,...U})=>U);return{upload:c,uploadMultiple:u,uploads:v,retryUpload:d,cancelUpload:l,removeUpload:p,clearCompleted:f,isUploading:h}}var ca=j(ie(),1);async function ms(e,t){return await R("resolve-items",{context_id:e,item_type:t})}function ua(e,t){return(0,ca.useSyncExternalStore)(Xe,_e,_e),k({queryKey:["vfs",le()??"__unscoped__","resolved-items",e??"",t],queryFn:()=>ms(e,t),enabled:!!(e&&t)})}var he=j(ie(),1);function yr(e,t){let n={artifacts:new Map,timeline:[]},r=new Map;function s(a){if(!a.action?.startsWith("artifact_"))return;let u,d=a.name;if(typeof d=="string"&&d.startsWith("{"))try{u=JSON.parse(d)}catch{return}else if(a.artifact_id)u=a;else return;switch(u.type){case"artifact_opened":{let l=Date.now();if(n.artifacts.set(u.artifact_id,{artifact_id:u.artifact_id,surface_type:u.surface_type,tool_id:u.tool_id,tool_name:u.tool_name,target_uri:u.target_uri,status:"streaming",content:"",total_chars:0,delta_count:0,artifact_item_uri:null,evidence_uri:null,meta:u.meta,started_at:l,completed_at:null}),r.has(u.tool_id)){let p=r.get(u.tool_id);n.timeline[p].artifact_ids.push(u.artifact_id)}else{let p=n.timeline.length;n.timeline.push({tool_id:u.tool_id,tool_name:u.tool_name,status:"started",target_uri:u.target_uri,started_at:l,completed_at:null,artifact_ids:[u.artifact_id]}),r.set(u.tool_id,p)}break}case"artifact_delta":{let l=n.artifacts.get(u.artifact_id);l&&(l.content+=u.content_delta,l.total_chars+=u.content_delta.length,l.delta_count+=1,u.target_uri&&!l.target_uri&&(l.target_uri=u.target_uri));break}case"artifact_done":{let l=n.artifacts.get(u.artifact_id);l&&(l.status=u.status,l.total_chars=u.total_chars,l.artifact_item_uri=u.artifact_item_uri,l.evidence_uri=u.evidence_uri,u.target_uri&&(l.target_uri=u.target_uri),(u.status==="completed"||u.status==="failed")&&(l.completed_at=Date.now()));let p=r.get(u.tool_id);if(p!==void 0){let f=n.timeline[p];u.status==="executing"?f.status="executing":u.status==="completed"?(f.status="completed",f.completed_at=Date.now()):u.status==="failed"&&(f.status="failed",f.completed_at=Date.now()),u.target_uri&&!f.target_uri&&(f.target_uri=u.target_uri)}break}}t(n)}return lr(e,s)}function la(e,t=!0){let[n,r]=(0,he.useState)(new Map),[s,i]=(0,he.useState)([]),a=(0,he.useRef)({artifacts:new Map,timeline:[]});(0,he.useEffect)(()=>!e||!t?void 0:yr(e,p=>{a.current=p,r(new Map(p.artifacts)),i([...p.timeline])}),[e,t]);let c=(0,he.useCallback)(()=>{r(new Map),i([]),a.current={artifacts:new Map,timeline:[]}},[]),u=Array.from(n.values()).find(l=>l.surface_type==="file_editor"&&l.status==="streaming")??null,d=Array.from(n.values()).filter(l=>l.surface_type==="activity"&&(l.status==="streaming"||l.status==="executing"));return{artifacts:n,timeline:s,activeEditor:u,activeActivities:d,reset:c}}function da(e,t=!0){let[n,r]=(0,he.useState)([]);(0,he.useEffect)(()=>!e||!t?void 0:yr(e,a=>{r([...a.timeline])}),[e,t]);let s=n.length>0?n[n.length-1]:null;return{timeline:n,latestActivity:s}}var _r=j(ie(),1);function mc(e,t,n,r){return["vfs","timeline-history",e,t??"__all__",n??500,r??0]}async function gs(e,t){let n=`${e}/datasets/agent-events`,r=t?.limit??500,s=t?.offset??0,i={limit:r,offset:s,sort:[{key:"seq",direction:"asc"}]};t?.turnId&&(i.filters=[{key:"turn_id",operator:"eq",value:t.turnId}]);try{let c=(await R("open",{path:n,mode:"extract",strategy:"rows",arguments:i}))?.content;return c?(c.rows??c.items??c.data??[]).map(gc).sort((d,l)=>d.seq-l.seq):[]}catch(a){if(a?.status===404||a?.message?.includes("not found"))return[];throw a}}function fa(e,t){let{turnId:n,limit:r=500,offset:s=0,enabled:i=!0,debounceMs:a=300}=t??{},c=e?`${e}/datasets/agent-events`:null,u=Q(),d=(0,_r.useRef)(null),l=c?mc(c,n,r,s):["vfs","timeline-history","__disabled__"],p=k({queryKey:l,queryFn:()=>gs(e,{turnId:n,limit:r,offset:s}),enabled:!!e&&i});return(0,_r.useEffect)(()=>{if(!c||!i)return;let f=te("vfs_change",()=>{d.current&&clearTimeout(d.current),d.current=setTimeout(()=>{u.invalidateQueries({queryKey:l})},a)},h=>{let v=h?.path;return v?v===c||v.startsWith(c+"/"):!1});return()=>{f(),d.current&&clearTimeout(d.current)}},[c,i,a,u,JSON.stringify(l)]),{events:p.data??[],isLoading:p.isLoading,error:p.error,isFetching:p.isFetching,refetch:()=>{p.refetch()}}}function gc(e){return{turn_id:String(e.turn_id??""),seq:Number(e.seq??0),kind:String(e.kind??""),status:String(e.status??""),title:String(e.title??""),tool_name:e.tool_name!=null?String(e.tool_name):void 0,tool_id:e.tool_id!=null?String(e.tool_id):void 0,evidence_uri:e.evidence_uri!=null?String(e.evidence_uri):void 0,artifact_item_uri:e.artifact_item_uri!=null?String(e.artifact_item_uri):void 0,preview:e.preview!=null?String(e.preview):void 0,duration_ms:e.duration_ms!=null?Number(e.duration_ms):void 0,started_at:String(e.started_at??""),completed_at:e.completed_at!=null?String(e.completed_at):void 0,error_type:e.error_type!=null?String(e.error_type):void 0,meta:e.meta!=null?e.meta:void 0}}Oo(ys);return wa(ys);})();
4
4
 
5
5
  /* ── Auto-setup: require shim + mount + backward compat globals ── */
6
6
  (function() {