@ai4b-team/fsaos-gateway-sdk 3.13.0 → 3.15.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-08T17:22:19.095Z */
2
+ "use strict";var __FSAOS_GATEWAY__=(()=>{var ya=Object.create;var Ht=Object.defineProperty;var _a=Object.getOwnPropertyDescriptor;var va=Object.getOwnPropertyNames;var ba=Object.getPrototypeOf,wa=Object.prototype.hasOwnProperty;var vs=e=>{throw TypeError(e)};var Sa=(e,t,n)=>t in e?Ht(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Wt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ra=(e,t)=>{for(var n in t)Ht(e,n,{get:t[n],enumerable:!0})},bs=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of va(t))!wa.call(e,s)&&s!==n&&Ht(e,s,{get:()=>t[s],enumerable:!(r=_a(t,s))||r.enumerable});return e};var j=(e,t,n)=>(n=e!=null?ya(ba(e)):{},bs(t||!e||!e.__esModule?Ht(n,"default",{value:e,enumerable:!0}):n,e)),Ca=e=>bs(Ht({},"__esModule",{value:!0}),e);var Bt=(e,t,n)=>Sa(e,typeof t!="symbol"?t+"":t,n),wr=(e,t,n)=>t.has(e)||vs("Cannot "+n);var o=(e,t,n)=>(wr(e,t,"read from private field"),n?n.call(e):t.get(e)),b=(e,t,n)=>t.has(e)?vs("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),_=(e,t,n,r)=>(wr(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),x=(e,t,n)=>(wr(e,t,"access private method"),n);var $t=(e,t,n,r)=>({set _(s){_(e,t,s,n)},get _(){return o(e,t,r)}});var Ss=Wt((Rc,ws)=>{ws.exports={createClient:window.supabase.createClient}});var ie=Wt((El,pi)=>{pi.exports=React});var Gn=Wt((Tl,hi)=>{hi.exports={jsx:React.createElement,jsxs:React.createElement,Fragment:React.Fragment}});var Wi=Wt((Sd,Hi)=>{Hi.exports=ReactDOM});var io=Wt((Ad,so)=>{so.exports=ReactDOM});var _s={};Ra(_s,{ComponentRenderer:()=>jo,EnforcementDeniedError:()=>dt,KernelProvider:()=>Vo,QueryClientProvider:()=>pn,auth:()=>to,awaitAnchorReady:()=>Yt,awaitScopeReady:()=>Fs,callTool:()=>Xi,clearCachedToken:()=>Pr,clearSession:()=>Fr,createItem:()=>zi,disconnectSSE:()=>as,disposeVfsRealtimeWs:()=>hr,electHomeAnchor:()=>Xt,emitEvent:()=>Li,fetchChannelMessages:()=>Oi,fetchChannelMessagesPage:()=>vn,fetchChannelMessagesWithCards:()=>ur,fetchEdgesForItem:()=>rr,fetchItemHistory:()=>or,fetchItemVersions:()=>yn,fetchItems:()=>_n,fetchMemberFocus:()=>ar,fetchOpenEnvelope:()=>cr,fetchRecentActivity:()=>ir,fetchResolvedItems:()=>gs,fetchTimelineHistory:()=>ys,fetchTypeDefinitions:()=>nr,fetchVfsChildren:()=>er,fetchVfsChildrenPage:()=>tr,fetchVfsItem:()=>Zn,fetchVfsItemById:()=>Xn,fetchVfsTree:()=>sr,gatewayCall:()=>R,getAccessToken:()=>xe,getAnchor:()=>Jt,getAnchorRef:()=>Ye,getAnchorVersion:()=>Ar,getAssetUrl:()=>eo,getDefaultSort:()=>oa,getHomeAnchor:()=>Qe,getMountVersion:()=>en,getMounts:()=>ht,getQueryClient:()=>T,getRequiredFormFields:()=>aa,getScope:()=>le,getScopeVersion:()=>_e,getSessionEntry:()=>Un,initSession:()=>Dn,initVfsRealtimeWs:()=>xn,interpretSchema:()=>ms,invalidateAllVfs:()=>ki,invalidateChannelMessages:()=>Di,invalidateChildren:()=>Yn,invalidateItem:()=>is,invalidateOpenEnvelope:()=>Ui,invalidatePathAndParent:()=>Ii,invalidateSubtree:()=>Fi,invalidateTypes:()=>qi,isAnchorReady:()=>Or,isScopeReady:()=>Qn,listChildren:()=>Gi,mount:()=>no,mountRealtimeScope:()=>Pn,normalizeItem:()=>pe,ping:()=>ji,pushChanges:()=>Yi,queryClient:()=>Ei,readItem:()=>$i,registerCleanup:()=>Pe,resetAllSdkState:()=>mt,resolvePrincipalId:()=>No,setAnchor:()=>Ue,setCachedToken:()=>xs,setQueryClient:()=>Pi,setScope:()=>Is,setupRequireShim:()=>ro,signal:()=>Zi,subscribeAnchor:()=>Mr,subscribeArtifactStream:()=>_r,subscribeMounts:()=>qn,subscribeScope:()=>Xe,subscribeToEvents:()=>te,subscribeToPath:()=>dr,subscribeToScope:()=>fr,unmountRealtimeScope:()=>Vi,updateItem:()=>Ji,uploadFile:()=>ca,useAccounts:()=>Mo,useAgentTimeline:()=>ha,useAllChannels:()=>yr,useArrangement:()=>sa,useArtifactStream:()=>pa,useAsset:()=>Io,useAuth:()=>gr,useChannelMessages:()=>Ho,useChannels:()=>Bo,useChildren:()=>ho,useComponent:()=>ps,useCreate:()=>zo,useDelete:()=>Xo,useDmChannels:()=>$o,useEdges:()=>wo,useEventStream:()=>na,useFileUpload:()=>la,useInfiniteChannelMessages:()=>Wo,useInfiniteChildren:()=>bo,useInfiniteItems:()=>vo,useItem:()=>fo,useItemById:()=>po,useItemHistory:()=>Eo,useItemVersions:()=>Po,useItems:()=>_o,useLink:()=>ea,useList:()=>fs,useMemberFocus:()=>xo,useMounts:()=>Oo,useMove:()=>Zo,useMutation:()=>ta,useNotifications:()=>hs,useOpen:()=>Ro,usePermission:()=>Do,usePermissions:()=>Uo,usePrincipal:()=>Ko,useRealtimeQuery:()=>ra,useRecentActivity:()=>To,useResolve:()=>yo,useResolvedItems:()=>fa,useScope:()=>Ao,useScopeReady:()=>lo,useSearch:()=>go,useTheme:()=>qo,useTimelineHistory:()=>ma,useTool:()=>Lo,useTree:()=>mo,useType:()=>So,useTypeHelpers:()=>Co,useTypes:()=>mr,useUnreadCounts:()=>Go,useUpdate:()=>Jo,useUpdatePrincipal:()=>Yo,vfsKeys:()=>w});var dt=class e extends Error{constructor(n){let r=n.message||e.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 Rs=j(Ss(),1),Sr=typeof window<"u"&&window.__FSAOS_CONFIG__||{},xa=Sr.supabaseUrl||"https://vahbmsslxuustnlvsrkg.supabase.co",Pa=Sr.supabaseAnonKey||"sb_publishable_ZjosozAjfpZ4InMNElTr6Q_hHB-f5nc",De=Sr.gatewayUrl||"https://fsaos-mcp-gw-rust.fly.dev",F=(0,Rs.createClient)(xa,Pa,{auth:{persistSession:!0,autoRefreshToken:!0,detectSessionInUrl:!1}});var zt=null,Mn=0,Cs,xr,On=!1;Cs=new Promise(e=>{xr=e});F.auth.onAuthStateChange((e,t)=>{t?.access_token?(zt=t.access_token,Mn=t.expires_at??Math.floor(Date.now()/1e3)+3600):(zt=null,Mn=0),On||(On=!0,xr())});setTimeout(()=>{On||(On=!0,xr())},5e3);function xs(e,t){zt=e,Mn=t??Math.floor(Date.now()/1e3)+3600}function Pr(){zt=null,Mn=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 Cs,zt}var In=null,kn=null,Ps=0,Rr=new Set,Er,Tr,Fn=!1;Er=new Promise(e=>{Tr=e});function Es(){Ps++,Rr.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=In!==t;In=t,kn=typeof e=="string"?null:e,typeof e!="string"&&!ae.some(r=>r.id===e.id)&&(ae=[...ae,e],Zt()),Fn||(Fn=!0,Tr()),n&&Es()}function Jt(){return In}function Ye(){return kn}function Ar(){return Ps}function Mr(e){return Rr.add(e),()=>{Rr.delete(e)}}function Yt(){return Er}function Or(){return Fn}var pt=null;function Xt(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=[],Cr=new Set,Ts=0;function Zt(){Ts++,Cr.forEach(e=>{try{e()}catch(t){console.warn("[SDK] Mount listener error:",t)}})}function ht(){return ae}function en(){return Ts}function qn(e){return Cr.add(e),()=>{Cr.delete(e)}}function Ir(e){ae=e,Zt()}function As(e){ae.some(t=>t.id===e.id)||(ae=[...ae,e],Zt())}function Ms(e){ae.find(n=>n.id===e)&&(ae=ae.filter(n=>n.id!==e),Zt(),kn?.id===e&&pt&&Ue(pt))}var ft=null,Gt=null;async function Dn(){return ft||Gt||(Gt=(async()=>{let e=kr(),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})(),Gt)}function Un(){return ft}function Fr(){ft=null,Gt=null,In=null,kn=null,pt=null,ae=[]}var Os=[];function Pe(e){Os.push(e)}function mt(){Fr(),Pr(),Fn=!1,Er=new Promise(e=>{Tr=e}),Es(),Zt();for(let e of Os)try{e()}catch(t){console.warn("[SDK] Cleanup function failed:",t)}}function kr(){if(typeof window<"u"){let e=window.__FSAOS_CONFIG__;return e?.hostname?e.hostname:window.location.hostname}return"localhost"}var Is=Ue,le=Jt,_e=Ar,Xe=Mr,Fs=Yt,Qn=Or;var Ea=new Set(["list-memberships","init"]);async function R(e,t={}){let n=kr(),r=`${De}/d/${n}`,s={"Content-Type":"application/json"},i=await xe();i&&(s.Authorization=`Bearer ${i}`),!Ea.has(e)&&!t._scope_path&&await Yt();let a={...t},c=Un();!a.domain_scope_id&&c?.scope_id&&(a.domain_scope_id=c.scope_id);let u=Jt();!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,ks,Ta=(ks=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,ks),yt=new Ta;var Aa={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Ke,qr,qs,Ma=(qs=class{constructor(){b(this,Ke,Aa);b(this,qr,!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,qr=new WeakMap,qs),ve=new Ma;function Ds(e){setTimeout(e,0)}var Ur=typeof window>"u"||"Deno"in globalThis;function q(){}function Ns(e,t){return typeof e=="function"?e(t):e}function tn(e){return typeof e=="number"&&e>=0&&e!==1/0}function Nn(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 Kn(e,t){let{type:n="all",exact:r,fetchStatus:s,predicate:i,queryKey:a,stale:c}=e;if(a){if(r){if(t.queryHash!==nn(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 Ln(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 nn(e,t){return(t?.queryKeyHashFn||be)(e)}function be(e){return JSON.stringify(e,(t,n)=>Dr(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 Oa=Object.prototype.hasOwnProperty;function Qr(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=Us(e)&&Us(t);if(!r&&!(Dr(e)&&Dr(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:Oa.call(e,p))&&d++;continue}if(f===null||h===null||typeof f!="object"||typeof h!="object"){u[p]=h;continue}let v=Qr(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 Us(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function Dr(e){if(!Qs(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!Qs(n)||!n.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function Qs(e){return Object.prototype.toString.call(e)==="[object Object]"}function Ks(e){return new Promise(t=>{ve.setTimeout(t,e)})}function rn(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?Qr(e,t):t}function Ls(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function js(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var vt=Symbol();function jn(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 Vs(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=()=>Ur;return{isServer(){return e()},setIsServer(t){e=t}}})();function sn(){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 Hs=Ds;function Ia(){let e=[],t=0,n=c=>{c()},r=c=>{c()},s=Hs,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=Ia();var wt,Le,St,Ws,Fa=(Ws=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,Ws),Rt=new Fa;function ka(e){return Math.min(1e3*2**e,3e4)}function Nr(e){return(e??"online")==="online"?Rt.isOnline():!0}var Vn=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function Hn(e){let t=!1,n=0,r,s=sn(),i=()=>s.status!=="pending",a=m=>{if(!i()){let g=new Vn(m);f(g),e.onCancel?.(g)}},c=()=>{t=!0},u=()=>{t=!1},d=()=>yt.isFocused()&&(e.networkMode==="always"||Rt.isOnline())&&e.canRun(),l=()=>Nr(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??ka,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),Ks(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,Bs,Wn=(Bs=class{constructor(){b(this,tt)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),tn(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,Bs);var nt,Ct,ue,rt,V,on,st,se,Ys,Ee,zs,Js=(zs=class extends Wn{constructor(t){super();b(this,se);b(this,nt);b(this,Ct);b(this,ue);b(this,rt);b(this,V);b(this,on);b(this,st);_(this,st,!1),_(this,on,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,Gs(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,on),...t},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let n=Gs(this.options);n.data!==void 0&&(this.setState($s(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=rn(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:!Nn(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,Ys).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=jn(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,Hn({initialPromise:n?.initialPromise,fn:c.fetchFn,onCancel:u=>{u instanceof Vn&&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 Vn){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,on=new WeakMap,st=new WeakMap,se=new WeakSet,Ys=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,...Kr(r.data,this.options),fetchMeta:t.meta??null};case"success":let s={...r,...$s(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})})},zs);function Kr(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Nr(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function $s(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Gs(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,cn,z,it,xt,Te,je,un,Pt,Et,ot,at,Ve,Tt,M,an,Lr,jr,Vr,Hr,Wr,Br,$r,ti,ei,ln=(ei=class extends ce{constructor(t,n){super();b(this,M);b(this,X);b(this,E);b(this,cn);b(this,z);b(this,it);b(this,xt);b(this,Te);b(this,je);b(this,un);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,sn()),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(o(this,E).addObserver(this),Xs(o(this,E),this.options)?x(this,M,an).call(this):this.updateResult(),x(this,M,Hr).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Gr(o(this,E),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Gr(o(this,E),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,x(this,M,Wr).call(this),x(this,M,Br).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,$r).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&&Zs(o(this,E),r,this.options,n)&&x(this,M,an).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,Lr).call(this);let i=x(this,M,jr).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,Vr).call(this,i)}getOptimisticResult(t){let n=o(this,X).getQueryCache().build(o(this,X),t),r=this.createResult(n,t);return Da(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,an).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,cn),{state:l}=t,p={...l},f=!1,h;if(n._optimisticResults){let N=this.hasListeners(),J=!N&&Xs(t,n),me=N&&Zs(t,r,n,s);(J||me)&&(p={...p,...Kr(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=rn(i?.data,N,n),f=!0)}if(n.select&&h!==void 0&&!S)if(i&&h===a?.data&&n.select===o(this,un))h=o(this,Pt);else try{_(this,un,n.select),h=n.select(h),h=rn(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:zr(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=A=>{J?A.reject(re.error):N&&A.resolve(re.data)},ge=()=>{let A=_(this,Te,re.promise=sn());me(A)},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,ti).call(this,{listeners:r()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&x(this,M,Hr).call(this)}},X=new WeakMap,E=new WeakMap,cn=new WeakMap,z=new WeakMap,it=new WeakMap,xt=new WeakMap,Te=new WeakMap,je=new WeakMap,un=new WeakMap,Pt=new WeakMap,Et=new WeakMap,ot=new WeakMap,at=new WeakMap,Ve=new WeakMap,Tt=new WeakMap,M=new WeakSet,an=function(t){x(this,M,$r).call(this);let n=o(this,E).fetch(this.options,t);return t?.throwOnError||(n=n.catch(q)),n},Lr=function(){x(this,M,Wr).call(this);let t=de(this.options.staleTime,o(this,E));if(we.isServer()||o(this,z).isStale||!tn(t))return;let r=Nn(o(this,z).dataUpdatedAt,t)+1;_(this,ot,ve.setTimeout(()=>{o(this,z).isStale||this.updateResult()},r))},jr=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(o(this,E)):this.options.refetchInterval)??!1},Vr=function(t){x(this,M,Br).call(this),_(this,Ve,t),!(we.isServer()||Y(this.options.enabled,o(this,E))===!1||!tn(o(this,Ve))||o(this,Ve)===0)&&_(this,at,ve.setInterval(()=>{(this.options.refetchIntervalInBackground||yt.isFocused())&&x(this,M,an).call(this)},o(this,Ve)))},Hr=function(){x(this,M,Lr).call(this),x(this,M,Vr).call(this,x(this,M,jr).call(this))},Wr=function(){o(this,ot)!==void 0&&(ve.clearTimeout(o(this,ot)),_(this,ot,void 0))},Br=function(){o(this,at)!==void 0&&(ve.clearInterval(o(this,at)),_(this,at,void 0))},$r=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,cn,t.state),this.hasListeners()&&(n?.removeObserver(this),t.addObserver(this))},ti=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"})})},ei);function qa(e,t){return Y(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function Xs(e,t){return qa(e,t)||e.state.data!==void 0&&Gr(e,t,t.refetchOnMount)}function Gr(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&&zr(e,t)}return!1}function Zs(e,t,n,r){return(e!==t||Y(r.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&zr(e,n)}function zr(e,t){return Y(t.enabled,e)!==!1&&e.isStaleByTime(de(t.staleTime,e))}function Da(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=>{Vs(v,()=>t.signal,()=>l=!0)},f=jn(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?js:Ls;return{pages:L(v.pages,P,U),pageParams:L(v.pageParams,m,U)}};if(s&&i.length){let v=s==="backward",m=v?ni:Jr,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:Jr(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 Jr(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 ni(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}function ri(e,t){return t?Jr(e,t)!=null:!1}function si(e,t){return!t||!e.getPreviousPageParam?!1:ni(e,t)!=null}var Yr=class extends ln{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:ri(t,n.data),hasPreviousPage:si(t,n.data),isFetchNextPageError:d,isFetchingNextPage:l,isFetchPreviousPageError:p,isFetchingPreviousPage:f,isRefetchError:c&&!d&&!p,isRefetching:i&&!l&&!f}}};var dn,Se,G,ct,Re,He,ii,oi=(ii=class extends Wn{constructor(t){super();b(this,Re);b(this,dn);b(this,Se);b(this,G);b(this,ct);_(this,dn,t.client),this.mutationId=t.mutationId,_(this,G,t.mutationCache),_(this,Se,[]),this.state=t.state||Xr(),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,dn),meta:this.options.meta,mutationKey:this.options.mutationKey};_(this,ct,Hn({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)}}},dn=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})})},ii);function Xr(){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,fn,ai,ci=(ai=class extends ce{constructor(t={}){super();b(this,Ae);b(this,fe);b(this,fn);this.config=t,_(this,Ae,new Set),_(this,fe,new Map),_(this,fn,0)}build(t,n,r){let s=new oi({client:t,mutationCache:this,mutationId:++$t(this,fn)._,options:t.defaultMutationOptions(n),state:r});return this.add(s),s}add(t){o(this,Ae).add(t);let n=Bn(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=Bn(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=Bn(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=Bn(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=>Ln(n,r))}findAll(t={}){return this.getAll().filter(n=>Ln(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,fn=new WeakMap,ai);function Bn(e){return e.options.scope?.id}var Me,We,Z,Oe,Ie,$n,Zr,ui,es=(ui=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,$n).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,$n).call(this),x(this,Ie,Zr).call(this,t)}getCurrentResult(){return o(this,We)}reset(){o(this,Z)?.removeObserver(this),_(this,Z,void 0),x(this,Ie,$n).call(this),x(this,Ie,Zr).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,$n=function(){let t=o(this,Z)?.state??Xr();_(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})},Zr=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))})})},ui);var Ce,li,di=(li=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??nn(s,n),a=this.get(i);return a||(a=new Js({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=>Kn(n,r))}findAll(t={}){let n=this.getAll();return Object.keys(t).length>0?n.filter(r=>Kn(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,li);var D,Be,$e,Mt,Ot,Ge,It,Ft,fi,ts=(fi=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 di),_(this,Be,e.mutationCache||new ci),_(this,$e,e.defaultOptions||{}),_(this,Mt,new Map),_(this,Ot,new Map),_(this,Ge,0)}mount(){$t(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;$t(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=Ns(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=nn(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,fi);var kt=j(ie(),1),mi=j(Gn(),1),ns=kt.createContext(void 0),Q=e=>{let t=kt.useContext(ns);if(e)return e;if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},pn=({client:e,children:t})=>(kt.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,mi.jsx)(ns.Provider,{value:e,children:t}));var zn=j(ie(),1),gi=zn.createContext(!1),yi=()=>zn.useContext(gi),Ml=gi.Provider;var hn=j(ie(),1),Ua=j(Gn(),1);function Qa(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Na=hn.createContext(Qa()),_i=()=>hn.useContext(Na);var vi=j(ie(),1);var bi=(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))},wi=e=>{vi.useEffect(()=>{e.clearReset()},[e])},Si=({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 Ri=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))}},Ci=(e,t)=>e.isLoading&&e.isFetching&&!t,xi=(e,t)=>e?.suspense&&t.isPending,rs=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});var ze=j(ie(),1);function Jn(e,t,n){let r=yi(),s=_i(),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",Ri(a),bi(a,s,c),wi(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]),xi(a,l))throw rs(a,d,s);if(Si({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()&&Ci(l,r)&&(u?rs(a,d,s):c?.promise)?.catch(q).finally(()=>{d.updateResult()}),a.notifyOnChangeProps?l:d.trackResult(l)}function k(e,t){return Jn(e,ln,t)}var Fe=j(ie(),1);function ke(e,t){let n=Q(t),[r]=Fe.useState(()=>new es(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 mn(e,t){return Jn(e,Yr,t)}var qt=null;function Pi(e){if(qt&&qt!==e)throw new Error("[fsaos-gateway-sdk] setQueryClient() called after a QueryClient was already in use. Inject the host client before rendering or starting realtime subscriptions.");qt=e}function T(){return qt||(qt=new ts({defaultOptions:{queries:{staleTime:1e3*60*2,gcTime:1e3*60*10,refetchOnWindowFocus:!1,retry:1}}})),qt}var Ei=new Proxy({},{get(e,t,n){let r=T(),s=r[t];return typeof s=="function"?s.bind(r):s}});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 Ti(){return new Date().toISOString()}function Ai(){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||Ti(),updated_at:e.updated_at||Ti(),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 gn(e){return(e.content?.items||e.items||[]).map(pe)}async function Xn(e){try{let t=await R("read",{id:e});if(t.item_name||t.item_path){let r=pe(t);return r.path&&T().setQueryData(w.item(r.path),r),r}let n=t.item;if(n){let r=pe(n);return r.path&&T().setQueryData(w.item(r.path),r),r}return null}catch{return null}}async function Zn(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 er(e){try{let t=await R("list",{path:e,limit:200}),n=gn(t);for(let r of n)T().setQueryData(w.item(r.path),r);return n}catch(t){return console.error(`[gateway] Failed to fetch children of ${e}:`,t),[]}}async function tr(e,t,n){try{let r=await R("list",{path:e,limit:t,offset:n}),s=gn(r);for(let i of s)T().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 nr(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 rr(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||Ai(),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||Ai(),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 sr(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=gn(i);for(let c of a)T().setQueryData(w.item(c.path),c);return a}catch(s){return console.error(`[gateway] Failed to fetch tree at ${e}:`,s),[]}}async function ir(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 yn(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 or(e,t=50,n=0){return yn(e,{limit:t,offset:n})}async function ar(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=gn(s);for(let a of i)T().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 cr(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 _n(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=gn(r);for(let i of s)T().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 Mi(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 ss(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 Oi(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 ss(i)}catch(n){return console.error(`[gateway] Failed to fetch channel messages for ${e}:`,n),[]}}async function ur(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=ss(i),c=Mi(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 vn(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=Mi(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:ss(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 Yn(e){T().invalidateQueries({queryKey:w.children(e)})}function is(e){T().invalidateQueries({queryKey:w.item(e)})}function Ii(e,t){is(e),Yn(e);let n=e.split("/");n.pop();let r=n.join("/")||t;r&&Yn(r)}function Fi(e){let t=e+"/";T().invalidateQueries({predicate:n=>{let r=n.queryKey;return r[0]!=="vfs"?!1:r.some(s=>typeof s=="string"&&(s===e||s.startsWith(t)))}})}function ki(){T().invalidateQueries({queryKey:w.all()})}function qi(e){T().invalidateQueries({queryKey:w.types(e)})}function Di(e,t){e?T().invalidateQueries({queryKey:w.channelMessages(e,t)}):T().invalidateQueries({queryKey:w.allChannelMessages()})}function Ui(e,t){e&&t?T().invalidateQueries({queryKey:w.openEnvelope(e,t)}):e?T().invalidateQueries({predicate:n=>{let r=n.queryKey;return r[0]==="vfs"&&r[2]==="open"&&r[3]===e}}):T().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 B(...e){Ka&&console.log("[WS]",...e)}var O=null,Dt=null,Ut=null,bn=0,La=3e4,Qi=1e4,Nt=!1,ja=3e4,lr=null,Ni=!1;function Va(){Sn(),lr=setInterval(()=>{qe({type:"ping"})},ja)}function Sn(){lr&&(clearInterval(lr),lr=null)}function Ha(){typeof document>"u"||(document.hidden?Sn():wn()&&(B("Tab visible, reconnecting..."),Rn()))}function Wa(){Ni||typeof document>"u"||(document.addEventListener("visibilitychange",Ha),Ni=!0)}var ee={},Qt=[],Kt=new Map,ut=new Map;function Ba(){return Object.keys(ee).some(t=>ee[t]&&ee[t].length>0)||Qt.length>0}function wn(){return Kt.size>0||ut.size>0}async function Rn(){if(!wn()){B("ensureConnection: no active subscriptions, skipping");return}if(O&&O.readyState===WebSocket.OPEN){B("ensureConnection: already open");return}if(Dt)return B("ensureConnection: connection already in flight, waiting..."),Dt;if(O){B("ensureConnection: killing stale WS in state",O.readyState);try{O.close()}catch{}O=null}return Nt=!1,Dt=(async()=>{try{let e=typeof window<"u"&&window.__FSAOS_CONFIG__||{},t=De,n=await xe();if(!n){B("ensureConnection: no token available, will retry"),Ki();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"),bn=0,$a(),(typeof document>"u"||!document.hidden)&&Va(),Wa(),a()},O.onmessage=d=>{Ga(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,Sn(),!Nt&&wn()&&Ki(),c(new Error(`WebSocket closed: ${d.code}`))}})}catch(e){B("ensureConnection: failed -",e?.message||e)}finally{Dt=null}})(),Dt}function Ki(){if(Ut||typeof document<"u"&&document.hidden)return;let e=Math.min(1e3*Math.pow(2,bn)+Math.random()*1e3,La);bn++,B("scheduleReconnect: attempt",bn,"in",Math.round(e),"ms"),Ut=setTimeout(()=>{Ut=null,wn()&&Rn()},e)}function $a(){for(let e of Kt.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 Ga(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 Qt)s.eventType!=="*"&&s.eventType!==n||s.filter&&!s.filter(r)||s.callback(r)}}catch{}}function os(){!Ba()&&Kt.size===0&&ut.size===0&&O&&(Nt=!0,Sn(),O.close(),O=null,Nt=!1)}function dr(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"]})),Rn(),()=>{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}))}os()}}function te(e,t,n){let s=(Array.isArray(e)?e:[e]).map(i=>({eventType:i,callback:t,filter:n}));return Qt.push(...s),wn()&&Rn(),()=>{for(let i of s){let a=Qt.indexOf(i);a!==-1&&Qt.splice(a,1)}os()}}function fr(e,t=["vfs_change","ccm_change"]){return B("subscribeToScope:",e,t),Kt.set(e,{scope_id:e,event_types:t}),O&&O.readyState===WebSocket.OPEN&&qe({type:"subscribe",scope_id:e,event_types:t}),Rn(),()=>{Kt.delete(e),qe({type:"unsubscribe",scope_id:e}),os()}}function Li(e,t,n={}){qe({type:"emit",scope_id:e,event_type:t,payload:n})}function as(){B("disconnectSSE: tearing down"),Nt=!0,Sn(),O&&(O.close(),O=null),Ut&&(clearTimeout(Ut),Ut=null),Dt=null,Nt=!1,bn=0;for(let e of Object.keys(ee))delete ee[e];Qt.length=0,Kt.clear(),ut.clear()}function ji(){qe({type:"ping"})}Pe(as);var Lt=new Map,pr=null,Cn=new Map,za=250;function xn(e){hr(),Pn(e),pr=te("vfs_change",t=>Ja(t))}function Pn(e){if(Lt.has(e))return;let t=fr(e,["vfs_change","ccm_change"]);Lt.set(e,t)}function Vi(e){let t=Lt.get(e);t&&(t(),Lt.delete(e))}function hr(){for(let[,e]of Lt)e();Lt.clear(),pr&&(pr(),pr=null),Cn.forEach(e=>clearTimeout(e)),Cn.clear()}Pe(hr);function Ja(e){let t=e.path,n=e.action;if(!t)return;let r=t.split("/");r.pop();let s=r.join("/")||"/root",i=Cn.get(s);i&&clearTimeout(i);let a=setTimeout(()=>{Cn.delete(s),Ya(n,t,e,s)},za);Cn.set(s,a)}function Ya(e,t,n,r){if((e||"").toUpperCase()==="DELETE")T().removeQueries({queryKey:w.item(t)}),T().removeQueries({queryKey:w.children(t)}),T().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&&T().setQueryData(w.item(t),a)}catch{}T().invalidateQueries({queryKey:w.children(r)}),T().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&&T().invalidateQueries({queryKey:w.itemById(n.item_id)})}var cs=j(ie(),1),Bi=j(Wi(),1);function $i(e){return R("read",{path:e})}function Gi(e,t){return R("list",{path:e,...t})}function zi(e){return R("create",e)}function Ji(e){return R("update",e)}function Yi(e){return R("create",e)}function Xi(e,t){let r=(typeof window<"u"&&window.__FSAOS_CONFIG__||{}).scopePath||"";return R("tools/call",{name:e,instance_path:r,...t||{}})}function Zi(e,t,n){return R("signal",{target_id:e,event_name:t,payload:n||{}})}function eo(e){return((typeof window<"u"&&window.__FSAOS_CONFIG__||{}).edgeBaseUrl||"")+e}var to={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(),T().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 no(){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,Bi.createRoot)(e).render((0,cs.createElement)(pn,{client:T()},(0,cs.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 ro(){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),Za=j(io(),1),ec=j(Gn(),1);function Xa(e){return`${e}/settings/mounts`}var En=null;async function us(e,t){En=Xa(e);try{let s=((await R("read",{path:En}))?.item?.type_data?.mounts??[]).map(t).filter(a=>a!==null),i=Qe();return i&&!s.some(a=>a.id===i.id)&&s.unshift(i),Ir(s),s}catch{let n=Qe(),r=n?[n]:[];return Ir(r),r}}async function oo(){if(!En)return;let e=ht().map(n=>n.id),t=Ye()?.id??null;try{await R("update",{path:En,type_data:{mounts:e,last_anchor:t}})}catch{try{let r=En.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 ls(e){As(e),await oo()}async function ao(e){Ms(e),await oo()}function K(){return(0,y.useSyncExternalStore)(Xe,_e,_e)}function lo(){return K(),Qn()}function fo(e){return K(),k({queryKey:w.item(e),queryFn:()=>Zn(e),enabled:!!e})}function po(e){return K(),k({queryKey:w.itemById(e),queryFn:()=>Xn(e),enabled:!!e})}function fs(e){return K(),k({queryKey:w.children(e),queryFn:()=>er(e),enabled:!!e})}function ho(e){let t=fs(e);return{...t,children:t.data??[]}}function mo(e,t=1){return K(),k({queryKey:w.tree(e,t),queryFn:()=>sr(e,t),enabled:!!e})}function go(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 yo(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 _o(e){K();let t=(0,y.useMemo)(()=>e,[JSON.stringify(e)]);return k({queryKey:w.items(t?.type??"",t),queryFn:()=>_n(t),enabled:!!t?.type,select:n=>n.items})}function vo(e){K();let t=e?.limit??20,n=(0,y.useMemo)(()=>e,[JSON.stringify(e)]),r=mn({queryKey:["vfs",le()??"__unscoped__","infinite-items",n?.type??"",JSON.stringify(n??{})],queryFn:async({pageParam:i=0})=>_n({...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 bo(e){K();let t=20,n=mn({queryKey:["vfs",le()??"__unscoped__","infinite-children",e??""],queryFn:async({pageParam:s=0})=>tr(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 wo(e){return K(),k({queryKey:w.edges(e),queryFn:()=>rr(e),enabled:!!e})}function mr(e){return K(),k({queryKey:w.types(e),queryFn:()=>nr(e)})}function So(e,t){let n=mr(t);return{...n,data:n.data?.get(e)??void 0}}function Ro(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 cr(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 co={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 Co(e){let t=mr(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(co).map(([h,v])=>({key:h,label:v})),getEdgeTypeLabel:h=>co[h]??h.replace(/_/g," "),allTypes:n,loading:t.isLoading}),[n,t.isLoading])}function xo(e,t,n){return K(),k({queryKey:w.memberFocus(e),queryFn:()=>ar(e,t,n),enabled:!!e})}function Po(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:()=>yn(e,{limit:n,offset:r,include_snapshots:s}),enabled:!!e})}function Eo(e,t=50,n=0){return k({queryKey:w.itemHistory(e,String(t),String(n)),queryFn:()=>or(e,t,n),enabled:!!e})}function To(e,t=50,n=0){return K(),k({queryKey:w.recentActivity(e,String(t),String(n)),queryFn:()=>ir(e,t,n),enabled:!!e})}function Ao(){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 Dn().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 tc=[];function Tn(e){return{id:e.accountId,path:e.path,kind:e.isSpace?"space":"account",name:e.name,grantedUnderAccountId:e.grantedUnderAccountId??void 0}}function Mo(){let{user:e}=gr(),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??tc,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];Xt(Tn(l)),xn(l.accountId),l.personalSpacePath&&us(l.personalSpacePath,p=>{let f=r.find(h=>h.accountId===p);return f?Tn(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=Tn(p);Qe()?Ue(f):(Xt(f),p.personalSpacePath&&us(p.personalSpacePath,h=>{let v=r.find(m=>m.accountId===h);return v?Tn(v):null}).catch(()=>{})),xn(p.accountId)},[r]),d=(0,y.useCallback)(l=>{let p=r.find(f=>f.path===l);p&&(ls(Tn(p)).catch(()=>{}),Pn(l))},[r]);return{accounts:i,allMemberships:r,currentAccount:c,mountedScope:null,switchAccount:u,mountScope:d,loading:n.isLoading,error:n.error}}function Oo(){let e=(0,y.useSyncExternalStore)(qn,en,en);return{mounts:(0,y.useMemo)(()=>ht(),[e]),homeAnchor:Qe(),anchor:Ye(),setAnchor:Ue,mount:ls,unmount:ao}}function gr(){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(),T().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 Io(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 An={},uo={};Pe(()=>{for(let e of Object.keys(An))delete An[e]});var Fo=null;function ko(e){Fo=e,typeof window<"u"&&!window.__FSAOS_GATEWAY__&&(window.__FSAOS_GATEWAY__=e)}function nc(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||Za;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}:ec;case"@fsaos/gateway":case"@fsaos/react":return typeof window<"u"&&window.__FSAOS_GATEWAY__||Fo||{};case"@fsaos/ui":return typeof window<"u"&&window.__FSAOS_UI__||{};case"@fsaos/theme":return{};default:return console.warn(`[useComponent] Unknown module requested: ${e}`),{}}}function rc(e,t){return e.replace(/^(\s*)(:root|body)(\s*[{,])/gm,(n,r,s,i)=>`${r}.${t}${i}`)}async function sc(e,t){if(!uo[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=rc(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),uo[e]=s}catch{}}function ic(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)(nc),a=t??i;return a?a.default||a:null}finally{n!==void 0?window.__FSAOS_REGISTER__=n:delete window.__FSAOS_REGISTER__}}function ps(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(An[p]){n(()=>An[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");sc(m).catch(()=>{});let g=ic(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})`);An[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 oc=["--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 qo(){return{data:(0,y.useMemo)(()=>{if(typeof document>"u")return{tokens:{}};let t={},n=getComputedStyle(document.documentElement);return oc.forEach(r=>{t[r]=n.getPropertyValue(r).trim()}),{tokens:t}},[]),loading:!1,error:null}}function Do(e,t){return{data:{allowed:!0},loading:!1,error:null}}function Uo(e,t){let n={};return(t||[]).forEach(r=>{n[r]=!0}),{data:n,loading:!1,error:null}}var oe=null,jt=null,ds=new Set;function ac(){ds.forEach(e=>e())}Pe(()=>{oe=null,jt=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 jt||(jt=(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{jt=null}})(),jt)}async function No(e){return(await Qo(e)).principalId}function Ko(){let e=gr(),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 ds.add(a),()=>{ds.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 Lo(){return{data:null,loading:!1,error:null}}function jo(e){let{path:t,...n}=e,r=ps(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 Vo(e){return e.children}function Ho(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:()=>ur(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 Wo(e){K();let{channelPath:t,parentMessageId:n,limit:r=50,realtime:s=!0,enabled:i=!0}=e,a=!!n,c=i&&!!t,u=mn({queryKey:[...w.channelMessages(t||"",n),"infinite",r],queryFn:async({pageParam:m})=>vn(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 vn(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(A=>A.id)),re=C.messages.filter(A=>!lt.has(A.id)),N=[...W.messages,...re].sort((A,Je)=>A.seq-Je.seq),J=new Map(W.messageCards);for(let[A,Je]of C.messageCards){let $=J.get(A)||[],Vt=new Set($.map(br=>br.id)),ga=Je.filter(br=>!Vt.has(br.id));J.set(A,[...$,...ga])}let me=new Set(W.siblingCards.map(A=>A.id)),ge=C.siblingCards.filter(A=>!me.has(A.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 cc(e){return e==="on"||e==="auto"?"on":"off"}function uc(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:cc(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 yr(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(uc),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 Bo(e={}){let t=yr(e),n=(0,y.useMemo)(()=>t.channels.filter(r=>!r.isDm),[t.channels]);return{...t,channels:n}}function $o(e={}){let t=yr(e),n=(0,y.useMemo)(()=>t.channels.filter(r=>r.isDm),[t.channels]);return{...t,channels:n}}function hs(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 Go(e={}){let{channels:t,realtime:n=!0,enabled:r=!0}=e,{notifications:s,isLoading:i,isFetching:a,error:c,refetch:u}=hs({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 zo(){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 Jo(){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 Yo(){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},ac()}})}function Xo(){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 Zo(){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 ea(){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 ta(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 na(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 ra(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 sa(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 lc(e){return e.split("_").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function dc(e,t){return t&&t.length>0?"select":e==="boolean"?"toggle":e==="integer"||e==="number"?"range":e==="string"?"text":"none"}function fc(e,t){return!(e==="object"||e==="array")}function pc(e){return["string","number","integer","boolean"].includes(e)}function hc(e){return e!=="object"&&e!=="array"}function ia(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=fc(u,d),p=pc(u),f=dc(u,d);i.push({key:a,label:c.title||lc(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 ms(e){let t=e.default_data||{},n=e.field_defaults||{},r=ia(e.input_schema,!0,t,n),s=ia(e.system_schema,!1,t,n),i=[...r,...s],a=i.filter(d=>hc(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 oa(e){return{field:"updated_at",direction:"desc"}}function aa(e){let t=ms(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 mc=0;function gc(){return`upload_${Date.now()}_${++mc}`}async function ca(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 yc(h,p,f,e,i,n,r);let v=await ua(d,p,i);return{itemId:d,itemPath:l,fileRef:v}}function yc(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 ua(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 la(){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 A=await R("create",{parent_path:S.parentPath,item_type:W,name:U,type_data:{...S.typeData||{},file_source:{type:"upload",content_type:L}}});if(!A.id)throw Object.assign(new Error(A.error||A.message||"Failed to create file item"),{_step:"create"});if(lt=A.id,re=A.path,s(m,{itemId:lt,itemPath:re}),A.storage_completed&&A.file_ref){s(m,{status:"complete",progress:100,fileRef:A.file_ref}),n.invalidateQueries({queryKey:w.children(S.parentPath)});return}if(N=A.storage_key,J=A.upload_token||"",me=A.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((A,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=Vt=>{Vt.lengthComputable&&s(m,{progress:Math.round(Vt.loaded/Vt.total*100)})},$.onload=()=>{$.status>=200&&$.status<300?A():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 ua(lt,N,L);s(m,{status:"complete",fileRef:ge}),n.invalidateQueries({queryKey:w.children(S.parentPath)})}catch(ge){let ye=ge?.message||String(ge),A=ge?._step||"create";s(m,{status:"error",error:ye,_failedAt:A,_xhr:null})}},[s,n]),c=(0,ne.useCallback)((m,g)=>{let S=gc();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 da=j(ie(),1);async function gs(e,t){return await R("resolve-items",{context_id:e,item_type:t})}function fa(e,t){return(0,da.useSyncExternalStore)(Xe,_e,_e),k({queryKey:["vfs",le()??"__unscoped__","resolved-items",e??"",t],queryFn:()=>gs(e,t),enabled:!!(e&&t)})}var he=j(ie(),1);function _r(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 dr(e,s)}function pa(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:_r(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 ha(e,t=!0){let[n,r]=(0,he.useState)([]);(0,he.useEffect)(()=>!e||!t?void 0:_r(e,a=>{r([...a.timeline])}),[e,t]);let s=n.length>0?n[n.length-1]:null;return{timeline:n,latestActivity:s}}var vr=j(ie(),1);function _c(e,t,n,r){return["vfs","timeline-history",e,t??"__all__",n??500,r??0]}async function ys(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(vc).sort((d,l)=>d.seq-l.seq):[]}catch(a){if(a?.status===404||a?.message?.includes("not found"))return[];throw a}}function ma(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,vr.useRef)(null),l=c?_c(c,n,r,s):["vfs","timeline-history","__disabled__"],p=k({queryKey:l,queryFn:()=>ys(e,{turnId:n,limit:r,offset:s}),enabled:!!e&&i});return(0,vr.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 vc(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}}ko(_s);return Ca(_s);})();
4
4
 
5
5
  /* ── Auto-setup: require shim + mount + backward compat globals ── */
6
6
  (function() {