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