@lunora/react 1.0.0-alpha.209 → 1.0.0-alpha.210
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/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import{AuthLoading as o,Authenticated as t,Unauthenticated as u}from"./packem_shared/AuthLoading-BhGVKJRL.mjs";import{useAuthState as a}from"./packem_shared/useAuthState-BexUi5WP.mjs";import{L as n,u as f}from"./packem_shared/lunora-provider-DWiCv5g_.mjs";import{lunoraQueryOptions as m}from"./packem_shared/lunoraQueryOptions-CKwybG2A.mjs";import{useAction as x}from"./packem_shared/useAction-X1QCIdmd.mjs";import{useAuthSessions as g,useAuthUsers as A,useImpersonate as h,useOrganizations as U,useSignUpInvitations as c}from"./packem_shared/useAuthSessions-C0Cyj6dJ.mjs";import{useAgent as C}from"./packem_shared/useAgent-YZjRdG1c.mjs";import{useAgentChat as S}from"./packem_shared/useAgentChat-CQyEpDz1.mjs";import{useAgentState as L}from"./packem_shared/useAgentState-Qq182JCp.mjs";import{useAgentToolEvents as R}from"./packem_shared/useAgentToolEvents-B6i1XMJb.mjs";import{default as I}from"./packem_shared/useAuth-BIFJEEU6.mjs";import{default as v}from"./packem_shared/useClientQuery-D0CLe8aa.mjs";import{default as z}from"./packem_shared/useConnectionStatus-CYv-tHDB.mjs";import{useFlag as T,useFlags as k}from"./packem_shared/useFlag-D9PnK13Y.mjs";import{useHttpStream as V}from"./packem_shared/useHttpStream-BCmlU245.mjs";import{default as q}from"./packem_shared/useInfiniteQuery-QpKQGvZA.mjs";import{useMutation as B}from"./packem_shared/useMutation-CUcrtmDP.mjs";import{useMutator as G}from"./packem_shared/useMutator-BtUd-xEA.mjs";import{usePaginatedQuery as K}from"./packem_shared/usePaginatedQuery-BKWiSq9X.mjs";import{hydratePreloaded as W,default as X}from"./packem_shared/hydratePreloaded-uVXBlzvZ.mjs";import{usePresence as Z}from"./packem_shared/usePresence-
|
|
2
|
+
import{AuthLoading as o,Authenticated as t,Unauthenticated as u}from"./packem_shared/AuthLoading-BhGVKJRL.mjs";import{useAuthState as a}from"./packem_shared/useAuthState-BexUi5WP.mjs";import{L as n,u as f}from"./packem_shared/lunora-provider-DWiCv5g_.mjs";import{lunoraQueryOptions as m}from"./packem_shared/lunoraQueryOptions-CKwybG2A.mjs";import{useAction as x}from"./packem_shared/useAction-X1QCIdmd.mjs";import{useAuthSessions as g,useAuthUsers as A,useImpersonate as h,useOrganizations as U,useSignUpInvitations as c}from"./packem_shared/useAuthSessions-C0Cyj6dJ.mjs";import{useAgent as C}from"./packem_shared/useAgent-YZjRdG1c.mjs";import{useAgentChat as S}from"./packem_shared/useAgentChat-CQyEpDz1.mjs";import{useAgentState as L}from"./packem_shared/useAgentState-Qq182JCp.mjs";import{useAgentToolEvents as R}from"./packem_shared/useAgentToolEvents-B6i1XMJb.mjs";import{default as I}from"./packem_shared/useAuth-BIFJEEU6.mjs";import{default as v}from"./packem_shared/useClientQuery-D0CLe8aa.mjs";import{default as z}from"./packem_shared/useConnectionStatus-CYv-tHDB.mjs";import{useFlag as T,useFlags as k}from"./packem_shared/useFlag-D9PnK13Y.mjs";import{useHttpStream as V}from"./packem_shared/useHttpStream-BCmlU245.mjs";import{default as q}from"./packem_shared/useInfiniteQuery-QpKQGvZA.mjs";import{useMutation as B}from"./packem_shared/useMutation-CUcrtmDP.mjs";import{useMutator as G}from"./packem_shared/useMutator-BtUd-xEA.mjs";import{usePaginatedQuery as K}from"./packem_shared/usePaginatedQuery-BKWiSq9X.mjs";import{hydratePreloaded as W,default as X}from"./packem_shared/hydratePreloaded-uVXBlzvZ.mjs";import{usePresence as Z}from"./packem_shared/usePresence-CSGWlW3p.mjs";import{default as $}from"./packem_shared/useQuery-BnzYnRqP.mjs";import{useRateLimit as re}from"./packem_shared/useRateLimit-Cckxi8m9.mjs";import{useStream as te}from"./packem_shared/useStream-D5Cq9TSk.mjs";import{default as se}from"./packem_shared/useSubscription-BNW9-iP5.mjs";import{useVoiceAgent as pe}from"./packem_shared/useVoiceAgent-v854u1m3.mjs";import{createClientQuery as fe,getErrorCode as ie,getRetryAfterMs as me,isConflictError as de,isForbiddenError as xe,isRateLimitedError as le,isUnauthorizedError as ge}from"@lunora/client";import{RestrictionError as he,UploadControl as Ue,UploadError as ce}from"@visulima/storage-client";import{useChunkedRestUpload as Ce,useFileInput as Ee,useMultipartUpload as Se,usePasteUpload as Qe,useTusUpload as Le,useUpload as Pe}from"@visulima/storage-client/react";export{o as AuthLoading,t as Authenticated,n as LunoraProvider,he as RestrictionError,u as Unauthenticated,Ue as UploadControl,ce as UploadError,fe as createClientQuery,ie as getErrorCode,me as getRetryAfterMs,W as hydratePreloaded,de as isConflictError,xe as isForbiddenError,le as isRateLimitedError,ge as isUnauthorizedError,m as lunoraQueryOptions,x as useAction,C as useAgent,S as useAgentChat,L as useAgentState,R as useAgentToolEvents,I as useAuth,g as useAuthSessions,a as useAuthState,A as useAuthUsers,Ce as useChunkedRestUpload,v as useClientQuery,z as useConnectionStatus,Ee as useFileInput,T as useFlag,k as useFlags,V as useHttpStream,h as useImpersonate,q as useInfiniteQuery,f as useLunora,Se as useMultipartUpload,B as useMutation,G as useMutator,U as useOrganizations,K as usePaginatedQuery,Qe as usePasteUpload,X as usePreloadedQuery,Z as usePresence,$ as useQuery,re as useRateLimit,c as useSignUpInvitations,te as useStream,se as useSubscription,Le as useTusUpload,Pe as useUpload,pe as useVoiceAgent};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{useMemo as _,useState as D,useRef as l,useEffect as d,useCallback as E}from"react";import{u as V}from"./lunora-provider-DWiCv5g_.mjs";const A=()=>{if(typeof crypto<"u"){if(typeof crypto.randomUUID=="function")return crypto.randomUUID();if(typeof crypto.getRandomValues=="function"){const t=crypto.getRandomValues(new Uint8Array(16));return Array.from(t,r=>r.toString(16).padStart(2,"0")).join("")}}throw new Error("randomSessionId: no Web Crypto available — a session id needs crypto.randomUUID or crypto.getRandomValues")},C=1e4,M=(t,r)=>{const e=V(),{heartbeat:I,intervalMs:h=C,listPresent:y,shardKey:s}=r,o=_(()=>r.sessionId??A(),[r.sessionId]),u=JSON.stringify([y.__lunoraRef,t,s??""]),[m,b]=D(),R=m?.client===e&&m.key===u?m:void 0,S=l(r.onError);d(()=>{S.current=r.onError});const p=l(r.data),v=l(!1),g=l({client:e,heartbeat:I,roomId:t,sessionId:o,shardKey:s});d(()=>{g.current={client:e,heartbeat:I,roomId:t,sessionId:o,shardKey:s}});const c=E(()=>{const{client:n,heartbeat:i,roomId:a,sessionId:f,shardKey:k}=g.current,L={roomId:a,sessionId:f,...p.current===void 0?{}:{data:p.current}};n.mutation(i,L,{shardKey:k}).catch(()=>{})},[]),U=E(n=>{p.current=n,v.current&&c()},[c]);return d(()=>(v.current=!0,()=>{v.current=!1}),[]),d(()=>{c();const n=setInterval(c,h),i=()=>{typeof document<"u"&&document.visibilityState==="visible"&&c()};return typeof document<"u"&&document.addEventListener("visibilitychange",i),()=>{clearInterval(n),typeof document<"u"&&document.removeEventListener("visibilitychange",i)}},[c,h,e,t,o,s]),d(()=>e.acquireConnectionContext({roomId:t,sessionId:o},{shardKey:s}),[e,t,o,s]),d(()=>{let n=!1;const i=e.subscribe(y,{roomId:t},a=>{n||b({client:e,error:void 0,key:u,present:a})},{onError:a=>{n||b(f=>({client:e,error:a,key:u,present:f?.client===e&&f.key===u?f.present:void 0})),S.current?.(a)},shardKey:s});return()=>{n=!0,i(),b(void 0)}},[e,y.__lunoraRef,t,u,s]),{error:R?.error,present:R?.present,sessionId:o,setData:U}};export{M as usePresence};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lunora/react",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.210",
|
|
4
4
|
"description": "React hooks for Lunora: useQuery, useMutation, useSubscription, and useAuth",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cloudflare",
|
|
@@ -57,9 +57,9 @@
|
|
|
57
57
|
"access": "public"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@lunora/client": "1.0.0-alpha.
|
|
60
|
+
"@lunora/client": "1.0.0-alpha.197",
|
|
61
61
|
"@lunora/errors": ">=1.0.0-alpha.51 <2.0.0-0",
|
|
62
|
-
"@lunora/ratelimit": "1.0.0-alpha.
|
|
62
|
+
"@lunora/ratelimit": "1.0.0-alpha.124",
|
|
63
63
|
"@visulima/storage-client": "1.0.9"
|
|
64
64
|
},
|
|
65
65
|
"peerDependencies": {
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import{useMemo as L,useState as _,useRef as p,useEffect as f,useCallback as g}from"react";import{u as D}from"./lunora-provider-DWiCv5g_.mjs";const V=()=>{if(typeof crypto<"u"){if(typeof crypto.randomUUID=="function")return crypto.randomUUID();if(typeof crypto.getRandomValues=="function"){const t=crypto.getRandomValues(new Uint8Array(16));return Array.from(t,r=>r.toString(16).padStart(2,"0")).join("")}}throw new Error("randomSessionId: no Web Crypto available — a session id needs crypto.randomUUID or crypto.getRandomValues")},A=1e4,w=(t,r)=>{const e=D(),{heartbeat:v,intervalMs:I=A,listPresent:l,shardKey:s}=r,o=L(()=>r.sessionId??V(),[r.sessionId]),d=JSON.stringify([l.__lunoraRef,t,s??""]),[y,m]=_(),h=y?.client===e&&y.key===d?y:void 0,S=p(r.onError);f(()=>{S.current=r.onError});const b=p(r.data),R=p({client:e,heartbeat:v,roomId:t,sessionId:o,shardKey:s});f(()=>{R.current={client:e,heartbeat:v,roomId:t,sessionId:o,shardKey:s}});const i=g(()=>{const{client:n,heartbeat:a,roomId:c,sessionId:u,shardKey:U}=R.current,k={roomId:c,sessionId:u,...b.current===void 0?{}:{data:b.current}};n.mutation(a,k,{shardKey:U}).catch(()=>{})},[]),E=g(n=>{b.current=n,i()},[i]);return f(()=>{i();const n=setInterval(i,I),a=()=>{typeof document<"u"&&document.visibilityState==="visible"&&i()};return typeof document<"u"&&document.addEventListener("visibilitychange",a),()=>{clearInterval(n),typeof document<"u"&&document.removeEventListener("visibilitychange",a)}},[i,I,e,t,o,s]),f(()=>e.acquireConnectionContext({roomId:t,sessionId:o},{shardKey:s}),[e,t,o,s]),f(()=>{let n=!1;const a=e.subscribe(l,{roomId:t},c=>{n||m({client:e,error:void 0,key:d,present:c})},{onError:c=>{n||m(u=>({client:e,error:c,key:d,present:u?.client===e&&u.key===d?u.present:void 0})),S.current?.(c)},shardKey:s});return()=>{n=!0,a(),m(void 0)}},[e,l.__lunoraRef,t,d,s]),{error:h?.error,present:h?.present,sessionId:o,setData:E}};export{w as usePresence};
|