From b08d532990f88e2e70eb0c5790cc6ec1b2ba0571 Mon Sep 17 00:00:00 2001 From: Kian Khayat Date: Wed, 28 Oct 2026 22:28:00 +0000 Subject: [PATCH 1/3] Prepare Lexipfad v3.3 production candidate --- .github/workflows/production-gate.yml | 35 +++++ DEPLOY-PREVIEW-WINDOWS.cmd | 41 ++++++ DEPLOY-STATUS-FA.md | 32 +++++ MOBILE_V3_3_CHANGELOG_FA.md | 14 ++ README.md | 11 +- RELEASE_MANIFEST.txt | 6 +- _headers | 9 +- admin.html | 8 +- api/article.js | 4 +- api/articles.js | 3 +- api/health.js | 20 +++ api/sitemap.js | 5 +- article-preview.html | 2 +- article-studio.html | 2 +- assets/article-studio.js | 10 +- assets/backend.js | 29 +++- assets/page-admin.js | 10 +- assets/page-reset-password.js | 7 + assets/site-ui.js | 23 ++- assets/styles.css | 48 ++++++- assets/vendor/supabase-js-2.117.2.js | 11 ++ author-request.html | 2 +- .../20261027_s1_author_resource_ownership.sql | 135 ++++++++++++++++++ .../validation/s1_author_ownership_check.sql | 52 +++++++ books.html | 2 +- course.html | 2 +- docs/PRODUCTION_READINESS_FA.md | 59 ++++++++ docs/V3_3_CONTINUATION_REPORT_FA.md | 98 +++++++++++++ docs/screenshots/GL-vnext-article-studio.png | Bin 0 -> 63927 bytes docs/screenshots/v3-books-mobile.png | Bin 143254 -> 151753 bytes docs/screenshots/v74-admin-media-mobile.png | Bin 0 -> 78522 bytes docs/screenshots/v74-books-mobile.png | Bin 0 -> 136350 bytes docs/screenshots/v74-home-mobile.png | Bin 0 -> 117422 bytes index.html | 2 +- level.html | 2 +- levels.html | 2 +- login.html | 4 +- media.html | 2 +- package-lock.json | 125 ++++++++++++++++ package.json | 11 +- reset-password.html | 1 + resource.html | 2 +- resources.html | 2 +- scripts/build.mjs | 4 +- server/article-navigation.js | 18 +-- server/http-security.js | 39 +++++ signup.html | 2 +- special.html | 2 +- tools/article-studio-mobile-qa.py | 9 +- tools/dist-qa.mjs | 4 +- tools/p0-security-navigation-qa.mjs | 10 +- tools/p0-ssr-browser-qa.py | 7 +- tools/production-security-qa.mjs | 52 +++++++ tools/qa.py | 8 +- tools/v3-browser-qa.py | 9 +- tools/v74-browser-qa.py | 9 +- tools/vnext-articles-qa.mjs | 16 ++- vercel.json | 24 +++- 58 files changed, 947 insertions(+), 99 deletions(-) create mode 100644 .github/workflows/production-gate.yml create mode 100644 DEPLOY-PREVIEW-WINDOWS.cmd create mode 100644 DEPLOY-STATUS-FA.md create mode 100644 MOBILE_V3_3_CHANGELOG_FA.md create mode 100644 api/health.js create mode 100644 assets/page-reset-password.js create mode 100644 assets/vendor/supabase-js-2.117.2.js create mode 100644 backend/migrations/20261027_s1_author_resource_ownership.sql create mode 100644 backend/validation/s1_author_ownership_check.sql create mode 100644 docs/PRODUCTION_READINESS_FA.md create mode 100644 docs/V3_3_CONTINUATION_REPORT_FA.md create mode 100644 docs/screenshots/GL-vnext-article-studio.png create mode 100644 docs/screenshots/v74-admin-media-mobile.png create mode 100644 docs/screenshots/v74-books-mobile.png create mode 100644 docs/screenshots/v74-home-mobile.png create mode 100644 package-lock.json create mode 100644 reset-password.html create mode 100644 server/http-security.js create mode 100644 tools/production-security-qa.mjs diff --git a/.github/workflows/production-gate.yml b/.github/workflows/production-gate.yml new file mode 100644 index 0000000..dec9230 --- /dev/null +++ b/.github/workflows/production-gate.yml @@ -0,0 +1,35 @@ +name: Production gate + +on: + pull_request: + push: + branches: [main] + +permissions: + contents: read + +jobs: + verify: + runs-on: ubuntu-latest + timeout-minutes: 20 + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 22 + cache: npm + - uses: actions/setup-python@v5 + with: + python-version: '3.12' + - run: npm ci --ignore-scripts + - run: pip install playwright==1.55.0 + - run: python -m playwright install --with-deps chromium + - run: npm run qa + - run: npm run qa:studio:browser + - run: npm run qa:ssr:browser + - run: npm run build + env: + SUPABASE_URL: https://ci-placeholder.supabase.co + SUPABASE_PUBLISHABLE_KEY: sb_publishable_ci_placeholder_not_a_secret + SITE_URL: https://example.invalid + - run: npm run verify:dist diff --git a/DEPLOY-PREVIEW-WINDOWS.cmd b/DEPLOY-PREVIEW-WINDOWS.cmd new file mode 100644 index 0000000..6d2d979 --- /dev/null +++ b/DEPLOY-PREVIEW-WINDOWS.cmd @@ -0,0 +1,41 @@ +@echo off +setlocal +cd /d "%~dp0" + +echo ========================================= +echo German Library v3.2.1 - Vercel PREVIEW + echo ========================================= +echo This deploys a PREVIEW only, not production. +echo No Supabase database migrations are executed. +echo. + +where node >nul 2>&1 +if errorlevel 1 ( + echo ERROR: Node.js 20+ is required. Install it from nodejs.org first. + pause + exit /b 1 +) + +echo Linking to your existing Vercel project german-library... +call npx --yes vercel@latest link --yes --project german-library --scope iktx420cyber-9788 +if errorlevel 1 ( + echo. + echo If you are not signed in, run: npx vercel@latest login + echo Then run this script again. + pause + exit /b 1 +) + +echo Deploying this extracted v3.2.1 folder to Preview... +call npx --yes vercel@latest deploy --yes +if errorlevel 1 ( + echo. + echo Deployment failed. Check the error above. Existing production remains unchanged. + pause + exit /b 1 +) + +echo. +echo Deployment command succeeded. Check the deployment URL and test it. +echo Do NOT promote until required Supabase migrations and live security checks pass. +pause diff --git a/DEPLOY-STATUS-FA.md b/DEPLOY-STATUS-FA.md new file mode 100644 index 0000000..34b3ea5 --- /dev/null +++ b/DEPLOY-STATUS-FA.md @@ -0,0 +1,32 @@ +# German Library v3.2.1 — راهنمای انتشار امن + +## وضعیت در تاریخ ۱۸ اکتبر ۲۰۲۶ + +- سورس این بسته: **v3.2.1-p0-preview**. +- QA محلی: تمامی تست‌های `npm run qa` موفق شدند. +- Build و `verify:dist`: با کلید **ساختگی مخصوص تست** موفق شدند. **هیچ کلید واقعی داخل ZIP قرار ندارد.** +- GitHub `cianium/German-Library` در زمان بررسی روی نسخه **7.1.1** بود، نه v3.2.1. انتشار GitHub main بدون آپدیت سورس، نسخه جدید را منتشر نمی‌کند. +- پروژه موجود در Vercel: `german-library` با آدرس `https://german-library.vercel.app` و متغیرهای `SUPABASE_URL`, `SUPABASE_PUBLISHABLE_KEY` و `SITE_URL`. +- Supabase `German Library`: چهار Migration نسخه 7.1.1 ثبت شده بودند، و در public جدول‌های `profiles`, `levels`, `courses`, `resources` وجود داشتند. **Migrationهای v3/vNext/P0 هنوز ثبت نشده‌اند.** +- اتصال‌های مستقیم ابزار از این محیط نمی‌توانند پوشه آپلودی روی دیسک محلی را به Vercel منتقل کنند؛ از این رو هیچ Deploy جدیدی در این بررسی ثبت نشده است. + +## نصب و انتشار Preview با لپ‌تاپ Windows + +1. این ZIP را **Extract All** کنید؛ از اجرای مستقیم فایل CMD داخل ZIP خودداری کنید. +2. Node.js نسخه 20 یا جدیدتر را نصب داشته باشید. +3. `DEPLOY-PREVIEW-WINDOWS.cmd` را اجرا کنید. درصورت درخواست ورود، در Terminal دستور `npx vercel@latest login` را اجرا کنید و دوباره روی فایل کلیک کنید. +4. اسکریپت به پروژه موجود `german-library` لینک می‌شود و نسخه جاری را به **Preview** می‌فرستد؛ نسخه Production و آدرس اصلی سایت را تغییر نمی‌دهد. +5. URL چاپ‌شده در Terminal را باز کنید. صفحات عمومی و منوی موبایل را تست کنید. **صفحات SSR مقالات ممکن است تا تکمیل Schema دیتابیس 503 شوند.** +6. برای تکمیل Article Studio باید طبق README و `docs/P0_SECURITY_AND_NAV_REPORT_FA.md` ابتدا محیط Development/Staging دیتابیس را آماده کنید: Migrationهای قبلی، `20261014_vnext_articles.sql` و سپس `20261015_p0_article_source_read_access.sql`؛ سپس Validation و تست واقعی نقش‌ها انجام شود. +7. **فقط بعد از تأیید کامل Staging**، تغییرات و Migrationها را با پشتیبان و برنامه بازگشت به Production ببرید و سپس همان پوشه تأییدشده را با `npx vercel@latest deploy --prod` منتشر کنید. + +## بررسی‌های امنیتی قبل از Production + +- اجرای `backend/validation/vnext_articles_check.sql` و `backend/validation/p0_article_access_check.sql`. +- تست واقعی دسترسی مقاله با Guest، Learner، Author صاحب/غیرصاحب و Editor. +- بازبینی دسترسی گسترده Author به منابع مشترک و فایل‌های `resource-files`. +- بازبینی Supabase Security Advisor و سیاست‌های Storage. +- بررسی `SUPABASE_URL` و `SUPABASE_PUBLISHABLE_KEY` واقعی در پروژه Vercel (هرگز Service Role یا Secret Key را در Frontend قرار ندهید). +- تست Autosave، ارسال برای بازبینی، انتشار، خواندن SSR، Sitemap و مسیرهای ناوبری. + +این فایل گزارش وضعیت است، نه ادعای انجام انتشار آنلاین. diff --git a/MOBILE_V3_3_CHANGELOG_FA.md b/MOBILE_V3_3_CHANGELOG_FA.md new file mode 100644 index 0000000..d268fdc --- /dev/null +++ b/MOBILE_V3_3_CHANGELOG_FA.md @@ -0,0 +1,14 @@ +# Lexipfad v3.3 — Mobile Navigation Preview + +- Floating Glass Bottom Navigation: پنج مقصد خانه، سطوح، کتابخانه، رسانه، مقالات. +- هماهنگی ناوبری HTML و مقالات SSR بدون تغییر در سیاست‌های Supabase. +- رعایت Safe Area، حالت روشن/تاریک، Reduced Transparency، Focus و اندازه لمس. +- حفظ رفتار موجود پنل مدیریت؛ نوار مدیریت استایل یکسان می‌گیرد. +- حالت نوشتن مقاله: هنگام تمرکز روی ادیتور، نوار پایین پنهان می‌شود. +- رفع لینک تکراری مقالات در منوی SSR و حذف قانون قدیمی چهارستونی. +- Header عمومی یکدست برای Search و Account، همراه با رفتار Keyboard در موبایل. +- Author Studio: ناوبری اختصاصی، Focus Mode، Save/Preview dock و Visual Viewport handling. +- Admin Studio: دسترسی مستقیم به مقاله‌ها، شمار واقعی صف بررسی و focus isolation در editor. +- Browser QA واقعی در عرض‌های 320/390/768/1024 برای Article Studio و SSR Navigation پاس شد. + +این نسخه فقط پیش‌نمایش است؛ هیچ migration یا تغییر Production اعمال نشده است. تایید RLS و E2E زنده پیش از انتشار ضروری است. diff --git a/README.md b/README.md index 697cdf9..f99ed98 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# German Library v3.2.1-p0-preview — Security & SSR Navigation Patch +# Lexipfad v3.3.0 Mobile Preview — Navigation & Workspaces -**این نسخه Source-only است، Production نیست.** پچ امنیتی جدید `backend/migrations/20261015_p0_article_source_read_access.sql` باید **پس از** Migration مقالات vNext روی Supabase Development اجرا و با حساب‌های واقعی آزمایش شود. بدون اجرای SQL، مشکل دسترسی به نسخه در حال ویرایش حل نشده است. مسیرهای SSR مقالات چهارمقصدی و هماهنگ با V7.5 شده‌اند؛ SEO URL خالی هم اصلاح شده است. گزارش کامل: `docs/P0_SECURITY_AND_NAV_REPORT_FA.md`. +**این نسخه Source-only Preview است، Production نیست.** ناوبری عمومی پنج‌مقصدی، تجربه موبایل عمومی، Author Studio و دسترسی عملیاتی Admin بهبود یافته‌اند. پچ امنیتی `backend/migrations/20261015_p0_article_source_read_access.sql` باید **پس از** Migration مقالات vNext روی Supabase Development اجرا و با حساب‌های واقعی آزمایش شود. بدون اجرای SQL و role-matrix زنده، امنیت استقرار تأیید نشده است. گزارش این مرحله: `docs/V3_3_CONTINUATION_REPORT_FA.md`. تست‌ها: `npm run qa`، `npm run qa:ssr:browser` و `npm run qa:studio:browser`. Build آزمایشی جای تست دیتابیس واقعی را نمی‌گیرد. @@ -8,8 +8,11 @@ # German Library v3.2.0-preview — Article Studio Mobile Increment -**این بسته یک توسعه افزایشی است و جایگزین کامل نیازمندی‌های V7.5 نیست.** -- ناوبری عمومی چهارمقصدی V7.5 با Articles زیر Extras؛ پنل مدیریت تغییر نکرده است. +**این بسته یک توسعه افزایشی است و بازنویسی محصول نیست.** +- ناوبری عمومی پنج‌مقصدی: خانه، سطوح، کتابخانه، رسانه و مقالات. +- Floating Glass فقط برای ناوبری و ابزارهای شناور؛ سطوح محتوایی مات و خوانا مانده‌اند. +- Author Studio موبایل دارای ناوبری اختصاصی، Focus Mode و action dock سازگار با Visual Viewport است. +- Admin به Article Studio و شمار واقعی صف بررسی دسترسی مستقیم دارد؛ مجوز نهایی همچنان با RLS/RPC است. - جدول‌ساز، ویرایش لینک داخلی/خارجی، Alt و Caption جداگانه و ویرایش تصویر موجود. - اصلاح باگ حفظ متادیتا هنگام باز کردن مقاله و بهبود SEO تصویر. - دستور تست: `npm run qa`؛ تست UI با Chromium و Playwright: `npm run qa:studio:browser`. diff --git a/RELEASE_MANIFEST.txt b/RELEASE_MANIFEST.txt index 517f6f8..2f2f4da 100644 --- a/RELEASE_MANIFEST.txt +++ b/RELEASE_MANIFEST.txt @@ -1,5 +1,5 @@ -German Library v3.2.1-p0-preview -Based on: v3.2.0 Mobile Article Studio Preview (derived from V7.4) -Source-only P0 patch; not deployed +Lexipfad v3.3.0-mobile-preview +Based on: v3.2.1 P0 source preview (derived from V7.4) +Mobile navigation and workspace continuation; not deployed Mandatory after vNext article migration: backend/migrations/20261015_p0_article_source_read_access.sql Live RLS/role test pending; see docs/P0_SECURITY_AND_NAV_REPORT_FA.md diff --git a/_headers b/_headers index 3a13afc..c0f6740 100644 --- a/_headers +++ b/_headers @@ -3,9 +3,11 @@ X-Frame-Options: DENY Referrer-Policy: strict-origin-when-cross-origin Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=() - Strict-Transport-Security: max-age=31536000 + Strict-Transport-Security: max-age=63072000; includeSubDomains Cross-Origin-Opener-Policy: same-origin - Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn.jsdelivr.net; style-src 'self'; img-src 'self' data: https:; media-src 'self' blob: https:; connect-src 'self' https://*.supabase.co wss://*.supabase.co; font-src 'self' data:; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; upgrade-insecure-requests + X-DNS-Prefetch-Control: off + X-Permitted-Cross-Domain-Policies: none + Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data: https:; media-src 'self' blob: https:; connect-src 'self' https://*.supabase.co wss://*.supabase.co; font-src 'self' data:; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; manifest-src 'self'; worker-src 'self' blob:; upgrade-insecure-requests /*.html Cache-Control: public, max-age=0, must-revalidate @@ -18,3 +20,6 @@ /assets/runtime-config.js Cache-Control: no-store, max-age=0 + +/assets/vendor/* + Cache-Control: public, max-age=31536000, immutable diff --git a/admin.html b/admin.html index 38d9ab0..37038a2 100644 --- a/admin.html +++ b/admin.html @@ -9,10 +9,10 @@
-
Content Administration

استودیوی مدیریت محتوا

کتاب‌ها و فایل‌هایشان را یک‌جا مدیریت کن؛ منابع مستقل هم بخش جدا دارند. ابزارهای ضروری، همیشه در دسترس موبایل.

DemoLocal
+
Content Administration

استودیوی مدیریت محتوا

کتاب‌ها و فایل‌هایشان را یک‌جا مدیریت کن؛ منابع مستقل هم بخش جدا دارند. ابزارهای ضروری، همیشه در دسترس موبایل.

DemoLocalمقاله‌های من
German Library Admin · Mobile first.Kian
- - + + diff --git a/api/article.js b/api/article.js index d103363..1a02737 100644 --- a/api/article.js +++ b/api/article.js @@ -1,4 +1,5 @@ import {desktopNav, mobileMenu, mobileBottomNav} from '../server/article-navigation.js'; +import {allowReadOnly,end,logServerError,prepareRequest} from '../server/http-security.js'; const base=()=>String(process.env.SUPABASE_URL||'').replace(/\/$/,''); const key=()=>process.env.SUPABASE_PUBLISHABLE_KEY||process.env.SUPABASE_ANON_KEY||''; const origin=()=>{const raw=process.env.SITE_URL||process.env.VERCEL_PROJECT_PRODUCTION_URL||process.env.VERCEL_URL||'https://german-library.vercel.app';try{return new URL(/^https?:\/\//i.test(raw)?raw:`https://${raw}`).origin}catch{return'https://german-library.vercel.app'}}; @@ -12,5 +13,4 @@ out+=`<${tag}${attrs}>`;if(!['br','hr','img'].includes(tag))stack.push(tag)}whil async function relatedItems(refs){const items=[];for(const ref of Array.isArray(refs)?refs.slice(0,8):[]){const [kind,...rest]=String(ref).split(':');const id=rest.join(':');const table=kind==='course'?'courses':kind==='resource'?'resources':'';if(!table||!id)continue;try{const found=await get(`${table}?id=eq.${encodeURIComponent(id)}&status=eq.published&select=id,title,level_code&limit=1`);if(found[0])items.push({kind,id:found[0].id,title:found[0].title,level:found[0].level_code||''})}catch{}}return items} function formatDate(value,locale){const d=new Date(value);return Number.isNaN(+d)?'':new Intl.DateTimeFormat(locale==='de'?'de-DE':locale==='fa'?'fa-IR':'en-US',{year:'numeric',month:'long',day:'numeric'}).format(d)} function html(a,site,relatedHtml=''){const locale=['de','fa','en'].includes(a.locale)?a.locale:'de';const direction=locale==='fa'?'rtl':'ltr';const proposedCanonical=validUrl(a.canonical_url);const canonical=proposedCanonical&&new URL(proposedCanonical).origin===site?proposedCanonical:`${site}/articles/${encodeURIComponent(a.slug)}`;const title=a.seo_title||a.title;const desc=a.meta_description||a.excerpt;const cover=validUrl(a.cover_url,true);const social=validUrl(a.og_image_url,true)||cover;const mobile=validUrl(a.mobile_cover_url,true);const body=sanitize(a.body_html);const skills=Array.isArray(a.skills)?a.skills:[];const levels=Array.isArray(a.levels)?a.levels:[];const date=formatDate(a.published_at,locale),updated=formatDate(a.updated_at,locale);const data={"@context":"https://schema.org","@type":"BlogPosting",headline:a.title,description:desc,datePublished:a.published_at,dateModified:a.updated_at||a.published_at,author:{"@type":"Person",name:a.author_name},mainEntityOfPage:canonical,...(social?{image:[social]}:{})};const crumb={"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:'خانه',item:site},{"@type":"ListItem",position:2,name:'مقالات',item:`${site}/articles`},{"@type":"ListItem",position:3,name:a.title,item:canonical}]};const scriptJson=x=>JSON.stringify(x).replace(/${mobile?``:''}${esc(a.cover_alt||'')}`:'';return `${esc(title)} · German Library${social?``:''}${social?``:''}
GLGerman Libraryمقالات آموزشی${desktopNav()}
${mobileMenu()}

${esc(a.category)}${levels.length?` · ${esc(levels.join('، '))}`:''}

${esc(a.title)}

${esc(a.excerpt)}

${media}
${body||'

متن این مقاله هنوز در دسترس نیست.

'}
${relatedHtml}

قدم بعدی در یادگیری

سطح مناسب را انتخاب کن تا کتاب‌ها و تمرین‌های مرتبط را ببینی.

رفتن به سطح‌ها
${mobileBottomNav()}`} -const send=(res,status,body,headers={})=>{res.statusCode=status;for(const [k,v] of Object.entries(headers))res.setHeader(k,v);res.end(body)}; -export default async function handler(req,res){const site=origin();try{const u=new URL(req.url,site);const slug=(u.searchParams.get('slug')||'').trim();if(!slug)return send(res,404,'Not found',{'Content-Type':'text/plain; charset=utf-8','X-Robots-Tag':'noindex'});const found=await get(`published_articles?slug=eq.${encodeURIComponent(slug)}&select=*&limit=1`);if(found[0]){const article=found[0];const related=await relatedItems(article.related_resource_ids);const relatedHtml=related.length?`

منابع پیشنهادی برای ادامه

`:'';return send(res,200,html(article,site,relatedHtml),{'Content-Type':'text/html; charset=utf-8','Cache-Control':'public, s-maxage=60, stale-while-revalidate=300'})}const history=await get(`article_redirects?old_slug=eq.${encodeURIComponent(slug)}&select=slug&limit=1`);if(history[0])return send(res,301,'',{'Location':`${site}/articles/${encodeURIComponent(history[0].slug)}`,'Cache-Control':'public, max-age=3600'});return send(res,404,`مقاله پیدا نشد · German Library

این مقاله پیدا نشد

ممکن است نشانی تغییر کرده باشد.

دیدن مقاله‌ها
`,{'Content-Type':'text/html; charset=utf-8','X-Robots-Tag':'noindex'})}catch(e){return send(res,503,'Article service temporarily unavailable',{'Content-Type':'text/plain; charset=utf-8','Cache-Control':'no-store','X-Robots-Tag':'noindex'})}} +export default async function handler(req,res){const requestId=prepareRequest(req,res);if(!allowReadOnly(req,res))return;const site=origin();try{const u=new URL(req.url,site);const slug=(u.searchParams.get('slug')||'').trim();if(!slug)return end(req,res,404,'Not found',{'Content-Type':'text/plain; charset=utf-8','X-Robots-Tag':'noindex'});const found=await get(`published_articles?slug=eq.${encodeURIComponent(slug)}&select=*&limit=1`);if(found[0]){const article=found[0];const related=await relatedItems(article.related_resource_ids);const relatedHtml=related.length?`

منابع پیشنهادی برای ادامه

`:'';return end(req,res,200,html(article,site,relatedHtml),{'Content-Type':'text/html; charset=utf-8','Cache-Control':'public, s-maxage=60, stale-while-revalidate=300'})}const history=await get(`article_redirects?old_slug=eq.${encodeURIComponent(slug)}&select=slug&limit=1`);if(history[0])return end(req,res,301,'',{'Location':`${site}/articles/${encodeURIComponent(history[0].slug)}`,'Cache-Control':'public, max-age=3600'});return end(req,res,404,`مقاله پیدا نشد · German Library

این مقاله پیدا نشد

ممکن است نشانی تغییر کرده باشد.

دیدن مقاله‌ها
`,{'Content-Type':'text/html; charset=utf-8','X-Robots-Tag':'noindex'})}catch(e){logServerError('api/article',requestId,e);return end(req,res,503,'Article service temporarily unavailable',{'Content-Type':'text/plain; charset=utf-8','Cache-Control':'no-store','X-Robots-Tag':'noindex'})}} diff --git a/api/articles.js b/api/articles.js index 02b85b4..42436d3 100644 --- a/api/articles.js +++ b/api/articles.js @@ -1,8 +1,9 @@ import {desktopNav, mobileMenu, mobileBottomNav} from '../server/article-navigation.js'; +import {allowReadOnly,logServerError,prepareRequest} from '../server/http-security.js'; const siteUrl=()=>{const raw=process.env.SITE_URL||process.env.VERCEL_PROJECT_PRODUCTION_URL||process.env.VERCEL_URL||'https://german-library.vercel.app';try{return new URL(/^https?:\/\//i.test(raw)?raw:`https://${raw}`).origin}catch{return'https://german-library.vercel.app'}}; const imageUrl=s=>{try{const u=new URL(s);return u.protocol==='https:'?u.href:''}catch{return''}}; const esc=s=>String(s??'').replace(/[&<>"']/g,c=>({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c])); async function rows(){const base=process.env.SUPABASE_URL,key=process.env.SUPABASE_PUBLISHABLE_KEY||process.env.SUPABASE_ANON_KEY;if(!base||!key)throw Error('Articles are not configured');const r=await fetch(`${base.replace(/\/$/,'')}/rest/v1/published_articles?select=id,slug,title,excerpt,category,locale,levels,skills,author_name,published_at,updated_at,cover_url,mobile_cover_url,cover_alt,featured,seo_title,meta_description&order=published_at.desc&limit=100`,{headers:{apikey:key,Authorization:`Bearer ${key}`},signal:AbortSignal.timeout(8000)});if(!r.ok)throw Error(`Article service ${r.status}`);return r.json()} function page(content,title='مقالات آموزشی آلمانی',description='راهنماهای کاربردی برای یادگیری آلمانی؛ همراه با پیشنهاد منابع و مسیر بعدی.',site=siteUrl()){return `${esc(title)} · German Library
GLGerman Libraryمقالات آموزشی${desktopNav()}
${mobileMenu()}
${content}
${mobileBottomNav()}`} function matches(a,u){const q=(u.searchParams.get('q')||'').trim().toLocaleLowerCase();const level=u.searchParams.get('level')||'';const skill=u.searchParams.get('skill')||'';const category=u.searchParams.get('category')||'';return(!category||a.category===category)&&(!q||`${a.title} ${a.excerpt} ${a.category}`.toLocaleLowerCase().includes(q))&&(!level||(a.levels||[]).includes(level))&&(!skill||(a.skills||[]).includes(skill))} -export default async function handler(req,res){try{const u=new URL(req.url,'https://local');const all=await rows();const categories=[...new Set(all.map(a=>a.category).filter(Boolean))].sort();const list=all.filter(a=>matches(a,u));const featured=list.find(a=>a.featured);const regular=featured?list.filter(a=>a.id!==featured.id):list;const card=a=>{const cover=imageUrl(a.cover_url);return `
${cover?`${esc(a.cover_alt||'')}`:'German Library'}

${esc(a.category)}${a.levels?.length?` · ${esc(a.levels.join(', '))}`:''}

${esc(a.title)}

${esc(a.excerpt)}

${esc(a.author_name)} · ${new Date(a.published_at).toLocaleDateString(a.locale==='de'?'de-DE':a.locale==='fa'?'fa-IR':'en-US')}خواندن ←
`};const filters=`
`;const body=`
LEARNING ARTICLES

مقاله‌هایی برای قدم بعدی

راهنماهای آموزشی کوتاه و کاربردی، پیوندخورده به سطح‌ها و منابع مناسب.

${filters}${featured?`

مقالهٔ منتخب

${card(featured)}
`:''}

${u.searchParams.has('q')||u.searchParams.has('level')||u.searchParams.has('skill')||u.searchParams.has('category')?'نتایج جست‌وجو':'تازه‌ترین مقاله‌ها'}

${list.length} مقاله

${list.length?`
${regular.map(card).join('')}
`:'

مقاله‌ای پیدا نشد

عبارت یا فیلتر را تغییر بده و دوباره جست‌وجو کن.

'}
`;res.setHeader('Content-Type','text/html; charset=utf-8');res.setHeader('Cache-Control','public, s-maxage=60, stale-while-revalidate=300');res.status(200).send(page(body))}catch(e){res.setHeader('Content-Type','text/html; charset=utf-8');res.setHeader('Cache-Control','no-store');res.status(503).send(page('

مقالات موقتاً در دسترس نیستند

چند دقیقهٔ دیگر دوباره امتحان کن.

','مقالات در دسترس نیستند'))}} +export default async function handler(req,res){const requestId=prepareRequest(req,res);if(!allowReadOnly(req,res))return;try{const u=new URL(req.url,'https://local');const all=await rows();const categories=[...new Set(all.map(a=>a.category).filter(Boolean))].sort();const list=all.filter(a=>matches(a,u));const featured=list.find(a=>a.featured);const regular=featured?list.filter(a=>a.id!==featured.id):list;const card=a=>{const cover=imageUrl(a.cover_url);return `
${cover?`${esc(a.cover_alt||'')}`:'German Library'}

${esc(a.category)}${a.levels?.length?` · ${esc(a.levels.join(', '))}`:''}

${esc(a.title)}

${esc(a.excerpt)}

${esc(a.author_name)} · ${new Date(a.published_at).toLocaleDateString(a.locale==='de'?'de-DE':a.locale==='fa'?'fa-IR':'en-US')}خواندن ←
`};const filters=`
`;const body=`
LEARNING ARTICLES

مقاله‌هایی برای قدم بعدی

راهنماهای آموزشی کوتاه و کاربردی، پیوندخورده به سطح‌ها و منابع مناسب.

${filters}${featured?`

مقالهٔ منتخب

${card(featured)}
`:''}

${u.searchParams.has('q')||u.searchParams.has('level')||u.searchParams.has('skill')||u.searchParams.has('category')?'نتایج جست‌وجو':'تازه‌ترین مقاله‌ها'}

${list.length} مقاله

${list.length?`
${regular.map(card).join('')}
`:'

مقاله‌ای پیدا نشد

عبارت یا فیلتر را تغییر بده و دوباره جست‌وجو کن.

'}
`;res.setHeader('Content-Type','text/html; charset=utf-8');res.setHeader('Cache-Control','public, s-maxage=60, stale-while-revalidate=300');res.status(200).send(req.method==='HEAD'?'':page(body))}catch(e){logServerError('api/articles',requestId,e);res.setHeader('Content-Type','text/html; charset=utf-8');res.setHeader('Cache-Control','no-store');res.status(503).send(req.method==='HEAD'?'':page('

مقالات موقتاً در دسترس نیستند

چند دقیقهٔ دیگر دوباره امتحان کن.

','مقالات در دسترس نیستند'))}} diff --git a/api/health.js b/api/health.js new file mode 100644 index 0000000..c1ea14d --- /dev/null +++ b/api/health.js @@ -0,0 +1,20 @@ +import {allowReadOnly,end,logServerError,prepareRequest} from '../server/http-security.js'; + +export default async function handler(req,res){ + const requestId=prepareRequest(req,res); + if(!allowReadOnly(req,res))return; + const base=String(process.env.SUPABASE_URL||'').replace(/\/$/,''); + const key=process.env.SUPABASE_PUBLISHABLE_KEY||process.env.SUPABASE_ANON_KEY||''; + try{ + if(!base||!key)throw new Error('Missing configuration'); + const response=await fetch(`${base}/rest/v1/published_articles?select=id&limit=1`,{ + headers:{apikey:key,Authorization:`Bearer ${key}`}, + signal:AbortSignal.timeout(5000) + }); + if(!response.ok){const error=new Error('Dependency unavailable');error.status=response.status;throw error} + return end(req,res,200,JSON.stringify({ok:true}),{'Content-Type':'application/json; charset=utf-8','Cache-Control':'no-store'}); + }catch(error){ + logServerError('api/health',requestId,error); + return end(req,res,503,JSON.stringify({ok:false}),{'Content-Type':'application/json; charset=utf-8','Cache-Control':'no-store'}); + } +} diff --git a/api/sitemap.js b/api/sitemap.js index 8a766e6..de972c0 100644 --- a/api/sitemap.js +++ b/api/sitemap.js @@ -1,3 +1,6 @@ +import {allowReadOnly,end,logServerError,prepareRequest} from '../server/http-security.js'; + const escape=s=>String(s).replace(/&/g,'&').replace(//g,'>'); const origin=()=>{const x=process.env.SITE_URL||process.env.VERCEL_PROJECT_PRODUCTION_URL||process.env.VERCEL_URL||'https://german-library.vercel.app';try{return new URL(/^https?:\/\//i.test(x)?x:`https://${x}`).origin}catch{return'https://german-library.vercel.app'}}; -export default async function handler(req,res){try{const base=String(process.env.SUPABASE_URL||'').replace(/\/$/,'');const key=process.env.SUPABASE_PUBLISHABLE_KEY||process.env.SUPABASE_ANON_KEY;if(!base||!key)throw Error('Missing Supabase configuration');const r=await fetch(`${base}/rest/v1/published_articles?select=slug,updated_at&order=published_at.desc&limit=500`,{headers:{apikey:key,Authorization:`Bearer ${key}`},signal:AbortSignal.timeout(8000)});if(!r.ok)throw Error('Sitemap source unavailable');const articles=await r.json(),site=origin(),pages=['/','/levels.html','/books.html','/media.html','/resources.html','/special.html'];const urls=[...pages.map(path=>`${escape(site+path)}`),...articles.map(a=>`${escape(`${site}/articles/${encodeURIComponent(a.slug)}`)}${a.updated_at?`${escape(new Date(a.updated_at).toISOString())}`:''}`)];res.statusCode=200;res.setHeader('Content-Type','application/xml; charset=utf-8');res.setHeader('Cache-Control','public, s-maxage=300, stale-while-revalidate=3600');res.end(`${urls.join('')}`)}catch(e){res.statusCode=503;res.setHeader('Content-Type','application/xml; charset=utf-8');res.setHeader('Cache-Control','no-store');res.end('sitemap temporarily unavailable')}} +export default async function handler(req,res){const requestId=prepareRequest(req,res);if(!allowReadOnly(req,res))return;try{const base=String(process.env.SUPABASE_URL||'').replace(/\/$/,'');const key=process.env.SUPABASE_PUBLISHABLE_KEY||process.env.SUPABASE_ANON_KEY;if(!base||!key)throw Error('Missing Supabase configuration');const r=await fetch(`${base}/rest/v1/published_articles?select=slug,updated_at&order=published_at.desc&limit=500`,{headers:{apikey:key,Authorization:`Bearer ${key}`},signal:AbortSignal.timeout(8000)});if(!r.ok){const error=Error('Sitemap source unavailable');error.status=r.status;throw error}const articles=await r.json(),site=origin(),pages=['/','/levels.html','/books.html','/media.html','/resources.html','/special.html'];const urls=[...pages.map(path=>`${escape(site+path)}`),...articles.map(a=>`${escape(`${site}/articles/${encodeURIComponent(a.slug)}`)}${a.updated_at?`${escape(new Date(a.updated_at).toISOString())}`:''}`)];return end(req,res,200,`${urls.join('')}`,{'Content-Type':'application/xml; charset=utf-8','Cache-Control':'public, s-maxage=300, stale-while-revalidate=3600'})}catch(e){logServerError('api/sitemap',requestId,e);return end(req,res,503,'sitemap temporarily unavailable',{'Content-Type':'application/xml; charset=utf-8','Cache-Control':'no-store'})}} + diff --git a/article-preview.html b/article-preview.html index f116722..ec2f77a 100644 --- a/article-preview.html +++ b/article-preview.html @@ -1 +1 @@ -پیش‌نمایش مقاله · German Library

در حال آماده‌سازی پیش‌نمایش…

+پیش‌نمایش مقاله · German Library

در حال آماده‌سازی پیش‌نمایش…

diff --git a/article-studio.html b/article-studio.html index c0cb571..b0d0b9e 100644 --- a/article-studio.html +++ b/article-studio.html @@ -1,4 +1,4 @@ استودیوی مقالات · German Library
ARTICLE STUDIO

استودیوی مقالات

پیش‌نویس، ویرایش، بهینه‌سازی و ارسال برای بررسی.

+

افزودن جدول

برای جدول‌های واژگان، مقایسه‌ها و مثال‌ها. جدول در موبایل پیمایش افقی دارد.

diff --git a/assets/article-studio.js b/assets/article-studio.js index 21f3859..bb55f1b 100644 --- a/assets/article-studio.js +++ b/assets/article-studio.js @@ -4,6 +4,9 @@ GL.boot(async()=>{ const escape=s=>String(s||'').replace(/[&<>"']/g,c=>({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c])); try{const auth=await GLBackend.refreshAuth();user=auth.user;role=auth.role;const gate=await GLBackend.requireStaff();if(!gate.allowed)throw Error(gate.reason==='login'?'برای ورود به استودیو وارد حساب شو.':'این حساب به استودیوی مقاله دسترسی ندارد.');client=GLBackend.getClient();const [books,resources]=await Promise.all([client.from('courses').select('id,title,level_code,status').eq('status','published').order('title'),client.from('resources').select('id,title,level_code,status').eq('status','published').order('title')]);if(!books.error&&!resources.error){linkCandidates=[...books.data.map(x=>({type:'کتاب',title:x.title,url:new URL(`course.html?id=${encodeURIComponent(x.id)}`,location.origin).href})),...resources.data.map(x=>({type:'منبع',title:x.title,url:new URL(`resource.html?id=${encodeURIComponent(x.id)}`,location.origin).href}))];$('articleRelations').innerHTML=''+books.data.map(x=>``).join('')+''+resources.data.map(x=>``).join('')+''}}catch(e){say(e.message||'دسترسی بررسی نشد؛ اتصال یا ورود را بررسی کن.',true);$('newArticle').disabled=true;return} const reviewer=['admin','editor'].includes(role); + const studioNav=$('studioMobileNav'); + function setEditorMode(open){document.body.classList.toggle('studio-editor-open',open);studioNav.hidden=open} + function showList(){setEditorMode(false);editPanel.classList.add('hidden');listPanel.classList.remove('hidden');loadList().catch(e=>say(e.message,true));scrollTo({top:0,behavior:'smooth'})} // Keep the full editorial workflow on desktop, but expose one meaningful section per mobile view. function setStudioTab(name,focus=false){ for(const button of document.querySelectorAll('[data-studio-tab]')){ @@ -44,11 +47,11 @@ GL.boot(async()=>{ function slugify(x){return x.normalize('NFKD').toLowerCase().replace(/[^a-z0-9]+/g,'-').replace(/^-|-$/g,'').slice(0,80)} function scheduleAutosave(){clearTimeout(timer);timer=setTimeout(()=>{if(current||values().title.length>=8)save(current?.status||'draft',true)},1800)} async function save(status,automatic=false){if(saving)return false;const v=values(),savedVersion=JSON.stringify(v);if(v.title.length<8){if(!automatic)say('عنوان مقاله باید حداقل ۸ نویسه داشته باشد.',true);return false}if(!/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(v.slug)){if(!automatic)say('Slug را به شکل خوانا و با خط تیره بنویس.',true);return false}if(!v.author_name){if(!automatic)say('نام نمایشی نویسنده را وارد کن.',true);return false}if(status==='published'&&(!v.excerpt||!v.meta_description||v.body_html.length<100)){say('برای انتشار، خلاصه و متن مقاله را کامل کن.',true);return false}saving=true;$('saveState').textContent=automatic?'در حال ذخیرهٔ خودکار…':'در حال ذخیره…';const payload={slug:v.slug,title:v.title,excerpt:v.excerpt,body_html:v.body_html,category:v.category,tags:v.tags,locale:v.locale,levels:v.levels,skills:v.skills,related_resource_ids:v.related_resource_ids,author_name:v.author_name,seo_title:v.seo_title,focus_query:v.focus_query,meta_description:v.meta_description,canonical_url:v.canonical_url,og_image_url:v.og_image_url,cover_url:v.cover_url,mobile_cover_url:v.mobile_cover_url,cover_alt:v.cover_alt,reviewer_feedback:v.reviewer_feedback,status,author_id:v.author_id};if(reviewer)payload.featured=v.featured;try{let result;if(current){let q=client.from('articles').update(payload).eq('id',current.id).eq('revision',baseRevision).select('*').maybeSingle();const {data,error}=await q;if(error)throw error;if(!data)throw Error('این مقاله در دستگاه دیگری تغییر کرده است. نسخهٔ تازه را بارگیری کن تا نوشته‌ای بازنویسی نشود.');result=data}else{const {data,error}=await client.from('articles').insert({...payload,featured:false}).select('*').single();if(error)throw error;result=data;current=result}baseRevision=result.revision;$('articleForm').elements.id.value=result.id;$('articleForm').elements.revision.value=result.revision;$('revisionHistory').disabled=false;$('previewArticle').disabled=false;current={...result};const afterSave=values();afterSave.status=v.status;afterSave.revision=v.revision;afterSave.id=v.id;dirty=JSON.stringify(afterSave)!==savedVersion;$('submitForReview').hidden=!(reviewer||result.author_id===user.id)||result.status==='in_review';$('saveState').textContent=dirty?`نسخهٔ ${result.revision} ذخیره شد؛ تغییرات تازه مانده‌اند`:`ذخیره شد · نسخهٔ ${result.revision}`;if(dirty)scheduleAutosave();say(status==='in_review'?'مقاله برای بررسی ارسال شد.':status==='published'?'مقاله منتشر شد.':'پیش‌نویس ذخیره شد.');await loadList();return true}catch(e){$('saveState').textContent='ذخیره ناموفق';say(e.message||'ذخیره انجام نشد؛ اتصال و مجوز را بررسی کن.',true);return false}finally{saving=false}} - function openEditor(row){current=row?{...row}:null;baseRevision=row?.revision||0;form.reset();form.elements.id.value=row?.id||'';form.elements.revision.value=row?.revision||'';for(const [key,id] of Object.entries({title:'articleTitle',excerpt:'articleExcerpt',slug:'articleSlug',category:'articleCategory',tags:'articleTags',locale:'articleLocale',skills:'articleSkills',author_name:'authorName',seo_title:'seoTitle',focus_query:'focusQuery',meta_description:'metaDescription',canonical_url:'canonicalUrl',og_image_url:'ogImageUrl',cover_url:'coverUrl',mobile_cover_url:'mobileCoverUrl',cover_alt:'coverAlt',reviewer_feedback:'reviewerFeedback'}))$(id).value=row?.[key]|| (key==='author_name'?(user.user_metadata?.full_name||user.email?.split('@')[0]||''):key==='category'?'Grammatik':'');for(const o of $('articleLevels').options)o.selected=(row?.levels||[]).includes(o.value);for(const o of $('articleRelations').options)o.selected=(row?.related_resource_ids||[]).includes(o.value);$('articleBody').innerHTML=row?.body_html||'';selectionRange=null;activeImage=null;activeLink=null;$('editArticleImage').hidden=true;$('articleFeatured').checked=Boolean(row?.featured);$('featuredControl').classList.toggle('hidden',!reviewer);const canEdit=reviewer||!row||row?.author_id===user.id;form.querySelectorAll('input,textarea,select,[contenteditable]').forEach(x=>{if(x.id!=='reviewerFeedback')x.disabled=!canEdit});$('articleBody').contentEditable=String(canEdit);document.querySelectorAll('.rich-toolbar button').forEach(b=>b.disabled=!canEdit);setStudioTab('write');$('publishArticle').classList.toggle('hidden',!reviewer);$('requestChanges').classList.toggle('hidden',!reviewer||!row);$('archiveArticle').classList.toggle('hidden',!reviewer||!row);$('submitForReview').hidden=!canEdit||row?.status==='in_review';$('saveArticle').disabled=!canEdit;$('revisionHistory').disabled=!row;$('previewArticle').disabled=!row;listPanel.classList.add('hidden');editPanel.classList.remove('hidden');dirty=false;$('saveState').textContent=row?`وضعیت: ${row.status} · نسخهٔ ${row.revision}`:'مقالهٔ جدید';seo();scrollTo({top:0,behavior:'smooth'})} + function openEditor(row){current=row?{...row}:null;baseRevision=row?.revision||0;form.reset();form.elements.id.value=row?.id||'';form.elements.revision.value=row?.revision||'';for(const [key,id] of Object.entries({title:'articleTitle',excerpt:'articleExcerpt',slug:'articleSlug',category:'articleCategory',tags:'articleTags',locale:'articleLocale',skills:'articleSkills',author_name:'authorName',seo_title:'seoTitle',focus_query:'focusQuery',meta_description:'metaDescription',canonical_url:'canonicalUrl',og_image_url:'ogImageUrl',cover_url:'coverUrl',mobile_cover_url:'mobileCoverUrl',cover_alt:'coverAlt',reviewer_feedback:'reviewerFeedback'}))$(id).value=row?.[key]|| (key==='author_name'?(user.user_metadata?.full_name||user.email?.split('@')[0]||''):key==='category'?'Grammatik':'');for(const o of $('articleLevels').options)o.selected=(row?.levels||[]).includes(o.value);for(const o of $('articleRelations').options)o.selected=(row?.related_resource_ids||[]).includes(o.value);$('articleBody').innerHTML=row?.body_html||'';selectionRange=null;activeImage=null;activeLink=null;$('editArticleImage').hidden=true;$('articleFeatured').checked=Boolean(row?.featured);$('featuredControl').classList.toggle('hidden',!reviewer);const canEdit=reviewer||!row||row?.author_id===user.id;form.querySelectorAll('input,textarea,select,[contenteditable]').forEach(x=>{if(x.id!=='reviewerFeedback')x.disabled=!canEdit});$('articleBody').contentEditable=String(canEdit);document.querySelectorAll('.rich-toolbar button').forEach(b=>b.disabled=!canEdit);setStudioTab('write');$('publishArticle').classList.toggle('hidden',!reviewer);$('requestChanges').classList.toggle('hidden',!reviewer||!row);$('archiveArticle').classList.toggle('hidden',!reviewer||!row);$('submitForReview').hidden=!canEdit||row?.status==='in_review';$('saveArticle').disabled=!canEdit;$('revisionHistory').disabled=!row;$('previewArticle').disabled=!row;listPanel.classList.add('hidden');editPanel.classList.remove('hidden');setEditorMode(true);dirty=false;$('saveState').textContent=row?`وضعیت: ${row.status} · نسخهٔ ${row.revision}`:'مقالهٔ جدید';seo();scrollTo({top:0,behavior:'smooth'})} function statusFa(s){return({draft:'پیش‌نویس',needs_changes:'نیازمند اصلاح',in_review:'در حال بررسی',published:'منتشرشده',archived:'بایگانی'})[s]||s} async function loadList(){const {data,error}=await client.from('articles').select('id,slug,title,excerpt,author_id,author_name,status,revision,updated_at,published_at,reviewer_feedback,featured,levels,skills,locale,category,tags,related_resource_ids,body_html,seo_title,focus_query,meta_description,canonical_url,og_image_url,cover_url,mobile_cover_url,cover_alt').order('updated_at',{ascending:false}).limit(100);if(error)throw error;rows=data||[];renderList()} function renderList(){const q=$('studioSearch').value.trim().toLowerCase(),st=$('studioStatus').value;const items=rows.filter(a=>(!st||a.status===st)&&(!q||`${a.title} ${a.status} ${a.author_name}`.toLowerCase().includes(q)));list.innerHTML=items.length?items.map(a=>`

${escape(statusFa(a.status))} · نسخه ${a.revision} · ${escape(a.author_name)}

${escape(a.title)}

${escape(a.excerpt)}

${escape(new Date(a.updated_at).toLocaleString())}
${a.status==='published'&&a.published_at?`صفحهٔ عمومی`:''}
${a.reviewer_feedback?`

بازخورد: ${escape(a.reviewer_feedback)}

`:''}
`).join(''):'

مقاله‌ای نیست

یک پیش‌نویس تازه بساز یا فیلترها را تغییر بده.

';list.querySelectorAll('[data-edit-id]').forEach(b=>b.onclick=()=>openEditor(rows.find(r=>r.id===b.dataset.editId)))} - $('newArticle').onclick=()=>openEditor(null);$('backToList').onclick=()=>{if(dirty&&!confirm('تغییرات ذخیره‌نشده از دست می‌روند. ادامه می‌دهی؟'))return;editPanel.classList.add('hidden');listPanel.classList.remove('hidden');loadList().catch(e=>say(e.message,true))};$('studioSearch').addEventListener('input',renderList);$('studioStatus').addEventListener('change',renderList);form.addEventListener('submit',e=>{e.preventDefault();save(current?.status||'draft')});$('submitForReview').onclick=async()=>{if(await save('draft'))await save('in_review')};$('publishArticle').onclick=async()=>{const feedback=prompt('یادداشت ویراستار (اختیاری):',current?.reviewer_feedback||'');if(feedback===null)return;form.elements.reviewer_feedback.value=feedback;if(current?.status==='published'){if(!await save('in_review'))return}await save('published')};$('archiveArticle').onclick=async()=>{if(!current||!confirm('این مقاله بایگانی شود؟'))return;if(await save('archived')){editPanel.classList.add('hidden');listPanel.classList.remove('hidden')}}; + const startArticle=()=>openEditor(null);$('newArticle').onclick=startArticle;document.querySelector('[data-studio-new]').onclick=startArticle;document.querySelector('[data-studio-list]').onclick=()=>{if(dirty&&!confirm('تغییرات ذخیره‌نشده از دست می‌روند. ادامه می‌دهی؟'))return;showList()};$('backToList').onclick=()=>{if(dirty&&!confirm('تغییرات ذخیره‌نشده از دست می‌روند. ادامه می‌دهی؟'))return;showList()};$('studioSearch').addEventListener('input',renderList);$('studioStatus').addEventListener('change',renderList);form.addEventListener('submit',e=>{e.preventDefault();save(current?.status||'draft')});$('submitForReview').onclick=async()=>{if(await save('draft'))await save('in_review')};$('publishArticle').onclick=async()=>{const feedback=prompt('یادداشت ویراستار (اختیاری):',current?.reviewer_feedback||'');if(feedback===null)return;form.elements.reviewer_feedback.value=feedback;if(current?.status==='published'){if(!await save('in_review'))return}await save('published')};$('archiveArticle').onclick=async()=>{if(!current||!confirm('این مقاله بایگانی شود؟'))return;if(await save('archived'))showList()}; // Mobile-first article interactions; all inserted content passes through the existing allow-list on save. let selectionRange=null,mediaMode='link',activeImage=null,activeLink=null,linkMode='external'; const editor=$('articleBody'),toolbar=document.querySelector('.rich-toolbar'),dialog=$('editorMediaDialog'),tableDialog=$('editorTableDialog'); @@ -171,5 +174,6 @@ GL.boot(async()=>{ $('mediaUrl').addEventListener('input',()=>{$('mediaUrl').setCustomValidity('')}); $('mediaText').addEventListener('input',()=>{$('mediaText').setCustomValidity('')}); $('requestChanges').onclick=async()=>{const feedback=prompt('اصلاحات لازم را مشخص کن:');if(feedback===null||!feedback.trim())return;form.elements.reviewer_feedback.value=feedback.trim();await save('needs_changes')};$('previewArticle').onclick=async()=>{if(!current)return;const preview=window.open('about:blank','_blank');if(!preview)return;preview.opener=null;if(dirty&&!await save(current.status||'draft')){preview.close();return}preview.location.href=`article-preview.html?id=${encodeURIComponent(current.id)}`};$('revisionHistory').onclick=async()=>{if(!current)return;const panel=$('revisionPanel');panel.classList.remove('hidden');panel.innerHTML='

در حال بارگیری نسخه‌ها…

';const {data,error}=await client.from('article_revisions').select('revision,edited_by,created_at,snapshot').eq('article_id',current.id).order('revision',{ascending:false}).limit(20);if(error){panel.innerHTML=`

${escape(error.message)}

`;return}panel.innerHTML=data?.length?data.map(r=>`
نسخهٔ ${r.revision} · ${escape(new Date(r.created_at).toLocaleString())}
`).join(''):'

نسخه‌ای ثبت نشده است.

';panel.querySelectorAll('[data-restore-revision]').forEach(b=>b.onclick=()=>{const snap=data.find(x=>x.revision===Number(b.dataset.restoreRevision))?.snapshot;if(!snap)return;for(const [k,id] of Object.entries({title:'articleTitle',excerpt:'articleExcerpt',slug:'articleSlug',category:'articleCategory',tags:'articleTags',locale:'articleLocale',author_name:'authorName',seo_title:'seoTitle',focus_query:'focusQuery',meta_description:'metaDescription',canonical_url:'canonicalUrl',og_image_url:'ogImageUrl',cover_url:'coverUrl',mobile_cover_url:'mobileCoverUrl',cover_alt:'coverAlt'}))if(snap[k]!=null)$(id).value=snap[k];$('articleSkills').value=(snap.skills||[]).join(', ');$('articleTags').value=(snap.tags||[]).join(', ');for(const o of $('articleLevels').options)o.selected=(snap.levels||[]).includes(o.value);for(const o of $('articleRelations').options)o.selected=(snap.related_resource_ids||[]).includes(o.value);$('articleBody').innerHTML=snap.body_html||'';dirty=true;$('saveState').textContent=`نسخهٔ ${snap.revision||b.dataset.restoreRevision} بازیابی شد؛ ذخیره لازم است.`;seo()})}; - window.addEventListener('beforeunload',e=>{if(dirty){e.preventDefault();e.returnValue=''}});try{await loadList()}catch(e){say(e.message||'فهرست بارگیری نشد.',true)} + if(window.visualViewport){const syncViewport=()=>{const inset=Math.max(0,window.innerHeight-window.visualViewport.height-window.visualViewport.offsetTop);document.documentElement.style.setProperty('--studio-keyboard-inset',`${Math.round(inset)}px`);document.body.classList.toggle('studio-keyboard-open',inset>120)};window.visualViewport.addEventListener('resize',syncViewport);window.visualViewport.addEventListener('scroll',syncViewport);syncViewport()} + setEditorMode(false);window.addEventListener('beforeunload',e=>{if(dirty){e.preventDefault();e.returnValue=''}});try{await loadList()}catch(e){say(e.message||'فهرست بارگیری نشد.',true)} }); diff --git a/assets/backend.js b/assets/backend.js index 38f1184..b62299b 100644 --- a/assets/backend.js +++ b/assets/backend.js @@ -129,6 +129,14 @@ if(q.data.session){user=q.data.user;await refreshAuth()} return q.data; } + async function requestPasswordReset(email,redirectTo){ + const c=ensureClient();if(!c)throw new Error('Supabase تنظیم نشده است.'); + const q=await c.auth.resetPasswordForEmail(String(email||'').trim(),{redirectTo});if(q.error)throw q.error;return true; + } + async function updatePassword(password){ + const c=ensureClient();if(!c)throw new Error('Supabase تنظیم نشده است.'); + const q=await c.auth.updateUser({password});if(q.error)throw q.error;return q.data; + } async function signOut(){ const c=ensureClient();if(c){const q=await c.auth.signOut();if(q.error)throw q.error} clearTimeout(syncTimer);signedCache.clear();window.GL.clearCloudContent?.();user=null;role='guest';hydrated=false;lastCloudContent=null;setStatus('ready'); @@ -192,15 +200,22 @@ function safeFileName(name){return String(name||'file').normalize('NFKD').replace(/[^a-zA-Z0-9._-]+/g,'-').replace(/-+/g,'-').replace(/^-|-$/g,'').slice(-120)||'file'} function validateUpload(file){ - if(!file)throw new Error('فایلی انتخاب نشده است.');const max=Number(cfg.maxUploadBytes)||262144000;if(file.size>max)throw new Error('حجم فایل بیشتر از حد مجاز است.'); - const ext=(file.name.split('.').pop()||'').toLowerCase(),allowed=['pdf','mp3','m4a','wav','ogg','mp4','webm','txt','vtt','srt','jpg','jpeg','png','webp'];if(!allowed.includes(ext))throw new Error('نوع این فایل مجاز نیست.');return true; + if(!file)throw new Error('فایلی انتخاب نشده است.'); + const ext=(file.name.split('.').pop()||'').toLowerCase(); + const types={pdf:'application/pdf',epub:'application/epub+zip',mp3:'audio/mpeg',m4a:'audio/mp4',wav:'audio/wav',ogg:'audio/ogg',mp4:'video/mp4',webm:'video/webm',txt:'text/plain',vtt:'text/vtt',srt:'application/x-subrip',jpg:'image/jpeg',jpeg:'image/jpeg',png:'image/png',webp:'image/webp'}; + const contentType=types[ext];if(!contentType)throw new Error('نوع این فایل مجاز نیست.'); + const configuredMax=Number(cfg.maxUploadBytes)||262144000; + const categoryMax=['jpg','jpeg','png','webp'].includes(ext)?10485760:['txt','vtt','srt'].includes(ext)?5242880:['pdf','epub'].includes(ext)?104857600:['mp3','m4a','wav','ogg'].includes(ext)?157286400:262144000; + if(file.size>Math.min(configuredMax,categoryMax))throw new Error('حجم فایل برای این نوع بیشتر از حد مجاز است.'); + if(file.type&&file.type!==contentType&&!(['m4a','wav'].includes(ext)&&['audio/x-m4a','audio/x-wav'].includes(file.type)))throw new Error('پسوند و نوع واقعی فایل با هم سازگار نیستند.'); + return contentType; } async function uploadResourceFile(resourceId,file){ - const c=ensureClient();if(!c)throw new Error('Cloud Mode فعال نیست.');if(!user||!isStaff())throw new Error('فقط Admin/Editor اجازه Upload دارد.');validateUpload(file); - const rid=String(resourceId||'resource').replace(/[^a-zA-Z0-9_-]+/g,'-'),path=`resources/${rid}/${Date.now()}-${safeFileName(file.name)}`;setStatus('syncing'); - const q=await c.storage.from(BUCKET).upload(path,file,{upsert:false,cacheControl:'3600',contentType:file.type||undefined});if(q.error){setStatus('error',q.error.message);throw q.error}setStatus(pendingExists()?'dirty':'synced');return path; + const c=ensureClient();if(!c)throw new Error('Cloud Mode فعال نیست.');if(!user||!isStaff())throw new Error('این حساب اجازه بارگذاری فایل ندارد.');const contentType=validateUpload(file); + const rid=String(resourceId||'resource').replace(/[^a-zA-Z0-9_-]+/g,'-'),prefix=role==='author'?`authors/${user.id}`:'resources',path=`${prefix}/${rid}/${Date.now()}-${safeFileName(file.name)}`;setStatus('syncing'); + const q=await c.storage.from(BUCKET).upload(path,file,{upsert:false,cacheControl:'3600',contentType});if(q.error){setStatus('error',q.error.message);throw q.error}setStatus(pendingExists()?'dirty':'synced');return path; } - async function deleteStorageObject(path){const c=ensureClient();if(!c||!path)return;if(!isStaff())throw new Error('اجازه حذف فایل را نداری.');const q=await c.storage.from(BUCKET).remove([path]);if(q.error)throw q.error;signedCache.delete(path)} + async function deleteStorageObject(path){const c=ensureClient();if(!c||!path)return;if(!isStaff())throw new Error('اجازه حذف فایل را نداری.');if(role==='author'&&!String(path).startsWith(`authors/${user.id}/`))throw new Error('نویسنده فقط می‌تواند فایل‌های پوشه خودش را حذف کند.');const q=await c.storage.from(BUCKET).remove([path]);if(q.error)throw q.error;signedCache.delete(path)} async function signedUrl(path,expiresIn=900){ const c=ensureClient();if(!c||!path)return'';const now=Date.now(),cached=signedCache.get(path);if(cached&&cached.expiresAt>now+30000)return cached.url; const q=await c.storage.from(BUCKET).createSignedUrl(path,expiresIn);if(q.error)throw q.error;const url=q.data?.signedUrl||'';signedCache.set(path,{url,expiresAt:now+expiresIn*1000});return url; @@ -217,5 +232,5 @@ }); window.addEventListener('online',()=>{if(isStaff()&&pendingExists())retryPendingSync().catch(e=>setStatus('error',e?.message||String(e)))}); } - window.GLBackend={BUCKET,configured,demoAllowed,isCloudMode,currentUser,currentRole,isStaff,getClient:ensureClient,getStatus,hydrate,refreshAuth,requireStaff,signIn,signUp,signOut,scheduleContentSync,syncContentSnapshot,forceSync,retryPendingSync,uploadResourceFile,deleteStorageObject,resolveResourceUrl,signedUrl}; + window.GLBackend={BUCKET,configured,demoAllowed,isCloudMode,currentUser,currentRole,isStaff,getClient:ensureClient,getStatus,hydrate,refreshAuth,requireStaff,signIn,signUp,requestPasswordReset,updatePassword,signOut,scheduleContentSync,syncContentSnapshot,forceSync,retryPendingSync,uploadResourceFile,deleteStorageObject,resolveResourceUrl,signedUrl}; })(); diff --git a/assets/page-admin.js b/assets/page-admin.js index cb1a5a1..99be6be 100644 --- a/assets/page-admin.js +++ b/assets/page-admin.js @@ -2,7 +2,9 @@ GL.boot(async()=>{ const access=await GLBackend.requireStaff().catch(()=>({allowed:false,reason:'network'})),app=document.getElementById('adminApp'),accessSlot=document.getElementById('accessSlot'); if(!access.allowed){app.classList.add('hidden');accessSlot.innerHTML=`

دسترسی مدیریت لازم است

${access.reason==='login'?'ابتدا با حساب Admin یا Editor وارد شو.':access.reason==='network'?'بررسی دسترسی ممکن نشد؛ اتصال را بررسی و صفحه را تازه کن.':access.reason==='config'?'پنل مدیریت روی Hosting بدون Backend واقعی غیرفعال است. Supabase را تنظیم کن.':'این حساب دسترسی مدیریتی ندارد.'}

ورود مدیریت
`;return} app.hidden=false; - const authorOnly=access.role==='author'; + const authorOnly=access.role==='author',articleStudioLink=document.getElementById('articleStudioLink'); + articleStudioLink.textContent=authorOnly?'مقاله‌های من':'مدیریت و بررسی مقاله‌ها'; + if(!access.demo&&!authorOnly){GLBackend.getClient().from('articles').select('id',{count:'exact',head:true}).eq('status','in_review').then(({count,error})=>{if(!error&&count>0){articleStudioLink.textContent=`بررسی مقاله‌ها · ${count.toLocaleString('fa-IR')} در انتظار`;articleStudioLink.setAttribute('aria-label',`${count.toLocaleString('fa-IR')} مقاله در انتظار بررسی`)}}).catch(()=>{})} if(authorOnly){document.querySelectorAll('[data-tab]:not([data-tab="resources"])').forEach(el=>el.hidden=true);document.querySelectorAll('[data-quick]').forEach(el=>el.hidden=true);document.querySelector('.admin-tabs-wrap').hidden=true;document.querySelector('.admin-mobile-nav').hidden=true;document.querySelectorAll('#coursesPanel,#mediaPanel,#levelsPanel,#dataPanel,#overviewPanel').forEach(el=>el.classList.add('hidden'));document.getElementById('resourcesPanel').classList.remove('hidden');document.querySelector('#resourcesPanel .admin-tool-note').textContent='مدیریت منابع آموزشی و فایل‌های مرتبط با کتاب‌ها و رسانه‌ها؛ رکورد کتاب، سطح، نقش‌ها و تنظیمات سایت در این حساب قابل تغییر نیست.';document.querySelector('.admin-bulkbar').hidden=true;document.querySelector('.admin-page .admin-panel').insertAdjacentHTML('afterbegin','

حساب Author فقط به مدیریت منابع آموزشی و مقاله‌های خودش دسترسی دارد. رفتن به استودیوی مقالات

')} if(access.role==='admin'&&!access.demo){const box=document.getElementById('roleManagement');box?.classList.remove('hidden');const status=document.getElementById('roleActionStatus'),profileList=document.getElementById('roleUsersList');const loadProfiles=async()=>{profileList.innerHTML='

در حال بارگیری کاربران…

';const {data,error}=await GLBackend.getClient().from('profiles').select('id,role,display_name,created_at').order('created_at',{ascending:false}).limit(100);if(error){profileList.innerHTML=`

${GL.esc(error.message)}

`;return}profileList.innerHTML=`

کاربران ثبت‌شده

${data.map(p=>`
${GL.esc(p.display_name||'بدون نام نمایشی')}${GL.esc(p.id)}${GL.esc(p.role)}${['learner','author'].includes(p.role)?``:''}
`).join('')||'

کاربری ثبت نشده است.

'}`;profileList.querySelectorAll('[data-role-select]').forEach(b=>b.onclick=()=>{document.getElementById('roleUserId').value=b.dataset.roleSelect;document.getElementById('roleUserId').focus()})};const runRoleChange=async(makeAuthor)=>{const id=document.getElementById('roleUserId').value.trim();if(!/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(id)){status.textContent='شناسهٔ UUID معتبر وارد کن.';return}status.textContent='در حال بررسی دسترسی…';const {data,error}=await GLBackend.getClient().rpc('admin_set_author',{target_user_id:id,make_author:makeAuthor});status.textContent=error?`عملیات انجام نشد: ${error.message}`:(data?.message||'نقش با موفقیت تغییر کرد و ثبت شد.');if(!error){document.getElementById('roleUserId').value='';await loadProfiles()}};document.getElementById('assignAuthor').onclick=()=>runRoleChange(true);document.getElementById('revokeAuthor').onclick=()=>runRoleChange(false);loadProfiles()} if(access.role==='admin'&&!access.demo){const queue=document.getElementById('authorRequestsList'),loadRequests=async()=>{queue.innerHTML='

در حال بارگیری درخواست‌ها…

';const {data,error}=await GLBackend.getClient().from('author_requests').select('id,user_id,message,created_at').eq('status','pending').order('created_at',{ascending:true});if(error){queue.innerHTML=`

${GL.esc(error.message)}

`;return}if(!data?.length){queue.innerHTML='

درخواست در انتظار وجود ندارد.

';return}const ids=[...new Set(data.map(x=>x.user_id))],profiles=await GLBackend.getClient().from('profiles').select('id,display_name').in('id',ids);if(profiles.error){queue.innerHTML=`

${GL.esc(profiles.error.message)}

`;return}const names=new Map(profiles.data.map(x=>[x.id,x.display_name]));queue.innerHTML=data.map(x=>`
${GL.esc(names.get(x.user_id)||'بدون نام نمایشی')}${GL.esc(new Date(x.created_at).toLocaleString())}${GL.esc(x.message)}${GL.esc(x.user_id)}
`).join('');queue.querySelectorAll('[data-author-review]').forEach(button=>button.onclick=async()=>{const approved=button.dataset.authorReview==='approve',note=approved?'':prompt('دلیل رد درخواست (اختیاری):');if(note===null)return;if(approved&&!confirm('نقش Author برای این کاربر فعال شود؟'))return;button.disabled=true;const result=await GLBackend.getClient().rpc('admin_review_author_request',{request_id:button.dataset.requestId,approve:approved,response:note||''});if(result.error){button.disabled=false;GL.toast(result.error.message||'بررسی درخواست ناموفق بود.');return}GL.toast(result.data?.message||'درخواست بررسی شد.');await loadRequests()})};loadRequests()} @@ -11,11 +13,11 @@ GL.boot(async()=>{ const levelOptions=(s,allowEmpty=false)=>(allowEmpty?'':'')+GL.LEVELS.map(x=>``).join(''); const courseOptions=(collection,level,selected='')=>''+content.courses.filter(c=>c.status!=='archived'&&c.collection===collection&&(!level||c.level===level)).sort(GL.byOrder).map(c=>``).join(''); function save(msg,sync=true){content=GL.normalizeContent(content);GL.saveContent(content,{sync:sync&&!importPreview});GL.toast(msg);renderAll()} - function switchTab(name){document.querySelectorAll('[data-tab]').forEach(b=>{const active=b.dataset.tab===name;b.classList.toggle('active',active);if(b.matches('button'))b.setAttribute('aria-pressed',String(active))});document.querySelectorAll('.admin-tab').forEach(p=>p.classList.add('hidden'));$(name+'Panel').classList.remove('hidden');window.scrollTo({top:0,behavior:'smooth'})} + function switchTab(name){document.querySelectorAll('[data-tab]').forEach(b=>{const active=b.dataset.tab===name;b.classList.toggle('active',active);if(b.matches('[role="tab"]'))b.setAttribute('aria-selected',String(active));else if(b.matches('button'))b.setAttribute('aria-pressed',String(active))});document.querySelectorAll('.admin-tab').forEach(p=>p.classList.add('hidden'));$(name+'Panel').classList.remove('hidden');window.scrollTo({top:0,behavior:'smooth'})} document.querySelectorAll('[data-tab]').forEach(b=>b.addEventListener('click',()=>switchTab(b.dataset.tab)));$('roleSummary').textContent=access.demo?'حالت محلی پیش‌نمایش (Demo). تغییرات فقط در مرورگر ذخیره می‌شوند.':`نقش فعال: ${{admin:'Admin',editor:'Editor',author:'Author'}[access.role]||'Learner'}. اعتبارسنجی نهایی هر عملیات با RLS در Supabase انجام می‌شود.`; - function openEditor(title,html){returnFocus=document.activeElement;editorDirty=false;$('editorTitle').textContent=title;slot.innerHTML=html;backdrop.classList.remove('hidden');document.querySelector('main').inert=true;document.querySelector('header').inert=true;slot.querySelectorAll('.field').forEach((field,i)=>{const label=field.querySelector('label'),input=field.querySelector('input:not([type=hidden]),select,textarea');if(label&&input){input.id=input.id||`editor-field-${i}`;label.htmlFor=input.id}});document.body.style.overflow='hidden';setTimeout(()=>slot.querySelector('input:not([type=hidden]),select,textarea')?.focus(),0)} + function openEditor(title,html){returnFocus=document.activeElement;editorDirty=false;$('editorTitle').textContent=title;slot.innerHTML=html;backdrop.classList.remove('hidden');document.querySelector('main').inert=true;document.querySelector('header').inert=true;document.querySelector('.admin-mobile-nav').inert=true;slot.querySelectorAll('.field').forEach((field,i)=>{const label=field.querySelector('label'),input=field.querySelector('input:not([type=hidden]),select,textarea');if(label&&input){input.id=input.id||`editor-field-${i}`;label.htmlFor=input.id}});document.body.style.overflow='hidden';setTimeout(()=>slot.querySelector('input:not([type=hidden]),select,textarea')?.focus(),0)} slot.addEventListener('input',()=>{if(!backdrop.classList.contains('hidden'))editorDirty=true});slot.addEventListener('change',()=>{if(!backdrop.classList.contains('hidden'))editorDirty=true}); - function closeEditor(force=false){if(uploadBusy){GL.toast('ابتدا منتظر پایان بارگذاری بمان.');return}if(!force&&editorDirty&&!confirm('تغییرات ذخیره نشده‌اند. پنجره بسته شود؟'))return;editorDirty=false;backdrop.classList.add('hidden');slot.innerHTML='';document.body.style.overflow='';document.querySelector('main').inert=false;document.querySelector('header').inert=false;returnFocus?.focus()}$('editorClose').onclick=()=>closeEditor();backdrop.addEventListener('click',e=>{if(e.target===backdrop)closeEditor()});document.addEventListener('keydown',e=>{if(backdrop.classList.contains('hidden'))return;if(e.key==='Escape')closeEditor();if(e.key==='Tab'){const items=[...backdrop.querySelectorAll('button,input,select,textarea,summary,a[href]')].filter(x=>!x.disabled&&x.getClientRects().length);const first=items[0],last=items.at(-1);if(e.shiftKey&&document.activeElement===first){e.preventDefault();last.focus()}else if(!e.shiftKey&&document.activeElement===last){e.preventDefault();first.focus()}}}); + function closeEditor(force=false){if(uploadBusy){GL.toast('ابتدا منتظر پایان بارگذاری بمان.');return}if(!force&&editorDirty&&!confirm('تغییرات ذخیره نشده‌اند. پنجره بسته شود؟'))return;editorDirty=false;backdrop.classList.add('hidden');slot.innerHTML='';document.body.style.overflow='';document.querySelector('main').inert=false;document.querySelector('header').inert=false;document.querySelector('.admin-mobile-nav').inert=false;returnFocus?.focus()}$('editorClose').onclick=()=>closeEditor();backdrop.addEventListener('click',e=>{if(e.target===backdrop)closeEditor()});document.addEventListener('keydown',e=>{if(backdrop.classList.contains('hidden'))return;if(e.key==='Escape')closeEditor();if(e.key==='Tab'){const items=[...backdrop.querySelectorAll('button,input,select,textarea,summary,a[href]')].filter(x=>!x.disabled&&x.getClientRects().length);const first=items[0],last=items.at(-1);if(e.shiftKey&&document.activeElement===first){e.preventDefault();last.focus()}else if(!e.shiftKey&&document.activeElement===last){e.preventDefault();first.focus()}}}); function renderOverview(){const v=GL.validateContent(content),published=content.resources.filter(r=>r.status==='published').length,drafts=content.resources.filter(r=>r.status==='draft').length,special=content.courses.filter(c=>c.collection==='special'&&c.status!=='archived').length,missing=content.resources.filter(r=>r.status==='published'&&!r.storagePath&&!GL.safeExternalUrl(r.url)).length;$('stats').innerHTML=`
${content.courses.filter(c=>c.status!=='archived').length}کتاب فعال
${special}Special
${published}Published
${drafts}Draft
`;const items=[...v.errors.map(x=>['خطا',x,'broken']),...v.warnings.map(x=>['هشدار',x,''])];if(missing)items.unshift(['هشدار',`${missing} منبع Published بدون دسترسی وجود دارد.`,'']);$('health').innerHTML=items.length?items.slice(0,30).map(([a,b,cls])=>`
${GL.esc(b)}${a}
`).join(''):'
مشکل ساختاری مهمی پیدا نشد.OK
'} diff --git a/assets/page-reset-password.js b/assets/page-reset-password.js new file mode 100644 index 0000000..d9f5883 --- /dev/null +++ b/assets/page-reset-password.js @@ -0,0 +1,7 @@ +GL.boot(()=>{ + const requestForm=document.getElementById('resetRequestForm'),passwordForm=document.getElementById('newPasswordForm'),message=document.getElementById('resetMessage'); + const recoveryLink=location.hash.includes('type=recovery')||new URLSearchParams(location.search).has('code'); + if(recoveryLink){requestForm.classList.add('hidden');passwordForm.classList.remove('hidden')} + requestForm.onsubmit=async event=>{event.preventDefault();const button=requestForm.querySelector('button');button.disabled=true;message.textContent='در حال ارسال…';try{if(!GLBackend.configured())throw Error('بازیابی آنلاین به اتصال Supabase نیاز دارد.');const redirectTo=new URL('reset-password.html',location.href).href.split(/[?#]/)[0];await GLBackend.requestPasswordReset(requestForm.email.value,redirectTo);message.textContent='اگر این حساب وجود داشته باشد، ایمیل بازیابی ارسال شد.';requestForm.reset()}catch(error){message.textContent=error.message||'ارسال لینک انجام نشد.'}finally{button.disabled=false}}; + passwordForm.onsubmit=async event=>{event.preventDefault();const password=passwordForm.password.value,button=passwordForm.querySelector('button');if(password!==passwordForm.confirmPassword.value){message.textContent='دو رمز عبور یکسان نیستند.';return}button.disabled=true;message.textContent='در حال ذخیره…';try{await GLBackend.updatePassword(password);message.innerHTML='رمز عبور تغییر کرد. اکنون وارد شو.';passwordForm.reset();passwordForm.querySelectorAll('input,button').forEach(x=>x.disabled=true)}catch(error){message.textContent=error.message||'تغییر رمز انجام نشد؛ لینک ممکن است منقضی شده باشد.'}finally{if(!passwordForm.querySelector('input').disabled)button.disabled=false}}; +}); diff --git a/assets/site-ui.js b/assets/site-ui.js index f913bfb..075e3ea 100644 --- a/assets/site-ui.js +++ b/assets/site-ui.js @@ -10,6 +10,8 @@ special:'', dashboard:'', tools:'', + search:'', + user:'', sun:'', moon:'' }; @@ -19,14 +21,29 @@ applyTheme(stored==='dark'?'dark':'light'); document.querySelectorAll('.header-actions').forEach(box=>{if(box.querySelector('[data-theme-toggle]'))return;const b=document.createElement('button');b.type='button';b.className='icon-btn theme-toggle';b.dataset.themeToggle='';box.prepend(b);b.addEventListener('click',()=>applyTheme(document.documentElement.dataset.theme==='dark'?'light':'dark'))}); applyTheme(document.documentElement.dataset.theme); - const navItems=[['levels.html','levels','سطح'],['media.html','media','مکمل'],['index.html','home','خانه'],['books.html','library','کتابخانه']]; + const navItems=[['index.html','home','خانه'],['levels.html','levels','سطوح'],['books.html','library','کتابخانه'],['media.html','media','رسانه'],['articles','articles','مقالات']]; const current=location.pathname.split('/').pop()||'index.html'; - const activeKey=['levels.html','level.html','resources.html','resource.html'].includes(current)?'levels':current==='media.html'?'media':current==='books.html'||current==='course.html'?'library':current==='articles'||current==='article.html'||current==='article-studio.html'||current==='article-preview.html'||location.pathname.startsWith('/articles/')?'media':'home'; + const workspacePages=new Set(['admin.html','article-studio.html','article-preview.html','login.html','signup.html','author-request.html']); + const isWorkspace=workspacePages.has(current); + const activeKey=['levels.html','level.html','resources.html','resource.html','roadmap.html'].includes(current)?'levels':current==='media.html'?'media':current==='books.html'||current==='course.html'||current==='special.html'?'library':current==='articles'||current==='article.html'||location.pathname.startsWith('/articles')?'articles':'home'; + if(!isWorkspace){ + document.body.classList.add('public-page'); + document.querySelectorAll('.header-actions').forEach(box=>{ + let search=box.querySelector('a[href^="resources.html"]'); + if(!search){search=document.createElement('a');search.href='resources.html';search.className='icon-btn public-search-link';box.insertBefore(search,box.querySelector('.mobile-menu')||null)} + search.innerHTML=svg('search');search.setAttribute('aria-label','جست‌وجوی منابع');search.title='جست‌وجوی منابع'; + if(!box.querySelector('[data-account-link]')){const account=document.createElement('a');account.className='icon-btn public-account-link';account.dataset.accountLink='';account.innerHTML=svg('user');box.insertBefore(account,box.querySelector('.mobile-menu')||null)} + }); + const updateAccount=()=>{const role=window.GLBackend?.currentRole?.()||'guest',staff=['admin','editor','author'].includes(role);document.querySelectorAll('[data-account-link]').forEach(a=>{a.href=staff?(role==='author'?'article-studio.html':'admin.html'):'login.html';a.setAttribute('aria-label',staff?'ورود به فضای کاری':'ورود به حساب');a.title=a.getAttribute('aria-label')})}; + updateAccount();document.addEventListener('gl:auth-changed',updateAccount); + if(window.visualViewport){const syncKeyboard=()=>document.body.classList.toggle('keyboard-open',window.visualViewport.height{ + nav.classList.add('floating-glass-nav'); nav.innerHTML=navItems.map(([href,icon,label])=>`${svg(icon)}${label}`).join(''); }); document.querySelectorAll('.desktop-nav').forEach(nav=>{if(nav.closest('.admin-page'))return;nav.innerHTML=navItems.map(([href,icon,label])=>`${label}`).join('')}); - document.querySelectorAll('.mobile-menu-panel').forEach(nav=>{nav.innerHTML=navItems.map(([href,,label])=>`${label}`).join('')+'منتخب‌های ویژه'}); + document.querySelectorAll('.mobile-menu-panel').forEach(nav=>{nav.innerHTML=navItems.map(([href,icon,label])=>`${label}`).join('')+'منتخب‌های ویژه'}); // Public identity links are deliberately explicit; unspecified social accounts are not invented. document.querySelectorAll('footer.footer').forEach(footer=>{ footer.innerHTML=``; diff --git a/assets/styles.css b/assets/styles.css index 25df8c3..ccc2b39 100644 --- a/assets/styles.css +++ b/assets/styles.css @@ -283,9 +283,6 @@ html[data-theme="dark"] .eyebrow-dot{background:#e0ab79} .editor-media-dialog .dialog-buttons .soft-btn:first-child{margin-inline-end:auto} @media(max-width:899px){.editor-media-dialog{max-height:calc(100dvh - 24px);overflow-y:auto}.rich-toolbar{background:var(--bg);scroll-padding-inline:12px}} -/* V7.5 IA: four learner destinations; Admin retains its five workspace tools. */ -.mobile-bottom-nav:not(.admin-mobile-nav){grid-template-columns:repeat(4,minmax(0,1fr))} - .extras-articles-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;flex-wrap:wrap} .extras-articles-panel h2{margin:4px 0 8px}.extras-articles-panel p{margin:0;color:var(--text-soft)} .extras-articles-panel .soft-btn{white-space:nowrap} @@ -294,3 +291,48 @@ html[data-theme="dark"] .eyebrow-dot{background:#e0ab79} /* Prevent long mobile-friendly toolbars from expanding the desktop grid track. */ .article-editor-layout,.article-editor-main,.article-editor-side,.editor-card{min-width:0} .rich-toolbar{max-width:100%;width:100%} + +/* v3.3 Mobile Glass — scoped to navigation, never content surfaces. */ +@media(max-width:899px){ + body{padding-bottom:calc(102px + env(safe-area-inset-bottom))} + .mobile-bottom-nav{position:fixed;inset-inline:12px;bottom:calc(12px + env(safe-area-inset-bottom));left:12px;right:12px;z-index:80;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:6px;border-radius:24px; + background:rgba(244,249,247,.84);border:1px solid rgba(255,255,255,.72);box-shadow:0 12px 36px rgba(10,39,42,.2);-webkit-backdrop-filter:blur(20px) saturate(135%);backdrop-filter:blur(20px) saturate(135%);direction:ltr} + html[data-theme="dark"] .mobile-bottom-nav{background:rgba(24,43,49,.86);border-color:rgba(200,239,225,.17)} + .mobile-bottom-nav a,.admin-mobile-nav button{min-width:0;min-height:56px;display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;border-radius:17px;padding:5px 1px;color:var(--text-soft);font-size:10px;font-weight:750;line-height:1.4;text-decoration:none} + .mobile-bottom-nav a.active,.admin-mobile-nav button.active{background:var(--accent-soft);color:var(--accent-strong);border-color:transparent;border-bottom:0;box-shadow:none} + .mobile-bottom-nav a svg{height:21px;width:21px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round} + .mobile-bottom-nav a:focus-visible,.admin-mobile-nav button:focus-visible{outline:3px solid var(--accent-strong);outline-offset:1px} + .admin-mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr))} + .admin-page{padding-bottom:calc(110px + env(safe-area-inset-bottom))} + body:has(.article-body-editor:focus) .mobile-bottom-nav{display:none} + body:has(.article-body-editor:focus) .footer{display:none} + body.public-page.keyboard-open .mobile-bottom-nav{display:none} + .public-page .header-actions{gap:4px;flex:none} + .public-page .header-actions .icon-btn,.public-page .header-actions .menu-btn{width:42px;height:42px;min-width:42px} + .public-page .header-actions .icon-btn svg{width:20px;height:20px} + .public-page .mobile-menu-panel a.active{color:var(--accent-strong);background:var(--accent-soft)} +} +@media(max-width:400px){.public-page .brand-subtitle{display:none}.public-page .brand-title{font-size:13px}.public-page .header-actions .icon-btn,.public-page .header-actions .menu-btn{width:40px;height:40px;min-width:40px}} +@media(max-width:360px){.mobile-bottom-nav{inset-inline:6px;left:6px;right:6px;gap:0}.mobile-bottom-nav a,.admin-mobile-nav button{font-size:9px}.public-page .brand-copy{display:none}} +@media(prefers-reduced-transparency:reduce){.mobile-bottom-nav{background:var(--surface)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}} +@media(prefers-reduced-motion:reduce){.mobile-bottom-nav,.mobile-bottom-nav *{transition:none!important}} + +/* v3.3 Author Studio: list navigation and a keyboard-aware editing focus mode. */ +.studio-mobile-nav{display:none} +@media(max-width:899px){ + .studio-mobile-nav{position:fixed;z-index:82;inset-inline:16px;bottom:calc(12px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:7px;border:1px solid rgba(255,255,255,.7);border-radius:22px;background:rgba(244,249,247,.9);box-shadow:0 12px 36px rgba(10,39,42,.2);-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%)} + html[data-theme="dark"] .studio-mobile-nav{background:rgba(24,43,49,.92);border-color:rgba(200,239,225,.17)} + .studio-mobile-nav button,.studio-mobile-nav a{min-height:56px;border:0;border-radius:16px;background:transparent;color:var(--text-soft);font:inherit;font-size:10px;font-weight:750;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer} + .studio-mobile-nav button[data-studio-new]{background:var(--accent-soft);color:var(--accent-strong)} + .studio-mobile-nav span{font-size:20px;line-height:1} + .studio-mobile-nav :focus-visible{outline:3px solid var(--accent-strong);outline-offset:1px} + body.studio-editor-open{padding-bottom:calc(132px + env(safe-area-inset-bottom))} + body.studio-editor-open .topbar,body.studio-editor-open .studio-heading,body.studio-editor-open .footer{display:none} + body.studio-editor-open .article-studio{padding-top:8px} + body.studio-editor-open .studio-top-actions{position:fixed;z-index:90;inset-inline:12px;bottom:calc(8px + env(safe-area-inset-bottom) + var(--studio-keyboard-inset,0px));margin:0;background:var(--surface);box-shadow:0 10px 34px rgba(10,39,42,.24)} + body.studio-editor-open .studio-top-actions #revisionHistory{display:none} + body.studio-editor-open .studio-top-actions #saveState{min-width:100%;order:9} + body.studio-keyboard-open .studio-mode-tabs{position:static} + body.studio-keyboard-open .rich-toolbar{top:0} +} +@media(prefers-reduced-transparency:reduce){.studio-mobile-nav{background:var(--surface)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}} diff --git a/assets/vendor/supabase-js-2.117.2.js b/assets/vendor/supabase-js-2.117.2.js new file mode 100644 index 0000000..b51e7b9 --- /dev/null +++ b/assets/vendor/supabase-js-2.117.2.js @@ -0,0 +1,11 @@ +var supabase=(function(e){function t(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);ie?(...t)=>e(...t):(...e)=>fetch(...e);var i=class extends Error{constructor(e,t=`FunctionsError`,n){super(e),this.name=t,this.context=n}toJSON(){return{name:this.name,message:this.message,context:this.context}}},a=class extends i{constructor(e){super(`Failed to send a request to the Edge Function`,`FunctionsFetchError`,e)}},o=class extends i{constructor(e){super(`Relay Error invoking the Edge Function`,`FunctionsRelayError`,e)}},s=class extends i{constructor(e){super(`Edge Function returned a non-2xx status code`,`FunctionsHttpError`,e)}},c;(function(e){e.Any=`any`,e.ApNortheast1=`ap-northeast-1`,e.ApNortheast2=`ap-northeast-2`,e.ApSouth1=`ap-south-1`,e.ApSoutheast1=`ap-southeast-1`,e.ApSoutheast2=`ap-southeast-2`,e.CaCentral1=`ca-central-1`,e.EuCentral1=`eu-central-1`,e.EuWest1=`eu-west-1`,e.EuWest2=`eu-west-2`,e.EuWest3=`eu-west-3`,e.SaEast1=`sa-east-1`,e.UsEast1=`us-east-1`,e.UsWest1=`us-west-1`,e.UsWest2=`us-west-2`})(c||={});var l=class{constructor(e,{headers:t={},customFetch:n,region:i=c.Any}={}){this.url=e,this.headers=t,this.region=i,this.fetch=r(n)}setAuth(e){this.headers.Authorization=`Bearer ${e}`}invoke(e){return n(this,arguments,void 0,function*(e,t={}){var n;let r,i,c;try{let{headers:n,method:l,body:u,signal:d,timeout:f}=t,p={},{region:m}=t;m||=this.region;let h=new URL(`${this.url}/${e}`);m&&m!==`any`&&(p[`x-region`]=m,h.searchParams.set(`forceFunctionRegion`,m));let g,ee=!!n&&Object.keys(n).some(e=>e.toLowerCase()===`content-type`);u&&!ee?typeof Blob<`u`&&u instanceof Blob||u instanceof ArrayBuffer?(p[`Content-Type`]=`application/octet-stream`,g=u):typeof u==`string`?(p[`Content-Type`]=`text/plain`,g=u):typeof FormData<`u`&&u instanceof FormData?g=u:(p[`Content-Type`]=`application/json`,g=JSON.stringify(u)):g=u&&typeof u!=`string`&&!(typeof Blob<`u`&&u instanceof Blob)&&!(u instanceof ArrayBuffer)&&!(typeof FormData<`u`&&u instanceof FormData)?JSON.stringify(u):u;let te=d;f&&(i=new AbortController,r=setTimeout(()=>i.abort(),f),d?(te=i.signal,c=()=>i.abort(),d.addEventListener(`abort`,c)):te=i.signal);let _=yield this.fetch(h.toString(),{method:l||`POST`,headers:Object.assign(Object.assign(Object.assign({},p),this.headers),n),body:g,signal:te}).catch(e=>{throw new a(e)}),ne=_.headers.get(`x-relay-error`);if(ne&&ne===`true`)throw new o(_);if(!_.ok)throw new s(_);let re=(_.headers.get(`Content-Type`)??`text/plain`).split(`;`)[0].trim().toLowerCase(),ie;return ie=re===`application/json`?yield _.json():re===`application/octet-stream`||re===`application/pdf`?yield _.blob():re===`text/event-stream`?_:re===`multipart/form-data`?yield _.formData():yield _.text(),{data:ie,error:null,response:_}}catch(e){return{data:null,error:e,response:e instanceof s||e instanceof o?e.context:void 0}}finally{r&&clearTimeout(r),c&&((n=t.signal)==null||n.removeEventListener(`abort`,c))}})}},u=class extends Error{constructor(e){super(e.message),this.name=`PostgrestError`,this.details=e.details,this.hint=e.hint,this.code=e.code}toJSON(){return{name:this.name,message:this.message,details:this.details,hint:this.hint,code:this.code}}};let d=e=>Math.min(1e3*2**e,3e4),f=[520,503],p=[`GET`,`HEAD`,`OPTIONS`];function m(e){"@babel/helpers - typeof";return m=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},m(e)}function h(e,t){if(m(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(m(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function g(e){var t=h(e,`string`);return m(t)==`symbol`?t:t+``}function ee(e,t,n){return(t=g(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function te(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _(e){for(var t=1;t{if(t?.aborted){n();return}let r=setTimeout(()=>{t?.removeEventListener(`abort`,i),n()},e);function i(){clearTimeout(r),n()}t?.addEventListener(`abort`,i)})}function re(e,t,n,r){return!(!r||n>=3||!p.includes(e)||!f.includes(t))}async function ie(e,t,n,r){let i=0;for(;;){let a=_({},n.headers);i>0&&(a[`X-Retry-Count`]=String(i));let o;try{o=await e(t,{method:n.method,headers:a,body:n.body,signal:n.signal})}catch(e){if(e?.name===`AbortError`||e?.code===`ABORT_ERR`||!p.includes(n.method))throw e;if(r&&i<3){let e=d(i);i++,await ne(e,n.signal);continue}throw e}if(re(n.method,o.status,i,r)){let e=o.headers?.get(`Retry-After`)??null,t=e===null?d(i):Math.max(0,parseInt(e,10)||0)*1e3;await o.text(),i++,await ne(t,n.signal);continue}return o}}var ae=class{constructor(e){this.shouldThrowOnError=!1,this.retryEnabled=!0,this.method=e.method,this.url=e.url,this.headers=new Headers(e.headers),this.schema=e.schema,this.body=e.body,this.shouldThrowOnError=e.shouldThrowOnError??!1,this.signal=e.signal,this.isMaybeSingle=e.isMaybeSingle??!1,this.shouldStripNulls=e.shouldStripNulls??!1,this.urlLengthLimit=e.urlLengthLimit??8e3,this.retryEnabled=e.retry??!0,e.fetch?this.fetch=e.fetch:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}stripNulls(){if(this.headers.get(`Accept`)===`text/csv`)throw Error(`stripNulls() cannot be used with csv()`);return this.shouldStripNulls=!0,this}setHeader(e,t){return this.headers=new Headers(this.headers),this.headers.set(e,t),this}retry(e){return this.retryEnabled=e,this}then(e,t){var n=this;if(this.schema===void 0||([`GET`,`HEAD`].includes(this.method)?this.headers.set(`Accept-Profile`,this.schema):this.headers.set(`Content-Profile`,this.schema)),this.method!==`GET`&&this.method!==`HEAD`&&this.headers.set(`Content-Type`,`application/json`),this.shouldStripNulls){let e=this.headers.get(`Accept`);e===`application/vnd.pgrst.object+json`?this.headers.set(`Accept`,`application/vnd.pgrst.object+json;nulls=stripped`):(!e||e===`application/json`)&&this.headers.set(`Accept`,`application/vnd.pgrst.array+json;nulls=stripped`)}let r=this.fetch,i=(async()=>{let e={};n.headers.forEach((t,n)=>{e[n]=t});let t=await ie(r,n.url.toString(),{method:n.method,headers:e,body:JSON.stringify(n.body,(e,t)=>typeof t==`bigint`?t.toString():t),signal:n.signal},n.retryEnabled);return await n.processResponse(t)})();return this.shouldThrowOnError||(i=i.catch(e=>{let t=``,n=``,r=``,i=e?.cause;if(i){let n=i?.message??``,r=i?.code??``;t=`${e?.name??`FetchError`}: ${e?.message}`,t+=`\n\nCaused by: ${i?.name??`Error`}: ${n}`,r&&(t+=` (${r})`),i?.stack&&(t+=`\n${i.stack}`)}else t=e?.stack??``;let a=this.url.toString().length;return e?.name===`AbortError`||e?.code===`ABORT_ERR`?(r=``,n=`Request was aborted (timeout or manual cancellation)`,a>this.urlLengthLimit&&(n+=`. Note: Your request URL is ${a} characters, which may exceed server limits. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [many IDs])), consider using an RPC function to pass values server-side.`)):(i?.name===`HeadersOverflowError`||i?.code===`UND_ERR_HEADERS_OVERFLOW`)&&(r=``,n=`HTTP headers exceeded server limits (typically 16KB)`,a>this.urlLengthLimit&&(n+=`. Your request URL is ${a} characters. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [200+ IDs])), consider using an RPC function instead.`)),{success:!1,error:{message:`${e?.name??`FetchError`}: ${e?.message}`,details:t,hint:n,code:r},data:null,count:null,status:0,statusText:``}})),i.then(e,t)}async processResponse(e){var t=this;let n=null,r=null,i=null,a=e.status,o=e.statusText;if(e.ok){if(t.method!==`HEAD`){let i=await e.text();if(i!==``)if(t.headers.get(`Accept`)===`text/csv`)r=i;else if(t.headers.get(`Accept`)&&t.headers.get(`Accept`)?.includes(`application/vnd.pgrst.plan+text`))r=i;else try{r=JSON.parse(i)}catch{if(n={message:i},r=null,t.shouldThrowOnError)throw new u({message:i,details:``,hint:``,code:``})}}let s=t.headers.get(`Prefer`)?.match(/count=(exact|planned|estimated)/),c=e.headers.get(`content-range`)?.split(`/`);if(s&&c&&c.length>1&&(i=parseInt(c[1])),t.isMaybeSingle&&Array.isArray(r))if(r.length>1){if(n={code:`PGRST116`,details:`Results contain ${r.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:`JSON object requested, multiple (or no) rows returned`},r=null,i=null,a=406,o=`Not Acceptable`,t.shouldThrowOnError)throw new u(_(_({},n),{},{hint:n.hint??``}))}else r=r.length===1?r[0]:null}else{let i=await e.text();try{n=JSON.parse(i),Array.isArray(n)&&e.status===404&&(r=[],n=null,a=200,o=`OK`)}catch{e.status===404&&i===``?(a=204,o=`No Content`):n={message:i}}if(n&&t.shouldThrowOnError)throw new u(n)}return{success:n===null,error:n,data:r,count:i,status:a,statusText:o}}returns(){return this}overrideTypes(){return this}},oe=class extends ae{throwOnError(){return super.throwOnError()}select(e){let t=!1,n=(e??`*`).split(``).map(e=>/\s/.test(e)&&!t?``:(e===`"`&&(t=!t),e)).join(``);return this.url.searchParams.set(`select`,n),this.headers.append(`Prefer`,`return=representation`),this}order(e,{ascending:t=!0,nullsFirst:n,foreignTable:r,referencedTable:i=r}={}){let a=i?`${i}.order`:`order`,o=this.url.searchParams.get(a);return this.url.searchParams.set(a,`${o?`${o},`:``}${e}.${t?`asc`:`desc`}${n===void 0?``:n?`.nullsfirst`:`.nullslast`}`),this}limit(e,{foreignTable:t,referencedTable:n=t}={}){let r=n===void 0?`limit`:`${n}.limit`;return this.url.searchParams.set(r,`${e}`),this}range(e,t,{foreignTable:n,referencedTable:r=n}={}){let i=r===void 0?`offset`:`${r}.offset`,a=r===void 0?`limit`:`${r}.limit`;return this.url.searchParams.set(i,`${e}`),this.url.searchParams.set(a,`${t-e+1}`),this}abortSignal(e){return this.signal=e,this}single(){return this.headers.set(`Accept`,`application/vnd.pgrst.object+json`),this}maybeSingle(){return this.isMaybeSingle=!0,this}csv(){return this.headers.set(`Accept`,`text/csv`),this}geojson(){return this.headers.set(`Accept`,`application/geo+json`),this}explain({analyze:e=!1,verbose:t=!1,settings:n=!1,buffers:r=!1,wal:i=!1,format:a=`text`}={}){let o=[e?`analyze`:null,t?`verbose`:null,n?`settings`:null,r?`buffers`:null,i?`wal`:null].filter(Boolean).join(`|`),s=this.headers.get(`Accept`)??`application/json`;return this.headers.set(`Accept`,`application/vnd.pgrst.plan+${a}; for="${s}"; options=${o};`),this}rollback(){return this.headers.append(`Prefer`,`tx=rollback`),this}returns(){return this}maxAffected(e){return this.headers.append(`Prefer`,`handling=strict`),this.headers.append(`Prefer`,`max-affected=${e}`),this}};let se=RegExp(`[,()]`);var ce=class extends oe{throwOnError(){return super.throwOnError()}eq(e,t){return this.url.searchParams.append(e,`eq.${t}`),this}neq(e,t){return this.url.searchParams.append(e,`neq.${t}`),this}gt(e,t){return this.url.searchParams.append(e,`gt.${t}`),this}gte(e,t){return this.url.searchParams.append(e,`gte.${t}`),this}lt(e,t){return this.url.searchParams.append(e,`lt.${t}`),this}lte(e,t){return this.url.searchParams.append(e,`lte.${t}`),this}like(e,t){return this.url.searchParams.append(e,`like.${t}`),this}likeAllOf(e,t){return this.url.searchParams.append(e,`like(all).{${t.join(`,`)}}`),this}likeAnyOf(e,t){return this.url.searchParams.append(e,`like(any).{${t.join(`,`)}}`),this}ilike(e,t){return this.url.searchParams.append(e,`ilike.${t}`),this}ilikeAllOf(e,t){return this.url.searchParams.append(e,`ilike(all).{${t.join(`,`)}}`),this}ilikeAnyOf(e,t){return this.url.searchParams.append(e,`ilike(any).{${t.join(`,`)}}`),this}regexMatch(e,t){return this.url.searchParams.append(e,`match.${t}`),this}regexIMatch(e,t){return this.url.searchParams.append(e,`imatch.${t}`),this}is(e,t){return this.url.searchParams.append(e,`is.${t}`),this}isDistinct(e,t){return this.url.searchParams.append(e,`isdistinct.${t}`),this}in(e,t){let n=Array.from(new Set(t)).map(e=>typeof e==`string`&&se.test(e)?`"${e}"`:`${e}`).join(`,`);return this.url.searchParams.append(e,`in.(${n})`),this}notIn(e,t){let n=Array.from(new Set(t)).map(e=>typeof e==`string`&&se.test(e)?`"${e}"`:`${e}`).join(`,`);return this.url.searchParams.append(e,`not.in.(${n})`),this}contains(e,t){return typeof t==`string`?this.url.searchParams.append(e,`cs.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cs.{${t.join(`,`)}}`):this.url.searchParams.append(e,`cs.${JSON.stringify(t)}`),this}containedBy(e,t){return typeof t==`string`?this.url.searchParams.append(e,`cd.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cd.{${t.join(`,`)}}`):this.url.searchParams.append(e,`cd.${JSON.stringify(t)}`),this}rangeGt(e,t){return this.url.searchParams.append(e,`sr.${t}`),this}rangeGte(e,t){return this.url.searchParams.append(e,`nxl.${t}`),this}rangeLt(e,t){return this.url.searchParams.append(e,`sl.${t}`),this}rangeLte(e,t){return this.url.searchParams.append(e,`nxr.${t}`),this}rangeAdjacent(e,t){return this.url.searchParams.append(e,`adj.${t}`),this}overlaps(e,t){return typeof t==`string`?this.url.searchParams.append(e,`ov.${t}`):this.url.searchParams.append(e,`ov.{${t.join(`,`)}}`),this}textSearch(e,t,{config:n,type:r}={}){let i=``;r===`plain`?i=`pl`:r===`phrase`?i=`ph`:r===`websearch`&&(i=`w`);let a=n===void 0?``:`(${n})`;return this.url.searchParams.append(e,`${i}fts${a}.${t}`),this}match(e){return Object.entries(e).filter(([e,t])=>t!==void 0).forEach(([e,t])=>{this.url.searchParams.append(e,`eq.${t}`)}),this}not(e,t,n){return this.url.searchParams.append(e,`not.${t}.${n}`),this}or(e,{foreignTable:t,referencedTable:n=t}={}){let r=n?`${n}.or`:`or`;return this.url.searchParams.append(r,`(${e})`),this}filter(e,t,n){return this.url.searchParams.append(e,`${t}.${n}`),this}},le=class{constructor(e,{headers:t={},schema:n,fetch:r,urlLengthLimit:i=8e3,retry:a}){this.url=e,this.headers=new Headers(t),this.schema=n,this.fetch=r,this.urlLengthLimit=i,this.retry=a}cloneRequestState(){return{url:new URL(this.url.toString()),headers:new Headers(this.headers)}}select(e,t){let{head:n=!1,count:r}=t??{},i=n?`HEAD`:`GET`,a=!1,o=(e??`*`).split(``).map(e=>/\s/.test(e)&&!a?``:(e===`"`&&(a=!a),e)).join(``),{url:s,headers:c}=this.cloneRequestState();return s.searchParams.set(`select`,o),r&&c.append(`Prefer`,`count=${r}`),new ce({method:i,url:s,headers:c,schema:this.schema,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}insert(e,{count:t,defaultToNull:n=!0}={}){let{url:r,headers:i}=this.cloneRequestState();if(t&&i.append(`Prefer`,`count=${t}`),n||i.append(`Prefer`,`missing=default`),Array.isArray(e)){let t=e.reduce((e,t)=>e.concat(Object.keys(t)),[]);if(t.length>0){let e=[...new Set(t)].map(e=>`"${e}"`);r.searchParams.set(`columns`,e.join(`,`))}}return new ce({method:`POST`,url:r,headers:i,schema:this.schema,body:e,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}upsert(e,{onConflict:t,ignoreDuplicates:n=!1,count:r,defaultToNull:i=!0}={}){let{url:a,headers:o}=this.cloneRequestState();if(o.append(`Prefer`,`resolution=${n?`ignore`:`merge`}-duplicates`),t!==void 0&&a.searchParams.set(`on_conflict`,t),r&&o.append(`Prefer`,`count=${r}`),i||o.append(`Prefer`,`missing=default`),Array.isArray(e)){let t=e.reduce((e,t)=>e.concat(Object.keys(t)),[]);if(t.length>0){let e=[...new Set(t)].map(e=>`"${e}"`);a.searchParams.set(`columns`,e.join(`,`))}}return new ce({method:`POST`,url:a,headers:o,schema:this.schema,body:e,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}update(e,{count:t}={}){let{url:n,headers:r}=this.cloneRequestState();return t&&r.append(`Prefer`,`count=${t}`),new ce({method:`PATCH`,url:n,headers:r,schema:this.schema,body:e,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}delete({count:e}={}){let{url:t,headers:n}=this.cloneRequestState();return e&&n.append(`Prefer`,`count=${e}`),new ce({method:`DELETE`,url:t,headers:n,schema:this.schema,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};function ue(e,t){try{let t=JSON.parse(e);if(t&&typeof t==`object`&&!Array.isArray(t))return new u({message:String(t.message??e),details:t.details??``,hint:t.hint??``,code:t.code??``})}catch{}return new u({message:e||t,details:``,hint:``,code:``})}function de(e,t,n){let r=e;return{success:!1,error:new u({message:`${r?.name??`FetchError`}: ${r?.message}`,details:``,hint:``,code:``}),data:null,count:null,status:t,statusText:n}}var fe=class e{constructor(e,{headers:t={},schema:n,fetch:r,timeout:i,urlLengthLimit:a=8e3,retry:o}={}){this.url=e,this.headers=new Headers(t),this.schemaName=n,this.urlLengthLimit=a;let s=r??globalThis.fetch;i!==void 0&&i>0?this.fetch=(e,t)=>{let n=new AbortController,r=setTimeout(()=>n.abort(),i),a=t?.signal;if(a){if(a.aborted)return clearTimeout(r),s(e,t);let i=()=>{clearTimeout(r),n.abort()};return a.addEventListener(`abort`,i,{once:!0}),s(e,_(_({},t),{},{signal:n.signal})).finally(()=>{clearTimeout(r),a.removeEventListener(`abort`,i)})}return s(e,_(_({},t),{},{signal:n.signal})).finally(()=>clearTimeout(r))}:this.fetch=s,this.retry=o}from(e){if(!e||typeof e!=`string`||e.trim()===``)throw Error(`Invalid relation name: relation must be a non-empty string.`);return new le(new URL(`${this.url}/${e}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}schema(t){return new e(this.url,{headers:this.headers,schema:t,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}async getOpenApiSpec(){var e=this;let t=new Headers(e.headers);t.set(`Accept`,`application/openapi+json`),e.schemaName&&t.set(`Accept-Profile`,e.schemaName);let n={};t.forEach((e,t)=>{n[t]=e});let r=e.fetch??globalThis.fetch,i;try{i=await ie(r,`${e.url}/`,{method:`GET`,headers:n},e.retry??!0)}catch(e){return de(e,0,``)}let a;try{a=await i.text()}catch(e){return de(e,i.status,i.statusText)}if(i.ok)try{return{success:!0,error:null,data:JSON.parse(a),count:null,status:i.status,statusText:i.statusText}}catch{}return{success:!1,error:ue(a,i.statusText),data:null,count:null,status:i.status,statusText:i.statusText}}rpc(e,t={},{head:n=!1,get:r=!1,count:i}={}){let a,o=new URL(`${this.url}/rpc/${e}`),s,c=e=>typeof e==`object`&&!!e&&(!Array.isArray(e)||e.some(c)),l=n&&Object.values(t).some(c);l?(a=`POST`,s=t):n||r?(a=n?`HEAD`:`GET`,Object.entries(t).filter(([e,t])=>t!==void 0).map(([e,t])=>[e,Array.isArray(t)?`{${t.join(`,`)}}`:`${t}`]).forEach(([e,t])=>{o.searchParams.append(e,t)})):(a=`POST`,s=t);let u=new Headers(this.headers);return l?u.set(`Prefer`,i?`count=${i},return=minimal`:`return=minimal`):i&&u.set(`Prefer`,`count=${i}`),new ce({method:a,url:o,headers:u,schema:this.schemaName,body:s,fetch:this.fetch??fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}},pe=class{constructor(){}static detectEnvironment(){if(typeof WebSocket<`u`)return{type:`native`,wsConstructor:WebSocket};let e=globalThis;if(typeof globalThis<`u`&&e.WebSocket!==void 0)return{type:`native`,wsConstructor:e.WebSocket};let t=typeof global<`u`?global:void 0;if(t&&t.WebSocket!==void 0)return{type:`native`,wsConstructor:t.WebSocket};if(typeof globalThis<`u`&&e.WebSocketPair!==void 0&&globalThis.WebSocket===void 0)return{type:`cloudflare`,error:`Cloudflare Workers detected. WebSocket clients are not supported in Cloudflare Workers.`,workaround:`Use Cloudflare Workers WebSocket API for server-side WebSocket handling, or deploy to a different runtime.`};if(typeof globalThis<`u`&&e.EdgeRuntime||typeof navigator<`u`&&navigator.userAgent?.includes(`Vercel-Edge`))return{type:`unsupported`,error:`Edge runtime detected (Vercel Edge/Netlify Edge). WebSockets are not supported in edge functions.`,workaround:`Use serverless functions or a different deployment target for WebSocket functionality.`};let n=globalThis.process;if(n){let e=n.versions;if(e&&e.node)return{type:`unsupported`,error:`Node.js detected but native WebSocket not found.`,workaround:`Ensure you are running Node.js 22+ or provide a WebSocket implementation via the transport option.`}}return{type:`unsupported`,error:`Unknown JavaScript runtime without WebSocket support.`,workaround:`Ensure you're running in a supported environment (browser, Node.js, Deno) or provide a custom WebSocket implementation.`}}static getWebSocketConstructor(){let e=this.detectEnvironment();if(e.wsConstructor)return e.wsConstructor;let t=e.error||`WebSocket not supported in this environment.`;throw e.workaround&&(t+=`\n\nSuggested solution: ${e.workaround}`),Error(t)}static isWebSocketSupported(){try{return this.detectEnvironment().type===`native`}catch{return!1}}};let v={closed:`closed`,errored:`errored`,joined:`joined`,joining:`joining`,leaving:`leaving`},me={close:`phx_close`,error:`phx_error`,join:`phx_join`,reply:`phx_reply`,leave:`phx_leave`,access_token:`access_token`},he={connecting:`connecting`,open:`open`,closing:`closing`,closed:`closed`};var ge=class{constructor(e){this.HEADER_LENGTH=1,this.USER_BROADCAST_PUSH_META_LENGTH=6,this.KINDS={userBroadcastPush:3,userBroadcast:4},this.BINARY_ENCODING=0,this.JSON_ENCODING=1,this.BROADCAST_EVENT=`broadcast`,this.allowedMetadataKeys=[],this.allowedMetadataKeys=e??[]}encode(e,t){if(e.event===this.BROADCAST_EVENT&&!(e.payload instanceof ArrayBuffer)&&typeof e.payload.event==`string`)return t(this._binaryEncodeUserBroadcastPush(e));let n=[e.join_ref,e.ref,e.topic,e.event,e.payload];return t(JSON.stringify(n))}_binaryEncodeUserBroadcastPush(e){return this._isArrayBuffer(e.payload?.payload)?this._encodeBinaryUserBroadcastPush(e):this._encodeJsonUserBroadcastPush(e)}_encodeBinaryUserBroadcastPush(e){let t=e.payload?.payload??new ArrayBuffer(0);return this._encodeUserBroadcastPush(e,this.BINARY_ENCODING,t)}_encodeJsonUserBroadcastPush(e){let t=e.payload?.payload??{},n=new TextEncoder().encode(JSON.stringify(t)).buffer;return this._encodeUserBroadcastPush(e,this.JSON_ENCODING,n)}_encodeUserBroadcastPush(e,t,n){let r=new TextEncoder,i=r.encode(e.topic),a=r.encode(e.ref??``),o=r.encode(e.join_ref??``),s=r.encode(e.payload.event),c=this.allowedMetadataKeys?this._pick(e.payload,this.allowedMetadataKeys):{},l=r.encode(Object.keys(c).length===0?``:JSON.stringify(c));if(o.length>255)throw Error(`joinRef length ${o.length} exceeds maximum of 255`);if(a.length>255)throw Error(`ref length ${a.length} exceeds maximum of 255`);if(i.length>255)throw Error(`topic length ${i.length} exceeds maximum of 255`);if(s.length>255)throw Error(`userEvent length ${s.length} exceeds maximum of 255`);if(l.length>255)throw Error(`metadata length ${l.length} exceeds maximum of 255`);let u=this.USER_BROADCAST_PUSH_META_LENGTH+o.length+a.length+i.length+s.length+l.length,d=new ArrayBuffer(this.HEADER_LENGTH+u),f=new DataView(d),p=new Uint8Array(d),m=0;f.setUint8(m++,this.KINDS.userBroadcastPush),f.setUint8(m++,o.length),f.setUint8(m++,a.length),f.setUint8(m++,i.length),f.setUint8(m++,s.length),f.setUint8(m++,l.length),f.setUint8(m++,t),p.set(o,m),m+=o.length,p.set(a,m),m+=a.length,p.set(i,m),m+=i.length,p.set(s,m),m+=s.length,p.set(l,m),m+=l.length;var h=new Uint8Array(d.byteLength+n.byteLength);return h.set(new Uint8Array(d),0),h.set(new Uint8Array(n),d.byteLength),h.buffer}decode(e,t){if(this._isArrayBuffer(e))return t(this._binaryDecode(e));if(typeof e==`string`){let[n,r,i,a,o]=JSON.parse(e);return t({join_ref:n,ref:r,topic:i,event:a,payload:o})}return t({})}_binaryDecode(e){let t=new DataView(e),n=t.getUint8(0),r=new TextDecoder;switch(n){case this.KINDS.userBroadcast:return this._decodeUserBroadcast(e,t,r)}}_decodeUserBroadcast(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=t.getUint8(3),o=t.getUint8(4),s=this.HEADER_LENGTH+4,c=n.decode(e.slice(s,s+r));s+=r;let l=n.decode(e.slice(s,s+i));s+=i;let u=n.decode(e.slice(s,s+a));s+=a;let d=e.slice(s,e.byteLength),f=o===this.JSON_ENCODING?JSON.parse(n.decode(d)):d,p={type:this.BROADCAST_EVENT,event:l,payload:f};return a>0&&(p.meta=JSON.parse(u)),{join_ref:null,ref:null,topic:c,event:this.BROADCAST_EVENT,payload:p}}_isArrayBuffer(e){return e instanceof ArrayBuffer||e?.constructor?.name===`ArrayBuffer`}_pick(e,t){return!e||typeof e!=`object`?{}:Object.fromEntries(Object.entries(e).filter(([e])=>t.includes(e)))}},y;(function(e){e.abstime=`abstime`,e.bool=`bool`,e.date=`date`,e.daterange=`daterange`,e.float4=`float4`,e.float8=`float8`,e.int2=`int2`,e.int4=`int4`,e.int4range=`int4range`,e.int8=`int8`,e.int8range=`int8range`,e.json=`json`,e.jsonb=`jsonb`,e.money=`money`,e.numeric=`numeric`,e.oid=`oid`,e.reltime=`reltime`,e.text=`text`,e.time=`time`,e.timestamp=`timestamp`,e.timestamptz=`timestamptz`,e.timetz=`timetz`,e.tsrange=`tsrange`,e.tstzrange=`tstzrange`})(y||={});let _e=(e,t,n={})=>{let r=n.skipTypes??[];return t?Object.keys(t).reduce((n,i)=>(n[i]=ve(i,e,t,r),n),{}):{}},ve=(e,t,n,r)=>{let i=t.find(t=>t.name===e)?.type,a=n[e];return i&&!r.includes(i)?ye(i,a):be(a)},ye=(e,t)=>{if(e.charAt(0)===`_`)return we(t,e.slice(1,e.length));switch(e){case y.bool:return xe(t);case y.float4:case y.float8:case y.int2:case y.int4:case y.int8:case y.numeric:case y.oid:return Se(t);case y.json:case y.jsonb:return Ce(t);case y.timestamp:return Te(t);case y.abstime:case y.date:case y.daterange:case y.int4range:case y.int8range:case y.money:case y.reltime:case y.text:case y.time:case y.timestamptz:case y.timetz:case y.tsrange:case y.tstzrange:return be(t);default:return be(t)}},be=e=>e,xe=e=>{switch(e){case`t`:return!0;case`f`:return!1;default:return e}},Se=e=>{if(typeof e==`string`){let t=parseFloat(e);if(!Number.isNaN(t))return t}return e},Ce=e=>{if(typeof e==`string`)try{return JSON.parse(e)}catch{return e}return e},we=(e,t)=>{if(typeof e!=`string`)return e;let n=e.length-1,r=e[n];if(e[0]===`{`&&r===`}`){let r,i=e.slice(1,n);try{r=JSON.parse(`[`+i+`]`)}catch{r=i?i.split(`,`):[]}return r.map(e=>ye(t,e))}return e},Te=e=>typeof e==`string`?e.replace(` `,`T`):e,Ee=e=>{let t=new URL(e);return t.protocol=t.protocol.replace(/^ws/i,`http`),t.pathname=t.pathname.replace(/\/+$/,``).replace(/\/socket\/websocket$/i,``).replace(/\/socket$/i,``).replace(/\/websocket$/i,``),t.pathname===``||t.pathname===`/`?t.pathname=`/api/broadcast`:t.pathname+=`/api/broadcast`,t.href};var b=e=>typeof e==`function`?e:function(){return e},De=typeof self<`u`?self:null,Oe=typeof window<`u`?window:null,x=De||Oe||globalThis,ke=`2.0.0`,Ae=1e4,je=1e3,Me=100,S={connecting:0,open:1,closing:2,closed:3},C={closed:`closed`,errored:`errored`,joined:`joined`,joining:`joining`,leaving:`leaving`},w={close:`phx_close`,error:`phx_error`,join:`phx_join`,reply:`phx_reply`,leave:`phx_leave`},Ne={longpoll:`longpoll`,websocket:`websocket`},Pe={complete:4},Fe=`base64url.bearer.phx.`,Ie=class{constructor(e,t,n,r){this.channel=e,this.event=t,this.payload=n||function(){return{}},this.receivedResp=null,this.timeout=r,this.timeoutTimer=null,this.recHooks=[],this.sent=!1,this.ref=void 0}resend(e){this.timeout=e,this.reset(),this.send()}send(){this.hasReceived(`timeout`)||(this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload(),ref:this.ref,join_ref:this.channel.joinRef()}))}receive(e,t){return this.hasReceived(e)&&t(this.receivedResp.response),this.recHooks.push({status:e,callback:t}),this}reset(){this.cancelRefEvent(),this.ref=null,this.refEvent=null,this.receivedResp=null,this.sent=!1}destroy(){this.cancelRefEvent(),this.cancelTimeout()}matchReceive({status:e,response:t,_ref:n}){this.recHooks.filter(t=>t.status===e).forEach(e=>e.callback(t))}cancelRefEvent(){this.refEvent&&this.channel.off(this.refEvent)}cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=null}startTimeout(){this.timeoutTimer&&this.cancelTimeout(),this.ref=this.channel.socket.makeRef(),this.refEvent=this.channel.replyEventName(this.ref),this.channel.on(this.refEvent,e=>{this.cancelRefEvent(),this.cancelTimeout(),this.receivedResp=e,this.matchReceive(e)}),this.timeoutTimer=setTimeout(()=>{this.trigger(`timeout`,{})},this.timeout)}hasReceived(e){return this.receivedResp&&this.receivedResp.status===e}trigger(e,t){this.channel.trigger(this.refEvent,{status:e,response:t})}},Le=class{constructor(e,t){this.callback=e,this.timerCalc=t,this.timer=void 0,this.tries=0}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries+=1,this.callback()},this.timerCalc(this.tries+1))}},Re=class{constructor(e,t,n){this.state=C.closed,this.topic=e,this.params=b(t||{}),this.socket=n,this.bindings=[],this.bindingRef=0,this.timeout=this.socket.timeout,this.joinedOnce=!1,this.joinPush=new Ie(this,w.join,this.params,this.timeout),this.pushBuffer=[],this.stateChangeRefs=[],this.rejoinTimer=new Le(()=>{this.socket.isConnected()&&this.rejoin()},this.socket.rejoinAfterMs),this.stateChangeRefs.push(this.socket.onError(()=>this.rejoinTimer.reset())),this.stateChangeRefs.push(this.socket.onOpen(()=>{this.rejoinTimer.reset(),this.isErrored()&&this.rejoin()})),this.joinPush.receive(`ok`,()=>{this.state=C.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(e=>e.send()),this.pushBuffer=[]}),this.joinPush.receive(`error`,e=>{this.state=C.errored,this.socket.hasLogger()&&this.socket.log(`channel`,`error ${this.topic}`,e),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.onClose(()=>{this.rejoinTimer.reset(),this.socket.hasLogger()&&this.socket.log(`channel`,`close ${this.topic}`),this.state=C.closed,this.socket.remove(this)}),this.onError(e=>{this.socket.hasLogger()&&this.socket.log(`channel`,`error ${this.topic}`,e),this.isJoining()&&this.joinPush.reset(),this.state=C.errored,this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.joinPush.receive(`timeout`,()=>{this.socket.hasLogger()&&this.socket.log(`channel`,`timeout ${this.topic}`,this.joinPush.timeout),new Ie(this,w.leave,b({}),this.timeout).send(),this.state=C.errored,this.joinPush.reset(),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.on(w.reply,(e,t)=>{this.trigger(this.replyEventName(t),e)})}join(e=this.timeout){if(this.joinedOnce)throw Error(`tried to join multiple times. 'join' can only be called a single time per channel instance`);return this.timeout=e,this.joinedOnce=!0,this.rejoin(),this.joinPush}teardown(){this.pushBuffer.forEach(e=>e.destroy()),this.pushBuffer=[],this.rejoinTimer.reset(),this.joinPush.destroy(),this.state=C.closed,this.bindings=[]}onClose(e){this.on(w.close,e)}onError(e){return this.on(w.error,t=>e(t))}on(e,t){let n=this.bindingRef++;return this.bindings.push({event:e,ref:n,callback:t}),n}off(e,t){this.bindings=this.bindings.filter(n=>!(n.event===e&&(t===void 0||t===n.ref)))}canPush(){return this.socket.isConnected()&&this.isJoined()}push(e,t,n=this.timeout){if(t||={},!this.joinedOnce)throw Error(`tried to push '${e}' to '${this.topic}' before joining. Use channel.join() before pushing events`);let r=new Ie(this,e,function(){return t},n);return this.canPush()?r.send():(r.startTimeout(),this.pushBuffer.push(r)),r}leave(e=this.timeout){this.rejoinTimer.reset(),this.joinPush.cancelTimeout(),this.state=C.leaving;let t=()=>{this.socket.hasLogger()&&this.socket.log(`channel`,`leave ${this.topic}`),this.trigger(w.close,`leave`)},n=new Ie(this,w.leave,b({}),e);return n.receive(`ok`,()=>t()).receive(`timeout`,()=>t()),n.send(),this.canPush()||n.trigger(`ok`,{}),n}onMessage(e,t,n){return t}filterBindings(e,t,n){return!0}isMember(e,t,n,r){return this.topic===e?r&&r!==this.joinRef()?(this.socket.hasLogger()&&this.socket.log(`channel`,`dropping outdated message`,{topic:e,event:t,payload:n,joinRef:r}),!1):!0:!1}joinRef(){return this.joinPush.ref}rejoin(e=this.timeout){this.isLeaving()||(this.socket.leaveOpenTopic(this.topic),this.state=C.joining,this.joinPush.resend(e))}trigger(e,t,n,r){let i=this.onMessage(e,t,n,r);if(t&&!i)throw Error(`channel onMessage callbacks must return the payload, modified or unmodified`);let a=this.bindings.filter(r=>r.event===e&&this.filterBindings(r,t,n));for(let e=0;ec.abort(),i),s.signal=c.signal),x.fetch(t,s).then(e=>e.text()).then(e=>this.parseJSON(e)).then(e=>o&&o(e)).catch(e=>{e.name===`AbortError`&&a?a():o&&o(null)}),c}static xdomainRequest(e,t,n,r,i,a,o){return e.timeout=i,e.open(t,n),e.onload=()=>{let t=this.parseJSON(e.responseText);o&&o(t)},a&&(e.ontimeout=a),e.onprogress=()=>{},e.send(r),e}static xhrRequest(e,t,n,r,i,a,o,s){e.open(t,n,!0),e.timeout=a;for(let[t,n]of Object.entries(r))e.setRequestHeader(t,n);return e.onerror=()=>s&&s(null),e.onreadystatechange=()=>{e.readyState===Pe.complete&&s&&s(this.parseJSON(e.responseText))},o&&(e.ontimeout=o),e.send(i),e}static parseJSON(e){if(!e||e===``)return null;try{return JSON.parse(e)}catch{return console&&console.log(`failed to parse JSON response`,e),null}}static serialize(e,t){let n=[];for(var r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;let i=t?`${t}[${r}]`:r,a=e[r];typeof a==`object`?n.push(this.serialize(a,i)):n.push(encodeURIComponent(i)+`=`+encodeURIComponent(a))}return n.join(`&`)}static appendParams(e,t){return Object.keys(t).length===0?e:`${e}${e.match(/\?/)?`&`:`?`}${this.serialize(t)}`}},Be=e=>{let t=``,n=new Uint8Array(e),r=n.byteLength;for(let e=0;ethis.poll(),0)}normalizeEndpoint(e){return e.replace(`ws://`,`http://`).replace(`wss://`,`https://`).replace(RegExp(`(.*)/`+Ne.websocket),`$1/`+Ne.longpoll)}endpointURL(){return ze.appendParams(this.pollEndpoint,{token:this.token})}closeAndRetry(e,t,n){this.close(e,t,n),this.readyState=S.connecting}ontimeout(){this.onerror(`timeout`),this.closeAndRetry(1005,`timeout`,!1)}isActive(){return this.readyState===S.open||this.readyState===S.connecting}poll(){let e={Accept:`application/json`};this.authToken&&(e[`X-Phoenix-AuthToken`]=this.authToken),this.ajax(`GET`,e,null,()=>this.ontimeout(),e=>{if(e){var{status:t,token:n,messages:r}=e;if(t===410&&this.token!==null){this.onerror(410),this.closeAndRetry(3410,`session_gone`,!1);return}this.token=n}else t=0;switch(t){case 200:r.forEach(e=>{setTimeout(()=>this.onmessage({data:e}),0)}),this.poll();break;case 204:this.poll();break;case 410:this.readyState=S.open,this.onopen({}),this.poll();break;case 403:this.onerror(403),this.close(1008,`forbidden`,!1);break;case 0:case 500:this.onerror(500),this.closeAndRetry(1011,`internal server error`,500);break;default:throw Error(`unhandled poll status ${t}`)}})}send(e){typeof e!=`string`&&(e=Be(e)),this.currentBatch?this.currentBatch.push(e):this.awaitingBatchAck?this.batchBuffer.push(e):(this.currentBatch=[e],this.currentBatchTimer=setTimeout(()=>{this.batchSend(this.currentBatch),this.currentBatch=null},0))}batchSend(e,t=0){this.awaitingBatchAck=!0;let n=t+Me,r=e.slice(t,n);this.ajax(`POST`,{"Content-Type":`application/x-ndjson`},r.join(` +`),()=>this.onerror(`timeout`),t=>{!t||t.status!==200?(this.awaitingBatchAck=!1,this.onerror(t&&t.status),this.closeAndRetry(1011,`internal server error`,!1)):n0?(this.batchSend(this.batchBuffer),this.batchBuffer=[]):this.awaitingBatchAck=!1})}close(e,t,n){for(let e of this.reqs)e.abort();this.readyState=S.closed;let r=Object.assign({code:1e3,reason:void 0,wasClean:!0},{code:e,reason:t,wasClean:n});this.batchBuffer=[],clearTimeout(this.currentBatchTimer),this.currentBatchTimer=null,typeof CloseEvent<`u`?this.onclose(new CloseEvent(`close`,r)):this.onclose(r)}ajax(e,t,n,r,i){let a;a=ze.request(e,this.endpointURL(),t,n,this.timeout,()=>{this.reqs.delete(a),r()},e=>{this.reqs.delete(a),this.isActive()&&i(e)}),this.reqs.add(a)}},He=class e{constructor(t,n={}){let r=n.events||{state:`presence_state`,diff:`presence_diff`};this.state=Object.create(null),this.pendingDiffs=[],this.channel=t,this.joinRef=null,this.caller={onJoin:function(){},onLeave:function(){},onSync:function(){}},this.channel.on(r.state,t=>{let{onJoin:n,onLeave:r,onSync:i}=this.caller;this.joinRef=this.channel.joinRef(),this.state=e.syncState(this.state,t,n,r),this.pendingDiffs.forEach(t=>{this.state=e.syncDiff(this.state,t,n,r)}),this.pendingDiffs=[],i()}),this.channel.on(r.diff,t=>{let{onJoin:n,onLeave:r,onSync:i}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(t):(this.state=e.syncDiff(this.state,t,n,r),i())})}onJoin(e){this.caller.onJoin=e}onLeave(e){this.caller.onLeave=e}onSync(e){this.caller.onSync=e}list(t){return e.list(this.state,t)}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel.joinRef()}static syncState(e,t,n,r){let i=this.toNullProtoObj(this.clone(e));t=this.toNullProtoObj(t);let a=Object.create(null),o=Object.create(null);return this.map(i,(e,n)=>{t[e]||(o[e]=n)}),this.map(t,(e,t)=>{let n=i[e];if(n){let r=t.metas.map(e=>e.phx_ref),i=n.metas.map(e=>e.phx_ref),s=t.metas.filter(e=>i.indexOf(e.phx_ref)<0),c=n.metas.filter(e=>r.indexOf(e.phx_ref)<0);s.length>0&&(a[e]=t,a[e].metas=s),c.length>0&&(o[e]=this.clone(n),o[e].metas=c)}else a[e]=t}),this.syncDiff(i,{joins:a,leaves:o},n,r)}static syncDiff(e,t,n,r){e=this.toNullProtoObj(e);let{joins:i,leaves:a}=this.clone(t);return n||=function(){},r||=function(){},this.map(i,(t,r)=>{let i=e[t];if(e[t]=this.clone(r),i){let n=e[t].metas.map(e=>e.phx_ref),r=i.metas.filter(e=>n.indexOf(e.phx_ref)<0);e[t].metas.unshift(...r)}n(t,i,r)}),this.map(a,(t,n)=>{let i=e[t];if(!i)return;let a=n.metas.map(e=>e.phx_ref);i.metas=i.metas.filter(e=>a.indexOf(e.phx_ref)<0),r(t,i,n),i.metas.length===0&&delete e[t]}),e}static list(e,t){return t||=function(e,t){return t},this.map(e,(e,n)=>t(e,n))}static map(e,t){return Object.getOwnPropertyNames(e).map(n=>t(n,e[n]))}static toNullProtoObj(e){if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);return Object.getOwnPropertyNames(e).forEach(n=>{t[n]=e[n]}),t}static clone(e){return JSON.parse(JSON.stringify(e))}},Ue={HEADER_LENGTH:1,META_LENGTH:4,KINDS:{push:0,reply:1,broadcast:2},encode(e,t){if(e.payload.constructor===ArrayBuffer)return t(this.binaryEncode(e));{let n=[e.join_ref,e.ref,e.topic,e.event,e.payload];return t(JSON.stringify(n))}},decode(e,t){if(e.constructor===ArrayBuffer)return t(this.binaryDecode(e));{let[n,r,i,a,o]=JSON.parse(e);return t({join_ref:n,ref:r,topic:i,event:a,payload:o})}},binaryEncode(e){let{join_ref:t,ref:n,event:r,topic:i,payload:a}=e,o=new TextEncoder,s=o.encode(t),c=o.encode(n),l=o.encode(i),u=o.encode(r);this.assertFieldSize(s.byteLength,`join_ref`),this.assertFieldSize(c.byteLength,`ref`),this.assertFieldSize(l.byteLength,`topic`),this.assertFieldSize(u.byteLength,`event`);let d=this.META_LENGTH+s.byteLength+c.byteLength+l.byteLength+u.byteLength,f=new ArrayBuffer(this.HEADER_LENGTH+d),p=new Uint8Array(f),m=new DataView(f),h=0;m.setUint8(h++,this.KINDS.push),m.setUint8(h++,s.byteLength),m.setUint8(h++,c.byteLength),m.setUint8(h++,l.byteLength),m.setUint8(h++,u.byteLength),p.set(s,h),h+=s.byteLength,p.set(c,h),h+=c.byteLength,p.set(l,h),h+=l.byteLength,p.set(u,h),h+=u.byteLength;var g=new Uint8Array(f.byteLength+a.byteLength);return g.set(p,0),g.set(new Uint8Array(a),f.byteLength),g.buffer},assertFieldSize(e,t){if(e>255)throw Error(`unable to convert ${t} to binary: must be less than or equal to 255 bytes, but is ${e} bytes`)},binaryDecode(e){let t=new DataView(e),n=t.getUint8(0),r=new TextDecoder;switch(n){case this.KINDS.push:return this.decodePush(e,t,r);case this.KINDS.reply:return this.decodeReply(e,t,r);case this.KINDS.broadcast:return this.decodeBroadcast(e,t,r)}},decodePush(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=t.getUint8(3),o=this.HEADER_LENGTH+this.META_LENGTH-1,s=n.decode(e.slice(o,o+r));o+=r;let c=n.decode(e.slice(o,o+i));o+=i;let l=n.decode(e.slice(o,o+a));return o+=a,{join_ref:s,ref:null,topic:c,event:l,payload:e.slice(o,e.byteLength)}},decodeReply(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=t.getUint8(3),o=t.getUint8(4),s=this.HEADER_LENGTH+this.META_LENGTH,c=n.decode(e.slice(s,s+r));s+=r;let l=n.decode(e.slice(s,s+i));s+=i;let u=n.decode(e.slice(s,s+a));s+=a;let d=n.decode(e.slice(s,s+o));s+=o;let f={status:d,response:e.slice(s,e.byteLength)};return{join_ref:c,ref:l,topic:u,event:w.reply,payload:f}},decodeBroadcast(e,t,n){let r=t.getUint8(1),i=t.getUint8(2),a=this.HEADER_LENGTH+2,o=n.decode(e.slice(a,a+r));a+=r;let s=n.decode(e.slice(a,a+i));return a+=i,{join_ref:null,ref:null,topic:o,event:s,payload:e.slice(a,e.byteLength)}}},We=class{constructor(e,t={}){this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.channels=[],this.sendBuffer=[],this.ref=0,this.fallbackRef=null,this.timeout=t.timeout||Ae,this.transport=t.transport||x.WebSocket||Ve,this.conn=void 0,this.primaryPassedHealthCheck=!1,this.longPollFallbackMs=t.longPollFallbackMs,this.fallbackTimer=null;let n=null;try{n=x&&x.sessionStorage}catch{}this.sessionStore=t.sessionStorage||n,this.establishedConnections=0,this.defaultEncoder=Ue.encode.bind(Ue),this.defaultDecoder=Ue.decode.bind(Ue),this.closeWasClean=!0,this.disconnecting=!1,this.binaryType=t.binaryType||`arraybuffer`,this.connectClock=1,this.pageHidden=!1,this.encode=void 0,this.decode=void 0,this.transport===Ve?(this.encode=this.defaultEncoder,this.decode=this.defaultDecoder):(this.encode=t.encode||this.defaultEncoder,this.decode=t.decode||this.defaultDecoder);let r=null;Oe&&Oe.addEventListener&&(Oe.addEventListener(`pagehide`,e=>{this.conn&&(this.disconnect(),r=this.connectClock)}),Oe.addEventListener(`pageshow`,e=>{r===this.connectClock&&(r=null,this.connect())}),Oe.addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`?this.pageHidden=!0:(this.pageHidden=!1,!this.isConnected()&&!this.closeWasClean&&this.teardown(()=>this.connect()))})),this.heartbeatIntervalMs=t.heartbeatIntervalMs||3e4,this.autoSendHeartbeat=t.autoSendHeartbeat??!0,this.heartbeatCallback=t.heartbeatCallback??(()=>{}),this.rejoinAfterMs=e=>t.rejoinAfterMs?t.rejoinAfterMs(e):[1e3,2e3,5e3][e-1]||1e4,this.reconnectAfterMs=e=>t.reconnectAfterMs?t.reconnectAfterMs(e):[10,50,100,150,200,250,500,1e3,2e3][e-1]||5e3,this.logger=t.logger||null,!this.logger&&t.debug&&(this.logger=(e,t,n)=>{console.log(`${e}: ${t}`,n)}),this.longpollerTimeout=t.longpollerTimeout||2e4,this.params=b(t.params||{}),this.endPoint=`${e}/${Ne.websocket}`,this.vsn=t.vsn||ke,this.heartbeatTimeoutTimer=null,this.heartbeatTimer=null,this.heartbeatSentAt=null,this.pendingHeartbeatRef=null,this.reconnectTimer=new Le(()=>{if(this.pageHidden){this.log(`Not reconnecting as page is hidden!`),this.teardown();return}this.teardown(async()=>{t.beforeReconnect&&await t.beforeReconnect(),this.connect()})},this.reconnectAfterMs),this.authToken=t.authToken&&b(t.authToken)}getLongPollTransport(){return Ve}replaceTransport(e){this.connectClock++,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.conn&&=(this.conn.close(),null),this.transport=e}protocol(){return location.protocol.match(/^https/)?`wss`:`ws`}endPointURL(){let e=ze.appendParams(ze.appendParams(this.endPoint,this.params()),{vsn:this.vsn});return e.charAt(0)===`/`?e.charAt(1)===`/`?`${this.protocol()}:${e}`:`${this.protocol()}://${location.host}${e}`:e}disconnect(e,t,n){this.connectClock++,this.disconnecting=!0,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.teardown(()=>{this.disconnecting=!1,e&&e()},t,n)}connect(e){e&&(console&&console.log(`passing params to connect is deprecated. Instead pass :params to the Socket constructor`),this.params=b(e)),!(this.conn&&!this.disconnecting)&&(this.longPollFallbackMs&&this.transport!==Ve?this.connectWithFallback(Ve,this.longPollFallbackMs):this.transportConnect())}log(e,t,n){this.logger&&this.logger(e,t,n)}hasLogger(){return this.logger!==null}onOpen(e){let t=this.makeRef();return this.stateChangeCallbacks.open.push([t,e]),t}onClose(e){let t=this.makeRef();return this.stateChangeCallbacks.close.push([t,e]),t}onError(e){let t=this.makeRef();return this.stateChangeCallbacks.error.push([t,e]),t}onMessage(e){let t=this.makeRef();return this.stateChangeCallbacks.message.push([t,e]),t}onHeartbeat(e){this.heartbeatCallback=e}ping(e){if(!this.isConnected())return!1;let t=this.makeRef(),n=Date.now();this.push({topic:`phoenix`,event:`heartbeat`,payload:{},ref:t});let r=this.onMessage(i=>{i.ref===t&&(this.off([r]),e(Date.now()-n))});return!0}transportName(e){switch(e){case Ve:return`LongPoll`;default:return e.name}}transportConnect(){this.connectClock++,this.closeWasClean=!1;let e;this.authToken&&(e=[`phoenix`,`${Fe}${btoa(this.authToken()).replace(/=/g,``)}`]),this.conn=new this.transport(this.endPointURL(),e),this.conn.binaryType=this.binaryType,this.conn.timeout=this.longpollerTimeout,this.conn.onopen=()=>this.onConnOpen(),this.conn.onerror=e=>this.onConnError(e),this.conn.onmessage=e=>this.onConnMessage(e),this.conn.onclose=e=>this.onConnClose(e)}getSession(e){return this.sessionStore&&this.sessionStore.getItem(e)}storeSession(e,t){this.sessionStore&&this.sessionStore.setItem(e,t)}connectWithFallback(e,t=2500){clearTimeout(this.fallbackTimer);let n=!1,r=!0,i,a=this.transportName(e),o=t=>{this.log(`transport`,`falling back to ${a}...`,t),this.off([void 0,i]),r=!1,this.replaceTransport(e),this.transportConnect()};if(this.getSession(`phx:fallback:${a}`))return o(`memorized`);this.fallbackTimer=setTimeout(o,t),i=this.onError(e=>{this.log(`transport`,`error`,e),r&&!n&&(clearTimeout(this.fallbackTimer),o(e))}),this.fallbackRef&&this.off([this.fallbackRef]),this.fallbackRef=this.onOpen(()=>{if(n=!0,!r){let t=this.transportName(e);return this.primaryPassedHealthCheck||this.storeSession(`phx:fallback:${t}`,`true`),this.log(`transport`,`established ${t} fallback`)}clearTimeout(this.fallbackTimer),this.fallbackTimer=setTimeout(o,t),this.ping(e=>{this.log(`transport`,`connected to primary after`,e),this.primaryPassedHealthCheck=!0,clearTimeout(this.fallbackTimer)})}),this.transportConnect()}clearHeartbeats(){clearTimeout(this.heartbeatTimer),clearTimeout(this.heartbeatTimeoutTimer)}onConnOpen(){this.hasLogger()&&this.log(`transport`,`connected to ${this.endPointURL()}`),this.closeWasClean=!1,this.disconnecting=!1,this.establishedConnections++,this.flushSendBuffer(),this.reconnectTimer.reset(),this.autoSendHeartbeat&&this.resetHeartbeat(),this.triggerStateCallbacks(`open`)}heartbeatTimeout(){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.hasLogger()&&this.log(`transport`,`heartbeat timeout. Attempting to re-establish connection`);try{this.heartbeatCallback(`timeout`)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}this.triggerChanError(Error(`heartbeat timeout`)),this.closeWasClean=!1,this.teardown(()=>this.reconnectTimer.scheduleTimeout(),je,`heartbeat timeout`)}}resetHeartbeat(){this.conn&&this.conn.skipHeartbeat||(this.pendingHeartbeatRef=null,this.clearHeartbeats(),this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}teardown(e,t,n){if(!this.conn)return e&&e();let r=this.conn;this.waitForBufferDone(r,()=>{t?r.close(t,n||``):r.close(),this.waitForSocketClosed(r,()=>{this.conn===r&&(this.conn.onopen=function(){},this.conn.onerror=function(){},this.conn.onmessage=function(){},this.conn.onclose=function(){},this.conn=null),e&&e()})})}waitForBufferDone(e,t,n=1){if(n===5||!e.bufferedAmount){t();return}setTimeout(()=>{this.waitForBufferDone(e,t,n+1)},150*n)}waitForSocketClosed(e,t,n=1){if(n===5||e.readyState===S.closed){t();return}setTimeout(()=>{this.waitForSocketClosed(e,t,n+1)},150*n)}onConnClose(e){this.conn&&(this.conn.onclose=()=>{}),this.hasLogger()&&this.log(`transport`,`close`,e),this.triggerChanError(e),this.clearHeartbeats(),this.closeWasClean||this.reconnectTimer.scheduleTimeout(),this.triggerStateCallbacks(`close`,e)}onConnError(e){this.hasLogger()&&this.log(`transport`,`error`,e);let t=this.transport,n=this.establishedConnections;this.triggerStateCallbacks(`error`,e,t,n),(t===this.transport||n>0)&&this.triggerChanError(e)}triggerChanError(e){this.channels.forEach(t=>{t.isErrored()||t.isLeaving()||t.isClosed()||t.trigger(w.error,e)})}connectionState(){switch(this.conn&&this.conn.readyState){case S.connecting:return`connecting`;case S.open:return`open`;case S.closing:return`closing`;default:return`closed`}}isConnected(){return this.connectionState()===`open`}remove(e){this.off(e.stateChangeRefs),this.channels=this.channels.filter(t=>t!==e)}off(e){for(let t in this.stateChangeCallbacks)this.stateChangeCallbacks[t]=this.stateChangeCallbacks[t].filter(([t])=>e.indexOf(t)===-1)}channel(e,t={}){let n=new Re(e,t,this);return this.channels.push(n),n}push(e){if(this.hasLogger()){let{topic:t,event:n,payload:r,ref:i,join_ref:a}=e;this.log(`push`,`${t} ${n} (${a}, ${i})`,r)}this.isConnected()?this.encode(e,e=>this.conn.send(e)):this.sendBuffer.push(()=>this.encode(e,e=>this.conn.send(e)))}makeRef(){let e=this.ref+1;return e===this.ref?this.ref=0:this.ref=e,this.ref.toString()}sendHeartbeat(){if(!this.isConnected()){try{this.heartbeatCallback(`disconnected`)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}return}if(this.pendingHeartbeatRef){this.heartbeatTimeout();return}this.pendingHeartbeatRef=this.makeRef(),this.heartbeatSentAt=Date.now(),this.push({topic:`phoenix`,event:`heartbeat`,payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback(`sent`)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}this.heartbeatTimeoutTimer=setTimeout(()=>this.heartbeatTimeout(),this.heartbeatIntervalMs)}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(e=>e()),this.sendBuffer=[])}onConnMessage(e){this.decode(e.data,e=>{let{topic:t,event:n,payload:r,ref:i,join_ref:a}=e;if(i&&i===this.pendingHeartbeatRef){let e=this.heartbeatSentAt?Date.now()-this.heartbeatSentAt:void 0;this.clearHeartbeats();try{this.heartbeatCallback(r.status===`ok`?`ok`:`error`,e)}catch(e){this.log(`error`,`error in heartbeat callback`,e)}this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.autoSendHeartbeat&&(this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}this.hasLogger()&&this.log(`receive`,`${r.status||``} ${t} ${n} ${i&&`(`+i+`)`||``}`.trim(),r);for(let e=0;e{try{r(...t)}catch(t){this.log(`error`,`error in ${e} callback`,t)}})}catch(t){this.log(`error`,`error triggering ${e} callbacks`,t)}}leaveOpenTopic(e){let t=this.channels.find(t=>t.topic===e&&(t.isJoined()||t.isJoining()));t&&(this.hasLogger()&&this.log(`transport`,`leaving duplicate topic "${e}"`),t.leave())}},Ge=class e{constructor(t,n){let r=Je(n);this.presence=new He(t.getChannel(),r),this.presence.onJoin((n,r,i)=>{let a=e.onJoinPayload(n,r,i);t.getChannel().trigger(`presence`,a)}),this.presence.onLeave((n,r,i)=>{let a=e.onLeavePayload(n,r,i);t.getChannel().trigger(`presence`,a)}),this.presence.onSync(()=>{t.getChannel().trigger(`presence`,{event:`sync`})})}get state(){return e.transformState(this.presence.state)}static transformState(e){return e=qe(e),Object.getOwnPropertyNames(e).reduce((t,n)=>{let r=e[n];return t[n]=Ke(r),t},{})}static onJoinPayload(e,t,n){return{event:`join`,key:e,currentPresences:Ye(t),newPresences:Ke(n)}}static onLeavePayload(e,t,n){return{event:`leave`,key:e,currentPresences:Ye(t),leftPresences:Ke(n)}}};function Ke(e){return e.metas.map(e=>{let t=Object.getOwnPropertyDescriptors(e),n=Object.defineProperties({},t);return n.presence_ref=n.phx_ref,delete n.phx_ref,delete n.phx_ref_prev,n})}function qe(e){return JSON.parse(JSON.stringify(e))}function Je(e){return e?.events&&{events:e.events}}function Ye(e){return e?.metas?Ke(e):[]}var Xe;(function(e){e.SYNC=`sync`,e.JOIN=`join`,e.LEAVE=`leave`})(Xe||={});var Ze=class{get state(){return this.presenceAdapter.state}constructor(e,t){this.channel=e,this.presenceAdapter=new Ge(this.channel.channelAdapter,t)}};function Qe(e){if(e instanceof Error)return e;if(typeof e==`string`)return Error(e);if(e&&typeof e==`object`){let t=e;if(typeof t.code==`number`){let n=typeof t.reason==`string`&&t.reason?` (${t.reason})`:``;return Error(`socket closed: ${t.code}${n}`,{cause:e})}return Error(`channel error: transport failure`,{cause:e})}return Error(`channel error: connection lost`)}var $e=class{constructor(e,t,n){let r=et(n);this.channel=e.getSocket().channel(t,r),this.socket=e}get state(){return this.channel.state}set state(e){this.channel.state=e}get joinedOnce(){return this.channel.joinedOnce}get joinPush(){return this.channel.joinPush}get rejoinTimer(){return this.channel.rejoinTimer}on(e,t){return this.channel.on(e,t)}off(e,t){this.channel.off(e,t)}subscribe(e){return this.channel.join(e)}unsubscribe(e){return this.channel.leave(e)}teardown(){this.channel.teardown()}onClose(e){this.channel.onClose(e)}onError(e){return this.channel.onError(e)}push(e,t,n){let r;try{r=this.channel.push(e,t,n)}catch{throw Error(`tried to push '${e}' to '${this.channel.topic}' before joining. Use channel.subscribe() before pushing events`)}if(this.channel.pushBuffer.length>100){let e=this.channel.pushBuffer.shift();e.cancelTimeout(),this.socket.log(`channel`,`discarded push due to buffer overflow: ${e.event}`,e.payload())}return r}updateJoinPayload(e){let t=this.channel.joinPush.payload();this.channel.joinPush.payload=()=>Object.assign(Object.assign({},t),e)}canPush(){return this.socket.isConnected()&&this.state===v.joined}isJoined(){return this.state===v.joined}isJoining(){return this.state===v.joining}isClosed(){return this.state===v.closed}isLeaving(){return this.state===v.leaving}updateFilterBindings(e){this.channel.filterBindings=e}updatePayloadTransform(e){this.channel.onMessage=e}getChannel(){return this.channel}};function et(e){return{config:Object.assign({broadcast:{ack:!1,self:!1},presence:{key:``,enabled:!1},private:!1},e.config)}}let tt=/[,()"\\]/,nt=e=>tt.test(e)||e!==e.trim(),rt=e=>`"${e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}"`,it=e=>{let t=e===null?`null`:String(e);return nt(t)?rt(t):t},at=e=>e===null?`null`:String(e),ot=(e,t)=>{if(e===`in`){let e=Array.isArray(t)?t:[t];if(e.length===0)throw Error("Realtime `in` filter requires at least one value.");return`in.(${Array.from(new Set(e)).map(e=>it(e)).join(`,`)})`}return e===`is`?`is.${at(t)}`:`${e}.${it(t)}`};var st=class{constructor(){this.filters=[]}add(e,t,n,r=!1){let i=r?`not.`:``;return this.filters.push(`${e}=${i}${ot(t,n)}`),this}eq(e,t){return this.add(e,`eq`,t)}neq(e,t){return this.add(e,`neq`,t)}gt(e,t){return this.add(e,`gt`,t)}gte(e,t){return this.add(e,`gte`,t)}lt(e,t){return this.add(e,`lt`,t)}lte(e,t){return this.add(e,`lte`,t)}in(e,t){return this.add(e,`in`,t)}like(e,t){return this.add(e,`like`,t)}ilike(e,t){return this.add(e,`ilike`,t)}match(e,t){return this.add(e,`match`,t)}imatch(e,t){return this.add(e,`imatch`,t)}is(e,t){return this.add(e,`is`,t)}isDistinct(e,t){return this.add(e,`isdistinct`,t)}not(e,t,n){return this.add(e,t,n,!0)}build(){return this.filters.join(`,`)}toString(){return this.build()}};let ct=()=>new st;var lt;(function(e){e.ALL=`*`,e.INSERT=`INSERT`,e.UPDATE=`UPDATE`,e.DELETE=`DELETE`})(lt||={});var T;(function(e){e.BROADCAST=`broadcast`,e.PRESENCE=`presence`,e.POSTGRES_CHANGES=`postgres_changes`,e.SYSTEM=`system`})(T||={});var E;(function(e){e.SUBSCRIBED=`SUBSCRIBED`,e.TIMED_OUT=`TIMED_OUT`,e.CLOSED=`CLOSED`,e.CHANNEL_ERROR=`CHANNEL_ERROR`})(E||={});let ut=v;var dt=class e{get state(){return this.channelAdapter.state}set state(e){this.channelAdapter.state=e}get joinedOnce(){return this.channelAdapter.joinedOnce}get timeout(){return this.socket.timeout}get joinPush(){return this.channelAdapter.joinPush}get rejoinTimer(){return this.channelAdapter.rejoinTimer}constructor(e,t={config:{}},n){if(this.topic=e,this.params=t,this.socket=n,this.bindings={},this.subTopic=e.replace(/^realtime:/i,``),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:``,enabled:!1},private:!1},t.config),this.channelAdapter=new $e(this.socket.socketAdapter,e,this.params),this.presence=new Ze(this),this._onClose(()=>{this.socket._remove(this)}),this._updateFilterTransform(),this.broadcastEndpointURL=Ee(this.socket.socketAdapter.endPointURL()),this.private=this.params.config.private||!1,!this.private&&this.params.config?.broadcast?.replay)throw Error(`tried to use replay on public channel '${this.topic}'. It must be a private channel.`)}subscribe(e,t=this.timeout){if(this.socket.isConnected()||this.socket.connect(),this.channelAdapter.isClosed()){let{config:{broadcast:n,presence:r,private:i,postgres_changes_options:a}}=this.params,o=this.bindings.postgres_changes?.map(e=>e.filter)??[],s=!!this.bindings[T.PRESENCE]&&this.bindings[T.PRESENCE].length>0||this.params.config.presence?.enabled===!0,c={},l=Object.assign({broadcast:n,presence:Object.assign(Object.assign({},r),{enabled:s}),postgres_changes:o,private:i},a?{postgres_changes_options:a}:{});this.socket.accessTokenValue&&(c.access_token=this.socket.accessTokenValue),this._onError(t=>{e?.(E.CHANNEL_ERROR,Qe(t))}),this._onClose(()=>e?.(E.CLOSED)),this.updateJoinPayload(Object.assign({config:l},c)),this._updateFilterMessage();let u=a?.wait&&o.length>0?Math.max(t,(a.timeout??15e3)+1e4):t;this.channelAdapter.subscribe(u).receive(`ok`,async({postgres_changes:t})=>{if(this.socket._isManualToken()||this.socket.setAuth(),t===void 0){e?.(E.SUBSCRIBED);return}this._updatePostgresBindings(t,e)}).receive(`error`,t=>{this.state=v.errored;let n=Object.values(t).join(`, `)||`error`;e?.(E.CHANNEL_ERROR,Error(n,{cause:t}))}).receive(`timeout`,()=>{e?.(E.TIMED_OUT)})}return this}_updatePostgresBindings(t,n){let r=this.bindings.postgres_changes,i=r?.length??0,a=[];for(let o=0;o{let r=this.channelAdapter.push(e.type,e,t.timeout||this.timeout);e.type===`broadcast`&&!this.params?.config?.broadcast?.ack&&n(`ok`),r.receive(`ok`,()=>n(`ok`)),r.receive(`error`,()=>n(`error`)),r.receive(`timeout`,()=>n(`timed out`))})}updateJoinPayload(e){this.channelAdapter.updateJoinPayload(e)}async unsubscribe(e=this.timeout){return new Promise(t=>{this.channelAdapter.unsubscribe(e).receive(`ok`,()=>t(`ok`)).receive(`timeout`,()=>t(`timed out`)).receive(`error`,()=>t(`error`))})}teardown(){this.channelAdapter.teardown()}async _fetchWithTimeout(e,t,n){let r=new AbortController,i=setTimeout(()=>r.abort(),n),a=await this.socket.fetch(e,Object.assign(Object.assign({},t),{signal:r.signal}));return clearTimeout(i),a}_on(t,n,r){let i=t.toLocaleLowerCase(),a=n?.filter;if((a instanceof st||typeof a==`object`&&a&&typeof a.build==`function`)&&(n=Object.assign(Object.assign({},n),{filter:a.build()})),i===T.POSTGRES_CHANGES&&this.bindings[i]?.find(t=>e.isSamePostgresFilter(t.filter,n)))return this.socket.log(`error`,`duplicate \`postgres_changes\` binding for ${this.topic} ignored`,n),this;let o=this.channelAdapter.on(t,r),s={type:i,filter:n,callback:r,ref:o};return this.bindings[i]?this.bindings[i].push(s):this.bindings[i]=[s],this._updateFilterMessage(),this}_onClose(e){this.channelAdapter.onClose(e)}_onError(e){this.channelAdapter.onError(e)}_updateFilterMessage(){this.channelAdapter.updateFilterBindings((e,t,n)=>{let r=e.event.toLocaleLowerCase();if(this._notThisChannelEvent(r,n))return!1;let i=this.bindings[r]?.find(t=>t.ref===e.ref);if(!i)return!0;if([`broadcast`,`presence`,`postgres_changes`].includes(r))if(`id`in i){let e=i.id,n=i.filter?.event;return e&&t.ids?.includes(e)&&(n===`*`||n?.toLocaleLowerCase()===t.data?.type.toLocaleLowerCase())}else{let e=(i?.filter?.event)?.toLocaleLowerCase();return e===`*`||e===(t?.event)?.toLocaleLowerCase()}else return i.type.toLocaleLowerCase()===r})}_notThisChannelEvent(e,t){let{close:n,error:r,leave:i,join:a}=me;return t&&[n,r,i,a].includes(e)&&t!==this.joinPush.ref}_updateFilterTransform(){this.channelAdapter.updatePayloadTransform((e,t,n)=>{if(typeof t==`object`&&`ids`in t){let e=t.data,{schema:n,table:r,commit_timestamp:i,type:a,errors:o}=e,s={schema:n,table:r,commit_timestamp:i,eventType:a,new:{},old:{},errors:o};return Object.assign(Object.assign({},s),this._getPayloadRecords(e))}return t})}copyBindings(e){if(this.joinedOnce)throw Error(`cannot copy bindings into joined channel`);for(let t in e.bindings)for(let n of e.bindings[t])this._on(n.type,n.filter,n.callback)}static isFilterValueEqual(e,t){return(e??void 0)===(t??void 0)}static isSamePostgresFilter(t,n){let r=(t?.select)?.join()??void 0,i=(n?.select)?.join()??void 0;return t?.event===n?.event&&e.isFilterValueEqual(t?.schema,n?.schema)&&e.isFilterValueEqual(t?.table,n?.table)&&e.isFilterValueEqual(t?.filter,n?.filter)&&r===i}_getPayloadRecords(e){let t={new:{},old:{}};return(e.type===`INSERT`||e.type===`UPDATE`)&&(t.new=_e(e.columns,e.record)),(e.type===`UPDATE`||e.type===`DELETE`)&&(t.old=_e(e.columns,e.old_record)),t}},ft=class{constructor(e,t){this.socket=new We(e,t)}get timeout(){return this.socket.timeout}get endPoint(){return this.socket.endPoint}get transport(){return this.socket.transport}get heartbeatIntervalMs(){return this.socket.heartbeatIntervalMs}get heartbeatCallback(){return this.socket.heartbeatCallback}set heartbeatCallback(e){this.socket.heartbeatCallback=e}get heartbeatTimer(){return this.socket.heartbeatTimer}get pendingHeartbeatRef(){return this.socket.pendingHeartbeatRef}get reconnectTimer(){return this.socket.reconnectTimer}get vsn(){return this.socket.vsn}get encode(){return this.socket.encode}get decode(){return this.socket.decode}get reconnectAfterMs(){return this.socket.reconnectAfterMs}get sendBuffer(){return this.socket.sendBuffer}get stateChangeCallbacks(){return this.socket.stateChangeCallbacks}connect(){this.socket.connect()}disconnect(e,t,n,r=1e4){return new Promise(i=>{setTimeout(()=>i(`timeout`),r),this.socket.disconnect(()=>{e(),i(`ok`)},t,n)})}push(e){this.socket.push(e)}log(e,t,n){this.socket.log(e,t,n)}hasLogger(){return this.socket.hasLogger()}makeRef(){return this.socket.makeRef()}onOpen(e){this.socket.onOpen(e)}onClose(e){this.socket.onClose(e)}onError(e){this.socket.onError(e)}onMessage(e){this.socket.onMessage(e)}isConnected(){return this.socket.isConnected()}isConnecting(){return this.socket.connectionState()==he.connecting}isDisconnecting(){return this.socket.connectionState()==he.closing}connectionState(){return this.socket.connectionState()}endPointURL(){return this.socket.endPointURL()}sendHeartbeat(){this.socket.sendHeartbeat()}getSocket(){return this.socket}};let pt={HEARTBEAT_INTERVAL:25e3,RECONNECT_DELAY:10,HEARTBEAT_TIMEOUT_FALLBACK:100},mt=[1e3,2e3,5e3,1e4];function ht(){let e=new Map;return{get length(){return e.size},clear(){e.clear()},getItem(t){return e.has(t)?e.get(t):null},key(t){return Array.from(e.keys())[t]??null},removeItem(t){e.delete(t)},setItem(t,n){e.set(t,String(n))}}}function gt(){try{if(typeof globalThis<`u`&&globalThis.sessionStorage)return globalThis.sessionStorage}catch{}return ht()}var _t=class{get endPoint(){return this.socketAdapter.endPoint}get timeout(){return this.socketAdapter.timeout}get transport(){return this.socketAdapter.transport}get heartbeatCallback(){return this.socketAdapter.heartbeatCallback}get heartbeatIntervalMs(){return this.socketAdapter.heartbeatIntervalMs}get heartbeatTimer(){return this.worker?this._workerHeartbeatTimer:this.socketAdapter.heartbeatTimer}get pendingHeartbeatRef(){return this.worker?this._pendingWorkerHeartbeatRef:this.socketAdapter.pendingHeartbeatRef}get reconnectTimer(){return this.socketAdapter.reconnectTimer}get vsn(){return this.socketAdapter.vsn}get encode(){return this.socketAdapter.encode}get decode(){return this.socketAdapter.decode}get reconnectAfterMs(){return this.socketAdapter.reconnectAfterMs}get sendBuffer(){return this.socketAdapter.sendBuffer}get stateChangeCallbacks(){return this.socketAdapter.stateChangeCallbacks}constructor(e,t){if(this.channels=[],this.accessTokenValue=null,this.accessToken=null,this.apiKey=null,this.httpEndpoint=``,this.headers={},this.params={},this.ref=0,this.serializer=new ge,this._manuallySetToken=!1,this._authPromise=null,this._authGeneration=0,this._workerHeartbeatTimer=void 0,this._pendingWorkerHeartbeatRef=null,this._pendingDisconnectTimer=null,this._disconnectOnEmptyChannelsAfterMs=0,this._resolveFetch=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),!t?.params?.apikey)throw Error(`API key is required to connect to Realtime`);this.apiKey=t.params.apikey,this.socketAdapter=new ft(e,this._initializeOptions(t)),this.httpEndpoint=Ee(e),this.fetch=this._resolveFetch(t?.fetch)}connect(){if(!(this.isConnecting()||this.isDisconnecting()||this.isConnected())){this.accessToken&&!this._authPromise&&this._setAuthSafely(`connect`),this._setupConnectionHandlers();try{this.socketAdapter.connect()}catch(e){let t=e.message;throw Error(`WebSocket not available: ${t}`)}this._handleNodeJsRaceCondition()}}endpointURL(){return this.socketAdapter.endPointURL()}async disconnect(e,t){return this._cancelPendingDisconnect(),this.isDisconnecting()?`ok`:await this.socketAdapter.disconnect(()=>{clearInterval(this._workerHeartbeatTimer),this._terminateWorker()},e,t)}getChannels(){return this.channels}async removeChannel(e){let t=await e.unsubscribe();return t===`ok`&&e.teardown(),t}async removeAllChannels(){let e=this.channels.map(async e=>{let t=await e.unsubscribe();return e.teardown(),t}),t=await Promise.all(e);return await this.disconnect(),t}log(e,t,n){this.socketAdapter.log(e,t,n)}hasLogger(){return this.socketAdapter.hasLogger()}connectionState(){return this.socketAdapter.connectionState()||he.closed}isConnected(){return this.socketAdapter.isConnected()}isConnecting(){return this.socketAdapter.isConnecting()}isDisconnecting(){return this.socketAdapter.isDisconnecting()}channel(e,t={config:{}}){let n=`realtime:${e}`,r=this.getChannels().find(e=>e.topic===n);if(r)return r;{let n=new dt(`realtime:${e}`,t,this);return this._cancelPendingDisconnect(),this.channels.push(n),n}}push(e){this.socketAdapter.push(e)}async setAuth(e=null){let t=++this._authGeneration,n=this._performAuth(e,t);t===this._authGeneration&&(this._authPromise=n);try{await n}finally{this._authPromise===n&&(this._authPromise=null)}}_isManualToken(){return this._manuallySetToken}async sendHeartbeat(){this.socketAdapter.sendHeartbeat()}onHeartbeat(e){this.socketAdapter.heartbeatCallback=this._wrapHeartbeatCallback(e)}_makeRef(){return this.socketAdapter.makeRef()}_remove(e){this.channels=this.channels.filter(t=>t.topic!==e.topic),this.channels.length===0&&(this.log(`transport`,`no channels remaining, scheduling disconnect`),this._schedulePendingDisconnect())}_schedulePendingDisconnect(){if(this._cancelPendingDisconnect(),this._disconnectOnEmptyChannelsAfterMs===0){this.log(`transport`,`disconnecting immediately - no channels`),this.disconnect();return}this._pendingDisconnectTimer=setTimeout(()=>{this._pendingDisconnectTimer=null,this.channels.length===0&&(this.log(`transport`,`deferred disconnect fired - no channels, disconnecting`),this.disconnect())},this._disconnectOnEmptyChannelsAfterMs),this.log(`transport`,`deferred disconnect scheduled in ${this._disconnectOnEmptyChannelsAfterMs}ms`)}_cancelPendingDisconnect(){this._pendingDisconnectTimer!==null&&(this.log(`transport`,`pending disconnect cancelled - channel activity detected`),clearTimeout(this._pendingDisconnectTimer),this._pendingDisconnectTimer=null)}async _performAuth(e,t){let n,r=!1;if(e)n=e,r=!0;else if(this.accessToken)try{n=await this.accessToken()}catch(e){this.log(`error`,`Error fetching access token from callback`,e),n=this.accessTokenValue}else n=this.accessTokenValue;t===this._authGeneration&&(this.accessToken?this._manuallySetToken=!1:r&&(this._manuallySetToken=!0),this.accessTokenValue!=n&&(this.accessTokenValue=n,this.channels.forEach(e=>{let t={access_token:n,version:`realtime-js/2.117.2`};e.updateJoinPayload(t),e.joinedOnce&&e.channelAdapter.isJoined()&&e.channelAdapter.push(me.access_token,{access_token:n})})))}async _waitForAuthIfNeeded(){this._authPromise&&await this._authPromise}_setAuthSafely(e=`general`){this._isManualToken()||this.setAuth().catch(t=>{this.log(`error`,`Error setting auth in ${e}`,t)})}_setupConnectionHandlers(){this.socketAdapter.onOpen(()=>{(this._authPromise||(this.accessToken&&!this.accessTokenValue?this.setAuth():Promise.resolve())).catch(e=>{this.log(`error`,`error waiting for auth on connect`,e)}),this.worker&&!this.workerRef&&this._startWorkerHeartbeat()}),this.socketAdapter.onClose(()=>{this.worker&&this.workerRef&&this._terminateWorker()}),this.socketAdapter.onMessage(e=>{e.ref&&e.ref===this._pendingWorkerHeartbeatRef&&(this._pendingWorkerHeartbeatRef=null)})}_handleNodeJsRaceCondition(){this.socketAdapter.isConnected()&&this.socketAdapter.getSocket().onConnOpen()}_wrapHeartbeatCallback(e){return(t,n)=>{t!==`disconnected`&&(t==`sent`&&this._setAuthSafely(),e&&e(t,n))}}_startWorkerHeartbeat(){this.workerUrl?this.log(`worker`,`starting worker for from ${this.workerUrl}`):this.log(`worker`,`starting default worker`);let e=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(e),this.workerRef.onerror=e=>{this.log(`worker`,`worker error`,e.message),this._terminateWorker(),this.disconnect()},this.workerRef.onmessage=e=>{e.data.event===`keepAlive`&&this.sendHeartbeat()},this.workerRef.postMessage({event:`start`,interval:this.heartbeatIntervalMs})}_terminateWorker(){this.workerRef&&=(this.log(`worker`,`terminating worker`),this.workerRef.terminate(),void 0)}_workerObjectUrl(e){let t;if(e)t=e;else{let e=new Blob([` + addEventListener("message", (e) => { + if (e.data.event === "start") { + setInterval(() => postMessage({ event: "keepAlive" }), e.data.interval); + } + });`],{type:`application/javascript`});t=URL.createObjectURL(e)}return t}_initializeOptions(e){this.worker=e?.worker??!1,this.accessToken=e?.accessToken??null;let t={};t.timeout=e?.timeout??1e4,t.heartbeatIntervalMs=e?.heartbeatIntervalMs??pt.HEARTBEAT_INTERVAL,this._disconnectOnEmptyChannelsAfterMs=e?.disconnectOnEmptyChannelsAfterMs??2*(e?.heartbeatIntervalMs??pt.HEARTBEAT_INTERVAL),t.transport=e?.transport??pe.getWebSocketConstructor(),t.params=e?.params,t.logger=e?.logger,t.heartbeatCallback=this._wrapHeartbeatCallback(e?.heartbeatCallback),t.sessionStorage=e?.sessionStorage??gt(),t.reconnectAfterMs=e?.reconnectAfterMs??(e=>mt[e-1]||1e4);let n,r,i=e?.vsn??`2.0.0`;switch(i){case`1.0.0`:n=(e,t)=>t(JSON.stringify(e)),r=(e,t)=>t(JSON.parse(e));break;case`2.0.0`:n=this.serializer.encode.bind(this.serializer),r=this.serializer.decode.bind(this.serializer);break;default:throw Error(`Unsupported serializer version: ${t.vsn}`)}if(t.vsn=i,t.encode=e?.encode??n,t.decode=e?.decode??r,t.beforeReconnect=this._reconnectAuth.bind(this),(e?.logLevel||e?.log_level)&&(this.logLevel=e.logLevel||e.log_level,t.params=Object.assign(Object.assign({},t.params),{log_level:this.logLevel})),this.worker){if(typeof window<`u`&&!window.Worker)throw Error(`Web Worker is not supported`);this.workerUrl=e?.workerUrl,t.autoSendHeartbeat=!this.worker}return t}async _reconnectAuth(){await this._waitForAuthIfNeeded(),this.isConnected()||this.connect()}},vt=class extends Error{constructor(e,t){super(e),this.name=`IcebergError`,this.status=t.status,this.icebergType=t.icebergType,this.icebergCode=t.icebergCode,this.details=t.details,this.isCommitStateUnknown=t.icebergType===`CommitStateUnknownException`||[500,502,504].includes(t.status)&&t.icebergType?.includes(`CommitState`)===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function yt(e,t,n){let r=new URL(t,e);if(n)for(let[e,t]of Object.entries(n))t!==void 0&&r.searchParams.set(e,t);return r.toString()}async function bt(e){return!e||e.type===`none`?{}:e.type===`bearer`?{Authorization:`Bearer ${e.token}`}:e.type===`header`?{[e.name]:e.value}:e.type===`custom`?await e.getHeaders():{}}function xt(e){let t=e.fetchImpl??globalThis.fetch;return{async request({method:n,path:r,query:i,body:a,headers:o}){let s=yt(e.baseUrl,r,i),c=await bt(e.auth),l=await t(s,{method:n,headers:{...a?{"Content-Type":`application/json`}:{},...c,...o},body:a?JSON.stringify(a):void 0}),u=await l.text(),d=(l.headers.get(`content-type`)||``).includes(`application/json`),f=d&&u?JSON.parse(u):u;if(!l.ok){let e=d?f:void 0,t=e?.error;throw new vt(t?.message??`Request failed with status ${l.status}`,{status:l.status,icebergType:t?.type,icebergCode:t?.code,details:e})}return{status:l.status,headers:l.headers,data:f}}}}function St(e){return e.join(``)}var Ct=class{constructor(e,t=``){this.client=e,this.prefix=t}async listNamespaces(e){let t=e?{parent:St(e.namespace)}:void 0;return(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces`,query:t})).data.namespaces.map(e=>({namespace:e}))}async createNamespace(e,t){let n={namespace:e.namespace,properties:t?.properties};return(await this.client.request({method:`POST`,path:`${this.prefix}/namespaces`,body:n})).data}async dropNamespace(e){await this.client.request({method:`DELETE`,path:`${this.prefix}/namespaces/${St(e.namespace)}`})}async loadNamespaceMetadata(e){return{properties:(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces/${St(e.namespace)}`})).data.properties}}async namespaceExists(e){try{return await this.client.request({method:`HEAD`,path:`${this.prefix}/namespaces/${St(e.namespace)}`}),!0}catch(e){if(e instanceof vt&&e.status===404)return!1;throw e}}async createNamespaceIfNotExists(e,t){try{return await this.createNamespace(e,t)}catch(e){if(e instanceof vt&&e.status===409)return;throw e}}};function wt(e){return e.join(``)}var Tt=class{constructor(e,t=``,n){this.client=e,this.prefix=t,this.accessDelegation=n}async listTables(e){return(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces/${wt(e.namespace)}/tables`})).data.identifiers}async createTable(e,t){let n={};return this.accessDelegation&&(n[`X-Iceberg-Access-Delegation`]=this.accessDelegation),(await this.client.request({method:`POST`,path:`${this.prefix}/namespaces/${wt(e.namespace)}/tables`,body:t,headers:n})).data.metadata}async updateTable(e,t){let n=await this.client.request({method:`POST`,path:`${this.prefix}/namespaces/${wt(e.namespace)}/tables/${e.name}`,body:t});return{"metadata-location":n.data[`metadata-location`],metadata:n.data.metadata}}async dropTable(e,t){await this.client.request({method:`DELETE`,path:`${this.prefix}/namespaces/${wt(e.namespace)}/tables/${e.name}`,query:{purgeRequested:String(t?.purge??!1)}})}async loadTable(e){let t={};return this.accessDelegation&&(t[`X-Iceberg-Access-Delegation`]=this.accessDelegation),(await this.client.request({method:`GET`,path:`${this.prefix}/namespaces/${wt(e.namespace)}/tables/${e.name}`,headers:t})).data.metadata}async tableExists(e){let t={};this.accessDelegation&&(t[`X-Iceberg-Access-Delegation`]=this.accessDelegation);try{return await this.client.request({method:`HEAD`,path:`${this.prefix}/namespaces/${wt(e.namespace)}/tables/${e.name}`,headers:t}),!0}catch(e){if(e instanceof vt&&e.status===404)return!1;throw e}}async createTableIfNotExists(e,t){try{return await this.createTable(e,t)}catch(n){if(n instanceof vt&&n.status===409)return await this.loadTable({namespace:e.namespace,name:t.name});throw n}}},Et=class{constructor(e){let t=`v1`;e.catalogName&&(t+=`/${e.catalogName}`),this.client=xt({baseUrl:e.baseUrl.endsWith(`/`)?e.baseUrl:`${e.baseUrl}/`,auth:e.auth,fetchImpl:e.fetch}),this.accessDelegation=e.accessDelegation?.join(`,`),this.namespaceOps=new Ct(this.client,t),this.tableOps=new Tt(this.client,t,this.accessDelegation)}async listNamespaces(e){return this.namespaceOps.listNamespaces(e)}async createNamespace(e,t){return this.namespaceOps.createNamespace(e,t)}async dropNamespace(e){await this.namespaceOps.dropNamespace(e)}async loadNamespaceMetadata(e){return this.namespaceOps.loadNamespaceMetadata(e)}async listTables(e){return this.tableOps.listTables(e)}async createTable(e,t){return this.tableOps.createTable(e,t)}async updateTable(e,t){return this.tableOps.updateTable(e,t)}async dropTable(e,t){await this.tableOps.dropTable(e,t)}async loadTable(e){return this.tableOps.loadTable(e)}async namespaceExists(e){return this.namespaceOps.namespaceExists(e)}async tableExists(e){return this.tableOps.tableExists(e)}async createNamespaceIfNotExists(e,t){return this.namespaceOps.createNamespaceIfNotExists(e,t)}async createTableIfNotExists(e,t){return this.tableOps.createTableIfNotExists(e,t)}};function Dt(e){"@babel/helpers - typeof";return Dt=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Dt(e)}function Ot(e,t){if(Dt(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Dt(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function kt(e){var t=Ot(e,`string`);return Dt(t)==`symbol`?t:t+``}function At(e,t,n){return(t=kt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function D(e){for(var t=1;te?(...t)=>e(...t):(...e)=>fetch(...e),zt=e=>{if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},Bt=e=>{if(Array.isArray(e))return e.map(e=>Bt(e));if(typeof e==`function`||e!==Object(e))return e;let t={};return Object.entries(e).forEach(([e,n])=>{let r=e.replace(/([-_][a-z])/gi,e=>e.toUpperCase().replace(/[-_]/g,``));t[r]=Bt(n)}),t},Vt=e=>!e||typeof e!=`string`||e.length===0||e.length>100||e.trim()!==e||e.includes(`/`)||e.includes(`\\`)?!1:/^[\w!.\*'() &$@=;:+,?-]+$/.test(e),Ht=e=>e.split(`/`).map(encodeURIComponent).join(`/`),Ut=e=>{if(typeof e==`object`&&e){let t=e;if(typeof t.msg==`string`)return t.msg;if(typeof t.message==`string`)return t.message;if(typeof t.error_description==`string`)return t.error_description;if(typeof t.error==`string`)return t.error;if(typeof t.error==`object`&&t.error!==null){let e=t.error;if(typeof e.message==`string`)return e.message}}return JSON.stringify(e)},Wt=async(e,t,n,r)=>{if(typeof e==`object`&&e&&`json`in e&&typeof e.json==`function`){let n=e,i=parseInt(String(n.status),10);Number.isFinite(i)||(i=500),n.json().then(e=>{let n=e?.statusCode||e?.code||i+``;t(new Pt(Ut(e),i,n,r,e?.code))}).catch(()=>{let e=i+``;t(new Pt(n.statusText||`HTTP ${i} error`,i,e,r))})}else t(new Ft(Ut(e),e,r))},Gt=(e,t,n,r)=>{let i={method:e,headers:t?.headers||{}};if(e===`GET`||e===`HEAD`||!r)return D(D({},i),n);if(zt(r)){let e=t?.headers||{},n;for(let[t,r]of Object.entries(e))t.toLowerCase()===`content-type`&&(n=r);i.headers=It(e,`Content-Type`,n??`application/json`),i.body=JSON.stringify(r)}else i.body=r;return t?.duplex&&(i.duplex=t.duplex),D(D({},i),n)};async function Kt(e,t,n,r,i,a,o){return new Promise((s,c)=>{e(n,Gt(t,r,i,a)).then(e=>{if(!e.ok)throw e;if(r?.noResolveJson)return e;if(o===`vectors`){let t=e.headers.get(`content-type`);if(e.headers.get(`content-length`)===`0`||e.status===204||!t||!t.includes(`application/json`))return{}}return e.json()}).then(e=>s(e)).catch(e=>Wt(e,c,r,o))})}function qt(e=`storage`){return{get:async(t,n,r,i)=>Kt(t,`GET`,n,r,i,void 0,e),post:async(t,n,r,i,a)=>Kt(t,`POST`,n,i,a,r,e),put:async(t,n,r,i,a)=>Kt(t,`PUT`,n,i,a,r,e),head:async(t,n,r,i)=>Kt(t,`HEAD`,n,D(D({},r),{},{noResolveJson:!0}),i,void 0,e),remove:async(t,n,r,i,a)=>Kt(t,`DELETE`,n,i,a,r,e)}}let{get:O,post:k,put:Jt,head:Yt,remove:A}=qt(`storage`),j=qt(`vectors`);var Xt=class{constructor(e,t={},n,r=`storage`){this.shouldThrowOnError=!1,this.url=e,this.headers=Lt(t),this.fetch=Rt(n),this.namespace=r}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(e,t){return this.headers=It(this.headers,e,t),this}async handleOperation(e){var t=this;try{return{data:await e(),error:null}}catch(e){if(t.shouldThrowOnError)throw e;if(Nt(e))return{data:null,error:e};throw e}}};let Zt;Zt=Symbol.toStringTag;var Qt=class{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t,this[Zt]=`StreamDownloadBuilder`,this.promise=null}then(e,t){return this.getPromise().then(e,t)}catch(e){return this.getPromise().catch(e)}finally(e){return this.getPromise().finally(e)}getPromise(){return this.promise||=this.execute(),this.promise}async execute(){var e=this;try{return{data:(await e.downloadFn()).body,error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(Nt(t))return{data:null,error:t};throw t}}};let $t;$t=Symbol.toStringTag;var en=class{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t,this[$t]=`BlobDownloadBuilder`,this.promise=null}asStream(){return new Qt(this.downloadFn,this.shouldThrowOnError)}then(e,t){return this.getPromise().then(e,t)}catch(e){return this.getPromise().catch(e)}finally(e){return this.getPromise().finally(e)}getPromise(){return this.promise||=this.execute(),this.promise}async execute(){var e=this;try{return{data:await(await e.downloadFn()).blob(),error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(Nt(t))return{data:null,error:t};throw t}}};let tn={limit:100,offset:0,sortBy:{column:`name`,order:`asc`}},nn={cacheControl:`3600`,contentType:`text/plain;charset=UTF-8`,upsert:!1};var rn=class extends Xt{constructor(e,t={},n,r){super(e,t,r,`storage`),this.bucketId=n}async uploadOrUpdate(e,t,n,r){var i=this;return i.handleOperation(async()=>{let a,o=D(D({},nn),r),s=D(D({},i.headers),e===`POST`&&{"x-upsert":String(o.upsert)}),c=o.metadata;if(typeof Blob<`u`&&n instanceof Blob?(a=new FormData,a.append(`cacheControl`,o.cacheControl),c&&a.append(`metadata`,i.encodeMetadata(c)),a.append(``,n)):typeof FormData<`u`&&n instanceof FormData?(a=n,a.has(`cacheControl`)||a.append(`cacheControl`,o.cacheControl),c&&!a.has(`metadata`)&&a.append(`metadata`,i.encodeMetadata(c))):(a=n,s[`cache-control`]=`max-age=${o.cacheControl}`,s[`content-type`]=o.contentType,c&&(s[`x-metadata`]=i.toBase64(i.encodeMetadata(c))),(typeof ReadableStream<`u`&&a instanceof ReadableStream||a&&typeof a==`object`&&`pipe`in a&&typeof a.pipe==`function`)&&!o.duplex&&(o.duplex=`half`)),r?.headers)for(let[e,t]of Object.entries(r.headers))s=It(s,e,t);let l=i._removeEmptyFolders(t),u=i._getFinalPath(l),d=await(e==`PUT`?Jt:k)(i.fetch,`${i.url}/object/${u}`,a,D({headers:s},o?.duplex?{duplex:o.duplex}:{}));return{path:l,id:d.Id,fullPath:d.Key}})}async upload(e,t,n){return this.uploadOrUpdate(`POST`,e,t,n)}async uploadToSignedUrl(e,t,n,r){var i=this;let a=i._removeEmptyFolders(e),o=i._getFinalPath(a),s=new URL(i.url+`/object/upload/sign/${o}`);return s.searchParams.set(`token`,t),i.handleOperation(async()=>{let e,t=D(D({},nn),r),o=D(D({},i.headers),{"x-upsert":String(t.upsert)}),c=t.metadata;if(typeof Blob<`u`&&n instanceof Blob?(e=new FormData,e.append(`cacheControl`,t.cacheControl),c&&e.append(`metadata`,i.encodeMetadata(c)),e.append(``,n)):typeof FormData<`u`&&n instanceof FormData?(e=n,e.has(`cacheControl`)||e.append(`cacheControl`,t.cacheControl),c&&!e.has(`metadata`)&&e.append(`metadata`,i.encodeMetadata(c))):(e=n,o[`cache-control`]=`max-age=${t.cacheControl}`,o[`content-type`]=t.contentType,c&&(o[`x-metadata`]=i.toBase64(i.encodeMetadata(c))),(typeof ReadableStream<`u`&&e instanceof ReadableStream||e&&typeof e==`object`&&`pipe`in e&&typeof e.pipe==`function`)&&!t.duplex&&(t.duplex=`half`)),r?.headers)for(let[e,t]of Object.entries(r.headers))o=It(o,e,t);return{path:a,fullPath:(await Jt(i.fetch,s.toString(),e,D({headers:o},t?.duplex?{duplex:t.duplex}:{}))).Key}})}async createSignedUploadUrl(e,t){var n=this;return n.handleOperation(async()=>{let r=n._getFinalPath(e),i=D({},n.headers);t?.upsert&&(i[`x-upsert`]=`true`);let a=await k(n.fetch,`${n.url}/object/upload/sign/${r}`,{},{headers:i}),o=new URL(n.url+a.url),s=o.searchParams.get(`token`);if(!s)throw new Mt(`No token returned by API`);return{signedUrl:o.toString(),path:e,token:s}})}async update(e,t,n){return this.uploadOrUpdate(`PUT`,e,t,n)}async move(e,t,n){var r=this;return r.handleOperation(async()=>await k(r.fetch,`${r.url}/object/move`,{bucketId:r.bucketId,sourceKey:e,destinationKey:t,destinationBucket:n?.destinationBucket,sourceVersionId:n?.sourceVersionId},{headers:r.headers}))}async copy(e,t,n){var r=this;return r.handleOperation(async()=>({path:(await k(r.fetch,`${r.url}/object/copy`,{bucketId:r.bucketId,sourceKey:e,destinationKey:t,destinationBucket:n?.destinationBucket,sourceVersionId:n?.sourceVersionId},{headers:r.headers})).Key}))}async createSignedUrl(e,t,n){var r=this;return r.handleOperation(async()=>{let i=r._getFinalPath(e),a=typeof n?.transform==`object`&&n.transform!==null&&Object.keys(n.transform).length>0,o=await k(r.fetch,`${r.url}/object/sign/${i}`,D(D({expiresIn:t},a?{transform:n.transform}:{}),n?.versionId==null?{}:{versionId:n.versionId}),{headers:r.headers}),s=new URLSearchParams;n?.download&&s.set(`download`,n.download===!0?``:n.download),n?.cacheNonce!=null&&s.set(`cacheNonce`,String(n.cacheNonce));let c=s.toString();return{signedUrl:encodeURI(`${r.url}${o.signedURL}${c?`&${c}`:``}`)}})}async createSignedUrls(e,t,n){var r=this;return r.handleOperation(async()=>{let i=await k(r.fetch,`${r.url}/object/sign/${r.bucketId}`,{expiresIn:t,paths:e},{headers:r.headers}),a=new URLSearchParams;n?.download&&a.set(`download`,n.download===!0?``:n.download),n?.cacheNonce!=null&&a.set(`cacheNonce`,String(n.cacheNonce));let o=a.toString();return i.map(e=>D(D({},e),{},{signedUrl:e.signedURL?encodeURI(`${r.url}${e.signedURL}${o?`&${o}`:``}`):null}))})}download(e,t,n){let r=typeof t?.transform==`object`&&t.transform!==null&&Object.keys(t.transform).length>0?`render/image/authenticated`:`object`,i=new URLSearchParams;t?.transform&&this.applyTransformOptsToQuery(i,t.transform),t?.cacheNonce!=null&&i.set(`cacheNonce`,String(t.cacheNonce)),t?.versionId!=null&&i.set(`versionId`,String(t.versionId));let a=i.toString(),o=this._getFinalPath(e);return new en(()=>O(this.fetch,`${this.url}/${r}/${o}${a?`?${a}`:``}`,{headers:this.headers,noResolveJson:!0},n),this.shouldThrowOnError)}async info(e,t){var n=this;let r=n._getFinalPath(e),i=new URLSearchParams;t?.versionId!=null&&i.set(`versionId`,String(t.versionId));let a=i.toString();return n.handleOperation(async()=>Bt(await O(n.fetch,`${n.url}/object/info/${r}${a?`?${a}`:``}`,{headers:n.headers})))}async exists(e){var t=this;let n=t._getFinalPath(e);try{return await Yt(t.fetch,`${t.url}/object/${n}`,{headers:t.headers}),{data:!0,error:null}}catch(e){if(t.shouldThrowOnError)throw e;if(Nt(e)){let t=e instanceof Pt?e.status:e instanceof Ft?e.originalError?.status:void 0;if(t!==void 0&&[400,404].includes(t))return{data:!1,error:e}}throw e}}getPublicUrl(e,t){let n=this._getFinalPath(e),r=new URLSearchParams;t?.download&&r.set(`download`,t.download===!0?``:t.download),t?.transform&&this.applyTransformOptsToQuery(r,t.transform),t?.cacheNonce!=null&&r.set(`cacheNonce`,String(t.cacheNonce)),t?.versionId!=null&&r.set(`versionId`,String(t.versionId));let i=r.toString(),a=typeof t?.transform==`object`&&t.transform!==null&&Object.keys(t.transform).length>0?`render/image`:`object`;return{data:{publicUrl:encodeURI(`${this.url}/${a}/public/${n}`)+(i?`?${i}`:``)}}}async remove(e){var t=this;return t.handleOperation(async()=>await A(t.fetch,`${t.url}/object/${t.bucketId}`,{prefixes:e},{headers:t.headers}))}async purgeCache(e,t,n){var r=this;return r.handleOperation(async()=>{let i=Ht(r._getFinalPath(e)),a=new URLSearchParams;t?.transformations&&a.set(`transformations`,`true`);let o=a.toString();return await A(r.fetch,`${r.url}/cdn/${i}${o?`?${o}`:``}`,{},{headers:r.headers},n)})}async list(e,t,n){var r=this;return r.handleOperation(async()=>{let i=t?.sortBy?D(D({},tn.sortBy),t.sortBy):tn.sortBy,a=D(D(D({},tn),t),{},{sortBy:i,prefix:e||``});return await k(r.fetch,`${r.url}/object/list/${r.bucketId}`,a,{headers:r.headers},n)})}async listV2(e,t){var n=this;return n.handleOperation(async()=>{let r=D({},e);return await k(n.fetch,`${n.url}/object/list-v2/${n.bucketId}`,r,{headers:n.headers},t)})}encodeMetadata(e){return JSON.stringify(e)}toBase64(e){return typeof Buffer<`u`?Buffer.from(e).toString(`base64`):btoa(e)}_getFinalPath(e){return`${this.bucketId}/${e.replace(/^\/+/,``)}`}_removeEmptyFolders(e){return e.replace(/^\/|\/$/g,``).replace(/\/+/g,`/`)}applyTransformOptsToQuery(e,t){return t.width&&e.set(`width`,t.width.toString()),t.height&&e.set(`height`,t.height.toString()),t.resize&&e.set(`resize`,t.resize),t.format&&e.set(`format`,t.format),t.quality&&e.set(`quality`,t.quality.toString()),e}};let an={"X-Client-Info":`storage-js/2.117.2`};var on=class extends Xt{constructor(e,t={},n,r){let i=new URL(e);r?.useNewHostname&&/supabase\.(co|in|red)$/.test(i.hostname)&&!i.hostname.includes(`storage.supabase.`)&&(i.hostname=i.hostname.replace(`supabase.`,`storage.supabase.`));let a=i.href.replace(/\/$/,``),o=D(D({},an),t);super(a,o,n,`storage`)}async listBuckets(e){var t=this;return t.handleOperation(async()=>{let n=t.listBucketOptionsToQueryString(e);return await O(t.fetch,`${t.url}/bucket${n}`,{headers:t.headers})})}async getBucket(e){var t=this;return t.handleOperation(async()=>await O(t.fetch,`${t.url}/bucket/${e}`,{headers:t.headers}))}async createBucket(e,t={public:!1}){var n=this;return n.handleOperation(async()=>await k(n.fetch,`${n.url}/bucket`,{id:e,name:e,type:t.type,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes,versioning_status:t.versioningStatus},{headers:n.headers}))}async updateBucket(e,t){var n=this;return n.handleOperation(async()=>await Jt(n.fetch,`${n.url}/bucket/${e}`,{id:e,name:e,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes,versioning_status:t.versioningStatus},{headers:n.headers}))}async emptyBucket(e){var t=this;return t.handleOperation(async()=>await k(t.fetch,`${t.url}/bucket/${e}/empty`,{},{headers:t.headers}))}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await A(t.fetch,`${t.url}/bucket/${e}`,{},{headers:t.headers}))}async getBucketLifecycle(e){var t=this;return t.handleOperation(async()=>await O(t.fetch,t.bucketLifecycleUrl(e),{headers:t.headers}))}async updateBucketLifecycle(e,t){var n=this;return n.handleOperation(async()=>await Jt(n.fetch,n.bucketLifecycleUrl(e),t,{headers:n.headers}))}async deleteBucketLifecycle(e){var t=this;return t.handleOperation(async()=>await A(t.fetch,t.bucketLifecycleUrl(e),{},{headers:t.headers}))}async purgeBucketCache(e,t,n){var r=this;return r.handleOperation(async()=>{let i=new URLSearchParams;t?.transformations&&i.set(`transformations`,`true`);let a=i.toString();return await A(r.fetch,`${r.url}/cdn/${Ht(e)}${a?`?${a}`:``}`,{},{headers:r.headers},n)})}bucketLifecycleUrl(e){return`${this.url}/bucket/${Ht(e)}/lifecycle`}listBucketOptionsToQueryString(e){let t={};return e&&(`limit`in e&&(t.limit=String(e.limit)),`offset`in e&&(t.offset=String(e.offset)),e.search&&(t.search=e.search),e.sortColumn&&(t.sortColumn=e.sortColumn),e.sortOrder&&(t.sortOrder=e.sortOrder)),Object.keys(t).length>0?`?`+new URLSearchParams(t).toString():``}},sn=class extends Xt{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=D(D({},an),t);super(r,i,n,`storage`)}async createBucket(e){var t=this;return t.handleOperation(async()=>await k(t.fetch,`${t.url}/bucket`,{name:e},{headers:t.headers}))}async listBuckets(e){var t=this;return t.handleOperation(async()=>{let n=new URLSearchParams;e?.limit!==void 0&&n.set(`limit`,e.limit.toString()),e?.offset!==void 0&&n.set(`offset`,e.offset.toString()),e?.sortColumn&&n.set(`sortColumn`,e.sortColumn),e?.sortOrder&&n.set(`sortOrder`,e.sortOrder),e?.search&&n.set(`search`,e.search);let r=n.toString(),i=r?`${t.url}/bucket?${r}`:`${t.url}/bucket`;return await O(t.fetch,i,{headers:t.headers})})}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await A(t.fetch,`${t.url}/bucket/${e}`,{},{headers:t.headers}))}from(e){var t=this;if(!Vt(e))throw new Mt(`Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.`);let n=new Et({baseUrl:this.url,catalogName:e,auth:{type:`custom`,getHeaders:async()=>t.headers},fetch:this.fetch}),r=this.shouldThrowOnError;return new Proxy(n,{get(e,t){let n=e[t];return typeof n==`function`?async(...t)=>{try{return{data:await n.apply(e,t),error:null}}catch(e){if(r)throw e;return{data:null,error:e}}}:n}})}},cn=class extends Xt{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=D(D({},an),{},{"Content-Type":`application/json`},t);super(r,i,n,`vectors`)}async createIndex(e){var t=this;return t.handleOperation(async()=>await j.post(t.fetch,`${t.url}/CreateIndex`,e,{headers:t.headers})||{})}async getIndex(e,t){var n=this;return n.handleOperation(async()=>await j.post(n.fetch,`${n.url}/GetIndex`,{vectorBucketName:e,indexName:t},{headers:n.headers}))}async listIndexes(e){var t=this;return t.handleOperation(async()=>await j.post(t.fetch,`${t.url}/ListIndexes`,e,{headers:t.headers}))}async deleteIndex(e,t){var n=this;return n.handleOperation(async()=>await j.post(n.fetch,`${n.url}/DeleteIndex`,{vectorBucketName:e,indexName:t},{headers:n.headers})||{})}},ln=class extends Xt{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=D(D({},an),{},{"Content-Type":`application/json`},t);super(r,i,n,`vectors`)}async putVectors(e){var t=this;if(e.vectors.length<1||e.vectors.length>500)throw Error(`Vector batch size must be between 1 and 500 items`);return t.handleOperation(async()=>await j.post(t.fetch,`${t.url}/PutVectors`,e,{headers:t.headers})||{})}async getVectors(e){var t=this;return t.handleOperation(async()=>await j.post(t.fetch,`${t.url}/GetVectors`,e,{headers:t.headers}))}async listVectors(e){var t=this;if(e.segmentCount!==void 0){if(e.segmentCount<1||e.segmentCount>16)throw Error(`segmentCount must be between 1 and 16`);if(e.segmentIndex!==void 0&&(e.segmentIndex<0||e.segmentIndex>=e.segmentCount))throw Error(`segmentIndex must be between 0 and ${e.segmentCount-1}`)}return t.handleOperation(async()=>await j.post(t.fetch,`${t.url}/ListVectors`,e,{headers:t.headers}))}async queryVectors(e){var t=this;return t.handleOperation(async()=>await j.post(t.fetch,`${t.url}/QueryVectors`,e,{headers:t.headers}))}async deleteVectors(e){var t=this;if(e.keys.length<1||e.keys.length>500)throw Error(`Keys batch size must be between 1 and 500 items`);return t.handleOperation(async()=>await j.post(t.fetch,`${t.url}/DeleteVectors`,e,{headers:t.headers})||{})}},un=class extends Xt{constructor(e,t={},n){let r=e.replace(/\/$/,``),i=D(D({},an),{},{"Content-Type":`application/json`},t);super(r,i,n,`vectors`)}async createBucket(e){var t=this;return t.handleOperation(async()=>await j.post(t.fetch,`${t.url}/CreateVectorBucket`,{vectorBucketName:e},{headers:t.headers})||{})}async getBucket(e){var t=this;return t.handleOperation(async()=>await j.post(t.fetch,`${t.url}/GetVectorBucket`,{vectorBucketName:e},{headers:t.headers}))}async listBuckets(e={}){var t=this;return t.handleOperation(async()=>await j.post(t.fetch,`${t.url}/ListVectorBuckets`,e,{headers:t.headers}))}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await j.post(t.fetch,`${t.url}/DeleteVectorBucket`,{vectorBucketName:e},{headers:t.headers})||{})}},dn=class extends un{constructor(e,t={}){super(e,t.headers||{},t.fetch)}from(e){return new fn(this.url,this.headers,e,this.fetch)}async createBucket(e){var t=()=>super.createBucket,n=this;return t().call(n,e)}async getBucket(e){var t=()=>super.getBucket,n=this;return t().call(n,e)}async listBuckets(e={}){var t=()=>super.listBuckets,n=this;return t().call(n,e)}async deleteBucket(e){var t=()=>super.deleteBucket,n=this;return t().call(n,e)}},fn=class extends cn{constructor(e,t,n,r){super(e,t,r),this.vectorBucketName=n}async createIndex(e){var t=()=>super.createIndex,n=this;return t().call(n,D(D({},e),{},{vectorBucketName:n.vectorBucketName}))}async listIndexes(e={}){var t=()=>super.listIndexes,n=this;return t().call(n,D(D({},e),{},{vectorBucketName:n.vectorBucketName}))}async getIndex(e){var t=()=>super.getIndex,n=this;return t().call(n,n.vectorBucketName,e)}async deleteIndex(e){var t=()=>super.deleteIndex,n=this;return t().call(n,n.vectorBucketName,e)}index(e){return new pn(this.url,this.headers,this.vectorBucketName,e,this.fetch)}},pn=class extends ln{constructor(e,t,n,r,i){super(e,t,i),this.vectorBucketName=n,this.indexName=r}async putVectors(e){var t=()=>super.putVectors,n=this;return t().call(n,D(D({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async getVectors(e){var t=()=>super.getVectors,n=this;return t().call(n,D(D({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async listVectors(e={}){var t=()=>super.listVectors,n=this;return t().call(n,D(D({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async queryVectors(e){var t=()=>super.queryVectors,n=this;return t().call(n,D(D({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}async deleteVectors(e){var t=()=>super.deleteVectors,n=this;return t().call(n,D(D({},e),{},{vectorBucketName:n.vectorBucketName,indexName:n.indexName}))}},mn=class extends on{constructor(e,t={},n,r){super(e,t,n,r)}from(e){return new rn(this.url,this.headers,e,this.fetch)}get vectors(){return new dn(this.url+`/vector`,{headers:this.headers,fetch:this.fetch})}get analytics(){return new sn(this.url+`/iceberg`,this.headers,this.fetch)}};let hn=``,gn;typeof Deno<`u`?(hn=`deno`,gn=Deno.version?.deno):typeof document<`u`?hn=`web`:typeof navigator<`u`&&navigator.product===`ReactNative`?hn=`react-native`:(hn=`node`,gn=globalThis.process?.version?.replace(/^v/,``));let _n=[`runtime=${hn}`];gn&&_n.push(`runtime-version=${gn}`);let vn={headers:{"X-Client-Info":`supabase-js/2.117.2; ${_n.join(`; `)}`}},yn={schema:`public`},bn={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:`implicit`},xn={},Sn={enabled:!1,respectSamplingDecision:!0};function Cn(e){if(!e||typeof e!=`string`)return null;let t=e.split(`-`);if(t.length!==4)return null;let[n,r,i,a]=t;if(n.length!==2||r.length!==32||i.length!==16||a.length!==2)return null;let o=/^[0-9a-f]+$/i;return!o.test(n)||!o.test(r)||!o.test(i)||!o.test(a)||r===`00000000000000000000000000000000`||i===`0000000000000000`?null:{version:n,traceId:r,parentId:i,traceFlags:a,isSampled:(parseInt(a,16)&1)==1}}function wn(e,t){if(!e||!t||t.length===0)return!1;let n;if(e instanceof URL)n=e;else try{n=new URL(e)}catch{return!1}for(let e of t)try{if(typeof e==`string`){if(Tn(n.hostname,e))return!0}else if(e instanceof RegExp){if(e.test(n.hostname))return!0}else if(typeof e==`function`&&e(n))return!0}catch{continue}return!1}function Tn(e,t){if(t===e)return!0;if(t.startsWith(`*.`)){let n=t.slice(2);if(e.endsWith(n)&&(e===n||e.endsWith(`.`+n)))return!0}return!1}function En(e){let t=[];try{let n=new URL(e);t.push(n.hostname)}catch{}return t.push(`*.supabase.co`,`*.supabase.in`),t.push(`localhost`,`127.0.0.1`,`[::1]`),t}let Dn=Symbol.for(`@supabase/supabase-js.traceContextExtractor`);function On(){return globalThis[Dn]}let kn=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),An=()=>Headers,jn=e=>e.startsWith(`sb_publishable_`)||e.startsWith(`sb_secret_`),Mn=new Set,Nn=e=>{if(!e.startsWith(`sb_`)||jn(e)||e.startsWith(`sb_temp_`))return;let t=e.match(/^sb_[a-zA-Z0-9]+_/)?.[0]??`unknown`;Mn.has(t)||(Mn.add(t),console.warn(`@supabase/supabase-js: Unrecognized Supabase API key format. The client will proceed and send this key as-is; if you see authentication errors you may need to upgrade @supabase/supabase-js to a version that recognizes this key type.`))},Pn=(e,t,n,r,i,a)=>{let o=kn(r),s=An(),c=i?.enabled===!0,l=i?.respectSamplingDecision!==!1,u=c?En(t):null,d=!(a?.omitApiKeyAsBearer&&jn(e));return async(t,r)=>{let i=await n(),a=new s(r?.headers);if(a.has(`apikey`)||a.set(`apikey`,e),!a.has(`Authorization`)){let t=i??(d?e:null);t&&a.set(`Authorization`,`Bearer ${t}`)}if(u){let e=Ln(t,u,l);e&&(e.traceparent&&!a.has(`traceparent`)&&a.set(`traceparent`,e.traceparent),e.tracestate&&!a.has(`tracestate`)&&a.set(`tracestate`,e.tracestate),e.baggage&&!a.has(`baggage`)&&a.set(`baggage`,e.baggage))}return o(t,{...r,headers:a})}},Fn=!1,In=!1;function Ln(e,t,n){let r=On();if(!r)return Fn||(Fn=!0,console.warn("@supabase/supabase-js: tracePropagation is enabled but the tracing runtime is not loaded, so trace headers will not be attached. Add `import '@supabase/supabase-js/tracing'` at your application entry point (requires the OpenTelemetry API package to be installed). The CDN/UMD build does not support trace propagation.")),null;if(!wn(typeof e==`string`||e instanceof URL?e:e.url,t))return null;let i=r();if(!i||!i.traceparent){if(i?.carrierKeys?.length&&!In){In=!0;let e=i.carrierKeys.includes(`sentry-trace`)?" Sentry detected: set `propagateTraceparent: true` in Sentry.init() to emit it.":` Configure your tracing SDK to emit W3C trace context on outgoing requests.`;console.warn(`@supabase/supabase-js: tracePropagation is enabled and a tracing SDK is active, but its propagator wrote [${i.carrierKeys.join(`, `)}] and no W3C traceparent header, so trace headers will not be attached.`+e)}return null}if(n){let e=Cn(i.traceparent);if(e&&!e.isSampled)return{traceparent:i.traceparent}}return i}function Rn(e){return typeof e==`boolean`?{enabled:e}:e}function zn(e){return e.endsWith(`/`)?e:e+`/`}let Bn=!1;function Vn(e){Bn||typeof e!=`object`||!e||!(`schema`in e)||e.schema===void 0||(Bn=!0,console.warn(`@supabase/supabase-js: The "schema" option must be nested under "db", e.g. createClient(url, key, { db: { schema: 'myschema' } }). A top-level "schema" is ignored and queries go to the default schema.`))}function Hn(e,t){let{db:n,auth:r,realtime:i,global:a}=e,{db:o,auth:s,realtime:c,global:l}=t,u=Rn(e.tracePropagation),d=Rn(t.tracePropagation),f={db:{...o,...n},auth:{...s,...r},realtime:{...c,...i},storage:{},global:{...l,...a,headers:{...l?.headers??{},...a?.headers??{}}},tracePropagation:{enabled:u?.enabled??d?.enabled??!1,respectSamplingDecision:u?.respectSamplingDecision??d?.respectSamplingDecision??!0},accessToken:async()=>``};return e.accessToken?f.accessToken=e.accessToken:delete f.accessToken,f}function Un(e){let t=e?.trim();if(!t)throw Error(`supabaseUrl is required.`);if(!t.match(/^https?:\/\//i))throw Error(`Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.`);try{return new URL(zn(t))}catch{throw Error(`Invalid supabaseUrl: Provided URL is malformed.`)}}let Wn=`2.117.2`,M=30*1e3,Gn=3*M;2*M;let Kn={"X-Client-Info":`gotrue-js/${Wn}`},qn=`X-Supabase-Api-Version`,Jn={"2024-01-01":{timestamp:Date.parse(`2024-01-01T00:00:00.0Z`),name:`2024-01-01`}},Yn=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i,N=`sb_flow_id`;var Xn=class extends Error{constructor(e,t,n){super(e),this.__isAuthError=!0,this.name=`AuthError`,this.status=t,this.code=n}toJSON(){return{name:this.name,message:this.message,status:this.status,code:this.code}}};function P(e){return typeof e==`object`&&!!e&&`__isAuthError`in e}var Zn=class extends Xn{constructor(e,t,n){super(e,t,n),this.name=`AuthApiError`,this.status=t,this.code=n}};function Qn(e){return P(e)&&e.name===`AuthApiError`}var F=class extends Xn{constructor(e,t){super(e),this.name=`AuthUnknownError`,this.originalError=t}},I=class extends Xn{constructor(e,t,n,r){super(e,n,r),this.name=t,this.status=n}},L=class extends I{constructor(){super(`Auth session missing!`,`AuthSessionMissingError`,400,void 0)}};function $n(e){return P(e)&&e.name===`AuthSessionMissingError`}var R=class extends I{constructor(){super(`Auth session or user missing`,`AuthInvalidTokenResponseError`,500,void 0)}},er=class extends I{constructor(e){super(e,`AuthInvalidCredentialsError`,400,void 0)}},tr=class extends I{constructor(e,t=null){super(e,`AuthImplicitGrantRedirectError`,500,void 0),this.details=null,this.details=t}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}};function nr(e){return P(e)&&e.name===`AuthImplicitGrantRedirectError`}var rr=class extends I{constructor(e,t=null){super(e,`AuthPKCEGrantCodeExchangeError`,500,void 0),this.details=null,this.details=t}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}},ir=class extends I{constructor(){super(`PKCE code verifier not found in storage. This can happen if the auth flow was initiated in a different browser or device, or if the storage was cleared. For SSR frameworks (Next.js, SvelteKit, etc.), use @supabase/ssr on both the server and client to store the code verifier in cookies.`,`AuthPKCECodeVerifierMissingError`,400,`pkce_code_verifier_not_found`)}};function ar(e){return P(e)&&e.name===`AuthPKCECodeVerifierMissingError`}var or=class extends I{constructor(e,t){super(e,`AuthRetryableFetchError`,t,void 0)}};function sr(e){return P(e)&&e.name===`AuthRetryableFetchError`}var cr=class extends I{constructor(e=`Refresh result discarded: session state changed mid-flight (e.g., concurrent signOut)`){super(e,`AuthRefreshDiscardedError`,409,void 0)}};function lr(e){return P(e)&&e.name===`AuthRefreshDiscardedError`}var ur=class extends I{constructor(e,t,n){super(e,`AuthWeakPasswordError`,t,`weak_password`),this.reasons=n}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{reasons:this.reasons})}};function dr(e){return P(e)&&e.name===`AuthWeakPasswordError`}var fr=class extends I{constructor(e){super(e,`AuthInvalidJwtError`,400,`invalid_jwt`)}};let pr=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`.split(``),mr=` +\r=`.split(``),hr=(()=>{let e=Array(128);for(let t=0;t=6;)n(pr[t.queue>>t.queuedBits-6&63]),t.queuedBits-=6;else if(t.queuedBits>0)for(t.queue<<=6-t.queuedBits,t.queuedBits=6;t.queuedBits>=6;)n(pr[t.queue>>t.queuedBits-6&63]),t.queuedBits-=6}function _r(e,t,n){let r=hr[e];if(r>-1)for(t.queue=t.queue<<6|r,t.queuedBits+=6;t.queuedBits>=8;)n(t.queue>>t.queuedBits-8&255),t.queuedBits-=8;else if(r===-2)return;else throw Error(`Invalid Base64-URL character "${String.fromCharCode(e)}"`)}function vr(e){let t=[],n=e=>{t.push(String.fromCodePoint(e))},r={utf8seq:0,codepoint:0},i={queue:0,queuedBits:0},a=e=>{xr(e,r,n)};for(let t=0;t>6),t(128|e&63);return}else if(e<=65535){t(224|e>>12),t(128|e>>6&63),t(128|e&63);return}else if(e<=1114111){t(240|e>>18),t(128|e>>12&63),t(128|e>>6&63),t(128|e&63);return}throw Error(`Unrecognized Unicode codepoint: ${e.toString(16)}`)}function br(e,t){for(let n=0;n55295&&r<=56319){let t=(r-55296)*1024&65535;r=(e.charCodeAt(n+1)-56320&65535|t)+65536,n+=1}yr(r,t)}}function xr(e,t,n){if(t.utf8seq===0){if(e<=127){n(e);return}for(let n=1;n<6;n+=1)if(!(e>>7-n&1)){t.utf8seq=n;break}if(t.utf8seq===2)t.codepoint=e&31;else if(t.utf8seq===3)t.codepoint=e&15;else if(t.utf8seq===4)t.codepoint=e&7;else throw Error(`Invalid UTF-8 sequence`);--t.utf8seq}else if(t.utf8seq>0){if(e<=127)throw Error(`Invalid UTF-8 sequence`);t.codepoint=t.codepoint<<6|e&63,--t.utf8seq,t.utf8seq===0&&n(t.codepoint)}}function Sr(e){let t=[],n={queue:0,queuedBits:0},r=e=>{t.push(e)};for(let t=0;tt.push(e)),new Uint8Array(t)}function z(e){let t=[],n={queue:0,queuedBits:0},r=e=>{t.push(e)};return e.forEach(e=>gr(e,n,r)),gr(null,n,r),t.join(``)}function wr(e){return Math.round(Date.now()/1e3)+e}function Tr(){return Symbol(`auth-callback`)}let B=()=>typeof window<`u`&&typeof document<`u`,V={tested:!1,writable:!1},Er=()=>{if(!B())return!1;try{if(typeof globalThis.localStorage!=`object`)return!1}catch{return!1}if(V.tested)return V.writable;let e=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(e,e),globalThis.localStorage.removeItem(e),V.tested=!0,V.writable=!0}catch{V.tested=!0,V.writable=!1}return V.writable};function Dr(e){let t={},n=new URL(e);if(n.hash&&n.hash[0]===`#`)try{new URLSearchParams(n.hash.substring(1)).forEach((e,n)=>{t[n]=e})}catch{}return n.searchParams.forEach((e,n)=>{t[n]=e}),t}let Or=e=>e?(...t)=>e(...t):(...e)=>fetch(...e),kr=e=>typeof e==`object`&&!!e&&`status`in e&&`ok`in e&&`json`in e&&typeof e.json==`function`,H=async(e,t,n)=>{await e.setItem(t,JSON.stringify(n))},U=async(e,t)=>{let n=await e.getItem(t);if(!n)return null;try{return JSON.parse(n)}catch{return null}},W=async(e,t)=>{await e.removeItem(t)};var Ar=class e{constructor(){this.promise=new e.promiseConstructor((e,t)=>{this.resolve=e,this.reject=t})}};Ar.promiseConstructor=Promise;function jr(e){let t=e.split(`.`);if(t.length!==3)throw new fr(`Invalid JWT structure`);for(let e=0;e{setTimeout(()=>t(null),e)})}function Nr(e,t){return new Promise((n,r)=>{(async()=>{for(let i=0;i<1/0;i++)try{let r=await e(i);if(!t(i,null,r)){n(r);return}}catch(e){if(!t(i,e)){r(e);return}}})()})}function Pr(e){return(`0`+e.toString(16)).substr(-2)}function Fr(){let e=new Uint32Array(56);if(typeof crypto>`u`){let e=``;for(let t=0;t<56;t++)e+=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~`.charAt(Math.floor(Math.random()*66));return e}return crypto.getRandomValues(e),Array.from(e,Pr).join(``)}async function Ir(e){let t=new TextEncoder().encode(e),n=await crypto.subtle.digest(`SHA-256`,t),r=new Uint8Array(n);return Array.from(r).map(e=>String.fromCharCode(e)).join(``)}async function Lr(e){if(!(typeof crypto<`u`&&crypto.subtle!==void 0&&typeof TextEncoder<`u`))return console.warn(`WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256.`),e;let t=await Ir(e);return btoa(t).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}let Rr=/^[a-zA-Z0-9_-]{8,64}$/;function zr(e){return typeof e==`string`&&Rr.test(e)?e:null}function Br(){if(typeof crypto<`u`&&typeof crypto.getRandomValues==`function`){let e=new Uint8Array(16);return crypto.getRandomValues(e),Array.from(e,Pr).join(``)}let e=``;for(let t=0;t<32;t++)e+=Math.floor(Math.random()*16).toString(16);return e}let Vr=(e,t)=>`${e}-flow-${t}-code-verifier`,Hr=e=>`${e}-flows-code-verifier`;async function Ur(e,t){let n=await U(e,Hr(t));return Array.isArray(n)?n.filter(e=>zr(e)!==null):[]}async function Wr(e,t,n,r,i){await H(e,Vr(t,n),r);let a=(await Ur(e,t)).filter(e=>e!==n);for(a.push(n);a.length>5;){let n=a.shift();await W(e,Vr(t,n)),i?.(n)}await H(e,Hr(t),a),await H(e,`${t}-code-verifier`,r)}async function Gr(e,t,n){if(n){let r=await U(e,Vr(t,n));return{verifier:typeof r==`string`?r:null,flowId:n}}let r=await U(e,`${t}-code-verifier`);return{verifier:typeof r==`string`?r:null,flowId:null}}async function G(e,t,n){let r=`${t}-code-verifier`;if(!n){await W(e,r);return}let i=Vr(t,n),a=await U(e,i);await W(e,i);let o=await Ur(e,t),s=o.filter(e=>e!==n);s.length!==o.length&&(s.length>0?await H(e,Hr(t),s):await W(e,Hr(t))),a!=null&&a===await U(e,r)&&await W(e,r)}async function Kr(e,t){let n=await Ur(e,t);for(let r of n)await W(e,Vr(t,r));await W(e,Hr(t)),await W(e,`${t}-code-verifier`)}function qr(e,t){let n=e.indexOf(`#`),r=n===-1?e:e.slice(0,n),i=n===-1?``:e.slice(n),a=r.indexOf(`?`);if(a!==-1){let e=r.slice(0,a),t=r.slice(a+1).split(`&`).filter(e=>e!==``&&e!==N&&!e.startsWith(`${N}=`));r=t.length>0?`${e}?${t.join(`&`)}`:e}let o=r.includes(`?`)?`&`:`?`;return`${r}${o}${N}=${encodeURIComponent(t)}${i}`}async function Jr(e,t,n=!1,r){let i=Fr(),a=i;n&&(a+=`/recovery`);let o=Br();await Wr(e,t,o,a,r);let s=await Lr(i);return[s,i===s?`plain`:`s256`,o]}let Yr=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function Xr(e){let t=e.headers.get(qn);if(!t||!t.match(Yr))return null;try{return new Date(`${t}T00:00:00.0Z`)}catch{return null}}function Zr(e){if(!e)throw Error(`Missing exp claim`);if(e<=Math.floor(Date.now()/1e3))throw Error(`JWT has expired`)}function Qr(e){switch(e){case`RS256`:return{name:`RSASSA-PKCS1-v1_5`,hash:{name:`SHA-256`}};case`ES256`:return{name:`ECDSA`,namedCurve:`P-256`,hash:{name:`SHA-256`}};default:throw Error(`Invalid alg claim`)}}let $r=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function K(e){if(!$r.test(e))throw Error(`@supabase/auth-js: Expected parameter to be UUID but is not`)}function ei(e){if(!e.recoveryCodes)throw Error("@supabase/auth-js: the MFA recovery codes API is experimental and disabled by default. Enable it by passing `auth: { experimental: { recoveryCodes: true } }` to createClient (or to the GoTrueClient constructor).")}function ti(){return new Proxy({},{get:(e,t)=>{if(t===`__isUserNotAvailableProxy`)return!0;if(typeof t==`symbol`){let e=t.toString();if(e===`Symbol(Symbol.toPrimitive)`||e===`Symbol(Symbol.toStringTag)`||e===`Symbol(util.inspect.custom)`)return}throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Accessing the "${t}" property of the session object is not supported. Please use getUser() instead.`)},set:(e,t)=>{throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${t}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(e,t)=>{throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${t}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function ni(e,t){return new Proxy(e,{get:(e,n,r)=>{if(n===`__isInsecureUserWarningProxy`)return!0;if(typeof n==`symbol`){let t=n.toString();if(t===`Symbol(Symbol.toPrimitive)`||t===`Symbol(Symbol.toStringTag)`||t===`Symbol(util.inspect.custom)`||t===`Symbol(nodejs.util.inspect.custom)`)return Reflect.get(e,n,r)}return!t.value&&typeof n==`string`&&(console.warn(`Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and may not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server.`),t.value=!0),Reflect.get(e,n,r)}})}function ri(e){return JSON.parse(JSON.stringify(e))}let q=e=>{if(typeof e==`object`&&e){let t=e;if(typeof t.msg==`string`)return t.msg;if(typeof t.message==`string`)return t.message;if(typeof t.error_description==`string`)return t.error_description;if(typeof t.error==`string`)return t.error}return JSON.stringify(e)},ii=[500,501,502,503,504,520,521,522,523,524,525,526,527,528,529,530];async function ai(e){if(!kr(e))throw new or(q(e),0);let t;try{t=await e.json()}catch(t){throw ii.includes(e.status)?new or(e.statusText||`HTTP ${e.status}`,e.status):new F(q(t),t)}if(ii.includes(e.status))throw new or(q(t),e.status);let n,r=Xr(e);if(r&&r.getTime()>=Jn[`2024-01-01`].timestamp&&typeof t==`object`&&t&&typeof t.code==`string`?n=t.code:typeof t==`object`&&t&&typeof t.error_code==`string`&&(n=t.error_code),n){if(n===`weak_password`)throw new ur(q(t),e.status,t.weak_password?.reasons||[]);if(n===`session_not_found`)throw new L}else if(typeof t==`object`&&t&&typeof t.weak_password==`object`&&t.weak_password&&Array.isArray(t.weak_password.reasons)&&t.weak_password.reasons.length&&t.weak_password.reasons.reduce((e,t)=>e&&typeof t==`string`,!0))throw new ur(q(t),e.status,t.weak_password.reasons);throw new Zn(q(t),e.status||500,n)}let oi=(e,t,n,r)=>{let i={method:e,headers:t?.headers||{}};return e===`GET`?i:(i.headers=Object.assign({"Content-Type":`application/json;charset=UTF-8`},t?.headers),i.body=JSON.stringify(r),Object.assign(Object.assign({},i),n))};async function J(e,t,n,r){let i=Object.assign({},r?.headers);i[qn]||(i[qn]=Jn[`2024-01-01`].name),r?.jwt&&(i.Authorization=`Bearer ${r.jwt}`);let a=r?.query??{};r?.redirectTo&&(a.redirect_to=r.redirectTo);let o=await si(e,t,n+(Object.keys(a).length?`?`+new URLSearchParams(a).toString():``),{headers:i,noResolveJson:r?.noResolveJson},{},r?.body);return r?.xform?r?.xform(o):{data:Object.assign({},o),error:null}}async function si(e,t,n,r,i,a){let o=oi(t,r,i,a),s;try{s=await e(n,Object.assign({},o))}catch(e){throw new or(q(e),0)}if(s.ok||await ai(s),r?.noResolveJson)return s;try{return await s.json()}catch(e){await ai(e)}}function Y(e){let t=null;fi(e)&&(t=Object.assign({},e),e.expires_at||(t.expires_at=wr(e.expires_in)));let n=e.user??(typeof e?.id==`string`?e:null);return{data:{session:t,user:n},error:null}}function ci(e){let t=Y(e);return!t.error&&e.weak_password&&typeof e.weak_password==`object`&&Array.isArray(e.weak_password.reasons)&&e.weak_password.reasons.length&&e.weak_password.message&&typeof e.weak_password.message==`string`&&e.weak_password.reasons.reduce((e,t)=>e&&typeof t==`string`,!0)&&(t.data.weak_password=e.weak_password),t}function X(e){return{data:{user:e.user??e},error:null}}function li(e){return{data:e,error:null}}function ui(e){let{action_link:n,email_otp:r,hashed_token:i,redirect_to:a,verification_type:o}=e,s=t(e,[`action_link`,`email_otp`,`hashed_token`,`redirect_to`,`verification_type`]);return{data:{properties:{action_link:n,email_otp:r,hashed_token:i,redirect_to:a,verification_type:o},user:Object.assign({},s)},error:null}}function di(e){return e}function fi(e){return!!e.access_token&&!!e.refresh_token&&!!e.expires_in}let pi=[`global`,`local`,`others`];var mi=class{constructor({url:e=``,headers:t={},fetch:n,experimental:r}){this.url=e,this.headers=t,this.fetch=Or(n),this.experimental=r??{},this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)},this.oauth={listClients:this._listOAuthClients.bind(this),createClient:this._createOAuthClient.bind(this),getClient:this._getOAuthClient.bind(this),updateClient:this._updateOAuthClient.bind(this),deleteClient:this._deleteOAuthClient.bind(this),regenerateClientSecret:this._regenerateOAuthClientSecret.bind(this)},this.customProviders={listProviders:this._listCustomProviders.bind(this),createProvider:this._createCustomProvider.bind(this),getProvider:this._getCustomProvider.bind(this),updateProvider:this._updateCustomProvider.bind(this),deleteProvider:this._deleteCustomProvider.bind(this)},this.passkey={listPasskeys:this._adminListPasskeys.bind(this),deletePasskey:this._adminDeletePasskey.bind(this)}}async signOut(e,t=pi[0]){if(pi.indexOf(t)<0)throw Error(`@supabase/auth-js: Parameter scope must be one of ${pi.join(`, `)}`);try{return await J(this.fetch,`POST`,`${this.url}/logout?scope=${t}`,{headers:this.headers,jwt:e,noResolveJson:!0}),{data:null,error:null}}catch(e){if(P(e))return{data:null,error:e};throw e}}async inviteUserByEmail(e,t={}){try{return await J(this.fetch,`POST`,`${this.url}/invite`,{body:{email:e,data:t.data},headers:this.headers,redirectTo:t.redirectTo,xform:X})}catch(e){if(P(e))return{data:{user:null},error:e};throw e}}async generateLink(e){try{let{options:n}=e,r=t(e,[`options`]),i=Object.assign(Object.assign({},r),n);return`newEmail`in r&&(i.new_email=r?.newEmail,delete i.newEmail),await J(this.fetch,`POST`,`${this.url}/admin/generate_link`,{body:i,headers:this.headers,xform:ui,redirectTo:n?.redirectTo})}catch(e){if(P(e))return{data:{properties:null,user:null},error:e};throw e}}async createUser(e){try{return await J(this.fetch,`POST`,`${this.url}/admin/users`,{body:e,headers:this.headers,xform:X})}catch(e){if(P(e))return{data:{user:null},error:e};throw e}}async listUsers(e){try{let t={nextPage:null,lastPage:0,total:0},n=await J(this.fetch,`GET`,`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(e?.page)?.toString()??``,per_page:(e?.perPage)?.toString()??``},xform:di});if(n.error)throw n.error;let r=await n.json(),i=n.headers.get(`x-total-count`)??0,a=n.headers.get(`link`)?.split(`,`)??[];return a.length>0&&(a.forEach(e=>{let n=parseInt(e.split(`;`)[0].split(`=`)[1].substring(0,1)),r=JSON.parse(e.split(`;`)[1].split(`=`)[1]);t[`${r}Page`]=n}),t.total=parseInt(i)),{data:Object.assign(Object.assign({},r),t),error:null}}catch(e){if(P(e))return{data:{users:[]},error:e};throw e}}async getUserById(e){K(e);try{return await J(this.fetch,`GET`,`${this.url}/admin/users/${e}`,{headers:this.headers,xform:X})}catch(e){if(P(e))return{data:{user:null},error:e};throw e}}async updateUserById(e,t){K(e);try{return await J(this.fetch,`PUT`,`${this.url}/admin/users/${e}`,{body:t,headers:this.headers,xform:X})}catch(e){if(P(e))return{data:{user:null},error:e};throw e}}async deleteUser(e,t=!1){K(e);try{return await J(this.fetch,`DELETE`,`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:t},xform:X})}catch(e){if(P(e))return{data:{user:null},error:e};throw e}}async _listFactors(e){K(e.userId);try{let{data:t,error:n}=await J(this.fetch,`GET`,`${this.url}/admin/users/${e.userId}/factors`,{headers:this.headers,xform:e=>({data:{factors:e},error:null})});return{data:t,error:n}}catch(e){if(P(e))return{data:null,error:e};throw e}}async _deleteFactor(e){K(e.userId),K(e.id);try{return{data:await J(this.fetch,`DELETE`,`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers}),error:null}}catch(e){if(P(e))return{data:null,error:e};throw e}}async _listOAuthClients(e){try{let t={nextPage:null,lastPage:0,total:0},n=await J(this.fetch,`GET`,`${this.url}/admin/oauth/clients`,{headers:this.headers,noResolveJson:!0,query:{page:(e?.page)?.toString()??``,per_page:(e?.perPage)?.toString()??``},xform:di});if(n.error)throw n.error;let r=await n.json(),i=n.headers.get(`x-total-count`)??0,a=n.headers.get(`link`)?.split(`,`)??[];return a.length>0&&(a.forEach(e=>{let n=parseInt(e.split(`;`)[0].split(`=`)[1].substring(0,1)),r=JSON.parse(e.split(`;`)[1].split(`=`)[1]);t[`${r}Page`]=n}),t.total=parseInt(i)),{data:Object.assign(Object.assign({},r),t),error:null}}catch(e){if(P(e))return{data:{clients:[]},error:e};throw e}}async _createOAuthClient(e){try{return await J(this.fetch,`POST`,`${this.url}/admin/oauth/clients`,{body:e,headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(P(e))return{data:null,error:e};throw e}}async _getOAuthClient(e){try{return await J(this.fetch,`GET`,`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(P(e))return{data:null,error:e};throw e}}async _updateOAuthClient(e,t){try{return await J(this.fetch,`PUT`,`${this.url}/admin/oauth/clients/${e}`,{body:t,headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(P(e))return{data:null,error:e};throw e}}async _deleteOAuthClient(e){try{return await J(this.fetch,`DELETE`,`${this.url}/admin/oauth/clients/${e}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(e){if(P(e))return{data:null,error:e};throw e}}async _regenerateOAuthClientSecret(e){try{return await J(this.fetch,`POST`,`${this.url}/admin/oauth/clients/${e}/regenerate_secret`,{headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(P(e))return{data:null,error:e};throw e}}async _listCustomProviders(e){try{let t={};return e?.type&&(t.type=e.type),await J(this.fetch,`GET`,`${this.url}/admin/custom-providers`,{headers:this.headers,query:t,xform:e=>({data:{providers:e?.providers??[]},error:null})})}catch(e){if(P(e))return{data:{providers:[]},error:e};throw e}}async _createCustomProvider(e){try{return await J(this.fetch,`POST`,`${this.url}/admin/custom-providers`,{body:e,headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(P(e))return{data:null,error:e};throw e}}async _getCustomProvider(e){try{return await J(this.fetch,`GET`,`${this.url}/admin/custom-providers/${e}`,{headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(P(e))return{data:null,error:e};throw e}}async _updateCustomProvider(e,t){try{return await J(this.fetch,`PUT`,`${this.url}/admin/custom-providers/${e}`,{body:t,headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(P(e))return{data:null,error:e};throw e}}async _deleteCustomProvider(e){try{return await J(this.fetch,`DELETE`,`${this.url}/admin/custom-providers/${e}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(e){if(P(e))return{data:null,error:e};throw e}}async _adminListPasskeys(e){K(e.userId);try{return await J(this.fetch,`GET`,`${this.url}/admin/users/${e.userId}/passkeys`,{headers:this.headers,xform:e=>({data:e,error:null})})}catch(e){if(P(e))return{data:null,error:e};throw e}}async _adminDeletePasskey(e){K(e.userId),K(e.passkeyId);try{return await J(this.fetch,`DELETE`,`${this.url}/admin/users/${e.userId}/passkeys/${e.passkeyId}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(e){if(P(e))return{data:null,error:e};throw e}}};function hi(e={}){return{getItem:t=>e[t]||null,setItem:(t,n)=>{e[t]=n},removeItem:t=>{delete e[t]}}}let Z={debug:!!(globalThis&&Er()&&globalThis.localStorage&&globalThis.localStorage.getItem(`supabase.gotrue-js.locks.debug`)===`true`)};var gi=class extends Error{constructor(e){super(e),this.isAcquireTimeout=!0}},_i=class extends gi{},vi=class extends gi{};async function yi(e,t,n){Z.debug&&console.log(`@supabase/gotrue-js: navigatorLock: acquire lock`,e,t);let r=new globalThis.AbortController,i;t>0&&(i=setTimeout(()=>{r.abort(),Z.debug&&console.log(`@supabase/gotrue-js: navigatorLock acquire timed out`,e)},t)),await Promise.resolve();try{return await globalThis.navigator.locks.request(e,t===0?{mode:`exclusive`,ifAvailable:!0}:{mode:`exclusive`,signal:r.signal},async r=>{if(r){clearTimeout(i),Z.debug&&console.log(`@supabase/gotrue-js: navigatorLock: acquired`,e,r.name);try{return await n()}finally{Z.debug&&console.log(`@supabase/gotrue-js: navigatorLock: released`,e,r.name)}}else if(t===0)throw Z.debug&&console.log(`@supabase/gotrue-js: navigatorLock: not immediately available`,e),new _i(`Acquiring an exclusive Navigator LockManager lock "${e}" immediately failed`);else{if(Z.debug)try{let e=await globalThis.navigator.locks.query();console.log(`@supabase/gotrue-js: Navigator LockManager state`,JSON.stringify(e,null,` `))}catch(e){console.warn(`@supabase/gotrue-js: Error when querying Navigator LockManager state`,e)}return console.warn(`@supabase/gotrue-js: Navigator LockManager returned a null lock when using #request without ifAvailable set to true, it appears this browser is not following the LockManager spec https://developer.mozilla.org/en-US/docs/Web/API/LockManager/request`),clearTimeout(i),await n()}})}catch(a){if(clearTimeout(i),typeof a==`object`&&a&&`name`in a&&a.name===`AbortError`){if(r.signal.aborted)return Z.debug&&console.log(`@supabase/gotrue-js: navigatorLock: acquire timeout, recovering by stealing lock`,e),console.warn(`@supabase/gotrue-js: Lock "${e}" was not released within ${t}ms. This may indicate an orphaned lock from a component unmount (e.g., React Strict Mode). Forcefully acquiring the lock to recover.`),await Promise.resolve().then(()=>globalThis.navigator.locks.request(e,{mode:`exclusive`,steal:!0},async t=>{if(t){Z.debug&&console.log(`@supabase/gotrue-js: navigatorLock: recovered (stolen)`,e,t.name);try{return await n()}finally{Z.debug&&console.log(`@supabase/gotrue-js: navigatorLock: released (stolen)`,e,t.name)}}else return console.warn(`@supabase/gotrue-js: Navigator LockManager returned null lock even with steal: true`),await n()}));throw Z.debug&&console.log(`@supabase/gotrue-js: navigatorLock: lock was stolen by another request`,e),new _i(`Lock "${e}" was released because another request stole it`)}throw a}}let bi={};async function xi(e,t,n){let r=bi[e]??Promise.resolve(),i=(async()=>{try{return await r,null}catch{return null}})(),a=(async()=>{let r=null;try{let n=t>=0?new Promise((n,i)=>{r=setTimeout(()=>{console.warn(`@supabase/gotrue-js: Lock "${e}" acquisition timed out after ${t}ms. This may be caused by another operation holding the lock. Consider increasing lockAcquireTimeout or checking for stuck operations.`),i(new vi(`Acquiring process lock with name "${e}" timed out`))},t)}):null;await Promise.race([i,n].filter(e=>e)),r!==null&&clearTimeout(r)}catch(e){if(r!==null&&clearTimeout(r),e instanceof gi)throw e}return await n()})();return bi[e]=(async()=>{try{return await a}catch(e){if(e instanceof gi){try{await r}catch{}return null}throw e}})(),await a}function Si(){if(typeof globalThis!=`object`)try{Object.defineProperty(Object.prototype,`__magic__`,{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<`u`&&(self.globalThis=self)}}function Ci(e){if(!/^0x[a-fA-F0-9]{40}$/.test(e))throw Error(`@supabase/auth-js: Address "${e}" is invalid.`);return e.toLowerCase()}function wi(e){return parseInt(e,16)}function Ti(e){let t=new TextEncoder().encode(e);return`0x`+Array.from(t,e=>e.toString(16).padStart(2,`0`)).join(``)}function Ei(e){let{chainId:t,domain:n,expirationTime:r,issuedAt:i=new Date,nonce:a,notBefore:o,requestId:s,resources:c,scheme:l,uri:u,version:d}=e;if(!Number.isInteger(t))throw Error(`@supabase/auth-js: Invalid SIWE message field "chainId". Chain ID must be a EIP-155 chain ID. Provided value: ${t}`);if(!n)throw Error(`@supabase/auth-js: Invalid SIWE message field "domain". Domain must be provided.`);if(a&&a.length<8)throw Error(`@supabase/auth-js: Invalid SIWE message field "nonce". Nonce must be at least 8 characters. Provided value: ${a}`);if(!u)throw Error(`@supabase/auth-js: Invalid SIWE message field "uri". URI must be provided.`);if(d!==`1`)throw Error(`@supabase/auth-js: Invalid SIWE message field "version". Version must be '1'. Provided value: ${d}`);if(e.statement?.includes(` +`))throw Error(`@supabase/auth-js: Invalid SIWE message field "statement". Statement must not include '\\n'. Provided value: ${e.statement}`);let f=Ci(e.address),p=`${l?`${l}://${n}`:n} wants you to sign in with your Ethereum account:\n${f}\n\n${e.statement?`${e.statement}\n`:``}`,m=`URI: ${u}\nVersion: ${d}\nChain ID: ${t}${a?`\nNonce: ${a}`:``}\nIssued At: ${i.toISOString()}`;if(r&&(m+=`\nExpiration Time: ${r.toISOString()}`),o&&(m+=`\nNot Before: ${o.toISOString()}`),s&&(m+=`\nRequest ID: ${s}`),c){let e=` +Resources:`;for(let t of c){if(!t||typeof t!=`string`)throw Error(`@supabase/auth-js: Invalid SIWE message field "resources". Every resource must be a valid string. Provided value: ${t}`);e+=`\n- ${t}`}m+=e}return`${p}\n${m}`}var Q=class extends Error{constructor({message:e,code:t,cause:n,name:r}){super(e,{cause:n}),this.__isWebAuthnError=!0,this.name=r??(n instanceof Error?n.name:void 0)??`Unknown Error`,this.code=t}toJSON(){return{name:this.name,message:this.message,code:this.code}}},Di=class extends Q{constructor(e,t){super({code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:t,message:e}),this.name=`WebAuthnUnknownError`,this.originalError=t}};function Oi({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error(`options was missing required publicKey property`);if(e.name===`AbortError`){if(t.signal instanceof AbortSignal)return new Q({message:`Registration ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`ConstraintError`){if(n.authenticatorSelection?.requireResidentKey===!0)return new Q({message:`Discoverable credentials were required but no available authenticator supported it`,code:`ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT`,cause:e});if(t.mediation===`conditional`&&n.authenticatorSelection?.userVerification===`required`)return new Q({message:`User verification was required during automatic registration but it could not be performed`,code:`ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE`,cause:e});if(n.authenticatorSelection?.userVerification===`required`)return new Q({message:`User verification was required but no available authenticator supported it`,code:`ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT`,cause:e})}else if(e.name===`InvalidStateError`)return new Q({message:`The authenticator was previously registered`,code:`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`,cause:e});else if(e.name===`NotAllowedError`)return new Q({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`NotSupportedError`)return n.pubKeyCredParams.filter(e=>e.type===`public-key`).length===0?new Q({message:`No entry in pubKeyCredParams was of type "public-key"`,code:`ERROR_MALFORMED_PUBKEYCREDPARAMS`,cause:e}):new Q({message:`No available authenticator supported any of the specified pubKeyCredParams algorithms`,code:`ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG`,cause:e});else if(e.name===`SecurityError`){let t=window.location.hostname;if(Fi(t)){if(n.rp.id!==t)return new Q({message:`The RP ID "${n.rp.id}" is invalid for this domain`,code:`ERROR_INVALID_RP_ID`,cause:e})}else return new Q({message:`${window.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e})}else if(e.name===`TypeError`){if(n.user.id.byteLength<1||n.user.id.byteLength>64)return new Q({message:`User ID was not between 1 and 64 characters`,code:`ERROR_INVALID_USER_ID_LENGTH`,cause:e})}else if(e.name===`UnknownError`)return new Q({message:`The authenticator was unable to process the specified options, or could not create a new credential`,code:`ERROR_AUTHENTICATOR_GENERAL_ERROR`,cause:e});return new Q({message:`a Non-Webauthn related error has occurred`,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e})}function ki({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error(`options was missing required publicKey property`);if(e.name===`AbortError`){if(t.signal instanceof AbortSignal)return new Q({message:`Authentication ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`NotAllowedError`)return new Q({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`SecurityError`){let t=window.location.hostname;if(Fi(t)){if(n.rpId!==t)return new Q({message:`The RP ID "${n.rpId}" is invalid for this domain`,code:`ERROR_INVALID_RP_ID`,cause:e})}else return new Q({message:`${window.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e})}else if(e.name===`UnknownError`)return new Q({message:`The authenticator was unable to process the specified options, or could not create a new assertion signature`,code:`ERROR_AUTHENTICATOR_GENERAL_ERROR`,cause:e});return new Q({message:`a Non-Webauthn related error has occurred`,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e})}let Ai=new class{createNewAbortSignal(){if(this.controller){let e=Error(`Cancelling existing WebAuthn API call for new one`);e.name=`AbortError`,this.controller.abort(e)}let e=new AbortController;return this.controller=e,e.signal}cancelCeremony(){if(this.controller){let e=Error(`Manually cancelling existing WebAuthn API call`);e.name=`AbortError`,this.controller.abort(e),this.controller=void 0}}};function ji(e){if(!e)throw Error(`Credential creation options are required`);if(typeof PublicKeyCredential<`u`&&`parseCreationOptionsFromJSON`in PublicKeyCredential&&typeof PublicKeyCredential.parseCreationOptionsFromJSON==`function`)return PublicKeyCredential.parseCreationOptionsFromJSON(e);let{challenge:n,user:r,excludeCredentials:i}=e,a=t(e,[`challenge`,`user`,`excludeCredentials`]),o=Sr(n).buffer,s=Object.assign(Object.assign({},r),{id:Sr(r.id).buffer}),c=Object.assign(Object.assign({},a),{challenge:o,user:s});if(i&&i.length>0){c.excludeCredentials=Array(i.length);for(let e=0;e0){o.allowCredentials=Array(r.length);for(let e=0;etypeof e==`object`&&!!e&&!Array.isArray(e),n=e=>e instanceof ArrayBuffer||ArrayBuffer.isView(e),r={};for(let i of e)if(i)for(let e in i){let a=i[e];if(a!==void 0)if(Array.isArray(a))r[e]=a;else if(n(a))r[e]=a;else if(t(a)){let n=r[e];t(n)?r[e]=Vi(n,a):r[e]=Vi(a)}else r[e]=a}return r}function Hi(e,t){return Vi(zi,e,t||{})}function Ui(e,t){return Vi(Bi,e,t||{})}var Wi=class{constructor(e){this.client=e,this.enroll=this._enroll.bind(this),this.challenge=this._challenge.bind(this),this.verify=this._verify.bind(this),this.authenticate=this._authenticate.bind(this),this.register=this._register.bind(this)}async _enroll(e){return this.client.mfa.enroll(Object.assign(Object.assign({},e),{factorType:`webauthn`}))}async _challenge({factorId:e,webauthn:t,friendlyName:n,signal:r},i){try{let{data:a,error:o}=await this.client.mfa.challenge({factorId:e,webauthn:t});if(!a)return{data:null,error:o};let s=r??Ai.createNewAbortSignal();if(a.webauthn.type===`create`){let{user:e}=a.webauthn.credential_options.publicKey;if(!e.name){let t=n;if(t)e.name=`${e.id}:${t}`;else{let t=(await this.client.getUser()).data.user,n=t?.user_metadata?.name||t?.email||t?.id||`User`;e.name=`${e.id}:${n}`}}e.displayName||=e.name}switch(a.webauthn.type){case`create`:{let{data:t,error:n}=await Li({publicKey:Hi(a.webauthn.credential_options.publicKey,i?.create),signal:s});return t?{data:{factorId:e,challengeId:a.id,webauthn:{type:a.webauthn.type,credential_response:t}},error:null}:{data:null,error:n}}case`request`:{let t=Ui(a.webauthn.credential_options.publicKey,i?.request),{data:n,error:r}=await Ri(Object.assign(Object.assign({},a.webauthn.credential_options),{publicKey:t,signal:s}));return n?{data:{factorId:e,challengeId:a.id,webauthn:{type:a.webauthn.type,credential_response:n}},error:null}:{data:null,error:r}}}}catch(e){return P(e)?{data:null,error:e}:{data:null,error:new F(`Unexpected error in challenge`,e)}}}async _verify({challengeId:e,factorId:t,webauthn:n}){return this.client.mfa.verify({factorId:t,challengeId:e,webauthn:n})}async _authenticate({factorId:e,webauthn:{rpId:t=typeof window<`u`?window.location.hostname:void 0,rpOrigins:n=typeof window<`u`?[window.location.origin]:void 0,signal:r}={}},i){if(!t)return{data:null,error:new Xn(`rpId is required for WebAuthn authentication`)};try{if(!Ii())return{data:null,error:new F(`Browser does not support WebAuthn`,null)};let{data:a,error:o}=await this.challenge({factorId:e,webauthn:{rpId:t,rpOrigins:n},signal:r},{request:i});if(!a)return{data:null,error:o};let{webauthn:s}=a;return this._verify({factorId:e,challengeId:a.challengeId,webauthn:{type:s.type,rpId:t,rpOrigins:n,credential_response:s.credential_response}})}catch(e){return P(e)?{data:null,error:e}:{data:null,error:new F(`Unexpected error in authenticate`,e)}}}async _register({friendlyName:e,webauthn:{rpId:t=typeof window<`u`?window.location.hostname:void 0,rpOrigins:n=typeof window<`u`?[window.location.origin]:void 0,signal:r}={}},i){if(!t)return{data:null,error:new Xn(`rpId is required for WebAuthn registration`)};try{if(!Ii())return{data:null,error:new F(`Browser does not support WebAuthn`,null)};let{data:a,error:o}=await this._enroll({friendlyName:e});if(!a)return await this.client.mfa.listFactors().then(t=>t.data?.all.find(t=>t.factor_type===`webauthn`&&t.friendly_name===e&&t.status===`unverified`)).then(e=>e?this.client.mfa.unenroll({factorId:e?.id}):void 0),{data:null,error:o};let{data:s,error:c}=await this._challenge({factorId:a.id,friendlyName:a.friendly_name,webauthn:{rpId:t,rpOrigins:n},signal:r},{create:i});return s?this._verify({factorId:a.id,challengeId:s.challengeId,webauthn:{rpId:t,rpOrigins:n,type:s.webauthn.type,credential_response:s.webauthn.credential_response}}):{data:null,error:c}}catch(e){return P(e)?{data:null,error:e}:{data:null,error:new F(`Unexpected error in register`,e)}}}};Si();let Gi={url:`http://localhost:9999`,storageKey:`supabase.auth.token`,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:Kn,flowType:`implicit`,debug:!1,hasCustomAuthorizationHeader:!1,throwOnError:!1,lockAcquireTimeout:5e3,skipAutoInitialize:!1,experimental:{}},$={},Ki=!1;var qi=class e{get jwks(){return $[this.storageKey]?.jwks??{keys:[]}}set jwks(e){$[this.storageKey]=Object.assign(Object.assign({},$[this.storageKey]),{jwks:e})}get jwks_cached_at(){return $[this.storageKey]?.cachedAt??-(2**53-1)}set jwks_cached_at(e){$[this.storageKey]=Object.assign(Object.assign({},$[this.storageKey]),{cachedAt:e})}constructor(t){var n;this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.autoRefreshTickTimeout=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.lastRefreshFailure=null,this._sessionRemovalEpoch=0,this.initializePromise=null,this._pendingInitNotifications=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lock=null,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log;let r=Object.assign(Object.assign({},Gi),t);if(this.storageKey=r.storageKey,this.instanceID=e.nextInstanceID[this.storageKey]??0,e.nextInstanceID[this.storageKey]=this.instanceID+1,this.logDebugMessages=!!r.debug,typeof r.debug==`function`&&(this.logger=r.debug),this.instanceID>0&&B()){let e=`${this._logPrefix()} Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.`;console.warn(e),this.logDebugMessages&&console.trace(e)}if(this.persistSession=r.persistSession,this.autoRefreshToken=r.autoRefreshToken,this.experimental=r.experimental??{},this.admin=new mi({url:r.url,headers:r.headers,fetch:r.fetch,experimental:this.experimental}),this.url=r.url,this.headers=r.headers,this.fetch=Or(r.fetch),this.detectSessionInUrl=r.detectSessionInUrl,this.flowType=r.flowType,this.hasCustomAuthorizationHeader=r.hasCustomAuthorizationHeader,this.throwOnError=r.throwOnError,this.lockAcquireTimeout=r.lockAcquireTimeout,r.lock!=null&&(this.lock=r.lock,Ki||(Ki=!0,console.warn(`${this._logPrefix()} The "lock" option is deprecated and will be removed in v3. The client now coordinates session refreshes without a lock, so most apps can drop the option. See https://github.com/supabase/supabase-js/blob/master/packages/core/auth-js/migrations/lockless-coordination.md`))),this.jwks||(this.jwks={keys:[]},this.jwks_cached_at=-(2**53-1)),this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this),webauthn:new Wi(this),recoveryCodes:{getStatus:this._getRecoveryCodesStatus.bind(this),generate:this._generateRecoveryCodes.bind(this),verify:this._verifyRecoveryCode.bind(this),regenerate:this._regenerateRecoveryCodes.bind(this),unenroll:this._unenrollRecoveryCodes.bind(this)}},this.oauth={getAuthorizationDetails:this._getAuthorizationDetails.bind(this),approveAuthorization:this._approveAuthorization.bind(this),denyAuthorization:this._denyAuthorization.bind(this),listGrants:this._listOAuthGrants.bind(this),revokeGrant:this._revokeOAuthGrant.bind(this)},this.passkey={startRegistration:this._startPasskeyRegistration.bind(this),verifyRegistration:this._verifyPasskeyRegistration.bind(this),startAuthentication:this._startPasskeyAuthentication.bind(this),verifyAuthentication:this._verifyPasskeyAuthentication.bind(this),list:this._listPasskeys.bind(this),update:this._updatePasskey.bind(this),delete:this._deletePasskey.bind(this)},this.persistSession?(r.storage?this.storage=r.storage:Er()?this.storage=globalThis.localStorage:(this.memoryStorage={},this.storage=hi(this.memoryStorage)),r.userStorage&&(this.userStorage=r.userStorage)):(this.memoryStorage={},this.storage=hi(this.memoryStorage)),B()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(e){console.error(`Failed to create a new BroadcastChannel, multi-tab state changes will not be available`,e)}(n=this.broadcastChannel)==null||n.addEventListener(`message`,async e=>{this._debug(`received broadcast notification from other tab or client`,e),(e.data.event===`TOKEN_REFRESHED`||e.data.event===`SIGNED_IN`)&&(this.lastRefreshFailure=null);try{await this._notifyAllSubscribers(e.data.event,e.data.session,!1)}catch(e){this._debug(`#broadcastChannel`,`error`,e)}})}r.skipAutoInitialize||this.initialize().catch(e=>{this._debug(`#initialize()`,`error`,e)})}isThrowOnErrorEnabled(){return this.throwOnError}_returnResult(e){if(this.throwOnError&&e&&e.error)throw e.error;return e}_logPrefix(){return`GoTrueClient@${this.storageKey}:${this.instanceID} (${Wn}) ${new Date().toISOString()}`}_debug(...e){return this.logDebugMessages&&this.logger(this._logPrefix(),...e),this}async initialize(){if(this.initializePromise)return await this.initializePromise;this._pendingInitNotifications=[],this.initializePromise=(async()=>this.lock==null?await this._initialize():await this._acquireLock(this.lockAcquireTimeout,async()=>await this._initialize()))();let e=await this.initializePromise,t=this._pendingInitNotifications??[];this._pendingInitNotifications=null;for(let e of t)await this._notifyAllSubscribers(e.event,e.session,e.broadcast);return e}async _initialize(){try{let e={},t=`none`;if(B()&&(e=Dr(window.location.href),this._isImplicitGrantCallback(e)?t=`implicit`:await this._isPKCECallback(e)&&(t=`pkce`)),B()&&this.detectSessionInUrl&&t!==`none`){let{data:n,error:r}=await this._getSessionFromURL(e,t);if(r){if(this._debug(`#_initialize()`,`error detecting session from URL`,r),nr(r)){let e=r.details?.code;if(e===`identity_already_exists`||e===`identity_not_found`||e===`single_identity_not_deletable`)return{error:r}}return{error:r}}let{session:i,redirectType:a}=n;return this._debug(`#_initialize()`,`detected session in URL`,i,`redirect type`,a),await this._saveSession(i),setTimeout(async()=>{a===`recovery`?await this._notifyAllSubscribers(`PASSWORD_RECOVERY`,i):await this._notifyAllSubscribers(`SIGNED_IN`,i)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(e){return P(e)?this._returnResult({error:e}):this._returnResult({error:new F(`Unexpected error during initialization`,e)})}finally{await this._handleVisibilityChange(),this._debug(`#_initialize()`,`end`)}}async signInAnonymously(e){try{let{data:t,error:n}=await J(this.fetch,`POST`,`${this.url}/signup`,{headers:this.headers,body:{data:e?.options?.data??{},gotrue_meta_security:{captcha_token:e?.options?.captchaToken}},xform:Y});if(n||!t)return this._returnResult({data:{user:null,session:null},error:n});let r=t.session,i=t.user;return t.session&&(await this._saveSession(t.session),await this._notifyAllSubscribers(`SIGNED_IN`,r)),this._returnResult({data:{user:i,session:r},error:null})}catch(e){if(P(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signUp(e){let t=null;try{let n;if(`email`in e){let{email:r,password:i,options:a}=e,o=null,s=null;this.flowType===`pkce`&&([o,s,t]=await this._getCodeChallengeAndMethod()),n=await J(this.fetch,`POST`,`${this.url}/signup`,{headers:this.headers,redirectTo:this._maybeAppendFlowIdToRedirect(a?.emailRedirectTo,t),body:{email:r,password:i,data:a?.data??{},gotrue_meta_security:{captcha_token:a?.captchaToken},code_challenge:o,code_challenge_method:s},xform:Y})}else if(`phone`in e){let{phone:t,password:r,options:i}=e;n=await J(this.fetch,`POST`,`${this.url}/signup`,{headers:this.headers,body:{phone:t,password:r,data:i?.data??{},channel:i?.channel??`sms`,gotrue_meta_security:{captcha_token:i?.captchaToken}},xform:Y})}else throw new er(`You must provide either an email or phone number and a password`);let{data:r,error:i}=n;if(i||!r)return await G(this.storage,this.storageKey,t),this._returnResult({data:{user:null,session:null},error:i});let a=r.session,o=r.user;return r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers(`SIGNED_IN`,a)),this._returnResult({data:{user:o,session:a},error:null})}catch(e){if(await G(this.storage,this.storageKey,t),P(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithPassword(e){try{let t;if(`email`in e){let{email:n,password:r,options:i}=e;t=await J(this.fetch,`POST`,`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:n,password:r,gotrue_meta_security:{captcha_token:i?.captchaToken}},xform:ci})}else if(`phone`in e){let{phone:n,password:r,options:i}=e;t=await J(this.fetch,`POST`,`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:n,password:r,gotrue_meta_security:{captcha_token:i?.captchaToken}},xform:ci})}else throw new er(`You must provide either an email or phone number and a password`);let{data:n,error:r}=t;if(r)return this._returnResult({data:{user:null,session:null},error:r});if(!n||!n.session||!n.user){let e=new R;return this._returnResult({data:{user:null,session:null},error:e})}return n.session&&(await this._saveSession(n.session),await this._notifyAllSubscribers(`SIGNED_IN`,n.session)),this._returnResult({data:Object.assign({user:n.user,session:n.session},n.weak_password?{weakPassword:n.weak_password}:null),error:r})}catch(e){if(P(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithOAuth(e){return await this._handleProviderSignIn(e.provider,{redirectTo:e.options?.redirectTo,scopes:e.options?.scopes,queryParams:e.options?.queryParams,skipBrowserRedirect:e.options?.skipBrowserRedirect})}async exchangeCodeForSession(e,t){return await this.initializePromise,this.lock==null?this._exchangeCodeForSession(e,t):this._acquireLock(this.lockAcquireTimeout,async()=>this._exchangeCodeForSession(e,t))}async signInWithWeb3(e){let{chain:t}=e;switch(t){case`ethereum`:return await this.signInWithEthereum(e);case`solana`:return await this.signInWithSolana(e);default:throw Error(`@supabase/auth-js: Unsupported chain "${t}"`)}}async signInWithEthereum(e){let t,n;if(`message`in e)t=e.message,n=e.signature;else{let{chain:r,wallet:i,statement:a,options:o}=e,s;if(B())if(typeof i==`object`)s=i;else{let e=window;if(`ethereum`in e&&typeof e.ethereum==`object`&&`request`in e.ethereum&&typeof e.ethereum.request==`function`)s=e.ethereum;else throw Error(`@supabase/auth-js: No compatible Ethereum wallet interface on the window object (window.ethereum) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'ethereum', wallet: resolvedUserWallet }) instead.`)}else{if(typeof i!=`object`||!o?.url)throw Error(`@supabase/auth-js: Both wallet and url must be specified in non-browser environments.`);s=i}let c=new URL(o?.url??window.location.href),l=await s.request({method:`eth_requestAccounts`}).then(e=>e).catch(()=>{throw Error(`@supabase/auth-js: Wallet method eth_requestAccounts is missing or invalid`)});if(!l||l.length===0)throw Error(`@supabase/auth-js: No accounts available. Please ensure the wallet is connected.`);let u=Ci(l[0]),d=o?.signInWithEthereum?.chainId;d||=wi(await s.request({method:`eth_chainId`})),t=Ei({domain:c.host,address:u,statement:a,uri:c.href,version:`1`,chainId:d,nonce:o?.signInWithEthereum?.nonce,issuedAt:o?.signInWithEthereum?.issuedAt??new Date,expirationTime:o?.signInWithEthereum?.expirationTime,notBefore:o?.signInWithEthereum?.notBefore,requestId:o?.signInWithEthereum?.requestId,resources:o?.signInWithEthereum?.resources}),n=await s.request({method:`personal_sign`,params:[Ti(t),u]})}try{let{data:r,error:i}=await J(this.fetch,`POST`,`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:`ethereum`,message:t,signature:n},e.options?.captchaToken?{gotrue_meta_security:{captcha_token:e.options?.captchaToken}}:null),xform:Y});if(i)throw i;if(!r||!r.session||!r.user){let e=new R;return this._returnResult({data:{user:null,session:null},error:e})}return r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers(`SIGNED_IN`,r.session)),this._returnResult({data:Object.assign({},r),error:i})}catch(e){if(P(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithSolana(e){let t,n;if(`message`in e)t=e.message,n=e.signature;else{let{chain:r,wallet:i,statement:a,options:o}=e,s;if(B())if(typeof i==`object`)s=i;else{let e=window;if(`solana`in e&&typeof e.solana==`object`&&(`signIn`in e.solana&&typeof e.solana.signIn==`function`||`signMessage`in e.solana&&typeof e.solana.signMessage==`function`))s=e.solana;else throw Error(`@supabase/auth-js: No compatible Solana wallet interface on the window object (window.solana) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'solana', wallet: resolvedUserWallet }) instead.`)}else{if(typeof i!=`object`||!o?.url)throw Error(`@supabase/auth-js: Both wallet and url must be specified in non-browser environments.`);s=i}let c=new URL(o?.url??window.location.href);if(`signIn`in s&&s.signIn){let e=await s.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},o?.signInWithSolana),{version:`1`,domain:c.host,uri:c.href}),a?{statement:a}:null)),r;if(Array.isArray(e)&&e[0]&&typeof e[0]==`object`)r=e[0];else if(e&&typeof e==`object`&&`signedMessage`in e&&`signature`in e)r=e;else throw Error(`@supabase/auth-js: Wallet method signIn() returned unrecognized value`);if(`signedMessage`in r&&`signature`in r&&(typeof r.signedMessage==`string`||r.signedMessage instanceof Uint8Array)&&r.signature instanceof Uint8Array)t=typeof r.signedMessage==`string`?r.signedMessage:new TextDecoder().decode(r.signedMessage),n=r.signature;else throw Error(`@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields`)}else{if(!(`signMessage`in s)||typeof s.signMessage!=`function`||!(`publicKey`in s)||typeof s!=`object`||!s.publicKey||!(`toBase58`in s.publicKey)||typeof s.publicKey.toBase58!=`function`)throw Error(`@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API`);t=[`${c.host} wants you to sign in with your Solana account:`,s.publicKey.toBase58(),...a?[``,a,``]:[``],`Version: 1`,`URI: ${c.href}`,`Issued At: ${o?.signInWithSolana?.issuedAt??new Date().toISOString()}`,...o?.signInWithSolana?.notBefore?[`Not Before: ${o.signInWithSolana.notBefore}`]:[],...o?.signInWithSolana?.expirationTime?[`Expiration Time: ${o.signInWithSolana.expirationTime}`]:[],...o?.signInWithSolana?.chainId?[`Chain ID: ${o.signInWithSolana.chainId}`]:[],...o?.signInWithSolana?.nonce?[`Nonce: ${o.signInWithSolana.nonce}`]:[],...o?.signInWithSolana?.requestId?[`Request ID: ${o.signInWithSolana.requestId}`]:[],...o?.signInWithSolana?.resources?.length?[`Resources`,...o.signInWithSolana.resources.map(e=>`- ${e}`)]:[]].join(` +`);let e=await s.signMessage(new TextEncoder().encode(t),`utf8`);if(!e||!(e instanceof Uint8Array))throw Error(`@supabase/auth-js: Wallet signMessage() API returned an recognized value`);n=e}}try{let{data:r,error:i}=await J(this.fetch,`POST`,`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:`solana`,message:t,signature:z(n)},e.options?.captchaToken?{gotrue_meta_security:{captcha_token:e.options?.captchaToken}}:null),xform:Y});if(i)throw i;if(!r||!r.session||!r.user){let e=new R;return this._returnResult({data:{user:null,session:null},error:e})}return r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers(`SIGNED_IN`,r.session)),this._returnResult({data:Object.assign({},r),error:i})}catch(e){if(P(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async _exchangeCodeForSession(e,t){let n=t?.flowId!=null,r=n?zr(t?.flowId):B()?zr(Dr(window.location.href)[N]):null;n&&!r&&this._debug(`#_exchangeCodeForSession()`,`provided flowId is not a valid flow id`,t?.flowId);let{verifier:i,flowId:a}=n&&!r?{verifier:null,flowId:null}:await Gr(this.storage,this.storageKey,r),[o,s]=(i??``).split(`/`);try{if(!o&&this.flowType===`pkce`)throw new ir;let{data:t,error:n}=await J(this.fetch,`POST`,`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:e,code_verifier:o},xform:Y});if(await G(this.storage,this.storageKey,a),n)throw n;if(!t||!t.session||!t.user){let e=new R;return this._returnResult({data:{user:null,session:null,redirectType:null},error:e})}return t.session&&(await this._saveSession(t.session),await this._notifyAllSubscribers(s===`recovery`?`PASSWORD_RECOVERY`:`SIGNED_IN`,t.session)),this._returnResult({data:Object.assign(Object.assign({},t),{redirectType:s??null}),error:n})}catch(e){if(await G(this.storage,this.storageKey,a),P(e))return this._returnResult({data:{user:null,session:null,redirectType:null},error:e});throw e}}async signInWithIdToken(e){try{let{options:t,provider:n,token:r,access_token:i,nonce:a}=e,{data:o,error:s}=await J(this.fetch,`POST`,`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:n,id_token:r,access_token:i,nonce:a,gotrue_meta_security:{captcha_token:t?.captchaToken}},xform:Y});if(s)return this._returnResult({data:{user:null,session:null},error:s});if(!o||!o.session||!o.user){let e=new R;return this._returnResult({data:{user:null,session:null},error:e})}return o.session&&(await this._saveSession(o.session),await this._notifyAllSubscribers(`SIGNED_IN`,o.session)),this._returnResult({data:o,error:s})}catch(e){if(P(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithOtp(e){let t=null;try{if(`email`in e){let{email:n,options:r}=e,i=null,a=null;this.flowType===`pkce`&&([i,a,t]=await this._getCodeChallengeAndMethod());let{error:o}=await J(this.fetch,`POST`,`${this.url}/otp`,{headers:this.headers,body:{email:n,data:r?.data??{},create_user:r?.shouldCreateUser??!0,gotrue_meta_security:{captcha_token:r?.captchaToken},code_challenge:i,code_challenge_method:a},redirectTo:this._maybeAppendFlowIdToRedirect(r?.emailRedirectTo,t)});return this._returnResult({data:{user:null,session:null},error:o})}if(`phone`in e){let{phone:t,options:n}=e,{data:r,error:i}=await J(this.fetch,`POST`,`${this.url}/otp`,{headers:this.headers,body:{phone:t,data:n?.data??{},create_user:n?.shouldCreateUser??!0,gotrue_meta_security:{captcha_token:n?.captchaToken},channel:n?.channel??`sms`}});return this._returnResult({data:{user:null,session:null,messageId:r?.message_id},error:i})}throw new er(`You must provide either an email or phone number.`)}catch(e){if(await G(this.storage,this.storageKey,t),P(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async verifyOtp(e){try{let t,n;`options`in e&&(t=e.options?.redirectTo,n=e.options?.captchaToken);let{data:r,error:i}=await J(this.fetch,`POST`,`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},e),{gotrue_meta_security:{captcha_token:n}}),redirectTo:t,xform:Y});if(i)throw i;if(!r)throw Error(`An error occurred on token verification.`);let a=r.session,o=r.user;return a?.access_token&&(await this._saveSession(a),await this._notifyAllSubscribers(e.type==`recovery`?`PASSWORD_RECOVERY`:`SIGNED_IN`,a)),this._returnResult({data:{user:o,session:a},error:null})}catch(e){if(P(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async signInWithSSO(e){let t=null;try{let n=null,r=null;this.flowType===`pkce`&&([n,r,t]=await this._getCodeChallengeAndMethod());let i=await J(this.fetch,`POST`,`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},`providerId`in e?{provider_id:e.providerId}:null),`domain`in e?{domain:e.domain}:null),{redirect_to:this._maybeAppendFlowIdToRedirect(e.options?.redirectTo,t)}),e?.options?.captchaToken?{gotrue_meta_security:{captcha_token:e.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:n,code_challenge_method:r}),headers:this.headers,xform:li});return i.data?.url&&B()&&!e.options?.skipBrowserRedirect&&window.location.assign(i.data.url),this._returnResult(i)}catch(e){if(await G(this.storage,this.storageKey,t),P(e))return this._returnResult({data:null,error:e});throw e}}async reauthenticate(){return await this.initializePromise,this.lock==null?await this._reauthenticate():await this._acquireLock(this.lockAcquireTimeout,async()=>await this._reauthenticate())}async _reauthenticate(){try{return await this._useSession(async e=>{let{data:{session:t},error:n}=e;if(n)throw n;if(!t)throw new L;let{error:r}=await J(this.fetch,`GET`,`${this.url}/reauthenticate`,{headers:this.headers,jwt:t.access_token});return this._returnResult({data:{user:null,session:null},error:r})})}catch(e){if(P(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async resend(e){let t=null;try{let n=`${this.url}/resend`;if(`email`in e){let{email:r,type:i,options:a}=e,o=null,s=null;this.flowType===`pkce`&&([o,s,t]=await this._getCodeChallengeAndMethod());let{error:c}=await J(this.fetch,`POST`,n,{headers:this.headers,body:{email:r,type:i,gotrue_meta_security:{captcha_token:a?.captchaToken},code_challenge:o,code_challenge_method:s},redirectTo:this._maybeAppendFlowIdToRedirect(a?.emailRedirectTo,t)});return c&&await G(this.storage,this.storageKey,t),this._returnResult({data:{user:null,session:null},error:c})}else if(`phone`in e){let{phone:t,type:r,options:i}=e,{data:a,error:o}=await J(this.fetch,`POST`,n,{headers:this.headers,body:{phone:t,type:r,gotrue_meta_security:{captcha_token:i?.captchaToken}}});return this._returnResult({data:{user:null,session:null,messageId:a?.message_id},error:o})}throw new er(`You must provide either an email or phone number and a type`)}catch(e){if(await G(this.storage,this.storageKey,t),P(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async getSession(){return await this.initializePromise,this.lock==null?await this._useSession(async e=>e):await this._acquireLock(this.lockAcquireTimeout,async()=>this._useSession(async e=>e))}async _acquireLock(e,t){this._debug(`#_acquireLock`,`begin`,e);try{if(this.lockAcquired){let e=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),n=(async()=>(await e,await t()))();return this.pendingInLock.push((async()=>{try{await n}catch{}})()),n}return await this.lock(`lock:${this.storageKey}`,e,async()=>{this._debug(`#_acquireLock`,`lock acquired for storage key`,this.storageKey);try{this.lockAcquired=!0;let e=t();for(this.pendingInLock.push((async()=>{try{await e}catch{}})()),await e;this.pendingInLock.length;){let e=[...this.pendingInLock];await Promise.all(e),this.pendingInLock.splice(0,e.length)}return await e}finally{this._debug(`#_acquireLock`,`lock released for storage key`,this.storageKey),this.lockAcquired=!1}})}finally{this._debug(`#_acquireLock`,`end`)}}async _useSession(e){this._debug(`#_useSession`,`begin`);try{return await e(await this.__loadSession())}finally{this._debug(`#_useSession`,`end`)}}async __loadSession(){this._debug(`#__loadSession()`,`begin`),this.lock!=null&&!this.lockAcquired&&this._debug(`#__loadSession()`,`used outside of an acquired lock!`,Error().stack);try{let e=null,t=await U(this.storage,this.storageKey);if(this._debug(`#getSession()`,`session from storage`,t),t!==null&&(this._isValidSession(t)?e=t:(this._debug(`#getSession()`,`session from storage is not valid`),await this._removeSession())),!e)return{data:{session:null},error:null};let n=e.expires_at?e.expires_at*1e3-Date.now()Date.now()?this._returnResult({data:{session:await this._hydrateSessionUser(e)},error:null}):this._returnResult({data:{session:null},error:i})}return this._returnResult({data:{session:r},error:null})}finally{this._debug(`#__loadSession()`,`end`)}}async _hydrateSessionUser(e){if(this.userStorage){let t=await U(this.userStorage,this.storageKey+`-user`);e.user=t?.user?t.user:ti()}if(this.storage.isServer&&e.user&&!e.user.__isUserNotAvailableProxy){let t={value:this.suppressGetSessionWarning};e.user=ni(e.user,t),t.value&&(this.suppressGetSessionWarning=!0)}return e}async getUser(e){if(e)return await this._getUser(e);await this.initializePromise;let t;return t=this.lock==null?await this._getUser():await this._acquireLock(this.lockAcquireTimeout,async()=>await this._getUser()),t.data.user&&(this.suppressGetSessionWarning=!0),t}async _getUser(e){try{return e?await J(this.fetch,`GET`,`${this.url}/user`,{headers:this.headers,jwt:e,xform:X}):await this._useSession(async e=>{let{data:t,error:n}=e;if(n)throw n;return!t.session?.access_token&&!this.hasCustomAuthorizationHeader?{data:{user:null},error:new L}:await J(this.fetch,`GET`,`${this.url}/user`,{headers:this.headers,jwt:t.session?.access_token??void 0,xform:X})})}catch(e){if(P(e))return $n(e)&&await this._removeSession(),this._returnResult({data:{user:null},error:e});throw e}}async updateUser(e,t={}){return await this.initializePromise,this.lock==null?await this._updateUser(e,t):await this._acquireLock(this.lockAcquireTimeout,async()=>await this._updateUser(e,t))}async _updateUser(e,t={}){let n=null;try{return await this._useSession(async r=>{let{data:i,error:a}=r;if(a)throw a;if(!i.session)throw new L;let o=i.session,s=null,c=null;this.flowType===`pkce`&&e.email!=null&&([s,c,n]=await this._getCodeChallengeAndMethod());let{data:l,error:u}=await J(this.fetch,`PUT`,`${this.url}/user`,{headers:this.headers,redirectTo:this._maybeAppendFlowIdToRedirect(t?.emailRedirectTo,n),body:Object.assign(Object.assign({},e),{code_challenge:s,code_challenge_method:c}),jwt:o.access_token,xform:X});if(u)throw u;return o.user=l.user,await this._saveSession(o),await this._notifyAllSubscribers(`USER_UPDATED`,o),this._returnResult({data:{user:o.user},error:null})})}catch(e){if(await G(this.storage,this.storageKey,n),P(e))return this._returnResult({data:{user:null},error:e});throw e}}async setSession(e){return await this.initializePromise,this.lock==null?await this._setSession(e):await this._acquireLock(this.lockAcquireTimeout,async()=>await this._setSession(e))}async _setSession(e){try{if(!e.access_token||!e.refresh_token)throw new L;let t=Date.now()/1e3,n=t,r=!0,i=null,{payload:a}=jr(e.access_token);if(a.exp&&(n=a.exp,r=n<=t),r){let{data:t,error:n}=await this._callRefreshToken(e.refresh_token);if(n)return this._returnResult({data:{user:null,session:null},error:n});if(!t)return{data:{user:null,session:null},error:null};i=t}else{let{data:r,error:a}=await this._getUser(e.access_token);if(a)return this._returnResult({data:{user:null,session:null},error:a});i={access_token:e.access_token,refresh_token:e.refresh_token,user:r.user,token_type:`bearer`,expires_in:n-t,expires_at:n},await this._saveSession(i),await this._notifyAllSubscribers(`SIGNED_IN`,i)}return this._returnResult({data:{user:i.user,session:i},error:null})}catch(e){if(P(e))return this._returnResult({data:{session:null,user:null},error:e});throw e}}async refreshSession(e){return await this.initializePromise,this.lock==null?await this._refreshSession(e):await this._acquireLock(this.lockAcquireTimeout,async()=>await this._refreshSession(e))}async _refreshSession(e){try{return await this._useSession(async t=>{if(!e){let{data:n,error:r}=t;if(r)throw r;e=n.session??void 0}if(!e?.refresh_token)throw new L;let{data:n,error:r}=await this._callRefreshToken(e.refresh_token);return r?this._returnResult({data:{user:null,session:null},error:r}):n?this._returnResult({data:{user:n.user,session:n},error:null}):this._returnResult({data:{user:null,session:null},error:null})})}catch(e){if(P(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}}async _getSessionFromURL(e,t){try{if(!B())throw new tr(`No browser detected.`);if(e.error||e.error_description||e.error_code)throw new tr(e.error_description||`Error in URL with unspecified error_description`,{error:e.error||`unspecified_error`,code:e.error_code||`unspecified_code`});switch(t){case`implicit`:if(this.flowType===`pkce`)throw new rr(`Not a valid PKCE flow url.`);break;case`pkce`:if(this.flowType===`implicit`)throw new tr(`Not a valid implicit grant flow url.`);break;default:}if(t===`pkce`){if(this._debug(`#_initialize()`,`begin`,`is PKCE flow`,!0),!e.code)throw new rr(`No code detected.`);let{data:t,error:n}=await this._exchangeCodeForSession(e.code,{flowId:e[N]});if(n)throw n;let r=new URL(window.location.href);return r.searchParams.delete(`code`),r.searchParams.delete(N),window.history.replaceState(window.history.state,``,r.toString()),{data:{session:t.session,redirectType:t.redirectType??null},error:null}}let{provider_token:n,provider_refresh_token:r,access_token:i,refresh_token:a,expires_in:o,expires_at:s,token_type:c}=e;if(!i||!o||!a||!c)throw new tr(`No session defined in URL`);let l=Math.round(Date.now()/1e3),u=parseInt(o),d=l+u;s&&(d=parseInt(s));let f=d-l;f*1e3<=M&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${f}s, should have been closer to ${u}s`);let p=d-u;l-p>=120?console.warn(`@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale`,p,d,l):l-p<0&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew`,p,d,l);let{data:m,error:h}=await this._getUser(i);if(h)throw h;let g={provider_token:n,provider_refresh_token:r,access_token:i,expires_in:u,expires_at:d,refresh_token:a,token_type:c,user:m.user};return window.location.hash=``,this._debug(`#_getSessionFromURL()`,`clearing window.location.hash`),this._returnResult({data:{session:g,redirectType:e.type},error:null})}catch(e){if(P(e))return this._returnResult({data:{session:null,redirectType:null},error:e});throw e}}_isImplicitGrantCallback(e){return typeof this.detectSessionInUrl==`function`?this.detectSessionInUrl(new URL(window.location.href),e):!!(e.access_token||e.error||e.error_description||e.error_code)}async _isPKCECallback(e){if(!e.code)return!1;let t=zr(e[N]);return t&&await U(this.storage,Vr(this.storageKey,t))?!0:!!await U(this.storage,`${this.storageKey}-code-verifier`)}async signOut(e={scope:`global`}){return await this.initializePromise,this.lock==null?await this._signOut(e):await this._acquireLock(this.lockAcquireTimeout,async()=>await this._signOut(e))}async _signOut({scope:e}={scope:`global`}){return await this._useSession(async t=>{let n=async()=>{await this._removeSession()},{data:r,error:i}=t;if(i&&!$n(i))return this._returnResult({error:i});let a=r.session?.access_token;if(a){let{error:t}=await this.admin.signOut(a,e);if(t&&!(Qn(t)&&(t.status===404||t.status===401||t.status===403)||$n(t)))return e!==`others`&&await n(),this._returnResult({error:t})}return e!==`others`&&await n(),this._returnResult({error:null})})}onAuthStateChange(e){let t=Tr(),n={id:t,callback:e,unsubscribe:()=>{this._debug(`#unsubscribe()`,`state change callback with id removed`,t),this.stateChangeEmitters.delete(t)}};return this._debug(`#onAuthStateChange()`,`registered callback with id`,t),this.stateChangeEmitters.set(t,n),(async()=>{await this.initializePromise,this.lock==null?await this._emitInitialSession(t):await this._acquireLock(this.lockAcquireTimeout,async()=>{this._emitInitialSession(t)})})(),{data:{subscription:n}}}async _emitInitialSession(e){return await this._useSession(async t=>{try{let{data:{session:n},error:r}=t;if(r)throw r;await this.stateChangeEmitters.get(e)?.callback(`INITIAL_SESSION`,n),this._debug(`INITIAL_SESSION`,`callback id`,e,`session`,n)}catch(t){if(await this.stateChangeEmitters.get(e)?.callback(`INITIAL_SESSION`,null),this._debug(`INITIAL_SESSION`,`callback id`,e,`error`,t),lr(t))return;$n(t)||sr(t)||Qn(t)&&(t.code===`refresh_token_not_found`||t.code===`refresh_token_already_used`||t.code===`session_expired`)?console.warn(t):console.error(t)}})}async resetPasswordForEmail(e,t={}){let n=null,r=null,i=null;this.flowType===`pkce`&&([n,r,i]=await this._getCodeChallengeAndMethod(!0));try{return await J(this.fetch,`POST`,`${this.url}/recover`,{body:{email:e,code_challenge:n,code_challenge_method:r,gotrue_meta_security:{captcha_token:t.captchaToken}},headers:this.headers,redirectTo:this._maybeAppendFlowIdToRedirect(t.redirectTo,i)})}catch(e){if(await G(this.storage,this.storageKey,i),P(e))return this._returnResult({data:null,error:e});throw e}}async getUserIdentities(){try{let{data:e,error:t}=await this.getUser();if(t)throw t;return this._returnResult({data:{identities:e.user.identities??[]},error:null})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async linkIdentity(e){return`token`in e?this.linkIdentityIdToken(e):this.linkIdentityOAuth(e)}async linkIdentityOAuth(e){let t=null;try{let{data:n,error:r}=await this._useSession(async n=>{let{data:r,error:i}=n;if(i)throw i;let{url:a,flowId:o}=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,e.provider,{redirectTo:e.options?.redirectTo,scopes:e.options?.scopes,queryParams:e.options?.queryParams,skipBrowserRedirect:!0});return t=o,await J(this.fetch,`GET`,a,{headers:this.headers,jwt:r.session?.access_token??void 0})});if(r)throw r;return B()&&!e.options?.skipBrowserRedirect&&window.location.assign(n?.url),this._returnResult({data:{provider:e.provider,url:n?.url,flowId:t},error:null})}catch(n){if(P(n))return this._returnResult({data:{provider:e.provider,url:null,flowId:t},error:n});throw n}}async linkIdentityIdToken(e){return await this._useSession(async t=>{try{let{error:n,data:{session:r}}=t;if(n)throw n;let{options:i,provider:a,token:o,access_token:s,nonce:c}=e,{data:l,error:u}=await J(this.fetch,`POST`,`${this.url}/token?grant_type=id_token`,{headers:this.headers,jwt:r?.access_token??void 0,body:{provider:a,id_token:o,access_token:s,nonce:c,link_identity:!0,gotrue_meta_security:{captcha_token:i?.captchaToken}},xform:Y});return u?this._returnResult({data:{user:null,session:null},error:u}):!l||!l.session||!l.user?this._returnResult({data:{user:null,session:null},error:new R}):(l.session&&(await this._saveSession(l.session),await this._notifyAllSubscribers(`USER_UPDATED`,l.session)),this._returnResult({data:l,error:u}))}catch(e){if(await G(this.storage,this.storageKey,null),P(e))return this._returnResult({data:{user:null,session:null},error:e});throw e}})}async unlinkIdentity(e){try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)throw r;return await J(this.fetch,`DELETE`,`${this.url}/user/identities/${e.identity_id}`,{headers:this.headers,jwt:n.session?.access_token??void 0})})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _refreshAccessToken(e){let t=`#_refreshAccessToken()`;this._debug(t,`begin`);try{let n=Date.now();return await Nr(async n=>(n>0&&await Mr(200*2**(n-1)),this._debug(t,`refreshing attempt`,n),await J(this.fetch,`POST`,`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:Y})),(e,t)=>{let r=200*2**e;return t&&sr(t)&&Date.now()+r-n{});let t=await U(this.storage,this.storageKey),{data:n,error:i}=await this._refreshAccessToken(e);if(i)throw i;if(!n.session)throw new L;let a=await U(this.storage,this.storageKey);if(t!==null&&(a===null||a.refresh_token!==t.refresh_token)){this._debug(r,`commit guard: storage changed since refresh started, discarding rotated tokens`,{startedWith:`present`,nowHolds:a?`replaced`:`cleared`});let e={data:null,error:new cr};return this.refreshingDeferred.resolve(e),e}let o=this._sessionRemovalEpoch;if(await this._saveSession(n.session),this._sessionRemovalEpoch!==o){this._debug(r,`commit guard (post-save): _removeSession ran during _saveSession, undoing write`),await W(this.storage,this.storageKey),this.userStorage&&await W(this.userStorage,this.storageKey+`-user`);let e={data:null,error:new cr};return this.refreshingDeferred.resolve(e),e}await this._notifyAllSubscribers(`TOKEN_REFRESHED`,n.session);let s={data:n.session,error:null};return this.lastRefreshFailure=null,this.refreshingDeferred.resolve(s),s}catch(i){if(this._debug(r,`error`,i),P(i)){let n={data:null,error:i};if(!sr(i)){let e=await U(this.storage,this.storageKey);e?.expires_at&&e.expires_at*1e3>Date.now()?this._debug(r,`proactive refresh failed, access token still valid — preserving session`):await this._removeSession()}return this.lastRefreshFailure={refreshToken:e,result:n,expiresAt:Date.now()+6e4},(t=this.refreshingDeferred)==null||t.resolve(n),n}throw(n=this.refreshingDeferred)==null||n.reject(i),i}finally{this.refreshingDeferred=null,this._debug(r,`end`)}}async _notifyAllSubscribers(e,t,n=!0){if(this._pendingInitNotifications!==null&&n){this._pendingInitNotifications.push({event:e,session:t,broadcast:n});return}let r=`#_notifyAllSubscribers(${e})`;this._debug(r,`begin`,t,`broadcast = ${n}`);try{this.broadcastChannel&&n&&this.broadcastChannel.postMessage({event:e,session:t});let r=[],i=Array.from(this.stateChangeEmitters.values()).map(async n=>{try{await n.callback(e,t)}catch(e){r.push(e)}});if(await Promise.all(i),r.length>0){for(let e=0;ethis._autoRefreshTokenTick(),M);this.autoRefreshTicker=e,e&&typeof e==`object`&&typeof e.unref==`function`?e.unref():typeof Deno<`u`&&typeof Deno.unrefTimer==`function`&&Deno.unrefTimer(e);let t=setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0);this.autoRefreshTickTimeout=t,t&&typeof t==`object`&&typeof t.unref==`function`?t.unref():typeof Deno<`u`&&typeof Deno.unrefTimer==`function`&&Deno.unrefTimer(t)}async _stopAutoRefresh(){this._debug(`#_stopAutoRefresh()`);let e=this.autoRefreshTicker;this.autoRefreshTicker=null,e&&clearInterval(e);let t=this.autoRefreshTickTimeout;this.autoRefreshTickTimeout=null,t&&clearTimeout(t)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async dispose(){var e;this._removeVisibilityChangedCallback(),await this._stopAutoRefresh(),(e=this.broadcastChannel)==null||e.close(),this.broadcastChannel=null,this.stateChangeEmitters.clear()}async _autoRefreshTokenTick(){if(this._debug(`#_autoRefreshTokenTick()`,`begin`),this.lock!=null){try{await this._acquireLock(0,async()=>{try{let e=Date.now();try{return await this._useSession(async t=>{let{data:{session:n}}=t;if(!n||!n.refresh_token||!n.expires_at){this._debug(`#_autoRefreshTokenTick()`,`no session`);return}let r=Math.floor((n.expires_at*1e3-e)/M);this._debug(`#_autoRefreshTokenTick()`,`access token expires in ${r} ticks, a tick lasts ${M}ms, refresh threshold is 3 ticks`),r<=3&&await this._callRefreshToken(n.refresh_token)})}catch(e){console.error(`Auto refresh tick failed with error. This is likely a transient error.`,e)}}finally{this._debug(`#_autoRefreshTokenTick()`,`end`)}})}catch(e){if(e instanceof gi)this._debug(`auto refresh token tick lock not available`);else throw e}return}if(this.refreshingDeferred!==null){this._debug(`#_autoRefreshTokenTick()`,`refresh already in flight, skipping`);return}try{let e=Date.now();try{await this._useSession(async t=>{let{data:{session:n}}=t;if(!n||!n.refresh_token||!n.expires_at){this._debug(`#_autoRefreshTokenTick()`,`no session`);return}let r=Math.floor((n.expires_at*1e3-e)/M);this._debug(`#_autoRefreshTokenTick()`,`access token expires in ${r} ticks, a tick lasts ${M}ms, refresh threshold is 3 ticks`),r<=3&&await this._callRefreshToken(n.refresh_token)})}catch(e){console.error(`Auto refresh tick failed with error. This is likely a transient error.`,e)}}finally{this._debug(`#_autoRefreshTokenTick()`,`end`)}}async _handleVisibilityChange(){if(this._debug(`#_handleVisibilityChange()`),!B()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>{try{await this._onVisibilityChanged(!1)}catch(e){this._debug(`#visibilityChangedCallback`,`error`,e)}},window==null||window.addEventListener(`visibilitychange`,this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(e){console.error(`_handleVisibilityChange`,e)}}async _onVisibilityChanged(e){let t=`#_onVisibilityChanged(${e})`;if(this._debug(t,`visibilityState`,document.visibilityState),document.visibilityState===`visible`){if(this.autoRefreshToken&&this._startAutoRefresh(),!e)if(await this.initializePromise,this.lock!=null)await this._acquireLock(this.lockAcquireTimeout,async()=>{if(document.visibilityState!==`visible`){this._debug(t,`acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting`);return}await this._recoverAndRefresh()});else{if(document.visibilityState!==`visible`){this._debug(t,`visibilityState is no longer visible, skipping recovery`);return}await this._recoverAndRefresh()}}else document.visibilityState===`hidden`&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(e,t,n){let r=n?.redirectTo,i=null,a=null,o=null;this.flowType===`pkce`&&([i,a,o]=await this._getCodeChallengeAndMethod(),r=this._maybeAppendFlowIdToRedirect(r,o));let s=[`provider=${encodeURIComponent(t)}`];if(r&&s.push(`redirect_to=${encodeURIComponent(r)}`),n?.scopes&&s.push(`scopes=${encodeURIComponent(n.scopes)}`),i!=null&&a!=null){let e=new URLSearchParams({code_challenge:`${encodeURIComponent(i)}`,code_challenge_method:`${encodeURIComponent(a)}`});s.push(e.toString())}if(n?.queryParams){let e=new URLSearchParams(n.queryParams);s.push(e.toString())}return n?.skipBrowserRedirect&&s.push(`skip_http_redirect=${n.skipBrowserRedirect}`),{url:`${e}?${s.join(`&`)}`,flowId:o}}_maybeAppendFlowIdToRedirect(e,t){return!e||!t||!this.experimental.appendPkceFlowIdToRedirects?e??void 0:qr(e,t)}async _getCodeChallengeAndMethod(e=!1){return Jr(this.storage,this.storageKey,e,e=>this._debug(`#_getCodeChallengeAndMethod()`,`evicted oldest pending PKCE verifier slot`,e))}async _unenroll(e){try{return await this._useSession(async t=>{let{data:n,error:r}=t;return r?this._returnResult({data:null,error:r}):await J(this.fetch,`DELETE`,`${this.url}/factors/${e.factorId}`,{headers:this.headers,jwt:n?.session?.access_token})})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _enroll(e){try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)return this._returnResult({data:null,error:r});let i=Object.assign({friendly_name:e.friendlyName,factor_type:e.factorType},e.factorType===`phone`?{phone:e.phone}:e.factorType===`totp`?{issuer:e.issuer}:{}),{data:a,error:o}=await J(this.fetch,`POST`,`${this.url}/factors`,{body:i,headers:this.headers,jwt:n?.session?.access_token});return o?this._returnResult({data:null,error:o}):(e.factorType===`totp`&&a.type===`totp`&&a?.totp?.qr_code&&(a.totp.qr_code=`data:image/svg+xml;utf-8,${a.totp.qr_code}`),this._returnResult({data:a,error:null}))})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _verify(e){let t=async()=>{try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)return this._returnResult({data:null,error:r});let i=Object.assign({challenge_id:e.challengeId},`webauthn`in e?{webauthn:Object.assign(Object.assign({},e.webauthn),{credential_response:e.webauthn.type===`create`?Ni(e.webauthn.credential_response):Pi(e.webauthn.credential_response)})}:{code:e.code}),{data:a,error:o}=await J(this.fetch,`POST`,`${this.url}/factors/${e.factorId}/verify`,{body:i,headers:this.headers,jwt:n?.session?.access_token});return o?this._returnResult({data:null,error:o}):(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+a.expires_in},a)),await this._notifyAllSubscribers(`MFA_CHALLENGE_VERIFIED`,a),this._returnResult({data:a,error:o}))})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}};return this.lock==null?t():this._acquireLock(this.lockAcquireTimeout,t)}async _challenge(e){let t=async()=>{try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)return this._returnResult({data:null,error:r});let i=await J(this.fetch,`POST`,`${this.url}/factors/${e.factorId}/challenge`,{body:e,headers:this.headers,jwt:n?.session?.access_token});if(i.error)return i;let{data:a}=i;if(a.type!==`webauthn`)return{data:a,error:null};switch(a.webauthn.type){case`create`:return{data:Object.assign(Object.assign({},a),{webauthn:Object.assign(Object.assign({},a.webauthn),{credential_options:Object.assign(Object.assign({},a.webauthn.credential_options),{publicKey:ji(a.webauthn.credential_options.publicKey)})})}),error:null};case`request`:return{data:Object.assign(Object.assign({},a),{webauthn:Object.assign(Object.assign({},a.webauthn),{credential_options:Object.assign(Object.assign({},a.webauthn.credential_options),{publicKey:Mi(a.webauthn.credential_options.publicKey)})})}),error:null}}})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}};return this.lock==null?t():this._acquireLock(this.lockAcquireTimeout,t)}async _challengeAndVerify(e){let{data:t,error:n}=await this._challenge({factorId:e.factorId});return n?this._returnResult({data:null,error:n}):await this._verify({factorId:e.factorId,challengeId:t.id,code:e.code})}async _listFactors(){let{data:{user:e},error:t}=await this.getUser();if(t)return{data:null,error:t};let n={all:[],phone:[],totp:[],webauthn:[],recovery_code:[]};for(let t of e?.factors??[])n.all.push(t),t.status===`verified`&&t.factor_type in n&&Array.isArray(n[t.factor_type])&&n[t.factor_type].push(t);return{data:n,error:null}}async _getAuthenticatorAssuranceLevel(e){if(e)try{let{payload:t}=jr(e),n=null;t.aal&&(n=t.aal);let r=n,{data:{user:i},error:a}=await this.getUser(e);if(a)return this._returnResult({data:null,error:a});((i?.factors)?.filter(e=>e.status===`verified`)??[]).length>0&&(r=`aal2`);let o=t.amr||[];return{data:{currentLevel:n,nextLevel:r,currentAuthenticationMethods:o},error:null}}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}let{data:{session:t},error:n}=await this.getSession();if(n)return this._returnResult({data:null,error:n});if(!t)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};let{payload:r}=jr(t.access_token),i=null;r.aal&&(i=r.aal);let a=i;(t.user.factors?.filter(e=>e.status===`verified`)??[]).length>0&&(a=`aal2`);let o=r.amr||[];return{data:{currentLevel:i,nextLevel:a,currentAuthenticationMethods:o},error:null}}async _getRecoveryCodesStatus(){ei(this.experimental);try{return await this._useSession(async e=>{let{data:t,error:n}=e;if(n)return this._returnResult({data:null,error:n});let{data:r,error:i}=await J(this.fetch,`GET`,`${this.url}/factors/recovery-codes`,{headers:this.headers,jwt:t?.session?.access_token});return i?this._returnResult({data:null,error:i}):this._returnResult({data:r,error:null})})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _generateRecoveryCodes(e){ei(this.experimental);try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)return this._returnResult({data:null,error:r});let{data:i,error:a}=await J(this.fetch,`POST`,`${this.url}/factors/recovery-codes`,{body:e?.friendlyName?{friendly_name:e.friendlyName}:void 0,headers:this.headers,jwt:n?.session?.access_token});return a?this._returnResult({data:null,error:a}):this._returnResult({data:i,error:null})})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _verifyRecoveryCode(e){ei(this.experimental);let t=async()=>{try{return await this._useSession(async t=>{let{data:n,error:r}=t;if(r)return this._returnResult({data:null,error:r});let{data:i,error:a}=await J(this.fetch,`POST`,`${this.url}/factors/recovery-codes/verify`,{body:{code:e.code},headers:this.headers,jwt:n?.session?.access_token});if(a)return this._returnResult({data:null,error:a});let o=Object.assign({expires_at:wr(i.expires_in)},i);return await this._saveSession(o),await this._notifyAllSubscribers(`MFA_CHALLENGE_VERIFIED`,o),this._returnResult({data:i,error:null})})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}};return this.lock==null?t():this._acquireLock(this.lockAcquireTimeout,t)}async _regenerateRecoveryCodes(){ei(this.experimental);try{return await this._useSession(async e=>{let{data:t,error:n}=e;if(n)return this._returnResult({data:null,error:n});let{data:r,error:i}=await J(this.fetch,`POST`,`${this.url}/factors/recovery-codes/regenerate`,{headers:this.headers,jwt:t?.session?.access_token});return i?this._returnResult({data:null,error:i}):this._returnResult({data:r,error:null})})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _unenrollRecoveryCodes(){ei(this.experimental);try{return await this._useSession(async e=>{let{data:t,error:n}=e;if(n)return this._returnResult({data:null,error:n});let{data:r,error:i}=await J(this.fetch,`DELETE`,`${this.url}/factors/recovery-codes`,{headers:this.headers,jwt:t?.session?.access_token});return i?this._returnResult({data:null,error:i}):this._returnResult({data:r,error:null})})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _getAuthorizationDetails(e){try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;return r?this._returnResult({data:null,error:r}):n?await J(this.fetch,`GET`,`${this.url}/oauth/authorizations/${e}`,{headers:this.headers,jwt:n.access_token,xform:e=>({data:e,error:null})}):this._returnResult({data:null,error:new L})})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _approveAuthorization(e,t){try{return await this._useSession(async n=>{let{data:{session:r},error:i}=n;if(i)return this._returnResult({data:null,error:i});if(!r)return this._returnResult({data:null,error:new L});let a=await J(this.fetch,`POST`,`${this.url}/oauth/authorizations/${e}/consent`,{headers:this.headers,jwt:r.access_token,body:{action:`approve`},xform:e=>({data:e,error:null})});return a.data&&a.data.redirect_url&&B()&&!t?.skipBrowserRedirect&&window.location.assign(a.data.redirect_url),a})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _denyAuthorization(e,t){try{return await this._useSession(async n=>{let{data:{session:r},error:i}=n;if(i)return this._returnResult({data:null,error:i});if(!r)return this._returnResult({data:null,error:new L});let a=await J(this.fetch,`POST`,`${this.url}/oauth/authorizations/${e}/consent`,{headers:this.headers,jwt:r.access_token,body:{action:`deny`},xform:e=>({data:e,error:null})});return a.data&&a.data.redirect_url&&B()&&!t?.skipBrowserRedirect&&window.location.assign(a.data.redirect_url),a})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _listOAuthGrants(){try{return await this._useSession(async e=>{let{data:{session:t},error:n}=e;return n?this._returnResult({data:null,error:n}):t?await J(this.fetch,`GET`,`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:t.access_token,xform:e=>({data:e,error:null})}):this._returnResult({data:null,error:new L})})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _revokeOAuthGrant(e){try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;return r?this._returnResult({data:null,error:r}):n?(await J(this.fetch,`DELETE`,`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:n.access_token,query:{client_id:e.clientId},noResolveJson:!0}),{data:{},error:null}):this._returnResult({data:null,error:new L})})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async fetchJwk(e,t={keys:[]}){let n=t.keys.find(t=>t.kid===e);if(n)return n;let r=Date.now();if(n=this.jwks.keys.find(t=>t.kid===e),n&&this.jwks_cached_at+6e5>r)return n;let{data:i,error:a}=await J(this.fetch,`GET`,`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(a)throw a;return!i.keys||i.keys.length===0||(this.jwks=i,this.jwks_cached_at=r,n=i.keys.find(t=>t.kid===e),!n)?null:n}async getClaims(e,t={}){try{let n=e;if(!n){let{data:e,error:t}=await this.getSession();if(t||!e.session)return this._returnResult({data:null,error:t});n=e.session.access_token}let{header:r,payload:i,signature:a,raw:{header:o,payload:s}}=jr(n);if(!t?.allowExpired)try{Zr(i.exp)}catch(e){throw new fr(e instanceof Error?e.message:`JWT validation failed`)}let c=!r.alg||r.alg.startsWith(`HS`)||!r.kid||!(`crypto`in globalThis&&`subtle`in globalThis.crypto)?null:await this.fetchJwk(r.kid,t?.keys?{keys:t.keys}:t?.jwks);if(!c){let{error:e}=await this.getUser(n);if(e)throw e;return{data:{claims:i,header:r,signature:a},error:null}}let l=Qr(r.alg),u=await crypto.subtle.importKey(`jwk`,c,l,!0,[`verify`]);if(!await crypto.subtle.verify(l,u,a,Cr(`${o}.${s}`)))throw new fr(`Invalid JWT signature`);return{data:{claims:i,header:r,signature:a},error:null}}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async signInWithPasskey(e){try{if(!Ii())return this._returnResult({data:null,error:new F(`Browser does not support WebAuthn`,null)});let{data:t,error:n}=await this._startPasskeyAuthentication({options:{captchaToken:e?.options?.captchaToken}});if(n||!t)return this._returnResult({data:null,error:n});let{data:r,error:i}=await Ri({publicKey:Mi(t.options),signal:e?.options?.signal??Ai.createNewAbortSignal(),mediation:e?.options?.mediation});if(i||!r)return this._returnResult({data:null,error:i??new F(`WebAuthn ceremony failed`,null)});let a=Pi(r);return this._verifyPasskeyAuthentication({challengeId:t.challenge_id,credential:a})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async registerPasskey(e){try{if(!Ii())return this._returnResult({data:null,error:new F(`Browser does not support WebAuthn`,null)});let{data:t,error:n}=await this._startPasskeyRegistration();if(n||!t)return this._returnResult({data:null,error:n});let{data:r,error:i}=await Li({publicKey:ji(t.options),signal:e?.options?.signal??Ai.createNewAbortSignal()});if(i||!r)return this._returnResult({data:null,error:i??new F(`WebAuthn ceremony failed`,null)});let a=Ni(r);return this._verifyPasskeyRegistration({challengeId:t.challenge_id,credential:a})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _startPasskeyRegistration(){try{return await this._useSession(async e=>{let{data:{session:t},error:n}=e;if(n)return this._returnResult({data:null,error:n});if(!t)return this._returnResult({data:null,error:new L});let{data:r,error:i}=await J(this.fetch,`POST`,`${this.url}/passkeys/registration/options`,{headers:this.headers,jwt:t.access_token,body:{}});return i?this._returnResult({data:null,error:i}):this._returnResult({data:r,error:null})})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _verifyPasskeyRegistration(e){try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;if(r)return this._returnResult({data:null,error:r});if(!n)return this._returnResult({data:null,error:new L});let{data:i,error:a}=await J(this.fetch,`POST`,`${this.url}/passkeys/registration/verify`,{headers:this.headers,jwt:n.access_token,body:{challenge_id:e.challengeId,credential:e.credential}});return a?this._returnResult({data:null,error:a}):this._returnResult({data:i,error:null})})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _startPasskeyAuthentication(e){try{let{data:t,error:n}=await J(this.fetch,`POST`,`${this.url}/passkeys/authentication/options`,{headers:this.headers,body:{gotrue_meta_security:{captcha_token:e?.options?.captchaToken}}});return n?this._returnResult({data:null,error:n}):this._returnResult({data:t,error:null})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _verifyPasskeyAuthentication(e){try{let{data:t,error:n}=await J(this.fetch,`POST`,`${this.url}/passkeys/authentication/verify`,{headers:this.headers,body:{challenge_id:e.challengeId,credential:e.credential},xform:Y});return n?this._returnResult({data:null,error:n}):(t.session&&(await this._saveSession(t.session),await this._notifyAllSubscribers(`SIGNED_IN`,t.session)),this._returnResult({data:t,error:null}))}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _listPasskeys(){try{return await this._useSession(async e=>{let{data:{session:t},error:n}=e;if(n)return this._returnResult({data:null,error:n});if(!t)return this._returnResult({data:null,error:new L});let{data:r,error:i}=await J(this.fetch,`GET`,`${this.url}/passkeys`,{headers:this.headers,jwt:t.access_token,xform:e=>({data:e,error:null})});return i?this._returnResult({data:null,error:i}):this._returnResult({data:r,error:null})})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _updatePasskey(e){try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;if(r)return this._returnResult({data:null,error:r});if(!n)return this._returnResult({data:null,error:new L});let{data:i,error:a}=await J(this.fetch,`PATCH`,`${this.url}/passkeys/${e.passkeyId}`,{headers:this.headers,jwt:n.access_token,body:{friendly_name:e.friendlyName}});return a?this._returnResult({data:null,error:a}):this._returnResult({data:i,error:null})})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}async _deletePasskey(e){try{return await this._useSession(async t=>{let{data:{session:n},error:r}=t;if(r)return this._returnResult({data:null,error:r});if(!n)return this._returnResult({data:null,error:new L});let{error:i}=await J(this.fetch,`DELETE`,`${this.url}/passkeys/${e.passkeyId}`,{headers:this.headers,jwt:n.access_token,noResolveJson:!0});return i?this._returnResult({data:null,error:i}):this._returnResult({data:null,error:null})})}catch(e){if(P(e))return this._returnResult({data:null,error:e});throw e}}};qi.nextInstanceID={};var Ji=qi,Yi=mi,Xi=Ji,Zi=class extends Xi{constructor(e){super(e)}},Qi=class{constructor(e,t,n){this.supabaseUrl=e,this.supabaseKey=t;let r=Un(e);if(!t)throw Error(`supabaseKey is required.`);Nn(t),Vn(n),this.realtimeUrl=new URL(`realtime/v1`,r),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace(`http`,`ws`),this.authUrl=new URL(`auth/v1`,r),this.storageUrl=new URL(`storage/v1`,r),this.functionsUrl=new URL(`functions/v1`,r);let i=`sb-${r.hostname.split(`.`)[0]}-auth-token`,a={db:yn,realtime:xn,auth:{...bn,storageKey:i},global:vn,tracePropagation:Sn},o=Hn(n??{},a);this.settings=o,this.storageKey=o.auth.storageKey??``,this.headers=o.global.headers??{},o.accessToken?(this.accessToken=o.accessToken,this.auth=new Proxy({},{get:(e,t)=>{throw Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(t)} is not possible`)}})):this.auth=this._initSupabaseAuthClient(o.auth??{},this.headers,o.global.fetch),this.fetch=Pn(t,e,this._getSessionToken.bind(this),o.global.fetch,o.tracePropagation),this.functionsFetch=Pn(t,e,this._getSessionToken.bind(this),o.global.fetch,o.tracePropagation,{omitApiKeyAsBearer:!0}),this.realtime=this._initRealtimeClient({headers:this.headers,accessToken:this._getAccessToken.bind(this),fetch:this.fetch,...o.realtime}),this.accessToken&&Promise.resolve(this.accessToken()).then(e=>this.realtime.setAuth(e)).catch(e=>console.warn(`Failed to set initial Realtime auth token:`,e)),this.rest=new fe(new URL(`rest/v1`,r).href,{headers:this.headers,schema:o.db.schema,fetch:this.fetch,timeout:o.db.timeout,urlLengthLimit:o.db.urlLengthLimit,retry:o.db.retry}),this.storage=new mn(this.storageUrl.href,this.headers,this.fetch,n?.storage),o.accessToken||this._listenForAuthEvents()}get functions(){return new l(this.functionsUrl.href,{headers:this.headers,customFetch:this.functionsFetch})}from(e){return this.rest.from(e)}schema(e){return this.rest.schema(e)}getOpenApiSpec(){return this.rest.getOpenApiSpec()}rpc(e,t={},n={head:!1,get:!1,count:void 0}){return this.rest.rpc(e,t,n)}channel(e,t={config:{}}){return this.realtime.channel(e,t)}getChannels(){return this.realtime.getChannels()}removeChannel(e){return this.realtime.removeChannel(e)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getSessionToken(){if(this.accessToken)return await this.accessToken();let{data:e}=await this.auth.getSession();return e.session?.access_token??null}async _getAccessToken(){return await this._getSessionToken()??this.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:e,persistSession:t,detectSessionInUrl:n,storage:r,userStorage:i,storageKey:a,flowType:o,lock:s,debug:c,throwOnError:l,experimental:u,lockAcquireTimeout:d,skipAutoInitialize:f},p,m){let h={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new Zi({url:this.authUrl.href,headers:{...h,...p},storageKey:a,autoRefreshToken:e,persistSession:t,detectSessionInUrl:n,storage:r,userStorage:i,flowType:o,lock:s,debug:c,throwOnError:l,experimental:u,fetch:m,lockAcquireTimeout:d,skipAutoInitialize:f,hasCustomAuthorizationHeader:Object.keys(this.headers).some(e=>e.toLowerCase()===`authorization`)})}_initRealtimeClient(e){return new _t(this.realtimeUrl.href,{...e,params:{apikey:this.supabaseKey,...e?.params}})}_listenForAuthEvents(){return this.auth.onAuthStateChange((e,t)=>{this._handleTokenChanged(e,`CLIENT`,t?.access_token)})}_handleTokenChanged(e,t,n){(e===`TOKEN_REFRESHED`||e===`SIGNED_IN`||e===`INITIAL_SESSION`)&&this.changedAccessToken!==n?(this.changedAccessToken=n,this.realtime.setAuth(n)):e===`SIGNED_OUT`&&(this.realtime.setAuth(),t==`STORAGE`&&this.auth.signOut(),this.changedAccessToken=void 0)}};let $i=(e,t,n)=>new Qi(e,t,n);function ea(){if(typeof window<`u`||globalThis.Deno!==void 0)return!1;let e=globalThis.process;if(!e)return!1;let t=e.version;if(t==null)return!1;let n=t.match(/^v(\d+)\./);return n?parseInt(n[1],10)<=20:!1}return ea()&&console.warn(`⚠️ Node.js 20 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 22 or later. For more information, visit: https://github.com/orgs/supabase/discussions/45715`),e.AuthAdminApi=Yi,e.AuthApiError=Zn,e.AuthClient=Xi,e.AuthError=Xn,e.AuthImplicitGrantRedirectError=tr,e.AuthInvalidCredentialsError=er,e.AuthInvalidJwtError=fr,e.AuthInvalidTokenResponseError=R,e.AuthPKCECodeVerifierMissingError=ir,e.AuthPKCEGrantCodeExchangeError=rr,e.AuthRefreshDiscardedError=cr,e.AuthRetryableFetchError=or,e.AuthSessionMissingError=L,e.AuthUnknownError=F,e.AuthWeakPasswordError=ur,e.CustomAuthError=I,Object.defineProperty(e,`FunctionRegion`,{enumerable:!0,get:function(){return c}}),e.FunctionsError=i,e.FunctionsFetchError=a,e.FunctionsHttpError=s,e.FunctionsRelayError=o,e.GoTrueAdminApi=mi,e.GoTrueClient=Ji,e.NavigatorLockAcquireTimeoutError=_i,e.PostgrestError=u,e.REALTIME_CHANNEL_STATES=ut,Object.defineProperty(e,`REALTIME_LISTEN_TYPES`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(e,`REALTIME_POSTGRES_CHANGES_LISTEN_EVENT`,{enumerable:!0,get:function(){return lt}}),Object.defineProperty(e,`REALTIME_PRESENCE_LISTEN_EVENTS`,{enumerable:!0,get:function(){return Xe}}),Object.defineProperty(e,`REALTIME_SUBSCRIBE_STATES`,{enumerable:!0,get:function(){return E}}),e.RealtimeChannel=dt,e.RealtimeClient=_t,e.RealtimePostgresFilterBuilder=st,e.RealtimePresence=Ze,e.SIGN_OUT_SCOPES=pi,e.StorageApiError=Pt,e.SupabaseClient=Qi,e.WebSocketFactory=pe,e.createClient=$i,e.isAuthApiError=Qn,e.isAuthError=P,e.isAuthImplicitGrantRedirectError=nr,e.isAuthPKCECodeVerifierMissingError=ar,e.isAuthRefreshDiscardedError=lr,e.isAuthRetryableFetchError=sr,e.isAuthSessionMissingError=$n,e.isAuthWeakPasswordError=dr,e.lockInternals=Z,e.navigatorLock=yi,e.postgresChangesFilter=ct,e.processLock=xi,e})({}); \ No newline at end of file diff --git a/author-request.html b/author-request.html index 75b153c..57a6872 100644 --- a/author-request.html +++ b/author-request.html @@ -2,4 +2,4 @@ درخواست نویسندگی · German Library
AUTHOR APPLICATION

درخواست همکاری به‌عنوان نویسنده

دربارهٔ تجربه و موضوع‌هایی که می‌خواهی برای زبان‌آموزان بنویسی توضیح بده. درخواست پس از بررسی Admin تأیید یا رد می‌شود.

در حال بررسی ورود…
- + diff --git a/backend/migrations/20261027_s1_author_resource_ownership.sql b/backend/migrations/20261027_s1_author_resource_ownership.sql new file mode 100644 index 0000000..27af5b2 --- /dev/null +++ b/backend/migrations/20261027_s1_author_resource_ownership.sql @@ -0,0 +1,135 @@ +-- S1 release gate: authors may manage only their own draft resources and files. +-- Apply after 20261015_p0_article_source_read_access.sql, first on staging after backup. +-- This file is committed but has not been applied to a live project by this build. +begin; + +alter table public.resources + add column if not exists created_by uuid references auth.users(id) on delete set null default auth.uid(); +create index if not exists resources_created_by_idx on public.resources(created_by); + +update storage.buckets +set public=false, + file_size_limit=262144000, + allowed_mime_types=array[ + 'application/pdf','application/epub+zip', + 'audio/mpeg','audio/mp4','audio/x-m4a','audio/wav','audio/x-wav','audio/ogg', + 'video/mp4','video/webm', + 'text/plain','text/vtt','application/x-subrip', + 'image/jpeg','image/png','image/webp' + ] +where id='resource-files'; + +create or replace function private.is_editor_or_admin() +returns boolean +language sql +stable +security definer +set search_path='' +as $$ + select exists( + select 1 from public.profiles p + where p.id=(select auth.uid()) and p.role in ('admin','editor') + ); +$$; +revoke all on function private.is_editor_or_admin() from public,anon; +grant execute on function private.is_editor_or_admin() to authenticated; + +drop policy if exists "authenticated resource manager access" on public.resources; +drop policy if exists "resource managers insert resources" on public.resources; +drop policy if exists "resource managers update resources" on public.resources; +drop policy if exists "resources select own or staff" on public.resources; +drop policy if exists "resources insert staff or own draft" on public.resources; +drop policy if exists "resources update staff or own draft" on public.resources; + +create policy "resources select own or staff" +on public.resources for select to authenticated using( + status='published' + or (select private.is_editor_or_admin()) + or (created_by=(select auth.uid()) and (select private.can_manage_resources())) +); +create policy "resources insert staff or own draft" +on public.resources for insert to authenticated with check( + (select private.is_editor_or_admin()) + or ( + created_by=(select auth.uid()) + and (select private.can_manage_resources()) + and status in ('draft','archived') + ) +); +create policy "resources update staff or own draft" +on public.resources for update to authenticated using( + (select private.is_editor_or_admin()) + or ( + created_by=(select auth.uid()) + and (select private.can_manage_resources()) + and status<>'published' + ) +) with check( + (select private.is_editor_or_admin()) + or ( + created_by=(select auth.uid()) + and (select private.can_manage_resources()) + and status in ('draft','archived') + ) +); + +-- Authors are confined to authors//...; editors/admins retain bucket-wide access. +drop policy if exists "resource managers read resource files" on storage.objects; +drop policy if exists "resource managers upload resource files" on storage.objects; +drop policy if exists "resource managers update resource files" on storage.objects; +drop policy if exists "resource managers delete resource files" on storage.objects; +drop policy if exists "resource files read own or staff" on storage.objects; +drop policy if exists "resource files insert own or staff" on storage.objects; +drop policy if exists "resource files update own or staff" on storage.objects; +drop policy if exists "resource files delete own or staff" on storage.objects; + +create policy "resource files read own or staff" +on storage.objects for select to authenticated using( + bucket_id='resource-files' and ( + (select private.is_editor_or_admin()) + or ( + (select private.can_manage_resources()) + and name like 'authors/'||(select auth.uid())::text||'/%' + ) + ) +); +create policy "resource files insert own or staff" +on storage.objects for insert to authenticated with check( + bucket_id='resource-files' and ( + (select private.is_editor_or_admin()) + or ( + (select private.can_manage_resources()) + and name like 'authors/'||(select auth.uid())::text||'/%' + ) + ) +); +create policy "resource files update own or staff" +on storage.objects for update to authenticated using( + bucket_id='resource-files' and ( + (select private.is_editor_or_admin()) + or ( + (select private.can_manage_resources()) + and name like 'authors/'||(select auth.uid())::text||'/%' + ) + ) +) with check( + bucket_id='resource-files' and ( + (select private.is_editor_or_admin()) + or ( + (select private.can_manage_resources()) + and name like 'authors/'||(select auth.uid())::text||'/%' + ) + ) +); +create policy "resource files delete own or staff" +on storage.objects for delete to authenticated using( + bucket_id='resource-files' and ( + (select private.is_editor_or_admin()) + or ( + (select private.can_manage_resources()) + and name like 'authors/'||(select auth.uid())::text||'/%' + ) + ) +); + +commit; diff --git a/backend/validation/s1_author_ownership_check.sql b/backend/validation/s1_author_ownership_check.sql new file mode 100644 index 0000000..41c93aa --- /dev/null +++ b/backend/validation/s1_author_ownership_check.sql @@ -0,0 +1,52 @@ +-- Run after 20261027_s1_author_resource_ownership.sql on staging. +-- Every row must return pass=true. Also perform authenticated negative tests described below. +select 'resources.created_by exists' as check_name, + exists( + select 1 from information_schema.columns + where table_schema='public' and table_name='resources' and column_name='created_by' + ) as pass +union all +select 'resource bucket is private and MIME-scoped', + exists( + select 1 from storage.buckets + where id='resource-files' and public=false and file_size_limit=262144000 + and allowed_mime_types is not null and cardinality(allowed_mime_types)=16 + ) +union all +select 'old broad resource policies removed', + not exists( + select 1 from pg_policies + where schemaname='public' and tablename='resources' and policyname like 'resource managers%' + ) +union all +select 'new resource policies installed', + (select count(*) from pg_policies + where schemaname='public' and tablename='resources' + and policyname in ( + 'resources select own or staff', + 'resources insert staff or own draft', + 'resources update staff or own draft' + ))=3 +union all +select 'old broad storage policies removed', + not exists( + select 1 from pg_policies + where schemaname='storage' and tablename='objects' and policyname like 'resource managers%' + ) +union all +select 'author storage policies are path-scoped', + (select count(*) from pg_policies + where schemaname='storage' and tablename='objects' + and policyname in ( + 'resource files read own or staff', + 'resource files insert own or staff', + 'resource files update own or staff', + 'resource files delete own or staff' + ) + and (coalesce(qual,'')||coalesce(with_check,'')) like '%authors/%')=4; + +-- Required staging tests with two distinct author accounts: +-- 1. Author B cannot update Author A's resource. +-- 2. An author cannot change a resource status to published. +-- 3. An author cannot read/update/delete a file outside authors//. +-- 4. An editor can review/publish and manage all resource-files paths. diff --git a/books.html b/books.html index a80451a..edf9225 100644 --- a/books.html +++ b/books.html @@ -1 +1 @@ -کتابخانه کتاب‌ها · German Library
BOOKS

کتابخانه کتاب‌ها

فقط کتاب‌ها؛ از کتاب‌های درسی سطح A1 تا C2 تا کتاب‌های آزاد و چندسطحی. فایل‌های هر کتاب داخل همان بسته قرار دارند.

ویترین کتاب‌های ویژه

نمایش همه کتاب‌ها در یک فهرست
German Library Kian
\ No newline at end of file +کتابخانه کتاب‌ها · German Library
BOOKS

کتابخانه کتاب‌ها

فقط کتاب‌ها؛ از کتاب‌های درسی سطح A1 تا C2 تا کتاب‌های آزاد و چندسطحی. فایل‌های هر کتاب داخل همان بسته قرار دارند.

ویترین کتاب‌های ویژه

نمایش همه کتاب‌ها در یک فهرست
German Library Kian
\ No newline at end of file diff --git a/course.html b/course.html index ca536d7..68e5314 100644 --- a/course.html +++ b/course.html @@ -19,6 +19,6 @@
German Library · هر کتاب، یک بسته‌ی منظم.Kian
- + diff --git a/docs/PRODUCTION_READINESS_FA.md b/docs/PRODUCTION_READINESS_FA.md new file mode 100644 index 0000000..1c339af --- /dev/null +++ b/docs/PRODUCTION_READINESS_FA.md @@ -0,0 +1,59 @@ +# وضعیت آمادگی Production — Lexipfad v3.3 + +تاریخ ارزیابی: ۲۸ اکتبر ۲۰۲۶ + +## نتیجه + +سورس فعلی یک **Production Candidate** است: build، تست‌های امنیتی/ساختاری و تست‌های مرورگر محلی پاس شده‌اند. این عبارت به معنی انتشار زنده نیست. تا زمانی که migration روی Staging اعمال، RLS با حساب‌های واقعی آزمایش و Preview واقعی Vercel تأیید نشود، وضعیت انتشار **Blocked** باقی می‌ماند. + +## Hardening انجام‌شده + +- Supabase JS نسخه `2.117.2` دقیقاً در lockfile قفل و از همان origin سرو می‌شود؛ وابستگی اجرایی به CDN حذف شد. +- حداقل Node به `22` ارتقا یافت. +- CSP فقط اسکریپت‌های same-origin را می‌پذیرد؛ HSTS، DNS-prefetch و cross-domain policy سخت‌تر شدند. +- APIهای مقاله، فهرست مقاله، sitemap و health فقط `GET/HEAD` می‌پذیرند، `405`/`Allow` صحیح و `X-Request-ID` دارند. +- خطاهای server-side بدون URL، کلید یا متن حساس به‌صورت ساخت‌یافته ثبت می‌شوند. +- health endpoint مسیر کامل Function → Supabase REST → response را بررسی می‌کند و جزئیات داخلی را افشا نمی‌کند. +- جریان درخواست لینک و ثبت رمز عبور جدید با پیام ضد user-enumeration اضافه شد؛ Redirect URL/SMTP باید در پروژه زنده تأیید شود. +- migration مالکیت Resource اضافه شد: Author فقط ردیف خودش را می‌بیند/ویرایش می‌کند، نمی‌تواند Publish کند و فقط به `authors//...` دسترسی Storage دارد. +- bucket خصوصی باقی مانده و MIME/سقف فایل محدود شده است. اعتبارسنجی client نیز پسوند، MIME و سقف نوع فایل را کنترل می‌کند. +- CI روی Node 22، نصب قفل‌شده، QA، Chromium mobile/SSR، build و dist verification اجرا می‌شود. + +## دستور انتشار کنترل‌شده + +1. از پایگاه داده Production backup قابل بازیابی بگیر و ابتدا یک Staging هم‌ساخت بساز. +2. migrationهای موجود را به ترتیب اجرا کن؛ آخرین گیت این نسخه `backend/migrations/20261027_s1_author_resource_ownership.sql` است. +3. `backend/validation/s1_author_ownership_check.sql` را اجرا کن؛ همه سطرها باید `pass=true` باشند. +4. با دو حساب Author و یک Editor چهار negative/positive test انتهای فایل validation را واقعاً اجرا کن. +5. در Supabase، Redirect URLهای Auth، SMTP واقعی، سیاست رمز عبور، CAPTCHA و rate limit ثبت‌نام/ورود را تنظیم و تست کن. +6. در Vercel متغیرهای `SUPABASE_URL`، `SUPABASE_PUBLISHABLE_KEY` و `SITE_URL` را برای Preview و Production جدا تنظیم کن. Secret/service-role هرگز نباید وارد Frontend شود. +7. یک Preview بساز و این مسیرها را end-to-end تست کن: `/health`، ورود، ثبت‌نام، درخواست نویسندگی، ساخت/Preview/ارسال مقاله، review/publish، ساخت Book Package، upload/download signed URL و sitemap. +8. برای `/api/*` و endpointهای Auth در Vercel Firewall/Supabase Auth rate limit عملیاتی تعریف کن. rate limit درون حافظه برای Functionهای توزیع‌شده قابل اتکا نیست و عمداً اضافه نشده است. +9. فایل‌های دارای Copyright و مجوز انتشار را موردبه‌مورد تأیید کن. هیچ منبع نمونه‌ای مجوز واقعی را اثبات نمی‌کند. +10. پس از تأیید Preview، همان artifact را Promote کن؛ سپس smoke test و مانیتورینگ خطا/latency را اجرا کن. + +## گیت‌های باز پیش از Go-live + +- اجرای migration و تست RLS روی Supabase زنده؛ در این محیط credential پروژه موجود نبود. +- Preview/Promotion واقعی Vercel و آزمون دامنه، HTTPS، headerها و health؛ credential Vercel موجود نبود. +- تنظیم SMTP/CAPTCHA/Redirect URL و سناریوی بازیابی حساب در Supabase Auth. +- تعریف WAF/rate limit و alert برای خطای Function و failure health. +- اگر Authorهای غیرقابل‌اعتماد اجازه upload فایل عمومی خواهند داشت، اسکن malware/magic-byte پیش از Publish لازم است. کنترل MIME فعلی جای اسکن محتوا را نمی‌گیرد. +- ممیزی حقوق نشر و هزینه/سهمیه Storage برای فایل‌های تا ۲۵۰ MiB. + +## Rollback + +- Frontend/Functions: deployment قبلی Vercel را Promote کن. +- Database: ابتدا policyهای این migration را drop و policyهای `resource managers *` از migration قبلی را بازسازی کن. ستون `created_by` را برای جلوگیری از از‌دست‌رفتن داده حذف نکن. +- در رخداد امنیتی upload را موقتاً در سطح Storage policy/WAF ببند، sessionهای مشکوک را revoke و audit logها را با `X-Request-ID` تطبیق بده. + +## تست‌های ثبت‌شده + +- `npm run qa`: PASS، صفر خطا و هشدار. +- `npm run release:check`: PASS؛ build و `dist` verification صفر خطا. +- Article Studio mobile Chromium: PASS در عرض‌های 320/390/768/1024. +- SSR article Chromium: PASS در عرض‌های 320/390/768/1024. +- v3 responsive/admin/auth recovery: PASS، 50 بررسی صفحه/viewport. +- v7.4 responsive/admin: PASS، 64 بررسی صفحه/viewport. + +این تست‌ها local/mocked هستند و جایگزین RLS و E2E زنده نیستند. diff --git a/docs/V3_3_CONTINUATION_REPORT_FA.md b/docs/V3_3_CONTINUATION_REPORT_FA.md new file mode 100644 index 0000000..e8cdca4 --- /dev/null +++ b/docs/V3_3_CONTINUATION_REPORT_FA.md @@ -0,0 +1,98 @@ +# گزارش ادامه توسعه Lexipfad v3.3 + +تاریخ: ۲۰۲۶-۱۰-۲۸ +نسخه: `3.3.0-mobile-preview` +وضعیت: Source Preview؛ نه Production و نه تأییدشده روی Supabase زنده + +## مرحله ۰ — Baseline + +- ZIP و handoff جدید به‌عنوان منبع حقیقت بررسی شدند. +- `npm run qa` پیش از تغییر پاس شد. +- هیچ secret، داده، لینک منبع یا migration ساختگی اضافه نشد. +- معماری HTML/CSS/JavaScript، Supabase و Vercel Functions حفظ شد. + +## مرحله ۱ — تثبیت Floating Glass Navigation + +تغییرها: + +- لینک تکراری «مقالات» از منوی SSR حذف شد. +- مقصدهای SSR و static روی ترتیب مصوب خانه، سطوح، کتابخانه، رسانه، مقالات یکسان شدند. +- قانون CSS قدیمی grid چهارمقصدی حذف شد. +- active-state برای roadmap و منتخب‌های ویژه اصلاح شد. +- متن و assertions تست‌ها به پنج مقصد به‌روزرسانی شدند. + +فایل‌ها: + +- `server/article-navigation.js` +- `assets/site-ui.js` +- `assets/styles.css` +- `tools/p0-security-navigation-qa.mjs` +- `tools/vnext-articles-qa.mjs` +- `tools/p0-ssr-browser-qa.py` + +## مرحله ۲ — تجربه عمومی موبایل + +- Search و Account به‌صورت مشترک و قابل‌دسترس در Header عمومی قرار گرفتند. +- مقصد Account بعد از رویداد Auth برای Author/Admin/Editor به workspace معتبر تغییر می‌کند. +- Bottom Navigation هنگام باز بودن Keyboard روی فرم‌های عمومی پنهان می‌شود. +- عرض‌های کوچک، Dark Mode، Reduced Transparency و focus state حفظ شدند. +- هیچ route یا قرارداد داده تغییر نکرد. + +## مرحله ۳ — Author Studio موبایل + +- Navigation اختصاصی: «مقالات من»، «مقاله جدید»، «مشاهده سایت». +- هنگام ورود به Editor، Focus Mode فعال و Header/Footer مزاحم حذف می‌شوند. +- Save/Preview/Back در action dock ثابت و keyboard-aware در دسترس می‌مانند. +- Visual Viewport برای محاسبه inset صفحه‌کلید استفاده می‌شود. +- منطق autosave، optimistic revision، preview، SEO، sanitizer و RLS تغییر نکرد. +- تست مرورگر اکنون Focus Mode و مخفی شدن ناوبری لیست را نیز بررسی می‌کند. + +فایل‌ها: + +- `article-studio.html` +- `assets/article-studio.js` +- `assets/styles.css` +- `tools/article-studio-mobile-qa.py` + +## مرحله ۴ — Admin Studio + +- لینک مستقیم Article Studio در Hero اضافه شد. +- برای Admin/Editor متصل، تعداد واقعی مقاله‌های `in_review` با query تحت RLS نمایش داده می‌شود؛ در خطا هیچ عدد ساختگی نشان داده نمی‌شود. +- semantics tabها و وضعیت selected/pressed اصلاح شد. +- هنگام باز بودن modal editor، Header، Main و Mobile Nav پشت dialog از focus و accessibility tree خارج می‌شوند. +- نقش `super_admin` اضافه نشد؛ مدل موجود `admin/editor/author/learner` حفظ شد. + +فایل‌ها: + +- `admin.html` +- `assets/page-admin.js` + +## نتایج آزمون + +- `node --check assets/article-studio.js` — PASS +- `node --check assets/page-admin.js` — PASS +- `npm run qa` — PASS؛ صفر خطا/هشدار static و تمام regressionهای mock موفق +- build با placeholderهای غیرواقعی — PASS +- `npm run verify:dist` — PASS +- `npm run qa:studio:browser` — PASS در Chromium و عرض‌های 320، 390، 768 و 1024؛ بدون overflow و خطای JavaScript +- `npm run qa:ssr:browser` — PASS؛ index/detail، پنج مقصد، active-state یکتا، menu interaction و نبود overflow +- screenshot: `docs/screenshots/GL-vnext-article-studio.png` + +این تست‌های مرورگر mocked هستند و RLS یا Storage زنده را تأیید نمی‌کنند. + +## وضعیت واقعی انتشار و موارد باقی‌مانده + +انتشار Production هنوز **No-Go** است تا موارد زیر انجام شوند: + +1. اجرای migrationهای vNext و P0 روی Development/Staging و تست زنده نقش‌ها. +2. بررسی اختلاف مهم: handoff از migration امنیتی S1 مالکیت منابع نام می‌برد، اما ZIP v3.3 آن فایل را ندارد. نباید بدون تعیین migration history دیتابیس فایل نسخه دیگری کورکورانه وارد شود. +3. تست واقعی روی iOS Safari و Android Chrome برای Keyboard، Safe Area و blur performance. +4. تست Screen Reader و keyboard-only روی دستگاه/مرورگر واقعی. +5. Rate limit API، self-host SDK، MIME/quota/scan آپلود و account recovery همچنان release gate هستند. +6. Preview Deployment و smoke test واقعی Vercel/Supabase انجام نشده است. + +## مرحله پیشنهادی بعد + +- ابتدا migration inventory و role matrix زنده در Staging. +- سپس ورود یک Book Package دارای مجوز و آزمایش کامل Cover/PDF/Audio/Transcript. +- بعد از آن، بهبود تدریجی Home/Level/Book Detail با داده واقعی و بدون افزودن LMS، Gamification یا پرداخت. diff --git a/docs/screenshots/GL-vnext-article-studio.png b/docs/screenshots/GL-vnext-article-studio.png new file mode 100644 index 0000000000000000000000000000000000000000..227cbcb018ed92ae7abdf9483f8202eb1faa7232 GIT binary patch literal 63927 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

!U7LTKpjKFTWdFHc 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%0Dmw6ojR_YKQ1alPkKeldzIYG4(cFO9 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 T2)qxzLLe`#A_bFp`{n-v$loMH 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 literal 0 HcmV?d00001 diff --git a/docs/screenshots/v74-books-mobile.png b/docs/screenshots/v74-books-mobile.png new file mode 100644 index 0000000000000000000000000000000000000000..63118549493a62f7fdefdd9a492f98f69069c4cf GIT binary patch literal 136350 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

?!mMf#8M9BI?J^ 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 literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 76efced..9f0f5fa 100644 --- a/index.html +++ b/index.html @@ -21,6 +21,6 @@

- + diff --git a/level.html b/level.html index 93e6f6f..8792772 100644 --- a/level.html +++ b/level.html @@ -31,6 +31,6 @@
German Library · اول مسیر اصلی، بعد منابع تکمیلی.Kian
- + diff --git a/levels.html b/levels.html index 4acb36f..7266a1f 100644 --- a/levels.html +++ b/levels.html @@ -1 +1 @@ -سطوح A1 تا C2 · German Library
LEARNING LEVELS

سطح زبانت را انتخاب کن

کتاب‌های درسی، منابع مهارتی و رسانه‌های مرتبط هر سطح در یک مسیر روشن.

German Library Kian
\ No newline at end of file +سطوح A1 تا C2 · German Library
LEARNING LEVELS

سطح زبانت را انتخاب کن

کتاب‌های درسی، منابع مهارتی و رسانه‌های مرتبط هر سطح در یک مسیر روشن.

German Library Kian
\ No newline at end of file diff --git a/login.html b/login.html index 8a6cd15..72c41df 100644 --- a/login.html +++ b/login.html @@ -5,7 +5,7 @@
-
Protected Admin

ورود

برای مدیریت یا نوشتن مقاله با حساب مجاز وارد شو. حساب زبان‌آموز برای درخواست نویسندگی هم می‌تواند وارد شود.

حساب نداری؟ ثبت‌نام زبان‌آموز

حساب داری و می‌خواهی نویسنده شوی؟ ارسال درخواست نویسندگی

German Library AdminKian
- +
German Library AdminKian
+ diff --git a/media.html b/media.html index c1fc677..116746a 100644 --- a/media.html +++ b/media.html @@ -1 +1 @@ -رسانه و مطالعه · German Library
MEDIA & READING

رسانه و مطالعه

فیلم، سریال، پادکست و مقاله‌های مستقل برای تقویت آلمانی. صوت و ویدیوی مربوط به کتاب در بسته خود کتاب باقی می‌ماند.

ARTICLES

مقالات آموزشی

راهنماهای آموزشی به زبان اصلی مقاله؛ همراه با پیوند به کتاب‌ها و منابع مرتبط.

مشاهده مقالات ←

German Library Kian
\ No newline at end of file +رسانه و مطالعه · German Library
MEDIA & READING

رسانه و مطالعه

فیلم، سریال، پادکست و مقاله‌های مستقل برای تقویت آلمانی. صوت و ویدیوی مربوط به کتاب در بسته خود کتاب باقی می‌ماند.

ARTICLES

مقالات آموزشی

راهنماهای آموزشی به زبان اصلی مقاله؛ همراه با پیوند به کتاب‌ها و منابع مرتبط.

مشاهده مقالات ←

German Library Kian
\ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..25560f8 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,125 @@ +{ + "name": "german-library", + "version": "3.3.0-production-candidate", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "german-library", + "version": "3.3.0-production-candidate", + "dependencies": { + "@supabase/supabase-js": "2.117.2" + }, + "engines": { + "node": ">=22" + } + }, + "node_modules/@supabase/auth-js": { + "version": "2.117.2", + "resolved": "https://registry.npmjs.org/@supabase/auth-js/-/auth-js-2.117.2.tgz", + "integrity": "sha512-Z3WnGwrphYZubrLbxp5Iv0tLA9A5GhvKzJ/ZXglxqwd2QEH2R4dXRltjVJ8sIn4xEW2BSFIGT0yALVJIgZeDYw==", + "license": "MIT", + "dependencies": { + "tslib": "2.8.1" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@supabase/functions-js": { + "version": "2.117.2", + "resolved": "https://registry.npmjs.org/@supabase/functions-js/-/functions-js-2.117.2.tgz", + "integrity": "sha512-6DT4ZIjmZxa9ANKaBIrjc86AyKrX8M376ynvNeOBBVad3eP7x3UHqWfDR2ynFkHGzCuOpr1A+kObmnahxuwuog==", + "license": "MIT", + "dependencies": { + "tslib": "2.8.1" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@supabase/phoenix": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/@supabase/phoenix/-/phoenix-0.4.5.tgz", + "integrity": "sha512-aAn9H9ovVyeApKy11OWOrrOGq8DV68yWeH4ud2lN9fzn4aO8Zb5GLL9m1pUg9nLqIcT+ZDfAcsZe0E/nqdv2lw==", + "license": "MIT" + }, + "node_modules/@supabase/postgrest-js": { + "version": "2.117.2", + "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-2.117.2.tgz", + "integrity": "sha512-V1Qhn+M8xzJqCasOxHZ2KG19Fj39PxU7weEAmOK65/KTsWCRXboB4hcQwFvxRvM7ZikeP9IZWNvQkfjvSxzYFw==", + "license": "MIT", + "dependencies": { + "tslib": "2.8.1" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@supabase/realtime-js": { + "version": "2.117.2", + "resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-2.117.2.tgz", + "integrity": "sha512-lYXSAIg3eAKA58riUED6Vb+TCzF8jtx18uOoiCaVJ7ZMre6FWBpwB1MPeW+B6vykJT/hPdiuqwcSB7ILMS21ew==", + "license": "MIT", + "dependencies": { + "@supabase/phoenix": "0.4.5", + "tslib": "2.8.1" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@supabase/storage-js": { + "version": "2.117.2", + "resolved": "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-2.117.2.tgz", + "integrity": "sha512-8gAJoVaxZa/War2kFRfJMxGk4M190Q7lJ70BofwGlRxU/u9pIodd6XyTvmXkxOKXWuIYtkDaYPZrIAUt1T/7FQ==", + "license": "MIT", + "dependencies": { + "iceberg-js": "^0.8.1", + "tslib": "2.8.1" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@supabase/supabase-js": { + "version": "2.117.2", + "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-2.117.2.tgz", + "integrity": "sha512-eSG2VKnHR+Clp1PmidZ1/weJ8PJwoybjva3L2GgKqFG4YDS1Iqmc61psKGZP5xw6OMT2O7ZorPR42PY6q1BOXg==", + "license": "MIT", + "dependencies": { + "@supabase/auth-js": "2.117.2", + "@supabase/functions-js": "2.117.2", + "@supabase/postgrest-js": "2.117.2", + "@supabase/realtime-js": "2.117.2", + "@supabase/storage-js": "2.117.2" + }, + "engines": { + "node": ">=22.0.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + } + } + }, + "node_modules/iceberg-js": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/iceberg-js/-/iceberg-js-0.8.1.tgz", + "integrity": "sha512-1dhVQZXhcHje7798IVM+xoo/1ZdVfzOMIc8/rgVSijRK38EDqOJoGula9N/8ZI5RD8QTxNQtK/Gozpr+qUqRRA==", + "license": "MIT", + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + } + } +} diff --git a/package.json b/package.json index 1ed3d7f..6a9e1d0 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { "name": "german-library", "private": true, - "version": "3.2.1-p0-preview", + "version": "3.3.0-production-candidate", "description": "German learning library with server-rendered learning articles and role-aware author studio.", "scripts": { "configure": "node scripts/configure.mjs", "build": "node scripts/build.mjs", - "qa": "python3 tools/qa.py && node tools/content-qa.mjs && node tools/backend-sync-qa.mjs && node tools/v74-qa.mjs && node tools/v3-qa.mjs && node tools/vnext-articles-qa.mjs && node tools/p0-security-navigation-qa.mjs", + "qa": "python3 tools/qa.py && node tools/content-qa.mjs && node tools/backend-sync-qa.mjs && node tools/v74-qa.mjs && node tools/v3-qa.mjs && node tools/vnext-articles-qa.mjs && node tools/p0-security-navigation-qa.mjs && node tools/production-security-qa.mjs", "release:check": "npm run qa && npm run build && npm run verify:dist", "serve": "python3 -m http.server 8080", "qa:studio:browser": "python3 tools/article-studio-mobile-qa.py", @@ -14,7 +14,10 @@ "verify:dist": "node tools/dist-qa.mjs" }, "engines": { - "node": ">=20" + "node": ">=22" }, - "type": "module" + "type": "module", + "dependencies": { + "@supabase/supabase-js": "2.117.2" + } } diff --git a/reset-password.html b/reset-password.html new file mode 100644 index 0000000..3937899 --- /dev/null +++ b/reset-password.html @@ -0,0 +1 @@ +بازیابی رمز عبور · German Library
SECURE RECOVERY

بازیابی رمز عبور

ایمیل حساب را وارد کن. اگر حسابی با این ایمیل وجود داشته باشد، لینک امن بازیابی ارسال می‌شود.

diff --git a/resource.html b/resource.html index bff182f..46ca427 100644 --- a/resource.html +++ b/resource.html @@ -18,6 +18,6 @@
German Library · دسترسی روشن، زمینه‌ی روشن.Kian
- + diff --git a/resources.html b/resources.html index 3cf0ece..776cae6 100644 --- a/resources.html +++ b/resources.html @@ -19,6 +19,6 @@
German Library · کمتر بگرد، بهتر انتخاب کن.Kian
- + diff --git a/scripts/build.mjs b/scripts/build.mjs index bcab553..1debac2 100644 --- a/scripts/build.mjs +++ b/scripts/build.mjs @@ -31,7 +31,7 @@ const siteUrl=normalizeSiteUrl(rawSite); fs.rmSync(out,{recursive:true,force:true}); fs.mkdirSync(out,{recursive:true}); -for(const file of ['index.html','level.html','course.html','resource.html','resources.html','books.html','levels.html','media.html','special.html','admin.html','login.html','signup.html','author-request.html','article-studio.html','article-preview.html','404.html','site.webmanifest','robots.txt','_headers']){ +for(const file of ['index.html','level.html','course.html','resource.html','resources.html','books.html','levels.html','media.html','special.html','admin.html','login.html','reset-password.html','signup.html','author-request.html','article-studio.html','article-preview.html','404.html','site.webmanifest','robots.txt','_headers']){ fs.copyFileSync(path.join(root,file),path.join(out,file)); } for(const dir of ['assets','data']) fs.cpSync(path.join(root,dir),path.join(out,dir),{recursive:true}); @@ -50,7 +50,7 @@ const config=`/* Generated production runtime config. Never place a Supabase sec fs.writeFileSync(path.join(out,'assets/runtime-config.js'),config); if(siteUrl){ - const robots=`User-agent: *\nAllow: /\nDisallow: /admin.html\nDisallow: /login.html\nDisallow: /article-studio.html\nDisallow: /article-preview.html\nDisallow: /api/\n\nSitemap: ${siteUrl}/sitemap.xml\n`; + const robots=`User-agent: *\nAllow: /\nDisallow: /admin.html\nDisallow: /login.html\nDisallow: /reset-password.html\nDisallow: /article-studio.html\nDisallow: /article-preview.html\nDisallow: /api/\n\nSitemap: ${siteUrl}/sitemap.xml\n`; fs.writeFileSync(path.join(out,'robots.txt'),robots); }else{ console.warn('SITE_URL/VERCEL_URL is unavailable; sitemap.xml was not generated for this build.'); diff --git a/server/article-navigation.js b/server/article-navigation.js index df8f49b..5f643be 100644 --- a/server/article-navigation.js +++ b/server/article-navigation.js @@ -1,13 +1,13 @@ -// SSR articles share the same four primary destinations as assets/site-ui.js. -// Article discovery stays available in the secondary menu and article pages. +// SSR articles share the same five primary destinations as assets/site-ui.js. const destinations=[ - {href:'/levels.html',label:'سطح',desktopLabel:'سطح',icon:''}, - {href:'/media.html',label:'مکمل',desktopLabel:'مکمل',icon:''}, - {href:'/',label:'خانه',desktopLabel:'خانه',icon:''}, - {href:'/books.html',label:'کتابخانه',desktopLabel:'کتابخانه',icon:''} + {href:'/',label:'خانه',icon:''}, + {href:'/levels.html',label:'سطوح',icon:''}, + {href:'/books.html',label:'کتابخانه',icon:''}, + {href:'/media.html',label:'رسانه',icon:''}, + {href:'/articles',label:'مقالات',icon:''} ]; -const active=a=>a.href==='/media.html'?' class="active" aria-current="page"':''; +const active=a=>a.href==='/articles'?' class="active" aria-current="page"':''; const svg=content=>``; -export function desktopNav(){return ``} -export function mobileMenu(){return `
☰
`} +export function desktopNav(){return ``} +export function mobileMenu(){return `
☰
`} export function mobileBottomNav(){return ``} diff --git a/server/http-security.js b/server/http-security.js new file mode 100644 index 0000000..3529792 --- /dev/null +++ b/server/http-security.js @@ -0,0 +1,39 @@ +import crypto from 'node:crypto'; + +const REQUEST_ID=/^[A-Za-z0-9._:-]{8,128}$/; + +export function prepareRequest(req,res){ + const incoming=String(req.headers?.['x-request-id']||'').trim(); + const requestId=REQUEST_ID.test(incoming)?incoming:crypto.randomUUID(); + res.setHeader('X-Request-ID',requestId); + res.setHeader('X-Content-Type-Options','nosniff'); + res.setHeader('Referrer-Policy','strict-origin-when-cross-origin'); + return requestId; +} + +export function allowReadOnly(req,res){ + const method=req.method||'GET'; + if(method==='GET'||method==='HEAD')return true; + res.statusCode=405; + res.setHeader('Allow','GET, HEAD'); + res.setHeader('Cache-Control','no-store'); + res.setHeader('Content-Type','text/plain; charset=utf-8'); + res.end(method==='HEAD'?'':'Method not allowed'); + return false; +} + +export function end(req,res,status,body,headers={}){ + res.statusCode=status; + for(const [key,value] of Object.entries(headers))res.setHeader(key,value); + res.end(req.method==='HEAD'?'':body); +} + +export function logServerError(scope,requestId,error){ + console.error(JSON.stringify({ + level:'error', + scope, + requestId, + name:error?.name||'Error', + upstreamStatus:Number(error?.status)||undefined + })); +} diff --git a/signup.html b/signup.html index 6d0c3f1..9bafc23 100644 --- a/signup.html +++ b/signup.html @@ -2,4 +2,4 @@ ساخت حساب · German Library
LEARNER ACCOUNT

ساخت حساب

ثبت‌نام یک حساب زبان‌آموز می‌سازد. برای نویسندگی باید جداگانه درخواست بدهی و Admin تأیید کند.

قبلاً حساب داری؟ وارد شو

- + diff --git a/special.html b/special.html index 6b20175..9fa8b5f 100644 --- a/special.html +++ b/special.html @@ -21,6 +21,6 @@
German Library · کتاب‌های چندسطحی و مرجع.Kian
- + diff --git a/tools/article-studio-mobile-qa.py b/tools/article-studio-mobile-qa.py index bdab504..f549bdb 100644 --- a/tools/article-studio-mobile-qa.py +++ b/tools/article-studio-mobile-qa.py @@ -2,9 +2,11 @@ from pathlib import Path from playwright.sync_api import sync_playwright import re +import shutil ROOT=Path(__file__).resolve().parents[1] -OUT=Path('/mnt/data') +OUT=ROOT/'docs'/'screenshots' +OUT.mkdir(parents=True,exist_ok=True) def html(name): doc=(ROOT/name).read_text() @@ -14,7 +16,7 @@ def html(name): errors=[] with sync_playwright() as p: - browser=p.chromium.launch(executable_path='/usr/bin/chromium',args=['--no-sandbox','--disable-dev-shm-usage']) + browser=p.chromium.launch(executable_path=shutil.which('chromium'),args=['--no-sandbox','--disable-dev-shm-usage']) page=browser.new_page(viewport={'width':390,'height':844});page.set_default_timeout(3500) page.on('pageerror',lambda error:errors.append(str(error))) page.set_content(html('article-studio.html'),wait_until='domcontentloaded') @@ -25,6 +27,8 @@ def html(name): ''') page.add_script_tag(content=(ROOT/'assets/article-studio.js').read_text()) page.locator('#newArticle').click() + assert page.locator('body').evaluate("el=>el.classList.contains('studio-editor-open')") + assert page.locator('#studioMobileNav').is_hidden() page.locator('#articleTitle').fill('Deutsche Grammatik B1 für Lernende') body=page.locator('#articleBody') body.fill('Ein Einführungstext zur deutschen Grammatik.') @@ -78,6 +82,7 @@ def html(name): assert page.evaluate('document.documentElement.scrollWidth <= innerWidth + 1'),f'horizontal overflow in editor at {width}' page.set_viewport_size({'width':390,'height':844}) page.locator('#studioTabWrite').click() + assert page.locator('.studio-top-actions').is_visible() page.screenshot(path=str(OUT/'GL-vnext-article-studio.png'),full_page=True) browser.close() assert not errors,errors diff --git a/tools/dist-qa.mjs b/tools/dist-qa.mjs index 3b00bd4..8ebb57b 100644 --- a/tools/dist-qa.mjs +++ b/tools/dist-qa.mjs @@ -3,7 +3,7 @@ import path from 'node:path'; const root=path.resolve(import.meta.dirname,'..'); const dist=path.join(root,'dist'); -const required=['index.html','level.html','course.html','resource.html','resources.html','books.html','levels.html','media.html','special.html','admin.html','login.html','article-studio.html','article-preview.html','404.html','site.webmanifest','assets/app.js','assets/backend.js','assets/article-studio.js','assets/article-preview.js','assets/runtime-config.js','assets/styles.css','data/content.js']; +const required=['index.html','level.html','course.html','resource.html','resources.html','books.html','levels.html','media.html','special.html','admin.html','login.html','reset-password.html','article-studio.html','article-preview.html','404.html','site.webmanifest','assets/app.js','assets/backend.js','assets/page-reset-password.js','assets/article-studio.js','assets/article-preview.js','assets/runtime-config.js','assets/styles.css','assets/vendor/supabase-js-2.117.2.js','data/content.js']; const forbiddenExt=new Set(['.sql','.md','.bak']); const errors=[]; if(!fs.existsSync(dist)) errors.push('dist/ does not exist'); @@ -18,7 +18,7 @@ if(!/supabasePublishableKey:"sb_publishable_/.test(cfg)) errors.push('Production if(/supabasePublishableKey:\s*"(?:sb_secret_|service[_-]?role)/i.test(cfg)||/supabaseAnonKey:\s*"(?:sb_secret_|service[_-]?role)/i.test(cfg)) errors.push('Secret/service-role material detected in public config'); if(/allowDemoAdmin:true/.test(cfg)) errors.push('Demo Admin is enabled in production config'); const html=required.filter(x=>x.endsWith('.html')&&x!=='404.html'); -for(const rel of html){const s=fs.readFileSync(path.join(dist,rel),'utf8');if(!s.includes('@supabase/supabase-js@2.117.2'))errors.push(`${rel}: Supabase SDK is not pinned`)} +for(const rel of html){const s=fs.readFileSync(path.join(dist,rel),'utf8');if(!s.includes('assets/vendor/supabase-js-2.117.2.js'))errors.push(`${rel}: self-hosted Supabase SDK is missing`);if(s.includes('cdn.jsdelivr.net'))errors.push(`${rel}: CDN JavaScript remains`)} console.log(`Dist QA: ${errors.length} error(s)`); for(const e of errors)console.error('ERROR:',e); process.exit(errors.length?1:0); diff --git a/tools/p0-security-navigation-qa.mjs b/tools/p0-security-navigation-qa.mjs index 7bd2d92..50bcbf5 100644 --- a/tools/p0-security-navigation-qa.mjs +++ b/tools/p0-security-navigation-qa.mjs @@ -33,12 +33,12 @@ const navTags=(markup,klass)=>markup.match(new RegExp(`