@lunora/studio 1.0.0-alpha.320 → 1.0.0-alpha.322
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/standalone/{chunk-N2SJOHD6.js → chunk-2V47JHXK.js} +1 -1
- package/dist/standalone/{chunk-H6AITPPC.js → chunk-3NBWCIGD.js} +1 -1
- package/dist/standalone/{chunk-Q2KHDNYH.js → chunk-4DXGIJNQ.js} +1 -1
- package/dist/standalone/{chunk-MQCDUPD3.js → chunk-4SANMGOJ.js} +1 -1
- package/dist/standalone/{chunk-CAWYFUK6.js → chunk-4WONEGEO.js} +1 -1
- package/dist/standalone/{chunk-LR4Y6CQF.js → chunk-62EQDW2D.js} +1 -1
- package/dist/standalone/{chunk-6NTTNUVH.js → chunk-67WMIBQI.js} +1 -1
- package/dist/standalone/{chunk-7U2CDNFA.js → chunk-6ATAM7XD.js} +1 -1
- package/dist/standalone/{chunk-A43P35OS.js → chunk-7IN4NR3Q.js} +1 -1
- package/dist/standalone/{chunk-LY625VRG.js → chunk-CKZGSVRG.js} +1 -1
- package/dist/standalone/{chunk-4OXIU2KT.js → chunk-CY25HYNM.js} +1 -1
- package/dist/standalone/{chunk-X2C3EX3E.js → chunk-D4GOAQJM.js} +1 -1
- package/dist/standalone/{chunk-TY5DCOTU.js → chunk-DBO2LRU7.js} +1 -1
- package/dist/standalone/{chunk-XGYH6FFM.js → chunk-DFSX67L5.js} +1 -1
- package/dist/standalone/{chunk-HCMDAFTX.js → chunk-DLVNLCCI.js} +1 -1
- package/dist/standalone/{chunk-UG2MMHTH.js → chunk-DLVUJBD6.js} +1 -1
- package/dist/standalone/{chunk-VY4D6ROH.js → chunk-DWHBAXWL.js} +1 -1
- package/dist/standalone/{chunk-NBFGB6LQ.js → chunk-E2AT2DLH.js} +1 -1
- package/dist/standalone/{chunk-R5P53FO2.js → chunk-EJ6CPRPX.js} +1 -1
- package/dist/standalone/{chunk-MXYGUIAL.js → chunk-EP35WNFQ.js} +1 -1
- package/dist/standalone/{chunk-JBWGM4O5.js → chunk-EY2JVIQL.js} +1 -1
- package/dist/standalone/{chunk-HPXC7ZFN.js → chunk-FQJMIMK6.js} +1 -1
- package/dist/standalone/chunk-FSSQB6RQ.js +1 -0
- package/dist/standalone/{chunk-ARWJGYXL.js → chunk-FT66XZJF.js} +1 -1
- package/dist/standalone/{chunk-ZRJQQLAF.js → chunk-FUS6IIPK.js} +1 -1
- package/dist/standalone/{chunk-ASEMAFEH.js → chunk-GCAGUIGJ.js} +1 -1
- package/dist/standalone/{chunk-PNI5SACT.js → chunk-GKUCH3IT.js} +1 -1
- package/dist/standalone/{chunk-VQPCNZNW.js → chunk-HNWZRLZK.js} +1 -1
- package/dist/standalone/{chunk-AJV3ZKEY.js → chunk-HO7FAUZP.js} +2 -2
- package/dist/standalone/{chunk-KWTRRYMT.js → chunk-I54U4T6W.js} +1 -1
- package/dist/standalone/{chunk-VRWHCG2V.js → chunk-IPQ5KYVD.js} +1 -1
- package/dist/standalone/{chunk-HRVRCCML.js → chunk-J3BTWJEN.js} +1 -1
- package/dist/standalone/{chunk-MZNJ4SBH.js → chunk-JDIDVWA7.js} +1 -1
- package/dist/standalone/{chunk-ICDMV4MP.js → chunk-JSP7QF52.js} +2 -2
- package/dist/standalone/{chunk-QHXHYD2D.js → chunk-JWTNX66E.js} +1 -1
- package/dist/standalone/{chunk-CYVAA5G2.js → chunk-K55GCMUG.js} +1 -1
- package/dist/standalone/{chunk-TVCVRQUC.js → chunk-KMQTUDFK.js} +1 -1
- package/dist/standalone/{chunk-XZTOX6TC.js → chunk-L6AEV23T.js} +1 -1
- package/dist/standalone/{chunk-3PGRJ3V6.js → chunk-LIRPYTMM.js} +1 -1
- package/dist/standalone/{chunk-PFP4ELTQ.js → chunk-LWWPLBPR.js} +1 -1
- package/dist/standalone/{chunk-GS35QQEF.js → chunk-MP7FGHRS.js} +1 -1
- package/dist/standalone/{chunk-MYDSSTIL.js → chunk-MRMELMIL.js} +1 -1
- package/dist/standalone/{chunk-3V25YSWQ.js → chunk-N4SDDVZW.js} +1 -1
- package/dist/standalone/{chunk-3J42UGFU.js → chunk-N76L7Y6I.js} +1 -1
- package/dist/standalone/{chunk-BIF3IS4H.js → chunk-P3JRWNOG.js} +1 -1
- package/dist/standalone/{chunk-ODQ6AVXD.js → chunk-PL7TI67W.js} +1 -1
- package/dist/standalone/{chunk-JSKSPTUJ.js → chunk-QN5CM3OH.js} +1 -1
- package/dist/standalone/{chunk-GWOHQJIL.js → chunk-R2JJKTII.js} +1 -1
- package/dist/standalone/{chunk-TTZZ7DNO.js → chunk-RX3SOFXA.js} +1 -1
- package/dist/standalone/{chunk-SJUYCXDY.js → chunk-SEZ2IRFD.js} +1 -1
- package/dist/standalone/{chunk-DMPS3Z6Z.js → chunk-TQVDKDYK.js} +1 -1
- package/dist/standalone/{chunk-I5ETS5CZ.js → chunk-UJANVTRM.js} +1 -1
- package/dist/standalone/{chunk-HELZ4ROC.js → chunk-V77ZHGXW.js} +1 -1
- package/dist/standalone/{chunk-HXF32KMX.js → chunk-VDCF6PXM.js} +1 -1
- package/dist/standalone/{chunk-GTN6NHUL.js → chunk-VKR53NLO.js} +1 -1
- package/dist/standalone/{chunk-ODMIUMAO.js → chunk-VOWSZXG7.js} +1 -1
- package/dist/standalone/{chunk-6OHCSDVS.js → chunk-WJS62UEZ.js} +1 -1
- package/dist/standalone/{chunk-FQPBYMII.js → chunk-WVWG6LII.js} +1 -1
- package/dist/standalone/{chunk-BRE5MCZN.js → chunk-WZXQIVY4.js} +1 -1
- package/dist/standalone/{chunk-ZTPG3TFT.js → chunk-Y5IYXX5E.js} +1 -1
- package/dist/standalone/{chunk-AN5MJC2Z.js → chunk-YJFMMO37.js} +1 -1
- package/dist/standalone/{chunk-OWVKR6J4.js → chunk-YOJMTBDR.js} +1 -1
- package/dist/standalone/{chunk-JWOD73TN.js → chunk-ZG3DITNB.js} +1 -1
- package/dist/standalone/{chunk-P5QHD7XI.js → chunk-ZQU6EUUL.js} +1 -1
- package/dist/standalone/{chunk-SYMULPR4.js → chunk-ZZHEKODS.js} +1 -1
- package/dist/standalone/{chunk-PUEVXAMZ.js → chunk-ZZPTGL45.js} +1 -1
- package/dist/standalone/studio.js +1 -1
- package/package.json +5 -5
- package/dist/standalone/chunk-4TH2NPLW.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as k}from"./chunk-E4PXACVL.js";import"./chunk-MVWZMWPD.js";import"./chunk-7Y3SY37W.js";import{a as q}from"./chunk-7G4Z6Q7X.js";import"./chunk-3YXASVTP.js";import"./chunk-AUAECCXB.js";import{b as j}from"./chunk-Q6ED4KUL.js";import"./chunk-BOMPSVRC.js";import{a as U}from"./chunk-
|
|
1
|
+
import{i as k}from"./chunk-E4PXACVL.js";import"./chunk-MVWZMWPD.js";import"./chunk-7Y3SY37W.js";import{a as q}from"./chunk-7G4Z6Q7X.js";import"./chunk-3YXASVTP.js";import"./chunk-AUAECCXB.js";import{b as j}from"./chunk-Q6ED4KUL.js";import"./chunk-BOMPSVRC.js";import{a as U}from"./chunk-SEZ2IRFD.js";import"./chunk-NCPW7WHO.js";import"./chunk-N4SDDVZW.js";import"./chunk-55UGUCQ6.js";import{a as R}from"./chunk-4ZEL6BYL.js";import{c as P}from"./chunk-IPQ5KYVD.js";import"./chunk-JSP7QF52.js";import"./chunk-QAQDMS6R.js";import"./chunk-WVWG6LII.js";import{a as M}from"./chunk-RWVIV3U7.js";import{a as G,b as H,c as J,d as B,e as x,f as N}from"./chunk-HCTJKP5J.js";import{a as z,e as D}from"./chunk-2IKDEUCX.js";import{d as F,t as O}from"./chunk-HJHSQPHW.js";import{a as A,d as T,e as $,f as X,g as Y}from"./chunk-I26MS5PJ.js";var K=T(X(),1),Q=T($(),1);var t=T(Y(),1);var de=A(()=>{let e=(0,K.c)(39),a=F(),[s,V]=(0,Q.useState)(""),y;e[0]===Symbol.for("react.memo_cache_sentinel")?(y={},e[0]=y):y=e[0];let{data:C,error:l,errorSource:S,isLoading:E,refetch:_}=P(R.getAuthAuditLog,y),I;if(e[1]!==C?.entries||e[2]!==s){let r=C?.entries??[],v=s.trim().toLowerCase();I=v===""?r:r.filter(w=>w.event.toLowerCase().includes(v)||(w.actorId??"").toLowerCase().includes(v)||(w.actorEmail??"").toLowerCase().includes(v)||(w.ip??"").toLowerCase().includes(v)||w.outcome.toLowerCase().includes(v)),e[1]=C?.entries,e[2]=s,e[3]=I}else I=e[3];let o=I,L;e[4]===Symbol.for("react.memo_cache_sentinel")?(L=A(r=>{V(r.target.value)},"I"),e[4]=L):L=e[4];let W=L,i;e[5]!==a?(i=a("Filter security events"),e[5]=a,e[6]=i):i=e[6];let n;e[7]!==a?(n=a("filter event, actor, IP"),e[7]=a,e[8]=n):n=e[8];let c;e[9]!==s||e[10]!==i||e[11]!==n?(c=(0,t.jsx)(k,{"aria-label":i,className:"h-8 w-56","data-testid":"aa-search",onChange:W,placeholder:n,value:s}),e[9]=s,e[10]=i,e[11]=n,e[12]=c):c=e[12];let d;e[13]!==_?(d=A(()=>{_()},"m"),e[13]=_,e[14]=d):d=e[14];let m;e[15]!==a?(m=a("Refresh"),e[15]=a,e[16]=m):m=e[16];let u;e[17]!==d||e[18]!==m?(u=(0,t.jsx)(q,{"data-testid":"aa-refresh",onClick:d,size:"xs",type:"button",variant:"ghost",children:m}),e[17]=d,e[18]=m,e[19]=u):u=e[19];let h;e[20]!==c||e[21]!==u?(h=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[c,u]}),e[20]=c,e[21]=u,e[22]=h):h=e[22];let f;e[23]!==l||e[24]!==S?(f=l!==null&&(0,t.jsx)(U,{error:S,testId:"aa-error"}),e[23]=l,e[24]=S,e[25]=f):f=e[25];let p;e[26]!==l||e[27]!==o.length||e[28]!==E||e[29]!==a?(p=l===null&&!E&&o.length===0&&(0,t.jsx)(M,{description:a("Authentication and security events are recorded here."),testId:"aa-empty",title:a("No security events.")}),e[26]=l,e[27]=o.length,e[28]=E,e[29]=a,e[30]=p):p=e[30];let g;e[31]!==o||e[32]!==a?(g=o.length>0&&(0,t.jsx)(z,{className:"overflow-hidden py-0",children:(0,t.jsx)(D,{className:"max-h-[30rem] overflow-auto px-0",children:(0,t.jsxs)(G,{"data-testid":"aa-table",children:[(0,t.jsx)(H,{children:(0,t.jsxs)(B,{children:[(0,t.jsx)(x,{children:a("time")}),(0,t.jsx)(x,{children:a("event")}),(0,t.jsx)(x,{children:a("actor")}),(0,t.jsx)(x,{children:a("ip / user agent")}),(0,t.jsx)(x,{children:a("outcome")})]})}),(0,t.jsx)(J,{children:o.map(r=>(0,t.jsxs)(B,{"data-testid":"aa-row",children:[(0,t.jsx)(N,{className:"text-muted-foreground tabular-nums",children:O(r.ts,"\u2014")}),(0,t.jsx)(N,{children:(0,t.jsx)(j,{variant:"secondary",children:r.event})}),(0,t.jsx)(N,{className:"max-w-[24ch] truncate font-mono text-xs",title:r.actorId??void 0,children:r.actorEmail??r.actorId??(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"})}),(0,t.jsxs)(N,{className:"max-w-[28ch] truncate text-xs text-muted-foreground",title:r.userAgent??void 0,children:[r.ip??(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"}),r.userAgent!==void 0&&(0,t.jsxs)("span",{className:"ml-1 opacity-70",children:["\xB7 ",r.userAgent]})]}),(0,t.jsx)(N,{children:(0,t.jsx)(j,{variant:r.outcome==="failure"?"destructive":"outline",children:a(r.outcome)})})]},r.seq))})]})})}),e[31]=o,e[32]=a,e[33]=g):g=e[33];let b;return e[34]!==f||e[35]!==p||e[36]!==g||e[37]!==h?(b=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-auth-audit",children:[h,f,p,g]}),e[34]=f,e[35]=p,e[36]=g,e[37]=h,e[38]=b):b=e[38],b},"ne");export{de as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as C}from"./chunk-Q6ED4KUL.js";import"./chunk-BOMPSVRC.js";import{a as J}from"./chunk-
|
|
1
|
+
import{b as C}from"./chunk-Q6ED4KUL.js";import"./chunk-BOMPSVRC.js";import{a as J}from"./chunk-SEZ2IRFD.js";import"./chunk-NCPW7WHO.js";import"./chunk-N4SDDVZW.js";import"./chunk-55UGUCQ6.js";import{a as H}from"./chunk-4ZEL6BYL.js";import{c as z}from"./chunk-IPQ5KYVD.js";import"./chunk-JSP7QF52.js";import"./chunk-QAQDMS6R.js";import"./chunk-WVWG6LII.js";import{a as E}from"./chunk-RWVIV3U7.js";import{a as G,b as M,c as U,d as P,e as d,f as c}from"./chunk-HCTJKP5J.js";import{a as D,e as _}from"./chunk-2IKDEUCX.js";import{d as q}from"./chunk-HJHSQPHW.js";import{a as S,d as O,f as Q,g as V}from"./chunk-I26MS5PJ.js";var L=O(Q(),1);var r=O(V(),1);var K=["read","insert","update","delete"],B=S((e,s)=>({delete:e("Delete"),insert:e("Insert"),read:e("Read"),update:e("Update")})[s],"z"),W=S(e=>{let s=new Map;for(let a of e){let t=s.get(a.table)??{operations:new Set,procedures:new Set,table:a.table};t.operations.add(a.on),t.procedures.add(a.procedure),s.set(a.table,t)}return[...s.values()].toSorted((a,t)=>a.table.localeCompare(t.table))},"J"),ie=S(()=>{let e=(0,L.c)(49),s=q(),a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a={},e[0]=a):a=e[0];let{data:t,error:R,errorSource:k}=z(H.rlsPolicies,a),p=t!==void 0,m,n,h,l,f,u,x,b,o;if(e[1]!==t||e[2]!==R||e[3]!==k||e[4]!==p||e[5]!==s){let $=W(Array.isArray(t?.policies)?t.policies:[]),j;e[15]!==t?(j=Array.isArray(t?.roles)?t.roles:[],e[15]=t,e[16]=j):j=e[16],n=j,x="flex flex-col gap-6",b="lunora-rls-panel",e[17]!==R||e[18]!==k?(o=R!==null&&(0,r.jsx)(J,{error:k,testId:"rls-error"}),e[17]=R,e[18]=k,e[19]=o):o=e[19],u="flex flex-col gap-2",m=D,h="overflow-hidden py-0";let I;e[20]!==s?(I=s("Policies"),e[20]=s,e[21]=I):I=e[21],e[22]!==I?(l=(0,r.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,r.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:I})}),e[22]=I,e[23]=l):l=e[23],f=p&&$.length===0?(0,r.jsx)(E,{description:s("No `definePolicy` is wired through `.use(rls(...))` in this deployment. Add one to guard a table's rows."),testId:"rls-policies-empty",title:s("No policies defined")}):(0,r.jsx)(_,{className:"px-0",children:(0,r.jsxs)(G,{"data-testid":"rls-policies-table",children:[(0,r.jsx)(M,{children:(0,r.jsxs)(P,{children:[(0,r.jsx)(d,{children:s("Table")}),K.map(i=>(0,r.jsx)(d,{children:B(s,i)},i)),(0,r.jsx)(d,{children:s("Guarded by")})]})}),(0,r.jsx)(U,{children:$.map(i=>(0,r.jsxs)(P,{"data-testid":`rls-table-${i.table}`,children:[(0,r.jsx)(c,{className:"font-mono text-xs",children:i.table}),K.map(F=>(0,r.jsx)(c,{children:i.operations.has(F)?(0,r.jsx)(C,{variant:"secondary",children:s("Guarded")}):(0,r.jsx)("span",{"aria-hidden":"true",className:"text-muted-foreground",children:"\u2014"})},F)),(0,r.jsx)(c,{className:"font-mono text-xs text-muted-foreground",children:[...i.procedures].join(", ")})]},i.table))})]})}),e[1]=t,e[2]=R,e[3]=k,e[4]=p,e[5]=s,e[6]=m,e[7]=n,e[8]=h,e[9]=l,e[10]=f,e[11]=u,e[12]=x,e[13]=b,e[14]=o}else m=e[6],n=e[7],h=e[8],l=e[9],f=e[10],u=e[11],x=e[12],b=e[13],o=e[14];let N;e[24]!==m||e[25]!==h||e[26]!==l||e[27]!==f?(N=(0,r.jsxs)(m,{className:h,children:[l,f]}),e[24]=m,e[25]=h,e[26]=l,e[27]=f,e[28]=N):N=e[28];let g;e[29]!==u||e[30]!==N?(g=(0,r.jsx)("section",{className:u,children:N}),e[29]=u,e[30]=N,e[31]=g):g=e[31];let y;e[32]!==s?(y=s("Roles"),e[32]=s,e[33]=y):y=e[33];let w;e[34]!==y?(w=(0,r.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,r.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:y})}),e[34]=y,e[35]=w):w=e[35];let v;e[36]!==p||e[37]!==n||e[38]!==s?(v=p&&n.length===0?(0,r.jsx)(E,{description:s("No `defineRole` is registered via `rls(policies, { roles })`. Roles back `ctx.auth.can(...)` permission checks."),testId:"rls-roles-empty",title:s("No roles defined")}):(0,r.jsx)(_,{className:"px-0",children:(0,r.jsxs)(G,{"data-testid":"rls-roles-table",children:[(0,r.jsx)(M,{children:(0,r.jsxs)(P,{children:[(0,r.jsx)(d,{children:s("Role")}),(0,r.jsx)(d,{children:s("Description")}),(0,r.jsx)(d,{children:s("Permissions")})]})}),(0,r.jsx)(U,{children:n.map(Y)})]})}),e[36]=p,e[37]=n,e[38]=s,e[39]=v):v=e[39];let A;e[40]!==w||e[41]!==v?(A=(0,r.jsx)("section",{className:"flex flex-col gap-2",children:(0,r.jsxs)(D,{className:"overflow-hidden py-0",children:[w,v]})}),e[40]=w,e[41]=v,e[42]=A):A=e[42];let T;return e[43]!==A||e[44]!==x||e[45]!==b||e[46]!==o||e[47]!==g?(T=(0,r.jsxs)("div",{className:x,"data-testid":b,children:[o,g,A]}),e[43]=A,e[44]=x,e[45]=b,e[46]=o,e[47]=g,e[48]=T):T=e[48],T},"oe");function X(e){return(0,r.jsx)(C,{variant:"outline",children:e},e)}S(X,"K");function Y(e){return(0,r.jsxs)(P,{"data-testid":`rls-role-${e.name}`,children:[(0,r.jsx)(c,{className:"font-mono text-xs",children:e.name}),(0,r.jsx)(c,{className:"text-muted-foreground",children:e.description??""}),(0,r.jsx)(c,{children:e.permissions.length===0?(0,r.jsx)("span",{"aria-hidden":"true",className:"text-muted-foreground",children:"\u2014"}):(0,r.jsx)("span",{className:"flex flex-wrap gap-1",children:e.permissions.map(X)})})]},e.name)}S(Y,"V");export{ie as default};
|