@gjermundgaraba/clankerauth-dev 0.24.0 → 0.26.0

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.
@@ -0,0 +1 @@
1
+ @font-face{font-family:Departure Mono;src:url(/assets/DepartureMono-Regular-2BZob_Zz.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--ink:var(--lightningcss-light,#16150f)var(--lightningcss-dark,#efecf3);--paper:var(--lightningcss-light,#fdfdfa)var(--lightningcss-dark,#3b3640);--ground:var(--lightningcss-light,#dcdcd4)var(--lightningcss-dark,#2d2931);--rule:var(--lightningcss-light,#d8d8d0)var(--lightningcss-dark,#534c5a);--head:var(--lightningcss-light,#efefe8)var(--lightningcss-dark,#453f4b);--muted:var(--lightningcss-light,#5d5c52)var(--lightningcss-dark,#aea7b8);--amber:#f5a623;--green:#2fbf71;--red:var(--lightningcss-light,#b3251e)var(--lightningcss-dark,#ff8074);--on-status:#16150f;--on-red:var(--lightningcss-light,#fdfdfa)var(--lightningcss-dark,#16150f);--on-head:var(--lightningcss-light,#5d5c52)var(--lightningcss-dark,#b6afc1);--term-black:#16150f;--term-red:var(--lightningcss-light,#a3271f)var(--lightningcss-dark,#ff9589);--term-green:var(--lightningcss-light,#2b6a2e)var(--lightningcss-dark,#8fd49a);--term-yellow:var(--lightningcss-light,#735600)var(--lightningcss-dark,#e6c86e);--term-blue:var(--lightningcss-light,#274b8c)var(--lightningcss-dark,#a9c1fb);--term-magenta:var(--lightningcss-light,#7a2a5c)var(--lightningcss-dark,#f2a7d4);--term-cyan:var(--lightningcss-light,#23605c)var(--lightningcss-dark,#8fd3cb);--term-white:var(--lightningcss-light,#5d5c52)var(--lightningcss-dark,#d9d4e0);--term-bright-black:var(--lightningcss-light,#45443c)var(--lightningcss-dark,#b6afc1);--term-bright-red:var(--lightningcss-light,#b8321f)var(--lightningcss-dark,#ffa89d);--term-bright-green:var(--lightningcss-light,#347a36)var(--lightningcss-dark,#a8e3b1);--term-bright-yellow:var(--lightningcss-light,#7d6200)var(--lightningcss-dark,#f0d98f);--term-bright-blue:var(--lightningcss-light,#3059a3)var(--lightningcss-dark,#c0d2fd);--term-bright-magenta:var(--lightningcss-light,#8f3570)var(--lightningcss-dark,#f7c1e2);--term-bright-cyan:var(--lightningcss-light,#2a6f6a)var(--lightningcss-dark,#aee3dc);--term-bright-white:var(--lightningcss-light,#16150f)var(--lightningcss-dark,#efecf3);--code-keyword:var(--term-magenta);--code-string:var(--term-cyan);--code-number:var(--term-yellow);--code-function:var(--term-blue);--code-type:var(--term-green);--code-comment:var(--on-head);--shadow-color:var(--lightningcss-light,#16150fd9)var(--lightningcss-dark,#000c);--shadow-danger-color:var(--lightningcss-light,#b3251e99)var(--lightningcss-dark,#000c);--veil:#16150f66;--veil-grain:conic-gradient(at 1px 1px, #0000 75%, #16150f80 0) 0 0 / 4px 4px, conic-gradient(at 1px 1px, #0000 75%, #16150f80 0) 2px 2px / 4px 4px;--dither-base:var(--lightningcss-light,#e0e0d8)var(--lightningcss-dark,#2f2b33);--dither-dot:var(--lightningcss-light,#bcbcb2)var(--lightningcss-dark,#423d4a);--dither:conic-gradient(at 1px 1px, #0000 75%, var(--dither-dot) 0) 0 0 / 4px 4px, conic-gradient(at 1px 1px, #0000 75%, var(--dither-dot) 0) 2px 2px / 4px 4px, var(--dither-base);--font-px:"Departure Mono", ui-monospace, Menlo, Monaco, monospace;--font-body:system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-code:ui-monospace, Menlo, Monaco, monospace;--type-label:10px;--type-state:11px;--type-control:12px;--type-body:13px;--type-name:14px;--type-title:16px;--type-page:22px;--type-page-narrow:18px;--type-wordmark:18px;--type-wordmark-wall:22px;--tracking-caps:.04em;--tracking-state:.05em;--tracking-head:.06em;--tracking-title:.08em;--tracking-label:.1em;--read-body:15px;--read-h3:15px;--read-h2:20px;--read-title:30px;--read-weight:650;--read-measure:68ch;--line:2px;--hair:1px;--row:34px;--pad:16px;--gap:24px;--deck:1160px;--rail:272px;--space-s:8px;--space-m:14px;--space-l:var(--gap);--type-figure:30px;--type-figure-narrow:22px;--shadow-card:8px 8px 0 var(--shadow-color);--shadow-panel:5px 5px 0 var(--shadow-color);--shadow-button:3px 3px 0 var(--shadow-color);--shadow-button-small:2px 2px 0 var(--shadow-color);--shadow-pressed:1px 1px 0 var(--shadow-color);--shadow-danger:3px 3px 0 var(--shadow-danger-color);--chart-plot:160px;--motion-flash:.7s;--motion-blink:1.2s;--motion-card:.14s;--motion-veil:.12s;--toast-hold:5s}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-scheme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-scheme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{height:100%;scroll-padding-top:calc(var(--topbar-h,48px) + 16px);scroll-padding-bottom:var(--statusbar-h,0px)}:root:has(footer.statusbar){--statusbar-h:25px}body{min-height:100%;padding-bottom:var(--statusbar-h,0px);font-family:var(--font-body);font-size:var(--type-body);color:var(--ink);caret-color:var(--ink);background:var(--dither);line-height:1.45}fieldset{border:0;min-width:0}legend{padding:0}::selection{background:var(--ink);color:var(--paper)}::placeholder{color:var(--muted);opacity:1}:focus-visible{outline:var(--line) solid var(--ink);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--ground)}::-webkit-scrollbar-thumb{background:var(--ink);border:2px solid var(--ground)}a{color:var(--ink)}code,kbd{font-family:var(--font-code);font-size:var(--type-control)}.px-icon{vertical-align:-1px;shape-rendering:crispedges;flex:none;display:inline-block}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:300;background:var(--ink);color:var(--paper);font-family:var(--font-px);font-size:var(--type-control);text-transform:uppercase;padding:6px 14px;text-decoration:none;position:fixed;top:-100px;left:12px}.skip:focus{top:8px}[hidden]{display:none!important}:is(.nav.tabs button,.switch>:is(a,button),:is(button,a,label).fchip,button.glyph,button.mark,button.tag:has(>span),.textbtn,.crumbs a,.error-summary a){position:relative}:is(.nav.tabs button,.switch>:is(a,button),:is(button,a,label).fchip,button.glyph,button.mark,button.tag:has(>span),.textbtn,.crumbs a,.error-summary a):after{content:"";width:max(100%,24px);height:max(100%,24px);position:absolute;top:50%;left:50%;translate:-50% -50%}.iconbtn{flex:none}.board-card .meta-row .tag{flex-shrink:1;min-width:0}button.tag:has(>span){overflow:visible}button.tag>span{text-overflow:ellipsis;display:block;overflow:hidden}.label{font-family:var(--font-px);font-size:var(--type-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--muted)}.meta{font-family:var(--font-px);font-size:var(--type-label);color:var(--muted)}.age{font-family:var(--font-px);font-size:var(--type-state);color:var(--muted);flex:none}.age.stale{color:var(--red)}.tnum{font-variant-numeric:tabular-nums}.done-title{color:var(--muted);text-decoration:line-through}.note-line{font:var(--type-control)/1.45 var(--font-body);color:var(--muted);max-width:46ch}.stack{align-content:start;gap:var(--space-m);min-width:0;display:grid}.group{align-items:center;gap:var(--space-s);min-width:0;display:flex}.wrap{align-items:center;gap:var(--space-s);flex-wrap:wrap;min-width:0;display:flex}.stack>*,.group>*{min-width:0}:is(.stack,.group,.wrap).gap-s{gap:var(--space-s)}:is(.stack,.group,.wrap).gap-m{gap:var(--space-m)}:is(.stack,.group,.wrap).gap-l{gap:var(--space-l)}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--space-m) var(--gap);flex-wrap:wrap;display:flex}.page-name{flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-width:0;display:flex}.page-title{font-family:var(--font-body);font-size:var(--type-page);letter-spacing:-.01em;text-wrap:balance;overflow-wrap:anywhere;font-weight:600;line-height:1.2}.page-head .meta{font-size:var(--type-state);color:var(--ink)}.page-acts{align-items:center;gap:var(--space-s);flex-wrap:wrap;display:flex}@media (width<=600px){.page-title{font-size:var(--type-page-narrow)}}.topbar{anchor-name:--topbar;z-index:40;background:var(--paper);border-bottom:var(--line) solid var(--ink);-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:8px 20px;display:flex;position:sticky;top:0}.wordmark{font-family:var(--font-px);font-size:var(--type-wordmark);letter-spacing:-.02em;color:inherit;white-space:nowrap;margin:0;font-weight:400;text-decoration:none}.cursor{vertical-align:-1px;width:6px;height:11px;animation:blink var(--motion-blink) steps(1) infinite;background:currentColor;display:inline-block}@keyframes blink{50%{opacity:0}}.wordmark .cursor{vertical-align:-2px;background:var(--ink);width:8px;height:15px;margin-left:3px;animation-iteration-count:4}.topbar .spacer,.strip .spacer{flex:1}.topbar-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 16px;min-width:0;margin-left:auto;display:flex}@media (width<=600px){.topbar-tools{gap:8px 12px}.topbar-tools .btn{padding:5px 10px}}.link-state{font-family:var(--font-px);font-size:var(--type-state);letter-spacing:var(--tracking-head);text-transform:uppercase}.link-state.offline{color:var(--on-red);background:var(--red);padding:2px 6px}.link-state.connecting{color:var(--muted)}.link-state.reconnecting{color:var(--on-status);background:var(--amber);padding:2px 6px}.textbtn{font-family:var(--font-px);font-size:var(--type-control);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink);cursor:pointer;background:0 0;border:0;border-bottom:1px dotted #0000;padding:2px 0}a.textbtn{text-decoration:none}.textbtn:hover{border-bottom-color:var(--ink)}.nav{border:var(--line) solid var(--ink);gap:0;width:fit-content;max-width:100%;display:flex}.panel>.nav.tabs,.panel>.tabbed>.nav.tabs{margin:var(--pad) var(--pad) 0}.nav a,.nav button{font-family:var(--font-px);font-size:var(--type-control);text-transform:uppercase;letter-spacing:var(--tracking-caps);background:var(--paper);color:var(--ink);cursor:pointer;white-space:nowrap;border:none;padding:5px 14px;text-decoration:none}.nav>:is(a,button)+:is(a,button){border-left:var(--line) solid var(--ink)}.nav [aria-current=page],.nav [aria-selected=true],.nav [aria-pressed=true]{background:var(--ink);color:var(--paper)}.nav .navnum{font-size:var(--type-state);background:var(--head);color:var(--on-head);margin-left:8px;padding:0 5px;display:inline-block}.nav.tabs a,.nav.tabs button{font-size:var(--type-state);padding:4px 12px}@media (width<=600px){.nav a,.nav button{font-size:var(--type-state);padding:5px 8px}.nav .navnum{margin-left:5px}.topbar{gap:8px 12px;padding:8px 12px}.topbar>.nav{flex-basis:100%;order:1;width:auto}.topbar>.nav>*{text-align:center;flex:1}.deck{padding:20px 12px 64px}}.places ul{list-style:none}.places li{border-bottom:var(--hair) solid var(--rule);align-items:center;display:flex}.places li:last-child{border-bottom:0}.places li:not(:has(>[aria-current])):hover{background-color:var(--head)}.places li>:is(a,button){min-width:0;min-height:var(--row);align-items:baseline;gap:var(--space-s);font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;padding:8px 12px;text-decoration:none;display:flex}.places li>:is(a,button):focus-visible{outline-offset:-4px}.place-name{overflow-wrap:anywhere;flex:1;min-width:0}.place-count{font-family:var(--font-px);font-size:var(--type-state);color:var(--muted);flex:none}.place-tools{flex:none;padding-right:4px}.places li:has(>[aria-current]){background-color:var(--ink);color:var(--paper)}.places li:has(>[aria-current]) :is(.place-count,.iconbtn.quiet){color:inherit;opacity:.75}.places li:has(>[aria-current]) :focus-visible{outline-color:var(--paper)}.btn{font-family:var(--font-px);font-size:var(--type-control);text-transform:uppercase;letter-spacing:var(--tracking-caps);background:var(--paper);color:var(--ink);border:var(--line) solid var(--ink);cursor:pointer;box-shadow:var(--shadow-button);white-space:nowrap;align-items:center;gap:6px;padding:5px 14px;text-decoration:none;display:inline-flex}.btn:not([aria-disabled=true]):active{box-shadow:var(--shadow-pressed);transform:translate(2px,2px)}.btn:disabled,.btn[aria-disabled=true]{color:var(--muted);border-color:var(--muted);box-shadow:none;cursor:default}.btn:disabled:active{transform:none}.btn.primary{background:var(--ink);color:var(--paper)}.btn.primary:disabled,.btn.primary[aria-disabled=true]{background:var(--paper);color:var(--muted)}.btn.default-ring{box-shadow:0 0 0 2px var(--paper), 0 0 0 4px var(--ink);margin:4px}.btn.default-ring:not([aria-disabled=true]):active{background:var(--ink);color:var(--paper);transform:none}.card-actions:focus-within .btn.default-ring:not(:focus){box-shadow:var(--shadow-button)}.btn.default-ring[aria-disabled=true]:not(:focus),.card-actions:focus-within .btn.default-ring[aria-disabled=true]:not(:focus){box-shadow:none}.btn.small{font-size:var(--type-state);box-shadow:var(--shadow-button-small);padding:3px 10px}.btn.small:disabled,.btn.small[aria-disabled=true]{box-shadow:none}.btn.danger{color:var(--red);border-color:var(--red);box-shadow:var(--shadow-danger)}.btn.danger:focus-visible{outline-color:var(--red)}.iconbtn{width:24px;height:24px;color:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.iconbtn.quiet{color:var(--muted)}.iconbtn.quiet:hover{color:var(--ink)}.btn .key-hint{margin-left:var(--space-s);font-family:var(--font-px);font-size:var(--type-label);text-transform:none;letter-spacing:0;opacity:.65}.btn{position:relative}.btn>.cursor{position:absolute;top:50%;right:4px;translate:0 -50%}.btn.small>.cursor{width:5px;height:9px;right:3px}.btn.done[aria-disabled=true]{color:var(--paper);background:var(--ink);border-color:var(--ink);box-shadow:none}.btn-words{display:inline-grid}.btn-words>*{grid-area:1/1}.btn-words>[aria-hidden=true]{visibility:hidden}.menu{z-index:200;min-width:148px;max-width:calc(100vw - 24px);color:var(--ink);background:var(--paper);border:var(--line) solid var(--ink);box-shadow:var(--shadow-card);margin:0;padding:0;position:absolute}.menu-wrap{display:inline-flex;position:relative}.menu.at-point{position:fixed}.menu [role^=menuitem]{width:100%;font-family:var(--font-px);font-size:var(--type-control);text-transform:uppercase;letter-spacing:var(--tracking-caps);text-align:left;background:var(--paper);color:var(--ink);border:0;border-bottom:var(--hair) solid var(--rule);cursor:pointer;white-space:nowrap;align-items:center;gap:10px;padding:7px 12px;text-decoration:none;display:flex}.menu>[role^=menuitem]:last-child,.menu>[role=group]:last-child>[role^=menuitem]:last-child{border-bottom:0}.menu [role^=menuitem]:not([aria-disabled=true]):hover{background:var(--head)}.menu [role^=menuitem][aria-disabled=true]{color:var(--muted);cursor:default}.menu [role=menuitem][aria-current=page],.menu [role=menuitemradio][aria-checked=true]{background:var(--ink);color:var(--paper)}.menu .menu-label{text-overflow:ellipsis;flex:1;overflow:hidden}.menu .key-hint{font-family:inherit;font-size:var(--type-state);text-transform:none;color:var(--muted)}.menu :is([aria-current=page],[role=menuitemradio][aria-checked=true]) .key-hint{color:inherit;opacity:.75}.menu .menu-check{border:var(--line) solid var(--ink);flex:none;place-content:center;width:14px;height:14px;display:inline-grid}.menu .menu-check:before{content:"";width:6px;height:6px}.menu [aria-checked=true] .menu-check:before{background:var(--ink)}.menu .menu-note{font:var(--type-control)/1.45 var(--font-body);text-transform:none;letter-spacing:normal;white-space:nowrap;color:var(--muted);border-bottom:var(--hair) solid var(--rule);padding:7px 12px;display:block}.deck{max-width:var(--deck);padding:var(--gap) 20px 80px;gap:var(--gap);margin:0 auto;display:grid}.deck>*{min-width:0}.panel,.sheet{background:var(--paper);border:var(--line) solid var(--ink);box-shadow:var(--shadow-panel);min-width:0}.panel-tb{background:var(--ink);color:var(--paper);font-family:var(--font-px);align-items:baseline;gap:10px;padding:6px 12px;display:flex}.panel-tb h2{font-size:var(--type-body);text-transform:uppercase;letter-spacing:var(--tracking-title);font-weight:400}.panel-tb .meta{font-size:var(--type-state);color:inherit;opacity:.75;margin-left:auto}.panel-body{padding:var(--pad);gap:var(--space-m);display:grid}.panel-body>*{min-width:0}.panel-foot{border-top:var(--hair) solid var(--rule);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;display:flex}.panel-foot .push{margin-left:auto}.panel-foot>.notice{flex:100%}.panel-tb:has(>.panel-acts){padding-block:3px;align-items:center;min-height:31px;padding-right:3px}.panel-tb:has(>.panel-acts) h2{overflow-wrap:anywhere;flex:1;min-width:0}.panel-acts{flex:none;align-items:center;gap:6px;display:inline-flex}.panel-tb:has(>.panel-acts)>.meta{margin-left:0}.panel-acts .btn{color:var(--paper);background:var(--ink);border-color:var(--paper);box-shadow:none}.panel-acts .btn.primary{color:var(--ink);background:var(--paper)}.panel-acts .btn:not([aria-disabled=true]):active{box-shadow:none;transform:translate(1px,1px)}.panel-acts .btn:is(:disabled,[aria-disabled=true]){color:var(--paper);background:var(--ink);border-color:var(--paper);opacity:.6}.panel-acts .iconbtn.quiet{color:inherit}.panel-acts .btn:focus-visible{outline-offset:-4px;outline-color:currentColor}.strip{font-family:var(--font-px);font-size:var(--type-state);text-transform:uppercase;background:var(--paper);border:var(--line) solid var(--ink);box-shadow:var(--shadow-button);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.switch{border:var(--line) solid var(--ink);flex:none;display:inline-flex}.switch a,.switch button{background:var(--paper);width:26px;height:22px;color:var(--ink);cursor:pointer;border:0;place-items:center;padding:0;display:inline-grid}.switch>:is(a,button)+:is(a,button){border-left:var(--line) solid var(--ink)}.switch [aria-pressed=true],.switch [aria-current=page]{background:var(--ink);color:var(--paper)}.switch button:active{transform:translate(1px,1px)}.fchip{min-height:22px;font-family:var(--font-px);font-size:var(--type-state);text-transform:uppercase;letter-spacing:var(--tracking-state);border:var(--line) solid var(--ink);background:var(--paper);color:var(--ink);cursor:default;flex:none;align-items:center;gap:6px;padding:2px 7px;display:inline-flex}button.fchip{cursor:pointer}button.fchip:not([aria-pressed=true]):hover{background:var(--head)}button.fchip:active{transform:translate(1px,1px)}.fchip .fchip-name{color:var(--muted)}.fchip.pinned,.fchip[aria-pressed=true]{background:var(--ink);color:var(--paper)}.fchip.pinned .fchip-name,.fchip[aria-pressed=true] .fchip-name{color:inherit}a.fchip{cursor:pointer;text-decoration:none}.fchip.query{cursor:text;isolation:isolate}.fchip.query.live{background:var(--head)}.fchip.query input{z-index:1;font:var(--type-control) var(--font-body);color:var(--ink);field-sizing:content;background:0 0;border:0;width:12ch;min-width:8ch;max-width:32ch;padding:0;position:relative}.fchip.query input::-webkit-search-cancel-button{display:none}.fchip.query input:focus-visible{outline:none}.fchip.query:focus-within{outline:var(--line) solid var(--ink);outline-offset:2px}.fchip.reset{color:var(--muted);border-color:var(--muted)}.fchip.reset:hover{color:var(--ink);border-color:var(--ink)}.chip{font-family:var(--font-px);font-size:var(--type-state);text-transform:uppercase;letter-spacing:var(--tracking-state);border:var(--line) solid var(--ink);background:var(--paper);color:var(--ink);white-space:nowrap;flex:none;padding:1px 6px}.chip.go{background:var(--green);color:var(--on-status)}.chip.warn{background:var(--amber);color:var(--on-status)}.chip.blocked{color:var(--red);border-color:var(--red)}.chip.done{background:var(--head);color:var(--on-head);border-color:var(--muted)}.mark{background:var(--amber);color:var(--on-status);border:0;flex:none;justify-content:center;align-items:center;padding:2px;display:inline-flex}button.mark{cursor:pointer}.mark.plain{color:var(--muted);background:0 0}.tag{font-family:var(--font-px);font-size:var(--type-state);color:var(--muted);border:var(--hair) solid var(--rule);text-overflow:ellipsis;white-space:nowrap;text-transform:none;letter-spacing:normal;background:0 0;flex:none;max-width:18ch;padding:0 5px;overflow:hidden}button.tag{cursor:pointer}button.tag:hover{color:var(--ink);border-color:var(--muted)}.rows{list-style:none}.tree{padding:8px 0 14px}.tree ul.rows{padding-left:26px;position:relative}.tree ul.rows:before{content:"";background:var(--rule);width:1px;position:absolute;top:0;bottom:4px;left:20px}.row{min-height:var(--row);align-items:center;gap:8px;padding:5px 12px;display:flex;position:relative}.row:hover,.row:focus-within{background-color:var(--head)}.row .glyph{width:18px;height:18px;color:var(--muted);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}button.glyph{cursor:pointer}.row:hover button.glyph{color:var(--ink)}.row .grow{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:-4px;padding:4px;overflow:hidden}.row .grow input.inline-input:focus-visible{outline:none}.row .title{font:inherit;color:inherit;cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;max-width:100%;padding:0;overflow:hidden}.row .title:hover{text-underline-offset:3px;text-decoration:underline}.board-card .title[aria-disabled=true]{cursor:default}.row .tools{opacity:.55;align-items:center;gap:6px;display:inline-flex}.row:hover .tools,.row:focus-within .tools{opacity:1}.row>.cell{flex:none;align-items:center;gap:8px;display:inline-flex}.row>.grow-cell{flex:1;min-width:0}.row .slot{flex:none;justify-content:flex-end;align-items:center;gap:6px;min-width:58px;display:inline-flex}.row[aria-current=true]{outline:1px solid var(--muted);outline-offset:-4px;background-color:#0000}.row:focus-visible{outline:var(--line) solid var(--muted);outline-offset:-4px}.row[aria-current=true] .tools{opacity:1}.board-card[aria-current=true]{background-color:var(--ink);color:var(--paper)}.board-card[aria-current=true] :is(.glyph,.age,.due,.tag,.done-title,.iconbtn.quiet){color:inherit;opacity:.75}.board-card[aria-current=true] .tag{border-color:currentColor}.board-card[aria-current=true] :is(.due.late,.age.stale){opacity:1;background:var(--red);color:var(--on-red);box-shadow:0 0 0 3px var(--red)}.board-card[aria-current=true] :focus-visible{outline-color:var(--paper)}@media (width<=600px){.row .tools{display:none}.row .grow,.row .title{white-space:normal;overflow-wrap:anywhere}.row .title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.row .slot{min-width:0}}.row-check{flex:none;align-self:stretch;align-items:center;margin:-5px 0 -5px -12px;padding:0 10px;display:flex;position:relative}.row-check>[role=checkbox]{appearance:none;border:var(--line) solid var(--ink);background:var(--paper);cursor:pointer;border-radius:0;flex:none;place-content:center;width:14px;height:14px;padding:0;display:inline-grid}.row-check>[role=checkbox]:before{content:"";width:6px;height:6px}.row-check>[role=checkbox]:after{content:"";position:absolute;inset:0}.row label.grow{cursor:pointer}.row-check:has(>[aria-checked=true]){background:var(--ink)}.row-check>[aria-checked=true]{border-color:var(--paper);background:var(--ink)}.row-check>[aria-checked=true]:before{background:var(--paper)}.row-check>[aria-checked=true]:focus-visible{outline-color:var(--paper)}.row-check>[aria-disabled=true]{border-color:var(--muted);cursor:default}.row-check>[aria-checked=mixed]:before{background:var(--ink);height:2px}.row.bulk{border-bottom:var(--hair) solid var(--rule)}.bulk-count{font-family:var(--font-px);font-size:var(--type-state);text-transform:uppercase;letter-spacing:var(--tracking-state);font-variant-numeric:tabular-nums;color:var(--muted)}.row.bulk:has(>.row-check>:is([aria-checked=true],[aria-checked=mixed])) .bulk-count{color:var(--ink)}.bulk-acts{flex:none;align-items:center;gap:8px;display:inline-flex}input.inline-input{font:inherit;color:inherit;background:var(--paper);border:none;border-bottom:1px solid var(--ink);width:100%;height:calc(1lh + 1px);padding:0}input.inline-input[aria-busy=true]{color:var(--muted);cursor:progress}input.inline-input[aria-invalid=true]{border-bottom-color:var(--red)}.row .grow input.inline-input:focus-visible{box-shadow:inset 0 -1px 0 var(--ink)}.row .grow input.inline-input[aria-invalid=true]:focus-visible{box-shadow:inset 0 -1px 0 var(--red)}.flash-word{font-family:var(--font-px);font-size:var(--type-state);text-transform:uppercase;letter-spacing:var(--tracking-title);color:var(--ink);min-width:6ch}.flash-word:empty{display:none}select{appearance:base-select}select::picker(select){appearance:base-select}select{width:100%;min-height:30px;color:var(--ink);background-color:var(--paper);background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);border:var(--line) solid var(--ink);cursor:pointer;font-family:var(--font-px);font-size:var(--type-state);text-transform:none;background-position:calc(100% - 9px),calc(100% - 5px);background-repeat:no-repeat;background-size:4px 4px;border-radius:0;padding:5px 28px 3px 8px}select::picker-icon{display:none}select::picker(select){color:var(--ink);background:var(--paper);border:var(--line) solid var(--ink);box-shadow:var(--shadow-panel);padding:0}select option{font-family:var(--font-px);font-size:var(--type-state);cursor:pointer;padding:5px 8px 7px}.field :is(input,textarea):disabled,.field.boxed :is(input,textarea):disabled,select:disabled{color:var(--muted);border-color:var(--muted);cursor:default}.field:not(.boxed) :is(input,textarea):disabled{border-bottom-color:#0000}select:disabled{background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%)}.choice{cursor:pointer;align-items:flex-start;gap:10px;padding:6px 0;display:flex}button.choice{appearance:none;font:inherit;color:inherit;text-align:left;background:0 0;border:0}.choice .choice-name{font-family:var(--font-px);font-size:var(--type-state);text-transform:uppercase;letter-spacing:var(--tracking-state)}.choice .choice-note{color:var(--muted);font:var(--type-control)/1.45 var(--font-body);display:block}.choices{gap:2px;display:grid}.choices.inline{flex-wrap:wrap;gap:2px 24px;display:flex}.choice-box{appearance:none;border:var(--line) solid var(--ink);background:var(--paper);cursor:pointer;border-radius:0;flex:none;place-content:center;width:14px;height:14px;margin-top:2px;padding:0;display:inline-grid}.choice-box:before{content:"";width:6px;height:6px}.choice[role=radio]>.choice-box:before{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);width:8px;height:8px}.choice-box[aria-checked=true]:before,.choice[role=radio][aria-checked=true]>.choice-box:before{background:var(--ink)}.choices[aria-invalid=true]>.choice[role=radio]>.choice-box{border-color:var(--red)}.choices[aria-invalid=true]>.choice[role=radio] .choice-name{color:var(--red)}.choice-box[aria-disabled=true],.choice[role=radio][aria-disabled=true]>.choice-box{border-color:var(--muted);cursor:default}.choice[role=radio][aria-disabled=true]{color:var(--muted);cursor:default}.choice:has(>.choice-box[aria-disabled=true]){color:var(--muted);cursor:default}.field>label:not(.choice),.field-label{font-family:var(--font-px);font-size:var(--type-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--muted);margin-bottom:4px;display:block}.field input,.field textarea{width:100%;font:inherit;color:var(--ink);background:var(--paper);border:none;border-bottom:1px dotted var(--muted);border-radius:0;padding:2px 0}.field textarea{resize:vertical;field-sizing:content;min-height:96px;font:var(--type-body)/1.5 var(--font-body)}textarea::-webkit-resizer{background:linear-gradient(135deg, transparent 0 50%, var(--ink) 50% 100%)}.field input:focus-visible,.field textarea:focus-visible{border-bottom:var(--line) solid var(--ink);outline:none;padding-bottom:1px}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-bottom:2px solid var(--red);padding-bottom:1px}.field:has([aria-invalid=true])>label{color:var(--red)}.field .field-help,.field .field-error{font:var(--type-control)/1.45 var(--font-body);color:var(--muted);margin-top:4px}.field .field-error{color:var(--red)}.field-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px 16px;display:grid}.field.boxed input,.field.boxed textarea{border:var(--line) solid var(--ink);padding:5px 8px}.field.boxed input:focus-visible,.field.boxed textarea:focus-visible{outline:var(--line) solid var(--ink);outline-offset:2px;border-bottom:var(--line) solid var(--ink);padding-bottom:5px}.field.boxed :is(input,textarea)[aria-invalid=true]{border-color:var(--red);padding-bottom:5px}.password{display:grid}.password>*{grid-area:1/1}.password>.iconbtn{place-self:center end;margin-right:4px}.field.boxed .password>input{padding-right:32px}.field .strength{align-items:center;gap:10px;margin-top:6px;display:flex}.field.boxed input[type=date]{min-height:30px;font-family:var(--font-px);font-size:var(--type-state);padding:3px 8px}.field.mono input,.field.mono textarea{font-family:var(--font-code);font-size:var(--type-control)}.title-edit,input.inline-input.title-edit{font-size:var(--type-title);width:100%;font-weight:600}.title-display{font-size:var(--type-title);color:inherit;cursor:text;text-align:left;background:0 0;border:0;border-bottom:1px dotted #0000;width:100%;padding:0;font-weight:600}.title-display:hover{border-bottom-color:var(--muted)}.notice{white-space:normal;overflow-wrap:anywhere;border:var(--line) solid var(--ink);background:var(--paper);font:var(--type-control)/1.45 var(--font-body);align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.notice>div{flex:1;min-width:0}.notice.error{border-color:var(--red)}.notice.quiet{border-color:var(--rule);color:var(--muted)}.notice strong{font-family:var(--font-px);font-size:var(--type-state);text-transform:uppercase;letter-spacing:var(--tracking-head);font-weight:400;display:block}:is(.notice,.outcome,.banner)>.glyph{border:var(--line) solid var(--ink);background:var(--amber);width:20px;height:20px;color:var(--on-status);flex:none;place-items:center;display:grid}:is(.notice,.outcome,.banner)>.glyph.error{background:var(--red);color:var(--on-red);border-color:var(--red)}:is(.notice,.outcome,.banner)>.glyph.ok{background:var(--ink);color:var(--paper)}:is(.notice,.outcome,.banner)>.glyph.quiet{background:var(--head);color:var(--on-head);border-color:var(--rule)}select[aria-invalid=true]{border-color:var(--red)}.field:has([aria-invalid=true])>legend{color:var(--red)}.error-summary ul{gap:7px;margin-top:4px;list-style:none;display:grid}.error-summary a{color:var(--ink);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.error-summary a:hover{text-decoration-thickness:2px}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--type-body)}.table th{font-family:var(--font-px);font-size:var(--type-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--on-head);background:var(--head);text-align:left;border-bottom:var(--hair) solid var(--rule);white-space:nowrap;padding:6px 12px;font-weight:400}.table td{border-bottom:var(--hair) solid var(--rule);vertical-align:middle;padding:8px 12px}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:var(--head)}.table td.num,.table th.num{text-align:right;font-family:var(--font-px);font-size:var(--type-state);font-variant-numeric:tabular-nums;white-space:nowrap}.table td.acts{text-align:right;white-space:nowrap}:is(.table td.acts,.table:has(td.acts) th:last-child){background:var(--paper);position:sticky;right:0}.table:has(td.acts) th:last-child{background:var(--head)}.table tbody tr:hover td.acts{background:var(--head)}@media (width<=600px){:is(.table td.acts,.table:has(td.acts) th:last-child){box-shadow:inset 2px 0 0 var(--ink);padding-left:10px}}.table td.acts .btn+.btn{margin-left:8px}.table .chips{flex-wrap:wrap;gap:6px;display:inline-flex}@media (width<=600px){.table thead{display:none}.table,.table tbody,.table tr,.table td{width:100%;display:block}.table tr{border-bottom:var(--hair) solid var(--rule);padding:10px 12px}.table tbody tr:last-child{border-bottom:0}.table td,.table td.num,.table td.acts{box-shadow:none;text-align:left;white-space:normal;overflow-wrap:anywhere;background:0 0;border:0;padding:2px 0;position:static}.table td[data-label]:before{content:attr(data-label);font-family:var(--font-px);font-size:var(--type-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--muted);display:block}.table td.acts{padding-top:8px}}.table tr.off td:not(.acts){color:var(--muted)}.table tr.off td .name{text-decoration:line-through}.props{grid-template-columns:max-content minmax(0,max-content) minmax(max-content,1fr);align-items:stretch;display:grid}.props>div{display:contents}.props dt,.props dd{border-bottom:var(--hair) solid var(--rule);min-height:var(--row);align-items:center;padding:7px 0;display:flex}.props dt{padding-right:16px}.props dd.acts{padding-left:16px}.props>div:last-child dt,.props>div:last-child dd{border-bottom:0}.props dt{font-family:var(--font-px);font-size:var(--type-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--muted)}.props dd{min-width:0;overflow:hidden}@media (width<=600px){.props{grid-template-columns:minmax(0,1fr) auto}.props dt{border-bottom:0;grid-column:1/-1;min-height:0;padding:8px 0 0}}.props dd code{text-overflow:ellipsis;white-space:nowrap;background:var(--head);padding:1px 6px;overflow:hidden}.code-surface{width:100%;font:var(--type-control)/1.6 var(--font-code);color:var(--ink);background:var(--head);border:var(--line) solid var(--ink);resize:vertical;tab-size:2;white-space:pre;min-height:220px;padding:10px 12px;display:block;overflow:auto}textarea.code-surface{field-sizing:content;max-height:60vh}@media (width<=600px){textarea.code-surface{white-space:pre-wrap;overflow-wrap:anywhere}}pre.code-surface{resize:none;white-space:pre-wrap;overflow-wrap:anywhere;min-height:0;margin:0}.tok-keyword{color:var(--code-keyword)}.tok-string,.tok-string2,.tok-url{color:var(--code-string)}.tok-number,.tok-bool,.tok-atom,.tok-literal{color:var(--code-number)}.tok-definition,.tok-variableName2,.tok-macroName,.tok-link{color:var(--code-function)}.tok-typeName,.tok-className,.tok-namespace{color:var(--code-type)}.tok-comment,.tok-meta,.tok-punctuation{color:var(--code-comment)}.tok-heading,.tok-strong{font-weight:700}.tok-emphasis{font-style:italic}.tok-link{text-underline-offset:3px;text-decoration:underline}.tok-inserted{color:var(--term-green)}.tok-deleted,.tok-invalid{color:var(--term-red)}.tok-invalid{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.secret{border:var(--line) solid var(--ink);background:var(--head);align-items:center;gap:10px;padding:6px 6px 6px 12px;display:flex}.secret code{white-space:nowrap;min-width:0;font-size:var(--type-control);letter-spacing:.02em;flex:1;overflow-x:auto}@media (width<=600px){.secret code{white-space:normal;overflow-wrap:anywhere}}.history-list{border-top:var(--hair) solid var(--rule);list-style:none}.history-list li{border-bottom:var(--hair) solid var(--rule);align-items:center;gap:12px;padding:8px 0;display:flex}.history-list li:last-child{border-bottom:0}.history-list .v{font-family:var(--font-px);font-size:var(--type-state);flex:none;width:calc(4ch + 8px);padding:0 4px}.history-list .who{font-family:var(--font-px);font-size:var(--type-label);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:none;width:10ch;max-width:16ch;overflow:hidden}.history-list .what{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.history-list li.current .v{background:var(--ink);color:var(--paper)}.history-list li.current .v .age{color:inherit}.save-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.save-row .push{align-items:center;gap:12px;margin-left:auto;display:inline-flex}.diff-wrap{border:var(--line) solid var(--ink);background:var(--paper);padding:4px 0;overflow-x:auto}.diff{border-collapse:collapse;width:100%;font:var(--type-control)/1.6 var(--font-code)}.diff td{vertical-align:top;white-space:nowrap;padding:0 8px}.diff td.line{white-space:pre}.diff td.ln{text-align:right;width:1%;font-family:var(--font-px);font-size:var(--type-label);color:var(--muted);border-right:var(--hair) solid var(--rule);-webkit-user-select:none;user-select:none;line-height:19px}.diff td.sign{width:1%;font-family:var(--font-px);-webkit-user-select:none;user-select:none;padding:0 4px 0 8px}.diff tr.add{background:var(--head)}.diff tr.add td.sign{color:var(--ink)}.diff tr.add td.ln{color:var(--on-head)}.diff tr.del td.line{color:var(--muted)}.diff tr.del td.sign{color:var(--red)}.diff tr.fold td{font-family:var(--font-px);font-size:var(--type-label);text-transform:uppercase;letter-spacing:var(--tracking-title);color:var(--on-head);background:var(--head);border-top:var(--hair) solid var(--rule);border-bottom:var(--hair) solid var(--rule);padding:2px 12px}@media (width<=600px){.diff td.line{white-space:pre-wrap;overflow-wrap:anywhere}}dialog.veil{color:inherit;margin:0;overflow-y:auto}dialog.veil[open]{display:block}dialog.veil:focus{outline:none}.veil-pad{pointer-events:none;place-items:center;min-height:100%;padding:24px;display:grid;position:relative}.veil-pad>*{pointer-events:auto}.veil-pad.top{align-items:start;padding-top:18vh}.veil-backdrop{background:var(--veil-grain), var(--veil);animation:veilIn var(--motion-veil) steps(3, end);position:fixed;inset:0}@keyframes veilIn{0%{opacity:0}}.card{background:var(--paper);border:var(--line) solid var(--ink);box-shadow:var(--shadow-card);width:min(680px,100%);animation:cardIn var(--motion-card) steps(3, end);flex-direction:column;max-height:calc(100vh - 48px);display:flex}.card.narrow{width:min(440px,100%)}@keyframes cardIn{0%{opacity:0;transform:scale(.97)}}.card-tb{background:var(--ink);color:var(--paper);font-family:var(--font-px);flex:none;align-items:center;gap:10px;padding:6px 8px 6px 12px;display:flex}.card-tb h2{font-size:var(--type-body);text-transform:uppercase;letter-spacing:var(--tracking-head);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:400;overflow:hidden}.card-tb .meta{font-size:var(--type-state);color:inherit;opacity:.75}.card-tb .iconbtn[aria-disabled=true]{opacity:.6;cursor:default}:is(.panel-tb,.card-tb) :focus-visible{outline-color:var(--paper);outline-offset:-2px}.card-body{overflow-wrap:break-word;padding:var(--pad);gap:var(--space-m);display:grid;overflow-y:auto}.card-body>*{min-width:0}.card-actions{border-top:var(--line) solid var(--ink);flex-wrap:wrap;flex:none;align-items:center;gap:12px;padding:12px 16px;display:flex}.card-acts{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-left:auto;display:flex}.outcome{align-items:flex-start;gap:14px;display:flex}.outcome>.glyph{width:34px;height:34px}.outcome-body{grid-template-columns:minmax(0,1fr);gap:4px;min-width:0;display:grid}.outcome-body>strong{overflow-wrap:anywhere;font-family:var(--font-px);font-size:var(--type-control);text-transform:uppercase;letter-spacing:var(--tracking-head);font-weight:400}.outcome-body>p{overflow-wrap:anywhere;max-width:52ch}.outcome-body>p+*{margin-top:8px}.keymap{gap:14px;display:grid}.keymap h3{font-family:var(--font-px);font-size:var(--type-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--muted);margin:0 0 4px;font-weight:400}.keymap-row{border-bottom:var(--hair) solid var(--rule);align-items:baseline;gap:16px;padding:4px 0;display:flex}.keymap-row:last-child{border-bottom:0}.keymap-row kbd{font-family:var(--font-px);font-size:var(--type-state);flex:none;width:12ch}.keymap-row span{font-family:var(--font-px);font-size:var(--type-state);color:var(--muted)}.palette-q{flex-wrap:wrap;flex:none;align-items:center;gap:8px;padding:12px 16px 8px;display:flex}.palette-q input{flex:14ch;width:auto;min-width:0}.palette-scope{font-family:var(--font-px);font-size:var(--type-label);color:var(--muted);border:var(--hair) solid var(--rule);overflow-wrap:anywhere;flex:0 auto;min-width:0;padding:1px 5px}.palette-title{font-family:var(--font-px);font-size:var(--type-label);text-transform:uppercase;letter-spacing:var(--tracking-label);flex:none}.palette-list{max-height:min(50vh,420px);padding:4px 0 8px;overflow-y:auto}.palette-group{font-family:var(--font-px);font-size:var(--type-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--muted);padding:8px 16px 2px}.palette-row{width:100%;font-family:var(--font-px);font-size:var(--type-control);text-transform:uppercase;letter-spacing:var(--tracking-caps);cursor:pointer;color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:8px 16px;display:flex}.palette-row[aria-disabled=true]{color:var(--muted);cursor:default}.palette-row[aria-selected=true]{background:var(--ink);color:var(--paper)}.palette-row:hover:not([aria-selected=true]){background-color:var(--head)}.palette-row .hint{font-size:var(--type-state);text-transform:none;color:var(--muted);white-space:normal;overflow-wrap:anywhere;flex:0 auto;min-width:0;max-width:50%;margin-left:auto}.palette-label{white-space:normal;overflow-wrap:anywhere;flex:1;min-width:0}.palette-row[aria-selected=true] .hint,.palette-row[aria-selected=true] .tag{color:inherit;opacity:.75}.palette-row[aria-selected=true] .tag{border-color:currentColor}.palette-row.authored{font-family:var(--font-body);font-size:var(--type-body);text-transform:none;letter-spacing:normal}.palette-row.authored .glyph{color:var(--muted);display:inline-flex}.palette-row[aria-selected=true] .glyph{color:inherit}.palette-row .glyph.opens{color:var(--muted);display:inline-flex}.palette-row:has(.hint) .glyph.opens{margin-left:-4px}.palette-row:not(:has(.hint)) .glyph.opens{margin-left:auto}.palette-detail{gap:8px;padding:4px 16px;display:grid}.palette-more{border-top:var(--hair) solid var(--rule);font-family:var(--font-px);font-size:var(--type-state);color:var(--muted);flex:none;padding:4px 16px 8px}.empty{text-align:center;justify-items:center;gap:6px;padding:26px 16px;display:grid}.empty-title{font-family:var(--font-px);font-size:var(--type-control);text-transform:uppercase;letter-spacing:var(--tracking-title);margin:0;font-weight:400}.empty p{color:var(--muted);max-width:46ch}.empty .btn{margin-top:6px}.banner{bottom:calc(var(--statusbar-h,0px) + 16px);z-index:150;background:var(--paper);border:var(--line) solid var(--ink);box-shadow:var(--shadow-button);align-items:center;gap:14px;max-width:min(680px,100vw - 32px);padding:8px 14px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.banner>.glyph{width:26px;height:26px}.wall{place-items:center;min-height:100vh;padding:24px;display:grid}.wall .card{animation:none}.wall-mark{align-items:center;gap:12px;display:flex}.wall-mark .wordmark{font-size:var(--type-wordmark-wall)}.wall-mark .glyph{border:var(--line) solid var(--ink);background:var(--paper);width:30px;height:30px;color:var(--ink);place-items:center;display:grid}.wall-corner{z-index:1;background:var(--paper);border:var(--line) solid var(--ink);max-width:calc(100% - 24px);box-shadow:var(--shadow-button);flex-wrap:wrap;align-items:center;gap:10px;padding:6px 8px;display:flex;position:absolute;top:12px;left:12px}.wall-corner~.wall{padding-top:72px}@media (width<=600px){.wall-corner{width:fit-content;margin:12px 12px 0;position:static}.wall-corner~.wall{padding-top:24px}}.card-body>.rows{margin-inline:calc(-1 * var(--pad));border-block:var(--hair) solid var(--rule)}.row .grow>.identity{white-space:normal}.group-name{font-family:var(--font-px);font-size:var(--type-name);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.row.context .title,.row.context .group-name,.row.context:hover button.glyph{color:var(--muted)}@media (width<=600px){.tree .row{flex-wrap:wrap;justify-content:flex-end;row-gap:4px}.tree .row .grow{flex:calc(100% - 30px)}.tree .row .title{-webkit-line-clamp:3}.tree .row:has(.group-name){flex-wrap:nowrap}.tree .row:has(.group-name) .grow{flex:1}}.due{font-family:var(--font-px);font-size:var(--type-state);color:var(--muted);white-space:nowrap}.due.late{color:var(--red)}.board{grid-template-columns:repeat(var(--cols,3), minmax(0, 1fr));gap:var(--gap);align-items:start;display:grid}.board-col{min-width:0}@media (width>=901px){.board{align-items:stretch}.board-col .panel{flex-direction:column;height:100%;max-height:calc(100vh - 150px);display:flex}.board-col .board-cards{overflow-y:auto}}@media (width<=900px){.board{grid-template-columns:1fr}}.board-col.drop-target .panel{outline:var(--line) dashed var(--ink);outline-offset:4px}.board-col.drop-target .board-cards,.board-col.drop-target .empty{background:var(--head)}.board-cards{grid-template-columns:minmax(0,1fr);gap:12px;padding:12px;list-style:none;display:grid}.board-card{border:var(--line) solid var(--ink);background:var(--paper);box-shadow:var(--shadow-button);grid-template-columns:minmax(0,1fr);gap:7px;padding:9px 11px;display:grid;position:relative}.board-card.movable{cursor:grab}.board-card [data-board-grip]{cursor:grab;touch-action:none;margin-right:-6px}.board-card.lifted{cursor:grabbing;background:var(--head);box-shadow:var(--shadow-card)}.board-lift{width:var(--lift-width,240px);translate:var(--lift-x,0) var(--lift-y,0)}.board-lift-slot{list-style:none}.board-card:hover{background:var(--head)}.board-card.drag-dim{opacity:.4}.board-card:focus-within{outline:var(--line) solid var(--ink);outline-offset:2px;background:var(--head)}.board-card .title:focus-visible{outline:none}.board-card[aria-current=true]:is(:hover,:focus-within){background-color:var(--ink)}.board-card .title{font:inherit;color:inherit;cursor:pointer;text-align:left;-webkit-line-clamp:2;overflow-wrap:anywhere;background:0 0;border:none;-webkit-box-orient:vertical;padding:0;display:-webkit-box;overflow:hidden}.board-card input.inline-input{color:var(--ink)}.board-card input.inline-input:focus-visible{outline:none}.board-card .meta-row{align-items:center;gap:8px;min-height:14px;display:flex}.board-card .meta-row .gap{flex:1}.sortable-items{list-style:none}.sortable-item{min-width:0;padding:8px var(--pad) 8px 10px;background:var(--paper);border-bottom:var(--hair) solid var(--rule);align-items:center;gap:10px;display:flex;position:relative}.sortable-items>.sortable-item:last-child{border-bottom:0}.sortable-body{flex:1;min-width:0}.sortable-item.movable{cursor:grab}.sortable-item [data-sortable-grip]{flex:none}.sortable-item.movable [data-sortable-grip]{cursor:grab;touch-action:none}.sortable-item.movable:hover{background:var(--head)}.sortable-item.drag-dim{opacity:.4}.sortable-item:is(.drop-before,.drop-after):before{content:"";border-top:var(--line) dashed var(--ink);pointer-events:none;position:absolute;left:0;right:0}.sortable-item.drop-before:before{top:-1px}.sortable-item.drop-after:before{bottom:-1px}.sortable.grid .sortable-item:is(.drop-before,.drop-after):before{border-top:0;border-left:var(--line) dashed var(--ink);inset:-2px auto}.sortable.grid .sortable-item.drop-before:before{left:-9px}.sortable.grid .sortable-item.drop-after:before{right:-9px}.sortable-item.lifted{border:var(--line) solid var(--ink);background:var(--head);box-shadow:var(--shadow-card);cursor:grabbing}.sortable-slot{padding:6px;list-style:none}.sortable-lift{width:var(--lift-width,320px);translate:var(--lift-x,0) var(--lift-y,0)}.sortable.grid .sortable-items{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;padding:12px;display:grid}.sortable.grid .sortable-item{border:var(--line) solid var(--ink);height:100%;box-shadow:var(--shadow-button);align-items:flex-start;padding:9px 11px 9px 6px}.sortable.grid .sortable-item.lifted{box-shadow:var(--shadow-card)}.sortable.grid .sortable-slot{padding:0}:root[data-pixel-paper-dragging]{-webkit-user-select:none;user-select:none}:root[data-pixel-paper-dragging] *{cursor:grabbing!important}.cells{border:var(--line) solid var(--ink);background:var(--paper);flex:none;gap:2px;padding:2px;display:inline-flex}.cells .cell{background:var(--head);width:10px;height:14px}.cells .cell.on{background:var(--ink)}.cells.short .cell{width:24px;height:8px}@media (width<=600px){.cells:not(.short,.meters *) .cell{width:8px}}.meters{list-style:none;container:meters/inline-size}.meter-row{gap:6px var(--gap);padding:14px var(--pad);border-bottom:var(--hair) solid var(--rule);grid-template-columns:minmax(180px,240px) minmax(0,1fr);display:grid}.meter-row:last-child{border-bottom:0}.meter-head{flex-direction:column;grid-row:span 2;align-items:flex-start;gap:2px;display:flex}.meter-row .notice{grid-column:1/-1;align-items:center}@container meters (width<560px){.meter-row{grid-template-columns:minmax(0,1fr)}.meter-head{flex-flow:wrap;grid-row:auto;align-items:baseline;gap:2px 12px}.meter-num{width:100%}}@container meters (width<280px){.meters .cells .cell{width:8px}}@container meters (width<240px){.meters .cells .cell{width:6px}}@container meters (width<200px){.meters .cells .cell{width:4px}}.meter-name{overflow-wrap:anywhere;font-family:var(--font-px);font-size:var(--type-name);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.meter-detail{font-family:var(--font-px);font-size:var(--type-label);color:var(--muted)}.meter-line{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.meter-row.stale .cells .cell.on{background:var(--muted)}.meter-line .pct{font-family:var(--font-px);font-size:var(--type-control);min-width:4ch}.mark.reading{font-family:var(--font-px);font-size:var(--type-state);padding:1px 6px}.meter-num{font-family:var(--font-px);font-size:var(--type-state);color:var(--muted)}.meter-foot{font-family:var(--font-px);font-size:var(--type-state);color:var(--muted);flex-wrap:wrap;gap:16px;display:flex}.meter-foot .late{color:var(--red)}.history-list.checks{border-top:0}.history-list.checks .who{width:20ch;max-width:none}.history-list .what.failed{color:var(--red)}@media (width<=600px){.history-list.checks .who{width:12ch}}.history-list.wrapped{border-top:0}.history-list.wrapped li{flex-wrap:wrap;row-gap:2px;padding:6px 0}.history-list.wrapped li:first-child{padding-top:0}.history-list.wrapped li:last-child{padding-bottom:0}.history-list.wrapped .v{width:auto;color:var(--muted);padding:0}.history-list.wrapped li.current .v{padding:0 4px}.history-list.wrapped .who{white-space:normal;overflow-wrap:anywhere;flex:1;width:auto;max-width:none}.history-list.wrapped li>:not(.v,.who,.what){margin-left:auto}.history-list.wrapped .what{font-size:var(--type-control);white-space:normal;overflow-wrap:anywhere;flex-basis:100%;order:1;line-height:1.45}.chart{min-width:0}.chart .cell{background:var(--head)}.chart .cell.on{background:var(--ink)}.bar-scale,.bar-label,.line-scale,.line-labels,.chart-key{font-family:var(--font-px);font-size:var(--type-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--muted);font-variant-numeric:tabular-nums;line-height:10px}.bar-num{font-family:var(--font-px);font-size:var(--type-state);color:var(--muted)}.bar-value{font-variant-numeric:tabular-nums}.bar-cols .bar-num.none{white-space:normal;text-align:center}.bar-cols{grid-template-columns:max-content repeat(var(--n), minmax(6px, 40px));grid-template-rows:auto auto auto;gap:8px 2px;padding:0 4px 2px 0;display:grid;overflow-x:auto}.bar-cols.each{grid-template-columns:max-content repeat(var(--n), minmax(min-content, 48px))}.bar-cols:before,.bar-rows:before{content:"";border:var(--line) solid var(--ink);background:var(--paper);margin:-4px}.bar-cols:before{grid-area:2/2/auto/-1}.bar-scale{flex-direction:column;grid-area:2/1;justify-content:space-between;align-items:flex-end;margin-right:10px;display:flex}.bar-cols .bar-value{white-space:nowrap;grid-row:1;place-self:end center;padding-inline:2px;display:flex}.bar-cols .bar-cells{grid-row:2;grid-template-rows:repeat(var(--cells), 10px);gap:2px;display:grid}.bar-cols .bar-label{white-space:nowrap;text-overflow:ellipsis;grid-row:3;width:0;min-width:100%;overflow:hidden}.bar-cols.each .bar-label{text-align:center;justify-self:center;width:auto;min-width:0;max-width:10ch}.bar-rows{grid-template-columns:minmax(0,max-content) minmax(120px,1fr) max-content;grid-template-rows:repeat(var(--n), 14px);gap:2px 14px;padding-block:4px;display:grid}.bar-rows:before{grid-area:1/2/-1}.bar-rows .bar-label{white-space:nowrap;text-overflow:ellipsis;grid-column:1;max-width:24ch;line-height:14px;overflow:hidden}.bar-rows .bar-cells{grid-column:2;grid-template-columns:repeat(var(--cells), minmax(0, 1fr));gap:2px;display:grid}.bar-rows .bar-value{grid-column:3;align-items:center;display:flex}.bar-rows .chip{padding-block:0;line-height:10px}.bar-rows .mark.reading{padding-block:0;line-height:14px}@media (width<=600px){.bar-rows .bar-label{max-width:12ch}}.line-chart{grid-template-columns:max-content minmax(0,1fr);grid-template-areas:".key""scale plot"".labels";gap:8px 10px;display:grid}.chart-key{flex-wrap:wrap;grid-area:key;gap:6px 16px;list-style:none;display:flex}.chart-key li{align-items:center;gap:6px;display:flex}.key-cell{background:var(--ink);width:6px;height:6px}.chart-key .second .key-cell{background:var(--muted);width:4px;height:4px;margin:1px}.line-scale{flex-direction:column;grid-area:scale;justify-content:space-between;align-items:flex-end;padding-top:6px;display:flex}.line-scale>:first-child{translate:0 -50%}.line-scale>:last-child{translate:0 50%}.line-plot{height:var(--chart-plot);border-left:var(--hair) solid var(--rule);border-bottom:var(--hair) solid var(--rule);grid-area:plot;padding:6px 8px 0}.line-plot svg{width:100%;height:100%;display:block;overflow:visible}.line-plot path{fill:none;stroke:var(--ink);vector-effect:non-scaling-stroke;stroke-linecap:square;shape-rendering:crispedges}.line-path{stroke-width:var(--line)}.line-cells{stroke-width:6px}.line-plot .second path{stroke:var(--muted)}.line-plot .second .line-cells{stroke-width:4px}.line-labels{grid-area:labels;height:10px;margin:0 8px 0 9px;position:relative}.line-labels>span{white-space:nowrap;text-overflow:ellipsis;max-width:12ch;position:absolute;top:0;overflow:hidden;translate:-50%}.line-labels>.first{translate:0}.line-labels>.last{translate:-100%}@media (width<=600px){.line-labels>span:nth-child(2n){display:none}}.crumbs ol{font-family:var(--font-px);font-size:var(--type-state);letter-spacing:var(--tracking-caps);flex-wrap:wrap;align-items:center;gap:2px 0;list-style:none;display:flex}.crumbs li+li:before{content:"/";color:var(--muted);margin:0 8px}.crumbs a{color:var(--muted);border-bottom:var(--hair) dotted transparent;text-decoration:none}.crumbs a:hover{color:var(--ink);border-bottom-color:var(--ink)}.crumbs [aria-current=page]{color:var(--ink)}.file-tree{border:var(--line) solid var(--ink);padding:6px 0}.panel>.file-tree{border:0}.file-tree ul{list-style:none}.file-tree ul ul{padding-left:16px;position:relative}.file-tree ul ul:before{content:"";background:var(--rule);width:1px;position:absolute;top:0;bottom:6px;left:15px}.file{width:100%;font-family:var(--font-code);font-size:var(--type-control);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:5px 10px;text-decoration:none;display:flex}.file:hover{background:var(--head)}.file[aria-current=true]{background:var(--ink);color:var(--paper)}.file .glyph{color:var(--muted);flex:none;display:inline-flex}.file[aria-current=true] .glyph,.file[aria-current=true] .tag{color:inherit;border-color:currentColor}.file .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.drop-zone{padding:28px var(--pad);text-align:center;border:var(--line) dashed var(--ink);justify-items:center;gap:10px;display:grid}.drop-zone[data-drag-over]{background:var(--head);border-style:solid}.drop-zone-glyph{border:var(--line) solid var(--ink);background:var(--paper);place-items:center;width:34px;height:34px;display:grid}.drop-zone p{color:var(--muted);max-width:44ch}.drop-zone p strong{font-family:var(--font-px);font-size:var(--type-control);text-transform:uppercase;letter-spacing:var(--tracking-title);color:var(--ink);margin-bottom:2px;font-weight:400;display:block}.drop-zone .btn:focus-within{outline:var(--line) solid var(--ink);outline-offset:2px}.sheet{padding:28px 32px 36px}.sheet-head{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.sheet-title{font:var(--read-weight) var(--read-title) / 1.15 var(--font-body);letter-spacing:-.01em;text-wrap:balance;max-width:var(--read-measure);flex:20ch}.sheet-title:focus{outline:none}.sheet-acts{gap:10px;padding-top:4px;display:flex}.byline{margin:10px 0 var(--gap);border-bottom:var(--hair) solid var(--rule);font-family:var(--font-px);font-size:var(--type-label);letter-spacing:var(--tracking-caps);color:var(--muted);padding-bottom:14px}.sheet>.notice{max-width:var(--read-measure);margin-bottom:20px}@media (width<=600px){.sheet{padding:20px var(--pad) 28px}.sheet-title{font-size:25px}.sheet-acts{padding-top:0}}.prose{font:var(--read-body) / 1.65 var(--font-body);color:var(--ink)}.prose>p,.prose>ul,.prose>ol,.prose>:is(h1,h2,h3,h4,h5,h6),.prose>blockquote,.prose>.notice{max-width:var(--read-measure)}.prose>*+*{margin-top:1em}.prose :is(h1,h2){font:var(--read-weight) var(--read-h2) / 1.3 var(--font-body);letter-spacing:-.005em;text-wrap:balance;margin-top:2em}.prose h3{font:var(--read-weight) var(--read-h3) / 1.4 var(--font-body);margin-top:1.6em}.prose :is(h4,h5,h6){margin-top:calc(1.6 * var(--read-body))}.prose h4{font:var(--type-control) / 1.4 var(--font-px);text-transform:uppercase;letter-spacing:var(--tracking-label)}.prose h5{font:var(--read-weight) var(--type-body) / 1.45 var(--font-body)}.prose h6{font:var(--type-label) / 1.4 var(--font-px);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--muted)}.prose :is(h1,h2,h3,h4,h5,h6)+*{margin-top:.5em}.prose>:first-child{margin-top:0}.prose :is(h1,h2,h3,h4,h5,h6):focus{outline:none}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.35em}.prose ul{list-style:square}.prose li::marker{color:var(--muted)}.prose ol li::marker{font-family:var(--font-px);font-size:var(--type-control)}.prose strong{font-weight:var(--read-weight)}.prose :not(pre)>code{background:var(--head);padding:1px 5px;font-size:.85em}.prose pre.code-surface{font-size:12.5px}.prose .table-wrap{border:var(--line) solid var(--ink)}.prose .table{font-size:var(--type-name)}.prose .table td{vertical-align:top}.prose blockquote{border-left:var(--hair) solid var(--ink);color:var(--muted);padding-left:16px}.prose hr{border:0;border-top:var(--hair) solid var(--rule);margin:2em 0}.prose .notice{font:var(--type-name) / 1.55 var(--font-body)}.prose a{color:var(--ink);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.prose a:hover{text-decoration-thickness:2px}.prose a.missing{color:var(--red);text-decoration-style:dotted;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red)}.toc{padding:6px 0;list-style:none}.toc a{font:var(--type-body) / 1.35 var(--font-body);color:var(--ink);align-items:baseline;gap:8px;padding:5px 12px;text-decoration:none;display:flex}.toc .l3 a{font-size:var(--type-control);color:var(--muted);padding-left:28px}.toc-entry{gap:2px;display:grid}.toc a:before{content:"";flex:none;width:6px;height:6px;transform:translateY(-1px)}.toc a[aria-current=true]:before{background:var(--ink)}.toc a[aria-current=true]{color:var(--ink)}.toc a:hover{background:var(--head)}.chip .cursor,.link-state .cursor{width:5px;height:9px;margin-left:4px}.loading .cursor{margin-left:6px}.loading{text-align:center;font-family:var(--font-px);font-size:var(--type-control);text-transform:uppercase;letter-spacing:var(--tracking-title);color:var(--muted);padding:26px 16px}.loading-idle{position:absolute}.monogram{border:var(--line) solid var(--ink);background:var(--paper);width:22px;height:22px;color:var(--ink);font-family:var(--font-px);font-size:var(--type-state);text-transform:uppercase;-webkit-user-select:none;user-select:none;flex:none;place-items:center;line-height:1;display:inline-grid}.monogram.large{width:34px;height:34px;font-size:var(--type-name)}.monogram.current{background:var(--ink);color:var(--paper)}.identity{align-items:center;gap:10px;min-width:0;display:flex}.identity-text{gap:2px;min-width:0;display:grid}.identity-text strong{overflow-wrap:anywhere;font-weight:600}.identity-text .meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.identity.large{gap:12px}.identity.large strong{font-size:var(--type-title)}.stats{grid-template-columns:repeat(var(--cols,4), minmax(0, 1fr));display:grid;overflow:clip}.stat{min-width:0;padding:14px var(--pad);margin:0 calc(-1 * var(--hair)) calc(-1 * var(--hair)) 0;border-right:var(--hair) solid var(--rule);border-bottom:var(--hair) solid var(--rule);align-content:start;justify-items:start;gap:6px;display:grid}.stat>*{overflow-wrap:anywhere;max-width:100%}.stat-value{font-family:var(--font-px);font-size:var(--type-figure);font-variant-numeric:tabular-nums;color:var(--ink);line-height:1.1}.stat-value.unknown{color:var(--muted)}.stat-value .cursor{vertical-align:-2px;width:12px;height:24px}.stat-unit{font-size:var(--type-control);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--muted);margin-left:6px}.stat-delta{font-family:var(--font-px);font-size:var(--type-state);letter-spacing:var(--tracking-state);font-variant-numeric:tabular-nums;color:var(--ink);align-items:center;gap:4px;display:inline-flex}.stat-delta.warn,.stat-delta.error{border:var(--line) solid var(--ink);padding:1px 6px}.stat-delta.warn{background:var(--amber);color:var(--on-status)}.stat-delta.error{background:var(--paper);color:var(--red);border-color:var(--red)}.stat-note{max-width:46ch;font:var(--type-control) / 1.45 var(--font-body);color:var(--muted)}.stat:last-child{border-right:0}@media (width<=900px){.stat-value{font-size:var(--type-figure-narrow)}.stat-value .cursor{width:9px;height:18px}}@media (width<=600px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:12px}}.tip[popover]{position-anchor:auto;position-area:top;position-try-fallbacks:top span-left, top span-right, flip-block, bottom span-left, bottom span-right;outline:var(--line) solid var(--paper);background:var(--ink);max-width:min(36ch,100vw - 24px);color:var(--paper);font-family:var(--font-px);font-size:var(--type-state);text-transform:uppercase;letter-spacing:var(--tracking-state);border:0;margin:0 0 6px;padding:3px 7px;line-height:1.35;inset:auto;overflow:visible}.toolbar{gap:var(--line);border:var(--line) solid var(--ink);background:var(--ink);width:fit-content;max-width:100%;display:inline-flex}.toolbar.floating{box-shadow:var(--shadow-button)}.toolbar[aria-orientation=vertical]{flex-direction:column}.toolbar>:is(button,a){min-width:30px;height:28px;font-family:var(--font-px);font-size:var(--type-state);text-transform:uppercase;letter-spacing:var(--tracking-state);background:var(--paper);color:var(--ink);box-shadow:none;cursor:pointer;white-space:nowrap;border:0;justify-content:center;align-items:center;gap:6px;padding:0 10px;text-decoration:none;display:inline-flex}.toolbar>.iconbtn{width:30px;padding:0}.toolbar>:is(button,a):hover{background:var(--head)}.toolbar>:focus-visible{outline-offset:-4px;outline-color:currentColor}.toolbar>[aria-pressed=true],.toolbar>[aria-pressed=true]:hover{background:var(--ink);color:var(--paper)}.toolbar>:is(button,a):not(:disabled,[aria-disabled=true]):active{box-shadow:none;transform:translate(1px,1px)}.toolbar>button:disabled{background:var(--paper);color:var(--muted);cursor:default}.tip[popover][data-side=right]{position-area:right;position-try-fallbacks:flip-inline;margin:0 0 0 6px}.disclosure>:is(summary,.disclosure-summary){width:100%;color:inherit;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--font-px);font-size:var(--type-control);text-transform:uppercase;letter-spacing:var(--tracking-caps);background:0 0;border:0;align-items:center;gap:8px;padding:3px 0;list-style:none;display:flex}.disclosure>summary::-webkit-details-marker{display:none}.disclosure[open]>summary .px-icon,.disclosure>.disclosure-summary[aria-expanded=true] .px-icon{transform:rotate(90deg)}.disclosure-label{border-bottom:1px dotted #0000}.disclosure>:is(summary,.disclosure-summary):hover .disclosure-label{border-bottom-color:var(--ink)}.disclosure>.disclosure-summary[aria-disabled=true]{color:var(--muted);cursor:default}.disclosure>.disclosure-summary[aria-disabled=true]:hover .disclosure-label{border-bottom-color:#0000}.disclosure>:is(summary,.disclosure-summary) .meta{margin-left:auto}.disclosure-body{gap:var(--space-m);border-left:var(--hair) solid var(--rule);margin:6px 0 2px 5px;padding:4px 0 4px 14px;display:grid}.disclosure-body>*{min-width:0}.statusbar{z-index:40;background:var(--paper);border-top:var(--hair) solid var(--rule);font-family:var(--font-px);font-size:var(--type-state);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 16px;padding:4px 20px;display:flex;position:fixed;bottom:0;left:0;right:0}.statusbar-state{flex-wrap:wrap;align-items:center;gap:4px 12px;min-width:0;display:flex}.statusbar-keys{flex-wrap:wrap;gap:4px 12px;margin:0;display:flex}.statusbar-keys .key-hint{font:inherit;color:var(--ink)}.railed{padding-left:var(--rail)}.rail[popover]{inset:auto;top:anchor(--topbar bottom, 0px);bottom:var(--statusbar-h,0px);align-content:start;gap:var(--gap);width:var(--rail);height:auto;padding:var(--gap) 10px var(--gap) 20px;color:inherit;background:0 0;border:0;margin:0;display:grid;position:fixed;left:0;overflow-y:auto}.rail>*{min-width:0}.rail-head,.rail-open{display:none}@media (width<=900px){.railed{padding-left:0}.rail[popover]:not(:popover-open){display:none}.rail[popover]:popover-open{width:min(calc(var(--rail) + 48px), calc(100vw - 40px));height:100dvh;max-height:none;padding:12px 16px var(--gap) 12px;background:var(--dither);border-right:var(--line) solid var(--ink);box-shadow:var(--shadow-card);animation:railIn var(--motion-card) steps(3, end);inset:0 auto 0 0}.rail[popover]::backdrop{background:var(--veil-grain), var(--veil)}.rail-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.rail-open{justify-self:start;display:inline-flex}}@keyframes railIn{0%{translate:-100%}}.stage{top:anchor(--topbar bottom, 0px);right:0;bottom:var(--statusbar-h,0px);position:fixed;left:0;overflow:hidden}.stage-work,.stage-canvas{position:absolute;inset:0}.stage-tools{z-index:10;position:absolute;top:50%;left:16px;translate:0 -50%}.stage-bar{z-index:10;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 32px);display:flex;position:absolute;top:16px;left:50%;translate:-50%}.stage-paused{z-index:20;background:var(--veil-grain), var(--veil);place-items:center;padding:24px;display:grid;position:absolute;inset:0}.stage-paused>.notice{width:min(460px,100%);box-shadow:var(--shadow-button)}@media (width<=600px){.stage-tools{top:auto;bottom:16px;left:50%;translate:-50%}.stage-tools .toolbar{flex-direction:row}}.window{flex-direction:column;height:100%;min-height:0;display:flex}.window>.panel-tb{-webkit-user-select:none;user-select:none;align-items:center;gap:8px;min-height:30px;padding:3px 3px 3px 10px}.window>.panel-tb h2{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.window>.panel-tb .chip{border-color:var(--paper)}.window>.panel-tb .iconbtn,.window>.panel-tb .iconbtn.quiet{color:inherit}.window-body{align-content:start;gap:var(--space-m);min-height:0;padding:var(--pad);flex:1;display:grid;overflow:auto}.window.flush .window-body{padding:0;display:block}.window.flush .window-body>:is(.code-surface,.file-tree,.diff-wrap){border:0;min-height:100%}.window-body>*{min-width:0}.image,.video{gap:6px;min-width:0;max-width:100%;display:grid}.image-frame,.media-screen{box-sizing:content-box;aspect-ratio:var(--ratio);background:var(--head);position:relative;overflow:hidden}.image-frame,.media-box,.audio{border:var(--line) solid var(--ink)}.image-frame>img,.media-screen>video{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.media-screen>video{object-fit:contain}.media-screen>video::cue{font-family:var(--font-body);background:var(--ink);color:var(--paper)}.image-wait{background:var(--head);color:var(--on-head);place-items:center;display:grid;position:absolute;inset:0}.image.waiting img{visibility:hidden}.media-wait{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.media-wait>.loading{border:var(--line) solid var(--ink);background:var(--paper);color:var(--ink);padding:4px 10px}.image.broken>.image-frame,.video.broken>.media-box,.audio.broken{border-color:var(--red)}.image.broken img{visibility:hidden}.media-broken{background:var(--paper);place-items:center;padding:12px;display:grid;position:absolute;inset:0;overflow:hidden}:is(.media-broken,.audio)>.notice{background:0 0;border:0;max-width:52ch}.media-caption{font:var(--type-control) / 1.45 var(--font-body);color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:2px 12px;display:flex}.media-caption>.meta{margin-left:auto}.media-bar{background:var(--paper);flex-wrap:wrap;align-items:center;gap:4px 8px;padding:3px 6px;display:flex}.video .media-bar{border-top:var(--line) solid var(--ink);flex-wrap:nowrap}.media-bar .iconbtn:hover{background:var(--head)}.media-bar .iconbtn[aria-pressed=true]{background:var(--ink);color:var(--paper)}.media-bar .iconbtn:is(:disabled,[aria-disabled=true]){color:var(--muted);cursor:default;background:0 0}.media-title{text-overflow:ellipsis;white-space:nowrap;flex:12ch;min-width:0;overflow:hidden}.media-seek{flex:120px;min-width:48px;display:flex;position:relative}.media-seek>.cells{flex:1}.media-seek>.cells>.cell{flex:1;width:auto;min-width:2px}.media-seek>input{opacity:0;appearance:none;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.media-seek>input::-webkit-slider-thumb{appearance:none;width:2px;height:22px}.media-seek>input::-moz-range-thumb{border:0;width:2px}.media-seek>input:is(:disabled,[aria-disabled=true]){cursor:default}.media-seek:has(>input:is(:disabled,[aria-disabled=true]))>.cells{border-color:var(--muted)}.media-seek:has(>input:focus-visible)>.cells{outline:var(--line) solid var(--ink);outline-offset:2px}.media-time{min-width:11ch;font-family:var(--font-px);font-size:var(--type-state);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;flex:none}.media-time.waiting{text-transform:uppercase;letter-spacing:var(--tracking-title);color:var(--muted)}.media-time .cursor{margin-left:4px}.toasts .toast-stack{width:min(392px,100vw);bottom:calc(anchor(--banner top, calc(var(--statusbar-h,0px) + 4px)) - 4px)!important;gap:10px!important}.banner{anchor-name:--banner}.toast{box-shadow:var(--shadow-button)}.toast.quiet{border-color:var(--ink);color:var(--ink)}.toast>div{overflow-wrap:anywhere}.toast>.iconbtn{flex:none;margin:-2px -4px -2px 0}.toasts .toast{animation:toastIn var(--motion-card) steps(3, end)}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}}@media (width<=600px){.toasts .toast-stack{width:auto;left:0!important}}@media (prefers-reduced-motion:reduce){.toasts .toast,.cursor,.veil-backdrop,.card{animation:none}.rail[popover]:popover-open{animation:none}}
@@ -5,8 +5,8 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <meta name="color-scheme" content="light" />
7
7
  <title>clankerauth</title>
8
- <script type="module" crossorigin src="/assets/index-BFat_Kra.js"></script>
9
- <link rel="stylesheet" crossorigin href="/assets/index-BJls-dCT.css">
8
+ <script type="module" crossorigin src="/assets/index-kuPpbPut.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-sZpVl70Z.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gjermundgaraba/clankerauth-dev",
3
- "version": "0.24.0",
3
+ "version": "0.26.0",
4
4
  "description": "Disposable local clankerauth issuer for application development",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -27,15 +27,15 @@
27
27
  "access": "public"
28
28
  },
29
29
  "devDependencies": {
30
- "@clankerauth/server": "0.24.0",
30
+ "@clankerauth/server": "0.26.0",
31
31
  "@clankerauth/web": "0.1.0",
32
- "@effect/platform-node": "4.0.4",
33
- "@gjermundgaraba/clankerauth-admin-api": "0.24.0",
32
+ "@effect/platform-node": "4.0.5",
33
+ "@gjermundgaraba/clankerauth-admin-api": "0.26.0",
34
34
  "@opentelemetry/api": "1.9.1",
35
- "effect": "4.0.4",
35
+ "effect": "4.0.5",
36
36
  "jose": "6.2.12",
37
- "vite": "npm:@voidzero-dev/vite-plus-core@1.2.0",
38
- "vite-plus": "1.2.0"
37
+ "vite": "npm:@voidzero-dev/vite-plus-core@1.3.0",
38
+ "vite-plus": "1.3.0"
39
39
  },
40
40
  "engines": {
41
41
  "node": ">=26"
@@ -1 +0,0 @@
1
- import{a as e,n as t,o as n,t as r}from"./sqlite-introspector-DSCAP82F-CISODKY3.mjs";import{n as i,t as a}from"./sqlite-adapter-CS5jtB3L.mjs";function o(e){return`'${e.replaceAll(`'`,`''`)}'`}function s(e){return async t=>{if(t.length===0)return[];let n=(await e.batch(t.map(t=>e.prepare(`PRAGMA index_list(${o(t)})`)))).flatMap((e,n)=>{let r=t[n];return r?e.results.map(e=>({...e,tableName:r})):[]});if(n.length===0)return[];let r=await e.batch(n.map(t=>e.prepare(`PRAGMA index_info(${o(t.name)})`)));return n.map((e,t)=>({columns:(r[t]?.results??[]).map(e=>({fullLength:e.name!==null,name:e.name,position:e.seqno})),name:e.name,partial:e.partial!==0,table:e.tableName,unique:e.unique!==0,valid:!0}))}}var c=class extends a{},l=class{#e;#t;constructor(e){this.#e={...e}}async init(){this.#t=new u(this.#e.database),this.#e.onCreateConnection&&await this.#e.onCreateConnection(this.#t)}async acquireConnection(){return this.#t}async beginTransaction(){throw Error(`D1 does not support interactive transactions. Use the D1 batch() API instead.`)}async commitTransaction(){throw Error(`D1 does not support interactive transactions. Use the D1 batch() API instead.`)}async rollbackTransaction(){throw Error(`D1 does not support interactive transactions. Use the D1 batch() API instead.`)}async releaseConnection(){}async destroy(){}},u=class{#e;constructor(e){this.#e=e}async executeQuery(e){let t=await this.#e.prepare(e.sql).bind(...e.parameters).all(),n=t.meta.changes==null?void 0:BigInt(t.meta.changes);return{insertId:t.meta.last_row_id===void 0||t.meta.last_row_id===null?void 0:BigInt(t.meta.last_row_id),rows:t?.results||[],numAffectedRows:n}}async*streamQuery(){throw Error(`D1 does not support streaming queries.`)}},d=class{#e;#t;constructor(e,t){this.#e=e,this.#t=t}async getSchemas(){return[]}async getTables(i={withInternalKyselyTables:!1}){let a=this.#e.selectFrom(`sqlite_master`).where(`type`,`in`,[`table`,`view`]).where(`name`,`not like`,`sqlite_%`).where(`name`,`not like`,`_cf_%`).select([`name`,`type`]).$castTo();i.withInternalKyselyTables||(a=a.where(`name`,`!=`,t).where(`name`,`!=`,r));let s=await a.execute();if(s.length===0)return[];let c=s.map(e=>this.#t.prepare(`SELECT * FROM pragma_table_info(?)`).bind(e.name)),l=await this.#t.batch(c),u=s.flatMap((t,n)=>{let r=e(l[n]?.results??[]);return r?[{index:n,tableName:t.name,column:r}]:[]}),d=u.length?await this.#t.batch(u.map(({tableName:e})=>this.#t.prepare(`PRAGMA index_list(${o(e)})`))):[],f=new Map(u.filter((e,t)=>!d[t]?.results?.some(e=>e.origin===`pk`)).map(({index:e,column:t})=>[e,t]));return s.map((e,t)=>n(e,l[t]?.results??[],f.get(t)))}async getMetadata(e){return{tables:await this.getTables(e)}}},f=class extends i{},p=class{#e;constructor(e){this.#e={...e}}createDriver(){return new l(this.#e)}createQueryCompiler(){return new f}createAdapter(){return new c}createIntrospector(e){return new d(e,this.#e.database)}};export{p as D1SqliteDialect,s as createD1IndexIntrospector};
@@ -1,17 +0,0 @@
1
- import{$ as e,A as t,B as n,C as r,D as i,E as a,F as o,G as s,H as c,I as l,J as u,K as d,L as f,M as p,N as m,O as h,P as g,Q as _,R as ee,S as v,T as y,U as b,V as te,W as x,X as ne,Y as re,Z as ie,_ as ae,b as S,c as C,d as oe,et as se,f as w,g as ce,h as le,i as ue,it as T,j as de,k as fe,l as E,m as pe,nt as D,p as O,q as k,rt as me,s as he,tt as A,u as j,v as ge,w as _e,x as ve,y as ye,z as be}from"./sqlite-introspector-DSCAP82F-CISODKY3.mjs";import{t as M}from"./compiled-query-C8AL3JwF.mjs";import{n as xe,r as Se,t as Ce}from"./sqlite-adapter-CS5jtB3L.mjs";import{u as we}from"./tracer-BuLMhzvR.mjs";import{N as Te}from"./schemas-BE0MEk26.mjs";import{c as Ee,i as De,n as Oe,t as ke,u as Ae}from"./schema-check-Dv6d3DB9.mjs";import{t as je}from"./factory-CUkPbxzv.mjs";const N=k({is(e){return e.kind===`AlterTableNode`},create(e){return k({kind:`AlterTableNode`,table:e})},cloneWithTableProps(e,t){return k({...e,...t})},cloneWithColumnAlteration(e,t){return k({...e,columnAlterations:e.columnAlterations?[...e.columnAlterations,t]:[t]})}}),P=k({is(e){return e.kind===`CreateIndexNode`},create(e){return k({kind:`CreateIndexNode`,name:d.create(e)})},cloneWith(e,t){return k({...e,...t})},cloneWithColumns(e,t){return k({...e,columns:[...e.columns||[],...t]})}}),Me=k({is(e){return e.kind===`CreateSchemaNode`},create(e,t){return k({kind:`CreateSchemaNode`,schema:d.create(e),...t})},cloneWith(e,t){return k({...e,...t})}}),F=k({is(e){return e.kind===`DropIndexNode`},create(e,t){return k({kind:`DropIndexNode`,name:b.create(e),...t})},cloneWith(e,t){return k({...e,...t})}}),Ne=k({is(e){return e.kind===`DropSchemaNode`},create(e,t){return k({kind:`DropSchemaNode`,schema:d.create(e),...t})},cloneWith(e,t){return k({...e,...t})}}),Pe=k({is(e){return e.kind===`DropTableNode`},create(e,t){return k({kind:`DropTableNode`,table:e,...t})},cloneWith(e,t){return k({...e,...t})}}),Fe=k({is(e){return e.kind===`AddColumnNode`},create(e){return k({kind:`AddColumnNode`,column:e})}}),I=k({is(e){return e.kind===`ColumnDefinitionNode`},create(e,t){return k({kind:`ColumnDefinitionNode`,column:n.create(e),dataType:t})},cloneWithFrontModifier(e,t){return k({...e,frontModifiers:e.frontModifiers?k([...e.frontModifiers,t]):[t]})},cloneWithEndModifier(e,t){return k({...e,endModifiers:e.endModifiers?k([...e.endModifiers,t]):[t]})},cloneWith(e,t){return k({...e,...t})}}),Ie=k({is(e){return e.kind===`DropColumnNode`},create(e){return k({kind:`DropColumnNode`,column:n.create(e)})},cloneWith(e,t){return k({...e,...t})}}),Le=k({is(e){return e.kind===`RenameColumnNode`},create(e,t){return k({kind:`RenameColumnNode`,column:n.create(e),renameTo:n.create(t)})}}),Re=k({is(e){return e.kind===`CheckConstraintNode`},create(e,t){return k({kind:`CheckConstraintNode`,expression:e,name:t?d.create(t):void 0})}}),ze=k({cascade:!0,"no action":!0,restrict:!0,"set default":!0,"set null":!0});Object.keys(ze);const Be=k({is(e){return e.kind===`ReferencesNode`},create(e,t){return k({kind:`ReferencesNode`,table:e,columns:k([...t])})},cloneWithOnDelete(e,t){return k({...e,onDelete:t})},cloneWithOnUpdate(e,t){return k({...e,onUpdate:t})}});function Ve(e){return D(e)&&ze[e]}function He(e){return te(e)?e.toOperationNode():t.createImmediate(e)}const Ue=k({is(e){return e.kind===`GeneratedNode`},create(e){return k({kind:`GeneratedNode`,...e})},createWithExpression(e){return k({kind:`GeneratedNode`,always:!0,expression:e})},cloneWith(e,t){return k({...e,...t})}}),We=k({is(e){return e.kind===`DefaultValueNode`},create(e){return k({kind:`DefaultValueNode`,defaultValue:e})}});function L(e){if(Ve(e))return e;throw Error(`invalid OnModifyForeignAction ${e}`)}var R=class e{#e;constructor(e){this.#e=e}autoIncrement(){return new e(I.cloneWith(this.#e,{autoIncrement:!0}))}identity(){return new e(I.cloneWith(this.#e,{identity:!0}))}primaryKey(){return new e(I.cloneWith(this.#e,{primaryKey:!0}))}references(t){let n=g(t);if(!n.table||be.is(n.column))throw Error(`invalid call references('${t}'). The reference must have format table.column or schema.table.column`);return new e(I.cloneWith(this.#e,{references:Be.create(n.table,[n.column])}))}onDelete(t){if(!this.#e.references)throw Error(`on delete constraint can only be added for foreign keys`);return new e(I.cloneWith(this.#e,{references:Be.cloneWithOnDelete(this.#e.references,L(t))}))}onUpdate(t){if(!this.#e.references)throw Error(`on update constraint can only be added for foreign keys`);return new e(I.cloneWith(this.#e,{references:Be.cloneWithOnUpdate(this.#e.references,L(t))}))}unique(){return new e(I.cloneWith(this.#e,{unique:!0}))}notNull(){return new e(I.cloneWith(this.#e,{notNull:!0}))}unsigned(){return new e(I.cloneWith(this.#e,{unsigned:!0}))}defaultTo(t){return new e(I.cloneWith(this.#e,{defaultTo:We.create(He(t))}))}check(t){return new e(I.cloneWith(this.#e,{check:Re.create(t.toOperationNode())}))}generatedAlwaysAs(t){return new e(I.cloneWith(this.#e,{generated:Ue.createWithExpression(t.toOperationNode())}))}generatedAlwaysAsIdentity(){return new e(I.cloneWith(this.#e,{generated:Ue.create({identity:!0,always:!0})}))}generatedByDefaultAsIdentity(){return new e(I.cloneWith(this.#e,{generated:Ue.create({identity:!0,byDefault:!0})}))}stored(){if(!this.#e.generated)throw Error(`stored() can only be called after generatedAlwaysAs`);return new e(I.cloneWith(this.#e,{generated:Ue.cloneWith(this.#e.generated,{stored:!0})}))}modifyFront(t){return new e(I.cloneWithFrontModifier(this.#e,t.toOperationNode()))}nullsNotDistinct(){return new e(I.cloneWith(this.#e,{nullsNotDistinct:!0}))}ifNotExists(){return new e(I.cloneWith(this.#e,{ifNotExists:!0}))}modifyEnd(t){return new e(I.cloneWithEndModifier(this.#e,t.toOperationNode()))}$call(e){return e(this)}toOperationNode(){return this.#e}};const Ge=k({is(e){return e.kind===`ModifyColumnNode`},create(e){return k({kind:`ModifyColumnNode`,column:e})}}),z=k({is(e){return e.kind===`ForeignKeyConstraintNode`},create(e,t,n,r){return k({kind:`ForeignKeyConstraintNode`,columns:e,references:Be.create(t,n),name:r?d.create(r):void 0})},cloneWith(e,t){return k({...e,...t})}});var Ke=class e{#e;constructor(e){this.#e=e}onDelete(t){return new e(z.cloneWith(this.#e,{onDelete:L(t)}))}onUpdate(t){return new e(z.cloneWith(this.#e,{onUpdate:L(t)}))}deferrable(){return new e(z.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new e(z.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new e(z.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new e(z.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(e){return e(this)}toOperationNode(){return this.#e}};const qe=k({is(e){return e.kind===`AddConstraintNode`},create(e){return k({kind:`AddConstraintNode`,constraint:e})}}),B=k({is(e){return e.kind===`UniqueConstraintNode`},create(e,t,r){return D(e.at(0))&&(o("`UniqueConstraintNode.create(columns: string[], ...)` is deprecated - pass `ColumnNode[]` instead."),e=e.map(n.create)),k({kind:`UniqueConstraintNode`,columns:k(e),name:t?d.create(t):void 0,nullsNotDistinct:r})},cloneWith(e,t){return k({...e,...t})}}),Je=k({is(e){return e.kind===`DropConstraintNode`},create(e){return k({kind:`DropConstraintNode`,constraintName:d.create(e)})},cloneWith(e,t){return k({...e,...t})}}),V=k({is(e){return e.kind===`AlterColumnNode`},create(e,t,r){return k({kind:`AlterColumnNode`,column:n.create(e),[t]:r})}});var Ye=class{#e;constructor(e){this.#e=e}setDataType(e){return new H(V.create(this.#e,`dataType`,O(e)))}setDefault(e){return new H(V.create(this.#e,`setDefault`,He(e)))}dropDefault(){return new H(V.create(this.#e,`dropDefault`,!0))}setNotNull(){return new H(V.create(this.#e,`setNotNull`,!0))}dropNotNull(){return new H(V.create(this.#e,`dropNotNull`,!0))}$call(e){return e(this)}},H=class{#e;constructor(e){this.#e=e}toOperationNode(){return this.#e}},U=class{#e;constructor(e){this.#e=k(e)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}},Xe=class e{#e;constructor(e){this.#e=k(e)}onDelete(t){return new e({...this.#e,constraintBuilder:this.#e.constraintBuilder.onDelete(t)})}onUpdate(t){return new e({...this.#e,constraintBuilder:this.#e.constraintBuilder.onUpdate(t)})}deferrable(){return new e({...this.#e,constraintBuilder:this.#e.constraintBuilder.deferrable()})}notDeferrable(){return new e({...this.#e,constraintBuilder:this.#e.constraintBuilder.notDeferrable()})}initiallyDeferred(){return new e({...this.#e,constraintBuilder:this.#e.constraintBuilder.initiallyDeferred()})}initiallyImmediate(){return new e({...this.#e,constraintBuilder:this.#e.constraintBuilder.initiallyImmediate()})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(N.cloneWithTableProps(this.#e.node,{addConstraint:qe.create(this.#e.constraintBuilder.toOperationNode())}),this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}},Ze=class e{#e;constructor(e){this.#e=k(e)}ifExists(){return new e({...this.#e,node:N.cloneWithTableProps(this.#e.node,{dropConstraint:Je.cloneWith(this.#e.node.dropConstraint,{ifExists:!0})})})}cascade(){return new e({...this.#e,node:N.cloneWithTableProps(this.#e.node,{dropConstraint:Je.cloneWith(this.#e.node.dropConstraint,{modifier:`cascade`})})})}restrict(){return new e({...this.#e,node:N.cloneWithTableProps(this.#e.node,{dropConstraint:Je.cloneWith(this.#e.node.dropConstraint,{modifier:`restrict`})})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}};const W=k({is(e){return e.kind===`PrimaryKeyConstraintNode`},create(e,t){return k({kind:`PrimaryKeyConstraintNode`,columns:k(e.map(n.create)),name:t?d.create(t):void 0})},cloneWith(e,t){return k({...e,...t})}}),G=k({is(e){return e.kind===`AddIndexNode`},create(e){return k({kind:`AddIndexNode`,name:d.create(e)})},cloneWith(e,t){return k({...e,...t})},cloneWithColumns(e,t){return k({...e,columns:[...e.columns||[],...t]})}});var Qe=class e{#e;constructor(e){this.#e=k(e)}unique(){return new e({...this.#e,node:N.cloneWithTableProps(this.#e.node,{addIndex:G.cloneWith(this.#e.node.addIndex,{unique:!0})})})}column(t){return new e({...this.#e,node:N.cloneWithTableProps(this.#e.node,{addIndex:G.cloneWithColumns(this.#e.node.addIndex,[D(t)?m(t):t.toOperationNode()])})})}columns(t){return new e({...this.#e,node:N.cloneWithTableProps(this.#e.node,{addIndex:G.cloneWithColumns(this.#e.node.addIndex,t.map(e=>D(e)?m(e):e.toOperationNode()))})})}expression(t){return new e({...this.#e,node:N.cloneWithTableProps(this.#e.node,{addIndex:G.cloneWithColumns(this.#e.node.addIndex,[t.toOperationNode()])})})}using(t){return new e({...this.#e,node:N.cloneWithTableProps(this.#e.node,{addIndex:G.cloneWith(this.#e.node.addIndex,{using:l.createWithSql(t)})})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}},$e=class e{#e;constructor(e){this.#e=e}nullsNotDistinct(){return new e(B.cloneWith(this.#e,{nullsNotDistinct:!0}))}deferrable(){return new e(B.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new e(B.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new e(B.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new e(B.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(e){return e(this)}toOperationNode(){return this.#e}},et=class e{#e;constructor(e){this.#e=e}deferrable(){return new e(W.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new e(W.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new e(W.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new e(W.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(e){return e(this)}toOperationNode(){return this.#e}},tt=class{#e;constructor(e){this.#e=e}$call(e){return e(this)}toOperationNode(){return this.#e}};const nt=k({is(e){return e.kind===`RenameConstraintNode`},create(e,t){return k({kind:`RenameConstraintNode`,oldName:d.create(e),newName:d.create(t)})}});var rt=class e{#e;constructor(e){this.#e=k({...e})}ifExists(){return new e({...this.#e,node:Ie.cloneWith(this.#e.node,{ifExists:!0})})}toOperationNode(){return this.#e.node}},it=class{#e;constructor(e){this.#e=k(e)}renameTo(e){return new U({...this.#e,node:N.cloneWithTableProps(this.#e.node,{renameTo:j(e)})})}setSchema(e){return new U({...this.#e,node:N.cloneWithTableProps(this.#e.node,{setSchema:d.create(e)})})}alterColumn(e,t){let n=t(new Ye(e));return new K({...this.#e,node:N.cloneWithColumnAlteration(this.#e.node,n.toOperationNode())})}dropColumn(e,t=T){let n=t(new rt({node:Ie.create(e)}));return new K({...this.#e,node:N.cloneWithColumnAlteration(this.#e.node,n.toOperationNode())})}renameColumn(e,t){return new K({...this.#e,node:N.cloneWithColumnAlteration(this.#e.node,Le.create(e,t))})}addColumn(e,t,n=T){let r=n(new R(I.create(e,O(t))));return new K({...this.#e,node:N.cloneWithColumnAlteration(this.#e.node,Fe.create(r.toOperationNode()))})}modifyColumn(e,t,n=T){let r=n(new R(I.create(e,O(t))));return new K({...this.#e,node:N.cloneWithColumnAlteration(this.#e.node,Ge.create(r.toOperationNode()))})}addUniqueConstraint(e,t,r=T){let i=r(new $e(B.create(t.map(e=>D(e)?n.create(e):w(e)),e)));return new U({...this.#e,node:N.cloneWithTableProps(this.#e.node,{addConstraint:qe.create(i.toOperationNode())})})}addCheckConstraint(e,t,n=T){let r=n(new tt(Re.create(t.toOperationNode(),e)));return new U({...this.#e,node:N.cloneWithTableProps(this.#e.node,{addConstraint:qe.create(r.toOperationNode())})})}addForeignKeyConstraint(e,t,r,i,a=T){let o=a(new Ke(z.create(t.map(n.create),j(r),i.map(n.create),e)));return new Xe({...this.#e,constraintBuilder:o})}addPrimaryKeyConstraint(e,t,n=T){let r=n(new et(W.create(t,e)));return new U({...this.#e,node:N.cloneWithTableProps(this.#e.node,{addConstraint:qe.create(r.toOperationNode())})})}dropConstraint(e){return new Ze({...this.#e,node:N.cloneWithTableProps(this.#e.node,{dropConstraint:Je.create(e)})})}renameConstraint(e,t){return new Ze({...this.#e,node:N.cloneWithTableProps(this.#e.node,{renameConstraint:nt.create(e,t)})})}addIndex(e){return new Qe({...this.#e,node:N.cloneWithTableProps(this.#e.node,{addIndex:G.create(e)})})}dropIndex(e){return new U({...this.#e,node:N.cloneWithTableProps(this.#e.node,{dropIndex:F.create(e)})})}$call(e){return e(this)}},K=class e{#e;constructor(e){this.#e=k(e)}alterColumn(t,n){let r=n(new Ye(t));return new e({...this.#e,node:N.cloneWithColumnAlteration(this.#e.node,r.toOperationNode())})}dropColumn(t,n=T){let r=n(new rt({node:Ie.create(t)}));return new e({...this.#e,node:N.cloneWithColumnAlteration(this.#e.node,r.toOperationNode())})}renameColumn(t,n){return new e({...this.#e,node:N.cloneWithColumnAlteration(this.#e.node,Le.create(t,n))})}addColumn(t,n,r=T){let i=r(new R(I.create(t,O(n))));return new e({...this.#e,node:N.cloneWithColumnAlteration(this.#e.node,Fe.create(i.toOperationNode()))})}modifyColumn(t,n,r=T){let i=r(new R(I.create(t,O(n))));return new e({...this.#e,node:N.cloneWithColumnAlteration(this.#e.node,Ge.create(i.toOperationNode()))})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}},at=class extends _e{transformPrimitiveValueList(e){return de.create(e.values.map(t.createImmediate))}transformValue(e){return t.createImmediate(e.value)}},ot=class e{#e;constructor(e){this.#e=k(e)}ifNotExists(){return new e({...this.#e,node:P.cloneWith(this.#e.node,{ifNotExists:!0})})}unique(){return new e({...this.#e,node:P.cloneWith(this.#e.node,{unique:!0})})}nullsNotDistinct(){return new e({...this.#e,node:P.cloneWith(this.#e.node,{nullsNotDistinct:!0})})}on(t){return new e({...this.#e,node:P.cloneWith(this.#e.node,{table:j(t)})})}column(t){return new e({...this.#e,node:P.cloneWithColumns(this.#e.node,[D(t)?m(t):t.toOperationNode()])})}columns(t){return new e({...this.#e,node:P.cloneWithColumns(this.#e.node,t.map(e=>D(e)?m(e):e.toOperationNode()))})}expression(t){return new e({...this.#e,node:P.cloneWithColumns(this.#e.node,[t.toOperationNode()])})}using(t){return new e({...this.#e,node:P.cloneWith(this.#e.node,{using:l.createWithSql(t)})})}where(...t){let n=new at;return new e({...this.#e,node:h.cloneWithWhere(this.#e.node,n.transformNode(fe(t),this.#e.queryId))})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}},st=class e{#e;constructor(e){this.#e=k(e)}ifNotExists(){return new e({...this.#e,node:Me.cloneWith(this.#e.node,{ifNotExists:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}};function ct(e){if(s.includes(e))return e;throw Error(`invalid OnCommitAction ${e}`)}var lt=class e{#e;constructor(e){this.#e=e}using(t){return new e(G.cloneWith(this.#e,{using:l.createWithSql(t)}))}$call(e){return e(this)}toOperationNode(){return this.#e}},ut=class e{#e;constructor(e){this.#e=k(e)}temporary(){return new e({...this.#e,node:x.cloneWith(this.#e.node,{temporary:!0})})}onCommit(t){return new e({...this.#e,node:x.cloneWith(this.#e.node,{onCommit:ct(t)})})}ifNotExists(){return new e({...this.#e,node:x.cloneWith(this.#e.node,{ifNotExists:!0})})}addColumn(t,n,r=T){let i=r(new R(I.create(t,O(n))));return new e({...this.#e,node:x.cloneWithColumn(this.#e.node,i.toOperationNode())})}addPrimaryKeyConstraint(t,n,r=T){let i=r(new et(W.create(n,t)));return new e({...this.#e,node:x.cloneWithConstraint(this.#e.node,i.toOperationNode())})}addUniqueConstraint(t,r,i=T){let a=i(new $e(B.create(r.map(e=>D(e)?n.create(e):w(e)),t)));return new e({...this.#e,node:x.cloneWithConstraint(this.#e.node,a.toOperationNode())})}addIndex(t,r,i=T){let a=i(new lt(G.cloneWithColumns(G.create(t),r.map(e=>D(e)?n.create(e):w(e)))));return new e({...this.#e,node:x.cloneWithIndex(this.#e.node,a.toOperationNode())})}addCheckConstraint(t,n,r=T){let i=r(new tt(Re.create(n.toOperationNode(),t)));return new e({...this.#e,node:x.cloneWithConstraint(this.#e.node,i.toOperationNode())})}addForeignKeyConstraint(t,r,i,a,o=T){let s=o(new Ke(z.create(r.map(n.create),j(i),a.map(n.create),t)));return new e({...this.#e,node:x.cloneWithConstraint(this.#e.node,s.toOperationNode())})}modifyFront(t){return new e({...this.#e,node:x.cloneWithFrontModifier(this.#e.node,t.toOperationNode())})}modifyEnd(t){return new e({...this.#e,node:x.cloneWithEndModifier(this.#e.node,t.toOperationNode())})}as(t){return new e({...this.#e,node:x.cloneWith(this.#e.node,{selectQuery:w(t)})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}},dt=class e{#e;constructor(e){this.#e=k(e)}on(t){return new e({...this.#e,node:F.cloneWith(this.#e.node,{table:j(t)})})}ifExists(){return new e({...this.#e,node:F.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new e({...this.#e,node:F.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}},ft=class e{#e;constructor(e){this.#e=k(e)}ifExists(){return new e({...this.#e,node:Ne.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new e({...this.#e,node:Ne.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}},pt=class e{#e;constructor(e){this.#e=k(e)}temporary(){return new e({...this.#e,node:Pe.cloneWith(this.#e.node,{temporary:!0})})}ifExists(){return new e({...this.#e,node:Pe.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new e({...this.#e,node:Pe.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}},mt=class{#e=new at;transformQuery(e){return this.#e.transformNode(e.node,e.queryId)}transformResult(e){return Promise.resolve(e.result)}},ht=class e{#e;constructor(e){this.#e=k(e)}temporary(){return new e({...this.#e,node:E.cloneWith(this.#e.node,{temporary:!0})})}materialized(){return new e({...this.#e,node:E.cloneWith(this.#e.node,{materialized:!0})})}ifNotExists(){return new e({...this.#e,node:E.cloneWith(this.#e.node,{ifNotExists:!0})})}orReplace(){return new e({...this.#e,node:E.cloneWith(this.#e.node,{orReplace:!0})})}columns(t){return new e({...this.#e,node:E.cloneWith(this.#e.node,{columns:t.map(p)})})}as(t){let n=t.withPlugin(new mt).toOperationNode();return new e({...this.#e,node:E.cloneWith(this.#e.node,{as:n})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}};const gt=k({is(e){return e.kind===`DropViewNode`},create(e){return k({kind:`DropViewNode`,name:b.create(e)})},cloneWith(e,t){return k({...e,...t})}});var _t=class e{#e;constructor(e){this.#e=k(e)}materialized(){return new e({...this.#e,node:gt.cloneWith(this.#e.node,{materialized:!0})})}ifExists(){return new e({...this.#e,node:gt.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new e({...this.#e,node:gt.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}};const vt=k({is(e){return e.kind===`CreateTypeNode`},create(e){return k({kind:`CreateTypeNode`,name:e})},cloneWithEnum(e,n){return k({...e,enum:de.create(n.map(t.createImmediate))})}});var yt=class e{#e;constructor(e){this.#e=k(e)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}asEnum(t){return new e({...this.#e,node:vt.cloneWithEnum(this.#e.node,t)})}$call(e){return e(this)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}};const bt=k({is(e){return e.kind===`DropTypeNode`},create(e){return Array.isArray(e)||(e=[e]),k({kind:`DropTypeNode`,name:e[0],additionalNames:e.slice(1)})},cloneWith(e,t){return k({...e,...t})}});var xt=class e{#e;constructor(e){this.#e=k(e)}ifExists(){return new e({...this.#e,node:bt.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new e({...this.#e,node:bt.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}};function St(e){if(e.includes(`.`)){let t=e.split(`.`).map(wt);if(t.length===2)return b.createWithSchema(t[0],t[1]);throw Error(`invalid schemable identifier ${e}`)}return b.create(e)}function Ct(e){return Array.isArray(e)||(e=[e]),e.map(St)}function wt(e){return e.trim()}const q=k({is(e){return e.kind===`RefreshMaterializedViewNode`},create(e){return k({kind:`RefreshMaterializedViewNode`,name:b.create(e)})},cloneWith(e,t){return k({...e,...t})}});var Tt=class e{#e;constructor(e){this.#e=k(e)}concurrently(){return new e({...this.#e,node:q.cloneWith(this.#e.node,{concurrently:!0,withNoData:!1})})}withData(){return new e({...this.#e,node:q.cloneWith(this.#e.node,{withNoData:!1})})}withNoData(){return new e({...this.#e,node:q.cloneWith(this.#e.node,{withNoData:!0,concurrently:!1})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){await this.#e.executor.executeQuery(this.compile(),e)}};const J=k({is(e){return e.kind===`AlterTypeNode`},create(e){return k({kind:`AlterTypeNode`,name:e})},cloneWith(e,t){return k({...e,...t})}}),Et=k({is(e){return e.kind===`AddValueNode`},create(e){return k({kind:`AddValueNode`,value:e})},cloneWith(e,t){return k({...e,...t})}});var Dt=class{#e;constructor(e){this.#e=k(e)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(e){return await this.#e.executor.executeQuery(this.compile(),e)}},Ot,kt=class extends Dt{#e;constructor(e){super(e),this.#e=e}ifNotExists(){return new Ot({...this.#e,node:J.cloneWith(this.#e.node,{addValue:Et.cloneWith(this.#e.node.addValue,{ifNotExists:!0})})})}before(e){return this.#t(e,!0)}after(e){return this.#t(e,!1)}#t(e,n){return new Ot({...this.#e,node:J.cloneWith(this.#e.node,{addValue:Et.cloneWith(this.#e.node.addValue,{isBefore:n,neighborValue:t.createImmediate(e)})})})}};Ot=kt;const At=k({is(e){return e.kind===`RenameValueNode`},create(e,t){return k({kind:`RenameValueNode`,oldValue:e,newValue:t})}});var jt=class{#e;constructor(e){this.#e=k(e)}addValue(e){return new kt({...this.#e,node:J.cloneWith(this.#e.node,{addValue:Et.create(t.createImmediate(e))})})}renameTo(e){return new Dt({...this.#e,node:J.cloneWith(this.#e.node,{renameTo:d.create(e)})})}renameValue(e,n){return new Dt({...this.#e,node:J.cloneWith(this.#e.node,{renameValue:At.create(t.createImmediate(e),t.createImmediate(n))})})}setSchema(e){return new Dt({...this.#e,node:J.cloneWith(this.#e.node,{setSchema:d.create(e)})})}},Mt=class e{#e;constructor(e){this.#e=e}createTable(e){return new ut({queryId:y(),executor:this.#e,node:x.create(j(e))})}dropTable(e){return new pt({queryId:y(),executor:this.#e,node:Pe.create(j(e))})}createIndex(e){return new ot({queryId:y(),executor:this.#e,node:P.create(e)})}dropIndex(e){return new dt({queryId:y(),executor:this.#e,node:F.create(e)})}createSchema(e){return new st({queryId:y(),executor:this.#e,node:Me.create(e)})}dropSchema(e){return new ft({queryId:y(),executor:this.#e,node:Ne.create(e)})}alterTable(e){return new it({queryId:y(),executor:this.#e,node:N.create(j(e))})}createView(e){return new ht({queryId:y(),executor:this.#e,node:E.create(e)})}refreshMaterializedView(e){return new Tt({queryId:y(),executor:this.#e,node:q.create(e)})}dropView(e){return new _t({queryId:y(),executor:this.#e,node:gt.create(e)})}createType(e){return new yt({queryId:y(),executor:this.#e,node:vt.create(St(e))})}alterType(e){return new jt({executor:this.#e,node:J.create(St(e)),queryId:y()})}dropType(e){return new xt({queryId:y(),executor:this.#e,node:bt.create(Ct(e))})}withPlugin(t){return new e(this.#e.withPlugin(t))}withoutPlugins(){return new e(this.#e.withoutPlugins())}withSchema(t){return new e(this.#e.withPluginAtFront(new r(t)))}},Nt=class{ref(e){return new f(e)}table(e){return new oe(e)}},Pt=class{#e;constructor(e){this.#e=e}async provideConnection(e,t){let n=await this.#e.acquireConnection(t);try{return await e(n)}finally{await this.#e.releaseConnection(n,t)}}},Ft=class e extends ge{#e;#t;#n;constructor(e,t,n,r=[]){super(r),this.#e=e,this.#t=t,this.#n=n}get adapter(){return this.#t}compileQuery(e,t){return this.#e.compileQuery(e,t)}provideConnection(e,t){return this.#n.provideConnection(e,t)}withPlugins(t){return new e(this.#e,this.#t,this.#n,[...this.plugins,...t])}withPlugin(t){return new e(this.#e,this.#t,this.#n,[...this.plugins,t])}withPluginAtFront(t){return new e(this.#e,this.#t,this.#n,[t,...this.plugins])}withConnectionProvider(t){return new e(this.#e,this.#t,t,[...this.plugins])}withoutPlugins(){return new e(this.#e,this.#t,this.#n,[])}};function It(){return typeof performance<`u`&&_(performance.now)?performance.now():Date.now()}var Lt=class{#e;#t;async obtainLock(){for(;this.#e;)await this.#e;this.#e=new Promise(e=>{this.#t=e})}releaseLock(){let e=this.#t;this.#e=void 0,this.#t=void 0,e?.()}},Rt=class{#e;#t;#n;#r;#i;#a=/* @__PURE__ */ new WeakSet;#o;constructor(e,t,n){this.#e=e,this.#r=!1,this.#t=n,t.supportsMultipleConnections===!1&&(this.#o=new Lt)}async init(e){if(this.#i)throw Error(`driver has already been destroyed`);this.#n??=this.#e.init(e).then(()=>{this.#r=!0}).catch(e=>{throw this.#n=void 0,e}),await S(this.#n,e?.signal,`init`)}async acquireConnection(e){if(this.#i)throw Error(`driver has already been destroyed`);if(this.#r||await this.init(e),this.#o){let t=this.#o.obtainLock();await S(t,e?.signal,`acquireConnection:mutex`,()=>t.then(()=>this.#o?.releaseLock()))}let t=this.#e.acquireConnection(e),n=await S(t,e?.signal,`acquireConnection:acquire`,()=>t?.then(e=>this.releaseConnection(e).catch(ye(`driver.releaseConnection`))).catch(ye(`driver.acquireConnection`)));return this.#a.has(n)||(this.#s()&&this.#c(n),this.#a.add(n)),n}async releaseConnection(e,t){await this.#e.releaseConnection(e,t),this.#o?.releaseLock()}async beginTransaction(e,t){return await this.#e.beginTransaction(e,t)}async commitTransaction(e){return await this.#e.commitTransaction(e)}async rollbackTransaction(e){return await this.#e.rollbackTransaction(e)}async savepoint(e,t,n){if(this.#e.savepoint)return await this.#e.savepoint(e,t,n);throw Error("The `savepoint` method is not supported by this driver")}async rollbackToSavepoint(e,t,n){if(this.#e.rollbackToSavepoint)return await this.#e.rollbackToSavepoint(e,t,n);throw Error("The `rollbackToSavepoint` method is not supported by this driver")}async releaseSavepoint(e,t,n){if(this.#e.releaseSavepoint)return await this.#e.releaseSavepoint(e,t,n);throw Error("The `releaseSavepoint` method is not supported by this driver")}async destroy(e){this.#n&&(await S(this.#n,e?.signal,`destroy:initPromise`),this.#i??=this.#e.destroy(e).catch(e=>{throw this.#i=void 0,e}),await S(this.#i,e?.signal,`destroy`))}#s(){return this.#t.isLevelEnabled(`query`)||this.#t.isLevelEnabled(`error`)}#c(e){let t=e.executeQuery,n=e.streamQuery,r=this;e.executeQuery=async(n,i)=>{let a,o=It();try{return await t.call(e,n,i)}catch(e){throw a=e,await r.#l(e,n,o),e}finally{a||await r.#u(n,o)}},e.streamQuery=async function*(t,i,a){let o,s=It();try{for await(let r of n.call(e,t,i,a))yield r}catch(e){throw o=e,await r.#l(e,t,s),e}finally{o||await r.#u(t,s,!0)}}}async#l(e,t,n){await this.#t.error(()=>({level:`error`,error:e,query:t,queryDurationMillis:this.#d(n)}))}async#u(e,t,n=!1){await this.#t.query(()=>({level:`query`,isStream:n,query:e,queryDurationMillis:this.#d(t)}))}#d(e){return It()-e}};const zt=()=>{};var Bt=class{#e;#t;constructor(e){this.#e=e}async provideConnection(e){for(;this.#t;)await this.#t.catch(zt);return this.#t=this.#n(e).finally(()=>{this.#t=void 0}),this.#t}async#n(e){return await e(this.#e)}};const Vt=[`read only`,`read write`],Ht=[`read uncommitted`,`read committed`,`repeatable read`,`serializable`,`snapshot`];function Ut(e){if(e.accessMode&&!Vt.includes(e.accessMode))throw Error(`invalid transaction access mode ${e.accessMode}`);if(e.isolationLevel&&!Ht.includes(e.isolationLevel))throw Error(`invalid transaction isolation level ${e.isolationLevel}`)}k([`query`,`error`]);var Wt=class{#e;#t;constructor(e){_(e)?(this.#t=e,this.#e=k({query:!0,error:!0})):(this.#t=Gt,this.#e=k({query:e.includes(`query`),error:e.includes(`error`)}))}isLevelEnabled(e){return this.#e[e]}async query(e){this.#e.query&&await this.#t(e())}async error(e){this.#e.error&&await this.#t(e())}};function Gt(e){if(e.level===`query`){let t=`kysely:query:${e.isStream?`stream:`:``}`;console.log(`${t} ${e.query.sql}`),console.log(`${t} duration: ${e.queryDurationMillis.toFixed(1)}ms`)}else e.level===`error`&&(e.error instanceof Error?console.error(`kysely:error: ${e.error.stack??e.error.message}`):console.error(`kysely:error: ${JSON.stringify({error:e.error,query:e.query.sql,queryDurationMillis:e.queryDurationMillis})}`))}function Kt(e){return A(e)&&_(e.compile)}Symbol.asyncDispose??=Symbol(`Symbol.asyncDispose`);var Y=class e extends ae{#e;constructor(e){let t,n;if(Jt(e))t={executor:e.executor},n={...e};else{let r=e.dialect,i=r.createDriver(),a=r.createQueryCompiler(),o=r.createAdapter(),s=new Rt(i,o,new Wt(e.log??[])),c=new Ft(a,o,new Pt(s),e.plugins??[]);t={executor:c},n={config:e,executor:c,dialect:r,driver:s}}super(t),this.#e=k(n)}get schema(){return new Mt(this.#e.executor)}get dynamic(){return new Nt}get introspection(){return this.#e.dialect.createIntrospector(this.withoutPlugins())}case(e){return new pe({node:le.create(me(e)?void 0:w(e))})}get fn(){return ce()}transaction(){return new Xt({...this.#e})}startTransaction(){return new Zt({...this.#e})}connection(){return new Yt({...this.#e})}withPlugin(t){return new e({...this.#e,executor:this.#e.executor.withPlugin(t)})}withoutPlugins(){return new e({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(t){return new e({...this.#e,executor:this.#e.executor.withPluginAtFront(new r(t))})}$extendTables(){return new e({...this.#e})}$omitTables(){return new e({...this.#e})}$pickTables(){return new e({...this.#e})}withTables(){return this.$extendTables()}async destroy(){await this.#e.driver.destroy()}get isTransaction(){return!1}getExecutor(){return this.#e.executor}async executeQuery(e,t){let n=Kt(e)?e.compile():e;return await this.#e.executor.executeQuery(n,t)}async[Symbol.asyncDispose](){await this.destroy()}},qt=class e extends Y{#e;constructor(e){super(e),this.#e=e}get isTransaction(){return!0}transaction(){throw Error(`calling the transaction method for a Transaction is not supported`)}startTransaction(){throw Error(`calling the controlled transaction method for a Transaction is not supported`)}connection(){throw Error(`calling the connection method for a Transaction is not supported`)}destroy(){throw Error(`calling the destroy method for a Transaction is not supported`)}withPlugin(t){return new e({...this.#e,executor:this.#e.executor.withPlugin(t)})}withoutPlugins(){return new e({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(t){return new e({...this.#e,executor:this.#e.executor.withPluginAtFront(new r(t))})}withTables(){return new e({...this.#e})}$extendTables(){return new e({...this.#e})}$omitTables(){return new e({...this.#e})}$pickTables(){return new e({...this.#e})}};function Jt(e){return A(e)&&A(e.config)&&A(e.driver)&&A(e.executor)&&A(e.dialect)}var Yt=class{#e;constructor(e){this.#e=k(e)}async execute(e,t){return this.#e.executor.provideConnection(async t=>{let n=this.#e.executor.withConnectionProvider(new Bt(t));return await e(new Y({...this.#e,executor:n}))},k({signal:t?.signal}))}},Xt=class e{#e;constructor(e){this.#e=k(e)}setAccessMode(t){return new e({...this.#e,accessMode:t})}setIsolationLevel(t){return new e({...this.#e,isolationLevel:t})}async execute(e){let{isolationLevel:t,accessMode:n,...r}=this.#e,i={isolationLevel:t,accessMode:n};return Ut(i),this.#e.executor.provideConnection(async t=>{let n={isCommitted:!1,isRolledBack:!1},a=new $t(this.#e.executor.withConnectionProvider(new Bt(t)),n),o=new qt({...r,executor:a}),s=!1;try{await this.#e.driver.beginTransaction(t,i),s=!0;let r=await e(o);return await this.#e.driver.commitTransaction(t),n.isCommitted=!0,r}catch(e){throw s&&(await this.#e.driver.rollbackTransaction(t),n.isRolledBack=!0),e}})}},Zt=class e{#e;constructor(e){this.#e=k(e)}setAccessMode(t){return new e({...this.#e,accessMode:t})}setIsolationLevel(t){return new e({...this.#e,isolationLevel:t})}async execute(){let{isolationLevel:e,accessMode:t,...n}=this.#e,r={isolationLevel:e,accessMode:t};Ut(r);let i=await ve(this.#e.executor);return await this.#e.driver.beginTransaction(i.connection,r),new Qt({...n,connection:i,executor:this.#e.executor.withConnectionProvider(new Bt(i.connection))})}},Qt=class e extends qt{#e;#t;#n;constructor(e){let t={isCommitted:!1,isRolledBack:!1};e={...e,executor:new $t(e.executor,t)};let{connection:n,...r}=e;super(r),this.#e=k(e),this.#n=t;let i=y();this.#t=t=>e.executor.compileQuery(t,i)}get isCommitted(){return this.#n.isCommitted}get isRolledBack(){return this.#n.isRolledBack}commit(){return Z(this.#n),new X(async()=>{await this.#e.driver.commitTransaction(this.#e.connection.connection),this.#n.isCommitted=!0,this.#e.connection.release()})}rollback(){return Z(this.#n),new X(async()=>{await this.#e.driver.rollbackTransaction(this.#e.connection.connection),this.#n.isRolledBack=!0,this.#e.connection.release()})}savepoint(t){return Z(this.#n),new X(async()=>(await this.#e.driver.savepoint?.(this.#e.connection.connection,t,this.#t),new e({...this.#e})))}rollbackToSavepoint(t){return Z(this.#n),new X(async()=>(await this.#e.driver.rollbackToSavepoint?.(this.#e.connection.connection,t,this.#t),new e({...this.#e})))}releaseSavepoint(t){return Z(this.#n),new X(async()=>(await this.#e.driver.releaseSavepoint?.(this.#e.connection.connection,t,this.#t),new e({...this.#e})))}withPlugin(t){return new e({...this.#e,executor:this.#e.executor.withPlugin(t)})}withoutPlugins(){return new e({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(t){return new e({...this.#e,executor:this.#e.executor.withPluginAtFront(new r(t))})}withTables(){return new e({...this.#e})}$extendTables(){return new e({...this.#e})}$omitTables(){return new e({...this.#e})}$pickTables(){return new e({...this.#e})}},X=class{#e;constructor(e){this.#e=e}async execute(){return await this.#e()}};function Z(e){if(e.isCommitted)throw Error(`Transaction is already committed`);if(e.isRolledBack)throw Error(`Transaction is already rolled back`)}var $t=class e{#e;#t;constructor(t,n){this.#e=t instanceof e?t.#e:t,this.#t=n}get adapter(){return this.#e.adapter}get plugins(){return this.#e.plugins}transformQuery(e,t){return this.#e.transformQuery(e,t)}compileQuery(e,t){return this.#e.compileQuery(e,t)}provideConnection(e,t){return this.#e.provideConnection(e,t)}executeQuery(e,t){return Z(this.#t),this.#e.executeQuery(e,t)}stream(e,t,n){return Z(this.#t),this.#e.stream(e,t,n)}withConnectionProvider(t){return new e(this.#e.withConnectionProvider(t),this.#t)}withPlugin(t){return new e(this.#e.withPlugin(t),this.#t)}withPlugins(t){return new e(this.#e.withPlugins(t),this.#t)}withPluginAtFront(t){return new e(this.#e.withPluginAtFront(t),this.#t)}withoutPlugins(){return new e(this.#e.withoutPlugins(),this.#t)}};function Q(e,t){return l.createWithChildren([l.createWithSql(`${e} `),d.create(t)])}var en=class{#e;#t;#n;constructor(e){this.#e=k({...e})}async init(e){this.#t=_(this.#e.database)?await this.#e.database(e):this.#e.database,this.#n=new tn(this.#t),this.#e.onCreateConnection&&await this.#e.onCreateConnection(this.#n,e)}async acquireConnection(){return this.#n}async beginTransaction(e){await e.executeQuery(M.raw(`begin`))}async commitTransaction(e){await e.executeQuery(M.raw(`commit`))}async rollbackTransaction(e){await e.executeQuery(M.raw(`rollback`))}async savepoint(e,t,n){await e.executeQuery(n(Q(`savepoint`,t),y()))}async rollbackToSavepoint(e,t,n){await e.executeQuery(n(Q(`rollback to`,t),y()))}async releaseSavepoint(e,t,n){await e.executeQuery(n(Q(`release`,t),y()))}async releaseConnection(){}async destroy(){this.#t?.close()}},tn=class{#e;constructor(e){this.#e=e}async executeQuery(e){let{sql:t,parameters:n}=e,r=this.#e.prepare(t);if(r.reader)return{rows:r.all(n)};let{changes:i,lastInsertRowid:a}=r.run(n);return{insertId:a==null?void 0:BigInt(a),numAffectedRows:i==null?void 0:BigInt(i),rows:[]}}async*streamQuery(e,t){let{sql:n,parameters:r,query:a}=e,o=this.#e.prepare(n);if(!i.is(a))throw Error(`Sqlite driver only supports streaming of select queries`);let s=o.iterate(r);for(let e of s)yield{rows:[e]}}};const $=`kysely_migration`,nn=`kysely_migration_lock`;k({__noMigrations__:!0});var rn=class{#e;constructor(e){this.#e=e}async getSchemas(){return[]}async getTables(e={withInternalKyselyTables:!1}){return await this.#n(e)}#t(e,t){let n=e.selectFrom(`sqlite_master`).where(`type`,`in`,[`table`,`view`]).where(`name`,`not like`,`sqlite_%`).select([`name`,`sql`,`type`]).orderBy(`name`);return t.withInternalKyselyTables||(n=n.where(`name`,`!=`,$).where(`name`,`!=`,nn)),n}async#n(e){let t=await this.#t(this.#e,e).execute(),n=await this.#e.with(`table_list`,t=>this.#t(t,e)).selectFrom([`table_list as tl`,C`pragma_table_info(tl.name)`.as(`p`)]).select([`tl.name as table`,`p.cid`,`p.name`,`p.type`,`p.notnull`,`p.dflt_value`,`p.pk`]).orderBy(`tl.name`).orderBy(`p.cid`).execute(),r={};for(let e of n)r[e.table]??=[],r[e.table].push(e);return t.map(({name:e,sql:t,type:n})=>{let i=t?.split(/[\(\),]/)?.find(e=>e.toLowerCase().includes(`autoincrement`))?.trimStart()?.split(/\s+/)?.[0]?.replace(/["`]/g,``),a=r[e]??[];if(!i){let e=a.filter(e=>e.pk>0);e.length===1&&e[0].type.toLowerCase()===`integer`&&(i=e[0].name)}return{name:e,isView:n===`view`,isForeign:!1,columns:a.map(e=>({name:e.name,dataType:e.type,isNullable:!e.notnull,isAutoIncrementing:e.name===i,hasDefaultValue:e.dflt_value!=null,comment:void 0}))}})}},an=class{#e;constructor(e){this.#e=k({...e})}createDriver(){return new en(this.#e)}createQueryCompiler(){return new xe}createAdapter(){return new Ce}createIntrospector(e){return new rn(e)}};function on(e,t){if(sn(e)&&t.stack){let n=t.stack.split(`
2
- `).slice(1).join(`
3
- `);return e.stack+=`\n${n}`,e}return e}function sn(e){return A(e)&&D(e.stack)}const cn=Symbol();var ln=class{#e;#t=/* @__PURE__ */ new WeakMap;#n;constructor(e){this.#e=k({...e})}async init(e){this.#n=_(this.#e.pool)?await this.#e.pool(e):this.#e.pool}async acquireConnection(e){let t=await this.#r(),n=this.#t.get(t);return n||(n=new dn(t,this.#e.controlConnection),this.#t.set(t,n),this.#e?.onCreateConnection&&await this.#e.onCreateConnection(n,e)),this.#e?.onReserveConnection&&await this.#e.onReserveConnection(n,e),n}async beginTransaction(e,t){if(t.isolationLevel||t.accessMode){let n=[];t.isolationLevel&&n.push(`isolation level ${t.isolationLevel}`),t.accessMode&&n.push(t.accessMode);let r=`set transaction ${n.join(`, `)}`;await e.executeQuery(M.raw(r))}await e.executeQuery(M.raw(`begin`))}async commitTransaction(e){await e.executeQuery(M.raw(`commit`))}async rollbackTransaction(e){await e.executeQuery(M.raw(`rollback`))}async savepoint(e,t,n){await e.executeQuery(n(Q(`savepoint`,t),y()))}async rollbackToSavepoint(e,t,n){await e.executeQuery(n(Q(`rollback to`,t),y()))}async releaseSavepoint(e,t,n){await e.executeQuery(n(Q(`release savepoint`,t),y()))}async releaseConnection(e){e[cn]()}async destroy(){return new Promise((e,t)=>{this.#n.end(n=>{n?t(n):e()})})}async#r(){return new Promise((e,t)=>{this.#n.getConnection(async(n,r)=>{n?t(n):e(r)})})}};function un(e){return A(e)&&`insertId`in e&&`affectedRows`in e}var dn=class{#e;#t;#n;#r;constructor(e,t){this.#e=e,this.#t=t}async cancelQuery(e){await this.#a(`kill query ${this.#n}`,e)}async collectSessionInfo(){if(this.#n)return;let{threadId:e}=this.#e;if(e!=null)this.#n=e;else{let[{cid:e}]=await this.#i(M.raw(`select connection_id() as cid`));this.#n=Number(e)}}async executeQuery(e){try{this.#r=e.queryId;let t=await this.#i(e);if(!un(t))return{rows:Array.isArray(t)?t:[]};let{insertId:n,affectedRows:r,changedRows:i}=t;return{insertId:n!=null&&n.toString()!==`0`?BigInt(n):void 0,numAffectedRows:r==null?void 0:BigInt(r),numChangedRows:i==null?void 0:BigInt(i),rows:[]}}catch(e){throw on(e,/* @__PURE__ */ Error())}finally{this.#r=void 0}}async killSession(e){try{this.#e.destroy()}catch{}await this.#a(`kill connection ${this.#n}`,e)}async*streamQuery(e,t){this.#r=e.queryId;let n=this.#e.query(e.sql,e.parameters).stream({objectMode:!0});try{for await(let e of n)yield{rows:[e]}}catch(e){if(A(e)&&`code`in e&&e.code===`ERR_STREAM_PREMATURE_CLOSE`)return;throw e}finally{this.#r=void 0}}[cn](){this.#e.release()}#i(e){return new Promise((t,n)=>{this.#e.query(e.sql,e.parameters,(e,r)=>{e?n(e):t(r)})})}async#a(e,t){if(!this.#r)return;let{config:n}=this.#e,r=this.#r;if(!this.#t||!n)return await t(async t=>{r.queryId===this.#r?.queryId&&await t.executeQuery(M.raw(e,[]))});let{clientFlags:i,maxPacketSize:a,...o}=n,s=this.#t(o);try{await new Promise((t,n)=>{s.connect(i=>{if(i)return n(i);if(r.queryId!==this.#r?.queryId)return t();s.query(e,[],e=>{if(e)return n(e);t()})})})}finally{s.destroy()}}};const fn=/[\\']/g,pn=/`/g,mn=/[\\'"]/g;var hn=class extends he{getCurrentParameterPlaceholder(){return`?`}getLeftExplainOptionsWrapper(){return``}getExplainOptionAssignment(){return`=`}getExplainOptionsDelimiter(){return` `}getRightExplainOptionsWrapper(){return``}getLeftIdentifierWrapper(){return pn.source}getRightIdentifierWrapper(){return pn.source}sanitizeIdentifier(e){return e.replace(pn,"``")}sanitizeStringLiteral(e){return e.replace(fn,e=>e===`\\`?`\\\\`:`''`)}sanitizeJSONPathMemberValue(e){return e.replace(mn,e=>e===`\\`?`\\\\\\\\`:e===`'`?`''`:`\\\\"`)}visitCreateIndex(e){this.append(`create `),e.unique&&this.append(`unique `),this.append(`index `),e.ifNotExists&&this.append(`if not exists `),this.visitNode(e.name),e.using&&(this.append(` using `),this.visitNode(e.using)),e.table&&(this.append(` on `),this.visitNode(e.table)),e.columns&&(this.append(` (`),this.compileList(e.columns),this.append(`)`)),e.where&&(this.append(` `),this.visitNode(e.where))}},gn=class{#e;constructor(e){this.#e=e}async getSchemas(){return(await this.#e.selectFrom(`information_schema.schemata`).select(`schema_name`).$castTo().execute()).map(e=>({name:e.SCHEMA_NAME}))}async getTables(e={withInternalKyselyTables:!1}){let t=this.#e.selectFrom(`information_schema.columns as columns`).innerJoin(`information_schema.tables as tables`,e=>e.onRef(`columns.TABLE_CATALOG`,`=`,`tables.TABLE_CATALOG`).onRef(`columns.TABLE_SCHEMA`,`=`,`tables.TABLE_SCHEMA`).onRef(`columns.TABLE_NAME`,`=`,`tables.TABLE_NAME`)).select([`columns.COLUMN_NAME`,`columns.COLUMN_DEFAULT`,`columns.TABLE_NAME`,`columns.TABLE_SCHEMA`,`tables.TABLE_TYPE`,`tables.ENGINE`,`columns.IS_NULLABLE`,`columns.DATA_TYPE`,`columns.EXTRA`,`columns.COLUMN_COMMENT`]).where(`columns.TABLE_SCHEMA`,`=`,C`database()`).orderBy(`columns.TABLE_NAME`).orderBy(`columns.ORDINAL_POSITION`).$castTo();e.withInternalKyselyTables||(t=t.where(`columns.TABLE_NAME`,`!=`,$).where(`columns.TABLE_NAME`,`!=`,nn));let n=await t.execute();return this.#t(n)}#t(e){return e.reduce((e,t)=>{let n=e.find(e=>e.name===t.TABLE_NAME);return n||(n=k({name:t.TABLE_NAME,isView:t.TABLE_TYPE===`VIEW`,isForeign:t.ENGINE===`FEDERATED`,schema:t.TABLE_SCHEMA,columns:[]}),e.push(n)),n.columns.push(k({name:t.COLUMN_NAME,dataType:t.DATA_TYPE,isNullable:t.IS_NULLABLE===`YES`,isAutoIncrementing:t.EXTRA.toLowerCase().includes(`auto_increment`),hasDefaultValue:t.COLUMN_DEFAULT!==null,comment:t.COLUMN_COMMENT===``?void 0:t.COLUMN_COMMENT})),e},[])}};const _n=`ea586330-2c93-47c8-908d-981d9d270f9d`;var vn=class extends Se{get supportsTransactionalDdl(){return!1}get supportsReturning(){return!1}async acquireMigrationLock(e,t){await C`select get_lock(${C.lit(_n)}, ${C.lit(3600)})`.execute(e)}async releaseMigrationLock(e,t){await C`select release_lock(${C.lit(_n)})`.execute(e)}},yn=class{#e;constructor(e){this.#e=e}createDriver(){return new ln(this.#e)}createQueryCompiler(){return new hn}createAdapter(){return new vn}createIntrospector(e){return new gn(e)}};const bn=Symbol();var xn=class{#e;#t=/* @__PURE__ */ new WeakMap;#n;constructor(e){this.#e=k({...e})}async init(e){this.#n=_(this.#e.pool)?await this.#e.pool(e):this.#e.pool}async acquireConnection(e){let t=await this.#n.connect(),n=this.#t.get(t);return n||(n=new Sn(t,{controlClient:this.#e.controlClient||this.#n.Client,cursor:this.#e.cursor??null,poolOptions:this.#n.options}),this.#t.set(t,n),this.#e.onCreateConnection&&await this.#e.onCreateConnection(n,e)),this.#e.onReserveConnection&&await this.#e.onReserveConnection(n,e),n}async beginTransaction(e,t){let n=`begin`;(t.isolationLevel||t.accessMode)&&(n=`start transaction`,t.isolationLevel&&(n+=` isolation level ${t.isolationLevel}`),t.accessMode&&(n+=` ${t.accessMode}`)),await e.executeQuery(M.raw(n))}async commitTransaction(e){await e.executeQuery(M.raw(`commit`))}async rollbackTransaction(e){await e.executeQuery(M.raw(`rollback`))}async savepoint(e,t,n){await e.executeQuery(n(Q(`savepoint`,t),y()))}async rollbackToSavepoint(e,t,n){await e.executeQuery(n(Q(`rollback to`,t),y()))}async releaseSavepoint(e,t,n){await e.executeQuery(n(Q(`release`,t),y()))}async releaseConnection(e){e[bn]()}async destroy(){if(this.#n){let e=this.#n;this.#n=void 0,await e.end()}}},Sn=class{#e;#t;#n;#r;constructor(e,t){this.#e=e,this.#t=t}async cancelQuery(e){return await this.#i(`select pg_cancel_backend(${this.#r})`,e)}async collectSessionInfo(){if(this.#r)return;let{processID:e}=this.#e;if(e)this.#r=e;else{let{rows:[{pid:e}]}=await this.#e.query(`select pg_backend_pid() as pid`,[]);this.#r=Number(e)}}async executeQuery(e){try{this.#n=e.queryId;let{command:t,rowCount:n,rows:r}=await this.#e.query(e.sql,e.parameters);return{numAffectedRows:t===`INSERT`||t===`UPDATE`||t===`DELETE`||t===`MERGE`?BigInt(n):void 0,rows:r??[]}}catch(e){throw on(e,/* @__PURE__ */ Error())}finally{this.#n=void 0}}async killSession(e){return await this.#i(`select pg_terminate_backend(${this.#r})`,e)}async*streamQuery(e,t){if(!this.#t.cursor)throw Error("`cursor` is not present in your postgres dialect config. It's required to make streaming work in postgres.");this.#n=e.queryId;let n=this.#e.query(new this.#t.cursor(e.sql,e.parameters.slice()));try{for(;;){let e=await n.read(t);if(e.length===0)break;yield{rows:e}}}finally{await n.close(),this.#n=void 0}}[bn](){this.#e.release()}async#i(e,t){if(!this.#n)return;let{controlClient:n,poolOptions:r}=this.#t,i=this.#n;if(!n)return await t(async t=>{i.queryId===this.#n?.queryId&&await t.executeQuery(M.raw(e,[]))});let a=new n({...r,password:`password`in r?r.password:void 0});try{if(await a.connect(),i.queryId!==this.#n.queryId)return;await a.query(e,[])}finally{a.end()}}},Cn=class{#e;constructor(e){this.#e=e}async getSchemas(){return(await this.#e.selectFrom(`pg_catalog.pg_namespace`).select(`nspname`).$castTo().execute()).map(e=>({name:e.nspname}))}async getTables(e={withInternalKyselyTables:!1}){let t=this.#e.selectFrom(`pg_catalog.pg_attribute as a`).innerJoin(`pg_catalog.pg_class as c`,`a.attrelid`,`c.oid`).innerJoin(`pg_catalog.pg_namespace as ns`,`c.relnamespace`,`ns.oid`).innerJoin(`pg_catalog.pg_type as typ`,`a.atttypid`,`typ.oid`).innerJoin(`pg_catalog.pg_namespace as dtns`,`typ.typnamespace`,`dtns.oid`).select([`a.attname as column`,`a.attnotnull as not_null`,`a.atthasdef as has_default`,`c.relname as table`,`c.relkind as table_type`,`ns.nspname as schema`,`typ.typname as type`,`dtns.nspname as type_schema`,C`col_description(a.attrelid, a.attnum)`.as(`column_description`),C`pg_get_serial_sequence(quote_ident(ns.nspname) || '.' || quote_ident(c.relname), a.attname)`.as(`auto_incrementing`)]).where(`c.relkind`,`in`,[`r`,`v`,`p`,`f`]).where(`ns.nspname`,`!~`,`^pg_`).where(`ns.nspname`,`!=`,`information_schema`).where(`ns.nspname`,`!=`,`crdb_internal`).where(C`has_schema_privilege(ns.nspname, 'USAGE')`).where(`a.attnum`,`>=`,0).where(`a.attisdropped`,`!=`,!0).orderBy(`ns.nspname`).orderBy(`c.relname`).orderBy(`a.attnum`).$castTo();e.withInternalKyselyTables||(t=t.where(`c.relname`,`!=`,$).where(`c.relname`,`!=`,nn));let n=await t.execute();return this.#t(n)}#t(e){let t=[],n=/* @__PURE__ */ new Map;for(let r of e){let e=n.get(r.schema);e||(e=/* @__PURE__ */ new Map,n.set(r.schema,e));let i=e.get(r.table);i||(i=k({columns:[],isForeign:r.table_type===`f`,isView:r.table_type===`v`,name:r.table,schema:r.schema}),e.set(r.table,i),t.push(i)),i.columns.push(k({comment:r.column_description??void 0,dataType:r.type,dataTypeSchema:r.type_schema,hasDefaultValue:r.has_default,isAutoIncrementing:r.auto_incrementing!==null,isNullable:!r.not_null,name:r.column}))}return t}};const wn=/"/g;var Tn=class extends he{sanitizeIdentifier(e){return e.replace(wn,`""`)}};const En=BigInt(`3853314791062309107`);var Dn=class extends Se{get supportsTransactionalDdl(){return!0}get supportsReturning(){return!0}async acquireMigrationLock(e,t){await C`
4
- with set_timeout as (
5
- select set_config('lock_timeout', '${C.lit(36e5)}', true) as config_val
6
- )
7
- select pg_advisory_lock(${C.lit(En)})
8
- from set_timeout`.execute(e)}async releaseMigrationLock(e,t){await C`select pg_advisory_unlock(${C.lit(En)})`.execute(e)}},On=class{#e;constructor(e){this.#e=e}createDriver(){return new xn(this.#e)}createQueryCompiler(){return new Tn}createAdapter(){return new Dn}createIntrospector(e){return new Cn(e)}},kn=class extends Se{get supportsCreateIfNotExists(){return!1}get supportsTransactionalDdl(){return!0}get supportsOutput(){return!0}async acquireMigrationLock(e,t){await C`exec sp_getapplock @DbPrincipal = ${C.lit(`dbo`)}, @Resource = ${C.lit($)}, @LockMode = ${C.lit(`Exclusive`)}, @LockOwner = ${C.lit(`Session`)}`.execute(e)}async releaseMigrationLock(e,t){await C`exec sp_releaseapplock @DbPrincipal = ${C.lit(`dbo`)}, @Resource = ${C.lit($)}, @LockOwner = ${C.lit(`Session`)}`.execute(e)}};const An=Symbol(),jn=Symbol(),Mn=Symbol();var Nn=class{#e;#t;constructor(e){this.#e=k({...e});let{tarn:t,tedious:n,validateConnections:r}=this.#e;this.#t=new t.Pool({...t.options,create:async()=>await new Pn(await n.connectionFactory(),n).connect(),destroy:async e=>{await e[jn]()},validate:r===!1?void 0:e=>e[Mn]()})}async init(){}async acquireConnection(){return await this.#t.acquire().promise}async beginTransaction(e,t){await e.beginTransaction(t)}async commitTransaction(e){await e.commitTransaction()}async rollbackTransaction(e){await e.rollbackTransaction()}async savepoint(e,t){await e.savepoint(t)}async rollbackToSavepoint(e,t){await e.rollbackTransaction(t)}async releaseConnection(e){this.#e.resetConnectionsOnRelease&&await e[An](),this.#t.release(e)}async destroy(){await this.#t.destroy()}},Pn=class{#e;#t;#n;#r;constructor(e,t){this.#e=e,this.#t=!1,this.#n=t}async beginTransaction(e){let{isolationLevel:t}=e;await new Promise((e,n)=>this.#e.beginTransaction(t=>{t?n(t):e(void 0)},t?a(8):void 0,t?this.#i(t):void 0))}async cancelQuery(){if(this.#r)return new Promise(e=>{this.#r?.request.once(`requestCompleted`,e),this.#e.cancel()||(this.#r?.request.off(`requestCompleted`,e),e())})}async commitTransaction(){await new Promise((e,t)=>this.#e.commitTransaction(n=>{n?t(n):e(void 0)}))}async connect(){let{promise:e,reject:t,resolve:n}=new v;this.#e.connect(e=>{if(e)return t(e);n()}),this.#e.on(`error`,e=>{e instanceof Error&&`code`in e&&e.code===`ESOCKET`&&(this.#t=!0),console.error(e),t(e)});function r(){t(/* @__PURE__ */ Error(`The connection ended without ever completing the connection`))}return this.#e.once(`end`,r),await e,this.#e.off(`end`,r),this}async executeQuery(e){try{let t=new v;this.#r=new Fn({compiledQuery:e,tedious:this.#n,onDone:t}),this.#e.execSql(this.#r.request);let{rowCount:n,rows:r}=await t.promise;return{numAffectedRows:n===void 0?void 0:BigInt(n),rows:r}}catch(e){throw on(e,/* @__PURE__ */ Error())}finally{this.#r=void 0}}async rollbackTransaction(e){await new Promise((t,n)=>this.#e.rollbackTransaction(e=>{e?n(e):t(void 0)},e))}async savepoint(e){await new Promise((t,n)=>this.#e.saveTransaction(e=>{e?n(e):t(void 0)},e))}async*streamQuery(e,t){this.#r=new Fn({compiledQuery:e,streamChunkSize:t,tedious:this.#n}),this.#e.execSql(this.#r.request);try{for(;;){let e=await this.#r.readChunk();if(e.length===0||(yield{rows:e},e.length<t))break}}finally{await this.cancelQuery(),this.#r=void 0}}#i(e){let{ISOLATION_LEVEL:t}=this.#n,n={"read committed":t.READ_COMMITTED,"read uncommitted":t.READ_UNCOMMITTED,"repeatable read":t.REPEATABLE_READ,serializable:t.SERIALIZABLE,snapshot:t.SNAPSHOT}[e];if(n===void 0)throw Error(`Unknown isolation level: ${e}`);return n}[jn](){return`closed`in this.#e&&this.#e.closed?Promise.resolve():new Promise(e=>{this.#e.once(`end`,e),this.#e.close()})}async[An](){await new Promise((e,t)=>{this.#e.reset(n=>{if(n)return t(n);e()})})}async[Mn](){if(this.#t||this.#a())return!1;try{let e=new v,t=new Fn({compiledQuery:M.raw(`select 1`),onDone:e,tedious:this.#n});return this.#e.execSql(t.request),await e.promise,!0}catch{return!1}}#a(){return`closed`in this.#e&&!!this.#e.closed}},Fn=class{#e;#t;#n;#r;#i;#a;constructor(e){let{compiledQuery:t,onDone:n,streamChunkSize:r,tedious:i}=e;if(this.#t=[],this.#n=r,this.#r={},this.#i=i,n){let e=`onDone`;this.#r[e]=(t,r)=>{if(t!==`chunkReady`){if(delete this.#r[e],t===`error`)return n.reject(r);n.resolve({rowCount:this.#a,rows:this.#t})}}}this.#e=new this.#i.Request(t.sql,(e,t)=>{if(e)return Object.values(this.#r).forEach(t=>t(`error`,e instanceof AggregateError?e.errors:e));this.#a=t}),this.#o(t.parameters),this.#s()}get request(){return this.#e}readChunk(){let e=this.readChunk.name;return new Promise((t,n)=>{this.#r[e]=(r,i)=>{if(delete this.#r[e],r===`error`)return n(i);t(this.#t.splice(0,this.#n))},this.#e.resume()})}#o(e){for(let t=0;t<e.length;t++){let n=e[t];this.#e.addParameter(String(t+1),this.#c(n),n)}}#s(){let e=this.#n?()=>{this.#n<=this.#t.length&&(this.#e.pause(),Object.values(this.#r).forEach(e=>e(`chunkReady`)))}:()=>{},t=t=>{let n={};for(let e of t)n[e.metadata.colName]=e.value;this.#t.push(n),e()};this.#e.on(`row`,t),this.#e.once(`requestCompleted`,()=>{Object.values(this.#r).forEach(e=>e(`completed`)),this.#e.off(`row`,t)})}#c(t){return e(t)||me(t)||D(t)?this.#i.TYPES.NVarChar:u(t)||se(t)&&t%1==0?t<-2147483648||t>2147483647?this.#i.TYPES.BigInt:this.#i.TYPES.Int:se(t)?this.#i.TYPES.Float:re(t)?this.#i.TYPES.Bit:ie(t)?this.#i.TYPES.DateTime:ne(t)?this.#i.TYPES.VarBinary:this.#i.TYPES.NVarChar}},In=class{#e;constructor(e){this.#e=e}async getSchemas(){return await this.#e.selectFrom(`sys.schemas`).select(`name`).execute()}async getTables(e={withInternalKyselyTables:!1}){let t=await this.#e.selectFrom(`sys.tables as tables`).leftJoin(`sys.schemas as table_schemas`,`table_schemas.schema_id`,`tables.schema_id`).innerJoin(`sys.columns as columns`,`columns.object_id`,`tables.object_id`).innerJoin(`sys.types as types`,`types.user_type_id`,`columns.user_type_id`).leftJoin(`sys.schemas as type_schemas`,`type_schemas.schema_id`,`types.schema_id`).leftJoin(`sys.extended_properties as comments`,e=>e.onRef(`comments.major_id`,`=`,`tables.object_id`).onRef(`comments.minor_id`,`=`,`columns.column_id`).on(`comments.name`,`=`,`MS_Description`)).$if(!e.withInternalKyselyTables,e=>e.where(`tables.name`,`!=`,$).where(`tables.name`,`!=`,nn)).select([`tables.name as table_name`,e=>e.ref(`tables.type`).$castTo().as(`table_type`),`table_schemas.name as table_schema_name`,`columns.default_object_id as column_default_object_id`,`columns.generated_always_type_desc as column_generated_always_type`,`columns.is_computed as column_is_computed`,`columns.is_identity as column_is_identity`,`columns.is_nullable as column_is_nullable`,`columns.is_rowguidcol as column_is_rowguidcol`,`columns.name as column_name`,`types.is_nullable as type_is_nullable`,`types.name as type_name`,`type_schemas.name as type_schema_name`,`comments.value as column_comment`]).unionAll(this.#e.selectFrom(`sys.views as views`).leftJoin(`sys.schemas as view_schemas`,`view_schemas.schema_id`,`views.schema_id`).innerJoin(`sys.columns as columns`,`columns.object_id`,`views.object_id`).innerJoin(`sys.types as types`,`types.user_type_id`,`columns.user_type_id`).leftJoin(`sys.schemas as type_schemas`,`type_schemas.schema_id`,`types.schema_id`).leftJoin(`sys.extended_properties as comments`,e=>e.onRef(`comments.major_id`,`=`,`views.object_id`).onRef(`comments.minor_id`,`=`,`columns.column_id`).on(`comments.name`,`=`,`MS_Description`)).select([`views.name as table_name`,`views.type as table_type`,`view_schemas.name as table_schema_name`,`columns.default_object_id as column_default_object_id`,`columns.generated_always_type_desc as column_generated_always_type`,`columns.is_computed as column_is_computed`,`columns.is_identity as column_is_identity`,`columns.is_nullable as column_is_nullable`,`columns.is_rowguidcol as column_is_rowguidcol`,`columns.name as column_name`,`types.is_nullable as type_is_nullable`,`types.name as type_name`,`type_schemas.name as type_schema_name`,`comments.value as column_comment`])).orderBy(`table_schema_name`).orderBy(`table_name`).orderBy(`column_name`).execute(),n={};for(let e of t){let t=`${e.table_schema_name}.${e.table_name}`;(n[t]=n[t]||k({columns:[],isForeign:!1,isView:e.table_type===`V `,name:e.table_name,schema:e.table_schema_name??void 0})).columns.push(k({dataType:e.type_name,dataTypeSchema:e.type_schema_name??void 0,hasDefaultValue:e.column_default_object_id>0||e.column_generated_always_type!==`NOT_APPLICABLE`||e.column_is_identity||e.column_is_computed||e.column_is_rowguidcol,isAutoIncrementing:e.column_is_identity,isNullable:e.column_is_nullable&&e.type_is_nullable,name:e.column_name,comment:e.column_comment??void 0}))}return Object.values(n)}};const Ln=/^[a-z0-9_]$/i;var Rn=class extends he{getCurrentParameterPlaceholder(){return`@${this.numParameters}`}visitOffset(e){super.visitOffset(e),this.append(` rows`)}compileColumnAlterations(e){let t={};for(let n of e)t[n.kind]||(t[n.kind]=[]),t[n.kind].push(n);let n=!0;t.AddColumnNode&&(this.append(`add `),this.compileList(t.AddColumnNode),n=!1),t.AlterColumnNode&&(n||this.append(`, `),this.compileList(t.AlterColumnNode)),t.DropColumnNode&&(n||this.append(`, `),this.append(`drop `),this.compileList(t.DropColumnNode),n=!1),t.ModifyColumnNode&&(n||this.append(`, `),this.compileList(t.ModifyColumnNode)),t.RenameColumnNode&&(n||this.append(`, `),this.compileList(t.RenameColumnNode))}visitAddColumn(e){this.visitNode(e.column)}visitDropColumn(e){this.append(`column `),e.ifExists&&this.append(`if exists `),this.visitNode(e.column)}visitMergeQuery(e){super.visitMergeQuery(e),this.append(`;`)}visitCollate(e){this.append(`collate `);let{name:t}=e.collation;for(let e of t)if(!Ln.test(e))throw Error(`Invalid collation: ${t}`);this.append(t)}announcesNewColumnDataType(){return!1}},zn=class{#e;constructor(e){this.#e=e}createDriver(){return new Nn(this.#e)}createQueryCompiler(){return new Rn}createAdapter(){return new kn}createIntrospector(e){return new In(e)}};function Bn(e){return e.charAt(0).toUpperCase()+e.slice(1)}function Vn(e){if(!e)return null;if(`dialect`in e)return Vn(e.dialect);if(`createDriver`in e){if(e instanceof an)return`sqlite`;if(e instanceof yn)return`mysql`;if(e instanceof On)return`postgres`;if(e instanceof zn)return`mssql`}return`aggregate`in e?`sqlite`:`getConnection`in e?`mysql`:`connect`in e?`postgres`:`fileControl`in e||`open`in e&&`close`in e&&`prepare`in e||`batch`in e&&`exec`in e&&`prepare`in e?`sqlite`:null}function Hn(e,t){if(e!==void 0){if(typeof e!=`string`||e.length===0)throw new Te("`database.schemaName` must be a non-empty schema name.");if(t!==`postgres`)throw new Te(`\`database.schemaName\` is only supported on PostgreSQL, but the configured database type is "${t??`unknown`}".`)}}const Un=async e=>{let t=e.database;if(!t)return{kysely:null,databaseType:null,introspectIndexes:void 0,schemaName:void 0,transaction:void 0};if(`db`in t){let e=t.schemaName;return Hn(e,t.type),{kysely:e?t.db.withSchema(e):t.db,databaseType:t.type,introspectIndexes:void 0,schemaName:e,transaction:t.transaction}}if(`dialect`in t){let e=t.schemaName;Hn(e,t.type);let n=new Y({dialect:t.dialect});return{kysely:e?n.withSchema(e):n,databaseType:t.type,introspectIndexes:void 0,schemaName:e,transaction:t.transaction}}let n,r,i,a=Vn(t);if(`createDriver`in t&&(n=t),`aggregate`in t&&!(`createSession`in t)&&(n=new an({database:t}),i=!0),`getConnection`in t&&(n=new yn(t),i=!0),`connect`in t&&(n=new On({pool:t}),i=!0),`fileControl`in t){let{BunSqliteDialect:e}=await import(`./bun-sqlite-dialect-DoOVo4ja-DD-Erl56.mjs`);n=new e({database:t}),i=!0}if(`createSession`in t){let e;try{({DatabaseSync:e}=await import(
9
- /* @vite-ignore */
10
- /* webpackIgnore: true */
11
- `node:sqlite`))}catch(e){if(typeof e==`object`&&e&&`code`in e&&e.code!==`ERR_UNKNOWN_BUILTIN_MODULE`)throw e}if(e&&t instanceof e){let{NodeSqliteDialect:e}=await import(`./index.mjs`).then(e=>e.t);n=new e({database:t}),i=!0}}if(`batch`in t&&`exec`in t&&`prepare`in t){let{createD1IndexIntrospector:e,D1SqliteDialect:a}=await import(`./d1-sqlite-dialect-Cru74LbR-W1bKrx1w.mjs`);n=new a({database:t}),r=e(t),i=!1}return{kysely:n?new Y({dialect:n}):null,databaseType:a,introspectIndexes:r,schemaName:void 0,transaction:i}};function Wn(e,t,n){return n===`postgres`?C`${C.ref(e)} ILIKE ${t}`:C`LOWER(${C.ref(e)}) LIKE LOWER(${t})`}function Gn(e,t){return{lhs:C`LOWER(${C.ref(e)})`,values:t.map(e=>e.toLowerCase())}}function Kn(e,t){return{lhs:C`LOWER(${C.ref(e)})`,values:t.map(e=>e.toLowerCase())}}function qn(e,t){return{lhs:C`LOWER(${C.ref(e)})`,value:t.toLowerCase()}}function Jn(e,t){return{lhs:C`LOWER(${C.ref(e)})`,value:t.toLowerCase()}}function Yn(e){return e.map(e=>({name:e.name,schema:e.schema,columns:e.columns.map(e=>({name:e.name,nullable:e.isNullable,hasDefault:e.hasDefaultValue||e.isAutoIncrementing}))}))}function Xn(e,t){let n={};for(let[r,i]of Object.entries(t)){let t=Object.entries(i.fields),a=Zn(e,r,[i.idColumn??`id`,...t.map(([e])=>e)]),o={};t.forEach(([e,t],n)=>{o[a.columns[n+1]??e]=t}),n[a.table]={...i,fields:o,schema:a.schema??i.schema,...a.columns[0]!==`id`&&{idColumn:a.columns[0]}}}return n}function Zn(e,t,r){let{query:a}=e.selectFrom(t).select(r).compile();if(!i.is(a))return{table:t,columns:[]};let o=a.from?.froms[0],s=o&&c.is(o)?o.table:void 0;return{schema:s?.schema?.name,table:s?.identifier.name??t,columns:(a.selections??[]).map(({selection:e})=>ee.is(e)&&n.is(e.column)?e.column.column.name:void 0)}}async function Qn(e){return(await C`
12
- SELECT pg_catalog.current_schema() AS schema
13
- `.execute(e.withoutPlugins())).rows[0]?.schema??`public`}async function $n(e){return(await C`
14
- SELECT SCHEMA_NAME() AS "schemaName"
15
- `.execute(e.withoutPlugins())).rows[0]?.schemaName||`dbo`}async function er(e,t){if(t===`postgres`)return(await C`
16
- SELECT pg_catalog.current_schemas(true)::text[] AS schemas
17
- `.execute(e.withoutPlugins())).rows[0]?.schemas??[];if(t===`mssql`)return[await $n(e),`dbo`]}async function tr(e,t,n){let r=Xn(e,n);return t===`sqlite`?Ee(r,Yn(await ue(e,Object.entries(r).flatMap(([e,t])=>t.disableMigrations?[]:[e])))):e.connection().execute(async e=>{let n=await er(e,t),i=Yn(await e.introspection.getTables());for(let[e,t]of Object.entries(r))t.schema===void 0&&n&&(t.schema=n.find(t=>i.some(n=>n.name===e&&n.schema===t))??``);return Ee(r,i)})}const nr=(e,t)=>{let n=null,r=!1,i=(e,n=!1)=>({getFieldName:i,schema:a,getDefaultFieldName:o,getDefaultModelName:s,getFieldAttributes:c,getModelName:l,options:u})=>{t?.type===`mysql`&&u.advanced?.database?.generateId===!1&&!r&&(r=!0,we.warn(`[Kysely Adapter] MySQL does not support INSERT...RETURNING. With generateId set to false, the adapter uses best-effort fallback strategies (unique columns, full-field match) to retrieve inserted rows. For reliable behavior, use Better Auth's default ID generation, a custom generateId function, or generateId: "serial" for auto-increment.`));let d=e=>{let t=[],n=[];if(e)for(let[r,i]of Object.entries(e)){let e=a[i.modelKey??s(r)]?.fields,[o,c]=r.includes(`.`)?r.split(`.`):[void 0,r];if(e){e.id={type:`string`};for(let[i,a]of Object.entries(e))t.push(C`${C.ref(`join_${c}`)}.${C.ref(a.fieldName||i)} as ${C.ref(`_joined_${c}_${a.fieldName||i}`)}`),n.push({joinModel:r,joinModelRef:c,fieldName:a.fieldName||i})}}return{allSelectsStr:n,allSelects:t}},f=async(r,o,s,c,l)=>{if(t?.type===`mysql`){if(l.length>0){let t=await o.executeTakeFirst();if(!t||Number(t.numUpdatedRows??0)===0)return null;let n=l.find(e=>e.field===`id`&&(e.operator===void 0||e.operator===`eq`)&&e.connector!==`OR`&&e.value!==void 0&&e.value!==null),a,u;if(r.id!==void 0&&r.id!==null)a=`id`,u=r.id;else if(n)a=`id`,u=n.value;else if(l[0]?.field)a=l[0].field,u=r[a]===void 0?l[0].value:r[a];else return null;return await e.selectFrom(s).selectAll().where(i({model:c,field:a}),u===null?`is`:`=`,u).limit(1).executeTakeFirst()}await o.execute();let t=async e=>{if(r.id)return await e.selectFrom(s).selectAll().where(i({model:c,field:`id`}),`=`,r.id).limit(1).executeTakeFirst();if(u.advanced?.database?.generateId===`serial`){let t=(await C`SELECT LAST_INSERT_ID() as id`.execute(e)).rows[0]?.id;if(t)return await e.selectFrom(s).selectAll().where(i({model:c,field:`id`}),`=`,t).limit(1).executeTakeFirst()}let t=a[c]?.fields;if(t)for(let[n,a]of Object.entries(t)){if(!a.unique)continue;let t=i({model:c,field:n}),o=r[t];if(o==null)continue;let l=await e.selectFrom(s).selectAll().where(t,`=`,o).limit(1).executeTakeFirst();if(l)return l}let n=e.selectFrom(s).selectAll(),o=!1;for(let[e,t]of Object.entries(r))t!==void 0&&(n=n.where(e,t===null?`is`:`=`,t),o=!0);if(o){let e=await n.limit(2).execute();if(e.length===1)return e[0]}return we.warn(`[Kysely Adapter] Unable to safely identify the inserted "${s}" row on MySQL. Enable Better Auth ID generation or use generateId: "serial" for reliable behavior.`),null};return n?t(e):e.transaction().execute(t)}return t?.type===`mssql`?await o.outputAll(`inserted`).executeTakeFirst():await o.returningAll().executeTakeFirst()};function p(e,n,r){if(!r)return{and:null,or:null};let a={and:[],or:[]};return r.forEach(r=>{let{field:o,value:s,operator:c=`eq`,connector:l=`AND`,mode:u=`sensitive`}=r,d=s,f=i({model:n,field:o}),p=u===`insensitive`&&(typeof d==`string`||Array.isArray(d)&&d.every(e=>typeof e==`string`)),m=n=>{let r=`${e}.${f}`;if(c.toLowerCase()===`in`){if(p){let{lhs:e,values:t}=Gn(r,Array.isArray(d)?d:[d]);return n(e,`in`,t)}return n(r,`in`,Array.isArray(d)?d:[d])}if(c.toLowerCase()===`not_in`){if(p){let{lhs:e,values:t}=Kn(r,Array.isArray(d)?d:[d]);return n(e,`not in`,t)}return n(r,`not in`,Array.isArray(d)?d:[d])}if(c===`contains`)return p&&typeof d==`string`?Wn(r,`%${d}%`,t?.type):n(r,`like`,`%${d}%`);if(c===`starts_with`)return p&&typeof d==`string`?Wn(r,`${d}%`,t?.type):n(r,`like`,`${d}%`);if(c===`ends_with`)return p&&typeof d==`string`?Wn(r,`%${d}`,t?.type):n(r,`like`,`%${d}`);if(c===`eq`){if(d===null)return n(r,`is`,null);if(p&&typeof d==`string`){let{lhs:e,value:t}=qn(r,d);return n(e,`=`,t)}return n(r,`=`,d)}if(c===`ne`){if(d===null)return n(r,`is not`,null);if(p&&typeof d==`string`){let{lhs:e,value:t}=Jn(r,d);return n(e,`<>`,t)}return n(r,`<>`,d)}return c===`gt`?n(r,`>`,d):c===`gte`?n(r,`>=`,d):c===`lt`?n(r,`<`,d):c===`lte`?n(r,`<=`,d):n(r,c,d)};l===`OR`?a.or.push(m):a.and.push(m)}),{and:a.and.length?a.and:null,or:a.or.length?a.or:null}}function m(e,t,n){if(!t||!e.length)return e;let r=/* @__PURE__ */ new Map;for(let a of e){let e={},o={};for(let[e]of Object.entries(t))o[e]={};for(let[r,s]of Object.entries(a)){let a=String(r),c=!1;for(let{joinModel:e,fieldName:r,joinModelRef:l}of n)if(a===`_joined_${l}_${r}`||a===`_Joined${Bn(l)}${Bn(r)}`){o[e][i({model:t[e]?.modelKey??e,field:r})]=s,c=!0;break}c||(e[r]=s)}let s=e.id;if(!s)continue;if(!r.has(s)){let n={...e};for(let[e,r]of Object.entries(t))n[e]=r.relation===`one-to-one`?null:[];r.set(s,n)}let c=r.get(s);for(let[e,n]of Object.entries(t)){let t=n.relation===`one-to-one`,r=n.limit??100,a=o[e],s=a&&Object.keys(a).length>0&&Object.values(a).some(e=>e!=null);if(t)c[e]=s?a:null;else{let t=e;if(Array.isArray(c[t])&&s){if(c[t].length>=r)continue;let o=i({model:n.modelKey??e,field:`id`}),s=a[o];s?!c[t].some(e=>e[o]===s)&&c[t].length<r&&c[t].push(a):c[t].length<r&&c[t].push(a)}}}}let a=Array.from(r.values());for(let e of a)for(let[n,r]of Object.entries(t))if(r.relation!==`one-to-one`){let t=n;if(Array.isArray(e[t])){let n=r.limit??100;e[t].length>n&&(e[t]=e[t].slice(0,n))}}return a}return{async create({data:t,model:n,modelKey:r=n}){return await f(t,e.insertInto(n).values(t),n,r,[])},async findOne({model:t,modelKey:n=t,where:r,select:a,join:o}){let{and:s,or:c}=p(t,n,r),l=e.selectFrom(e=>{let r=e.selectFrom(t);return s&&(r=r.where(e=>e.and(s.map(t=>t(e))))),c&&(r=r.where(e=>e.or(c.map(t=>t(e))))),r=a?.length&&a.length>0?r.select(a.map(e=>i({model:n,field:e}))):r.selectAll(),r.as(`primary`)}).selectAll(`primary`);if(o)for(let[e,t]of Object.entries(o)){let[n,r]=e.includes(`.`)?e.split(`.`):[void 0,e];l=l.leftJoin(`${e} as join_${r}`,e=>e.onRef(`join_${r}.${t.on.to}`,`=`,`primary.${t.on.from}`))}let{allSelectsStr:u,allSelects:f}=d(o);l=l.select(f);let h=await l.execute();if(!h||!Array.isArray(h)||h.length===0)return null;let g=h[0];return o?m(h,o,u)[0]:g},async findMany({model:n,modelKey:r=n,where:a,limit:o,select:s,offset:c,sortBy:l,join:u}){let{and:f,or:h}=p(n,r,a),g=e.selectFrom(e=>{let a=e.selectFrom(n);return t?.type===`mssql`?c===void 0?o!==void 0&&(a=a.top(o)):(l||(a=a.orderBy(i({model:r,field:`id`}))),a=a.offset(c).fetch(o||100)):(o!==void 0&&(a=a.limit(o)),c!==void 0&&(a=a.offset(c))),l?.field&&(a=a.orderBy(`${i({model:r,field:l.field})}`,l.direction)),f&&(a=a.where(e=>e.and(f.map(t=>t(e))))),h&&(a=a.where(e=>e.or(h.map(t=>t(e))))),a=s?.length&&s.length>0?a.select(s.map(e=>i({model:r,field:e}))):a.selectAll(),a.as(`primary`)}).selectAll(`primary`);if(u)for(let[e,t]of Object.entries(u)){let[n,r]=e.includes(`.`)?e.split(`.`):[void 0,e];g=g.leftJoin(`${e} as join_${r}`,e=>e.onRef(`join_${r}.${t.on.to}`,`=`,`primary.${t.on.from}`))}let{allSelectsStr:_,allSelects:ee}=d(u);g=g.select(ee),l?.field&&(g=g.orderBy(`${i({model:r,field:l.field})}`,l.direction));let v=await g.execute();return v?u?m(v,u,_):v:[]},async update({model:t,modelKey:n=t,where:r,update:i}){if(r.length===0)return null;let{and:a,or:o}=p(t,n,r),s=e.updateTable(t).set(i);return a&&(s=s.where(e=>e.and(a.map(t=>t(e))))),o&&(s=s.where(e=>e.or(o.map(t=>t(e))))),await f(i,s,t,n,r)},async updateMany({model:t,modelKey:n=t,where:r,update:i}){let{and:a,or:o}=p(t,n,r),s=e.updateTable(t).set(i);a&&(s=s.where(e=>e.and(a.map(t=>t(e))))),o&&(s=s.where(e=>e.or(o.map(t=>t(e)))));let c=(await s.executeTakeFirst()).numUpdatedRows;return c>2**53-1?2**53-1:Number(c)},async count({model:t,modelKey:n=t,where:r}){let{and:i,or:a}=p(t,n,r),o=e.selectFrom(t).select(e.fn.count(`id`).as(`count`));i&&(o=o.where(e=>e.and(i.map(t=>t(e))))),a&&(o=o.where(e=>e.or(a.map(t=>t(e)))));let s=await o.execute();return typeof s[0].count==`number`?s[0].count:typeof s[0].count==`bigint`?Number(s[0].count):parseInt(s[0].count)},async delete({model:t,modelKey:n=t,where:r}){let{and:i,or:a}=p(t,n,r),o=e.deleteFrom(t);i&&(o=o.where(e=>e.and(i.map(t=>t(e))))),a&&(o=o.where(e=>e.or(a.map(t=>t(e))))),await o.execute()},async deleteMany({model:t,modelKey:n=t,where:r}){let{and:i,or:a}=p(t,n,r),o=e.deleteFrom(t);i&&(o=o.where(e=>e.and(i.map(t=>t(e))))),a&&(o=o.where(e=>e.or(a.map(t=>t(e)))));let s=(await o.executeTakeFirst()).numDeletedRows;return s>2**53-1?2**53-1:Number(s)},async consumeOne({model:r,modelKey:a=r,where:o}){let{and:s,or:c}=p(r,a,o),l=e=>(s&&(e=e.where(e=>e.and(s.map(t=>t(e))))),c&&(e=e.where(e=>e.or(c.map(t=>t(e))))),e),u=i({model:a,field:`id`}),d=async(e,n)=>{let i=n[u]??n.id;if(i==null)return null;let a=e.deleteFrom(r).where(`${r}.${u}`,`=`,i);if(t?.type===`mysql`){let e=await a.executeTakeFirst();return Number(e.numDeletedRows)>0?n:null}return t?.type===`mssql`?await a.outputAll(`deleted`).executeTakeFirst()??null:await a.returningAll().executeTakeFirst()??null},f=async e=>t?.type===`mssql`?await e.outputAll(`deleted`).executeTakeFirst()??null:await e.returningAll().executeTakeFirst()??null;if(t?.type===`mysql`){let t=async e=>{let t=await l(e.selectFrom(r).selectAll().forUpdate()).limit(1).executeTakeFirst();return t?d(e,t):null};return n?t(e):e.transaction().execute(t)}let m=l(e.selectFrom(r).select(`${r}.${u}`)),h=t?.type===`mssql`?m.top(1):m.limit(1);return f(l(e.deleteFrom(r).where(`${r}.${u}`,`in`,h)))},async incrementOne({model:r,modelKey:a=r,where:o,increment:s,set:c}){let{and:l,or:u}=p(r,a,o),d=e=>(l&&(e=e.where(e=>e.and(l.map(t=>t(e))))),u&&(e=e.where(e=>e.or(u.map(t=>t(e))))),e),f={...c??{}};for(let[e,t]of Object.entries(s))f[e]=C`${C.ref(e)} + ${t}`;let m=i({model:a,field:`id`});if(t?.type===`mysql`){let t=async e=>{let t=await d(e.selectFrom(r).select(`${r}.${m}`).forUpdate()).limit(1).executeTakeFirst();if(!t)return null;let n=t[m]??t.id;if(n==null)return null;let i=await d(e.updateTable(r).set(f)).where(`${r}.${m}`,`=`,n).executeTakeFirst();return Number(i.numUpdatedRows)===0?null:await e.selectFrom(r).selectAll().where(`${r}.${m}`,`=`,n).limit(1).executeTakeFirst()??null};return n?t(e):e.transaction().execute(t)}let h=d(e.selectFrom(r).select(`${r}.${m}`)),g=t?.type===`mssql`?h.top(1):h.limit(1),_=d(e.updateTable(r).set(f)).where(`${r}.${m}`,`in`,g);return t?.type===`mssql`?await _.outputAll(`inserted`).executeTakeFirst()??null:await _.returningAll().executeTakeFirst()??null},options:t}},a=null;a={config:{adapterId:`kysely`,adapterName:`Kysely Adapter`,usePlural:t?.usePlural,debugLogs:t?.debugLogs,supportsBooleans:!(t?.type===`sqlite`||t?.type===`mssql`||t?.type===`mysql`||!t?.type),supportsDates:!(t?.type===`sqlite`||t?.type===`mssql`||!t?.type),supportsJSON:t?.type===`postgres`,supportsArrays:!1,supportsUUIDs:t?.type===`postgres`,transaction:t?.transaction?t=>e.transaction().execute(e=>t(je({config:{...a.config,transaction:!1},adapter:i(e,!0)})(n))):!1},adapter:i(e)};let o=je(a);return r=>{n=r;let i=o(r);return De(i,Oe(()=>tr(e,t?.type,Ae(r,{usePlural:t?.usePlural})),`database`,r.database),{runtimeEnabled:ke(r)}),i}};export{nr as a,Y as c,Qn as i,Vn as n,Yn as o,$n as r,Xn as s,Un as t};
@@ -1 +0,0 @@
1
- import{u as e}from"./tracer-BuLMhzvR.mjs";import{t}from"./factory-CUkPbxzv.mjs";function n(e,t){return typeof e==`string`&&typeof t==`string`?e.toLowerCase()===t.toLowerCase():e===t}function r(e,t){return typeof e==`string`?t.some(t=>typeof t==`string`&&e.toLowerCase()===t.toLowerCase()):t.includes(e)}function i(e,t){return!r(e,t)}function a(e,t){return typeof e!=`string`||typeof t!=`string`?!1:e.toLowerCase().includes(t.toLowerCase())}function o(e,t){return typeof e!=`string`||typeof t!=`string`?!1:e.toLowerCase().startsWith(t.toLowerCase())}function s(e,t){return typeof e!=`string`||typeof t!=`string`?!1:e.toLowerCase().endsWith(t.toLowerCase())}function c(e){let t=/* @__PURE__ */ new Map;for(let n of e)t.set(n.id,n);return t}function l(e,t,n){let r=/* @__PURE__ */ new Set([...Object.keys(t),...Object.keys(n)]);for(let i of r){if(!(i in n)){delete e[i];continue}let r=c(t[i]??[]),a=n[i]??[],o=c(a),s=e[i]??[],l=[],d=/* @__PURE__ */ new Set;for(let e of s){let t=e.id,n=r.get(t),i=o.get(t);(n===void 0||i!==void 0)&&(i!==void 0&&u(n,i)?l.push(i):l.push(e),d.add(t))}for(let e of a)!r.has(e.id)&&!d.has(e.id)&&l.push(e);e[i]=l}}function u(e,t){return e===void 0||JSON.stringify(e)!==JSON.stringify(t)}const d=(c,u)=>{let d=null,f=c=>t({config:{adapterId:`memory`,adapterName:`Memory Adapter`,usePlural:!1,debugLogs:u?.debugLogs||!1,supportsArrays:!0,customTransformInput(e){return e.options.advanced?.database?.generateId===`serial`&&e.field===`id`&&e.action===`create`?c[e.model].length+1:e.data},transaction:async e=>{let t=structuredClone(c),n=structuredClone(c),r=await e(f(n)(d));return l(c,t,n),r}},adapter:({getFieldName:t,getDefaultFieldName:l,options:u})=>{let d=(e,n,r)=>n?e.sort((e,i)=>{let a=t({model:r,field:n.field}),o=e[a],s=i[a],c=0;return c=o==null&&s==null?0:o==null?-1:s==null?1:typeof o==`string`&&typeof s==`string`?o.localeCompare(s):o instanceof Date&&s instanceof Date?o.getTime()-s.getTime():typeof o==`number`&&typeof s==`number`?o-s:typeof o==`boolean`&&typeof s==`boolean`?o===s?0:o?1:-1:String(o).localeCompare(String(s)),n.direction===`asc`?c:-c}):e;function f(t,u,d,f,p){let m=(()=>{let f=c[u];if(!f)throw e.error(`[MemoryAdapter] Model ${u} not found in the DB`,Object.keys(c)),Error(`Model ${u} not found`);let m=(e,t)=>{let{field:c,value:l,operator:u,mode:d=`sensitive`}=t,f=d===`insensitive`&&(typeof l==`string`||Array.isArray(l)&&l.every(e=>typeof e==`string`));switch(u){case`in`:if(!Array.isArray(l))throw Error(`Value must be an array`);return f?r(e[c],l):l.includes(e[c]);case`not_in`:if(!Array.isArray(l))throw Error(`Value must be an array`);return f?i(e[c],l):!l.includes(e[c]);case`contains`:return f?a(e[c],l):e[c]?.includes(l);case`starts_with`:return f?o(e[c],l):e[c].startsWith(l);case`ends_with`:return f?s(e[c],l):e[c].endsWith(l);case`ne`:return f?!n(e[c],l):e[c]!==l;case`gt`:return l!=null&&e[c]>l;case`gte`:return l!=null&&e[c]>=l;case`lt`:return l!=null&&e[c]<l;case`lte`:return l!=null&&e[c]<=l;default:return f?n(e[c],l):l===null?e[c]==null:e[c]===l}},h=f.filter(e=>{if(!t.length||t.length===0)return!0;let n=m(e,t[0]);for(let r of t){let t=m(e,r);r.connector===`OR`?n||=t:n&&=t}return n});return p?.length&&p.length>0&&(h=h.map(e=>Object.fromEntries(Object.entries(e).filter(([e])=>p.includes(l({model:d,field:e})))))),h})();if(!f)return m;let h=/* @__PURE__ */ new Map,g=/* @__PURE__ */ new Map;for(let t of m){let n=String(t.id);if(!h.has(n)){let e={...t};for(let[t,r]of Object.entries(f)){let i=t;r.relation===`one-to-one`?e[i]=null:(e[i]=[],g.set(`${n}-${t}`,/* @__PURE__ */ new Set))}h.set(n,e)}let r=h.get(n);for(let[i,a]of Object.entries(f)){let o=i,s=c[o];if(!s)throw e.error(`[MemoryAdapter] JoinOption model ${o} not found in the DB`,Object.keys(c)),Error(`JoinOption model ${o} not found`);let l=s.filter(e=>e[a.on.to]===t[a.on.from]);if(a.relation===`one-to-one`)r[o]=l[0]||null;else{let e=g.get(`${n}-${i}`),t=a.limit??100,s=0;for(let n of l){if(s>=t)break;e.has(n.id)||(r[o].push(n),e.add(n.id),s++)}}}}return Array.from(h.values())}return{create:async({model:e,data:t})=>(u.advanced?.database?.generateId===`serial`&&(t.id=c[e].length+1),c[e]||(c[e]=[]),c[e].push(t),t),findOne:async({model:e,modelKey:t=e,where:n,select:r,join:i})=>{let a=f(n,e,t,i,r);if(i){let e=a;return e.length?e[0]:null}return a[0]||null},findMany:async({model:e,modelKey:t=e,where:n,sortBy:r,limit:i,select:a,offset:o,join:s})=>{let c=f(n||[],e,t,s,a);if(s){let e=c;if(!e.length)return[];d(e,r,t);let n=e;return o!==void 0&&(n=n.slice(o)),i!==void 0&&(n=n.slice(0,i)),n}let l=d(c,r,t);return o!==void 0&&(l=l.slice(o)),i!==void 0&&(l=l.slice(0,i)),l||[]},count:async({model:e,modelKey:t=e,where:n})=>n?f(n,e,t).length:c[e].length,update:async({model:e,modelKey:t=e,where:n,update:r})=>{if(n.length===0)return null;let i=f(n,e,t);return i.forEach(e=>{Object.assign(e,r)}),i[0]||null},delete:async({model:e,modelKey:t=e,where:n})=>{if(n.length===0)return;let r=c[e],i=f(n,e,t);c[e]=r.filter(e=>!i.includes(e))},deleteMany:async({model:e,modelKey:t=e,where:n})=>{let r=c[e],i=f(n,e,t),a=0;return c[e]=r.filter(e=>i.includes(e)?(a++,!1):!i.includes(e)),a},consumeOne:async({model:e,modelKey:t=e,where:n})=>{let r=c[e],i=f(n,e,t)[0];return i?(c[e]=r.filter(e=>e!==i),i):null},incrementOne:async({model:e,modelKey:t=e,where:n,increment:r,set:i})=>{let a=f(n,e,t)[0];if(!a)return null;for(let[e,t]of Object.entries(r))a[e]=(typeof a[e]==`number`?a[e]:0)+t;return i&&Object.assign(a,i),a},updateMany:async({model:e,modelKey:t=e,where:n,update:r})=>{let i=f(n,e,t);return i.forEach(e=>{Object.assign(e,r)}),i.length}}}}),p=f(c);return e=>(d=e,p(e))};export{d as memoryAdapter};
@@ -1,6 +0,0 @@
1
- import{b as e,c as t,f as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./tracer-BuLMhzvR.mjs";import{C as u,N as d,S as f,_ as p,b as m,l as h,u as g,v as _,w as v}from"./schemas-BE0MEk26.mjs";const y=e=>s(`a-z`,`A-Z`,`0-9`)(e||32),b=({usePlural:e,schema:t})=>n=>{let r=e=>t[e]?e:Object.entries(t).find(([t,n])=>n.modelName===e)?.[0];if(e&&n.charAt(n.length-1)===`s`){let e=r(n.slice(0,-1));if(e)return e}let i=r(n);if(!i)throw new d(`Model "${n}" not found in schema`);return i},x=({schema:e,usePlural:t})=>{let n=b({schema:e,usePlural:t});return({field:t,model:r})=>{if(t===`id`||t===`_id`)return`id`;let i=n(r),a=e[i]?.fields[t];if(!a){let n=Object.entries(e[i].fields).find(([e,n])=>n.fieldName===t);n&&(a=n[1],t=n[0])}if(!a)throw new d(`Field ${t} not found in model ${i}`);return t}},S=({usePlural:e,schema:t,disableIdGeneration:n,options:r,customIdGenerator:i,supportsUUIDs:a})=>{let o=b({usePlural:e,schema:t});return({customModelName:e,forceAllowId:t})=>{let s=r.advanced?.database?.generateId===`serial`,c=r.advanced?.database?.generateId===`uuid`,u=n||s&&!t?!1:!c||!a,d=o(e??`id`);return{type:s?`number`:`string`,required:!!u,...u?{defaultValue(){if(n)return;let e=r.advanced?.database?.generateId;if(e!==!1&&e!==`serial`)return typeof e==`function`?e({model:d}):e===`uuid`?crypto.randomUUID():i?i({model:d}):y()}}:{},transform:{input:e=>{if(e){if(s){let t=Number(e);return isNaN(t)?void 0:t}if(c){if(u&&!t)return e;if(n)return;if(t&&typeof e==`string`){if(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e))return e;{let e=(/* @__PURE__ */ Error()).stack?.split(`
2
- `).filter((e,t)=>t!==1).join(`
3
- `).replace(`Error:`,``);l.warn("[Adapter Factory] - Invalid UUID value for field `id` provided when `forceAllowId` is true. Generating a new UUID.",e)}}return a?void 0:typeof e!=`string`&&!a?crypto.randomUUID():void 0}return e}},output:e=>{if(e)return String(e)}}}}},C=({usePlural:e,schema:t,options:n,customIdGenerator:r,disableIdGeneration:i})=>{let a=b({usePlural:e,schema:t}),o=x({usePlural:e,schema:t}),s=S({usePlural:e,schema:t,options:n,customIdGenerator:r,disableIdGeneration:i});return({model:e,field:n})=>{let r=a(e),i=o({field:n,model:r}),c=t[r].fields;c.id=s({customModelName:r});let l=c[i];if(!l)throw new d(`Field ${n} not found in model ${e}`);return l}},w=({schema:e,usePlural:t})=>{let n=b({schema:e,usePlural:t}),r=x({schema:e,usePlural:t});function i({model:t,field:i}){let a=n(t),o=r({model:a,field:i});return e[a]?.fields[o]?.fieldName||o}return i},T=({usePlural:e,schema:t})=>{let n=b({schema:t,usePlural:e});return r=>{let i=n(r);return t&&t[i]&&t[i].modelName!==r?e?`${t[i].modelName}s`:t[i].modelName:e?`${r}s`:r}};function E(e,t,n){return n===`update`?e===void 0&&t.onUpdate!==void 0?typeof t.onUpdate==`function`?t.onUpdate():t.onUpdate:e:n===`create`&&(e===void 0||t.required===!0&&e===null)&&t.defaultValue!==void 0?typeof t.defaultValue==`function`?t.defaultValue():t.defaultValue:e}const D=u([f(),p(),h(),g()]).nullable(),O=m(f(),v()).nullish(),k=m(f(),v()).transform(e=>{let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=r);return t}),A=_({increment:m(f(),p()),set:k.optional()}),j=p().nullish();function M(e){let{adapter:t,adapterId:n}=e,r=Object.entries(e.mapKeysTransformOutput??{}).find(([,e])=>e===`id`)?.[0]??`id`;async function i(t,n,i){let a=e.mapKeysTransformInput?.id||e.getFieldName({model:n,field:`id`});if(t[a]===void 0||t[a]===null)throw new d(`Adapter "${e.adapterId}" must return the row id for atomic fallbacks.`);let o=(await e.transformOutput(t,n,[r],void 0))?.id;if(typeof o!=`string`&&typeof o!=`number`)throw new d(`Adapter "${e.adapterId}" must expose a logical string or number id through its output transform.`);let[s]=e.transformWhereClause({model:n,where:[{field:`id`,value:o}],action:i});if(!s)throw new d(`The atomic fallback id condition was transformed away.`);return s}async function a({model:e,modelKey:r,where:i}){let a=O.safeParse(await t.findOne({model:e,modelKey:r,where:i}));if(!a.success)throw new d(`Adapter "${n}" must return a row snapshot or null.`);return a.data??null}async function o(e,t,r,a){let o=await i(e,r.modelKey,a),s=r.where.some(e=>e.connector===`OR`),c=s?[o]:[...r.where,o],l=new Set(t);for(let t of l){if(t===o.field)continue;let i=D.safeParse(e[t]??null);if(i.success)c.push({field:t,value:i.data,operator:`eq`,connector:`AND`,mode:`sensitive`});else if(s&&r.where.some(e=>e.field===t))throw new d(`Adapter "${n}" must implement native atomic methods for OR predicates on structured values.`)}return c}function s(e){if(e!==0&&e!==1)throw new d(`Adapter "${n}" must return an affected row count of 0 or 1 from an atomic fallback.`);return e===1}async function c(e){let{model:n,where:r}=e,i=await a(e);if(i===null)return null;let c=await o(i,[...Object.keys(i),...r.map(({field:e})=>e)],e,`consumeOne`);return s(await t.deleteMany({model:n,modelKey:e.modelKey,where:c}))?i:null}async function l(e){let{model:r,where:i}=e,c=A.safeParse(e);if(!c.success)throw new d(`incrementOne requires finite increments and a set object for the atomic fallback.`);let{increment:l,set:u}=c.data,f=Object.entries(l),p=[...i.map(({field:e})=>e),...Object.keys(l),...Object.keys(u??{})];for(let i=0;i<5;i++){let i=await a(e);if(i===null)return null;let c={...u};for(let[e,t]of f){let r=j.safeParse(i[e]);if(!r.success)throw new d(`Adapter "${n}" must return finite numeric counter values or null for atomic increments.`);let a=r.data??0,o=a+t;if(!Number.isFinite(o)||t!==0&&o===a)throw new d(`Adapter "${n}" cannot represent the requested counter increment safely.`);c[e]=o}let l=await o(i,p,e,`incrementOne`);if(Object.entries(c).every(([e,t])=>{let n=i[e];return n instanceof Date&&t instanceof Date?n.getTime()===t.getTime():Object.is(n,t)}))return i;if(s(await t.updateMany({model:r,modelKey:e.modelKey,where:l,update:c})))return{...i,...c}}throw new d(`Adapter "${n}" could not complete an atomic increment due to contention. Retry the operation or implement incrementOne natively.`)}return{consumeOne:c,incrementOne:l}}let N=[],P=-1;const F=e=>t=>t(e),I=({adapter:t,config:n})=>s=>{let l=c(s),u=Math.random().toString(36).substring(2,15),f={...n,supportsBooleans:n.supportsBooleans??!0,supportsDates:n.supportsDates??!0,supportsJSON:n.supportsJSON??!1,adapterName:n.adapterName??n.adapterId,supportsNumericIds:n.supportsNumericIds??!0,supportsUUIDs:n.supportsUUIDs??!1,supportsArrays:n.supportsArrays??!1,transaction:n.transaction??!1,disableTransformInput:n.disableTransformInput??!1,disableTransformOutput:n.disableTransformOutput??!1,disableTransformJoin:n.disableTransformJoin??!1};if(s.advanced?.database?.generateId===`serial`&&f.supportsNumericIds===!1)throw new d(`[${f.adapterName}] Your database or database adapter does not support numeric ids. Please disable "useNumberId" in your config.`);let p=e(s),m=(...e)=>{if(f.debugLogs===!0||typeof f.debugLogs==`object`){let t=r({level:`info`});if(typeof f.debugLogs==`object`&&`isRunningAdapterTests`in f.debugLogs){f.debugLogs.isRunningAdapterTests&&(e.shift(),N.push({instance:u,args:e}));return}if(typeof f.debugLogs==`object`&&f.debugLogs.logCondition&&!f.debugLogs.logCondition?.())return;if(typeof e[0]==`object`&&`method`in e[0]){let n=e.shift().method;if(typeof f.debugLogs==`object`&&(n===`create`&&!f.debugLogs.create||n===`update`&&!f.debugLogs.update||n===`updateMany`&&!f.debugLogs.updateMany||n===`findOne`&&!f.debugLogs.findOne||n===`findMany`&&!f.debugLogs.findMany||n===`delete`&&!f.debugLogs.delete||n===`deleteMany`&&!f.debugLogs.deleteMany||n===`consumeOne`&&!f.debugLogs.consumeOne||n===`incrementOne`&&!f.debugLogs.incrementOne||n===`count`&&!f.debugLogs.count))return;t.info(`[${f.adapterName}]`,...e)}else t.info(`[${f.adapterName}]`,...e)}},h=r(s.logger),g=b({usePlural:f.usePlural,schema:p}),_=x({usePlural:f.usePlural,schema:p}),v=T({usePlural:f.usePlural,schema:p}),y=w({schema:p,usePlural:f.usePlural}),D=S({schema:p,options:s,usePlural:f.usePlural,disableIdGeneration:f.disableIdGeneration,customIdGenerator:f.customIdGenerator,supportsUUIDs:f.supportsUUIDs}),O=C({schema:p,options:s,usePlural:f.usePlural,disableIdGeneration:f.disableIdGeneration,customIdGenerator:f.customIdGenerator}),k=async(e,t,n,r)=>{let i={},a=p[t].fields,o=f.mapKeysTransformInput??{},c=s.advanced?.database?.generateId===`serial`;a.id=D({customModelName:t,forceAllowId:r&&`id`in e});for(let r in a){let l=e[r],u=a[r],d=o[r]||a[r].fieldName||r;if(l===void 0&&(u.defaultValue===void 0&&!u.transform?.input&&!(n===`update`&&u.onUpdate)||n===`update`&&!u.onUpdate))continue;if(u&&u.type===`date`&&!(l instanceof Date)&&typeof l==`string`)try{l=new Date(l)}catch{h.error(`[Adapter Factory] Failed to convert string to date`,{value:l,field:r})}let m=E(l,u,n);u.transform?.input&&(m=await u.transform.input(m)),u.references?.field===`id`&&c?m=Array.isArray(m)?m.map(e=>e===null?null:Number(e)):m===null?null:Number(m):f.supportsJSON===!1&&typeof m==`object`&&u.type===`json`||f.supportsArrays===!1&&Array.isArray(m)&&(u.type===`string[]`||u.type===`number[]`)?m=JSON.stringify(m):f.supportsDates===!1&&m instanceof Date&&u.type===`date`?m=m.toISOString():f.supportsBooleans===!1&&typeof m==`boolean`&&(m=+!!m),f.customTransformInput&&(m=f.customTransformInput({data:m,action:n,field:d,fieldAttributes:u,model:v(t),schema:p,options:s})),m!==void 0&&(i[d]=m)}return i},A=async(e,t,n=[],r)=>{let i=async(e,t,n=[])=>{if(!e)return null;let r=g(t),i=f.mapKeysTransformOutput??{},o={},c=p[r].fields,l=Object.entries(i).find(([e,t])=>t===`id`)?.[0];c[l??`id`]={type:s.advanced?.database?.generateId===`serial`?`number`:`string`};for(let t in c){if(n.length&&!n.includes(t))continue;let l=c[t];if(l){let c=l.fieldName||t,u=e[Object.entries(i).find(([e,t])=>t===c)?.[0]||c];l.transform?.output&&(u=await l.transform.output(u));let d=i[t]||t;c===`id`||l.references?.field===`id`?u!=null&&(u=String(u)):f.supportsJSON===!1&&typeof u==`string`&&l.type===`json`||f.supportsArrays===!1&&typeof u==`string`&&(l.type===`string[]`||l.type===`number[]`)?u=a(u):f.supportsDates===!1&&typeof u==`string`&&l.type===`date`?u=new Date(u):f.supportsBooleans===!1&&typeof u==`number`&&l.type===`boolean`&&(u=u===1),f.customTransformOutput&&(u=f.customTransformOutput({data:u,field:d,fieldAttributes:l,select:n,model:v(r),schema:p,options:s})),o[d]=u}}return o};if(!r||Object.keys(r).length===0)return await i(e,t,n);let o=g(t),c=await i(e,o,n),l=Object.entries(r).map(([e,t])=>({modelName:e,defaultModelName:t.modelKey??g(e),joinConfig:t}));if(!e)return null;for(let{modelName:t,defaultModelName:n,joinConfig:r}of l){let a=await(async()=>s.advanced?.database?.joins&&t in e?e[t]:await V({baseModel:o,baseData:c,joinModel:t,specificJoinConfig:r}))();a??=r.relation===`one-to-one`?null:[],r.relation===`one-to-many`&&!Array.isArray(a)&&(a=[a]);let l=[];if(Array.isArray(a))for(let e of a){let t=await i(e,n,[]);l.push(t)}else{let e=await i(a,n,[]);l.push(e)}c[n]=(r.relation===`one-to-one`?l[0]:l)??null}return c},j=({model:e,where:t,action:n})=>{if(!t)return;let r=f.mapKeysTransformInput??{};return t.map(t=>{let{field:i,value:a,operator:o=`eq`,connector:c=`AND`,mode:l=`sensitive`}=t;if(o===`in`&&!Array.isArray(a))throw new d(`Value must be an array`);let u=a,m=g(e),h=_({field:i,model:e}),b=r[h]||y({field:h,model:m}),x=O({field:h,model:m}),S=s.advanced?.database?.generateId===`serial`;if((h===`id`||x.references?.field===`id`)&&S&&(u=Array.isArray(a)?a.map(Number):Number(a)),x.type===`date`&&a instanceof Date&&!f.supportsDates&&(u=a.toISOString()),x.type===`boolean`&&typeof u==`string`&&(u=u===`true`),x.type===`number`){if(typeof u==`string`&&u.trim()!==``){let e=Number(u);Number.isNaN(e)||(u=e)}else if(Array.isArray(u)){let e=u.map(e=>typeof e==`string`&&e.trim()!==``?Number(e):NaN);e.every(e=>!Number.isNaN(e))&&(u=e)}}if(x.type===`boolean`&&typeof u==`boolean`&&!f.supportsBooleans&&(u=+!!u),x.type===`json`&&typeof a==`object`&&!f.supportsJSON)try{u=JSON.stringify(a)}catch(e){throw Error(`Failed to stringify JSON value for field ${b}`,{cause:e})}return f.customTransformInput&&(u=f.customTransformInput({data:u,fieldAttributes:x,field:b,model:v(e),schema:p,options:s,action:n})),{operator:o,connector:c,field:b,value:u,mode:l}})},I=(e,t,n)=>{if(!t||Object.keys(t).length===0)return;let r={};for(let[i,a]of Object.entries(t)){if(!a)continue;let t=g(i),o=g(e),c=Object.entries(p[t].fields).filter(([e,t])=>t.references&&g(t.references.model)===o),l=!0;if(c.length||(c=Object.entries(p[o].fields).filter(([e,n])=>n.references&&g(n.references.model)===t),l=!1),!c.length)throw new d(`No foreign key found for model ${i} and base model ${e} while performing join operation.`);if(c.length>1)throw new d(`Multiple foreign keys found for model ${i} and base model ${e} while performing join operation. Only one foreign key is supported.`);let[u,f]=c[0];if(!f.references)throw new d(`No references found for foreign key ${u} on model ${i} while performing join operation.`);let m,h,_;l?(_=f.references.field,m=y({model:e,field:_}),h=y({model:i,field:u})):(_=u,m=y({model:e,field:_}),h=y({model:i,field:f.references.field})),n&&!n.includes(_)&&n.push(_);let b=h===`id`?!0:f.unique??!1,x=s.advanced?.database?.defaultFindManyLimit??100;b?x=1:typeof a==`object`&&typeof a.limit==`number`&&(x=a.limit),r[v(i)]={modelKey:i,on:{from:m,to:h},limit:x,relation:b?`one-to-one`:`one-to-many`}}return{join:r,select:n}},V=async({baseModel:e,baseData:t,joinModel:n,specificJoinConfig:r})=>{if(!t)return t;let a=r.modelKey??g(n),c=v(a),u=r.on.to,d=t[_({field:r.on.from,model:e})];if(d==null)return r.relation===`one-to-one`?null:[];let f,p=j({model:a,where:[{field:u,value:d,operator:`eq`,connector:`AND`}],action:`findOne`});try{if(r.relation===`one-to-one`)f=await l(`db findOne ${c}`,{[o]:`findOne`,[i]:c},()=>H.findOne({model:c,modelKey:a,where:p}));else{let e=r.limit??s.advanced?.database?.defaultFindManyLimit??100;f=await l(`db findMany ${c}`,{[o]:`findMany`,[i]:c},()=>H.findMany({model:c,modelKey:a,where:p,limit:e}))}}catch(e){throw h.error(`Failed to query fallback join for model ${c}:`,{where:p,limit:r.limit}),console.error(e),e}return f},H=t({options:s,schema:p,debugLog:m,getFieldName:y,getModelName:v,getDefaultModelName:g,getDefaultFieldName:_,getFieldAttributes:O,transformInput:k,transformOutput:A,transformWhereClause:j}),U=null,W=M({adapter:H,adapterId:f.adapterId,mapKeysTransformInput:f.mapKeysTransformInput,mapKeysTransformOutput:f.mapKeysTransformOutput,getFieldName:y,transformOutput:A,transformWhereClause:j}),G={transaction:async e=>(U||(f.transaction?(h.debug(`[${f.adapterName}] - Using provided transaction implementation.`),U=f.transaction):U=F(G)),U(e)),create:async({data:e,model:t,select:n,forceAllowId:r=!1})=>{P++;let a=P,s=g(t),c=v(s);if(`id`in e&&e.id!==void 0&&!r){h.warn(`[${f.adapterName}] - You are trying to create a record with an id. This is not allowed as we handle id generation for you, unless you pass in the \`forceAllowId\` parameter. The id will be ignored.`);let t=(/* @__PURE__ */ Error()).stack?.split(`
4
- `).filter((e,t)=>t!==1).join(`
5
- `).replace(`Error:`,"Create method with `id` being called at:");console.log(t),e.id=void 0}m({method:`create`},`${L(a)} ${R(1,4)}`,`${z(`create`)} ${B(`Unsafe Input`)}:`,{model:c,data:e});let u=e;f.disableTransformInput||(u=await k(e,s,`create`,r)),m({method:`create`},`${L(a)} ${R(2,4)}`,`${z(`create`)} ${B(`Parsed Input`)}:`,{model:c,data:u});let d=await l(`db create ${c}`,{[o]:`create`,[i]:c},()=>H.create({data:u,model:c,modelKey:s}));m({method:`create`},`${L(a)} ${R(3,4)}`,`${z(`create`)} ${B(`DB Result`)}:`,{model:c,res:d});let p=d;return f.disableTransformOutput||(p=await A(d,s,n,void 0)),m({method:`create`},`${L(a)} ${R(4,4)}`,`${z(`create`)} ${B(`Parsed Result`)}:`,{model:c,data:p}),p},update:async({model:e,where:t,update:n})=>{P++;let r=P,a=g(e),s=v(a),c=j({model:a,where:t,action:`update`});if(c.length===0)return null;m({method:`update`},`${L(r)} ${R(1,4)}`,`${z(`update`)} ${B(`Unsafe Input`)}:`,{model:s,data:n});let u=n;f.disableTransformInput||(u=await k(n,a,`update`)),m({method:`update`},`${L(r)} ${R(2,4)}`,`${z(`update`)} ${B(`Parsed Input`)}:`,{model:s,data:u});let d=await l(`db update ${s}`,{[o]:`update`,[i]:s},()=>H.update({model:s,modelKey:a,where:c,update:u}));m({method:`update`},`${L(r)} ${R(3,4)}`,`${z(`update`)} ${B(`DB Result`)}:`,{model:s,data:d});let p=d;return f.disableTransformOutput||(p=await A(d,a,void 0,void 0)),m({method:`update`},`${L(r)} ${R(4,4)}`,`${z(`update`)} ${B(`Parsed Result`)}:`,{model:s,data:p}),p},updateMany:async({model:e,where:t,update:n})=>{P++;let r=P,a=g(e),s=v(a),c=j({model:a,where:t,action:`updateMany`});m({method:`updateMany`},`${L(r)} ${R(1,4)}`,`${z(`updateMany`)} ${B(`Unsafe Input`)}:`,{model:s,data:n});let u=n;f.disableTransformInput||(u=await k(n,a,`update`)),m({method:`updateMany`},`${L(r)} ${R(2,4)}`,`${z(`updateMany`)} ${B(`Parsed Input`)}:`,{model:s,data:u});let p=await l(`db updateMany ${s}`,{[o]:`updateMany`,[i]:s},()=>H.updateMany({model:s,modelKey:a,where:c,update:u}));if(typeof p!=`number`||!Number.isFinite(p))throw new d(`Adapter "${f.adapterId}" updateMany must return a finite number affected row count.`);return m({method:`updateMany`},`${L(r)} ${R(3,4)}`,`${z(`updateMany`)} ${B(`DB Result`)}:`,{model:s,data:p}),m({method:`updateMany`},`${L(r)} ${R(4,4)}`,`${z(`updateMany`)} ${B(`Parsed Result`)}:`,{model:s,data:p}),p},findOne:async({model:e,where:t,select:n,join:r})=>{P++;let a=P,c=g(e),u=v(c),d=j({model:c,where:t,action:`findOne`}),p,h=!0;if(f.disableTransformJoin)p=r;else{let e=I(c,r,n);e&&(p=e.join,n=e.select),!s.advanced?.database?.joins&&p&&Object.keys(p).length>0&&(h=!1)}m({method:`findOne`},`${L(a)} ${R(1,3)}`,`${z(`findOne`)}:`,{model:u,where:d,select:n,join:p});let _=await l(`db findOne ${u}`,{[o]:`findOne`,[i]:u},()=>H.findOne({model:u,modelKey:c,where:d,select:n,join:h?p:void 0}));m({method:`findOne`},`${L(a)} ${R(2,3)}`,`${z(`findOne`)} ${B(`DB Result`)}:`,{model:u,data:_});let y=_;return f.disableTransformOutput||(y=await A(_,c,n,p)),m({method:`findOne`},`${L(a)} ${R(3,3)}`,`${z(`findOne`)} ${B(`Parsed Result`)}:`,{model:u,data:y}),y},findMany:async({model:e,where:t,limit:n,select:r,sortBy:a,offset:c,join:u})=>{P++;let d=P,p=n??s.advanced?.database?.defaultFindManyLimit??100,h=g(e),_=v(h),y=j({model:h,where:t,action:`findMany`}),b,x=!0;if(f.disableTransformJoin)b=u;else{let e=I(h,u,r);e&&(b=e.join,r=e.select),!s.advanced?.database?.joins&&b&&Object.keys(b).length>0&&(x=!1)}m({method:`findMany`},`${L(d)} ${R(1,3)}`,`${z(`findMany`)}:`,{model:_,where:y,limit:p,sortBy:a,offset:c,join:b});let S=await l(`db findMany ${_}`,{[o]:`findMany`,[i]:_},()=>H.findMany({model:_,modelKey:h,where:y,limit:p,select:r,sortBy:a,offset:c,join:x?b:void 0}));m({method:`findMany`},`${L(d)} ${R(2,3)}`,`${z(`findMany`)} ${B(`DB Result`)}:`,{model:_,data:S});let C=S;return f.disableTransformOutput||(C=await Promise.all(S.map(async e=>await A(e,h,void 0,b)))),m({method:`findMany`},`${L(d)} ${R(3,3)}`,`${z(`findMany`)} ${B(`Parsed Result`)}:`,{model:_,data:C}),C},delete:async({model:e,where:t})=>{P++;let n=P,r=g(e),a=v(r),s=j({model:r,where:t,action:`delete`});m({method:`delete`},`${L(n)} ${R(1,2)}`,`${z(`delete`)}:`,{model:a,where:s}),await l(`db delete ${a}`,{[o]:`delete`,[i]:a},()=>H.delete({model:a,modelKey:r,where:s})),m({method:`delete`},`${L(n)} ${R(2,2)}`,`${z(`delete`)} ${B(`DB Result`)}:`,{model:a})},deleteMany:async({model:e,where:t})=>{P++;let n=P,r=g(e),a=v(r),s=j({model:r,where:t,action:`deleteMany`});m({method:`deleteMany`},`${L(n)} ${R(1,2)}`,`${z(`deleteMany`)} ${B(`DeleteMany`)}:`,{model:a,where:s});let c=await l(`db deleteMany ${a}`,{[o]:`deleteMany`,[i]:a},()=>H.deleteMany({model:a,modelKey:r,where:s}));return m({method:`deleteMany`},`${L(n)} ${R(2,2)}`,`${z(`deleteMany`)} ${B(`DB Result`)}:`,{model:a,data:c}),c},consumeOne:async({model:e,where:t})=>{P++;let n=P,r=g(e),a=v(r),s=j({model:r,where:t,action:`consumeOne`});m({method:`consumeOne`},`${L(n)} ${R(1,3)}`,`${z(`consumeOne`)} ${B(`ConsumeOne`)}:`,{model:a,where:s});let c=await l(`db consumeOne ${a}`,{[o]:`consumeOne`,[i]:a},()=>H.consumeOne?H.consumeOne({model:a,modelKey:r,where:s}):W.consumeOne({model:a,modelKey:r,where:s}));m({method:`consumeOne`},`${L(n)} ${R(2,3)}`,`${z(`consumeOne`)} ${B(`DB Result`)}:`,{model:a,data:c});let u=c;return!f.disableTransformOutput&&c&&(u=await A(c,r,void 0,void 0)),m({method:`consumeOne`},`${L(n)} ${R(3,3)}`,`${z(`consumeOne`)} ${B(`Parsed Result`)}:`,{model:a,data:u}),u},incrementOne:async({model:e,where:t,increment:n,set:r})=>{let a=Object.keys(n).length>0,s=!!r&&Object.keys(r).length>0;if(!a&&!s)throw new d("incrementOne requires a non-empty `increment` or `set`; both were empty.");P++;let c=P,u=g(e),p=v(u),h=j({model:u,where:t,action:`incrementOne`});m({method:`incrementOne`},`${L(c)} ${R(1,3)}`,`${z(`incrementOne`)} ${B(`IncrementOne`)}:`,{model:p,where:h,increment:n,set:r});let _=f.mapKeysTransformInput??{},b={};for(let[e,t]of Object.entries(n))b[_[e]||y({model:u,field:e})]=t;let x;if(x=r&&!f.disableTransformInput?await k(r,u,`update`):r,Object.keys(b).length===0&&(!x||Object.keys(x).length===0))throw new d(`incrementOne resolved to an empty update: every increment/set field was unknown to the schema or transformed away.`);let S=await l(`db incrementOne ${p}`,{[o]:`incrementOne`,[i]:p},()=>H.incrementOne?H.incrementOne({model:p,modelKey:u,where:h,increment:b,set:x}):W.incrementOne({model:p,modelKey:u,where:h,increment:b,set:x}));m({method:`incrementOne`},`${L(c)} ${R(2,3)}`,`${z(`incrementOne`)} ${B(`DB Result`)}:`,{model:p,data:S});let C=S;return!f.disableTransformOutput&&S&&(C=await A(S,u,void 0,void 0)),m({method:`incrementOne`},`${L(c)} ${R(3,3)}`,`${z(`incrementOne`)} ${B(`Parsed Result`)}:`,{model:p,data:C}),C},count:async({model:e,where:t})=>{P++;let n=P,r=g(e),a=v(r),s=j({model:r,where:t,action:`count`});m({method:`count`},`${L(n)} ${R(1,2)}`,`${z(`count`)}:`,{model:a,where:s});let c=await l(`db count ${a}`,{[o]:`count`,[i]:a},()=>H.count({model:a,modelKey:r,where:s}));return m({method:`count`},`${L(n)} ${R(2,2)}`,`${z(`count`)}:`,{model:a,data:c}),c},createSchema:H.createSchema?async(t,n)=>{let r=e(s);return s.secondaryStorage&&!s.session?.storeSessionInDatabase&&delete r.session,H.createSchema({file:n,tables:r})}:void 0,options:{adapterConfig:f,...H.options??{}},id:f.adapterId,...f.debugLogs?.isRunningAdapterTests?{adapterTestDebugLogs:{resetDebugLogs(){N=N.filter(e=>e.instance!==u)},printDebugLogs(){let e=`─`.repeat(80),t=N.filter(e=>e.instance===u);if(t.length===0)return;let n=t.reverse().map(e=>(e.args[0]=`\n${e.args[0]}`,[...e.args,`
6
- `])).reduce((e,t)=>[...t,...e],[`\n${e}`]);console.log(...n)}}}:{}};return G};function L(e){return n()<8?`#${e}`:`${t.fg.magenta}#${e}${t.reset}`}function R(e,n){return`${t.bg.black}${t.fg.yellow}[${e}/${n}]${t.reset}`}function z(e){return`${t.bright}${e}${t.reset}`}function B(e){return`${t.dim}(${e})${t.reset}`}export{y as i,T as n,w as r,I as t};
@@ -1 +0,0 @@
1
- export{t as createKyselyAdapter,a as kyselyAdapter}from"./dist-WElmxM5G.mjs";
@@ -1,8 +0,0 @@
1
- import{b as e}from"./tracer-BuLMhzvR.mjs";import{N as t}from"./schemas-BE0MEk26.mjs";function n(t,{usePlural:n=!1}={}){let r={};for(let i of Object.values(e(t))){let e=n?`${i.modelName}s`:i.modelName,t=r[e]??={fields:{},disableMigrations:!0};for(let[e,n]of Object.entries(i.fields))t.fields[n.fieldName||e]=n;t.disableMigrations=t.disableMigrations&&!!i.disableMigrations}return r}function r(e,t){let n=[];for(let[r,i]of Object.entries(e)){if(i.disableMigrations)continue;let e=t.find(e=>e.name===r&&(i.schema===void 0||e.schema===i.schema));if(!e){n.push({kind:`missing-table`,table:r});continue}let a=/* @__PURE__ */ new Set([i.idColumn??`id`,...Object.keys(i.fields)]);for(let t of a)e.columns.some(e=>e.name===t)||n.push({kind:`missing-column`,table:r,column:t});for(let t of e.columns)a.has(t.name)||t.nullable||t.hasDefault||n.push({kind:`unexpected-required-column`,table:r,column:t.name})}return n}const i={database:"Run `npx auth migrate` to add it.",drizzle:"Run `npx auth generate` to refresh the Drizzle schema, then apply it with your migration tool.",prisma:"Run `npx auth generate` to refresh the Prisma schema, then run `prisma migrate`."},a={database:`Drop the column, make it nullable, or give it a database default.`,drizzle:`Remove it from the Drizzle schema, make it nullable, or give it a default, then apply the change with your migration tool.`,prisma:"Remove it from the Prisma schema, make it optional, or give it a default, then run `prisma migrate`."},o={database:`Database`,drizzle:`Drizzle`,prisma:`Prisma`};function s(e,t){switch(e.kind){case`missing-table`:return`Table "${e.table}" is missing. ${i[t]}`;case`missing-column`:return`Column "${e.column}" is missing from table "${e.table}". ${i[t]}`;case`unexpected-required-column`:{let n=e.column===`issuer`?` If this column came from Better Auth 1.7.0 through 1.7.2, follow the upgrade guide before removing it: https://www.better-auth.com/docs/guides/1-7-upgrade-guide`:``;return`Column "${e.column}" on table "${e.table}" is required but Better Auth never writes it, so every insert into "${e.table}" fails. ${a[t]}${n}`}}}const c={database:`Make the listed columns nullable, give them defaults, or remove them.`,drizzle:`Make the listed columns nullable in your Drizzle schema, give them defaults, or remove them.`,prisma:`Make the listed fields optional in your Prisma schema, give them defaults, or remove them.`},l={...i,database:"Run `npx auth migrate` to add the missing tables and columns."};function u(e,t){let n=[],r=[],i=[],a=/* @__PURE__ */ new Set,s=!1;for(let t of e)switch(t.kind){case`missing-table`:n.push(t.table);break;case`missing-column`:r.push(`${t.table}.${t.column}`);break;case`unexpected-required-column`:i.push(`${t.table}.${t.column}`),a.add(t.table),s||=t.column===`issuer`}let u=[`${o[t]} schema mismatch`];n.length&&u.push(` Missing tables\n ${n.join(`, `)}`),r.length&&u.push(` Missing columns\n ${r.join(`
2
- `)}`),i.length&&(u.push(` Required columns Better Auth never writes\n ${i.join(`
3
- `)}`),u.push(` Inserts into ${[...a].join(`, `)} will fail.`));let d=[];return i.length&&d.push(c[t]),(n.length||r.length||i.length&&t!==`database`)&&d.push(l[t]),d.length&&u.push(` help: ${d.join(`
4
- `)}`),s&&u.push(` note: If this column came from Better Auth 1.7.0 through 1.7.2,
5
- follow the upgrade guide before removing it:
6
- https://www.better-auth.com/docs/guides/1-7-upgrade-guide`),u.join(`
7
-
8
- `)}var d=class extends t{code=`SCHEMA_MISMATCH`;constructor(e,t){super(u(e,t)),this.findings=e,this.source=t}};function f(e){return e.advanced?.database?.validateSchema!==!1}const p=/* @__PURE__ */ new WeakMap,m=/* @__PURE__ */ new WeakMap;function h(e){let t=m.get(e);t&&t.value++}function g(e,t,n={}){let r=n.runtimeEnabled??!0;p.set(e,{check:t,runtimeEnabled:r})}function _(e){return p.get(e)?.check}function v(e){let t=p.get(e);return t?.runtimeEnabled?t.check:void 0}function y(e,t,n){let r=n?m.get(n):void 0;n&&!r&&(r={value:0},m.set(n,r));let i=r?.value,a=!1,o,s=function n(){let s=r?.value;if(i!==s&&(i=s,a=!1,o=void 0),!a)return o??=Promise.resolve().then(e).then(e=>{if(r?.value!==s)return n();if(e.length)throw new d(e,t);i===s&&(a=!0)},e=>{if(r?.value!==s)return n();throw i===s&&(o=void 0),e})};return s.source=t,s}export{v as a,r as c,g as i,s as l,y as n,_ as o,h as r,d as s,f as t,n as u};
@@ -1 +0,0 @@
1
- import{N as e}from"./schemas-BE0MEk26.mjs";const t=Symbol.for(`better-auth:global`);let n=null;const r={},i=`1.7.7`;function a(){return globalThis[t]||(globalThis[t]={version:i,epoch:1,context:r},n=globalThis[t]),n=globalThis[t],n.version!==i&&(n.version=i,n.epoch++),globalThis[t]}function o(){return a().context.endpointContextAsyncStorage?.getStore()}function s(){return a().version}function c(e){return e.toLowerCase()}function l(e){return new TextEncoder().encode(e).length}function u(e,t){let n=``,r=0;for(let i of e){let e=l(i);if(r+e>t)break;n+=i,r+=e}return n}function d(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,`0`)}function f(t,n){if(n.name!==void 0){if(n.name.trim().length===0)throw new e(`Database index names must contain at least one visible character.`);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(n.name))throw new e(`Database index names must start with a letter or underscore and contain only letters, numbers, and underscores.`);if(l(n.name)>63)throw new e(`Database index names must be at most 63 UTF-8 bytes.`);return n.name}let r=n.unique?`uidx`:`idx`,i=`${t}_${n.fields.join(`_`)}_${r}`;if(l(i)<=63)return i;let a=`_${d(i)}_${r}`;return`${u(i.slice(0,-r.length-1),63-l(a))}${a}`}function p(e,t,n){return f(e,{fields:[t],unique:n})}function m({fields:t,indexes:n,tableName:r}){let i=(n??[]).map(n=>{if(n.fields.length===0)throw new e(`Index on table "${r}" must include at least one field.`);if(n.fields.length>16)throw new e(`Index on table "${r}" can include at most 16 fields so it works across supported databases.`);if(new Set(n.fields).size!==n.fields.length)throw new e(`Index on table "${r}" contains the same field more than once.`);if(n.unique&&n.fields.some(e=>t[e]?.required===!1))throw new e(`Unique index on table "${r}" can only include required fields so its behavior is consistent across databases.`);let i=n.fields.find(e=>{let n=t[e]?.type;return n===`json`||n===`string[]`||n===`number[]`});if(i)throw new e(`Index on table "${r}" references field "${i}", whose type is not portably indexable.`);let a=n=>{let i=t[n];if(!i)throw new e(`Index on table "${r}" references unknown field "${n}".`);return i.fieldName||n},[o,...s]=n.fields,l=[a(o),...s.map(a)];if(new Set(l.map(c)).size!==l.length)throw new e(`Index on table "${r}" resolves more than one field to the same database column.`);return{columns:l,name:f(r,{...n,fields:l}),unique:n.unique}}),a=/* @__PURE__ */ new Map,o=[];for(let t of i){let n=JSON.stringify([t.columns,t.unique??!1]),i=c(t.name),s=a.get(i);if(s&&s!==n)throw new e(`Database index name "${t.name}" identifies more than one index on table "${r}".`);s||(a.set(i,n),o.push(t))}return o}function ee({columnName:e,dialect:t,fields:n,indexes:r}){let i=new Map(Object.entries(n).map(([e,t])=>[t.fieldName||e,t])),a=r.filter(t=>t.columns.includes(e));if(a.length===0)return;let o=t===`mysql`?3072:1700,s=t===`mysql`?4:1,c=t===`mysql`?191:255;return a.reduce((e,t)=>{let n=t.columns.filter(e=>{let t=i.get(e)?.type;return t===`string`||Array.isArray(t)}).length;if(n===0)return e;let r=(t.columns.length-n)*16,a=Math.floor(Math.max(1,o-r)/s/n);return Math.min(e,a)},c)}function h(t){let n=/* @__PURE__ */ new Map;for(let r of t){let t=n.get(r.tableName);if(t){if(t.indexes.length>0||(r.indexes?.length??0)>0)throw new e(`Database schema resolves more than one indexed logical table to "${r.tableName}". Define table-level indexes through one logical schema key instead of aliasing multiple keys to the same database table.`);Object.assign(t.fields,r.fields);continue}let i={fields:{},indexes:[],tableName:r.tableName};Object.assign(i.fields,r.fields),i.indexes.push(...r.indexes??[]),n.set(r.tableName,i)}let r=/* @__PURE__ */ new Map,i=/* @__PURE__ */ new Map,a=new Map([...n.keys()].map(e=>[c(e),e])),o=/* @__PURE__ */ new Map;for(let t of n.values())for(let[n,r]of Object.entries(t.fields)){if(!r.index&&!r.unique)continue;let i=p(t.tableName,r.fieldName||n,r.unique??!1),s=c(i);if(a.has(s))throw new e(`Database index name "${i}" conflicts with a table name. Index and table names must be unique across the schema.`);let l=o.get(s);if(l)throw new e(`Database field-level index name "${i}" is used by both table "${l}" and table "${t.tableName}".`);o.set(s,t.tableName)}for(let t of n.values()){let n=m(t);r.set(t.tableName,[...n]);for(let r of n){let n=c(r.name);if(a.has(n))throw new e(`Database index name "${r.name}" conflicts with a table name. Index and table names must be unique across the schema.`);let s=o.get(n);if(s)throw new e(`Database index name "${r.name}" is already reserved by field-level index metadata on table "${s}". Remove the duplicate table-level index or give it a distinct name.`);let l=i.get(n);if(l&&l!==t.tableName)throw new e(`Database index name "${r.name}" is used by both table "${l}" and table "${t.tableName}". Index names must be unique across the schema.`);i.set(n,t.tableName)}}return r}function g(...e){let t=[],n=/* @__PURE__ */ new Set;for(let r of e.flatMap(e=>e??[])){let e=JSON.stringify([r.name??null,r.fields,r.unique??!1]);n.has(e)||(n.add(e),t.push(r))}return t}const te=e=>{let t=(e.plugins??[]).reduce((e,t)=>{let n=t.schema;if(!n)return e;for(let[t,r]of Object.entries(n))e[t]={fields:{...e[t]?.fields,...r.fields},indexes:g(e[t]?.indexes,r.indexes),modelName:r.modelName||t,disableMigrations:r.disableMigration??e[t]?.disableMigrations};return e},{}),n=e.rateLimit?.storage===`database`,r={rateLimit:{modelName:e.rateLimit?.modelName||`rateLimit`,fields:{key:{type:`string`,unique:!0,required:!0,fieldName:e.rateLimit?.fields?.key||`key`},count:{type:`number`,required:!0,fieldName:e.rateLimit?.fields?.count||`count`},lastRequest:{type:`number`,bigint:!0,required:!0,fieldName:e.rateLimit?.fields?.lastRequest||`lastRequest`,defaultValue:()=>Date.now()}}}},{user:i,session:a,account:o,verification:s,...c}=t,l={verification:{modelName:e.verification?.modelName||`verification`,indexes:s?.indexes,fields:{identifier:{type:`string`,required:!0,fieldName:e.verification?.fields?.identifier||`identifier`,index:!0},value:{type:`string`,required:!0,fieldName:e.verification?.fields?.value||`value`},expiresAt:{type:`date`,required:!0,fieldName:e.verification?.fields?.expiresAt||`expiresAt`},createdAt:{type:`date`,required:!0,defaultValue:()=>/* @__PURE__ */ new Date,fieldName:e.verification?.fields?.createdAt||`createdAt`},updatedAt:{type:`date`,required:!0,defaultValue:()=>/* @__PURE__ */ new Date,onUpdate:()=>/* @__PURE__ */ new Date,fieldName:e.verification?.fields?.updatedAt||`updatedAt`},...s?.fields,...e.verification?.additionalFields},order:4}},u={session:{modelName:e.session?.modelName||`session`,indexes:a?.indexes,fields:{expiresAt:{type:`date`,required:!0,fieldName:e.session?.fields?.expiresAt||`expiresAt`},token:{type:`string`,required:!0,fieldName:e.session?.fields?.token||`token`,unique:!0},createdAt:{type:`date`,required:!0,fieldName:e.session?.fields?.createdAt||`createdAt`,defaultValue:()=>/* @__PURE__ */ new Date},updatedAt:{type:`date`,required:!0,fieldName:e.session?.fields?.updatedAt||`updatedAt`,onUpdate:()=>/* @__PURE__ */ new Date},ipAddress:{type:`string`,required:!1,fieldName:e.session?.fields?.ipAddress||`ipAddress`},userAgent:{type:`string`,required:!1,fieldName:e.session?.fields?.userAgent||`userAgent`},userId:{type:`string`,fieldName:e.session?.fields?.userId||`userId`,references:{model:`user`,field:`id`,onDelete:`cascade`},required:!0,index:!0},...a?.fields,...e.session?.additionalFields},order:2}};return{user:{modelName:e.user?.modelName||`user`,indexes:i?.indexes,fields:{name:{type:`string`,required:!0,fieldName:e.user?.fields?.name||`name`,sortable:!0},email:{type:`string`,unique:!0,required:!0,fieldName:e.user?.fields?.email||`email`,sortable:!0},emailVerified:{type:`boolean`,defaultValue:!1,required:!0,fieldName:e.user?.fields?.emailVerified||`emailVerified`,input:!1},image:{type:`string`,required:!1,fieldName:e.user?.fields?.image||`image`},createdAt:{type:`date`,defaultValue:()=>/* @__PURE__ */ new Date,required:!0,fieldName:e.user?.fields?.createdAt||`createdAt`},updatedAt:{type:`date`,defaultValue:()=>/* @__PURE__ */ new Date,onUpdate:()=>/* @__PURE__ */ new Date,required:!0,fieldName:e.user?.fields?.updatedAt||`updatedAt`},...i?.fields,...e.user?.additionalFields},order:1},...!e.secondaryStorage||e.session?.storeSessionInDatabase?u:{},account:{modelName:e.account?.modelName||`account`,indexes:o?.indexes,fields:{accountId:{type:`string`,required:!0,fieldName:e.account?.fields?.accountId||`accountId`},providerId:{type:`string`,required:!0,fieldName:e.account?.fields?.providerId||`providerId`},userId:{type:`string`,references:{model:`user`,field:`id`,onDelete:`cascade`},required:!0,fieldName:e.account?.fields?.userId||`userId`,index:!0},accessToken:{type:`string`,required:!1,returned:!1,fieldName:e.account?.fields?.accessToken||`accessToken`},refreshToken:{type:`string`,required:!1,returned:!1,fieldName:e.account?.fields?.refreshToken||`refreshToken`},idToken:{type:`string`,required:!1,returned:!1,fieldName:e.account?.fields?.idToken||`idToken`},accessTokenExpiresAt:{type:`date`,required:!1,returned:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||`accessTokenExpiresAt`},refreshTokenExpiresAt:{type:`date`,required:!1,returned:!1,fieldName:e.account?.fields?.refreshTokenExpiresAt||`refreshTokenExpiresAt`},scope:{type:`string`,required:!1,fieldName:e.account?.fields?.scope||`scope`},password:{type:`string`,required:!1,returned:!1,fieldName:e.account?.fields?.password||`password`},createdAt:{type:`date`,required:!0,fieldName:e.account?.fields?.createdAt||`createdAt`,defaultValue:()=>/* @__PURE__ */ new Date},updatedAt:{type:`date`,required:!0,fieldName:e.account?.fields?.updatedAt||`updatedAt`,onUpdate:()=>/* @__PURE__ */ new Date},...o?.fields,...e.account?.additionalFields},order:3},...!e.secondaryStorage||e.verification?.storeInDatabase?l:{},...c,...n?r:{}}};function _(e){let t=te(e);return{indexesByTable:h(Object.values(t).filter(e=>!(`disableMigrations`in e)||!e.disableMigrations).map(e=>({fields:e.fields,indexes:`indexes`in e?e.indexes:void 0,tableName:e.modelName}))),tables:t}}const v=e=>_(e).tables,y=Object.create(null),b=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?y:globalThis),x=new Proxy(y,{get(e,t){return b()[t]??y[t]},has(e,t){return t in b()||t in y},set(e,t,n){let r=b(!0);return r[t]=n,!0},deleteProperty(e,t){if(!t)return!1;let n=b(!0);return delete n[t],!0},ownKeys(){let e=b(!0);return Object.keys(e)}});function S(e){return e?e!==`false`:!1}const C=x.NODE_ENV??``,w=C===`production`,T=()=>C===`dev`||C===`development`,E=()=>C===`test`||S(x.TEST);function D(e,t){return typeof process<`u`&&process.env?process.env[e]??t:typeof Deno<`u`?Deno.env.get(e)??t:typeof Bun<`u`?Bun.env[e]??t:t}function O(e,t=!0){let n=D(e);return n?n!==`0`&&n.toLowerCase()!==`false`&&n!==``:t}const k=Object.freeze({get BETTER_AUTH_SECRET(){return D(`BETTER_AUTH_SECRET`)},get AUTH_SECRET(){return D(`AUTH_SECRET`)},get BETTER_AUTH_TELEMETRY(){return D(`BETTER_AUTH_TELEMETRY`)},get BETTER_AUTH_TELEMETRY_ID(){return D(`BETTER_AUTH_TELEMETRY_ID`)},get NODE_ENV(){return D(`NODE_ENV`,`development`)},get PACKAGE_VERSION(){return D(`PACKAGE_VERSION`,`0.0.0`)},get BETTER_AUTH_TELEMETRY_ENDPOINT(){return D(`BETTER_AUTH_TELEMETRY_ENDPOINT`,``)}}),A={eterm:4,cons25:4,console:4,cygwin:4,dtterm:4,gnome:4,hurd:4,jfbterm:4,konsole:4,kterm:4,mlterm:4,mosh:24,putty:4,st:4,"rxvt-unicode-24bit":24,terminator:24,"xterm-kitty":24},j=new Map(Object.entries({APPVEYOR:8,BUILDKITE:8,CIRCLECI:24,DRONE:8,GITEA_ACTIONS:24,GITHUB_ACTIONS:24,GITLAB_CI:8,TRAVIS:8})),ne=[/ansi/,/color/,/linux/,/direct/,/^con[0-9]*x[0-9]/,/^rxvt/,/^screen/,/^xterm/,/^vt100/,/^vt220/];function M(){if(D(`FORCE_COLOR`)!==void 0)switch(D(`FORCE_COLOR`)){case``:case`1`:case`true`:return 4;case`2`:return 8;case`3`:return 24;default:return 1}if(D(`NODE_DISABLE_COLORS`)!==void 0&&D(`NODE_DISABLE_COLORS`)!==``||D(`NO_COLOR`)!==void 0&&D(`NO_COLOR`)!==``||D(`TERM`)===`dumb`)return 1;if(D(`TMUX`))return 24;if(`TF_BUILD`in x&&`AGENT_NAME`in x)return 4;if(`CI`in x){for(let{0:e,1:t}of j)if(e in x)return t;return D(`CI_NAME`)===`codeship`?8:1}if(`TEAMCITY_VERSION`in x)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.exec(D(`TEAMCITY_VERSION`))===null?1:4;switch(D(`TERM_PROGRAM`)){case`iTerm.app`:return!D(`TERM_PROGRAM_VERSION`)||/^[0-2]\./.exec(D(`TERM_PROGRAM_VERSION`))!==null?8:24;case`HyperTerm`:case`MacTerm`:return 24;case`Apple_Terminal`:return 8}if(D(`COLORTERM`)===`truecolor`||D(`COLORTERM`)===`24bit`)return 24;if(D(`TERM`)){if(/truecolor/.exec(D(`TERM`))!==null)return 24;if(/^xterm-256/.exec(D(`TERM`))!==null)return 8;let e=D(`TERM`).toLowerCase();if(A[e])return A[e];if(ne.some(t=>t.exec(e)!==null))return 4}return D(`COLORTERM`)?4:1}const N={reset:`\x1B[0m`,bright:`\x1B[1m`,dim:`\x1B[2m`,undim:`\x1B[22m`,underscore:`\x1B[4m`,blink:`\x1B[5m`,reverse:`\x1B[7m`,hidden:`\x1B[8m`,fg:{black:`\x1B[30m`,red:`\x1B[31m`,green:`\x1B[32m`,yellow:`\x1B[33m`,blue:`\x1B[34m`,magenta:`\x1B[35m`,cyan:`\x1B[36m`,white:`\x1B[37m`},bg:{black:`\x1B[40m`,red:`\x1B[41m`,green:`\x1B[42m`,yellow:`\x1B[43m`,blue:`\x1B[44m`,magenta:`\x1B[45m`,cyan:`\x1B[46m`,white:`\x1B[47m`}},P=[`debug`,`info`,`success`,`warn`,`error`];function F(e,t){return P.indexOf(t)>=P.indexOf(e)}const I={info:N.fg.blue,success:N.fg.green,warn:N.fg.yellow,error:N.fg.red,debug:N.fg.magenta},L=(e,t,n)=>{let r=(/* @__PURE__ */ new Date()).toISOString();return n?`${N.dim}${r}${N.reset} ${I[e]}${e.toUpperCase()}${N.reset} ${N.bright}[Better Auth]:${N.reset} ${t}`:`${r} ${e.toUpperCase()} [Better Auth]: ${t}`},R=e=>{let t=e?.disabled!==!0,n=e?.level??`warn`,r=e?.disableColors===void 0?M()!==1:!e.disableColors,i=(i,a,o=[])=>{if(!t||!F(n,i))return;let s=L(i,a,r);!e||typeof e.log!=`function`?i===`error`?console.error(s,...o):i===`warn`?console.warn(s,...o):console.log(s,...o):e.log(i===`success`?`info`:i,a,...o)};return{...Object.fromEntries(P.map(e=>[e,(...[t,...n])=>i(e,t,n)])),get level(){return n}}},z=R(),B=()=>{let e=o()?.context.logger;return e&&e!==V?e:z},V={debug:(...e)=>B().debug(...e),info:(...e)=>B().info(...e),success:(...e)=>B().success(...e),warn:(...e)=>B().warn(...e),error:(...e)=>B().error(...e),get level(){return B().level}};function H(e){switch(e){case`a-z`:return`abcdefghijklmnopqrstuvwxyz`;case`A-Z`:return`ABCDEFGHIJKLMNOPQRSTUVWXYZ`;case`0-9`:return`0123456789`;case`-_`:return`-_`;default:throw Error(`Unsupported alphabet: ${e}`)}}function U(...e){let t=e.map(H).join(``);if(t.length===0)throw Error(`No valid characters provided for random string generation.`);let n=t.length;return(e,...r)=>{if(e<=0)throw Error(`Length must be a positive integer.`);let i=t,a=n;r.length>0&&(i=r.map(H).join(``),a=i.length);let o=Math.floor(256/a)*a,s=new Uint8Array(e*2),c=s.length,l=``,u=c,d;for(;l.length<e;)u>=c&&(crypto.getRandomValues(s),u=0),d=s[u++],d<o&&(l+=i[d%a]);return l}}const W=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z$/;function G(e){if(typeof e==`string`&&W.test(e)){let t=new Date(e);if(!isNaN(t.getTime()))return t}return e}function K(e){if(e==null)return e;if(typeof e==`string`)return G(e);if(e instanceof Date)return e;if(Array.isArray(e))return e.map(K);if(typeof e==`object`){let t={};for(let n of Object.keys(e))t[n]=K(e[n]);return t}return e}function q(e){try{return typeof e==`string`?JSON.parse(e,(e,t)=>G(t)):e==null?null:K(e)}catch(e){return V.error(`Error parsing JSON`,{error:e}),null}}const J=`db.collection.name`,re=`db.operation.name`,Y=`http.response.status_code`,X=`http.route`;function ie(){let e={end(){},setAttribute(e,t){},setStatus(e){},recordException(e){},updateName(t){return e}};return e}function ae(e){function t(t,...n){let r=n[n.length-1];return r(e)}return{startActiveSpan:t}}function oe(){let e=ae(ie());return{getTracer(t,n){return e},getActiveSpan(){}}}function se(){return{SpanStatusCode:{UNSET:0,OK:1,ERROR:2},trace:oe()}}const ce=se();function le(e,t,n){return n()}let ue,Z;async function de(){try{Z=await import(`./esm-CdWTLqG7.mjs`)}catch{}}function Q(){return ue||=de(),Z??ce}function fe(e){if(typeof e==`object`&&e&&`name`in e&&e.name===`APIError`&&`statusCode`in e){let t=e.statusCode;return t>=300&&t<400}return!1}function $(e,t){let{SpanStatusCode:n}=Q();fe(t)?(e.setAttribute(Y,t.statusCode),e.setStatus({code:n.OK})):(e.recordException(t),e.setStatus({code:n.ERROR,message:String(t?.message??t)})),e.end()}function pe(e,t,n){let{trace:r}=Q();return r.getTracer(`better-auth`,`1.7.7`).startActiveSpan(e,{attributes:t},e=>{try{let t=n();return t instanceof Promise?t.then(t=>(e.end(),t)).catch(t=>{throw $(e,t),t}):(e.end(),t)}catch(t){throw $(e,t),t}})}function me(e){return e.experimental?.instrumentation?.enabled===!1?le:pe}export{ee as C,s as D,o as E,p as S,a as T,T as _,X as a,v as b,N as c,F as d,M as f,D as g,O as h,Y as i,R as l,x as m,J as n,q as o,k as p,re as r,U as s,me as t,V as u,w as v,c as w,_ as x,E as y};