@nilsr0711/drydock 0.1.7 → 0.1.8
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/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +1 -1
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js +2 -2
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/adrs/page.js +2 -2
- package/.next/standalone/.next/server/app/adrs/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/adrs/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/analytics/page.js +1 -1
- package/.next/standalone/.next/server/app/analytics/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/analytics/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/control/shutdown/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cost/export/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/health/route.js +1 -1
- package/.next/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/sse/dashboard/route.js +1 -1
- package/.next/standalone/.next/server/app/api/sse/dashboard/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/sse/jobs/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/webhooks/[repoId]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/costs/page.js +1 -1
- package/.next/standalone/.next/server/app/costs/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/costs/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/jobs/[id]/page.js +3 -3
- package/.next/standalone/.next/server/app/jobs/[id]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/jobs/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/jobs/page.js +2 -2
- package/.next/standalone/.next/server/app/jobs/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/jobs/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/needs-human/page.js +2 -2
- package/.next/standalone/.next/server/app/needs-human/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/needs-human/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/page.js +2 -2
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/prompts/page.js +2 -2
- package/.next/standalone/.next/server/app/prompts/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/prompts/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/repos/[id]/page.js +2 -2
- package/.next/standalone/.next/server/app/repos/[id]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/repos/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/page.js +2 -2
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +1 -1
- package/.next/standalone/.next/server/chunks/304.js +1 -1
- package/.next/standalone/.next/server/chunks/387.js +34 -0
- package/.next/standalone/.next/server/chunks/40.js +1 -1
- package/.next/standalone/.next/server/chunks/403.js +1 -0
- package/.next/standalone/.next/server/chunks/521.js +1 -1
- package/.next/standalone/.next/server/chunks/578.js +1 -1
- package/.next/standalone/.next/server/chunks/614.js +2 -2
- package/.next/standalone/.next/server/chunks/685.js +1 -0
- package/.next/standalone/.next/server/chunks/786.js +1 -1
- package/.next/standalone/.next/server/chunks/83.js +1 -1
- package/.next/standalone/.next/server/chunks/908.js +1 -1
- package/.next/standalone/.next/server/chunks/99.js +14 -11
- package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/1298-0d60333e56ac8b2c.js +1 -0
- package/.next/standalone/.next/static/chunks/3433-ece700d2e393c23b.js +1 -0
- package/.next/standalone/.next/static/chunks/3894-4f48e3cc5be58e10.js +1 -0
- package/.next/standalone/.next/static/chunks/5080-16cb43874ff5c536.js +1 -0
- package/.next/standalone/.next/static/chunks/{1642-a1ea35450c1b5c95.js → 8264-c27834f1552f983a.js} +1 -1
- package/.next/{static/chunks/4624-5e23973d35b58ca5.js → standalone/.next/static/chunks/8745-8b3833b3d2afa30c.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/adrs/page-0c221fc18d1e89af.js +1 -0
- package/.next/standalone/.next/static/chunks/app/costs/{page-24d086bf67620e30.js → page-5d66d93815eea63a.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/jobs/[id]/page-6ef8bc39b5181817.js +1 -0
- package/.next/standalone/.next/static/chunks/app/jobs/page-98215ec1497b829e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/layout-402d4ab34259b89b.js +1 -0
- package/.next/standalone/.next/static/chunks/app/needs-human/page-b69ac22856c0a0b1.js +1 -0
- package/.next/standalone/.next/static/chunks/app/page-ccefa99d40734a8c.js +1 -0
- package/.next/standalone/.next/static/chunks/app/prompts/page-bcd1063eb5d64aa5.js +1 -0
- package/.next/standalone/.next/static/chunks/app/repos/[id]/page-2bd4b35a0b28042e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/settings/page-13a04ecac139b74c.js +1 -0
- package/.next/standalone/.next/static/css/{bdce0893cf6b9cb9.css → 600a5b5311ad42be.css} +1 -1
- package/.next/standalone/drizzle/0034_human_instruction.sql +1 -0
- package/.next/standalone/drizzle/0035_agent_release.sql +4 -0
- package/.next/standalone/mcp-server.cjs +42934 -0
- package/.next/standalone/package.json +5 -3
- package/.next/static/chunks/1298-0d60333e56ac8b2c.js +1 -0
- package/.next/static/chunks/3433-ece700d2e393c23b.js +1 -0
- package/.next/static/chunks/3894-4f48e3cc5be58e10.js +1 -0
- package/.next/static/chunks/5080-16cb43874ff5c536.js +1 -0
- package/.next/static/chunks/{1642-a1ea35450c1b5c95.js → 8264-c27834f1552f983a.js} +1 -1
- package/.next/{standalone/.next/static/chunks/4624-5e23973d35b58ca5.js → static/chunks/8745-8b3833b3d2afa30c.js} +1 -1
- package/.next/static/chunks/app/adrs/page-0c221fc18d1e89af.js +1 -0
- package/.next/static/chunks/app/costs/{page-24d086bf67620e30.js → page-5d66d93815eea63a.js} +1 -1
- package/.next/static/chunks/app/jobs/[id]/page-6ef8bc39b5181817.js +1 -0
- package/.next/static/chunks/app/jobs/page-98215ec1497b829e.js +1 -0
- package/.next/static/chunks/app/layout-402d4ab34259b89b.js +1 -0
- package/.next/static/chunks/app/needs-human/page-b69ac22856c0a0b1.js +1 -0
- package/.next/static/chunks/app/page-ccefa99d40734a8c.js +1 -0
- package/.next/static/chunks/app/prompts/page-bcd1063eb5d64aa5.js +1 -0
- package/.next/static/chunks/app/repos/[id]/page-2bd4b35a0b28042e.js +1 -0
- package/.next/static/chunks/app/settings/page-13a04ecac139b74c.js +1 -0
- package/.next/static/css/{bdce0893cf6b9cb9.css → 600a5b5311ad42be.css} +1 -1
- package/README.md +60 -21
- package/bin/drydock.mjs +77 -2
- package/drizzle/0034_human_instruction.sql +1 -0
- package/drizzle/0035_agent_release.sql +4 -0
- package/package.json +5 -3
- package/.next/standalone/.next/server/chunks/382.js +0 -31
- package/.next/standalone/.next/server/chunks/468.js +0 -1
- package/.next/standalone/.next/server/chunks/822.js +0 -1
- package/.next/standalone/.next/static/chunks/1298-7ac9c00c70b27598.js +0 -1
- package/.next/standalone/.next/static/chunks/3433-719d6f55f39342d8.js +0 -1
- package/.next/standalone/.next/static/chunks/3894-c7b01dcfcf83d89b.js +0 -1
- package/.next/standalone/.next/static/chunks/7690-6dcfd9ae4cbf4e7d.js +0 -1
- package/.next/standalone/.next/static/chunks/app/adrs/page-1dfee698ea4c111f.js +0 -1
- package/.next/standalone/.next/static/chunks/app/jobs/[id]/page-8a9e4ed64c3303fe.js +0 -1
- package/.next/standalone/.next/static/chunks/app/jobs/page-4180ccc9acd3ddba.js +0 -1
- package/.next/standalone/.next/static/chunks/app/layout-189fa697d72d1fdf.js +0 -1
- package/.next/standalone/.next/static/chunks/app/needs-human/page-e458ffa78c06a6fa.js +0 -1
- package/.next/standalone/.next/static/chunks/app/page-add53cbf6d87a3f5.js +0 -1
- package/.next/standalone/.next/static/chunks/app/prompts/page-ff6cc30777232933.js +0 -1
- package/.next/standalone/.next/static/chunks/app/repos/[id]/page-cd11007841a5d73f.js +0 -1
- package/.next/standalone/.next/static/chunks/app/settings/page-280668b9c92e9b48.js +0 -1
- package/.next/static/chunks/1298-7ac9c00c70b27598.js +0 -1
- package/.next/static/chunks/3433-719d6f55f39342d8.js +0 -1
- package/.next/static/chunks/3894-c7b01dcfcf83d89b.js +0 -1
- package/.next/static/chunks/7690-6dcfd9ae4cbf4e7d.js +0 -1
- package/.next/static/chunks/app/adrs/page-1dfee698ea4c111f.js +0 -1
- package/.next/static/chunks/app/jobs/[id]/page-8a9e4ed64c3303fe.js +0 -1
- package/.next/static/chunks/app/jobs/page-4180ccc9acd3ddba.js +0 -1
- package/.next/static/chunks/app/layout-189fa697d72d1fdf.js +0 -1
- package/.next/static/chunks/app/needs-human/page-e458ffa78c06a6fa.js +0 -1
- package/.next/static/chunks/app/page-add53cbf6d87a3f5.js +0 -1
- package/.next/static/chunks/app/prompts/page-ff6cc30777232933.js +0 -1
- package/.next/static/chunks/app/repos/[id]/page-cd11007841a5d73f.js +0 -1
- package/.next/static/chunks/app/settings/page-280668b9c92e9b48.js +0 -1
- /package/.next/standalone/.next/static/{-sJQutzNDvUvcdmf3YlJA → qSEvPCWIslg9lcxt6XQhl}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{-sJQutzNDvUvcdmf3YlJA → qSEvPCWIslg9lcxt6XQhl}/_ssgManifest.js +0 -0
- /package/.next/static/{-sJQutzNDvUvcdmf3YlJA → qSEvPCWIslg9lcxt6XQhl}/_buildManifest.js +0 -0
- /package/.next/static/{-sJQutzNDvUvcdmf3YlJA → qSEvPCWIslg9lcxt6XQhl}/_ssgManifest.js +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(()=>{var a={};a.id=662,a.ids=[662],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},772:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(34215).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/drydock/drydock/node_modules/.pnpm/lucide-react@1.18.0_react@19.2.7/node_modules/lucide-react/dist/esm/Icon.mjs\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/drydock/drydock/node_modules/.pnpm/lucide-react@1.18.0_react@19.2.7/node_modules/lucide-react/dist/esm/Icon.mjs","default")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9097:(a,b,c)=>{Promise.resolve().then(c.bind(c,87586)),Promise.resolve().then(c.t.bind(c,9324,23)),Promise.resolve().then(c.bind(c,59624))},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12248:(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}function e(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}c.r(b),c.d(b,{_:()=>e})},14985:a=>{"use strict";a.exports=require("dns")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},17891:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/get-segment-param")},18825:(a,b,c)=>{Promise.resolve().then(c.bind(c,772)),Promise.resolve().then(c.t.bind(c,45030,23)),Promise.resolve().then(c.bind(c,20304))},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},20304:(a,b,c)=>{"use strict";c.d(b,{SettingsForm:()=>d});let d=(0,c(34215).registerClientReference)(function(){throw Error("Attempted to call SettingsForm() from the server but SettingsForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/drydock/drydock/src/components/settings-form.tsx","SettingsForm")},21820:a=>{"use strict";a.exports=require("os")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30285:(a,b,c)=>{"use strict";c.d(b,{A:()=>g});var d=c(8578);let e=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var f=c(772);let g=(a,b)=>{let c=(0,d.forwardRef)(({className:c,...g},h)=>(0,d.createElement)(f.default,{ref:h,iconNode:b,className:((...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim())(`lucide-${e(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,c),...g}));return c.displayName=e(a),c}},31421:a=>{"use strict";a.exports=require("node:child_process")},32325:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"00d40d65ec366596ba0f414253cbf8a8e26ce81760":()=>d.o$,"00f17bccf1224c648f7e7a74f84441484b3c19a422":()=>e.MA,"400cb75b50864ab4e5773316481a0f4d0300adb012":()=>n,"403fc9b2867e1f720d4d1326cb1ea3c5c67b2fad36":()=>d.AU,"40a385ca6c1b8479def93fa7e48a72fcfaf4c58010":()=>e.r6,"40bb83dbce8c0dd698e1c9f3ff88d8a372d3372cff":()=>m,"40d6ac063e31ed3ee52059d74d9460570a55d99e84":()=>e.$y,"40ea5d9a48c67bf43c3c92eead681338f5513aaa29":()=>d.aE});var d=c(37078),e=c(44045),f=c(14565),g=c(89642),h=c(95310),i=c(41575),j=c(3061),k=c(84637),l=c(52166);async function m(a){let b=(0,h.Lf)(),c=(0,i.mt)(b),d=await (0,j.yd)({db:b,fetchImpl:a,apiKey:(0,l.t)(c)||void 0});return(0,g.revalidatePath)("/settings"),d}async function n(a){let b=(0,i.mt)((0,h.Lf)()),c=(0,l.t)(b);return c?(0,k.lw)(c,a):{ok:!1,error:"no OpenRouter API key configured — save one first (or set DRYDOCK_OPENROUTER_API_KEY)"}}(0,c(13897).D)([m,n]),(0,f.A)(m,"40bb83dbce8c0dd698e1c9f3ff88d8a372d3372cff",null),(0,f.A)(n,"400cb75b50864ab4e5773316481a0f4d0300adb012",null)},33873:a=>{"use strict";a.exports=require("path")},34631:a=>{"use strict";a.exports=require("tls")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},45030:(a,b,c)=>{let{createProxy:d}=c(81374);a.exports=d("/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/client/app-dir/link.js")},45744:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>k,dynamic:()=>j});var d=c(87383),e=c(46305),f=c(94895),g=c(20304),h=c(74340),i=c(74644);let j="force-dynamic";function k(){let a=(0,i.mt)(),b=(0,h.PI)(),c={models:(0,h.Y8)({}).map(a=>({id:a.id,label:a.name,isFree:a.isFree})),modelCount:b.modelCount,lastSuccessAt:b.lastSuccessAt,lastError:b.lastError,stale:(0,h.TR)({refreshHours:a.openrouterCatalogRefreshHours})};return(0,d.jsxs)("div",{className:"dd-fade-up mx-auto max-w-3xl",children:[(0,d.jsx)(f.z,{icon:e.A,title:"Settings",subtitle:"Global defaults for the dock. Per-repo automation lives on each workspace."}),(0,d.jsx)(g.SettingsForm,{initial:a,openrouter:c})]})}},48161:a=>{"use strict";a.exports=require("node:os")},49616:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(71859).A)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},50109:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(87383),e=c(27542);function f(){return(0,d.jsxs)("div",{className:"mx-auto max-w-3xl",children:[(0,d.jsx)(e.ym,{}),(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)(e.Qv,{lines:[80,65,50]}),(0,d.jsx)(e.Qv,{lines:[80,65]})]})]})}},51455:a=>{"use strict";a.exports=require("node:fs/promises")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57656:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>O,handler:()=>Q,routeModule:()=>P});var d=c(67153),e=c(36918),f=c(70662),g=c(87911),h=c(80125),i=c(76229),j=c(41644),k=c(80381),l=c(79821),m=c(57831),n=c(45413),o=c(93971),p=c(36443),q=c(86194),r=c(261),s=c(73430),t=c(25867),u=c(26713),v=c(3911),w=c(49620),x=c(40744),y=c(72329),z=c(1167),A=c(84325),B=c(10069),C=c(86439),D=c(77068),E=c(76821),F=c(41861),G=c(76631),H=c(98022),I=c(70722),J=c(59281),K=c(43954),L=c(17891),M={};for(let a in G)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(M[a]=()=>G[a]);c.d(b,M);let N={children:["",{children:["settings",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,45744)),"/home/runner/work/drydock/drydock/src/app/settings/page.tsx"]}]},{loading:[()=>Promise.resolve().then(c.bind(c,50109)),"/home/runner/work/drydock/drydock/src/app/settings/loading.tsx"],"global-error":[()=>Promise.resolve().then(c.bind(c,81811)),"/home/runner/work/drydock/drydock/src/app/global-error.tsx"]},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,66025)),"/home/runner/work/drydock/drydock/src/app/layout.tsx"],error:[()=>Promise.resolve().then(c.bind(c,43705)),"/home/runner/work/drydock/drydock/src/app/error.tsx"],loading:[()=>Promise.resolve().then(c.bind(c,51231)),"/home/runner/work/drydock/drydock/src/app/loading.tsx"],"global-error":[()=>Promise.resolve().then(c.bind(c,81811)),"/home/runner/work/drydock/drydock/src/app/global-error.tsx"],"not-found":[()=>Promise.resolve().then(c.bind(c,37803)),"/home/runner/work/drydock/drydock/src/app/not-found.tsx"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,80902,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,96305,23)),"next/dist/client/components/builtin/unauthorized.js"]},[]]}.children,O={require:c,loadChunk:()=>Promise.resolve()},P=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/settings/page",pathname:"/settings",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:N},distDir:".next",relativeProjectDir:""});async function Q(a,b,d){var M,R,S,T,U;d.requestMeta&&(0,h.setRequestMeta)(a,d.requestMeta),P.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let V=!!(0,h.getRequestMeta)(a,"minimalMode"),W="/settings/page";"/index"===W&&(W="/");let X=await P.prepare(a,b,{srcPage:W,multiZoneDraftMode:!1});if(!X)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Y,query:Z,params:$,pageIsDynamic:_,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,serverActionsManifest:ad,clientReferenceManifest:ae,subresourceIntegrityManifest:af,prerenderManifest:ag,isDraftMode:ah,resolvedPathname:ai,revalidateOnlyGenerated:aj,routerServerContext:ak,nextConfig:al,parsedUrl:am,interceptionRoutePatterns:an,deploymentId:ao,clientAssetToken:ap}=X,aq=(0,r.normalizeAppPath)(W),{isOnDemandRevalidate:ar}=X,as=al.experimental.ppr&&!al.cacheComponents&&(0,K.isInterceptionRouteAppPath)(ai)?null:P.match(ai,ag),at=(null==as?void 0:as.route)??null,au=!!ag.routes[ai],av=a.headers["user-agent"]||"",aw=(0,u.getBotType)(av),ax=(0,q.isHtmlBotRequest)(a),ay=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],az=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[t.RSC_HEADER]),aA=(0,s.getIsPossibleServerAction)(a),aB=(0,m.checkIsAppPPREnabled)(al.experimental.ppr),aC=a.headers[y.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,h.getRequestMeta)(a,"postponed")&&V&&aB&&aA&&aC&&"string"==typeof aC){let e=parseInt(aC,10),{maxPostponedStateSize:f,maxPostponedStateSizeBytes:g}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize);if(!isNaN(e)&&e>0){if(e>g)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(f)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let i="1 MB",j=(null==(U=al.experimental.serverActions)?void 0:U.bodySizeLimit)??i,k=e+(j!==i?c(46174).parse(j):1048576),l=await (0,E.readBodyWithSizeLimit)(a,k);if(null===l)return b.statusCode=413,b.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;if(l.length>=e){let b=l.subarray(0,e).toString("utf8");(0,h.addRequestMeta)(a,"postponed",b);let c=l.subarray(e);(0,h.addRequestMeta)(a,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${e} bytes of postponed state but only received ${l.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,h.getRequestMeta)(a,"postponed")&&aB&&"1"===a.headers[y.NEXT_RESUME_HEADER]&&"POST"===a.method){let{maxPostponedStateSize:c,maxPostponedStateSizeBytes:e}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize),f=await (0,E.readBodyWithSizeLimit)(a,e);if(null===f)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(c)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let g=f.toString("utf8");(0,h.addRequestMeta)(a,"postponed",g)}let aD=!0===P.isDev||!0===al.experimental.exposeTestingApiInProductionBuild,aE=aD&&("1"===a.headers[t.NEXT_INSTANT_PREFETCH_HEADER]||!(0,n.f)(a.headers[t.RSC_HEADER])&&"string"==typeof a.headers.cookie&&a.headers.cookie.includes(t.NEXT_INSTANT_TEST_COOKIE+"=")),aF=(aB||aE)&&((null==(M=ag.routes[aq]??ag.dynamicRoutes[aq])?void 0:M.renderingMode)==="PARTIALLY_STATIC"||aE&&(aD||(null==ak?void 0:ak.experimentalTestProxy)===!0)),aG=aE&&aF,aH=aG&&!0===P.isDev,aI=!1,aJ=aF?(0,h.getRequestMeta)(a,"postponed"):void 0,aK=null==(R=ag.routes[ai])?void 0:R.prefetchDataRoute,aL=aF&&az&&!ay&&!aK;V&&(aL=aL&&!!aJ);let aM=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),aN=(!aw||!aF)&&(!av||(0,q.shouldServeStreamingMetadata)(av,al.htmlLimitedBots)),aO=!!((at||au||ag.routes[aq])&&!(aw&&aF)),aP=aF&&!0===al.cacheComponents,aQ=!0===P.isDev||!aO||"string"==typeof aJ||(aP&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aL&&!V:aL),aR=!!aw&&aF,aS=(null==at?void 0:at.remainingPrerenderableParams)??[],aT=(null==at?void 0:at.fallback)===null&&((null==(S=at.fallbackRootParams)?void 0:S.length)??0)>0,aU=null;if(!ah&&aO&&!aQ&&!aA&&!aJ&&!aL){let a=as?"string"==typeof(null==at?void 0:at.fallback)?at.fallback:as.source:null;if(!0===al.experimental.partialFallbacks&&a&&(null==at?void 0:at.fallbackRouteParams)&&!aT){if(aS.length>0){let b,c=(b=new Map(aS.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,L.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==$?void 0:$[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace((0,o.buildDynamicSegmentPlaceholder)(d),f)}).join("/")||"/");aU=c!==a?c:null}}else aU=ai}let aV=aU;!aV&&(P.isDev||aO&&_&&(null==at?void 0:at.fallbackRouteParams)&&!aA)&&(aV=ai),P.isDev||ah||!aO||!az||aL||(0,k.d)(a.headers);let aW={...G,tree:N,handler:Q,routeModule:P,__next_app__:O};ad&&ae&&(0,p.setManifestsSingleton)({page:W,clientReferenceManifest:ae,serverActionsManifest:ad});let aX=a.method||"GET",aY=(0,g.getTracer)(),aZ=aY.getActiveScopeSpan(),a$=!!(null==ak?void 0:ak.isWrappedByNextServer),a_=!0===al.experimental.partialFallbacks&&aS.length>0?(null==at||null==(T=at.fallbackRouteParams)?void 0:T.filter(a=>!aS.some(b=>b.paramName===a.paramName)))??[]:[],a0=async()=>((null==ak?void 0:ak.render404)?await ak.render404(a,b,am,!1):b.end("This page could not be found"),null);try{let k,m=P.getVaryHeader(ai,an);b.setHeader("Vary",m);let n=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return P.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aY.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aX} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a),k&&k!==c&&(k.setAttribute("http.route",d),k.updateName(a))}else c.updateName(`${aX} ${W}`)})},p=(0,h.getRequestMeta)(a,"incrementalCache")||await P.getIncrementalCache(a,al,ag,V);null==p||p.resetRequestCache(),globalThis.__incrementalCache=p;let q=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let k={query:Z,params:$,page:aq,sharedContext:{buildId:Y,deploymentId:ao,clientAssetToken:ap},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aW,Component:(0,j.T)(aW),params:$,routeModule:P,page:W,postponed:f,shouldWaitOnAllReady:aR,serveStreamingMetadata:aN,supportsDynamicResponse:"string"==typeof f||aQ,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,subresourceIntegrityManifest:af,setCacheStatus:null==ak?void 0:ak.setCacheStatus,setIsrStatus:null==ak?void 0:ak.setIsrStatus,setReactDebugChannel:null==ak?void 0:ak.setReactDebugChannel,sendErrorsToBrowser:null==ak?void 0:ak.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),P.relativeProjectDir),isDraftMode:ah,botType:aw,isOnDemandRevalidate:ar,isPossibleServerAction:aA,assetPrefix:al.assetPrefix,nextConfigOutput:al.output,crossOrigin:al.crossOrigin,trailingSlash:al.trailingSlash,images:al.images,previewProps:ag.preview,enableTainting:al.experimental.taint,htmlLimitedBots:al.htmlLimitedBots,reactMaxHeadersLength:al.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:p,cacheLifeProfiles:al.cacheLife,basePath:al.basePath,serverActions:al.experimental.serverActions,logServerFunctions:"object"==typeof al.logging&&!!al.logging.serverFunctions,...aG||aH||aI?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aH}:{},cacheComponents:!!al.cacheComponents,experimental:{isRoutePPREnabled:aF,expireTime:al.expireTime,staleTimes:al.experimental.staleTimes,dynamicOnHover:!!al.experimental.dynamicOnHover,optimisticRouting:!!al.experimental.optimisticRouting,inlineCss:!!al.experimental.inlineCss,prefetchInlining:al.experimental.prefetchInlining??!1,authInterrupts:!!al.experimental.authInterrupts,cachedNavigations:!!al.experimental.cachedNavigations,clientTraceMetadata:al.experimental.clientTraceMetadata||[],clientParamParsingOrigins:al.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,D.parseMaxPostponedStateSize)(al.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>P.onRequestError(a,b,d,e,ak),err:(0,h.getRequestMeta)(a,"invokeError")}};i&&(k.renderOpts.supportsDynamicResponse=!1);let l=await n(e,k),{metadata:m}=l,{cacheControl:o,headers:q={},fetchTags:r,fetchMetrics:s}=m;if(r&&(q[y.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,aO&&(null==o?void 0:o.revalidate)===0&&!P.isDev&&!aF){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ai}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
2
|
-
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:q,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:o}},r=async({hasResolved:c,previousCacheEntry:g,isRevalidating:i,span:j,forceStaticRender:k=!1})=>{let l=!1===P.isDev,m=c||b.writableEnded;try{var n;let f;if(ar&&aj&&!g&&!V)return(null==ak?void 0:ak.render404)?await ak.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(at&&(f=(0,w.parseFallbackField)(at.fallback)),!0===al.experimental.partialFallbacks&&(null==at?void 0:at.fallback)===null&&!aT&&aS.length>0&&(f=w.FallbackMode.PRERENDER),f===w.FallbackMode.PRERENDER&&(0,u.isBot)(av)&&(!aF||ax)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==g?void 0:g.isStale)===-1&&(ar=!0),ar&&(f!==w.FallbackMode.NOT_FOUND||g)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),!V&&f!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aV&&!m&&!ah&&_&&(l||!au)){if((l||at)&&f===w.FallbackMode.NOT_FOUND){if(al.adapterPath)return await a0();throw new C.NoFallbackError}if(aF&&(al.cacheComponents?!aL:!az)){let b=l&&"string"==typeof(null==at?void 0:at.fallback)?at.fallback:aq,f=(l||aG)&&(null==at?void 0:at.fallbackRouteParams)?(0,o.createOpaqueFallbackRouteParams)(at.fallbackRouteParams):aI?(0,o.getFallbackRouteParams)(aq,P):null;aG&&f&&(0,h.addRequestMeta)(a,"fallbackParams",f);let g=await P.handleResponse({cacheKey:b,req:a,nextConfig:al,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ag,isRoutePPREnabled:aF,responseGenerator:async()=>q({span:j,postponed:void 0,fallbackRouteParams:f,forceStaticRender:!0}),waitUntil:d.waitUntil,isMinimalMode:V});if(null===g)return null;if(g)return V||!aF||!(aS.length>0)||!0!==al.experimental.partialFallbacks||!aU||!p||ar||aI||aD||aE||ay||(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(aU,p,aF,!1,a=>q({span:a.span,postponed:void 0,fallbackRouteParams:a_.length>0?(0,o.createOpaqueFallbackRouteParams)(a_):null,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete g.cacheControl,g}}let s=ar||i||!aJ?void 0:aJ;if(aP&&!V&&p&&(aL||aA)&&!k){let b=await p.get(ai,{kind:v.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===v.CachedRouteKind.APP_PAGE&&(s=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(ai,p,aF,!1,a=>r({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aG||aH)&&void 0!==s)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let t=!P.isDev&&_&&(null==at?void 0:at.fallbackRouteParams)?(0,o.getPlaceholderFallbackRouteParams)($,at.fallbackRouteParams):null,y=t&&t.length>0?t:null==at?void 0:at.fallbackRouteParams,z=null!=t&&t.length>0,A=null;if(al.cacheComponents&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,h.getRequestMeta)(a,"resolvedRouteParamKeys");b&&b.size>0&&(A=at.fallbackRouteParams.filter(a=>!b.has(a.paramName)))}let B=(l&&(0,h.getRequestMeta)(a,"renderFallbackShell")||z||aG&&!au)&&y?(0,o.createOpaqueFallbackRouteParams)(y):A&&A.length>0&&A.length<((null==at||null==(n=at.fallbackRouteParams)?void 0:n.length)??0)?(0,o.createOpaqueFallbackRouteParams)(A):aI?(0,o.getFallbackRouteParams)(aq,P):null;if((l||aG)&&al.cacheComponents&&!au&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,o.createOpaqueFallbackRouteParams)(y??at.fallbackRouteParams);b&&(0,h.addRequestMeta)(a,"fallbackParams",b)}return q({span:j,postponed:s,fallbackRouteParams:B,forceStaticRender:k})}catch(b){throw(null==g?void 0:g.isStale)&&await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}},s=async c=>{var f,g,i,j,k,l;let m,n=await P.handleResponse({cacheKey:aU,responseGenerator:a=>r({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ar,isRoutePPREnabled:aF,req:a,nextConfig:al,prerenderManifest:ag,waitUntil:d.waitUntil,isMinimalMode:V});if(ah&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),P.isDev&&b.setHeader("Cache-Control","no-cache, must-revalidate"),!n){if(aU)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof n.value.postponed;az&&!aA&&ao&&b.setHeader(y.NEXT_NAV_DEPLOYMENT_ID_HEADER,ao),aO&&!aL&&(!o||ay)&&(V||b.setHeader("x-nextjs-cache",ar?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=n;if(aJ)m={revalidate:0,expire:void 0};else if(aL)m={revalidate:0,expire:void 0};else if(!P.isDev)if(ah)m={revalidate:0,expire:void 0};else if(aO){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});m={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??al.expireTime}}else m={revalidate:y.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else b.getHeader("Cache-Control")||(m={revalidate:0,expire:void 0});if(n.cacheControl=m,"string"==typeof aM&&(null==p?void 0:p.kind)===v.CachedRouteKind.APP_PAGE&&p.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=p.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];V&&aO&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=p.segmentData.get(aM);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let s=aP?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(s){let b=(0,h.getRequestMeta)(a,"initURL")??a.url,c=b?(null==(l=(0,F.parseUrl)(b))?void 0:l.pathname)??b:void 0;if(await s(n,{url:c}))return null}if(p.headers){let a={...p.headers};for(let[c,d]of(V&&aO||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let u=null==(g=p.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(V&&aO&&u&&"string"==typeof u&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,u),!p.status||az&&aF||(b.statusCode=p.status),!V&&p.status&&H.RedirectStatusCode[p.status]&&az&&(b.statusCode=200),o&&!aL&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),az&&!ah){if(void 0===p.rscData){if(p.html.contentType!==t.RSC_CONTENT_TYPE_HEADER)if(al.cacheComponents)return b.statusCode=404,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl});else throw Object.defineProperty(new I.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:p.html,cacheControl:n.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(p.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let w=p.html;if(aE&&aG){let c=!0===P.isDev?crypto.randomUUID():null;return w.pipeThrough(await (0,A.createInstantTestScriptInsertionTransformStream)(c)),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})}if(!o||V||az)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:n.cacheControl});if(aG||aH)return w.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}});let C=new TransformStream;return w.push(C.readable),q({span:c,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(C.writable)}).catch(a=>{C.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})};if(!a$||!aZ)return k=aY.getActiveScopeSpan(),await aY.withPropagatedContext(a.headers,()=>aY.trace(i.BaseServerSpan.handleRequest,{spanName:`${aX} ${W}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aX,"http.target":a.url}},s),void 0,!a$);await s(aZ)}catch(b){throw b instanceof C.NoFallbackError||await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}}},59624:(a,b,c)=>{"use strict";c.d(b,{SettingsForm:()=>L});var d=c(27905),e=c(46248),f=c(71859);let g=(0,f.A)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),h=(0,f.A)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);var i=c(24641);let j=(0,f.A)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]),k=(0,f.A)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]),l=(0,f.A)("plug-zap",[["path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z",key:"goz73y"}],["path",{d:"m2 22 3-3",key:"19mgm9"}],["path",{d:"M7.5 13.5 10 11",key:"7xgeeb"}],["path",{d:"M10.5 16.5 13 14",key:"10btkg"}],["path",{d:"m18 3-4 4h6l-4 4",key:"16psg9"}]]);var m=c(49616);let n=(0,f.A)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);var o=c(92694),p=c(21747),q=c(35924),r=c(12517),s=c(22842),t=c(9339),u=c(32029),v=c(20443),w=c(39906),x=c(37913),y=c(77585),z=c(64261),A=c(54110),B=c(83557),C=c(46553);let D=["needs_human","job_failed","pr_opened","pr_merged","release_published","cost_limit","claude_limit","codex_limit","openrouter_limit","auth_expired","automation_paused"],E={needs_human:"Job needs human",job_failed:"Job aborted or failed",pr_opened:"Pull request opened",pr_merged:"Pull request merged",release_published:"Release published",cost_limit:"Daily cost limit reached",claude_limit:"Claude usage limit reached or cleared",codex_limit:"Codex usage limit reached or cleared",openrouter_limit:"OpenRouter limit reached or cleared",auth_expired:"Credentials expired or restored",automation_paused:"Automation paused or draining"};var F=c(23581);let G=(0,F.createServerReference)("400cb75b50864ab4e5773316481a0f4d0300adb012",F.callServer,void 0,F.findSourceMapURL,"testOpenRouterConnectionAction"),H=(0,F.createServerReference)("40bb83dbce8c0dd698e1c9f3ff88d8a372d3372cff",F.callServer,void 0,F.findSourceMapURL,"refreshOpenRouterCatalogAction");var I=c(72914);let J=(0,F.createServerReference)("40a385ca6c1b8479def93fa7e48a72fcfaf4c58010",F.callServer,void 0,F.findSourceMapURL,"saveSettingsAction"),K=(0,F.createServerReference)("00f17bccf1224c648f7e7a74f84441484b3c19a422",F.callServer,void 0,F.findSourceMapURL,"sendTestNotificationAction");function L({initial:a,openrouter:b}){let[c,f]=(0,q.useState)(a),[F,M]=(0,q.useTransition)(),[N,O]=(0,q.useTransition)(),[P,Q]=(0,q.useTransition)(),[R,S]=(0,q.useTransition)(),T=(0,p.useRouter)(),{success:U,error:V,info:W}=(0,C.d)(),X=(a,b)=>{f(c=>({...c,[a]:b}))};return(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[c.paused&&(0,d.jsx)(t.F,{tone:"warning",icon:e.A,title:"Global kill-switch is on",children:"All automation is suspended across every repository. Manual runs still work."}),(0,d.jsxs)(v.Zp,{pad:"lg",children:[(0,d.jsxs)("div",{className:"mb-4 flex items-center gap-3",children:[(0,d.jsx)("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary",children:(0,d.jsx)(g,{className:"h-4 w-4"})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-base font-semibold",children:"Automation & limits"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"One switch to halt everything, plus how aggressively the dock works."})]})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-4 rounded-lg border border-border p-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Global kill-switch"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Immediately pause all triage, processing, healing and releases."})]}),(0,d.jsx)(B.d,{checked:c.paused,disabled:P,onChange:a=>{X("paused",a),Q(async()=>{try{await (0,I.$)(a),W(a?"Automation suspended":"Automation resumed")}catch(b){X("paused",!a),V("Failed to toggle automation",b instanceof Error?b.message:String(b))}})},"aria-label":"Global kill-switch"})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between gap-4 rounded-lg border border-border p-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Release management"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Let the dock tag and publish releases automatically."})]}),(0,d.jsx)(B.d,{checked:c.releaseManagementEnabled,onChange:a=>X("releaseManagementEnabled",a),"aria-label":"Release management"})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between gap-4 rounded-lg border border-border p-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Auto-wait on Claude usage limits"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Park jobs when the Claude quota is exhausted and resume them automatically once it resets, instead of paging you."})]}),(0,d.jsx)(B.d,{checked:c.claudeLimitAutoWait,onChange:a=>X("claudeLimitAutoWait",a),"aria-label":"Auto-wait on Claude usage limits"})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between gap-4 rounded-lg border border-border p-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Auto-wait on Codex usage limits"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Park jobs when the Codex quota or rate limit is exhausted and resume them automatically once capacity returns, instead of paging you."})]}),(0,d.jsx)(B.d,{checked:c.codexLimitAutoWait,onChange:a=>X("codexLimitAutoWait",a),"aria-label":"Auto-wait on Codex usage limits"})]}),(0,d.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:[(0,d.jsx)(x.D,{label:"Poll interval (s)",hint:"How often to check for new issues.",children:(0,d.jsx)(y.p,{type:"number",value:c.pollIntervalSec,onChange:a=>X("pollIntervalSec",Number(a.target.value))})}),(0,d.jsx)(x.D,{label:"Concurrent jobs",hint:"Max runs in flight at once.",children:(0,d.jsx)(y.p,{type:"number",value:c.maxParallelJobs,onChange:a=>X("maxParallelJobs",Number(a.target.value))})}),(0,d.jsx)(x.D,{label:"Daily cost limit (USD)",hint:"Stops new runs once reached today.",children:(0,d.jsx)(y.p,{type:"number",step:"0.5",value:c.dailyCostLimitUsd,onChange:a=>X("dailyCostLimitUsd",Number(a.target.value))})}),(0,d.jsx)(x.D,{label:"Max turns",hint:"Hard cap on agent turns per job.",children:(0,d.jsx)(y.p,{type:"number",value:c.maxTurns,onChange:a=>X("maxTurns",Number(a.target.value))})}),(0,d.jsx)(x.D,{label:"Max job minutes",hint:"Abort a run after this wall-clock time.",children:(0,d.jsx)(y.p,{type:"number",value:c.maxJobMinutes,onChange:a=>X("maxJobMinutes",Number(a.target.value))})}),(0,d.jsx)(x.D,{label:"Max CI wait (min)",hint:"How long to wait for CI before giving up.",children:(0,d.jsx)(y.p,{type:"number",value:c.maxCiWaitMinutes,onChange:a=>X("maxCiWaitMinutes",Number(a.target.value))})}),(0,d.jsx)(x.D,{label:"Max job cost (USD)",hint:"0 disables the per-job cost cap.",children:(0,d.jsx)(y.p,{type:"number",min:"0",step:"0.01",value:c.maxJobCostUsd,onChange:a=>X("maxJobCostUsd",Number(a.target.value))})}),(0,d.jsx)(x.D,{label:"Default agent",hint:"Used when a repo has none set.",children:(0,d.jsx)(r.a,{value:c.defaultAgent,onChange:a=>{"openrouter"!==a&&X("defaultAgent",a)}})}),(0,d.jsx)(x.D,{label:"Default model",hint:"Used when a repo has none set.",children:(0,d.jsx)(s.o,{value:c.defaultModel,onChange:a=>X("defaultModel",a),agent:c.defaultAgent})})]})]})]}),(0,d.jsxs)(v.Zp,{pad:"lg",children:[(0,d.jsxs)("div",{className:"mb-4 flex items-center gap-3",children:[(0,d.jsx)("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-secondary text-muted-foreground",children:(0,d.jsx)(h,{className:"h-4 w-4"})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-base font-semibold",children:"Execution paths"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Where to find the CLIs the dock shells out to."})]})]}),(0,d.jsxs)("div",{className:"grid gap-4 sm:grid-cols-3",children:[(0,d.jsx)(x.D,{label:"claude CLI path",children:(0,d.jsx)(y.p,{value:c.claudePath,onChange:a=>X("claudePath",a.target.value),spellCheck:!1})}),(0,d.jsx)(x.D,{label:"codex CLI path",children:(0,d.jsx)(y.p,{value:c.codexPath,onChange:a=>X("codexPath",a.target.value),spellCheck:!1})}),(0,d.jsx)(x.D,{label:"gh CLI path",children:(0,d.jsx)(y.p,{value:c.ghPath,onChange:a=>X("ghPath",a.target.value),spellCheck:!1})})]})]}),(0,d.jsxs)(v.Zp,{pad:"lg",children:[(0,d.jsxs)("div",{className:"mb-4 flex items-center gap-3",children:[(0,d.jsx)("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary",children:(0,d.jsx)(i.A,{className:"h-4 w-4"})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-base font-semibold",children:"Sandboxed execution"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Defaults for repos that run the agent inside a container. Enable it per repo from the repo's automation panel."})]})]}),(0,d.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,d.jsx)(x.D,{label:"Default container image",hint:"Used when a sandboxed repo names no image and has no devcontainer.json. Must carry the agent CLI plus the repo's toolchain.",children:(0,d.jsx)(y.p,{value:c.sandboxDefaultImage,onChange:a=>X("sandboxDefaultImage",a.target.value),spellCheck:!1,className:"font-mono text-sm"})}),(0,d.jsx)(x.D,{label:"Container runtime",hint:"“Auto” probes docker, then podman.",children:(0,d.jsxs)(z.l,{value:c.containerRuntime,onChange:a=>X("containerRuntime",a.target.value),children:[(0,d.jsx)("option",{value:"auto",children:"Auto-detect (docker → podman)"}),(0,d.jsx)("option",{value:"docker",children:"Docker"}),(0,d.jsx)("option",{value:"podman",children:"Podman"})]})})]})]}),(0,d.jsxs)(v.Zp,{pad:"lg",children:[(0,d.jsxs)("div",{className:"mb-4 flex items-center gap-3",children:[(0,d.jsx)("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary",children:(0,d.jsx)(j,{className:"h-4 w-4"})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-base font-semibold",children:"Notification channels"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Configure one or more channels, then send yourself a test."})]})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,d.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,d.jsx)(x.D,{label:"Telegram bot token",hint:"Leave empty to disable Telegram.",children:(0,d.jsx)(y.p,{value:c.telegramBotToken,onChange:a=>X("telegramBotToken",a.target.value),autoComplete:"off",spellCheck:!1})}),(0,d.jsx)(x.D,{label:"Telegram chat ID",children:(0,d.jsx)(y.p,{value:c.telegramChatId,onChange:a=>X("telegramChatId",a.target.value),spellCheck:!1})})]}),(0,d.jsx)("div",{className:"grid gap-4",children:(0,d.jsx)(x.D,{label:"Slack incoming webhook URL",hint:"Leave empty to disable Slack.",children:(0,d.jsx)(y.p,{value:c.slackWebhookUrl,onChange:a=>X("slackWebhookUrl",a.target.value),spellCheck:!1})})}),(0,d.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,d.jsx)(x.D,{label:"SMTP host",hint:"Leave empty to disable email.",children:(0,d.jsx)(y.p,{value:c.smtpHost,onChange:a=>X("smtpHost",a.target.value)})}),(0,d.jsx)(x.D,{label:"SMTP port",children:(0,d.jsx)(y.p,{type:"number",value:c.smtpPort,onChange:a=>X("smtpPort",Number(a.target.value))})}),(0,d.jsx)(x.D,{label:"SMTP username",children:(0,d.jsx)(y.p,{value:c.smtpUser,onChange:a=>X("smtpUser",a.target.value),autoComplete:"off"})}),(0,d.jsx)(x.D,{label:"SMTP password",children:(0,d.jsx)(y.p,{type:"password",value:c.smtpPass,onChange:a=>X("smtpPass",a.target.value),autoComplete:"new-password"})}),(0,d.jsx)(x.D,{label:"From address",children:(0,d.jsx)(y.p,{type:"email",value:c.emailFrom,onChange:a=>X("emailFrom",a.target.value),placeholder:"drydock@example.com"})}),(0,d.jsx)(x.D,{label:"To address",children:(0,d.jsx)(y.p,{type:"email",value:c.emailTo,onChange:a=>X("emailTo",a.target.value),placeholder:"you@example.com"})})]}),(0,d.jsx)(x.D,{label:"Notify me about",children:(0,d.jsx)("div",{className:"grid gap-2.5 sm:grid-cols-2",children:D.map(a=>(0,d.jsxs)("label",{htmlFor:`notify-${a}`,className:"flex cursor-pointer items-center gap-2.5 text-sm text-foreground",children:[(0,d.jsx)(w.S,{id:`notify-${a}`,checked:c.notifyEvents.includes(a),onChange:b=>X("notifyEvents",b?[...c.notifyEvents,a]:c.notifyEvents.filter(b=>b!==a)),"aria-label":E[a]}),E[a]]},a))})})]})]}),(0,d.jsxs)(v.Zp,{pad:"lg",children:[(0,d.jsxs)("div",{className:"mb-4 flex items-center gap-3",children:[(0,d.jsx)("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary",children:(0,d.jsx)(k,{className:"h-4 w-4"})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-base font-semibold",children:"OpenRouter"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Optional API backend with an auto-syncing model catalog, including free models."})]})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-4 rounded-lg border border-border p-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Enable OpenRouter"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Adds OpenRouter-hosted models as a selectable agent per repository. Repository code is sent to OpenRouter and its upstream model providers."})]}),(0,d.jsx)(B.d,{checked:c.openrouterEnabled,onChange:a=>X("openrouterEnabled",a),"aria-label":"Enable OpenRouter"})]}),(0,d.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,d.jsx)(x.D,{label:"API key",hint:"Stored locally; DRYDOCK_OPENROUTER_API_KEY overrides it. Never logged.",children:(0,d.jsx)(y.p,{type:"password",autoComplete:"off",placeholder:"sk-or-v1-…",value:c.openrouterApiKey,onChange:a=>X("openrouterApiKey",a.target.value)})}),(0,d.jsx)(x.D,{label:"Catalog refresh (hours)",hint:"Minimum 0.25 (15 minutes).",children:(0,d.jsx)(y.p,{type:"number",min:"0.25",step:"0.25",value:c.openrouterCatalogRefreshHours,onChange:a=>{let b=Number(a.target.value);Number.isFinite(b)&&!(b<.25)&&X("openrouterCatalogRefreshHours",b)}})}),(0,d.jsx)(x.D,{label:"Default model",hint:"Used when a repo or job has none set.",children:(0,d.jsx)(s.o,{agent:"openrouter",openrouterModels:b.models,value:c.openrouterDefaultModel,onChange:a=>X("openrouterDefaultModel",a)})}),(0,d.jsx)(x.D,{label:"App attribution",hint:"Optional HTTP-Referer / X-Title headers.",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(y.p,{placeholder:"https://your-site.example",value:c.openrouterSiteUrl,onChange:a=>X("openrouterSiteUrl",a.target.value)}),(0,d.jsx)(y.p,{placeholder:"App name",value:c.openrouterAppName,onChange:a=>X("openrouterAppName",a.target.value)})]})})]}),(0,d.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-4 rounded-lg border border-border p-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Free models only"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Restrict every OpenRouter run to zero-cost catalog models."})]}),(0,d.jsx)(B.d,{checked:c.openrouterFreeModelsOnly,onChange:a=>X("openrouterFreeModelsOnly",a),"aria-label":"Free models only"})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between gap-4 rounded-lg border border-border p-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Auto-wait on limits"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Park jobs on OpenRouter 429s and resume them once the window resets."})]}),(0,d.jsx)(B.d,{checked:c.openrouterLimitAutoWait,onChange:a=>X("openrouterLimitAutoWait",a),"aria-label":"Auto-wait on OpenRouter limits"})]})]}),c.openrouterEnabled&&b.stale&&(0,d.jsx)(t.F,{tone:"warning",icon:e.A,title:"Model catalog is stale",children:b.lastError?`The last sync failed: ${b.lastError}. Pickers keep using the last-good snapshot.`:"The catalog has not synced recently. Pickers keep using the last-good snapshot."}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:b.modelCount>0?`${b.modelCount} models synced${b.lastSuccessAt?` \xb7 last sync ${new Date(1e3*b.lastSuccessAt).toLocaleString()}`:""}`:"No models synced yet."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsxs)(u.$,{variant:"outline",onClick:()=>S(async()=>{try{await J(c);let a=await G();a.ok?U("OpenRouter connection OK"):V("OpenRouter connection failed",a.error)}catch(a){V("OpenRouter connection failed",a instanceof Error?a.message:String(a))}}),disabled:R,children:[R?(0,d.jsx)(A.y,{size:16}):(0,d.jsx)(l,{className:"h-4 w-4"}),"Test connection"]}),(0,d.jsxs)(u.$,{variant:"outline",onClick:()=>S(async()=>{try{await J(c);let a=await H();a.ok?(U(`Catalog refreshed — ${a.modelCount} models synced`),T.refresh()):V("Catalog refresh failed",a.error)}catch(a){V("Catalog refresh failed",a instanceof Error?a.message:String(a))}}),disabled:R,children:[R?(0,d.jsx)(A.y,{size:16}):(0,d.jsx)(m.A,{className:"h-4 w-4"}),"Refresh models"]})]})]})]})]}),(0,d.jsxs)(v.Zp,{pad:"lg",children:[(0,d.jsxs)("div",{className:"mb-4 flex items-center gap-3",children:[(0,d.jsx)("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-secondary text-muted-foreground",children:(0,d.jsx)(n,{className:"h-4 w-4"})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-base font-semibold",children:"Retention"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"How long to keep job logs before they are pruned."})]})]}),(0,d.jsx)("div",{className:"grid gap-4 sm:grid-cols-3",children:(0,d.jsx)(x.D,{label:"Log retention (days)",hint:"Older job logs are deleted automatically.",children:(0,d.jsx)(y.p,{type:"number",value:c.retentionDays,onChange:a=>X("retentionDays",Number(a.target.value))})})})]}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,d.jsxs)(u.$,{variant:"outline",onClick:()=>O(async()=>{try{await J(c);let a=await K();if(0===a.length)return void V("No channels configured","Save a channel before sending a test.");let b=a.filter(a=>!a.ok);0===b.length?U(`Test sent to ${a.map(a=>a.channel).join(", ")}`):V("Some channels failed",b.map(a=>`${a.channel}: ${a.error??"unknown error"}`).join("; "))}catch(a){V("Failed to send test",a instanceof Error?a.message:String(a))}}),disabled:N,children:[N?(0,d.jsx)(A.y,{size:16}):(0,d.jsx)(o.A,{className:"h-4 w-4"}),N?"Sending…":"Send test notification"]}),(0,d.jsxs)(u.$,{onClick:()=>M(async()=>{try{await J(c),U("Settings saved")}catch(a){V("Failed to save settings",a instanceof Error?a.message:String(a))}}),disabled:F,children:[F&&(0,d.jsx)(A.y,{size:16}),F?"Saving…":"Save changes"]})]})]})}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},73024:a=>{"use strict";a.exports=require("node:fs")},74075:a=>{"use strict";a.exports=require("zlib")},74340:(a,b,c)=>{"use strict";c.d(b,{Hi:()=>t,Mf:()=>v,PI:()=>n,TR:()=>w,Y8:()=>s,fj:()=>r,hz:()=>u,yd:()=>q});var d=c(97496),e=c(29980),f=c(2025),g=c(64537);let h="openrouter_catalog_meta",i=e.Ik({lastSyncAt:e.ai().nullable().default(null),lastSuccessAt:e.ai().nullable().default(null),lastError:e.Yj().nullable().default(null),modelCount:e.ai().int().nonnegative().default(0),consecutiveFailures:e.ai().int().nonnegative().default(0)}),j={lastSyncAt:null,lastSuccessAt:null,lastError:null,modelCount:0,consecutiveFailures:0},k=e.Ik({id:e.Yj().min(1),name:e.Yj().optional(),description:e.Yj().nullish(),context_length:e.ai().nullish(),pricing:e.Ik({prompt:e.KC([e.Yj(),e.ai()]).optional(),completion:e.KC([e.Yj(),e.ai()]).optional()}).passthrough().nullish(),supported_parameters:e.YO(e.Yj()).nullish(),expiration_date:e.KC([e.Yj(),e.ai()]).nullish()}),l=e.Ik({data:e.YO(e.L5())});function m(a){if(void 0===a)return 0;let b="number"==typeof a?a:Number.parseFloat(a);return Number.isFinite(b)&&b>=0?b:0}function n(a=(0,f.Lf)()){let b=a.select().from(g.settings).where((0,d.eq)(g.settings.key,h)).get();if(!b)return{...j};try{return i.parse(JSON.parse(b.value))}catch{return{...j}}}function o(a,b){let c=JSON.stringify(a);b.select().from(g.settings).where((0,d.eq)(g.settings.key,h)).get()?b.update(g.settings).set({value:c}).where((0,d.eq)(g.settings.key,h)).run():b.insert(g.settings).values({key:h,value:c}).run()}let p=()=>Math.floor(Date.now()/1e3);async function q(a){let b,c=a.db??(0,f.Lf)(),e=a.fetchImpl??fetch,h=a.now??p(),i=n(c);i.lastSyncAt=h;try{let c={};a.apiKey&&(c.Authorization=`Bearer ${a.apiKey}`);let d=await e("https://openrouter.ai/api/v1/models",{headers:c});if(!d.ok)throw Error(`OpenRouter models API returned HTTP ${d.status}`);b=function(a){let{data:b}=l.parse(a),c=[];for(let a of b){let b=k.safeParse(a);if(!b.success)continue;let d=b.data,e=m(d.pricing?.prompt),f=m(d.pricing?.completion),g=d.supported_parameters??[];c.push({id:d.id,name:d.name??d.id,description:d.description??"",contextLength:d.context_length??0,promptCostPerToken:e,completionCostPerToken:f,supportedParameters:g,expirationDate:function(a){if(null==a)return null;if("number"==typeof a)return Number.isFinite(a)?Math.floor(a):null;let b=Date.parse(a);return Number.isNaN(b)?null:Math.floor(b/1e3)}(d.expiration_date),isFree:d.id.endsWith(":free")||0===e&&0===f,supportsTools:g.includes("tools")})}return c}(await d.json())}catch(a){return i.lastError=a instanceof Error?a.message:String(a),i.consecutiveFailures+=1,o(i,c),{ok:!1,error:i.lastError}}let j=new Set(b.map(a=>a.id));return c.transaction(a=>{for(let c of b){let b={id:c.id,name:c.name,description:c.description,contextLength:c.contextLength,promptCostPerToken:c.promptCostPerToken,completionCostPerToken:c.completionCostPerToken,supportedParameters:JSON.stringify(c.supportedParameters),expirationDate:c.expirationDate,isFree:c.isFree,supportsTools:c.supportsTools,removedAt:null,syncedAt:h};a.insert(g.openrouterModels).values(b).onConflictDoUpdate({target:g.openrouterModels.id,set:b}).run()}for(let b of a.select({id:g.openrouterModels.id}).from(g.openrouterModels).all())j.has(b.id)||a.update(g.openrouterModels).set({removedAt:h}).where((0,d.eq)(g.openrouterModels.id,b.id)).run()}),i.lastSuccessAt=h,i.lastError=null,i.modelCount=b.length,i.consecutiveFailures=0,o(i,c),{ok:!0,modelCount:b.length}}function r(a,b=p()){return null===a.removedAt&&(null===a.expirationDate||!(a.expirationDate<=b))}function s(a){let b=a.db??(0,f.Lf)(),c=a.now??p(),d=b.select().from(g.openrouterModels).all();return a.includeUnavailable||(d=d.filter(a=>r(a,c))),a.freeOnly&&(d=d.filter(a=>a.isFree)),a.requireTools&&(d=d.filter(a=>a.supportsTools)),d.sort((a,b)=>a.name.localeCompare(b.name))}function t(a,b=(0,f.Lf)()){return b.select().from(g.openrouterModels).where((0,d.eq)(g.openrouterModels.id,a)).get()}function u(a,b,c,d=(0,f.Lf)()){let e=t(a,d);return e?b*e.promptCostPerToken+c*e.completionCostPerToken:0}function v(a){let b=a.db??(0,f.Lf)(),c=a.now??p(),d=n(b);if(null===d.lastSyncAt||0===d.modelCount&&0===d.consecutiveFailures)return!0;let e=d.consecutiveFailures>0?Math.min(300*2**(d.consecutiveFailures-1),3600):Math.floor(3600*a.refreshHours);return c-d.lastSyncAt>=e}function w(a){let b=a.db??(0,f.Lf)(),c=a.now??p(),d=n(b);return null===d.lastSuccessAt||c-d.lastSuccessAt>2*a.refreshHours*3600}},76760:a=>{"use strict";a.exports=require("node:path")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},77283:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={default:function(){return i},useLinkStatus:function(){return h.useLinkStatus}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(12248),g=c(87383),h=f._(c(45030));function i(a){let b=a.legacyBehavior,c="string"==typeof a.children||"number"==typeof a.children||"string"==typeof a.children?.type,d=a.children?.type?.$$typeof===Symbol.for("react.client.reference");return!b||c||d||(a.children?.type?.$$typeof===Symbol.for("react.lazy")?console.error("Using a Lazy Component as a direct child of `<Link legacyBehavior>` from a Server Component is not supported. If you need legacyBehavior, wrap your Lazy Component in a Client Component that renders the Link's `<a>` tag."):console.error("Using a Server Component as a direct child of `<Link legacyBehavior>` is not supported. If you need legacyBehavior, wrap your Server Component in a Client Component that renders the Link's `<a>` tag.")),(0,g.jsx)(h.default,{...a})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},77598:a=>{"use strict";a.exports=require("node:crypto")},79551:a=>{"use strict";a.exports=require("url")},79646:a=>{"use strict";a.exports=require("child_process")},79874:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(30285).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},81630:a=>{"use strict";a.exports=require("http")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},91645:a=>{"use strict";a.exports=require("net")},92694:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(71859).A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},94735:a=>{"use strict";a.exports=require("events")},99506:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(71859).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[699,980,661,374,606,521,304,947,382,786],()=>b(b.s=57656));module.exports=c})();
|
|
1
|
+
(()=>{var a={};a.id=662,a.ids=[662],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},772:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(34215).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/drydock/drydock/node_modules/.pnpm/lucide-react@1.18.0_react@19.2.7/node_modules/lucide-react/dist/esm/Icon.mjs\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/drydock/drydock/node_modules/.pnpm/lucide-react@1.18.0_react@19.2.7/node_modules/lucide-react/dist/esm/Icon.mjs","default")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},9097:(a,b,c)=>{Promise.resolve().then(c.bind(c,87586)),Promise.resolve().then(c.t.bind(c,9324,23)),Promise.resolve().then(c.bind(c,59303))},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12248:(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}function e(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}c.r(b),c.d(b,{_:()=>e})},14985:a=>{"use strict";a.exports=require("dns")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},17891:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/get-segment-param")},18825:(a,b,c)=>{Promise.resolve().then(c.bind(c,772)),Promise.resolve().then(c.t.bind(c,45030,23)),Promise.resolve().then(c.bind(c,20304))},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},20304:(a,b,c)=>{"use strict";c.d(b,{SettingsForm:()=>d});let d=(0,c(34215).registerClientReference)(function(){throw Error("Attempted to call SettingsForm() from the server but SettingsForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/drydock/drydock/src/components/settings-form.tsx","SettingsForm")},21820:a=>{"use strict";a.exports=require("os")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30285:(a,b,c)=>{"use strict";c.d(b,{A:()=>g});var d=c(8578);let e=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var f=c(772);let g=(a,b)=>{let c=(0,d.forwardRef)(({className:c,...g},h)=>(0,d.createElement)(f.default,{ref:h,iconNode:b,className:((...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim())(`lucide-${e(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,c),...g}));return c.displayName=e(a),c}},31421:a=>{"use strict";a.exports=require("node:child_process")},33873:a=>{"use strict";a.exports=require("path")},34631:a=>{"use strict";a.exports=require("tls")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},45030:(a,b,c)=>{let{createProxy:d}=c(81374);a.exports=d("/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/client/app-dir/link.js")},45744:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>k,dynamic:()=>j});var d=c(87383),e=c(46305),f=c(94895),g=c(20304),h=c(74340),i=c(74644);let j="force-dynamic";function k(){let a=(0,i.mt)(),b=(0,h.PI)(),c={models:(0,h.Y8)({}).map(a=>({id:a.id,label:a.name,isFree:a.isFree})),modelCount:b.modelCount,lastSuccessAt:b.lastSuccessAt,lastError:b.lastError,stale:(0,h.TR)({refreshHours:a.openrouterCatalogRefreshHours})};return(0,d.jsxs)("div",{className:"dd-fade-up mx-auto max-w-3xl",children:[(0,d.jsx)(f.z,{icon:e.A,title:"Settings",subtitle:"Global defaults for the dock. Per-repo automation lives on each workspace."}),(0,d.jsx)(g.SettingsForm,{initial:a,openrouter:c})]})}},48161:a=>{"use strict";a.exports=require("node:os")},49616:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(71859).A)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},50109:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(87383),e=c(27542);function f(){return(0,d.jsxs)("div",{className:"mx-auto max-w-3xl",children:[(0,d.jsx)(e.ym,{}),(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)(e.Qv,{lines:[80,65,50]}),(0,d.jsx)(e.Qv,{lines:[80,65]})]})]})}},51455:a=>{"use strict";a.exports=require("node:fs/promises")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57656:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>O,handler:()=>Q,routeModule:()=>P});var d=c(67153),e=c(36918),f=c(70662),g=c(87911),h=c(80125),i=c(76229),j=c(41644),k=c(80381),l=c(79821),m=c(57831),n=c(45413),o=c(93971),p=c(36443),q=c(86194),r=c(261),s=c(73430),t=c(25867),u=c(26713),v=c(3911),w=c(49620),x=c(40744),y=c(72329),z=c(1167),A=c(84325),B=c(10069),C=c(86439),D=c(77068),E=c(76821),F=c(41861),G=c(76631),H=c(98022),I=c(70722),J=c(59281),K=c(43954),L=c(17891),M={};for(let a in G)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(M[a]=()=>G[a]);c.d(b,M);let N={children:["",{children:["settings",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,45744)),"/home/runner/work/drydock/drydock/src/app/settings/page.tsx"]}]},{loading:[()=>Promise.resolve().then(c.bind(c,50109)),"/home/runner/work/drydock/drydock/src/app/settings/loading.tsx"],"global-error":[()=>Promise.resolve().then(c.bind(c,81811)),"/home/runner/work/drydock/drydock/src/app/global-error.tsx"]},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,66025)),"/home/runner/work/drydock/drydock/src/app/layout.tsx"],error:[()=>Promise.resolve().then(c.bind(c,43705)),"/home/runner/work/drydock/drydock/src/app/error.tsx"],loading:[()=>Promise.resolve().then(c.bind(c,51231)),"/home/runner/work/drydock/drydock/src/app/loading.tsx"],"global-error":[()=>Promise.resolve().then(c.bind(c,81811)),"/home/runner/work/drydock/drydock/src/app/global-error.tsx"],"not-found":[()=>Promise.resolve().then(c.bind(c,37803)),"/home/runner/work/drydock/drydock/src/app/not-found.tsx"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,80902,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,96305,23)),"next/dist/client/components/builtin/unauthorized.js"]},[]]}.children,O={require:c,loadChunk:()=>Promise.resolve()},P=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/settings/page",pathname:"/settings",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:N},distDir:".next",relativeProjectDir:""});async function Q(a,b,d){var M,R,S,T,U;d.requestMeta&&(0,h.setRequestMeta)(a,d.requestMeta),P.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let V=!!(0,h.getRequestMeta)(a,"minimalMode"),W="/settings/page";"/index"===W&&(W="/");let X=await P.prepare(a,b,{srcPage:W,multiZoneDraftMode:!1});if(!X)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Y,query:Z,params:$,pageIsDynamic:_,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,serverActionsManifest:ad,clientReferenceManifest:ae,subresourceIntegrityManifest:af,prerenderManifest:ag,isDraftMode:ah,resolvedPathname:ai,revalidateOnlyGenerated:aj,routerServerContext:ak,nextConfig:al,parsedUrl:am,interceptionRoutePatterns:an,deploymentId:ao,clientAssetToken:ap}=X,aq=(0,r.normalizeAppPath)(W),{isOnDemandRevalidate:ar}=X,as=al.experimental.ppr&&!al.cacheComponents&&(0,K.isInterceptionRouteAppPath)(ai)?null:P.match(ai,ag),at=(null==as?void 0:as.route)??null,au=!!ag.routes[ai],av=a.headers["user-agent"]||"",aw=(0,u.getBotType)(av),ax=(0,q.isHtmlBotRequest)(a),ay=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],az=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[t.RSC_HEADER]),aA=(0,s.getIsPossibleServerAction)(a),aB=(0,m.checkIsAppPPREnabled)(al.experimental.ppr),aC=a.headers[y.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,h.getRequestMeta)(a,"postponed")&&V&&aB&&aA&&aC&&"string"==typeof aC){let e=parseInt(aC,10),{maxPostponedStateSize:f,maxPostponedStateSizeBytes:g}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize);if(!isNaN(e)&&e>0){if(e>g)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(f)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let i="1 MB",j=(null==(U=al.experimental.serverActions)?void 0:U.bodySizeLimit)??i,k=e+(j!==i?c(46174).parse(j):1048576),l=await (0,E.readBodyWithSizeLimit)(a,k);if(null===l)return b.statusCode=413,b.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;if(l.length>=e){let b=l.subarray(0,e).toString("utf8");(0,h.addRequestMeta)(a,"postponed",b);let c=l.subarray(e);(0,h.addRequestMeta)(a,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${e} bytes of postponed state but only received ${l.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,h.getRequestMeta)(a,"postponed")&&aB&&"1"===a.headers[y.NEXT_RESUME_HEADER]&&"POST"===a.method){let{maxPostponedStateSize:c,maxPostponedStateSizeBytes:e}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize),f=await (0,E.readBodyWithSizeLimit)(a,e);if(null===f)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(c)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let g=f.toString("utf8");(0,h.addRequestMeta)(a,"postponed",g)}let aD=!0===P.isDev||!0===al.experimental.exposeTestingApiInProductionBuild,aE=aD&&("1"===a.headers[t.NEXT_INSTANT_PREFETCH_HEADER]||!(0,n.f)(a.headers[t.RSC_HEADER])&&"string"==typeof a.headers.cookie&&a.headers.cookie.includes(t.NEXT_INSTANT_TEST_COOKIE+"=")),aF=(aB||aE)&&((null==(M=ag.routes[aq]??ag.dynamicRoutes[aq])?void 0:M.renderingMode)==="PARTIALLY_STATIC"||aE&&(aD||(null==ak?void 0:ak.experimentalTestProxy)===!0)),aG=aE&&aF,aH=aG&&!0===P.isDev,aI=!1,aJ=aF?(0,h.getRequestMeta)(a,"postponed"):void 0,aK=null==(R=ag.routes[ai])?void 0:R.prefetchDataRoute,aL=aF&&az&&!ay&&!aK;V&&(aL=aL&&!!aJ);let aM=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),aN=(!aw||!aF)&&(!av||(0,q.shouldServeStreamingMetadata)(av,al.htmlLimitedBots)),aO=!!((at||au||ag.routes[aq])&&!(aw&&aF)),aP=aF&&!0===al.cacheComponents,aQ=!0===P.isDev||!aO||"string"==typeof aJ||(aP&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aL&&!V:aL),aR=!!aw&&aF,aS=(null==at?void 0:at.remainingPrerenderableParams)??[],aT=(null==at?void 0:at.fallback)===null&&((null==(S=at.fallbackRootParams)?void 0:S.length)??0)>0,aU=null;if(!ah&&aO&&!aQ&&!aA&&!aJ&&!aL){let a=as?"string"==typeof(null==at?void 0:at.fallback)?at.fallback:as.source:null;if(!0===al.experimental.partialFallbacks&&a&&(null==at?void 0:at.fallbackRouteParams)&&!aT){if(aS.length>0){let b,c=(b=new Map(aS.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,L.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==$?void 0:$[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace((0,o.buildDynamicSegmentPlaceholder)(d),f)}).join("/")||"/");aU=c!==a?c:null}}else aU=ai}let aV=aU;!aV&&(P.isDev||aO&&_&&(null==at?void 0:at.fallbackRouteParams)&&!aA)&&(aV=ai),P.isDev||ah||!aO||!az||aL||(0,k.d)(a.headers);let aW={...G,tree:N,handler:Q,routeModule:P,__next_app__:O};ad&&ae&&(0,p.setManifestsSingleton)({page:W,clientReferenceManifest:ae,serverActionsManifest:ad});let aX=a.method||"GET",aY=(0,g.getTracer)(),aZ=aY.getActiveScopeSpan(),a$=!!(null==ak?void 0:ak.isWrappedByNextServer),a_=!0===al.experimental.partialFallbacks&&aS.length>0?(null==at||null==(T=at.fallbackRouteParams)?void 0:T.filter(a=>!aS.some(b=>b.paramName===a.paramName)))??[]:[],a0=async()=>((null==ak?void 0:ak.render404)?await ak.render404(a,b,am,!1):b.end("This page could not be found"),null);try{let k,m=P.getVaryHeader(ai,an);b.setHeader("Vary",m);let n=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return P.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aY.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aX} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a),k&&k!==c&&(k.setAttribute("http.route",d),k.updateName(a))}else c.updateName(`${aX} ${W}`)})},p=(0,h.getRequestMeta)(a,"incrementalCache")||await P.getIncrementalCache(a,al,ag,V);null==p||p.resetRequestCache(),globalThis.__incrementalCache=p;let q=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let k={query:Z,params:$,page:aq,sharedContext:{buildId:Y,deploymentId:ao,clientAssetToken:ap},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aW,Component:(0,j.T)(aW),params:$,routeModule:P,page:W,postponed:f,shouldWaitOnAllReady:aR,serveStreamingMetadata:aN,supportsDynamicResponse:"string"==typeof f||aQ,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,subresourceIntegrityManifest:af,setCacheStatus:null==ak?void 0:ak.setCacheStatus,setIsrStatus:null==ak?void 0:ak.setIsrStatus,setReactDebugChannel:null==ak?void 0:ak.setReactDebugChannel,sendErrorsToBrowser:null==ak?void 0:ak.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),P.relativeProjectDir),isDraftMode:ah,botType:aw,isOnDemandRevalidate:ar,isPossibleServerAction:aA,assetPrefix:al.assetPrefix,nextConfigOutput:al.output,crossOrigin:al.crossOrigin,trailingSlash:al.trailingSlash,images:al.images,previewProps:ag.preview,enableTainting:al.experimental.taint,htmlLimitedBots:al.htmlLimitedBots,reactMaxHeadersLength:al.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:p,cacheLifeProfiles:al.cacheLife,basePath:al.basePath,serverActions:al.experimental.serverActions,logServerFunctions:"object"==typeof al.logging&&!!al.logging.serverFunctions,...aG||aH||aI?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aH}:{},cacheComponents:!!al.cacheComponents,experimental:{isRoutePPREnabled:aF,expireTime:al.expireTime,staleTimes:al.experimental.staleTimes,dynamicOnHover:!!al.experimental.dynamicOnHover,optimisticRouting:!!al.experimental.optimisticRouting,inlineCss:!!al.experimental.inlineCss,prefetchInlining:al.experimental.prefetchInlining??!1,authInterrupts:!!al.experimental.authInterrupts,cachedNavigations:!!al.experimental.cachedNavigations,clientTraceMetadata:al.experimental.clientTraceMetadata||[],clientParamParsingOrigins:al.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,D.parseMaxPostponedStateSize)(al.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>P.onRequestError(a,b,d,e,ak),err:(0,h.getRequestMeta)(a,"invokeError")}};i&&(k.renderOpts.supportsDynamicResponse=!1);let l=await n(e,k),{metadata:m}=l,{cacheControl:o,headers:q={},fetchTags:r,fetchMetrics:s}=m;if(r&&(q[y.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,aO&&(null==o?void 0:o.revalidate)===0&&!P.isDev&&!aF){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ai}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
2
|
+
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:q,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:o}},r=async({hasResolved:c,previousCacheEntry:g,isRevalidating:i,span:j,forceStaticRender:k=!1})=>{let l=!1===P.isDev,m=c||b.writableEnded;try{var n;let f;if(ar&&aj&&!g&&!V)return(null==ak?void 0:ak.render404)?await ak.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(at&&(f=(0,w.parseFallbackField)(at.fallback)),!0===al.experimental.partialFallbacks&&(null==at?void 0:at.fallback)===null&&!aT&&aS.length>0&&(f=w.FallbackMode.PRERENDER),f===w.FallbackMode.PRERENDER&&(0,u.isBot)(av)&&(!aF||ax)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==g?void 0:g.isStale)===-1&&(ar=!0),ar&&(f!==w.FallbackMode.NOT_FOUND||g)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),!V&&f!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aV&&!m&&!ah&&_&&(l||!au)){if((l||at)&&f===w.FallbackMode.NOT_FOUND){if(al.adapterPath)return await a0();throw new C.NoFallbackError}if(aF&&(al.cacheComponents?!aL:!az)){let b=l&&"string"==typeof(null==at?void 0:at.fallback)?at.fallback:aq,f=(l||aG)&&(null==at?void 0:at.fallbackRouteParams)?(0,o.createOpaqueFallbackRouteParams)(at.fallbackRouteParams):aI?(0,o.getFallbackRouteParams)(aq,P):null;aG&&f&&(0,h.addRequestMeta)(a,"fallbackParams",f);let g=await P.handleResponse({cacheKey:b,req:a,nextConfig:al,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ag,isRoutePPREnabled:aF,responseGenerator:async()=>q({span:j,postponed:void 0,fallbackRouteParams:f,forceStaticRender:!0}),waitUntil:d.waitUntil,isMinimalMode:V});if(null===g)return null;if(g)return V||!aF||!(aS.length>0)||!0!==al.experimental.partialFallbacks||!aU||!p||ar||aI||aD||aE||ay||(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(aU,p,aF,!1,a=>q({span:a.span,postponed:void 0,fallbackRouteParams:a_.length>0?(0,o.createOpaqueFallbackRouteParams)(a_):null,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete g.cacheControl,g}}let s=ar||i||!aJ?void 0:aJ;if(aP&&!V&&p&&(aL||aA)&&!k){let b=await p.get(ai,{kind:v.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===v.CachedRouteKind.APP_PAGE&&(s=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(ai,p,aF,!1,a=>r({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aG||aH)&&void 0!==s)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let t=!P.isDev&&_&&(null==at?void 0:at.fallbackRouteParams)?(0,o.getPlaceholderFallbackRouteParams)($,at.fallbackRouteParams):null,y=t&&t.length>0?t:null==at?void 0:at.fallbackRouteParams,z=null!=t&&t.length>0,A=null;if(al.cacheComponents&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,h.getRequestMeta)(a,"resolvedRouteParamKeys");b&&b.size>0&&(A=at.fallbackRouteParams.filter(a=>!b.has(a.paramName)))}let B=(l&&(0,h.getRequestMeta)(a,"renderFallbackShell")||z||aG&&!au)&&y?(0,o.createOpaqueFallbackRouteParams)(y):A&&A.length>0&&A.length<((null==at||null==(n=at.fallbackRouteParams)?void 0:n.length)??0)?(0,o.createOpaqueFallbackRouteParams)(A):aI?(0,o.getFallbackRouteParams)(aq,P):null;if((l||aG)&&al.cacheComponents&&!au&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,o.createOpaqueFallbackRouteParams)(y??at.fallbackRouteParams);b&&(0,h.addRequestMeta)(a,"fallbackParams",b)}return q({span:j,postponed:s,fallbackRouteParams:B,forceStaticRender:k})}catch(b){throw(null==g?void 0:g.isStale)&&await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}},s=async c=>{var f,g,i,j,k,l;let m,n=await P.handleResponse({cacheKey:aU,responseGenerator:a=>r({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ar,isRoutePPREnabled:aF,req:a,nextConfig:al,prerenderManifest:ag,waitUntil:d.waitUntil,isMinimalMode:V});if(ah&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),P.isDev&&b.setHeader("Cache-Control","no-cache, must-revalidate"),!n){if(aU)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof n.value.postponed;az&&!aA&&ao&&b.setHeader(y.NEXT_NAV_DEPLOYMENT_ID_HEADER,ao),aO&&!aL&&(!o||ay)&&(V||b.setHeader("x-nextjs-cache",ar?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=n;if(aJ)m={revalidate:0,expire:void 0};else if(aL)m={revalidate:0,expire:void 0};else if(!P.isDev)if(ah)m={revalidate:0,expire:void 0};else if(aO){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});m={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??al.expireTime}}else m={revalidate:y.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else b.getHeader("Cache-Control")||(m={revalidate:0,expire:void 0});if(n.cacheControl=m,"string"==typeof aM&&(null==p?void 0:p.kind)===v.CachedRouteKind.APP_PAGE&&p.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=p.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];V&&aO&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=p.segmentData.get(aM);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let s=aP?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(s){let b=(0,h.getRequestMeta)(a,"initURL")??a.url,c=b?(null==(l=(0,F.parseUrl)(b))?void 0:l.pathname)??b:void 0;if(await s(n,{url:c}))return null}if(p.headers){let a={...p.headers};for(let[c,d]of(V&&aO||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let u=null==(g=p.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(V&&aO&&u&&"string"==typeof u&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,u),!p.status||az&&aF||(b.statusCode=p.status),!V&&p.status&&H.RedirectStatusCode[p.status]&&az&&(b.statusCode=200),o&&!aL&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),az&&!ah){if(void 0===p.rscData){if(p.html.contentType!==t.RSC_CONTENT_TYPE_HEADER)if(al.cacheComponents)return b.statusCode=404,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl});else throw Object.defineProperty(new I.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:p.html,cacheControl:n.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(p.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let w=p.html;if(aE&&aG){let c=!0===P.isDev?crypto.randomUUID():null;return w.pipeThrough(await (0,A.createInstantTestScriptInsertionTransformStream)(c)),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})}if(!o||V||az)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:n.cacheControl});if(aG||aH)return w.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}});let C=new TransformStream;return w.push(C.readable),q({span:c,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(C.writable)}).catch(a=>{C.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})};if(!a$||!aZ)return k=aY.getActiveScopeSpan(),await aY.withPropagatedContext(a.headers,()=>aY.trace(i.BaseServerSpan.handleRequest,{spanName:`${aX} ${W}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aX,"http.target":a.url}},s),void 0,!a$);await s(aZ)}catch(b){throw b instanceof C.NoFallbackError||await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}}},59303:(a,b,c)=>{"use strict";c.d(b,{SettingsForm:()=>L});var d=c(27905),e=c(46248),f=c(71859);let g=(0,f.A)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),h=(0,f.A)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);var i=c(24641);let j=(0,f.A)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]),k=(0,f.A)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]),l=(0,f.A)("plug-zap",[["path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z",key:"goz73y"}],["path",{d:"m2 22 3-3",key:"19mgm9"}],["path",{d:"M7.5 13.5 10 11",key:"7xgeeb"}],["path",{d:"M10.5 16.5 13 14",key:"10btkg"}],["path",{d:"m18 3-4 4h6l-4 4",key:"16psg9"}]]);var m=c(49616);let n=(0,f.A)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);var o=c(92694),p=c(21747),q=c(35924),r=c(12517),s=c(22842),t=c(9339),u=c(32029),v=c(20443),w=c(39906),x=c(37913),y=c(77585),z=c(64261),A=c(54110),B=c(83557),C=c(46553);let D=["needs_human","job_failed","pr_opened","pr_merged","release_published","cost_limit","claude_limit","codex_limit","openrouter_limit","auth_expired","automation_paused"],E={needs_human:"Job needs human",job_failed:"Job aborted or failed",pr_opened:"Pull request opened",pr_merged:"Pull request merged",release_published:"Release published",cost_limit:"Daily cost limit reached",claude_limit:"Claude usage limit reached or cleared",codex_limit:"Codex usage limit reached or cleared",openrouter_limit:"OpenRouter limit reached or cleared",auth_expired:"Credentials expired or restored",automation_paused:"Automation paused or draining"};var F=c(23581);let G=(0,F.createServerReference)("403b4643729edec32f0985ba5fb15fd93f1494879b",F.callServer,void 0,F.findSourceMapURL,"testOpenRouterConnectionAction"),H=(0,F.createServerReference)("400d4ec3a8f906822713769900b0f0e6746a0cdee0",F.callServer,void 0,F.findSourceMapURL,"refreshOpenRouterCatalogAction");var I=c(31043);let J=(0,F.createServerReference)("409efe1a3bff188eaa2b6b087cce4556beacffc0ff",F.callServer,void 0,F.findSourceMapURL,"saveSettingsAction"),K=(0,F.createServerReference)("009d49b83ab645c28233698c3b30baa0ac488a8a4e",F.callServer,void 0,F.findSourceMapURL,"sendTestNotificationAction");function L({initial:a,openrouter:b}){let[c,f]=(0,q.useState)(a),[F,M]=(0,q.useTransition)(),[N,O]=(0,q.useTransition)(),[P,Q]=(0,q.useTransition)(),[R,S]=(0,q.useTransition)(),T=(0,p.useRouter)(),{success:U,error:V,info:W}=(0,C.d)(),X=(a,b)=>{f(c=>({...c,[a]:b}))};return(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[c.paused&&(0,d.jsx)(t.F,{tone:"warning",icon:e.A,title:"Global kill-switch is on",children:"All automation is suspended across every repository. Manual runs still work."}),(0,d.jsxs)(v.Zp,{pad:"lg",children:[(0,d.jsxs)("div",{className:"mb-4 flex items-center gap-3",children:[(0,d.jsx)("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary",children:(0,d.jsx)(g,{className:"h-4 w-4"})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-base font-semibold",children:"Automation & limits"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"One switch to halt everything, plus how aggressively the dock works."})]})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-4 rounded-lg border border-border p-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Global kill-switch"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Immediately pause all triage, processing, healing and releases."})]}),(0,d.jsx)(B.d,{checked:c.paused,disabled:P,onChange:a=>{X("paused",a),Q(async()=>{try{await (0,I.$)(a),W(a?"Automation suspended":"Automation resumed")}catch(b){X("paused",!a),V("Failed to toggle automation",b instanceof Error?b.message:String(b))}})},"aria-label":"Global kill-switch"})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between gap-4 rounded-lg border border-border p-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Release management"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Let the dock tag and publish releases automatically."})]}),(0,d.jsx)(B.d,{checked:c.releaseManagementEnabled,onChange:a=>X("releaseManagementEnabled",a),"aria-label":"Release management"})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between gap-4 rounded-lg border border-border p-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Auto-wait on Claude usage limits"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Park jobs when the Claude quota is exhausted and resume them automatically once it resets, instead of paging you."})]}),(0,d.jsx)(B.d,{checked:c.claudeLimitAutoWait,onChange:a=>X("claudeLimitAutoWait",a),"aria-label":"Auto-wait on Claude usage limits"})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between gap-4 rounded-lg border border-border p-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Auto-wait on Codex usage limits"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Park jobs when the Codex quota or rate limit is exhausted and resume them automatically once capacity returns, instead of paging you."})]}),(0,d.jsx)(B.d,{checked:c.codexLimitAutoWait,onChange:a=>X("codexLimitAutoWait",a),"aria-label":"Auto-wait on Codex usage limits"})]}),(0,d.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:[(0,d.jsx)(x.D,{label:"Poll interval (s)",hint:"How often to check for new issues.",children:(0,d.jsx)(y.p,{type:"number",value:c.pollIntervalSec,onChange:a=>X("pollIntervalSec",Number(a.target.value))})}),(0,d.jsx)(x.D,{label:"Concurrent jobs",hint:"Max runs in flight at once.",children:(0,d.jsx)(y.p,{type:"number",value:c.maxParallelJobs,onChange:a=>X("maxParallelJobs",Number(a.target.value))})}),(0,d.jsx)(x.D,{label:"Daily cost limit (USD)",hint:"Stops new runs once reached today. 0 disables the daily budget (unlimited).",children:(0,d.jsx)(y.p,{type:"number",min:"0",step:"0.5",value:c.dailyCostLimitUsd,onChange:a=>X("dailyCostLimitUsd",Number(a.target.value))})}),(0,d.jsx)(x.D,{label:"Max turns",hint:"Hard cap on agent turns per job. 0 = unlimited.",children:(0,d.jsx)(y.p,{type:"number",min:"0",value:c.maxTurns,onChange:a=>X("maxTurns",Number(a.target.value))})}),(0,d.jsx)(x.D,{label:"Max job minutes",hint:"Abort a run after this wall-clock time.",children:(0,d.jsx)(y.p,{type:"number",value:c.maxJobMinutes,onChange:a=>X("maxJobMinutes",Number(a.target.value))})}),(0,d.jsx)(x.D,{label:"Max CI wait (min)",hint:"How long to wait for CI before giving up.",children:(0,d.jsx)(y.p,{type:"number",value:c.maxCiWaitMinutes,onChange:a=>X("maxCiWaitMinutes",Number(a.target.value))})}),(0,d.jsx)(x.D,{label:"Max job cost (USD)",hint:"0 disables the per-job cost cap.",children:(0,d.jsx)(y.p,{type:"number",min:"0",step:"0.01",value:c.maxJobCostUsd,onChange:a=>X("maxJobCostUsd",Number(a.target.value))})}),(0,d.jsx)(x.D,{label:"Default agent",hint:"Used when a repo has none set.",children:(0,d.jsx)(r.a,{value:c.defaultAgent,onChange:a=>{"openrouter"!==a&&X("defaultAgent",a)}})}),(0,d.jsx)(x.D,{label:"Default model",hint:"Used when a repo has none set.",children:(0,d.jsx)(s.o,{value:c.defaultModel,onChange:a=>X("defaultModel",a),agent:c.defaultAgent})})]})]})]}),(0,d.jsxs)(v.Zp,{pad:"lg",children:[(0,d.jsxs)("div",{className:"mb-4 flex items-center gap-3",children:[(0,d.jsx)("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-secondary text-muted-foreground",children:(0,d.jsx)(h,{className:"h-4 w-4"})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-base font-semibold",children:"Execution paths"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Where to find the CLIs the dock shells out to."})]})]}),(0,d.jsxs)("div",{className:"grid gap-4 sm:grid-cols-3",children:[(0,d.jsx)(x.D,{label:"claude CLI path",children:(0,d.jsx)(y.p,{value:c.claudePath,onChange:a=>X("claudePath",a.target.value),spellCheck:!1})}),(0,d.jsx)(x.D,{label:"codex CLI path",children:(0,d.jsx)(y.p,{value:c.codexPath,onChange:a=>X("codexPath",a.target.value),spellCheck:!1})}),(0,d.jsx)(x.D,{label:"gh CLI path",children:(0,d.jsx)(y.p,{value:c.ghPath,onChange:a=>X("ghPath",a.target.value),spellCheck:!1})})]})]}),(0,d.jsxs)(v.Zp,{pad:"lg",children:[(0,d.jsxs)("div",{className:"mb-4 flex items-center gap-3",children:[(0,d.jsx)("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary",children:(0,d.jsx)(i.A,{className:"h-4 w-4"})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-base font-semibold",children:"Sandboxed execution"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Defaults for repos that run the agent inside a container. Enable it per repo from the repo's automation panel."})]})]}),(0,d.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,d.jsx)(x.D,{label:"Default container image",hint:"Used when a sandboxed repo names no image and has no devcontainer.json. Must carry the agent CLI plus the repo's toolchain.",children:(0,d.jsx)(y.p,{value:c.sandboxDefaultImage,onChange:a=>X("sandboxDefaultImage",a.target.value),spellCheck:!1,className:"font-mono text-sm"})}),(0,d.jsx)(x.D,{label:"Container runtime",hint:"“Auto” probes docker, then podman.",children:(0,d.jsxs)(z.l,{value:c.containerRuntime,onChange:a=>X("containerRuntime",a.target.value),children:[(0,d.jsx)("option",{value:"auto",children:"Auto-detect (docker → podman)"}),(0,d.jsx)("option",{value:"docker",children:"Docker"}),(0,d.jsx)("option",{value:"podman",children:"Podman"})]})})]})]}),(0,d.jsxs)(v.Zp,{pad:"lg",children:[(0,d.jsxs)("div",{className:"mb-4 flex items-center gap-3",children:[(0,d.jsx)("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary",children:(0,d.jsx)(j,{className:"h-4 w-4"})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-base font-semibold",children:"Notification channels"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Configure one or more channels, then send yourself a test."})]})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-4 rounded-lg border border-border p-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Needs-human sound"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Play a short sound in an open dashboard tab the moment a job parks and needs you. Honors your browser's autoplay policy — it sounds after your first interaction."})]}),(0,d.jsx)(B.d,{checked:c.needsHumanSoundEnabled,onChange:a=>X("needsHumanSoundEnabled",a),"aria-label":"Needs-human sound"})]}),(0,d.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,d.jsx)(x.D,{label:"Telegram bot token",hint:"Leave empty to disable Telegram.",children:(0,d.jsx)(y.p,{value:c.telegramBotToken,onChange:a=>X("telegramBotToken",a.target.value),autoComplete:"off",spellCheck:!1})}),(0,d.jsx)(x.D,{label:"Telegram chat ID",children:(0,d.jsx)(y.p,{value:c.telegramChatId,onChange:a=>X("telegramChatId",a.target.value),spellCheck:!1})})]}),(0,d.jsx)("div",{className:"grid gap-4",children:(0,d.jsx)(x.D,{label:"Slack incoming webhook URL",hint:"Leave empty to disable Slack.",children:(0,d.jsx)(y.p,{value:c.slackWebhookUrl,onChange:a=>X("slackWebhookUrl",a.target.value),spellCheck:!1})})}),(0,d.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,d.jsx)(x.D,{label:"SMTP host",hint:"Leave empty to disable email.",children:(0,d.jsx)(y.p,{value:c.smtpHost,onChange:a=>X("smtpHost",a.target.value)})}),(0,d.jsx)(x.D,{label:"SMTP port",children:(0,d.jsx)(y.p,{type:"number",value:c.smtpPort,onChange:a=>X("smtpPort",Number(a.target.value))})}),(0,d.jsx)(x.D,{label:"SMTP username",children:(0,d.jsx)(y.p,{value:c.smtpUser,onChange:a=>X("smtpUser",a.target.value),autoComplete:"off"})}),(0,d.jsx)(x.D,{label:"SMTP password",children:(0,d.jsx)(y.p,{type:"password",value:c.smtpPass,onChange:a=>X("smtpPass",a.target.value),autoComplete:"new-password"})}),(0,d.jsx)(x.D,{label:"From address",children:(0,d.jsx)(y.p,{type:"email",value:c.emailFrom,onChange:a=>X("emailFrom",a.target.value),placeholder:"drydock@example.com"})}),(0,d.jsx)(x.D,{label:"To address",children:(0,d.jsx)(y.p,{type:"email",value:c.emailTo,onChange:a=>X("emailTo",a.target.value),placeholder:"you@example.com"})})]}),(0,d.jsx)(x.D,{label:"Notify me about",children:(0,d.jsx)("div",{className:"grid gap-2.5 sm:grid-cols-2",children:D.map(a=>(0,d.jsxs)("label",{htmlFor:`notify-${a}`,className:"flex cursor-pointer items-center gap-2.5 text-sm text-foreground",children:[(0,d.jsx)(w.S,{id:`notify-${a}`,checked:c.notifyEvents.includes(a),onChange:b=>X("notifyEvents",b?[...c.notifyEvents,a]:c.notifyEvents.filter(b=>b!==a)),"aria-label":E[a]}),E[a]]},a))})})]})]}),(0,d.jsxs)(v.Zp,{pad:"lg",children:[(0,d.jsxs)("div",{className:"mb-4 flex items-center gap-3",children:[(0,d.jsx)("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary",children:(0,d.jsx)(k,{className:"h-4 w-4"})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-base font-semibold",children:"OpenRouter"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Optional API backend with an auto-syncing model catalog, including free models."})]})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-4 rounded-lg border border-border p-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Enable OpenRouter"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Adds OpenRouter-hosted models as a selectable agent per repository. Repository code is sent to OpenRouter and its upstream model providers."})]}),(0,d.jsx)(B.d,{checked:c.openrouterEnabled,onChange:a=>X("openrouterEnabled",a),"aria-label":"Enable OpenRouter"})]}),(0,d.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,d.jsx)(x.D,{label:"API key",hint:"Stored locally; DRYDOCK_OPENROUTER_API_KEY overrides it. Never logged.",children:(0,d.jsx)(y.p,{type:"password",autoComplete:"off",placeholder:"sk-or-v1-…",value:c.openrouterApiKey,onChange:a=>X("openrouterApiKey",a.target.value)})}),(0,d.jsx)(x.D,{label:"Catalog refresh (hours)",hint:"Minimum 0.25 (15 minutes).",children:(0,d.jsx)(y.p,{type:"number",min:"0.25",step:"0.25",value:c.openrouterCatalogRefreshHours,onChange:a=>{let b=Number(a.target.value);Number.isFinite(b)&&!(b<.25)&&X("openrouterCatalogRefreshHours",b)}})}),(0,d.jsx)(x.D,{label:"Default model",hint:"Used when a repo or job has none set.",children:(0,d.jsx)(s.o,{agent:"openrouter",openrouterModels:b.models,value:c.openrouterDefaultModel,onChange:a=>X("openrouterDefaultModel",a)})}),(0,d.jsx)(x.D,{label:"App attribution",hint:"Optional HTTP-Referer / X-Title headers.",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(y.p,{placeholder:"https://your-site.example",value:c.openrouterSiteUrl,onChange:a=>X("openrouterSiteUrl",a.target.value)}),(0,d.jsx)(y.p,{placeholder:"App name",value:c.openrouterAppName,onChange:a=>X("openrouterAppName",a.target.value)})]})})]}),(0,d.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-4 rounded-lg border border-border p-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Free models only"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Restrict every OpenRouter run to zero-cost catalog models."})]}),(0,d.jsx)(B.d,{checked:c.openrouterFreeModelsOnly,onChange:a=>X("openrouterFreeModelsOnly",a),"aria-label":"Free models only"})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between gap-4 rounded-lg border border-border p-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Auto-wait on limits"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Park jobs on OpenRouter 429s and resume them once the window resets."})]}),(0,d.jsx)(B.d,{checked:c.openrouterLimitAutoWait,onChange:a=>X("openrouterLimitAutoWait",a),"aria-label":"Auto-wait on OpenRouter limits"})]})]}),c.openrouterEnabled&&b.stale&&(0,d.jsx)(t.F,{tone:"warning",icon:e.A,title:"Model catalog is stale",children:b.lastError?`The last sync failed: ${b.lastError}. Pickers keep using the last-good snapshot.`:"The catalog has not synced recently. Pickers keep using the last-good snapshot."}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:b.modelCount>0?`${b.modelCount} models synced${b.lastSuccessAt?` \xb7 last sync ${new Date(1e3*b.lastSuccessAt).toLocaleString()}`:""}`:"No models synced yet."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsxs)(u.$,{variant:"outline",onClick:()=>S(async()=>{try{await J(c);let a=await G();a.ok?U("OpenRouter connection OK"):V("OpenRouter connection failed",a.error)}catch(a){V("OpenRouter connection failed",a instanceof Error?a.message:String(a))}}),disabled:R,children:[R?(0,d.jsx)(A.y,{size:16}):(0,d.jsx)(l,{className:"h-4 w-4"}),"Test connection"]}),(0,d.jsxs)(u.$,{variant:"outline",onClick:()=>S(async()=>{try{await J(c);let a=await H();a.ok?(U(`Catalog refreshed — ${a.modelCount} models synced`),T.refresh()):V("Catalog refresh failed",a.error)}catch(a){V("Catalog refresh failed",a instanceof Error?a.message:String(a))}}),disabled:R,children:[R?(0,d.jsx)(A.y,{size:16}):(0,d.jsx)(m.A,{className:"h-4 w-4"}),"Refresh models"]})]})]})]})]}),(0,d.jsxs)(v.Zp,{pad:"lg",children:[(0,d.jsxs)("div",{className:"mb-4 flex items-center gap-3",children:[(0,d.jsx)("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-secondary text-muted-foreground",children:(0,d.jsx)(n,{className:"h-4 w-4"})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-base font-semibold",children:"Retention"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"How long to keep job logs before they are pruned."})]})]}),(0,d.jsx)("div",{className:"grid gap-4 sm:grid-cols-3",children:(0,d.jsx)(x.D,{label:"Log retention (days)",hint:"Older job logs are deleted automatically.",children:(0,d.jsx)(y.p,{type:"number",value:c.retentionDays,onChange:a=>X("retentionDays",Number(a.target.value))})})})]}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,d.jsxs)(u.$,{variant:"outline",onClick:()=>O(async()=>{try{await J(c);let a=await K();if(0===a.length)return void V("No channels configured","Save a channel before sending a test.");let b=a.filter(a=>!a.ok);0===b.length?U(`Test sent to ${a.map(a=>a.channel).join(", ")}`):V("Some channels failed",b.map(a=>`${a.channel}: ${a.error??"unknown error"}`).join("; "))}catch(a){V("Failed to send test",a instanceof Error?a.message:String(a))}}),disabled:N,children:[N?(0,d.jsx)(A.y,{size:16}):(0,d.jsx)(o.A,{className:"h-4 w-4"}),N?"Sending…":"Send test notification"]}),(0,d.jsxs)(u.$,{onClick:()=>M(async()=>{try{await J(c),U("Settings saved")}catch(a){V("Failed to save settings",a instanceof Error?a.message:String(a))}}),disabled:F,children:[F&&(0,d.jsx)(A.y,{size:16}),F?"Saving…":"Save changes"]})]})]})}},62961:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"009d49b83ab645c28233698c3b30baa0ac488a8a4e":()=>e.MA,"00ba57b24c8b2b63a3f8d024c1179a22985e3c1498":()=>d.o$,"400b7e089db13cfc69fd6459bffc9c6112ef81686e":()=>e.$y,"400d4ec3a8f906822713769900b0f0e6746a0cdee0":()=>m,"4011b5d0d4c63392153fa485aa233d3eadab9f0dd4":()=>d.aE,"403b4643729edec32f0985ba5fb15fd93f1494879b":()=>n,"409efe1a3bff188eaa2b6b087cce4556beacffc0ff":()=>e.r6,"40d1c525b258968980aaae0a9bf2878e346d3df086":()=>d.AU,"60482939859b9e9fdac549e6eb1834a56792443488":()=>d.D5});var d=c(75047),e=c(44045),f=c(14565),g=c(89642),h=c(95310),i=c(41575),j=c(3061),k=c(84637),l=c(52166);async function m(a){let b=(0,h.Lf)(),c=(0,i.mt)(b),d=await (0,j.yd)({db:b,fetchImpl:a,apiKey:(0,l.t)(c)||void 0});return(0,g.revalidatePath)("/settings"),d}async function n(a){let b=(0,i.mt)((0,h.Lf)()),c=(0,l.t)(b);return c?(0,k.lw)(c,a):{ok:!1,error:"no OpenRouter API key configured — save one first (or set DRYDOCK_OPENROUTER_API_KEY)"}}(0,c(13897).D)([m,n]),(0,f.A)(m,"400d4ec3a8f906822713769900b0f0e6746a0cdee0",null),(0,f.A)(n,"403b4643729edec32f0985ba5fb15fd93f1494879b",null)},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},73024:a=>{"use strict";a.exports=require("node:fs")},74075:a=>{"use strict";a.exports=require("zlib")},74340:(a,b,c)=>{"use strict";c.d(b,{Hi:()=>t,Mf:()=>v,PI:()=>n,TR:()=>w,Y8:()=>s,fj:()=>r,hz:()=>u,yd:()=>q});var d=c(97496),e=c(29980),f=c(2025),g=c(64537);let h="openrouter_catalog_meta",i=e.Ik({lastSyncAt:e.ai().nullable().default(null),lastSuccessAt:e.ai().nullable().default(null),lastError:e.Yj().nullable().default(null),modelCount:e.ai().int().nonnegative().default(0),consecutiveFailures:e.ai().int().nonnegative().default(0)}),j={lastSyncAt:null,lastSuccessAt:null,lastError:null,modelCount:0,consecutiveFailures:0},k=e.Ik({id:e.Yj().min(1),name:e.Yj().optional(),description:e.Yj().nullish(),context_length:e.ai().nullish(),pricing:e.Ik({prompt:e.KC([e.Yj(),e.ai()]).optional(),completion:e.KC([e.Yj(),e.ai()]).optional()}).passthrough().nullish(),supported_parameters:e.YO(e.Yj()).nullish(),expiration_date:e.KC([e.Yj(),e.ai()]).nullish()}),l=e.Ik({data:e.YO(e.L5())});function m(a){if(void 0===a)return 0;let b="number"==typeof a?a:Number.parseFloat(a);return Number.isFinite(b)&&b>=0?b:0}function n(a=(0,f.Lf)()){let b=a.select().from(g.settings).where((0,d.eq)(g.settings.key,h)).get();if(!b)return{...j};try{return i.parse(JSON.parse(b.value))}catch{return{...j}}}function o(a,b){let c=JSON.stringify(a);b.select().from(g.settings).where((0,d.eq)(g.settings.key,h)).get()?b.update(g.settings).set({value:c}).where((0,d.eq)(g.settings.key,h)).run():b.insert(g.settings).values({key:h,value:c}).run()}let p=()=>Math.floor(Date.now()/1e3);async function q(a){let b,c=a.db??(0,f.Lf)(),e=a.fetchImpl??fetch,h=a.now??p(),i=n(c);i.lastSyncAt=h;try{let c={};a.apiKey&&(c.Authorization=`Bearer ${a.apiKey}`);let d=await e("https://openrouter.ai/api/v1/models",{headers:c});if(!d.ok)throw Error(`OpenRouter models API returned HTTP ${d.status}`);b=function(a){let{data:b}=l.parse(a),c=[];for(let a of b){let b=k.safeParse(a);if(!b.success)continue;let d=b.data,e=m(d.pricing?.prompt),f=m(d.pricing?.completion),g=d.supported_parameters??[];c.push({id:d.id,name:d.name??d.id,description:d.description??"",contextLength:d.context_length??0,promptCostPerToken:e,completionCostPerToken:f,supportedParameters:g,expirationDate:function(a){if(null==a)return null;if("number"==typeof a)return Number.isFinite(a)?Math.floor(a):null;let b=Date.parse(a);return Number.isNaN(b)?null:Math.floor(b/1e3)}(d.expiration_date),isFree:d.id.endsWith(":free")||0===e&&0===f,supportsTools:g.includes("tools")})}return c}(await d.json())}catch(a){return i.lastError=a instanceof Error?a.message:String(a),i.consecutiveFailures+=1,o(i,c),{ok:!1,error:i.lastError}}let j=new Set(b.map(a=>a.id));return c.transaction(a=>{for(let c of b){let b={id:c.id,name:c.name,description:c.description,contextLength:c.contextLength,promptCostPerToken:c.promptCostPerToken,completionCostPerToken:c.completionCostPerToken,supportedParameters:JSON.stringify(c.supportedParameters),expirationDate:c.expirationDate,isFree:c.isFree,supportsTools:c.supportsTools,removedAt:null,syncedAt:h};a.insert(g.openrouterModels).values(b).onConflictDoUpdate({target:g.openrouterModels.id,set:b}).run()}for(let b of a.select({id:g.openrouterModels.id}).from(g.openrouterModels).all())j.has(b.id)||a.update(g.openrouterModels).set({removedAt:h}).where((0,d.eq)(g.openrouterModels.id,b.id)).run()}),i.lastSuccessAt=h,i.lastError=null,i.modelCount=b.length,i.consecutiveFailures=0,o(i,c),{ok:!0,modelCount:b.length}}function r(a,b=p()){return null===a.removedAt&&(null===a.expirationDate||!(a.expirationDate<=b))}function s(a){let b=a.db??(0,f.Lf)(),c=a.now??p(),d=b.select().from(g.openrouterModels).all();return a.includeUnavailable||(d=d.filter(a=>r(a,c))),a.freeOnly&&(d=d.filter(a=>a.isFree)),a.requireTools&&(d=d.filter(a=>a.supportsTools)),d.sort((a,b)=>a.name.localeCompare(b.name))}function t(a,b=(0,f.Lf)()){return b.select().from(g.openrouterModels).where((0,d.eq)(g.openrouterModels.id,a)).get()}function u(a,b,c,d=(0,f.Lf)()){let e=t(a,d);return e?b*e.promptCostPerToken+c*e.completionCostPerToken:0}function v(a){let b=a.db??(0,f.Lf)(),c=a.now??p(),d=n(b);if(null===d.lastSyncAt||0===d.modelCount&&0===d.consecutiveFailures)return!0;let e=d.consecutiveFailures>0?Math.min(300*2**(d.consecutiveFailures-1),3600):Math.floor(3600*a.refreshHours);return c-d.lastSyncAt>=e}function w(a){let b=a.db??(0,f.Lf)(),c=a.now??p(),d=n(b);return null===d.lastSuccessAt||c-d.lastSuccessAt>2*a.refreshHours*3600}},76760:a=>{"use strict";a.exports=require("node:path")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},77283:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={default:function(){return i},useLinkStatus:function(){return h.useLinkStatus}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(12248),g=c(87383),h=f._(c(45030));function i(a){let b=a.legacyBehavior,c="string"==typeof a.children||"number"==typeof a.children||"string"==typeof a.children?.type,d=a.children?.type?.$$typeof===Symbol.for("react.client.reference");return!b||c||d||(a.children?.type?.$$typeof===Symbol.for("react.lazy")?console.error("Using a Lazy Component as a direct child of `<Link legacyBehavior>` from a Server Component is not supported. If you need legacyBehavior, wrap your Lazy Component in a Client Component that renders the Link's `<a>` tag."):console.error("Using a Server Component as a direct child of `<Link legacyBehavior>` is not supported. If you need legacyBehavior, wrap your Server Component in a Client Component that renders the Link's `<a>` tag.")),(0,g.jsx)(h.default,{...a})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},77598:a=>{"use strict";a.exports=require("node:crypto")},79551:a=>{"use strict";a.exports=require("url")},79646:a=>{"use strict";a.exports=require("child_process")},79874:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(30285).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},81630:a=>{"use strict";a.exports=require("http")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},91645:a=>{"use strict";a.exports=require("net")},92694:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(71859).A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},94735:a=>{"use strict";a.exports=require("events")},99506:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(71859).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[699,980,661,374,606,521,304,947,387,786],()=>b(b.s=57656));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../../../../drizzle/0000_green_northstar.sql","../../../../drizzle/0001_fearless_risque.sql","../../../../drizzle/0002_marvelous_starfox.sql","../../../../drizzle/0003_aromatic_shen.sql","../../../../drizzle/0004_wide_dark_beast.sql","../../../../drizzle/0005_yellow_dorian_gray.sql","../../../../drizzle/0006_rich_tusk.sql","../../../../drizzle/0007_material_wendigo.sql","../../../../drizzle/0008_round_jack_power.sql","../../../../drizzle/0009_redundant_lethal_legion.sql","../../../../drizzle/0010_one_shot_costs.sql","../../../../drizzle/0010_thick_madame_masque.sql","../../../../drizzle/0011_absurd_jamie_braddock.sql","../../../../drizzle/0012_small_ultimatum.sql","../../../../drizzle/0013_true_red_wolf.sql","../../../../drizzle/0014_dry_medusa.sql","../../../../drizzle/0015_dapper_ben_grimm.sql","../../../../drizzle/0016_charming_natasha_romanoff.sql","../../../../drizzle/0017_free_warbound.sql","../../../../drizzle/0018_confused_franklin_storm.sql","../../../../drizzle/0019_uneven_meggan.sql","../../../../drizzle/0020_chunky_meggan.sql","../../../../drizzle/0021_robust_wind_dancer.sql","../../../../drizzle/0022_issue_model_override.sql","../../../../drizzle/0023_trusted_bots.sql","../../../../drizzle/0024_merge_gate.sql","../../../../drizzle/0025_plan_first.sql","../../../../drizzle/0026_limit_kind.sql","../../../../drizzle/0027_pr_audit.sql","../../../../drizzle/0028_openrouter_models.sql","../../../../drizzle/0029_escalate_model_on_retry.sql","../../../../drizzle/0030_implement_prompt_version.sql","../../../../drizzle/0031_merge_without_checks.sql","../../../../drizzle/0032_default_review_feedback.sql","../../../../drizzle/0033_sandbox.sql","../../../../drizzle/meta/0000_snapshot.json","../../../../drizzle/meta/0001_snapshot.json","../../../../drizzle/meta/0002_snapshot.json","../../../../drizzle/meta/0003_snapshot.json","../../../../drizzle/meta/0004_snapshot.json","../../../../drizzle/meta/0005_snapshot.json","../../../../drizzle/meta/0006_snapshot.json","../../../../drizzle/meta/0007_snapshot.json","../../../../drizzle/meta/0008_snapshot.json","../../../../drizzle/meta/0009_snapshot.json","../../../../drizzle/meta/0010_snapshot.json","../../../../drizzle/meta/0011_snapshot.json","../../../../drizzle/meta/0012_snapshot.json","../../../../drizzle/meta/0013_snapshot.json","../../../../drizzle/meta/0014_snapshot.json","../../../../drizzle/meta/0015_snapshot.json","../../../../drizzle/meta/0016_snapshot.json","../../../../drizzle/meta/0017_snapshot.json","../../../../drizzle/meta/0018_snapshot.json","../../../../drizzle/meta/0019_snapshot.json","../../../../drizzle/meta/0020_snapshot.json","../../../../drizzle/meta/0021_snapshot.json","../../../../drizzle/meta/_journal.json","../../../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/package.json","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/database.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/index.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/methods/backup.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/methods/function.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/methods/inspect.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/methods/pragma.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/methods/serialize.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/methods/table.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/methods/transaction.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/sqlite-error.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/util.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/package.json","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/bindings","../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/bindings/bindings.js","../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/bindings/package.json","../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/file-uri-to-path","../../../../node_modules/.pnpm/file-uri-to-path@1.0.0/node_modules/file-uri-to-path/index.js","../../../../node_modules/.pnpm/file-uri-to-path@1.0.0/node_modules/file-uri-to-path/package.json","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/@swc/helpers","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/client/components/hooks-server-context.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/client/components/static-generation-bailout.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/client/lib/console.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/bytes/index.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/bytes/package.json","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/source-map/package.json","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/source-map/source-map.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/ws/index.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/ws/package.json","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/lib/client-and-server-references.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/lib/constants.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/lib/framework/boundary-constants.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/lib/interop-default.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/lib/is-error.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/lib/picocolors.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/lib/scheduler.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/lib/semver-noop.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/cache-signal.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/staged-rendering.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/lru-cache.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/parse-stack.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/source-maps.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/load-manifest.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-baseline.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-extensions/date.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-extensions/random.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-polyfill-crypto.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/patch-error-inspect.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/require-hook.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/response-cache/types.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/runtime-reacts.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/deep-freeze.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/invariant-error.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/is-plain-object.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/router/utils/get-segment-param.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/router/utils/interception-routes.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/segment.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/size-limit.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/package.json","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/react","../../../../node_modules/.pnpm/react@19.2.7/node_modules/react/cjs/react.development.js","../../../../node_modules/.pnpm/react@19.2.7/node_modules/react/cjs/react.production.js","../../../../node_modules/.pnpm/react@19.2.7/node_modules/react/index.js","../../../../node_modules/.pnpm/react@19.2.7/node_modules/react/package.json","../../../../node_modules/better-sqlite3","../../../../node_modules/next","../../../../package.json","../../../package.json","../../chunks/304.js","../../chunks/374.js","../../chunks/382.js","../../chunks/521.js","../../chunks/528.js","../../chunks/606.js","../../chunks/614.js","../../chunks/638.js","../../chunks/661.js","../../chunks/689.js","../../chunks/699.js","../../chunks/786.js","../../chunks/83.js","../../chunks/908.js","../../chunks/947.js","../../chunks/977.js","../../chunks/980.js","../../chunks/99.js","../../webpack-runtime.js","page_client-reference-manifest.js","../../../../node_modules/next/dist/lib/metadata/constants.js","../../../../node_modules/next/dist/lib/metadata/default-metadata.js","../../../../node_modules/next/dist/lib/metadata/generate/icon-mark.js","../../../../node_modules/next/dist/lib/metadata/generate/utils.js","../../../../node_modules/next/dist/lib/metadata/get-metadata-route.js","../../../../node_modules/next/dist/lib/metadata/is-metadata-route.js","../../../../node_modules/next/dist/lib/metadata/metadata-context.js","../../../../node_modules/next/dist/lib/metadata/metadata.js","../../../../node_modules/next/dist/lib/metadata/resolve-metadata.js","../../../../node_modules/next/dist/lib/metadata/resolvers/resolve-basics.js","../../../../node_modules/next/dist/lib/metadata/resolvers/resolve-icons.js","../../../../node_modules/next/dist/lib/metadata/resolvers/resolve-opengraph.js","../../../../node_modules/next/dist/lib/metadata/resolvers/resolve-title.js","../../../../node_modules/next/dist/lib/metadata/resolvers/resolve-url.js","../../../../node_modules/next/dist/lib/metadata/types/alternative-urls-types.js","../../../../node_modules/next/dist/lib/metadata/types/extra-types.js","../../../../node_modules/next/dist/lib/metadata/types/icons.js","../../../../node_modules/next/dist/lib/metadata/types/manifest-types.js","../../../../node_modules/next/dist/lib/metadata/types/metadata-interface.js","../../../../node_modules/next/dist/lib/metadata/types/metadata-types.js","../../../../node_modules/next/dist/lib/metadata/types/opengraph-types.js","../../../../node_modules/next/dist/lib/metadata/types/resolvers.js","../../../../node_modules/next/dist/lib/metadata/types/twitter-types.js"]}
|
|
1
|
+
{"version":1,"files":["../../../../drizzle/0000_green_northstar.sql","../../../../drizzle/0001_fearless_risque.sql","../../../../drizzle/0002_marvelous_starfox.sql","../../../../drizzle/0003_aromatic_shen.sql","../../../../drizzle/0004_wide_dark_beast.sql","../../../../drizzle/0005_yellow_dorian_gray.sql","../../../../drizzle/0006_rich_tusk.sql","../../../../drizzle/0007_material_wendigo.sql","../../../../drizzle/0008_round_jack_power.sql","../../../../drizzle/0009_redundant_lethal_legion.sql","../../../../drizzle/0010_one_shot_costs.sql","../../../../drizzle/0010_thick_madame_masque.sql","../../../../drizzle/0011_absurd_jamie_braddock.sql","../../../../drizzle/0012_small_ultimatum.sql","../../../../drizzle/0013_true_red_wolf.sql","../../../../drizzle/0014_dry_medusa.sql","../../../../drizzle/0015_dapper_ben_grimm.sql","../../../../drizzle/0016_charming_natasha_romanoff.sql","../../../../drizzle/0017_free_warbound.sql","../../../../drizzle/0018_confused_franklin_storm.sql","../../../../drizzle/0019_uneven_meggan.sql","../../../../drizzle/0020_chunky_meggan.sql","../../../../drizzle/0021_robust_wind_dancer.sql","../../../../drizzle/0022_issue_model_override.sql","../../../../drizzle/0023_trusted_bots.sql","../../../../drizzle/0024_merge_gate.sql","../../../../drizzle/0025_plan_first.sql","../../../../drizzle/0026_limit_kind.sql","../../../../drizzle/0027_pr_audit.sql","../../../../drizzle/0028_openrouter_models.sql","../../../../drizzle/0029_escalate_model_on_retry.sql","../../../../drizzle/0030_implement_prompt_version.sql","../../../../drizzle/0031_merge_without_checks.sql","../../../../drizzle/0032_default_review_feedback.sql","../../../../drizzle/0033_sandbox.sql","../../../../drizzle/0034_human_instruction.sql","../../../../drizzle/0035_agent_release.sql","../../../../drizzle/meta/0000_snapshot.json","../../../../drizzle/meta/0001_snapshot.json","../../../../drizzle/meta/0002_snapshot.json","../../../../drizzle/meta/0003_snapshot.json","../../../../drizzle/meta/0004_snapshot.json","../../../../drizzle/meta/0005_snapshot.json","../../../../drizzle/meta/0006_snapshot.json","../../../../drizzle/meta/0007_snapshot.json","../../../../drizzle/meta/0008_snapshot.json","../../../../drizzle/meta/0009_snapshot.json","../../../../drizzle/meta/0010_snapshot.json","../../../../drizzle/meta/0011_snapshot.json","../../../../drizzle/meta/0012_snapshot.json","../../../../drizzle/meta/0013_snapshot.json","../../../../drizzle/meta/0014_snapshot.json","../../../../drizzle/meta/0015_snapshot.json","../../../../drizzle/meta/0016_snapshot.json","../../../../drizzle/meta/0017_snapshot.json","../../../../drizzle/meta/0018_snapshot.json","../../../../drizzle/meta/0019_snapshot.json","../../../../drizzle/meta/0020_snapshot.json","../../../../drizzle/meta/0021_snapshot.json","../../../../drizzle/meta/_journal.json","../../../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/package.json","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/database.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/index.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/methods/backup.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/methods/function.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/methods/inspect.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/methods/pragma.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/methods/serialize.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/methods/table.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/methods/transaction.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/sqlite-error.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/lib/util.js","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/better-sqlite3/package.json","../../../../node_modules/.pnpm/better-sqlite3@12.10.1/node_modules/bindings","../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/bindings/bindings.js","../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/bindings/package.json","../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/file-uri-to-path","../../../../node_modules/.pnpm/file-uri-to-path@1.0.0/node_modules/file-uri-to-path/index.js","../../../../node_modules/.pnpm/file-uri-to-path@1.0.0/node_modules/file-uri-to-path/package.json","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/@swc/helpers","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/client/components/hooks-server-context.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/client/components/static-generation-bailout.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/client/lib/console.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/bytes/index.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/bytes/package.json","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/source-map/package.json","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/source-map/source-map.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/ws/index.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/compiled/ws/package.json","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/lib/client-and-server-references.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/lib/constants.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/lib/framework/boundary-constants.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/lib/interop-default.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/lib/is-error.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/lib/picocolors.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/lib/scheduler.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/lib/semver-noop.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/cache-signal.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/staged-rendering.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/lru-cache.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/parse-stack.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/source-maps.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/load-manifest.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-baseline.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-extensions/date.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-extensions/random.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-environment.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/node-polyfill-crypto.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/patch-error-inspect.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/require-hook.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/response-cache/types.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/server/runtime-reacts.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/deep-freeze.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/invariant-error.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/is-plain-object.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/router/utils/get-segment-param.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/router/utils/interception-routes.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/segment.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/dist/shared/lib/size-limit.js","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/next/package.json","../../../../node_modules/.pnpm/next@16.2.9_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/react","../../../../node_modules/.pnpm/react@19.2.7/node_modules/react/cjs/react.development.js","../../../../node_modules/.pnpm/react@19.2.7/node_modules/react/cjs/react.production.js","../../../../node_modules/.pnpm/react@19.2.7/node_modules/react/index.js","../../../../node_modules/.pnpm/react@19.2.7/node_modules/react/package.json","../../../../node_modules/better-sqlite3","../../../../node_modules/next","../../../../package.json","../../../package.json","../../chunks/304.js","../../chunks/374.js","../../chunks/387.js","../../chunks/521.js","../../chunks/528.js","../../chunks/606.js","../../chunks/614.js","../../chunks/638.js","../../chunks/661.js","../../chunks/689.js","../../chunks/699.js","../../chunks/786.js","../../chunks/83.js","../../chunks/908.js","../../chunks/947.js","../../chunks/977.js","../../chunks/980.js","../../chunks/99.js","../../webpack-runtime.js","page_client-reference-manifest.js","../../../../node_modules/next/dist/lib/metadata/constants.js","../../../../node_modules/next/dist/lib/metadata/default-metadata.js","../../../../node_modules/next/dist/lib/metadata/generate/icon-mark.js","../../../../node_modules/next/dist/lib/metadata/generate/utils.js","../../../../node_modules/next/dist/lib/metadata/get-metadata-route.js","../../../../node_modules/next/dist/lib/metadata/is-metadata-route.js","../../../../node_modules/next/dist/lib/metadata/metadata-context.js","../../../../node_modules/next/dist/lib/metadata/metadata.js","../../../../node_modules/next/dist/lib/metadata/resolve-metadata.js","../../../../node_modules/next/dist/lib/metadata/resolvers/resolve-basics.js","../../../../node_modules/next/dist/lib/metadata/resolvers/resolve-icons.js","../../../../node_modules/next/dist/lib/metadata/resolvers/resolve-opengraph.js","../../../../node_modules/next/dist/lib/metadata/resolvers/resolve-title.js","../../../../node_modules/next/dist/lib/metadata/resolvers/resolve-url.js","../../../../node_modules/next/dist/lib/metadata/types/alternative-urls-types.js","../../../../node_modules/next/dist/lib/metadata/types/extra-types.js","../../../../node_modules/next/dist/lib/metadata/types/icons.js","../../../../node_modules/next/dist/lib/metadata/types/manifest-types.js","../../../../node_modules/next/dist/lib/metadata/types/metadata-interface.js","../../../../node_modules/next/dist/lib/metadata/types/metadata-types.js","../../../../node_modules/next/dist/lib/metadata/types/opengraph-types.js","../../../../node_modules/next/dist/lib/metadata/types/resolvers.js","../../../../node_modules/next/dist/lib/metadata/types/twitter-types.js"]}
|