1import{s as e}from"./rolldown-runtime-zSbnoVup.js";import{n as t,r as n,t as r}from"./jsx-runtime-DxKf3yUy.js";import{An as i,J as a,Kt as o,R as s,bt as c,c as l,dt as u,ht as d,qt as f,r as p,rn as m,u as h,vn as g,vt as _,yn as v}from"./connect-DMat5fhN.js";import{c as y}from"./timestamp-ClJq5768.js";function b(e){return e}var x=()=>{let{currentUser:e}=$();return e},S=`instance/settings/`,C=`users/`,w=`memos/`,ee=e=>{if(!e)return;let t=e.startsWith(`users/`)?e:`${C}${e}`;return`creator == ${JSON.stringify(t)}`},te=e=>e.split(`memos/`).pop()||``,T=e=>e.startsWith(`users/`)?e.slice(6):e,E=e=>e.split(`identity-providers/`).pop()||``,D=e=>a[e],O=e=>`${S}${D(e)}`,k=e=>c[e],A=(e,t)=>`${e}/settings/${k(t)}`,ne=e=>s[e]||(console.warn(`Invalid visibility value: ${e}, defaulting to PUBLIC`),`PUBLIC`),re=(e,t)=>t?`${e}:${t}`:e,j=new Map,M=(...e)=>{let t=Object.create(null);for(let n of e)for(let[e,r]of Object.entries(n??{}))t[e]=(t[e]??0)+r;return t},ie=e=>{if(j.has(e))return j.get(e);let t=null;try{t=RegExp(`^(?:${e})$`)}catch{}return j.set(e,t),t},N=(e,t)=>{if(Object.hasOwn(t.tags,e))return t.tags[e];for(let[n,r]of Object.entries(t.tags))if(ie(n)?.test(e))return r},P=e=>{if(!e)return!1;try{new RegExp(e)}catch{return!1}return!/\((?:[^()]*[*+?{][^()]*)\)[*+?{]/.test(e)},F=(e,t)=>t!==void 0&&e.tags.some(e=>N(e,t)?.blurContent===!0),I=t(),L=100,R=1e3*60*5,z={all:[`users`],details:()=>[...z.all,`detail`],detail:e=>[...z.details(),e],stats:()=>[...z.all,`stats`],userStats:(e,t)=>t?[...z.stats(),e,t]:[...z.stats(),e],allUserStats:e=>[...z.stats(),`all`,e],currentUser:()=>[...z.all,`current`],memoViews:e=>[...z.all,`memoViews`,e],notifications:()=>[...z.all,`notifications`],byNames:e=>[...z.all,`byNames`,...[...e].sort()],byUsernames:e=>[...z.all,`byUsernames`,...[...e].sort()]},B=e=>b({queryKey:z.detail(e),queryFn:()=>h.getUser({name:e}),staleTime:R});function V(e,t){let n=(0,I.c)(5),r;n[0]===e?r=n[1]:(r=B(e),n[0]=e,n[1]=r);let i=t?.enabled??!0,a;return n[2]!==r||n[3]!==i?(a={...r,enabled:i},n[2]=r,n[3]=i,n[4]=a):a=n[4],v(a)}function H(e,t){let n=(0,I.c)(10),r;n[0]!==t?.filter||n[1]!==e?(r=e?z.userStats(e,t?.filter):z.stats(),n[0]=t?.filter,n[1]=e,n[2]=r):r=n[2];let i;n[3]!==t?.filter||n[4]!==e?(i=async()=>{if(!e)throw Error(`Username is required`);return await h.getUserStats({name:e,filter:t?.filter})},n[3]=t?.filter,n[4]=e,n[5]=i):i=n[5];let a=!!e&&(t?.enabled??!0),o;return n[6]!==r||n[7]!==i||n[8]!==a?(o={queryKey:r,queryFn:i,enabled:a},n[6]=r,n[7]=i,n[8]=a,n[9]=o):o=n[9],v(o)}function U(e,t){let n=(0,I.c)(10),r;n[0]===e?r=n[1]:(r=e===void 0?{}:e,n[0]=e,n[1]=r);let i=r,a;n[2]===i?a=n[3]:(a=z.allUserStats(i),n[2]=i,n[3]=a);let o;n[4]===i?o=n[5]:(o=async()=>{let{stats:e}=await h.listAllUserStats(y(u,i));return e},n[4]=i,n[5]=o);let s=t?.enabled??!0,c;return n[6]!==a||n[7]!==o||n[8]!==s?(c={queryKey:a,queryFn:o,enabled:s},n[6]=a,n[7]=o,n[8]=s,n[9]=c):c=n[9],v(c)}function W(e){let t=(0,I.c)(8),n;t[0]===e?n=t[1]:(n=z.memoViews(e),t[0]=e,t[1]=n);let r;t[2]===e?r=t[3]:(r=async()=>{if(!e)return[];let{memoViews:t}=await h.listMemoViews({parent:e});return t},t[2]=e,t[3]=r);let i=!!e,a;return t[4]!==n||t[5]!==r||t[6]!==i?(a={queryKey:n,queryFn:r,enabled:i},t[4]=n,t[5]=r,t[6]=i,t[7]=a):a=t[7],v(a)}function G(){let e=(0,I.c)(6),t=x(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=z.notifications(),e[0]=n):n=e[0];let r;e[1]===t?r=e[2]:(r=async()=>{if(!t?.name)return[];let{notifications:e}=await h.listUserNotifications({parent:t.name});return e},e[1]=t,e[2]=r);let i=!!t?.name,a;return e[3]!==r||e[4]!==i?(a={queryKey:n,queryFn:r,enabled:i,staleTime:3e4},e[3]=r,e[4]=i,e[5]=a):a=e[5],v(a)}var K=(e,t)=>{let n=e.getQueryData(z.notifications());n!==void 0&&e.setQueryData(z.notifications(),t(n))};function q(){let e=(0,I.c)(2),t=i(),n;return e[0]===t?n=e[1]:(n={mutationFn:J,onSuccess:e=>{K(t,t=>t.map(t=>t.name===e.name?e:t)),t.invalidateQueries({queryKey:z.notifications()})}},e[0]=t,e[1]=n),g(n)}function J(e){return h.updateUserNotification({notification:{name:e,status:d.ARCHIVED},updateMask:y(m,{paths:[`status`]})})}function Y(){let e=(0,I.c)(2),t=i(),n;return e[0]===t?n=e[1]:(n={mutationFn:ae,onSuccess:e=>{K(t,t=>t.filter(t=>t.name!==e)),t.invalidateQueries({queryKey:z.notifications()})}},e[0]=t,e[1]=n),g(n)}async function ae(e){return await h.deleteUserNotification({name:e}),e}function oe(e){let t=(0,I.c)(13),n=e===void 0?!1:e,r=x(),i;
1t[0]!==r||t[1]!==n?(i=n&&r?.name?z.userStats(r.name):[...z.stats(),`tagCounts`,n?`current`:`all`],t[0]=r,t[1]=n,t[2]=i):i=t[2];let a;t[3]!==r||t[4]!==n?(a=async()=>{if(n)return r?.name?h.getUserStats({name:r.name}):{};{let{stats:e}=await h.listAllUserStats({});return M(...e.map(se))}},t[3]=r,t[4]=n,t[5]=a):a=t[5];let o;t[6]===n?o=t[7]:(o=e=>n?M(e.tagCount):e,t[6]=n,t[7]=o);let s=!n||!!r?.name,c;return t[8]!==i||t[9]!==a||t[10]!==o||t[11]!==s?(c={queryKey:i,queryFn:a,select:o,enabled:s,staleTime:12e4},t[8]=i,t[9]=a,t[10]=o,t[11]=s,t[12]=c):c=t[12],v(c)}function se(e){return e.tagCount}function ce(){let e=(0,I.c)(2),t=i(),n;return e[0]===t?n=e[1]:(n={mutationFn:le,onSuccess:e=>{t.setQueryData(z.detail(e.name),e),t.invalidateQueries({queryKey:z.currentUser()})}},e[0]=t,e[1]=n),g(n)}async function le(e){let{user:t,updateMask:n}=e;return await h.updateUser({user:t,updateMask:y(m,{paths:n})})}function ue(){let e=(0,I.c)(2),t=i(),n;return e[0]===t?n=e[1]:(n={mutationFn:de,onSuccess:e=>{t.removeQueries({queryKey:z.detail(e)}),t.invalidateQueries({queryKey:z.all})}},e[0]=t,e[1]=n),g(n)}async function de(e){return await h.deleteUser({name:e}),e}function fe(){let e=(0,I.c)(2),t=i(),n;return e[0]===t?n=e[1]:(n={mutationFn:pe,onSuccess:()=>{t.invalidateQueries({queryKey:[...z.all,`settings`]})}},e[0]=t,e[1]=n),g(n)}async function pe(e){let{setting:t,updateMask:n}=e;return await h.updateUserSetting({setting:t,updateMask:y(m,{paths:n})})}function me(){let e=(0,I.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:z.all,queryFn:he},e[0]=t):t=e[0],v(t)}async function he(){let e=[],t=``;do{let n=await h.listUsers({pageToken:t});e.push(...n.users),t=n.nextPageToken}while(t);return e}function ge(e){let t=(0,I.c)(7),n=i(),r;t[0]===e?r=t[1]:(r=async t=>{let{generalSetting:n,updateMask:r}=t;if(!e)throw Error(`No current user`);let i=y(_,{name:A(e,c.GENERAL),value:{case:`generalSetting`,value:n}});return await h.updateUserSetting({setting:i,updateMask:y(m,{paths:r})})},t[0]=e,t[1]=r);let a;t[2]===n?a=t[3]:(a=()=>{n.invalidateQueries({queryKey:[...z.all,`settings`]})},t[2]=n,t[3]=a);let o;return t[4]!==r||t[5]!==a?(o={mutationFn:r,onSuccess:a},t[4]=r,t[5]=a,t[6]=o):o=t[6],g(o)}function _e(e,t){let n=(0,I.c)(11),r=i(),a=(t?.enabled??!0)&&e.length>0,o,s,c;n[0]===e?(o=n[1],s=n[2],c=n[3]):(c=Array.from(new Set(e)),s=v,o=z.byNames(c),n[0]=e,n[1]=o,n[2]=s,n[3]=c);let l;n[4]!==r||n[5]!==c?(l=async()=>{let e=await Promise.all(c.map(async e=>{try{return{name:e,user:await r.fetchQuery(B(e))}}catch{return{name:e,user:void 0}}})),t=new Map;for(let{name:n,user:r}of e)t.set(n,r);return t},n[4]=r,n[5]=c,n[6]=l):l=n[6];let u;return n[7]!==a||n[8]!==o||n[9]!==l?(u={queryKey:o,queryFn:l,enabled:a,staleTime:R},n[7]=a,n[8]=o,n[9]=l,n[10]=u):u=n[10],s(u)}function ve(e,t){let n=(0,I.c)(11),r=i(),a=(t?.enabled??!0)&&e.length>0,o,s,c;n[0]===e?(o=n[1],s=n[2],c=n[3]):(c=Array.from(new Set(e)),s=v,o=z.byUsernames(c),n[0]=e,n[1]=o,n[2]=s,n[3]=c);let l;n[4]!==r||n[5]!==c?(l=async()=>{let e=new Map,t=[];for(let n of c){let i=z.detail(`${C}${n}`),a=r.getQueryData(i),o=r.getQueryState(i),s=o?Date.now()-o.dataUpdatedAt<R:!1;a&&s?e.set(n,a):t.push(n)}let n=[];for(let e=0;e<t.length;e+=L)n.push(t.slice(e,e+L));let i=(await Promise.all(n.map(be))).flatMap(ye);for(let t of i)e.set(t.username,t),r.setQueryData(z.detail(t.name),t);let a=new Map;for(let t of c)a.set(t,e.get(t));return a},n[4]=r,n[5]=c,n[6]=l):l=n[6];let u;return n[7]!==a||n[8]!==o||n[9]!==l?(u={queryKey:o,queryFn:l,enabled:a,staleTime:R},n[7]=a,n[8]=o,n[9]=l,n[10]=u):u=n[10],s(u)}function ye(e){return e.users}function be(e){return h.batchGetUsers({usernames:e})}var X=e(n()),xe=r(),Z=(0,X.createContext)(null),Q={currentUser:void 0,userGeneralSetting:void 0,userWebhooksSetting:void 0,userTagsSetting:void 0,isIdentityInitialized:!0,isUserSettingsInitialized:!0,isInitialized:!0,isLoading:!1};function Se({children:e}){let t=i(),[n,r]=(0,X.useState)({currentUser:void 0,userGeneralSetting:void 0,userWebhooksSetting:void 0,userTagsSetting:void 0,isIdentityInitialized:!1,isUserSettingsInitialized:!1,isInitialized:!1,isLoading:!0}),a=(0,X.useCallback)(async e=>{let{settings:t}=await h.listUserSettings({parent:e}),n=t.find(e=>e.value.case===`generalSetting`),i=t.find(e=>e.value.case===`webhooksSetting`),a=t.find(e=>e.value.case===`tagsSetting`),o={userGeneralSetting:n?.value.case===`generalSetting`?n.value.value:void 0,userWebhooksSetting:i?.value.case===`webhooksSetting`?i.value.value:void 0,userTagsSetting:a?.value.case===`tagsSetting`?a.value.value:void 0};return r(t=>t.currentUser?.name===e?{...t,...o,isUserSettingsInitialized:!0}:t),o},[]),s=(0,X.useCallback)(async()=>
1{if(r(e=>({...e,isUserSettingsInitialized:!1,isInitialized:!1,isLoading:!0})),!f())try{await l()}catch{}if(!f()){r(Q);return}try{let{user:e}=await p.getCurrentUser({});if(!e){o(),r(Q);return}r(t=>({...t,currentUser:e,isIdentityInitialized:!0})),t.setQueryData(z.currentUser(),e),t.setQueryData(z.detail(e.name),e),r({currentUser:e,...await a(e.name),isIdentityInitialized:!0,isUserSettingsInitialized:!0,isInitialized:!0,isLoading:!1})}catch(e){console.error(`Failed to initialize auth:`,e),o(),r(Q)}},[a,t]),c=(0,X.useCallback)(async()=>{try{await p.signOut({})}catch(e){console.error(`[AuthContext] Failed to sign out:`,e)}finally{o(),r(Q),t.clear()}},[t]),u=(0,X.useCallback)(async()=>{let e=n.currentUser?.name;if(!e)return;let t=await a(e);r(n=>n.currentUser?.name===e?{...n,...t}:n)},[a,n.currentUser?.name]),d=(0,X.useCallback)(e=>{let n=t.getQueryData(z.currentUser());r(t=>({...t,currentUser:e})),e?(t.setQueryData(z.currentUser(),e),t.setQueryData(z.detail(e.name),e)):(t.removeQueries({queryKey:z.currentUser(),exact:!0}),n?.name&&t.removeQueries({queryKey:z.detail(n.name),exact:!0}))},[t]),m=(0,X.useMemo)(()=>({...n,initialize:s,logout:c,refetchSettings:u,setCurrentUser:d}),[n,s,c,u,d]);return(0,xe.jsx)(Z.Provider,{value:m,children:e})}function $(){let e=(0,X.useContext)(Z);if(!e)throw Error(`useAuth must be used within AuthProvider`);return e}export{ne as A,M as C,E as D,A as E,b as F,re as M,C as N,te as O,x as P,P as S,ee as T,ve as _,Y as a,N as b,W as c,ce as d,ge as f,_e as g,H as h,q as i,w as j,T as k,G as l,V as m,$ as n,ue as o,fe as p,U as r,me as s,Se as t,oe as u,B as v,O as w,F as x,z as y};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.