@ai4b-team/fsaos-gateway-sdk 3.35.1 → 3.36.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,10 +1,10 @@
1
- /* @fsaos/gateway v2.0.0 — Unified FSAOS Edge Runtime — 2026-10-07T03:44:34.187Z */
2
- "use strict";var __FSAOS_GATEWAY__=(()=>{var yu=Object.create;var An=Object.defineProperty;var _u=Object.getOwnPropertyDescriptor;var vu=Object.getOwnPropertyNames;var bu=Object.getPrototypeOf,wu=Object.prototype.hasOwnProperty;var Ri=e=>{throw TypeError(e)};var Su=(e,t,n)=>t in e?An(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var kn=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ru=(e,t)=>{for(var n in t)An(e,n,{get:t[n],enumerable:!0})},xi=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of vu(t))!wu.call(e,s)&&s!==n&&An(e,s,{get:()=>t[s],enumerable:!(r=_u(t,s))||r.enumerable});return e};var Y=(e,t,n)=>(n=e!=null?yu(bu(e)):{},xi(t||!e||!e.__esModule?An(n,"default",{value:e,enumerable:!0}):n,e)),xu=e=>xi(An({},"__esModule",{value:!0}),e);var X=(e,t,n)=>Su(e,typeof t!="symbol"?t+"":t,n),gs=(e,t,n)=>t.has(e)||Ri("Cannot "+n);var u=(e,t,n)=>(gs(e,t,"read from private field"),n?n.call(e):t.get(e)),w=(e,t,n)=>t.has(e)?Ri("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),b=(e,t,n,r)=>(gs(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),P=(e,t,n)=>(gs(e,t,"access private method"),n);var Mn=(e,t,n,r)=>({set _(s){b(e,t,s,n)},get _(){return u(e,t,r)}});var ue=kn((Ul,Ci)=>{Ci.exports=React});var Rr=kn((Qf,io)=>{io.exports={jsx:React.createElement,jsxs:React.createElement,Fragment:React.Fragment}});var vo=kn((pp,_o)=>{_o.exports={createClient:window.supabase.createClient}});var Uo=kn((xp,Do)=>{Do.exports=ReactDOM});var jc=kn((vh,Lc)=>{Lc.exports=ReactDOM});var wi={};Ru(wi,{ComponentRenderer:()=>uc,EnforcementDeniedError:()=>et,FormSubmissionError:()=>In,GatewayRequestError:()=>Pe,InteractionTrackingError:()=>Pn,KernelProvider:()=>lc,QueryClientProvider:()=>Bn,auth:()=>Xc,awaitAnchorReady:()=>Yn,awaitScopeReady:()=>Eo,callTool:()=>zc,cancelQueuedTurn:()=>Nc,cancelTurn:()=>Dc,clearCachedToken:()=>Ws,clearSession:()=>Js,createItem:()=>Hc,disconnectSSE:()=>ri,disposeVfsRealtimeWs:()=>oi,electHomeAnchor:()=>Tt,emitEvent:()=>sa,fetchChannelMessages:()=>ha,fetchChannelMessagesPage:()=>ir,fetchChannelMessagesWithCards:()=>Xr,fetchEdgesForItem:()=>Hr,fetchItemHistory:()=>zr,fetchItemVersions:()=>sr,fetchItems:()=>vn,fetchMemberFocus:()=>Jr,fetchOpenEnvelope:()=>Yr,fetchRecentActivity:()=>Gr,fetchResolvedItems:()=>vi,fetchTimelineHistory:()=>bi,fetchTurnQueueEntries:()=>fa,fetchTypeDefinitions:()=>Vr,fetchVfsChildren:()=>rr,fetchVfsChildrenPage:()=>Br,fetchVfsItem:()=>Wr,fetchVfsItemById:()=>jr,fetchVfsTree:()=>$r,gatewayCall:()=>x,getAccessToken:()=>Je,getAnchor:()=>cn,getAnchorRef:()=>he,getAnchorVersion:()=>Hs,getAssetUrl:()=>Yc,getDefaultSort:()=>nu,getHomeAnchor:()=>de,getMountVersion:()=>Xn,getMounts:()=>Ce,getPathSubscriptionState:()=>oa,getQueryClient:()=>T,getRequiredFormFields:()=>ru,getScope:()=>Z,getScopeVersion:()=>ie,getServerClockOffsetMs:()=>Oo,getServerClockSyncedAt:()=>Fo,getSessionEntry:()=>Et,hasServerClock:()=>Mo,initSession:()=>ft,initVfsRealtimeWs:()=>Mt,initializeFsaos:()=>Qc,initializeWorkspace:()=>ls,interpretSchema:()=>_i,invalidateAllVfs:()=>_a,invalidateChannelMessages:()=>ba,invalidateChildren:()=>Lr,invalidateItem:()=>ii,invalidateOpenEnvelope:()=>wa,invalidatePathAndParent:()=>ga,invalidateSubtree:()=>ya,invalidateTypes:()=>va,isAnchorReady:()=>Gs,isChannelPath:()=>Ke,isListableItemsFilter:()=>_n,isScopeReady:()=>kr,itemsFilterFromQueryFilter:()=>pa,listChildren:()=>Vc,loadMounts:()=>Ot,mount:()=>Zc,mountRealtimeScope:()=>wn,normalizeItem:()=>ge,onConnectionStateChange:()=>ua,pathSubscriptionMatches:()=>ei,ping:()=>ia,pushChanges:()=>Gc,queryClient:()=>Vo,readItem:()=>Bc,refreshQuery:()=>Te,registerCleanup:()=>se,replaceMounts:()=>rs,resetAllSdkState:()=>un,resolvePrincipalId:()=>oc,resubscribePath:()=>ca,selectMount:()=>ur,serverDeadlinePassed:()=>qo,serverMsUntil:()=>Qo,serverNow:()=>Mr,setAnchor:()=>Ir,setCachedToken:()=>So,setQueryClient:()=>Bo,setScope:()=>To,setupRequireShim:()=>eu,signal:()=>Jc,startTracking:()=>us,steerTurn:()=>Uc,submitForm:()=>Kc,subscribeAnchor:()=>$s,subscribeArtifactStream:()=>ds,subscribeMounts:()=>Ar,subscribeScope:()=>ke,subscribeToEvents:()=>ne,subscribeToPath:()=>Kr,subscribeToScope:()=>yn,trackAction:()=>Oc,trackEvent:()=>Ft,trackPageView:()=>Mc,unmountRealtimeScope:()=>ts,updateItem:()=>$c,uploadFile:()=>su,useAccounts:()=>Ya,useAgentTimeline:()=>lu,useAllChannels:()=>as,useArrangement:()=>xn,useArtifactStream:()=>uu,useAsset:()=>Za,useAuth:()=>os,useChannelMessages:()=>dc,useChannels:()=>pc,useChildren:()=>qa,useComponent:()=>di,useCreate:()=>gc,useDelete:()=>vc,useDmChannels:()=>mc,useEdges:()=>ja,useEventStream:()=>Rc,useFileUpload:()=>ou,useInfiniteChannelMessages:()=>fc,useInfiniteChildren:()=>La,useInfiniteItems:()=>Ka,useItem:()=>Oa,useItemById:()=>Fa,useItemHistory:()=>Ga,useItemVersions:()=>$a,useItems:()=>Na,useLink:()=>wc,useList:()=>li,useMemberFocus:()=>Ha,useMintedAsset:()=>Cc,useMounts:()=>Xa,useMove:()=>bc,useMutation:()=>Sc,useNotifications:()=>fi,useOpen:()=>Ba,usePermission:()=>rc,usePermissions:()=>sc,usePersonalItemOrder:()=>Pc,usePinnedItems:()=>fu,usePrincipal:()=>ac,useRealtimeQuery:()=>xc,useRecentActivity:()=>za,useResolve:()=>Ua,useResolvedItems:()=>cu,useScope:()=>Ja,useScopeReady:()=>Ma,useSearch:()=>Da,useTheme:()=>nc,useTimelineHistory:()=>du,useTool:()=>cc,useTree:()=>Qa,useType:()=>Wa,useTypeHelpers:()=>Va,useTypes:()=>is,useUnreadCounts:()=>hc,useUpdate:()=>yc,useUpdatePrincipal:()=>_c,vfsKeys:()=>S,waitForPathReady:()=>aa});var et=class e extends Error{constructor(n){let r=n.message||e.fallbackMessage(n);super(r);X(this,"name","EnforcementDeniedError");X(this,"deniedBy");X(this,"ruleKey");X(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 Cn=Y(ue(),1);var Se=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 gt,tt,Qt,Pi,Cu=(Pi=class extends Se{constructor(){super();w(this,gt);w(this,tt);w(this,Qt);b(this,Qt,t=>{if(typeof window<"u"&&window.addEventListener){let n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){u(this,tt)||this.setEventListener(u(this,Qt))}onUnsubscribe(){var t;this.hasListeners()||((t=u(this,tt))==null||t.call(this),b(this,tt,void 0))}setEventListener(t){var n;b(this,Qt,t),(n=u(this,tt))==null||n.call(this),b(this,tt,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){u(this,gt)!==t&&(b(this,gt,t),this.onFocus())}onFocus(){let t=this.isFocused();this.listeners.forEach(n=>{n(t)})}isFocused(){return typeof u(this,gt)=="boolean"?u(this,gt):globalThis.document?.visibilityState!=="hidden"}},gt=new WeakMap,tt=new WeakMap,Qt=new WeakMap,Pi),Dt=new Cu;var Pu={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},nt,ys,Ti,Tu=(Ti=class{constructor(){w(this,nt,Pu);w(this,ys,!1)}setTimeoutProvider(e){b(this,nt,e)}setTimeout(e,t){return u(this,nt).setTimeout(e,t)}clearTimeout(e){u(this,nt).clearTimeout(e)}setInterval(e,t){return u(this,nt).setInterval(e,t)}clearInterval(e){u(this,nt).clearInterval(e)}},nt=new WeakMap,ys=new WeakMap,Ti),Fe=new Tu;function Ei(e){setTimeout(e,0)}var vs=typeof window>"u"||"Deno"in globalThis;function $(){}function ki(e,t){return typeof e=="function"?e(t):e}function On(e){return typeof e=="number"&&e>=0&&e!==1/0}function mr(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Ie(e,t){return typeof e=="function"?e(t):e}function fe(e,t){return typeof e=="function"?e(t):e}function hr(e,t){let{type:n="all",exact:r,fetchStatus:s,predicate:i,queryKey:o,stale:c}=e;if(o){if(r){if(t.queryHash!==Fn(o,t.options))return!1}else if(!yt(t.queryKey,o))return!1}if(n!=="all"){let a=t.isActive();if(n==="active"&&!a||n==="inactive"&&a)return!1}return!(typeof c=="boolean"&&t.isStale()!==c||s&&s!==t.state.fetchStatus||i&&!i(t))}function gr(e,t){let{exact:n,status:r,predicate:s,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(n){if(qe(t.options.mutationKey)!==qe(i))return!1}else if(!yt(t.options.mutationKey,i))return!1}return!(r&&t.state.status!==r||s&&!s(t))}function Fn(e,t){return(t?.queryKeyHashFn||qe)(e)}function qe(e){return JSON.stringify(e,(t,n)=>_s(n)?Object.keys(n).sort().reduce((r,s)=>(r[s]=n[s],r),{}):n)}function yt(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(n=>yt(e[n],t[n])):!1}var Eu=Object.prototype.hasOwnProperty;function bs(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=Ii(e)&&Ii(t);if(!r&&!(_s(e)&&_s(t)))return t;let i=(r?e:Object.keys(e)).length,o=r?t:Object.keys(t),c=o.length,a=r?new Array(c):{},l=0;for(let d=0;d<c;d++){let p=r?d:o[d],m=e[p],f=t[p];if(m===f){a[p]=m,(r?d<i:Eu.call(e,p))&&l++;continue}if(m===null||f===null||typeof m!="object"||typeof f!="object"){a[p]=f;continue}let y=bs(m,f,n+1);a[p]=y,y===m&&l++}return i===c&&l===i?e:a}function Ut(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 Ii(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function _s(e){if(!Ai(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!Ai(n)||!n.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function Ai(e){return Object.prototype.toString.call(e)==="[object Object]"}function Mi(e){return new Promise(t=>{Fe.setTimeout(t,e)})}function qn(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?bs(e,t):t}function Oi(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function Fi(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var Nt=Symbol();function yr(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===Nt?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function Kt(e,t){return typeof e=="function"?e(...t):!!e}function qi(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 Qe=(()=>{let e=()=>vs;return{isServer(){return e()},setIsServer(t){e=t}}})();function Qn(){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 Qi=Ei;function Iu(){let e=[],t=0,n=c=>{c()},r=c=>{c()},s=Qi,i=c=>{t?e.push(c):s(()=>{n(c)})},o=()=>{let c=e;e=[],c.length&&s(()=>{r(()=>{c.forEach(a=>{n(a)})})})};return{batch:c=>{let a;t++;try{a=c()}finally{t--,t||o()}return a},batchCalls:c=>(...a)=>{i(()=>{c(...a)})},schedule:i,setNotifyFunction:c=>{n=c},setBatchNotifyFunction:c=>{r=c},setScheduler:c=>{s=c}}}var L=Iu();var Lt,rt,jt,Di,Au=(Di=class extends Se{constructor(){super();w(this,Lt,!0);w(this,rt);w(this,jt);b(this,jt,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(){u(this,rt)||this.setEventListener(u(this,jt))}onUnsubscribe(){var t;this.hasListeners()||((t=u(this,rt))==null||t.call(this),b(this,rt,void 0))}setEventListener(t){var n;b(this,jt,t),(n=u(this,rt))==null||n.call(this),b(this,rt,t(this.setOnline.bind(this)))}setOnline(t){u(this,Lt)!==t&&(b(this,Lt,t),this.listeners.forEach(r=>{r(t)}))}isOnline(){return u(this,Lt)}},Lt=new WeakMap,rt=new WeakMap,jt=new WeakMap,Di),Wt=new Au;function ku(e){return Math.min(1e3*2**e,3e4)}function ws(e){return(e??"online")==="online"?Wt.isOnline():!0}var _r=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function vr(e){let t=!1,n=0,r,s=Qn(),i=()=>s.status!=="pending",o=h=>{if(!i()){let g=new _r(h);m(g),e.onCancel?.(g)}},c=()=>{t=!0},a=()=>{t=!1},l=()=>Dt.isFocused()&&(e.networkMode==="always"||Wt.isOnline())&&e.canRun(),d=()=>ws(e.networkMode)&&e.canRun(),p=h=>{i()||(r?.(),s.resolve(h))},m=h=>{i()||(r?.(),s.reject(h))},f=()=>new Promise(h=>{r=g=>{(i()||l())&&h(g)},e.onPause?.()}).then(()=>{r=void 0,i()||e.onContinue?.()}),y=()=>{if(i())return;let h,g=n===0?e.initialPromise:void 0;try{h=g??e.fn()}catch(v){h=Promise.reject(v)}Promise.resolve(h).then(p).catch(v=>{if(i())return;let C=e.retry??(Qe.isServer()?0:3),q=e.retryDelay??ku,F=typeof q=="function"?q(n,v):q,R=C===!0||typeof C=="number"&&n<C||typeof C=="function"&&C(n,v);if(t||!R){m(v);return}n++,e.onFail?.(n,v),Mi(F).then(()=>l()?void 0:f()).then(()=>{t?m(v):y()})})};return{promise:s,status:()=>s.status,cancel:o,continue:()=>(r?.(),s),cancelRetry:c,continueRetry:a,canStart:d,start:()=>(d()?y():f().then(y),s)}}var _t,Ui,br=(Ui=class{constructor(){w(this,_t)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),On(this.gcTime)&&b(this,_t,Fe.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Qe.isServer()?1/0:5*60*1e3))}clearGcTimeout(){u(this,_t)!==void 0&&(Fe.clearTimeout(u(this,_t)),b(this,_t,void 0))}},_t=new WeakMap,Ui);var vt,Bt,Re,bt,ee,Dn,wt,_e,Wi,We,Li,ji=(Li=class extends br{constructor(t){super();w(this,_e);w(this,vt);w(this,Bt);w(this,Re);w(this,bt);w(this,ee);w(this,Dn);w(this,wt);b(this,wt,!1),b(this,Dn,t.defaultOptions),this.setOptions(t.options),this.observers=[],b(this,bt,t.client),b(this,Re,u(this,bt).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,b(this,vt,Ki(this.options)),this.state=t.state??u(this,vt),this.scheduleGc()}get meta(){return this.options.meta}get promise(){return u(this,ee)?.promise}setOptions(t){if(this.options={...u(this,Dn),...t},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let n=Ki(this.options);n.data!==void 0&&(this.setState(Ni(n.data,n.dataUpdatedAt)),b(this,vt,n))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&u(this,Re).remove(this)}setData(t,n){let r=qn(this.state.data,t,this.options);return P(this,_e,We).call(this,{data:r,type:"success",dataUpdatedAt:n?.updatedAt,manual:n?.manual}),r}setState(t,n){P(this,_e,We).call(this,{type:"setState",state:t,setStateOptions:n})}cancel(t){let n=u(this,ee)?.promise;return u(this,ee)?.cancel(t),n?n.then($).catch($):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return u(this,vt)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(t=>fe(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Nt||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>Ie(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:!mr(this.state.dataUpdatedAt,t)}onFocus(){this.observers.find(n=>n.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),u(this,ee)?.continue()}onOnline(){this.observers.find(n=>n.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),u(this,ee)?.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),u(this,Re).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(n=>n!==t),this.observers.length||(u(this,ee)&&(u(this,wt)||P(this,_e,Wi).call(this)?u(this,ee).cancel({revert:!0}):u(this,ee).cancelRetry()),this.scheduleGc()),u(this,Re).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||P(this,_e,We).call(this,{type:"invalidate"})}async fetch(t,n){if(this.state.fetchStatus!=="idle"&&u(this,ee)?.status()!=="rejected"){if(this.state.data!==void 0&&n?.cancelRefetch)this.cancel({silent:!0});else if(u(this,ee))return u(this,ee).continueRetry(),u(this,ee).promise}if(t&&this.setOptions(t),!this.options.queryFn){let a=this.observers.find(l=>l.options.queryFn);a&&this.setOptions(a.options)}let r=new AbortController,s=a=>{Object.defineProperty(a,"signal",{enumerable:!0,get:()=>(b(this,wt,!0),r.signal)})},i=()=>{let a=yr(this.options,n),d=(()=>{let p={client:u(this,bt),queryKey:this.queryKey,meta:this.meta};return s(p),p})();return b(this,wt,!1),this.options.persister?this.options.persister(a,d,this):a(d)},c=(()=>{let a={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:u(this,bt),state:this.state,fetchFn:i};return s(a),a})();this.options.behavior?.onFetch(c,this),b(this,Bt,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==c.fetchOptions?.meta)&&P(this,_e,We).call(this,{type:"fetch",meta:c.fetchOptions?.meta}),b(this,ee,vr({initialPromise:n?.initialPromise,fn:c.fetchFn,onCancel:a=>{a instanceof _r&&a.revert&&this.setState({...u(this,Bt),fetchStatus:"idle"}),r.abort()},onFail:(a,l)=>{P(this,_e,We).call(this,{type:"failed",failureCount:a,error:l})},onPause:()=>{P(this,_e,We).call(this,{type:"pause"})},onContinue:()=>{P(this,_e,We).call(this,{type:"continue"})},retry:c.options.retry,retryDelay:c.options.retryDelay,networkMode:c.options.networkMode,canRun:()=>!0}));try{let a=await u(this,ee).start();if(a===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(a),u(this,Re).config.onSuccess?.(a,this),u(this,Re).config.onSettled?.(a,this.state.error,this),a}catch(a){if(a instanceof _r){if(a.silent)return u(this,ee).promise;if(a.revert){if(this.state.data===void 0)throw a;return this.state.data}}throw P(this,_e,We).call(this,{type:"error",error:a}),u(this,Re).config.onError?.(a,this),u(this,Re).config.onSettled?.(this.state.data,a,this),a}finally{this.scheduleGc()}}},vt=new WeakMap,Bt=new WeakMap,Re=new WeakMap,bt=new WeakMap,ee=new WeakMap,Dn=new WeakMap,wt=new WeakMap,_e=new WeakSet,Wi=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},We=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,...Ss(r.data,this.options),fetchMeta:t.meta??null};case"success":let s={...r,...Ni(t.data,t.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return b(this,Bt,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),L.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),u(this,Re).notify({query:this,type:"updated",action:t})})},Li);function Ss(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:ws(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function Ni(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Ki(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 pe,D,Nn,le,St,Vt,Be,st,Kn,Ht,$t,Rt,xt,it,Gt,K,Un,Rs,xs,Cs,Ps,Ts,Es,Is,$i,Hi,Ln=(Hi=class extends Se{constructor(t,n){super();w(this,K);w(this,pe);w(this,D);w(this,Nn);w(this,le);w(this,St);w(this,Vt);w(this,Be);w(this,st);w(this,Kn);w(this,Ht);w(this,$t);w(this,Rt);w(this,xt);w(this,it);w(this,Gt,new Set);this.options=n,b(this,pe,t),b(this,st,null),b(this,Be,Qn()),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(u(this,D).addObserver(this),Bi(u(this,D),this.options)?P(this,K,Un).call(this):this.updateResult(),P(this,K,Ps).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return As(u(this,D),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return As(u(this,D),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,P(this,K,Ts).call(this),P(this,K,Es).call(this),u(this,D).removeObserver(this)}setOptions(t){let n=this.options,r=u(this,D);if(this.options=u(this,pe).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof fe(this.options.enabled,u(this,D))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");P(this,K,Is).call(this),u(this,D).setOptions(this.options),n._defaulted&&!Ut(this.options,n)&&u(this,pe).getQueryCache().notify({type:"observerOptionsUpdated",query:u(this,D),observer:this});let s=this.hasListeners();s&&Vi(u(this,D),r,this.options,n)&&P(this,K,Un).call(this),this.updateResult(),s&&(u(this,D)!==r||fe(this.options.enabled,u(this,D))!==fe(n.enabled,u(this,D))||Ie(this.options.staleTime,u(this,D))!==Ie(n.staleTime,u(this,D)))&&P(this,K,Rs).call(this);let i=P(this,K,xs).call(this);s&&(u(this,D)!==r||fe(this.options.enabled,u(this,D))!==fe(n.enabled,u(this,D))||i!==u(this,it))&&P(this,K,Cs).call(this,i)}getOptimisticResult(t){let n=u(this,pe).getQueryCache().build(u(this,pe),t),r=this.createResult(n,t);return Ou(this,r)&&(b(this,le,r),b(this,Vt,this.options),b(this,St,u(this,D).state)),r}getCurrentResult(){return u(this,le)}trackResult(t,n){return new Proxy(t,{get:(r,s)=>(this.trackProp(s),n?.(s),s==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&u(this,Be).status==="pending"&&u(this,Be).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(r,s))})}trackProp(t){u(this,Gt).add(t)}getCurrentQuery(){return u(this,D)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){let n=u(this,pe).defaultQueryOptions(t),r=u(this,pe).getQueryCache().build(u(this,pe),n);return r.fetch().then(()=>this.createResult(r,n))}fetch(t){return P(this,K,Un).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),u(this,le)))}createResult(t,n){let r=u(this,D),s=this.options,i=u(this,le),o=u(this,St),c=u(this,Vt),l=t!==r?t.state:u(this,Nn),{state:d}=t,p={...d},m=!1,f;if(n._optimisticResults){let I=this.hasListeners(),B=!I&&Bi(t,n),M=I&&Vi(t,r,n,s);(B||M)&&(p={...p,...Ss(d.data,t.options)}),n._optimisticResults==="isRestoring"&&(p.fetchStatus="idle")}let{error:y,errorUpdatedAt:h,status:g}=p;f=p.data;let v=!1;if(n.placeholderData!==void 0&&f===void 0&&g==="pending"){let I;i?.isPlaceholderData&&n.placeholderData===c?.placeholderData?(I=i.data,v=!0):I=typeof n.placeholderData=="function"?n.placeholderData(u(this,$t)?.state.data,u(this,$t)):n.placeholderData,I!==void 0&&(g="success",f=qn(i?.data,I,n),m=!0)}if(n.select&&f!==void 0&&!v)if(i&&f===o?.data&&n.select===u(this,Kn))f=u(this,Ht);else try{b(this,Kn,n.select),f=n.select(f),f=qn(i?.data,f,n),b(this,Ht,f),b(this,st,null)}catch(I){b(this,st,I)}u(this,st)&&(y=u(this,st),f=u(this,Ht),h=Date.now(),g="error");let C=p.fetchStatus==="fetching",q=g==="pending",F=g==="error",R=q&&C,k=f!==void 0,N={status:g,fetchStatus:p.fetchStatus,isPending:q,isSuccess:g==="success",isError:F,isInitialLoading:R,isLoading:R,data:f,dataUpdatedAt:p.dataUpdatedAt,error:y,errorUpdatedAt:h,failureCount:p.fetchFailureCount,failureReason:p.fetchFailureReason,errorUpdateCount:p.errorUpdateCount,isFetched:t.isFetched(),isFetchedAfterMount:p.dataUpdateCount>l.dataUpdateCount||p.errorUpdateCount>l.errorUpdateCount,isFetching:C,isRefetching:C&&!q,isLoadingError:F&&!k,isPaused:p.fetchStatus==="paused",isPlaceholderData:m,isRefetchError:F&&k,isStale:ks(t,n),refetch:this.refetch,promise:u(this,Be),isEnabled:fe(n.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){let I=N.data!==void 0,B=N.status==="error"&&!I,M=O=>{B?O.reject(N.error):I&&O.resolve(N.data)},E=()=>{let O=b(this,Be,N.promise=Qn());M(O)},Q=u(this,Be);switch(Q.status){case"pending":t.queryHash===r.queryHash&&M(Q);break;case"fulfilled":(B||N.data!==Q.value)&&E();break;case"rejected":(!B||N.error!==Q.reason)&&E();break}}return N}updateResult(){let t=u(this,le),n=this.createResult(u(this,D),this.options);if(b(this,St,u(this,D).state),b(this,Vt,this.options),u(this,St).data!==void 0&&b(this,$t,u(this,D)),Ut(n,t))return;b(this,le,n);let r=()=>{if(!t)return!0;let{notifyOnChangeProps:s}=this.options,i=typeof s=="function"?s():s;if(i==="all"||!i&&!u(this,Gt).size)return!0;let o=new Set(i??u(this,Gt));return this.options.throwOnError&&o.add("error"),Object.keys(u(this,le)).some(c=>{let a=c;return u(this,le)[a]!==t[a]&&o.has(a)})};P(this,K,$i).call(this,{listeners:r()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&P(this,K,Ps).call(this)}},pe=new WeakMap,D=new WeakMap,Nn=new WeakMap,le=new WeakMap,St=new WeakMap,Vt=new WeakMap,Be=new WeakMap,st=new WeakMap,Kn=new WeakMap,Ht=new WeakMap,$t=new WeakMap,Rt=new WeakMap,xt=new WeakMap,it=new WeakMap,Gt=new WeakMap,K=new WeakSet,Un=function(t){P(this,K,Is).call(this);let n=u(this,D).fetch(this.options,t);return t?.throwOnError||(n=n.catch($)),n},Rs=function(){P(this,K,Ts).call(this);let t=Ie(this.options.staleTime,u(this,D));if(Qe.isServer()||u(this,le).isStale||!On(t))return;let r=mr(u(this,le).dataUpdatedAt,t)+1;b(this,Rt,Fe.setTimeout(()=>{u(this,le).isStale||this.updateResult()},r))},xs=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(u(this,D)):this.options.refetchInterval)??!1},Cs=function(t){P(this,K,Es).call(this),b(this,it,t),!(Qe.isServer()||fe(this.options.enabled,u(this,D))===!1||!On(u(this,it))||u(this,it)===0)&&b(this,xt,Fe.setInterval(()=>{(this.options.refetchIntervalInBackground||Dt.isFocused())&&P(this,K,Un).call(this)},u(this,it)))},Ps=function(){P(this,K,Rs).call(this),P(this,K,Cs).call(this,P(this,K,xs).call(this))},Ts=function(){u(this,Rt)!==void 0&&(Fe.clearTimeout(u(this,Rt)),b(this,Rt,void 0))},Es=function(){u(this,xt)!==void 0&&(Fe.clearInterval(u(this,xt)),b(this,xt,void 0))},Is=function(){let t=u(this,pe).getQueryCache().build(u(this,pe),this.options);if(t===u(this,D))return;let n=u(this,D);b(this,D,t),b(this,Nn,t.state),this.hasListeners()&&(n?.removeObserver(this),t.addObserver(this))},$i=function(t){L.batch(()=>{t.listeners&&this.listeners.forEach(n=>{n(u(this,le))}),u(this,pe).getQueryCache().notify({query:u(this,D),type:"observerResultsUpdated"})})},Hi);function Mu(e,t){return fe(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function Bi(e,t){return Mu(e,t)||e.state.data!==void 0&&As(e,t,t.refetchOnMount)}function As(e,t,n){if(fe(t.enabled,e)!==!1&&Ie(t.staleTime,e)!=="static"){let r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&ks(e,t)}return!1}function Vi(e,t,n,r){return(e!==t||fe(r.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&ks(e,n)}function ks(e,t){return fe(t.enabled,e)!==!1&&e.isStaleByTime(Ie(t.staleTime,e))}function Ou(e,t){return!Ut(e.getCurrentResult(),t)}function zt(e){return{onFetch:(t,n)=>{let r=t.options,s=t.fetchOptions?.meta?.fetchMore?.direction,i=t.state.data?.pages||[],o=t.state.data?.pageParams||[],c={pages:[],pageParams:[]},a=0,l=async()=>{let d=!1,p=y=>{qi(y,()=>t.signal,()=>d=!0)},m=yr(t.options,t.fetchOptions),f=async(y,h,g)=>{if(d)return Promise.reject();if(h==null&&y.pages.length)return Promise.resolve(y);let C=(()=>{let k={client:t.client,queryKey:t.queryKey,pageParam:h,direction:g?"backward":"forward",meta:t.options.meta};return p(k),k})(),q=await m(C),{maxPages:F}=t.options,R=g?Fi:Oi;return{pages:R(y.pages,q,F),pageParams:R(y.pageParams,h,F)}};if(s&&i.length){let y=s==="backward",h=y?Gi:Ms,g={pages:i,pageParams:o},v=h(r,g);c=await f(g,v,y)}else{let y=e??i.length;do{let h=a===0?o[0]??r.initialPageParam:Ms(r,c);if(a>0&&h==null)break;c=await f(c,h),a++}while(a<y)}return c};t.options.persister?t.fetchFn=()=>t.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=l}}}function Ms(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 Gi(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}function zi(e,t){return t?Ms(e,t)!=null:!1}function Ji(e,t){return!t||!e.getPreviousPageParam?!1:Gi(e,t)!=null}var Os=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:zt()})}getOptimisticResult(e){return e.behavior=zt(),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:o,isRefetchError:c}=r,a=n.fetchMeta?.fetchMore?.direction,l=o&&a==="forward",d=s&&a==="forward",p=o&&a==="backward",m=s&&a==="backward";return{...r,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:zi(t,n.data),hasPreviousPage:Ji(t,n.data),isFetchNextPageError:l,isFetchingNextPage:d,isFetchPreviousPageError:p,isFetchingPreviousPage:m,isRefetchError:c&&!l&&!p,isRefetching:i&&!d&&!m}}};var jn,De,oe,Ct,Ue,ot,Yi,Xi=(Yi=class extends br{constructor(t){super();w(this,Ue);w(this,jn);w(this,De);w(this,oe);w(this,Ct);b(this,jn,t.client),this.mutationId=t.mutationId,b(this,oe,t.mutationCache),b(this,De,[]),this.state=t.state||Fs(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){u(this,De).includes(t)||(u(this,De).push(t),this.clearGcTimeout(),u(this,oe).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){b(this,De,u(this,De).filter(n=>n!==t)),this.scheduleGc(),u(this,oe).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){u(this,De).length||(this.state.status==="pending"?this.scheduleGc():u(this,oe).remove(this))}continue(){return u(this,Ct)?.continue()??this.execute(this.state.variables)}async execute(t){let n=()=>{P(this,Ue,ot).call(this,{type:"continue"})},r={client:u(this,jn),meta:this.options.meta,mutationKey:this.options.mutationKey};b(this,Ct,vr({fn:()=>this.options.mutationFn?this.options.mutationFn(t,r):Promise.reject(new Error("No mutationFn found")),onFail:(o,c)=>{P(this,Ue,ot).call(this,{type:"failed",failureCount:o,error:c})},onPause:()=>{P(this,Ue,ot).call(this,{type:"pause"})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>u(this,oe).canRun(this)}));let s=this.state.status==="pending",i=!u(this,Ct).canStart();try{if(s)n();else{P(this,Ue,ot).call(this,{type:"pending",variables:t,isPaused:i}),u(this,oe).config.onMutate&&await u(this,oe).config.onMutate(t,this,r);let c=await this.options.onMutate?.(t,r);c!==this.state.context&&P(this,Ue,ot).call(this,{type:"pending",context:c,variables:t,isPaused:i})}let o=await u(this,Ct).start();return await u(this,oe).config.onSuccess?.(o,t,this.state.context,this,r),await this.options.onSuccess?.(o,t,this.state.context,r),await u(this,oe).config.onSettled?.(o,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(o,null,t,this.state.context,r),P(this,Ue,ot).call(this,{type:"success",data:o}),o}catch(o){try{await u(this,oe).config.onError?.(o,t,this.state.context,this,r)}catch(c){Promise.reject(c)}try{await this.options.onError?.(o,t,this.state.context,r)}catch(c){Promise.reject(c)}try{await u(this,oe).config.onSettled?.(void 0,o,this.state.variables,this.state.context,this,r)}catch(c){Promise.reject(c)}try{await this.options.onSettled?.(void 0,o,t,this.state.context,r)}catch(c){Promise.reject(c)}throw P(this,Ue,ot).call(this,{type:"error",error:o}),o}finally{u(this,oe).runNext(this)}}},jn=new WeakMap,De=new WeakMap,oe=new WeakMap,Ct=new WeakMap,Ue=new WeakSet,ot=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),L.batch(()=>{u(this,De).forEach(r=>{r.onMutationUpdate(t)}),u(this,oe).notify({mutation:this,type:"updated",action:t})})},Yi);function Fs(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Ve,Ae,Wn,Zi,eo=(Zi=class extends Se{constructor(t={}){super();w(this,Ve);w(this,Ae);w(this,Wn);this.config=t,b(this,Ve,new Set),b(this,Ae,new Map),b(this,Wn,0)}build(t,n,r){let s=new Xi({client:t,mutationCache:this,mutationId:++Mn(this,Wn)._,options:t.defaultMutationOptions(n),state:r});return this.add(s),s}add(t){u(this,Ve).add(t);let n=wr(t);if(typeof n=="string"){let r=u(this,Ae).get(n);r?r.push(t):u(this,Ae).set(n,[t])}this.notify({type:"added",mutation:t})}remove(t){if(u(this,Ve).delete(t)){let n=wr(t);if(typeof n=="string"){let r=u(this,Ae).get(n);if(r)if(r.length>1){let s=r.indexOf(t);s!==-1&&r.splice(s,1)}else r[0]===t&&u(this,Ae).delete(n)}}this.notify({type:"removed",mutation:t})}canRun(t){let n=wr(t);if(typeof n=="string"){let s=u(this,Ae).get(n)?.find(i=>i.state.status==="pending");return!s||s===t}else return!0}runNext(t){let n=wr(t);return typeof n=="string"?u(this,Ae).get(n)?.find(s=>s!==t&&s.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){L.batch(()=>{u(this,Ve).forEach(t=>{this.notify({type:"removed",mutation:t})}),u(this,Ve).clear(),u(this,Ae).clear()})}getAll(){return Array.from(u(this,Ve))}find(t){let n={exact:!0,...t};return this.getAll().find(r=>gr(n,r))}findAll(t={}){return this.getAll().filter(n=>gr(t,n))}notify(t){L.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){let t=this.getAll().filter(n=>n.state.isPaused);return L.batch(()=>Promise.all(t.map(n=>n.continue().catch($))))}},Ve=new WeakMap,Ae=new WeakMap,Wn=new WeakMap,Zi);function wr(e){return e.options.scope?.id}var He,at,me,$e,Ge,Sr,qs,to,Qs=(to=class extends Se{constructor(t,n){super();w(this,Ge);w(this,He);w(this,at);w(this,me);w(this,$e);b(this,He,t),this.setOptions(n),this.bindMethods(),P(this,Ge,Sr).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){let n=this.options;this.options=u(this,He).defaultMutationOptions(t),Ut(this.options,n)||u(this,He).getMutationCache().notify({type:"observerOptionsUpdated",mutation:u(this,me),observer:this}),n?.mutationKey&&this.options.mutationKey&&qe(n.mutationKey)!==qe(this.options.mutationKey)?this.reset():u(this,me)?.state.status==="pending"&&u(this,me).setOptions(this.options)}onUnsubscribe(){this.hasListeners()||u(this,me)?.removeObserver(this)}onMutationUpdate(t){P(this,Ge,Sr).call(this),P(this,Ge,qs).call(this,t)}getCurrentResult(){return u(this,at)}reset(){u(this,me)?.removeObserver(this),b(this,me,void 0),P(this,Ge,Sr).call(this),P(this,Ge,qs).call(this)}mutate(t,n){return b(this,$e,n),u(this,me)?.removeObserver(this),b(this,me,u(this,He).getMutationCache().build(u(this,He),this.options)),u(this,me).addObserver(this),u(this,me).execute(t)}},He=new WeakMap,at=new WeakMap,me=new WeakMap,$e=new WeakMap,Ge=new WeakSet,Sr=function(){let t=u(this,me)?.state??Fs();b(this,at,{...t,isPending:t.status==="pending",isSuccess:t.status==="success",isError:t.status==="error",isIdle:t.status==="idle",mutate:this.mutate,reset:this.reset})},qs=function(t){L.batch(()=>{if(u(this,$e)&&this.hasListeners()){let n=u(this,at).variables,r=u(this,at).context,s={client:u(this,He),meta:this.options.meta,mutationKey:this.options.mutationKey};if(t?.type==="success"){try{u(this,$e).onSuccess?.(t.data,n,r,s)}catch(i){Promise.reject(i)}try{u(this,$e).onSettled?.(t.data,null,n,r,s)}catch(i){Promise.reject(i)}}else if(t?.type==="error"){try{u(this,$e).onError?.(t.error,n,r,s)}catch(i){Promise.reject(i)}try{u(this,$e).onSettled?.(void 0,t.error,n,r,s)}catch(i){Promise.reject(i)}}}this.listeners.forEach(n=>{n(u(this,at))})})},to);var Ne,no,ro=(no=class extends Se{constructor(t={}){super();w(this,Ne);this.config=t,b(this,Ne,new Map)}build(t,n,r){let s=n.queryKey,i=n.queryHash??Fn(s,n),o=this.get(i);return o||(o=new ji({client:t,queryKey:s,queryHash:i,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(s)}),this.add(o)),o}add(t){u(this,Ne).has(t.queryHash)||(u(this,Ne).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){let n=u(this,Ne).get(t.queryHash);n&&(t.destroy(),n===t&&u(this,Ne).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){L.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return u(this,Ne).get(t)}getAll(){return[...u(this,Ne).values()]}find(t){let n={exact:!0,...t};return this.getAll().find(r=>hr(n,r))}findAll(t={}){let n=this.getAll();return Object.keys(t).length>0?n.filter(r=>hr(t,r)):n}notify(t){L.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){L.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){L.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Ne=new WeakMap,no);var G,ct,ut,Jt,Yt,lt,Xt,Zt,so,Ds=(so=class{constructor(e={}){w(this,G);w(this,ct);w(this,ut);w(this,Jt);w(this,Yt);w(this,lt);w(this,Xt);w(this,Zt);b(this,G,e.queryCache||new ro),b(this,ct,e.mutationCache||new eo),b(this,ut,e.defaultOptions||{}),b(this,Jt,new Map),b(this,Yt,new Map),b(this,lt,0)}mount(){Mn(this,lt)._++,u(this,lt)===1&&(b(this,Xt,Dt.subscribe(async e=>{e&&(await this.resumePausedMutations(),u(this,G).onFocus())})),b(this,Zt,Wt.subscribe(async e=>{e&&(await this.resumePausedMutations(),u(this,G).onOnline())})))}unmount(){var e,t;Mn(this,lt)._--,u(this,lt)===0&&((e=u(this,Xt))==null||e.call(this),b(this,Xt,void 0),(t=u(this,Zt))==null||t.call(this),b(this,Zt,void 0))}isFetching(e){return u(this,G).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return u(this,ct).findAll({...e,status:"pending"}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return u(this,G).get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=u(this,G).build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(Ie(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return u(this,G).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=u(this,G).get(r.queryHash)?.state.data,o=ki(t,i);if(o!==void 0)return u(this,G).build(this,r).setData(o,{...n,manual:!0})}setQueriesData(e,t,n){return L.batch(()=>u(this,G).findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return u(this,G).get(t.queryHash)?.state}removeQueries(e){let t=u(this,G);L.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){let n=u(this,G);return L.batch(()=>(n.findAll(e).forEach(r=>{r.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=L.batch(()=>u(this,G).findAll(e).map(s=>s.cancel(n)));return Promise.all(r).then($).catch($)}invalidateQueries(e,t={}){return L.batch(()=>(u(this,G).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=L.batch(()=>u(this,G).findAll(e).filter(s=>!s.isDisabled()&&!s.isStatic()).map(s=>{let i=s.fetch(void 0,n);return n.throwOnError||(i=i.catch($)),s.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(r).then($)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=u(this,G).build(this,t);return n.isStaleByTime(Ie(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then($).catch($)}fetchInfiniteQuery(e){return e.behavior=zt(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then($).catch($)}ensureInfiniteQueryData(e){return e.behavior=zt(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return Wt.isOnline()?u(this,ct).resumePausedMutations():Promise.resolve()}getQueryCache(){return u(this,G)}getMutationCache(){return u(this,ct)}getDefaultOptions(){return u(this,ut)}setDefaultOptions(e){b(this,ut,e)}setQueryDefaults(e,t){u(this,Jt).set(qe(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...u(this,Jt).values()],n={};return t.forEach(r=>{yt(e,r.queryKey)&&Object.assign(n,r.defaultOptions)}),n}setMutationDefaults(e,t){u(this,Yt).set(qe(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...u(this,Yt).values()],n={};return t.forEach(r=>{yt(e,r.mutationKey)&&Object.assign(n,r.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...u(this,ut).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=Fn(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===Nt&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...u(this,ut).mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){u(this,G).clear(),u(this,ct).clear()}},G=new WeakMap,ct=new WeakMap,ut=new WeakMap,Jt=new WeakMap,Yt=new WeakMap,lt=new WeakMap,Xt=new WeakMap,Zt=new WeakMap,so);var en=Y(ue(),1),oo=Y(Rr(),1),Us=en.createContext(void 0),V=e=>{let t=en.useContext(Us);if(e)return e;if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},Bn=({client:e,children:t})=>(en.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,oo.jsx)(Us.Provider,{value:e,children:t}));var xr=Y(ue(),1),ao=xr.createContext(!1),co=()=>xr.useContext(ao),Uf=ao.Provider;var Vn=Y(ue(),1),Fu=Y(Rr(),1);function qu(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Qu=Vn.createContext(qu()),uo=()=>Vn.useContext(Qu);var lo=Y(ue(),1);var fo=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError=="function"?Kt(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},po=e=>{lo.useEffect(()=>{e.clearReset()},[e])},mo=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:s})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(s&&e.data===void 0||Kt(n,[e.error,r]));var ho=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))}},go=(e,t)=>e.isLoading&&e.isFetching&&!t,yo=(e,t)=>e?.suspense&&t.isPending,Ns=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});var dt=Y(ue(),1);function Cr(e,t,n){let r=co(),s=uo(),i=V(n),o=i.defaultQueryOptions(e);i.getDefaultOptions().queries?._experimental_beforeQuery?.(o);let c=i.getQueryCache().get(o.queryHash);o._optimisticResults=r?"isRestoring":"optimistic",ho(o),fo(o,s,c),po(s);let a=!i.getQueryCache().get(o.queryHash),[l]=dt.useState(()=>new t(i,o)),d=l.getOptimisticResult(o),p=!r&&e.subscribed!==!1;if(dt.useSyncExternalStore(dt.useCallback(m=>{let f=p?l.subscribe(L.batchCalls(m)):$;return l.updateResult(),f},[l,p]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),dt.useEffect(()=>{l.setOptions(o)},[o,l]),yo(o,d))throw Ns(o,l,s);if(mo({result:d,errorResetBoundary:s,throwOnError:o.throwOnError,query:c,suspense:o.suspense}))throw d.error;return i.getDefaultOptions().queries?._experimental_afterQuery?.(o,d),o.experimental_prefetchInRender&&!Qe.isServer()&&go(d,r)&&(a?Ns(o,l,s):c?.promise)?.catch($).finally(()=>{l.updateResult()}),o.notifyOnChangeProps?d:l.trackResult(d)}function j(e,t){return Cr(e,Ln,t)}var ze=Y(ue(),1);function ve(e,t){let n=V(t),[r]=ze.useState(()=>new Qs(n,e));ze.useEffect(()=>{r.setOptions(e)},[r,e]);let s=ze.useSyncExternalStore(ze.useCallback(o=>r.subscribe(L.batchCalls(o)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),i=ze.useCallback((o,c)=>{r.mutate(o,c).catch($)},[r]);if(s.error&&Kt(r.options.throwOnError,[s.error]))throw s.error;return{...s,mutate:i,mutateAsync:s.mutate}}function Hn(e,t){return Cr(e,Os,t)}var bo=Y(vo(),1),$n=typeof window<"u"&&window.__FSAOS_CONFIG__||{},Gn=Array.isArray($n.sources)?$n.sources:[],Du=$n.supabaseUrl||"https://vahbmsslxuustnlvsrkg.supabase.co",Uu=$n.supabaseAnonKey||"sb_publishable_ZjosozAjfpZ4InMNElTr6Q_hHB-f5nc",xe=$n.gatewayUrl||"https://fsaos-mcp-gw-rust.fly.dev",W=(0,bo.createClient)(Du,Uu,{auth:{persistSession:!0,autoRefreshToken:!0,detectSessionInUrl:!1}});var zn=null,Pr=0,wo,js,Tr=!1;wo=new Promise(e=>{js=e});W.auth.onAuthStateChange((e,t)=>{t?.access_token?(zn=t.access_token,Pr=t.expires_at??Math.floor(Date.now()/1e3)+3600):(zn=null,Pr=0),Tr||(Tr=!0,js())});setTimeout(()=>{Tr||(Tr=!0,js())},5e3);function So(e,t){zn=e,Pr=t??Math.floor(Date.now()/1e3)+3600}function Ws(){zn=null,Pr=0}async function Je(){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 wo,zn}var sn=null,on=null,Ro=0,Ks=new Set,Bs,Jn,an=!1;Bs=new Promise(e=>{Jn=e});function Vs(){Ro++,Ks.forEach(e=>{try{e()}catch(t){console.warn("[SDK] Anchor listener error:",t)}})}function Ir(e){let t=typeof e=="string"?e:e.path,n=sn!==t||on?.id!==(typeof e=="string"?void 0:e.id);sn=t,on=typeof e=="string"?null:e,typeof e!="string"&&!Pt.some(r=>r.id===e.id)&&(Pt=[...Pt,e],zs()),an||(an=!0,Jn()),n&&Vs()}function cn(){return sn}function he(){return on}function Hs(){return Ro}function $s(e){return Ks.add(e),()=>{Ks.delete(e)}}function Yn(){return Bs}function Gs(){return an}var Er=null;function Tt(e,t={}){if(Er){console.warn("[SDK] electHomeAnchor called twice; ignoring (logout to re-elect).");return}Er=e,t.activate!==!1&&Ir(e)}function de(){return Er}var Pt=[],Ls=new Set,xo=0;function zs(){xo++,Ls.forEach(e=>{try{e()}catch(t){console.warn("[SDK] Mount listener error:",t)}})}function Ce(){return Pt}function Xn(){return xo}function Ar(e){return Ls.add(e),()=>{Ls.delete(e)}}function Co(e,t){let n=JSON.stringify(Pt)!==JSON.stringify(e),r=sn!==t.path||on?.id!==t.id;Pt=e,sn=t.path,on=t,an||(an=!0,Jn()),n&&zs(),r&&Vs()}var nn=null,tn=null,rn=0;function re(){return rn}async function ft(){if(nn)return nn;if(tn)return tn;let e=rn;return tn=(async()=>{let t=It(),n=await Je();if(e!==rn)throw new Error("Session changed during initialization");let r={};n&&(r.Authorization=`Bearer ${n}`);let s=await fetch(`${xe}/d/${t}/init`,{method:"GET",headers:r});if(!s.ok)throw new Error(`Session init failed: ${s.status} ${s.statusText}`);let i=await s.json();if(e!==rn)throw new Error("Session changed during initialization");let o=i.entry||i;return nn={scope_id:o.scope_id,scope_path:o.scope_path,instance_path:o.instance_path||"/root",fractal_id:o.fractal_id||null,instance_name:o.instance_name||null,display_name:o.scope_display_name||o.display_name||null,principal_id:o.principal_id||null},nn})().catch(t=>{throw e===rn&&(tn=null),t}),tn}function Et(){return nn}function Js(){rn++,nn=null,tn=null,sn=null,on=null,Er=null,Pt=[]}var Po=[];function se(e){Po.push(e)}function un(){Js(),Ws(),Jn(),an=!1,Bs=new Promise(e=>{Jn=e}),Vs(),zs();for(let e of Po)try{e()}catch(t){console.warn("[SDK] Cleanup function failed:",t)}}function It(){if(typeof window<"u"){let e=window.__FSAOS_CONFIG__;return e?.hostname?e.hostname:window.location.hostname}return"localhost"}var To=Ir,Z=cn,ie=Hs,ke=$s,Eo=Yn,kr=Gs;var Ys=0,Io=!1,Ao=0;function ko(e){if(typeof e!="string")return;let t=Date.parse(e);Number.isNaN(t)||(Ys=t-Date.now(),Io=!0,Ao=Date.now())}function Mr(){return Date.now()+Ys}function Mo(){return Io}function Oo(){return Ys}function Fo(){return Ao}function qo(e){if(typeof e!="string")return null;let t=Date.parse(e);return Number.isNaN(t)?null:Mr()>=t}function Qo(e){if(typeof e!="string")return null;let t=Date.parse(e);return Number.isNaN(t)?null:Math.max(0,t-Mr())}var Nu=new Set(["list-memberships","init"]),Pe=class extends Error{constructor(n){let r=typeof n.payload?.error=="string"?n.payload.error.trim():"",s=typeof n.payload?.message=="string"?n.payload.message.trim():"",i=n.responseBody.trim()||`Gateway HTTP error: ${n.status} ${n.statusText}`.trim(),o=r&&s?`${r}: ${s}`:s||r||i;super(o);X(this,"name","GatewayRequestError");X(this,"method");X(this,"status");X(this,"statusText");X(this,"payload");X(this,"responseBody");this.method=n.method,this.status=n.status,this.statusText=n.statusText,this.payload=n.payload,this.responseBody=n.responseBody}};async function x(e,t={}){let n=re(),r=cn(),s=It(),i=`${xe}/d/${s}`,o={"Content-Type":"application/json"},c=await Je();if(n!==re())throw new Error("Session changed before gateway request");if(c&&(o.Authorization=`Bearer ${c}`),!Nu.has(e)&&!t._scope_path&&await Yn(),n!==re())throw new Error("Session changed before gateway request");let a={...t},l=Et();!a.domain_scope_id&&l?.scope_id&&(a.domain_scope_id=l.scope_id);let d=r??cn();!a._scope_path&&d&&(a._scope_path=d);let p=await fetch(i,{method:"POST",headers:o,body:JSON.stringify({method:e,params:a})}),m=await p.text();if(n!==re())throw new Error("Session changed during gateway request");let f=null;if(m)try{f=JSON.parse(m)}catch{}if(!p.ok||!f)throw new Pe({method:e,status:p.status,statusText:p.statusText,payload:f,responseBody:m});if(f.success===!1){let y=f.error||"",h=f.denied_by||f.error_type||"";throw h==="rule"||h==="access"||h==="entitlement"||y==="RULE_DENIED"||y==="ACCESS_DENIED"||y==="PERMISSION_DENIED"||y==="ENTITLEMENT_REQUIRED"?new et(f):new Pe({method:e,status:p.status,statusText:p.statusText,payload:f,responseBody:m})}return f&&f.server_now!==void 0&&ko(f.server_now),f}var _=Y(ue(),1),cl=Y(Uo(),1),ul=Y(Rr(),1);var No=new WeakMap;function Te(e,t,n={}){let r=n.exact===!0,s=()=>e.invalidateQueries({queryKey:t,exact:r},{cancelRefetch:!1}),i=e.getQueryCache().findAll({queryKey:t,exact:r,fetchStatus:"fetching"}).flatMap(p=>p.promise?[p.promise]:[]);if(i.length===0)return s();let o=`${r?"=":"^"}${JSON.stringify(t)}`,c=No.get(e);c||(c=new Map,No.set(e,c));let a=c.get(o);if(a)return a;let l=c,d=Promise.allSettled(i).then(()=>(l.delete(o),s()));return l.set(o,d),d}function Ke(e,t){return typeof e=="string"&&(e===t||e.startsWith(`${t}/`))}var Or=new WeakMap,Ko=e=>e.meta?.arrangementRealtime===!0;function ln(e,t){let n=e.getQueryCache().find({queryKey:t,exact:!0});if(!n)return;let r=Or.get(e);r||(r=new Map,Or.set(e,r));let s=r.get(n.queryHash);s&&clearTimeout(s),r.set(n.queryHash,setTimeout(()=>{r.delete(n.queryHash),e.getQueryCache().get(n.queryHash)===n&&Te(e,t,{exact:!0})},250))}function Lo(e,t){if(!(!t||typeof t!="object"))for(let n of e.getQueryCache().getAll()){if(!Ko(n))continue;let r=n.state.data;if(!r?.item_id)continue;let s=(i,o)=>!!(i&&t.item_id===i||o&&(t.path===o||t.old_path===o));(s(r.item_id,r.item_path)||t.parent_id===r.item_id||t.old_parent_id===r.item_id||[t.path,t.old_path].some(i=>typeof i=="string"&&i.slice(0,i.lastIndexOf("/"))===r.item_path)||r.resolved_children?.some(i=>s(i.id,i.symlink_path||i.path)||i.target&&s(i.target.id,i.target.path)))&&ln(e,n.queryKey)}}function jo(e){for(let t of e.getQueryCache().getAll())Ko(t)&&t.state.data!==void 0&&ln(e,t.queryKey)}function Wo(e){Or.get(e)?.forEach(clearTimeout),Or.delete(e)}var Ye=null;se(()=>{Ye&&(Ye.cancelQueries({queryKey:["vfs"]}),Ye.removeQueries({queryKey:["vfs"]}))});function Bo(e){if(Ye&&Ye!==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.");Ye=e}function T(){return Ye||(Ye=new Ds({defaultOptions:{queries:{staleTime:1e3*60*2,gcTime:1e3*60*10,refetchOnWindowFocus:!1,retry:1}}})),Ye}var Vo=new Proxy({},{get(e,t,n){let r=T(),s=r[t];return typeof s=="function"?s.bind(r):s}});var Fr=new WeakMap;function Xs(e){return e.meta?.infiniteItemsRealtime?.filter}function Ku(e,t){return e.state.data?.pages?.some(r=>r.items?.some(s=>t.item_id&&s.id===t.item_id||t.path&&s.path===t.path||t.old_path&&s.path===t.old_path))??!1}function Lu(e){if(e.type)return new Set([e.type]);if(!e.any_of?.length)return null;let t=new Set;for(let n of e.any_of){if(!n.item_type)return null;t.add(n.item_type)}return t}function ju(e,t,n){if(Ku(e,n))return!0;if(t.spaceIds!==void 0&&(!t.spaceIds.length||n.space_item_id!==void 0&&!t.spaceIds.includes(n.space_item_id)&&!t.spaceIds.includes(n.old_space_item_id)))return!1;let r=t.scope,s=typeof r=="string"&&r!=="__unscoped__",i=typeof n.path=="string"||typeof n.old_path=="string";if(s&&i&&!Ke(n.path,r)&&!Ke(n.old_path,r))return!1;if(n.item_type==="symlink"&&s&&i)return!0;let o=Lu(t);return n.item_type&&o&&!o.has(n.item_type)||t.parent_id&&n.parent_id!==void 0&&n.parent_id!==t.parent_id&&n.old_parent_id!==t.parent_id?!1:i||!!(t.parent_id&&n.parent_id===t.parent_id)}function Ho(e,t){let n=Fr.get(e);n||(n=new Map,Fr.set(e,n));let r=n.get(t.queryHash);r&&clearTimeout(r),n.set(t.queryHash,setTimeout(()=>{n.delete(t.queryHash),!(e.getQueryCache().get(t.queryHash)!==t||!Xs(t))&&Te(e,t.queryKey,{exact:!0})},500))}function $o(e,t){if(!(!t||typeof t!="object"))for(let n of e.getQueryCache().getAll()){let r=Xs(n);r&&ju(n,r,t)&&Ho(e,n)}}function Go(e){for(let t of e.getQueryCache().getAll())Xs(t)&&t.state.data!==void 0&&Ho(e,t)}function zo(e){Fr.get(e)?.forEach(clearTimeout),Fr.delete(e)}var qr=class extends Error{constructor(){super("The server did not confirm the selected-Space listing contract")}};function Jo(e,t){if(!Array.isArray(t)||t.some(n=>typeof n!="string")||JSON.stringify([...new Set(t)].sort())!==JSON.stringify(e))throw new qr}function At(e){return!e||e.spaceIds===void 0?e:{...e,spaceIds:[...new Set(e.spaceIds.map(t=>t.toLowerCase()))].sort(),...e.limit!==void 0?{limit:Math.max(1,Math.min(e.limit,500))}:{}}}function dn(e){return e instanceof qr||e instanceof et||e instanceof Pe&&(e.payload?.error==="SPACE_SELECTION_UNAVAILABLE"||e.payload?.error==="QUERY_PARAMS_INVALID"||e.status===401||e.status===403)}function te(){return Z()??"__unscoped__"}var S={all:()=>["vfs",te()],item:e=>["vfs",te(),"item",e],itemById:e=>["vfs","item-by-id",e],children:e=>["vfs",te(),"children",e],allChildren:()=>["vfs",te(),"children"],types:e=>["vfs","types",e??"default"],edges:e=>["vfs","edges",e],search:(e,t)=>["vfs",te(),"search",e,...t??[]],items:(e,t)=>["vfs",te(),"items",e,JSON.stringify(At(t??{}))],allItems:()=>["vfs",te(),"items"],tree:(e,t)=>["vfs",te(),"tree",e,t??1],openEnvelope:(e,t)=>["vfs",te(),"open",e,t??"__default__"],allOpenEnvelopes:()=>["vfs",te(),"open"],memberFocus:e=>["vfs","member-focus",e],fractalInstances:()=>["vfs","fractal-instances"],recentActivity:(e,t,n)=>["vfs",te(),"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",te(),"channel-messages",e,t??"__top__"],allChannelMessages:()=>["vfs",te(),"channel-messages"],channels:e=>["vfs",te(),"channels",e??"all"],allChannels:()=>["vfs",te(),"channels"],notifications:(e,t)=>["vfs",te(),"notifications",e??"all",t??200],allNotifications:()=>["vfs",te(),"notifications"],unreadCounts:()=>["vfs",te(),"unread-counts"],memberships:e=>["memberships",e]};var Wu=typeof window<"u"&&(window.location?.hostname==="localhost"||window.location?.hostname==="127.0.0.1"||window.__FSAOS_WS_DEBUG__);function z(...e){Wu&&console.log("[WS]",...e)}var A=null,fn=null,mn=null,Zn=0,Bu=3e4,Yo=1e4,gn=!1,Xo=!1,ra=3e4,Vu=ra*2+5e3,Qr=0,Dr=null,Zo=!1;function Hu(){tr(),Qr=Date.now(),Dr=setInterval(()=>{if(A&&A.readyState===WebSocket.OPEN&&Date.now()-Qr>Vu){z("ping: no inbound traffic for",Date.now()-Qr,"ms \u2014 closing half-open socket");try{A.close(4e3,"liveness timeout")}catch{}return}Ze({type:"ping"})},ra)}function tr(){Dr&&(clearInterval(Dr),Dr=null)}function $u(){typeof document>"u"||(document.hidden?tr():er()&&(z("Tab visible, reconnecting..."),kt()))}function Gu(){Zo||typeof document>"u"||(document.addEventListener("visibilitychange",$u),Zo=!0)}var be={};function ei(e,t){let n=e.replace(/\/+$/,""),r=t.replace(/\/+$/,"");return!n||!r?n===r:r===n||r.startsWith(`${n}/`)}var hn=[],Xe=new Map,pn=new Map,Ee=new Map;function zu(e){let t=pn.get(e);return t?Array.from(new Set(Array.from(t.values()).flatMap(n=>n.event_types))).sort():[]}function ea(e,t){return e?e.length===t.length&&e.every((n,r)=>n===t[r]):!1}function ta(e){let t=zu(e);if(t.length===0)return Xe.delete(e),null;let n={scope_id:e,event_types:t};return Xe.set(e,n),n}var Le=new Map,pt=new Map,Zs="disconnected",Ur=[];function Nr(e){if(Zs!==e){Zs=e;for(let t of[...Ur])try{t(e)}catch{}}}function Ju(e){Le.set(e,"ready");let t=pt.get(e);if(t){pt.delete(e);for(let n of t)n()}}function Yu(){for(let e of Le.keys())Le.set(e,"disconnected")}function ti(e,t){Le.set(e,"pending"),Ze({type:"subscribe_path",path:e,event_types:t})}function Xu(){return Object.keys(be).some(t=>be[t]&&be[t].length>0)||hn.length>0}function er(){return Xe.size>0||Ee.size>0}async function kt(){if(!er()){z("ensureConnection: no active subscriptions, skipping");return}if(A&&A.readyState===WebSocket.OPEN){z("ensureConnection: already open");return}if(fn)return z("ensureConnection: connection already in flight, waiting..."),fn;if(A){z("ensureConnection: killing stale WS in state",A.readyState);try{A.close()}catch{}A=null}return gn=!1,fn=(async()=>{try{let e=typeof window<"u"&&window.__FSAOS_CONFIG__||{},t=xe,n=await Je();if(!n){z("ensureConnection: no token available, will retry"),na();return}let r=t.startsWith("https")?"wss":"ws",s=t.replace(/^https?:\/\//,""),i=`${r}://${s}/ws`;i+=`?token=${encodeURIComponent(n)}`,z("ensureConnection: opening WS to",i.substring(0,50)+"..."),Nr("connecting"),A=new WebSocket(i);let o=A;await new Promise((c,a)=>{if(!A)return a(new Error("WebSocket not created"));let l=setTimeout(()=>{if(A===o){if(z("ensureConnection: TIMEOUT after",Yo,"ms"),A&&A.readyState!==WebSocket.OPEN){try{A.close()}catch{}A=null}a(new Error("WebSocket connection timeout"))}},Yo);o.onopen=()=>{if(A!==o)return;clearTimeout(l),z("ensureConnection: CONNECTED");let d=Xo;Xo=!0,Zn=0,Nr("connected"),Zu(d),(typeof document>"u"||!document.hidden)&&Hu(),Gu(),c()},o.onmessage=d=>{A===o&&el(d.data)},o.onerror=()=>{z("ensureConnection: WS error event")},o.onclose=d=>{clearTimeout(l),A===o&&(z("ensureConnection: WS closed, code:",d.code,"reason:",d.reason),A=null,tr(),Yu(),Nr("disconnected"),!gn&&er()&&na(),a(new Error(`WebSocket closed: ${d.code}`)))}})}catch(e){z("ensureConnection: failed -",e?.message||e)}finally{fn=null}})(),fn}function na(){if(mn||typeof document<"u"&&document.hidden)return;let e=Math.min(1e3*Math.pow(2,Zn)+Math.random()*1e3,Bu);Zn++,z("scheduleReconnect: attempt",Zn,"in",Math.round(e),"ms"),mn=setTimeout(()=>{mn=null,er()&&kt()},e)}function Zu(e=!1){for(let t of Xe.values())z("resubscribeAll: scope",t.scope_id),Ze({type:"subscribe",scope_id:t.scope_id,event_types:t.event_types});for(let t of Ee.values())z("resubscribeAll: path",t.path),ti(t.path,t.event_types);if(e)try{let t=T();Go(t),jo(t);for(let n of Ee.values())t.invalidateQueries({queryKey:S.item(n.path)}),t.invalidateQueries({queryKey:S.children(n.path)});z("resubscribeAll: invalidated",Ee.size,"paths after reconnect")}catch(t){z("resubscribeAll: cache invalidation skipped",t)}}function Ze(e){A&&A.readyState===WebSocket.OPEN&&A.send(JSON.stringify(e))}function el(e){Qr=Date.now();try{let t=JSON.parse(e);if(t.type==="subscribed_path"){typeof t.path=="string"&&Ju(t.path);return}if(t.type==="subscribed"||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;if(n==="vfs_change"&&($o(T(),r),Lo(T(),r)),typeof r.path=="string")for(let[s,i]of Object.entries(be))s!=="*"&&ei(s,r.path)&&i.forEach(o=>o(r));be["*"]&&be["*"].forEach(s=>s(r));for(let s of hn)s.eventType!=="*"&&s.eventType!==n||s.filter&&!s.filter(r)||s.callback(r)}}catch{}}function ni(){!Xu()&&Xe.size===0&&Ee.size===0&&A&&(gn=!0,tr(),A.close(),A=null,gn=!1)}function Kr(e,t){return be[e]||(be[e]=[]),be[e].push(t),Ee.has(e)||(Ee.set(e,{path:e,event_types:["token_stream"]}),A&&A.readyState===WebSocket.OPEN?ti(e,["token_stream"]):Le.set(e,"pending")),kt(),()=>{let n=be[e];if(n){let r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(delete be[e],Ee.delete(e),Le.delete(e),pt.delete(e),Ze({type:"unsubscribe_path",path:e}))}ni()}}function ne(e,t,n){let s=(Array.isArray(e)?e:[e]).map(i=>({eventType:i,callback:t,filter:n}));return hn.push(...s),er()&&kt(),()=>{for(let i of s){let o=hn.indexOf(i);o!==-1&&hn.splice(o,1)}ni()}}function yn(e,t=["vfs_change","ccm_change"]){let n=Symbol(e),r=Array.from(new Set(t)).sort();if(r.length===0)return()=>{};let s=pn.get(e)??new Map,i=Xe.get(e)?.event_types;s.set(n,{event_types:r}),pn.set(e,s);let o=ta(e);if(!o)return()=>{};z("subscribeToScope:",e,o.event_types),A&&A.readyState===WebSocket.OPEN&&!ea(i,o.event_types)&&Ze({type:"subscribe",scope_id:e,event_types:o.event_types}),kt();let c=!0;return()=>{if(!c)return;c=!1;let a=pn.get(e);if(!a?.delete(n))return;let l=Xe.get(e)?.event_types;if(a.size===0)pn.delete(e),Xe.delete(e),Ze({type:"unsubscribe",scope_id:e});else{let d=ta(e);d&&A&&A.readyState===WebSocket.OPEN&&!ea(l,d.event_types)&&Ze({type:"subscribe",scope_id:e,event_types:d.event_types})}ni()}}function sa(e,t,n={}){Ze({type:"emit",scope_id:e,event_type:t,payload:n})}function ri(){z("disconnectSSE: tearing down"),zo(T()),Wo(T()),gn=!0,tr(),A&&(A.close(),A=null),mn&&(clearTimeout(mn),mn=null),fn=null,gn=!1,Zn=0;for(let e of Object.keys(be))delete be[e];hn.length=0,Xe.clear(),pn.clear(),Ee.clear(),Le.clear(),pt.clear(),Nr("disconnected")}function ia(){Ze({type:"ping"})}function oa(e){return Ee.has(e)?Le.get(e)??"pending":"unsubscribed"}function aa(e,t=5e3){return Ee.has(e)?Le.get(e)==="ready"&&A&&A.readyState===WebSocket.OPEN?Promise.resolve(!0):(kt(),new Promise(n=>{let r=!1,s=pt.get(e)??[],i=()=>{r||(r=!0,clearTimeout(o),n(!0))};s.push(i),pt.set(e,s);let o=setTimeout(()=>{if(r)return;r=!0;let c=pt.get(e);if(c){let a=c.indexOf(i);a!==-1&&c.splice(a,1),c.length===0&&pt.delete(e)}n(!1)},t)})):Promise.resolve(!1)}function ca(e){let t=Ee.get(e);if(!t){z("resubscribePath: no active subscription for",e);return}A&&A.readyState===WebSocket.OPEN?(z("resubscribePath: re-sending frame for",e),ti(t.path,t.event_types)):(Le.set(e,"pending"),kt())}function ua(e){Ur.push(e);try{e(Zs)}catch{}return()=>{let t=Ur.indexOf(e);t!==-1&&Ur.splice(t,1)}}se(ri);function la(){return new Date().toISOString()}function da(){return crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2,11)}`}function ge(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||la(),updated_at:e.updated_at||la(),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 nr(e){return(e.content?.items||e.items||[]).map(ge)}async function jr(e){try{let t=await x("read",{id:e});if(t.item_name||t.item_path){let r=ge(t);return r.path&&T().setQueryData(S.item(r.path),r),r}let n=t.item;if(n){let r=ge(n);return r.path&&T().setQueryData(S.item(r.path),r),r}return null}catch{return null}}async function Wr(e){try{let t=await x("read",{path:e});if(t.item_name||t.item_path)return ge(t);let n=t.item;return n?ge(n):null}catch{return null}}async function rr(e){try{let t=await x("list",{path:e,limit:200}),n=nr(t);for(let r of n)T().setQueryData(S.item(r.path),r);return n}catch(t){return console.error(`[gateway] Failed to fetch children of ${e}:`,t),[]}}async function fa(e,t){let{items:n}=await vn({type:"turn_queue_entry",scope:e,parent_id:t,fields:{state:"queued"},sort_by:"created_at",sort_dir:"asc",limit:100});return n.map(r=>{let s=String(r.type_data?.conversation_anchor_item_id??r.type_data?.conversation_root_id??t);return{id:r.id,path:r.path,content:String(r.type_data?.content??""),state:String(r.type_data?.state??"queued"),queue_seq:Number(r.type_data?.queue_seq??0),created_at:r.created_at,conversation_anchor_item_id:s,conversation_root_id:s,client_request_id:typeof r.type_data?.client_request_id=="string"?r.type_data.client_request_id:void 0,promoted_message_id:typeof r.type_data?.promoted_message_id=="string"?r.type_data.promoted_message_id:void 0,promoted_event_id:typeof r.type_data?.promoted_event_id=="string"?r.type_data.promoted_event_id:void 0}}).sort((r,s)=>r.queue_seq-s.queue_seq||r.created_at.localeCompare(s.created_at))}async function Br(e,t,n){try{let r=await x("list",{path:e,limit:t,offset:n}),s=nr(r);for(let i of s)T().setQueryData(S.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 Vr(e){let n=await x("types-list",e?{scope_id:e}:{}),r=n.content?.items||n.items||[],s=new Map;for(let i of r){let o=i.name,c=i.type_data;!o||!c||s.set(o,{type_key:o,display_name:c.display_name||o,display_name_plural:c.display_name_plural||o+"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 Hr(e){try{let t=await x("edges",{item_id:e}),n=t.outgoing||[],r=t.incoming||[],s=[];for(let i of n)s.push({id:i.edge_id||da(),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||da(),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 $r(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 x("tree",s),o=nr(i);for(let c of o)T().setQueryData(S.item(c.path),c);return o}catch(s){return console.error(`[gateway] Failed to fetch tree at ${e}:`,s),[]}}async function Gr(e,t=50,n=0){try{let r=await x("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 sr(e,t={}){let{limit:n=50,offset:r=0,include_snapshots:s=!1}=t;try{let i=await x("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 zr(e,t=50,n=0){return sr(e,{limit:t,offset:n})}async function Jr(e,t,n){try{let r={scope_id:e};t?.length&&(r.item_types=t),n&&(r.limit=n);let s=await x("member-focus",r),i=nr(s);for(let o of i)T().setQueryData(S.item(o.path),o);return i}catch(r){return console.error(`[gateway] Failed to fetch member focus for scope ${e}:`,r),[]}}async function Yr(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 x("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}}function _n(e){return!!e&&(!!e.type||Array.isArray(e.any_of)&&e.any_of.length>0)}function tl(e){let t={};e.item_type&&(t.item_type=e.item_type);for(let[n,r]of Object.entries(e.fields??{}))t[`field.${n}`]=String(r);for(let[n,r]of Object.entries(e.field_in??{}))t[`field_in.${n}`]=r.map(String);return t}var nl=["catalog","parent_only","internal"];function pa(e,t={}){if(!e||typeof e!="object")return null;let n=o=>typeof o=="string"||typeof o=="number"||typeof o=="boolean",r=o=>{let c={},a={};for(let[l,d]of Object.entries(o))l.startsWith("field.")&&l.length>6&&n(d)?c[l.slice(6)]=d:l.startsWith("field_in.")&&l.length>9&&Array.isArray(d)&&(a[l.slice(9)]=d.filter(n));return{fields:c,field_in:a}},s={};typeof e.type=="string"&&e.type&&(s.type=e.type),typeof e.sort_by=="string"&&(s.sort_by=e.sort_by),(e.sort_dir==="asc"||e.sort_dir==="desc")&&(s.sort_dir=e.sort_dir),typeof e.name=="string"&&e.name&&(s.name=e.name),typeof e.tag=="string"&&e.tag&&(s.tag=e.tag),typeof e.discovery=="string"&&nl.includes(e.discovery)&&(s.discovery=e.discovery);let i=r(e);if(Object.keys(i.fields).length&&(s.fields=i.fields),Object.keys(i.field_in).length&&(s.field_in=i.field_in),Array.isArray(e.any_of)){let o=[];for(let c of e.any_of){if(!c||typeof c!="object"||Array.isArray(c))continue;let a=c,l={};typeof a.item_type=="string"&&a.item_type&&(l.item_type=a.item_type);let d=r(a);Object.keys(d.fields).length&&(l.fields=d.fields),Object.keys(d.field_in).length&&(l.field_in=d.field_in),Object.keys(l).length&&o.push(l)}o.length&&(s.any_of=o)}return _n(s)?{...s,...t}:null}async function vn(e,t={}){if(e=At(e),e.spaceIds?.length===0)return{items:[],total_hint:0};let n={};e.type&&(n.item_type=e.type),e.scope&&(n.scope_path=e.scope);let r={};if(e.spaceIds!==void 0&&(r.space_ids=e.spaceIds),e.name&&(r.name=e.name),e.tag&&(r.tag=e.tag),e.parent_id&&(r.parent_id=e.parent_id),e.sort_by&&(r.sort_by=e.sort_by),e.sort_dir&&(r.sort_dir=e.sort_dir),e.offset!=null&&(r.offset=e.offset),e.fields)for(let[s,i]of Object.entries(e.fields))r[`field.${s}`]=String(i);if(e.field_in)for(let[s,i]of Object.entries(e.field_in))r[`field_in.${s}`]=i.map(String);e.discovery&&(r.discovery=e.discovery),e.any_of?.length&&(r.any_of=e.any_of.map(tl)),Object.keys(r).length>0&&(n.filters=r),e.limit!=null&&(n.limit=e.limit);try{let s=await x("query",n);e.spaceIds!==void 0&&Jo(e.spaceIds,s.selected_space_ids??s.content?.selected_space_ids);let i=nr(s);for(let o of i)T().setQueryData(S.item(o.path),o);return{items:i,total_hint:s.total??s.content?.total??i.length}}catch(s){if(console.error(`[gateway] Failed to fetch items of type ${e.type??"(any_of)"}:`,s),t.throwOnError||e.spaceIds!==void 0)throw s;return{items:[],total_hint:0}}}function rl(e){if(!e||typeof e!="object")return;let t=e;if(t.version!==1||typeof t.work_id!="string"||!t.work_id)return;let n=r=>{let s=t[r];return typeof s=="string"&&s?s:void 0};return{version:1,workId:t.work_id,threadRootId:n("thread_root_id"),requestMessageId:n("request_message_id"),replyMessageId:n("reply_message_id"),replyMessagePath:n("reply_message_path"),todoListId:n("todo_list_id"),todoListPath:n("todo_list_path"),stepId:n("step_id"),stepPath:n("step_path"),runId:n("run_id"),parentRunId:n("parent_run_id"),toolCallId:n("tool_call_id"),traceId:n("trace_id")}}function ma(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,origin:rl(n.origin),presentationRole:r.presentation_role==="user-request"?"user-request":r.presentation_role==="output"?"output":void 0}}).sort((t,n)=>t.createdAt.localeCompare(n.createdAt))}function si(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,status:typeof n.status=="string"?n.status:void 0,delivery_state:typeof n.delivery_state=="string"?n.delivery_state:void 0,cognition_event_id:typeof n.cognition_event_id=="string"?n.cognition_event_id:void 0,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 ha(e,t){try{let n={channel_path:e};t&&(n.parent_message_id=t);let s=await x("get-channel-messages",n),i=s.messages||s.content?.items||s.items||[];return si(i)}catch(n){return console.error(`[gateway] Failed to fetch channel messages for ${e}:`,n),[]}}async function Xr(e,t){try{let n={channel_path:e};t&&(n.parent_message_id=t);let s=await x("get-channel-messages",n),i=s.messages||[],o=si(i),c=ma(i),a=new Map,l=[];for(let d of c)if(d.parentMessagePath){let p=a.get(d.parentMessagePath)||[];p.push(d),a.set(d.parentMessagePath,p)}else l.push(d);return{messages:o,messageCards:a,siblingCards:l,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 ir(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 x("get-channel-messages",n),i=s.messages||[],o=ma(i),c=new Map,a=[];for(let l of o)if(l.parentMessagePath){let d=c.get(l.parentMessagePath)||[];d.push(l),c.set(l.parentMessagePath,d)}else a.push(l);return{messages:si(i),messageCards:c,siblingCards:a,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 Lr(e){T().invalidateQueries({queryKey:S.children(e)})}function ii(e){T().invalidateQueries({queryKey:S.item(e)})}function ga(e,t){ii(e),Lr(e);let n=e.split("/");n.pop();let r=n.join("/")||t;r&&Lr(r)}function ya(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 _a(){T().invalidateQueries({queryKey:S.all()})}function va(e){T().invalidateQueries({queryKey:S.types(e)})}function ba(e,t){e?T().invalidateQueries({queryKey:S.channelMessages(e,t)}):T().invalidateQueries({queryKey:S.allChannelMessages()})}function wa(e,t){e&&t?T().invalidateQueries({queryKey:S.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:S.allOpenEnvelopes()})}function je(e){return{id:e.accountId,path:e.path,kind:e.isSpace?"space":"account",name:e.name,grantedUnderAccountId:e.grantedUnderAccountId??void 0}}async function Zr(){return((await x("list-memberships",{})).memberships||[]).map(n=>({accountId:n.account_id,path:n.account_path,name:n.account_name,role:n.role||"member",typeData:n.account_type_data||{},joinedAt:n.joined_at,via:n.via,placement:n.placement,subordinateTo:n.subordinate_to??null,cascadeAnchorId:n.cascade_anchor_id??null,isAccount:n.is_account??void 0,isSpace:n.is_space??void 0,isOwner:n.is_owner??void 0,billingResponsible:n.billing_responsible??void 0,grantedVia:n.granted_via??null,grantedUnderAccountId:n.granted_under_account_id??null,membershipPath:n.membership_path??null,personalSpaceId:n.personal_space_id??null,personalSpacePath:n.personal_space_path??null}))}var bn=new Map,or=null,es=null,mt=new Map,Sa=250;function Mt(e){if(or){wn(e);return}wn(e),or=ne("vfs_change",t=>sl(t)),es=ne("ccm_change",t=>il(t))}function wn(e){if(bn.has(e))return;let t=yn(e,["vfs_change","ccm_change"]);bn.set(e,t)}function ts(e){let t=bn.get(e);t&&(t(),bn.delete(e))}function oi(){for(let[,e]of bn)e();bn.clear(),or&&(or(),or=null),es&&(es(),es=null),mt.forEach(e=>clearTimeout(e)),mt.clear()}se(oi);function sl(e){let t=e.path,n=e.action;if(!t)return;let r=t.split("/");r.pop();let s=r.join("/")||"/root",i=mt.get(s);i&&clearTimeout(i);let o=setTimeout(()=>{mt.delete(s),ol(n,t,e,s)},Sa);mt.set(s,o)}function il(e){if(!e||typeof e!="object")return;let t=e.source_item_id||e.source_id,n=e.target_item_id||e.target_id;if(!(e.edge_type!=null||t!=null||n!=null)||!t&&!n||e.item_type==="message")return;let s=`ccm:${t??""}:${n??""}`,i=mt.get(s);i&&clearTimeout(i);let o=setTimeout(()=>{mt.delete(s),t&&T().invalidateQueries({queryKey:S.edges(t)}),n&&T().invalidateQueries({queryKey:S.edges(n)})},Sa);mt.set(s,o)}function ol(e,t,n,r){if((e||"").toUpperCase()==="DELETE")T().removeQueries({queryKey:S.item(t)}),T().removeQueries({queryKey:S.children(t)}),T().removeQueries({queryKey:S.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},o=ge(i);o&&o.id&&T().setQueryData(S.item(t),o)}catch{}T().invalidateQueries({queryKey:S.children(r)}),T().invalidateQueries({predicate:i=>{let o=i.queryKey;if(o[0]!=="vfs"||o[1]!=="tree")return!1;let c=o[2];return t.startsWith(c+"/")||t===c}}),n.item_id&&T().invalidateQueries({queryKey:S.itemById(n.item_id)})}var Sn=null;se(()=>{Sn=null});function ht(e){if(e!==Sn||e.generation!==re())throw new Error("Workspace session changed")}function al(e){return e instanceof Pe&&e.payload?.error==="item_not_found"}function ar(e,t){let n=e.resolve(t.id);if(!n||n.path!==t.path||n.kind!==t.kind)throw new Error("Mount is not an available membership");return n}function cr(e){let t=de();if(!t)throw new Error("Elect a home account before loading mounts");return[t,...e.filter((n,r)=>n.id!==t.id&&e.findIndex(s=>s.id===n.id)===r)]}function Ra(e,t){return JSON.stringify({mounts:e.map(n=>n.id),last_anchor:t.id})}async function xa(e,t,n){ht(e);let r=Ra(t,n);if(e.saved===r)return;let s=JSON.parse(r);await x(e.exists?"update":"create",e.exists?{_scope_path:e.scope,path:e.path,type_data:s}:{_scope_path:e.scope,parent_path:e.path.slice(0,e.path.lastIndexOf("/")),name:"mounts",item_type:"file",type_data:s}),ht(e),e.exists=!0,e.saved=r}function Ca(e,t){let n=Ce();Mt(de().id);for(let r of n)e.some(s=>s.id===r.id)||ts(r.id);for(let r of e)wn(r.id);Co(e,t)}async function Ot(e,t,n={}){let r=de();if(!r)throw new Error("Elect a home account before loading mounts");let s=`${e}/settings/mounts`;if(Sn&&Sn.path!==s)throw new Error("Reset the session before changing the mount declaration owner");let i=Sn??(Sn={generation:re(),path:s,scope:r.path,resolve:t,exists:!1,ready:!1,saved:null,queue:Promise.resolve()});return ht(i),i.loading?i.loading:i.ready?Ce():(i.resolve=t,i.loading=(async()=>{let o=null;try{let d=await x("read",{path:s,_scope_path:i.scope});if(ht(i),o=d.type_data??d.item?.type_data,!o||!Array.isArray(o.mounts)||!o.mounts.every(p=>typeof p=="string"))throw new Error("Invalid saved mount declaration");i.exists=!0}catch(d){if(ht(i),!al(d))throw d;i.exists=!1}let c=n.initialAnchor?ar(i,n.initialAnchor):r,a=cr(o?o.mounts.map(t).filter(d=>d!==null):[c]),l=o?a.find(d=>d.id===o.last_anchor)??a.find(d=>d.kind==="space")??r:c;return o?i.saved=Ra(a,l):n.initialAnchor&&await xa(i,a,l),ht(i),i.ready=!0,Ca(a,l),a})().finally(()=>{i.loading=void 0}),i.loading)}function ns(e){let t=Sn;if(!t?.ready)return Promise.reject(new Error("Workspace mounts are not loaded"));let n=t.queue.then(async()=>{ht(t);let{refs:r,anchor:s}=e(t);await xa(t,r,s),ht(t),Ca(r,s)});return t.queue=n.catch(()=>{}),n}function ai(e){return ns(t=>({refs:cr([...Ce(),ar(t,e)]),anchor:he()}))}function Pa(e){return ns(()=>{if(e===de().id)throw new Error("The home account cannot be unmounted");let t=cr(Ce().filter(r=>r.id!==e)),n=t.find(r=>r.id===he()?.id)??t.find(r=>r.kind==="space")??de();return{refs:t,anchor:n}})}function ur(e){return ns(t=>{let n=ar(t,e);return{refs:cr([...Ce(),n]),anchor:n}})}function rs(e,t){return ns(n=>{let r=cr(e.map(i=>ar(n,i))),s=ar(n,t);if(!r.some(i=>i.id===s.id))throw new Error("Selected mount must be in the working set");return{refs:r,anchor:s}})}function ss(e){if(typeof e.path!="string")return!1;let t=[...Ce().map(n=>n.path),he()?.path].filter(n=>!!n);return!t.length&&Z()&&t.push(Z()),t.some(n=>Ke(e.path,n))}function ci(e,t,n,r){return!["message","card"].includes(e?.item_type)||!Ke(e.path,t)?!1:!n||e.item_id===n||e.parent_id===n?!0:r.some(s=>{if(e.item_id===s.id||e.parent_id===s.id)return!0;let i=s.id===n?s.path:s.parent_message_id===n?s.path.slice(0,s.path.lastIndexOf("/")):void 0;return!!i&&Ke(e.path,i)})}var Ta=new WeakMap;function Ea(e,t,n){let r=Ta.get(e);r||(r=new Map,Ta.set(e,r));let s=JSON.stringify(t),i=r.get(s);if(!i){let c=!1,a,l=!1,d=!1,p=new Set,m=new Set,f=()=>e.getQueryData(t)??[],y=()=>{c||l||a||(a=setTimeout(()=>{a=void 0,h()},250))},h=async()=>{if(c)return;l=!0;let F=d;d=!1;let R=[...p],k=new Set(m);m.clear(),p.clear();try{if(F)await Te(e,t,{exact:!0});else{let N=(await Promise.allSettled(R.map(async I=>{let B=e.getQueryCache().find({queryKey:t,exact:!0});if(!B)return;let M=await x("read",{id:I});if(M.success===!1)throw new Error("Channel refresh failed");if(c||!B||e.getQueryCache().find({queryKey:t,exact:!0})!==B)return;let E=ge(M.item??M);if(E.id!==I||E.item_type!=="channel")return;let Q=f().find(H=>H.id===I);if(!Q)return;let O=n({...E}),ce={...Q,path:O.path,name:O.name,displayName:O.displayName,messageCount:O.messageCount,aiMode:O.aiMode,isPrivate:O.isPrivate,isDm:O.isDm,autoPilot:O.autoPilot,updatedAt:O.updatedAt};k.has(I)&&(Q.name!==ce.name||Q.displayName!==ce.displayName||Q.path!==ce.path)&&(d=!0),e.setQueryData(t,H=>H?.map(Oe=>Oe.id===I?ce:Oe))}))).find(I=>I.status==="rejected");if(N?.status==="rejected")throw N.reason}}catch(U){console.warn("[channels] refresh failed",U)}finally{l=!1,(d||p.size)&&y()}},g=F=>f().some(R=>R.id===F.item_id||R.path===F.path)?!0:ss(F),v=F=>{if(!g(F))return;let R=String(F.action??"").toLowerCase();if(["insert","delete","rename","move"].includes(R))d=!0;else if(R==="update"){let k=f().find(U=>U.id===F.item_id||U.path===F.path);k&&(p.add(k.id),m.add(k.id))}(d||p.size)&&y()},C=F=>{let R=f().find(k=>k.id===F.parent_id);R&&(p.add(R.id),y())},q=["vfs_change","ccm_change"].flatMap(F=>[ne(F,v,R=>R.item_type==="channel"),ne(F,C,R=>R.item_type==="message")]);i={users:0,stop:()=>{c=!0,a&&clearTimeout(a),q.forEach(F=>F())}},r.set(s,i)}i.users++;let o=!1;return()=>{o||(o=!0,--i.users===0&&(i.stop(),r.delete(s)))}}function J(){return(0,_.useSyncExternalStore)(ke,ie,ie)}function Ma(){return J(),kr()}function Oa(e){return J(),j({queryKey:S.item(e),queryFn:()=>Wr(e),enabled:!!e,staleTime:1/0})}function Fa(e){return J(),j({queryKey:S.itemById(e),queryFn:()=>jr(e),enabled:!!e,staleTime:1/0})}function li(e){return J(),j({queryKey:S.children(e),queryFn:()=>rr(e),enabled:!!e})}function qa(e){let t=li(e);return{...t,children:t.data??[]}}function Qa(e,t=1){return J(),j({queryKey:S.tree(e,t),queryFn:()=>$r(e,t),enabled:!!e})}function Da(e,t){return J(),j({queryKey:S.search(e,t),queryFn:async()=>{let n={query:e};t?.length&&(n.item_types=t);let r=await x("search",n);return(r.content?.items||r.items||r.results||[]).map(ge)},enabled:!!e&&e.length>0})}function Ua(e){J();let t=(0,_.useMemo)(()=>e,[JSON.stringify(e)]);return j({queryKey:["vfs",Z()??"__unscoped__","resolve",JSON.stringify(t??{})],queryFn:async()=>await x("resolve",t),enabled:!!t?.query&&t.query.length>0})}function Na(e){J();let t=At(e),n=(0,_.useMemo)(()=>t,[JSON.stringify(t)]),r=j({queryKey:S.items(n?.type??"",n),queryFn:()=>vn(n),enabled:_n(n),...n?.spaceIds!==void 0?{retry:(s,i)=>!dn(i)&&s<1}:{},select:s=>s.items});return n?.spaceIds!==void 0&&dn(r.error)?{...r,data:void 0}:r}function Ka(e,t={}){let n=J(),{realtime:r=!1}=t,s=At(e),i=s?.limit??20,o=(0,_.useMemo)(()=>s,[JSON.stringify(s)]),c=(0,_.useMemo)(()=>["vfs",Z()??"__unscoped__","infinite-items",o?.type??"",JSON.stringify(o??{})],[n,o]),a=Hn({queryKey:c,queryFn:async({pageParam:p=0})=>vn({...o,limit:i,offset:p},{throwOnError:!0}),initialPageParam:0,getNextPageParam:(p,m,f)=>{if(!(o?.spaceIds!==void 0&&p.total_hint!==void 0&&f+p.items.length>=p.total_hint)&&!(p.items.length<i))return f+p.items.length},enabled:_n(o),...o?.spaceIds!==void 0?{retry:(p,m)=>!dn(m)&&p<1}:{},staleTime:r?1/0:void 0,meta:r&&o?{infiniteItemsRealtime:{filter:o}}:{}}),l=(0,_.useMemo)(()=>{if(o?.spaceIds!==void 0&&dn(a.error))return[];if(!a.data?.pages)return[];let p=new Set,m=[];for(let f of a.data.pages)for(let y of f.items)y.id&&!p.has(y.id)&&(p.add(y.id),m.push(y));return m},[a.data?.pages,a.error,o]),d=o?.spaceIds!==void 0&&dn(a.error);return{allItems:l,refetch:a.refetch,fetchNextPage:a.fetchNextPage,isFetchingNextPage:a.isFetchingNextPage,isExhausted:d||!a.hasNextPage,isLoading:a.isLoading,isFetching:a.isFetching,error:a.error,totalHint:d?void 0:a.data?.pages?.[0]?.total_hint}}function La(e){J();let t=20,n=Hn({queryKey:["vfs",Z()??"__unscoped__","infinite-children",e??""],queryFn:async({pageParam:s=0})=>Br(e,t,s),initialPageParam:0,getNextPageParam:(s,i,o)=>{if(!(s.items.length<t))return o+s.items.length},enabled:!!e});return{allItems:(0,_.useMemo)(()=>{if(!n.data?.pages)return[];let s=new Set,i=[];for(let o of n.data.pages)for(let c of o.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 ja(e){return J(),j({queryKey:S.edges(e),queryFn:()=>Hr(e),enabled:!!e})}function is(e){return J(),j({queryKey:S.types(e),queryFn:()=>Vr(e)})}function Wa(e,t){let n=is(t);return{...n,data:n.data?.get(e)??void 0}}function Ba(e,t){J();let n=(0,_.useMemo)(()=>t?.arguments,[JSON.stringify(t?.arguments)]),r=t?.mode,s=t?.strategy,i=t?.width;return j({queryKey:[...S.openEnvelope(e,s),i],queryFn:async()=>{let o=await Yr(e,{mode:r,strategy:s,arguments:n});if(i&&o.render?.props?.url){let c=o.render.props.url,a=c.includes("?")?"&":"?";o.render.props.url=`${c}${a}w=${i}`}return o},enabled:!!e})}var Ia={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 Va(e){let t=is(e),n=t.data??new Map;return(0,_.useMemo)(()=>({canHaveChildren:f=>n.get(f.item_type)?.is_container??!1,isScope:f=>n.get(f.item_type)?.is_scope??!1,isScopeType:f=>n.get(f)?.is_scope??!1,isContainerType:f=>n.get(f)?.is_container??!1,getTypeDefinition:f=>n.get(f),getTypeColor:f=>n.get(f)?.color??"gray",getTypeIcon:f=>n.get(f)?.icon??"File",getTypeDisplayName:f=>n.get(f)?.display_name??f,getKnownEdgeTypes:()=>Object.entries(Ia).map(([f,y])=>({key:f,label:y})),getEdgeTypeLabel:f=>Ia[f]??f.replace(/_/g," "),allTypes:n,loading:t.isLoading}),[n,t.isLoading])}function Ha(e,t,n){return J(),j({queryKey:S.memberFocus(e),queryFn:()=>Jr(e,t,n),enabled:!!e})}function $a(e,t={}){let{limit:n=50,offset:r=0,include_snapshots:s=!1}=t;return j({queryKey:S.itemVersions(e,String(n),String(r),String(s)),queryFn:()=>sr(e,{limit:n,offset:r,include_snapshots:s}),enabled:!!e})}function Ga(e,t=50,n=0){return j({queryKey:S.itemHistory(e,String(t),String(n)),queryFn:()=>zr(e,t,n),enabled:!!e})}function za(e,t=50,n=0){return J(),j({queryKey:S.recentActivity(e,String(t),String(n)),queryFn:()=>Gr(e,t,n),enabled:!!e})}function Ja(){let[e,t]=(0,_.useState)(null),[n,r]=(0,_.useState)(!0),[s,i]=(0,_.useState)(null);return(0,_.useEffect)(()=>{let o=!1;return ft().then(c=>{if(!o){let a=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:a.componentPath||"",isEmbed:!!a.embedToken}),r(!1)}}).catch(c=>{o||(i(c instanceof Error?c:new Error(String(c))),r(!1))}),()=>{o=!0}},[]),{data:e,loading:n,error:s}}var ll=[];function Ya(){let{user:e}=os(),t=(0,_.useRef)(null),[n,r]=(0,_.useState)(null),s=j({queryKey:S.memberships(e?.id??"anonymous"),queryFn:Zr,enabled:!!e?.id,staleTime:1e3*60*2}),i=s.data??ll,o=(0,_.useMemo)(()=>i.filter(m=>m.isAccount!==!1&&!m.isSpace),[i]),c=(0,_.useMemo)(()=>{let m=new Set(o.map(y=>y.accountId)),f=y=>!y.subordinateTo||!m.has(y.subordinateTo);return[...o].sort((y,h)=>Number(f(h))-Number(f(y)))},[o]),a=(0,_.useSyncExternalStore)(ke,ie,ie),l=(0,_.useMemo)(()=>{let m=he();return m?i.find(f=>f.accountId===m.id)??null:null},[a,i]);(0,_.useEffect)(()=>{if(!e?.id){t.current=null;return}if(t.current!==e.id)if(r(null),c.length===1){let m=c[0];de()||Tt(je(m)),Mt(m.accountId),m.personalSpacePath&&Ot(m.personalSpacePath,f=>{let y=i.find(h=>h.accountId===f);return y?je(y):null}).catch(r),t.current=e.id}else c.length>1&&(t.current=e.id)},[e?.id,c,i]);let d=(0,_.useCallback)(async m=>{let f=i.find(g=>g.path===m);if(!f)throw new Error("Account membership is unavailable");let y=je(f);de()||Tt(y);let h=i.find(g=>g.accountId===de()?.id);if(!h?.personalSpacePath)throw new Error("The home membership has no mount declaration location");await Ot(h.personalSpacePath,g=>{let v=i.find(C=>C.accountId===g);return v?je(v):null}),await ur(y),r(null),Mt(f.accountId)},[i]),p=(0,_.useCallback)(async m=>{let f=i.find(y=>y.path===m);if(!f)throw new Error("Scope membership is unavailable");await ai(je(f))},[i]);return{accounts:c,allMemberships:i,currentAccount:l,mountedScope:null,switchAccount:d,mountScope:p,loading:s.isLoading,error:s.error??n}}function Xa(){J();let e=(0,_.useSyncExternalStore)(Ar,Xn,Xn),t=(0,_.useMemo)(()=>Ce(),[e]),n=he(),r=(0,_.useMemo)(()=>t.filter(i=>i.kind==="space"&&(n?.kind==="account"||i.id===n?.id)),[t,n]),s=(0,_.useMemo)(()=>r.map(i=>i.id).sort(),[r]);return{mounts:t,selectedSpaces:r,readSpaceIds:s,homeAnchor:de(),anchor:n,setAnchor:ur,replaceMounts:rs,mount:ai,unmount:Pa}}function os(){let[e,t]=(0,_.useState)(null),[n,r]=(0,_.useState)(null),[s,i]=(0,_.useState)(!0),o=(0,_.useRef)(null);(0,_.useEffect)(()=>{W.auth.getSession().then(({data:f,error:y})=>{if(y){console.warn("[useAuth] getSession error, clearing stale session:",y.message),W.auth.signOut().catch(()=>{}),r(null),t(null),i(!1);return}r(f?.session??null),t(f?.session?.user??null),i(!1)}).catch(f=>{console.warn("[useAuth] getSession threw, clearing stale session:",f?.message),W.auth.signOut().catch(()=>{}),r(null),t(null),i(!1)});let{data:{subscription:m}}=W.auth.onAuthStateChange((f,y)=>{if(f==="TOKEN_REFRESHED"&&!y){console.warn("[useAuth] TOKEN_REFRESHED with null session \u2014 signing out"),W.auth.signOut().catch(()=>{}),r(null),t(null),i(!1);return}r(y),t(y?.user??null),i(!1)});return o.current=m,()=>{m?.unsubscribe()}},[]);let c=(0,_.useCallback)(async m=>m.provider?W.auth.signInWithOAuth({provider:m.provider,options:m.redirectTo?{redirectTo:m.redirectTo}:{redirectTo:window.location.href}}):W.auth.signInWithPassword({email:m.email,password:m.password}),[]),a=(0,_.useCallback)(async m=>W.auth.signUp({email:m.email,password:m.password,options:{data:m.metadata||{}}}),[]),l=(0,_.useCallback)(async()=>{await W.auth.signOut(),un(),T().clear()},[]),d=(0,_.useCallback)(async m=>{let{error:f}=await W.auth.resetPasswordForEmail(m);if(f)throw f},[]),p=(0,_.useCallback)(async(m,f)=>{let{error:y}=await W.auth.signInWithOtp({email:m,options:f?{emailRedirectTo:f}:{emailRedirectTo:window.location.href}});if(y)throw y},[]);return{user:e,session:n,loading:s,signIn:c,signUp:a,signOut:l,resetPassword:d,signInWithMagicLink:p}}function Za(e){let[t,n]=(0,_.useState)(null),[r,s]=(0,_.useState)(!1),[i,o]=(0,_.useState)(null);return(0,_.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),x("resolve-asset",{asset_id:e}).then(a=>{a.success&&a.public_url?n({url:a.public_url,id:a.asset_id,name:a.name,mimeType:a.mime_type,width:a.width,height:a.height,sizeBytes:a.size_bytes}):o(new Error(a.error||"Asset not found")),s(!1)}).catch(a=>{o(a instanceof Error?a:new Error(String(a))),s(!1)});else{let l=(typeof window<"u"&&window.__FSAOS_CONFIG__||{}).edgeBaseUrl||"";n({url:l+e}),s(!1)}},[e]),{data:t,loading:r,error:i}}var lr={},Aa={};se(()=>{for(let e of Object.keys(lr))delete lr[e]});var ec=null;function tc(e){ec=e,typeof window<"u"&&!window.__FSAOS_GATEWAY__&&(window.__FSAOS_GATEWAY__=e)}function dl(e){switch(e){case"react":return typeof window<"u"&&window.React||_.default;case"react-dom":case"react-dom/client":return typeof window<"u"&&window.ReactDOM||cl;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}:ul;case"@fsaos/gateway":case"@fsaos/react":return typeof window<"u"&&window.__FSAOS_GATEWAY__||ec||{};case"@fsaos/ui":return typeof window<"u"&&window.__FSAOS_UI__||{};case"@fsaos/theme":return{};default:return console.warn(`[useComponent] Unknown module requested: ${e}`),{}}}function fl(e,t){return e.replace(/^(\s*)(:root|body)(\s*[{,])/gm,(n,r,s,i)=>`${r}.${t}${i}`)}async function pl(e,t){if(!Aa[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=fl(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),Aa[e]=s}catch{}}function ml(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)(dl),o=t??i;return o?o.default||o:null}finally{n!==void 0?window.__FSAOS_REGISTER__=n:delete window.__FSAOS_REGISTER__}}function di(e){let[t,n]=(0,_.useState)(null),[r,s]=(0,_.useState)(!0),[i,o]=(0,_.useState)(null);return(0,_.useEffect)(()=>{if(!e)return;let c=!1;s(!0),o(null);let l=(typeof window<"u"&&window.__FSAOS_CONFIG__||{}).edgeBaseUrl||"";return(async()=>{try{let d=1,p=e+"@v1",m=l+e+"/__bundle.js";try{let v=await fetch(l+e+"/__meta",{cache:"no-store"});v.ok&&(d=(await v.json()).version||1,p=e+"@v"+d,m=l+e+"/__bundle.v"+d+".js")}catch{m=l+e+"/__bundle.js?v="+Date.now()}if(c)return;if(lr[p]){n(()=>lr[p]),s(!1);return}let f=await fetch(m);if(!f.ok)throw new Error(`Failed to fetch bundle: ${f.status} ${f.statusText} (${m})`);let y=await f.text();if(c)return;let h=m.replace(/__bundle(\.v\d+)?\.js(\?.*)?$/,"__bundle$1.css");pl(h).catch(()=>{});let g=ml(y);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})`);lr[p]=g,c||(n(()=>g),s(!1))}catch(d){c||(o(d instanceof Error?d:new Error(String(d))),s(!1))}})(),()=>{c=!0}},[e]),{Component:t,loading:r,error:i}}var hl=["--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 nc(){return{data:(0,_.useMemo)(()=>{if(typeof document>"u")return{tokens:{}};let t={},n=getComputedStyle(document.documentElement);return hl.forEach(r=>{t[r]=n.getPropertyValue(r).trim()}),{tokens:t}},[]),loading:!1,error:null}}function rc(e,t){return{data:{allowed:!0},loading:!1,error:null}}function sc(e,t){let n={};return(t||[]).forEach(r=>{n[r]=!0}),{data:n,loading:!1,error:null}}var ae=null,Rn=null,ui=new Set;function gl(){ui.forEach(e=>e())}se(()=>{ae=null,Rn=null});async function ic(e){let t={principalId:null,displayName:null,createdAt:null,metadata:null,vfsPath:null},n=Et()?.principal_id??null;if(n){if(ae&&ae.principalId===n){let{principalId:s,displayName:i,createdAt:o,metadata:c,vfsPath:a}=ae;return{principalId:s,displayName:i,createdAt:o,metadata:c,vfsPath:a}}return{...t,principalId:n}}let r=e;if(!r){let{data:s}=await W.auth.getSession();r=s?.session?.user?.id}if(!r)return t;if(ae&&ae.authUserId===r){let{principalId:s,displayName:i,createdAt:o,metadata:c,vfsPath:a}=ae;return{principalId:s,displayName:i,createdAt:o,metadata:c,vfsPath:a}}return Rn||(Rn=(async()=>{try{let{data:s,error:i}=await W.from("os_principals").select("id, display_name, created_at, metadata").eq("auth_user_id",r).eq("principal_type","user").maybeSingle();if(i)return console.warn("[SDK] Could not resolve principal:",i.message),t;let o=s?.id??null,c=null;if(o){let{data:l}=await W.from("os_items").select("path").eq("owner_principal_id",o).eq("item_type","principal").eq("is_active",!0).like("path","/root/principals/%"),d=(l??[]).map(p=>p.path);c=d.find(p=>p.split("/").length===4)??d[0]??null}let a={principalId:o,displayName:s?.display_name??null,createdAt:s?.created_at??null,metadata:s?.metadata??null,vfsPath:c};return ae={authUserId:r,...a},a}finally{Rn=null}})(),Rn)}async function oc(e){return(await ic(e)).principalId}function ac(){let e=os(),t=e.user,n=ae?.authUserId===t?.id?ae:null,[r,s]=(0,_.useState)(n),i=(0,_.useRef)(null);return(0,_.useEffect)(()=>{let o=()=>{let c=ae;c&&c.authUserId===t?.id&&s({principalId:c.principalId,displayName:c.displayName,createdAt:c.createdAt,metadata:c.metadata,vfsPath:c.vfsPath})};return ui.add(o),()=>{ui.delete(o)}},[t?.id]),(0,_.useEffect)(()=>{if(!t?.id){s(null),i.current=null;return}i.current===t.id&&r?.principalId!=null||(i.current=t.id,ic(t.id).then(o=>{s(o)}))},[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 cc(){return{data:null,loading:!1,error:null}}function uc(e){let{path:t,...n}=e,r=di(t),s=r.Component,{loading:i,error:o}=r;return i?(0,_.createElement)("div",{className:"fsaos-loading"},""):o?(0,_.createElement)("div",{className:"fsaos-error"},"Failed to load component"):s?(0,_.createElement)(s,n):null}function lc(e){return e.children}function dc(e){let t=J(),{channelPath:n,parentMessageId:r,realtime:s=!0,enabled:i}=e,o=i!==void 0?i&&!!n:!!n,c=(0,_.useMemo)(()=>S.channelMessages(n??"",r),[n,r,t]),a=V(),l=(0,_.useRef)(null),d=j({queryKey:c,queryFn:()=>Xr(n,r),enabled:o});(0,_.useEffect)(()=>{if(!s||!o)return;let h=ne("vfs_change",()=>{l.current&&clearTimeout(l.current),l.current=setTimeout(()=>{Te(a,c,{exact:!0})},500)},g=>ci(g,n,r,a.getQueryData(c)?.messages??[]));return()=>{h(),l.current&&clearTimeout(l.current)}},[s,o,n,r,c,a]);let p=d.data,m=p?.messages??[],f=p?.messageCards??new Map,y=p?.siblingCards??[];return{messages:m,messageCards:f,siblingCards:y,threads:(0,_.useMemo)(()=>m.filter(h=>h.reply_count>0),[m]),isLoading:d.isLoading,isFetching:d.isFetching,error:d.error,refetch:d.refetch}}function fc(e){J();let{channelPath:t,parentMessageId:n,limit:r=50,realtime:s=!0,enabled:i=!0}=e,o=!!n,c=i&&!!t,a=Hn({queryKey:[...S.channelMessages(t||"",n),"infinite",r],queryFn:async({pageParam:h})=>ir(t,{parentMessageId:n,limit:r,before_seq:o?void 0:h,after_seq:o?h:void 0}),initialPageParam:void 0,getNextPageParam:h=>!o||h.messages.length<r?void 0:h.messages[h.messages.length-1]?.seq,getPreviousPageParam:h=>o||h.messages.length<r?void 0:h.messages[0]?.seq,enabled:c}),l=(0,_.useMemo)(()=>{if(!a.data?.pages)return[];let h=new Set,g=[];for(let v of a.data.pages)for(let C of v.messages)h.has(C.id)||(h.add(C.id),g.push(C));return g.sort((v,C)=>v.seq-C.seq)},[a.data?.pages]),{messageCards:d,siblingCards:p}=(0,_.useMemo)(()=>{let h=new Map,g=[];if(!a.data?.pages)return{messageCards:h,siblingCards:g};let v=new Set;for(let C of a.data.pages){for(let[q,F]of C.messageCards)for(let R of F){if(v.has(R.id))continue;v.add(R.id);let k=h.get(q)||[];k.push(R),h.set(q,k)}for(let q of C.siblingCards)v.has(q.id)||(v.add(q.id),g.push(q))}return{messageCards:h,siblingCards:g}},[a.data?.pages]),m=V(),f=(0,_.useRef)(null),y=(0,_.useMemo)(()=>[...S.channelMessages(t||"",n),"infinite",r],[t,n,r]);return(0,_.useEffect)(()=>{if(!s||!t||!c)return;let h=()=>void Te(m,y,{exact:!0}),g=!1,v=!1,C=!1,q=async()=>{let k=m.getQueryData(y);if(!k?.pages?.length){h();return}let U=0;for(let N of k.pages)for(let I of N.messages)I.seq>U&&(U=I.seq);if(U===0){h();return}try{let N=await ir(t,{parentMessageId:n,limit:r,after_seq:U});if(N.messages.length===0&&N.siblingCards.length===0){h();return}if(N.messages.length>0){let I=Math.min(...N.messages.map(B=>B.seq));if(I>U+1){console.warn(`[useInfiniteChannelMessages] sequence gap detected: maxSeq=${U}, minNewSeq=${I}. Triggering full refetch.`),h();return}}m.setQueryData(y,I=>{if(!I)return I;let B=[...I.pages],M=B.length-1,E=B[M],Q=new Set(E.messages.map(we=>we.id)),O=N.messages.filter(we=>!Q.has(we.id)),ce=[...E.messages,...O].sort((we,ms)=>we.seq-ms.seq),H=new Map(E.messageCards);for(let[we,ms]of N.messageCards){let Si=H.get(we)||[],hu=new Set(Si.map(hs=>hs.id)),gu=ms.filter(hs=>!hu.has(hs.id));H.set(we,[...Si,...gu])}let Oe=new Set(E.siblingCards.map(we=>we.id)),pu=N.siblingCards.filter(we=>!Oe.has(we.id)),mu=[...E.siblingCards,...pu];return B[M]={...E,messages:ce,messageCards:H,siblingCards:mu},{...I,pages:B}})}catch(N){console.warn("[useInfiniteChannelMessages] live tail fetch failed, falling back to full invalidation:",N),h()}},F=async()=>{if(g){v=!0;return}g=!0;try{do v=!1,await q();while(v&&!C)}finally{g=!1}},R=ne("vfs_change",()=>{f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{F()},500)},k=>ci(k,t,n,m.getQueryData(y)?.pages.flatMap(U=>U.messages)??[]));return()=>{C=!0,R(),f.current&&clearTimeout(f.current)}},[s,t,c,y,m,n,r]),{messages:l,messageCards:d,siblingCards:p,threads:l.filter(h=>h.reply_count>0),isLoading:a.isLoading,isFetching:a.isFetching,error:a.error,refetch:a.refetch,hasPreviousPage:a.hasPreviousPage??!1,fetchPreviousPage:a.fetchPreviousPage,isFetchingPreviousPage:a.isFetchingPreviousPage??!1,hasNextPage:a.hasNextPage??!1,fetchNextPage:a.fetchNextPage,isFetchingNextPage:a.isFetchingNextPage??!1}}function yl(e){return e==="on"||e==="auto"?"on":"off"}function ka(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:yl(t.ai_mode),isPrivate:t.is_private||!1,isDm:t.is_dm||!1,messageCount:t.message_count||0,createdAt:e.created_at||"",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 as(e={}){let t=J(),{realtime:n=!0,enabled:r=!0}=e,s=V(),i=(0,_.useMemo)(()=>S.channels("all"),[t]),o=j({queryKey:i,queryFn:async()=>((await x("query",{item_type:"channel",include_reader:!0,limit:500})).items||[]).map(ka),enabled:r});return(0,_.useEffect)(()=>{if(!(!n||!r))return Ea(s,i,ka)},[n,r,i,s]),{channels:o.data??[],isLoading:o.isLoading,isFetching:o.isFetching,error:o.error,refetch:o.refetch}}function pc(e={}){let t=as(e),n=(0,_.useMemo)(()=>t.channels.filter(r=>!r.isDm),[t.channels]);return{...t,channels:n}}function mc(e={}){let t=as(e),n=(0,_.useMemo)(()=>t.channels.filter(r=>r.isDm),[t.channels]);return{...t,channels:n}}function fi(e={}){let t=J(),{filter:n="all",limit:r=200,realtime:s=!0,enabled:i=!0}=e,o=V(),c=(0,_.useRef)(null),a=(0,_.useMemo)(()=>S.notifications(n,r),[n,r,t]),l=j({queryKey:a,queryFn:async()=>{let p={limit:r};return n==="unread"&&(p.filter="unread"),(await x("get-notifications",p)).notifications||[]},enabled:i});return(0,_.useEffect)(()=>{if(!s||!i)return;let p=["vfs_change","ccm_change"].map(m=>ne(m,()=>{c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{o.invalidateQueries({queryKey:a})},2e3)},f=>f.item_type==="notification"&&ss(f)));return()=>{p.forEach(m=>m()),c.current&&clearTimeout(c.current)}},[s,i,a,o]),{notifications:l.data??[],isLoading:l.isLoading,isFetching:l.isFetching,error:l.error,refetch:l.refetch}}function hc(e={}){let{channels:t,realtime:n=!0,enabled:r=!0}=e,{notifications:s,isLoading:i,isFetching:o,error:c,refetch:a}=fi({filter:"unread",limit:200,realtime:n,enabled:r}),l=(0,_.useMemo)(()=>{let f=new Map;for(let y of s)y.is_unread&&y.channel_id&&f.set(y.channel_id,(f.get(y.channel_id)||0)+1);return f},[s]),d=(0,_.useMemo)(()=>{let f=0;return l.forEach(y=>{f+=y}),f},[l]),{dmUnread:p,channelUnread:m}=(0,_.useMemo)(()=>{if(!t)return{dmUnread:0,channelUnread:0};let f=new Set(t.filter(g=>g.isDm).map(g=>g.id)),y=0,h=0;return l.forEach((g,v)=>{f.has(v)?y+=g:h+=g}),{dmUnread:y,channelUnread:h}},[t,l]);return{unreadByChannel:l,totalUnread:d,dmUnread:p,channelUnread:m,isLoading:i,isFetching:o,error:c,refetch:a}}function gc(){let e=V();return ve({mutationFn:t=>x("create",t),onSuccess:(t,n)=>{let r=n.parent_path;r&&e.invalidateQueries({queryKey:S.children(r)})}})}function yc(){let e=V();return ve({mutationFn:t=>x("update",t),onSuccess:(t,n)=>{let r=n.path;if(r){e.invalidateQueries({queryKey:S.item(r)});let s=r.split("/");s.pop();let i=s.join("/");i&&e.invalidateQueries({queryKey:S.children(i)})}}})}function _c(){return ve({mutationFn:e=>x("update-principal",e),onSuccess:(e,t)=>{if(!ae)return;let n=e&&typeof e=="object"&&e.metadata?e.metadata:{...ae.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}:{}};ae={...ae,displayName:typeof t.display_name=="string"?t.display_name:ae.displayName,metadata:n},gl()}})}function vc(){let e=V();return ve({mutationFn:t=>x("delete",t),onSuccess:(t,n)=>{let r=n.path;if(r){e.removeQueries({queryKey:S.item(r)});let s=r.split("/");s.pop();let i=s.join("/");i&&e.invalidateQueries({queryKey:S.children(i)})}}})}function bc(){let e=V();return ve({mutationFn:t=>x("move",t),onSuccess:(t,n)=>{let r=n.path,s=n.new_parent_path;if(r){e.invalidateQueries({queryKey:S.item(r)});let i=r.split("/");i.pop();let o=i.join("/");o&&e.invalidateQueries({queryKey:S.children(o)})}s&&e.invalidateQueries({queryKey:S.children(s)})}})}function wc(){let e=V();return ve({mutationFn:t=>x("link",t),onSuccess:(t,n)=>{let r=n.source_id,s=n.target_id;r&&e.invalidateQueries({queryKey:S.edges(r)}),s&&e.invalidateQueries({queryKey:S.edges(s)})}})}function Sc(e,t){let n=V(),{optimistic:r,...s}=t??{};return ve({mutationFn:i=>x(e,i),onMutate:r?async i=>{await n.cancelQueries({queryKey:r.queryKey});let o=n.getQueryData(r.queryKey);return n.setQueryData(r.queryKey,c=>r.update(c,i)),{previous:o}}:void 0,onError:(i,o,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 Rc(e,t,n){let r,s,i,o=!0;if(typeof e=="string")r=e,s=t,i=n;else{s=e;let l=t;r=l.eventType,i=l.filter,o=l.enabled??!0}let c=(0,_.useRef)(s),a=(0,_.useRef)(i);(0,_.useEffect)(()=>{c.current=s,a.current=i},[s,i]),(0,_.useEffect)(()=>o?ne(r,d=>c.current(d),a.current?d=>a.current(d):void 0):void 0,[r,o])}function xc(e){let{queryKey:t,queryFn:n,eventType:r,filter:s,enabled:i=!0,debounceMs:o=500}=e,c=V(),a=(0,_.useRef)(s);a.current=s;let l=(0,_.useRef)(null),d=j({queryKey:t,queryFn:n,enabled:i});return(0,_.useEffect)(()=>{if(!i)return;let p=ne(r,()=>{l.current&&clearTimeout(l.current),l.current=setTimeout(()=>{Te(c,t,{exact:!0})},o)},m=>a.current?.(m)??!0);return()=>{p(),l.current&&clearTimeout(l.current)}},[r,i,o,c,JSON.stringify(t)]),d}function xn(e){J();let t=Z(),n=(0,_.useMemo)(()=>e?typeof e=="string"?{path:e}:e:null,[typeof e=="string"?e:JSON.stringify(e)]),r=!!t&&!!n&&!!(n.key||n.path||n.item_id),s=n?.key??n?.path??n?.item_id??"",i=["vfs",t??"__unscoped__","arrangement",s,n?.scope_id??""],o=j({queryKey:i,staleTime:1/0,retry:!1,meta:{arrangementRealtime:!0},queryFn:async()=>{if(!n)return null;let m=await x("resolve-arrangement",{...n,_scope_path:t});if(m?.success===!1)throw new Error(m?.error||"Arrangement could not be loaded");return m??null},enabled:r}),c=o.data??null,a=(0,_.useMemo)(()=>c?.resolved_children??[],[c]),l=c?.resolution_level??null,d=(0,_.useMemo)(()=>{let f=(c?.type_data??null)?.order;return Array.isArray(f)?f:null},[c]),p=(0,_.useCallback)(m=>{if(!d||!m?.length)return m??[];let f=v=>v.id??v.name??"",y=new Map(d.map((v,C)=>[v,C])),h=[],g=[];for(let v of m)(y.has(f(v))?h:g).push(v);return h.sort((v,C)=>y.get(f(v))-y.get(f(C))),[...h,...g]},[d]);return{...o,arrangement:c,resolvedChildren:a,resolutionLevel:l,order:d,sourceScopeId:c?.scope_item_id??null,arrangementQueryKey:i,applyTo:p}}function Cc(e){let{origin:t,originField:n,fallbackUrl:r,mintError:s,scopeId:i,scopePath:o}=e,c=J(),a=Et(),l=i??a?.scope_id??null,d=(0,_.useMemo)(()=>{if(!t)return null;let R="/accounts/",k=t.indexOf(R);if(k===-1)return null;let U=t.indexOf("/",k+R.length);return U===-1?t:t.slice(0,U)},[t]),p=o??d??a?.scope_path??null,m=n?.trim()||null,f=`${c}
1
+ /* @fsaos/gateway v2.0.0 — Unified FSAOS Edge Runtime — 2026-10-09T07:36:01.191Z */
2
+ "use strict";var __FSAOS_GATEWAY__=(()=>{var yu=Object.create;var An=Object.defineProperty;var _u=Object.getOwnPropertyDescriptor;var vu=Object.getOwnPropertyNames;var bu=Object.getPrototypeOf,wu=Object.prototype.hasOwnProperty;var Ri=e=>{throw TypeError(e)};var Su=(e,t,n)=>t in e?An(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var kn=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ru=(e,t)=>{for(var n in t)An(e,n,{get:t[n],enumerable:!0})},Ci=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of vu(t))!wu.call(e,s)&&s!==n&&An(e,s,{get:()=>t[s],enumerable:!(r=_u(t,s))||r.enumerable});return e};var Y=(e,t,n)=>(n=e!=null?yu(bu(e)):{},Ci(t||!e||!e.__esModule?An(n,"default",{value:e,enumerable:!0}):n,e)),Cu=e=>Ci(An({},"__esModule",{value:!0}),e);var X=(e,t,n)=>Su(e,typeof t!="symbol"?t+"":t,n),ys=(e,t,n)=>t.has(e)||Ri("Cannot "+n);var u=(e,t,n)=>(ys(e,t,"read from private field"),n?n.call(e):t.get(e)),w=(e,t,n)=>t.has(e)?Ri("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),b=(e,t,n,r)=>(ys(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),P=(e,t,n)=>(ys(e,t,"access private method"),n);var Mn=(e,t,n,r)=>({set _(s){b(e,t,s,n)},get _(){return u(e,t,r)}});var ue=kn((Ul,xi)=>{xi.exports=React});var Cr=kn((Qf,io)=>{io.exports={jsx:React.createElement,jsxs:React.createElement,Fragment:React.Fragment}});var vo=kn((pp,_o)=>{_o.exports={createClient:window.supabase.createClient}});var Uo=kn((Cp,Do)=>{Do.exports=ReactDOM});var jc=kn((vh,Lc)=>{Lc.exports=ReactDOM});var wi={};Ru(wi,{ComponentRenderer:()=>uc,EnforcementDeniedError:()=>et,FormSubmissionError:()=>In,GatewayRequestError:()=>Pe,InteractionTrackingError:()=>Pn,KernelProvider:()=>lc,QueryClientProvider:()=>Bn,auth:()=>Xc,awaitAnchorReady:()=>Yn,awaitScopeReady:()=>Eo,callTool:()=>zc,cancelQueuedTurn:()=>Nc,cancelTurn:()=>Dc,clearCachedToken:()=>Bs,clearSession:()=>Ys,createItem:()=>Hc,disconnectSSE:()=>si,disposeVfsRealtimeWs:()=>oi,electHomeAnchor:()=>Tt,emitEvent:()=>sa,fetchChannelMessages:()=>ha,fetchChannelMessagesPage:()=>or,fetchChannelMessagesWithCards:()=>Zr,fetchEdgesForItem:()=>$r,fetchItemHistory:()=>Jr,fetchItemVersions:()=>ir,fetchItems:()=>vn,fetchMemberFocus:()=>Yr,fetchOpenEnvelope:()=>Xr,fetchRecentActivity:()=>zr,fetchResolvedItems:()=>vi,fetchTimelineHistory:()=>bi,fetchTurnQueueEntries:()=>fa,fetchTypeDefinitions:()=>Hr,fetchVfsChildren:()=>sr,fetchVfsChildrenPage:()=>Vr,fetchVfsItem:()=>Br,fetchVfsItemById:()=>Wr,fetchVfsTree:()=>Gr,gatewayCall:()=>C,getAccessToken:()=>Je,getAnchor:()=>cn,getAnchorRef:()=>he,getAnchorVersion:()=>$s,getAssetUrl:()=>Yc,getDefaultSort:()=>nu,getHomeAnchor:()=>de,getMountVersion:()=>Xn,getMounts:()=>xe,getPathSubscriptionState:()=>oa,getQueryClient:()=>T,getRequiredFormFields:()=>ru,getScope:()=>Z,getScopeVersion:()=>ie,getServerClockOffsetMs:()=>Oo,getServerClockSyncedAt:()=>Fo,getSessionEntry:()=>Et,hasServerClock:()=>Mo,initSession:()=>ft,initVfsRealtimeWs:()=>Mt,initializeFsaos:()=>Qc,initializeWorkspace:()=>ds,interpretSchema:()=>_i,invalidateAllVfs:()=>_a,invalidateChannelMessages:()=>ba,invalidateChildren:()=>jr,invalidateItem:()=>ii,invalidateOpenEnvelope:()=>wa,invalidatePathAndParent:()=>ga,invalidateSubtree:()=>ya,invalidateTypes:()=>va,isAnchorReady:()=>zs,isChannelPath:()=>Ke,isListableItemsFilter:()=>_n,isScopeReady:()=>Mr,itemsFilterFromQueryFilter:()=>pa,listChildren:()=>Vc,loadMounts:()=>Ot,mount:()=>Zc,mountRealtimeScope:()=>wn,normalizeItem:()=>ge,onConnectionStateChange:()=>ua,pathSubscriptionMatches:()=>ti,ping:()=>ia,pushChanges:()=>Gc,queryClient:()=>Vo,readItem:()=>Bc,refreshQuery:()=>Te,registerCleanup:()=>se,replaceMounts:()=>ss,resetAllSdkState:()=>un,resolvePrincipalId:()=>oc,resubscribePath:()=>ca,selectMount:()=>lr,serverDeadlinePassed:()=>qo,serverMsUntil:()=>Qo,serverNow:()=>Or,setAnchor:()=>Ar,setCachedToken:()=>So,setQueryClient:()=>Bo,setScope:()=>To,setupRequireShim:()=>eu,signal:()=>Jc,startTracking:()=>ls,steerTurn:()=>Uc,submitForm:()=>Kc,subscribeAnchor:()=>Gs,subscribeArtifactStream:()=>fs,subscribeMounts:()=>kr,subscribeScope:()=>ke,subscribeToEvents:()=>ne,subscribeToPath:()=>Lr,subscribeToScope:()=>yn,trackAction:()=>Oc,trackEvent:()=>Ft,trackPageView:()=>Mc,unmountRealtimeScope:()=>ns,updateItem:()=>$c,uploadFile:()=>su,useAccounts:()=>Ya,useAgentTimeline:()=>lu,useAllChannels:()=>cs,useArrangement:()=>Cn,useArtifactStream:()=>uu,useAsset:()=>Za,useAuth:()=>as,useChannelMessages:()=>dc,useChannels:()=>pc,useChildren:()=>qa,useComponent:()=>di,useCreate:()=>gc,useDelete:()=>vc,useDmChannels:()=>mc,useEdges:()=>ja,useEventStream:()=>Rc,useFileUpload:()=>ou,useInfiniteChannelMessages:()=>fc,useInfiniteChildren:()=>La,useInfiniteItems:()=>Ka,useItem:()=>Oa,useItemById:()=>Fa,useItemHistory:()=>Ga,useItemVersions:()=>$a,useItems:()=>Na,useLink:()=>wc,useList:()=>li,useMemberFocus:()=>Ha,useMintedAsset:()=>xc,useMounts:()=>Xa,useMove:()=>bc,useMutation:()=>Sc,useNotifications:()=>fi,useOpen:()=>Ba,usePermission:()=>rc,usePermissions:()=>sc,usePersonalItemOrder:()=>Pc,usePinnedItems:()=>fu,usePrincipal:()=>ac,useRealtimeQuery:()=>Cc,useRecentActivity:()=>za,useResolve:()=>Ua,useResolvedItems:()=>cu,useScope:()=>Ja,useScopeReady:()=>Ma,useSearch:()=>Da,useTheme:()=>nc,useTimelineHistory:()=>du,useTool:()=>cc,useTree:()=>Qa,useType:()=>Wa,useTypeHelpers:()=>Va,useTypes:()=>os,useUnreadCounts:()=>hc,useUpdate:()=>yc,useUpdatePrincipal:()=>_c,vfsKeys:()=>S,waitForPathReady:()=>aa});var et=class e extends Error{constructor(n){let r=n.message||e.fallbackMessage(n);super(r);X(this,"name","EnforcementDeniedError");X(this,"deniedBy");X(this,"ruleKey");X(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 xn=Y(ue(),1);var Se=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 gt,tt,Qt,Pi,xu=(Pi=class extends Se{constructor(){super();w(this,gt);w(this,tt);w(this,Qt);b(this,Qt,t=>{if(typeof window<"u"&&window.addEventListener){let n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){u(this,tt)||this.setEventListener(u(this,Qt))}onUnsubscribe(){var t;this.hasListeners()||((t=u(this,tt))==null||t.call(this),b(this,tt,void 0))}setEventListener(t){var n;b(this,Qt,t),(n=u(this,tt))==null||n.call(this),b(this,tt,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){u(this,gt)!==t&&(b(this,gt,t),this.onFocus())}onFocus(){let t=this.isFocused();this.listeners.forEach(n=>{n(t)})}isFocused(){return typeof u(this,gt)=="boolean"?u(this,gt):globalThis.document?.visibilityState!=="hidden"}},gt=new WeakMap,tt=new WeakMap,Qt=new WeakMap,Pi),Dt=new xu;var Pu={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},nt,_s,Ti,Tu=(Ti=class{constructor(){w(this,nt,Pu);w(this,_s,!1)}setTimeoutProvider(e){b(this,nt,e)}setTimeout(e,t){return u(this,nt).setTimeout(e,t)}clearTimeout(e){u(this,nt).clearTimeout(e)}setInterval(e,t){return u(this,nt).setInterval(e,t)}clearInterval(e){u(this,nt).clearInterval(e)}},nt=new WeakMap,_s=new WeakMap,Ti),Fe=new Tu;function Ei(e){setTimeout(e,0)}var bs=typeof window>"u"||"Deno"in globalThis;function $(){}function ki(e,t){return typeof e=="function"?e(t):e}function On(e){return typeof e=="number"&&e>=0&&e!==1/0}function hr(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Ie(e,t){return typeof e=="function"?e(t):e}function fe(e,t){return typeof e=="function"?e(t):e}function gr(e,t){let{type:n="all",exact:r,fetchStatus:s,predicate:i,queryKey:o,stale:c}=e;if(o){if(r){if(t.queryHash!==Fn(o,t.options))return!1}else if(!yt(t.queryKey,o))return!1}if(n!=="all"){let a=t.isActive();if(n==="active"&&!a||n==="inactive"&&a)return!1}return!(typeof c=="boolean"&&t.isStale()!==c||s&&s!==t.state.fetchStatus||i&&!i(t))}function yr(e,t){let{exact:n,status:r,predicate:s,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(n){if(qe(t.options.mutationKey)!==qe(i))return!1}else if(!yt(t.options.mutationKey,i))return!1}return!(r&&t.state.status!==r||s&&!s(t))}function Fn(e,t){return(t?.queryKeyHashFn||qe)(e)}function qe(e){return JSON.stringify(e,(t,n)=>vs(n)?Object.keys(n).sort().reduce((r,s)=>(r[s]=n[s],r),{}):n)}function yt(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(n=>yt(e[n],t[n])):!1}var Eu=Object.prototype.hasOwnProperty;function ws(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=Ii(e)&&Ii(t);if(!r&&!(vs(e)&&vs(t)))return t;let i=(r?e:Object.keys(e)).length,o=r?t:Object.keys(t),c=o.length,a=r?new Array(c):{},l=0;for(let d=0;d<c;d++){let p=r?d:o[d],m=e[p],f=t[p];if(m===f){a[p]=m,(r?d<i:Eu.call(e,p))&&l++;continue}if(m===null||f===null||typeof m!="object"||typeof f!="object"){a[p]=f;continue}let y=ws(m,f,n+1);a[p]=y,y===m&&l++}return i===c&&l===i?e:a}function Ut(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 Ii(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function vs(e){if(!Ai(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!Ai(n)||!n.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function Ai(e){return Object.prototype.toString.call(e)==="[object Object]"}function Mi(e){return new Promise(t=>{Fe.setTimeout(t,e)})}function qn(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?ws(e,t):t}function Oi(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function Fi(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var Nt=Symbol();function _r(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===Nt?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function Kt(e,t){return typeof e=="function"?e(...t):!!e}function qi(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 Qe=(()=>{let e=()=>bs;return{isServer(){return e()},setIsServer(t){e=t}}})();function Qn(){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 Qi=Ei;function Iu(){let e=[],t=0,n=c=>{c()},r=c=>{c()},s=Qi,i=c=>{t?e.push(c):s(()=>{n(c)})},o=()=>{let c=e;e=[],c.length&&s(()=>{r(()=>{c.forEach(a=>{n(a)})})})};return{batch:c=>{let a;t++;try{a=c()}finally{t--,t||o()}return a},batchCalls:c=>(...a)=>{i(()=>{c(...a)})},schedule:i,setNotifyFunction:c=>{n=c},setBatchNotifyFunction:c=>{r=c},setScheduler:c=>{s=c}}}var L=Iu();var Lt,rt,jt,Di,Au=(Di=class extends Se{constructor(){super();w(this,Lt,!0);w(this,rt);w(this,jt);b(this,jt,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(){u(this,rt)||this.setEventListener(u(this,jt))}onUnsubscribe(){var t;this.hasListeners()||((t=u(this,rt))==null||t.call(this),b(this,rt,void 0))}setEventListener(t){var n;b(this,jt,t),(n=u(this,rt))==null||n.call(this),b(this,rt,t(this.setOnline.bind(this)))}setOnline(t){u(this,Lt)!==t&&(b(this,Lt,t),this.listeners.forEach(r=>{r(t)}))}isOnline(){return u(this,Lt)}},Lt=new WeakMap,rt=new WeakMap,jt=new WeakMap,Di),Wt=new Au;function ku(e){return Math.min(1e3*2**e,3e4)}function Ss(e){return(e??"online")==="online"?Wt.isOnline():!0}var vr=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function br(e){let t=!1,n=0,r,s=Qn(),i=()=>s.status!=="pending",o=h=>{if(!i()){let g=new vr(h);m(g),e.onCancel?.(g)}},c=()=>{t=!0},a=()=>{t=!1},l=()=>Dt.isFocused()&&(e.networkMode==="always"||Wt.isOnline())&&e.canRun(),d=()=>Ss(e.networkMode)&&e.canRun(),p=h=>{i()||(r?.(),s.resolve(h))},m=h=>{i()||(r?.(),s.reject(h))},f=()=>new Promise(h=>{r=g=>{(i()||l())&&h(g)},e.onPause?.()}).then(()=>{r=void 0,i()||e.onContinue?.()}),y=()=>{if(i())return;let h,g=n===0?e.initialPromise:void 0;try{h=g??e.fn()}catch(v){h=Promise.reject(v)}Promise.resolve(h).then(p).catch(v=>{if(i())return;let x=e.retry??(Qe.isServer()?0:3),q=e.retryDelay??ku,F=typeof q=="function"?q(n,v):q,R=x===!0||typeof x=="number"&&n<x||typeof x=="function"&&x(n,v);if(t||!R){m(v);return}n++,e.onFail?.(n,v),Mi(F).then(()=>l()?void 0:f()).then(()=>{t?m(v):y()})})};return{promise:s,status:()=>s.status,cancel:o,continue:()=>(r?.(),s),cancelRetry:c,continueRetry:a,canStart:d,start:()=>(d()?y():f().then(y),s)}}var _t,Ui,wr=(Ui=class{constructor(){w(this,_t)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),On(this.gcTime)&&b(this,_t,Fe.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Qe.isServer()?1/0:5*60*1e3))}clearGcTimeout(){u(this,_t)!==void 0&&(Fe.clearTimeout(u(this,_t)),b(this,_t,void 0))}},_t=new WeakMap,Ui);var vt,Bt,Re,bt,ee,Dn,wt,_e,Wi,We,Li,ji=(Li=class extends wr{constructor(t){super();w(this,_e);w(this,vt);w(this,Bt);w(this,Re);w(this,bt);w(this,ee);w(this,Dn);w(this,wt);b(this,wt,!1),b(this,Dn,t.defaultOptions),this.setOptions(t.options),this.observers=[],b(this,bt,t.client),b(this,Re,u(this,bt).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,b(this,vt,Ki(this.options)),this.state=t.state??u(this,vt),this.scheduleGc()}get meta(){return this.options.meta}get promise(){return u(this,ee)?.promise}setOptions(t){if(this.options={...u(this,Dn),...t},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let n=Ki(this.options);n.data!==void 0&&(this.setState(Ni(n.data,n.dataUpdatedAt)),b(this,vt,n))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&u(this,Re).remove(this)}setData(t,n){let r=qn(this.state.data,t,this.options);return P(this,_e,We).call(this,{data:r,type:"success",dataUpdatedAt:n?.updatedAt,manual:n?.manual}),r}setState(t,n){P(this,_e,We).call(this,{type:"setState",state:t,setStateOptions:n})}cancel(t){let n=u(this,ee)?.promise;return u(this,ee)?.cancel(t),n?n.then($).catch($):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return u(this,vt)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(t=>fe(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Nt||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>Ie(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:!hr(this.state.dataUpdatedAt,t)}onFocus(){this.observers.find(n=>n.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),u(this,ee)?.continue()}onOnline(){this.observers.find(n=>n.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),u(this,ee)?.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),u(this,Re).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(n=>n!==t),this.observers.length||(u(this,ee)&&(u(this,wt)||P(this,_e,Wi).call(this)?u(this,ee).cancel({revert:!0}):u(this,ee).cancelRetry()),this.scheduleGc()),u(this,Re).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||P(this,_e,We).call(this,{type:"invalidate"})}async fetch(t,n){if(this.state.fetchStatus!=="idle"&&u(this,ee)?.status()!=="rejected"){if(this.state.data!==void 0&&n?.cancelRefetch)this.cancel({silent:!0});else if(u(this,ee))return u(this,ee).continueRetry(),u(this,ee).promise}if(t&&this.setOptions(t),!this.options.queryFn){let a=this.observers.find(l=>l.options.queryFn);a&&this.setOptions(a.options)}let r=new AbortController,s=a=>{Object.defineProperty(a,"signal",{enumerable:!0,get:()=>(b(this,wt,!0),r.signal)})},i=()=>{let a=_r(this.options,n),d=(()=>{let p={client:u(this,bt),queryKey:this.queryKey,meta:this.meta};return s(p),p})();return b(this,wt,!1),this.options.persister?this.options.persister(a,d,this):a(d)},c=(()=>{let a={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:u(this,bt),state:this.state,fetchFn:i};return s(a),a})();this.options.behavior?.onFetch(c,this),b(this,Bt,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==c.fetchOptions?.meta)&&P(this,_e,We).call(this,{type:"fetch",meta:c.fetchOptions?.meta}),b(this,ee,br({initialPromise:n?.initialPromise,fn:c.fetchFn,onCancel:a=>{a instanceof vr&&a.revert&&this.setState({...u(this,Bt),fetchStatus:"idle"}),r.abort()},onFail:(a,l)=>{P(this,_e,We).call(this,{type:"failed",failureCount:a,error:l})},onPause:()=>{P(this,_e,We).call(this,{type:"pause"})},onContinue:()=>{P(this,_e,We).call(this,{type:"continue"})},retry:c.options.retry,retryDelay:c.options.retryDelay,networkMode:c.options.networkMode,canRun:()=>!0}));try{let a=await u(this,ee).start();if(a===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(a),u(this,Re).config.onSuccess?.(a,this),u(this,Re).config.onSettled?.(a,this.state.error,this),a}catch(a){if(a instanceof vr){if(a.silent)return u(this,ee).promise;if(a.revert){if(this.state.data===void 0)throw a;return this.state.data}}throw P(this,_e,We).call(this,{type:"error",error:a}),u(this,Re).config.onError?.(a,this),u(this,Re).config.onSettled?.(this.state.data,a,this),a}finally{this.scheduleGc()}}},vt=new WeakMap,Bt=new WeakMap,Re=new WeakMap,bt=new WeakMap,ee=new WeakMap,Dn=new WeakMap,wt=new WeakMap,_e=new WeakSet,Wi=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},We=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,...Rs(r.data,this.options),fetchMeta:t.meta??null};case"success":let s={...r,...Ni(t.data,t.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return b(this,Bt,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),L.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),u(this,Re).notify({query:this,type:"updated",action:t})})},Li);function Rs(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Ss(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function Ni(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Ki(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 pe,D,Nn,le,St,Vt,Be,st,Kn,Ht,$t,Rt,Ct,it,Gt,K,Un,Cs,xs,Ps,Ts,Es,Is,As,$i,Hi,Ln=(Hi=class extends Se{constructor(t,n){super();w(this,K);w(this,pe);w(this,D);w(this,Nn);w(this,le);w(this,St);w(this,Vt);w(this,Be);w(this,st);w(this,Kn);w(this,Ht);w(this,$t);w(this,Rt);w(this,Ct);w(this,it);w(this,Gt,new Set);this.options=n,b(this,pe,t),b(this,st,null),b(this,Be,Qn()),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(u(this,D).addObserver(this),Bi(u(this,D),this.options)?P(this,K,Un).call(this):this.updateResult(),P(this,K,Ts).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return ks(u(this,D),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return ks(u(this,D),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,P(this,K,Es).call(this),P(this,K,Is).call(this),u(this,D).removeObserver(this)}setOptions(t){let n=this.options,r=u(this,D);if(this.options=u(this,pe).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof fe(this.options.enabled,u(this,D))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");P(this,K,As).call(this),u(this,D).setOptions(this.options),n._defaulted&&!Ut(this.options,n)&&u(this,pe).getQueryCache().notify({type:"observerOptionsUpdated",query:u(this,D),observer:this});let s=this.hasListeners();s&&Vi(u(this,D),r,this.options,n)&&P(this,K,Un).call(this),this.updateResult(),s&&(u(this,D)!==r||fe(this.options.enabled,u(this,D))!==fe(n.enabled,u(this,D))||Ie(this.options.staleTime,u(this,D))!==Ie(n.staleTime,u(this,D)))&&P(this,K,Cs).call(this);let i=P(this,K,xs).call(this);s&&(u(this,D)!==r||fe(this.options.enabled,u(this,D))!==fe(n.enabled,u(this,D))||i!==u(this,it))&&P(this,K,Ps).call(this,i)}getOptimisticResult(t){let n=u(this,pe).getQueryCache().build(u(this,pe),t),r=this.createResult(n,t);return Ou(this,r)&&(b(this,le,r),b(this,Vt,this.options),b(this,St,u(this,D).state)),r}getCurrentResult(){return u(this,le)}trackResult(t,n){return new Proxy(t,{get:(r,s)=>(this.trackProp(s),n?.(s),s==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&u(this,Be).status==="pending"&&u(this,Be).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(r,s))})}trackProp(t){u(this,Gt).add(t)}getCurrentQuery(){return u(this,D)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){let n=u(this,pe).defaultQueryOptions(t),r=u(this,pe).getQueryCache().build(u(this,pe),n);return r.fetch().then(()=>this.createResult(r,n))}fetch(t){return P(this,K,Un).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),u(this,le)))}createResult(t,n){let r=u(this,D),s=this.options,i=u(this,le),o=u(this,St),c=u(this,Vt),l=t!==r?t.state:u(this,Nn),{state:d}=t,p={...d},m=!1,f;if(n._optimisticResults){let I=this.hasListeners(),B=!I&&Bi(t,n),M=I&&Vi(t,r,n,s);(B||M)&&(p={...p,...Rs(d.data,t.options)}),n._optimisticResults==="isRestoring"&&(p.fetchStatus="idle")}let{error:y,errorUpdatedAt:h,status:g}=p;f=p.data;let v=!1;if(n.placeholderData!==void 0&&f===void 0&&g==="pending"){let I;i?.isPlaceholderData&&n.placeholderData===c?.placeholderData?(I=i.data,v=!0):I=typeof n.placeholderData=="function"?n.placeholderData(u(this,$t)?.state.data,u(this,$t)):n.placeholderData,I!==void 0&&(g="success",f=qn(i?.data,I,n),m=!0)}if(n.select&&f!==void 0&&!v)if(i&&f===o?.data&&n.select===u(this,Kn))f=u(this,Ht);else try{b(this,Kn,n.select),f=n.select(f),f=qn(i?.data,f,n),b(this,Ht,f),b(this,st,null)}catch(I){b(this,st,I)}u(this,st)&&(y=u(this,st),f=u(this,Ht),h=Date.now(),g="error");let x=p.fetchStatus==="fetching",q=g==="pending",F=g==="error",R=q&&x,k=f!==void 0,N={status:g,fetchStatus:p.fetchStatus,isPending:q,isSuccess:g==="success",isError:F,isInitialLoading:R,isLoading:R,data:f,dataUpdatedAt:p.dataUpdatedAt,error:y,errorUpdatedAt:h,failureCount:p.fetchFailureCount,failureReason:p.fetchFailureReason,errorUpdateCount:p.errorUpdateCount,isFetched:t.isFetched(),isFetchedAfterMount:p.dataUpdateCount>l.dataUpdateCount||p.errorUpdateCount>l.errorUpdateCount,isFetching:x,isRefetching:x&&!q,isLoadingError:F&&!k,isPaused:p.fetchStatus==="paused",isPlaceholderData:m,isRefetchError:F&&k,isStale:Ms(t,n),refetch:this.refetch,promise:u(this,Be),isEnabled:fe(n.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){let I=N.data!==void 0,B=N.status==="error"&&!I,M=O=>{B?O.reject(N.error):I&&O.resolve(N.data)},E=()=>{let O=b(this,Be,N.promise=Qn());M(O)},Q=u(this,Be);switch(Q.status){case"pending":t.queryHash===r.queryHash&&M(Q);break;case"fulfilled":(B||N.data!==Q.value)&&E();break;case"rejected":(!B||N.error!==Q.reason)&&E();break}}return N}updateResult(){let t=u(this,le),n=this.createResult(u(this,D),this.options);if(b(this,St,u(this,D).state),b(this,Vt,this.options),u(this,St).data!==void 0&&b(this,$t,u(this,D)),Ut(n,t))return;b(this,le,n);let r=()=>{if(!t)return!0;let{notifyOnChangeProps:s}=this.options,i=typeof s=="function"?s():s;if(i==="all"||!i&&!u(this,Gt).size)return!0;let o=new Set(i??u(this,Gt));return this.options.throwOnError&&o.add("error"),Object.keys(u(this,le)).some(c=>{let a=c;return u(this,le)[a]!==t[a]&&o.has(a)})};P(this,K,$i).call(this,{listeners:r()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&P(this,K,Ts).call(this)}},pe=new WeakMap,D=new WeakMap,Nn=new WeakMap,le=new WeakMap,St=new WeakMap,Vt=new WeakMap,Be=new WeakMap,st=new WeakMap,Kn=new WeakMap,Ht=new WeakMap,$t=new WeakMap,Rt=new WeakMap,Ct=new WeakMap,it=new WeakMap,Gt=new WeakMap,K=new WeakSet,Un=function(t){P(this,K,As).call(this);let n=u(this,D).fetch(this.options,t);return t?.throwOnError||(n=n.catch($)),n},Cs=function(){P(this,K,Es).call(this);let t=Ie(this.options.staleTime,u(this,D));if(Qe.isServer()||u(this,le).isStale||!On(t))return;let r=hr(u(this,le).dataUpdatedAt,t)+1;b(this,Rt,Fe.setTimeout(()=>{u(this,le).isStale||this.updateResult()},r))},xs=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(u(this,D)):this.options.refetchInterval)??!1},Ps=function(t){P(this,K,Is).call(this),b(this,it,t),!(Qe.isServer()||fe(this.options.enabled,u(this,D))===!1||!On(u(this,it))||u(this,it)===0)&&b(this,Ct,Fe.setInterval(()=>{(this.options.refetchIntervalInBackground||Dt.isFocused())&&P(this,K,Un).call(this)},u(this,it)))},Ts=function(){P(this,K,Cs).call(this),P(this,K,Ps).call(this,P(this,K,xs).call(this))},Es=function(){u(this,Rt)!==void 0&&(Fe.clearTimeout(u(this,Rt)),b(this,Rt,void 0))},Is=function(){u(this,Ct)!==void 0&&(Fe.clearInterval(u(this,Ct)),b(this,Ct,void 0))},As=function(){let t=u(this,pe).getQueryCache().build(u(this,pe),this.options);if(t===u(this,D))return;let n=u(this,D);b(this,D,t),b(this,Nn,t.state),this.hasListeners()&&(n?.removeObserver(this),t.addObserver(this))},$i=function(t){L.batch(()=>{t.listeners&&this.listeners.forEach(n=>{n(u(this,le))}),u(this,pe).getQueryCache().notify({query:u(this,D),type:"observerResultsUpdated"})})},Hi);function Mu(e,t){return fe(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function Bi(e,t){return Mu(e,t)||e.state.data!==void 0&&ks(e,t,t.refetchOnMount)}function ks(e,t,n){if(fe(t.enabled,e)!==!1&&Ie(t.staleTime,e)!=="static"){let r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&Ms(e,t)}return!1}function Vi(e,t,n,r){return(e!==t||fe(r.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&Ms(e,n)}function Ms(e,t){return fe(t.enabled,e)!==!1&&e.isStaleByTime(Ie(t.staleTime,e))}function Ou(e,t){return!Ut(e.getCurrentResult(),t)}function zt(e){return{onFetch:(t,n)=>{let r=t.options,s=t.fetchOptions?.meta?.fetchMore?.direction,i=t.state.data?.pages||[],o=t.state.data?.pageParams||[],c={pages:[],pageParams:[]},a=0,l=async()=>{let d=!1,p=y=>{qi(y,()=>t.signal,()=>d=!0)},m=_r(t.options,t.fetchOptions),f=async(y,h,g)=>{if(d)return Promise.reject();if(h==null&&y.pages.length)return Promise.resolve(y);let x=(()=>{let k={client:t.client,queryKey:t.queryKey,pageParam:h,direction:g?"backward":"forward",meta:t.options.meta};return p(k),k})(),q=await m(x),{maxPages:F}=t.options,R=g?Fi:Oi;return{pages:R(y.pages,q,F),pageParams:R(y.pageParams,h,F)}};if(s&&i.length){let y=s==="backward",h=y?Gi:Os,g={pages:i,pageParams:o},v=h(r,g);c=await f(g,v,y)}else{let y=e??i.length;do{let h=a===0?o[0]??r.initialPageParam:Os(r,c);if(a>0&&h==null)break;c=await f(c,h),a++}while(a<y)}return c};t.options.persister?t.fetchFn=()=>t.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=l}}}function Os(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 Gi(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}function zi(e,t){return t?Os(e,t)!=null:!1}function Ji(e,t){return!t||!e.getPreviousPageParam?!1:Gi(e,t)!=null}var Fs=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:zt()})}getOptimisticResult(e){return e.behavior=zt(),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:o,isRefetchError:c}=r,a=n.fetchMeta?.fetchMore?.direction,l=o&&a==="forward",d=s&&a==="forward",p=o&&a==="backward",m=s&&a==="backward";return{...r,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:zi(t,n.data),hasPreviousPage:Ji(t,n.data),isFetchNextPageError:l,isFetchingNextPage:d,isFetchPreviousPageError:p,isFetchingPreviousPage:m,isRefetchError:c&&!l&&!p,isRefetching:i&&!d&&!m}}};var jn,De,oe,xt,Ue,ot,Yi,Xi=(Yi=class extends wr{constructor(t){super();w(this,Ue);w(this,jn);w(this,De);w(this,oe);w(this,xt);b(this,jn,t.client),this.mutationId=t.mutationId,b(this,oe,t.mutationCache),b(this,De,[]),this.state=t.state||qs(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){u(this,De).includes(t)||(u(this,De).push(t),this.clearGcTimeout(),u(this,oe).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){b(this,De,u(this,De).filter(n=>n!==t)),this.scheduleGc(),u(this,oe).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){u(this,De).length||(this.state.status==="pending"?this.scheduleGc():u(this,oe).remove(this))}continue(){return u(this,xt)?.continue()??this.execute(this.state.variables)}async execute(t){let n=()=>{P(this,Ue,ot).call(this,{type:"continue"})},r={client:u(this,jn),meta:this.options.meta,mutationKey:this.options.mutationKey};b(this,xt,br({fn:()=>this.options.mutationFn?this.options.mutationFn(t,r):Promise.reject(new Error("No mutationFn found")),onFail:(o,c)=>{P(this,Ue,ot).call(this,{type:"failed",failureCount:o,error:c})},onPause:()=>{P(this,Ue,ot).call(this,{type:"pause"})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>u(this,oe).canRun(this)}));let s=this.state.status==="pending",i=!u(this,xt).canStart();try{if(s)n();else{P(this,Ue,ot).call(this,{type:"pending",variables:t,isPaused:i}),u(this,oe).config.onMutate&&await u(this,oe).config.onMutate(t,this,r);let c=await this.options.onMutate?.(t,r);c!==this.state.context&&P(this,Ue,ot).call(this,{type:"pending",context:c,variables:t,isPaused:i})}let o=await u(this,xt).start();return await u(this,oe).config.onSuccess?.(o,t,this.state.context,this,r),await this.options.onSuccess?.(o,t,this.state.context,r),await u(this,oe).config.onSettled?.(o,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(o,null,t,this.state.context,r),P(this,Ue,ot).call(this,{type:"success",data:o}),o}catch(o){try{await u(this,oe).config.onError?.(o,t,this.state.context,this,r)}catch(c){Promise.reject(c)}try{await this.options.onError?.(o,t,this.state.context,r)}catch(c){Promise.reject(c)}try{await u(this,oe).config.onSettled?.(void 0,o,this.state.variables,this.state.context,this,r)}catch(c){Promise.reject(c)}try{await this.options.onSettled?.(void 0,o,t,this.state.context,r)}catch(c){Promise.reject(c)}throw P(this,Ue,ot).call(this,{type:"error",error:o}),o}finally{u(this,oe).runNext(this)}}},jn=new WeakMap,De=new WeakMap,oe=new WeakMap,xt=new WeakMap,Ue=new WeakSet,ot=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),L.batch(()=>{u(this,De).forEach(r=>{r.onMutationUpdate(t)}),u(this,oe).notify({mutation:this,type:"updated",action:t})})},Yi);function qs(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Ve,Ae,Wn,Zi,eo=(Zi=class extends Se{constructor(t={}){super();w(this,Ve);w(this,Ae);w(this,Wn);this.config=t,b(this,Ve,new Set),b(this,Ae,new Map),b(this,Wn,0)}build(t,n,r){let s=new Xi({client:t,mutationCache:this,mutationId:++Mn(this,Wn)._,options:t.defaultMutationOptions(n),state:r});return this.add(s),s}add(t){u(this,Ve).add(t);let n=Sr(t);if(typeof n=="string"){let r=u(this,Ae).get(n);r?r.push(t):u(this,Ae).set(n,[t])}this.notify({type:"added",mutation:t})}remove(t){if(u(this,Ve).delete(t)){let n=Sr(t);if(typeof n=="string"){let r=u(this,Ae).get(n);if(r)if(r.length>1){let s=r.indexOf(t);s!==-1&&r.splice(s,1)}else r[0]===t&&u(this,Ae).delete(n)}}this.notify({type:"removed",mutation:t})}canRun(t){let n=Sr(t);if(typeof n=="string"){let s=u(this,Ae).get(n)?.find(i=>i.state.status==="pending");return!s||s===t}else return!0}runNext(t){let n=Sr(t);return typeof n=="string"?u(this,Ae).get(n)?.find(s=>s!==t&&s.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){L.batch(()=>{u(this,Ve).forEach(t=>{this.notify({type:"removed",mutation:t})}),u(this,Ve).clear(),u(this,Ae).clear()})}getAll(){return Array.from(u(this,Ve))}find(t){let n={exact:!0,...t};return this.getAll().find(r=>yr(n,r))}findAll(t={}){return this.getAll().filter(n=>yr(t,n))}notify(t){L.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){let t=this.getAll().filter(n=>n.state.isPaused);return L.batch(()=>Promise.all(t.map(n=>n.continue().catch($))))}},Ve=new WeakMap,Ae=new WeakMap,Wn=new WeakMap,Zi);function Sr(e){return e.options.scope?.id}var He,at,me,$e,Ge,Rr,Qs,to,Ds=(to=class extends Se{constructor(t,n){super();w(this,Ge);w(this,He);w(this,at);w(this,me);w(this,$e);b(this,He,t),this.setOptions(n),this.bindMethods(),P(this,Ge,Rr).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){let n=this.options;this.options=u(this,He).defaultMutationOptions(t),Ut(this.options,n)||u(this,He).getMutationCache().notify({type:"observerOptionsUpdated",mutation:u(this,me),observer:this}),n?.mutationKey&&this.options.mutationKey&&qe(n.mutationKey)!==qe(this.options.mutationKey)?this.reset():u(this,me)?.state.status==="pending"&&u(this,me).setOptions(this.options)}onUnsubscribe(){this.hasListeners()||u(this,me)?.removeObserver(this)}onMutationUpdate(t){P(this,Ge,Rr).call(this),P(this,Ge,Qs).call(this,t)}getCurrentResult(){return u(this,at)}reset(){u(this,me)?.removeObserver(this),b(this,me,void 0),P(this,Ge,Rr).call(this),P(this,Ge,Qs).call(this)}mutate(t,n){return b(this,$e,n),u(this,me)?.removeObserver(this),b(this,me,u(this,He).getMutationCache().build(u(this,He),this.options)),u(this,me).addObserver(this),u(this,me).execute(t)}},He=new WeakMap,at=new WeakMap,me=new WeakMap,$e=new WeakMap,Ge=new WeakSet,Rr=function(){let t=u(this,me)?.state??qs();b(this,at,{...t,isPending:t.status==="pending",isSuccess:t.status==="success",isError:t.status==="error",isIdle:t.status==="idle",mutate:this.mutate,reset:this.reset})},Qs=function(t){L.batch(()=>{if(u(this,$e)&&this.hasListeners()){let n=u(this,at).variables,r=u(this,at).context,s={client:u(this,He),meta:this.options.meta,mutationKey:this.options.mutationKey};if(t?.type==="success"){try{u(this,$e).onSuccess?.(t.data,n,r,s)}catch(i){Promise.reject(i)}try{u(this,$e).onSettled?.(t.data,null,n,r,s)}catch(i){Promise.reject(i)}}else if(t?.type==="error"){try{u(this,$e).onError?.(t.error,n,r,s)}catch(i){Promise.reject(i)}try{u(this,$e).onSettled?.(void 0,t.error,n,r,s)}catch(i){Promise.reject(i)}}}this.listeners.forEach(n=>{n(u(this,at))})})},to);var Ne,no,ro=(no=class extends Se{constructor(t={}){super();w(this,Ne);this.config=t,b(this,Ne,new Map)}build(t,n,r){let s=n.queryKey,i=n.queryHash??Fn(s,n),o=this.get(i);return o||(o=new ji({client:t,queryKey:s,queryHash:i,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(s)}),this.add(o)),o}add(t){u(this,Ne).has(t.queryHash)||(u(this,Ne).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){let n=u(this,Ne).get(t.queryHash);n&&(t.destroy(),n===t&&u(this,Ne).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){L.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return u(this,Ne).get(t)}getAll(){return[...u(this,Ne).values()]}find(t){let n={exact:!0,...t};return this.getAll().find(r=>gr(n,r))}findAll(t={}){let n=this.getAll();return Object.keys(t).length>0?n.filter(r=>gr(t,r)):n}notify(t){L.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){L.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){L.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Ne=new WeakMap,no);var G,ct,ut,Jt,Yt,lt,Xt,Zt,so,Us=(so=class{constructor(e={}){w(this,G);w(this,ct);w(this,ut);w(this,Jt);w(this,Yt);w(this,lt);w(this,Xt);w(this,Zt);b(this,G,e.queryCache||new ro),b(this,ct,e.mutationCache||new eo),b(this,ut,e.defaultOptions||{}),b(this,Jt,new Map),b(this,Yt,new Map),b(this,lt,0)}mount(){Mn(this,lt)._++,u(this,lt)===1&&(b(this,Xt,Dt.subscribe(async e=>{e&&(await this.resumePausedMutations(),u(this,G).onFocus())})),b(this,Zt,Wt.subscribe(async e=>{e&&(await this.resumePausedMutations(),u(this,G).onOnline())})))}unmount(){var e,t;Mn(this,lt)._--,u(this,lt)===0&&((e=u(this,Xt))==null||e.call(this),b(this,Xt,void 0),(t=u(this,Zt))==null||t.call(this),b(this,Zt,void 0))}isFetching(e){return u(this,G).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return u(this,ct).findAll({...e,status:"pending"}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return u(this,G).get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=u(this,G).build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(Ie(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return u(this,G).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=u(this,G).get(r.queryHash)?.state.data,o=ki(t,i);if(o!==void 0)return u(this,G).build(this,r).setData(o,{...n,manual:!0})}setQueriesData(e,t,n){return L.batch(()=>u(this,G).findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return u(this,G).get(t.queryHash)?.state}removeQueries(e){let t=u(this,G);L.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){let n=u(this,G);return L.batch(()=>(n.findAll(e).forEach(r=>{r.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=L.batch(()=>u(this,G).findAll(e).map(s=>s.cancel(n)));return Promise.all(r).then($).catch($)}invalidateQueries(e,t={}){return L.batch(()=>(u(this,G).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=L.batch(()=>u(this,G).findAll(e).filter(s=>!s.isDisabled()&&!s.isStatic()).map(s=>{let i=s.fetch(void 0,n);return n.throwOnError||(i=i.catch($)),s.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(r).then($)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=u(this,G).build(this,t);return n.isStaleByTime(Ie(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then($).catch($)}fetchInfiniteQuery(e){return e.behavior=zt(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then($).catch($)}ensureInfiniteQueryData(e){return e.behavior=zt(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return Wt.isOnline()?u(this,ct).resumePausedMutations():Promise.resolve()}getQueryCache(){return u(this,G)}getMutationCache(){return u(this,ct)}getDefaultOptions(){return u(this,ut)}setDefaultOptions(e){b(this,ut,e)}setQueryDefaults(e,t){u(this,Jt).set(qe(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...u(this,Jt).values()],n={};return t.forEach(r=>{yt(e,r.queryKey)&&Object.assign(n,r.defaultOptions)}),n}setMutationDefaults(e,t){u(this,Yt).set(qe(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...u(this,Yt).values()],n={};return t.forEach(r=>{yt(e,r.mutationKey)&&Object.assign(n,r.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...u(this,ut).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=Fn(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===Nt&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...u(this,ut).mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){u(this,G).clear(),u(this,ct).clear()}},G=new WeakMap,ct=new WeakMap,ut=new WeakMap,Jt=new WeakMap,Yt=new WeakMap,lt=new WeakMap,Xt=new WeakMap,Zt=new WeakMap,so);var en=Y(ue(),1),oo=Y(Cr(),1),Ns=en.createContext(void 0),V=e=>{let t=en.useContext(Ns);if(e)return e;if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},Bn=({client:e,children:t})=>(en.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,oo.jsx)(Ns.Provider,{value:e,children:t}));var xr=Y(ue(),1),ao=xr.createContext(!1),co=()=>xr.useContext(ao),Uf=ao.Provider;var Vn=Y(ue(),1),Fu=Y(Cr(),1);function qu(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Qu=Vn.createContext(qu()),uo=()=>Vn.useContext(Qu);var lo=Y(ue(),1);var fo=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError=="function"?Kt(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},po=e=>{lo.useEffect(()=>{e.clearReset()},[e])},mo=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:s})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(s&&e.data===void 0||Kt(n,[e.error,r]));var ho=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))}},go=(e,t)=>e.isLoading&&e.isFetching&&!t,yo=(e,t)=>e?.suspense&&t.isPending,Ks=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});var dt=Y(ue(),1);function Pr(e,t,n){let r=co(),s=uo(),i=V(n),o=i.defaultQueryOptions(e);i.getDefaultOptions().queries?._experimental_beforeQuery?.(o);let c=i.getQueryCache().get(o.queryHash);o._optimisticResults=r?"isRestoring":"optimistic",ho(o),fo(o,s,c),po(s);let a=!i.getQueryCache().get(o.queryHash),[l]=dt.useState(()=>new t(i,o)),d=l.getOptimisticResult(o),p=!r&&e.subscribed!==!1;if(dt.useSyncExternalStore(dt.useCallback(m=>{let f=p?l.subscribe(L.batchCalls(m)):$;return l.updateResult(),f},[l,p]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),dt.useEffect(()=>{l.setOptions(o)},[o,l]),yo(o,d))throw Ks(o,l,s);if(mo({result:d,errorResetBoundary:s,throwOnError:o.throwOnError,query:c,suspense:o.suspense}))throw d.error;return i.getDefaultOptions().queries?._experimental_afterQuery?.(o,d),o.experimental_prefetchInRender&&!Qe.isServer()&&go(d,r)&&(a?Ks(o,l,s):c?.promise)?.catch($).finally(()=>{l.updateResult()}),o.notifyOnChangeProps?d:l.trackResult(d)}function j(e,t){return Pr(e,Ln,t)}var ze=Y(ue(),1);function ve(e,t){let n=V(t),[r]=ze.useState(()=>new Ds(n,e));ze.useEffect(()=>{r.setOptions(e)},[r,e]);let s=ze.useSyncExternalStore(ze.useCallback(o=>r.subscribe(L.batchCalls(o)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),i=ze.useCallback((o,c)=>{r.mutate(o,c).catch($)},[r]);if(s.error&&Kt(r.options.throwOnError,[s.error]))throw s.error;return{...s,mutate:i,mutateAsync:s.mutate}}function Hn(e,t){return Pr(e,Fs,t)}var bo=Y(vo(),1),$n=typeof window<"u"&&window.__FSAOS_CONFIG__||{},Gn=Array.isArray($n.sources)?$n.sources:[],Du=$n.supabaseUrl||"https://vahbmsslxuustnlvsrkg.supabase.co",Uu=$n.supabaseAnonKey||"sb_publishable_ZjosozAjfpZ4InMNElTr6Q_hHB-f5nc",Ce=$n.gatewayUrl||"https://fsaos-mcp-gw-rust.fly.dev",W=(0,bo.createClient)(Du,Uu,{auth:{persistSession:!0,autoRefreshToken:!0,detectSessionInUrl:!1}});var zn=null,Tr=0,wo,Ws,Er=!1;wo=new Promise(e=>{Ws=e});W.auth.onAuthStateChange((e,t)=>{t?.access_token?(zn=t.access_token,Tr=t.expires_at??Math.floor(Date.now()/1e3)+3600):(zn=null,Tr=0),Er||(Er=!0,Ws())});setTimeout(()=>{Er||(Er=!0,Ws())},5e3);function So(e,t){zn=e,Tr=t??Math.floor(Date.now()/1e3)+3600}function Bs(){zn=null,Tr=0}async function Je(){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 wo,zn}var sn=null,on=null,Ro=0,Ls=new Set,Vs,Jn,an=!1;Vs=new Promise(e=>{Jn=e});function Hs(){Ro++,Ls.forEach(e=>{try{e()}catch(t){console.warn("[SDK] Anchor listener error:",t)}})}function Ar(e){let t=typeof e=="string"?e:e.path,n=sn!==t||on?.id!==(typeof e=="string"?void 0:e.id);sn=t,on=typeof e=="string"?null:e,typeof e!="string"&&!Pt.some(r=>r.id===e.id)&&(Pt=[...Pt,e],Js()),an||(an=!0,Jn()),n&&Hs()}function cn(){return sn}function he(){return on}function $s(){return Ro}function Gs(e){return Ls.add(e),()=>{Ls.delete(e)}}function Yn(){return Vs}function zs(){return an}var Ir=null;function Tt(e,t={}){if(Ir){console.warn("[SDK] electHomeAnchor called twice; ignoring (logout to re-elect).");return}Ir=e,t.activate!==!1&&Ar(e)}function de(){return Ir}var Pt=[],js=new Set,Co=0;function Js(){Co++,js.forEach(e=>{try{e()}catch(t){console.warn("[SDK] Mount listener error:",t)}})}function xe(){return Pt}function Xn(){return Co}function kr(e){return js.add(e),()=>{js.delete(e)}}function xo(e,t){let n=JSON.stringify(Pt)!==JSON.stringify(e),r=sn!==t.path||on?.id!==t.id;Pt=e,sn=t.path,on=t,an||(an=!0,Jn()),n&&Js(),r&&Hs()}var nn=null,tn=null,rn=0;function re(){return rn}async function ft(){if(nn)return nn;if(tn)return tn;let e=rn;return tn=(async()=>{let t=It(),n=await Je();if(e!==rn)throw new Error("Session changed during initialization");let r={};n&&(r.Authorization=`Bearer ${n}`);let s=await fetch(`${Ce}/d/${t}/init`,{method:"GET",headers:r});if(!s.ok)throw new Error(`Session init failed: ${s.status} ${s.statusText}`);let i=await s.json();if(e!==rn)throw new Error("Session changed during initialization");let o=i.entry||i;return nn={scope_id:o.scope_id,scope_path:o.scope_path,instance_path:o.instance_path||"/root",fractal_id:o.fractal_id||null,instance_name:o.instance_name||null,display_name:o.scope_display_name||o.display_name||null,principal_id:o.principal_id||null},nn})().catch(t=>{throw e===rn&&(tn=null),t}),tn}function Et(){return nn}function Ys(){rn++,nn=null,tn=null,sn=null,on=null,Ir=null,Pt=[]}var Po=[];function se(e){Po.push(e)}function un(){Ys(),Bs(),Jn(),an=!1,Vs=new Promise(e=>{Jn=e}),Hs(),Js();for(let e of Po)try{e()}catch(t){console.warn("[SDK] Cleanup function failed:",t)}}function It(){if(typeof window<"u"){let e=window.__FSAOS_CONFIG__;return e?.hostname?e.hostname:window.location.hostname}return"localhost"}var To=Ar,Z=cn,ie=$s,ke=Gs,Eo=Yn,Mr=zs;var Xs=0,Io=!1,Ao=0;function ko(e){if(typeof e!="string")return;let t=Date.parse(e);Number.isNaN(t)||(Xs=t-Date.now(),Io=!0,Ao=Date.now())}function Or(){return Date.now()+Xs}function Mo(){return Io}function Oo(){return Xs}function Fo(){return Ao}function qo(e){if(typeof e!="string")return null;let t=Date.parse(e);return Number.isNaN(t)?null:Or()>=t}function Qo(e){if(typeof e!="string")return null;let t=Date.parse(e);return Number.isNaN(t)?null:Math.max(0,t-Or())}var Nu=new Set(["list-memberships","init"]),Pe=class extends Error{constructor(n){let r=typeof n.payload?.error=="string"?n.payload.error.trim():"",s=typeof n.payload?.message=="string"?n.payload.message.trim():"",i=n.responseBody.trim()||`Gateway HTTP error: ${n.status} ${n.statusText}`.trim(),o=r&&s?`${r}: ${s}`:s||r||i;super(o);X(this,"name","GatewayRequestError");X(this,"method");X(this,"status");X(this,"statusText");X(this,"payload");X(this,"responseBody");this.method=n.method,this.status=n.status,this.statusText=n.statusText,this.payload=n.payload,this.responseBody=n.responseBody}};async function C(e,t={}){let n=re(),r=cn(),s=It(),i=`${Ce}/d/${s}`,o={"Content-Type":"application/json"},c=await Je();if(n!==re())throw new Error("Session changed before gateway request");if(c&&(o.Authorization=`Bearer ${c}`),!Nu.has(e)&&!t._scope_path&&await Yn(),n!==re())throw new Error("Session changed before gateway request");let a={...t},l=Et();!a.domain_scope_id&&l?.scope_id&&(a.domain_scope_id=l.scope_id);let d=r??cn();!a._scope_path&&d&&(a._scope_path=d);let p=await fetch(i,{method:"POST",headers:o,body:JSON.stringify({method:e,params:a})}),m=await p.text();if(n!==re())throw new Error("Session changed during gateway request");let f=null;if(m)try{f=JSON.parse(m)}catch{}if(!p.ok||!f)throw new Pe({method:e,status:p.status,statusText:p.statusText,payload:f,responseBody:m});if(f.success===!1){let y=f.error||"",h=f.denied_by||f.error_type||"";throw h==="rule"||h==="access"||h==="entitlement"||y==="RULE_DENIED"||y==="ACCESS_DENIED"||y==="PERMISSION_DENIED"||y==="ENTITLEMENT_REQUIRED"?new et(f):new Pe({method:e,status:p.status,statusText:p.statusText,payload:f,responseBody:m})}return f&&f.server_now!==void 0&&ko(f.server_now),f}var _=Y(ue(),1),cl=Y(Uo(),1),ul=Y(Cr(),1);var No=new WeakMap;function Te(e,t,n={}){let r=n.exact===!0,s=()=>e.invalidateQueries({queryKey:t,exact:r},{cancelRefetch:!1}),i=e.getQueryCache().findAll({queryKey:t,exact:r,fetchStatus:"fetching"}).flatMap(p=>p.promise?[p.promise]:[]);if(i.length===0)return s();let o=`${r?"=":"^"}${JSON.stringify(t)}`,c=No.get(e);c||(c=new Map,No.set(e,c));let a=c.get(o);if(a)return a;let l=c,d=Promise.allSettled(i).then(()=>(l.delete(o),s()));return l.set(o,d),d}function Ke(e,t){return typeof e=="string"&&(e===t||e.startsWith(`${t}/`))}var Fr=new WeakMap,Ko=e=>e.meta?.arrangementRealtime===!0;function ln(e,t){let n=e.getQueryCache().find({queryKey:t,exact:!0});if(!n)return;let r=Fr.get(e);r||(r=new Map,Fr.set(e,r));let s=r.get(n.queryHash);s&&clearTimeout(s),r.set(n.queryHash,setTimeout(()=>{r.delete(n.queryHash),e.getQueryCache().get(n.queryHash)===n&&Te(e,t,{exact:!0})},250))}function Lo(e,t){if(!(!t||typeof t!="object"))for(let n of e.getQueryCache().getAll()){if(!Ko(n))continue;let r=n.state.data;if(!r?.item_id)continue;let s=(i,o)=>!!(i&&t.item_id===i||o&&(t.path===o||t.old_path===o));(s(r.item_id,r.item_path)||t.parent_id===r.item_id||t.old_parent_id===r.item_id||[t.path,t.old_path].some(i=>typeof i=="string"&&i.slice(0,i.lastIndexOf("/"))===r.item_path)||r.resolved_children?.some(i=>s(i.id,i.symlink_path||i.path)||i.target&&s(i.target.id,i.target.path)))&&ln(e,n.queryKey)}}function jo(e){for(let t of e.getQueryCache().getAll())Ko(t)&&t.state.data!==void 0&&ln(e,t.queryKey)}function Wo(e){Fr.get(e)?.forEach(clearTimeout),Fr.delete(e)}var Ye=null;se(()=>{Ye&&(Ye.cancelQueries({queryKey:["vfs"]}),Ye.removeQueries({queryKey:["vfs"]}))});function Bo(e){if(Ye&&Ye!==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.");Ye=e}function T(){return Ye||(Ye=new Us({defaultOptions:{queries:{staleTime:1e3*60*2,gcTime:1e3*60*10,refetchOnWindowFocus:!1,retry:1}}})),Ye}var Vo=new Proxy({},{get(e,t,n){let r=T(),s=r[t];return typeof s=="function"?s.bind(r):s}});var qr=new WeakMap;function Zs(e){return e.meta?.infiniteItemsRealtime?.filter}function Ku(e,t){return e.state.data?.pages?.some(r=>r.items?.some(s=>t.item_id&&s.id===t.item_id||t.path&&s.path===t.path||t.old_path&&s.path===t.old_path))??!1}function Lu(e){if(e.type)return new Set([e.type]);if(!e.any_of?.length)return null;let t=new Set;for(let n of e.any_of){if(!n.item_type)return null;t.add(n.item_type)}return t}function ju(e,t,n){if(Ku(e,n))return!0;if(t.spaceIds!==void 0&&(!t.spaceIds.length||n.space_item_id!==void 0&&!t.spaceIds.includes(n.space_item_id)&&!t.spaceIds.includes(n.old_space_item_id)))return!1;let r=t.scope,s=typeof r=="string"&&r!=="__unscoped__",i=typeof n.path=="string"||typeof n.old_path=="string";if(s&&i&&!Ke(n.path,r)&&!Ke(n.old_path,r))return!1;if(n.item_type==="symlink"&&s&&i)return!0;let o=Lu(t);return n.item_type&&o&&!o.has(n.item_type)||t.parent_id&&n.parent_id!==void 0&&n.parent_id!==t.parent_id&&n.old_parent_id!==t.parent_id?!1:i||!!(t.parent_id&&n.parent_id===t.parent_id)}function Ho(e,t){let n=qr.get(e);n||(n=new Map,qr.set(e,n));let r=n.get(t.queryHash);r&&clearTimeout(r),n.set(t.queryHash,setTimeout(()=>{n.delete(t.queryHash),!(e.getQueryCache().get(t.queryHash)!==t||!Zs(t))&&Te(e,t.queryKey,{exact:!0})},500))}function $o(e,t){if(!(!t||typeof t!="object"))for(let n of e.getQueryCache().getAll()){let r=Zs(n);r&&ju(n,r,t)&&Ho(e,n)}}function Go(e){for(let t of e.getQueryCache().getAll())Zs(t)&&t.state.data!==void 0&&Ho(e,t)}function zo(e){qr.get(e)?.forEach(clearTimeout),qr.delete(e)}var Qr=class extends Error{constructor(){super("The server did not confirm the selected-Space listing contract")}};function Jo(e,t){if(!Array.isArray(t)||t.some(n=>typeof n!="string")||JSON.stringify([...new Set(t)].sort())!==JSON.stringify(e))throw new Qr}function At(e){return!e||e.spaceIds===void 0?e:{...e,spaceIds:[...new Set(e.spaceIds.map(t=>t.toLowerCase()))].sort(),...e.limit!==void 0?{limit:Math.max(1,Math.min(e.limit,500))}:{}}}function dn(e){return e instanceof Qr||e instanceof et||e instanceof Pe&&(e.payload?.error==="SPACE_SELECTION_UNAVAILABLE"||e.payload?.error==="QUERY_PARAMS_INVALID"||e.status===401||e.status===403)}function te(){return Z()??"__unscoped__"}var S={all:()=>["vfs",te()],item:e=>["vfs",te(),"item",e],itemById:e=>["vfs","item-by-id",e],children:e=>["vfs",te(),"children",e],allChildren:()=>["vfs",te(),"children"],types:e=>["vfs","types",e??"default"],edges:e=>["vfs","edges",e],search:(e,t)=>["vfs",te(),"search",e,...t??[]],items:(e,t)=>["vfs",te(),"items",e,JSON.stringify(At(t??{}))],allItems:()=>["vfs",te(),"items"],tree:(e,t)=>["vfs",te(),"tree",e,t??1],openEnvelope:(e,t)=>["vfs",te(),"open",e,t??"__default__"],allOpenEnvelopes:()=>["vfs",te(),"open"],memberFocus:e=>["vfs","member-focus",e],fractalInstances:()=>["vfs","fractal-instances"],recentActivity:(e,t,n)=>["vfs",te(),"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",te(),"channel-messages",e,t??"__top__"],allChannelMessages:()=>["vfs",te(),"channel-messages"],channels:e=>["vfs",te(),"channels",e??"all"],allChannels:()=>["vfs",te(),"channels"],notifications:(e,t)=>["vfs",te(),"notifications",e??"all",t??200],allNotifications:()=>["vfs",te(),"notifications"],unreadCounts:()=>["vfs",te(),"unread-counts"],memberships:e=>["memberships",e]};var Wu=typeof window<"u"&&(window.location?.hostname==="localhost"||window.location?.hostname==="127.0.0.1"||window.__FSAOS_WS_DEBUG__);function z(...e){Wu&&console.log("[WS]",...e)}var A=null,fn=null,mn=null,Zn=0,Bu=3e4,Yo=1e4,gn=!1,Xo=!1,ra=3e4,Vu=ra*2+5e3,Dr=0,Ur=null,Zo=!1;function Hu(){tr(),Dr=Date.now(),Ur=setInterval(()=>{if(A&&A.readyState===WebSocket.OPEN&&Date.now()-Dr>Vu){z("ping: no inbound traffic for",Date.now()-Dr,"ms \u2014 closing half-open socket");try{A.close(4e3,"liveness timeout")}catch{}return}Ze({type:"ping"})},ra)}function tr(){Ur&&(clearInterval(Ur),Ur=null)}function $u(){typeof document>"u"||(document.hidden?tr():er()&&(z("Tab visible, reconnecting..."),kt()))}function Gu(){Zo||typeof document>"u"||(document.addEventListener("visibilitychange",$u),Zo=!0)}var be={};function ti(e,t){let n=e.replace(/\/+$/,""),r=t.replace(/\/+$/,"");return!n||!r?n===r:r===n||r.startsWith(`${n}/`)}var hn=[],Xe=new Map,pn=new Map,Ee=new Map;function zu(e){let t=pn.get(e);return t?Array.from(new Set(Array.from(t.values()).flatMap(n=>n.event_types))).sort():[]}function ea(e,t){return e?e.length===t.length&&e.every((n,r)=>n===t[r]):!1}function ta(e){let t=zu(e);if(t.length===0)return Xe.delete(e),null;let n={scope_id:e,event_types:t};return Xe.set(e,n),n}var Le=new Map,pt=new Map,ei="disconnected",Nr=[];function Kr(e){if(ei!==e){ei=e;for(let t of[...Nr])try{t(e)}catch{}}}function Ju(e){Le.set(e,"ready");let t=pt.get(e);if(t){pt.delete(e);for(let n of t)n()}}function Yu(){for(let e of Le.keys())Le.set(e,"disconnected")}function ni(e,t){Le.set(e,"pending"),Ze({type:"subscribe_path",path:e,event_types:t})}function Xu(){return Object.keys(be).some(t=>be[t]&&be[t].length>0)||hn.length>0}function er(){return Xe.size>0||Ee.size>0}async function kt(){if(!er()){z("ensureConnection: no active subscriptions, skipping");return}if(A&&A.readyState===WebSocket.OPEN){z("ensureConnection: already open");return}if(fn)return z("ensureConnection: connection already in flight, waiting..."),fn;if(A){z("ensureConnection: killing stale WS in state",A.readyState);try{A.close()}catch{}A=null}return gn=!1,fn=(async()=>{try{let e=typeof window<"u"&&window.__FSAOS_CONFIG__||{},t=Ce,n=await Je();if(!n){z("ensureConnection: no token available, will retry"),na();return}let r=t.startsWith("https")?"wss":"ws",s=t.replace(/^https?:\/\//,""),i=`${r}://${s}/ws`;i+=`?token=${encodeURIComponent(n)}`,z("ensureConnection: opening WS to",i.substring(0,50)+"..."),Kr("connecting"),A=new WebSocket(i);let o=A;await new Promise((c,a)=>{if(!A)return a(new Error("WebSocket not created"));let l=setTimeout(()=>{if(A===o){if(z("ensureConnection: TIMEOUT after",Yo,"ms"),A&&A.readyState!==WebSocket.OPEN){try{A.close()}catch{}A=null}a(new Error("WebSocket connection timeout"))}},Yo);o.onopen=()=>{if(A!==o)return;clearTimeout(l),z("ensureConnection: CONNECTED");let d=Xo;Xo=!0,Zn=0,Kr("connected"),Zu(d),(typeof document>"u"||!document.hidden)&&Hu(),Gu(),c()},o.onmessage=d=>{A===o&&el(d.data)},o.onerror=()=>{z("ensureConnection: WS error event")},o.onclose=d=>{clearTimeout(l),A===o&&(z("ensureConnection: WS closed, code:",d.code,"reason:",d.reason),A=null,tr(),Yu(),Kr("disconnected"),!gn&&er()&&na(),a(new Error(`WebSocket closed: ${d.code}`)))}})}catch(e){z("ensureConnection: failed -",e?.message||e)}finally{fn=null}})(),fn}function na(){if(mn||typeof document<"u"&&document.hidden)return;let e=Math.min(1e3*Math.pow(2,Zn)+Math.random()*1e3,Bu);Zn++,z("scheduleReconnect: attempt",Zn,"in",Math.round(e),"ms"),mn=setTimeout(()=>{mn=null,er()&&kt()},e)}function Zu(e=!1){for(let t of Xe.values())z("resubscribeAll: scope",t.scope_id),Ze({type:"subscribe",scope_id:t.scope_id,event_types:t.event_types});for(let t of Ee.values())z("resubscribeAll: path",t.path),ni(t.path,t.event_types);if(e)try{let t=T();Go(t),jo(t);for(let n of Ee.values())t.invalidateQueries({queryKey:S.item(n.path)}),t.invalidateQueries({queryKey:S.children(n.path)});z("resubscribeAll: invalidated",Ee.size,"paths after reconnect")}catch(t){z("resubscribeAll: cache invalidation skipped",t)}}function Ze(e){A&&A.readyState===WebSocket.OPEN&&A.send(JSON.stringify(e))}function el(e){Dr=Date.now();try{let t=JSON.parse(e);if(t.type==="subscribed_path"){typeof t.path=="string"&&Ju(t.path);return}if(t.type==="subscribed"||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;if(n==="vfs_change"&&($o(T(),r),Lo(T(),r)),typeof r.path=="string")for(let[s,i]of Object.entries(be))s!=="*"&&ti(s,r.path)&&i.forEach(o=>o(r));be["*"]&&be["*"].forEach(s=>s(r));for(let s of hn)s.eventType!=="*"&&s.eventType!==n||s.filter&&!s.filter(r)||s.callback(r)}}catch{}}function ri(){!Xu()&&Xe.size===0&&Ee.size===0&&A&&(gn=!0,tr(),A.close(),A=null,gn=!1)}function Lr(e,t){return be[e]||(be[e]=[]),be[e].push(t),Ee.has(e)||(Ee.set(e,{path:e,event_types:["token_stream"]}),A&&A.readyState===WebSocket.OPEN?ni(e,["token_stream"]):Le.set(e,"pending")),kt(),()=>{let n=be[e];if(n){let r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(delete be[e],Ee.delete(e),Le.delete(e),pt.delete(e),Ze({type:"unsubscribe_path",path:e}))}ri()}}function ne(e,t,n){let s=(Array.isArray(e)?e:[e]).map(i=>({eventType:i,callback:t,filter:n}));return hn.push(...s),er()&&kt(),()=>{for(let i of s){let o=hn.indexOf(i);o!==-1&&hn.splice(o,1)}ri()}}function yn(e,t=["vfs_change","ccm_change"]){let n=Symbol(e),r=Array.from(new Set(t)).sort();if(r.length===0)return()=>{};let s=pn.get(e)??new Map,i=Xe.get(e)?.event_types;s.set(n,{event_types:r}),pn.set(e,s);let o=ta(e);if(!o)return()=>{};z("subscribeToScope:",e,o.event_types),A&&A.readyState===WebSocket.OPEN&&!ea(i,o.event_types)&&Ze({type:"subscribe",scope_id:e,event_types:o.event_types}),kt();let c=!0;return()=>{if(!c)return;c=!1;let a=pn.get(e);if(!a?.delete(n))return;let l=Xe.get(e)?.event_types;if(a.size===0)pn.delete(e),Xe.delete(e),Ze({type:"unsubscribe",scope_id:e});else{let d=ta(e);d&&A&&A.readyState===WebSocket.OPEN&&!ea(l,d.event_types)&&Ze({type:"subscribe",scope_id:e,event_types:d.event_types})}ri()}}function sa(e,t,n={}){Ze({type:"emit",scope_id:e,event_type:t,payload:n})}function si(){z("disconnectSSE: tearing down"),zo(T()),Wo(T()),gn=!0,tr(),A&&(A.close(),A=null),mn&&(clearTimeout(mn),mn=null),fn=null,gn=!1,Zn=0;for(let e of Object.keys(be))delete be[e];hn.length=0,Xe.clear(),pn.clear(),Ee.clear(),Le.clear(),pt.clear(),Kr("disconnected")}function ia(){Ze({type:"ping"})}function oa(e){return Ee.has(e)?Le.get(e)??"pending":"unsubscribed"}function aa(e,t=5e3){return Ee.has(e)?Le.get(e)==="ready"&&A&&A.readyState===WebSocket.OPEN?Promise.resolve(!0):(kt(),new Promise(n=>{let r=!1,s=pt.get(e)??[],i=()=>{r||(r=!0,clearTimeout(o),n(!0))};s.push(i),pt.set(e,s);let o=setTimeout(()=>{if(r)return;r=!0;let c=pt.get(e);if(c){let a=c.indexOf(i);a!==-1&&c.splice(a,1),c.length===0&&pt.delete(e)}n(!1)},t)})):Promise.resolve(!1)}function ca(e){let t=Ee.get(e);if(!t){z("resubscribePath: no active subscription for",e);return}A&&A.readyState===WebSocket.OPEN?(z("resubscribePath: re-sending frame for",e),ni(t.path,t.event_types)):(Le.set(e,"pending"),kt())}function ua(e){Nr.push(e);try{e(ei)}catch{}return()=>{let t=Nr.indexOf(e);t!==-1&&Nr.splice(t,1)}}se(si);function la(){return new Date().toISOString()}function da(){return crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2,11)}`}function ge(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||la(),updated_at:e.updated_at||la(),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 rr(e){return(e.content?.items||e.items||[]).map(ge)}async function Wr(e){try{let t=await C("read",{id:e});if(t.item_name||t.item_path){let r=ge(t);return r.path&&T().setQueryData(S.item(r.path),r),r}let n=t.item;if(n){let r=ge(n);return r.path&&T().setQueryData(S.item(r.path),r),r}return null}catch{return null}}async function Br(e){try{let t=await C("read",{path:e});if(t.item_name||t.item_path)return ge(t);let n=t.item;return n?ge(n):null}catch{return null}}async function sr(e){try{let t=await C("list",{path:e,limit:200}),n=rr(t);for(let r of n)T().setQueryData(S.item(r.path),r);return n}catch(t){return console.error(`[gateway] Failed to fetch children of ${e}:`,t),[]}}async function fa(e,t){let{items:n}=await vn({type:"turn_queue_entry",scope:e,parent_id:t,fields:{state:"queued"},sort_by:"created_at",sort_dir:"asc",limit:100});return n.map(r=>{let s=String(r.type_data?.conversation_anchor_item_id??r.type_data?.conversation_root_id??t);return{id:r.id,path:r.path,content:String(r.type_data?.content??""),state:String(r.type_data?.state??"queued"),queue_seq:Number(r.type_data?.queue_seq??0),created_at:r.created_at,conversation_anchor_item_id:s,conversation_root_id:s,client_request_id:typeof r.type_data?.client_request_id=="string"?r.type_data.client_request_id:void 0,promoted_message_id:typeof r.type_data?.promoted_message_id=="string"?r.type_data.promoted_message_id:void 0,promoted_event_id:typeof r.type_data?.promoted_event_id=="string"?r.type_data.promoted_event_id:void 0}}).sort((r,s)=>r.queue_seq-s.queue_seq||r.created_at.localeCompare(s.created_at))}async function Vr(e,t,n){try{let r=await C("list",{path:e,limit:t,offset:n}),s=rr(r);for(let i of s)T().setQueryData(S.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 Hr(e){let n=await C("types-list",e?{scope_id:e}:{}),r=n.content?.items||n.items||[],s=new Map;for(let i of r){let o=i.name,c=i.type_data;!o||!c||s.set(o,{type_key:o,display_name:c.display_name||o,display_name_plural:c.display_name_plural||o+"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 $r(e){try{let t=await C("edges",{item_id:e}),n=t.outgoing||[],r=t.incoming||[],s=[];for(let i of n)s.push({id:i.edge_id||da(),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||da(),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 Gr(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 C("tree",s),o=rr(i);for(let c of o)T().setQueryData(S.item(c.path),c);return o}catch(s){return console.error(`[gateway] Failed to fetch tree at ${e}:`,s),[]}}async function zr(e,t=50,n=0){try{let r=await C("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 ir(e,t={}){let{limit:n=50,offset:r=0,include_snapshots:s=!1}=t;try{let i=await C("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 Jr(e,t=50,n=0){return ir(e,{limit:t,offset:n})}async function Yr(e,t,n){try{let r={scope_id:e};t?.length&&(r.item_types=t),n&&(r.limit=n);let s=await C("member-focus",r),i=rr(s);for(let o of i)T().setQueryData(S.item(o.path),o);return i}catch(r){return console.error(`[gateway] Failed to fetch member focus for scope ${e}:`,r),[]}}async function Xr(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 C("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}}function _n(e){return!!e&&(!!e.type||Array.isArray(e.any_of)&&e.any_of.length>0)}function tl(e){let t={};e.item_type&&(t.item_type=e.item_type);for(let[n,r]of Object.entries(e.fields??{}))t[`field.${n}`]=String(r);for(let[n,r]of Object.entries(e.field_in??{}))t[`field_in.${n}`]=r.map(String);return t}var nl=["catalog","parent_only","internal"];function pa(e,t={}){if(!e||typeof e!="object")return null;let n=o=>typeof o=="string"||typeof o=="number"||typeof o=="boolean",r=o=>{let c={},a={};for(let[l,d]of Object.entries(o))l.startsWith("field.")&&l.length>6&&n(d)?c[l.slice(6)]=d:l.startsWith("field_in.")&&l.length>9&&Array.isArray(d)&&(a[l.slice(9)]=d.filter(n));return{fields:c,field_in:a}},s={};typeof e.type=="string"&&e.type&&(s.type=e.type),typeof e.sort_by=="string"&&(s.sort_by=e.sort_by),(e.sort_dir==="asc"||e.sort_dir==="desc")&&(s.sort_dir=e.sort_dir),typeof e.name=="string"&&e.name&&(s.name=e.name),typeof e.tag=="string"&&e.tag&&(s.tag=e.tag),typeof e.discovery=="string"&&nl.includes(e.discovery)&&(s.discovery=e.discovery);let i=r(e);if(Object.keys(i.fields).length&&(s.fields=i.fields),Object.keys(i.field_in).length&&(s.field_in=i.field_in),Array.isArray(e.any_of)){let o=[];for(let c of e.any_of){if(!c||typeof c!="object"||Array.isArray(c))continue;let a=c,l={};typeof a.item_type=="string"&&a.item_type&&(l.item_type=a.item_type);let d=r(a);Object.keys(d.fields).length&&(l.fields=d.fields),Object.keys(d.field_in).length&&(l.field_in=d.field_in),Object.keys(l).length&&o.push(l)}o.length&&(s.any_of=o)}return _n(s)?{...s,...t}:null}async function vn(e,t={}){if(e=At(e),e.spaceIds?.length===0)return{items:[],total_hint:0};let n={};e.type&&(n.item_type=e.type),e.scope&&(n.scope_path=e.scope);let r={};if(e.spaceIds!==void 0&&(r.space_ids=e.spaceIds),e.name&&(r.name=e.name),e.tag&&(r.tag=e.tag),e.parent_id&&(r.parent_id=e.parent_id),e.sort_by&&(r.sort_by=e.sort_by),e.sort_dir&&(r.sort_dir=e.sort_dir),e.offset!=null&&(r.offset=e.offset),e.fields)for(let[s,i]of Object.entries(e.fields))r[`field.${s}`]=String(i);if(e.field_in)for(let[s,i]of Object.entries(e.field_in))r[`field_in.${s}`]=i.map(String);e.discovery&&(r.discovery=e.discovery),e.any_of?.length&&(r.any_of=e.any_of.map(tl)),Object.keys(r).length>0&&(n.filters=r),e.limit!=null&&(n.limit=e.limit);try{let s=await C("query",n);e.spaceIds!==void 0&&Jo(e.spaceIds,s.selected_space_ids??s.content?.selected_space_ids);let i=rr(s);for(let o of i)T().setQueryData(S.item(o.path),o);return{items:i,total_hint:s.total??s.content?.total??i.length}}catch(s){if(console.error(`[gateway] Failed to fetch items of type ${e.type??"(any_of)"}:`,s),t.throwOnError||e.spaceIds!==void 0)throw s;return{items:[],total_hint:0}}}function rl(e){if(!e||typeof e!="object")return;let t=e;if(t.version!==1||typeof t.work_id!="string"||!t.work_id)return;let n=r=>{let s=t[r];return typeof s=="string"&&s?s:void 0};return{version:1,workId:t.work_id,threadRootId:n("thread_root_id"),requestMessageId:n("request_message_id"),replyMessageId:n("reply_message_id"),replyMessagePath:n("reply_message_path"),todoListId:n("todo_list_id"),todoListPath:n("todo_list_path"),stepId:n("step_id"),stepPath:n("step_path"),runId:n("run_id"),parentRunId:n("parent_run_id"),toolCallId:n("tool_call_id"),traceId:n("trace_id")}}function ma(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,origin:rl(n.origin),presentationRole:r.presentation_role==="user-request"?"user-request":r.presentation_role==="output"?"output":void 0}}).sort((t,n)=>t.createdAt.localeCompare(n.createdAt))}function nr(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,status:typeof n.status=="string"?n.status:void 0,delivery_state:typeof n.delivery_state=="string"?n.delivery_state:void 0,cognition_event_id:typeof n.cognition_event_id=="string"?n.cognition_event_id:void 0,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 ha(e,t){try{let n={channel_path:e};t&&(n.parent_message_id=t);let s=await C("get-channel-messages",n),i=s.messages||s.content?.items||s.items||[];return nr(i)}catch(n){return console.error(`[gateway] Failed to fetch channel messages for ${e}:`,n),[]}}async function Zr(e,t){try{let n={channel_path:e};t&&(n.parent_message_id=t);let s=await C("get-channel-messages",n),i=s.messages||[],o=nr(i),c=ma(i),a=new Map,l=[];for(let d of c)if(d.parentMessagePath){let p=a.get(d.parentMessagePath)||[];p.push(d),a.set(d.parentMessagePath,p)}else l.push(d);return{messages:o,activityMessages:nr(s.activity_messages||[]),messageCards:a,siblingCards:l,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 or(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 C("get-channel-messages",n),i=s.messages||[],o=ma(i),c=new Map,a=[];for(let l of o)if(l.parentMessagePath){let d=c.get(l.parentMessagePath)||[];d.push(l),c.set(l.parentMessagePath,d)}else a.push(l);return{messages:nr(i),activityMessages:nr(s.activity_messages||[]),messageCards:c,siblingCards:a,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 jr(e){T().invalidateQueries({queryKey:S.children(e)})}function ii(e){T().invalidateQueries({queryKey:S.item(e)})}function ga(e,t){ii(e),jr(e);let n=e.split("/");n.pop();let r=n.join("/")||t;r&&jr(r)}function ya(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 _a(){T().invalidateQueries({queryKey:S.all()})}function va(e){T().invalidateQueries({queryKey:S.types(e)})}function ba(e,t){e?T().invalidateQueries({queryKey:S.channelMessages(e,t)}):T().invalidateQueries({queryKey:S.allChannelMessages()})}function wa(e,t){e&&t?T().invalidateQueries({queryKey:S.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:S.allOpenEnvelopes()})}function je(e){return{id:e.accountId,path:e.path,kind:e.isSpace?"space":"account",name:e.name,grantedUnderAccountId:e.grantedUnderAccountId??void 0}}async function es(){return((await C("list-memberships",{})).memberships||[]).map(n=>({accountId:n.account_id,path:n.account_path,name:n.account_name,role:n.role||"member",typeData:n.account_type_data||{},joinedAt:n.joined_at,via:n.via,placement:n.placement,subordinateTo:n.subordinate_to??null,cascadeAnchorId:n.cascade_anchor_id??null,isAccount:n.is_account??void 0,isSpace:n.is_space??void 0,isOwner:n.is_owner??void 0,billingResponsible:n.billing_responsible??void 0,grantedVia:n.granted_via??null,grantedUnderAccountId:n.granted_under_account_id??null,membershipPath:n.membership_path??null,personalSpaceId:n.personal_space_id??null,personalSpacePath:n.personal_space_path??null}))}var bn=new Map,ar=null,ts=null,mt=new Map,Sa=250;function Mt(e){if(ar){wn(e);return}wn(e),ar=ne("vfs_change",t=>sl(t)),ts=ne("ccm_change",t=>il(t))}function wn(e){if(bn.has(e))return;let t=yn(e,["vfs_change","ccm_change"]);bn.set(e,t)}function ns(e){let t=bn.get(e);t&&(t(),bn.delete(e))}function oi(){for(let[,e]of bn)e();bn.clear(),ar&&(ar(),ar=null),ts&&(ts(),ts=null),mt.forEach(e=>clearTimeout(e)),mt.clear()}se(oi);function sl(e){let t=e.path,n=e.action;if(!t)return;let r=t.split("/");r.pop();let s=r.join("/")||"/root",i=mt.get(s);i&&clearTimeout(i);let o=setTimeout(()=>{mt.delete(s),ol(n,t,e,s)},Sa);mt.set(s,o)}function il(e){if(!e||typeof e!="object")return;let t=e.source_item_id||e.source_id,n=e.target_item_id||e.target_id;if(!(e.edge_type!=null||t!=null||n!=null)||!t&&!n||e.item_type==="message")return;let s=`ccm:${t??""}:${n??""}`,i=mt.get(s);i&&clearTimeout(i);let o=setTimeout(()=>{mt.delete(s),t&&T().invalidateQueries({queryKey:S.edges(t)}),n&&T().invalidateQueries({queryKey:S.edges(n)})},Sa);mt.set(s,o)}function ol(e,t,n,r){if((e||"").toUpperCase()==="DELETE")T().removeQueries({queryKey:S.item(t)}),T().removeQueries({queryKey:S.children(t)}),T().removeQueries({queryKey:S.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},o=ge(i);o&&o.id&&T().setQueryData(S.item(t),o)}catch{}T().invalidateQueries({queryKey:S.children(r)}),T().invalidateQueries({predicate:i=>{let o=i.queryKey;if(o[0]!=="vfs"||o[1]!=="tree")return!1;let c=o[2];return t.startsWith(c+"/")||t===c}}),n.item_id&&T().invalidateQueries({queryKey:S.itemById(n.item_id)})}var Sn=null;se(()=>{Sn=null});function ht(e){if(e!==Sn||e.generation!==re())throw new Error("Workspace session changed")}function al(e){return e instanceof Pe&&e.payload?.error==="item_not_found"}function cr(e,t){let n=e.resolve(t.id);if(!n||n.path!==t.path||n.kind!==t.kind)throw new Error("Mount is not an available membership");return n}function ur(e){let t=de();if(!t)throw new Error("Elect a home account before loading mounts");return[t,...e.filter((n,r)=>n.id!==t.id&&e.findIndex(s=>s.id===n.id)===r)]}function Ra(e,t){return JSON.stringify({mounts:e.map(n=>n.id),last_anchor:t.id})}async function Ca(e,t,n){ht(e);let r=Ra(t,n);if(e.saved===r)return;let s=JSON.parse(r);await C(e.exists?"update":"create",e.exists?{_scope_path:e.scope,path:e.path,type_data:s}:{_scope_path:e.scope,parent_path:e.path.slice(0,e.path.lastIndexOf("/")),name:"mounts",item_type:"file",type_data:s}),ht(e),e.exists=!0,e.saved=r}function xa(e,t){let n=xe();Mt(de().id);for(let r of n)e.some(s=>s.id===r.id)||ns(r.id);for(let r of e)wn(r.id);xo(e,t)}async function Ot(e,t,n={}){let r=de();if(!r)throw new Error("Elect a home account before loading mounts");let s=`${e}/settings/mounts`;if(Sn&&Sn.path!==s)throw new Error("Reset the session before changing the mount declaration owner");let i=Sn??(Sn={generation:re(),path:s,scope:r.path,resolve:t,exists:!1,ready:!1,saved:null,queue:Promise.resolve()});return ht(i),i.loading?i.loading:i.ready?xe():(i.resolve=t,i.loading=(async()=>{let o=null;try{let d=await C("read",{path:s,_scope_path:i.scope});if(ht(i),o=d.type_data??d.item?.type_data,!o||!Array.isArray(o.mounts)||!o.mounts.every(p=>typeof p=="string"))throw new Error("Invalid saved mount declaration");i.exists=!0}catch(d){if(ht(i),!al(d))throw d;i.exists=!1}let c=n.initialAnchor?cr(i,n.initialAnchor):r,a=ur(o?o.mounts.map(t).filter(d=>d!==null):[c]),l=o?a.find(d=>d.id===o.last_anchor)??a.find(d=>d.kind==="space")??r:c;return o?i.saved=Ra(a,l):n.initialAnchor&&await Ca(i,a,l),ht(i),i.ready=!0,xa(a,l),a})().finally(()=>{i.loading=void 0}),i.loading)}function rs(e){let t=Sn;if(!t?.ready)return Promise.reject(new Error("Workspace mounts are not loaded"));let n=t.queue.then(async()=>{ht(t);let{refs:r,anchor:s}=e(t);await Ca(t,r,s),ht(t),xa(r,s)});return t.queue=n.catch(()=>{}),n}function ai(e){return rs(t=>({refs:ur([...xe(),cr(t,e)]),anchor:he()}))}function Pa(e){return rs(()=>{if(e===de().id)throw new Error("The home account cannot be unmounted");let t=ur(xe().filter(r=>r.id!==e)),n=t.find(r=>r.id===he()?.id)??t.find(r=>r.kind==="space")??de();return{refs:t,anchor:n}})}function lr(e){return rs(t=>{let n=cr(t,e);return{refs:ur([...xe(),n]),anchor:n}})}function ss(e,t){return rs(n=>{let r=ur(e.map(i=>cr(n,i))),s=cr(n,t);if(!r.some(i=>i.id===s.id))throw new Error("Selected mount must be in the working set");return{refs:r,anchor:s}})}function is(e){if(typeof e.path!="string")return!1;let t=[...xe().map(n=>n.path),he()?.path].filter(n=>!!n);return!t.length&&Z()&&t.push(Z()),t.some(n=>Ke(e.path,n))}function ci(e,t,n,r){return!["message","card"].includes(e?.item_type)||!Ke(e.path,t)?!1:!n||e.item_id===n||e.parent_id===n?!0:r.some(s=>{if(e.item_id===s.id||e.parent_id===s.id)return!0;let i=s.id===n?s.path:s.parent_message_id===n?s.path.slice(0,s.path.lastIndexOf("/")):void 0;return!!i&&Ke(e.path,i)})}var Ta=new WeakMap;function Ea(e,t,n){let r=Ta.get(e);r||(r=new Map,Ta.set(e,r));let s=JSON.stringify(t),i=r.get(s);if(!i){let c=!1,a,l=!1,d=!1,p=new Set,m=new Set,f=()=>e.getQueryData(t)??[],y=()=>{c||l||a||(a=setTimeout(()=>{a=void 0,h()},250))},h=async()=>{if(c)return;l=!0;let F=d;d=!1;let R=[...p],k=new Set(m);m.clear(),p.clear();try{if(F)await Te(e,t,{exact:!0});else{let N=(await Promise.allSettled(R.map(async I=>{let B=e.getQueryCache().find({queryKey:t,exact:!0});if(!B)return;let M=await C("read",{id:I});if(M.success===!1)throw new Error("Channel refresh failed");if(c||!B||e.getQueryCache().find({queryKey:t,exact:!0})!==B)return;let E=ge(M.item??M);if(E.id!==I||E.item_type!=="channel")return;let Q=f().find(H=>H.id===I);if(!Q)return;let O=n({...E}),ce={...Q,path:O.path,name:O.name,displayName:O.displayName,messageCount:O.messageCount,aiMode:O.aiMode,isPrivate:O.isPrivate,isDm:O.isDm,autoPilot:O.autoPilot,updatedAt:O.updatedAt};k.has(I)&&(Q.name!==ce.name||Q.displayName!==ce.displayName||Q.path!==ce.path)&&(d=!0),e.setQueryData(t,H=>H?.map(Oe=>Oe.id===I?ce:Oe))}))).find(I=>I.status==="rejected");if(N?.status==="rejected")throw N.reason}}catch(U){console.warn("[channels] refresh failed",U)}finally{l=!1,(d||p.size)&&y()}},g=F=>f().some(R=>R.id===F.item_id||R.path===F.path)?!0:is(F),v=F=>{if(!g(F))return;let R=String(F.action??"").toLowerCase();if(["insert","delete","rename","move"].includes(R))d=!0;else if(R==="update"){let k=f().find(U=>U.id===F.item_id||U.path===F.path);k&&(p.add(k.id),m.add(k.id))}(d||p.size)&&y()},x=F=>{let R=f().find(k=>k.id===F.parent_id);R&&(p.add(R.id),y())},q=["vfs_change","ccm_change"].flatMap(F=>[ne(F,v,R=>R.item_type==="channel"),ne(F,x,R=>R.item_type==="message")]);i={users:0,stop:()=>{c=!0,a&&clearTimeout(a),q.forEach(F=>F())}},r.set(s,i)}i.users++;let o=!1;return()=>{o||(o=!0,--i.users===0&&(i.stop(),r.delete(s)))}}function J(){return(0,_.useSyncExternalStore)(ke,ie,ie)}function Ma(){return J(),Mr()}function Oa(e){return J(),j({queryKey:S.item(e),queryFn:()=>Br(e),enabled:!!e,staleTime:1/0})}function Fa(e){return J(),j({queryKey:S.itemById(e),queryFn:()=>Wr(e),enabled:!!e,staleTime:1/0})}function li(e){return J(),j({queryKey:S.children(e),queryFn:()=>sr(e),enabled:!!e})}function qa(e){let t=li(e);return{...t,children:t.data??[]}}function Qa(e,t=1){return J(),j({queryKey:S.tree(e,t),queryFn:()=>Gr(e,t),enabled:!!e})}function Da(e,t){return J(),j({queryKey:S.search(e,t),queryFn:async()=>{let n={query:e};t?.length&&(n.item_types=t);let r=await C("search",n);return(r.content?.items||r.items||r.results||[]).map(ge)},enabled:!!e&&e.length>0})}function Ua(e){J();let t=(0,_.useMemo)(()=>e,[JSON.stringify(e)]);return j({queryKey:["vfs",Z()??"__unscoped__","resolve",JSON.stringify(t??{})],queryFn:async()=>await C("resolve",t),enabled:!!t?.query&&t.query.length>0})}function Na(e){J();let t=At(e),n=(0,_.useMemo)(()=>t,[JSON.stringify(t)]),r=j({queryKey:S.items(n?.type??"",n),queryFn:()=>vn(n),enabled:_n(n),...n?.spaceIds!==void 0?{retry:(s,i)=>!dn(i)&&s<1}:{},select:s=>s.items});return n?.spaceIds!==void 0&&dn(r.error)?{...r,data:void 0}:r}function Ka(e,t={}){let n=J(),{realtime:r=!1}=t,s=At(e),i=s?.limit??20,o=(0,_.useMemo)(()=>s,[JSON.stringify(s)]),c=(0,_.useMemo)(()=>["vfs",Z()??"__unscoped__","infinite-items",o?.type??"",JSON.stringify(o??{})],[n,o]),a=Hn({queryKey:c,queryFn:async({pageParam:p=0})=>vn({...o,limit:i,offset:p},{throwOnError:!0}),initialPageParam:0,getNextPageParam:(p,m,f)=>{if(!(o?.spaceIds!==void 0&&p.total_hint!==void 0&&f+p.items.length>=p.total_hint)&&!(p.items.length<i))return f+p.items.length},enabled:_n(o),...o?.spaceIds!==void 0?{retry:(p,m)=>!dn(m)&&p<1}:{},staleTime:r?1/0:void 0,meta:r&&o?{infiniteItemsRealtime:{filter:o}}:{}}),l=(0,_.useMemo)(()=>{if(o?.spaceIds!==void 0&&dn(a.error))return[];if(!a.data?.pages)return[];let p=new Set,m=[];for(let f of a.data.pages)for(let y of f.items)y.id&&!p.has(y.id)&&(p.add(y.id),m.push(y));return m},[a.data?.pages,a.error,o]),d=o?.spaceIds!==void 0&&dn(a.error);return{allItems:l,refetch:a.refetch,fetchNextPage:a.fetchNextPage,isFetchingNextPage:a.isFetchingNextPage,isExhausted:d||!a.hasNextPage,isLoading:a.isLoading,isFetching:a.isFetching,error:a.error,totalHint:d?void 0:a.data?.pages?.[0]?.total_hint}}function La(e){J();let t=20,n=Hn({queryKey:["vfs",Z()??"__unscoped__","infinite-children",e??""],queryFn:async({pageParam:s=0})=>Vr(e,t,s),initialPageParam:0,getNextPageParam:(s,i,o)=>{if(!(s.items.length<t))return o+s.items.length},enabled:!!e});return{allItems:(0,_.useMemo)(()=>{if(!n.data?.pages)return[];let s=new Set,i=[];for(let o of n.data.pages)for(let c of o.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 ja(e){return J(),j({queryKey:S.edges(e),queryFn:()=>$r(e),enabled:!!e})}function os(e){return J(),j({queryKey:S.types(e),queryFn:()=>Hr(e)})}function Wa(e,t){let n=os(t);return{...n,data:n.data?.get(e)??void 0}}function Ba(e,t){J();let n=(0,_.useMemo)(()=>t?.arguments,[JSON.stringify(t?.arguments)]),r=t?.mode,s=t?.strategy,i=t?.width;return j({queryKey:[...S.openEnvelope(e,s),i],queryFn:async()=>{let o=await Xr(e,{mode:r,strategy:s,arguments:n});if(i&&o.render?.props?.url){let c=o.render.props.url,a=c.includes("?")?"&":"?";o.render.props.url=`${c}${a}w=${i}`}return o},enabled:!!e})}var Ia={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 Va(e){let t=os(e),n=t.data??new Map;return(0,_.useMemo)(()=>({canHaveChildren:f=>n.get(f.item_type)?.is_container??!1,isScope:f=>n.get(f.item_type)?.is_scope??!1,isScopeType:f=>n.get(f)?.is_scope??!1,isContainerType:f=>n.get(f)?.is_container??!1,getTypeDefinition:f=>n.get(f),getTypeColor:f=>n.get(f)?.color??"gray",getTypeIcon:f=>n.get(f)?.icon??"File",getTypeDisplayName:f=>n.get(f)?.display_name??f,getKnownEdgeTypes:()=>Object.entries(Ia).map(([f,y])=>({key:f,label:y})),getEdgeTypeLabel:f=>Ia[f]??f.replace(/_/g," "),allTypes:n,loading:t.isLoading}),[n,t.isLoading])}function Ha(e,t,n){return J(),j({queryKey:S.memberFocus(e),queryFn:()=>Yr(e,t,n),enabled:!!e})}function $a(e,t={}){let{limit:n=50,offset:r=0,include_snapshots:s=!1}=t;return j({queryKey:S.itemVersions(e,String(n),String(r),String(s)),queryFn:()=>ir(e,{limit:n,offset:r,include_snapshots:s}),enabled:!!e})}function Ga(e,t=50,n=0){return j({queryKey:S.itemHistory(e,String(t),String(n)),queryFn:()=>Jr(e,t,n),enabled:!!e})}function za(e,t=50,n=0){return J(),j({queryKey:S.recentActivity(e,String(t),String(n)),queryFn:()=>zr(e,t,n),enabled:!!e})}function Ja(){let[e,t]=(0,_.useState)(null),[n,r]=(0,_.useState)(!0),[s,i]=(0,_.useState)(null);return(0,_.useEffect)(()=>{let o=!1;return ft().then(c=>{if(!o){let a=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:a.componentPath||"",isEmbed:!!a.embedToken}),r(!1)}}).catch(c=>{o||(i(c instanceof Error?c:new Error(String(c))),r(!1))}),()=>{o=!0}},[]),{data:e,loading:n,error:s}}var ll=[];function Ya(){let{user:e}=as(),t=(0,_.useRef)(null),[n,r]=(0,_.useState)(null),s=j({queryKey:S.memberships(e?.id??"anonymous"),queryFn:es,enabled:!!e?.id,staleTime:1e3*60*2}),i=s.data??ll,o=(0,_.useMemo)(()=>i.filter(m=>m.isAccount!==!1&&!m.isSpace),[i]),c=(0,_.useMemo)(()=>{let m=new Set(o.map(y=>y.accountId)),f=y=>!y.subordinateTo||!m.has(y.subordinateTo);return[...o].sort((y,h)=>Number(f(h))-Number(f(y)))},[o]),a=(0,_.useSyncExternalStore)(ke,ie,ie),l=(0,_.useMemo)(()=>{let m=he();return m?i.find(f=>f.accountId===m.id)??null:null},[a,i]);(0,_.useEffect)(()=>{if(!e?.id){t.current=null;return}if(t.current!==e.id)if(r(null),c.length===1){let m=c[0];de()||Tt(je(m)),Mt(m.accountId),m.personalSpacePath&&Ot(m.personalSpacePath,f=>{let y=i.find(h=>h.accountId===f);return y?je(y):null}).catch(r),t.current=e.id}else c.length>1&&(t.current=e.id)},[e?.id,c,i]);let d=(0,_.useCallback)(async m=>{let f=i.find(g=>g.path===m);if(!f)throw new Error("Account membership is unavailable");let y=je(f);de()||Tt(y);let h=i.find(g=>g.accountId===de()?.id);if(!h?.personalSpacePath)throw new Error("The home membership has no mount declaration location");await Ot(h.personalSpacePath,g=>{let v=i.find(x=>x.accountId===g);return v?je(v):null}),await lr(y),r(null),Mt(f.accountId)},[i]),p=(0,_.useCallback)(async m=>{let f=i.find(y=>y.path===m);if(!f)throw new Error("Scope membership is unavailable");await ai(je(f))},[i]);return{accounts:c,allMemberships:i,currentAccount:l,mountedScope:null,switchAccount:d,mountScope:p,loading:s.isLoading,error:s.error??n}}function Xa(){J();let e=(0,_.useSyncExternalStore)(kr,Xn,Xn),t=(0,_.useMemo)(()=>xe(),[e]),n=he(),r=(0,_.useMemo)(()=>t.filter(i=>i.kind==="space"&&(n?.kind==="account"||i.id===n?.id)),[t,n]),s=(0,_.useMemo)(()=>r.map(i=>i.id).sort(),[r]);return{mounts:t,selectedSpaces:r,readSpaceIds:s,homeAnchor:de(),anchor:n,setAnchor:lr,replaceMounts:ss,mount:ai,unmount:Pa}}function as(){let[e,t]=(0,_.useState)(null),[n,r]=(0,_.useState)(null),[s,i]=(0,_.useState)(!0),o=(0,_.useRef)(null);(0,_.useEffect)(()=>{W.auth.getSession().then(({data:f,error:y})=>{if(y){console.warn("[useAuth] getSession error, clearing stale session:",y.message),W.auth.signOut().catch(()=>{}),r(null),t(null),i(!1);return}r(f?.session??null),t(f?.session?.user??null),i(!1)}).catch(f=>{console.warn("[useAuth] getSession threw, clearing stale session:",f?.message),W.auth.signOut().catch(()=>{}),r(null),t(null),i(!1)});let{data:{subscription:m}}=W.auth.onAuthStateChange((f,y)=>{if(f==="TOKEN_REFRESHED"&&!y){console.warn("[useAuth] TOKEN_REFRESHED with null session \u2014 signing out"),W.auth.signOut().catch(()=>{}),r(null),t(null),i(!1);return}r(y),t(y?.user??null),i(!1)});return o.current=m,()=>{m?.unsubscribe()}},[]);let c=(0,_.useCallback)(async m=>m.provider?W.auth.signInWithOAuth({provider:m.provider,options:m.redirectTo?{redirectTo:m.redirectTo}:{redirectTo:window.location.href}}):W.auth.signInWithPassword({email:m.email,password:m.password}),[]),a=(0,_.useCallback)(async m=>W.auth.signUp({email:m.email,password:m.password,options:{data:m.metadata||{}}}),[]),l=(0,_.useCallback)(async()=>{await W.auth.signOut(),un(),T().clear()},[]),d=(0,_.useCallback)(async m=>{let{error:f}=await W.auth.resetPasswordForEmail(m);if(f)throw f},[]),p=(0,_.useCallback)(async(m,f)=>{let{error:y}=await W.auth.signInWithOtp({email:m,options:f?{emailRedirectTo:f}:{emailRedirectTo:window.location.href}});if(y)throw y},[]);return{user:e,session:n,loading:s,signIn:c,signUp:a,signOut:l,resetPassword:d,signInWithMagicLink:p}}function Za(e){let[t,n]=(0,_.useState)(null),[r,s]=(0,_.useState)(!1),[i,o]=(0,_.useState)(null);return(0,_.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),C("resolve-asset",{asset_id:e}).then(a=>{a.success&&a.public_url?n({url:a.public_url,id:a.asset_id,name:a.name,mimeType:a.mime_type,width:a.width,height:a.height,sizeBytes:a.size_bytes}):o(new Error(a.error||"Asset not found")),s(!1)}).catch(a=>{o(a instanceof Error?a:new Error(String(a))),s(!1)});else{let l=(typeof window<"u"&&window.__FSAOS_CONFIG__||{}).edgeBaseUrl||"";n({url:l+e}),s(!1)}},[e]),{data:t,loading:r,error:i}}var dr={},Aa={};se(()=>{for(let e of Object.keys(dr))delete dr[e]});var ec=null;function tc(e){ec=e,typeof window<"u"&&!window.__FSAOS_GATEWAY__&&(window.__FSAOS_GATEWAY__=e)}function dl(e){switch(e){case"react":return typeof window<"u"&&window.React||_.default;case"react-dom":case"react-dom/client":return typeof window<"u"&&window.ReactDOM||cl;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}:ul;case"@fsaos/gateway":case"@fsaos/react":return typeof window<"u"&&window.__FSAOS_GATEWAY__||ec||{};case"@fsaos/ui":return typeof window<"u"&&window.__FSAOS_UI__||{};case"@fsaos/theme":return{};default:return console.warn(`[useComponent] Unknown module requested: ${e}`),{}}}function fl(e,t){return e.replace(/^(\s*)(:root|body)(\s*[{,])/gm,(n,r,s,i)=>`${r}.${t}${i}`)}async function pl(e,t){if(!Aa[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=fl(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),Aa[e]=s}catch{}}function ml(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)(dl),o=t??i;return o?o.default||o:null}finally{n!==void 0?window.__FSAOS_REGISTER__=n:delete window.__FSAOS_REGISTER__}}function di(e){let[t,n]=(0,_.useState)(null),[r,s]=(0,_.useState)(!0),[i,o]=(0,_.useState)(null);return(0,_.useEffect)(()=>{if(!e)return;let c=!1;s(!0),o(null);let l=(typeof window<"u"&&window.__FSAOS_CONFIG__||{}).edgeBaseUrl||"";return(async()=>{try{let d=1,p=e+"@v1",m=l+e+"/__bundle.js";try{let v=await fetch(l+e+"/__meta",{cache:"no-store"});v.ok&&(d=(await v.json()).version||1,p=e+"@v"+d,m=l+e+"/__bundle.v"+d+".js")}catch{m=l+e+"/__bundle.js?v="+Date.now()}if(c)return;if(dr[p]){n(()=>dr[p]),s(!1);return}let f=await fetch(m);if(!f.ok)throw new Error(`Failed to fetch bundle: ${f.status} ${f.statusText} (${m})`);let y=await f.text();if(c)return;let h=m.replace(/__bundle(\.v\d+)?\.js(\?.*)?$/,"__bundle$1.css");pl(h).catch(()=>{});let g=ml(y);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})`);dr[p]=g,c||(n(()=>g),s(!1))}catch(d){c||(o(d instanceof Error?d:new Error(String(d))),s(!1))}})(),()=>{c=!0}},[e]),{Component:t,loading:r,error:i}}var hl=["--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 nc(){return{data:(0,_.useMemo)(()=>{if(typeof document>"u")return{tokens:{}};let t={},n=getComputedStyle(document.documentElement);return hl.forEach(r=>{t[r]=n.getPropertyValue(r).trim()}),{tokens:t}},[]),loading:!1,error:null}}function rc(e,t){return{data:{allowed:!0},loading:!1,error:null}}function sc(e,t){let n={};return(t||[]).forEach(r=>{n[r]=!0}),{data:n,loading:!1,error:null}}var ae=null,Rn=null,ui=new Set;function gl(){ui.forEach(e=>e())}se(()=>{ae=null,Rn=null});async function ic(e){let t={principalId:null,displayName:null,createdAt:null,metadata:null,vfsPath:null},n=Et()?.principal_id??null;if(n){if(ae&&ae.principalId===n){let{principalId:s,displayName:i,createdAt:o,metadata:c,vfsPath:a}=ae;return{principalId:s,displayName:i,createdAt:o,metadata:c,vfsPath:a}}return{...t,principalId:n}}let r=e;if(!r){let{data:s}=await W.auth.getSession();r=s?.session?.user?.id}if(!r)return t;if(ae&&ae.authUserId===r){let{principalId:s,displayName:i,createdAt:o,metadata:c,vfsPath:a}=ae;return{principalId:s,displayName:i,createdAt:o,metadata:c,vfsPath:a}}return Rn||(Rn=(async()=>{try{let{data:s,error:i}=await W.from("os_principals").select("id, display_name, created_at, metadata").eq("auth_user_id",r).eq("principal_type","user").maybeSingle();if(i)return console.warn("[SDK] Could not resolve principal:",i.message),t;let o=s?.id??null,c=null;if(o){let{data:l}=await W.from("os_items").select("path").eq("owner_principal_id",o).eq("item_type","principal").eq("is_active",!0).like("path","/root/principals/%"),d=(l??[]).map(p=>p.path);c=d.find(p=>p.split("/").length===4)??d[0]??null}let a={principalId:o,displayName:s?.display_name??null,createdAt:s?.created_at??null,metadata:s?.metadata??null,vfsPath:c};return ae={authUserId:r,...a},a}finally{Rn=null}})(),Rn)}async function oc(e){return(await ic(e)).principalId}function ac(){let e=as(),t=e.user,n=ae?.authUserId===t?.id?ae:null,[r,s]=(0,_.useState)(n),i=(0,_.useRef)(null);return(0,_.useEffect)(()=>{let o=()=>{let c=ae;c&&c.authUserId===t?.id&&s({principalId:c.principalId,displayName:c.displayName,createdAt:c.createdAt,metadata:c.metadata,vfsPath:c.vfsPath})};return ui.add(o),()=>{ui.delete(o)}},[t?.id]),(0,_.useEffect)(()=>{if(!t?.id){s(null),i.current=null;return}i.current===t.id&&r?.principalId!=null||(i.current=t.id,ic(t.id).then(o=>{s(o)}))},[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 cc(){return{data:null,loading:!1,error:null}}function uc(e){let{path:t,...n}=e,r=di(t),s=r.Component,{loading:i,error:o}=r;return i?(0,_.createElement)("div",{className:"fsaos-loading"},""):o?(0,_.createElement)("div",{className:"fsaos-error"},"Failed to load component"):s?(0,_.createElement)(s,n):null}function lc(e){return e.children}function dc(e){let t=J(),{channelPath:n,parentMessageId:r,realtime:s=!0,enabled:i}=e,o=i!==void 0?i&&!!n:!!n,c=(0,_.useMemo)(()=>S.channelMessages(n??"",r),[n,r,t]),a=V(),l=(0,_.useRef)(null),d=j({queryKey:c,queryFn:()=>Zr(n,r),enabled:o});(0,_.useEffect)(()=>{if(!s||!o)return;let h=ne("vfs_change",()=>{l.current&&clearTimeout(l.current),l.current=setTimeout(()=>{Te(a,c,{exact:!0})},500)},g=>{let v=a.getQueryData(c);return ci(g,n,r,[...v?.messages??[],...v?.activityMessages??[]])});return()=>{h(),l.current&&clearTimeout(l.current)}},[s,o,n,r,c,a]);let p=d.data,m=p?.messages??[],f=p?.messageCards??new Map,y=p?.siblingCards??[];return{messages:m,activityMessages:p?.activityMessages??[],messageCards:f,siblingCards:y,threads:(0,_.useMemo)(()=>m.filter(h=>h.reply_count>0),[m]),isLoading:d.isLoading,isFetching:d.isFetching,error:d.error,refetch:d.refetch}}function fc(e){J();let{channelPath:t,parentMessageId:n,limit:r=50,realtime:s=!0,enabled:i=!0}=e,o=!!n,c=i&&!!t,a=Hn({queryKey:[...S.channelMessages(t||"",n),"infinite",r],queryFn:async({pageParam:h})=>or(t,{parentMessageId:n,limit:r,before_seq:o?void 0:h,after_seq:o?h:void 0}),initialPageParam:void 0,getNextPageParam:h=>!o||h.messages.length<r?void 0:h.messages[h.messages.length-1]?.seq,getPreviousPageParam:h=>o||h.messages.length<r?void 0:h.messages[0]?.seq,enabled:c}),l=(0,_.useMemo)(()=>{if(!a.data?.pages)return[];let h=new Set,g=[];for(let v of a.data.pages)for(let x of v.messages)h.has(x.id)||(h.add(x.id),g.push(x));return g.sort((v,x)=>v.seq-x.seq)},[a.data?.pages]),{messageCards:d,siblingCards:p}=(0,_.useMemo)(()=>{let h=new Map,g=[];if(!a.data?.pages)return{messageCards:h,siblingCards:g};let v=new Set;for(let x of a.data.pages){for(let[q,F]of x.messageCards)for(let R of F){if(v.has(R.id))continue;v.add(R.id);let k=h.get(q)||[];k.push(R),h.set(q,k)}for(let q of x.siblingCards)v.has(q.id)||(v.add(q.id),g.push(q))}return{messageCards:h,siblingCards:g}},[a.data?.pages]),m=V(),f=(0,_.useRef)(null),y=(0,_.useMemo)(()=>[...S.channelMessages(t||"",n),"infinite",r],[t,n,r]);return(0,_.useEffect)(()=>{if(!s||!t||!c)return;let h=()=>void Te(m,y,{exact:!0}),g=!1,v=!1,x=!1,q=async()=>{let k=m.getQueryData(y);if(!k?.pages?.length){h();return}let U=0;for(let N of k.pages)for(let I of N.messages)I.seq>U&&(U=I.seq);if(U===0){h();return}try{let N=await or(t,{parentMessageId:n,limit:r,after_seq:U});if(N.messages.length===0&&N.siblingCards.length===0){h();return}if(N.messages.length>0){let I=Math.min(...N.messages.map(B=>B.seq));if(I>U+1){console.warn(`[useInfiniteChannelMessages] sequence gap detected: maxSeq=${U}, minNewSeq=${I}. Triggering full refetch.`),h();return}}m.setQueryData(y,I=>{if(!I)return I;let B=[...I.pages],M=B.length-1,E=B[M],Q=new Set(E.messages.map(we=>we.id)),O=N.messages.filter(we=>!Q.has(we.id)),ce=[...E.messages,...O].sort((we,hs)=>we.seq-hs.seq),H=new Map(E.messageCards);for(let[we,hs]of N.messageCards){let Si=H.get(we)||[],hu=new Set(Si.map(gs=>gs.id)),gu=hs.filter(gs=>!hu.has(gs.id));H.set(we,[...Si,...gu])}let Oe=new Set(E.siblingCards.map(we=>we.id)),pu=N.siblingCards.filter(we=>!Oe.has(we.id)),mu=[...E.siblingCards,...pu];return B[M]={...E,activityMessages:N.activityMessages??[],messages:ce,messageCards:H,siblingCards:mu},{...I,pages:B}})}catch(N){console.warn("[useInfiniteChannelMessages] live tail fetch failed, falling back to full invalidation:",N),h()}},F=async()=>{if(g){v=!0;return}g=!0;try{do v=!1,await q();while(v&&!x)}finally{g=!1}},R=ne("vfs_change",()=>{f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{F()},500)},k=>ci(k,t,n,m.getQueryData(y)?.pages.flatMap(U=>U.messages)??[]));return()=>{x=!0,R(),f.current&&clearTimeout(f.current)}},[s,t,c,y,m,n,r]),{messages:l,activityMessages:a.data?.pages.at(-1)?.activityMessages??[],messageCards:d,siblingCards:p,threads:l.filter(h=>h.reply_count>0),isLoading:a.isLoading,isFetching:a.isFetching,error:a.error,refetch:a.refetch,hasPreviousPage:a.hasPreviousPage??!1,fetchPreviousPage:a.fetchPreviousPage,isFetchingPreviousPage:a.isFetchingPreviousPage??!1,hasNextPage:a.hasNextPage??!1,fetchNextPage:a.fetchNextPage,isFetchingNextPage:a.isFetchingNextPage??!1}}function yl(e){return e==="on"||e==="auto"?"on":"off"}function ka(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:yl(t.ai_mode),isPrivate:t.is_private||!1,isDm:t.is_dm||!1,messageCount:t.message_count||0,createdAt:e.created_at||"",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 cs(e={}){let t=J(),{realtime:n=!0,enabled:r=!0}=e,s=V(),i=(0,_.useMemo)(()=>S.channels("all"),[t]),o=j({queryKey:i,queryFn:async()=>((await C("query",{item_type:"channel",include_reader:!0,limit:500})).items||[]).map(ka),enabled:r});return(0,_.useEffect)(()=>{if(!(!n||!r))return Ea(s,i,ka)},[n,r,i,s]),{channels:o.data??[],isLoading:o.isLoading,isFetching:o.isFetching,error:o.error,refetch:o.refetch}}function pc(e={}){let t=cs(e),n=(0,_.useMemo)(()=>t.channels.filter(r=>!r.isDm),[t.channels]);return{...t,channels:n}}function mc(e={}){let t=cs(e),n=(0,_.useMemo)(()=>t.channels.filter(r=>r.isDm),[t.channels]);return{...t,channels:n}}function fi(e={}){let t=J(),{filter:n="all",limit:r=200,realtime:s=!0,enabled:i=!0}=e,o=V(),c=(0,_.useRef)(null),a=(0,_.useMemo)(()=>S.notifications(n,r),[n,r,t]),l=j({queryKey:a,queryFn:async()=>{let p={limit:r};return n==="unread"&&(p.filter="unread"),(await C("get-notifications",p)).notifications||[]},enabled:i});return(0,_.useEffect)(()=>{if(!s||!i)return;let p=["vfs_change","ccm_change"].map(m=>ne(m,()=>{c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{o.invalidateQueries({queryKey:a})},2e3)},f=>f.item_type==="notification"&&is(f)));return()=>{p.forEach(m=>m()),c.current&&clearTimeout(c.current)}},[s,i,a,o]),{notifications:l.data??[],isLoading:l.isLoading,isFetching:l.isFetching,error:l.error,refetch:l.refetch}}function hc(e={}){let{channels:t,realtime:n=!0,enabled:r=!0}=e,{notifications:s,isLoading:i,isFetching:o,error:c,refetch:a}=fi({filter:"unread",limit:200,realtime:n,enabled:r}),l=(0,_.useMemo)(()=>{let f=new Map;for(let y of s)y.is_unread&&y.channel_id&&f.set(y.channel_id,(f.get(y.channel_id)||0)+1);return f},[s]),d=(0,_.useMemo)(()=>{let f=0;return l.forEach(y=>{f+=y}),f},[l]),{dmUnread:p,channelUnread:m}=(0,_.useMemo)(()=>{if(!t)return{dmUnread:0,channelUnread:0};let f=new Set(t.filter(g=>g.isDm).map(g=>g.id)),y=0,h=0;return l.forEach((g,v)=>{f.has(v)?y+=g:h+=g}),{dmUnread:y,channelUnread:h}},[t,l]);return{unreadByChannel:l,totalUnread:d,dmUnread:p,channelUnread:m,isLoading:i,isFetching:o,error:c,refetch:a}}function gc(){let e=V();return ve({mutationFn:t=>C("create",t),onSuccess:(t,n)=>{let r=n.parent_path;r&&e.invalidateQueries({queryKey:S.children(r)})}})}function yc(){let e=V();return ve({mutationFn:t=>C("update",t),onSuccess:(t,n)=>{let r=n.path;if(r){e.invalidateQueries({queryKey:S.item(r)});let s=r.split("/");s.pop();let i=s.join("/");i&&e.invalidateQueries({queryKey:S.children(i)})}}})}function _c(){return ve({mutationFn:e=>C("update-principal",e),onSuccess:(e,t)=>{if(!ae)return;let n=e&&typeof e=="object"&&e.metadata?e.metadata:{...ae.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}:{}};ae={...ae,displayName:typeof t.display_name=="string"?t.display_name:ae.displayName,metadata:n},gl()}})}function vc(){let e=V();return ve({mutationFn:t=>C("delete",t),onSuccess:(t,n)=>{let r=n.path;if(r){e.removeQueries({queryKey:S.item(r)});let s=r.split("/");s.pop();let i=s.join("/");i&&e.invalidateQueries({queryKey:S.children(i)})}}})}function bc(){let e=V();return ve({mutationFn:t=>C("move",t),onSuccess:(t,n)=>{let r=n.path,s=n.new_parent_path;if(r){e.invalidateQueries({queryKey:S.item(r)});let i=r.split("/");i.pop();let o=i.join("/");o&&e.invalidateQueries({queryKey:S.children(o)})}s&&e.invalidateQueries({queryKey:S.children(s)})}})}function wc(){let e=V();return ve({mutationFn:t=>C("link",t),onSuccess:(t,n)=>{let r=n.source_id,s=n.target_id;r&&e.invalidateQueries({queryKey:S.edges(r)}),s&&e.invalidateQueries({queryKey:S.edges(s)})}})}function Sc(e,t){let n=V(),{optimistic:r,...s}=t??{};return ve({mutationFn:i=>C(e,i),onMutate:r?async i=>{await n.cancelQueries({queryKey:r.queryKey});let o=n.getQueryData(r.queryKey);return n.setQueryData(r.queryKey,c=>r.update(c,i)),{previous:o}}:void 0,onError:(i,o,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 Rc(e,t,n){let r,s,i,o=!0;if(typeof e=="string")r=e,s=t,i=n;else{s=e;let l=t;r=l.eventType,i=l.filter,o=l.enabled??!0}let c=(0,_.useRef)(s),a=(0,_.useRef)(i);(0,_.useEffect)(()=>{c.current=s,a.current=i},[s,i]),(0,_.useEffect)(()=>o?ne(r,d=>c.current(d),a.current?d=>a.current(d):void 0):void 0,[r,o])}function Cc(e){let{queryKey:t,queryFn:n,eventType:r,filter:s,enabled:i=!0,debounceMs:o=500}=e,c=V(),a=(0,_.useRef)(s);a.current=s;let l=(0,_.useRef)(null),d=j({queryKey:t,queryFn:n,enabled:i});return(0,_.useEffect)(()=>{if(!i)return;let p=ne(r,()=>{l.current&&clearTimeout(l.current),l.current=setTimeout(()=>{Te(c,t,{exact:!0})},o)},m=>a.current?.(m)??!0);return()=>{p(),l.current&&clearTimeout(l.current)}},[r,i,o,c,JSON.stringify(t)]),d}function Cn(e){J();let t=Z(),n=(0,_.useMemo)(()=>e?typeof e=="string"?{path:e}:e:null,[typeof e=="string"?e:JSON.stringify(e)]),r=!!t&&!!n&&!!(n.key||n.path||n.item_id),s=n?.key??n?.path??n?.item_id??"",i=["vfs",t??"__unscoped__","arrangement",s,n?.scope_id??""],o=j({queryKey:i,staleTime:1/0,retry:!1,meta:{arrangementRealtime:!0},queryFn:async()=>{if(!n)return null;let m=await C("resolve-arrangement",{...n,_scope_path:t});if(m?.success===!1)throw new Error(m?.error||"Arrangement could not be loaded");return m??null},enabled:r}),c=o.data??null,a=(0,_.useMemo)(()=>c?.resolved_children??[],[c]),l=c?.resolution_level??null,d=(0,_.useMemo)(()=>{let f=(c?.type_data??null)?.order;return Array.isArray(f)?f:null},[c]),p=(0,_.useCallback)(m=>{if(!d||!m?.length)return m??[];let f=v=>v.id??v.name??"",y=new Map(d.map((v,x)=>[v,x])),h=[],g=[];for(let v of m)(y.has(f(v))?h:g).push(v);return h.sort((v,x)=>y.get(f(v))-y.get(f(x))),[...h,...g]},[d]);return{...o,arrangement:c,resolvedChildren:a,resolutionLevel:l,order:d,sourceScopeId:c?.scope_item_id??null,arrangementQueryKey:i,applyTo:p}}function xc(e){let{origin:t,originField:n,fallbackUrl:r,mintError:s,scopeId:i,scopePath:o}=e,c=J(),a=Et(),l=i??a?.scope_id??null,d=(0,_.useMemo)(()=>{if(!t)return null;let R="/accounts/",k=t.indexOf(R);if(k===-1)return null;let U=t.indexOf("/",k+R.length);return U===-1?t:t.slice(0,U)},[t]),p=o??d??a?.scope_path??null,m=n?.trim()||null,f=`${c}
4
4
  ${l??""}
5
5
  ${p??""}
6
6
  ${m??""}
7
- ${t??""}`,[y,h]=(0,_.useState)(null),g=(0,_.useRef)({key:f,found:null,earlyContentPaths:new Set}),v=y?.key===f?y:null;(0,_.useLayoutEffect)(()=>{g.current={key:f,found:v,earlyContentPaths:new Set}},[f]);let C=j({queryKey:["vfs",p??"__unscoped__","minted-asset",m??"",t??""],queryFn:async()=>{let R=await x("query",{scope_path:p,filters:{[`field.${m}`]:t},limit:1}),k=R.content?.items??R.items??[],U=k[0]?ge(k[0]):null;if(!U)return null;let I=(await rr(U.path)).some(B=>B.item_type==="file"&&!!B.type_data?.file_ref);return{asset:U,hasBytes:I}},enabled:!!(t&&p&&m&&!s),refetchInterval:R=>g.current.key===f&&g.current.found?.hasBytes||R.state.data?.hasBytes?!1:1500});(0,_.useEffect)(()=>{let R=C.data;if(!R||g.current.key!==f)return;let k=g.current.found,U={key:f,itemId:R.asset.id,itemPath:R.asset.path,displayName:typeof R.asset.type_data?.display_name=="string"?R.asset.type_data.display_name:R.asset.name,hasBytes:R.hasBytes||!!(k?.itemId===R.asset.id&&k.hasBytes)};g.current.found=U,h(U)},[C.data,f]);let q=!!(t&&l)&&!s&&!v?.hasBytes;return(0,_.useEffect)(()=>{if(!(!q||!l))return yn(l,["asset.materialized","content.written"])},[q,l]),(0,_.useEffect)(()=>{if(!q||!t||!l)return;let R=f,k=M=>M?.payload??M,U=M=>{let Q=k(M)?.scope_id??M?.scope_id;return typeof Q=="string"?Q:void 0},N=M=>{let Q=k(M)?.item_path??M?.item_path;return typeof Q=="string"&&Q?Q:void 0},I=(M,E)=>{let Q=E.replace(/\/+$/,"");return M===Q||M.startsWith(`${Q}/`)},B=[ne("asset.materialized",M=>{if(g.current.key!==R)return;let E=k(M);if(typeof E?.item_id!="string"||!E.item_id)return;let Q=g.current.found,O=typeof E.item_path=="string"?E.item_path:void 0,ce=!!E.has_bytes||!!(O&&Array.from(g.current.earlyContentPaths).some(Oe=>I(Oe,O)))||!!(Q&&Q.itemId===E.item_id&&Q.hasBytes),H={key:R,itemId:E.item_id,itemPath:O,displayName:typeof E.display_name=="string"?E.display_name:void 0,hasBytes:ce};g.current.found=H,h(H)},M=>{let E=U(M);return(!E||E===l)&&k(M)?.origin===t}),ne("content.written",M=>{if(g.current.key!==R)return;let E=N(M);if(!E)return;let Q=g.current.found;if(!Q?.itemPath||!I(E,Q.itemPath)){if(g.current.earlyContentPaths.add(E),g.current.earlyContentPaths.size>128){let ce=g.current.earlyContentPaths.values().next().value;ce&&g.current.earlyContentPaths.delete(ce)}return}if(Q.hasBytes)return;let O={...Q,hasBytes:!0};g.current.found=O,h(O)},M=>{let E=U(M);return(!E||E===l)&&!!N(M)})];return()=>B.forEach(M=>M())},[q,t,l,f]),{state:s?"failed":t?v?v.hasBytes?"ready":"materializing":"pending":"idle",itemId:v?.itemId,itemPath:v?.itemPath,displayName:v?.displayName,fallbackUrl:r??void 0,error:s??void 0}}function Pc(e,t){let n=(0,Cn.useSyncExternalStore)(ke,ie,ie),r=he(),s=Z(),i=r?.kind==="space",o=xn(i&&s?{key:e,scope_id:r.id}:null),c=(0,Cn.useMemo)(()=>{let f=o.applyTo([...t]);if(e!=="channel-order")return f;let y=new Set(o.order??[]),h=f.filter(v=>!y.has(v.id)),g=v=>Date.parse(v.createdAt??"")||0;return h.sort((v,C)=>g(C)-g(v)),[...h,...f.filter(v=>y.has(v.id))]},[e,t,o.applyTo,o.order]),a=V(),l=(0,Cn.useRef)(!1),d=!!(i&&!o.error&&o.arrangement?.item_id&&o.resolutionLevel==="member"&&o.arrangement.write_target_id===o.arrangement.item_id),p=ve({mutationFn:async f=>{let y=await x("update",{_scope_path:f.scopePath,id:f.arrangementId,type_data:{order:f.ids}});if(y?.success===!1)throw new Error(y.error||"Order could not be saved");return y},onSettled:(f,y,h)=>ln(a,h.queryKey)});async function m(f){if(!d||!s||n!==ie()||Z()!==s)throw new Error("Personal order is not available in this Space");if(l.current)throw new Error("An order change is already being saved");let y=t.map(R=>R.id);if(f.length!==y.length||new Set(f).size!==y.length||y.some(R=>!f.includes(R)))throw new Error("Order must include each displayed item exactly once");let h=a.getQueryData(o.arrangementQueryKey);if(h?.item_id!==o.arrangement.item_id||JSON.stringify(h?.type_data?.order??[])!==JSON.stringify(o.order??[]))throw new Error("The saved order changed. Try dragging again");let g=c.map(R=>R.id);if(f.every((R,k)=>g[k]===R))return;let v=new Set(y),C=0,F=[...(o.order??[]).map(R=>v.has(R)?f[C++]:R),...f.slice(C)];l.current=!0;try{return await p.mutateAsync({ids:F,scopePath:s,arrangementId:o.arrangement.item_id,queryKey:o.arrangementQueryKey})}finally{l.current=!1}}return{items:c,ready:d,supported:i,contextKey:`${n}:${s}:${e}`,isLoading:i&&o.isLoading,error:o.error,refetch:o.refetch,isSaving:p.isPending,saveError:p.error,reorder:m}}var pi=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,_l=/^[A-Za-z_:][A-Za-z0-9_:.-]{0,127}$/,Tc=new Map,Ec=new Map,Pn=class extends Error{constructor(n,r,s,i){super(n);X(this,"code");X(this,"status");X(this,"eventId");this.name="InteractionTrackingError",this.code=r,this.status=s,this.eventId=i}};function Tn(e){let t=e?Gn.find(n=>n.id===e):Gn.find(n=>n.default===!0)??(Gn.length===1?Gn[0]:void 0);if(!t)throw new TypeError("No unambiguous source is declared for this release");if(!t.id||!Number.isInteger(t.version)||t.version<1)throw new TypeError("The release source declaration is invalid");return t}function cs(e,t){let n=t.adapters?.find(r=>r.type===e);if(!n)throw new TypeError(`The source does not declare a ${e} adapter`);return n}function vl(e){return e.length>0&&e.length<=128&&!/[\u0000-\u001f\u007f]/.test(e)}function bl(e,t){if(!vl(t)||!e.observations?.includes(t))throw new TypeError("The observation is not declared by this release source")}function mi(e){if(!(typeof window>"u"||e.storage==="memory"))try{return e.storage==="session"?window.sessionStorage:window.localStorage}catch{return}}function wl(e){try{let t=mi(e)?.getItem(e.key)??void 0;return t&&pi.test(t)?t:void 0}catch{return}}function Ic(e,t){try{mi(e)?.setItem(e.key,t)}catch{}}function Ac(e){let t=e.identity?.visitor;if(!t?.key)throw new TypeError("The source visitor identity policy is invalid");let n=wl(t)??Tc.get(e.id);if(n)return n;let r=crypto.randomUUID();return Tc.set(e.id,r),Ic(t,r),r}function kc(e,t=Date.now()){let n=e.identity?.session;if(!n?.key||!Number.isInteger(n.idle_seconds)||n.idle_seconds<1)throw new TypeError("The source session identity policy is invalid");let r;try{let l=mi(n)?.getItem(n.key);r=l?JSON.parse(l):void 0}catch{r=void 0}let s=Ec.get(e.id),i=r&&typeof r.id=="string"&&pi.test(r.id)&&typeof r.lastSeenAt=="number"?{id:r.id,lastSeenAt:r.lastSeenAt}:s,o=n.idle_seconds*1e3,a=i&&t-i.lastSeenAt>=0&&t-i.lastSeenAt<o?{id:i.id,lastSeenAt:t}:{id:crypto.randomUUID(),lastSeenAt:t};return Ec.set(e.id,a),Ic(n,JSON.stringify(a)),a.id}function Sl(e,t){let n=e.source_keys?.query;if(!Array.isArray(n)||n.length===0)return;let r;try{r=new URL(t)}catch{return}let s=e.source_keys?.max_value_length,i=Number.isInteger(s)?Math.min(Math.max(s??1,1),4096):512,o=Object.fromEntries(n.flatMap(c=>{if(typeof c!="string"||c.length===0||c.length>128)return[];let a=r.searchParams.get(c);return a?[[c,a.slice(0,i)]]:[]}));return Object.keys(o).length>0?o:void 0}async function Ft(e,t={},n={}){let r=Tn(n.source);if(bl(r,e),!t||typeof t!="object"||Array.isArray(t))throw new TypeError("properties must be an object");let s=n.eventId??crypto.randomUUID(),i=n.visitorId??Ac(r),o=n.sessionId??kc(r);if(![s,i,o].every(g=>pi.test(g)))throw new TypeError("event, visitor, and session IDs must be UUIDs");let c=n.pageUrl??(typeof window<"u"?window.location.href:void 0);if(!c)throw new TypeError("pageUrl is required outside a browser");let a=n.occurredAt??new Date().toISOString();if(Number.isNaN(Date.parse(a)))throw new TypeError("occurredAt is invalid");let l=n.referrer??(typeof document<"u"&&document.referrer||void 0),d=Sl(r,c),p=d?{...t,source_keys:d}:t,m=It(),f=`${xe.replace(/\/+$/,"")}/d/${encodeURIComponent(m)}/interactions`,y;try{y=await fetch(f,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({source:r.id,page_url:c,visitor_id:i,session_id:o,referrer:l,events:[{id:s,event_type:e,occurred_at:a,properties:p}]}),signal:n.signal,credentials:"omit",keepalive:n.keepalive??!1})}catch(g){throw new Pn(g instanceof Error?g.message:"Observation transport network error","OBSERVATION_NETWORK_ERROR",0,s)}let h=null;try{h=await y.json()}catch{}if(!y.ok||h?.success!==!0){let g=h;throw new Pn(g?.message||g?.error||`Observation transport failed (${y.status})`,g?.error||"OBSERVATION_TRANSPORT_FAILED",y.status,s)}return h}function Mc(e={},t={}){let n=Tn(t.source),r=cs("page_view",n),s=typeof document>"u"||!r.title_property?{}:{[r.title_property]:document.title.slice(0,512)};return Ft(r.observation,{...s,...e},{...t,source:n.id})}function Oc(e,t={},n={}){if(!e||e.length>128)throw new TypeError("actionId is invalid");let r=Tn(n.source),s=cs("declared_action",r),i=s.id_property?{[s.id_property]:e}:{};return Ft(s.observation,{...t,...i},{...n,source:r.id})}function Fc(){try{let e=Tn();return cs("form_receipt",e),{visitor_id:Ac(e),session_id:kc(e),source:e.id}}catch{return}}function qc(e,t={}){let n=Tn(t.source),r=cs("form_receipt",n);return Ft(r.observation,e,{...t,source:n.id})}var dr;function us(e={}){if(typeof window>"u"||typeof document>"u")return()=>{};if(dr)return dr;if(window.__FSAOS_CONFIG__?.tracking?.enabled===!1)return()=>{};let t;try{t=Tn(e.source)}catch{return()=>{}}let n=e.pageViews===!1?[]:t.adapters.filter(m=>m.type==="page_view"),r=e.declaredActions===!1?[]:t.adapters.filter(m=>m.type==="declared_action"),s="",i=()=>{if(window.location.href!==s){s=window.location.href;for(let m of n){let f=m.title_property?{[m.title_property]:document.title.slice(0,512)}:{};Ft(m.observation,f,{source:t.id,keepalive:!0}).catch(()=>{})}}},o=m=>{if(m.target instanceof Element)for(let f of r){let y=f.attribute;if(!y||!_l.test(y))continue;let h=m.target.closest(`[${y}]`);if(!h)continue;let g=h.getAttribute(y)?.trim();if(!g||g.length>128)continue;let v={};f.id_property&&(v[f.id_property]=g),f.element_property&&(v[f.element_property]=h.tagName.toLowerCase()),Ft(f.observation,v,{source:t.id,keepalive:!0}).catch(()=>{})}},c=window.history.pushState,a=window.history.replaceState,l=()=>queueMicrotask(i),d=n.some(m=>m.history===!0),p=n.some(m=>m.pageshow===!0);return d&&(window.history.pushState=function(...f){c.apply(this,f),l()},window.history.replaceState=function(...f){a.apply(this,f),l()},window.addEventListener("popstate",i)),p&&window.addEventListener("pageshow",i),r.length>0&&document.addEventListener("click",o,{capture:!0}),n.length>0&&queueMicrotask(i),dr=()=>{window.removeEventListener("popstate",i),window.removeEventListener("pageshow",i),document.removeEventListener("click",o,{capture:!0}),d&&(window.history.pushState=c,window.history.replaceState=a),dr=void 0},dr}var En;se(()=>{En=void 0});function ls(e){if(En)return En.accountPath!==e.accountPath?Promise.reject(new Error("Reset the session before changing accounts")):En.promise;let t=re(),n=()=>{if(t!==re())throw new Error("Workspace session changed")},r=(async()=>{let s=await ft();if(n(),!s.principal_id)throw new Error("Workspace initialization requires an authenticated principal");let i=await T().fetchQuery({queryKey:S.memberships(s.principal_id),queryFn:Zr,staleTime:12e4,retry:!1});n();let o=i.find(p=>p.path===e.accountPath&&p.isAccount&&!p.isSpace);if(!o)throw new Error("Authenticated account membership is unavailable");let c=i.find(p=>p.isSpace&&p.accountId===o.personalSpaceId&&p.path===o.personalSpacePath);if(!c||!o.personalSpacePath)throw new Error("A provisioned default Space membership is required");let a=je(o),l=je(c),d=de();if(d&&d.id!==a.id)throw new Error("Reset the session before changing accounts");return d||Tt(a,{activate:!1}),await Ot(o.personalSpacePath,p=>{let m=i.find(f=>f.accountId===p&&(f.isAccount||f.isSpace));return m?je(m):null},{initialAnchor:l}),n(),{home:a,defaultSpace:l,memberships:i}})().catch(s=>{throw t===re()&&(En=void 0),s});return En={accountPath:e.accountPath,promise:r},r}var qt,pr,fr;se(()=>{pr?.(),pr=void 0,qt=void 0,fr=void 0});function Qc(e={}){if(qt)return e.workspace&&e.workspace.accountPath!==fr?Promise.reject(new Error("Initialize workspace through initializeWorkspace, or dispose the existing runtime first")):qt;fr=e.workspace?.accountPath;let t=re();return qt=(async()=>{let n=e.tracking??!0,r=n===!1?()=>{}:us(typeof n=="object"?n:{});pr=r;try{let s=e.session===!1?null:await ft(),i=e.workspace?await ls(e.workspace):void 0;if(t!==re())throw new Error("Session changed during initialization");let o=!1;return{session:s,workspace:i,dispose(){o||(o=!0,r(),t===re()&&(qt=void 0,fr=void 0,pr=void 0))}}}catch(s){throw r(),t===re()&&(qt=void 0,fr=void 0,pr=void 0),s}})(),qt}async function hi(e){try{return await x("execution-control-transition",e)}catch(t){if(!(t instanceof Pe)||t.status<500)throw t;return await new Promise(n=>setTimeout(n,250)),x("execution-control-transition",e)}}function gi(e){let t=e.conversation_anchor_item_id??e.conversation_root_id;return t?{...e,conversation_anchor_item_id:t,conversation_root_id:e.conversation_root_id??t}:e}async function Dc(e,t={}){let n=e.trim();if(!n)throw new TypeError("cancelTurn requires a request message id");let r=(t.idempotencyKey??`cancel:${n}`).trim();if(!r)throw new TypeError("cancelTurn requires a non-empty idempotency key");if(r.length>128)throw new TypeError("cancelTurn idempotency key must be 128 characters or fewer");let s=await hi({op:"request",command:"cancel",delivery:"immediate",request_message_id:n,idempotency_key:r,...t.scopePath?{_scope_path:t.scopePath}:{}}),i=s.outcome??s.state??s.status;return gi(i?{...s,state:i}:s)}async function Uc(e,t,n={}){let r=e.trim(),s=t.trim();if(!r)throw new TypeError("steerTurn requires an active request message id");if(!s)throw new TypeError("steerTurn requires a selected queue entry id");if(r===s)throw new TypeError("steerTurn cannot target the active request message");let i=(n.idempotencyKey??`steer:${r}:${s}`).trim();if(!i)throw new TypeError("steerTurn requires a non-empty idempotency key");if(i.length>128)throw new TypeError("steerTurn idempotency key must be 128 characters or fewer");let o=await hi({op:"request",command:"steer",delivery:"immediate",request_message_id:r,selected_queue_entry_id:s,idempotency_key:i,...n.scopePath?{_scope_path:n.scopePath}:{}}),c=o.outcome??o.state??o.status;return gi(c?{...o,state:c}:o)}async function Nc(e,t={}){let n=e.trim();if(!n)throw new TypeError("cancelQueuedTurn requires a queue entry id");let r=(t.idempotencyKey??`cancel-queue:${n}`).trim();if(!r)throw new TypeError("cancelQueuedTurn requires a non-empty idempotency key");if(r.length>128)throw new TypeError("cancelQueuedTurn idempotency key must be 128 characters or fewer");let s=await hi({op:"cancel_queue_entry",queue_entry_id:n,idempotency_key:r,...t.scopePath?{_scope_path:t.scopePath}:{}}),i=s.outcome??s.state??s.status;return gi(i?{...s,outcome:i}:s)}var Rl=/^[a-z][a-z0-9_-]{0,63}$/,xl=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,In=class extends Error{constructor(n,r,s,i){super(n);X(this,"code");X(this,"status");X(this,"fillId");this.name="FormSubmissionError",this.code=r,this.status=s,this.fillId=i}};async function Kc(e,t,n={}){if(!Rl.test(e))throw new TypeError("capabilityId is invalid");if(!t||typeof t!="object"||Array.isArray(t))throw new TypeError("fields must be an object");let r=n.fillId??crypto.randomUUID();if(!xl.test(r))throw new TypeError("fillId must be a UUID");let s=It(),i=n.pageUrl??(typeof window<"u"?window.location.href:void 0);if(!i)throw new TypeError("pageUrl is required outside a browser");let o=`${xe.replace(/\/+$/,"")}/d/${encodeURIComponent(s)}/actions/${encodeURIComponent(e)}`,c=Fc(),a=c?{visitor_id:c.visitor_id,session_id:c.session_id}:void 0,l;try{l=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({fill_id:r,page_url:i,fields:t,...a?{attribution:a}:{}}),signal:n.signal,credentials:"omit"})}catch(p){throw new In(p instanceof Error?p.message:"Form submission network error","FORM_NETWORK_ERROR",0,r)}let d=null;try{d=await l.json()}catch{}if(!l.ok||d?.success!==!0){let p=d;throw new In(p?.message||p?.error||`Form submission failed (${l.status})`,p?.error||"FORM_SUBMISSION_FAILED",l.status,r)}try{await qc({fill_id:r,action_id:e,release_id:d.release_id},{eventId:r,pageUrl:i,signal:n.signal,keepalive:!0,...c?{source:c.source,visitorId:c.visitor_id,sessionId:c.session_id}:{}})}catch{}return d}var yi=Y(ue(),1),Wc=Y(jc(),1);function Bc(e){return x("read",{path:e})}function Vc(e,t){return x("list",{path:e,...t})}function Hc(e){return x("create",e)}function $c(e){return x("update",e)}function Gc(e){return x("create",e)}function zc(e,t){let r=(typeof window<"u"&&window.__FSAOS_CONFIG__||{}).scopePath||"";return x("tools/call",{name:e,instance_path:r,...t||{}})}function Jc(e,t,n){return x("signal",{target_id:e,event_name:t,payload:n||{}})}function Yc(e){return((typeof window<"u"&&window.__FSAOS_CONFIG__||{}).edgeBaseUrl||"")+e}var Xc={signIn:e=>e.provider?W.auth.signInWithOAuth({provider:e.provider,options:{redirectTo:e.redirectTo||window.location.href}}):W.auth.signInWithPassword({email:e.email,password:e.password}),signUp:e=>W.auth.signUp({email:e.email,password:e.password,options:{data:e.metadata||{}}}),signOut:async()=>{await W.auth.signOut(),un(),T().clear()},getSession:()=>W.auth.getSession().then(e=>e.data.session),getUser:()=>W.auth.getUser().then(e=>e.data.user),onAuthStateChange:e=>{let{data:{subscription:t}}=W.auth.onAuthStateChange((n,r)=>{e({event:n,session:r,user:r?.user??null})});return()=>t?.unsubscribe()},resetPassword:e=>W.auth.resetPasswordForEmail(e),signInWithMagicLink:(e,t)=>W.auth.signInWithOtp({email:e,options:{emailRedirectTo:t||window.location.href}})};function Zc(){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,Wc.createRoot)(e).render((0,yi.createElement)(Bn,{client:T()},(0,yi.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 eu(){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/kernel":n,"@fsaos/react":n,"@fsaos/gateway":n,"@fsaos/ui":r||{}};window.require=function(o){if(s[o])return s[o];throw new Error("[FSAOS] Module not found: "+o)},window.__FSAOS_MOUNT__=n.mount}function Cl(e){return e.split("_").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function Pl(e,t){return t&&t.length>0?"select":e==="boolean"?"toggle":e==="integer"||e==="number"?"range":e==="string"?"text":"none"}function Tl(e,t){return!(e==="object"||e==="array")}function El(e){return["string","number","integer","boolean"].includes(e)}function Il(e){return e!=="object"&&e!=="array"}function tu(e,t,n,r){let s=e?.properties;if(!s||typeof s!="object")return[];let i=[];for(let[o,c]of Object.entries(s)){let a=c.type||"string",l=c.enum,d=Tl(a,l),p=El(a),m=Pl(a,l);i.push({key:o,label:c.title||Cl(o),type:a,description:c.description,enum_values:l,default_value:n[o]??r[o]??c.default,editable:t,filterable:d,sortable:p,filter_widget:m})}return i}function _i(e){let t=e.default_data||{},n=e.field_defaults||{},r=tu(e.input_schema,!0,t,n),s=tu(e.system_schema,!1,t,n),i=[...r,...s],o=i.filter(l=>Il(l.type)),c=i.filter(l=>l.filterable),a=i.filter(l=>l.sortable);return{fields:i,columns:o,filterable:c,sortable:a,form_fields:r,system_fields:s}}function nu(e){return{field:"updated_at",direction:"desc"}}function ru(e){let t=_i(e),n=new Set(e.input_schema?.required||[]);return t.form_fields.filter(r=>n.has(r.key)||r.default_value===void 0)}var ye=Y(ue(),1);var Al=0;function kl(){return`upload_${Date.now()}_${++Al}`}async function su(e,t,n,r){let s=t.name||(e instanceof File?e.name:`file-${Date.now()}`),i=e.type||"application/octet-stream",o=t.itemType||"file",c={parent_path:t.parentPath,item_type:o,name:s,type_data:{...t.typeData||{},file_source:{type:"upload",content_type:i}}};t.cardParentPath&&(c.card_parent_path=t.cardParentPath);let l=await x("create",c);if(!l.id)throw new Error(l.error||l.message||"Failed to create file item");let d=l.id,p=l.path;if(l.storage_completed&&l.file_ref)return{itemId:d,itemPath:p,fileRef:l.file_ref};let m=l.storage_key,f=l.upload_token,y=l.storage_worker_url||"https://fsaos-storage.radns.workers.dev";if(!m)throw new Error("Gateway returned no storage_key \u2014 file_source may not be supported for this item type");await Ml(y,m,f,e,i,n,r);let h=await iu(d,m,i);return{itemId:d,itemPath:p,fileRef:h}}function Ml(e,t,n,r,s,i,o){return new Promise((c,a)=>{let l=new XMLHttpRequest;if(l.open("PUT",`${e}/upload`),l.setRequestHeader("X-Storage-Key",t),l.setRequestHeader("Content-Type",s),n&&l.setRequestHeader("X-Upload-Token",n),l.upload.onprogress=d=>{d.lengthComputable&&i&&i(Math.round(d.loaded/d.total*100))},l.onload=()=>{l.status>=200&&l.status<300?c():a(new Error(`Storage upload failed: HTTP ${l.status} \u2014 ${l.responseText?.slice(0,300)}`))},l.onerror=()=>a(new Error("Storage upload network error")),l.ontimeout=()=>a(new Error("Storage upload timed out")),o){if(o.aborted){a(new Error("Upload cancelled"));return}o.addEventListener("abort",()=>{l.abort(),a(new Error("Upload cancelled"))})}l.send(r)})}async function iu(e,t,n){let r=await Je(),s=await fetch(`${xe}/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 o=await s.text().catch(()=>"");throw new Error(`Upload confirmation failed: HTTP ${s.status} \u2014 ${o.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 ou(){let[e,t]=(0,ye.useState)([]),n=V(),r=(0,ye.useRef)(e);r.current=e;let s=(0,ye.useCallback)((h,g)=>{t(v=>v.map(C=>C.id===h?{...C,...g}:C))},[]),i=(0,ye.useCallback)(h=>{t(g=>[...g,h])},[]),o=(0,ye.useCallback)(async(h,g,v,C,q)=>{let F=v.name||g.name,R=g.type||"application/octet-stream",k=v.itemType||"file",U=q?.itemId||null,N=q?.itemPath||null,I=q?.storageKey||null,B=q?.uploadToken||null,M=q?.storageWorkerUrl||null;try{if(!C||C==="create"){s(h,{status:"creating",error:null,_failedAt:null});let O=await x("create",{parent_path:v.parentPath,item_type:k,name:F,type_data:{...v.typeData||{},file_source:{type:"upload",content_type:R}}});if(!O.id)throw Object.assign(new Error(O.error||O.message||"Failed to create file item"),{_step:"create"});if(U=O.id,N=O.path,s(h,{itemId:U,itemPath:N}),O.storage_completed&&O.file_ref){s(h,{status:"complete",progress:100,fileRef:O.file_ref}),n.invalidateQueries({queryKey:S.children(v.parentPath)});return}if(I=O.storage_key,B=O.upload_token||"",M=O.storage_worker_url||"https://fsaos-storage.radns.workers.dev",s(h,{_storageKey:I,_uploadToken:B,_storageWorkerUrl:M}),!I)throw Object.assign(new Error("Gateway returned no storage_key"),{_step:"create"})}(!C||C==="create"||C==="upload")&&(s(h,{status:"uploading",progress:0,error:null,_failedAt:null}),await new Promise((O,ce)=>{let H=new XMLHttpRequest;s(h,{_xhr:H}),H.open("PUT",`${M}/upload`),H.setRequestHeader("X-Storage-Key",I),H.setRequestHeader("Content-Type",R),B&&H.setRequestHeader("X-Upload-Token",B),H.upload.onprogress=Oe=>{Oe.lengthComputable&&s(h,{progress:Math.round(Oe.loaded/Oe.total*100)})},H.onload=()=>{H.status>=200&&H.status<300?O():ce(Object.assign(new Error(`Storage upload failed: HTTP ${H.status}`),{_step:"upload"}))},H.onerror=()=>ce(Object.assign(new Error("Storage upload network error"),{_step:"upload"})),H.ontimeout=()=>ce(Object.assign(new Error("Storage upload timed out"),{_step:"upload"})),H.send(g)}),s(h,{progress:100,_xhr:null})),s(h,{status:"confirming",error:null,_failedAt:null});let E=await iu(U,I,R);s(h,{status:"complete",fileRef:E}),n.invalidateQueries({queryKey:S.children(v.parentPath)})}catch(E){let Q=E?.message||String(E),O=E?._step||"create";s(h,{status:"error",error:Q,_failedAt:O,_xhr:null})}},[s,n]),c=(0,ye.useCallback)((h,g)=>{let v=kl();i({id:v,file:h,status:"creating",progress:0,error:null,itemId:null,itemPath:null,fileRef:null,options:g,_storageKey:null,_uploadToken:null,_storageWorkerUrl:null,_xhr:null,_failedAt:null}),o(v,h,g)},[i,o]),a=(0,ye.useCallback)((h,g)=>{for(let v of h)c(v,g)},[c]),l=(0,ye.useCallback)(h=>{let g=r.current.find(q=>q.id===h);if(!g||g.status!=="error")return;let v=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;o(h,g.file,g.options,v,C)},[o]),d=(0,ye.useCallback)(h=>{let g=r.current.find(v=>v.id===h);g&&(g._xhr&&g._xhr.abort(),s(h,{status:"error",error:"Cancelled",_xhr:null,_failedAt:null}))},[s]),p=(0,ye.useCallback)(h=>{t(g=>g.filter(v=>v.id!==h))},[]),m=(0,ye.useCallback)(()=>{t(h=>h.filter(g=>g.status!=="complete"))},[]),f=e.some(h=>h.status==="creating"||h.status==="uploading"||h.status==="confirming"),y=e.map(({_storageKey:h,_uploadToken:g,_storageWorkerUrl:v,_xhr:C,_failedAt:q,...F})=>F);return{upload:c,uploadMultiple:a,uploads:y,retryUpload:l,cancelUpload:d,removeUpload:p,clearCompleted:m,isUploading:f}}var au=Y(ue(),1);async function vi(e,t){return await x("resolve-items",{context_id:e,item_type:t})}function cu(e,t){return(0,au.useSyncExternalStore)(ke,ie,ie),j({queryKey:["vfs",Z()??"__unscoped__","resolved-items",e??"",t],queryFn:()=>vi(e,t),enabled:!!(e&&t)})}var Me=Y(ue(),1);function ds(e,t){let n={artifacts:new Map,timeline:[]},r=new Map;function s(o){if(!o.action?.startsWith("artifact_"))return;let a,l=o.name;if(typeof l=="string"&&l.startsWith("{"))try{a=JSON.parse(l)}catch{return}else if(o.artifact_id)a=o;else return;switch(a.type){case"artifact_opened":{let d=Date.now();if(n.artifacts.set(a.artifact_id,{artifact_id:a.artifact_id,surface_type:a.surface_type,tool_id:a.tool_id,tool_name:a.tool_name,target_uri:a.target_uri,status:"streaming",content:"",total_chars:0,delta_count:0,artifact_item_uri:null,evidence_uri:null,meta:a.meta,started_at:d,completed_at:null}),r.has(a.tool_id)){let p=r.get(a.tool_id);n.timeline[p].artifact_ids.push(a.artifact_id)}else{let p=n.timeline.length;n.timeline.push({tool_id:a.tool_id,tool_name:a.tool_name,status:"started",target_uri:a.target_uri,started_at:d,completed_at:null,artifact_ids:[a.artifact_id]}),r.set(a.tool_id,p)}break}case"artifact_delta":{let d=n.artifacts.get(a.artifact_id);d&&(d.content+=a.content_delta,d.total_chars+=a.content_delta.length,d.delta_count+=1,a.target_uri&&!d.target_uri&&(d.target_uri=a.target_uri));break}case"artifact_done":{let d=n.artifacts.get(a.artifact_id);d&&(d.status=a.status,d.total_chars=a.total_chars,d.artifact_item_uri=a.artifact_item_uri,d.evidence_uri=a.evidence_uri,a.target_uri&&(d.target_uri=a.target_uri),(a.status==="completed"||a.status==="failed")&&(d.completed_at=Date.now()));let p=r.get(a.tool_id);if(p!==void 0){let m=n.timeline[p];a.status==="executing"?m.status="executing":a.status==="completed"?(m.status="completed",m.completed_at=Date.now()):a.status==="failed"&&(m.status="failed",m.completed_at=Date.now()),a.target_uri&&!m.target_uri&&(m.target_uri=a.target_uri)}break}}t(n)}return Kr(e,s)}function uu(e,t=!0){let[n,r]=(0,Me.useState)(new Map),[s,i]=(0,Me.useState)([]),o=(0,Me.useRef)({artifacts:new Map,timeline:[]});(0,Me.useEffect)(()=>!e||!t?void 0:ds(e,p=>{o.current=p,r(new Map(p.artifacts)),i([...p.timeline])}),[e,t]);let c=(0,Me.useCallback)(()=>{r(new Map),i([]),o.current={artifacts:new Map,timeline:[]}},[]),a=Array.from(n.values()).find(d=>d.surface_type==="file_editor"&&d.status==="streaming")??null,l=Array.from(n.values()).filter(d=>d.surface_type==="activity"&&(d.status==="streaming"||d.status==="executing"));return{artifacts:n,timeline:s,activeEditor:a,activeActivities:l,reset:c}}function lu(e,t=!0){let[n,r]=(0,Me.useState)([]);(0,Me.useEffect)(()=>!e||!t?void 0:ds(e,o=>{r([...o.timeline])}),[e,t]);let s=n.length>0?n[n.length-1]:null;return{timeline:n,latestActivity:s}}var fs=Y(ue(),1);function Ol(e,t,n,r){return["vfs","timeline-history",e,t??"__all__",n??500,r??0]}async function bi(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 x("open",{path:n,mode:"extract",strategy:"rows",arguments:i}))?.content;return c?(c.rows??c.items??c.data??[]).map(Fl).sort((l,d)=>l.seq-d.seq):[]}catch(o){if(o?.status===404||o?.message?.includes("not found"))return[];throw o}}function du(e,t){let{turnId:n,limit:r=500,offset:s=0,enabled:i=!0,debounceMs:o=300}=t??{},c=e?`${e}/datasets/agent-events`:null,a=V(),l=(0,fs.useRef)(null),d=c?Ol(c,n,r,s):["vfs","timeline-history","__disabled__"],p=j({queryKey:d,queryFn:()=>bi(e,{turnId:n,limit:r,offset:s}),enabled:!!e&&i});return(0,fs.useEffect)(()=>{if(!c||!i)return;let m=ne("vfs_change",()=>{l.current&&clearTimeout(l.current),l.current=setTimeout(()=>{a.invalidateQueries({queryKey:d})},o)},f=>{let y=f?.path;return y?y===c&&f.item_type==="dataset":!1});return()=>{m(),l.current&&clearTimeout(l.current)}},[c,i,o,a,JSON.stringify(d)]),{events:p.data??[],isLoading:p.isLoading,error:p.error,isFetching:p.isFetching,refetch:()=>{p.refetch()}}}function Fl(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}}var ps=Y(ue(),1);function fu(){(0,ps.useSyncExternalStore)(ke,ie,ie);let e=Z(),t=he(),n=xn(e?{key:"pinned",...t?{scope_id:t.id}:{}}:null),r=V(),s=n.resolvedChildren,i=!!(!n.error&&n.arrangement?.item_id&&n.resolutionLevel==="member"&&n.arrangement.write_target_id===n.arrangement.item_id),o=ve({mutationFn:async a=>{let l,d={_scope_path:a.scopePath};if(a.operation==="pin"?l=await x("create",{...d,parent_id:a.arrangementId,name:`pin-${a.target.id}`,item_type:"symlink",type_data:{target_item_id:a.target.id,target_type:a.target.item_type}}):a.operation==="unpin"?l=await x("delete",{...d,id:a.entry.id}):l=await x("update",{...d,id:a.arrangementId,type_data:{order:a.ids}}),l?.success===!1)throw new Error(l.error||"Pins could not be saved");return l},onSettled:(a,l,d)=>ln(r,d.queryKey)}),c=(0,ps.useCallback)(a=>!i||!e||Z()!==e?Promise.reject(new Error("Personal pins are not available in this context")):a.operation==="unpin"&&!s.some(l=>l.id===a.entry.id)?Promise.reject(new Error("Pin is outside this arrangement")):a.operation==="reorder"&&(new Set(a.ids).size!==s.length||a.ids.length!==s.length||s.some(l=>!a.ids.includes(l.id)))?Promise.reject(new Error("Order must include each pin exactly once")):a.operation==="pin"&&s.some(l=>l.symlink_type_data?.target_item_id===a.target.id)?Promise.resolve(null):o.mutateAsync({...a,scopePath:e,arrangementId:n.arrangement.item_id,arrangementPath:n.arrangement.item_path,queryKey:n.arrangementQueryKey}),[i,e,s,n.arrangement,n.arrangementQueryKey,o.mutateAsync]);return{entries:s,isLoading:n.isLoading,error:n.error,refetch:n.refetch,ready:i,isSaving:o.isPending,saveError:o.error,isPinned:a=>s.some(l=>l.symlink_type_data?.target_item_id===a),pin:a=>c({operation:"pin",target:a}),unpin:a=>{let l=s.find(d=>d.symlink_type_data?.target_item_id===a||d.id===a);return l?c({operation:"unpin",entry:l}):Promise.resolve(null)},reorder:a=>c({operation:"reorder",ids:a})}}tc(wi);return xu(wi);})();
7
+ ${t??""}`,[y,h]=(0,_.useState)(null),g=(0,_.useRef)({key:f,found:null,earlyContentPaths:new Set}),v=y?.key===f?y:null;(0,_.useLayoutEffect)(()=>{g.current={key:f,found:v,earlyContentPaths:new Set}},[f]);let x=j({queryKey:["vfs",p??"__unscoped__","minted-asset",m??"",t??""],queryFn:async()=>{let R=await C("query",{scope_path:p,filters:{[`field.${m}`]:t},limit:1}),k=R.content?.items??R.items??[],U=k[0]?ge(k[0]):null;if(!U)return null;let I=(await sr(U.path)).some(B=>B.item_type==="file"&&!!B.type_data?.file_ref);return{asset:U,hasBytes:I}},enabled:!!(t&&p&&m&&!s),refetchInterval:R=>g.current.key===f&&g.current.found?.hasBytes||R.state.data?.hasBytes?!1:1500});(0,_.useEffect)(()=>{let R=x.data;if(!R||g.current.key!==f)return;let k=g.current.found,U={key:f,itemId:R.asset.id,itemPath:R.asset.path,displayName:typeof R.asset.type_data?.display_name=="string"?R.asset.type_data.display_name:R.asset.name,hasBytes:R.hasBytes||!!(k?.itemId===R.asset.id&&k.hasBytes)};g.current.found=U,h(U)},[x.data,f]);let q=!!(t&&l)&&!s&&!v?.hasBytes;return(0,_.useEffect)(()=>{if(!(!q||!l))return yn(l,["asset.materialized","content.written"])},[q,l]),(0,_.useEffect)(()=>{if(!q||!t||!l)return;let R=f,k=M=>M?.payload??M,U=M=>{let Q=k(M)?.scope_id??M?.scope_id;return typeof Q=="string"?Q:void 0},N=M=>{let Q=k(M)?.item_path??M?.item_path;return typeof Q=="string"&&Q?Q:void 0},I=(M,E)=>{let Q=E.replace(/\/+$/,"");return M===Q||M.startsWith(`${Q}/`)},B=[ne("asset.materialized",M=>{if(g.current.key!==R)return;let E=k(M);if(typeof E?.item_id!="string"||!E.item_id)return;let Q=g.current.found,O=typeof E.item_path=="string"?E.item_path:void 0,ce=!!E.has_bytes||!!(O&&Array.from(g.current.earlyContentPaths).some(Oe=>I(Oe,O)))||!!(Q&&Q.itemId===E.item_id&&Q.hasBytes),H={key:R,itemId:E.item_id,itemPath:O,displayName:typeof E.display_name=="string"?E.display_name:void 0,hasBytes:ce};g.current.found=H,h(H)},M=>{let E=U(M);return(!E||E===l)&&k(M)?.origin===t}),ne("content.written",M=>{if(g.current.key!==R)return;let E=N(M);if(!E)return;let Q=g.current.found;if(!Q?.itemPath||!I(E,Q.itemPath)){if(g.current.earlyContentPaths.add(E),g.current.earlyContentPaths.size>128){let ce=g.current.earlyContentPaths.values().next().value;ce&&g.current.earlyContentPaths.delete(ce)}return}if(Q.hasBytes)return;let O={...Q,hasBytes:!0};g.current.found=O,h(O)},M=>{let E=U(M);return(!E||E===l)&&!!N(M)})];return()=>B.forEach(M=>M())},[q,t,l,f]),{state:s?"failed":t?v?v.hasBytes?"ready":"materializing":"pending":"idle",itemId:v?.itemId,itemPath:v?.itemPath,displayName:v?.displayName,fallbackUrl:r??void 0,error:s??void 0}}function Pc(e,t){let n=(0,xn.useSyncExternalStore)(ke,ie,ie),r=he(),s=Z(),i=r?.kind==="space",o=Cn(i&&s?{key:e,scope_id:r.id}:null),c=(0,xn.useMemo)(()=>{let f=o.applyTo([...t]);if(e!=="channel-order")return f;let y=new Set(o.order??[]),h=f.filter(v=>!y.has(v.id)),g=v=>Date.parse(v.createdAt??"")||0;return h.sort((v,x)=>g(x)-g(v)),[...h,...f.filter(v=>y.has(v.id))]},[e,t,o.applyTo,o.order]),a=V(),l=(0,xn.useRef)(!1),d=!!(i&&!o.error&&o.arrangement?.item_id&&o.resolutionLevel==="member"&&o.arrangement.write_target_id===o.arrangement.item_id),p=ve({mutationFn:async f=>{let y=await C("update",{_scope_path:f.scopePath,id:f.arrangementId,type_data:{order:f.ids}});if(y?.success===!1)throw new Error(y.error||"Order could not be saved");return y},onSettled:(f,y,h)=>ln(a,h.queryKey)});async function m(f){if(!d||!s||n!==ie()||Z()!==s)throw new Error("Personal order is not available in this Space");if(l.current)throw new Error("An order change is already being saved");let y=t.map(R=>R.id);if(f.length!==y.length||new Set(f).size!==y.length||y.some(R=>!f.includes(R)))throw new Error("Order must include each displayed item exactly once");let h=a.getQueryData(o.arrangementQueryKey);if(h?.item_id!==o.arrangement.item_id||JSON.stringify(h?.type_data?.order??[])!==JSON.stringify(o.order??[]))throw new Error("The saved order changed. Try dragging again");let g=c.map(R=>R.id);if(f.every((R,k)=>g[k]===R))return;let v=new Set(y),x=0,F=[...(o.order??[]).map(R=>v.has(R)?f[x++]:R),...f.slice(x)];l.current=!0;try{return await p.mutateAsync({ids:F,scopePath:s,arrangementId:o.arrangement.item_id,queryKey:o.arrangementQueryKey})}finally{l.current=!1}}return{items:c,ready:d,supported:i,contextKey:`${n}:${s}:${e}`,isLoading:i&&o.isLoading,error:o.error,refetch:o.refetch,isSaving:p.isPending,saveError:p.error,reorder:m}}var pi=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,_l=/^[A-Za-z_:][A-Za-z0-9_:.-]{0,127}$/,Tc=new Map,Ec=new Map,Pn=class extends Error{constructor(n,r,s,i){super(n);X(this,"code");X(this,"status");X(this,"eventId");this.name="InteractionTrackingError",this.code=r,this.status=s,this.eventId=i}};function Tn(e){let t=e?Gn.find(n=>n.id===e):Gn.find(n=>n.default===!0)??(Gn.length===1?Gn[0]:void 0);if(!t)throw new TypeError("No unambiguous source is declared for this release");if(!t.id||!Number.isInteger(t.version)||t.version<1)throw new TypeError("The release source declaration is invalid");return t}function us(e,t){let n=t.adapters?.find(r=>r.type===e);if(!n)throw new TypeError(`The source does not declare a ${e} adapter`);return n}function vl(e){return e.length>0&&e.length<=128&&!/[\u0000-\u001f\u007f]/.test(e)}function bl(e,t){if(!vl(t)||!e.observations?.includes(t))throw new TypeError("The observation is not declared by this release source")}function mi(e){if(!(typeof window>"u"||e.storage==="memory"))try{return e.storage==="session"?window.sessionStorage:window.localStorage}catch{return}}function wl(e){try{let t=mi(e)?.getItem(e.key)??void 0;return t&&pi.test(t)?t:void 0}catch{return}}function Ic(e,t){try{mi(e)?.setItem(e.key,t)}catch{}}function Ac(e){let t=e.identity?.visitor;if(!t?.key)throw new TypeError("The source visitor identity policy is invalid");let n=wl(t)??Tc.get(e.id);if(n)return n;let r=crypto.randomUUID();return Tc.set(e.id,r),Ic(t,r),r}function kc(e,t=Date.now()){let n=e.identity?.session;if(!n?.key||!Number.isInteger(n.idle_seconds)||n.idle_seconds<1)throw new TypeError("The source session identity policy is invalid");let r;try{let l=mi(n)?.getItem(n.key);r=l?JSON.parse(l):void 0}catch{r=void 0}let s=Ec.get(e.id),i=r&&typeof r.id=="string"&&pi.test(r.id)&&typeof r.lastSeenAt=="number"?{id:r.id,lastSeenAt:r.lastSeenAt}:s,o=n.idle_seconds*1e3,a=i&&t-i.lastSeenAt>=0&&t-i.lastSeenAt<o?{id:i.id,lastSeenAt:t}:{id:crypto.randomUUID(),lastSeenAt:t};return Ec.set(e.id,a),Ic(n,JSON.stringify(a)),a.id}function Sl(e,t){let n=e.source_keys?.query;if(!Array.isArray(n)||n.length===0)return;let r;try{r=new URL(t)}catch{return}let s=e.source_keys?.max_value_length,i=Number.isInteger(s)?Math.min(Math.max(s??1,1),4096):512,o=Object.fromEntries(n.flatMap(c=>{if(typeof c!="string"||c.length===0||c.length>128)return[];let a=r.searchParams.get(c);return a?[[c,a.slice(0,i)]]:[]}));return Object.keys(o).length>0?o:void 0}async function Ft(e,t={},n={}){let r=Tn(n.source);if(bl(r,e),!t||typeof t!="object"||Array.isArray(t))throw new TypeError("properties must be an object");let s=n.eventId??crypto.randomUUID(),i=n.visitorId??Ac(r),o=n.sessionId??kc(r);if(![s,i,o].every(g=>pi.test(g)))throw new TypeError("event, visitor, and session IDs must be UUIDs");let c=n.pageUrl??(typeof window<"u"?window.location.href:void 0);if(!c)throw new TypeError("pageUrl is required outside a browser");let a=n.occurredAt??new Date().toISOString();if(Number.isNaN(Date.parse(a)))throw new TypeError("occurredAt is invalid");let l=n.referrer??(typeof document<"u"&&document.referrer||void 0),d=Sl(r,c),p=d?{...t,source_keys:d}:t,m=It(),f=`${Ce.replace(/\/+$/,"")}/d/${encodeURIComponent(m)}/interactions`,y;try{y=await fetch(f,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({source:r.id,page_url:c,visitor_id:i,session_id:o,referrer:l,events:[{id:s,event_type:e,occurred_at:a,properties:p}]}),signal:n.signal,credentials:"omit",keepalive:n.keepalive??!1})}catch(g){throw new Pn(g instanceof Error?g.message:"Observation transport network error","OBSERVATION_NETWORK_ERROR",0,s)}let h=null;try{h=await y.json()}catch{}if(!y.ok||h?.success!==!0){let g=h;throw new Pn(g?.message||g?.error||`Observation transport failed (${y.status})`,g?.error||"OBSERVATION_TRANSPORT_FAILED",y.status,s)}return h}function Mc(e={},t={}){let n=Tn(t.source),r=us("page_view",n),s=typeof document>"u"||!r.title_property?{}:{[r.title_property]:document.title.slice(0,512)};return Ft(r.observation,{...s,...e},{...t,source:n.id})}function Oc(e,t={},n={}){if(!e||e.length>128)throw new TypeError("actionId is invalid");let r=Tn(n.source),s=us("declared_action",r),i=s.id_property?{[s.id_property]:e}:{};return Ft(s.observation,{...t,...i},{...n,source:r.id})}function Fc(){try{let e=Tn();return us("form_receipt",e),{visitor_id:Ac(e),session_id:kc(e),source:e.id}}catch{return}}function qc(e,t={}){let n=Tn(t.source),r=us("form_receipt",n);return Ft(r.observation,e,{...t,source:n.id})}var fr;function ls(e={}){if(typeof window>"u"||typeof document>"u")return()=>{};if(fr)return fr;if(window.__FSAOS_CONFIG__?.tracking?.enabled===!1)return()=>{};let t;try{t=Tn(e.source)}catch{return()=>{}}let n=e.pageViews===!1?[]:t.adapters.filter(m=>m.type==="page_view"),r=e.declaredActions===!1?[]:t.adapters.filter(m=>m.type==="declared_action"),s="",i=()=>{if(window.location.href!==s){s=window.location.href;for(let m of n){let f=m.title_property?{[m.title_property]:document.title.slice(0,512)}:{};Ft(m.observation,f,{source:t.id,keepalive:!0}).catch(()=>{})}}},o=m=>{if(m.target instanceof Element)for(let f of r){let y=f.attribute;if(!y||!_l.test(y))continue;let h=m.target.closest(`[${y}]`);if(!h)continue;let g=h.getAttribute(y)?.trim();if(!g||g.length>128)continue;let v={};f.id_property&&(v[f.id_property]=g),f.element_property&&(v[f.element_property]=h.tagName.toLowerCase()),Ft(f.observation,v,{source:t.id,keepalive:!0}).catch(()=>{})}},c=window.history.pushState,a=window.history.replaceState,l=()=>queueMicrotask(i),d=n.some(m=>m.history===!0),p=n.some(m=>m.pageshow===!0);return d&&(window.history.pushState=function(...f){c.apply(this,f),l()},window.history.replaceState=function(...f){a.apply(this,f),l()},window.addEventListener("popstate",i)),p&&window.addEventListener("pageshow",i),r.length>0&&document.addEventListener("click",o,{capture:!0}),n.length>0&&queueMicrotask(i),fr=()=>{window.removeEventListener("popstate",i),window.removeEventListener("pageshow",i),document.removeEventListener("click",o,{capture:!0}),d&&(window.history.pushState=c,window.history.replaceState=a),fr=void 0},fr}var En;se(()=>{En=void 0});function ds(e){if(En)return En.accountPath!==e.accountPath?Promise.reject(new Error("Reset the session before changing accounts")):En.promise;let t=re(),n=()=>{if(t!==re())throw new Error("Workspace session changed")},r=(async()=>{let s=await ft();if(n(),!s.principal_id)throw new Error("Workspace initialization requires an authenticated principal");let i=await T().fetchQuery({queryKey:S.memberships(s.principal_id),queryFn:es,staleTime:12e4,retry:!1});n();let o=i.find(p=>p.path===e.accountPath&&p.isAccount&&!p.isSpace);if(!o)throw new Error("Authenticated account membership is unavailable");let c=i.find(p=>p.isSpace&&p.accountId===o.personalSpaceId&&p.path===o.personalSpacePath);if(!c||!o.personalSpacePath)throw new Error("A provisioned default Space membership is required");let a=je(o),l=je(c),d=de();if(d&&d.id!==a.id)throw new Error("Reset the session before changing accounts");return d||Tt(a,{activate:!1}),await Ot(o.personalSpacePath,p=>{let m=i.find(f=>f.accountId===p&&(f.isAccount||f.isSpace));return m?je(m):null},{initialAnchor:l}),n(),{home:a,defaultSpace:l,memberships:i}})().catch(s=>{throw t===re()&&(En=void 0),s});return En={accountPath:e.accountPath,promise:r},r}var qt,mr,pr;se(()=>{mr?.(),mr=void 0,qt=void 0,pr=void 0});function Qc(e={}){if(qt)return e.workspace&&e.workspace.accountPath!==pr?Promise.reject(new Error("Initialize workspace through initializeWorkspace, or dispose the existing runtime first")):qt;pr=e.workspace?.accountPath;let t=re();return qt=(async()=>{let n=e.tracking??!0,r=n===!1?()=>{}:ls(typeof n=="object"?n:{});mr=r;try{let s=e.session===!1?null:await ft(),i=e.workspace?await ds(e.workspace):void 0;if(t!==re())throw new Error("Session changed during initialization");let o=!1;return{session:s,workspace:i,dispose(){o||(o=!0,r(),t===re()&&(qt=void 0,pr=void 0,mr=void 0))}}}catch(s){throw r(),t===re()&&(qt=void 0,pr=void 0,mr=void 0),s}})(),qt}async function hi(e){try{return await C("execution-control-transition",e)}catch(t){if(!(t instanceof Pe)||t.status<500)throw t;return await new Promise(n=>setTimeout(n,250)),C("execution-control-transition",e)}}function gi(e){let t=e.conversation_anchor_item_id??e.conversation_root_id;return t?{...e,conversation_anchor_item_id:t,conversation_root_id:e.conversation_root_id??t}:e}async function Dc(e,t={}){let n=e.trim();if(!n)throw new TypeError("cancelTurn requires a request message id");let r=(t.idempotencyKey??`cancel:${n}`).trim();if(!r)throw new TypeError("cancelTurn requires a non-empty idempotency key");if(r.length>128)throw new TypeError("cancelTurn idempotency key must be 128 characters or fewer");let s=await hi({op:"request",command:"cancel",delivery:"immediate",request_message_id:n,idempotency_key:r,...t.scopePath?{_scope_path:t.scopePath}:{}}),i=s.outcome??s.state??s.status;return gi(i?{...s,state:i}:s)}async function Uc(e,t,n={}){let r=e.trim(),s=t.trim();if(!r)throw new TypeError("steerTurn requires an active request message id");if(!s)throw new TypeError("steerTurn requires a selected queue entry id");if(r===s)throw new TypeError("steerTurn cannot target the active request message");let i=(n.idempotencyKey??`steer:${r}:${s}`).trim();if(!i)throw new TypeError("steerTurn requires a non-empty idempotency key");if(i.length>128)throw new TypeError("steerTurn idempotency key must be 128 characters or fewer");let o=await hi({op:"request",command:"steer",delivery:"immediate",request_message_id:r,selected_queue_entry_id:s,idempotency_key:i,...n.scopePath?{_scope_path:n.scopePath}:{}}),c=o.outcome??o.state??o.status;return gi(c?{...o,state:c}:o)}async function Nc(e,t={}){let n=e.trim();if(!n)throw new TypeError("cancelQueuedTurn requires a queue entry id");let r=(t.idempotencyKey??`cancel-queue:${n}`).trim();if(!r)throw new TypeError("cancelQueuedTurn requires a non-empty idempotency key");if(r.length>128)throw new TypeError("cancelQueuedTurn idempotency key must be 128 characters or fewer");let s=await hi({op:"cancel_queue_entry",queue_entry_id:n,idempotency_key:r,...t.scopePath?{_scope_path:t.scopePath}:{}}),i=s.outcome??s.state??s.status;return gi(i?{...s,outcome:i}:s)}var Rl=/^[a-z][a-z0-9_-]{0,63}$/,Cl=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,In=class extends Error{constructor(n,r,s,i){super(n);X(this,"code");X(this,"status");X(this,"fillId");this.name="FormSubmissionError",this.code=r,this.status=s,this.fillId=i}};async function Kc(e,t,n={}){if(!Rl.test(e))throw new TypeError("capabilityId is invalid");if(!t||typeof t!="object"||Array.isArray(t))throw new TypeError("fields must be an object");let r=n.fillId??crypto.randomUUID();if(!Cl.test(r))throw new TypeError("fillId must be a UUID");let s=It(),i=n.pageUrl??(typeof window<"u"?window.location.href:void 0);if(!i)throw new TypeError("pageUrl is required outside a browser");let o=`${Ce.replace(/\/+$/,"")}/d/${encodeURIComponent(s)}/actions/${encodeURIComponent(e)}`,c=Fc(),a=c?{visitor_id:c.visitor_id,session_id:c.session_id}:void 0,l;try{l=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({fill_id:r,page_url:i,fields:t,...a?{attribution:a}:{}}),signal:n.signal,credentials:"omit"})}catch(p){throw new In(p instanceof Error?p.message:"Form submission network error","FORM_NETWORK_ERROR",0,r)}let d=null;try{d=await l.json()}catch{}if(!l.ok||d?.success!==!0){let p=d;throw new In(p?.message||p?.error||`Form submission failed (${l.status})`,p?.error||"FORM_SUBMISSION_FAILED",l.status,r)}try{await qc({fill_id:r,action_id:e,release_id:d.release_id},{eventId:r,pageUrl:i,signal:n.signal,keepalive:!0,...c?{source:c.source,visitorId:c.visitor_id,sessionId:c.session_id}:{}})}catch{}return d}var yi=Y(ue(),1),Wc=Y(jc(),1);function Bc(e){return C("read",{path:e})}function Vc(e,t){return C("list",{path:e,...t})}function Hc(e){return C("create",e)}function $c(e){return C("update",e)}function Gc(e){return C("create",e)}function zc(e,t){let r=(typeof window<"u"&&window.__FSAOS_CONFIG__||{}).scopePath||"";return C("tools/call",{name:e,instance_path:r,...t||{}})}function Jc(e,t,n){return C("signal",{target_id:e,event_name:t,payload:n||{}})}function Yc(e){return((typeof window<"u"&&window.__FSAOS_CONFIG__||{}).edgeBaseUrl||"")+e}var Xc={signIn:e=>e.provider?W.auth.signInWithOAuth({provider:e.provider,options:{redirectTo:e.redirectTo||window.location.href}}):W.auth.signInWithPassword({email:e.email,password:e.password}),signUp:e=>W.auth.signUp({email:e.email,password:e.password,options:{data:e.metadata||{}}}),signOut:async()=>{await W.auth.signOut(),un(),T().clear()},getSession:()=>W.auth.getSession().then(e=>e.data.session),getUser:()=>W.auth.getUser().then(e=>e.data.user),onAuthStateChange:e=>{let{data:{subscription:t}}=W.auth.onAuthStateChange((n,r)=>{e({event:n,session:r,user:r?.user??null})});return()=>t?.unsubscribe()},resetPassword:e=>W.auth.resetPasswordForEmail(e),signInWithMagicLink:(e,t)=>W.auth.signInWithOtp({email:e,options:{emailRedirectTo:t||window.location.href}})};function Zc(){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,Wc.createRoot)(e).render((0,yi.createElement)(Bn,{client:T()},(0,yi.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 eu(){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/kernel":n,"@fsaos/react":n,"@fsaos/gateway":n,"@fsaos/ui":r||{}};window.require=function(o){if(s[o])return s[o];throw new Error("[FSAOS] Module not found: "+o)},window.__FSAOS_MOUNT__=n.mount}function xl(e){return e.split("_").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function Pl(e,t){return t&&t.length>0?"select":e==="boolean"?"toggle":e==="integer"||e==="number"?"range":e==="string"?"text":"none"}function Tl(e,t){return!(e==="object"||e==="array")}function El(e){return["string","number","integer","boolean"].includes(e)}function Il(e){return e!=="object"&&e!=="array"}function tu(e,t,n,r){let s=e?.properties;if(!s||typeof s!="object")return[];let i=[];for(let[o,c]of Object.entries(s)){let a=c.type||"string",l=c.enum,d=Tl(a,l),p=El(a),m=Pl(a,l);i.push({key:o,label:c.title||xl(o),type:a,description:c.description,enum_values:l,default_value:n[o]??r[o]??c.default,editable:t,filterable:d,sortable:p,filter_widget:m})}return i}function _i(e){let t=e.default_data||{},n=e.field_defaults||{},r=tu(e.input_schema,!0,t,n),s=tu(e.system_schema,!1,t,n),i=[...r,...s],o=i.filter(l=>Il(l.type)),c=i.filter(l=>l.filterable),a=i.filter(l=>l.sortable);return{fields:i,columns:o,filterable:c,sortable:a,form_fields:r,system_fields:s}}function nu(e){return{field:"updated_at",direction:"desc"}}function ru(e){let t=_i(e),n=new Set(e.input_schema?.required||[]);return t.form_fields.filter(r=>n.has(r.key)||r.default_value===void 0)}var ye=Y(ue(),1);var Al=0;function kl(){return`upload_${Date.now()}_${++Al}`}async function su(e,t,n,r){let s=t.name||(e instanceof File?e.name:`file-${Date.now()}`),i=e.type||"application/octet-stream",o=t.itemType||"file",c={parent_path:t.parentPath,item_type:o,name:s,type_data:{...t.typeData||{},file_source:{type:"upload",content_type:i}}};t.cardParentPath&&(c.card_parent_path=t.cardParentPath);let l=await C("create",c);if(!l.id)throw new Error(l.error||l.message||"Failed to create file item");let d=l.id,p=l.path;if(l.storage_completed&&l.file_ref)return{itemId:d,itemPath:p,fileRef:l.file_ref};let m=l.storage_key,f=l.upload_token,y=l.storage_worker_url||"https://fsaos-storage.radns.workers.dev";if(!m)throw new Error("Gateway returned no storage_key \u2014 file_source may not be supported for this item type");await Ml(y,m,f,e,i,n,r);let h=await iu(d,m,i);return{itemId:d,itemPath:p,fileRef:h}}function Ml(e,t,n,r,s,i,o){return new Promise((c,a)=>{let l=new XMLHttpRequest;if(l.open("PUT",`${e}/upload`),l.setRequestHeader("X-Storage-Key",t),l.setRequestHeader("Content-Type",s),n&&l.setRequestHeader("X-Upload-Token",n),l.upload.onprogress=d=>{d.lengthComputable&&i&&i(Math.round(d.loaded/d.total*100))},l.onload=()=>{l.status>=200&&l.status<300?c():a(new Error(`Storage upload failed: HTTP ${l.status} \u2014 ${l.responseText?.slice(0,300)}`))},l.onerror=()=>a(new Error("Storage upload network error")),l.ontimeout=()=>a(new Error("Storage upload timed out")),o){if(o.aborted){a(new Error("Upload cancelled"));return}o.addEventListener("abort",()=>{l.abort(),a(new Error("Upload cancelled"))})}l.send(r)})}async function iu(e,t,n){let r=await Je(),s=await fetch(`${Ce}/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 o=await s.text().catch(()=>"");throw new Error(`Upload confirmation failed: HTTP ${s.status} \u2014 ${o.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 ou(){let[e,t]=(0,ye.useState)([]),n=V(),r=(0,ye.useRef)(e);r.current=e;let s=(0,ye.useCallback)((h,g)=>{t(v=>v.map(x=>x.id===h?{...x,...g}:x))},[]),i=(0,ye.useCallback)(h=>{t(g=>[...g,h])},[]),o=(0,ye.useCallback)(async(h,g,v,x,q)=>{let F=v.name||g.name,R=g.type||"application/octet-stream",k=v.itemType||"file",U=q?.itemId||null,N=q?.itemPath||null,I=q?.storageKey||null,B=q?.uploadToken||null,M=q?.storageWorkerUrl||null;try{if(!x||x==="create"){s(h,{status:"creating",error:null,_failedAt:null});let O=await C("create",{parent_path:v.parentPath,item_type:k,name:F,type_data:{...v.typeData||{},file_source:{type:"upload",content_type:R}}});if(!O.id)throw Object.assign(new Error(O.error||O.message||"Failed to create file item"),{_step:"create"});if(U=O.id,N=O.path,s(h,{itemId:U,itemPath:N}),O.storage_completed&&O.file_ref){s(h,{status:"complete",progress:100,fileRef:O.file_ref}),n.invalidateQueries({queryKey:S.children(v.parentPath)});return}if(I=O.storage_key,B=O.upload_token||"",M=O.storage_worker_url||"https://fsaos-storage.radns.workers.dev",s(h,{_storageKey:I,_uploadToken:B,_storageWorkerUrl:M}),!I)throw Object.assign(new Error("Gateway returned no storage_key"),{_step:"create"})}(!x||x==="create"||x==="upload")&&(s(h,{status:"uploading",progress:0,error:null,_failedAt:null}),await new Promise((O,ce)=>{let H=new XMLHttpRequest;s(h,{_xhr:H}),H.open("PUT",`${M}/upload`),H.setRequestHeader("X-Storage-Key",I),H.setRequestHeader("Content-Type",R),B&&H.setRequestHeader("X-Upload-Token",B),H.upload.onprogress=Oe=>{Oe.lengthComputable&&s(h,{progress:Math.round(Oe.loaded/Oe.total*100)})},H.onload=()=>{H.status>=200&&H.status<300?O():ce(Object.assign(new Error(`Storage upload failed: HTTP ${H.status}`),{_step:"upload"}))},H.onerror=()=>ce(Object.assign(new Error("Storage upload network error"),{_step:"upload"})),H.ontimeout=()=>ce(Object.assign(new Error("Storage upload timed out"),{_step:"upload"})),H.send(g)}),s(h,{progress:100,_xhr:null})),s(h,{status:"confirming",error:null,_failedAt:null});let E=await iu(U,I,R);s(h,{status:"complete",fileRef:E}),n.invalidateQueries({queryKey:S.children(v.parentPath)})}catch(E){let Q=E?.message||String(E),O=E?._step||"create";s(h,{status:"error",error:Q,_failedAt:O,_xhr:null})}},[s,n]),c=(0,ye.useCallback)((h,g)=>{let v=kl();i({id:v,file:h,status:"creating",progress:0,error:null,itemId:null,itemPath:null,fileRef:null,options:g,_storageKey:null,_uploadToken:null,_storageWorkerUrl:null,_xhr:null,_failedAt:null}),o(v,h,g)},[i,o]),a=(0,ye.useCallback)((h,g)=>{for(let v of h)c(v,g)},[c]),l=(0,ye.useCallback)(h=>{let g=r.current.find(q=>q.id===h);if(!g||g.status!=="error")return;let v=g._failedAt||"create",x=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;o(h,g.file,g.options,v,x)},[o]),d=(0,ye.useCallback)(h=>{let g=r.current.find(v=>v.id===h);g&&(g._xhr&&g._xhr.abort(),s(h,{status:"error",error:"Cancelled",_xhr:null,_failedAt:null}))},[s]),p=(0,ye.useCallback)(h=>{t(g=>g.filter(v=>v.id!==h))},[]),m=(0,ye.useCallback)(()=>{t(h=>h.filter(g=>g.status!=="complete"))},[]),f=e.some(h=>h.status==="creating"||h.status==="uploading"||h.status==="confirming"),y=e.map(({_storageKey:h,_uploadToken:g,_storageWorkerUrl:v,_xhr:x,_failedAt:q,...F})=>F);return{upload:c,uploadMultiple:a,uploads:y,retryUpload:l,cancelUpload:d,removeUpload:p,clearCompleted:m,isUploading:f}}var au=Y(ue(),1);async function vi(e,t){return await C("resolve-items",{context_id:e,item_type:t})}function cu(e,t){return(0,au.useSyncExternalStore)(ke,ie,ie),j({queryKey:["vfs",Z()??"__unscoped__","resolved-items",e??"",t],queryFn:()=>vi(e,t),enabled:!!(e&&t)})}var Me=Y(ue(),1);function fs(e,t){let n={artifacts:new Map,timeline:[]},r=new Map;function s(o){if(!o.action?.startsWith("artifact_"))return;let a,l=o.name;if(typeof l=="string"&&l.startsWith("{"))try{a=JSON.parse(l)}catch{return}else if(o.artifact_id)a=o;else return;switch(a.type){case"artifact_opened":{let d=Date.now();if(n.artifacts.set(a.artifact_id,{artifact_id:a.artifact_id,surface_type:a.surface_type,tool_id:a.tool_id,tool_name:a.tool_name,target_uri:a.target_uri,status:"streaming",content:"",total_chars:0,delta_count:0,artifact_item_uri:null,evidence_uri:null,meta:a.meta,started_at:d,completed_at:null}),r.has(a.tool_id)){let p=r.get(a.tool_id);n.timeline[p].artifact_ids.push(a.artifact_id)}else{let p=n.timeline.length;n.timeline.push({tool_id:a.tool_id,tool_name:a.tool_name,status:"started",target_uri:a.target_uri,started_at:d,completed_at:null,artifact_ids:[a.artifact_id]}),r.set(a.tool_id,p)}break}case"artifact_delta":{let d=n.artifacts.get(a.artifact_id);d&&(d.content+=a.content_delta,d.total_chars+=a.content_delta.length,d.delta_count+=1,a.target_uri&&!d.target_uri&&(d.target_uri=a.target_uri));break}case"artifact_done":{let d=n.artifacts.get(a.artifact_id);d&&(d.status=a.status,d.total_chars=a.total_chars,d.artifact_item_uri=a.artifact_item_uri,d.evidence_uri=a.evidence_uri,a.target_uri&&(d.target_uri=a.target_uri),(a.status==="completed"||a.status==="failed")&&(d.completed_at=Date.now()));let p=r.get(a.tool_id);if(p!==void 0){let m=n.timeline[p];a.status==="executing"?m.status="executing":a.status==="completed"?(m.status="completed",m.completed_at=Date.now()):a.status==="failed"&&(m.status="failed",m.completed_at=Date.now()),a.target_uri&&!m.target_uri&&(m.target_uri=a.target_uri)}break}}t(n)}return Lr(e,s)}function uu(e,t=!0){let[n,r]=(0,Me.useState)(new Map),[s,i]=(0,Me.useState)([]),o=(0,Me.useRef)({artifacts:new Map,timeline:[]});(0,Me.useEffect)(()=>!e||!t?void 0:fs(e,p=>{o.current=p,r(new Map(p.artifacts)),i([...p.timeline])}),[e,t]);let c=(0,Me.useCallback)(()=>{r(new Map),i([]),o.current={artifacts:new Map,timeline:[]}},[]),a=Array.from(n.values()).find(d=>d.surface_type==="file_editor"&&d.status==="streaming")??null,l=Array.from(n.values()).filter(d=>d.surface_type==="activity"&&(d.status==="streaming"||d.status==="executing"));return{artifacts:n,timeline:s,activeEditor:a,activeActivities:l,reset:c}}function lu(e,t=!0){let[n,r]=(0,Me.useState)([]);(0,Me.useEffect)(()=>!e||!t?void 0:fs(e,o=>{r([...o.timeline])}),[e,t]);let s=n.length>0?n[n.length-1]:null;return{timeline:n,latestActivity:s}}var ps=Y(ue(),1);function Ol(e,t,n,r){return["vfs","timeline-history",e,t??"__all__",n??500,r??0]}async function bi(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 C("open",{path:n,mode:"extract",strategy:"rows",arguments:i}))?.content;return c?(c.rows??c.items??c.data??[]).map(Fl).sort((l,d)=>l.seq-d.seq):[]}catch(o){if(o?.status===404||o?.message?.includes("not found"))return[];throw o}}function du(e,t){let{turnId:n,limit:r=500,offset:s=0,enabled:i=!0,debounceMs:o=300}=t??{},c=e?`${e}/datasets/agent-events`:null,a=V(),l=(0,ps.useRef)(null),d=c?Ol(c,n,r,s):["vfs","timeline-history","__disabled__"],p=j({queryKey:d,queryFn:()=>bi(e,{turnId:n,limit:r,offset:s}),enabled:!!e&&i});return(0,ps.useEffect)(()=>{if(!c||!i)return;let m=ne("vfs_change",()=>{l.current&&clearTimeout(l.current),l.current=setTimeout(()=>{a.invalidateQueries({queryKey:d})},o)},f=>{let y=f?.path;return y?y===c&&f.item_type==="dataset":!1});return()=>{m(),l.current&&clearTimeout(l.current)}},[c,i,o,a,JSON.stringify(d)]),{events:p.data??[],isLoading:p.isLoading,error:p.error,isFetching:p.isFetching,refetch:()=>{p.refetch()}}}function Fl(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}}var ms=Y(ue(),1);function fu(){(0,ms.useSyncExternalStore)(ke,ie,ie);let e=Z(),t=he(),n=Cn(e?{key:"pinned",...t?{scope_id:t.id}:{}}:null),r=V(),s=n.resolvedChildren,i=!!(!n.error&&n.arrangement?.item_id&&n.resolutionLevel==="member"&&n.arrangement.write_target_id===n.arrangement.item_id),o=ve({mutationFn:async a=>{let l,d={_scope_path:a.scopePath};if(a.operation==="pin"?l=await C("create",{...d,parent_id:a.arrangementId,name:`pin-${a.target.id}`,item_type:"symlink",type_data:{target_item_id:a.target.id,target_type:a.target.item_type}}):a.operation==="unpin"?l=await C("delete",{...d,id:a.entry.id}):l=await C("update",{...d,id:a.arrangementId,type_data:{order:a.ids}}),l?.success===!1)throw new Error(l.error||"Pins could not be saved");return l},onSettled:(a,l,d)=>ln(r,d.queryKey)}),c=(0,ms.useCallback)(a=>!i||!e||Z()!==e?Promise.reject(new Error("Personal pins are not available in this context")):a.operation==="unpin"&&!s.some(l=>l.id===a.entry.id)?Promise.reject(new Error("Pin is outside this arrangement")):a.operation==="reorder"&&(new Set(a.ids).size!==s.length||a.ids.length!==s.length||s.some(l=>!a.ids.includes(l.id)))?Promise.reject(new Error("Order must include each pin exactly once")):a.operation==="pin"&&s.some(l=>l.symlink_type_data?.target_item_id===a.target.id)?Promise.resolve(null):o.mutateAsync({...a,scopePath:e,arrangementId:n.arrangement.item_id,arrangementPath:n.arrangement.item_path,queryKey:n.arrangementQueryKey}),[i,e,s,n.arrangement,n.arrangementQueryKey,o.mutateAsync]);return{entries:s,isLoading:n.isLoading,error:n.error,refetch:n.refetch,ready:i,isSaving:o.isPending,saveError:o.error,isPinned:a=>s.some(l=>l.symlink_type_data?.target_item_id===a),pin:a=>c({operation:"pin",target:a}),unpin:a=>{let l=s.find(d=>d.symlink_type_data?.target_item_id===a||d.id===a);return l?c({operation:"unpin",entry:l}):Promise.resolve(null)},reorder:a=>c({operation:"reorder",ids:a})}}tc(wi);return Cu(wi);})();
8
8
 
9
9
  /* ── Auto-setup: require shim + mount + backward compat globals ── */
10
10
  (function() {