import assert from 'node:assert/strict'; export async function run(db){ const q=(s,p=[])=>db.query(s,p);const one=async(s,p)=>(await q(s,p)).rows[0]; const ids=['00000000-0000-4000-8000-000000000001','00000000-0000-4000-8000-000000000002','00000000-0000-4000-8000-000000000003','00000000-0000-4000-8000-000000000004']; async function actor(id,aal='aal1'){await db.exec('reset role');await q("select set_config('request.jwt.claim.sub',$1,false),set_config('request.jwt.claims',$2,false)",[id,JSON.stringify({sub:id,aal,role:'authenticated'})]);await db.exec('set role authenticated');} async function denied(s,p,re){await assert.rejects(q(s,p),re);} await db.exec(`create function realtime.send(jsonb,text,text,boolean) returns void language plpgsql as $$begin end$$;`); for(let i=0;i