promptfoo 0.60.0 → 0.62.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -1
- package/dist/package.json +21 -13
- package/dist/src/__mocks__/esm.js.map +1 -1
- package/dist/src/assertions/AssertionsResult.js.map +1 -1
- package/dist/src/assertions/validateAssertions.js.map +1 -1
- package/dist/src/assertions.d.ts +2 -1
- package/dist/src/assertions.d.ts.map +1 -1
- package/dist/src/assertions.js +28 -2
- package/dist/src/assertions.js.map +1 -1
- package/dist/src/cache.js +2 -2
- package/dist/src/cache.js.map +1 -1
- package/dist/src/commands/delete.js.map +1 -1
- package/dist/src/commands/eval/filterFailingTests.d.ts +1 -1
- package/dist/src/commands/eval/filterFailingTests.d.ts.map +1 -1
- package/dist/src/commands/eval/filterFailingTests.js.map +1 -1
- package/dist/src/commands/eval/filterTests.d.ts +1 -1
- package/dist/src/commands/eval/filterTests.d.ts.map +1 -1
- package/dist/src/commands/eval/filterTests.js.map +1 -1
- package/dist/src/commands/export.d.ts.map +1 -1
- package/dist/src/commands/export.js.map +1 -1
- package/dist/src/commands/import.js.map +1 -1
- package/dist/src/commands/show.d.ts.map +1 -1
- package/dist/src/commands/show.js.map +1 -1
- package/dist/src/csv.js.map +1 -1
- package/dist/src/database.js +2 -2
- package/dist/src/database.js.map +1 -1
- package/dist/src/esm.js.map +1 -1
- package/dist/src/evaluator.d.ts.map +1 -1
- package/dist/src/evaluator.js +4 -0
- package/dist/src/evaluator.js.map +1 -1
- package/dist/src/feedback.js.map +1 -1
- package/dist/src/fetch.js.map +1 -1
- package/dist/src/googleSheets.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +8 -6
- package/dist/src/index.js.map +1 -1
- package/dist/src/integrations/langfuse.js.map +1 -1
- package/dist/src/integrations/portkey.js.map +1 -1
- package/dist/src/logger.js.map +1 -1
- package/dist/src/main.js +33 -4
- package/dist/src/main.js.map +1 -1
- package/dist/src/matchers.d.ts +14 -3
- package/dist/src/matchers.d.ts.map +1 -1
- package/dist/src/matchers.js +40 -1
- package/dist/src/matchers.js.map +1 -1
- package/dist/src/migrate.js.map +1 -1
- package/dist/src/prompts.d.ts.map +1 -1
- package/dist/src/prompts.js.map +1 -1
- package/dist/src/providers/anthropic.d.ts +1 -0
- package/dist/src/providers/anthropic.d.ts.map +1 -1
- package/dist/src/providers/anthropic.js +5 -3
- package/dist/src/providers/anthropic.js.map +1 -1
- package/dist/src/providers/azureopenai.d.ts.map +1 -1
- package/dist/src/providers/azureopenai.js +3 -1
- package/dist/src/providers/azureopenai.js.map +1 -1
- package/dist/src/providers/azureopenaiUtil.js.map +1 -1
- package/dist/src/providers/bam.js.map +1 -1
- package/dist/src/providers/bedrock.d.ts.map +1 -1
- package/dist/src/providers/bedrock.js +1 -0
- package/dist/src/providers/bedrock.js.map +1 -1
- package/dist/src/providers/cloudflare-ai.d.ts +103 -0
- package/dist/src/providers/cloudflare-ai.d.ts.map +1 -0
- package/dist/src/providers/cloudflare-ai.js +224 -0
- package/dist/src/providers/cloudflare-ai.js.map +1 -0
- package/dist/src/providers/cohere.js.map +1 -1
- package/dist/src/providers/defaults.d.ts +2 -0
- package/dist/src/providers/defaults.d.ts.map +1 -1
- package/dist/src/providers/defaults.js +3 -1
- package/dist/src/providers/defaults.js.map +1 -1
- package/dist/src/providers/http.d.ts +11 -0
- package/dist/src/providers/http.d.ts.map +1 -0
- package/dist/src/providers/http.js +64 -0
- package/dist/src/providers/http.js.map +1 -0
- package/dist/src/providers/huggingface.js.map +1 -1
- package/dist/src/providers/llama.js.map +1 -1
- package/dist/src/providers/localai.js.map +1 -1
- package/dist/src/providers/mistral.d.ts.map +1 -1
- package/dist/src/providers/mistral.js +7 -0
- package/dist/src/providers/mistral.js.map +1 -1
- package/dist/src/providers/ollama.js.map +1 -1
- package/dist/src/providers/openai.d.ts +11 -1
- package/dist/src/providers/openai.d.ts.map +1 -1
- package/dist/src/providers/openai.js +99 -16
- package/dist/src/providers/openai.js.map +1 -1
- package/dist/src/providers/openaiUtil.js.map +1 -1
- package/dist/src/providers/palm.js.map +1 -1
- package/dist/src/providers/portkey.d.ts +6 -0
- package/dist/src/providers/portkey.d.ts.map +1 -0
- package/dist/src/providers/portkey.js +49 -0
- package/dist/src/providers/portkey.js.map +1 -0
- package/dist/src/providers/promptfoo.d.ts.map +1 -1
- package/dist/src/providers/promptfoo.js.map +1 -1
- package/dist/src/providers/pythonCompletion.d.ts +4 -1
- package/dist/src/providers/pythonCompletion.d.ts.map +1 -1
- package/dist/src/providers/pythonCompletion.js +47 -13
- package/dist/src/providers/pythonCompletion.js.map +1 -1
- package/dist/src/providers/replicate.d.ts +5 -1
- package/dist/src/providers/replicate.d.ts.map +1 -1
- package/dist/src/providers/replicate.js +91 -1
- package/dist/src/providers/replicate.js.map +1 -1
- package/dist/src/providers/scriptCompletion.js.map +1 -1
- package/dist/src/providers/shared.js.map +1 -1
- package/dist/src/providers/vertex.d.ts +38 -0
- package/dist/src/providers/vertex.d.ts.map +1 -1
- package/dist/src/providers/vertex.js +5 -1
- package/dist/src/providers/vertex.js.map +1 -1
- package/dist/src/providers/vertexUtil.js.map +1 -1
- package/dist/src/providers/webhook.js.map +1 -1
- package/dist/src/providers.d.ts.map +1 -1
- package/dist/src/providers.js +49 -7
- package/dist/src/providers.js.map +1 -1
- package/dist/src/python/wrapper.d.ts.map +1 -1
- package/dist/src/python/wrapper.js +1 -1
- package/dist/src/python/wrapper.js.map +1 -1
- package/dist/src/redteam/getHarmfulTests.d.ts +5 -2
- package/dist/src/redteam/getHarmfulTests.d.ts.map +1 -1
- package/dist/src/redteam/getHarmfulTests.js +61 -30
- package/dist/src/redteam/getHarmfulTests.js.map +1 -1
- package/dist/src/redteam/getPiiTests.d.ts +12 -0
- package/dist/src/redteam/getPiiTests.d.ts.map +1 -0
- package/dist/src/redteam/getPiiTests.js +172 -0
- package/dist/src/redteam/getPiiTests.js.map +1 -0
- package/dist/src/redteam/index.d.ts.map +1 -1
- package/dist/src/redteam/index.js +56 -83
- package/dist/src/redteam/index.js.map +1 -1
- package/dist/src/redteam/iterative.d.ts.map +1 -1
- package/dist/src/redteam/iterative.js.map +1 -1
- package/dist/src/share.js.map +1 -1
- package/dist/src/suggestions.js.map +1 -1
- package/dist/src/table.d.ts.map +1 -1
- package/dist/src/table.js +2 -3
- package/dist/src/table.js.map +1 -1
- package/dist/src/telemetry.js.map +1 -1
- package/dist/src/testCases.js.map +1 -1
- package/dist/src/types.d.ts +28 -5
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/src/updates.js.map +1 -1
- package/dist/src/util.d.ts +3 -3
- package/dist/src/util.d.ts.map +1 -1
- package/dist/src/util.js +21 -10
- package/dist/src/util.js.map +1 -1
- package/dist/src/web/nextui/404/index.html +1 -1
- package/dist/src/web/nextui/404.html +1 -1
- package/dist/src/web/nextui/_next/static/V1EPwyedIFJ7fl1xp1-qq/_buildManifest.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/106-1dceaa80df396865.js +44 -0
- package/dist/src/web/nextui/_next/static/chunks/107-ffb99760e0fb68f2.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/189-b6f910f4b701335b.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/1a53ab81-6d64be52a06b7c39.js +6 -0
- package/dist/src/web/nextui/_next/static/chunks/215-63edfe1b1ae625e4.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/226-023620d1bff22d99.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/{339-501c32916b785ef1.js → 235-5dedba2497d889c9.js} +1 -1
- package/dist/src/web/nextui/_next/static/chunks/249-d4e0e50561ef8185.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/278.60b6d47e5a936f0b.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/339-132502fa6d7b24c7.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/383-e19d78b51fa58f1b.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/525-014890ddea6714cf.js +32 -0
- package/dist/src/web/nextui/_next/static/chunks/629-2358b4dcbf84d053.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/631-efb1476abf72c1ff.js +6 -0
- package/dist/src/web/nextui/_next/static/chunks/635-d64ddf71d262749b.js +97 -0
- package/dist/src/web/nextui/_next/static/chunks/690-618c46a7158870af.js +6 -0
- package/dist/src/web/nextui/_next/static/chunks/730-9147ccb0626b2f6b.js +25 -0
- package/dist/src/web/nextui/_next/static/chunks/733-3e9ca9d39ddcb04c.js +8 -0
- package/dist/src/web/nextui/_next/static/chunks/770-fdb322f705e07d72.js +2 -0
- package/dist/src/web/nextui/_next/static/chunks/887.b3cb35585a6859bd.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/app/auth/login/page-4c3e963c95f17d0d.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/app/auth/signup/page-e5ee780ad914444b.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/app/datasets/page-b661c8d02af86f57.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/app/eval/[id]/not-found-07e0dc7d48d31372.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/app/eval/[id]/page-b654fa5327065d04.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/app/eval/page-dc583966b824a0ac.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/app/{layout-0afd14c99b2fc9eb.js → layout-844906ca58c0d644.js} +1 -1
- package/dist/src/web/nextui/_next/static/chunks/app/page-4226f7bf0849864a.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/app/progress/page-5a4a4149e2361872.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/app/prompts/page-c5878f6e2cbee318.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/app/setup/page-bab30b8e8c1e30f8.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/{fd9d1056-a95b789c94c05ff6.js → b6261da7-08dd8cb380ab7859.js} +2 -2
- package/dist/src/web/nextui/_next/static/chunks/{framework-8883d1e9be70c3da.js → framework-b292a8c542627b4d.js} +4 -4
- package/dist/src/web/nextui/_next/static/chunks/main-850014bd889b28b2.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/main-app-9a21304a7d2c7cca.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/pages/_app-19a521e9841c5ed8.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/pages/_error-d23f5e48cbe51f4e.js +1 -0
- package/dist/src/web/nextui/_next/static/chunks/webpack-0a139c96915bebb5.js +1 -0
- package/dist/src/web/nextui/_next/static/css/0e96bc835813e9d5.css +1 -0
- package/dist/src/web/nextui/_next/static/css/962981c6b98dedf4.css +1 -0
- package/dist/src/web/nextui/auth/login/index.html +1 -1
- package/dist/src/web/nextui/auth/login/index.txt +5 -5
- package/dist/src/web/nextui/auth/signup/index.html +1 -1
- package/dist/src/web/nextui/auth/signup/index.txt +5 -5
- package/dist/src/web/nextui/datasets/index.html +1 -1
- package/dist/src/web/nextui/datasets/index.txt +5 -5
- package/dist/src/web/nextui/eval/index.html +1 -1
- package/dist/src/web/nextui/eval/index.txt +7 -7
- package/dist/src/web/nextui/index.html +1 -1
- package/dist/src/web/nextui/index.txt +4 -4
- package/dist/src/web/nextui/progress/index.html +1 -1
- package/dist/src/web/nextui/progress/index.txt +5 -5
- package/dist/src/web/nextui/prompts/index.html +1 -1
- package/dist/src/web/nextui/prompts/index.txt +5 -5
- package/dist/src/web/nextui/setup/index.html +2 -2
- package/dist/src/web/nextui/setup/index.txt +6 -6
- package/dist/src/web/server.d.ts.map +1 -1
- package/dist/src/web/server.js +3 -3
- package/dist/src/web/server.js.map +1 -1
- package/package.json +21 -13
- package/dist/src/web/nextui/_next/static/chunks/113-1056b5f87446395e.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/133-1318f46ed801a49d.js +0 -6
- package/dist/src/web/nextui/_next/static/chunks/21-b6c126c8ac7d9c5e.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/261-1bc0898df259d0fd.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/414-51e6cdc7aba4bb24.js +0 -2
- package/dist/src/web/nextui/_next/static/chunks/547-00556ed98de9671b.js +0 -89
- package/dist/src/web/nextui/_next/static/chunks/596-f3a131b7c336dd5d.js +0 -25
- package/dist/src/web/nextui/_next/static/chunks/602-fce79bd3bd7891e9.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/680-aa07f4d4d0312894.js +0 -7
- package/dist/src/web/nextui/_next/static/chunks/712-13fab020a2ea9e39.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/72-202cb66305c1995a.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/772-d8e765a0f4a182cd.js +0 -32
- package/dist/src/web/nextui/_next/static/chunks/864-406abb9f68cff6a3.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/921-ea4bddb5c25058ea.js +0 -44
- package/dist/src/web/nextui/_next/static/chunks/922.b293c6bd1040dbd7.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/946-740c3c4d7e8acaf7.js +0 -8
- package/dist/src/web/nextui/_next/static/chunks/975-41f6ad20b4031b30.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/app/auth/login/page-2daaaf4e1f6912b3.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/app/auth/signup/page-23ca04075bd65316.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/app/datasets/page-f93e740e9cc7a725.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/app/eval/[id]/not-found-366629541fd598e9.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/app/eval/[id]/page-cf43e2e1a57168e1.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/app/eval/page-21ed48ee7bd48001.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/app/page-ceb22f8e1a2af9dc.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/app/progress/page-1129b810645defc6.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/app/prompts/page-eb6647787729eb01.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/app/setup/page-c570b50989e9a7c2.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/ca377847-26b462611379a4f7.js +0 -6
- package/dist/src/web/nextui/_next/static/chunks/main-app-581ccf0003955b21.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/main-b311752d7554d977.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/pages/_app-52924524f99094ab.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/pages/_error-c92d5c4bb2b49926.js +0 -1
- package/dist/src/web/nextui/_next/static/chunks/webpack-6db4c95c90cd16a8.js +0 -1
- package/dist/src/web/nextui/_next/static/css/012e7480208170b3.css +0 -1
- package/dist/src/web/nextui/_next/static/css/d6087a68d5b5af7c.css +0 -1
- package/dist/src/web/nextui/_next/static/sgLuj_rAi90HuvQkVG1UC/_buildManifest.js +0 -1
- /package/dist/src/web/nextui/_next/static/{sgLuj_rAi90HuvQkVG1UC → V1EPwyedIFJ7fl1xp1-qq}/_ssgManifest.js +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[680],{9190:function(e,t,r){"use strict";var s=r(1047);let i=(0,s.ZP)();t.Z=i},3082:function(e,t,r){"use strict";var s,i=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,l={};((e,t)=>{for(var r in t)i(e,r,{get:t[r],enumerable:!0})})(l,{createBrowserSupabaseClient:()=>C,createClientComponentClient:()=>c,createMiddlewareClient:()=>b,createMiddlewareSupabaseClient:()=>I,createPagesBrowserClient:()=>u,createPagesServerClient:()=>y,createRouteHandlerClient:()=>T,createServerActionClient:()=>E,createServerComponentClient:()=>k,createServerSupabaseClient:()=>j}),e.exports=((e,t,r,s)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of o(t))a.call(e,r)||void 0===r||i(e,r,{get:()=>t[r],enumerable:!(s=n(t,r))||s.enumerable});return e})(i({},"__esModule",{value:!0}),l);var h=r(9335);function c({supabaseUrl:e="https://vhywkeydkitmauabqnwv.supabase.co",supabaseKey:t="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InZoeXdrZXlka2l0bWF1YWJxbnd2Iiwicm9sZSI6ImFub24iLCJpYXQiOjE2OTI5OTAwMjQsImV4cCI6MjAwODU2NjAyNH0.C02",options:r,cookieOptions:i,isSingleton:n=!0}={}){if(!e||!t)throw Error("either NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY env variables or supabaseUrl and supabaseKey are required!");let o=()=>{var s;return(0,h.createSupabaseClient)(e,t,{...r,global:{...null==r?void 0:r.global,headers:{...null==(s=null==r?void 0:r.global)?void 0:s.headers,"X-Client-Info":"@supabase/auth-helpers-nextjs@0.7.4"}},auth:{storageKey:null==i?void 0:i.name,storage:new h.BrowserCookieAuthStorageAdapter(i)}})};if(n){let e=s??o();return"undefined"==typeof window?e:(s||(s=e),s)}return o()}var u=c,d=r(9335),f=r(8027),p=class extends d.CookieAuthStorageAdapter{constructor(e,t){super(t),this.context=e}getCookie(e){var t;let r=(0,f.splitCookiesString)((null==(t=this.context.res.getHeader("set-cookie"))?void 0:t.toString())??"").map(t=>(0,d.parseCookies)(t)[e]).find(e=>!!e),s=r??this.context.req.cookies[e];return s}setCookie(e,t){this._setCookie(e,t)}deleteCookie(e){this._setCookie(e,"",{maxAge:0})}_setCookie(e,t,r){var s;let i=(0,f.splitCookiesString)((null==(s=this.context.res.getHeader("set-cookie"))?void 0:s.toString())??"").filter(t=>!(e in(0,d.parseCookies)(t))),n=(0,d.serializeCookie)(e,t,{...this.cookieOptions,...r,httpOnly:!1});this.context.res.setHeader("set-cookie",[...i,n])}};function y(e,{supabaseUrl:t="https://vhywkeydkitmauabqnwv.supabase.co",supabaseKey:r="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InZoeXdrZXlka2l0bWF1YWJxbnd2Iiwicm9sZSI6ImFub24iLCJpYXQiOjE2OTI5OTAwMjQsImV4cCI6MjAwODU2NjAyNH0.C02",options:s,cookieOptions:i}={}){var n;if(!t||!r)throw Error("either NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY env variables or supabaseUrl and supabaseKey are required!");return(0,d.createSupabaseClient)(t,r,{...s,global:{...null==s?void 0:s.global,headers:{...null==(n=null==s?void 0:s.global)?void 0:n.headers,"X-Client-Info":"@supabase/auth-helpers-nextjs@0.7.4"}},auth:{storageKey:null==i?void 0:i.name,storage:new p(e,i)}})}var g=r(9335),m=r(8027),v=class extends g.CookieAuthStorageAdapter{constructor(e,t){super(t),this.context=e}getCookie(e){var t;let r=(0,m.splitCookiesString)((null==(t=this.context.res.headers.get("set-cookie"))?void 0:t.toString())??"").map(t=>(0,g.parseCookies)(t)[e]).find(e=>!!e);return r||(0,g.parseCookies)(this.context.req.headers.get("cookie")??"")[e]}setCookie(e,t){this._setCookie(e,t)}deleteCookie(e){this._setCookie(e,"",{maxAge:0})}_setCookie(e,t,r){let s=(0,g.serializeCookie)(e,t,{...this.cookieOptions,...r,httpOnly:!1});this.context.res.headers&&(this.context.res.headers.append("set-cookie",s),this.context.res.headers.append("cookie",s))}};function b(e,{supabaseUrl:t="https://vhywkeydkitmauabqnwv.supabase.co",supabaseKey:r="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InZoeXdrZXlka2l0bWF1YWJxbnd2Iiwicm9sZSI6ImFub24iLCJpYXQiOjE2OTI5OTAwMjQsImV4cCI6MjAwODU2NjAyNH0.C02",options:s,cookieOptions:i}={}){var n;if(!t||!r)throw Error("either NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY env variables or supabaseUrl and supabaseKey are required!");return(0,g.createSupabaseClient)(t,r,{...s,global:{...null==s?void 0:s.global,headers:{...null==(n=null==s?void 0:s.global)?void 0:n.headers,"X-Client-Info":"@supabase/auth-helpers-nextjs@0.7.4"}},auth:{storageKey:null==i?void 0:i.name,storage:new v(e,i)}})}var _=r(9335),w=class extends _.CookieAuthStorageAdapter{constructor(e,t){super(t),this.context=e}getCookie(e){var t;let r=this.context.cookies();return null==(t=r.get(e))?void 0:t.value}setCookie(e,t){}deleteCookie(e){}};function k(e,{supabaseUrl:t="https://vhywkeydkitmauabqnwv.supabase.co",supabaseKey:r="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InZoeXdrZXlka2l0bWF1YWJxbnd2Iiwicm9sZSI6ImFub24iLCJpYXQiOjE2OTI5OTAwMjQsImV4cCI6MjAwODU2NjAyNH0.C02",options:s,cookieOptions:i}={}){var n;if(!t||!r)throw Error("either NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY env variables or supabaseUrl and supabaseKey are required!");return(0,_.createSupabaseClient)(t,r,{...s,global:{...null==s?void 0:s.global,headers:{...null==(n=null==s?void 0:s.global)?void 0:n.headers,"X-Client-Info":"@supabase/auth-helpers-nextjs@0.7.4"}},auth:{storageKey:null==i?void 0:i.name,storage:new w(e,i)}})}var S=r(9335),O=class extends S.CookieAuthStorageAdapter{constructor(e,t){super(t),this.context=e}getCookie(e){var t;let r=this.context.cookies();return null==(t=r.get(e))?void 0:t.value}setCookie(e,t){let r=this.context.cookies();r.set(e,t,this.cookieOptions)}deleteCookie(e){let t=this.context.cookies();t.set(e,"",{maxAge:0})}};function T(e,{supabaseUrl:t="https://vhywkeydkitmauabqnwv.supabase.co",supabaseKey:r="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InZoeXdrZXlka2l0bWF1YWJxbnd2Iiwicm9sZSI6ImFub24iLCJpYXQiOjE2OTI5OTAwMjQsImV4cCI6MjAwODU2NjAyNH0.C02",options:s,cookieOptions:i}={}){var n;if(!t||!r)throw Error("either NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY env variables or supabaseUrl and supabaseKey are required!");return(0,S.createSupabaseClient)(t,r,{...s,global:{...null==s?void 0:s.global,headers:{...null==(n=null==s?void 0:s.global)?void 0:n.headers,"X-Client-Info":"@supabase/auth-helpers-nextjs@0.7.4"}},auth:{storageKey:null==i?void 0:i.name,storage:new O(e,i)}})}var E=T;function C({supabaseUrl:e="https://vhywkeydkitmauabqnwv.supabase.co",supabaseKey:t="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InZoeXdrZXlka2l0bWF1YWJxbnd2Iiwicm9sZSI6ImFub24iLCJpYXQiOjE2OTI5OTAwMjQsImV4cCI6MjAwODU2NjAyNH0.C02",options:r,cookieOptions:s}={}){return console.warn("Please utilize the `createPagesBrowserClient` function instead of the deprecated `createBrowserSupabaseClient` function. Learn more: https://supabase.com/docs/guides/auth/auth-helpers/nextjs-pages"),u({supabaseUrl:e,supabaseKey:t,options:r,cookieOptions:s})}function j(e,{supabaseUrl:t="https://vhywkeydkitmauabqnwv.supabase.co",supabaseKey:r="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InZoeXdrZXlka2l0bWF1YWJxbnd2Iiwicm9sZSI6ImFub24iLCJpYXQiOjE2OTI5OTAwMjQsImV4cCI6MjAwODU2NjAyNH0.C02",options:s,cookieOptions:i}={}){return console.warn("Please utilize the `createPagesServerClient` function instead of the deprecated `createServerSupabaseClient` function. Learn more: https://supabase.com/docs/guides/auth/auth-helpers/nextjs-pages"),y(e,{supabaseUrl:t,supabaseKey:r,options:s,cookieOptions:i})}function I(e,{supabaseUrl:t="https://vhywkeydkitmauabqnwv.supabase.co",supabaseKey:r="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InZoeXdrZXlka2l0bWF1YWJxbnd2Iiwicm9sZSI6ImFub24iLCJpYXQiOjE2OTI5OTAwMjQsImV4cCI6MjAwODU2NjAyNH0.C02",options:s,cookieOptions:i}={}){return console.warn("Please utilize the `createMiddlewareClient` function instead of the deprecated `createMiddlewareSupabaseClient` function. Learn more: https://supabase.com/docs/guides/auth/auth-helpers/nextjs#middleware"),b(e,{supabaseUrl:t,supabaseKey:r,options:s,cookieOptions:i})}},7992:function(e,t,r){"use strict";var s=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==r.g)return r.g;throw Error("unable to locate global object")}();e.exports=t=s.fetch,s.fetch&&(t.default=s.fetch.bind(s)),t.Headers=s.Headers,t.Request=s.Request,t.Response=s.Response},9366:function(e,t){var r="undefined"!=typeof self?self:this,s=function(){function e(){this.fetch=!1,this.DOMException=r.DOMException}return e.prototype=r,new e}();(function(e){var t={searchParams:"URLSearchParams"in s,iterable:"Symbol"in s&&"iterator"in Symbol,blob:"FileReader"in s&&"Blob"in s&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in s,arrayBuffer:"ArrayBuffer"in s};if(t.arrayBuffer)var r=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],i=ArrayBuffer.isView||function(e){return e&&r.indexOf(Object.prototype.toString.call(e))>-1};function n(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e))throw TypeError("Invalid character in header field name");return e.toLowerCase()}function o(e){return"string"!=typeof e&&(e=String(e)),e}function a(e){var r={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return t.iterable&&(r[Symbol.iterator]=function(){return r}),r}function l(e){this.map={},e instanceof l?e.forEach(function(e,t){this.append(t,e)},this):Array.isArray(e)?e.forEach(function(e){this.append(e[0],e[1])},this):e&&Object.getOwnPropertyNames(e).forEach(function(t){this.append(t,e[t])},this)}function h(e){if(e.bodyUsed)return Promise.reject(TypeError("Already read"));e.bodyUsed=!0}function c(e){return new Promise(function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}})}function u(e){var t=new FileReader,r=c(t);return t.readAsArrayBuffer(e),r}function d(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function f(){return this.bodyUsed=!1,this._initBody=function(e){if(this._bodyInit=e,e){if("string"==typeof e)this._bodyText=e;else if(t.blob&&Blob.prototype.isPrototypeOf(e))this._bodyBlob=e;else if(t.formData&&FormData.prototype.isPrototypeOf(e))this._bodyFormData=e;else if(t.searchParams&&URLSearchParams.prototype.isPrototypeOf(e))this._bodyText=e.toString();else{var r;t.arrayBuffer&&t.blob&&(r=e)&&DataView.prototype.isPrototypeOf(r)?(this._bodyArrayBuffer=d(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):t.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(e)||i(e))?this._bodyArrayBuffer=d(e):this._bodyText=e=Object.prototype.toString.call(e)}}else this._bodyText="";!this.headers.get("content-type")&&("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):t.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},t.blob&&(this.blob=function(){var e=h(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(!this._bodyFormData)return Promise.resolve(new Blob([this._bodyText]));throw Error("could not read FormData body as blob")},this.arrayBuffer=function(){return this._bodyArrayBuffer?h(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(u)}),this.text=function(){var e,t,r,s=h(this);if(s)return s;if(this._bodyBlob)return e=this._bodyBlob,r=c(t=new FileReader),t.readAsText(e),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=Array(t.length),s=0;s<t.length;s++)r[s]=String.fromCharCode(t[s]);return r.join("")}(this._bodyArrayBuffer));if(!this._bodyFormData)return Promise.resolve(this._bodyText);throw Error("could not read FormData body as text")},t.formData&&(this.formData=function(){return this.text().then(g)}),this.json=function(){return this.text().then(JSON.parse)},this}l.prototype.append=function(e,t){e=n(e),t=o(t);var r=this.map[e];this.map[e]=r?r+", "+t:t},l.prototype.delete=function(e){delete this.map[n(e)]},l.prototype.get=function(e){return e=n(e),this.has(e)?this.map[e]:null},l.prototype.has=function(e){return this.map.hasOwnProperty(n(e))},l.prototype.set=function(e,t){this.map[n(e)]=o(t)},l.prototype.forEach=function(e,t){for(var r in this.map)this.map.hasOwnProperty(r)&&e.call(t,this.map[r],r,this)},l.prototype.keys=function(){var e=[];return this.forEach(function(t,r){e.push(r)}),a(e)},l.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),a(e)},l.prototype.entries=function(){var e=[];return this.forEach(function(t,r){e.push([r,t])}),a(e)},t.iterable&&(l.prototype[Symbol.iterator]=l.prototype.entries);var p=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function y(e,t){var r,s,i=(t=t||{}).body;if(e instanceof y){if(e.bodyUsed)throw TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new l(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,i||null==e._bodyInit||(i=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",(t.headers||!this.headers)&&(this.headers=new l(t.headers)),this.method=(s=(r=t.method||this.method||"GET").toUpperCase(),p.indexOf(s)>-1?s:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&i)throw TypeError("Body not allowed for GET or HEAD requests");this._initBody(i)}function g(e){var t=new FormData;return e.trim().split("&").forEach(function(e){if(e){var r=e.split("="),s=r.shift().replace(/\+/g," "),i=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(s),decodeURIComponent(i))}}),t}function m(e,t){t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new l(t.headers),this.url=t.url||"",this._initBody(e)}y.prototype.clone=function(){return new y(this,{body:this._bodyInit})},f.call(y.prototype),f.call(m.prototype),m.prototype.clone=function(){return new m(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new l(this.headers),url:this.url})},m.error=function(){var e=new m(null,{status:0,statusText:""});return e.type="error",e};var v=[301,302,303,307,308];m.redirect=function(e,t){if(-1===v.indexOf(t))throw RangeError("Invalid status code");return new m(null,{status:t,headers:{location:e}})},e.DOMException=s.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function b(r,s){return new Promise(function(i,n){var o=new y(r,s);if(o.signal&&o.signal.aborted)return n(new e.DOMException("Aborted","AbortError"));var a=new XMLHttpRequest;function h(){a.abort()}a.onload=function(){var e,t,r={status:a.status,statusText:a.statusText,headers:(e=a.getAllResponseHeaders()||"",t=new l,e.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(e){var r=e.split(":"),s=r.shift().trim();if(s){var i=r.join(":").trim();t.append(s,i)}}),t)};r.url="responseURL"in a?a.responseURL:r.headers.get("X-Request-URL");var s="response"in a?a.response:a.responseText;i(new m(s,r))},a.onerror=function(){n(TypeError("Network request failed"))},a.ontimeout=function(){n(TypeError("Network request failed"))},a.onabort=function(){n(new e.DOMException("Aborted","AbortError"))},a.open(o.method,o.url,!0),"include"===o.credentials?a.withCredentials=!0:"omit"===o.credentials&&(a.withCredentials=!1),"responseType"in a&&t.blob&&(a.responseType="blob"),o.headers.forEach(function(e,t){a.setRequestHeader(t,e)}),o.signal&&(o.signal.addEventListener("abort",h),a.onreadystatechange=function(){4===a.readyState&&o.signal.removeEventListener("abort",h)}),a.send(void 0===o._bodyInit?null:o._bodyInit)})}b.polyfill=!0,s.fetch||(s.fetch=b,s.Headers=l,s.Request=y,s.Response=m),e.Headers=l,e.Request=y,e.Response=m,e.fetch=b,Object.defineProperty(e,"__esModule",{value:!0})})({}),s.fetch.ponyfill=!0,delete s.fetch.polyfill,(t=s.fetch).default=s.fetch,t.fetch=s.fetch,t.Headers=s.Headers,t.Request=s.Request,t.Response=s.Response,e.exports=t},9472:function(e){var t=function(){if("object"==typeof self&&self)return self;if("object"==typeof window&&window)return window;throw Error("Unable to resolve global `this`")};e.exports=function(){if(this)return this;if("object"==typeof globalThis&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return t()}try{if(!__global__)return t();return __global__}finally{delete Object.prototype.__global__}}()},4033:function(e,t,r){e.exports=r(8165)},8027:function(e){"use strict";var t={decodeValues:!0,map:!1,silent:!1};function r(e){return"string"==typeof e&&!!e.trim()}function s(e,s){var i,n,o,a,l=e.split(";").filter(r),h=(i=l.shift(),n="",o="",(a=i.split("=")).length>1?(n=a.shift(),o=a.join("=")):o=i,{name:n,value:o}),c=h.name,u=h.value;s=s?Object.assign({},t,s):t;try{u=s.decodeValues?decodeURIComponent(u):u}catch(e){console.error("set-cookie-parser encountered an error while decoding a cookie with value '"+u+"'. Set options.decodeValues to false to disable this feature.",e)}var d={name:c,value:u};return l.forEach(function(e){var t=e.split("="),r=t.shift().trimLeft().toLowerCase(),s=t.join("=");"expires"===r?d.expires=new Date(s):"max-age"===r?d.maxAge=parseInt(s,10):"secure"===r?d.secure=!0:"httponly"===r?d.httpOnly=!0:"samesite"===r?d.sameSite=s:d[r]=s}),d}function i(e,i){if(i=i?Object.assign({},t,i):t,!e)return i.map?{}:[];if(e.headers){if("function"==typeof e.headers.getSetCookie)e=e.headers.getSetCookie();else if(e.headers["set-cookie"])e=e.headers["set-cookie"];else{var n=e.headers[Object.keys(e.headers).find(function(e){return"set-cookie"===e.toLowerCase()})];n||!e.headers.cookie||i.silent||console.warn("Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning."),e=n}}return(Array.isArray(e)||(e=[e]),(i=i?Object.assign({},t,i):t).map)?e.filter(r).reduce(function(e,t){var r=s(t,i);return e[r.name]=r,e},{}):e.filter(r).map(function(e){return s(e,i)})}e.exports=i,e.exports.parse=i,e.exports.parseString=s,e.exports.splitCookiesString=function(e){if(Array.isArray(e))return e;if("string"!=typeof e)return[];var t,r,s,i,n,o=[],a=0;function l(){for(;a<e.length&&/\s/.test(e.charAt(a));)a+=1;return a<e.length}for(;a<e.length;){for(t=a,n=!1;l();)if(","===(r=e.charAt(a))){for(s=a,a+=1,l(),i=a;a<e.length&&"="!==(r=e.charAt(a))&&";"!==r&&","!==r;)a+=1;a<e.length&&"="===e.charAt(a)?(n=!0,a=i,o.push(e.substring(t,s)),t=a):a=s+1}else a+=1;(!n||a>=e.length)&&o.push(e.substring(t,e.length))}return o}},1775:function(e,t,r){if("object"==typeof globalThis)s=globalThis;else try{s=r(9472)}catch(e){}finally{if(s||"undefined"==typeof window||(s=window),!s)throw Error("Could not determine global this")}var s,i=s.WebSocket||s.MozWebSocket,n=r(5506);function o(e,t){return t?new i(e,t):new i(e)}i&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach(function(e){Object.defineProperty(o,e,{get:function(){return i[e]}})}),e.exports={w3cwebsocket:i?o:null,version:n}},5506:function(e,t,r){e.exports=r(2151).version},9335:function(e,t,r){"use strict";r.r(t),r.d(t,{BrowserCookieAuthStorageAdapter:function(){return tq},CookieAuthStorageAdapter:function(){return tz},DEFAULT_COOKIE_OPTIONS:function(){return tM},createSupabaseClient:function(){return tK},isBrowser:function(){return tF},parseCookies:function(){return tH},parseSupabaseCookie:function(){return tJ},serializeCookie:function(){return tX},stringifySupabaseSession:function(){return tB}}),new TextEncoder;let s=new TextDecoder,i=e=>{let t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return r};var n,o,a,l,h,c,u,d,f,p,y,g,m,v,b,_,w,k,S,O,T,E=crypto;E.getRandomValues.bind(E),Symbol();let C=e=>{let t=e;t instanceof Uint8Array&&(t=s.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return i(t)}catch(e){throw TypeError("The input to be decoded is not correctly encoded.")}},j=e=>{let t;return t=e||("undefined"==typeof fetch?(...e)=>{var t,s,i,n;return t=void 0,s=void 0,i=void 0,n=function*(){return yield(yield Promise.resolve().then(r.t.bind(r,9366,23))).fetch(...e)},new(i||(i=Promise))(function(e,r){function o(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(t){var r;t.done?e(t.value):((r=t.value)instanceof i?r:new i(function(e){e(r)})).then(o,a)}l((n=n.apply(t,s||[])).next())})}:fetch),(...e)=>t(...e)};class I extends Error{constructor(e,t="FunctionsError",r){super(e),this.name=t,this.context=r}}class x extends I{constructor(e){super("Failed to send a request to the Edge Function","FunctionsFetchError",e)}}class A extends I{constructor(e){super("Relay Error invoking the Edge Function","FunctionsRelayError",e)}}class P extends I{constructor(e){super("Edge Function returned a non-2xx status code","FunctionsHttpError",e)}}class ${constructor(e,{headers:t={},customFetch:r}={}){this.url=e,this.headers=t,this.fetch=j(r)}setAuth(e){this.headers.Authorization=`Bearer ${e}`}invoke(e,t={}){var r,s,i,n,o;return s=this,i=void 0,n=void 0,o=function*(){try{let s;let{headers:i,method:n,body:o}=t,a={};o&&(i&&!Object.prototype.hasOwnProperty.call(i,"Content-Type")||!i)&&("undefined"!=typeof Blob&&o instanceof Blob||o instanceof ArrayBuffer?(a["Content-Type"]="application/octet-stream",s=o):"string"==typeof o?(a["Content-Type"]="text/plain",s=o):"undefined"!=typeof FormData&&o instanceof FormData?s=o:(a["Content-Type"]="application/json",s=JSON.stringify(o)));let l=yield this.fetch(`${this.url}/${e}`,{method:n||"POST",headers:Object.assign(Object.assign(Object.assign({},a),this.headers),i),body:s}).catch(e=>{throw new x(e)}),h=l.headers.get("x-relay-error");if(h&&"true"===h)throw new A(l);if(!l.ok)throw new P(l);let c=(null!==(r=l.headers.get("Content-Type"))&&void 0!==r?r:"text/plain").split(";")[0].trim();return{data:"application/json"===c?yield l.json():"application/octet-stream"===c?yield l.blob():"multipart/form-data"===c?yield l.formData():yield l.text(),error:null}}catch(e){return{data:null,error:e}}},new(n||(n=Promise))(function(e,t){function r(e){try{l(o.next(e))}catch(e){t(e)}}function a(e){try{l(o.throw(e))}catch(e){t(e)}}function l(t){var s;t.done?e(t.value):((s=t.value)instanceof n?s:new n(function(e){e(s)})).then(r,a)}l((o=o.apply(s,i||[])).next())})}}var R=r(7992),U=r.n(R);class L{constructor(e){this.shouldThrowOnError=!1,this.method=e.method,this.url=e.url,this.headers=e.headers,this.schema=e.schema,this.body=e.body,this.shouldThrowOnError=e.shouldThrowOnError,this.signal=e.signal,this.isMaybeSingle=e.isMaybeSingle,e.fetch?this.fetch=e.fetch:"undefined"==typeof fetch?this.fetch=U():this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}then(e,t){void 0===this.schema||(["GET","HEAD"].includes(this.method)?this.headers["Accept-Profile"]=this.schema:this.headers["Content-Profile"]=this.schema),"GET"!==this.method&&"HEAD"!==this.method&&(this.headers["Content-Type"]="application/json");let r=this.fetch,s=r(this.url.toString(),{method:this.method,headers:this.headers,body:JSON.stringify(this.body),signal:this.signal}).then(async e=>{var t,r,s;let i=null,n=null,o=null,a=e.status,l=e.statusText;if(e.ok){if("HEAD"!==this.method){let t=await e.text();""===t||(n="text/csv"===this.headers.Accept?t:this.headers.Accept&&this.headers.Accept.includes("application/vnd.pgrst.plan+text")?t:JSON.parse(t))}let s=null===(t=this.headers.Prefer)||void 0===t?void 0:t.match(/count=(exact|planned|estimated)/),h=null===(r=e.headers.get("content-range"))||void 0===r?void 0:r.split("/");s&&h&&h.length>1&&(o=parseInt(h[1])),this.isMaybeSingle&&"GET"===this.method&&Array.isArray(n)&&(n.length>1?(i={code:"PGRST116",details:`Results contain ${n.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},n=null,o=null,a=406,l="Not Acceptable"):n=1===n.length?n[0]:null)}else{let t=await e.text();try{i=JSON.parse(t),Array.isArray(i)&&404===e.status&&(n=[],i=null,a=200,l="OK")}catch(r){404===e.status&&""===t?(a=204,l="No Content"):i={message:t}}if(i&&this.isMaybeSingle&&(null===(s=null==i?void 0:i.details)||void 0===s?void 0:s.includes("Results contain 0 rows"))&&(i=null,a=200,l="OK"),i&&this.shouldThrowOnError)throw i}let h={error:i,data:n,count:o,status:a,statusText:l};return h});return this.shouldThrowOnError||(s=s.catch(e=>{var t,r,s;return{error:{message:`${null!==(t=null==e?void 0:e.name)&&void 0!==t?t:"FetchError"}: ${null==e?void 0:e.message}`,details:`${null!==(r=null==e?void 0:e.stack)&&void 0!==r?r:""}`,hint:"",code:`${null!==(s=null==e?void 0:e.code)&&void 0!==s?s:""}`},data:null,count:null,status:0,statusText:""}})),s.then(e,t)}}class N extends L{select(e){let t=!1,r=(null!=e?e:"*").split("").map(e=>/\s/.test(e)&&!t?"":('"'===e&&(t=!t),e)).join("");return this.url.searchParams.set("select",r),this.headers.Prefer&&(this.headers.Prefer+=","),this.headers.Prefer+="return=representation",this}order(e,{ascending:t=!0,nullsFirst:r,foreignTable:s}={}){let i=s?`${s}.order`:"order",n=this.url.searchParams.get(i);return this.url.searchParams.set(i,`${n?`${n},`:""}${e}.${t?"asc":"desc"}${void 0===r?"":r?".nullsfirst":".nullslast"}`),this}limit(e,{foreignTable:t}={}){let r=void 0===t?"limit":`${t}.limit`;return this.url.searchParams.set(r,`${e}`),this}range(e,t,{foreignTable:r}={}){let s=void 0===r?"offset":`${r}.offset`,i=void 0===r?"limit":`${r}.limit`;return this.url.searchParams.set(s,`${e}`),this.url.searchParams.set(i,`${t-e+1}`),this}abortSignal(e){return this.signal=e,this}single(){return this.headers.Accept="application/vnd.pgrst.object+json",this}maybeSingle(){return"GET"===this.method?this.headers.Accept="application/json":this.headers.Accept="application/vnd.pgrst.object+json",this.isMaybeSingle=!0,this}csv(){return this.headers.Accept="text/csv",this}geojson(){return this.headers.Accept="application/geo+json",this}explain({analyze:e=!1,verbose:t=!1,settings:r=!1,buffers:s=!1,wal:i=!1,format:n="text"}={}){let o=[e?"analyze":null,t?"verbose":null,r?"settings":null,s?"buffers":null,i?"wal":null].filter(Boolean).join("|"),a=this.headers.Accept;return this.headers.Accept=`application/vnd.pgrst.plan+${n}; for="${a}"; options=${o};`,this}rollback(){var e;return(null!==(e=this.headers.Prefer)&&void 0!==e?e:"").trim().length>0?this.headers.Prefer+=",tx=rollback":this.headers.Prefer="tx=rollback",this}returns(){return this}}class D extends N{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}is(e,t){return this.url.searchParams.append(e,`is.${t}`),this}in(e,t){let r=t.map(e=>"string"==typeof e&&RegExp("[,()]").test(e)?`"${e}"`:`${e}`).join(",");return this.url.searchParams.append(e,`in.(${r})`),this}contains(e,t){return"string"==typeof t?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"string"==typeof t?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"string"==typeof t?this.url.searchParams.append(e,`ov.${t}`):this.url.searchParams.append(e,`ov.{${t.join(",")}}`),this}textSearch(e,t,{config:r,type:s}={}){let i="";"plain"===s?i="pl":"phrase"===s?i="ph":"websearch"===s&&(i="w");let n=void 0===r?"":`(${r})`;return this.url.searchParams.append(e,`${i}fts${n}.${t}`),this}match(e){return Object.entries(e).forEach(([e,t])=>{this.url.searchParams.append(e,`eq.${t}`)}),this}not(e,t,r){return this.url.searchParams.append(e,`not.${t}.${r}`),this}or(e,{foreignTable:t}={}){let r=t?`${t}.or`:"or";return this.url.searchParams.append(r,`(${e})`),this}filter(e,t,r){return this.url.searchParams.append(e,`${t}.${r}`),this}}class J{constructor(e,{headers:t={},schema:r,fetch:s}){this.url=e,this.headers=t,this.schema=r,this.fetch=s}select(e,{head:t=!1,count:r}={}){let s=!1,i=(null!=e?e:"*").split("").map(e=>/\s/.test(e)&&!s?"":('"'===e&&(s=!s),e)).join("");return this.url.searchParams.set("select",i),r&&(this.headers.Prefer=`count=${r}`),new D({method:t?"HEAD":"GET",url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch,allowEmpty:!1})}insert(e,{count:t,defaultToNull:r=!0}={}){let s=[];if(this.headers.Prefer&&s.push(this.headers.Prefer),t&&s.push(`count=${t}`),r||s.push("missing=default"),this.headers.Prefer=s.join(","),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}"`);this.url.searchParams.set("columns",e.join(","))}}return new D({method:"POST",url:this.url,headers:this.headers,schema:this.schema,body:e,fetch:this.fetch,allowEmpty:!1})}upsert(e,{onConflict:t,ignoreDuplicates:r=!1,count:s,defaultToNull:i=!0}={}){let n=[`resolution=${r?"ignore":"merge"}-duplicates`];if(void 0!==t&&this.url.searchParams.set("on_conflict",t),this.headers.Prefer&&n.push(this.headers.Prefer),s&&n.push(`count=${s}`),i||n.push("missing=default"),this.headers.Prefer=n.join(","),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}"`);this.url.searchParams.set("columns",e.join(","))}}return new D({method:"POST",url:this.url,headers:this.headers,schema:this.schema,body:e,fetch:this.fetch,allowEmpty:!1})}update(e,{count:t}={}){let r=[];return this.headers.Prefer&&r.push(this.headers.Prefer),t&&r.push(`count=${t}`),this.headers.Prefer=r.join(","),new D({method:"PATCH",url:this.url,headers:this.headers,schema:this.schema,body:e,fetch:this.fetch,allowEmpty:!1})}delete({count:e}={}){let t=[];return e&&t.push(`count=${e}`),this.headers.Prefer&&t.unshift(this.headers.Prefer),this.headers.Prefer=t.join(","),new D({method:"DELETE",url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch,allowEmpty:!1})}}let B={"X-Client-Info":"postgrest-js/1.8.4"};class F{constructor(e,{headers:t={},schema:r,fetch:s}={}){this.url=e,this.headers=Object.assign(Object.assign({},B),t),this.schemaName=r,this.fetch=s}from(e){let t=new URL(`${this.url}/${e}`);return new J(t,{headers:Object.assign({},this.headers),schema:this.schemaName,fetch:this.fetch})}schema(e){return new F(this.url,{headers:this.headers,schema:e,fetch:this.fetch})}rpc(e,t={},{head:r=!1,count:s}={}){let i,n;let o=new URL(`${this.url}/rpc/${e}`);r?(i="HEAD",Object.entries(t).forEach(([e,t])=>{o.searchParams.append(e,`${t}`)})):(i="POST",n=t);let a=Object.assign({},this.headers);return s&&(a.Prefer=`count=${s}`),new D({method:i,url:o,headers:a,schema:this.schemaName,body:n,fetch:this.fetch,allowEmpty:!1})}}var M=r(1775);let z={"X-Client-Info":"realtime-js/2.7.4"};(n=g||(g={}))[n.connecting=0]="connecting",n[n.open=1]="open",n[n.closing=2]="closing",n[n.closed=3]="closed",(o=m||(m={})).closed="closed",o.errored="errored",o.joined="joined",o.joining="joining",o.leaving="leaving",(a=v||(v={})).close="phx_close",a.error="phx_error",a.join="phx_join",a.reply="phx_reply",a.leave="phx_leave",a.access_token="access_token",(b||(b={})).websocket="websocket",(l=_||(_={})).Connecting="connecting",l.Open="open",l.Closing="closing",l.Closed="closed";class q{constructor(e,t){this.callback=e,this.timerCalc=t,this.timer=void 0,this.tries=0,this.callback=e,this.timerCalc=t}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}}class K{constructor(){this.HEADER_LENGTH=1}decode(e,t){return e.constructor===ArrayBuffer?t(this._binaryDecode(e)):"string"==typeof e?t(JSON.parse(e)):t({})}_binaryDecode(e){let t=new DataView(e),r=new TextDecoder;return this._decodeBroadcast(e,t,r)}_decodeBroadcast(e,t,r){let s=t.getUint8(1),i=t.getUint8(2),n=this.HEADER_LENGTH+2,o=r.decode(e.slice(n,n+s));n+=s;let a=r.decode(e.slice(n,n+i));n+=i;let l=JSON.parse(r.decode(e.slice(n,e.byteLength)));return{ref:null,topic:o,event:a,payload:l}}}class H{constructor(e,t,r={},s=1e4){this.channel=e,this.event=t,this.payload=r,this.timeout=s,this.sent=!1,this.timeoutTimer=void 0,this.ref="",this.receivedResp=null,this.recHooks=[],this.refEvent=null,this.rateLimited=!1}resend(e){this.timeout=e,this._cancelRefEvent(),this.ref="",this.refEvent=null,this.receivedResp=null,this.sent=!1,this.send()}send(){if(this._hasReceived("timeout"))return;this.startTimeout(),this.sent=!0;let e=this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload,ref:this.ref,join_ref:this.channel._joinRef()});"rate limited"===e&&(this.rateLimited=!0)}updatePayload(e){this.payload=Object.assign(Object.assign({},this.payload),e)}receive(e,t){var r;return this._hasReceived(e)&&t(null===(r=this.receivedResp)||void 0===r?void 0:r.response),this.recHooks.push({status:e,callback:t}),this}startTimeout(){this.timeoutTimer||(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))}trigger(e,t){this.refEvent&&this.channel._trigger(this.refEvent,{status:e,response:t})}destroy(){this._cancelRefEvent(),this._cancelTimeout()}_cancelRefEvent(){this.refEvent&&this.channel._off(this.refEvent,{})}_cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=void 0}_matchReceive({status:e,response:t}){this.recHooks.filter(t=>t.status===e).forEach(e=>e.callback(t))}_hasReceived(e){return this.receivedResp&&this.receivedResp.status===e}}(h=w||(w={})).SYNC="sync",h.JOIN="join",h.LEAVE="leave";class X{constructor(e,t){this.channel=e,this.state={},this.pendingDiffs=[],this.joinRef=null,this.caller={onJoin:()=>{},onLeave:()=>{},onSync:()=>{}};let r=(null==t?void 0:t.events)||{state:"presence_state",diff:"presence_diff"};this.channel._on(r.state,{},e=>{let{onJoin:t,onLeave:r,onSync:s}=this.caller;this.joinRef=this.channel._joinRef(),this.state=X.syncState(this.state,e,t,r),this.pendingDiffs.forEach(e=>{this.state=X.syncDiff(this.state,e,t,r)}),this.pendingDiffs=[],s()}),this.channel._on(r.diff,{},e=>{let{onJoin:t,onLeave:r,onSync:s}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(e):(this.state=X.syncDiff(this.state,e,t,r),s())}),this.onJoin((e,t,r)=>{this.channel._trigger("presence",{event:"join",key:e,currentPresences:t,newPresences:r})}),this.onLeave((e,t,r)=>{this.channel._trigger("presence",{event:"leave",key:e,currentPresences:t,leftPresences:r})}),this.onSync(()=>{this.channel._trigger("presence",{event:"sync"})})}static syncState(e,t,r,s){let i=this.cloneDeep(e),n=this.transformState(t),o={},a={};return this.map(i,(e,t)=>{n[e]||(a[e]=t)}),this.map(n,(e,t)=>{let r=i[e];if(r){let s=t.map(e=>e.presence_ref),i=r.map(e=>e.presence_ref),n=t.filter(e=>0>i.indexOf(e.presence_ref)),l=r.filter(e=>0>s.indexOf(e.presence_ref));n.length>0&&(o[e]=n),l.length>0&&(a[e]=l)}else o[e]=t}),this.syncDiff(i,{joins:o,leaves:a},r,s)}static syncDiff(e,t,r,s){let{joins:i,leaves:n}={joins:this.transformState(t.joins),leaves:this.transformState(t.leaves)};return r||(r=()=>{}),s||(s=()=>{}),this.map(i,(t,s)=>{var i;let n=null!==(i=e[t])&&void 0!==i?i:[];if(e[t]=this.cloneDeep(s),n.length>0){let r=e[t].map(e=>e.presence_ref),s=n.filter(e=>0>r.indexOf(e.presence_ref));e[t].unshift(...s)}r(t,n,s)}),this.map(n,(t,r)=>{let i=e[t];if(!i)return;let n=r.map(e=>e.presence_ref);i=i.filter(e=>0>n.indexOf(e.presence_ref)),e[t]=i,s(t,i,r),0===i.length&&delete e[t]}),e}static map(e,t){return Object.getOwnPropertyNames(e).map(r=>t(r,e[r]))}static transformState(e){return Object.getOwnPropertyNames(e=this.cloneDeep(e)).reduce((t,r)=>{let s=e[r];return"metas"in s?t[r]=s.metas.map(e=>(e.presence_ref=e.phx_ref,delete e.phx_ref,delete e.phx_ref_prev,e)):t[r]=s,t},{})}static cloneDeep(e){return JSON.parse(JSON.stringify(e))}onJoin(e){this.caller.onJoin=e}onLeave(e){this.caller.onLeave=e}onSync(e){this.caller.onSync=e}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel._joinRef()}}(c=k||(k={})).abstime="abstime",c.bool="bool",c.date="date",c.daterange="daterange",c.float4="float4",c.float8="float8",c.int2="int2",c.int4="int4",c.int4range="int4range",c.int8="int8",c.int8range="int8range",c.json="json",c.jsonb="jsonb",c.money="money",c.numeric="numeric",c.oid="oid",c.reltime="reltime",c.text="text",c.time="time",c.timestamp="timestamp",c.timestamptz="timestamptz",c.timetz="timetz",c.tsrange="tsrange",c.tstzrange="tstzrange";let G=(e,t,r={})=>{var s;let i=null!==(s=r.skipTypes)&&void 0!==s?s:[];return Object.keys(t).reduce((r,s)=>(r[s]=V(s,e,t,i),r),{})},V=(e,t,r,s)=>{let i=t.find(t=>t.name===e),n=null==i?void 0:i.type,o=r[e];return n&&!s.includes(n)?Z(n,o):Y(o)},Z=(e,t)=>{if("_"===e.charAt(0)){let r=e.slice(1,e.length);return et(t,r)}switch(e){case k.bool:return W(t);case k.float4:case k.float8:case k.int2:case k.int4:case k.int8:case k.numeric:case k.oid:return Q(t);case k.json:case k.jsonb:return ee(t);case k.timestamp:return er(t);case k.abstime:case k.date:case k.daterange:case k.int4range:case k.int8range:case k.money:case k.reltime:case k.text:case k.time:case k.timestamptz:case k.timetz:case k.tsrange:case k.tstzrange:default:return Y(t)}},Y=e=>e,W=e=>{switch(e){case"t":return!0;case"f":return!1;default:return e}},Q=e=>{if("string"==typeof e){let t=parseFloat(e);if(!Number.isNaN(t))return t}return e},ee=e=>{if("string"==typeof e)try{return JSON.parse(e)}catch(e){console.log(`JSON parse error: ${e}`)}return e},et=(e,t)=>{if("string"!=typeof e)return e;let r=e.length-1,s=e[r],i=e[0];if("{"===i&&"}"===s){let s;let i=e.slice(1,r);try{s=JSON.parse("["+i+"]")}catch(e){s=i?i.split(","):[]}return s.map(e=>Z(t,e))}return e},er=e=>"string"==typeof e?e.replace(" ","T"):e;var es=function(e,t,r,s){return new(r||(r=Promise))(function(i,n){function o(e){try{l(s.next(e))}catch(e){n(e)}}function a(e){try{l(s.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(o,a)}l((s=s.apply(e,t||[])).next())})};(u=S||(S={})).ALL="*",u.INSERT="INSERT",u.UPDATE="UPDATE",u.DELETE="DELETE",(d=O||(O={})).BROADCAST="broadcast",d.PRESENCE="presence",d.POSTGRES_CHANGES="postgres_changes",(f=T||(T={})).SUBSCRIBED="SUBSCRIBED",f.TIMED_OUT="TIMED_OUT",f.CLOSED="CLOSED",f.CHANNEL_ERROR="CHANNEL_ERROR";class ei{constructor(e,t={config:{}},r){this.topic=e,this.params=t,this.socket=r,this.bindings={},this.state=m.closed,this.joinedOnce=!1,this.pushBuffer=[],this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:""}},t.config),this.timeout=this.socket.timeout,this.joinPush=new H(this,v.join,this.params,this.timeout),this.rejoinTimer=new q(()=>this._rejoinUntilConnected(),this.socket.reconnectAfterMs),this.joinPush.receive("ok",()=>{this.state=m.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(e=>e.send()),this.pushBuffer=[]}),this._onClose(()=>{this.rejoinTimer.reset(),this.socket.log("channel",`close ${this.topic} ${this._joinRef()}`),this.state=m.closed,this.socket._remove(this)}),this._onError(e=>{this._isLeaving()||this._isClosed()||(this.socket.log("channel",`error ${this.topic}`,e),this.state=m.errored,this.rejoinTimer.scheduleTimeout())}),this.joinPush.receive("timeout",()=>{this._isJoining()&&(this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),this.state=m.errored,this.rejoinTimer.scheduleTimeout())}),this._on(v.reply,{},(e,t)=>{this._trigger(this._replyEventName(t),e)}),this.presence=new X(this)}subscribe(e,t=this.timeout){var r,s;if(this.joinedOnce)throw"tried to subscribe multiple times. 'subscribe' can only be called a single time per channel instance";{let{config:{broadcast:i,presence:n}}=this.params;this._onError(t=>e&&e("CHANNEL_ERROR",t)),this._onClose(()=>e&&e("CLOSED"));let o={},a={broadcast:i,presence:n,postgres_changes:null!==(s=null===(r=this.bindings.postgres_changes)||void 0===r?void 0:r.map(e=>e.filter))&&void 0!==s?s:[]};this.socket.accessToken&&(o.access_token=this.socket.accessToken),this.updateJoinPayload(Object.assign({config:a},o)),this.joinedOnce=!0,this._rejoin(t),this.joinPush.receive("ok",({postgres_changes:t})=>{var r;if(this.socket.accessToken&&this.socket.setAuth(this.socket.accessToken),void 0===t){e&&e("SUBSCRIBED");return}{let s=this.bindings.postgres_changes,i=null!==(r=null==s?void 0:s.length)&&void 0!==r?r:0,n=[];for(let r=0;r<i;r++){let i=s[r],{filter:{event:o,schema:a,table:l,filter:h}}=i,c=t&&t[r];if(c&&c.event===o&&c.schema===a&&c.table===l&&c.filter===h)n.push(Object.assign(Object.assign({},i),{id:c.id}));else{this.unsubscribe(),e&&e("CHANNEL_ERROR",Error("mismatch between server and client bindings for postgres changes"));return}}this.bindings.postgres_changes=n,e&&e("SUBSCRIBED");return}}).receive("error",t=>{e&&e("CHANNEL_ERROR",Error(JSON.stringify(Object.values(t).join(", ")||"error")))}).receive("timeout",()=>{e&&e("TIMED_OUT")})}return this}presenceState(){return this.presence.state}track(e,t={}){return es(this,void 0,void 0,function*(){return yield this.send({type:"presence",event:"track",payload:e},t.timeout||this.timeout)})}untrack(e={}){return es(this,void 0,void 0,function*(){return yield this.send({type:"presence",event:"untrack"},e)})}on(e,t,r){return this._on(e,t,r)}send(e,t={}){return new Promise(r=>{var s,i,n;let o=this._push(e.type,e,t.timeout||this.timeout);o.rateLimited&&r("rate limited"),"broadcast"!==e.type||(null===(n=null===(i=null===(s=this.params)||void 0===s?void 0:s.config)||void 0===i?void 0:i.broadcast)||void 0===n?void 0:n.ack)||r("ok"),o.receive("ok",()=>r("ok")),o.receive("timeout",()=>r("timed out"))})}updateJoinPayload(e){this.joinPush.updatePayload(e)}unsubscribe(e=this.timeout){this.state=m.leaving;let t=()=>{this.socket.log("channel",`leave ${this.topic}`),this._trigger(v.close,"leave",this._joinRef())};return this.rejoinTimer.reset(),this.joinPush.destroy(),new Promise(r=>{let s=new H(this,v.leave,{},e);s.receive("ok",()=>{t(),r("ok")}).receive("timeout",()=>{t(),r("timed out")}).receive("error",()=>{r("error")}),s.send(),this._canPush()||s.trigger("ok",{})})}_push(e,t,r=this.timeout){if(!this.joinedOnce)throw`tried to push '${e}' to '${this.topic}' before joining. Use channel.subscribe() before pushing events`;let s=new H(this,e,t,r);return this._canPush()?s.send():(s.startTimeout(),this.pushBuffer.push(s)),s}_onMessage(e,t,r){return t}_isMember(e){return this.topic===e}_joinRef(){return this.joinPush.ref}_trigger(e,t,r){var s,i;let n=e.toLocaleLowerCase(),{close:o,error:a,leave:l,join:h}=v;if(r&&[o,a,l,h].indexOf(n)>=0&&r!==this._joinRef())return;let c=this._onMessage(n,t,r);if(t&&!c)throw"channel onMessage callbacks must return the payload, modified or unmodified";["insert","update","delete"].includes(n)?null===(s=this.bindings.postgres_changes)||void 0===s||s.filter(e=>{var t,r,s;return(null===(t=e.filter)||void 0===t?void 0:t.event)==="*"||(null===(s=null===(r=e.filter)||void 0===r?void 0:r.event)||void 0===s?void 0:s.toLocaleLowerCase())===n}).map(e=>e.callback(c,r)):null===(i=this.bindings[n])||void 0===i||i.filter(e=>{var r,s,i,o,a,l;if(!["broadcast","presence","postgres_changes"].includes(n))return e.type.toLocaleLowerCase()===n;if("id"in e){let n=e.id,o=null===(r=e.filter)||void 0===r?void 0:r.event;return n&&(null===(s=t.ids)||void 0===s?void 0:s.includes(n))&&("*"===o||(null==o?void 0:o.toLocaleLowerCase())===(null===(i=t.data)||void 0===i?void 0:i.type.toLocaleLowerCase()))}{let r=null===(a=null===(o=null==e?void 0:e.filter)||void 0===o?void 0:o.event)||void 0===a?void 0:a.toLocaleLowerCase();return"*"===r||r===(null===(l=null==t?void 0:t.event)||void 0===l?void 0:l.toLocaleLowerCase())}}).map(e=>{if("object"==typeof c&&"ids"in c){let e=c.data,{schema:t,table:r,commit_timestamp:s,type:i,errors:n}=e;c=Object.assign(Object.assign({},{schema:t,table:r,commit_timestamp:s,eventType:i,new:{},old:{},errors:n}),this._getPayloadRecords(e))}e.callback(c,r)})}_isClosed(){return this.state===m.closed}_isJoined(){return this.state===m.joined}_isJoining(){return this.state===m.joining}_isLeaving(){return this.state===m.leaving}_replyEventName(e){return`chan_reply_${e}`}_on(e,t,r){let s=e.toLocaleLowerCase(),i={type:s,filter:t,callback:r};return this.bindings[s]?this.bindings[s].push(i):this.bindings[s]=[i],this}_off(e,t){let r=e.toLocaleLowerCase();return this.bindings[r]=this.bindings[r].filter(e=>{var s;return!((null===(s=e.type)||void 0===s?void 0:s.toLocaleLowerCase())===r&&ei.isEqual(e.filter,t))}),this}static isEqual(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let r in e)if(e[r]!==t[r])return!1;return!0}_rejoinUntilConnected(){this.rejoinTimer.scheduleTimeout(),this.socket.isConnected()&&this._rejoin()}_onClose(e){this._on(v.close,{},e)}_onError(e){this._on(v.error,{},t=>e(t))}_canPush(){return this.socket.isConnected()&&this._isJoined()}_rejoin(e=this.timeout){this._isLeaving()||(this.socket._leaveOpenTopic(this.topic),this.state=m.joining,this.joinPush.resend(e))}_getPayloadRecords(e){let t={new:{},old:{}};return("INSERT"===e.type||"UPDATE"===e.type)&&(t.new=G(e.columns,e.record)),("UPDATE"===e.type||"DELETE"===e.type)&&(t.old=G(e.columns,e.old_record)),t}}var en=function(e,t,r,s){return new(r||(r=Promise))(function(i,n){function o(e){try{l(s.next(e))}catch(e){n(e)}}function a(e){try{l(s.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(o,a)}l((s=s.apply(e,t||[])).next())})};let eo=()=>{};class ea{constructor(e,t){var r,s;this.accessToken=null,this.channels=[],this.endPoint="",this.headers=z,this.params={},this.timeout=1e4,this.transport=M.w3cwebsocket,this.heartbeatIntervalMs=3e4,this.heartbeatTimer=void 0,this.pendingHeartbeatRef=null,this.ref=0,this.logger=eo,this.conn=null,this.sendBuffer=[],this.serializer=new K,this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.eventsPerSecondLimitMs=100,this.inThrottle=!1,this.endPoint=`${e}/${b.websocket}`,(null==t?void 0:t.params)&&(this.params=t.params),(null==t?void 0:t.headers)&&(this.headers=Object.assign(Object.assign({},this.headers),t.headers)),(null==t?void 0:t.timeout)&&(this.timeout=t.timeout),(null==t?void 0:t.logger)&&(this.logger=t.logger),(null==t?void 0:t.transport)&&(this.transport=t.transport),(null==t?void 0:t.heartbeatIntervalMs)&&(this.heartbeatIntervalMs=t.heartbeatIntervalMs);let i=null===(r=null==t?void 0:t.params)||void 0===r?void 0:r.eventsPerSecond;i&&(this.eventsPerSecondLimitMs=Math.floor(1e3/i));let n=null===(s=null==t?void 0:t.params)||void 0===s?void 0:s.apikey;n&&(this.accessToken=n),this.reconnectAfterMs=(null==t?void 0:t.reconnectAfterMs)?t.reconnectAfterMs:e=>[1e3,2e3,5e3,1e4][e-1]||1e4,this.encode=(null==t?void 0:t.encode)?t.encode:(e,t)=>t(JSON.stringify(e)),this.decode=(null==t?void 0:t.decode)?t.decode:this.serializer.decode.bind(this.serializer),this.reconnectTimer=new q(()=>en(this,void 0,void 0,function*(){this.disconnect(),this.connect()}),this.reconnectAfterMs)}connect(){!this.conn&&(this.conn=new this.transport(this._endPointURL(),[],null,this.headers),this.conn&&(this.conn.binaryType="arraybuffer",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)))}disconnect(e,t){this.conn&&(this.conn.onclose=function(){},e?this.conn.close(e,null!=t?t:""):this.conn.close(),this.conn=null,this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.reconnectTimer.reset())}getChannels(){return this.channels}removeChannel(e){return en(this,void 0,void 0,function*(){let t=yield e.unsubscribe();return 0===this.channels.length&&this.disconnect(),t})}removeAllChannels(){return en(this,void 0,void 0,function*(){let e=yield Promise.all(this.channels.map(e=>e.unsubscribe()));return this.disconnect(),e})}log(e,t,r){this.logger(e,t,r)}connectionState(){switch(this.conn&&this.conn.readyState){case g.connecting:return _.Connecting;case g.open:return _.Open;case g.closing:return _.Closing;default:return _.Closed}}isConnected(){return this.connectionState()===_.Open}channel(e,t={config:{}}){this.isConnected()||this.connect();let r=new ei(`realtime:${e}`,t,this);return this.channels.push(r),r}push(e){let{topic:t,event:r,payload:s,ref:i}=e,n=()=>{this.encode(e,e=>{var t;null===(t=this.conn)||void 0===t||t.send(e)})};if(this.log("push",`${t} ${r} (${i})`,s),this.isConnected()){if(["broadcast","presence","postgres_changes"].includes(r)){let e=this._throttle(n)();if(e)return"rate limited"}else n()}else this.sendBuffer.push(n)}setAuth(e){this.accessToken=e,this.channels.forEach(t=>{e&&t.updateJoinPayload({access_token:e}),t.joinedOnce&&t._isJoined()&&t._push(v.access_token,{access_token:e})})}_makeRef(){let e=this.ref+1;return e===this.ref?this.ref=0:this.ref=e,this.ref.toString()}_leaveOpenTopic(e){let t=this.channels.find(t=>t.topic===e&&(t._isJoined()||t._isJoining()));t&&(this.log("transport",`leaving duplicate topic "${e}"`),t.unsubscribe())}_remove(e){this.channels=this.channels.filter(t=>t._joinRef()!==e._joinRef())}_endPointURL(){return this._appendParams(this.endPoint,Object.assign({},this.params,{vsn:"1.0.0"}))}_onConnMessage(e){this.decode(e.data,e=>{let{topic:t,event:r,payload:s,ref:i}=e;(i&&i===this.pendingHeartbeatRef||r===(null==s?void 0:s.type))&&(this.pendingHeartbeatRef=null),this.log("receive",`${s.status||""} ${t} ${r} ${i&&"("+i+")"||""}`,s),this.channels.filter(e=>e._isMember(t)).forEach(e=>e._trigger(r,s,i)),this.stateChangeCallbacks.message.forEach(t=>t(e))})}_onConnOpen(){this.log("transport",`connected to ${this._endPointURL()}`),this._flushSendBuffer(),this.reconnectTimer.reset(),this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.heartbeatTimer=setInterval(()=>this._sendHeartbeat(),this.heartbeatIntervalMs),this.stateChangeCallbacks.open.forEach(e=>e())}_onConnClose(e){this.log("transport","close",e),this._triggerChanError(),this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.reconnectTimer.scheduleTimeout(),this.stateChangeCallbacks.close.forEach(t=>t(e))}_onConnError(e){this.log("transport",e.message),this._triggerChanError(),this.stateChangeCallbacks.error.forEach(t=>t(e))}_triggerChanError(){this.channels.forEach(e=>e._trigger(v.error))}_appendParams(e,t){if(0===Object.keys(t).length)return e;let r=e.match(/\?/)?"&":"?",s=new URLSearchParams(t);return`${e}${r}${s}`}_flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(e=>e()),this.sendBuffer=[])}_sendHeartbeat(){var e;if(this.isConnected()){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.log("transport","heartbeat timeout. Attempting to re-establish connection"),null===(e=this.conn)||void 0===e||e.close(1e3,"hearbeat timeout");return}this.pendingHeartbeatRef=this._makeRef(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef}),this.setAuth(this.accessToken)}}_throttle(e,t=this.eventsPerSecondLimitMs){return()=>!!this.inThrottle||(e(),t>0&&(this.inThrottle=!0,setTimeout(()=>{this.inThrottle=!1},t)),!1)}}class el extends Error{constructor(e){super(e),this.__isStorageError=!0,this.name="StorageError"}}function eh(e){return"object"==typeof e&&null!==e&&"__isStorageError"in e}class ec extends el{constructor(e,t){super(e),this.name="StorageApiError",this.status=t}toJSON(){return{name:this.name,message:this.message,status:this.status}}}class eu extends el{constructor(e,t){super(e),this.name="StorageUnknownError",this.originalError=t}}var ed=function(e,t,r,s){return new(r||(r=Promise))(function(i,n){function o(e){try{l(s.next(e))}catch(e){n(e)}}function a(e){try{l(s.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(o,a)}l((s=s.apply(e,t||[])).next())})};let ef=e=>{let t;return t=e||("undefined"==typeof fetch?(...e)=>ed(void 0,void 0,void 0,function*(){return yield(yield Promise.resolve().then(r.t.bind(r,9366,23))).fetch(...e)}):fetch),(...e)=>t(...e)},ep=()=>ed(void 0,void 0,void 0,function*(){return"undefined"==typeof Response?(yield Promise.resolve().then(r.t.bind(r,9366,23))).Response:Response});var ey=function(e,t,r,s){return new(r||(r=Promise))(function(i,n){function o(e){try{l(s.next(e))}catch(e){n(e)}}function a(e){try{l(s.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(o,a)}l((s=s.apply(e,t||[])).next())})};let eg=e=>e.msg||e.message||e.error_description||e.error||JSON.stringify(e),em=(e,t)=>ey(void 0,void 0,void 0,function*(){let r=yield ep();e instanceof r?e.json().then(r=>{t(new ec(eg(r),e.status||500))}).catch(e=>{t(new eu(eg(e),e))}):t(new eu(eg(e),e))}),ev=(e,t,r,s)=>{let i={method:e,headers:(null==t?void 0:t.headers)||{}};return"GET"===e?i:(i.headers=Object.assign({"Content-Type":"application/json"},null==t?void 0:t.headers),i.body=JSON.stringify(s),Object.assign(Object.assign({},i),r))};function eb(e,t,r,s,i,n){return ey(this,void 0,void 0,function*(){return new Promise((o,a)=>{e(r,ev(t,s,i,n)).then(e=>{if(!e.ok)throw e;return(null==s?void 0:s.noResolveJson)?e:e.json()}).then(e=>o(e)).catch(e=>em(e,a))})})}function e_(e,t,r,s){return ey(this,void 0,void 0,function*(){return eb(e,"GET",t,r,s)})}function ew(e,t,r,s,i){return ey(this,void 0,void 0,function*(){return eb(e,"POST",t,s,i,r)})}function ek(e,t,r,s,i){return ey(this,void 0,void 0,function*(){return eb(e,"DELETE",t,s,i,r)})}var eS=function(e,t,r,s){return new(r||(r=Promise))(function(i,n){function o(e){try{l(s.next(e))}catch(e){n(e)}}function a(e){try{l(s.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(o,a)}l((s=s.apply(e,t||[])).next())})};let eO={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},eT={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};class eE{constructor(e,t={},r,s){this.url=e,this.headers=t,this.bucketId=r,this.fetch=ef(s)}uploadOrUpdate(e,t,r,s){return eS(this,void 0,void 0,function*(){try{let i;let n=Object.assign(Object.assign({},eT),s),o=Object.assign(Object.assign({},this.headers),"POST"===e&&{"x-upsert":String(n.upsert)});"undefined"!=typeof Blob&&r instanceof Blob?((i=new FormData).append("cacheControl",n.cacheControl),i.append("",r)):"undefined"!=typeof FormData&&r instanceof FormData?(i=r).append("cacheControl",n.cacheControl):(i=r,o["cache-control"]=`max-age=${n.cacheControl}`,o["content-type"]=n.contentType);let a=this._removeEmptyFolders(t),l=this._getFinalPath(a),h=yield this.fetch(`${this.url}/object/${l}`,Object.assign({method:e,body:i,headers:o},(null==n?void 0:n.duplex)?{duplex:n.duplex}:{}));if(h.ok)return{data:{path:a},error:null};{let e=yield h.json();return{data:null,error:e}}}catch(e){if(eh(e))return{data:null,error:e};throw e}})}upload(e,t,r){return eS(this,void 0,void 0,function*(){return this.uploadOrUpdate("POST",e,t,r)})}uploadToSignedUrl(e,t,r,s){return eS(this,void 0,void 0,function*(){let i=this._removeEmptyFolders(e),n=this._getFinalPath(i),o=new URL(this.url+`/object/upload/sign/${n}`);o.searchParams.set("token",t);try{let e;let t=Object.assign({upsert:eT.upsert},s),n=Object.assign(Object.assign({},this.headers),{"x-upsert":String(t.upsert)});"undefined"!=typeof Blob&&r instanceof Blob?((e=new FormData).append("cacheControl",t.cacheControl),e.append("",r)):"undefined"!=typeof FormData&&r instanceof FormData?(e=r).append("cacheControl",t.cacheControl):(e=r,n["cache-control"]=`max-age=${t.cacheControl}`,n["content-type"]=t.contentType);let a=yield this.fetch(o.toString(),{method:"PUT",body:e,headers:n});if(a.ok)return{data:{path:i},error:null};{let e=yield a.json();return{data:null,error:e}}}catch(e){if(eh(e))return{data:null,error:e};throw e}})}createSignedUploadUrl(e){return eS(this,void 0,void 0,function*(){try{let t=this._getFinalPath(e),r=yield ew(this.fetch,`${this.url}/object/upload/sign/${t}`,{},{headers:this.headers}),s=new URL(this.url+r.url),i=s.searchParams.get("token");if(!i)throw new el("No token returned by API");return{data:{signedUrl:s.toString(),path:e,token:i},error:null}}catch(e){if(eh(e))return{data:null,error:e};throw e}})}update(e,t,r){return eS(this,void 0,void 0,function*(){return this.uploadOrUpdate("PUT",e,t,r)})}move(e,t){return eS(this,void 0,void 0,function*(){try{let r=yield ew(this.fetch,`${this.url}/object/move`,{bucketId:this.bucketId,sourceKey:e,destinationKey:t},{headers:this.headers});return{data:r,error:null}}catch(e){if(eh(e))return{data:null,error:e};throw e}})}copy(e,t){return eS(this,void 0,void 0,function*(){try{let r=yield ew(this.fetch,`${this.url}/object/copy`,{bucketId:this.bucketId,sourceKey:e,destinationKey:t},{headers:this.headers});return{data:{path:r.Key},error:null}}catch(e){if(eh(e))return{data:null,error:e};throw e}})}createSignedUrl(e,t,r){return eS(this,void 0,void 0,function*(){try{let s=this._getFinalPath(e),i=yield ew(this.fetch,`${this.url}/object/sign/${s}`,Object.assign({expiresIn:t},(null==r?void 0:r.transform)?{transform:r.transform}:{}),{headers:this.headers}),n=(null==r?void 0:r.download)?`&download=${!0===r.download?"":r.download}`:"",o=encodeURI(`${this.url}${i.signedURL}${n}`);return{data:i={signedUrl:o},error:null}}catch(e){if(eh(e))return{data:null,error:e};throw e}})}createSignedUrls(e,t,r){return eS(this,void 0,void 0,function*(){try{let s=yield ew(this.fetch,`${this.url}/object/sign/${this.bucketId}`,{expiresIn:t,paths:e},{headers:this.headers}),i=(null==r?void 0:r.download)?`&download=${!0===r.download?"":r.download}`:"";return{data:s.map(e=>Object.assign(Object.assign({},e),{signedUrl:e.signedURL?encodeURI(`${this.url}${e.signedURL}${i}`):null})),error:null}}catch(e){if(eh(e))return{data:null,error:e};throw e}})}download(e,t){return eS(this,void 0,void 0,function*(){let r=void 0!==(null==t?void 0:t.transform),s=this.transformOptsToQueryString((null==t?void 0:t.transform)||{}),i=s?`?${s}`:"";try{let t=this._getFinalPath(e),s=yield e_(this.fetch,`${this.url}/${r?"render/image/authenticated":"object"}/${t}${i}`,{headers:this.headers,noResolveJson:!0}),n=yield s.blob();return{data:n,error:null}}catch(e){if(eh(e))return{data:null,error:e};throw e}})}getPublicUrl(e,t){let r=this._getFinalPath(e),s=[],i=(null==t?void 0:t.download)?`download=${!0===t.download?"":t.download}`:"";""!==i&&s.push(i);let n=void 0!==(null==t?void 0:t.transform),o=this.transformOptsToQueryString((null==t?void 0:t.transform)||{});""!==o&&s.push(o);let a=s.join("&");return""!==a&&(a=`?${a}`),{data:{publicUrl:encodeURI(`${this.url}/${n?"render/image":"object"}/public/${r}${a}`)}}}remove(e){return eS(this,void 0,void 0,function*(){try{let t=yield ek(this.fetch,`${this.url}/object/${this.bucketId}`,{prefixes:e},{headers:this.headers});return{data:t,error:null}}catch(e){if(eh(e))return{data:null,error:e};throw e}})}list(e,t,r){return eS(this,void 0,void 0,function*(){try{let s=Object.assign(Object.assign(Object.assign({},eO),t),{prefix:e||""}),i=yield ew(this.fetch,`${this.url}/object/list/${this.bucketId}`,s,{headers:this.headers},r);return{data:i,error:null}}catch(e){if(eh(e))return{data:null,error:e};throw e}})}_getFinalPath(e){return`${this.bucketId}/${e}`}_removeEmptyFolders(e){return e.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(e){let t=[];return e.width&&t.push(`width=${e.width}`),e.height&&t.push(`height=${e.height}`),e.resize&&t.push(`resize=${e.resize}`),e.format&&t.push(`format=${e.format}`),e.quality&&t.push(`quality=${e.quality}`),t.join("&")}}let eC={"X-Client-Info":"storage-js/2.5.3"};var ej=function(e,t,r,s){return new(r||(r=Promise))(function(i,n){function o(e){try{l(s.next(e))}catch(e){n(e)}}function a(e){try{l(s.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(o,a)}l((s=s.apply(e,t||[])).next())})};class eI{constructor(e,t={},r){this.url=e,this.headers=Object.assign(Object.assign({},eC),t),this.fetch=ef(r)}listBuckets(){return ej(this,void 0,void 0,function*(){try{let e=yield e_(this.fetch,`${this.url}/bucket`,{headers:this.headers});return{data:e,error:null}}catch(e){if(eh(e))return{data:null,error:e};throw e}})}getBucket(e){return ej(this,void 0,void 0,function*(){try{let t=yield e_(this.fetch,`${this.url}/bucket/${e}`,{headers:this.headers});return{data:t,error:null}}catch(e){if(eh(e))return{data:null,error:e};throw e}})}createBucket(e,t={public:!1}){return ej(this,void 0,void 0,function*(){try{let r=yield ew(this.fetch,`${this.url}/bucket`,{id:e,name:e,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes},{headers:this.headers});return{data:r,error:null}}catch(e){if(eh(e))return{data:null,error:e};throw e}})}updateBucket(e,t){return ej(this,void 0,void 0,function*(){try{let r=yield function(e,t,r,s,i){return ey(this,void 0,void 0,function*(){return eb(e,"PUT",t,s,void 0,r)})}(this.fetch,`${this.url}/bucket/${e}`,{id:e,name:e,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes},{headers:this.headers});return{data:r,error:null}}catch(e){if(eh(e))return{data:null,error:e};throw e}})}emptyBucket(e){return ej(this,void 0,void 0,function*(){try{let t=yield ew(this.fetch,`${this.url}/bucket/${e}/empty`,{},{headers:this.headers});return{data:t,error:null}}catch(e){if(eh(e))return{data:null,error:e};throw e}})}deleteBucket(e){return ej(this,void 0,void 0,function*(){try{let t=yield ek(this.fetch,`${this.url}/bucket/${e}`,{},{headers:this.headers});return{data:t,error:null}}catch(e){if(eh(e))return{data:null,error:e};throw e}})}}class ex extends eI{constructor(e,t={},r){super(e,t,r)}from(e){return new eE(this.url,this.headers,e,this.fetch)}}var eA=r(9366),eP=r.n(eA);let e$=e=>{let t;return t=e||("undefined"==typeof fetch?eP():fetch),(...e)=>t(...e)},eR=()=>"undefined"==typeof Headers?eA.Headers:Headers,eU=(e,t,r)=>{let s=e$(r),i=eR();return(r,n)=>{var o,a,l,h;return o=void 0,a=void 0,l=void 0,h=function*(){var o;let a=null!==(o=yield t())&&void 0!==o?o:e,l=new i(null==n?void 0:n.headers);return l.has("apikey")||l.set("apikey",e),l.has("Authorization")||l.set("Authorization",`Bearer ${a}`),s(r,Object.assign(Object.assign({},n),{headers:l}))},new(l||(l=Promise))(function(e,t){function r(e){try{i(h.next(e))}catch(e){t(e)}}function s(e){try{i(h.throw(e))}catch(e){t(e)}}function i(t){var i;t.done?e(t.value):((i=t.value)instanceof l?i:new l(function(e){e(i)})).then(r,s)}i((h=h.apply(o,a||[])).next())})}},eL=()=>"undefined"!=typeof document,eN={tested:!1,writable:!1},eD=()=>{if(!eL())return!1;try{if("object"!=typeof globalThis.localStorage)return!1}catch(e){return!1}if(eN.tested)return eN.writable;let e=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(e,e),globalThis.localStorage.removeItem(e),eN.tested=!0,eN.writable=!0}catch(e){eN.tested=!0,eN.writable=!1}return eN.writable};function eJ(e){let t={},r=new URL(e);if(r.hash&&"#"===r.hash[0])try{let e=new URLSearchParams(r.hash.substring(1));e.forEach((e,r)=>{t[r]=e})}catch(e){}return r.searchParams.forEach((e,r)=>{t[r]=e}),t}let eB=e=>{let t;return t=e||("undefined"==typeof fetch?(...e)=>Promise.resolve().then(r.t.bind(r,7992,23)).then(({default:t})=>t(...e)):fetch),(...e)=>t(...e)},eF=e=>"object"==typeof e&&null!==e&&"status"in e&&"ok"in e&&"json"in e&&"function"==typeof e.json,eM=async(e,t,r)=>{await e.setItem(t,JSON.stringify(r))},ez=async(e,t)=>{let r=await e.getItem(t);if(!r)return null;try{return JSON.parse(r)}catch(e){return r}},eq=async(e,t)=>{await e.removeItem(t)};class eK{constructor(){this.promise=new eK.promiseConstructor((e,t)=>{this.resolve=e,this.reject=t})}}function eH(e){let t=e.split(".");if(3!==t.length)throw Error("JWT is not valid: not a JWT structure");if(!/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}=?$|[a-z0-9_-]{2}(==)?$)$/i.test(t[1]))throw Error("JWT is not valid: payload is not in base64url format");let r=t[1];return JSON.parse(function(e){let t,r,s,i,n,o,a;let l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",h="",c=0;for(e=e.replace("-","+").replace("_","/");c<e.length;)i=l.indexOf(e.charAt(c++)),n=l.indexOf(e.charAt(c++)),o=l.indexOf(e.charAt(c++)),a=l.indexOf(e.charAt(c++)),t=i<<2|n>>4,r=(15&n)<<4|o>>2,s=(3&o)<<6|a,h+=String.fromCharCode(t),64!=o&&0!=r&&(h+=String.fromCharCode(r)),64!=a&&0!=s&&(h+=String.fromCharCode(s));return h}(r))}async function eX(e){return await new Promise(t=>{setTimeout(()=>t(null),e)})}function eG(e){return("0"+e.toString(16)).substr(-2)}function eV(){let e=new Uint32Array(56);if("undefined"==typeof crypto){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",t=e.length,r="";for(let s=0;s<56;s++)r+=e.charAt(Math.floor(Math.random()*t));return r}return crypto.getRandomValues(e),Array.from(e,eG).join("")}async function eZ(e){let t=new TextEncoder,r=t.encode(e),s=await crypto.subtle.digest("SHA-256",r),i=new Uint8Array(s);return Array.from(i).map(e=>String.fromCharCode(e)).join("")}async function eY(e){if("undefined"==typeof crypto)return console.warn("WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256."),e;let t=await eZ(e);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}eK.promiseConstructor=Promise;class eW extends Error{constructor(e,t){super(e),this.__isAuthError=!0,this.name="AuthError",this.status=t}}function eQ(e){return"object"==typeof e&&null!==e&&"__isAuthError"in e}class e0 extends eW{constructor(e,t){super(e,t),this.name="AuthApiError",this.status=t}toJSON(){return{name:this.name,message:this.message,status:this.status}}}class e1 extends eW{constructor(e,t){super(e),this.name="AuthUnknownError",this.originalError=t}}class e2 extends eW{constructor(e,t,r){super(e),this.name=t,this.status=r}toJSON(){return{name:this.name,message:this.message,status:this.status}}}class e3 extends e2{constructor(){super("Auth session missing!","AuthSessionMissingError",400)}}class e6 extends e2{constructor(){super("Auth session or user missing","AuthInvalidTokenResponseError",500)}}class e4 extends e2{constructor(e){super(e,"AuthInvalidCredentialsError",400)}}class e5 extends e2{constructor(e,t=null){super(e,"AuthImplicitGrantRedirectError",500),this.details=null,this.details=t}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}class e9 extends e2{constructor(e,t=null){super(e,"AuthPKCEGrantCodeExchangeError",500),this.details=null,this.details=t}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}class e8 extends e2{constructor(e,t){super(e,"AuthRetryableFetchError",t)}}function e7(e){return eQ(e)&&"AuthRetryableFetchError"===e.name}var te=function(e,t){var r={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&0>t.indexOf(s)&&(r[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,s=Object.getOwnPropertySymbols(e);i<s.length;i++)0>t.indexOf(s[i])&&Object.prototype.propertyIsEnumerable.call(e,s[i])&&(r[s[i]]=e[s[i]]);return r};let tt=e=>e.msg||e.message||e.error_description||e.error||JSON.stringify(e),tr=[502,503,504];async function ts(e){let t;if(!eF(e))throw new e8(tt(e),0);if(tr.includes(e.status))throw new e8(tt(e),e.status);try{t=await e.json()}catch(e){throw new e1(tt(e),e)}throw new e0(tt(t),e.status||500)}let ti=(e,t,r,s)=>{let i={method:e,headers:(null==t?void 0:t.headers)||{}};return"GET"===e?i:(i.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},null==t?void 0:t.headers),i.body=JSON.stringify(s),Object.assign(Object.assign({},i),r))};async function tn(e,t,r,s){var i;let n=Object.assign({},null==s?void 0:s.headers);(null==s?void 0:s.jwt)&&(n.Authorization=`Bearer ${s.jwt}`);let o=null!==(i=null==s?void 0:s.query)&&void 0!==i?i:{};(null==s?void 0:s.redirectTo)&&(o.redirect_to=s.redirectTo);let a=Object.keys(o).length?"?"+new URLSearchParams(o).toString():"",l=await to(e,t,r+a,{headers:n,noResolveJson:null==s?void 0:s.noResolveJson},{},null==s?void 0:s.body);return(null==s?void 0:s.xform)?null==s?void 0:s.xform(l):{data:Object.assign({},l),error:null}}async function to(e,t,r,s,i,n){let o;let a=ti(t,s,i,n);try{o=await e(r,a)}catch(e){throw console.error(e),new e8(tt(e),0)}if(o.ok||await ts(o),null==s?void 0:s.noResolveJson)return o;try{return await o.json()}catch(e){await ts(e)}}function ta(e){var t;let r=null;e.access_token&&e.refresh_token&&e.expires_in&&(r=Object.assign({},e),e.expires_at||(r.expires_at=function(e){let t=Math.round(Date.now()/1e3);return t+e}(e.expires_in)));let s=null!==(t=e.user)&&void 0!==t?t:e;return{data:{session:r,user:s},error:null}}function tl(e){var t;let r=null!==(t=e.user)&&void 0!==t?t:e;return{data:{user:r},error:null}}function th(e){return{data:e,error:null}}function tc(e){let{action_link:t,email_otp:r,hashed_token:s,redirect_to:i,verification_type:n}=e,o=te(e,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),a=Object.assign({},o);return{data:{properties:{action_link:t,email_otp:r,hashed_token:s,redirect_to:i,verification_type:n},user:a},error:null}}function tu(e){return e}var td=function(e,t){var r={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&0>t.indexOf(s)&&(r[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,s=Object.getOwnPropertySymbols(e);i<s.length;i++)0>t.indexOf(s[i])&&Object.prototype.propertyIsEnumerable.call(e,s[i])&&(r[s[i]]=e[s[i]]);return r};class tf{constructor({url:e="",headers:t={},fetch:r}){this.url=e,this.headers=t,this.fetch=eB(r),this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)}}async signOut(e,t="global"){try{return await tn(this.fetch,"POST",`${this.url}/logout?scope=${t}`,{headers:this.headers,jwt:e,noResolveJson:!0}),{data:null,error:null}}catch(e){if(eQ(e))return{data:null,error:e};throw e}}async inviteUserByEmail(e,t={}){try{return await tn(this.fetch,"POST",`${this.url}/invite`,{body:{email:e,data:t.data},headers:this.headers,redirectTo:t.redirectTo,xform:tl})}catch(e){if(eQ(e))return{data:{user:null},error:e};throw e}}async generateLink(e){try{let{options:t}=e,r=td(e,["options"]),s=Object.assign(Object.assign({},r),t);return"newEmail"in r&&(s.new_email=null==r?void 0:r.newEmail,delete s.newEmail),await tn(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:s,headers:this.headers,xform:tc,redirectTo:null==t?void 0:t.redirectTo})}catch(e){if(eQ(e))return{data:{properties:null,user:null},error:e};throw e}}async createUser(e){try{return await tn(this.fetch,"POST",`${this.url}/admin/users`,{body:e,headers:this.headers,xform:tl})}catch(e){if(eQ(e))return{data:{user:null},error:e};throw e}}async listUsers(e){var t,r,s,i,n,o,a;try{let l={nextPage:null,lastPage:0,total:0},h=await tn(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:null!==(r=null===(t=null==e?void 0:e.page)||void 0===t?void 0:t.toString())&&void 0!==r?r:"",per_page:null!==(i=null===(s=null==e?void 0:e.perPage)||void 0===s?void 0:s.toString())&&void 0!==i?i:""},xform:tu});if(h.error)throw h.error;let c=await h.json(),u=null!==(n=h.headers.get("x-total-count"))&&void 0!==n?n:0,d=null!==(a=null===(o=h.headers.get("link"))||void 0===o?void 0:o.split(","))&&void 0!==a?a:[];return d.length>0&&(d.forEach(e=>{let t=parseInt(e.split(";")[0].split("=")[1].substring(0,1)),r=JSON.parse(e.split(";")[1].split("=")[1]);l[`${r}Page`]=t}),l.total=parseInt(u)),{data:Object.assign(Object.assign({},c),l),error:null}}catch(e){if(eQ(e))return{data:{users:[]},error:e};throw e}}async getUserById(e){try{return await tn(this.fetch,"GET",`${this.url}/admin/users/${e}`,{headers:this.headers,xform:tl})}catch(e){if(eQ(e))return{data:{user:null},error:e};throw e}}async updateUserById(e,t){try{return await tn(this.fetch,"PUT",`${this.url}/admin/users/${e}`,{body:t,headers:this.headers,xform:tl})}catch(e){if(eQ(e))return{data:{user:null},error:e};throw e}}async deleteUser(e,t=!1){try{return await tn(this.fetch,"DELETE",`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:t},xform:tl})}catch(e){if(eQ(e))return{data:{user:null},error:e};throw e}}async _listFactors(e){try{let{data:t,error:r}=await tn(this.fetch,"GET",`${this.url}/admin/users/${e.userId}/factors`,{headers:this.headers,xform:e=>({data:{factors:e},error:null})});return{data:t,error:r}}catch(e){if(eQ(e))return{data:null,error:e};throw e}}async _deleteFactor(e){try{let t=await tn(this.fetch,"DELETE",`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers});return{data:t,error:null}}catch(e){if(eQ(e))return{data:null,error:e};throw e}}}let tp="2.51.0",ty={"X-Client-Info":`gotrue-js/${tp}`};var tg={getItem:e=>eD()?globalThis.localStorage.getItem(e):null,setItem:(e,t)=>{eD()&&globalThis.localStorage.setItem(e,t)},removeItem:e=>{eD()&&globalThis.localStorage.removeItem(e)}};globalThis&&eD()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug");class tm extends Error{constructor(e){super(e),this.isAcquireTimeout=!0}}!function(){if("object"!=typeof globalThis)try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch(e){"undefined"!=typeof self&&(self.globalThis=self)}}();let tv={url:"http://localhost:9999",storageKey:"supabase.auth.token",autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:ty,flowType:"implicit",debug:!1};async function tb(e,t,r){return await r()}class t_{constructor(e){var t;this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.initializePromise=null,this.detectSessionInUrl=!0,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.instanceID=t_.nextInstanceID,t_.nextInstanceID+=1,this.instanceID>0&&eL()&&console.warn("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.");let r=Object.assign(Object.assign({},tv),e);if(this.logDebugMessages=r.debug,this.inMemorySession=null,this.storageKey=r.storageKey,this.autoRefreshToken=r.autoRefreshToken,this.persistSession=r.persistSession,this.storage=r.storage||tg,this.admin=new tf({url:r.url,headers:r.headers,fetch:r.fetch}),this.url=r.url,this.headers=r.headers,this.fetch=eB(r.fetch),this.lock=r.lock||tb,this.detectSessionInUrl=r.detectSessionInUrl,this.flowType=r.flowType,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)},this.persistSession&&this.storage===tg&&!eD()&&console.warn(`No storage option exists to persist the session, which may result in unexpected behavior when using auth.
|
|
2
|
-
If you want to set persistSession to true, please provide a storage option or you may set persistSession to false to disable this warning.`),eL()&&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)}null===(t=this.broadcastChannel)||void 0===t||t.addEventListener("message",async e=>{this._debug("received broadcast notification from other tab or client",e),await this._notifyAllSubscribers(e.data.event,e.data.session,!1)})}this.initialize()}_debug(...e){return this.logDebugMessages&&console.log(`GoTrueClient@${this.instanceID} (${tp}) ${new Date().toISOString()}`,...e),this}async initialize(){return this.initializePromise||(this.initializePromise=(async()=>await this._acquireLock(-1,async()=>await this._initialize()))()),await this.initializePromise}async _initialize(){try{let e=!!eL()&&await this._isPKCEFlow();if(this._debug("#_initialize()","begin","is PKCE flow",e),e||this.detectSessionInUrl&&this._isImplicitGrantFlow()){let{data:t,error:r}=await this._getSessionFromURL(e);if(r)return this._debug("#_initialize()","error detecting session from URL",r),await this._removeSession(),{error:r};let{session:s,redirectType:i}=t;return this._debug("#_initialize()","detected session in URL",s,"redirect type",i),await this._saveSession(s),setTimeout(async()=>{"recovery"===i?await this._notifyAllSubscribers("PASSWORD_RECOVERY",s):await this._notifyAllSubscribers("SIGNED_IN",s)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(e){if(eQ(e))return{error:e};return{error:new e1("Unexpected error during initialization",e)}}finally{await this._handleVisibilityChange(),this._debug("#_initialize()","end")}}async signUp(e){var t,r,s;try{let i;if(await this._removeSession(),"email"in e){let{email:r,password:s,options:n}=e,o=null,a=null;if("pkce"===this.flowType){let e=eV();await eM(this.storage,`${this.storageKey}-code-verifier`,e),o=await eY(e),a=e===o?"plain":"s256"}i=await tn(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:null==n?void 0:n.emailRedirectTo,body:{email:r,password:s,data:null!==(t=null==n?void 0:n.data)&&void 0!==t?t:{},gotrue_meta_security:{captcha_token:null==n?void 0:n.captchaToken},code_challenge:o,code_challenge_method:a},xform:ta})}else if("phone"in e){let{phone:t,password:n,options:o}=e;i=await tn(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:t,password:n,data:null!==(r=null==o?void 0:o.data)&&void 0!==r?r:{},channel:null!==(s=null==o?void 0:o.channel)&&void 0!==s?s:"sms",gotrue_meta_security:{captcha_token:null==o?void 0:o.captchaToken}},xform:ta})}else throw new e4("You must provide either an email or phone number and a password");let{data:n,error:o}=i;if(o||!n)return{data:{user:null,session:null},error:o};let a=n.session,l=n.user;return n.session&&(await this._saveSession(n.session),await this._notifyAllSubscribers("SIGNED_IN",a)),{data:{user:l,session:a},error:null}}catch(e){if(eQ(e))return{data:{user:null,session:null},error:e};throw e}}async signInWithPassword(e){try{let t;if(await this._removeSession(),"email"in e){let{email:r,password:s,options:i}=e;t=await tn(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:r,password:s,gotrue_meta_security:{captcha_token:null==i?void 0:i.captchaToken}},xform:ta})}else if("phone"in e){let{phone:r,password:s,options:i}=e;t=await tn(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:r,password:s,gotrue_meta_security:{captcha_token:null==i?void 0:i.captchaToken}},xform:ta})}else throw new e4("You must provide either an email or phone number and a password");let{data:r,error:s}=t;if(s)return{data:{user:null,session:null},error:s};if(!r||!r.session||!r.user)return{data:{user:null,session:null},error:new e6};return r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers("SIGNED_IN",r.session)),{data:{user:r.user,session:r.session},error:s}}catch(e){if(eQ(e))return{data:{user:null,session:null},error:e};throw e}}async signInWithOAuth(e){var t,r,s,i;return await this._removeSession(),await this._handleProviderSignIn(e.provider,{redirectTo:null===(t=e.options)||void 0===t?void 0:t.redirectTo,scopes:null===(r=e.options)||void 0===r?void 0:r.scopes,queryParams:null===(s=e.options)||void 0===s?void 0:s.queryParams,skipBrowserRedirect:null===(i=e.options)||void 0===i?void 0:i.skipBrowserRedirect})}async exchangeCodeForSession(e){return await this.initializePromise,this._acquireLock(-1,async()=>this._exchangeCodeForSession(e))}async _exchangeCodeForSession(e){let t=await ez(this.storage,`${this.storageKey}-code-verifier`),{data:r,error:s}=await tn(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:e,code_verifier:t},xform:ta});return(await eq(this.storage,`${this.storageKey}-code-verifier`),s)?{data:{user:null,session:null},error:s}:r&&r.session&&r.user?(r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers("SIGNED_IN",r.session)),{data:r,error:s}):{data:{user:null,session:null},error:new e6}}async signInWithIdToken(e){await this._removeSession();try{let{options:t,provider:r,token:s,access_token:i,nonce:n}=e,o=await tn(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:r,id_token:s,access_token:i,nonce:n,gotrue_meta_security:{captcha_token:null==t?void 0:t.captchaToken}},xform:ta}),{data:a,error:l}=o;if(l)return{data:{user:null,session:null},error:l};if(!a||!a.session||!a.user)return{data:{user:null,session:null},error:new e6};return a.session&&(await this._saveSession(a.session),await this._notifyAllSubscribers("SIGNED_IN",a.session)),{data:a,error:l}}catch(e){if(eQ(e))return{data:{user:null,session:null},error:e};throw e}}async signInWithOtp(e){var t,r,s,i,n;try{if(await this._removeSession(),"email"in e){let{email:s,options:i}=e,n=null,o=null;if("pkce"===this.flowType){let e=eV();await eM(this.storage,`${this.storageKey}-code-verifier`,e),n=await eY(e),o=e===n?"plain":"s256"}let{error:a}=await tn(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:s,data:null!==(t=null==i?void 0:i.data)&&void 0!==t?t:{},create_user:null===(r=null==i?void 0:i.shouldCreateUser)||void 0===r||r,gotrue_meta_security:{captcha_token:null==i?void 0:i.captchaToken},code_challenge:n,code_challenge_method:o},redirectTo:null==i?void 0:i.emailRedirectTo});return{data:{user:null,session:null},error:a}}if("phone"in e){let{phone:t,options:r}=e,{data:o,error:a}=await tn(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:t,data:null!==(s=null==r?void 0:r.data)&&void 0!==s?s:{},create_user:null===(i=null==r?void 0:r.shouldCreateUser)||void 0===i||i,gotrue_meta_security:{captcha_token:null==r?void 0:r.captchaToken},channel:null!==(n=null==r?void 0:r.channel)&&void 0!==n?n:"sms"}});return{data:{user:null,session:null,messageId:null==o?void 0:o.message_id},error:a}}throw new e4("You must provide either an email or phone number.")}catch(e){if(eQ(e))return{data:{user:null,session:null},error:e};throw e}}async verifyOtp(e){var t,r;try{let s,i;"email_change"!==e.type&&"phone_change"!==e.type&&await this._removeSession(),"options"in e&&(s=null===(t=e.options)||void 0===t?void 0:t.redirectTo,i=null===(r=e.options)||void 0===r?void 0:r.captchaToken);let{data:n,error:o}=await tn(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},e),{gotrue_meta_security:{captcha_token:i}}),redirectTo:s,xform:ta});if(o)throw o;if(!n)throw Error("An error occurred on token verification.");let a=n.session,l=n.user;return(null==a?void 0:a.access_token)&&(await this._saveSession(a),await this._notifyAllSubscribers("SIGNED_IN",a)),{data:{user:l,session:a},error:null}}catch(e){if(eQ(e))return{data:{user:null,session:null},error:e};throw e}}async signInWithSSO(e){var t,r,s;try{return await this._removeSession(),await tn(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:null!==(r=null===(t=e.options)||void 0===t?void 0:t.redirectTo)&&void 0!==r?r:void 0}),(null===(s=null==e?void 0:e.options)||void 0===s?void 0:s.captchaToken)?{gotrue_meta_security:{captcha_token:e.options.captchaToken}}:null),{skip_http_redirect:!0}),headers:this.headers,xform:th})}catch(e){if(eQ(e))return{data:null,error:e};throw e}}async reauthenticate(){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._reauthenticate())}async _reauthenticate(){try{return await this._useSession(async e=>{let{data:{session:t},error:r}=e;if(r)throw r;if(!t)throw new e3;let{error:s}=await tn(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:t.access_token});return{data:{user:null,session:null},error:s}})}catch(e){if(eQ(e))return{data:{user:null,session:null},error:e};throw e}}async resend(e){try{"email_change"!=e.type&&"phone_change"!=e.type&&await this._removeSession();let t=`${this.url}/resend`;if("email"in e){let{email:r,type:s,options:i}=e,{error:n}=await tn(this.fetch,"POST",t,{headers:this.headers,body:{email:r,type:s,gotrue_meta_security:{captcha_token:null==i?void 0:i.captchaToken}},redirectTo:null==i?void 0:i.emailRedirectTo});return{data:{user:null,session:null},error:n}}if("phone"in e){let{phone:r,type:s,options:i}=e,{data:n,error:o}=await tn(this.fetch,"POST",t,{headers:this.headers,body:{phone:r,type:s,gotrue_meta_security:{captcha_token:null==i?void 0:i.captchaToken}}});return{data:{user:null,session:null,messageId:null==n?void 0:n.message_id},error:o}}throw new e4("You must provide either an email or phone number and a type")}catch(e){if(eQ(e))return{data:{user:null,session:null},error:e};throw e}}async getSession(){return await this.initializePromise,this._acquireLock(-1,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(),r=(async()=>(await e,await t()))();return this.pendingInLock.push((async()=>{try{await r}catch(e){}})()),r}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(e){}})()),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{let t=await this.__loadSession();return await e(t)}finally{this._debug("#_useSession","end")}}async __loadSession(){this._debug("#__loadSession()","begin"),this.lockAcquired||this._debug("#__loadSession()","used outside of an acquired lock!",Error().stack);try{let e=null;if(this.persistSession){let t=await ez(this.storage,this.storageKey);this._debug("#getSession()","session from storage",t),null!==t&&(this._isValidSession(t)?e=t:(this._debug("#getSession()","session from storage is not valid"),await this._removeSession()))}else e=this.inMemorySession,this._debug("#getSession()","session from memory",e);if(!e)return{data:{session:null},error:null};let t=!!e.expires_at&&e.expires_at<=Date.now()/1e3;if(this._debug("#__loadSession()",`session has${t?"":" not"} expired`,"expires_at",e.expires_at),!t)return{data:{session:e},error:null};let{session:r,error:s}=await this._callRefreshToken(e.refresh_token);if(s)return{data:{session:null},error:s};return{data:{session:r},error:null}}finally{this._debug("#__loadSession()","end")}}async getUser(e){return e?await this._getUser(e):(await this.initializePromise,this._acquireLock(-1,async()=>await this._getUser()))}async _getUser(e){try{if(e)return await tn(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:e,xform:tl});return await this._useSession(async e=>{var t,r;let{data:s,error:i}=e;if(i)throw i;return await tn(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:null!==(r=null===(t=s.session)||void 0===t?void 0:t.access_token)&&void 0!==r?r:void 0,xform:tl})})}catch(e){if(eQ(e))return{data:{user:null},error:e};throw e}}async updateUser(e,t={}){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._updateUser(e,t))}async _updateUser(e,t={}){try{return await this._useSession(async r=>{let{data:s,error:i}=r;if(i)throw i;if(!s.session)throw new e3;let n=s.session,o=null,a=null;if("pkce"===this.flowType&&null!=e.email){let e=eV();await eM(this.storage,`${this.storageKey}-code-verifier`,e),o=await eY(e),a=e===o?"plain":"s256"}let{data:l,error:h}=await tn(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:null==t?void 0:t.emailRedirectTo,body:Object.assign(Object.assign({},e),{code_challenge:o,code_challenge_method:a}),jwt:n.access_token,xform:tl});if(h)throw h;return n.user=l.user,await this._saveSession(n),await this._notifyAllSubscribers("USER_UPDATED",n),{data:{user:n.user},error:null}})}catch(e){if(eQ(e))return{data:{user:null},error:e};throw e}}_decodeJWT(e){return eH(e)}async setSession(e){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._setSession(e))}async _setSession(e){try{if(!e.access_token||!e.refresh_token)throw new e3;let t=Date.now()/1e3,r=t,s=!0,i=null,n=eH(e.access_token);if(n.exp&&(s=(r=n.exp)<=t),s){let{session:t,error:r}=await this._callRefreshToken(e.refresh_token);if(r)return{data:{user:null,session:null},error:r};if(!t)return{data:{user:null,session:null},error:null};i=t}else{let{data:s,error:n}=await this._getUser(e.access_token);if(n)throw n;i={access_token:e.access_token,refresh_token:e.refresh_token,user:s.user,token_type:"bearer",expires_in:r-t,expires_at:r},await this._saveSession(i),await this._notifyAllSubscribers("SIGNED_IN",i)}return{data:{user:i.user,session:i},error:null}}catch(e){if(eQ(e))return{data:{session:null,user:null},error:e};throw e}}async refreshSession(e){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._refreshSession(e))}async _refreshSession(e){try{return await this._useSession(async t=>{var r;if(!e){let{data:s,error:i}=t;if(i)throw i;e=null!==(r=s.session)&&void 0!==r?r:void 0}if(!(null==e?void 0:e.refresh_token))throw new e3;let{session:s,error:i}=await this._callRefreshToken(e.refresh_token);return i?{data:{user:null,session:null},error:i}:s?{data:{user:s.user,session:s},error:null}:{data:{user:null,session:null},error:null}})}catch(e){if(eQ(e))return{data:{user:null,session:null},error:e};throw e}}async _getSessionFromURL(e){try{if(!eL())throw new e5("No browser detected.");if("implicit"!==this.flowType||this._isImplicitGrantFlow()){if("pkce"==this.flowType&&!e)throw new e9("Not a valid PKCE flow url.")}else throw new e5("Not a valid implicit grant flow url.");let t=eJ(window.location.href);if(e){if(!t.code)throw new e9("No code detected.");let{data:e,error:r}=await this._exchangeCodeForSession(t.code);if(r)throw r;let s=new URL(window.location.href);return s.searchParams.delete("code"),window.history.replaceState(window.history.state,"",s.toString()),{data:{session:e.session,redirectType:null},error:null}}if(t.error||t.error_description||t.error_code)throw new e5(t.error_description||"Error in URL with unspecified error_description",{error:t.error||"unspecified_error",code:t.error_code||"unspecified_code"});let{provider_token:r,provider_refresh_token:s,access_token:i,refresh_token:n,expires_in:o,expires_at:a,token_type:l}=t;if(!i||!o||!n||!l)throw new e5("No session defined in URL");let h=Math.round(Date.now()/1e3),c=parseInt(o),u=h+c;a&&(u=parseInt(a));let d=u-h;1e3*d<=3e4&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${d}s, should have been closer to ${c}s`);let f=u-c;h-f>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",f,u,h):h-f<0&&console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clok for skew",f,u,h);let{data:p,error:y}=await this._getUser(i);if(y)throw y;let g={provider_token:r,provider_refresh_token:s,access_token:i,expires_in:c,expires_at:u,refresh_token:n,token_type:l,user:p.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),{data:{session:g,redirectType:t.type},error:null}}catch(e){if(eQ(e))return{data:{session:null,redirectType:null},error:e};throw e}}_isImplicitGrantFlow(){let e=eJ(window.location.href);return!!(eL()&&(e.access_token||e.error_description))}async _isPKCEFlow(){let e=eJ(window.location.href),t=await ez(this.storage,`${this.storageKey}-code-verifier`);return!!(e.code&&t)}async signOut(e={scope:"global"}){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._signOut(e))}async _signOut({scope:e}={scope:"global"}){return await this._useSession(async t=>{var r;let{data:s,error:i}=t;if(i)return{error:i};let n=null===(r=s.session)||void 0===r?void 0:r.access_token;if(n){let{error:t}=await this.admin.signOut(n,e);if(t&&!(eQ(t)&&"AuthApiError"===t.name&&(404===t.status||401===t.status)))return{error:t}}return"others"!==e&&(await this._removeSession(),await eq(this.storage,`${this.storageKey}-code-verifier`),await this._notifyAllSubscribers("SIGNED_OUT",null)),{error:null}})}onAuthStateChange(e){let t="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){let t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}),r={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,r),(async()=>{await this.initializePromise,await this._acquireLock(-1,async()=>{this._emitInitialSession(t)})})(),{data:{subscription:r}}}async _emitInitialSession(e){return await this._useSession(async t=>{var r,s;try{let{data:{session:s},error:i}=t;if(i)throw i;await (null===(r=this.stateChangeEmitters.get(e))||void 0===r?void 0:r.callback("INITIAL_SESSION",s)),this._debug("INITIAL_SESSION","callback id",e,"session",s)}catch(t){await (null===(s=this.stateChangeEmitters.get(e))||void 0===s?void 0:s.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",e,"error",t),console.error(t)}})}async resetPasswordForEmail(e,t={}){let r=null,s=null;if("pkce"===this.flowType){let e=eV();await eM(this.storage,`${this.storageKey}-code-verifier`,e),r=await eY(e),s=e===r?"plain":"s256"}try{return await tn(this.fetch,"POST",`${this.url}/recover`,{body:{email:e,code_challenge:r,code_challenge_method:s,gotrue_meta_security:{captcha_token:t.captchaToken}},headers:this.headers,redirectTo:t.redirectTo})}catch(e){if(eQ(e))return{data:null,error:e};throw e}}async _refreshAccessToken(e){let t=`#_refreshAccessToken(${e.substring(0,5)}...)`;this._debug(t,"begin");try{let r=Date.now();return await function(e,t){let r=new Promise((r,s)=>{(async()=>{for(let i=0;i<1/0;i++)try{let s=await e(i);if(!t(i,null,s)){r(s);return}}catch(e){if(!t(i,e)){s(e);return}}})()});return r}(async r=>(await eX(200*r),this._debug(t,"refreshing attempt",r),await tn(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:ta})),(e,t,s)=>s&&s.error&&e7(s.error)&&Date.now()+(e+1)*200-r<3e4)}catch(e){if(this._debug(t,"error",e),eQ(e))return{data:{session:null,user:null},error:e};throw e}finally{this._debug(t,"end")}}_isValidSession(e){return"object"==typeof e&&null!==e&&"access_token"in e&&"refresh_token"in e&&"expires_at"in e}async _handleProviderSignIn(e,t){let r=await this._getUrlForProvider(e,{redirectTo:t.redirectTo,scopes:t.scopes,queryParams:t.queryParams});return this._debug("#_handleProviderSignIn()","provider",e,"options",t,"url",r),eL()&&!t.skipBrowserRedirect&&window.location.assign(r),{data:{provider:e,url:r},error:null}}async _recoverAndRefresh(){var e;let t="#_recoverAndRefresh()";this._debug(t,"begin");try{let r=await ez(this.storage,this.storageKey);if(this._debug(t,"session from storage",r),!this._isValidSession(r)){this._debug(t,"session is not valid"),null!==r&&await this._removeSession();return}let s=Math.round(Date.now()/1e3),i=(null!==(e=r.expires_at)&&void 0!==e?e:1/0)<s+10;if(this._debug(t,`session has${i?"":" not"} expired with margin of 10s`),i){if(this.autoRefreshToken&&r.refresh_token){let{error:e}=await this._callRefreshToken(r.refresh_token);e&&(console.error(e),e7(e)||(this._debug(t,"refresh failed with a non-retryable error, removing the session",e),await this._removeSession()))}}else await this._notifyAllSubscribers("SIGNED_IN",r)}catch(e){this._debug(t,"error",e),console.error(e);return}finally{this._debug(t,"end")}}async _callRefreshToken(e){var t,r;if(!e)throw new e3;if(this.refreshingDeferred)return this.refreshingDeferred.promise;let s=`#_callRefreshToken(${e.substring(0,5)}...)`;this._debug(s,"begin");try{this.refreshingDeferred=new eK;let{data:t,error:r}=await this._refreshAccessToken(e);if(r)throw r;if(!t.session)throw new e3;await this._saveSession(t.session),await this._notifyAllSubscribers("TOKEN_REFRESHED",t.session);let s={session:t.session,error:null};return this.refreshingDeferred.resolve(s),s}catch(e){if(this._debug(s,"error",e),eQ(e)){let r={session:null,error:e};return null===(t=this.refreshingDeferred)||void 0===t||t.resolve(r),r}throw null===(r=this.refreshingDeferred)||void 0===r||r.reject(e),e}finally{this.refreshingDeferred=null,this._debug(s,"end")}}async _notifyAllSubscribers(e,t,r=!0){let s=`#_notifyAllSubscribers(${e})`;this._debug(s,"begin",t,`broadcast = ${r}`);try{this.broadcastChannel&&r&&this.broadcastChannel.postMessage({event:e,session:t});let s=[],i=Array.from(this.stateChangeEmitters.values()).map(async r=>{try{await r.callback(e,t)}catch(e){s.push(e)}});if(await Promise.all(i),s.length>0){for(let e=0;e<s.length;e+=1)console.error(s[e]);throw s[0]}}finally{this._debug(s,"end")}}async _saveSession(e){this._debug("#_saveSession()",e),this.persistSession||(this.inMemorySession=e),this.persistSession&&e.expires_at&&await this._persistSession(e)}_persistSession(e){return this._debug("#_persistSession()",e),eM(this.storage,this.storageKey,e)}async _removeSession(){this._debug("#_removeSession()"),this.persistSession?await eq(this.storage,this.storageKey):this.inMemorySession=null}_removeVisibilityChangedCallback(){this._debug("#_removeVisibilityChangedCallback()");let e=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{e&&eL()&&(null==window?void 0:window.removeEventListener)&&window.removeEventListener("visibilitychange",e)}catch(e){console.error("removing visibilitychange callback failed",e)}}async _startAutoRefresh(){await this._stopAutoRefresh(),this._debug("#_startAutoRefresh()");let e=setInterval(()=>this._autoRefreshTokenTick(),3e4);this.autoRefreshTicker=e,e&&"object"==typeof e&&"function"==typeof e.unref?e.unref():"undefined"!=typeof Deno&&"function"==typeof Deno.unrefTimer&&Deno.unrefTimer(e),setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");let e=this.autoRefreshTicker;this.autoRefreshTicker=null,e&&clearInterval(e)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async _autoRefreshTokenTick(){this._debug("#_autoRefreshTokenTick()","begin");try{await this._acquireLock(0,async()=>{try{let e=Date.now();try{return await this._useSession(async t=>{let{data:{session:r}}=t;if(!r||!r.refresh_token||!r.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}let s=Math.floor((1e3*r.expires_at-e)/3e4);this._debug("#_autoRefreshTokenTick()",`access token expires in ${s} ticks, a tick lasts 30000ms, refresh threshold is 3 ticks`),s<=3&&await this._callRefreshToken(r.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.isAcquireTimeout||e instanceof tm)this._debug("auto refresh token tick lock not available");else throw e}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!eL()||!(null==window?void 0:window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>await this._onVisibilityChanged(!1),null==window||window.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(e){console.error("_handleVisibilityChange",e)}}async _onVisibilityChanged(e){let t=`#_onVisibilityChanged(${e})`;this._debug(t,"visibilityState",document.visibilityState),"visible"===document.visibilityState?(this.autoRefreshToken&&this._startAutoRefresh(),e||(await this.initializePromise,await this._acquireLock(-1,async()=>{if("visible"!==document.visibilityState){this._debug(t,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting");return}await this._recoverAndRefresh()}))):"hidden"===document.visibilityState&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(e,t){let r=[`provider=${encodeURIComponent(e)}`];if((null==t?void 0:t.redirectTo)&&r.push(`redirect_to=${encodeURIComponent(t.redirectTo)}`),(null==t?void 0:t.scopes)&&r.push(`scopes=${encodeURIComponent(t.scopes)}`),"pkce"===this.flowType){let e=eV();await eM(this.storage,`${this.storageKey}-code-verifier`,e);let t=await eY(e),s=e===t?"plain":"s256";this._debug("PKCE","code verifier",`${e.substring(0,5)}...`,"code challenge",t,"method",s);let i=new URLSearchParams({code_challenge:`${encodeURIComponent(t)}`,code_challenge_method:`${encodeURIComponent(s)}`});r.push(i.toString())}if(null==t?void 0:t.queryParams){let e=new URLSearchParams(t.queryParams);r.push(e.toString())}return`${this.url}/authorize?${r.join("&")}`}async _unenroll(e){try{return await this._useSession(async t=>{var r;let{data:s,error:i}=t;return i?{data:null,error:i}:await tn(this.fetch,"DELETE",`${this.url}/factors/${e.factorId}`,{headers:this.headers,jwt:null===(r=null==s?void 0:s.session)||void 0===r?void 0:r.access_token})})}catch(e){if(eQ(e))return{data:null,error:e};throw e}}async _enroll(e){try{return await this._useSession(async t=>{var r,s;let{data:i,error:n}=t;if(n)return{data:null,error:n};let{data:o,error:a}=await tn(this.fetch,"POST",`${this.url}/factors`,{body:{friendly_name:e.friendlyName,factor_type:e.factorType,issuer:e.issuer},headers:this.headers,jwt:null===(r=null==i?void 0:i.session)||void 0===r?void 0:r.access_token});return a?{data:null,error:a}:((null===(s=null==o?void 0:o.totp)||void 0===s?void 0:s.qr_code)&&(o.totp.qr_code=`data:image/svg+xml;utf-8,${o.totp.qr_code}`),{data:o,error:null})})}catch(e){if(eQ(e))return{data:null,error:e};throw e}}async _verify(e){try{return await this._useSession(async t=>{var r;let{data:s,error:i}=t;if(i)return{data:null,error:i};let{data:n,error:o}=await tn(this.fetch,"POST",`${this.url}/factors/${e.factorId}/verify`,{body:{code:e.code,challenge_id:e.challengeId},headers:this.headers,jwt:null===(r=null==s?void 0:s.session)||void 0===r?void 0:r.access_token});return o?{data:null,error:o}:(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+n.expires_in},n)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",n),{data:n,error:o})})}catch(e){if(eQ(e))return{data:null,error:e};throw e}}async _challenge(e){try{return await this._useSession(async t=>{var r;let{data:s,error:i}=t;return i?{data:null,error:i}:await tn(this.fetch,"POST",`${this.url}/factors/${e.factorId}/challenge`,{headers:this.headers,jwt:null===(r=null==s?void 0:s.session)||void 0===r?void 0:r.access_token})})}catch(e){if(eQ(e))return{data:null,error:e};throw e}}async _challengeAndVerify(e){let{data:t,error:r}=await this._challenge({factorId:e.factorId});return r?{data:null,error:r}: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 r=(null==e?void 0:e.factors)||[],s=r.filter(e=>"totp"===e.factor_type&&"verified"===e.status);return{data:{all:r,totp:s},error:null}}async _getAuthenticatorAssuranceLevel(){return await this._useSession(async e=>{var t,r;let{data:{session:s},error:i}=e;if(i)return{data:null,error:i};if(!s)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};let n=this._decodeJWT(s.access_token),o=null;n.aal&&(o=n.aal);let a=o,l=null!==(r=null===(t=s.user.factors)||void 0===t?void 0:t.filter(e=>"verified"===e.status))&&void 0!==r?r:[];l.length>0&&(a="aal2");let h=n.amr||[];return{data:{currentLevel:o,nextLevel:a,currentAuthenticationMethods:h},error:null}})}}t_.nextInstanceID=0;class tw extends t_{constructor(e){super(e)}}let tk={headers:{"X-Client-Info":"supabase-js/2.33.1"}},tS={schema:"public"},tO={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},tT={};class tE{constructor(e,t,r){var s,i,n,o,a,l,h,c;if(this.supabaseUrl=e,this.supabaseKey=t,!e)throw Error("supabaseUrl is required.");if(!t)throw Error("supabaseKey is required.");let u=e.replace(/\/$/,"");this.realtimeUrl=`${u}/realtime/v1`.replace(/^http/i,"ws"),this.authUrl=`${u}/auth/v1`,this.storageUrl=`${u}/storage/v1`,this.functionsUrl=`${u}/functions/v1`;let d=`sb-${new URL(this.authUrl).hostname.split(".")[0]}-auth-token`,f={db:tS,realtime:tT,auth:Object.assign(Object.assign({},tO),{storageKey:d}),global:tk},p=function(e,t){let{db:r,auth:s,realtime:i,global:n}=e,{db:o,auth:a,realtime:l,global:h}=t;return{db:Object.assign(Object.assign({},o),r),auth:Object.assign(Object.assign({},a),s),realtime:Object.assign(Object.assign({},l),i),global:Object.assign(Object.assign({},h),n)}}(null!=r?r:{},f);this.storageKey=null!==(i=null===(s=p.auth)||void 0===s?void 0:s.storageKey)&&void 0!==i?i:"",this.headers=null!==(o=null===(n=p.global)||void 0===n?void 0:n.headers)&&void 0!==o?o:{},this.auth=this._initSupabaseAuthClient(null!==(a=p.auth)&&void 0!==a?a:{},this.headers,null===(l=p.global)||void 0===l?void 0:l.fetch),this.fetch=eU(t,this._getAccessToken.bind(this),null===(h=p.global)||void 0===h?void 0:h.fetch),this.realtime=this._initRealtimeClient(Object.assign({headers:this.headers},p.realtime)),this.rest=new F(`${u}/rest/v1`,{headers:this.headers,schema:null===(c=p.db)||void 0===c?void 0:c.schema,fetch:this.fetch}),this._listenForAuthEvents()}get functions(){return new $(this.functionsUrl,{headers:this.headers,customFetch:this.fetch})}get storage(){return new ex(this.storageUrl,this.headers,this.fetch)}from(e){return this.rest.from(e)}schema(e){return this.rest.schema(e)}rpc(e,t={},r){return this.rest.rpc(e,t,r)}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()}_getAccessToken(){var e,t,r,s,i,n;return r=this,s=void 0,i=void 0,n=function*(){let{data:r}=yield this.auth.getSession();return null!==(t=null===(e=r.session)||void 0===e?void 0:e.access_token)&&void 0!==t?t:null},new(i||(i=Promise))(function(e,t){function o(e){try{l(n.next(e))}catch(e){t(e)}}function a(e){try{l(n.throw(e))}catch(e){t(e)}}function l(t){var r;t.done?e(t.value):((r=t.value)instanceof i?r:new i(function(e){e(r)})).then(o,a)}l((n=n.apply(r,s||[])).next())})}_initSupabaseAuthClient({autoRefreshToken:e,persistSession:t,detectSessionInUrl:r,storage:s,storageKey:i,flowType:n,debug:o},a,l){let h={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new tw({url:this.authUrl,headers:Object.assign(Object.assign({},h),a),storageKey:i,autoRefreshToken:e,persistSession:t,detectSessionInUrl:r,storage:s,flowType:n,debug:o,fetch:l})}_initRealtimeClient(e){return new ea(this.realtimeUrl,Object.assign(Object.assign({},e),{params:Object.assign({apikey:this.supabaseKey},null==e?void 0:e.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((e,t)=>{this._handleTokenChanged(e,"CLIENT",null==t?void 0:t.access_token)})}_handleTokenChanged(e,t,r){("TOKEN_REFRESHED"===e||"SIGNED_IN"===e)&&this.changedAccessToken!==r?(this.realtime.setAuth(null!=r?r:null),this.changedAccessToken=r):"SIGNED_OUT"===e&&(this.realtime.setAuth(this.supabaseKey),"STORAGE"==t&&this.auth.signOut(),this.changedAccessToken=void 0)}}let tC=(e,t,r)=>new tE(e,t,r);var tj=Object.create,tI=Object.defineProperty,tx=Object.getOwnPropertyDescriptor,tA=Object.getOwnPropertyNames,tP=Object.getPrototypeOf,t$=Object.prototype.hasOwnProperty,tR=(e,t,r,s)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of tA(t))t$.call(e,i)||i===r||tI(e,i,{get:()=>t[i],enumerable:!(s=tx(t,i))||s.enumerable});return e},tU=(e,t,r)=>(r=null!=e?tj(tP(e)):{},tR(!t&&e&&e.__esModule?r:tI(r,"default",{value:e,enumerable:!0}),e)),tL=(p={"../../node_modules/.pnpm/cookie@0.5.0/node_modules/cookie/index.js"(e){e.parse=function(e,t){if("string"!=typeof e)throw TypeError("argument str must be a string");for(var r={},i=(t||{}).decode||s,n=0;n<e.length;){var o=e.indexOf("=",n);if(-1===o)break;var a=e.indexOf(";",n);if(-1===a)a=e.length;else if(a<o){n=e.lastIndexOf(";",o-1)+1;continue}var l=e.slice(n,o).trim();if(void 0===r[l]){var h=e.slice(o+1,a).trim();34===h.charCodeAt(0)&&(h=h.slice(1,-1)),r[l]=function(e,t){try{return t(e)}catch(t){return e}}(h,i)}n=a+1}return r},e.serialize=function(e,s,n){var o=n||{},a=o.encode||i;if("function"!=typeof a)throw TypeError("option encode is invalid");if(!r.test(e))throw TypeError("argument name is invalid");var l=a(s);if(l&&!r.test(l))throw TypeError("argument val is invalid");var h=e+"="+l;if(null!=o.maxAge){var c=o.maxAge-0;if(isNaN(c)||!isFinite(c))throw TypeError("option maxAge is invalid");h+="; Max-Age="+Math.floor(c)}if(o.domain){if(!r.test(o.domain))throw TypeError("option domain is invalid");h+="; Domain="+o.domain}if(o.path){if(!r.test(o.path))throw TypeError("option path is invalid");h+="; Path="+o.path}if(o.expires){var u=o.expires;if("[object Date]"!==t.call(u)&&!(u instanceof Date)||isNaN(u.valueOf()))throw TypeError("option expires is invalid");h+="; Expires="+u.toUTCString()}if(o.httpOnly&&(h+="; HttpOnly"),o.secure&&(h+="; Secure"),o.priority)switch("string"==typeof o.priority?o.priority.toLowerCase():o.priority){case"low":h+="; Priority=Low";break;case"medium":h+="; Priority=Medium";break;case"high":h+="; Priority=High";break;default:throw TypeError("option priority is invalid")}if(o.sameSite)switch("string"==typeof o.sameSite?o.sameSite.toLowerCase():o.sameSite){case!0:case"strict":h+="; SameSite=Strict";break;case"lax":h+="; SameSite=Lax";break;case"none":h+="; SameSite=None";break;default:throw TypeError("option sameSite is invalid")}return h};var t=Object.prototype.toString,r=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function s(e){return -1!==e.indexOf("%")?decodeURIComponent(e):e}function i(e){return encodeURIComponent(e)}}},function(){return y||(0,p[tA(p)[0]])((y={exports:{}}).exports,y),y.exports}),tN=tU(tL()),tD=tU(tL());function tJ(e){if(!e)return null;try{let t=JSON.parse(e);if(!t)return null;if("Object"===t.constructor.name)return t;if("Array"!==t.constructor.name)throw Error(`Unexpected format: ${t.constructor.name}`);let[r,s,i]=t[0].split("."),n=C(s),o=new TextDecoder,{exp:a,sub:l,...h}=JSON.parse(o.decode(n));return{expires_at:a,expires_in:a-Math.round(Date.now()/1e3),token_type:"bearer",access_token:t[0],refresh_token:t[1],provider_token:t[2],provider_refresh_token:t[3],user:{id:l,factors:t[4],...h}}}catch(e){return console.warn("Failed to parse cookie string:",e),null}}function tB(e){var t;return JSON.stringify([e.access_token,e.refresh_token,e.provider_token,e.provider_refresh_token,(null==(t=e.user)?void 0:t.factors)??null])}function tF(){return"undefined"!=typeof window&&void 0!==window.document}var tM={path:"/",maxAge:31536e6},tz=class{constructor(e){this.cookieOptions={...tM,...e}}getItem(e){let t=this.getCookie(e);return t?e.endsWith("-code-verifier")?t:JSON.stringify(tJ(t)):null}setItem(e,t){if(e.endsWith("-code-verifier")){this.setCookie(e,t);return}let r=JSON.parse(t),s=tB(r);this.setCookie(e,s)}removeItem(e){this.deleteCookie(e)}},tq=class extends tz{constructor(e){super(e)}getCookie(e){if(!tF())return null;let t=(0,tN.parse)(document.cookie);return t[e]}setCookie(e,t){if(!tF())return null;document.cookie=(0,tN.serialize)(e,t,{...this.cookieOptions,httpOnly:!1})}deleteCookie(e){if(!tF())return null;document.cookie=(0,tN.serialize)(e,"",{...this.cookieOptions,maxAge:0,httpOnly:!1})}};function tK(e,t,r){var s;let i=tF();return tC(e,t,{...r,auth:{flowType:"pkce",autoRefreshToken:i,detectSessionInUrl:i,persistSession:!0,storage:r.auth.storage,...(null==(s=r.auth)?void 0:s.storageKey)?{storageKey:r.auth.storageKey}:{}}})}var tH=tD.parse,tX=tD.serialize;/*!
|
|
3
|
-
* cookie
|
|
4
|
-
* Copyright(c) 2012-2014 Roman Shtylman
|
|
5
|
-
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
6
|
-
* MIT Licensed
|
|
7
|
-
*/},2151:function(e){"use strict";e.exports={version:"1.0.34"}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[712],{2810:function(e,t,n){"use strict";let s,l;async function a(){if(s||(l||(l=fetch("/api/config").then(e=>e.json()).then(e=>s=e.apiBaseUrl)),await l),void 0===s)throw Error("API base URL is undefined");return s}n.d(t,{b:function(){return a}})},4712:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return eG}});var s=n(7437),l=n(2265),a=n(2130),r=n(6882),i=n(3388),o=n(4033),c=n(3082),d=n(1116),u=n(8440),p=n(6507),h=n(5551),m=n(7760),x=n(6446),g=n(3391),j=n(4081),f=n(3226),v=n(819),b=n(8212),y=n(8864),Z=n(3375),C=n(9114),k=n(923),w=n(654),S=n(3295),N=n(2467),R=n(3457),I=n(1975),P=n(8276),E=n(9605),O=n(9190),F=n(2053),M=n(8339),T=n(2481),L=n(9394),D=n(6337),U=n(4660),A=n(4810);let W=(0,U.Ue)()((0,A.tJ)((e,t)=>({evalId:null,setEvalId:t=>e(()=>({evalId:t})),table:null,setTable:t=>e(()=>({table:t})),config:null,setConfig:t=>e(()=>({config:t})),maxTextLength:250,setMaxTextLength:t=>e(()=>({maxTextLength:t})),wordBreak:"break-word",setWordBreak:t=>e(()=>({wordBreak:t})),showInferenceDetails:!0,setShowInferenceDetails:t=>e(()=>({showInferenceDetails:t})),renderMarkdown:!1,setRenderMarkdown:t=>e(()=>({renderMarkdown:t})),prettifyJson:!1,setPrettifyJson:t=>e(()=>({prettifyJson:t})),showPrompts:!1,setShowPrompts:t=>e(()=>({showPrompts:t}))}),{name:"ResultsViewStorage",storage:(0,A.FL)(()=>localStorage)}));var _=function(){let{table:e,config:t,evalId:n}=W(),[a,r]=l.useState(!1),i=(e,t)=>{let n=URL.createObjectURL(e),s=document.createElement("a");s.href=n,s.download=t,document.body.appendChild(s),s.click(),document.body.removeChild(s),URL.revokeObjectURL(n)},o=()=>{r(!1)};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(C.Z,{onClick:()=>{r(!0)},children:[(0,s.jsx)(y.Z,{children:(0,s.jsx)(T.Z,{fontSize:"small"})}),(0,s.jsx)(b.Z,{children:"Download"})]}),(0,s.jsx)(L.Z,{onClose:o,open:a,children:(0,s.jsx)(D.Z,{children:(0,s.jsxs)(R.Z,{direction:"column",spacing:2,sx:{width:"100%"},children:[(0,s.jsx)(h.Z,{onClick:()=>{let e=M.default.dump(t),n=new Blob([e],{type:"text/yaml;charset=utf-8"});i(n,"promptfooconfig.yaml"),o()},startIcon:(0,s.jsx)(T.Z,{}),fullWidth:!0,sx:{justifyContent:"flex-start"},children:"Download YAML Config"}),(0,s.jsx)(h.Z,{onClick:()=>{if(!e){alert("No table data");return}let t=new Blob([JSON.stringify(e,null,2)],{type:"application/json"});i(t,"".concat(n,"-table.json")),o()},startIcon:(0,s.jsx)(T.Z,{}),fullWidth:!0,sx:{justifyContent:"flex-start"},children:"Download Table JSON"}),(0,s.jsx)(h.Z,{onClick:()=>{if(!e){alert("No table data");return}let t=e.body.map((t,n)=>({chosen:t.outputs.filter(e=>e.pass).map(e=>e.text),rejected:t.outputs.filter(e=>!e.pass).map(e=>e.text),vars:t.test.vars,providers:e.head.prompts.map(e=>e.provider),prompts:e.head.prompts.map(e=>e.label||e.display||e.raw)})),s=new Blob([JSON.stringify(t,null,2)],{type:"application/json"});i(s,"".concat(n,"-dpo.json")),o()},startIcon:(0,s.jsx)(T.Z,{}),fullWidth:!0,sx:{justifyContent:"flex-start"},children:"Download DPO JSON"})]})})})]})},z=n(6704),V=n(1797),B=n(1101),J=n(9872),H=n(2653),G=n(3533),X=n(4740);let Y=["#fd7f6f","#7eb0d5","#b2e061","#bd7ebe","#ffb55a","#ffee65","#beb9db","#fdcce5","#8bd3c7"];function q(e){let{table:t}=e,n=(0,l.useRef)(null),a=(0,l.useRef)(null);return(0,l.useEffect)(()=>{if(!n.current)return;a.current&&a.current.destroy();let e=t.body.flatMap(e=>e.outputs.map(e=>e.score)),s=Math.min(...e),l=(Math.ceil(Math.max(...e))-Math.floor(s))/10,r=Array.from({length:11},(e,t)=>parseFloat((Math.floor(s)+t*l).toFixed(2))),i=t.head.prompts.map((e,n)=>{let s=t.body.flatMap(e=>e.outputs[n].score),a=r.map(e=>s.filter(t=>t>=e&&t<e+l).length);return{label:"Column ".concat(n+1),data:a,backgroundColor:Y[n%Y.length]}});a.current=new z.kL(n.current,{type:"bar",data:{labels:r,datasets:i},options:{animation:!1,plugins:{title:{display:!0,text:"Score Distribution"},legend:{display:!1},tooltip:{callbacks:{title:function(e){let t=e[0].datasetIndex;return"Column ".concat(t+1)},label:function(e){let t=e.dataIndex,n=r[t],s=r[t+1];return s?"".concat(n," <= score < ").concat(s):"".concat(n," <= score")}}}}}})},[t]),(0,s.jsx)("canvas",{ref:n,style:{maxHeight:"300px"}})}function $(e){let{table:t}=e,n=(0,l.useRef)(null),a=(0,l.useRef)(null);return(0,l.useEffect)(()=>{if(!n.current)return;a.current&&a.current.destroy();let e=t.head.prompts.map((e,n)=>{let s=t.body.flatMap(e=>e.outputs[n]),l=s.filter(e=>e.pass).length,a=l/s.length*100;return{label:"Column ".concat(n+1),data:[a],backgroundColor:Y[n%Y.length]}});a.current=new z.kL(n.current,{type:"bar",data:{labels:["Pass Rate (%)"],datasets:e},options:{animation:!1,plugins:{title:{display:!0,text:"Pass rate"},legend:{display:!0}}}})},[t]),(0,s.jsx)("canvas",{ref:n,style:{maxHeight:"300px"}})}function K(e){let{table:t}=e,n=(0,l.useRef)(null),a=(0,l.useRef)(null),[r,i]=(0,l.useState)(0),[o,c]=(0,l.useState)(1),[d,u]=(0,l.useState)(!1);return(0,l.useEffect)(()=>{if(!n.current)return;a.current&&a.current.destroy();let e=t.body.flatMap(e=>e.outputs.map(e=>e.score)),s=Math.min(...e),l=Math.max(...e),i=t.body.map(e=>{let t=e.outputs[r].score,n=e.outputs[o].score;return{x:t,y:n,backgroundColor:n>t?"green":n<t?"red":"gray"}});a.current=new z.kL(n.current,{type:"scatter",data:{datasets:[{data:i,backgroundColor:i.map(e=>e.backgroundColor)},{type:"line",data:[{x:s,y:s},{x:l,y:l}],borderColor:"gray",borderWidth:1,borderDash:[5,5],pointRadius:0}]},options:{animation:!1,plugins:{legend:{display:!1},tooltip:{callbacks:{label:function(e){let n=t.body[e.dataIndex],s=n.outputs[0].text,l=n.outputs[1].text;return s.length>30&&(s=s.substring(0,30)+"..."),l.length>30&&(l=l.substring(0,30)+"..."),"Output 1: ".concat(s,"\nOutput 2: ").concat(l)}}}},scales:{x:{title:{display:!0,text:"Prompt ".concat(r+1," Score")},ticks:{callback:function(e,t,n){let s=String(Math.round(100*Number(e)));return t===n.length-1&&(s+="%"),s}}},y:{title:{display:!0,text:"Prompt ".concat(o+1," Score")},ticks:{callback:function(e,t,n){let s=String(Math.round(100*Number(e)));return t===n.length-1&&(s+="%"),s}}}}}})},[t,r,o]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(L.Z,{open:d,onClose:()=>u(!1),children:[(0,s.jsx)(V.Z,{children:"Compare prompt outputs"}),(0,s.jsxs)(D.Z,{children:[(0,s.jsx)(j.Z,{sx:{m:1,minWidth:120},children:(0,s.jsx)(w.Z,{value:r,onChange:e=>i(Number(e.target.value)),children:t.head.prompts.map((e,t)=>(0,s.jsxs)(C.Z,{value:t,children:["Prompt ",t+1]},t))})}),(0,s.jsx)(j.Z,{sx:{m:1,minWidth:120},children:(0,s.jsx)(w.Z,{value:o,onChange:e=>c(Number(e.target.value)),children:t.head.prompts.map((e,t)=>(0,s.jsxs)(C.Z,{value:t,children:["Prompt ",t+1]},t))})})]})]}),(0,s.jsx)("canvas",{ref:n,style:{maxHeight:"300px",cursor:"pointer"},onClick:()=>u(!0)})]})}function Q(e){let{table:t}=e,n=(0,l.useRef)(null),a=(0,l.useRef)(null);return(0,l.useEffect)(()=>{var e;if(!n.current)return;a.current&&a.current.destroy();let s=Object.keys((null===(e=t.head.prompts[0].metrics)||void 0===e?void 0:e.namedScores)||{}),l=t.head.prompts.map((e,n)=>{let l=s.map(n=>{var s;let l=(null===(s=e.metrics)||void 0===s?void 0:s.namedScores[n])||0,a=Math.max(...t.head.prompts.map(e=>{var t;return(null===(t=e.metrics)||void 0===t?void 0:t.namedScores[n])||0}));return l/a});return{label:"".concat(t.head.prompts[n].provider),data:l,backgroundColor:Y[n%Y.length]}});a.current=new z.kL(n.current,{type:"bar",data:{labels:s,datasets:l},options:{scales:{y:{ticks:{callback:function(e,t,n){let s=String(Math.round(100*Number(e)));return t===n.length-1&&(s+="%"),s}}}},plugins:{tooltip:{callbacks:{title:function(e){return e[0].dataset.label},label:function(e){let t=e.parsed.y;return"".concat(s[e.dataIndex],": ").concat((100*t).toFixed(2),"% pass rate")}}}}}})},[t]),(0,s.jsx)("canvas",{ref:n,style:{maxHeight:"300px"}})}z.kL.register(z.vn,z.ST,z.ho,z.uw,z.f$,z.ZL,z.jn,z.od,z.u,z.wL);var ee=l.memo(function(e){var t;let{columnVisibility:n}=e,a=(0,B.Z)();z.kL.defaults.color="dark"===a.palette.mode?"#aaa":"#666";let[r,i]=(0,l.useState)(!0),{table:o}=W();if(!o||!r||o.head.prompts.length<2)return null;let c=o.body.flatMap(e=>e.outputs.map(e=>e.score)),d=new Set(c);return 1===d.size?null:(0,s.jsx)(X.SV,{fallback:null,children:(0,s.jsxs)(J.Z,{style:{position:"relative",padding:a.spacing(3)},children:[(0,s.jsx)(H.Z,{style:{position:"absolute",right:0,top:0},onClick:()=>i(!1),children:(0,s.jsx)(G.Z,{})}),(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",width:"100%"},children:[(0,s.jsx)("div",{style:{width:"33%"},children:(0,s.jsx)($,{table:o})}),(0,s.jsx)("div",{style:{width:"33%"},children:2===d.size&&Object.keys((null===(t=o.head.prompts[0].metrics)||void 0===t?void 0:t.namedScores)||{}).length>1?(0,s.jsx)(Q,{table:o}):(0,s.jsx)(q,{table:o})}),(0,s.jsx)("div",{style:{width:"33%"},children:(0,s.jsx)(K,{table:o})})]})]})})}),et=n(9116);n(5777);var en=n(3425),es=n(7660),el=n(3216),ea=n(182),er=n(5391),ei=n(1396),eo=n.n(ei),ec=n(2834),ed=e=>{let{open:t,contextText:n,commentText:l,onClose:a,onSave:r,onChange:i}=e;return(0,s.jsxs)(L.Z,{open:t,onClose:a,fullWidth:!0,maxWidth:"sm",children:[(0,s.jsx)(V.Z,{children:"Edit Comment"}),(0,s.jsxs)(D.Z,{children:[(0,s.jsx)(p.Z,{sx:{backgroundColor:"#f0f0f0",padding:2,marginBottom:2},children:n}),(0,s.jsx)(I.Z,{autoFocus:!0,margin:"dense",type:"text",fullWidth:!0,multiline:!0,rows:4,value:l,onChange:e=>i(e.target.value)})]}),(0,s.jsxs)(ec.Z,{children:[(0,s.jsx)(h.Z,{onClick:r,color:"primary",variant:"contained",children:"Save"}),(0,s.jsx)(h.Z,{onClick:a,color:"primary",children:"Cancel"})]})]})};n(8715);var eu=e=>{let{lookup:t}=e;return t&&Object.keys(t).length?(0,s.jsx)("div",{className:"custom-metric-container",children:Object.entries(t).map(e=>{let[t,n]=e;return t&&void 0!==n?(0,s.jsxs)("span",{children:[t,": ",n.toFixed(2)]},t):null})}):null},ep=n(5446),eh=n(9329),em=n(4719),ex=n(3701),eg=n(9279),ej=n(666),ef=n(5795),ev=n(6988),eb=n(4147);function ey(e){let{gradingResults:t}=e;return t?(0,s.jsxs)(p.Z,{mt:2,children:[(0,s.jsx)(f.Z,{variant:"subtitle1",children:"Assertions"}),(0,s.jsx)(ef.Z,{children:(0,s.jsxs)(ex.Z,{children:[(0,s.jsx)(ev.Z,{children:(0,s.jsxs)(eb.Z,{children:[(0,s.jsx)(ej.Z,{style:{fontWeight:"bold"},children:"Pass"}),(0,s.jsx)(ej.Z,{style:{fontWeight:"bold"},children:"Score"}),(0,s.jsx)(ej.Z,{style:{fontWeight:"bold"},children:"Type"}),(0,s.jsx)(ej.Z,{style:{fontWeight:"bold"},children:"Value"}),(0,s.jsx)(ej.Z,{style:{fontWeight:"bold"},children:"Reason"})]})}),(0,s.jsx)(eg.Z,{children:t.map((e,t)=>{var n,l;return(0,s.jsxs)(eb.Z,{children:[(0,s.jsx)(ej.Z,{children:e.pass?"✅":"❌"}),(0,s.jsx)(ej.Z,{children:e.score.toFixed(2)}),(0,s.jsx)(ej.Z,{children:(null===(n=e.assertion)||void 0===n?void 0:n.type)||""}),(0,s.jsx)(ej.Z,{style:{whiteSpace:"pre-wrap"},children:(null===(l=e.assertion)||void 0===l?void 0:l.value)?String(e.assertion.value):"-"}),(0,s.jsx)(ej.Z,{style:{whiteSpace:"pre-wrap"},children:e.reason})]},t)})})]})})]}):null}function eZ(e){let{open:t,onClose:n,prompt:a,provider:r,output:i,gradingResults:o}=e,[c,d]=(0,l.useState)(!1);(0,l.useEffect)(()=>{d(!1)},[a]);let u=async e=>{await navigator.clipboard.writeText(e),d(!0)};return(0,s.jsxs)(L.Z,{open:t,onClose:n,fullWidth:!0,maxWidth:"lg",children:[(0,s.jsxs)(V.Z,{children:["Details",r&&": ".concat(r)]}),(0,s.jsxs)(D.Z,{children:[(0,s.jsxs)(p.Z,{mb:2,children:[(0,s.jsx)(f.Z,{variant:"subtitle1",style:{marginBottom:"1rem"},children:"Prompt"}),(0,s.jsx)(ep.u,{readOnly:!0,value:a,style:{width:"100%",padding:"0.75rem"},maxRows:20}),(0,s.jsx)(H.Z,{onClick:()=>u(a),style:{position:"absolute",right:"10px",top:"10px"},children:c?(0,s.jsx)(em.Z,{}):(0,s.jsx)(eh.Z,{})})]}),i&&(0,s.jsxs)(p.Z,{my:2,children:[(0,s.jsx)(f.Z,{variant:"subtitle1",style:{marginBottom:"1rem",marginTop:"1rem"},children:"Output"}),(0,s.jsx)(ep.u,{readOnly:!0,maxRows:20,value:i,style:{width:"100%",padding:"0.75rem"}})]}),(0,s.jsx)(ey,{gradingResults:o})]}),(0,s.jsx)(ec.Z,{children:(0,s.jsx)(h.Z,{onClick:n,children:"Close"})})]})}var eC=n(9396),ek=n(4173),ew=function(){let e=(0,B.Z)(),[t,n]=l.useState(!1),a=()=>{n(!1)};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{style:{textAlign:"center",marginTop:20,marginBottom:40},children:(0,s.jsx)(h.Z,{variant:"text",color:"primary",startIcon:(0,s.jsx)(eC.Z,{}),onClick:()=>{n(!0)},children:"Generate test cases"})}),(0,s.jsxs)(L.Z,{open:t,onClose:a,children:[(0,s.jsx)(V.Z,{children:"Run on Command Line"}),(0,s.jsx)(D.Z,{children:(0,s.jsxs)(ek.Z,{children:[(0,s.jsx)("p",{children:"This feature is in beta. UI coming soon."}),(0,s.jsxs)("p",{children:["Run"," ",(0,s.jsx)(p.Z,{component:"code",sx:{backgroundColor:"dark"===e.palette.mode?"#424242":"#f0f0f0",padding:"2px 4px",borderRadius:"4px"},children:"promptfoo generate dataset"}),"to generate test cases on the command line."]})]})}),(0,s.jsx)(ec.Z,{children:(0,s.jsx)(h.Z,{onClick:a,color:"primary",children:"Close"})})]})]})},eS=n(2810);function eN(e){return null===e||0===e||1===e?"":"(".concat(e.toFixed(2),")")}function eR(e){return"string"==typeof e||"number"==typeof e?e.toString().length:Array.isArray(e)?e.reduce((e,t)=>e+eR(t),0):l.isValidElement(e)&&e.props.children?l.Children.toArray(e.props.children).reduce((e,t)=>e+eR(t),0):0}n(2604);let eI=l.memo(function(e){let t,{text:n,maxLength:a}=e,[r,i]=l.useState(!0),o=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if("string"==typeof e||"number"==typeof e){let n=e.toString();return n.slice(0,a-t)}if(Array.isArray(e)){let n=[],s=t;for(let t of e){let e=eR(t);if(s+e>a){n.push(o(t,s));break}n.push(t),s+=e}return n}if(l.isValidElement(e)&&e.props.children){let n=eR(e.props.children);if(n>a-t)return l.cloneElement(e,{...e.props,children:o(e.props.children,t)})}return e};t=l.isValidElement(n)||"string"==typeof n?n:JSON.stringify(n);let c=r?o(t):t,d=eR(t)>a;return(0,s.jsxs)("div",{style:{cursor:d?"pointer":"normal"},onClick:()=>{i(!r)},children:[c,r&&eR(t)>a&&(0,s.jsx)("span",{children:"..."})]})}),eP=l.memo(function(e){var t,n,a,r,i,o,c,d,u,p,h,m;let x,g,j,f,v,{output:b,maxTextLength:y,rowIndex:Z,promptIndex:C,onRating:k,firstOutput:w,showDiffs:S,searchText:N,showStats:R}=e,{renderMarkdown:I,prettifyJson:E,showPrompts:O}=W(),[F,M]=l.useState(!1),[T,L]=l.useState(!1),D=()=>L(!T),[U,A]=l.useState(!1),[_,z]=l.useState((null===(t=b.gradingResult)||void 0===t?void 0:t.comment)||""),V=()=>{A(!0)},B="string"==typeof b.text?b.text:JSON.stringify(b.text),J=[],H=!1;if(B.startsWith("![")){let e=B.match(/^!\[.*?\]\((.*?)\)/);if(e){let t=e[1];x=(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("img",{loading:"lazy",src:t,alt:b.prompt,onClick:D}),T&&(0,s.jsx)("div",{className:"lightbox",onClick:D,children:(0,s.jsx)("img",{src:t,alt:b.prompt})})]}),H=!0}}else!b.pass&&B.includes("---")?B=(J=B.split("---")).slice(1).join("---"):J=[B];if(S&&w){let e,t="string"==typeof w.text?w.text:JSON.stringify(w.text);t.includes("---")&&(t=t.split("---").slice(1).join("---"));try{JSON.parse(t),JSON.parse(B),e=(0,et.CT)(t,B)}catch(n){e=t.includes(". ")&&B.includes(". ")?(0,et.SY)(t,B):(0,et.NV)(t,B)}x=(0,s.jsx)(s.Fragment,{children:e.map((e,t)=>e.added?(0,s.jsx)("ins",{children:e.value},t):e.removed?(0,s.jsx)("del",{children:e.value},t):(0,s.jsx)("span",{children:e.value},t))})}if(N)try{let e;let t=RegExp(N,"gi"),n=[];for(;null!==(e=t.exec(B));)n.push({start:e.index,end:t.lastIndex});x=(0,s.jsx)(s.Fragment,{children:n.length>0?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{children:B.substring(0,n[0].start)},"text-before"),n.map((e,t)=>(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"search-highlight",children:B.substring(e.start,e.end)},"match-"+t),(0,s.jsx)("span",{children:B.substring(e.end,n[t+1]?n[t+1].start:B.length)},"text-after-"+t)]}))]}):(0,s.jsx)("span",{children:B},"no-match")})}catch(e){console.error("Invalid regular expression:",e.message)}else if(I&&!H)x=(0,s.jsx)(en.U,{children:B});else if(E)try{x=(0,s.jsx)("pre",{children:JSON.stringify(JSON.parse(B),null,2)})}catch(e){}let G=l.useCallback(e=>{var t;k(e,void 0,null===(t=b.gradingResult)||void 0===t?void 0:t.comment)},[k,null===(n=b.gradingResult)||void 0===n?void 0:n.comment]),X=l.useCallback(()=>{let e=prompt("Set test score (0.0 - 1.0):",String(b.score));if(null!==e){let n=parseFloat(e);if(!isNaN(n)&&n>=0&&n<=1){var t;k(void 0,n,null===(t=b.gradingResult)||void 0===t?void 0:t.comment)}else alert("Invalid score. Please enter a value between 0.0 and 1.0.")}},[k,b.score,null===(a=b.gradingResult)||void 0===a?void 0:a.comment]);if(null===(r=b.tokenUsage)||void 0===r?void 0:r.completion){j=(0,s.jsxs)("span",{children:[Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(b.latencyMs)," ms"]});let e=b.tokenUsage.completion/(b.latencyMs/1e3);f=(0,s.jsx)("span",{children:Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(e)})}if(b.cost&&(v=(0,s.jsxs)("span",{children:["$",b.cost.toPrecision(2)]})),null===(i=b.tokenUsage)||void 0===i?void 0:i.cached)g=(0,s.jsxs)("span",{children:[Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(b.tokenUsage.cached)," ","(cached)"]});else if(null===(o=b.tokenUsage)||void 0===o?void 0:o.total){let e=Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(null!==(h=b.tokenUsage.prompt)&&void 0!==h?h:0),t=Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(null!==(m=b.tokenUsage.completion)&&void 0!==m?m:0),n=Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(b.tokenUsage.total);g=(0,s.jsx)(P.Z,{title:"".concat(e," prompt tokens + ").concat(t," completion tokens = ").concat(n," total"),children:(0,s.jsxs)("span",{children:[n,("0"!==e||"0"!==t)&&" (".concat(e,"+").concat(t,")")]})})}let Y=(null===(c=b.gradingResult)||void 0===c?void 0:c.comment)&&"!highlight"!==b.gradingResult.comment?(0,s.jsx)("div",{className:"comment",onClick:V,children:b.gradingResult.comment}):null,q=R?(0,s.jsxs)("div",{className:"cell-detail",children:[g&&(0,s.jsxs)("div",{className:"stat-item",children:[(0,s.jsx)("strong",{children:"Tokens:"})," ",g]}),j&&(0,s.jsxs)("div",{className:"stat-item",children:[(0,s.jsx)("strong",{children:"Latency:"})," ",j]}),f&&(0,s.jsxs)("div",{className:"stat-item",children:[(0,s.jsx)("strong",{children:"Tokens/Sec:"})," ",f]}),v&&(0,s.jsxs)("div",{className:"stat-item",children:[(0,s.jsx)("strong",{children:"Cost:"})," ",v]})]}):null,$=(0,s.jsxs)("div",{className:"cell-actions",children:[b.prompt&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"action",onClick:()=>{M(!0)},children:(0,s.jsx)(P.Z,{title:"View ouput and test details",children:(0,s.jsx)("span",{children:"\uD83D\uDD0E"})})}),(0,s.jsx)(eZ,{open:F,onClose:()=>{M(!1)},prompt:b.prompt,provider:b.provider,gradingResults:null===(d=b.gradingResult)||void 0===d?void 0:d.componentResults,output:B})]}),(0,s.jsx)("span",{className:"action",onClick:()=>G(!0),children:(0,s.jsx)(P.Z,{title:"Mark test passed (score 1.0)",children:(0,s.jsx)("span",{children:"\uD83D\uDC4D"})})}),(0,s.jsx)("span",{className:"action",onClick:()=>G(!1),children:(0,s.jsx)(P.Z,{title:"Mark test failed (score 0.0)",children:(0,s.jsx)("span",{children:"\uD83D\uDC4E"})})}),(0,s.jsx)("span",{className:"action",onClick:X,children:(0,s.jsx)(P.Z,{title:"Set test score",children:(0,s.jsx)("span",{children:"\uD83D\uDD22"})})}),(0,s.jsx)("span",{className:"action",onClick:V,children:(0,s.jsx)(P.Z,{title:"Edit comment",children:(0,s.jsx)("span",{children:"✏️"})})})]}),K={};return(null===(u=b.gradingResult)||void 0===u?void 0:u.comment)==="!highlight"&&(K.backgroundColor="#ffffeb"),(0,s.jsxs)("div",{className:"cell",style:K,children:[b.pass?(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)("div",{className:"status pass",children:[(0,s.jsxs)("div",{className:"pill",children:["PASS ",(0,s.jsx)("span",{className:"score",children:eN(b.score)})]}),(0,s.jsx)(eu,{lookup:b.namedScores})]})}):(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)("div",{className:"status fail",children:[(0,s.jsxs)("div",{className:"pill",children:["FAIL",b.score>0?" ":"",(0,s.jsx)("span",{className:"score",children:eN(b.score)})]}),(0,s.jsx)(eu,{lookup:b.namedScores}),(0,s.jsx)("span",{className:"fail-reason",children:null===(p=J[0])||void 0===p?void 0:p.trim().split("\n").map((e,t)=>(0,s.jsxs)(l.Fragment,{children:[e,(0,s.jsx)("br",{})]},t))})]})}),O&&w.prompt&&(0,s.jsxs)("div",{className:"prompt",children:[(0,s.jsx)("span",{className:"pill",children:"Prompt"}),b.prompt]}),(0,s.jsx)(eI,{text:x||B,maxLength:y}),Y,q,$,(0,s.jsx)(ed,{open:U,contextText:b.text,commentText:_,onClose:()=>{A(!1)},onSave:()=>{k(void 0,void 0,_),A(!1)},onChange:z})]})});function eE(e){let{text:t,maxLength:n,expandedText:a,resourceId:r,className:i}=e,[o,c]=l.useState(!1);return(0,s.jsxs)("div",{className:"".concat(i||""),children:[(0,s.jsx)(eI,{text:t,maxLength:n}),a&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(P.Z,{title:"View prompt",children:(0,s.jsx)("span",{className:"action",onClick:()=>{c(!0)},children:"\uD83D\uDD0E"})}),(0,s.jsx)(eZ,{open:o,onClose:()=>{c(!1)},prompt:a}),r&&(0,s.jsx)(P.Z,{title:"View other evals and datasets for this prompt",children:(0,s.jsx)("span",{className:"action",children:(0,s.jsx)(eo(),{href:"/prompts/?id=".concat(r),target:"_blank",children:(0,s.jsx)(er.Z,{fontSize:"small"})})})})]})]})}var eO=l.memo(function(e){let{maxTextLength:t,columnVisibility:n,wordBreak:r,filterMode:i,failureFilter:o,searchText:c,showStats:d,onFailureFilterToggle:u}=e,{evalId:x,table:g,setTable:j}=W();(0,a.Z)(g,"Table should be defined");let{head:v,body:b}=g,y=l.useCallback(async(e,t,n,s,l)=>{var a;let r=[...b],i={...r[e]},o=[...i.outputs],c=null!=n?n:o[t].pass,d=void 0===s?n?1:0:s||0;o[t].pass=c,o[t].score=d;let u={...o[t].gradingResult||{},pass:c,score:d,reason:"Manual result (overrides all other grading results)",comment:l,assertion:(null===(a=o[t].gradingResult)||void 0===a?void 0:a.assertion)||null};o[t].gradingResult=u,i.outputs=o,r[e]=i;let p={head:v,body:r};j(p);try{let e=await fetch("".concat(await (0,eS.b)(),"/api/eval/").concat(x),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({table:p})});if(!e.ok)throw Error("Network response was not ok")}catch(e){console.error("Failed to update table:",e)}},[b,v,j,x]),Z=Object.keys(n).length>0,k=l.useMemo(()=>{try{let e=RegExp(c,"i");return b.map((e,t)=>({...e,outputs:e.outputs.map((e,n)=>({...e,originalRowIndex:t,originalPromptIndex:n}))})).filter(t=>{let s="failures"===i?t.outputs.some((e,t)=>{let s="Prompt ".concat(t+1);return o[s]&&!e.pass&&(!Z||n[s])}):"different"!==i||!t.outputs.every(e=>e.text===t.outputs[0].text),l=!c||t.outputs.some(t=>{var n,s;let l="".concat(t.text," ").concat(Object.keys(t.namedScores)," ").concat((null===(n=t.gradingResult)||void 0===n?void 0:n.reason)||""," ").concat((null===(s=t.gradingResult)||void 0===s?void 0:s.comment)||"");return e.test(l)});return s&&l})}catch(e){return console.error("Invalid regular expression:",e.message),b}},[b,o,i,c,n,Z]),S=l.useMemo(()=>v.prompts.map((e,t)=>b.reduce((e,n)=>e+(n.outputs[t].pass?1:0),0)),[v.prompts,b]),N=l.useMemo(()=>v.prompts.map((e,t)=>b.reduce((e,n)=>{var s,l;return e+((null===(l=n.outputs[t].gradingResult)||void 0===l?void 0:null===(s=l.componentResults)||void 0===s?void 0:s.length)||0)},0)),[v.prompts,b]),R=l.useMemo(()=>v.prompts.map((e,t)=>b.reduce((e,n)=>{var s;let l=null===(s=n.outputs[t].gradingResult)||void 0===s?void 0:s.componentResults;return e+(l?l.filter(e=>e.pass).length:0)},0)),[v.prompts,b]),P=l.useMemo(()=>S.reduce((e,t,n,s)=>t>s[e]?n:e,0),[S]),E=S[P],O=l.useMemo(()=>(0,es.Cl)(),[]),{renderMarkdown:F}=W(),M=l.useMemo(()=>v.vars.length>0?[O.group({id:"vars",header:()=>(0,s.jsx)("span",{className:"font-bold",children:"Variables"}),columns:v.vars.map((e,n)=>O.accessor(e=>e.vars[n],{id:"Variable ".concat(n+1),header:()=>(0,s.jsx)(eE,{text:e,maxLength:t,className:"font-bold"}),cell:e=>{let n=e.getValue();return(0,s.jsx)("div",{className:"cell",children:F?(0,s.jsx)(en.U,{children:n}):(0,s.jsx)(eI,{text:n,maxLength:t})})},size:50}))})]:[],[O,v.vars,t,F]),T=l.useCallback((e,t)=>k[e].outputs[t],[k]),L=l.useCallback(e=>k[e].outputs[0],[k]),D=l.useMemo(()=>[O.group({id:"prompts",header:()=>(0,s.jsx)("span",{className:"font-bold",children:"Outputs"}),columns:v.prompts.map((e,n)=>O.accessor(e=>(function(e){if("string"==typeof e){let t=e.startsWith("[PASS]"),n=e;return e.startsWith("[PASS]")?n=n.slice(6):e.startsWith("[FAIL]")&&(n=n.slice(6)),{text:n,pass:t,score:t?1:0}}return e})(e.outputs[n]),{id:"Prompt ".concat(n+1),header:()=>{var l,a,r,c,p,h,x,g;let j=S[n]&&b.length?(S[n]/b.length*100).toFixed(2):"0.00",f=S[n]===E&&0!==E,v="Prompt ".concat(n+1),y=o[v]||!1,Z=d?(0,s.jsxs)("div",{className:"prompt-detail",children:[N[n]?(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:"Asserts:"})," ",R[n],"/",N[n]," passed"]}):null,(null===(l=e.metrics)||void 0===l?void 0:l.totalLatencyMs)?(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:"Avg Latency:"})," ",Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(e.metrics.totalLatencyMs/b.length)," ","ms"]}):null,(null===(r=e.metrics)||void 0===r?void 0:null===(a=r.tokenUsage)||void 0===a?void 0:a.total)?(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:"Avg Tokens:"})," ",Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(e.metrics.tokenUsage.total/b.length)]}):null,(null===(c=e.metrics)||void 0===c?void 0:c.totalLatencyMs)&&(null===(h=e.metrics)||void 0===h?void 0:null===(p=h.tokenUsage)||void 0===p?void 0:p.completion)?(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:"Tokens/Sec:"})," ",Intl.NumberFormat(void 0,{maximumFractionDigits:0}).format(e.metrics.tokenUsage.completion/(e.metrics.totalLatencyMs/1e3))]}):null,(null===(x=e.metrics)||void 0===x?void 0:x.cost)?(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:"Cost:"})," $",e.metrics.cost.toPrecision(2)]}):null]}):null,C=e.provider?e.provider.split(":"):[],k=C.length>1?(0,s.jsxs)(s.Fragment,{children:[C[0],":",(0,s.jsx)("strong",{children:C.slice(1).join(":")})]}):(0,s.jsx)("strong",{children:e.provider});return(0,s.jsxs)("div",{className:"output-header",children:[(0,s.jsxs)("div",{className:"pills",children:[e.provider?(0,s.jsx)("div",{className:"provider",children:k}):null,(0,s.jsx)("div",{className:"summary",children:(0,s.jsxs)("div",{className:"highlight ".concat(f?"success":""),children:[(0,s.jsxs)("strong",{children:[j,"% passing"]})," (",S[n],"/",b.length," cases)"]})}),(null===(g=e.metrics)||void 0===g?void 0:g.namedScores)&&Object.keys(e.metrics.namedScores).length>0?(0,s.jsx)(eu,{lookup:e.metrics.namedScores}):null]}),(0,s.jsx)(eE,{className:"prompt-container",text:e.label||e.display||e.raw,expandedText:e.raw,maxLength:t,resourceId:e.id}),Z,"failures"===i&&(0,s.jsx)(ea.Z,{sx:{"& .MuiFormControlLabel-label":{fontSize:"0.75rem"}},control:(0,s.jsx)(m.Z,{checked:y,onChange:e=>u(v,e.target.checked)}),label:"Show failures"})]})},cell:e=>{var l,a;let r=T(e.row.index,n);return(0,s.jsx)(eP,{output:r,maxTextLength:t,rowIndex:e.row.index,promptIndex:n,onRating:y.bind(null,null!==(l=r.originalRowIndex)&&void 0!==l?l:e.row.index,null!==(a=r.originalPromptIndex)&&void 0!==a?a:n),firstOutput:L(e.row.index),showDiffs:"different"===i,searchText:c,showStats:d})}}))})],[O,v.prompts,S,b.length,E,o,d,N,R,t,u,i,c,T,L,y]),U=l.useMemo(()=>{let e=b.some(e=>e.description);return e?{accessorFn:e=>e.description||"",id:"description",header:()=>(0,s.jsx)("span",{className:"font-bold",children:"Description"}),cell:e=>(0,s.jsx)(eI,{text:String(e.getValue()),maxLength:t}),size:50}:null},[b,t]),A=l.useMemo(()=>{let e=[];return U&&e.push(U),e.push(...M,...D),e},[U,M,D]),[_,z]=l.useState({pageIndex:0,pageSize:50}),V=(0,el.b7)({data:k,columns:A,columnResizeMode:"onChange",getCoreRowModel:(0,es.sC)(),getPaginationRowModel:(0,es.G_)(),state:{columnVisibility:n,pagination:_}});return(0,s.jsxs)("div",{children:[(0,s.jsxs)("table",{className:"results-table firefox-fix ".concat(t<=25?"compact":""),style:{wordBreak:r},children:[(0,s.jsx)("thead",{children:V.getHeaderGroups().map(e=>(0,s.jsx)("tr",{className:"header",children:e.headers.map(e=>(0,s.jsxs)("th",{colSpan:e.colSpan,style:{width:e.getSize()},children:[e.isPlaceholder?null:(0,el.ie)(e.column.columnDef.header,e.getContext()),(0,s.jsx)("div",{onMouseDown:e.getResizeHandler(),onTouchStart:e.getResizeHandler(),className:"resizer ".concat(e.column.getIsResizing()?"isResizing":"")})]},e.id))},e.id))}),(0,s.jsx)("tbody",{children:V.getRowModel().rows.map((e,t)=>{let n=!1;return(0,s.jsx)("tr",{children:e.getVisibleCells().map(e=>{let l=e.column.id.startsWith("Variable")||"description"===e.column.id,a=!l&&!n;return a&&(n=!0),(0,s.jsx)("td",{style:{width:e.column.getSize()},className:"".concat(l?"variable":""," ").concat(0!==t||l?"":"first-prompt-row"," ").concat(a?"first-prompt-col":""),children:(0,el.ie)(e.column.columnDef.cell,e.getContext())},e.id)})},e.id)})})]}),V.getPageCount()>1&&(0,s.jsxs)(p.Z,{className:"pagination",sx:{display:"flex",alignItems:"center",gap:2},children:[(0,s.jsx)(h.Z,{onClick:()=>{z(e=>({...e,pageIndex:Math.max(e.pageIndex-1,0)})),window.scrollTo(0,0)},disabled:0===V.getState().pagination.pageIndex,variant:"contained",children:"Previous"}),(0,s.jsxs)(f.Z,{component:"span",sx:{display:"flex",alignItems:"center",gap:1},children:["Page",(0,s.jsx)(I.Z,{size:"small",type:"number",value:V.getState().pagination.pageIndex+1,onChange:e=>{let t=e.target.value?Number(e.target.value)-1:0;z(e=>({...e,pageIndex:Math.min(Math.max(t,0),V.getPageCount()-1)}))},InputProps:{style:{width:"60px",textAlign:"center"}},variant:"outlined"}),(0,s.jsxs)("span",{children:["of ",V.getPageCount()]})]}),(0,s.jsx)(h.Z,{onClick:()=>{z(e=>({...e,pageIndex:Math.min(e.pageIndex+1,V.getPageCount()-1)})),window.scrollTo(0,0)},disabled:V.getState().pagination.pageIndex+1>=V.getPageCount(),variant:"contained",children:"Next"}),(0,s.jsxs)(f.Z,{component:"span",sx:{display:"flex",alignItems:"center",gap:1},children:[(0,s.jsxs)(w.Z,{value:_.pageSize,onChange:e=>{z({pageIndex:0,pageSize:Number(e.target.value)}),window.scrollTo(0,0)},displayEmpty:!0,inputProps:{"aria-label":"Results per page"},size:"small",sx:{m:1,minWidth:80},children:[(0,s.jsx)(C.Z,{value:10,children:"10"}),(0,s.jsx)(C.Z,{value:50,children:"50"}),(0,s.jsx)(C.Z,{value:100,children:"100"}),(0,s.jsx)(C.Z,{value:500,children:"500"}),(0,s.jsx)(C.Z,{value:1e3,children:"1000"})]}),(0,s.jsx)("span",{children:"results per page"})]})]}),(0,s.jsx)(ew,{})]})}),eF=n(7175);function eM(e){let{open:t,onClose:a}=e,{config:r}=W(),i=l.useRef(null),[o,c]=l.useState(!1),[d,u]=l.useState("");l.useEffect(()=>{t&&(async()=>{let{default:e}=await Promise.resolve().then(n.bind(n,8339));u(e.dump(r))})()},[t,r]);let m=()=>{c(!1),a()};return(0,s.jsxs)(L.Z,{open:t,onClose:m,"aria-labelledby":"config-dialog-title",maxWidth:"md",fullWidth:!0,children:[(0,s.jsx)(V.Z,{id:"config-dialog-title",children:(0,s.jsxs)(p.Z,{display:"flex",justifyContent:"space-between",alignItems:"center",children:[(0,s.jsx)(f.Z,{variant:"h6",style:{flexGrow:1},children:"Config"}),(0,s.jsxs)(p.Z,{children:[(0,s.jsx)(P.Z,{title:"Copy to clipboard",children:(0,s.jsx)(H.Z,{onClick:()=>{i.current&&(i.current.select(),document.execCommand("copy"),c(!0))},children:o?(0,s.jsx)(em.Z,{}):(0,s.jsx)(eF.Z,{})})}),(0,s.jsx)(P.Z,{title:"Download .yaml",children:(0,s.jsx)(H.Z,{onClick:()=>{let e=new Blob([d],{type:"text/yaml;charset=utf-8"}),t=URL.createObjectURL(e),n=document.createElement("a");n.href=t,n.download="config.yaml",document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(t)},children:(0,s.jsx)(T.Z,{})})})]})]})}),(0,s.jsx)(D.Z,{children:(0,s.jsx)(f.Z,{variant:"body1",component:"div",children:(0,s.jsx)("textarea",{ref:i,readOnly:!0,value:d,style:{width:"100%",minHeight:"400px",fontFamily:"monospace",border:"1px solid #ccc"}})})}),(0,s.jsx)(ec.Z,{children:(0,s.jsx)(h.Z,{onClick:m,color:"primary",children:"Close"})})]})}var eT=e=>{let{open:t,onClose:n,shareUrl:a}=e,r=(0,l.useRef)(null),[i,o]=(0,l.useState)(!1),c=()=>{n(),o(!1)};return(0,s.jsxs)(L.Z,{open:t,onClose:c,PaperProps:{style:{minWidth:"min(660px, 100%)"}},children:[(0,s.jsx)(V.Z,{children:"Your eval is ready to share"}),(0,s.jsxs)(D.Z,{children:[(0,s.jsx)(I.Z,{inputRef:r,value:a,fullWidth:!0,InputProps:{readOnly:!0,endAdornment:(0,s.jsx)(H.Z,{onClick:()=>{r.current&&(r.current.select(),document.execCommand("copy"),o(!0))},children:i?(0,s.jsx)(em.Z,{}):(0,s.jsx)(eF.Z,{})})}}),(0,s.jsx)(ek.Z,{sx:{fontSize:"0.75rem"},children:"Shared URLs are deleted after 2 weeks."})]}),(0,s.jsx)(ec.Z,{children:(0,s.jsx)(h.Z,{onClick:c,color:"primary",children:"Close"})})]})},eL=n(33),eD=e=>{let{open:t,onClose:n}=e,{maxTextLength:l,setMaxTextLength:a,wordBreak:r,setWordBreak:i,showInferenceDetails:o,setShowInferenceDetails:c,renderMarkdown:d,setRenderMarkdown:u,prettifyJson:x,setPrettifyJson:g,showPrompts:j,setShowPrompts:v}=W();return(0,s.jsxs)(L.Z,{open:t,onClose:n,fullWidth:!0,maxWidth:"sm",children:[(0,s.jsx)(V.Z,{children:"Table View Settings"}),(0,s.jsxs)(D.Z,{children:[(0,s.jsx)(p.Z,{children:(0,s.jsx)(P.Z,{title:"Forcing line breaks makes it easier to adjust column widths to your liking",children:(0,s.jsx)(ea.Z,{control:(0,s.jsx)(m.Z,{checked:"break-all"===r,onChange:e=>i(e.target.checked?"break-all":"break-word")}),label:"Force line breaks"})})}),(0,s.jsx)(p.Z,{children:(0,s.jsx)(ea.Z,{control:(0,s.jsx)(m.Z,{checked:d,onChange:e=>u(e.target.checked)}),label:"Render model outputs as Markdown"})}),(0,s.jsx)(p.Z,{children:(0,s.jsx)(ea.Z,{control:(0,s.jsx)(m.Z,{checked:x,onChange:e=>g(e.target.checked)}),label:"Prettify JSON outputs"})}),(0,s.jsx)(p.Z,{children:(0,s.jsx)(P.Z,{title:"Show the final prompt that produced the output in each cell.",children:(0,s.jsx)(ea.Z,{control:(0,s.jsx)(m.Z,{checked:j,onChange:e=>v(e.target.checked)}),label:"Show full prompt in output cell"})})}),(0,s.jsx)(p.Z,{children:(0,s.jsx)(P.Z,{title:"Show detailed inference statistics such as latency, tokens used, cost, etc.",children:(0,s.jsx)(ea.Z,{control:(0,s.jsx)(m.Z,{checked:o,onChange:e=>c(e.target.checked)}),label:"Show inference details"})})}),(0,s.jsxs)(p.Z,{maxWidth:"sm",children:[(0,s.jsxs)(f.Z,{mt:2,children:["Max text length: ",l]}),(0,s.jsx)(eL.ZP,{min:25,max:1e3,value:l,onChange:(e,t)=>a(t)})]})]}),(0,s.jsx)(ec.Z,{children:(0,s.jsx)(h.Z,{onClick:n,children:"Close"})})]})},eU=n(1938),eA=n(7580);let eW=eA.env.NEXT_PUBLIC_PROMPTFOO_REMOTE_API_BASE_URL||eA.env.NEXT_PUBLIC_PROMPTFOO_BASE_URL||eA.env.PROMPTFOO_REMOTE_API_BASE_URL||"https://api.promptfoo.dev",e_=eA.env.NEXT_PUBLIC_PROMPTFOO_BASE_URL||eA.env.PROMPTFOO_REMOTE_APP_BASE_URL||"https://app.promptfoo.dev";n(6911);let ez=(0,O.Z)(R.Z)(e=>{let{theme:t}=e;return{maxWidth:"100%",flexWrap:"wrap",[t.breakpoints.down("sm")]:{flexDirection:"column"}}});function eV(e){let{recentEvals:t,onRecentEvalSelected:n,defaultEvalId:i}=e,c=(0,o.useRouter)(),{table:R,config:O,setConfig:M,maxTextLength:T,wordBreak:L,showInferenceDetails:D,evalId:U}=W(),{setStateFromConfig:A}=(0,eU.o)(),[z,V]=l.useState(""),[B]=(0,F.Nr)(z,1e3),[J,H]=l.useState({}),G=l.useCallback((e,t)=>{H(n=>({...n,[e]:t}))},[H]),[X,Y]=l.useState("all"),[q,$]=l.useState(!1),[K,Q]=l.useState(""),[et,en]=l.useState(!1),es=async()=>{en(!0);try{let e=await fetch("".concat(eW,"/api/eval"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({data:{version:2,createdAt:new Date().toISOString(),results:{table:R},config:O}})}),{id:t}=await e.json(),n="".concat(e_,"/eval/").concat(t);Q(n),$(!0)}catch(e){alert("Sorry, something went wrong.")}finally{en(!1)}},[el,ea]=l.useState(!1),[er,ei]=l.useState(!1);(0,a.Z)(R,"Table data must be loaded before rendering ResultsView");let{head:eo}=R,ec=async()=>{(0,a.Z)(O,"Config must be loaded before clicking its description");let e=window.prompt("Enter new description:",O.description);if(null!==e&&e!==O.description){let t={...O,description:e};try{let e=await fetch("".concat(await (0,eS.b)(),"/api/eval/").concat(U),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({config:t})});if(!e.ok)throw Error("Network response was not ok");M(t)}catch(e){console.error("Failed to update table:",e)}}},ed=async()=>{if(window.confirm("Are you sure you want to delete this evaluation?"))try{let e=await fetch("".concat(await (0,eS.b)(),"/api/eval/").concat(U),{method:"DELETE"});if(!e.ok)throw Error("Network response was not ok");c.push("/")}catch(e){console.error("Failed to delete evaluation:",e),alert("Failed to delete evaluation")}},eu=l.useMemo(()=>[...eo.vars.map((e,t)=>({value:"Variable ".concat(t+1),label:"Var ".concat(t+1,": ").concat(eo.vars[t].length>100?eo.vars[t].slice(0,97)+"...":eo.vars[t]),group:"Variables"})),...eo.prompts.map((e,t)=>{let n=eo.prompts[t],s=n.label||n.display||n.raw;return{value:"Prompt ".concat(t+1),label:"Prompt ".concat(t+1,": ").concat(s.length>100?s.slice(0,97)+"...":s),group:"Prompts"}})],[eo.vars,eo.prompts]),[ep,eh]=l.useState({}),[em,ex]=l.useState(eu.map(e=>e.value)),[eg,ej]=l.useState(null);return(0,s.jsxs)("div",{style:{marginLeft:"1rem",marginRight:"1rem"},children:[(0,s.jsx)(p.Z,{mb:2,sx:{display:"flex",alignItems:"center"},children:(0,s.jsxs)(f.Z,{variant:"h5",sx:{flexGrow:1},children:[(0,s.jsx)("span",{className:"description",onClick:ec,children:(null==O?void 0:O.description)||U})," ",(null==O?void 0:O.description)&&(0,s.jsx)("span",{className:"description-filepath",children:U})]})}),(0,s.jsx)(p.Z,{py:"md",children:(0,s.jsxs)(ez,{direction:"row",spacing:4,alignItems:"center",children:[(0,s.jsx)(p.Z,{children:t&&t.length>0&&(0,s.jsx)(j.Z,{sx:{m:1,minWidth:200},size:"small",children:(0,s.jsx)(u.Z,{size:"small",options:t,renderOption:(e,t)=>(0,l.createElement)("li",{...e,key:t.id},t.label),style:{width:350},renderInput:e=>(0,s.jsx)(I.Z,{...e,label:"Eval run",variant:"outlined"}),defaultValue:t.find(e=>e.id===i)||t[0],onChange:(e,t)=>{t&&t.id&&n(t.id)},disableClearable:!0})})}),(0,s.jsx)(p.Z,{children:(0,s.jsxs)(j.Z,{sx:{m:1,minWidth:200,maxWidth:350},size:"small",children:[(0,s.jsx)(v.Z,{id:"visible-columns-label",children:"Columns"}),(0,s.jsx)(w.Z,{labelId:"visible-columns-label",id:"visible-columns",multiple:!0,value:em,onChange:e=>{let{target:{value:t}}=e;ex("string"==typeof t?t.split(","):t);let n=[...eo.vars.map((e,t)=>"Variable ".concat(t+1)),...eo.prompts.map((e,t)=>"Prompt ".concat(t+1))],s={};n.forEach(e=>{s[e]=("string"==typeof t?t.split(","):t).includes(e)}),eh(s)},input:(0,s.jsx)(k.Z,{label:"Visible columns"}),renderValue:e=>e.join(", "),children:eu.map(e=>(0,s.jsxs)(C.Z,{dense:!0,value:e.value,children:[(0,s.jsx)(m.Z,{checked:em.indexOf(e.value)>-1}),(0,s.jsx)(b.Z,{primary:e.label})]},e.value))})]})}),(0,s.jsx)(p.Z,{children:(0,s.jsxs)(j.Z,{sx:{minWidth:180},size:"small",children:[(0,s.jsx)(v.Z,{id:"failure-filter-mode-label",children:"Display"}),(0,s.jsxs)(w.Z,{labelId:"filter-mode-label",id:"filter-mode",value:X,onChange:e=>{let t=e.target.value;Y(t);let n={};eo.prompts.forEach((e,s)=>{n["Prompt ".concat(s+1)]="failures"===t}),H(n)},label:"Filter",children:[(0,s.jsx)(C.Z,{value:"all",children:"Show all results"}),(0,s.jsx)(C.Z,{value:"failures",children:"Show failures only"}),(0,s.jsx)(C.Z,{value:"different",children:"Show different only"})]})]})}),(0,s.jsx)(p.Z,{children:(0,s.jsx)(I.Z,{sx:{minWidth:180},size:"small",label:"Search",placeholder:"Text or regex",value:z,onChange:e=>{V(e.target.value)}})}),(0,s.jsx)(p.Z,{flexGrow:1}),(0,s.jsx)(p.Z,{display:"flex",justifyContent:"flex-end",children:(0,s.jsxs)(ez,{direction:"row",spacing:2,children:[(0,s.jsx)(h.Z,{color:"primary",onClick:e=>{ej(e.currentTarget)},startIcon:(0,s.jsx)(d.Z,{}),children:"Eval actions"}),O&&(0,s.jsxs)(Z.Z,{id:"eval-actions-menu",anchorEl:eg,keepMounted:!0,open:!!eg,onClose:()=>{ej(null)},children:[(0,s.jsx)(P.Z,{title:"View the configuration that defines this eval",placement:"left",children:(0,s.jsxs)(C.Z,{onClick:()=>ea(!0),children:[(0,s.jsx)(y.Z,{children:(0,s.jsx)(E.Z,{fontSize:"small"})}),"View YAML"]})}),(0,s.jsx)(P.Z,{title:"Edit this eval in the web UI",placement:"left",children:(0,s.jsxs)(C.Z,{onClick:()=>{A(O),c.push("/setup/")},children:[(0,s.jsx)(y.Z,{children:(0,s.jsx)(g.Z,{fontSize:"small"})}),"Edit Eval"]})}),(0,s.jsx)(_,{}),(null==O?void 0:O.sharing)&&(0,s.jsx)(P.Z,{title:"Generate a unique URL that others can access",placement:"left",children:(0,s.jsxs)(C.Z,{onClick:es,disabled:et,children:[(0,s.jsx)(y.Z,{children:et?(0,s.jsx)(r.Z,{size:16}):(0,s.jsx)(N.Z,{fontSize:"small"})}),"Share"]})}),(0,s.jsx)(P.Z,{title:"Delete this eval",placement:"left",children:(0,s.jsxs)(C.Z,{onClick:ed,children:[(0,s.jsx)(y.Z,{children:(0,s.jsx)(x.Z,{fontSize:"small"})}),"Delete"]})})]}),(0,s.jsx)(P.Z,{title:"Edit table view settings",placement:"bottom",children:(0,s.jsx)(h.Z,{color:"primary",onClick:()=>ei(!0),startIcon:(0,s.jsx)(S.Z,{}),children:"Table Settings"})})]})})]})}),(0,s.jsx)(ee,{columnVisibility:ep}),(0,s.jsx)(eO,{maxTextLength:T,columnVisibility:ep,wordBreak:L,showStats:D,filterMode:X,failureFilter:J,searchText:B,onFailureFilterToggle:G}),(0,s.jsx)(eM,{open:el,onClose:()=>ea(!1)}),(0,s.jsx)(eT,{open:q,onClose:()=>$(!1),shareUrl:K}),(0,s.jsx)(eD,{open:er,onClose:()=>ei(!1)})]})}var eB=n(279);async function eJ(){let e=(0,c.createClientComponentClient)(),{data:{user:t}}=await e.auth.getUser();(0,a.Z)(t,"User not logged in");let{data:n,error:s}=await e.from("EvaluationResult").select("id, createdAt").eq("user_id",t.id).order("createdAt",{ascending:!1}).limit(100);return n||[]}async function eH(e){let t=(0,c.createClientComponentClient)(),{data:n,error:s}=await t.from("EvaluationResult").select("*").eq("id",e).single();return n}function eG(e){var t;let{fetchId:n,preloadedData:c,recentEvals:d,defaultEvalId:u}=e,p=(0,o.useRouter)(),{table:h,setTable:m,setConfig:x,setEvalId:g}=W(),[j,f]=l.useState(!1),[v,b]=l.useState(!1),[y,Z]=l.useState(d||[]),C=async()=>{let e=await fetch("".concat(await (0,eS.b)(),"/api/results"),{cache:"no-store"}),t=await e.json();return Z(t.data),t.data},k=l.useCallback(async e=>{let t=await fetch("".concat(await (0,eS.b)(),"/api/results/").concat(e),{cache:"no-store"}),n=await t.json();m(n.data.results.table),x(n.data.config),g(e)},[m,x,g]),w=async e=>{eB.Ox?(f(!1),p.push("/eval/remote:".concat(encodeURIComponent(e)))):p.push("/eval/?evalId=".concat(encodeURIComponent(e)))},[S,N]=l.useState(u||(null===(t=y[0])||void 0===t?void 0:t.id)),R=(0,o.useSearchParams)(),I=R?R.get("evalId"):null;return(l.useEffect(()=>{if(I){let e=async()=>{await k(I),f(!0),N(I),C()};e()}else if(c){var e;m(null===(e=c.data.results)||void 0===e?void 0:e.table),x(c.data.config),f(!0)}else if(n){let e=async()=>{var e;let t="".concat(eW,"/api/eval/").concat(n);console.log("Fetching eval from remote server",t);let s=await fetch(t);if(!s.ok){b(!0);return}let l=await s.json();m(null===(e=l.data.results)||void 0===e?void 0:e.table),x(l.data.config),f(!0)};e()}else if(eB.T8)(0,eS.b)().then(e=>{let t=(0,i.io)(e);return t.on("init",e=>{console.log("Initialized socket connection",e),f(!0),m(null==e?void 0:e.results.table),x(null==e?void 0:e.config),C().then(e=>{var t,n;N(null===(t=e[0])||void 0===t?void 0:t.id),g(null===(n=e[0])||void 0===n?void 0:n.id)})}),t.on("update",e=>{console.log("Received data update",e),m(e.results.table),x(e.config),C().then(e=>{var t;let n=null===(t=e[0])||void 0===t?void 0:t.id;n&&(N(n),g(n))})}),()=>{t.disconnect()}});else if(eB.Ox)eJ().then(e=>{Z(e.map(e=>({id:e.id,label:e.createdAt}))),e.length>0&&eH(e[0].id).then(t=>{(0,a.Z)(t,"Eval not found");let n=t.results,s=t.config;N(e[0].id),m(n.table),x(s),f(!0)})});else{let e=async()=>{let e=await C();if(!(e.length>0))return(0,s.jsx)("div",{className:"notice",children:"No evals yet. Share some evals to this server and they will appear here."});{let t=await (0,eS.b)(),n=e[0].id,s=await fetch("".concat(t,"/api/results/").concat(n)),l=await s.json();m(l.data.results.table),x(l.data.config),f(!0),N(n),g(n)}};e()}},[n,m,x,g,k,c,N,I]),v)?(0,s.jsx)("div",{className:"notice",children:"404 Eval not found"}):j&&h?(0,s.jsx)(eV,{defaultEvalId:S,recentEvals:y,onRecentEvalSelected:w}):(0,s.jsxs)("div",{className:"notice",children:[(0,s.jsx)("div",{children:(0,s.jsx)(r.Z,{size:22})}),(0,s.jsx)("div",{children:"Loading eval data"})]})}n(5038)},279:function(e,t,n){"use strict";n.d(t,{Ox:function(){return a},T8:function(){return l},eA:function(){return r}});var s=n(7580);let l=!s.env.NEXT_PUBLIC_PROMPTFOO_BUILD_STANDALONE_SERVER,a=!!s.env.NEXT_PUBLIC_PROMPTFOO_USE_SUPABASE,r=""},1938:function(e,t,n){"use strict";n.d(t,{o:function(){return a}});var s=n(4660),l=n(4810);let a=(0,s.Ue)()((0,l.tJ)((e,t)=>({env:{},testCases:[],description:"",providers:[],prompts:[],defaultTest:{},evaluateOptions:{},setEnv:t=>e({env:t}),setTestCases:t=>e({testCases:t}),setDescription:t=>e({description:t}),setProviders:t=>e({providers:t}),setPrompts:t=>e({prompts:t}),setDefaultTest:t=>e({defaultTest:t}),setEvaluateOptions:t=>e({evaluateOptions:t}),setStateFromConfig:t=>{let n={};t.description&&(n.description=t.description||""),t.tests&&(n.testCases=t.tests),t.providers&&(n.providers=t.providers),t.prompts&&("string"==typeof t.prompts?n.prompts=[t.prompts]:Array.isArray(t.prompts)?n.prompts=t.prompts.filter(e=>"string"==typeof e&&!e.endsWith(".txt")&&!e.endsWith(".json")&&!e.endsWith(".yaml")):console.warn("Invalid prompts config",t.prompts)),e(n)},getTestSuite:()=>{let{description:e,testCases:n,providers:s,prompts:l,env:a}=t();return{env:a,description:e,providers:s,prompts:l,tests:n}}}),{name:"promptfoo",skipHydration:!0}))},8715:function(){},5038:function(){},2604:function(){},6911:function(){},5777:function(){}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[72],{7820:function(e,t,r){var o=r(2265);let n=o.createContext({});t.Z=n},3375:function(e,t,r){r.d(t,{Z:function(){return ei}});var o=r(3428),n=r(791),i=r(2265);r(9176);var l=r(7042),a=r(5600),s=r(7282),u=r(3931),p=r(5843),c=r(7927),d=r(7820),f=r(6520),h=r(5702);function m(e){return(0,h.Z)("MuiList",e)}(0,f.Z)("MuiList",["root","padding","dense","subheader"]);var v=r(7437);let Z=["children","className","component","dense","disablePadding","subheader"],g=e=>{let{classes:t,disablePadding:r,dense:o,subheader:n}=e;return(0,a.Z)({root:["root",!r&&"padding",o&&"dense",n&&"subheader"]},m,t)},b=(0,p.ZP)("ul",{name:"MuiList",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:r}=e;return[t.root,!r.disablePadding&&t.padding,r.dense&&t.dense,r.subheader&&t.subheader]}})(({ownerState:e})=>(0,o.Z)({listStyle:"none",margin:0,padding:0,position:"relative"},!e.disablePadding&&{paddingTop:8,paddingBottom:8},e.subheader&&{paddingTop:0})),y=i.forwardRef(function(e,t){let r=(0,c.Z)({props:e,name:"MuiList"}),{children:a,className:s,component:u="ul",dense:p=!1,disablePadding:f=!1,subheader:h}=r,m=(0,n.Z)(r,Z),y=i.useMemo(()=>({dense:p}),[p]),P=(0,o.Z)({},r,{component:u,dense:p,disablePadding:f}),x=g(P);return(0,v.jsx)(d.Z.Provider,{value:y,children:(0,v.jsxs)(b,(0,o.Z)({as:u,className:(0,l.Z)(x.root,s),ref:t,ownerState:P},m,{children:[h,a]}))})});var P=r(878).Z,x=r(7663),S=r(8519);let M=["actions","autoFocus","autoFocusItem","children","className","disabledItemsFocusable","disableListWrap","onKeyDown","variant"];function w(e,t,r){return e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:r?null:e.firstChild}function C(e,t,r){return e===t?r?e.firstChild:e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:r?null:e.lastChild}function E(e,t){if(void 0===t)return!0;let r=e.innerText;return void 0===r&&(r=e.textContent),0!==(r=r.trim().toLowerCase()).length&&(t.repeating?r[0]===t.keys[0]:0===r.indexOf(t.keys.join("")))}function k(e,t,r,o,n,i){let l=!1,a=n(e,t,!!t&&r);for(;a;){if(a===e.firstChild){if(l)return!1;l=!0}let t=!o&&(a.disabled||"true"===a.getAttribute("aria-disabled"));if(a.hasAttribute("tabindex")&&E(a,i)&&!t)return a.focus(),!0;a=n(e,a,r)}return!1}let T=i.forwardRef(function(e,t){let{actions:r,autoFocus:l=!1,autoFocusItem:a=!1,children:s,className:p,disabledItemsFocusable:c=!1,disableListWrap:d=!1,onKeyDown:f,variant:h="selectedMenu"}=e,m=(0,n.Z)(e,M),Z=i.useRef(null),g=i.useRef({keys:[],repeating:!0,previousKeyMatched:!0,lastTime:null});(0,S.Z)(()=>{l&&Z.current.focus()},[l]),i.useImperativeHandle(r,()=>({adjustStyleForScrollbar:(e,t)=>{let r=!Z.current.style.width;if(e.clientHeight<Z.current.clientHeight&&r){let r=`${P((0,u.Z)(e))}px`;Z.current.style["rtl"===t.direction?"paddingLeft":"paddingRight"]=r,Z.current.style.width=`calc(100% + ${r})`}return Z.current}}),[]);let b=(0,x.Z)(Z,t),T=-1;i.Children.forEach(s,(e,t)=>{if(!i.isValidElement(e)){T===t&&(T+=1)>=s.length&&(T=-1);return}e.props.disabled||("selectedMenu"===h&&e.props.selected?T=t:-1!==T||(T=t)),T===t&&(e.props.disabled||e.props.muiSkipListHighlight||e.type.muiSkipListHighlight)&&(T+=1)>=s.length&&(T=-1)});let R=i.Children.map(s,(e,t)=>{if(t===T){let t={};return a&&(t.autoFocus=!0),void 0===e.props.tabIndex&&"selectedMenu"===h&&(t.tabIndex=0),i.cloneElement(e,t)}return e});return(0,v.jsx)(y,(0,o.Z)({role:"menu",ref:b,className:p,onKeyDown:e=>{let t=Z.current,r=e.key,o=(0,u.Z)(t).activeElement;if("ArrowDown"===r)e.preventDefault(),k(t,o,d,c,w);else if("ArrowUp"===r)e.preventDefault(),k(t,o,d,c,C);else if("Home"===r)e.preventDefault(),k(t,null,d,c,w);else if("End"===r)e.preventDefault(),k(t,null,d,c,C);else if(1===r.length){let n=g.current,i=r.toLowerCase(),l=performance.now();n.keys.length>0&&(l-n.lastTime>500?(n.keys=[],n.repeating=!0,n.previousKeyMatched=!0):n.repeating&&i!==n.keys[0]&&(n.repeating=!1)),n.lastTime=l,n.keys.push(i);let a=o&&!n.repeating&&E(o,n);n.previousKeyMatched&&(a||k(t,o,!1,c,w,n))?e.preventDefault():n.previousKeyMatched=!1}f&&f(e)},tabIndex:l?0:-1},m,{children:R}))});var R=r(3655),z=r(494),D=r(6649),N=r(6176),L=r(1376),F=r(9872);function j(e){return(0,h.Z)("MuiPopover",e)}(0,f.Z)("MuiPopover",["root","paper"]);let H=["onEntering"],O=["action","anchorEl","anchorOrigin","anchorPosition","anchorReference","children","className","container","elevation","marginThreshold","open","PaperProps","slots","slotProps","transformOrigin","TransitionComponent","transitionDuration","TransitionProps"],I=["slotProps"];function K(e,t){let r=0;return"number"==typeof t?r=t:"center"===t?r=e.height/2:"bottom"===t&&(r=e.height),r}function _(e,t){let r=0;return"number"==typeof t?r=t:"center"===t?r=e.width/2:"right"===t&&(r=e.width),r}function A(e){return[e.horizontal,e.vertical].map(e=>"number"==typeof e?`${e}px`:e).join(" ")}function W(e){return"function"==typeof e?e():e}let $=e=>{let{classes:t}=e;return(0,a.Z)({root:["root"],paper:["paper"]},j,t)},V=(0,p.ZP)(L.Z,{name:"MuiPopover",slot:"Root",overridesResolver:(e,t)=>t.root})({}),B=(0,p.ZP)(F.Z,{name:"MuiPopover",slot:"Paper",overridesResolver:(e,t)=>t.paper})({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:16,minHeight:16,maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0}),X=i.forwardRef(function(e,t){var r,a,p;let d=(0,c.Z)({props:e,name:"MuiPopover"}),{action:f,anchorEl:h,anchorOrigin:m={vertical:"top",horizontal:"left"},anchorPosition:Z,anchorReference:g="anchorEl",children:b,className:y,container:P,elevation:S=8,marginThreshold:M=16,open:w,PaperProps:C={},slots:E,slotProps:k,transformOrigin:T={vertical:"top",horizontal:"left"},TransitionComponent:L=N.Z,transitionDuration:F="auto",TransitionProps:{onEntering:j}={}}=d,X=(0,n.Z)(d.TransitionProps,H),U=(0,n.Z)(d,O),Y=null!=(r=null==k?void 0:k.paper)?r:C,q=i.useRef(),G=(0,x.Z)(q,Y.ref),J=(0,o.Z)({},d,{anchorOrigin:m,anchorReference:g,elevation:S,marginThreshold:M,externalPaperSlotProps:Y,transformOrigin:T,TransitionComponent:L,transitionDuration:F,TransitionProps:X}),Q=$(J),ee=i.useCallback(()=>{if("anchorPosition"===g)return Z;let e=W(h),t=e&&1===e.nodeType?e:(0,u.Z)(q.current).body,r=t.getBoundingClientRect();return{top:r.top+K(r,m.vertical),left:r.left+_(r,m.horizontal)}},[h,m.horizontal,m.vertical,Z,g]),et=i.useCallback(e=>({vertical:K(e,T.vertical),horizontal:_(e,T.horizontal)}),[T.horizontal,T.vertical]),er=i.useCallback(e=>{let t={width:e.offsetWidth,height:e.offsetHeight},r=et(t);if("none"===g)return{top:null,left:null,transformOrigin:A(r)};let o=ee(),n=o.top-r.vertical,i=o.left-r.horizontal,l=n+t.height,a=i+t.width,s=(0,D.Z)(W(h)),u=s.innerHeight-M,p=s.innerWidth-M;if(n<M){let e=n-M;n-=e,r.vertical+=e}else if(l>u){let e=l-u;n-=e,r.vertical+=e}if(i<M){let e=i-M;i-=e,r.horizontal+=e}else if(a>p){let e=a-p;i-=e,r.horizontal+=e}return{top:`${Math.round(n)}px`,left:`${Math.round(i)}px`,transformOrigin:A(r)}},[h,g,ee,et,M]),[eo,en]=i.useState(w),ei=i.useCallback(()=>{let e=q.current;if(!e)return;let t=er(e);null!==t.top&&(e.style.top=t.top),null!==t.left&&(e.style.left=t.left),e.style.transformOrigin=t.transformOrigin,en(!0)},[er]);i.useEffect(()=>{w&&ei()}),i.useImperativeHandle(f,()=>w?{updatePosition:()=>{ei()}}:null,[w,ei]),i.useEffect(()=>{if(!w)return;let e=(0,z.Z)(()=>{ei()}),t=(0,D.Z)(h);return t.addEventListener("resize",e),()=>{e.clear(),t.removeEventListener("resize",e)}},[h,w,ei]);let el=F;"auto"!==F||L.muiSupportAuto||(el=void 0);let ea=P||(h?(0,u.Z)(W(h)).body:void 0),es=null!=(a=null==E?void 0:E.root)?a:V,eu=null!=(p=null==E?void 0:E.paper)?p:B,ep=(0,s.y)({elementType:eu,externalSlotProps:(0,o.Z)({},Y,{style:eo?Y.style:(0,o.Z)({},Y.style,{opacity:0})}),additionalProps:{elevation:S,ref:G},ownerState:J,className:(0,l.Z)(Q.paper,null==Y?void 0:Y.className)}),ec=(0,s.y)({elementType:es,externalSlotProps:(null==k?void 0:k.root)||{},externalForwardedProps:U,additionalProps:{ref:t,slotProps:{backdrop:{invisible:!0}},container:ea,open:w},ownerState:J,className:(0,l.Z)(Q.root,y)}),{slotProps:ed}=ec,ef=(0,n.Z)(ec,I);return(0,v.jsx)(es,(0,o.Z)({},ef,!(0,R.X)(es)&&{slotProps:ed},{children:(0,v.jsx)(L,(0,o.Z)({appear:!0,in:w,onEntering:(e,t)=>{j&&j(e,t),ei()},onExited:()=>{en(!1)},timeout:el},X,{children:(0,v.jsx)(eu,(0,o.Z)({},ep,{children:b}))}))}))});var U=r(1101);function Y(e){return(0,h.Z)("MuiMenu",e)}(0,f.Z)("MuiMenu",["root","paper","list"]);let q=["onEntering"],G=["autoFocus","children","className","disableAutoFocusItem","MenuListProps","onClose","open","PaperProps","PopoverClasses","transitionDuration","TransitionProps","variant","slots","slotProps"],J={vertical:"top",horizontal:"right"},Q={vertical:"top",horizontal:"left"},ee=e=>{let{classes:t}=e;return(0,a.Z)({root:["root"],paper:["paper"],list:["list"]},Y,t)},et=(0,p.ZP)(X,{shouldForwardProp:e=>(0,p.FO)(e)||"classes"===e,name:"MuiMenu",slot:"Root",overridesResolver:(e,t)=>t.root})({}),er=(0,p.ZP)(B,{name:"MuiMenu",slot:"Paper",overridesResolver:(e,t)=>t.paper})({maxHeight:"calc(100% - 96px)",WebkitOverflowScrolling:"touch"}),eo=(0,p.ZP)(T,{name:"MuiMenu",slot:"List",overridesResolver:(e,t)=>t.list})({outline:0}),en=i.forwardRef(function(e,t){var r,a;let u=(0,c.Z)({props:e,name:"MuiMenu"}),{autoFocus:p=!0,children:d,className:f,disableAutoFocusItem:h=!1,MenuListProps:m={},onClose:Z,open:g,PaperProps:b={},PopoverClasses:y,transitionDuration:P="auto",TransitionProps:{onEntering:x}={},variant:S="selectedMenu",slots:M={},slotProps:w={}}=u,C=(0,n.Z)(u.TransitionProps,q),E=(0,n.Z)(u,G),k=(0,U.Z)(),T="rtl"===k.direction,R=(0,o.Z)({},u,{autoFocus:p,disableAutoFocusItem:h,MenuListProps:m,onEntering:x,PaperProps:b,transitionDuration:P,TransitionProps:C,variant:S}),z=ee(R),D=p&&!h&&g,N=i.useRef(null),L=-1;i.Children.map(d,(e,t)=>{i.isValidElement(e)&&(e.props.disabled||("selectedMenu"===S&&e.props.selected?L=t:-1!==L||(L=t)))});let F=null!=(r=M.paper)?r:er,j=null!=(a=w.paper)?a:b,H=(0,s.y)({elementType:M.root,externalSlotProps:w.root,ownerState:R,className:[z.root,f]}),O=(0,s.y)({elementType:F,externalSlotProps:j,ownerState:R,className:z.paper});return(0,v.jsx)(et,(0,o.Z)({onClose:Z,anchorOrigin:{vertical:"bottom",horizontal:T?"right":"left"},transformOrigin:T?J:Q,slots:{paper:F,root:M.root},slotProps:{root:H,paper:O},open:g,ref:t,transitionDuration:P,TransitionProps:(0,o.Z)({onEntering:(e,t)=>{N.current&&N.current.adjustStyleForScrollbar(e,k),x&&x(e,t)}},C),ownerState:R},E,{classes:y,children:(0,v.jsx)(eo,(0,o.Z)({onKeyDown:e=>{"Tab"===e.key&&(e.preventDefault(),Z&&Z(e,"tabKeyDown"))},actions:N,autoFocus:p&&(-1===L||h),autoFocusItem:D,variant:S},m,{className:(0,l.Z)(z.list,m.className),children:d}))}))});var ei=en},494:function(e,t,r){var o=r(8078);t.Z=o.Z},673:function(e,t,r){r.d(t,{Z:function(){return n}});var o=r(2265),n=function(e,t){return o.isValidElement(e)&&-1!==t.indexOf(e.type.muiName)}},3931:function(e,t,r){var o=r(6278);t.Z=o.Z},6649:function(e,t,r){var o=r(8221);t.Z=o.Z},8519:function(e,t,r){var o=r(1091);t.Z=o.Z},8236:function(e,t){Symbol.for("react.element"),Symbol.for("react.portal"),Symbol.for("react.fragment"),Symbol.for("react.strict_mode"),Symbol.for("react.profiler"),Symbol.for("react.provider"),Symbol.for("react.context"),Symbol.for("react.server_context"),Symbol.for("react.forward_ref"),Symbol.for("react.suspense"),Symbol.for("react.suspense_list"),Symbol.for("react.memo"),Symbol.for("react.lazy"),Symbol.for("react.offscreen"),Symbol.for("react.module.reference")},9176:function(e,t,r){r(8236)}}]);
|