conductor-oss 0.2.18 → 0.2.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/dashboard.js +2 -2
- package/dist/commands/start.d.ts +3 -6
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +450 -220
- package/dist/commands/start.js.map +1 -1
- package/dist/index.js +0 -4
- package/dist/index.js.map +1 -1
- package/native/conductor +0 -0
- package/node_modules/@conductor-oss/core/dist/session-manager.js +1 -1
- package/node_modules/@conductor-oss/core/dist/session-manager.js.map +1 -1
- package/node_modules/@conductor-oss/plugin-agent-amp/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-agent-ccr/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-agent-claude-code/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-agent-codex/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-agent-cursor-cli/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-agent-droid/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-agent-gemini/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-agent-github-copilot/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-agent-opencode/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-agent-qwen-code/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-mcp-server/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-notifier-desktop/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-notifier-discord/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-runtime-tmux/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-scm-github/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-terminal-web/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-tracker-github/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-workspace-worktree/package.json +1 -1
- package/package.json +21 -22
- package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +0 -1
- package/web/.next/standalone/packages/web/.next/build-manifest.json +2 -2
- package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/routes-manifest.json +0 -6
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page/server-reference-manifest.json +7 -7
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.html +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.rsc +3 -3
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/api/access/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/attachments/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/boards/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/config/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/context-files/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/events/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/directory/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/github/repos/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/health/boards/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/health/sessions/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/notifications/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/preferences/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/repositories/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/actions/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/checks/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/diff/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feed/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/feedback/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/files/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/keys/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/kill/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/stream/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/restore/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/send/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/spawn/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/branches/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/route.js +4 -4
- package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/index.html +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/index.rsc +4 -4
- package/web/.next/standalone/packages/web/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/index.segments/_full.segment.rsc +4 -4
- package/web/.next/standalone/packages/web/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/index.segments/_index.segment.rsc +3 -3
- package/web/.next/standalone/packages/web/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/page/server-reference-manifest.json +7 -7
- package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page/server-reference-manifest.json +7 -7
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page/server-reference-manifest.json +7 -7
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page/server-reference-manifest.json +7 -7
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +0 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__1ed2e6c1._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__3d6b30a3._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__a0b6570d._.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0e4dc4f7.js +2 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__12eb9005._.js → [root-of-the-server]__48817f02._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__6622b514._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__869d9ac0._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__9dc23e5a._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_0e1412de._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_69e05fca._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_80efe193._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_b6d31783._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_c0f0e227._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_f36ddaa9._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_38e7b35d._.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_f665760b._.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_f2ebd7a9._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_79316445._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_a078c137._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_page_tsx_cd282e82._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{packages_web_src_components_3809c507._.js → packages_web_src_components_6cab1c8c._.js} +1 -1
- package/web/.next/standalone/packages/web/.next/server/functions-config-manifest.json +1 -2
- package/web/.next/standalone/packages/web/.next/server/pages/404.html +1 -1
- package/web/.next/standalone/packages/web/.next/server/pages/500.html +2 -2
- package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +8 -8
- package/web/.next/standalone/packages/web/.next/static/chunks/062888342200567f.js +1 -0
- package/web/.next/{static/chunks/28dd6ef2af62b509.js → standalone/packages/web/.next/static/chunks/3b757dce050133c8.js} +2 -2
- package/web/.next/standalone/packages/web/.next/static/chunks/{c959976264f14eba.js → 5c7e8425945ad682.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/6c9a11faed9daf4d.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/8221b78965a50858.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/8de84e208e201d72.css +3 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{e862e73b22fe29c2.js → c4ea57fb949fb623.js} +1 -1
- package/web/.next/standalone/packages/web/src/components/layout/TopBar.tsx +8 -10
- package/web/.next/standalone/packages/web/src/features/dashboard/DashboardClient.tsx +32 -16
- package/web/.next/standalone/packages/web/src/features/sessions/SessionPageClient.tsx +12 -2
- package/web/.next/standalone/packages/web/src/proxy.ts +1 -0
- package/web/.next/static/chunks/062888342200567f.js +1 -0
- package/web/.next/{standalone/packages/web/.next/static/chunks/28dd6ef2af62b509.js → static/chunks/3b757dce050133c8.js} +2 -2
- package/web/.next/static/chunks/{c959976264f14eba.js → 5c7e8425945ad682.js} +1 -1
- package/web/.next/static/chunks/6c9a11faed9daf4d.js +1 -0
- package/web/.next/static/chunks/8221b78965a50858.js +1 -0
- package/web/.next/static/chunks/8de84e208e201d72.css +3 -0
- package/web/.next/static/chunks/{e862e73b22fe29c2.js → c4ea57fb949fb623.js} +1 -1
- package/dist/commands/watch.d.ts +0 -12
- package/dist/commands/watch.d.ts.map +0 -1
- package/dist/commands/watch.js +0 -84
- package/dist/commands/watch.js.map +0 -1
- package/dist/commands/webhook.d.ts +0 -12
- package/dist/commands/webhook.d.ts.map +0 -1
- package/dist/commands/webhook.js +0 -59
- package/dist/commands/webhook.js.map +0 -1
- package/node_modules/@conductor-oss/plugin-webhook/dist/index.d.ts +0 -28
- package/node_modules/@conductor-oss/plugin-webhook/dist/index.d.ts.map +0 -1
- package/node_modules/@conductor-oss/plugin-webhook/dist/index.js +0 -295
- package/node_modules/@conductor-oss/plugin-webhook/dist/index.js.map +0 -1
- package/node_modules/@conductor-oss/plugin-webhook/package.json +0 -11
- package/web/.next/standalone/packages/web/.next/server/app/api/agents/route/app-paths-manifest.json +0 -3
- package/web/.next/standalone/packages/web/.next/server/app/api/agents/route/build-manifest.json +0 -11
- package/web/.next/standalone/packages/web/.next/server/app/api/agents/route/server-reference-manifest.json +0 -4
- package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js +0 -8
- package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js.map +0 -5
- package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js.nft.json +0 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/agents/route_client-reference-manifest.js +0 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__7633d324._.js +0 -4
- package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__bf8faac8._.js +0 -4
- package/web/.next/standalone/packages/web/.next/server/chunks/packages_web__next-internal_server_app_api_agents_route_actions_29063d1a.js +0 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_78af9fdf._.js +0 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_c4bad84a._.js +0 -3
- package/web/.next/standalone/packages/web/.next/static/chunks/1e67fbc3874d3f51.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/2b2a24dff50e7dc9.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/483eb2824f5282c7.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/860d84e1f09476a4.css +0 -3
- package/web/.next/standalone/packages/web/src/app/api/agents/route.ts +0 -223
- package/web/.next/static/chunks/1e67fbc3874d3f51.js +0 -1
- package/web/.next/static/chunks/2b2a24dff50e7dc9.js +0 -1
- package/web/.next/static/chunks/483eb2824f5282c7.js +0 -1
- package/web/.next/static/chunks/860d84e1f09476a4.css +0 -3
- /package/web/.next/standalone/packages/web/.next/static/{eSF3qxz6RT8UXiwr-uibJ → P8IBAo_woCzrGXJiYCZto}/_buildManifest.js +0 -0
- /package/web/.next/standalone/packages/web/.next/static/{eSF3qxz6RT8UXiwr-uibJ → P8IBAo_woCzrGXJiYCZto}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/standalone/packages/web/.next/static/{eSF3qxz6RT8UXiwr-uibJ → P8IBAo_woCzrGXJiYCZto}/_ssgManifest.js +0 -0
- /package/web/.next/static/{eSF3qxz6RT8UXiwr-uibJ → P8IBAo_woCzrGXJiYCZto}/_buildManifest.js +0 -0
- /package/web/.next/static/{eSF3qxz6RT8UXiwr-uibJ → P8IBAo_woCzrGXJiYCZto}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{eSF3qxz6RT8UXiwr-uibJ → P8IBAo_woCzrGXJiYCZto}/_ssgManifest.js +0 -0
package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__3d6b30a3._.js
CHANGED
|
@@ -9,6 +9,6 @@ module.exports=[31387,(e,t,r)=>{(()=>{"use strict";let r,n,a,i,o;var s,l,c,u,d,p
|
|
|
9
9
|
Read more: https://nextjs.org/docs/messages/middleware-request-page
|
|
10
10
|
`)}}class p extends Error{constructor(){super(`The request.ua has been removed in favour of \`userAgent\` function.
|
|
11
11
|
Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent
|
|
12
|
-
`)}}let h="_N_T_",f={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",apiNode:"api-node",apiEdge:"api-edge",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",pagesDirBrowser:"pages-dir-browser",pagesDirEdge:"pages-dir-edge",pagesDirNode:"pages-dir-node"};function g(e){var t,r,n,a,i,o=[],s=0;function l(){for(;s<e.length&&/\s/.test(e.charAt(s));)s+=1;return s<e.length}for(;s<e.length;){for(t=s,i=!1;l();)if(","===(r=e.charAt(s))){for(n=s,s+=1,l(),a=s;s<e.length&&"="!==(r=e.charAt(s))&&";"!==r&&","!==r;)s+=1;s<e.length&&"="===e.charAt(s)?(i=!0,s=a,o.push(e.substring(t,n)),t=s):s=n+1}else s+=1;(!i||s>=e.length)&&o.push(e.substring(t,e.length))}return o}function y(e){let t={},r=[];if(e)for(let[n,a]of e.entries())"set-cookie"===n.toLowerCase()?(r.push(...g(a)),t[n]=1===r.length?r[0]:r):t[n]=a;return t}function m(e){try{return String(new URL(String(e)))}catch(t){throw Object.defineProperty(Error(`URL is malformed "${String(e)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`,{cause:t}),"__NEXT_ERROR_CODE",{value:"E61",enumerable:!1,configurable:!0})}}({...f,GROUP:{builtinReact:[f.reactServerComponents,f.actionBrowser],serverOnly:[f.reactServerComponents,f.actionBrowser,f.instrument,f.middleware],neutralTarget:[f.apiNode,f.apiEdge],clientOnly:[f.serverSideRendering,f.appPagesBrowser],bundled:[f.reactServerComponents,f.actionBrowser,f.serverSideRendering,f.appPagesBrowser,f.shared,f.instrument,f.middleware],appPages:[f.reactServerComponents,f.serverSideRendering,f.appPagesBrowser,f.actionBrowser]}});let v=Symbol("response"),b=Symbol("passThrough"),_=Symbol("waitUntil");class w{constructor(e,t){this[b]=!1,this[_]=t?{kind:"external",function:t}:{kind:"internal",promises:[]}}respondWith(e){this[v]||(this[v]=Promise.resolve(e))}passThroughOnException(){this[b]=!0}waitUntil(e){if("external"===this[_].kind)return(0,this[_].function)(e);this[_].promises.push(e)}}class S extends w{constructor(e){var t;super(e.request,null==(t=e.context)?void 0:t.waitUntil),this.sourcePage=e.page}get request(){throw Object.defineProperty(new u({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}respondWith(){throw Object.defineProperty(new u({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}}function E(e){return e.replace(/\/$/,"")||"/"}function C(e){let t=e.indexOf("#"),r=e.indexOf("?"),n=r>-1&&(t<0||r<t);return n||t>-1?{pathname:e.substring(0,n?r:t),query:n?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}function R(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:n,hash:a}=C(e);return`${t}${r}${n}${a}`}function O(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:n,hash:a}=C(e);return`${r}${t}${n}${a}`}function T(e,t){if("string"!=typeof e)return!1;let{pathname:r}=C(e);return r===t||r.startsWith(t+"/")}let P=new WeakMap;function x(e,t){let r;if(!t)return{pathname:e};let n=P.get(t);n||(n=t.map(e=>e.toLowerCase()),P.set(t,n));let a=e.split("/",2);if(!a[1])return{pathname:e};let i=a[1].toLowerCase(),o=n.indexOf(i);return o<0?{pathname:e}:(r=t[o],{pathname:e=e.slice(r.length+1)||"/",detectedLocale:r})}let A=/(?!^https?:\/\/)(127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)/;function N(e,t){return new URL(String(e).replace(A,"localhost"),t&&String(t).replace(A,"localhost"))}let I=Symbol("NextURLInternal");class k{constructor(e,t,r){let n,a;"object"==typeof t&&"pathname"in t||"string"==typeof t?(n=t,a=r||{}):a=r||t||{},this[I]={url:N(e,n??a.base),options:a,basePath:""},this.analyze()}analyze(){var e,t,r,n,a;let i=function(e,t){let{basePath:r,i18n:n,trailingSlash:a}=t.nextConfig??{},i={pathname:e,trailingSlash:"/"!==e?e.endsWith("/"):a};r&&T(i.pathname,r)&&(i.pathname=function(e,t){if(!T(e,t))return e;let r=e.slice(t.length);return r.startsWith("/")?r:`/${r}`}(i.pathname,r),i.basePath=r);let o=i.pathname;if(i.pathname.startsWith("/_next/data/")&&i.pathname.endsWith(".json")){let e=i.pathname.replace(/^\/_next\/data\//,"").replace(/\.json$/,"").split("/");i.buildId=e[0],o="index"!==e[1]?`/${e.slice(1).join("/")}`:"/",!0===t.parseData&&(i.pathname=o)}if(n){let e=t.i18nProvider?t.i18nProvider.analyze(i.pathname):x(i.pathname,n.locales);i.locale=e.detectedLocale,i.pathname=e.pathname??i.pathname,!e.detectedLocale&&i.buildId&&(e=t.i18nProvider?t.i18nProvider.analyze(o):x(o,n.locales)).detectedLocale&&(i.locale=e.detectedLocale)}return i}(this[I].url.pathname,{nextConfig:this[I].options.nextConfig,parseData:!0,i18nProvider:this[I].options.i18nProvider}),o=function(e,t){let r;if(t?.host&&!Array.isArray(t.host))r=t.host.toString().split(":",1)[0];else{if(!e.hostname)return;r=e.hostname}return r.toLowerCase()}(this[I].url,this[I].options.headers);this[I].domainLocale=this[I].options.i18nProvider?this[I].options.i18nProvider.detectDomainLocale(o):function(e,t,r){if(e){for(let n of(r&&(r=r.toLowerCase()),e))if(t===n.domain?.split(":",1)[0].toLowerCase()||r===n.defaultLocale.toLowerCase()||n.locales?.some(e=>e.toLowerCase()===r))return n}}(null==(t=this[I].options.nextConfig)||null==(e=t.i18n)?void 0:e.domains,o);let s=(null==(r=this[I].domainLocale)?void 0:r.defaultLocale)||(null==(a=this[I].options.nextConfig)||null==(n=a.i18n)?void 0:n.defaultLocale);this[I].url.pathname=i.pathname,this[I].defaultLocale=s,this[I].basePath=i.basePath??"",this[I].buildId=i.buildId,this[I].locale=i.locale??s,this[I].trailingSlash=i.trailingSlash}formatPathname(){var e;let t;return t=function(e,t,r,n){if(!t||t===r)return e;let a=e.toLowerCase();return!n&&(T(a,"/api")||T(a,`/${t.toLowerCase()}`))?e:R(e,`/${t}`)}((e={basePath:this[I].basePath,buildId:this[I].buildId,defaultLocale:this[I].options.forceLocale?void 0:this[I].defaultLocale,locale:this[I].locale,pathname:this[I].url.pathname,trailingSlash:this[I].trailingSlash}).pathname,e.locale,e.buildId?void 0:e.defaultLocale,e.ignorePrefix),(e.buildId||!e.trailingSlash)&&(t=E(t)),e.buildId&&(t=O(R(t,`/_next/data/${e.buildId}`),"/"===e.pathname?"index.json":".json")),t=R(t,e.basePath),!e.buildId&&e.trailingSlash?t.endsWith("/")?t:O(t,"/"):E(t)}formatSearch(){return this[I].url.search}get buildId(){return this[I].buildId}set buildId(e){this[I].buildId=e}get locale(){return this[I].locale??""}set locale(e){var t,r;if(!this[I].locale||!(null==(r=this[I].options.nextConfig)||null==(t=r.i18n)?void 0:t.locales.includes(e)))throw Object.defineProperty(TypeError(`The NextURL configuration includes no locale "${e}"`),"__NEXT_ERROR_CODE",{value:"E597",enumerable:!1,configurable:!0});this[I].locale=e}get defaultLocale(){return this[I].defaultLocale}get domainLocale(){return this[I].domainLocale}get searchParams(){return this[I].url.searchParams}get host(){return this[I].url.host}set host(e){this[I].url.host=e}get hostname(){return this[I].url.hostname}set hostname(e){this[I].url.hostname=e}get port(){return this[I].url.port}set port(e){this[I].url.port=e}get protocol(){return this[I].url.protocol}set protocol(e){this[I].url.protocol=e}get href(){let e=this.formatPathname(),t=this.formatSearch();return`${this.protocol}//${this.host}${e}${t}${this.hash}`}set href(e){this[I].url=N(e),this.analyze()}get origin(){return this[I].url.origin}get pathname(){return this[I].url.pathname}set pathname(e){this[I].url.pathname=e}get hash(){return this[I].url.hash}set hash(e){this[I].url.hash=e}get search(){return this[I].url.search}set search(e){this[I].url.search=e}get password(){return this[I].url.password}set password(e){this[I].url.password=e}get username(){return this[I].url.username}set username(e){this[I].url.username=e}get basePath(){return this[I].basePath}set basePath(e){this[I].basePath=e.startsWith("/")?e:`/${e}`}toString(){return this.href}toJSON(){return this.href}[Symbol.for("edge-runtime.inspect.custom")](){return{href:this.href,origin:this.origin,protocol:this.protocol,username:this.username,password:this.password,host:this.host,hostname:this.hostname,port:this.port,pathname:this.pathname,search:this.search,searchParams:this.searchParams,hash:this.hash}}clone(){return new k(String(this),this[I].options)}}var M,D,L,j,U,H,K,W,$,B,q,V,J=e.i(9254);let G=Symbol("internal request");class F extends Request{constructor(e,t={}){const r="string"!=typeof e&&"url"in e?e.url:String(e);m(r),t.body&&"half"!==t.duplex&&(t.duplex="half"),e instanceof Request?super(e,t):super(r,t);const n=new k(r,{headers:y(this.headers),nextConfig:t.nextConfig});this[G]={cookies:new J.RequestCookies(this.headers),nextUrl:n,url:n.toString()}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,nextUrl:this.nextUrl,url:this.url,bodyUsed:this.bodyUsed,cache:this.cache,credentials:this.credentials,destination:this.destination,headers:Object.fromEntries(this.headers),integrity:this.integrity,keepalive:this.keepalive,method:this.method,mode:this.mode,redirect:this.redirect,referrer:this.referrer,referrerPolicy:this.referrerPolicy,signal:this.signal}}get cookies(){return this[G].cookies}get nextUrl(){return this[G].nextUrl}get page(){throw new d}get ua(){throw new p}get url(){return this[G].url}}class X{static get(e,t,r){let n=Reflect.get(e,t,r);return"function"==typeof n?n.bind(e):n}static set(e,t,r,n){return Reflect.set(e,t,r,n)}static has(e,t){return Reflect.has(e,t)}static deleteProperty(e,t){return Reflect.deleteProperty(e,t)}}let z=Symbol("internal response"),Y=new Set([301,302,303,307,308]);function Q(e,t){var r;if(null==e||null==(r=e.request)?void 0:r.headers){if(!(e.request.headers instanceof Headers))throw Object.defineProperty(Error("request.headers must be an instance of Headers"),"__NEXT_ERROR_CODE",{value:"E119",enumerable:!1,configurable:!0});let r=[];for(let[n,a]of e.request.headers)t.set("x-middleware-request-"+n,a),r.push(n);t.set("x-middleware-override-headers",r.join(","))}}class Z extends Response{constructor(e,t={}){super(e,t);const r=this.headers,n=new Proxy(new J.ResponseCookies(r),{get(e,n,a){switch(n){case"delete":case"set":return(...a)=>{let i=Reflect.apply(e[n],e,a),o=new Headers(r);return i instanceof J.ResponseCookies&&r.set("x-middleware-set-cookie",i.getAll().map(e=>(0,J.stringifyCookie)(e)).join(",")),Q(t,o),i};default:return X.get(e,n,a)}}});this[z]={cookies:n,url:t.url?new k(t.url,{headers:y(r),nextConfig:t.nextConfig}):void 0}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,url:this.url,body:this.body,bodyUsed:this.bodyUsed,headers:Object.fromEntries(this.headers),ok:this.ok,redirected:this.redirected,status:this.status,statusText:this.statusText,type:this.type}}get cookies(){return this[z].cookies}static json(e,t){let r=Response.json(e,t);return new Z(r.body,r)}static redirect(e,t){let r="number"==typeof t?t:(null==t?void 0:t.status)??307;if(!Y.has(r))throw Object.defineProperty(RangeError('Failed to execute "redirect" on "response": Invalid status code'),"__NEXT_ERROR_CODE",{value:"E529",enumerable:!1,configurable:!0});let n="object"==typeof t?t:{},a=new Headers(null==n?void 0:n.headers);return a.set("Location",m(e)),new Z(null,{...n,headers:a,status:r})}static rewrite(e,t){let r=new Headers(null==t?void 0:t.headers);return r.set("x-middleware-rewrite",m(e)),Q(t,r),new Z(null,{...t,headers:r})}static next(e){let t=new Headers(null==e?void 0:e.headers);return t.set("x-middleware-next","1"),Q(e,t),new Z(null,{...e,headers:t})}}function ee(e,t){let r="string"==typeof t?new URL(t):t,n=new URL(e,t),a=n.origin===r.origin;return{url:a?n.toString().slice(r.origin.length):n.toString(),isRelative:a}}let et="next-router-prefetch",er=["rsc","next-router-state-tree",et,"next-hmr-refresh","next-router-segment-prefetch"],en="_rsc";class ea extends Error{constructor(){super("Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers")}static callable(){throw new ea}}class ei extends Headers{constructor(e){super(),this.headers=new Proxy(e,{get(t,r,n){if("symbol"==typeof r)return X.get(t,r,n);let a=r.toLowerCase(),i=Object.keys(e).find(e=>e.toLowerCase()===a);if(void 0!==i)return X.get(t,i,n)},set(t,r,n,a){if("symbol"==typeof r)return X.set(t,r,n,a);let i=r.toLowerCase(),o=Object.keys(e).find(e=>e.toLowerCase()===i);return X.set(t,o??r,n,a)},has(t,r){if("symbol"==typeof r)return X.has(t,r);let n=r.toLowerCase(),a=Object.keys(e).find(e=>e.toLowerCase()===n);return void 0!==a&&X.has(t,a)},deleteProperty(t,r){if("symbol"==typeof r)return X.deleteProperty(t,r);let n=r.toLowerCase(),a=Object.keys(e).find(e=>e.toLowerCase()===n);return void 0===a||X.deleteProperty(t,a)}})}static seal(e){return new Proxy(e,{get(e,t,r){switch(t){case"append":case"delete":case"set":return ea.callable;default:return X.get(e,t,r)}}})}merge(e){return Array.isArray(e)?e.join(", "):e}static from(e){return e instanceof Headers?e:new ei(e)}append(e,t){let r=this.headers[e];"string"==typeof r?this.headers[e]=[r,t]:Array.isArray(r)?r.push(t):this.headers[e]=t}delete(e){delete this.headers[e]}get(e){let t=this.headers[e];return void 0!==t?this.merge(t):null}has(e){return void 0!==this.headers[e]}set(e,t){this.headers[e]=t}forEach(e,t){for(let[r,n]of this.entries())e.call(t,n,r,this)}*entries(){for(let e of Object.keys(this.headers)){let t=e.toLowerCase(),r=this.get(t);yield[t,r]}}*keys(){for(let e of Object.keys(this.headers)){let t=e.toLowerCase();yield t}}*values(){for(let e of Object.keys(this.headers)){let t=this.get(e);yield t}}[Symbol.iterator](){return this.entries()}}var eo=e.i(56704);class es extends Error{constructor(){super("Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options")}static callable(){throw new es}}class el{static seal(e){return new Proxy(e,{get(e,t,r){switch(t){case"clear":case"delete":case"set":return es.callable;default:return X.get(e,t,r)}}})}}let ec=Symbol.for("next.mutated.cookies");class eu{static wrap(e,t){let r=new J.ResponseCookies(new Headers);for(let t of e.getAll())r.set(t);let n=[],a=new Set,i=()=>{let e=eo.workAsyncStorage.getStore();if(e&&(e.pathWasRevalidated=1),n=r.getAll().filter(e=>a.has(e.name)),t){let e=[];for(let t of n){let r=new J.ResponseCookies(new Headers);r.set(t),e.push(r.toString())}t(e)}},o=new Proxy(r,{get(e,t,r){switch(t){case ec:return n;case"delete":return function(...t){a.add("string"==typeof t[0]?t[0]:t[0].name);try{return e.delete(...t),o}finally{i()}};case"set":return function(...t){a.add("string"==typeof t[0]?t[0]:t[0].name);try{return e.set(...t),o}finally{i()}};default:return X.get(e,t,r)}}});return o}}function ed(e,t){if("action"!==e.phase)throw new es}var ep=((M=ep||{}).handleRequest="BaseServer.handleRequest",M.run="BaseServer.run",M.pipe="BaseServer.pipe",M.getStaticHTML="BaseServer.getStaticHTML",M.render="BaseServer.render",M.renderToResponseWithComponents="BaseServer.renderToResponseWithComponents",M.renderToResponse="BaseServer.renderToResponse",M.renderToHTML="BaseServer.renderToHTML",M.renderError="BaseServer.renderError",M.renderErrorToResponse="BaseServer.renderErrorToResponse",M.renderErrorToHTML="BaseServer.renderErrorToHTML",M.render404="BaseServer.render404",M),eh=((D=eh||{}).loadDefaultErrorComponents="LoadComponents.loadDefaultErrorComponents",D.loadComponents="LoadComponents.loadComponents",D),ef=((L=ef||{}).getRequestHandler="NextServer.getRequestHandler",L.getRequestHandlerWithMetadata="NextServer.getRequestHandlerWithMetadata",L.getServer="NextServer.getServer",L.getServerRequestHandler="NextServer.getServerRequestHandler",L.createServer="createServer.createServer",L),eg=((j=eg||{}).compression="NextNodeServer.compression",j.getBuildId="NextNodeServer.getBuildId",j.createComponentTree="NextNodeServer.createComponentTree",j.clientComponentLoading="NextNodeServer.clientComponentLoading",j.getLayoutOrPageModule="NextNodeServer.getLayoutOrPageModule",j.generateStaticRoutes="NextNodeServer.generateStaticRoutes",j.generateFsStaticRoutes="NextNodeServer.generateFsStaticRoutes",j.generatePublicRoutes="NextNodeServer.generatePublicRoutes",j.generateImageRoutes="NextNodeServer.generateImageRoutes.route",j.sendRenderResult="NextNodeServer.sendRenderResult",j.proxyRequest="NextNodeServer.proxyRequest",j.runApi="NextNodeServer.runApi",j.render="NextNodeServer.render",j.renderHTML="NextNodeServer.renderHTML",j.imageOptimizer="NextNodeServer.imageOptimizer",j.getPagePath="NextNodeServer.getPagePath",j.getRoutesManifest="NextNodeServer.getRoutesManifest",j.findPageComponents="NextNodeServer.findPageComponents",j.getFontManifest="NextNodeServer.getFontManifest",j.getServerComponentManifest="NextNodeServer.getServerComponentManifest",j.getRequestHandler="NextNodeServer.getRequestHandler",j.renderToHTML="NextNodeServer.renderToHTML",j.renderError="NextNodeServer.renderError",j.renderErrorToHTML="NextNodeServer.renderErrorToHTML",j.render404="NextNodeServer.render404",j.startResponse="NextNodeServer.startResponse",j.route="route",j.onProxyReq="onProxyReq",j.apiResolver="apiResolver",j.internalFetch="internalFetch",j),ey=((U=ey||{}).startServer="startServer.startServer",U),em=((H=em||{}).getServerSideProps="Render.getServerSideProps",H.getStaticProps="Render.getStaticProps",H.renderToString="Render.renderToString",H.renderDocument="Render.renderDocument",H.createBodyResult="Render.createBodyResult",H),ev=((K=ev||{}).renderToString="AppRender.renderToString",K.renderToReadableStream="AppRender.renderToReadableStream",K.getBodyResult="AppRender.getBodyResult",K.fetch="AppRender.fetch",K),eb=((W=eb||{}).executeRoute="Router.executeRoute",W),e_=(($=e_||{}).runHandler="Node.runHandler",$),ew=((B=ew||{}).runHandler="AppRouteRouteHandlers.runHandler",B),eS=((q=eS||{}).generateMetadata="ResolveMetadata.generateMetadata",q.generateViewport="ResolveMetadata.generateViewport",q),eE=((V=eE||{}).execute="Middleware.execute",V);let eC=new Set(["Middleware.execute","BaseServer.handleRequest","Render.getServerSideProps","Render.getStaticProps","AppRender.fetch","AppRender.getBodyResult","Render.renderDocument","Node.runHandler","AppRouteRouteHandlers.runHandler","ResolveMetadata.generateMetadata","ResolveMetadata.generateViewport","NextNodeServer.createComponentTree","NextNodeServer.findPageComponents","NextNodeServer.getLayoutOrPageModule","NextNodeServer.startResponse","NextNodeServer.clientComponentLoading"]),eR=new Set(["NextNodeServer.findPageComponents","NextNodeServer.createComponentTree","NextNodeServer.clientComponentLoading"]);function eO(e){return null!==e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then}let eT=process.env.NEXT_OTEL_PERFORMANCE_PREFIX;try{t=e.r(70406)}catch(r){t=e.r(31387)}let{context:eP,propagation:ex,trace:eA,SpanStatusCode:eN,SpanKind:eI,ROOT_CONTEXT:ek}=t;class eM extends Error{constructor(e,t){super(),this.bubble=e,this.result=t}}let eD=(e,t)=>{"object"==typeof t&&null!==t&&t instanceof eM&&t.bubble?e.setAttribute("next.bubble",!0):(t&&(e.recordException(t),e.setAttribute("error.type",t.name)),e.setStatus({code:eN.ERROR,message:null==t?void 0:t.message})),e.end()},eL=new Map,ej=t.createContextKey("next.rootSpanId"),eU=0,eH={set(e,t,r){e.push({key:t,value:r})}},eK=(a=new class e{getTracerInstance(){return eA.getTracer("next.js","0.0.1")}getContext(){return eP}getTracePropagationData(){let e=eP.active(),t=[];return ex.inject(e,t,eH),t}getActiveScopeSpan(){return eA.getSpan(null==eP?void 0:eP.active())}withPropagatedContext(e,t,r){let n=eP.active();if(eA.getSpanContext(n))return t();let a=ex.extract(n,e,r);return eP.with(a,t)}trace(...e){let[t,r,n]=e,{fn:a,options:i}="function"==typeof r?{fn:r,options:{}}:{fn:n,options:{...r}},o=i.spanName??t;if(!eC.has(t)&&"1"!==process.env.NEXT_OTEL_VERBOSE||i.hideSpan)return a();let s=this.getSpanContext((null==i?void 0:i.parentSpan)??this.getActiveScopeSpan());s||(s=(null==eP?void 0:eP.active())??ek);let l=s.getValue(ej),c="number"!=typeof l||!eL.has(l),u=eU++;return i.attributes={"next.span_name":o,"next.span_type":t,...i.attributes},eP.with(s.setValue(ej,u),()=>this.getTracerInstance().startActiveSpan(o,i,e=>{let r;eT&&t&&eR.has(t)&&(r="performance"in globalThis&&"measure"in performance?globalThis.performance.now():void 0);let n=!1,o=()=>{!n&&(n=!0,eL.delete(u),r&&performance.measure(`${eT}:next-${(t.split(".").pop()||"").replace(/[A-Z]/g,e=>"-"+e.toLowerCase())}`,{start:r,end:performance.now()}))};if(c&&eL.set(u,new Map(Object.entries(i.attributes??{}))),a.length>1)try{return a(e,t=>eD(e,t))}catch(t){throw eD(e,t),t}finally{o()}try{let t=a(e);if(eO(t))return t.then(t=>(e.end(),t)).catch(t=>{throw eD(e,t),t}).finally(o);return e.end(),o(),t}catch(t){throw eD(e,t),o(),t}}))}wrap(...e){let t=this,[r,n,a]=3===e.length?e:[e[0],{},e[1]];return eC.has(r)||"1"===process.env.NEXT_OTEL_VERBOSE?function(){let e=n;"function"==typeof e&&"function"==typeof a&&(e=e.apply(this,arguments));let i=arguments.length-1,o=arguments[i];if("function"!=typeof o)return t.trace(r,e,()=>a.apply(this,arguments));{let n=t.getContext().bind(eP.active(),o);return t.trace(r,e,(e,t)=>(arguments[i]=function(e){return null==t||t(e),n.apply(this,arguments)},a.apply(this,arguments)))}}:a}startSpan(...e){let[t,r]=e,n=this.getSpanContext((null==r?void 0:r.parentSpan)??this.getActiveScopeSpan());return this.getTracerInstance().startSpan(t,r,n)}getSpanContext(e){return e?eA.setSpan(eP.active(),e):void 0}getRootSpanAttributes(){let e=eP.active().getValue(ej);return eL.get(e)}setRootSpanAttribute(e,t){let r=eP.active().getValue(ej),n=eL.get(r);n&&!n.has(e)&&n.set(e,t)}withSpan(e,t){let r=eA.setSpan(eP.active(),e);return eP.with(r,t)}},()=>a),eW="__prerender_bypass";Symbol("__next_preview_data"),Symbol(eW);class e${constructor(e,t,r,n){var a;const i=e&&function(e,t){let r=ei.from(e.headers);return{isOnDemandRevalidate:r.get("x-prerender-revalidate")===t.previewModeId,revalidateOnlyGenerated:r.has("x-prerender-revalidate-if-generated")}}(t,e).isOnDemandRevalidate,o=null==(a=r.get(eW))?void 0:a.value;this._isEnabled=!!(!i&&o&&e&&o===e.previewModeId),this._previewModeId=null==e?void 0:e.previewModeId,this._mutableCookies=n}get isEnabled(){return this._isEnabled}enable(){if(!this._previewModeId)throw Object.defineProperty(Error("Invariant: previewProps missing previewModeId this should never happen"),"__NEXT_ERROR_CODE",{value:"E93",enumerable:!1,configurable:!0});this._mutableCookies.set({name:eW,value:this._previewModeId,httpOnly:!0,sameSite:"none",secure:!0,path:"/"}),this._isEnabled=!0}disable(){this._mutableCookies.set({name:eW,value:"",httpOnly:!0,sameSite:"none",secure:!0,path:"/",expires:new Date(0)}),this._isEnabled=!1}}function eB(e,t){if("x-middleware-set-cookie"in e.headers&&"string"==typeof e.headers["x-middleware-set-cookie"]){let r=e.headers["x-middleware-set-cookie"],n=new Headers;for(let e of g(r))n.append("set-cookie",e);for(let e of new J.ResponseCookies(n).getAll())t.set(e)}}var eq=e.i(32319),eV=e.i(47413);class eJ extends Error{constructor(e,t){super(`Invariant: ${e.endsWith(".")?e:e+"."} This is a bug in Next.js.`,t),this.name="InvariantError"}}e.i(51187),process.env.NEXT_PRIVATE_DEBUG_CACHE,Symbol.for("@next/cache-handlers");let eG=Symbol.for("@next/cache-handlers-map"),eF=Symbol.for("@next/cache-handlers-set"),eX=globalThis;function ez(){if(eX[eG])return eX[eG].entries()}async function eY(e,t){if(!e)return t();let r=eQ(e);try{return await t()}finally{var n,a;let t,i,o=(n=r,a=eQ(e),t=new Set(n.pendingRevalidatedTags.map(e=>{let t="object"==typeof e.profile?JSON.stringify(e.profile):e.profile||"";return`${e.tag}:${t}`})),i=new Set(n.pendingRevalidateWrites),{pendingRevalidatedTags:a.pendingRevalidatedTags.filter(e=>{let r="object"==typeof e.profile?JSON.stringify(e.profile):e.profile||"";return!t.has(`${e.tag}:${r}`)}),pendingRevalidates:Object.fromEntries(Object.entries(a.pendingRevalidates).filter(([e])=>!(e in n.pendingRevalidates))),pendingRevalidateWrites:a.pendingRevalidateWrites.filter(e=>!i.has(e))});await e0(e,o)}}function eQ(e){return{pendingRevalidatedTags:e.pendingRevalidatedTags?[...e.pendingRevalidatedTags]:[],pendingRevalidates:{...e.pendingRevalidates},pendingRevalidateWrites:e.pendingRevalidateWrites?[...e.pendingRevalidateWrites]:[]}}async function eZ(e,t,r){if(0===e.length)return;let n=function(){if(eX[eF])return eX[eF].values()}(),a=[],i=new Map;for(let t of e){let e,r=t.profile;for(let[t]of i)if("string"==typeof t&&"string"==typeof r&&t===r||"object"==typeof t&&"object"==typeof r&&JSON.stringify(t)===JSON.stringify(r)||t===r){e=t;break}let n=e||r;i.has(n)||i.set(n,[]),i.get(n).push(t.tag)}for(let[e,s]of i){let i;if(e){let t;if("object"==typeof e)t=e;else if("string"==typeof e){var o;if(!(t=null==r||null==(o=r.cacheLifeProfiles)?void 0:o[e]))throw Object.defineProperty(Error(`Invalid profile provided "${e}" must be configured under cacheLife in next.config or be "max"`),"__NEXT_ERROR_CODE",{value:"E873",enumerable:!1,configurable:!0})}t&&(i={expire:t.expire})}for(let t of n||[])e?a.push(null==t.updateTags?void 0:t.updateTags.call(t,s,i)):a.push(null==t.updateTags?void 0:t.updateTags.call(t,s));t&&a.push(t.revalidateTag(s,i))}await Promise.all(a)}async function e0(e,t){let r=(null==t?void 0:t.pendingRevalidatedTags)??e.pendingRevalidatedTags??[],n=(null==t?void 0:t.pendingRevalidates)??e.pendingRevalidates??{},a=(null==t?void 0:t.pendingRevalidateWrites)??e.pendingRevalidateWrites??[];return Promise.all([eZ(r,e.incrementalCache,e),...Object.values(n),...a])}let e1=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class e2{disable(){throw e1}getStore(){}run(){throw e1}exit(){throw e1}enterWith(){throw e1}static bind(e){return e}}let e5="u">typeof globalThis&&globalThis.AsyncLocalStorage;var e4=e.i(24725);class e3{constructor({waitUntil:e,onClose:t,onTaskError:r}){this.workUnitStores=new Set,this.waitUntil=e,this.onClose=t,this.onTaskError=r,this.callbackQueue=new eV.default,this.callbackQueue.pause()}after(e){if(eO(e))this.waitUntil||e6(),this.waitUntil(e.catch(e=>this.reportTaskError("promise",e)));else if("function"==typeof e)this.addCallback(e);else throw Object.defineProperty(Error("`after()`: Argument must be a promise or a function"),"__NEXT_ERROR_CODE",{value:"E50",enumerable:!1,configurable:!0})}addCallback(e){var t;this.waitUntil||e6();let r=eq.workUnitAsyncStorage.getStore();r&&this.workUnitStores.add(r);let n=e4.afterTaskAsyncStorage.getStore(),a=n?n.rootTaskSpawnPhase:null==r?void 0:r.phase;this.runCallbacksOnClosePromise||(this.runCallbacksOnClosePromise=this.runCallbacksOnClose(),this.waitUntil(this.runCallbacksOnClosePromise));let i=(t=async()=>{try{await e4.afterTaskAsyncStorage.run({rootTaskSpawnPhase:a},()=>e())}catch(e){this.reportTaskError("function",e)}},e5?e5.bind(t):e2.bind(t));this.callbackQueue.add(i)}async runCallbacksOnClose(){return await new Promise(e=>this.onClose(e)),this.runCallbacks()}async runCallbacks(){if(0===this.callbackQueue.size)return;for(let e of this.workUnitStores)e.phase="after";let e=eo.workAsyncStorage.getStore();if(!e)throw Object.defineProperty(new eJ("Missing workStore in AfterContext.runCallbacks"),"__NEXT_ERROR_CODE",{value:"E547",enumerable:!1,configurable:!0});return eY(e,()=>(this.callbackQueue.start(),this.callbackQueue.onIdle()))}reportTaskError(e,t){if(console.error("promise"===e?"A promise passed to `after()` rejected:":"An error occurred in a function passed to `after()`:",t),this.onTaskError)try{null==this.onTaskError||this.onTaskError.call(this,t)}catch(e){console.error(Object.defineProperty(new eJ("`onTaskError` threw while handling an error thrown from an `after` task",{cause:e}),"__NEXT_ERROR_CODE",{value:"E569",enumerable:!1,configurable:!0}))}}}function e6(){throw Object.defineProperty(Error("`after()` will not work correctly, because `waitUntil` is not available in the current environment."),"__NEXT_ERROR_CODE",{value:"E91",enumerable:!1,configurable:!0})}function e8(e){let t,r={then:(n,a)=>(t||(t=Promise.resolve(e())),t.then(e=>{r.value=e}).catch(()=>{}),t.then(n,a))};return r}class e9{onClose(e){if(this.isClosed)throw Object.defineProperty(Error("Cannot subscribe to a closed CloseController"),"__NEXT_ERROR_CODE",{value:"E365",enumerable:!1,configurable:!0});this.target.addEventListener("close",e),this.listeners++}dispatchClose(){if(this.isClosed)throw Object.defineProperty(Error("Cannot close a CloseController multiple times"),"__NEXT_ERROR_CODE",{value:"E229",enumerable:!1,configurable:!0});this.listeners>0&&this.target.dispatchEvent(new Event("close")),this.isClosed=!0}constructor(){this.target=new EventTarget,this.listeners=0,this.isClosed=!1}}function e7(){return{previewModeId:process.env.__NEXT_PREVIEW_MODE_ID||"",previewModeSigningKey:process.env.__NEXT_PREVIEW_MODE_SIGNING_KEY||"",previewModeEncryptionKey:process.env.__NEXT_PREVIEW_MODE_ENCRYPTION_KEY||""}}let te=Symbol.for("@next/request-context");async function tt(e,t,r){let n=new Set;for(let t of(e=>{let t=["/layout"];if(e.startsWith("/")){let r=e.split("/");for(let e=1;e<r.length+1;e++){let n=r.slice(0,e).join("/");n&&(n.endsWith("/page")||n.endsWith("/route")||(n=`${n}${!n.endsWith("/")?"/":""}layout`),t.push(n))}}return t})(e))t=`${h}${t}`,n.add(t);if(t.pathname&&(!r||0===r.size)){let e=`${h}${t.pathname}`;n.add(e)}n.has(`${h}/`)&&n.add(`${h}/index`),n.has(`${h}/index`)&&n.add(`${h}/`);let a=Array.from(n);return{tags:a,expirationsByCacheKind:function(e){let t=new Map,r=ez();if(r)for(let[n,a]of r)"getExpiration"in a&&t.set(n,e8(async()=>a.getExpiration(e)));return t}(a)}}class tr extends F{constructor(e){super(e.input,e.init),this.sourcePage=e.page}get request(){throw Object.defineProperty(new u({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}respondWith(){throw Object.defineProperty(new u({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}waitUntil(){throw Object.defineProperty(new u({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}}let tn={keys:e=>Array.from(e.keys()),get:(e,t)=>e.get(t)??void 0},ta=(e,t)=>eK().withPropagatedContext(e.headers,t,tn),ti=!1;async function to(t){var r,n,a,i;let o,l,u,d,p;!function(){if(!ti&&(ti=!0,"true"===process.env.NEXT_PRIVATE_TEST_PROXY)){let{interceptTestApis:t,wrapRequestHandler:r}=e.r(76532);t(),ta=r(ta)}}(),await (!c&&(c=s()),c);let h=void 0!==globalThis.__BUILD_MANIFEST;t.request.url=t.request.url.replace(/\.rsc($|\?)/,"$1");let f=t.bypassNextUrl?new URL(t.request.url):new k(t.request.url,{headers:t.request.headers,nextConfig:t.request.nextConfig});for(let e of[...f.searchParams.keys()]){let t=f.searchParams.getAll(e),r=function(e){for(let t of["nxtP","nxtI"])if(e!==t&&e.startsWith(t))return e.substring(t.length);return null}(e);if(r){for(let e of(f.searchParams.delete(r),t))f.searchParams.append(r,e);f.searchParams.delete(e)}}let g=process.env.__NEXT_BUILD_ID||"";"buildId"in f&&(g=f.buildId||"",f.buildId="");let y=function(e){let t=new Headers;for(let[r,n]of Object.entries(e))for(let e of Array.isArray(n)?n:[n])void 0!==e&&("number"==typeof e&&(e=e.toString()),t.append(r,e));return t}(t.request.headers),m=y.has("x-nextjs-data"),v="1"===y.get("rsc");m&&"/index"===f.pathname&&(f.pathname="/");let b=new Map;if(!h)for(let e of er){let t=y.get(e);null!==t&&(b.set(e,t),y.delete(e))}let w=f.searchParams.get(en),E=new tr({page:t.page,input:((d=(u="string"==typeof f)?new URL(f):f).searchParams.delete(en),u?d.toString():d).toString(),init:{body:t.request.body,headers:y,method:t.request.method,nextConfig:t.request.nextConfig,signal:t.request.signal}});m&&Object.defineProperty(E,"__isData",{enumerable:!1,value:!0}),!globalThis.__incrementalCacheShared&&t.IncrementalCache&&(globalThis.__incrementalCache=new t.IncrementalCache({CurCacheHandler:t.incrementalCacheHandler,minimalMode:!0,fetchCacheKeyPrefix:"",dev:!1,requestHeaders:t.request.headers,getPrerenderManifest:()=>({version:-1,routes:{},dynamicRoutes:{},notFoundRoutes:[],preview:e7()})}));let C=t.request.waitUntil??(null==(r=null==(p=globalThis[te])?void 0:p.get())?void 0:r.waitUntil),R=new S({request:E,page:t.page,context:C?{waitUntil:C}:void 0});if((o=await ta(E,()=>{if("/middleware"===t.page||"/src/middleware"===t.page||"/proxy"===t.page||"/src/proxy"===t.page){let e=R.waitUntil.bind(R),r=new e9;return eK().trace(eE.execute,{spanName:`middleware ${E.method}`,attributes:{"http.target":E.nextUrl.pathname,"http.method":E.method}},async()=>{try{var n,a,i,o,s,c;let u=e7(),d=await tt("/",E.nextUrl,null),p=(s=E.nextUrl,c=e=>{l=e},function(e,t,r,n,a,i,o,s,l,c,u,d){function p(e){r&&r.setHeader("Set-Cookie",e)}let h={};return{type:"request",phase:e,implicitTags:i,url:{pathname:n.pathname,search:n.search??""},rootParams:a,get headers(){return h.headers||(h.headers=function(e){let t=ei.from(e);for(let e of er)t.delete(e);return ei.seal(t)}(t.headers)),h.headers},get cookies(){if(!h.cookies){let e=new J.RequestCookies(ei.from(t.headers));eB(t,e),h.cookies=el.seal(e)}return h.cookies},set cookies(value){h.cookies=value},get mutableCookies(){if(!h.mutableCookies){var f,g;let e,n=(f=t.headers,g=o||(r?p:void 0),e=new J.RequestCookies(ei.from(f)),eu.wrap(e,g));eB(t,n),h.mutableCookies=n}return h.mutableCookies},get userspaceMutableCookies(){if(!h.userspaceMutableCookies){var y;let e;y=this,h.userspaceMutableCookies=e=new Proxy(y.mutableCookies,{get(t,r,n){switch(r){case"delete":return function(...r){return ed(y,"cookies().delete"),t.delete(...r),e};case"set":return function(...r){return ed(y,"cookies().set"),t.set(...r),e};default:return X.get(t,r,n)}}})}return h.userspaceMutableCookies},get draftMode(){return h.draftMode||(h.draftMode=new e$(l,t,this.cookies,this.mutableCookies)),h.draftMode},renderResumeDataCache:null,isHmrRefresh:c,serverComponentsHmrCache:u||globalThis.__serverComponentsHmrCache,devFallbackParams:null}}("action",E,void 0,s,{},d,c,null,u,!1,void 0,null)),h=function({page:e,renderOpts:t,isPrefetchRequest:r,buildId:n,previouslyRevalidatedTags:a,nonce:i}){var o;let s=!t.shouldWaitOnAllReady&&!t.supportsDynamicResponse&&!t.isDraftMode&&!t.isPossibleServerAction,l=t.dev??!1,c=l||s&&(!!process.env.NEXT_DEBUG_BUILD||"1"===process.env.NEXT_SSG_FETCH_METRICS),u={isStaticGeneration:s,page:e,route:(o=e.split("/").reduce((e,t,r,n)=>t?"("===t[0]&&t.endsWith(")")||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:`${e}/${t}`:e,"")).startsWith("/")?o:`/${o}`,incrementalCache:t.incrementalCache||globalThis.__incrementalCache,cacheLifeProfiles:t.cacheLifeProfiles,isBuildTimePrerendering:t.nextExport,hasReadableErrorStacks:t.hasReadableErrorStacks,fetchCache:t.fetchCache,isOnDemandRevalidate:t.isOnDemandRevalidate,isDraftMode:t.isDraftMode,isPrefetchRequest:r,buildId:n,reactLoadableManifest:(null==t?void 0:t.reactLoadableManifest)||{},assetPrefix:(null==t?void 0:t.assetPrefix)||"",nonce:i,afterContext:function(e){let{waitUntil:t,onClose:r,onAfterTaskError:n}=e;return new e3({waitUntil:t,onClose:r,onTaskError:n})}(t),cacheComponentsEnabled:t.cacheComponents,dev:l,previouslyRevalidatedTags:a,refreshTagsByCacheKind:function(){let e=new Map,t=ez();if(t)for(let[r,n]of t)"refreshTags"in n&&e.set(r,e8(async()=>n.refreshTags()));return e}(),runInCleanSnapshot:e5?e5.snapshot():function(e,...t){return e(...t)},shouldTrackFetchMetrics:c,reactServerErrorsByDigest:new Map};return t.store=u,u}({page:"/",renderOpts:{cacheLifeProfiles:null==(a=t.request.nextConfig)||null==(n=a.experimental)?void 0:n.cacheLife,cacheComponents:!1,experimental:{isRoutePPREnabled:!1,authInterrupts:!!(null==(o=t.request.nextConfig)||null==(i=o.experimental)?void 0:i.authInterrupts)},supportsDynamicResponse:!0,waitUntil:e,onClose:r.onClose.bind(r),onAfterTaskError:void 0},isPrefetchRequest:"1"===E.headers.get(et),buildId:g??"",previouslyRevalidatedTags:[]});return await eo.workAsyncStorage.run(h,()=>eq.workUnitAsyncStorage.run(p,t.handler,E,R))}finally{setTimeout(()=>{r.dispatchClose()},0)}})}return t.handler(E,R)}))&&!(o instanceof Response))throw Object.defineProperty(TypeError("Expected an instance of Response to be returned"),"__NEXT_ERROR_CODE",{value:"E567",enumerable:!1,configurable:!0});o&&l&&o.headers.set("set-cookie",l);let O=null==o?void 0:o.headers.get("x-middleware-rewrite");if(o&&O&&(v||!h)){let e=new k(O,{forceLocale:!0,headers:t.request.headers,nextConfig:t.request.nextConfig});h||e.host!==E.nextUrl.host||(e.buildId=g||e.buildId,o.headers.set("x-middleware-rewrite",String(e)));let{url:r,isRelative:s}=ee(e.toString(),f.toString());!h&&m&&o.headers.set("x-nextjs-rewrite",r);let l=!s&&(null==(i=t.request.nextConfig)||null==(a=i.experimental)||null==(n=a.clientParamParsingOrigins)?void 0:n.some(t=>new RegExp(t).test(e.origin)));v&&(s||l)&&(f.pathname!==e.pathname&&o.headers.set("x-nextjs-rewritten-path",e.pathname),f.search!==e.search&&o.headers.set("x-nextjs-rewritten-query",e.search.slice(1)))}if(o&&O&&v&&w){let e=new URL(O);e.searchParams.has(en)||(e.searchParams.set(en,w),o.headers.set("x-middleware-rewrite",e.toString()))}let T=null==o?void 0:o.headers.get("Location");if(o&&T&&!h){let e=new k(T,{forceLocale:!1,headers:t.request.headers,nextConfig:t.request.nextConfig});o=new Response(o.body,o),e.host===f.host&&(e.buildId=g||e.buildId,o.headers.set("Location",ee(e,f).url)),m&&(o.headers.delete("Location"),o.headers.set("x-nextjs-redirect",ee(e.toString(),f.toString()).url))}let P=o||Z.next(),x=P.headers.get("x-middleware-override-headers"),A=[];if(x){for(let[e,t]of b)P.headers.set(`x-middleware-request-${e}`,t),A.push(e);A.length>0&&P.headers.set("x-middleware-override-headers",x+","+A.join(","))}return{response:P,waitUntil:("internal"===R[_].kind?Promise.all(R[_].promises).then(()=>{}):void 0)??Promise.resolve(),fetchMetrics:E.fetchMetrics}}var ts=e.i(55207);class tl extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(e,t){super(e,t),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class tc extends tl{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(e,t,r="unspecified",n="unspecified"){super(e,{cause:{claim:r,reason:n,payload:t}}),this.claim=r,this.reason=n,this.payload=t}}class tu extends tl{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(e,t,r="unspecified",n="unspecified"){super(e,{cause:{claim:r,reason:n,payload:t}}),this.claim=r,this.reason=n,this.payload=t}}class td extends tl{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class tp extends tl{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class th extends tl{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class tf extends tl{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class tg extends tl{static code="ERR_JWKS_INVALID";code="ERR_JWKS_INVALID"}class ty extends tl{static code="ERR_JWKS_NO_MATCHING_KEY";code="ERR_JWKS_NO_MATCHING_KEY";constructor(e="no applicable key found in the JSON Web Key Set",t){super(e,t)}}class tm extends tl{[Symbol.asyncIterator];static code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";constructor(e="multiple matching keys found in the JSON Web Key Set",t){super(e,t)}}class tv extends tl{static code="ERR_JWKS_TIMEOUT";code="ERR_JWKS_TIMEOUT";constructor(e="request timed out",t){super(e,t)}}class tb extends tl{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(e="signature verification failed",t){super(e,t)}}let t_=new TextEncoder,tw=new TextDecoder;function tS(e){let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);if(n>127)throw TypeError("non-ASCII string encountered in encode()");t[r]=n}return t}function tE(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64("string"==typeof e?e:tw.decode(e),{alphabet:"base64url"});let t=e;t instanceof Uint8Array&&(t=tw.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/");try{var r=t;if(Uint8Array.fromBase64)return Uint8Array.fromBase64(r);let e=atob(r),n=new Uint8Array(e.length);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t);return n}catch{throw TypeError("The input to be decoded is not correctly encoded.")}}async function tC(e){if(!e.alg)throw TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:t,keyUsages:r}=function(e){let t,r;switch(e.kty){case"AKP":switch(e.alg){case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":t={name:e.alg},r=e.priv?["sign"]:["verify"];break;default:throw new tp('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"RSA":switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},r=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new tp('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"EC":switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},r=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},r=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new tp('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"OKP":switch(e.alg){case"Ed25519":case"EdDSA":t={name:"Ed25519"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new tp('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;default:throw new tp('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:r}}(e),n={...e};return"AKP"!==n.kty&&delete n.alg,delete n.use,crypto.subtle.importKey("jwk",n,t,e.ext??(!e.d&&!e.priv),e.key_ops??r)}function tR(e){if("object"!=typeof e||null===e||"[object Object]"!==Object.prototype.toString.call(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}async function tO(e,t,r){let n;if(!tR(e))throw TypeError("JWK must be an object");switch(t??=e.alg,n??=r?.extractable??e.ext,e.kty){case"oct":if("string"!=typeof e.k||!e.k)throw TypeError('missing "k" (Key Value) Parameter value');return tE(e.k);case"RSA":if("oth"in e&&void 0!==e.oth)throw new tp('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');return tC({...e,alg:t,ext:n});case"AKP":if("string"!=typeof e.alg||!e.alg)throw TypeError('missing "alg" (Algorithm) Parameter value');if(void 0!==t&&t!==e.alg)throw TypeError("JWK alg and alg option value mismatch");return tC({...e,ext:n});case"EC":case"OKP":return tC({...e,alg:t,ext:n});default:throw new tp('Unsupported "kty" (Key Type) Parameter value')}}function tT(e){return tR(e)}class tP{#e;#t=new WeakMap;constructor(e){if(!function(e){return e&&"object"==typeof e&&Array.isArray(e.keys)&&e.keys.every(tT)}(e))throw new tg("JSON Web Key Set malformed");this.#e=structuredClone(e)}jwks(){return this.#e}async getKey(e,t){let{alg:r,kid:n}={...e,...t?.header},a=function(e){switch("string"==typeof e&&e.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";case"ML":return"AKP";default:throw new tp('Unsupported "alg" value for a JSON Web Key Set')}}(r),i=this.#e.keys.filter(e=>{let t=a===e.kty;if(t&&"string"==typeof n&&(t=n===e.kid),t&&("string"==typeof e.alg||"AKP"===a)&&(t=r===e.alg),t&&"string"==typeof e.use&&(t="sig"===e.use),t&&Array.isArray(e.key_ops)&&(t=e.key_ops.includes("verify")),t)switch(r){case"ES256":t="P-256"===e.crv;break;case"ES384":t="P-384"===e.crv;break;case"ES512":t="P-521"===e.crv;break;case"Ed25519":case"EdDSA":t="Ed25519"===e.crv}return t}),{0:o,length:s}=i;if(0===s)throw new ty;if(1!==s){let e=new tm,t=this.#t;throw e[Symbol.asyncIterator]=async function*(){for(let e of i)try{yield await tx(t,e,r)}catch{}},e}return tx(this.#t,o,r)}}async function tx(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(void 0===n[r]){let e=await tO({...t,ext:!0},r);if(e instanceof Uint8Array||"public"!==e.type)throw new tg("JSON Web Key Set members must be public keys");n[r]=e}return n[r]}function tA(e){let t=new tP(e),r=async(e,r)=>t.getKey(e,r);return Object.defineProperties(r,{jwks:{value:()=>structuredClone(t.jwks()),enumerable:!1,configurable:!1,writable:!1}}),r}("u"<typeof navigator||!navigator.userAgent?.startsWith?.("Mozilla/5.0 "))&&(r="jose/v6.2.0");let tN=Symbol();async function tI(e,t,r,n=fetch){let a=await n(e,{method:"GET",signal:r,redirect:"manual",headers:t}).catch(e=>{if("TimeoutError"===e.name)throw new tv;throw e});if(200!==a.status)throw new tl("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new tl("Failed to parse the JSON Web Key Set HTTP response as JSON")}}let tk=Symbol();class tM{#r;#n;#a;#i;#o;#s;#l;#c;#u;#d;constructor(e,t){if(!(e instanceof URL))throw TypeError("url must be an instance of URL");this.#r=new URL(e.href),this.#n="number"==typeof t?.timeoutDuration?t?.timeoutDuration:5e3,this.#a="number"==typeof t?.cooldownDuration?t?.cooldownDuration:3e4,this.#i="number"==typeof t?.cacheMaxAge?t?.cacheMaxAge:6e5,this.#l=new Headers(t?.headers),r&&!this.#l.has("User-Agent")&&this.#l.set("User-Agent",r),this.#l.has("accept")||(this.#l.set("accept","application/json"),this.#l.append("accept","application/jwk-set+json")),this.#c=t?.[tN],t?.[tk]!==void 0&&(this.#d=t?.[tk],function(e,t){return!("object"!=typeof e||null===e||!("uat"in e)||"number"!=typeof e.uat||Date.now()-e.uat>=t)&&"jwks"in e&&!!tR(e.jwks)&&!!Array.isArray(e.jwks.keys)&&!!Array.prototype.every.call(e.jwks.keys,tR)}(t?.[tk],this.#i)&&(this.#o=this.#d.uat,this.#u=tA(this.#d.jwks)))}pendingFetch(){return!!this.#s}coolingDown(){return"number"==typeof this.#o&&Date.now()<this.#o+this.#a}fresh(){return"number"==typeof this.#o&&Date.now()<this.#o+this.#i}jwks(){return this.#u?.jwks()}async getKey(e,t){this.#u&&this.fresh()||await this.reload();try{return await this.#u(e,t)}catch(r){if(r instanceof ty&&!1===this.coolingDown())return await this.reload(),this.#u(e,t);throw r}}async reload(){this.#s&&("u">typeof WebSocketPair||"u">typeof navigator&&"Cloudflare-Workers"===navigator.userAgent||"u">typeof EdgeRuntime&&"vercel"===EdgeRuntime)&&(this.#s=void 0),this.#s||=tI(this.#r.href,this.#l,AbortSignal.timeout(this.#n),this.#c).then(e=>{this.#u=tA(e),this.#d&&(this.#d.uat=Date.now(),this.#d.jwks=e),this.#o=Date.now(),this.#s=void 0}).catch(e=>{throw this.#s=void 0,e}),await this.#s}}let tD=(e,t="algorithm.name")=>TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`);function tL(e){return parseInt(e.name.slice(4),10)}function tj(e,t,...r){if((r=r.filter(Boolean)).length>2){let t=r.pop();e+=`one of type ${r.join(", ")}, or ${t}.`}else 2===r.length?e+=`one of type ${r[0]} or ${r[1]}.`:e+=`of type ${r[0]}.`;return null==t?e+=` Received ${t}`:"function"==typeof t&&t.name?e+=` Received function ${t.name}`:"object"==typeof t&&null!=t&&t.constructor?.name&&(e+=` Received an instance of ${t.constructor.name}`),e}let tU=(e,t,...r)=>tj(`Key for the ${e} algorithm must be `,t,...r);async function tH(e,t,r){if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw TypeError(((e,...t)=>tj("Key must be ",e,...t))(t,"CryptoKey","KeyObject","JSON Web Key"));return crypto.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}return!function(e,t,r){switch(t){case"HS256":case"HS384":case"HS512":{if("HMAC"!==e.algorithm.name)throw tD("HMAC");let r=parseInt(t.slice(2),10);if(tL(e.algorithm.hash)!==r)throw tD(`SHA-${r}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if("RSASSA-PKCS1-v1_5"!==e.algorithm.name)throw tD("RSASSA-PKCS1-v1_5");let r=parseInt(t.slice(2),10);if(tL(e.algorithm.hash)!==r)throw tD(`SHA-${r}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if("RSA-PSS"!==e.algorithm.name)throw tD("RSA-PSS");let r=parseInt(t.slice(2),10);if(tL(e.algorithm.hash)!==r)throw tD(`SHA-${r}`,"algorithm.hash");break}case"Ed25519":case"EdDSA":if("Ed25519"!==e.algorithm.name)throw tD("Ed25519");break;case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":let n;if(n=e.algorithm,n.name!==t)throw tD(t);break;case"ES256":case"ES384":case"ES512":{if("ECDSA"!==e.algorithm.name)throw tD("ECDSA");let r=function(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw Error("unreachable")}}(t);if(e.algorithm.namedCurve!==r)throw tD(r,"algorithm.namedCurve");break}default:throw TypeError("CryptoKey does not support this operation")}if(r&&!e.usages.includes(r))throw TypeError(`CryptoKey does not support this operation, its usages must include ${r}.`)}(t,e,r),t}async function tK(e,t,r,n){let a=await tH(e,t,"verify");!function(e,t){if(e.startsWith("RS")||e.startsWith("PS")){let{modulusLength:r}=t.algorithm;if("number"!=typeof r||r<2048)throw TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}}(e,a);let i=function(e,t){let r=`SHA-${e.slice(-3)}`;switch(e){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:parseInt(e.slice(-3),10)>>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:t.namedCurve};case"Ed25519":case"EdDSA":return{name:"Ed25519"};case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":return{name:e};default:throw new tp(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}(e,a.algorithm);try{return await crypto.subtle.verify(i,a,r,n)}catch{return!1}}let tW=e=>{if(e?.[Symbol.toStringTag]==="CryptoKey")return!0;try{return e instanceof CryptoKey}catch{return!1}},t$=e=>e?.[Symbol.toStringTag]==="KeyObject",tB=e=>tW(e)||t$(e),tq=e=>tR(e)&&"string"==typeof e.kty,tV=e=>e?.[Symbol.toStringTag],tJ=(e,t,r)=>{if(void 0!==t.use){let e;switch(r){case"sign":case"verify":e="sig";break;case"encrypt":case"decrypt":e="enc"}if(t.use!==e)throw TypeError(`Invalid key for this operation, its "use" must be "${e}" when present`)}if(void 0!==t.alg&&t.alg!==e)throw TypeError(`Invalid key for this operation, its "alg" must be "${e}" when present`);if(Array.isArray(t.key_ops)){let n;switch(!0){case"sign"===r||"verify"===r:case"dir"===e:case e.includes("CBC-HS"):n=r;break;case e.startsWith("PBES2"):n="deriveBits";break;case/^A\d{3}(?:GCM)?(?:KW)?$/.test(e):n=!e.includes("GCM")&&e.endsWith("KW")?"encrypt"===r?"wrapKey":"unwrapKey":r;break;case"encrypt"===r&&e.startsWith("RSA"):n="wrapKey";break;case"decrypt"===r:n=e.startsWith("RSA")?"unwrapKey":"deriveBits"}if(n&&t.key_ops?.includes?.(n)===!1)throw TypeError(`Invalid key for this operation, its "key_ops" must include "${n}" when present`)}return!0},tG=async(e,t,r,a=!1)=>{let i=(n||=new WeakMap).get(e);if(i?.[r])return i[r];let o=await tC({...t,alg:r});return a&&Object.freeze(e),i?i[r]=o:n.set(e,{[r]:o}),o};async function tF(e,t){if(e instanceof Uint8Array||tW(e))return e;if(t$(e)){if("secret"===e.type)return e.export();if("toCryptoKey"in e&&"function"==typeof e.toCryptoKey)try{return((e,t)=>{let r,a=(n||=new WeakMap).get(e);if(a?.[t])return a[t];let i="public"===e.type,o=!!i;if("x25519"===e.asymmetricKeyType){switch(t){case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":break;default:throw TypeError("given KeyObject instance cannot be used for this algorithm")}r=e.toCryptoKey(e.asymmetricKeyType,o,i?[]:["deriveBits"])}if("ed25519"===e.asymmetricKeyType){if("EdDSA"!==t&&"Ed25519"!==t)throw TypeError("given KeyObject instance cannot be used for this algorithm");r=e.toCryptoKey(e.asymmetricKeyType,o,[i?"verify":"sign"])}switch(e.asymmetricKeyType){case"ml-dsa-44":case"ml-dsa-65":case"ml-dsa-87":if(t!==e.asymmetricKeyType.toUpperCase())throw TypeError("given KeyObject instance cannot be used for this algorithm");r=e.toCryptoKey(e.asymmetricKeyType,o,[i?"verify":"sign"])}if("rsa"===e.asymmetricKeyType){let n;switch(t){case"RSA-OAEP":n="SHA-1";break;case"RS256":case"PS256":case"RSA-OAEP-256":n="SHA-256";break;case"RS384":case"PS384":case"RSA-OAEP-384":n="SHA-384";break;case"RS512":case"PS512":case"RSA-OAEP-512":n="SHA-512";break;default:throw TypeError("given KeyObject instance cannot be used for this algorithm")}if(t.startsWith("RSA-OAEP"))return e.toCryptoKey({name:"RSA-OAEP",hash:n},o,i?["encrypt"]:["decrypt"]);r=e.toCryptoKey({name:t.startsWith("PS")?"RSA-PSS":"RSASSA-PKCS1-v1_5",hash:n},o,[i?"verify":"sign"])}if("ec"===e.asymmetricKeyType){let n=new Map([["prime256v1","P-256"],["secp384r1","P-384"],["secp521r1","P-521"]]).get(e.asymmetricKeyDetails?.namedCurve);if(!n)throw TypeError("given KeyObject instance cannot be used for this algorithm");"ES256"===t&&"P-256"===n&&(r=e.toCryptoKey({name:"ECDSA",namedCurve:n},o,[i?"verify":"sign"])),"ES384"===t&&"P-384"===n&&(r=e.toCryptoKey({name:"ECDSA",namedCurve:n},o,[i?"verify":"sign"])),"ES512"===t&&"P-521"===n&&(r=e.toCryptoKey({name:"ECDSA",namedCurve:n},o,[i?"verify":"sign"])),t.startsWith("ECDH-ES")&&(r=e.toCryptoKey({name:"ECDH",namedCurve:n},o,i?[]:["deriveBits"]))}if(!r)throw TypeError("given KeyObject instance cannot be used for this algorithm");return a?a[t]=r:n.set(e,{[t]:r}),r})(e,t)}catch(e){if(e instanceof TypeError)throw e}let r=e.export({format:"jwk"});return tG(e,r,t)}if(tq(e))return e.k?tE(e.k):tG(e,e,t,!0);throw Error("unreachable")}async function tX(e,t,r){let n,a;if(!tR(e))throw new th("Flattened JWS must be an object");if(void 0===e.protected&&void 0===e.header)throw new th('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==e.protected&&"string"!=typeof e.protected)throw new th("JWS Protected Header incorrect type");if(void 0===e.payload)throw new th("JWS Payload missing");if("string"!=typeof e.signature)throw new th("JWS Signature missing or incorrect type");if(void 0!==e.header&&!tR(e.header))throw new th("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let t=tE(e.protected);i=JSON.parse(tw.decode(t))}catch{throw new th("JWS Protected Header is invalid")}if(!function(...e){let t,r=e.filter(Boolean);if(0===r.length||1===r.length)return!0;for(let e of r){let r=Object.keys(e);if(!t||0===t.size){t=new Set(r);continue}for(let e of r){if(t.has(e))return!1;t.add(e)}}return!0}(i,e.header))throw new th("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let o={...i,...e.header},s=function(e,t,r,n,a){let i;if(void 0!==a.crit&&n?.crit===void 0)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||void 0===n.crit)return new Set;if(!Array.isArray(n.crit)||0===n.crit.length||n.crit.some(e=>"string"!=typeof e||0===e.length))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');for(let o of(i=void 0!==r?new Map([...Object.entries(r),...t.entries()]):t,n.crit)){if(!i.has(o))throw new tp(`Extension Header Parameter "${o}" is not recognized`);if(void 0===a[o])throw new e(`Extension Header Parameter "${o}" is missing`);if(i.get(o)&&void 0===n[o])throw new e(`Extension Header Parameter "${o}" MUST be integrity protected`)}return new Set(n.crit)}(th,new Map([["b64",!0]]),r?.crit,i,o),l=!0;if(s.has("b64")&&"boolean"!=typeof(l=i.b64))throw new th('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:c}=o;if("string"!=typeof c||!c)throw new th('JWS "alg" (Algorithm) Header Parameter missing or invalid');let u=r&&function(e,t){if(void 0!==t&&(!Array.isArray(t)||t.some(e=>"string"!=typeof e)))throw TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)}("algorithms",r.algorithms);if(u&&!u.has(c))throw new td('"alg" (Algorithm) Header Parameter value not allowed');if(l){if("string"!=typeof e.payload)throw new th("JWS Payload must be a string")}else if("string"!=typeof e.payload&&!(e.payload instanceof Uint8Array))throw new th("JWS Payload must be a string or an Uint8Array instance");let d=!1;"function"==typeof t&&(t=await t(i,e),d=!0);var p=t,h="verify";switch(c.substring(0,2)){case"A1":case"A2":case"di":case"HS":case"PB":((e,t,r)=>{if(!(t instanceof Uint8Array)){if(tq(t)){if("oct"===t.kty&&"string"==typeof t.k&&tJ(e,t,r))return;throw TypeError('JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present')}if(!tB(t))throw TypeError(tU(e,t,"CryptoKey","KeyObject","JSON Web Key","Uint8Array"));if("secret"!==t.type)throw TypeError(`${tV(t)} instances for symmetric algorithms must be of type "secret"`)}})(c,p,h);break;default:((e,t,r)=>{if(tq(t))switch(r){case"decrypt":case"sign":if("oct"!==t.kty&&("AKP"===t.kty&&"string"==typeof t.priv||"string"==typeof t.d)&&tJ(e,t,r))return;throw TypeError("JSON Web Key for this operation must be a private JWK");case"encrypt":case"verify":if("oct"!==t.kty&&void 0===t.d&&void 0===t.priv&&tJ(e,t,r))return;throw TypeError("JSON Web Key for this operation must be a public JWK")}if(!tB(t))throw TypeError(tU(e,t,"CryptoKey","KeyObject","JSON Web Key"));if("secret"===t.type)throw TypeError(`${tV(t)} instances for asymmetric algorithms must not be of type "secret"`);if("public"===t.type)switch(r){case"sign":throw TypeError(`${tV(t)} instances for asymmetric algorithm signing must be of type "private"`);case"decrypt":throw TypeError(`${tV(t)} instances for asymmetric algorithm decryption must be of type "private"`)}if("private"===t.type)switch(r){case"verify":throw TypeError(`${tV(t)} instances for asymmetric algorithm verifying must be of type "public"`);case"encrypt":throw TypeError(`${tV(t)} instances for asymmetric algorithm encryption must be of type "public"`)}})(c,p,h)}let f=function(...e){let t=new Uint8Array(e.reduce((e,{length:t})=>e+t,0)),r=0;for(let n of e)t.set(n,r),r+=n.length;return t}(void 0!==e.protected?tS(e.protected):new Uint8Array,tS("."),"string"==typeof e.payload?l?tS(e.payload):t_.encode(e.payload):e.payload);try{n=tE(e.signature)}catch{throw new th("Failed to base64url decode the signature")}let g=await tF(t,c);if(!await tK(c,g,n,f))throw new tb;if(l)try{a=tE(e.payload)}catch{throw new th("Failed to base64url decode the payload")}else a="string"==typeof e.payload?t_.encode(e.payload):e.payload;let y={payload:a};return(void 0!==e.protected&&(y.protectedHeader=i),void 0!==e.header&&(y.unprotectedHeader=e.header),d)?{...y,key:g}:y}async function tz(e,t,r){if(e instanceof Uint8Array&&(e=tw.decode(e)),"string"!=typeof e)throw new th("Compact JWS must be a string or Uint8Array");let{0:n,1:a,2:i,length:o}=e.split(".");if(3!==o)throw new th("Invalid Compact JWS");let s=await tX({payload:a,protected:n,signature:i},t,r),l={payload:s.payload,protectedHeader:s.protectedHeader};return"function"==typeof t?{...l,key:s.key}:l}let tY=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;function tQ(e){let t,r=tY.exec(e);if(!r||r[4]&&r[1])throw TypeError("Invalid time period format");let n=parseFloat(r[2]);switch(r[3].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":t=Math.round(n);break;case"minute":case"minutes":case"min":case"mins":case"m":t=Math.round(60*n);break;case"hour":case"hours":case"hr":case"hrs":case"h":t=Math.round(3600*n);break;case"day":case"days":case"d":t=Math.round(86400*n);break;case"week":case"weeks":case"w":t=Math.round(604800*n);break;default:t=Math.round(0x1e187e0*n)}return"-"===r[1]||"ago"===r[4]?-t:t}let tZ=e=>e.includes("/")?e.toLowerCase():`application/${e.toLowerCase()}`;async function t0(e,t,r){let n=await tz(e,t,r);if(n.protectedHeader.crit?.includes("b64")&&!1===n.protectedHeader.b64)throw new tf("JWTs MUST NOT use unencoded payload");let a={payload:function(e,t,r={}){var n,a;let i,o;try{i=JSON.parse(tw.decode(t))}catch{}if(!tR(i))throw new tf("JWT Claims Set must be a top-level JSON object");let{typ:s}=r;if(s&&("string"!=typeof e.typ||tZ(e.typ)!==tZ(s)))throw new tc('unexpected "typ" JWT header value',i,"typ","check_failed");let{requiredClaims:l=[],issuer:c,subject:u,audience:d,maxTokenAge:p}=r,h=[...l];for(let e of(void 0!==p&&h.push("iat"),void 0!==d&&h.push("aud"),void 0!==u&&h.push("sub"),void 0!==c&&h.push("iss"),new Set(h.reverse())))if(!(e in i))throw new tc(`missing required "${e}" claim`,i,e,"missing");if(c&&!(Array.isArray(c)?c:[c]).includes(i.iss))throw new tc('unexpected "iss" claim value',i,"iss","check_failed");if(u&&i.sub!==u)throw new tc('unexpected "sub" claim value',i,"sub","check_failed");if(d&&(n=i.aud,a="string"==typeof d?[d]:d,"string"==typeof n?!a.includes(n):!(Array.isArray(n)&&a.some(Set.prototype.has.bind(new Set(n))))))throw new tc('unexpected "aud" claim value',i,"aud","check_failed");switch(typeof r.clockTolerance){case"string":o=tQ(r.clockTolerance);break;case"number":o=r.clockTolerance;break;case"undefined":o=0;break;default:throw TypeError("Invalid clockTolerance option type")}let{currentDate:f}=r,g=Math.floor((f||new Date).getTime()/1e3);if((void 0!==i.iat||p)&&"number"!=typeof i.iat)throw new tc('"iat" claim must be a number',i,"iat","invalid");if(void 0!==i.nbf){if("number"!=typeof i.nbf)throw new tc('"nbf" claim must be a number',i,"nbf","invalid");if(i.nbf>g+o)throw new tc('"nbf" claim timestamp check failed',i,"nbf","check_failed")}if(void 0!==i.exp){if("number"!=typeof i.exp)throw new tc('"exp" claim must be a number',i,"exp","invalid");if(i.exp<=g-o)throw new tu('"exp" claim timestamp check failed',i,"exp","check_failed")}if(p){let e=g-i.iat;if(e-o>("number"==typeof p?p:tQ(p)))throw new tu('"iat" claim timestamp check failed (too far in the past)',i,"iat","check_failed");if(e<0-o)throw new tc('"iat" claim timestamp check failed (it should be in the past)',i,"iat","check_failed")}return i}(n.protectedHeader,n.payload,r),protectedHeader:n.protectedHeader};return"function"==typeof t?{...a,key:n.key}:a}let t1="cloudflare-access",t2=new Map;function t5(e){return e?.trim()||null}async function t4(e,t){let r,n,a=(r=function(e){let t=t5(e);if(!t)return null;try{return new URL(t.includes("://")?t:`https://${t}`).hostname.toLowerCase()}catch{return t.replace(/^https?:\/\//i,"").replace(/\/+$/g,"").toLowerCase()}}(process.env.CONDUCTOR_CLOUDFLARE_ACCESS_TEAM_DOMAIN??t?.trustedHeaders?.teamDomain),n=t5(process.env.CONDUCTOR_CLOUDFLARE_ACCESS_AUDIENCE??t?.trustedHeaders?.audience),{enabled:t?.trustedHeaders?.enabled===!0||"true"===(process.env.CONDUCTOR_TRUST_AUTH_HEADERS??"").trim().toLowerCase(),provider:"generic"===(t5(process.env.CONDUCTOR_TRUST_AUTH_PROVIDER)?.toLowerCase()||t?.trustedHeaders?.provider||(r||n?t1:null))?"generic":t1,emailHeader:t5(process.env.CONDUCTOR_TRUST_AUTH_EMAIL_HEADER)??t5(t?.trustedHeaders?.emailHeader)??"Cf-Access-Authenticated-User-Email",jwtHeader:t5(process.env.CONDUCTOR_TRUST_AUTH_JWT_HEADER)??t5(t?.trustedHeaders?.jwtHeader)??"Cf-Access-Jwt-Assertion",teamDomain:r,audience:n,allowInsecureEmailHeader:"true"===(process.env.CONDUCTOR_ALLOW_INSECURE_TRUSTED_HEADERS??"").trim().toLowerCase()});if(!a.enabled)return null;if(a.provider===t1){let t=e.get(a.jwtHeader)?.trim()??"";if(!t)return null;if(!a.teamDomain||!a.audience)return{ok:!1,reason:"Cloudflare Access is enabled but team domain or audience is missing.",provider:"cloudflare-access"};try{let{payload:r}=await t0(t,function(e){let t,r,n=t2.get(e);if(n)return n;let a=(t=new tM(new URL(`https://${e}/cdn-cgi/access/certs`),void 0),r=async(e,r)=>t.getKey(e,r),Object.defineProperties(r,{coolingDown:{get:()=>t.coolingDown(),enumerable:!0,configurable:!1},fresh:{get:()=>t.fresh(),enumerable:!0,configurable:!1},reload:{value:()=>t.reload(),enumerable:!0,configurable:!1,writable:!1},reloading:{get:()=>t.pendingFetch(),enumerable:!0,configurable:!1},jwks:{value:()=>t.jwks(),enumerable:!0,configurable:!1,writable:!1}}),r);return t2.set(e,a),a}(a.teamDomain),{audience:a.audience,issuer:`https://${a.teamDomain}`}),n=function(e){let t=e.email;if("string"==typeof t&&t.trim().length>0)return t.trim().toLowerCase();let r=e.sub;return"string"==typeof r&&r.includes("@")?r.trim().toLowerCase():null}(r);if(!n)return{ok:!1,reason:"Cloudflare Access token is missing an email claim.",provider:"cloudflare-access"};let i=e.get(a.emailHeader)?.trim().toLowerCase()??"";if(i&&i!==n)return{ok:!1,reason:"Cloudflare Access email header does not match the verified token.",provider:"cloudflare-access"};return{ok:!0,email:n,provider:"cloudflare-access"}}catch(e){return{ok:!1,reason:e instanceof Error&&e.message.trim().length>0?e.message:"Cloudflare Access token verification failed",provider:"cloudflare-access"}}}let i=e.get(a.emailHeader)?.trim().toLowerCase()??"";return i?a.allowInsecureEmailHeader?{ok:!0,email:i,provider:"trusted-header"}:{ok:!1,reason:"Generic trusted-header mode is disabled. Use verified Cloudflare Access, or explicitly set CONDUCTOR_ALLOW_INSECURE_TRUSTED_HEADERS=true.",provider:"trusted-header"}:null}function t3(){let e=process.env.CONDUCTOR_REMOTE_SESSION_SECRET?.trim();return e&&e.length>0?e:null}async function t6(e,t){let r=new TextEncoder,n=await crypto.subtle.importKey("raw",r.encode(t),{name:"HMAC",hash:"SHA-256"},!1,["sign"]);return Array.from(new Uint8Array(await crypto.subtle.sign("HMAC",n,r.encode(e))),e=>e.toString(16).padStart(2,"0")).join("")}async function t8(e){let t=t3();if(!t||!e)return!1;let r=e.indexOf(".");if(r<=0||r===e.length-1)return!1;let n=e.slice(0,r),a=e.slice(r+1),i=Number.parseInt(n,10);if(!Number.isFinite(i)||i<=Date.now())return!1;var o=await t6(n,t);if(o.length!==a.length)return!1;let s=0;for(let e=0;e<o.length;e+=1)s|=o.charCodeAt(e)^a.charCodeAt(e);return 0===s}let t9=!!(process.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY&&process.env.CLERK_SECRET_KEY),t7=process.env.CONDUCTOR_BACKEND_URL?.trim()||"",re=["/api/config","/api/preferences","/api/access","/api/events","/api/spawn","/api/sessions","/api/health","/api/executor/health","/api/repositories","/api/workspaces","/api/filesystem","/api/context-files","/api/boards","/api/github/repos","/api/attachments","/api/notifications","/api/auth/session"];function rt(e){let t=new URL(`${e.nextUrl.pathname}${e.nextUrl.search}`,t7);return ts.NextResponse.rewrite(t)}async function rr(t,r){let n,a=t.nextUrl.pathname,i=t7.length>0&&re.some(e=>a===e||a.startsWith(`${e}/`)),o=await t4(t.headers,null);if(o?.ok)return i?rt(t):ts.NextResponse.next();if(((n=process.env.CONDUCTOR_REMOTE_ACCESS_TOKEN?.trim())&&n.length>0?n:null)&&t3()){if(a.startsWith("/unlock")||a.startsWith("/auth/grant")||a.startsWith("/api/auth/session"))return i?rt(t):ts.NextResponse.next();let e=t.cookies.get("conductor_session")?.value??null;if(await t8(e))return i?rt(t):ts.NextResponse.next();if(a.startsWith("/api/"))return ts.NextResponse.json({error:"Access denied",reason:"Remote sign-in required"},{status:403});let r=t.nextUrl.clone();r.pathname="/unlock";let n=function(e){if(!e)return"/";let t=e.trim();return!t.startsWith("/")||t.startsWith("//")?"/":t}(`${a}${t.nextUrl.search}`);return"/"!==n&&r.searchParams.set("next",n),ts.NextResponse.redirect(r)}if(!t9){let e;if("localhost"!==(e=(t.nextUrl.hostname??"").trim().toLowerCase())&&"127.0.0.1"!==e&&"0.0.0.0"!==e&&"::1"!==e&&"[::1]"!==e){if(!a.startsWith("/api/")){let e=t.nextUrl.clone();return e.pathname="/unlock",e.searchParams.set("error","unavailable"),ts.NextResponse.redirect(e)}return ts.NextResponse.json({error:"Access denied",reason:"Authentication is required for non-local dashboard access"},{status:403})}return i?rt(t):ts.NextResponse.next()}try{let{clerkMiddleware:n,createRouteMatcher:a}=await e.A(2516),o=a(["/sign-in(.*)"]),s=n(async(e,t)=>{o(t)||await e.protect()})(t,r);if(i)return rt(t);return s}catch{return ts.NextResponse.json({error:"Authentication service unavailable"},{status:503})}}e.s(["config",0,{matcher:["/((?!_next|[^?]*\\.(?:html?|css|js(?!on)|jpe?g|png|gif|svg|ttf|woff2?|ico)).*)","/(api|trpc)(.*)"]},"default",()=>rr],15506);var rn=e.i(15506);Object.values({NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401});let ra={...rn},ri="/proxy",ro=ra.proxy||ra.default;if("function"!=typeof ro)throw new class extends Error{constructor(e){super(e),this.stack=""}}(`The Proxy file "${ri}" must export a function named \`proxy\` or a default function.`);e.s(["default",0,e=>to({...e,page:ri,handler:async(...e)=>{try{return await ro(...e)}catch(a){let t=e[0],r=new URL(t.url),n=r.pathname+r.search;throw await l(a,{path:n,method:t.method,headers:Object.fromEntries(t.headers.entries())},{routerKind:"Pages Router",routePath:"/proxy",routeType:"proxy",revalidateReason:void 0}),a}}})],94269)}];
|
|
12
|
+
`)}}let h="_N_T_",f={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",apiNode:"api-node",apiEdge:"api-edge",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",pagesDirBrowser:"pages-dir-browser",pagesDirEdge:"pages-dir-edge",pagesDirNode:"pages-dir-node"};function g(e){var t,r,n,a,i,o=[],s=0;function l(){for(;s<e.length&&/\s/.test(e.charAt(s));)s+=1;return s<e.length}for(;s<e.length;){for(t=s,i=!1;l();)if(","===(r=e.charAt(s))){for(n=s,s+=1,l(),a=s;s<e.length&&"="!==(r=e.charAt(s))&&";"!==r&&","!==r;)s+=1;s<e.length&&"="===e.charAt(s)?(i=!0,s=a,o.push(e.substring(t,n)),t=s):s=n+1}else s+=1;(!i||s>=e.length)&&o.push(e.substring(t,e.length))}return o}function y(e){let t={},r=[];if(e)for(let[n,a]of e.entries())"set-cookie"===n.toLowerCase()?(r.push(...g(a)),t[n]=1===r.length?r[0]:r):t[n]=a;return t}function m(e){try{return String(new URL(String(e)))}catch(t){throw Object.defineProperty(Error(`URL is malformed "${String(e)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`,{cause:t}),"__NEXT_ERROR_CODE",{value:"E61",enumerable:!1,configurable:!0})}}({...f,GROUP:{builtinReact:[f.reactServerComponents,f.actionBrowser],serverOnly:[f.reactServerComponents,f.actionBrowser,f.instrument,f.middleware],neutralTarget:[f.apiNode,f.apiEdge],clientOnly:[f.serverSideRendering,f.appPagesBrowser],bundled:[f.reactServerComponents,f.actionBrowser,f.serverSideRendering,f.appPagesBrowser,f.shared,f.instrument,f.middleware],appPages:[f.reactServerComponents,f.serverSideRendering,f.appPagesBrowser,f.actionBrowser]}});let v=Symbol("response"),b=Symbol("passThrough"),_=Symbol("waitUntil");class w{constructor(e,t){this[b]=!1,this[_]=t?{kind:"external",function:t}:{kind:"internal",promises:[]}}respondWith(e){this[v]||(this[v]=Promise.resolve(e))}passThroughOnException(){this[b]=!0}waitUntil(e){if("external"===this[_].kind)return(0,this[_].function)(e);this[_].promises.push(e)}}class S extends w{constructor(e){var t;super(e.request,null==(t=e.context)?void 0:t.waitUntil),this.sourcePage=e.page}get request(){throw Object.defineProperty(new u({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}respondWith(){throw Object.defineProperty(new u({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}}function E(e){return e.replace(/\/$/,"")||"/"}function C(e){let t=e.indexOf("#"),r=e.indexOf("?"),n=r>-1&&(t<0||r<t);return n||t>-1?{pathname:e.substring(0,n?r:t),query:n?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}function R(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:n,hash:a}=C(e);return`${t}${r}${n}${a}`}function O(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:n,hash:a}=C(e);return`${r}${t}${n}${a}`}function T(e,t){if("string"!=typeof e)return!1;let{pathname:r}=C(e);return r===t||r.startsWith(t+"/")}let P=new WeakMap;function x(e,t){let r;if(!t)return{pathname:e};let n=P.get(t);n||(n=t.map(e=>e.toLowerCase()),P.set(t,n));let a=e.split("/",2);if(!a[1])return{pathname:e};let i=a[1].toLowerCase(),o=n.indexOf(i);return o<0?{pathname:e}:(r=t[o],{pathname:e=e.slice(r.length+1)||"/",detectedLocale:r})}let A=/(?!^https?:\/\/)(127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)/;function N(e,t){return new URL(String(e).replace(A,"localhost"),t&&String(t).replace(A,"localhost"))}let I=Symbol("NextURLInternal");class k{constructor(e,t,r){let n,a;"object"==typeof t&&"pathname"in t||"string"==typeof t?(n=t,a=r||{}):a=r||t||{},this[I]={url:N(e,n??a.base),options:a,basePath:""},this.analyze()}analyze(){var e,t,r,n,a;let i=function(e,t){let{basePath:r,i18n:n,trailingSlash:a}=t.nextConfig??{},i={pathname:e,trailingSlash:"/"!==e?e.endsWith("/"):a};r&&T(i.pathname,r)&&(i.pathname=function(e,t){if(!T(e,t))return e;let r=e.slice(t.length);return r.startsWith("/")?r:`/${r}`}(i.pathname,r),i.basePath=r);let o=i.pathname;if(i.pathname.startsWith("/_next/data/")&&i.pathname.endsWith(".json")){let e=i.pathname.replace(/^\/_next\/data\//,"").replace(/\.json$/,"").split("/");i.buildId=e[0],o="index"!==e[1]?`/${e.slice(1).join("/")}`:"/",!0===t.parseData&&(i.pathname=o)}if(n){let e=t.i18nProvider?t.i18nProvider.analyze(i.pathname):x(i.pathname,n.locales);i.locale=e.detectedLocale,i.pathname=e.pathname??i.pathname,!e.detectedLocale&&i.buildId&&(e=t.i18nProvider?t.i18nProvider.analyze(o):x(o,n.locales)).detectedLocale&&(i.locale=e.detectedLocale)}return i}(this[I].url.pathname,{nextConfig:this[I].options.nextConfig,parseData:!0,i18nProvider:this[I].options.i18nProvider}),o=function(e,t){let r;if(t?.host&&!Array.isArray(t.host))r=t.host.toString().split(":",1)[0];else{if(!e.hostname)return;r=e.hostname}return r.toLowerCase()}(this[I].url,this[I].options.headers);this[I].domainLocale=this[I].options.i18nProvider?this[I].options.i18nProvider.detectDomainLocale(o):function(e,t,r){if(e){for(let n of(r&&(r=r.toLowerCase()),e))if(t===n.domain?.split(":",1)[0].toLowerCase()||r===n.defaultLocale.toLowerCase()||n.locales?.some(e=>e.toLowerCase()===r))return n}}(null==(t=this[I].options.nextConfig)||null==(e=t.i18n)?void 0:e.domains,o);let s=(null==(r=this[I].domainLocale)?void 0:r.defaultLocale)||(null==(a=this[I].options.nextConfig)||null==(n=a.i18n)?void 0:n.defaultLocale);this[I].url.pathname=i.pathname,this[I].defaultLocale=s,this[I].basePath=i.basePath??"",this[I].buildId=i.buildId,this[I].locale=i.locale??s,this[I].trailingSlash=i.trailingSlash}formatPathname(){var e;let t;return t=function(e,t,r,n){if(!t||t===r)return e;let a=e.toLowerCase();return!n&&(T(a,"/api")||T(a,`/${t.toLowerCase()}`))?e:R(e,`/${t}`)}((e={basePath:this[I].basePath,buildId:this[I].buildId,defaultLocale:this[I].options.forceLocale?void 0:this[I].defaultLocale,locale:this[I].locale,pathname:this[I].url.pathname,trailingSlash:this[I].trailingSlash}).pathname,e.locale,e.buildId?void 0:e.defaultLocale,e.ignorePrefix),(e.buildId||!e.trailingSlash)&&(t=E(t)),e.buildId&&(t=O(R(t,`/_next/data/${e.buildId}`),"/"===e.pathname?"index.json":".json")),t=R(t,e.basePath),!e.buildId&&e.trailingSlash?t.endsWith("/")?t:O(t,"/"):E(t)}formatSearch(){return this[I].url.search}get buildId(){return this[I].buildId}set buildId(e){this[I].buildId=e}get locale(){return this[I].locale??""}set locale(e){var t,r;if(!this[I].locale||!(null==(r=this[I].options.nextConfig)||null==(t=r.i18n)?void 0:t.locales.includes(e)))throw Object.defineProperty(TypeError(`The NextURL configuration includes no locale "${e}"`),"__NEXT_ERROR_CODE",{value:"E597",enumerable:!1,configurable:!0});this[I].locale=e}get defaultLocale(){return this[I].defaultLocale}get domainLocale(){return this[I].domainLocale}get searchParams(){return this[I].url.searchParams}get host(){return this[I].url.host}set host(e){this[I].url.host=e}get hostname(){return this[I].url.hostname}set hostname(e){this[I].url.hostname=e}get port(){return this[I].url.port}set port(e){this[I].url.port=e}get protocol(){return this[I].url.protocol}set protocol(e){this[I].url.protocol=e}get href(){let e=this.formatPathname(),t=this.formatSearch();return`${this.protocol}//${this.host}${e}${t}${this.hash}`}set href(e){this[I].url=N(e),this.analyze()}get origin(){return this[I].url.origin}get pathname(){return this[I].url.pathname}set pathname(e){this[I].url.pathname=e}get hash(){return this[I].url.hash}set hash(e){this[I].url.hash=e}get search(){return this[I].url.search}set search(e){this[I].url.search=e}get password(){return this[I].url.password}set password(e){this[I].url.password=e}get username(){return this[I].url.username}set username(e){this[I].url.username=e}get basePath(){return this[I].basePath}set basePath(e){this[I].basePath=e.startsWith("/")?e:`/${e}`}toString(){return this.href}toJSON(){return this.href}[Symbol.for("edge-runtime.inspect.custom")](){return{href:this.href,origin:this.origin,protocol:this.protocol,username:this.username,password:this.password,host:this.host,hostname:this.hostname,port:this.port,pathname:this.pathname,search:this.search,searchParams:this.searchParams,hash:this.hash}}clone(){return new k(String(this),this[I].options)}}var M,D,L,j,U,H,K,W,$,B,q,V,J=e.i(9254);let G=Symbol("internal request");class F extends Request{constructor(e,t={}){const r="string"!=typeof e&&"url"in e?e.url:String(e);m(r),t.body&&"half"!==t.duplex&&(t.duplex="half"),e instanceof Request?super(e,t):super(r,t);const n=new k(r,{headers:y(this.headers),nextConfig:t.nextConfig});this[G]={cookies:new J.RequestCookies(this.headers),nextUrl:n,url:n.toString()}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,nextUrl:this.nextUrl,url:this.url,bodyUsed:this.bodyUsed,cache:this.cache,credentials:this.credentials,destination:this.destination,headers:Object.fromEntries(this.headers),integrity:this.integrity,keepalive:this.keepalive,method:this.method,mode:this.mode,redirect:this.redirect,referrer:this.referrer,referrerPolicy:this.referrerPolicy,signal:this.signal}}get cookies(){return this[G].cookies}get nextUrl(){return this[G].nextUrl}get page(){throw new d}get ua(){throw new p}get url(){return this[G].url}}class X{static get(e,t,r){let n=Reflect.get(e,t,r);return"function"==typeof n?n.bind(e):n}static set(e,t,r,n){return Reflect.set(e,t,r,n)}static has(e,t){return Reflect.has(e,t)}static deleteProperty(e,t){return Reflect.deleteProperty(e,t)}}let z=Symbol("internal response"),Y=new Set([301,302,303,307,308]);function Q(e,t){var r;if(null==e||null==(r=e.request)?void 0:r.headers){if(!(e.request.headers instanceof Headers))throw Object.defineProperty(Error("request.headers must be an instance of Headers"),"__NEXT_ERROR_CODE",{value:"E119",enumerable:!1,configurable:!0});let r=[];for(let[n,a]of e.request.headers)t.set("x-middleware-request-"+n,a),r.push(n);t.set("x-middleware-override-headers",r.join(","))}}class Z extends Response{constructor(e,t={}){super(e,t);const r=this.headers,n=new Proxy(new J.ResponseCookies(r),{get(e,n,a){switch(n){case"delete":case"set":return(...a)=>{let i=Reflect.apply(e[n],e,a),o=new Headers(r);return i instanceof J.ResponseCookies&&r.set("x-middleware-set-cookie",i.getAll().map(e=>(0,J.stringifyCookie)(e)).join(",")),Q(t,o),i};default:return X.get(e,n,a)}}});this[z]={cookies:n,url:t.url?new k(t.url,{headers:y(r),nextConfig:t.nextConfig}):void 0}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,url:this.url,body:this.body,bodyUsed:this.bodyUsed,headers:Object.fromEntries(this.headers),ok:this.ok,redirected:this.redirected,status:this.status,statusText:this.statusText,type:this.type}}get cookies(){return this[z].cookies}static json(e,t){let r=Response.json(e,t);return new Z(r.body,r)}static redirect(e,t){let r="number"==typeof t?t:(null==t?void 0:t.status)??307;if(!Y.has(r))throw Object.defineProperty(RangeError('Failed to execute "redirect" on "response": Invalid status code'),"__NEXT_ERROR_CODE",{value:"E529",enumerable:!1,configurable:!0});let n="object"==typeof t?t:{},a=new Headers(null==n?void 0:n.headers);return a.set("Location",m(e)),new Z(null,{...n,headers:a,status:r})}static rewrite(e,t){let r=new Headers(null==t?void 0:t.headers);return r.set("x-middleware-rewrite",m(e)),Q(t,r),new Z(null,{...t,headers:r})}static next(e){let t=new Headers(null==e?void 0:e.headers);return t.set("x-middleware-next","1"),Q(e,t),new Z(null,{...e,headers:t})}}function ee(e,t){let r="string"==typeof t?new URL(t):t,n=new URL(e,t),a=n.origin===r.origin;return{url:a?n.toString().slice(r.origin.length):n.toString(),isRelative:a}}let et="next-router-prefetch",er=["rsc","next-router-state-tree",et,"next-hmr-refresh","next-router-segment-prefetch"],en="_rsc";class ea extends Error{constructor(){super("Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers")}static callable(){throw new ea}}class ei extends Headers{constructor(e){super(),this.headers=new Proxy(e,{get(t,r,n){if("symbol"==typeof r)return X.get(t,r,n);let a=r.toLowerCase(),i=Object.keys(e).find(e=>e.toLowerCase()===a);if(void 0!==i)return X.get(t,i,n)},set(t,r,n,a){if("symbol"==typeof r)return X.set(t,r,n,a);let i=r.toLowerCase(),o=Object.keys(e).find(e=>e.toLowerCase()===i);return X.set(t,o??r,n,a)},has(t,r){if("symbol"==typeof r)return X.has(t,r);let n=r.toLowerCase(),a=Object.keys(e).find(e=>e.toLowerCase()===n);return void 0!==a&&X.has(t,a)},deleteProperty(t,r){if("symbol"==typeof r)return X.deleteProperty(t,r);let n=r.toLowerCase(),a=Object.keys(e).find(e=>e.toLowerCase()===n);return void 0===a||X.deleteProperty(t,a)}})}static seal(e){return new Proxy(e,{get(e,t,r){switch(t){case"append":case"delete":case"set":return ea.callable;default:return X.get(e,t,r)}}})}merge(e){return Array.isArray(e)?e.join(", "):e}static from(e){return e instanceof Headers?e:new ei(e)}append(e,t){let r=this.headers[e];"string"==typeof r?this.headers[e]=[r,t]:Array.isArray(r)?r.push(t):this.headers[e]=t}delete(e){delete this.headers[e]}get(e){let t=this.headers[e];return void 0!==t?this.merge(t):null}has(e){return void 0!==this.headers[e]}set(e,t){this.headers[e]=t}forEach(e,t){for(let[r,n]of this.entries())e.call(t,n,r,this)}*entries(){for(let e of Object.keys(this.headers)){let t=e.toLowerCase(),r=this.get(t);yield[t,r]}}*keys(){for(let e of Object.keys(this.headers)){let t=e.toLowerCase();yield t}}*values(){for(let e of Object.keys(this.headers)){let t=this.get(e);yield t}}[Symbol.iterator](){return this.entries()}}var eo=e.i(56704);class es extends Error{constructor(){super("Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options")}static callable(){throw new es}}class el{static seal(e){return new Proxy(e,{get(e,t,r){switch(t){case"clear":case"delete":case"set":return es.callable;default:return X.get(e,t,r)}}})}}let ec=Symbol.for("next.mutated.cookies");class eu{static wrap(e,t){let r=new J.ResponseCookies(new Headers);for(let t of e.getAll())r.set(t);let n=[],a=new Set,i=()=>{let e=eo.workAsyncStorage.getStore();if(e&&(e.pathWasRevalidated=1),n=r.getAll().filter(e=>a.has(e.name)),t){let e=[];for(let t of n){let r=new J.ResponseCookies(new Headers);r.set(t),e.push(r.toString())}t(e)}},o=new Proxy(r,{get(e,t,r){switch(t){case ec:return n;case"delete":return function(...t){a.add("string"==typeof t[0]?t[0]:t[0].name);try{return e.delete(...t),o}finally{i()}};case"set":return function(...t){a.add("string"==typeof t[0]?t[0]:t[0].name);try{return e.set(...t),o}finally{i()}};default:return X.get(e,t,r)}}});return o}}function ed(e,t){if("action"!==e.phase)throw new es}var ep=((M=ep||{}).handleRequest="BaseServer.handleRequest",M.run="BaseServer.run",M.pipe="BaseServer.pipe",M.getStaticHTML="BaseServer.getStaticHTML",M.render="BaseServer.render",M.renderToResponseWithComponents="BaseServer.renderToResponseWithComponents",M.renderToResponse="BaseServer.renderToResponse",M.renderToHTML="BaseServer.renderToHTML",M.renderError="BaseServer.renderError",M.renderErrorToResponse="BaseServer.renderErrorToResponse",M.renderErrorToHTML="BaseServer.renderErrorToHTML",M.render404="BaseServer.render404",M),eh=((D=eh||{}).loadDefaultErrorComponents="LoadComponents.loadDefaultErrorComponents",D.loadComponents="LoadComponents.loadComponents",D),ef=((L=ef||{}).getRequestHandler="NextServer.getRequestHandler",L.getRequestHandlerWithMetadata="NextServer.getRequestHandlerWithMetadata",L.getServer="NextServer.getServer",L.getServerRequestHandler="NextServer.getServerRequestHandler",L.createServer="createServer.createServer",L),eg=((j=eg||{}).compression="NextNodeServer.compression",j.getBuildId="NextNodeServer.getBuildId",j.createComponentTree="NextNodeServer.createComponentTree",j.clientComponentLoading="NextNodeServer.clientComponentLoading",j.getLayoutOrPageModule="NextNodeServer.getLayoutOrPageModule",j.generateStaticRoutes="NextNodeServer.generateStaticRoutes",j.generateFsStaticRoutes="NextNodeServer.generateFsStaticRoutes",j.generatePublicRoutes="NextNodeServer.generatePublicRoutes",j.generateImageRoutes="NextNodeServer.generateImageRoutes.route",j.sendRenderResult="NextNodeServer.sendRenderResult",j.proxyRequest="NextNodeServer.proxyRequest",j.runApi="NextNodeServer.runApi",j.render="NextNodeServer.render",j.renderHTML="NextNodeServer.renderHTML",j.imageOptimizer="NextNodeServer.imageOptimizer",j.getPagePath="NextNodeServer.getPagePath",j.getRoutesManifest="NextNodeServer.getRoutesManifest",j.findPageComponents="NextNodeServer.findPageComponents",j.getFontManifest="NextNodeServer.getFontManifest",j.getServerComponentManifest="NextNodeServer.getServerComponentManifest",j.getRequestHandler="NextNodeServer.getRequestHandler",j.renderToHTML="NextNodeServer.renderToHTML",j.renderError="NextNodeServer.renderError",j.renderErrorToHTML="NextNodeServer.renderErrorToHTML",j.render404="NextNodeServer.render404",j.startResponse="NextNodeServer.startResponse",j.route="route",j.onProxyReq="onProxyReq",j.apiResolver="apiResolver",j.internalFetch="internalFetch",j),ey=((U=ey||{}).startServer="startServer.startServer",U),em=((H=em||{}).getServerSideProps="Render.getServerSideProps",H.getStaticProps="Render.getStaticProps",H.renderToString="Render.renderToString",H.renderDocument="Render.renderDocument",H.createBodyResult="Render.createBodyResult",H),ev=((K=ev||{}).renderToString="AppRender.renderToString",K.renderToReadableStream="AppRender.renderToReadableStream",K.getBodyResult="AppRender.getBodyResult",K.fetch="AppRender.fetch",K),eb=((W=eb||{}).executeRoute="Router.executeRoute",W),e_=(($=e_||{}).runHandler="Node.runHandler",$),ew=((B=ew||{}).runHandler="AppRouteRouteHandlers.runHandler",B),eS=((q=eS||{}).generateMetadata="ResolveMetadata.generateMetadata",q.generateViewport="ResolveMetadata.generateViewport",q),eE=((V=eE||{}).execute="Middleware.execute",V);let eC=new Set(["Middleware.execute","BaseServer.handleRequest","Render.getServerSideProps","Render.getStaticProps","AppRender.fetch","AppRender.getBodyResult","Render.renderDocument","Node.runHandler","AppRouteRouteHandlers.runHandler","ResolveMetadata.generateMetadata","ResolveMetadata.generateViewport","NextNodeServer.createComponentTree","NextNodeServer.findPageComponents","NextNodeServer.getLayoutOrPageModule","NextNodeServer.startResponse","NextNodeServer.clientComponentLoading"]),eR=new Set(["NextNodeServer.findPageComponents","NextNodeServer.createComponentTree","NextNodeServer.clientComponentLoading"]);function eO(e){return null!==e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then}let eT=process.env.NEXT_OTEL_PERFORMANCE_PREFIX;try{t=e.r(70406)}catch(r){t=e.r(31387)}let{context:eP,propagation:ex,trace:eA,SpanStatusCode:eN,SpanKind:eI,ROOT_CONTEXT:ek}=t;class eM extends Error{constructor(e,t){super(),this.bubble=e,this.result=t}}let eD=(e,t)=>{"object"==typeof t&&null!==t&&t instanceof eM&&t.bubble?e.setAttribute("next.bubble",!0):(t&&(e.recordException(t),e.setAttribute("error.type",t.name)),e.setStatus({code:eN.ERROR,message:null==t?void 0:t.message})),e.end()},eL=new Map,ej=t.createContextKey("next.rootSpanId"),eU=0,eH={set(e,t,r){e.push({key:t,value:r})}},eK=(a=new class e{getTracerInstance(){return eA.getTracer("next.js","0.0.1")}getContext(){return eP}getTracePropagationData(){let e=eP.active(),t=[];return ex.inject(e,t,eH),t}getActiveScopeSpan(){return eA.getSpan(null==eP?void 0:eP.active())}withPropagatedContext(e,t,r){let n=eP.active();if(eA.getSpanContext(n))return t();let a=ex.extract(n,e,r);return eP.with(a,t)}trace(...e){let[t,r,n]=e,{fn:a,options:i}="function"==typeof r?{fn:r,options:{}}:{fn:n,options:{...r}},o=i.spanName??t;if(!eC.has(t)&&"1"!==process.env.NEXT_OTEL_VERBOSE||i.hideSpan)return a();let s=this.getSpanContext((null==i?void 0:i.parentSpan)??this.getActiveScopeSpan());s||(s=(null==eP?void 0:eP.active())??ek);let l=s.getValue(ej),c="number"!=typeof l||!eL.has(l),u=eU++;return i.attributes={"next.span_name":o,"next.span_type":t,...i.attributes},eP.with(s.setValue(ej,u),()=>this.getTracerInstance().startActiveSpan(o,i,e=>{let r;eT&&t&&eR.has(t)&&(r="performance"in globalThis&&"measure"in performance?globalThis.performance.now():void 0);let n=!1,o=()=>{!n&&(n=!0,eL.delete(u),r&&performance.measure(`${eT}:next-${(t.split(".").pop()||"").replace(/[A-Z]/g,e=>"-"+e.toLowerCase())}`,{start:r,end:performance.now()}))};if(c&&eL.set(u,new Map(Object.entries(i.attributes??{}))),a.length>1)try{return a(e,t=>eD(e,t))}catch(t){throw eD(e,t),t}finally{o()}try{let t=a(e);if(eO(t))return t.then(t=>(e.end(),t)).catch(t=>{throw eD(e,t),t}).finally(o);return e.end(),o(),t}catch(t){throw eD(e,t),o(),t}}))}wrap(...e){let t=this,[r,n,a]=3===e.length?e:[e[0],{},e[1]];return eC.has(r)||"1"===process.env.NEXT_OTEL_VERBOSE?function(){let e=n;"function"==typeof e&&"function"==typeof a&&(e=e.apply(this,arguments));let i=arguments.length-1,o=arguments[i];if("function"!=typeof o)return t.trace(r,e,()=>a.apply(this,arguments));{let n=t.getContext().bind(eP.active(),o);return t.trace(r,e,(e,t)=>(arguments[i]=function(e){return null==t||t(e),n.apply(this,arguments)},a.apply(this,arguments)))}}:a}startSpan(...e){let[t,r]=e,n=this.getSpanContext((null==r?void 0:r.parentSpan)??this.getActiveScopeSpan());return this.getTracerInstance().startSpan(t,r,n)}getSpanContext(e){return e?eA.setSpan(eP.active(),e):void 0}getRootSpanAttributes(){let e=eP.active().getValue(ej);return eL.get(e)}setRootSpanAttribute(e,t){let r=eP.active().getValue(ej),n=eL.get(r);n&&!n.has(e)&&n.set(e,t)}withSpan(e,t){let r=eA.setSpan(eP.active(),e);return eP.with(r,t)}},()=>a),eW="__prerender_bypass";Symbol("__next_preview_data"),Symbol(eW);class e${constructor(e,t,r,n){var a;const i=e&&function(e,t){let r=ei.from(e.headers);return{isOnDemandRevalidate:r.get("x-prerender-revalidate")===t.previewModeId,revalidateOnlyGenerated:r.has("x-prerender-revalidate-if-generated")}}(t,e).isOnDemandRevalidate,o=null==(a=r.get(eW))?void 0:a.value;this._isEnabled=!!(!i&&o&&e&&o===e.previewModeId),this._previewModeId=null==e?void 0:e.previewModeId,this._mutableCookies=n}get isEnabled(){return this._isEnabled}enable(){if(!this._previewModeId)throw Object.defineProperty(Error("Invariant: previewProps missing previewModeId this should never happen"),"__NEXT_ERROR_CODE",{value:"E93",enumerable:!1,configurable:!0});this._mutableCookies.set({name:eW,value:this._previewModeId,httpOnly:!0,sameSite:"none",secure:!0,path:"/"}),this._isEnabled=!0}disable(){this._mutableCookies.set({name:eW,value:"",httpOnly:!0,sameSite:"none",secure:!0,path:"/",expires:new Date(0)}),this._isEnabled=!1}}function eB(e,t){if("x-middleware-set-cookie"in e.headers&&"string"==typeof e.headers["x-middleware-set-cookie"]){let r=e.headers["x-middleware-set-cookie"],n=new Headers;for(let e of g(r))n.append("set-cookie",e);for(let e of new J.ResponseCookies(n).getAll())t.set(e)}}var eq=e.i(32319),eV=e.i(47413);class eJ extends Error{constructor(e,t){super(`Invariant: ${e.endsWith(".")?e:e+"."} This is a bug in Next.js.`,t),this.name="InvariantError"}}e.i(51187),process.env.NEXT_PRIVATE_DEBUG_CACHE,Symbol.for("@next/cache-handlers");let eG=Symbol.for("@next/cache-handlers-map"),eF=Symbol.for("@next/cache-handlers-set"),eX=globalThis;function ez(){if(eX[eG])return eX[eG].entries()}async function eY(e,t){if(!e)return t();let r=eQ(e);try{return await t()}finally{var n,a;let t,i,o=(n=r,a=eQ(e),t=new Set(n.pendingRevalidatedTags.map(e=>{let t="object"==typeof e.profile?JSON.stringify(e.profile):e.profile||"";return`${e.tag}:${t}`})),i=new Set(n.pendingRevalidateWrites),{pendingRevalidatedTags:a.pendingRevalidatedTags.filter(e=>{let r="object"==typeof e.profile?JSON.stringify(e.profile):e.profile||"";return!t.has(`${e.tag}:${r}`)}),pendingRevalidates:Object.fromEntries(Object.entries(a.pendingRevalidates).filter(([e])=>!(e in n.pendingRevalidates))),pendingRevalidateWrites:a.pendingRevalidateWrites.filter(e=>!i.has(e))});await e0(e,o)}}function eQ(e){return{pendingRevalidatedTags:e.pendingRevalidatedTags?[...e.pendingRevalidatedTags]:[],pendingRevalidates:{...e.pendingRevalidates},pendingRevalidateWrites:e.pendingRevalidateWrites?[...e.pendingRevalidateWrites]:[]}}async function eZ(e,t,r){if(0===e.length)return;let n=function(){if(eX[eF])return eX[eF].values()}(),a=[],i=new Map;for(let t of e){let e,r=t.profile;for(let[t]of i)if("string"==typeof t&&"string"==typeof r&&t===r||"object"==typeof t&&"object"==typeof r&&JSON.stringify(t)===JSON.stringify(r)||t===r){e=t;break}let n=e||r;i.has(n)||i.set(n,[]),i.get(n).push(t.tag)}for(let[e,s]of i){let i;if(e){let t;if("object"==typeof e)t=e;else if("string"==typeof e){var o;if(!(t=null==r||null==(o=r.cacheLifeProfiles)?void 0:o[e]))throw Object.defineProperty(Error(`Invalid profile provided "${e}" must be configured under cacheLife in next.config or be "max"`),"__NEXT_ERROR_CODE",{value:"E873",enumerable:!1,configurable:!0})}t&&(i={expire:t.expire})}for(let t of n||[])e?a.push(null==t.updateTags?void 0:t.updateTags.call(t,s,i)):a.push(null==t.updateTags?void 0:t.updateTags.call(t,s));t&&a.push(t.revalidateTag(s,i))}await Promise.all(a)}async function e0(e,t){let r=(null==t?void 0:t.pendingRevalidatedTags)??e.pendingRevalidatedTags??[],n=(null==t?void 0:t.pendingRevalidates)??e.pendingRevalidates??{},a=(null==t?void 0:t.pendingRevalidateWrites)??e.pendingRevalidateWrites??[];return Promise.all([eZ(r,e.incrementalCache,e),...Object.values(n),...a])}let e1=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class e2{disable(){throw e1}getStore(){}run(){throw e1}exit(){throw e1}enterWith(){throw e1}static bind(e){return e}}let e5="u">typeof globalThis&&globalThis.AsyncLocalStorage;var e4=e.i(24725);class e3{constructor({waitUntil:e,onClose:t,onTaskError:r}){this.workUnitStores=new Set,this.waitUntil=e,this.onClose=t,this.onTaskError=r,this.callbackQueue=new eV.default,this.callbackQueue.pause()}after(e){if(eO(e))this.waitUntil||e6(),this.waitUntil(e.catch(e=>this.reportTaskError("promise",e)));else if("function"==typeof e)this.addCallback(e);else throw Object.defineProperty(Error("`after()`: Argument must be a promise or a function"),"__NEXT_ERROR_CODE",{value:"E50",enumerable:!1,configurable:!0})}addCallback(e){var t;this.waitUntil||e6();let r=eq.workUnitAsyncStorage.getStore();r&&this.workUnitStores.add(r);let n=e4.afterTaskAsyncStorage.getStore(),a=n?n.rootTaskSpawnPhase:null==r?void 0:r.phase;this.runCallbacksOnClosePromise||(this.runCallbacksOnClosePromise=this.runCallbacksOnClose(),this.waitUntil(this.runCallbacksOnClosePromise));let i=(t=async()=>{try{await e4.afterTaskAsyncStorage.run({rootTaskSpawnPhase:a},()=>e())}catch(e){this.reportTaskError("function",e)}},e5?e5.bind(t):e2.bind(t));this.callbackQueue.add(i)}async runCallbacksOnClose(){return await new Promise(e=>this.onClose(e)),this.runCallbacks()}async runCallbacks(){if(0===this.callbackQueue.size)return;for(let e of this.workUnitStores)e.phase="after";let e=eo.workAsyncStorage.getStore();if(!e)throw Object.defineProperty(new eJ("Missing workStore in AfterContext.runCallbacks"),"__NEXT_ERROR_CODE",{value:"E547",enumerable:!1,configurable:!0});return eY(e,()=>(this.callbackQueue.start(),this.callbackQueue.onIdle()))}reportTaskError(e,t){if(console.error("promise"===e?"A promise passed to `after()` rejected:":"An error occurred in a function passed to `after()`:",t),this.onTaskError)try{null==this.onTaskError||this.onTaskError.call(this,t)}catch(e){console.error(Object.defineProperty(new eJ("`onTaskError` threw while handling an error thrown from an `after` task",{cause:e}),"__NEXT_ERROR_CODE",{value:"E569",enumerable:!1,configurable:!0}))}}}function e6(){throw Object.defineProperty(Error("`after()` will not work correctly, because `waitUntil` is not available in the current environment."),"__NEXT_ERROR_CODE",{value:"E91",enumerable:!1,configurable:!0})}function e8(e){let t,r={then:(n,a)=>(t||(t=Promise.resolve(e())),t.then(e=>{r.value=e}).catch(()=>{}),t.then(n,a))};return r}class e9{onClose(e){if(this.isClosed)throw Object.defineProperty(Error("Cannot subscribe to a closed CloseController"),"__NEXT_ERROR_CODE",{value:"E365",enumerable:!1,configurable:!0});this.target.addEventListener("close",e),this.listeners++}dispatchClose(){if(this.isClosed)throw Object.defineProperty(Error("Cannot close a CloseController multiple times"),"__NEXT_ERROR_CODE",{value:"E229",enumerable:!1,configurable:!0});this.listeners>0&&this.target.dispatchEvent(new Event("close")),this.isClosed=!0}constructor(){this.target=new EventTarget,this.listeners=0,this.isClosed=!1}}function e7(){return{previewModeId:process.env.__NEXT_PREVIEW_MODE_ID||"",previewModeSigningKey:process.env.__NEXT_PREVIEW_MODE_SIGNING_KEY||"",previewModeEncryptionKey:process.env.__NEXT_PREVIEW_MODE_ENCRYPTION_KEY||""}}let te=Symbol.for("@next/request-context");async function tt(e,t,r){let n=new Set;for(let t of(e=>{let t=["/layout"];if(e.startsWith("/")){let r=e.split("/");for(let e=1;e<r.length+1;e++){let n=r.slice(0,e).join("/");n&&(n.endsWith("/page")||n.endsWith("/route")||(n=`${n}${!n.endsWith("/")?"/":""}layout`),t.push(n))}}return t})(e))t=`${h}${t}`,n.add(t);if(t.pathname&&(!r||0===r.size)){let e=`${h}${t.pathname}`;n.add(e)}n.has(`${h}/`)&&n.add(`${h}/index`),n.has(`${h}/index`)&&n.add(`${h}/`);let a=Array.from(n);return{tags:a,expirationsByCacheKind:function(e){let t=new Map,r=ez();if(r)for(let[n,a]of r)"getExpiration"in a&&t.set(n,e8(async()=>a.getExpiration(e)));return t}(a)}}class tr extends F{constructor(e){super(e.input,e.init),this.sourcePage=e.page}get request(){throw Object.defineProperty(new u({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}respondWith(){throw Object.defineProperty(new u({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}waitUntil(){throw Object.defineProperty(new u({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}}let tn={keys:e=>Array.from(e.keys()),get:(e,t)=>e.get(t)??void 0},ta=(e,t)=>eK().withPropagatedContext(e.headers,t,tn),ti=!1;async function to(t){var r,n,a,i;let o,l,u,d,p;!function(){if(!ti&&(ti=!0,"true"===process.env.NEXT_PRIVATE_TEST_PROXY)){let{interceptTestApis:t,wrapRequestHandler:r}=e.r(76532);t(),ta=r(ta)}}(),await (!c&&(c=s()),c);let h=void 0!==globalThis.__BUILD_MANIFEST;t.request.url=t.request.url.replace(/\.rsc($|\?)/,"$1");let f=t.bypassNextUrl?new URL(t.request.url):new k(t.request.url,{headers:t.request.headers,nextConfig:t.request.nextConfig});for(let e of[...f.searchParams.keys()]){let t=f.searchParams.getAll(e),r=function(e){for(let t of["nxtP","nxtI"])if(e!==t&&e.startsWith(t))return e.substring(t.length);return null}(e);if(r){for(let e of(f.searchParams.delete(r),t))f.searchParams.append(r,e);f.searchParams.delete(e)}}let g=process.env.__NEXT_BUILD_ID||"";"buildId"in f&&(g=f.buildId||"",f.buildId="");let y=function(e){let t=new Headers;for(let[r,n]of Object.entries(e))for(let e of Array.isArray(n)?n:[n])void 0!==e&&("number"==typeof e&&(e=e.toString()),t.append(r,e));return t}(t.request.headers),m=y.has("x-nextjs-data"),v="1"===y.get("rsc");m&&"/index"===f.pathname&&(f.pathname="/");let b=new Map;if(!h)for(let e of er){let t=y.get(e);null!==t&&(b.set(e,t),y.delete(e))}let w=f.searchParams.get(en),E=new tr({page:t.page,input:((d=(u="string"==typeof f)?new URL(f):f).searchParams.delete(en),u?d.toString():d).toString(),init:{body:t.request.body,headers:y,method:t.request.method,nextConfig:t.request.nextConfig,signal:t.request.signal}});m&&Object.defineProperty(E,"__isData",{enumerable:!1,value:!0}),!globalThis.__incrementalCacheShared&&t.IncrementalCache&&(globalThis.__incrementalCache=new t.IncrementalCache({CurCacheHandler:t.incrementalCacheHandler,minimalMode:!0,fetchCacheKeyPrefix:"",dev:!1,requestHeaders:t.request.headers,getPrerenderManifest:()=>({version:-1,routes:{},dynamicRoutes:{},notFoundRoutes:[],preview:e7()})}));let C=t.request.waitUntil??(null==(r=null==(p=globalThis[te])?void 0:p.get())?void 0:r.waitUntil),R=new S({request:E,page:t.page,context:C?{waitUntil:C}:void 0});if((o=await ta(E,()=>{if("/middleware"===t.page||"/src/middleware"===t.page||"/proxy"===t.page||"/src/proxy"===t.page){let e=R.waitUntil.bind(R),r=new e9;return eK().trace(eE.execute,{spanName:`middleware ${E.method}`,attributes:{"http.target":E.nextUrl.pathname,"http.method":E.method}},async()=>{try{var n,a,i,o,s,c;let u=e7(),d=await tt("/",E.nextUrl,null),p=(s=E.nextUrl,c=e=>{l=e},function(e,t,r,n,a,i,o,s,l,c,u,d){function p(e){r&&r.setHeader("Set-Cookie",e)}let h={};return{type:"request",phase:e,implicitTags:i,url:{pathname:n.pathname,search:n.search??""},rootParams:a,get headers(){return h.headers||(h.headers=function(e){let t=ei.from(e);for(let e of er)t.delete(e);return ei.seal(t)}(t.headers)),h.headers},get cookies(){if(!h.cookies){let e=new J.RequestCookies(ei.from(t.headers));eB(t,e),h.cookies=el.seal(e)}return h.cookies},set cookies(value){h.cookies=value},get mutableCookies(){if(!h.mutableCookies){var f,g;let e,n=(f=t.headers,g=o||(r?p:void 0),e=new J.RequestCookies(ei.from(f)),eu.wrap(e,g));eB(t,n),h.mutableCookies=n}return h.mutableCookies},get userspaceMutableCookies(){if(!h.userspaceMutableCookies){var y;let e;y=this,h.userspaceMutableCookies=e=new Proxy(y.mutableCookies,{get(t,r,n){switch(r){case"delete":return function(...r){return ed(y,"cookies().delete"),t.delete(...r),e};case"set":return function(...r){return ed(y,"cookies().set"),t.set(...r),e};default:return X.get(t,r,n)}}})}return h.userspaceMutableCookies},get draftMode(){return h.draftMode||(h.draftMode=new e$(l,t,this.cookies,this.mutableCookies)),h.draftMode},renderResumeDataCache:null,isHmrRefresh:c,serverComponentsHmrCache:u||globalThis.__serverComponentsHmrCache,devFallbackParams:null}}("action",E,void 0,s,{},d,c,null,u,!1,void 0,null)),h=function({page:e,renderOpts:t,isPrefetchRequest:r,buildId:n,previouslyRevalidatedTags:a,nonce:i}){var o;let s=!t.shouldWaitOnAllReady&&!t.supportsDynamicResponse&&!t.isDraftMode&&!t.isPossibleServerAction,l=t.dev??!1,c=l||s&&(!!process.env.NEXT_DEBUG_BUILD||"1"===process.env.NEXT_SSG_FETCH_METRICS),u={isStaticGeneration:s,page:e,route:(o=e.split("/").reduce((e,t,r,n)=>t?"("===t[0]&&t.endsWith(")")||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:`${e}/${t}`:e,"")).startsWith("/")?o:`/${o}`,incrementalCache:t.incrementalCache||globalThis.__incrementalCache,cacheLifeProfiles:t.cacheLifeProfiles,isBuildTimePrerendering:t.nextExport,hasReadableErrorStacks:t.hasReadableErrorStacks,fetchCache:t.fetchCache,isOnDemandRevalidate:t.isOnDemandRevalidate,isDraftMode:t.isDraftMode,isPrefetchRequest:r,buildId:n,reactLoadableManifest:(null==t?void 0:t.reactLoadableManifest)||{},assetPrefix:(null==t?void 0:t.assetPrefix)||"",nonce:i,afterContext:function(e){let{waitUntil:t,onClose:r,onAfterTaskError:n}=e;return new e3({waitUntil:t,onClose:r,onTaskError:n})}(t),cacheComponentsEnabled:t.cacheComponents,dev:l,previouslyRevalidatedTags:a,refreshTagsByCacheKind:function(){let e=new Map,t=ez();if(t)for(let[r,n]of t)"refreshTags"in n&&e.set(r,e8(async()=>n.refreshTags()));return e}(),runInCleanSnapshot:e5?e5.snapshot():function(e,...t){return e(...t)},shouldTrackFetchMetrics:c,reactServerErrorsByDigest:new Map};return t.store=u,u}({page:"/",renderOpts:{cacheLifeProfiles:null==(a=t.request.nextConfig)||null==(n=a.experimental)?void 0:n.cacheLife,cacheComponents:!1,experimental:{isRoutePPREnabled:!1,authInterrupts:!!(null==(o=t.request.nextConfig)||null==(i=o.experimental)?void 0:i.authInterrupts)},supportsDynamicResponse:!0,waitUntil:e,onClose:r.onClose.bind(r),onAfterTaskError:void 0},isPrefetchRequest:"1"===E.headers.get(et),buildId:g??"",previouslyRevalidatedTags:[]});return await eo.workAsyncStorage.run(h,()=>eq.workUnitAsyncStorage.run(p,t.handler,E,R))}finally{setTimeout(()=>{r.dispatchClose()},0)}})}return t.handler(E,R)}))&&!(o instanceof Response))throw Object.defineProperty(TypeError("Expected an instance of Response to be returned"),"__NEXT_ERROR_CODE",{value:"E567",enumerable:!1,configurable:!0});o&&l&&o.headers.set("set-cookie",l);let O=null==o?void 0:o.headers.get("x-middleware-rewrite");if(o&&O&&(v||!h)){let e=new k(O,{forceLocale:!0,headers:t.request.headers,nextConfig:t.request.nextConfig});h||e.host!==E.nextUrl.host||(e.buildId=g||e.buildId,o.headers.set("x-middleware-rewrite",String(e)));let{url:r,isRelative:s}=ee(e.toString(),f.toString());!h&&m&&o.headers.set("x-nextjs-rewrite",r);let l=!s&&(null==(i=t.request.nextConfig)||null==(a=i.experimental)||null==(n=a.clientParamParsingOrigins)?void 0:n.some(t=>new RegExp(t).test(e.origin)));v&&(s||l)&&(f.pathname!==e.pathname&&o.headers.set("x-nextjs-rewritten-path",e.pathname),f.search!==e.search&&o.headers.set("x-nextjs-rewritten-query",e.search.slice(1)))}if(o&&O&&v&&w){let e=new URL(O);e.searchParams.has(en)||(e.searchParams.set(en,w),o.headers.set("x-middleware-rewrite",e.toString()))}let T=null==o?void 0:o.headers.get("Location");if(o&&T&&!h){let e=new k(T,{forceLocale:!1,headers:t.request.headers,nextConfig:t.request.nextConfig});o=new Response(o.body,o),e.host===f.host&&(e.buildId=g||e.buildId,o.headers.set("Location",ee(e,f).url)),m&&(o.headers.delete("Location"),o.headers.set("x-nextjs-redirect",ee(e.toString(),f.toString()).url))}let P=o||Z.next(),x=P.headers.get("x-middleware-override-headers"),A=[];if(x){for(let[e,t]of b)P.headers.set(`x-middleware-request-${e}`,t),A.push(e);A.length>0&&P.headers.set("x-middleware-override-headers",x+","+A.join(","))}return{response:P,waitUntil:("internal"===R[_].kind?Promise.all(R[_].promises).then(()=>{}):void 0)??Promise.resolve(),fetchMetrics:E.fetchMetrics}}var ts=e.i(55207);class tl extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(e,t){super(e,t),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class tc extends tl{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(e,t,r="unspecified",n="unspecified"){super(e,{cause:{claim:r,reason:n,payload:t}}),this.claim=r,this.reason=n,this.payload=t}}class tu extends tl{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(e,t,r="unspecified",n="unspecified"){super(e,{cause:{claim:r,reason:n,payload:t}}),this.claim=r,this.reason=n,this.payload=t}}class td extends tl{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class tp extends tl{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class th extends tl{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class tf extends tl{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class tg extends tl{static code="ERR_JWKS_INVALID";code="ERR_JWKS_INVALID"}class ty extends tl{static code="ERR_JWKS_NO_MATCHING_KEY";code="ERR_JWKS_NO_MATCHING_KEY";constructor(e="no applicable key found in the JSON Web Key Set",t){super(e,t)}}class tm extends tl{[Symbol.asyncIterator];static code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";constructor(e="multiple matching keys found in the JSON Web Key Set",t){super(e,t)}}class tv extends tl{static code="ERR_JWKS_TIMEOUT";code="ERR_JWKS_TIMEOUT";constructor(e="request timed out",t){super(e,t)}}class tb extends tl{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(e="signature verification failed",t){super(e,t)}}let t_=new TextEncoder,tw=new TextDecoder;function tS(e){let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);if(n>127)throw TypeError("non-ASCII string encountered in encode()");t[r]=n}return t}function tE(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64("string"==typeof e?e:tw.decode(e),{alphabet:"base64url"});let t=e;t instanceof Uint8Array&&(t=tw.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/");try{var r=t;if(Uint8Array.fromBase64)return Uint8Array.fromBase64(r);let e=atob(r),n=new Uint8Array(e.length);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t);return n}catch{throw TypeError("The input to be decoded is not correctly encoded.")}}async function tC(e){if(!e.alg)throw TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:t,keyUsages:r}=function(e){let t,r;switch(e.kty){case"AKP":switch(e.alg){case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":t={name:e.alg},r=e.priv?["sign"]:["verify"];break;default:throw new tp('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"RSA":switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},r=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new tp('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"EC":switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},r=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},r=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new tp('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"OKP":switch(e.alg){case"Ed25519":case"EdDSA":t={name:"Ed25519"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new tp('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;default:throw new tp('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:r}}(e),n={...e};return"AKP"!==n.kty&&delete n.alg,delete n.use,crypto.subtle.importKey("jwk",n,t,e.ext??(!e.d&&!e.priv),e.key_ops??r)}function tR(e){if("object"!=typeof e||null===e||"[object Object]"!==Object.prototype.toString.call(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}async function tO(e,t,r){let n;if(!tR(e))throw TypeError("JWK must be an object");switch(t??=e.alg,n??=r?.extractable??e.ext,e.kty){case"oct":if("string"!=typeof e.k||!e.k)throw TypeError('missing "k" (Key Value) Parameter value');return tE(e.k);case"RSA":if("oth"in e&&void 0!==e.oth)throw new tp('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');return tC({...e,alg:t,ext:n});case"AKP":if("string"!=typeof e.alg||!e.alg)throw TypeError('missing "alg" (Algorithm) Parameter value');if(void 0!==t&&t!==e.alg)throw TypeError("JWK alg and alg option value mismatch");return tC({...e,ext:n});case"EC":case"OKP":return tC({...e,alg:t,ext:n});default:throw new tp('Unsupported "kty" (Key Type) Parameter value')}}function tT(e){return tR(e)}class tP{#e;#t=new WeakMap;constructor(e){if(!function(e){return e&&"object"==typeof e&&Array.isArray(e.keys)&&e.keys.every(tT)}(e))throw new tg("JSON Web Key Set malformed");this.#e=structuredClone(e)}jwks(){return this.#e}async getKey(e,t){let{alg:r,kid:n}={...e,...t?.header},a=function(e){switch("string"==typeof e&&e.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";case"ML":return"AKP";default:throw new tp('Unsupported "alg" value for a JSON Web Key Set')}}(r),i=this.#e.keys.filter(e=>{let t=a===e.kty;if(t&&"string"==typeof n&&(t=n===e.kid),t&&("string"==typeof e.alg||"AKP"===a)&&(t=r===e.alg),t&&"string"==typeof e.use&&(t="sig"===e.use),t&&Array.isArray(e.key_ops)&&(t=e.key_ops.includes("verify")),t)switch(r){case"ES256":t="P-256"===e.crv;break;case"ES384":t="P-384"===e.crv;break;case"ES512":t="P-521"===e.crv;break;case"Ed25519":case"EdDSA":t="Ed25519"===e.crv}return t}),{0:o,length:s}=i;if(0===s)throw new ty;if(1!==s){let e=new tm,t=this.#t;throw e[Symbol.asyncIterator]=async function*(){for(let e of i)try{yield await tx(t,e,r)}catch{}},e}return tx(this.#t,o,r)}}async function tx(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(void 0===n[r]){let e=await tO({...t,ext:!0},r);if(e instanceof Uint8Array||"public"!==e.type)throw new tg("JSON Web Key Set members must be public keys");n[r]=e}return n[r]}function tA(e){let t=new tP(e),r=async(e,r)=>t.getKey(e,r);return Object.defineProperties(r,{jwks:{value:()=>structuredClone(t.jwks()),enumerable:!1,configurable:!1,writable:!1}}),r}("u"<typeof navigator||!navigator.userAgent?.startsWith?.("Mozilla/5.0 "))&&(r="jose/v6.2.0");let tN=Symbol();async function tI(e,t,r,n=fetch){let a=await n(e,{method:"GET",signal:r,redirect:"manual",headers:t}).catch(e=>{if("TimeoutError"===e.name)throw new tv;throw e});if(200!==a.status)throw new tl("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new tl("Failed to parse the JSON Web Key Set HTTP response as JSON")}}let tk=Symbol();class tM{#r;#n;#a;#i;#o;#s;#l;#c;#u;#d;constructor(e,t){if(!(e instanceof URL))throw TypeError("url must be an instance of URL");this.#r=new URL(e.href),this.#n="number"==typeof t?.timeoutDuration?t?.timeoutDuration:5e3,this.#a="number"==typeof t?.cooldownDuration?t?.cooldownDuration:3e4,this.#i="number"==typeof t?.cacheMaxAge?t?.cacheMaxAge:6e5,this.#l=new Headers(t?.headers),r&&!this.#l.has("User-Agent")&&this.#l.set("User-Agent",r),this.#l.has("accept")||(this.#l.set("accept","application/json"),this.#l.append("accept","application/jwk-set+json")),this.#c=t?.[tN],t?.[tk]!==void 0&&(this.#d=t?.[tk],function(e,t){return!("object"!=typeof e||null===e||!("uat"in e)||"number"!=typeof e.uat||Date.now()-e.uat>=t)&&"jwks"in e&&!!tR(e.jwks)&&!!Array.isArray(e.jwks.keys)&&!!Array.prototype.every.call(e.jwks.keys,tR)}(t?.[tk],this.#i)&&(this.#o=this.#d.uat,this.#u=tA(this.#d.jwks)))}pendingFetch(){return!!this.#s}coolingDown(){return"number"==typeof this.#o&&Date.now()<this.#o+this.#a}fresh(){return"number"==typeof this.#o&&Date.now()<this.#o+this.#i}jwks(){return this.#u?.jwks()}async getKey(e,t){this.#u&&this.fresh()||await this.reload();try{return await this.#u(e,t)}catch(r){if(r instanceof ty&&!1===this.coolingDown())return await this.reload(),this.#u(e,t);throw r}}async reload(){this.#s&&("u">typeof WebSocketPair||"u">typeof navigator&&"Cloudflare-Workers"===navigator.userAgent||"u">typeof EdgeRuntime&&"vercel"===EdgeRuntime)&&(this.#s=void 0),this.#s||=tI(this.#r.href,this.#l,AbortSignal.timeout(this.#n),this.#c).then(e=>{this.#u=tA(e),this.#d&&(this.#d.uat=Date.now(),this.#d.jwks=e),this.#o=Date.now(),this.#s=void 0}).catch(e=>{throw this.#s=void 0,e}),await this.#s}}let tD=(e,t="algorithm.name")=>TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`);function tL(e){return parseInt(e.name.slice(4),10)}function tj(e,t,...r){if((r=r.filter(Boolean)).length>2){let t=r.pop();e+=`one of type ${r.join(", ")}, or ${t}.`}else 2===r.length?e+=`one of type ${r[0]} or ${r[1]}.`:e+=`of type ${r[0]}.`;return null==t?e+=` Received ${t}`:"function"==typeof t&&t.name?e+=` Received function ${t.name}`:"object"==typeof t&&null!=t&&t.constructor?.name&&(e+=` Received an instance of ${t.constructor.name}`),e}let tU=(e,t,...r)=>tj(`Key for the ${e} algorithm must be `,t,...r);async function tH(e,t,r){if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw TypeError(((e,...t)=>tj("Key must be ",e,...t))(t,"CryptoKey","KeyObject","JSON Web Key"));return crypto.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}return!function(e,t,r){switch(t){case"HS256":case"HS384":case"HS512":{if("HMAC"!==e.algorithm.name)throw tD("HMAC");let r=parseInt(t.slice(2),10);if(tL(e.algorithm.hash)!==r)throw tD(`SHA-${r}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if("RSASSA-PKCS1-v1_5"!==e.algorithm.name)throw tD("RSASSA-PKCS1-v1_5");let r=parseInt(t.slice(2),10);if(tL(e.algorithm.hash)!==r)throw tD(`SHA-${r}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if("RSA-PSS"!==e.algorithm.name)throw tD("RSA-PSS");let r=parseInt(t.slice(2),10);if(tL(e.algorithm.hash)!==r)throw tD(`SHA-${r}`,"algorithm.hash");break}case"Ed25519":case"EdDSA":if("Ed25519"!==e.algorithm.name)throw tD("Ed25519");break;case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":let n;if(n=e.algorithm,n.name!==t)throw tD(t);break;case"ES256":case"ES384":case"ES512":{if("ECDSA"!==e.algorithm.name)throw tD("ECDSA");let r=function(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw Error("unreachable")}}(t);if(e.algorithm.namedCurve!==r)throw tD(r,"algorithm.namedCurve");break}default:throw TypeError("CryptoKey does not support this operation")}if(r&&!e.usages.includes(r))throw TypeError(`CryptoKey does not support this operation, its usages must include ${r}.`)}(t,e,r),t}async function tK(e,t,r,n){let a=await tH(e,t,"verify");!function(e,t){if(e.startsWith("RS")||e.startsWith("PS")){let{modulusLength:r}=t.algorithm;if("number"!=typeof r||r<2048)throw TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}}(e,a);let i=function(e,t){let r=`SHA-${e.slice(-3)}`;switch(e){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:parseInt(e.slice(-3),10)>>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:t.namedCurve};case"Ed25519":case"EdDSA":return{name:"Ed25519"};case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":return{name:e};default:throw new tp(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}(e,a.algorithm);try{return await crypto.subtle.verify(i,a,r,n)}catch{return!1}}let tW=e=>{if(e?.[Symbol.toStringTag]==="CryptoKey")return!0;try{return e instanceof CryptoKey}catch{return!1}},t$=e=>e?.[Symbol.toStringTag]==="KeyObject",tB=e=>tW(e)||t$(e),tq=e=>tR(e)&&"string"==typeof e.kty,tV=e=>e?.[Symbol.toStringTag],tJ=(e,t,r)=>{if(void 0!==t.use){let e;switch(r){case"sign":case"verify":e="sig";break;case"encrypt":case"decrypt":e="enc"}if(t.use!==e)throw TypeError(`Invalid key for this operation, its "use" must be "${e}" when present`)}if(void 0!==t.alg&&t.alg!==e)throw TypeError(`Invalid key for this operation, its "alg" must be "${e}" when present`);if(Array.isArray(t.key_ops)){let n;switch(!0){case"sign"===r||"verify"===r:case"dir"===e:case e.includes("CBC-HS"):n=r;break;case e.startsWith("PBES2"):n="deriveBits";break;case/^A\d{3}(?:GCM)?(?:KW)?$/.test(e):n=!e.includes("GCM")&&e.endsWith("KW")?"encrypt"===r?"wrapKey":"unwrapKey":r;break;case"encrypt"===r&&e.startsWith("RSA"):n="wrapKey";break;case"decrypt"===r:n=e.startsWith("RSA")?"unwrapKey":"deriveBits"}if(n&&t.key_ops?.includes?.(n)===!1)throw TypeError(`Invalid key for this operation, its "key_ops" must include "${n}" when present`)}return!0},tG=async(e,t,r,a=!1)=>{let i=(n||=new WeakMap).get(e);if(i?.[r])return i[r];let o=await tC({...t,alg:r});return a&&Object.freeze(e),i?i[r]=o:n.set(e,{[r]:o}),o};async function tF(e,t){if(e instanceof Uint8Array||tW(e))return e;if(t$(e)){if("secret"===e.type)return e.export();if("toCryptoKey"in e&&"function"==typeof e.toCryptoKey)try{return((e,t)=>{let r,a=(n||=new WeakMap).get(e);if(a?.[t])return a[t];let i="public"===e.type,o=!!i;if("x25519"===e.asymmetricKeyType){switch(t){case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":break;default:throw TypeError("given KeyObject instance cannot be used for this algorithm")}r=e.toCryptoKey(e.asymmetricKeyType,o,i?[]:["deriveBits"])}if("ed25519"===e.asymmetricKeyType){if("EdDSA"!==t&&"Ed25519"!==t)throw TypeError("given KeyObject instance cannot be used for this algorithm");r=e.toCryptoKey(e.asymmetricKeyType,o,[i?"verify":"sign"])}switch(e.asymmetricKeyType){case"ml-dsa-44":case"ml-dsa-65":case"ml-dsa-87":if(t!==e.asymmetricKeyType.toUpperCase())throw TypeError("given KeyObject instance cannot be used for this algorithm");r=e.toCryptoKey(e.asymmetricKeyType,o,[i?"verify":"sign"])}if("rsa"===e.asymmetricKeyType){let n;switch(t){case"RSA-OAEP":n="SHA-1";break;case"RS256":case"PS256":case"RSA-OAEP-256":n="SHA-256";break;case"RS384":case"PS384":case"RSA-OAEP-384":n="SHA-384";break;case"RS512":case"PS512":case"RSA-OAEP-512":n="SHA-512";break;default:throw TypeError("given KeyObject instance cannot be used for this algorithm")}if(t.startsWith("RSA-OAEP"))return e.toCryptoKey({name:"RSA-OAEP",hash:n},o,i?["encrypt"]:["decrypt"]);r=e.toCryptoKey({name:t.startsWith("PS")?"RSA-PSS":"RSASSA-PKCS1-v1_5",hash:n},o,[i?"verify":"sign"])}if("ec"===e.asymmetricKeyType){let n=new Map([["prime256v1","P-256"],["secp384r1","P-384"],["secp521r1","P-521"]]).get(e.asymmetricKeyDetails?.namedCurve);if(!n)throw TypeError("given KeyObject instance cannot be used for this algorithm");"ES256"===t&&"P-256"===n&&(r=e.toCryptoKey({name:"ECDSA",namedCurve:n},o,[i?"verify":"sign"])),"ES384"===t&&"P-384"===n&&(r=e.toCryptoKey({name:"ECDSA",namedCurve:n},o,[i?"verify":"sign"])),"ES512"===t&&"P-521"===n&&(r=e.toCryptoKey({name:"ECDSA",namedCurve:n},o,[i?"verify":"sign"])),t.startsWith("ECDH-ES")&&(r=e.toCryptoKey({name:"ECDH",namedCurve:n},o,i?[]:["deriveBits"]))}if(!r)throw TypeError("given KeyObject instance cannot be used for this algorithm");return a?a[t]=r:n.set(e,{[t]:r}),r})(e,t)}catch(e){if(e instanceof TypeError)throw e}let r=e.export({format:"jwk"});return tG(e,r,t)}if(tq(e))return e.k?tE(e.k):tG(e,e,t,!0);throw Error("unreachable")}async function tX(e,t,r){let n,a;if(!tR(e))throw new th("Flattened JWS must be an object");if(void 0===e.protected&&void 0===e.header)throw new th('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==e.protected&&"string"!=typeof e.protected)throw new th("JWS Protected Header incorrect type");if(void 0===e.payload)throw new th("JWS Payload missing");if("string"!=typeof e.signature)throw new th("JWS Signature missing or incorrect type");if(void 0!==e.header&&!tR(e.header))throw new th("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let t=tE(e.protected);i=JSON.parse(tw.decode(t))}catch{throw new th("JWS Protected Header is invalid")}if(!function(...e){let t,r=e.filter(Boolean);if(0===r.length||1===r.length)return!0;for(let e of r){let r=Object.keys(e);if(!t||0===t.size){t=new Set(r);continue}for(let e of r){if(t.has(e))return!1;t.add(e)}}return!0}(i,e.header))throw new th("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let o={...i,...e.header},s=function(e,t,r,n,a){let i;if(void 0!==a.crit&&n?.crit===void 0)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||void 0===n.crit)return new Set;if(!Array.isArray(n.crit)||0===n.crit.length||n.crit.some(e=>"string"!=typeof e||0===e.length))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');for(let o of(i=void 0!==r?new Map([...Object.entries(r),...t.entries()]):t,n.crit)){if(!i.has(o))throw new tp(`Extension Header Parameter "${o}" is not recognized`);if(void 0===a[o])throw new e(`Extension Header Parameter "${o}" is missing`);if(i.get(o)&&void 0===n[o])throw new e(`Extension Header Parameter "${o}" MUST be integrity protected`)}return new Set(n.crit)}(th,new Map([["b64",!0]]),r?.crit,i,o),l=!0;if(s.has("b64")&&"boolean"!=typeof(l=i.b64))throw new th('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:c}=o;if("string"!=typeof c||!c)throw new th('JWS "alg" (Algorithm) Header Parameter missing or invalid');let u=r&&function(e,t){if(void 0!==t&&(!Array.isArray(t)||t.some(e=>"string"!=typeof e)))throw TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)}("algorithms",r.algorithms);if(u&&!u.has(c))throw new td('"alg" (Algorithm) Header Parameter value not allowed');if(l){if("string"!=typeof e.payload)throw new th("JWS Payload must be a string")}else if("string"!=typeof e.payload&&!(e.payload instanceof Uint8Array))throw new th("JWS Payload must be a string or an Uint8Array instance");let d=!1;"function"==typeof t&&(t=await t(i,e),d=!0);var p=t,h="verify";switch(c.substring(0,2)){case"A1":case"A2":case"di":case"HS":case"PB":((e,t,r)=>{if(!(t instanceof Uint8Array)){if(tq(t)){if("oct"===t.kty&&"string"==typeof t.k&&tJ(e,t,r))return;throw TypeError('JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present')}if(!tB(t))throw TypeError(tU(e,t,"CryptoKey","KeyObject","JSON Web Key","Uint8Array"));if("secret"!==t.type)throw TypeError(`${tV(t)} instances for symmetric algorithms must be of type "secret"`)}})(c,p,h);break;default:((e,t,r)=>{if(tq(t))switch(r){case"decrypt":case"sign":if("oct"!==t.kty&&("AKP"===t.kty&&"string"==typeof t.priv||"string"==typeof t.d)&&tJ(e,t,r))return;throw TypeError("JSON Web Key for this operation must be a private JWK");case"encrypt":case"verify":if("oct"!==t.kty&&void 0===t.d&&void 0===t.priv&&tJ(e,t,r))return;throw TypeError("JSON Web Key for this operation must be a public JWK")}if(!tB(t))throw TypeError(tU(e,t,"CryptoKey","KeyObject","JSON Web Key"));if("secret"===t.type)throw TypeError(`${tV(t)} instances for asymmetric algorithms must not be of type "secret"`);if("public"===t.type)switch(r){case"sign":throw TypeError(`${tV(t)} instances for asymmetric algorithm signing must be of type "private"`);case"decrypt":throw TypeError(`${tV(t)} instances for asymmetric algorithm decryption must be of type "private"`)}if("private"===t.type)switch(r){case"verify":throw TypeError(`${tV(t)} instances for asymmetric algorithm verifying must be of type "public"`);case"encrypt":throw TypeError(`${tV(t)} instances for asymmetric algorithm encryption must be of type "public"`)}})(c,p,h)}let f=function(...e){let t=new Uint8Array(e.reduce((e,{length:t})=>e+t,0)),r=0;for(let n of e)t.set(n,r),r+=n.length;return t}(void 0!==e.protected?tS(e.protected):new Uint8Array,tS("."),"string"==typeof e.payload?l?tS(e.payload):t_.encode(e.payload):e.payload);try{n=tE(e.signature)}catch{throw new th("Failed to base64url decode the signature")}let g=await tF(t,c);if(!await tK(c,g,n,f))throw new tb;if(l)try{a=tE(e.payload)}catch{throw new th("Failed to base64url decode the payload")}else a="string"==typeof e.payload?t_.encode(e.payload):e.payload;let y={payload:a};return(void 0!==e.protected&&(y.protectedHeader=i),void 0!==e.header&&(y.unprotectedHeader=e.header),d)?{...y,key:g}:y}async function tz(e,t,r){if(e instanceof Uint8Array&&(e=tw.decode(e)),"string"!=typeof e)throw new th("Compact JWS must be a string or Uint8Array");let{0:n,1:a,2:i,length:o}=e.split(".");if(3!==o)throw new th("Invalid Compact JWS");let s=await tX({payload:a,protected:n,signature:i},t,r),l={payload:s.payload,protectedHeader:s.protectedHeader};return"function"==typeof t?{...l,key:s.key}:l}let tY=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;function tQ(e){let t,r=tY.exec(e);if(!r||r[4]&&r[1])throw TypeError("Invalid time period format");let n=parseFloat(r[2]);switch(r[3].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":t=Math.round(n);break;case"minute":case"minutes":case"min":case"mins":case"m":t=Math.round(60*n);break;case"hour":case"hours":case"hr":case"hrs":case"h":t=Math.round(3600*n);break;case"day":case"days":case"d":t=Math.round(86400*n);break;case"week":case"weeks":case"w":t=Math.round(604800*n);break;default:t=Math.round(0x1e187e0*n)}return"-"===r[1]||"ago"===r[4]?-t:t}let tZ=e=>e.includes("/")?e.toLowerCase():`application/${e.toLowerCase()}`;async function t0(e,t,r){let n=await tz(e,t,r);if(n.protectedHeader.crit?.includes("b64")&&!1===n.protectedHeader.b64)throw new tf("JWTs MUST NOT use unencoded payload");let a={payload:function(e,t,r={}){var n,a;let i,o;try{i=JSON.parse(tw.decode(t))}catch{}if(!tR(i))throw new tf("JWT Claims Set must be a top-level JSON object");let{typ:s}=r;if(s&&("string"!=typeof e.typ||tZ(e.typ)!==tZ(s)))throw new tc('unexpected "typ" JWT header value',i,"typ","check_failed");let{requiredClaims:l=[],issuer:c,subject:u,audience:d,maxTokenAge:p}=r,h=[...l];for(let e of(void 0!==p&&h.push("iat"),void 0!==d&&h.push("aud"),void 0!==u&&h.push("sub"),void 0!==c&&h.push("iss"),new Set(h.reverse())))if(!(e in i))throw new tc(`missing required "${e}" claim`,i,e,"missing");if(c&&!(Array.isArray(c)?c:[c]).includes(i.iss))throw new tc('unexpected "iss" claim value',i,"iss","check_failed");if(u&&i.sub!==u)throw new tc('unexpected "sub" claim value',i,"sub","check_failed");if(d&&(n=i.aud,a="string"==typeof d?[d]:d,"string"==typeof n?!a.includes(n):!(Array.isArray(n)&&a.some(Set.prototype.has.bind(new Set(n))))))throw new tc('unexpected "aud" claim value',i,"aud","check_failed");switch(typeof r.clockTolerance){case"string":o=tQ(r.clockTolerance);break;case"number":o=r.clockTolerance;break;case"undefined":o=0;break;default:throw TypeError("Invalid clockTolerance option type")}let{currentDate:f}=r,g=Math.floor((f||new Date).getTime()/1e3);if((void 0!==i.iat||p)&&"number"!=typeof i.iat)throw new tc('"iat" claim must be a number',i,"iat","invalid");if(void 0!==i.nbf){if("number"!=typeof i.nbf)throw new tc('"nbf" claim must be a number',i,"nbf","invalid");if(i.nbf>g+o)throw new tc('"nbf" claim timestamp check failed',i,"nbf","check_failed")}if(void 0!==i.exp){if("number"!=typeof i.exp)throw new tc('"exp" claim must be a number',i,"exp","invalid");if(i.exp<=g-o)throw new tu('"exp" claim timestamp check failed',i,"exp","check_failed")}if(p){let e=g-i.iat;if(e-o>("number"==typeof p?p:tQ(p)))throw new tu('"iat" claim timestamp check failed (too far in the past)',i,"iat","check_failed");if(e<0-o)throw new tc('"iat" claim timestamp check failed (it should be in the past)',i,"iat","check_failed")}return i}(n.protectedHeader,n.payload,r),protectedHeader:n.protectedHeader};return"function"==typeof t?{...a,key:n.key}:a}let t1="cloudflare-access",t2=new Map;function t5(e){return e?.trim()||null}async function t4(e,t){let r,n,a=(r=function(e){let t=t5(e);if(!t)return null;try{return new URL(t.includes("://")?t:`https://${t}`).hostname.toLowerCase()}catch{return t.replace(/^https?:\/\//i,"").replace(/\/+$/g,"").toLowerCase()}}(process.env.CONDUCTOR_CLOUDFLARE_ACCESS_TEAM_DOMAIN??t?.trustedHeaders?.teamDomain),n=t5(process.env.CONDUCTOR_CLOUDFLARE_ACCESS_AUDIENCE??t?.trustedHeaders?.audience),{enabled:t?.trustedHeaders?.enabled===!0||"true"===(process.env.CONDUCTOR_TRUST_AUTH_HEADERS??"").trim().toLowerCase(),provider:"generic"===(t5(process.env.CONDUCTOR_TRUST_AUTH_PROVIDER)?.toLowerCase()||t?.trustedHeaders?.provider||(r||n?t1:null))?"generic":t1,emailHeader:t5(process.env.CONDUCTOR_TRUST_AUTH_EMAIL_HEADER)??t5(t?.trustedHeaders?.emailHeader)??"Cf-Access-Authenticated-User-Email",jwtHeader:t5(process.env.CONDUCTOR_TRUST_AUTH_JWT_HEADER)??t5(t?.trustedHeaders?.jwtHeader)??"Cf-Access-Jwt-Assertion",teamDomain:r,audience:n,allowInsecureEmailHeader:"true"===(process.env.CONDUCTOR_ALLOW_INSECURE_TRUSTED_HEADERS??"").trim().toLowerCase()});if(!a.enabled)return null;if(a.provider===t1){let t=e.get(a.jwtHeader)?.trim()??"";if(!t)return null;if(!a.teamDomain||!a.audience)return{ok:!1,reason:"Cloudflare Access is enabled but team domain or audience is missing.",provider:"cloudflare-access"};try{let{payload:r}=await t0(t,function(e){let t,r,n=t2.get(e);if(n)return n;let a=(t=new tM(new URL(`https://${e}/cdn-cgi/access/certs`),void 0),r=async(e,r)=>t.getKey(e,r),Object.defineProperties(r,{coolingDown:{get:()=>t.coolingDown(),enumerable:!0,configurable:!1},fresh:{get:()=>t.fresh(),enumerable:!0,configurable:!1},reload:{value:()=>t.reload(),enumerable:!0,configurable:!1,writable:!1},reloading:{get:()=>t.pendingFetch(),enumerable:!0,configurable:!1},jwks:{value:()=>t.jwks(),enumerable:!0,configurable:!1,writable:!1}}),r);return t2.set(e,a),a}(a.teamDomain),{audience:a.audience,issuer:`https://${a.teamDomain}`}),n=function(e){let t=e.email;if("string"==typeof t&&t.trim().length>0)return t.trim().toLowerCase();let r=e.sub;return"string"==typeof r&&r.includes("@")?r.trim().toLowerCase():null}(r);if(!n)return{ok:!1,reason:"Cloudflare Access token is missing an email claim.",provider:"cloudflare-access"};let i=e.get(a.emailHeader)?.trim().toLowerCase()??"";if(i&&i!==n)return{ok:!1,reason:"Cloudflare Access email header does not match the verified token.",provider:"cloudflare-access"};return{ok:!0,email:n,provider:"cloudflare-access"}}catch(e){return{ok:!1,reason:e instanceof Error&&e.message.trim().length>0?e.message:"Cloudflare Access token verification failed",provider:"cloudflare-access"}}}let i=e.get(a.emailHeader)?.trim().toLowerCase()??"";return i?a.allowInsecureEmailHeader?{ok:!0,email:i,provider:"trusted-header"}:{ok:!1,reason:"Generic trusted-header mode is disabled. Use verified Cloudflare Access, or explicitly set CONDUCTOR_ALLOW_INSECURE_TRUSTED_HEADERS=true.",provider:"trusted-header"}:null}function t3(){let e=process.env.CONDUCTOR_REMOTE_SESSION_SECRET?.trim();return e&&e.length>0?e:null}async function t6(e,t){let r=new TextEncoder,n=await crypto.subtle.importKey("raw",r.encode(t),{name:"HMAC",hash:"SHA-256"},!1,["sign"]);return Array.from(new Uint8Array(await crypto.subtle.sign("HMAC",n,r.encode(e))),e=>e.toString(16).padStart(2,"0")).join("")}async function t8(e){let t=t3();if(!t||!e)return!1;let r=e.indexOf(".");if(r<=0||r===e.length-1)return!1;let n=e.slice(0,r),a=e.slice(r+1),i=Number.parseInt(n,10);if(!Number.isFinite(i)||i<=Date.now())return!1;var o=await t6(n,t);if(o.length!==a.length)return!1;let s=0;for(let e=0;e<o.length;e+=1)s|=o.charCodeAt(e)^a.charCodeAt(e);return 0===s}let t9=!!(process.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY&&process.env.CLERK_SECRET_KEY),t7=process.env.CONDUCTOR_BACKEND_URL?.trim()||"",re=["/api/agents","/api/config","/api/preferences","/api/access","/api/events","/api/spawn","/api/sessions","/api/health","/api/executor/health","/api/repositories","/api/workspaces","/api/filesystem","/api/context-files","/api/boards","/api/github/repos","/api/attachments","/api/notifications","/api/auth/session"];function rt(e){let t=new URL(`${e.nextUrl.pathname}${e.nextUrl.search}`,t7);return ts.NextResponse.rewrite(t)}async function rr(t,r){let n,a=t.nextUrl.pathname,i=t7.length>0&&re.some(e=>a===e||a.startsWith(`${e}/`)),o=await t4(t.headers,null);if(o?.ok)return i?rt(t):ts.NextResponse.next();if(((n=process.env.CONDUCTOR_REMOTE_ACCESS_TOKEN?.trim())&&n.length>0?n:null)&&t3()){if(a.startsWith("/unlock")||a.startsWith("/auth/grant")||a.startsWith("/api/auth/session"))return i?rt(t):ts.NextResponse.next();let e=t.cookies.get("conductor_session")?.value??null;if(await t8(e))return i?rt(t):ts.NextResponse.next();if(a.startsWith("/api/"))return ts.NextResponse.json({error:"Access denied",reason:"Remote sign-in required"},{status:403});let r=t.nextUrl.clone();r.pathname="/unlock";let n=function(e){if(!e)return"/";let t=e.trim();return!t.startsWith("/")||t.startsWith("//")?"/":t}(`${a}${t.nextUrl.search}`);return"/"!==n&&r.searchParams.set("next",n),ts.NextResponse.redirect(r)}if(!t9){let e;if("localhost"!==(e=(t.nextUrl.hostname??"").trim().toLowerCase())&&"127.0.0.1"!==e&&"0.0.0.0"!==e&&"::1"!==e&&"[::1]"!==e){if(!a.startsWith("/api/")){let e=t.nextUrl.clone();return e.pathname="/unlock",e.searchParams.set("error","unavailable"),ts.NextResponse.redirect(e)}return ts.NextResponse.json({error:"Access denied",reason:"Authentication is required for non-local dashboard access"},{status:403})}return i?rt(t):ts.NextResponse.next()}try{let{clerkMiddleware:n,createRouteMatcher:a}=await e.A(2516),o=a(["/sign-in(.*)"]),s=n(async(e,t)=>{o(t)||await e.protect()})(t,r);if(i)return rt(t);return s}catch{return ts.NextResponse.json({error:"Authentication service unavailable"},{status:503})}}e.s(["config",0,{matcher:["/((?!_next|[^?]*\\.(?:html?|css|js(?!on)|jpe?g|png|gif|svg|ttf|woff2?|ico)).*)","/(api|trpc)(.*)"]},"default",()=>rr],15506);var rn=e.i(15506);Object.values({NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401});let ra={...rn},ri="/proxy",ro=ra.proxy||ra.default;if("function"!=typeof ro)throw new class extends Error{constructor(e){super(e),this.stack=""}}(`The Proxy file "${ri}" must export a function named \`proxy\` or a default function.`);e.s(["default",0,e=>to({...e,page:ri,handler:async(...e)=>{try{return await ro(...e)}catch(a){let t=e[0],r=new URL(t.url),n=r.pathname+r.search;throw await l(a,{path:n,method:t.method,headers:Object.fromEntries(t.headers.entries())},{routerKind:"Pages Router",routePath:"/proxy",routeType:"proxy",revalidateReason:void 0}),a}}})],94269)}];
|
|
13
13
|
|
|
14
14
|
//# sourceMappingURL=%5Broot-of-the-server%5D__3d6b30a3._.js.map
|
package/web/.next/standalone/packages/web/.next/server/chunks/[root-of-the-server]__a0b6570d._.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[50227,(e,t,n)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,n)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,n)=>{t.exports=e.x("node:os",()=>require("node:os"))},18622,(e,t,n)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,n)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,n)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,n)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},66899,e=>{"use strict";function t(){let e=process.env.CONDUCTOR_REMOTE_ACCESS_TOKEN?.trim();return e&&e.length>0?e:null}function n(){let e=process.env.CONDUCTOR_REMOTE_SESSION_SECRET?.trim();return e&&e.length>0?e:null}function r(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r+=1)n|=e.charCodeAt(r)^t.charCodeAt(r);return 0===n}async function s(e,t){let n=new TextEncoder,r=await crypto.subtle.importKey("raw",n.encode(t),{name:"HMAC",hash:"SHA-256"},!1,["sign"]);return Array.from(new Uint8Array(await crypto.subtle.sign("HMAC",r,n.encode(e))),e=>e.toString(16).padStart(2,"0")).join("")}function o(){return!!(t()&&n())}function i(e){if(!e)return"/";let t=e.trim();return!t.startsWith("/")||t.startsWith("//")?"/":t}function a(e){let n=t();return!!n&&!!e&&r(n,e.trim())}async function l(){let e=n();if(!e)throw Error("Built-in remote session secret is not configured");let t=String(Date.now()+6048e5),r=await s(t,e);return`${t}.${r}`}async function c(e){let t=n();if(!t||!e)return!1;let o=e.indexOf(".");if(o<=0||o===e.length-1)return!1;let i=e.slice(0,o),a=e.slice(o+1),l=Number.parseInt(i,10);return!(!Number.isFinite(l)||l<=Date.now())&&r(await s(i,t),a)}function d(e){return{httpOnly:!0,sameSite:"lax",secure:e,path:"/",maxAge:604800}}e.s(["BUILTIN_REMOTE_SESSION_COOKIE",0,"conductor_session","createBuiltinRemoteSessionValue",()=>l,"getBuiltinRemoteSessionCookieOptions",()=>d,"isBuiltinRemoteAuthEnabled",()=>o,"isValidBuiltinAccessToken",()=>a,"sanitizeRedirectTarget",()=>i,"verifyBuiltinRemoteSession",()=>c])},66680,(e,t,n)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},74533,(e,t,n)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},12057,(e,t,n)=>{t.exports=e.x("node:util",()=>require("node:util"))},12714,(e,t,n)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},45629,e=>{"use strict";let t=new Set(["killed","terminated","done","cleanup","errored","merged"]),n=new Set(["exited"]),r=new Set(["merged"]);function s(e){return t.has(e.status)||null!==e.activity&&n.has(e.activity)}function o(e){return s(e)&&!r.has(e.status)}let i=["claude-code","codex","gemini","qwen-code"],a={claudeCode:"pro",codex:"chatgpt",gemini:"oauth",qwenCode:"oauth"},l={"claude-code":{agent:"claude-code",label:"Claude Code",accessKey:"claudeCode",defaultAccess:"pro",accessOptions:[{id:"pro",label:"Claude Pro",description:"Shows the current Sonnet models that Claude Code documents for Pro usage."},{id:"max",label:"Claude Max",description:"Unlocks both Sonnet and Opus model choices in Claude Code."},{id:"api",label:"Anthropic API",description:"Use direct Anthropic API credentials instead of a Claude subscription."}]},codex:{agent:"codex",label:"Codex",accessKey:"codex",defaultAccess:"chatgpt",accessOptions:[{id:"chatgpt",label:"ChatGPT Plan",description:"Use the ChatGPT-backed Codex login flow for paid ChatGPT workspaces."},{id:"api",label:"OpenAI API",description:"Use direct OpenAI API credentials when Codex is pointed at the API."}]},gemini:{agent:"gemini",label:"Gemini",accessKey:"gemini",defaultAccess:"oauth",accessOptions:[{id:"oauth",label:"Google Login",description:"Use the built-in Google account flow that Gemini CLI ships with."},{id:"api",label:"Gemini API",description:"Use a Gemini API key or Vertex AI project for broader model control."}]},"qwen-code":{agent:"qwen-code",label:"Qwen Code",accessKey:"qwenCode",defaultAccess:"oauth",accessOptions:[{id:"oauth",label:"Qwen OAuth",description:"Use Qwen Code's built-in browser login and bundled provider defaults."},{id:"api",label:"DashScope / Custom API",description:"Use DashScope or another OpenAI-compatible endpoint configured for Qwen Code."}]}};function c(e){let t=e.trim().toLowerCase().replace(/[_\s]+/g,"-");return i.includes(t)?t:null}function d(){return{...a}}function u(e){return null!==c(e)}function p(e){let t=c(e);return t?l[t]:null}function g(e,t){let n=p(e);if(!n)return null;let r=t?.[n.accessKey];return"string"==typeof r&&n.accessOptions.some(e=>e.id===r)?r:n.defaultAccess}function f(e,t){return[]}function h(e,t){return null}function m(e,t){return[]}function _(e,t){return null}function x(e){return`'${e.replace(/'/g,"'\\''")}'`}function E(e){if(!e||"object"!=typeof e)return!1;let t=e.message?.toLowerCase()||"";return t.includes("issue")&&(t.includes("not found")||t.includes("does not exist"))||t.includes("no issue found")||t.includes("could not find issue")||t.includes("could not resolve to an issue")||t.includes("no issue with identifier")||t.includes("invalid issue format")}class A extends Error{sessionId;reason;constructor(e,t){super(`Session ${e} cannot be restored: ${t}`),this.sessionId=e,this.reason=t,this.name="SessionNotRestorableError"}}class v extends Error{path;detail;constructor(e,t){super(`Workspace missing at ${e}${t?`: ${t}`:""}`),this.path=e,this.detail=t,this.name="WorkspaceMissingError"}}e.s(["CI_STATUS",0,{PENDING:"pending",PASSING:"passing",FAILING:"failing",NONE:"none"},"DEFAULT_READY_THRESHOLD_MS",0,3e5,"NON_RESTORABLE_STATUSES",0,r,"PR_STATE",0,{OPEN:"open",MERGED:"merged",CLOSED:"closed"},"SESSION_STATUS",0,{SPAWNING:"spawning",WORKING:"working",PR_OPEN:"pr_open",CI_FAILED:"ci_failed",REVIEW_PENDING:"review_pending",CHANGES_REQUESTED:"changes_requested",APPROVED:"approved",MERGEABLE:"mergeable",MERGED:"merged",CLEANUP:"cleanup",NEEDS_INPUT:"needs_input",STUCK:"stuck",ERRORED:"errored",KILLED:"killed",DONE:"done",TERMINATED:"terminated"},"SUPPORTED_MODEL_AGENTS",0,i,"SessionNotRestorableError",()=>A,"TERMINAL_ACTIVITIES",0,n,"TERMINAL_STATUSES",0,t,"WorkspaceMissingError",()=>v,"getAgentModelCatalog",()=>p,"getAvailableAgentModels",()=>f,"getAvailableAgentReasoningEfforts",()=>m,"getDefaultAgentModel",()=>h,"getDefaultAgentReasoningEffort",()=>_,"getDefaultModelAccessPreferences",()=>d,"isIssueNotFoundError",()=>E,"isRestorable",()=>o,"isTerminalSession",()=>s,"resolveAgentModelAccess",()=>g,"shellEscape",()=>x,"supportsAgentModelSelection",()=>u])},90075,46623,e=>{"use strict";var t=e.i(50227),n=e.i(12714);e.i(60526),e.i(20435);var r=e.i(15965),s=e.i(33498),o=e.i(80754),i=e.i(45629);let a=["pro","max","api"],l=["chatgpt","api"],c=["oauth","api"],d=["oauth","api"];function u(e,t,n){return"string"==typeof e&&t.includes(e)?e:n}function p(e){let t=!e||"object"!=typeof e||Array.isArray(e)?{}:{...e},n=(0,i.getDefaultModelAccessPreferences)();return{claudeCode:u(t.claudeCode,a,n.claudeCode),codex:u(t.codex,l,n.codex),gemini:u(t.gemini,c,n.gemini),qwenCode:u(t.qwenCode,d,n.qwenCode)}}function g(e){if("string"!=typeof e)return null;let t=e.trim();return t.length>0?t:null}function f(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:{...e}}async function h(e){try{return(await (0,n.stat)(e)).isDirectory()}catch{return!1}}async function m(e){let t=(0,s.normalizeProjectConfigMap)(e.projects);for(let[e,n]of Object.entries(t)){let r=f(n),s=g(r.path);if(!s)continue;let i=(0,o.resolveConfiguredProjectPath)(s,g(r.repo));await h(i)&&(t[e]={...r,path:i})}e.projects=t}async function _(e,i){let a,l,c,d=f((0,s.normalizeProjectConfigMap)(e.projects)[i]),u=g(d.path);if(!u)return;let m=(0,o.resolveConfiguredProjectPath)(u,g(d.repo));if(!await h(m))return;let _=(0,r.buildConductorYaml)({port:"number"==typeof e.port?e.port:4747,dashboardUrl:g(e.dashboardUrl),preferences:(a=f(e.preferences),l=f(a.notifications),{onboardingAcknowledged:!0===a.onboardingAcknowledged,codingAgent:g(a.codingAgent)??"claude-code",ide:g(a.ide)??"vscode",remoteSshHost:g(a.remoteSshHost),remoteSshUser:g(a.remoteSshUser),markdownEditor:g(a.markdownEditor)??"obsidian",modelAccess:p(a.modelAccess),notifications:{soundEnabled:!1!==l.soundEnabled,soundFile:null===l.soundFile?null:g(l.soundFile)??"abstract-sound-4"}}),projects:[(c=f(d.agentConfig),{projectId:i,displayName:g(d.name)??i,repo:g(d.repo)??`local-${i}`,path:m,agent:g(d.agent)??"claude-code",defaultBranch:g(d.defaultBranch)??"main",defaultWorkingDirectory:g(d.defaultWorkingDirectory),sessionPrefix:g(d.sessionPrefix),workspace:g(d.workspace),runtime:g(d.runtime),scm:g(d.scm),boardDir:g(d.boardDir),agentModel:g(c.model),agentReasoningEffort:g(c.reasoningEffort),agentPermissions:"default"===c.permissions?"default":"skip"})]});await (0,n.writeFile)((0,t.join)(m,"conductor.yaml"),_,"utf8")}async function x(e){for(let t of(await m(e),Object.keys((0,s.normalizeProjectConfigMap)(e.projects))))await _(e,t)}e.s(["normalizeModelAccessPreferences",()=>p],46623),e.s(["normalizeRootProjectPaths",()=>m,"syncAllProjectLocalConfigs",()=>x,"syncProjectLocalConfig",()=>_],90075)},31953,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__5661ca72._.js"].map(t=>e.l(t))).then(()=>t(80565)))},90630,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_agent-claude-code_dist_index_31314e43.js"].map(t=>e.l(t))).then(()=>t(21216)))},25383,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__1f626a16._.js"].map(t=>e.l(t))).then(()=>t(74857)))},11876,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_agent-gemini_dist_index_b2d219e8.js"].map(t=>e.l(t))).then(()=>t(67433)))},24863,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_agent-amp_dist_index_bf3d8239.js"].map(t=>e.l(t))).then(()=>t(91336)))},28625,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_agent-cursor-cli_dist_index_8d5cc426.js"].map(t=>e.l(t))).then(()=>t(25106)))},5659,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_agent-opencode_dist_index_7c7015da.js"].map(t=>e.l(t))).then(()=>t(52216)))},47813,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_agent-droid_dist_index_f731227a.js"].map(t=>e.l(t))).then(()=>t(86010)))},4745,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_agent-qwen-code_dist_index_46dd8653.js"].map(t=>e.l(t))).then(()=>t(92781)))},56911,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_agent-ccr_dist_index_69cbf726.js"].map(t=>e.l(t))).then(()=>t(11048)))},8578,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_agent-github-copilot_dist_index_9f80cb45.js"].map(t=>e.l(t))).then(()=>t(97081)))},31073,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__48875cbb._.js"].map(t=>e.l(t))).then(()=>t(48955)))},54537,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_tracker-github_dist_index_2d7af62f.js"].map(t=>e.l(t))).then(()=>t(62440)))},28871,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_scm-github_dist_index_3b5a621e.js"].map(t=>e.l(t))).then(()=>t(402)))},75407,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_notifier-desktop_dist_index_ef3473f0.js"].map(t=>e.l(t))).then(()=>t(70178)))},39361,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_notifier-discord_dist_index_34257226.js"].map(t=>e.l(t))).then(()=>t(11544)))},33172,e=>{e.v(t=>Promise.all(["server/chunks/packages_plugins_terminal-web_dist_index_1e0706d3.js"].map(t=>e.l(t))).then(()=>t(39172)))},54583,e=>{e.v(t=>Promise.all(["server/chunks/packages_core_dist_index_cdd30418.js"].map(t=>e.l(t))).then(()=>t(72939)))},37669,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__913af875._.js","server/chunks/node_modules_f0726c19._.js"].map(t=>e.l(t))).then(()=>t(56658)))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__a0b6570d._.js.map
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
module.exports=[6749,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),c=e.i(87718),u=e.i(95169),p=e.i(47587),d=e.i(66012),f=e.i(70101),h=e.i(74838),g=e.i(10372),w=e.i(93695);e.i(52474);var m=e.i(220),R=e.i(89171),v=e.i(12714),y=e.i(50227),x=e.i(60526),j=e.i(74533),A=e.i(12057),E=e.i(23008);e.i(20435);var b=e.i(15965),C=e.i(5453),N=e.i(33498),k=e.i(81425),P=e.i(62327),S=e.i(48295),O=e.i(90075),T=e.i(11079);let $=(0,A.promisify)(j.execFile);function D(e){if("string"!=typeof e)return null;let t=e.trim();return t.length>0?t:null}function I(e){return e.startsWith("~/")?(0,y.resolve)((0,x.homedir)(),e.slice(2)):(0,y.resolve)(e)}function U(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)||"workspace"}function H(e,t){if(!t.has(e))return e;let r=2;for(;t.has(`${e}-${r}`);)r+=1;return`${e}-${r}`}function _(e){let t=e.match(/^git@[^:]+:(.+)$/),r=t?t[1]:e;try{let e=new URL(r).pathname.replace(/^\/+/,"").replace(/\.git$/i,"").split("/").filter(Boolean);if(e.length>=2)return`${e[e.length-2]}/${e[e.length-1]}`;if(1===e.length)return e[0];return null}catch{let e=r.replace(/\.git$/i,"").split("/").filter(Boolean);if(e.length>=2)return`${e[e.length-2]}/${e[e.length-1]}`;return e[e.length-1]??null}}function F(e){if(e.providedId)return U(e.providedId);let t=e.gitUrl?_(e.gitUrl)?.split("/").pop()??null:null;if(t)return U(t);let r=e.path?(0,y.basename)(e.path):null;return r?U(r):"workspace"}async function M(e,t){return(await $("git",t,{cwd:e,timeout:9e4})).stdout.trim()}async function q(e){try{return await M(e,["rev-parse","--is-inside-work-tree"]),!0}catch{return!1}}async function B(e,t){try{let t=await M(e,["symbolic-ref","--short","refs/remotes/origin/HEAD"]);if(t.startsWith("origin/"))return t.slice(7)}catch{}try{let t=await M(e,["symbolic-ref","--short","HEAD"]);if(t.length>0&&"HEAD"!==t)return t}catch{}return t}async function L(e){let t=!0;try{await M(e,["rev-parse","--verify","HEAD"])}catch{t=!1}t||(await M(e,["add","-A"]),await M(e,["-c","user.name=Conductor","-c","user.email=conductor@local","commit","--allow-empty","-m","chore: initialize workspace"]))}async function W(e,t){try{await M(e,["init","-b",t])}catch{await M(e,["init"]);try{await M(e,["checkout","-b",t])}catch{}}await L(e)}async function z(e){try{let t=await M(e,["remote","get-url","origin"]);return _(t)??t}catch{return null}}function K(e){let t=e.replace(/[-_]+/g," ").trim();return 0===t.length?e:t.replace(/\b\w/g,e=>e.toUpperCase())}function G(e){return(0,b.buildProjectConfigRecord)({projectId:e.projectId,displayName:K(e.projectId),path:e.path,repo:e.repo,defaultBranch:e.defaultBranch,agent:e.agent,agentModel:e.agentModel??null,agentReasoningEffort:e.agentReasoningEffort??null,sessionPrefix:e.sessionPrefix,workspace:e.useWorktree?"worktree":"local",runtime:"tmux",scm:e.repo.includes("/")?"github":null})}function V(e,t){let r=function(e){let t=new Set;for(let r of Object.values(e)){let e="string"==typeof r.sessionPrefix&&r.sessionPrefix.trim().length>0?r.sessionPrefix.trim():(0,C.generateSessionPrefix)((0,y.basename)(I(r.path)));e&&t.add(e)}return t}(t),a=(0,C.generateSessionPrefix)((0,y.basename)(e));if(!r.has(a))return a;let n=2;for(;r.has(`${a}${n}`);)n+=1;return`${a}${n}`}async function X(e){var t;let r=await (0,v.readFile)(e.configPath,"utf8"),a=(0,E.parse)(r)??{},n=a&&"object"==typeof a&&!Array.isArray(a)?{...a}:{},i=(t=n.projects,(0,N.normalizeProjectConfigMap)(t));i[e.projectId]=e.projectData,n.projects=i,await (0,O.normalizeRootProjectPaths)(n);let o=(0,E.stringify)(n,{lineWidth:0});await (0,v.writeFile)(e.configPath,o,"utf8");try{(0,P.invalidateServicesCache)("workspace added"),await (0,P.getServices)()}catch(t){throw await (0,v.writeFile)(e.configPath,r,"utf8"),(0,P.invalidateServicesCache)("workspace add rollback"),t}}async function J(e){let t=(0,y.resolve)(e.path,"CONDUCTOR.md"),r=await (0,v.stat)(t).catch(()=>null);r?.isFile()||await (0,v.writeFile)(t,(0,b.buildConductorBoard)(e.projectId,e.displayName),"utf8")}async function Z(){let e=await (0,S.guardApiAccess)(void 0,"viewer");if(e)return e;try{let{config:e}=await (0,P.getServices)(),t=Object.entries(e.projects).map(([t,r])=>({id:t,path:r.path,repo:r.repo??null,defaultBranch:r.defaultBranch??"main",agent:r.agent??e.defaults.agent,workspace:r.workspace??e.defaults.workspace}));return R.NextResponse.json({workspaces:t})}catch(t){let e=t instanceof Error?t.message:"Failed to list workspaces";return R.NextResponse.json({error:e},{status:500})}}async function Q(e){let t=await (0,S.guardApiAccess)(e,"operator");if(t)return t;let r=(0,S.guardApiActionAccess)(e);if(r)return r;let a=await e.json().catch(()=>null);if(!a)return R.NextResponse.json({error:"Invalid JSON body"},{status:400});let n=D(a.mode);if("git"!==n&&"local"!==n)return R.NextResponse.json({error:"mode must be either 'git' or 'local'"},{status:400});let i=D(a.defaultBranch),o=i??"main",s=!1!==a.useWorktree,l=D(a.gitUrl),c=D(a.path),u=!0===a.initializeGit;try{let{config:e}=await (0,P.getServices)(),t=e.configPath;if(!t)return R.NextResponse.json({error:"Unable to resolve conductor config path"},{status:500});let r=D(a.agent)??e.defaults.agent,p=new Set(Object.keys(e.projects)),d=Object.values(e.projects).map(e=>e.path),f=new Set(d.map(e=>(0,y.basename)(I(e))).filter(Boolean));if("git"===n){if(!l)return R.NextResponse.json({error:"gitUrl is required for mode=git"},{status:400});let n=F({providedId:D(a.projectId),gitUrl:l,path:c}),u=H(n,p),h=c?I(c):(0,y.resolve)(function(e){let t=new Map;for(let r of e){let e=I(r),a=/\.[a-z0-9]+$/i.test((0,y.basename)(e))?(0,y.dirname)(e):(0,y.dirname)(e)===e?e:(0,y.dirname)(e);t.set(a,(t.get(a)??0)+1)}return[...t.entries()].sort((e,t)=>t[1]-e[1])[0]?.[0]??(0,y.resolve)((0,x.homedir)(),".openclaw","workspace","projects")}(d),u),g=(0,y.basename)(h);if(f.has(g))return R.NextResponse.json({error:`A project already uses basename '${g}'. Choose a different folder name.`},{status:409});await (0,v.mkdir)((0,y.dirname)(h),{recursive:!0});let w=await (0,v.stat)(h).catch(()=>null);if(w){if(!w.isDirectory())return R.NextResponse.json({error:"Target path exists and is not a directory"},{status:409});if(!await q(h))return R.NextResponse.json({error:"Target path already exists and is not a git repository"},{status:409})}else await $("git",["clone",l,h],{timeout:12e4});let m=await B(h,o),j=i??m,A=_(l)??l,E=V(h,e.projects),b=await (0,T.getResolvedDefaultAgentModel)(r,e.preferences?.modelAccess??null),C=await (0,T.getResolvedDefaultAgentReasoningEffort)(r,e.preferences?.modelAccess??null,b);await X({configPath:t,projectId:u,projectData:G({projectId:u,path:h,repo:A,defaultBranch:j,agent:r,agentModel:b,agentReasoningEffort:C,sessionPrefix:E,useWorktree:s})}),await J({path:h,projectId:u,displayName:K(u)});{let{config:e,registry:t}=await (0,P.getServices)();await (0,O.syncProjectLocalConfig)(e,u),(0,k.syncWorkspaceSupportFiles)(e,{agentNames:t.list("agent").map(e=>e.name)})}return R.NextResponse.json({project:{id:u,path:h,repo:A,defaultBranch:j,agent:r,workspace:s?"worktree":"local"}},{status:201})}if(!c)return R.NextResponse.json({error:"path is required for mode=local"},{status:400});let h=I(c),g=await (0,v.stat)(h).catch(()=>null);if(!g||!g.isDirectory())return R.NextResponse.json({error:"path must point to an existing directory"},{status:400});let w=(0,y.basename)(h);if(f.has(w))return R.NextResponse.json({error:`A project already uses basename '${w}'. Choose a different folder.`},{status:409});let m=await q(h);if(!m&&u&&(await W(h,o),m=!0),!m)return R.NextResponse.json({error:"Selected folder is not a git repository. Enable git initialization to use it as a workspace."},{status:400});let j=await B(h,o),A=i??j,E=F({providedId:D(a.projectId),gitUrl:null,path:h}),b=H(E,p),C=await z(h)??`local-${b}`,N=V(h,e.projects),S=await (0,T.getResolvedDefaultAgentModel)(r,e.preferences?.modelAccess??null),U=await (0,T.getResolvedDefaultAgentReasoningEffort)(r,e.preferences?.modelAccess??null,S);await X({configPath:t,projectId:b,projectData:G({projectId:b,path:h,repo:C,defaultBranch:A,agent:r,agentModel:S,agentReasoningEffort:U,sessionPrefix:N,useWorktree:s})}),await J({path:h,projectId:b,displayName:K(b)});{let{config:e,registry:t}=await (0,P.getServices)();await (0,O.syncProjectLocalConfig)(e,b),(0,k.syncWorkspaceSupportFiles)(e,{agentNames:t.list("agent").map(e=>e.name)})}return R.NextResponse.json({project:{id:b,path:h,repo:C,defaultBranch:A,agent:r,workspace:s?"worktree":"local"}},{status:201})}catch(t){let e=t instanceof Error?t.message:"Failed to create workspace";return R.NextResponse.json({error:e},{status:500})}}e.s(["GET",()=>Z,"POST",()=>Q,"dynamic",0,"force-dynamic"],66596);var Y=e.i(66596);let ee=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/workspaces/route",pathname:"/api/workspaces",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/packages/web/src/app/api/workspaces/route.ts",nextConfigOutput:"standalone",userland:Y}),{workAsyncStorage:et,workUnitAsyncStorage:er,serverHooks:ea}=ee;function en(){return(0,a.patchFetch)({workAsyncStorage:et,workUnitAsyncStorage:er})}async function ei(e,t,a){ee.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/workspaces/route";R=R.replace(/\/index$/,"")||"/";let v=await ee.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,params:x,nextConfig:j,parsedUrl:A,isDraftMode:E,prerenderManifest:b,routerServerContext:C,isOnDemandRevalidate:N,revalidateOnlyGenerated:k,resolvedPathname:P,clientReferenceManifest:S,serverActionsManifest:O}=v,T=(0,s.normalizeAppPath)(R),$=!!(b.dynamicRoutes[T]||b.routes[P]),D=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,A,!1):t.end("This page could not be found"),null);if($&&!E){let e=!!b.routes[P],t=b.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(j.experimental.adapterPath)return await D();throw new w.NoFallbackError}}let I=null;!$||ee.isDev||E||(I="/index"===(I=P)?"/":I);let U=!0===ee.isDev||!$,H=$&&!U;O&&S&&(0,o.setManifestsSingleton)({page:R,clientReferenceManifest:S,serverActionsManifest:O});let _=e.method||"GET",F=(0,i.getTracer)(),M=F.getActiveScopeSpan(),q={params:x,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!j.experimental.authInterrupts},cacheComponents:!!j.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:j.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>ee.onRequestError(e,t,a,n,C)},sharedContext:{buildId:y}},B=new l.NodeNextRequest(e),L=new l.NodeNextResponse(t),W=c.NextRequestAdapter.fromNodeNextRequest(B,(0,c.signalFromNodeResponse)(t));try{let o=async e=>ee.handle(W,q).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${_} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${_} ${R}`)}),s=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var i,l;let c=async({previousCacheEntry:r})=>{try{if(!s&&N&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(n);e.fetchMetrics=q.renderOpts.fetchMetrics;let l=q.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let c=q.renderOpts.collectedTags;if(!$)return await (0,d.sendResponse)(B,L,i,q.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(i.headers);c&&(t[g.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==q.renderOpts.collectedRevalidate&&!(q.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&q.renderOpts.collectedRevalidate,a=void 0===q.renderOpts.collectedExpire||q.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:q.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await ee.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,C),t}},u=await ee.handleResponse({req:e,nextConfig:j,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:k,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:s});if(!$)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",N?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let w=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return s&&$||w.delete(g.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||w.get("Cache-Control")||w.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,d.sendResponse)(B,L,new Response(u.value.body,{headers:w,status:u.value.status||200})),null};M?await l(M):await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${_} ${R}`,kind:i.SpanKind.SERVER,attributes:{"http.method":_,"http.target":e.url}},l))}catch(t){if(t instanceof w.NoFallbackError||await ee.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:N})},!1,C),$)throw t;return await (0,d.sendResponse)(B,L,new Response(null,{status:500})),null}}e.s(["handler",()=>ei,"patchFetch",()=>en,"routeModule",()=>ee,"serverHooks",()=>ea,"workAsyncStorage",()=>et,"workUnitAsyncStorage",()=>er],6749)}];
|
|
1
|
+
module.exports=[6749,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),c=e.i(87718),u=e.i(95169),d=e.i(47587),p=e.i(66012),f=e.i(70101),m=e.i(74838),h=e.i(10372),g=e.i(93695);e.i(52474);var w=e.i(220),y=e.i(89171),x=e.i(12714),v=e.i(50227),C=e.i(60526),R=e.i(74533),j=e.i(12057),A=e.i(23008);e.i(20435);var b=e.i(15965),E=e.i(5453),k=e.i(33498),N=e.i(81425),P=e.i(62327),M=e.i(48295),S=e.i(90075),$=e.i(45629);function _(e,t){return e&&t?e.defaultModelByAccess[t]??null:null}let T=(0,j.promisify)(R.execFile),B=new Map,O=new Map,D={low:"Fast responses with lighter reasoning.",medium:"Balanced speed and reasoning depth for everyday tasks.",high:"Deeper reasoning for more complex tasks.",xhigh:"Maximum reasoning depth for the hardest tasks."};async function U(e){try{return await (0,x.readFile)(e,"utf8")}catch{return null}}async function I(e){let t=await U(e);if(!t)return null;try{return JSON.parse(t)}catch{return null}}function L(e,t){let r,a=e.trim().toLowerCase();return{id:a,label:"xhigh"===(r=a.trim().toLowerCase())?"Extra High":r.split(/[_\s-]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" "),description:t?.trim()||D[a]||"Reasoning effort supported by the local CLI."}}function F(e,t){return t&&e.some(e=>e.id===t)?t:e[0]?.id??null}function H(e,t,r){let a=t?.trim().toLowerCase()??null;if(a&&e.some(e=>e.id===a))return a;let n=r?.trim().toLowerCase()??null;if(n&&e.some(e=>e.id===n))return n;let i=e[0]?.id;return"string"==typeof i&&i.trim().length>0?i:null}function q(e){let t=new Set,r=[];for(let a of e)t.has(a.id)||(t.add(a.id),r.push(a));return r}async function W(){let e=await U((0,v.join)((0,C.homedir)(),".codex","config.toml"));if(!e)return{model:null,reasoningEffort:null};let t=e.match(/^\s*model\s*=\s*"([^"]+)"\s*$/m),r=e.match(/^\s*model_reasoning_effort\s*=\s*"([^"]+)"\s*$/m);return{model:t?.[1]?.trim()||null,reasoningEffort:r?.[1]?.trim().toLowerCase()||null}}function z(e){let t=e.trim().toLowerCase();if("opus"===t)return"Claude Opus";if("sonnet"===t)return"Claude Sonnet";if("haiku"===t)return"Claude Haiku";let r=t.match(/^claude-(sonnet|opus|haiku)-(\d+)-(\d+)(?:-(\d{8}))?$/);if(!r)return t.split(/[-_]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ");let a=r[1],n=r[2],i=r[3];return`Claude ${a[0]?.toUpperCase()+a.slice(1)} ${n}.${i}`}function G(e){let t=e.trim().toLowerCase();return"opus"===t||t.includes("claude-opus")?["max","api"]:"haiku"===t||t.includes("claude-haiku")?["api"]:["pro","max","api"]}function K(e,t,r,a){return{id:e,label:a(e),description:t,access:r}}function V(e,t,r){if(!e)return null;let a=e.trim().toLowerCase();return t.some(e=>e.id===a)?a:a===r?t.find(e=>e.id.toLowerCase().includes(`claude-${r}`))?.id??null:null}async function X(e){for(let t of e)try{let e=await T(t,["--help"],{encoding:"utf8",timeout:1500,windowsHide:!0,maxBuffer:256e3}),r=`${e.stdout??""}
|
|
2
|
+
${e.stderr??""}`.trim();if(r.length>0)return r}catch{}return null}async function J(e){let t=await X(e);if(!t)return[];let r=t.match(/--effort\s+<[^>]+>.*?\(([^)]+)\)/s);return r?.[1]?(function(e){let t=new Set,r=[];for(let a of e){let e=a?.trim();!e||t.has(e)||(t.add(e),r.push(e))}return r})(r[1].split(",").map(e=>e.trim().toLowerCase())).map(e=>L(e)):[]}async function Q(){let e=await I((0,v.join)((0,C.homedir)(),".claude","settings.json")),t=await I((0,v.join)((0,C.homedir)(),".claude","stats-cache.json")),r=await J(["claude","claude-code","cc"]),a=function(e){let t=Array.isArray(e?.dailyModelTokens)?e.dailyModelTokens:[],r=new Set,a=[];for(let e of[...t].reverse()){var n;for(let t of Object.keys(!(n=e.tokensByModel)||"object"!=typeof n||Array.isArray(n)?{}:n)){let e=t.trim();!e.startsWith("claude-")||r.has(e)||(r.add(e),a.push(e))}}return a}(t),n="string"==typeof e?.model?e.model.trim().toLowerCase():null,i=q(a.map(e=>K(e,`Model discovered from the local Claude Code installation (${e}).`,G(e),z)));if(0===i.length&&!n)return null;let o=i.length>0?i:[K(n??"sonnet","Model configured in the local Claude Code settings.",G(n??"sonnet"),z)],s=o.filter(e=>e.access.includes("pro")),l=o.filter(e=>e.access.includes("max")),c=o.filter(e=>e.access.includes("api")),u={},d=V(n,s,"sonnet")??s[0]?.id??null,p=V(n,l,"opus")??l.find(e=>e.id.toLowerCase().includes("claude-opus"))?.id??l[0]?.id??null,f=V(n,c,"sonnet")??c[0]?.id??null;d&&(u.pro=d),p&&(u.max=p),f&&(u.api=f);let m=e?.alwaysThinkingEnabled===!0?"high":"medium",h={};for(let e of["pro","max","api"]){let t=H(r,m,m);t&&(h[e]=t)}return{agent:"claude-code",customModelPlaceholder:n||o[0]?.id||"",defaultModelByAccess:u,defaultReasoningByAccess:h,modelsByAccess:{...s.length>0?{pro:s}:{},...l.length>0?{max:l}:{},...c.length>0?{api:c}:{}},...r.length>0?{reasoningOptionsByAccess:{pro:r,max:r,api:r}}:{}}}async function Z(e,t={}){let r=t.maxDepth??5,a=t.maxFiles??24,n=t.maxDirectories??64,i=new Set((t.extensions??[]).map(e=>e.toLowerCase())),o=[],s=0;async function l(e,c){let u;if(!(c>r)&&!(s>=n)){s+=1;try{u=await (0,x.readdir)(e,{withFileTypes:!0})}catch{return}o.length>=3*a&&c>1||await Promise.all(u.map(async r=>{let a=(0,v.join)(e,r.name);if(r.isDirectory())return void await l(a,c+1);if(r.isFile()&&(!t.filenamePattern||t.filenamePattern.test(r.name))&&(!(i.size>0)||i.has((0,v.extname)(r.name).toLowerCase())))try{let e=await (0,x.stat)(a);o.push({path:a,mtimeMs:e.mtimeMs})}catch{}}))}}return await l(e,0),o.sort((e,t)=>t.mtimeMs-e.mtimeMs).slice(0,a).map(e=>e.path)}async function Y(e,t,r={}){let a=await Z(e,r),n=[],i=new Set;for(let e of a){let r=await U(e);if(!r)continue;t.lastIndex=0;let a=null;for(;null!==(a=t.exec(r));){let e=a[1]?.trim();!e||i.has(e)||(i.add(e),n.push(e))}}return n}function ee(e){return e.trim().split(/[-_]+/g).filter(Boolean).map((e,t)=>0===t?e[0]?.toUpperCase()+e.slice(1):/^\d+(?:\.\d+)?$/.test(e)?e:e[0]?.toUpperCase()+e.slice(1)).join(" ")}async function et(){let e=await I((0,v.join)((0,C.homedir)(),".gemini","settings.json")),t=await Y((0,v.join)((0,C.homedir)(),".gemini"),/"(?:model|modelVersion)"\s*:\s*"([^"]+)"/g,{extensions:[".json",".jsonl"],filenamePattern:/\.(json|jsonl)$/i,maxDepth:4,maxFiles:12,maxDirectories:48});if(0===t.length)return null;let r=q(t.map(e=>K(e,`Model discovered from the local Gemini CLI installation (${e}).`,["oauth","api"],ee))),a="string"==typeof e?.security?.auth?.selectedType?e.security.auth.selectedType.trim().toLowerCase():null,n=r[0]?.id??null;return{agent:"gemini",customModelPlaceholder:n??"",defaultModelByAccess:{...n?{oauth:n,api:n}:{}},modelsByAccess:{oauth:r,api:r},defaultReasoningByAccess:{},...a?.includes("oauth")?{customModelPlaceholder:n??""}:{}}}function er(e){return e.trim().split(/[-_]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")}async function ea(){let e=await Y((0,v.join)((0,C.homedir)(),".qwen"),/"(?:model|modelVersion)"\s*:\s*"([^"]+)"/g,{extensions:[".json",".jsonl"],filenamePattern:/\.(json|jsonl)$/i,maxDepth:5,maxFiles:12,maxDirectories:48});if(0===e.length)return null;let t=q(e.map(e=>K(e,`Model discovered from the local Qwen Code installation (${e}).`,["oauth","api"],er))),r=t[0]?.id??null;return{agent:"qwen-code",customModelPlaceholder:r??"",defaultModelByAccess:{...r?{oauth:r,api:r}:{}},modelsByAccess:{oauth:t,api:t},defaultReasoningByAccess:{}}}async function en(e){let t=e.trim().toLowerCase();if("codex"===t){let e=await U((0,v.join)((0,C.homedir)(),".codex","models_cache.json"));if(!e)return null;try{let t=JSON.parse(e),r=await W();return function(e,t=null,r=null){if(!e||"object"!=typeof e)return null;let a=(Array.isArray(e.models)?e.models:[]).map((e,t)=>({entry:e,index:t})).filter(({entry:e})=>"list"===e.visibility).sort((e,t)=>{let r="number"==typeof e.entry.priority?e.entry.priority:Number.MAX_SAFE_INTEGER,a="number"==typeof t.entry.priority?t.entry.priority:Number.MAX_SAFE_INTEGER;return r!==a?r-a:e.index-t.index}).map(({entry:e})=>({option:function(e){if("string"!=typeof e.slug||0===e.slug.trim().length)return null;let t=e.slug.trim(),r="string"==typeof e.display_name&&e.display_name.trim().length>0?e.display_name.trim():t;return{id:t,label:r.trim().split("-").filter(Boolean).map((e,t)=>{let r=e.toLowerCase();return"gpt"===r?"GPT":"codex"===r?"Codex":"spark"===r?"Spark":"mini"===r?"Mini":"max"===r?"Max":0===t?e.toUpperCase():e[0]?.toUpperCase()+e.slice(1)}).join("-"),description:"string"==typeof e.description&&e.description.trim().length>0?e.description.trim():`Model exposed by the local Codex installation (${t}).`,access:!1===e.supported_in_api?["chatgpt"]:["chatgpt","api"]}}(e),entry:e})).filter(e=>!!e.option);if(0===a.length)return null;let n={},i={};for(let{option:e,entry:t}of a){let a=(Array.isArray(t.supported_reasoning_levels)?t.supported_reasoning_levels:[]).map(e=>"string"!=typeof e.effort||0===e.effort.trim().length?null:L(e.effort,"string"==typeof e.description?e.description:null)).filter(e=>!!e);if(a.length>0){n[e.id]=a;let o=H(a,r,"string"==typeof t.default_reasoning_level?t.default_reasoning_level.trim().toLowerCase():null);o&&(i[e.id]=o)}}let o=a.map(({option:e})=>e),s=a.map(({option:e})=>e).filter(e=>e.access.includes("api")),l=t?.trim()||o[0]?.id||"",c=F(o,t),u=F(s,t),d={};if(c){let e=H(n[c]??[],r,i[c]??null);e&&(d.chatgpt=e)}if(u){let e=H(n[u]??[],r,i[u]??null);e&&(d.api=e)}return{agent:"codex",customModelPlaceholder:l,defaultModelByAccess:{...c?{chatgpt:c}:{},...u?{api:u}:{}},defaultReasoningByAccess:d,modelsByAccess:{chatgpt:o,api:s},defaultReasoningByModel:i,reasoningOptionsByModel:n}}(t,r.model,r.reasoningEffort)}catch{return null}}return"claude-code"===t?Q():"gemini"===t?et():"qwen-code"===t?ea():null}async function ei(e){let t=e.trim().toLowerCase();if(!t)return null;let r=Date.now(),a=B.get(t);if(a&&a.expiresAt>r)return a.value;let n=O.get(t);if(n)return n;let i=en(t).then(e=>(B.set(t,{value:e,expiresAt:Date.now()+6e4}),e)).finally(()=>{O.delete(t)});return O.set(t,i),i}async function eo(e,t){return _(await ei(e),(0,$.resolveAgentModelAccess)(e,t))}async function es(e,t,r){let a=await ei(e),n=(0,$.resolveAgentModelAccess)(e,t),i=r?.trim()||_(a,n);if(!a)return null;let o=i?.trim();return o&&a.defaultReasoningByModel?.[o]?a.defaultReasoningByModel[o]??null:n?a.defaultReasoningByAccess?.[n]??null:null}let el=(0,j.promisify)(R.execFile);function ec(e){if("string"!=typeof e)return null;let t=e.trim();return t.length>0?t:null}function eu(e){return e.startsWith("~/")?(0,v.resolve)((0,C.homedir)(),e.slice(2)):(0,v.resolve)(e)}function ed(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64)||"workspace"}function ep(e,t){if(!t.has(e))return e;let r=2;for(;t.has(`${e}-${r}`);)r+=1;return`${e}-${r}`}function ef(e){let t=e.match(/^git@[^:]+:(.+)$/),r=t?t[1]:e;try{let e=new URL(r).pathname.replace(/^\/+/,"").replace(/\.git$/i,"").split("/").filter(Boolean);if(e.length>=2)return`${e[e.length-2]}/${e[e.length-1]}`;if(1===e.length)return e[0];return null}catch{let e=r.replace(/\.git$/i,"").split("/").filter(Boolean);if(e.length>=2)return`${e[e.length-2]}/${e[e.length-1]}`;return e[e.length-1]??null}}function em(e){if(e.providedId)return ed(e.providedId);let t=e.gitUrl?ef(e.gitUrl)?.split("/").pop()??null:null;if(t)return ed(t);let r=e.path?(0,v.basename)(e.path):null;return r?ed(r):"workspace"}async function eh(e,t){return(await el("git",t,{cwd:e,timeout:9e4})).stdout.trim()}async function eg(e){try{return await eh(e,["rev-parse","--is-inside-work-tree"]),!0}catch{return!1}}async function ew(e,t){try{let t=await eh(e,["symbolic-ref","--short","refs/remotes/origin/HEAD"]);if(t.startsWith("origin/"))return t.slice(7)}catch{}try{let t=await eh(e,["symbolic-ref","--short","HEAD"]);if(t.length>0&&"HEAD"!==t)return t}catch{}return t}async function ey(e){let t=!0;try{await eh(e,["rev-parse","--verify","HEAD"])}catch{t=!1}t||(await eh(e,["add","-A"]),await eh(e,["-c","user.name=Conductor","-c","user.email=conductor@local","commit","--allow-empty","-m","chore: initialize workspace"]))}async function ex(e,t){try{await eh(e,["init","-b",t])}catch{await eh(e,["init"]);try{await eh(e,["checkout","-b",t])}catch{}}await ey(e)}async function ev(e){try{let t=await eh(e,["remote","get-url","origin"]);return ef(t)??t}catch{return null}}function eC(e){let t=e.replace(/[-_]+/g," ").trim();return 0===t.length?e:t.replace(/\b\w/g,e=>e.toUpperCase())}function eR(e){return(0,b.buildProjectConfigRecord)({projectId:e.projectId,displayName:eC(e.projectId),path:e.path,repo:e.repo,defaultBranch:e.defaultBranch,agent:e.agent,agentModel:e.agentModel??null,agentReasoningEffort:e.agentReasoningEffort??null,sessionPrefix:e.sessionPrefix,workspace:e.useWorktree?"worktree":"local",runtime:"tmux",scm:e.repo.includes("/")?"github":null})}function ej(e,t){let r=function(e){let t=new Set;for(let r of Object.values(e)){let e="string"==typeof r.sessionPrefix&&r.sessionPrefix.trim().length>0?r.sessionPrefix.trim():(0,E.generateSessionPrefix)((0,v.basename)(eu(r.path)));e&&t.add(e)}return t}(t),a=(0,E.generateSessionPrefix)((0,v.basename)(e));if(!r.has(a))return a;let n=2;for(;r.has(`${a}${n}`);)n+=1;return`${a}${n}`}async function eA(e){var t;let r=await (0,x.readFile)(e.configPath,"utf8"),a=(0,A.parse)(r)??{},n=a&&"object"==typeof a&&!Array.isArray(a)?{...a}:{},i=(t=n.projects,(0,k.normalizeProjectConfigMap)(t));i[e.projectId]=e.projectData,n.projects=i,await (0,S.normalizeRootProjectPaths)(n);let o=(0,A.stringify)(n,{lineWidth:0});await (0,x.writeFile)(e.configPath,o,"utf8");try{(0,P.invalidateServicesCache)("workspace added"),await (0,P.getServices)()}catch(t){throw await (0,x.writeFile)(e.configPath,r,"utf8"),(0,P.invalidateServicesCache)("workspace add rollback"),t}}async function eb(e){let t=(0,v.resolve)(e.path,"CONDUCTOR.md"),r=await (0,x.stat)(t).catch(()=>null);r?.isFile()||await (0,x.writeFile)(t,(0,b.buildConductorBoard)(e.projectId,e.displayName),"utf8")}async function eE(){let e=await (0,M.guardApiAccess)(void 0,"viewer");if(e)return e;try{let{config:e}=await (0,P.getServices)(),t=Object.entries(e.projects).map(([t,r])=>({id:t,path:r.path,repo:r.repo??null,defaultBranch:r.defaultBranch??"main",agent:r.agent??e.defaults.agent,workspace:r.workspace??e.defaults.workspace}));return y.NextResponse.json({workspaces:t})}catch(t){let e=t instanceof Error?t.message:"Failed to list workspaces";return y.NextResponse.json({error:e},{status:500})}}async function ek(e){let t=await (0,M.guardApiAccess)(e,"operator");if(t)return t;let r=(0,M.guardApiActionAccess)(e);if(r)return r;let a=await e.json().catch(()=>null);if(!a)return y.NextResponse.json({error:"Invalid JSON body"},{status:400});let n=ec(a.mode);if("git"!==n&&"local"!==n)return y.NextResponse.json({error:"mode must be either 'git' or 'local'"},{status:400});let i=ec(a.defaultBranch),o=i??"main",s=!1!==a.useWorktree,l=ec(a.gitUrl),c=ec(a.path),u=!0===a.initializeGit;try{let{config:e}=await (0,P.getServices)(),t=e.configPath;if(!t)return y.NextResponse.json({error:"Unable to resolve conductor config path"},{status:500});let r=ec(a.agent)??e.defaults.agent,d=new Set(Object.keys(e.projects)),p=Object.values(e.projects).map(e=>e.path),f=new Set(p.map(e=>(0,v.basename)(eu(e))).filter(Boolean));if("git"===n){if(!l)return y.NextResponse.json({error:"gitUrl is required for mode=git"},{status:400});let n=em({providedId:ec(a.projectId),gitUrl:l,path:c}),u=ep(n,d),m=c?eu(c):(0,v.resolve)(function(e){let t=new Map;for(let r of e){let e=eu(r),a=/\.[a-z0-9]+$/i.test((0,v.basename)(e))?(0,v.dirname)(e):(0,v.dirname)(e)===e?e:(0,v.dirname)(e);t.set(a,(t.get(a)??0)+1)}return[...t.entries()].sort((e,t)=>t[1]-e[1])[0]?.[0]??(0,v.resolve)((0,C.homedir)(),".openclaw","workspace","projects")}(p),u),h=(0,v.basename)(m);if(f.has(h))return y.NextResponse.json({error:`A project already uses basename '${h}'. Choose a different folder name.`},{status:409});await (0,x.mkdir)((0,v.dirname)(m),{recursive:!0});let g=await (0,x.stat)(m).catch(()=>null);if(g){if(!g.isDirectory())return y.NextResponse.json({error:"Target path exists and is not a directory"},{status:409});if(!await eg(m))return y.NextResponse.json({error:"Target path already exists and is not a git repository"},{status:409})}else await el("git",["clone",l,m],{timeout:12e4});let w=await ew(m,o),R=i??w,j=ef(l)??l,A=ej(m,e.projects),b=await eo(r,e.preferences?.modelAccess??null),E=await es(r,e.preferences?.modelAccess??null,b);await eA({configPath:t,projectId:u,projectData:eR({projectId:u,path:m,repo:j,defaultBranch:R,agent:r,agentModel:b,agentReasoningEffort:E,sessionPrefix:A,useWorktree:s})}),await eb({path:m,projectId:u,displayName:eC(u)});{let{config:e,registry:t}=await (0,P.getServices)();await (0,S.syncProjectLocalConfig)(e,u),(0,N.syncWorkspaceSupportFiles)(e,{agentNames:t.list("agent").map(e=>e.name)})}return y.NextResponse.json({project:{id:u,path:m,repo:j,defaultBranch:R,agent:r,workspace:s?"worktree":"local"}},{status:201})}if(!c)return y.NextResponse.json({error:"path is required for mode=local"},{status:400});let m=eu(c),h=await (0,x.stat)(m).catch(()=>null);if(!h||!h.isDirectory())return y.NextResponse.json({error:"path must point to an existing directory"},{status:400});let g=(0,v.basename)(m);if(f.has(g))return y.NextResponse.json({error:`A project already uses basename '${g}'. Choose a different folder.`},{status:409});let w=await eg(m);if(!w&&u&&(await ex(m,o),w=!0),!w)return y.NextResponse.json({error:"Selected folder is not a git repository. Enable git initialization to use it as a workspace."},{status:400});let R=await ew(m,o),j=i??R,A=em({providedId:ec(a.projectId),gitUrl:null,path:m}),b=ep(A,d),E=await ev(m)??`local-${b}`,k=ej(m,e.projects),M=await eo(r,e.preferences?.modelAccess??null),$=await es(r,e.preferences?.modelAccess??null,M);await eA({configPath:t,projectId:b,projectData:eR({projectId:b,path:m,repo:E,defaultBranch:j,agent:r,agentModel:M,agentReasoningEffort:$,sessionPrefix:k,useWorktree:s})}),await eb({path:m,projectId:b,displayName:eC(b)});{let{config:e,registry:t}=await (0,P.getServices)();await (0,S.syncProjectLocalConfig)(e,b),(0,N.syncWorkspaceSupportFiles)(e,{agentNames:t.list("agent").map(e=>e.name)})}return y.NextResponse.json({project:{id:b,path:m,repo:E,defaultBranch:j,agent:r,workspace:s?"worktree":"local"}},{status:201})}catch(t){let e=t instanceof Error?t.message:"Failed to create workspace";return y.NextResponse.json({error:e},{status:500})}}e.s(["GET",()=>eE,"POST",()=>ek,"dynamic",0,"force-dynamic"],66596);var eN=e.i(66596);let eP=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/workspaces/route",pathname:"/api/workspaces",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/packages/web/src/app/api/workspaces/route.ts",nextConfigOutput:"standalone",userland:eN}),{workAsyncStorage:eM,workUnitAsyncStorage:eS,serverHooks:e$}=eP;function e_(){return(0,a.patchFetch)({workAsyncStorage:eM,workUnitAsyncStorage:eS})}async function eT(e,t,a){eP.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/workspaces/route";y=y.replace(/\/index$/,"")||"/";let x=await eP.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,params:C,nextConfig:R,parsedUrl:j,isDraftMode:A,prerenderManifest:b,routerServerContext:E,isOnDemandRevalidate:k,revalidateOnlyGenerated:N,resolvedPathname:P,clientReferenceManifest:M,serverActionsManifest:S}=x,$=(0,s.normalizeAppPath)(y),_=!!(b.dynamicRoutes[$]||b.routes[P]),T=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,j,!1):t.end("This page could not be found"),null);if(_&&!A){let e=!!b.routes[P],t=b.dynamicRoutes[$];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await T();throw new g.NoFallbackError}}let B=null;!_||eP.isDev||A||(B="/index"===(B=P)?"/":B);let O=!0===eP.isDev||!_,D=_&&!O;S&&M&&(0,o.setManifestsSingleton)({page:y,clientReferenceManifest:M,serverActionsManifest:S});let U=e.method||"GET",I=(0,i.getTracer)(),L=I.getActiveScopeSpan(),F={params:C,prerenderManifest:b,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:O,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>eP.onRequestError(e,t,a,n,E)},sharedContext:{buildId:v}},H=new l.NodeNextRequest(e),q=new l.NodeNextResponse(t),W=c.NextRequestAdapter.fromNodeNextRequest(H,(0,c.signalFromNodeResponse)(t));try{let o=async e=>eP.handle(W,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=I.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${y}`)}),s=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var i,l;let c=async({previousCacheEntry:r})=>{try{if(!s&&k&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(n);e.fetchMetrics=F.renderOpts.fetchMetrics;let l=F.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let c=F.renderOpts.collectedTags;if(!_)return await (0,p.sendResponse)(H,q,i,F.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(i.headers);c&&(t[h.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,a=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await eP.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:k})},!1,E),t}},u=await eP.handleResponse({req:e,nextConfig:R,cacheKey:B,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:N,responseGenerator:c,waitUntil:a.waitUntil,isMinimalMode:s});if(!_)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",k?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return s&&_||g.delete(h.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(H,q,new Response(u.value.body,{headers:g,status:u.value.status||200})),null};L?await l(L):await I.withPropagatedContext(e.headers,()=>I.trace(u.BaseServerSpan.handleRequest,{spanName:`${U} ${y}`,kind:i.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await eP.onRequestError(e,t,{routerKind:"App Router",routePath:$,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:k})},!1,E),_)throw t;return await (0,p.sendResponse)(H,q,new Response(null,{status:500})),null}}e.s(["handler",()=>eT,"patchFetch",()=>e_,"routeModule",()=>eP,"serverHooks",()=>e$,"workAsyncStorage",()=>eM,"workUnitAsyncStorage",()=>eS],6749)}];
|
|
2
3
|
|
|
3
4
|
//# sourceMappingURL=node_modules_next_dist_esm_build_templates_app-route_0e4dc4f7.js.map
|