@nilsr0711/drydock 0.1.2 → 0.1.3

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.
Files changed (64) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +3 -3
  3. package/.next/standalone/.next/build-manifest.json +2 -2
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  6. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/adrs/page.js +2 -2
  16. package/.next/standalone/.next/server/app/adrs/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/costs/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/jobs/[id]/page.js +3 -3
  19. package/.next/standalone/.next/server/app/jobs/[id]/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/.next/server/app/needs-human/page.js +1 -1
  21. package/.next/standalone/.next/server/app/needs-human/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/page.js +2 -2
  23. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/prompts/page.js +2 -2
  25. package/.next/standalone/.next/server/app/prompts/page_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/app/repos/[id]/page.js +2 -2
  27. package/.next/standalone/.next/server/app/repos/[id]/page_client-reference-manifest.js +1 -1
  28. package/.next/standalone/.next/server/app/settings/page.js +2 -2
  29. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app-paths-manifest.json +3 -3
  31. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  32. package/.next/standalone/.next/server/pages/500.html +1 -1
  33. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  34. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  35. package/.next/standalone/.next/static/chunks/app/adrs/page-54954f500bc3e3c6.js +1 -0
  36. package/.next/{static/chunks/app/jobs/[id]/page-265e757a89803698.js → standalone/.next/static/chunks/app/jobs/[id]/page-217e04f338b50a7e.js} +1 -1
  37. package/.next/standalone/.next/static/chunks/app/needs-human/{page-88cb4f2c3aaf76c4.js → page-c047e3e842681979.js} +1 -1
  38. package/.next/standalone/.next/static/chunks/app/page-382b7fef1f749214.js +1 -0
  39. package/.next/standalone/.next/static/chunks/app/prompts/page-9e32fb8f51e7873e.js +1 -0
  40. package/.next/standalone/.next/static/chunks/app/repos/[id]/page-55b03bdcf107eefe.js +1 -0
  41. package/.next/standalone/.next/static/chunks/app/settings/{page-b6af5304dba71aa3.js → page-5b2b8683fa6afdf4.js} +1 -1
  42. package/.next/standalone/package.json +1 -1
  43. package/.next/static/chunks/app/adrs/page-54954f500bc3e3c6.js +1 -0
  44. package/.next/{standalone/.next/static/chunks/app/jobs/[id]/page-265e757a89803698.js → static/chunks/app/jobs/[id]/page-217e04f338b50a7e.js} +1 -1
  45. package/.next/static/chunks/app/needs-human/{page-88cb4f2c3aaf76c4.js → page-c047e3e842681979.js} +1 -1
  46. package/.next/static/chunks/app/page-382b7fef1f749214.js +1 -0
  47. package/.next/static/chunks/app/prompts/page-9e32fb8f51e7873e.js +1 -0
  48. package/.next/static/chunks/app/repos/[id]/page-55b03bdcf107eefe.js +1 -0
  49. package/.next/static/chunks/app/settings/{page-b6af5304dba71aa3.js → page-5b2b8683fa6afdf4.js} +1 -1
  50. package/README.md +1 -1
  51. package/bin/drydock.mjs +113 -7
  52. package/package.json +1 -1
  53. package/.next/standalone/.next/static/chunks/app/adrs/page-e75b859d58967540.js +0 -1
  54. package/.next/standalone/.next/static/chunks/app/page-ab315dafdd344c06.js +0 -1
  55. package/.next/standalone/.next/static/chunks/app/prompts/page-562338cf5f420f96.js +0 -1
  56. package/.next/standalone/.next/static/chunks/app/repos/[id]/page-3099a9a513358664.js +0 -1
  57. package/.next/static/chunks/app/adrs/page-e75b859d58967540.js +0 -1
  58. package/.next/static/chunks/app/page-ab315dafdd344c06.js +0 -1
  59. package/.next/static/chunks/app/prompts/page-562338cf5f420f96.js +0 -1
  60. package/.next/static/chunks/app/repos/[id]/page-3099a9a513358664.js +0 -1
  61. /package/.next/standalone/.next/static/{ZVOWTwaHoyx4ZcNdVzldW → g7t6i0qpogjrDGpmNgFei}/_buildManifest.js +0 -0
  62. /package/.next/standalone/.next/static/{ZVOWTwaHoyx4ZcNdVzldW → g7t6i0qpogjrDGpmNgFei}/_ssgManifest.js +0 -0
  63. /package/.next/static/{ZVOWTwaHoyx4ZcNdVzldW → g7t6i0qpogjrDGpmNgFei}/_buildManifest.js +0 -0
  64. /package/.next/static/{ZVOWTwaHoyx4ZcNdVzldW → g7t6i0qpogjrDGpmNgFei}/_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")},830:(a,b,c)=>{"use strict";c.d(b,{SettingsForm:()=>o});var d=c(37477),e=c(54848),f=c(2874),g=c(78233),h=c(4356);let i=["needs_human","job_failed","pr_opened","pr_merged","release_published","cost_limit","automation_paused"],j={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",automation_paused:"Automation paused or draining"};var k=c(47609);let l=(0,k.createServerReference)("40f56625b238da668748b30cd1053e2855e7edb65d",k.callServer,void 0,k.findSourceMapURL,"saveSettingsAction"),m=(0,k.createServerReference)("004fc144b9184228f3a3cb1160f1bae6d796ea1bc2",k.callServer,void 0,k.findSourceMapURL,"sendTestNotificationAction"),n="h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background";function o({initial:a}){let[b,c]=(0,e.useState)(a),[k,q]=(0,e.useTransition)(),[r,s]=(0,e.useTransition)(),[t,u]=(0,e.useState)(!1),{success:v,error:w}=(0,h.d)(),x=(a,b)=>{c(c=>({...c,[a]:b})),u(!1)};return(0,d.jsxs)("form",{className:"max-w-md space-y-3",action:()=>q(async()=>{try{await l(b),u(!0),v("Settings saved")}catch(a){w("Failed to save settings",a instanceof Error?a.message:String(a))}}),children:[(0,d.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,d.jsx)("input",{type:"checkbox",checked:b.paused,onChange:a=>x("paused",a.target.checked)}),"Global pause"]}),(0,d.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,d.jsx)("input",{type:"checkbox",checked:b.releaseManagementEnabled,onChange:a=>x("releaseManagementEnabled",a.target.checked)}),"Enable release management (kill-switch)"]}),(0,d.jsx)(p,{label:"Daily cost limit (USD)",children:(0,d.jsx)("input",{type:"number",step:"0.5",value:b.dailyCostLimitUsd,onChange:a=>x("dailyCostLimitUsd",Number(a.target.value)),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"Poll interval (sec)",children:(0,d.jsx)("input",{type:"number",value:b.pollIntervalSec,onChange:a=>x("pollIntervalSec",Number(a.target.value)),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"Max turns",children:(0,d.jsx)("input",{type:"number",value:b.maxTurns,onChange:a=>x("maxTurns",Number(a.target.value)),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"Max job minutes",children:(0,d.jsx)("input",{type:"number",value:b.maxJobMinutes,onChange:a=>x("maxJobMinutes",Number(a.target.value)),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"Max CI wait minutes",children:(0,d.jsx)("input",{type:"number",value:b.maxCiWaitMinutes,onChange:a=>x("maxCiWaitMinutes",Number(a.target.value)),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"Max job cost (USD, 0 = off)",children:(0,d.jsx)("input",{type:"number",min:"0",step:"0.01",value:b.maxJobCostUsd,onChange:a=>x("maxJobCostUsd",Number(a.target.value)),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"Default agent",children:(0,d.jsx)(f.a,{value:b.defaultAgent,onChange:a=>x("defaultAgent",a)})}),(0,d.jsx)(p,{label:"Default model",children:(0,d.jsx)("input",{value:b.defaultModel,onChange:a=>x("defaultModel",a.target.value),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"claude CLI path",children:(0,d.jsx)("input",{value:b.claudePath,onChange:a=>x("claudePath",a.target.value),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"codex CLI path",children:(0,d.jsx)("input",{value:b.codexPath,onChange:a=>x("codexPath",a.target.value),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"gh CLI path",children:(0,d.jsx)("input",{value:b.ghPath,onChange:a=>x("ghPath",a.target.value),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"Max parallel jobs",children:(0,d.jsx)("input",{type:"number",value:b.maxParallelJobs,onChange:a=>x("maxParallelJobs",Number(a.target.value)),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"Log retention (days)",children:(0,d.jsx)("input",{type:"number",value:b.retentionDays,onChange:a=>x("retentionDays",Number(a.target.value)),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"Telegram bot token",children:(0,d.jsx)("input",{value:b.telegramBotToken,onChange:a=>x("telegramBotToken",a.target.value),placeholder:"leave empty to disable notifications",className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"Telegram chat ID",children:(0,d.jsx)("input",{value:b.telegramChatId,onChange:a=>x("telegramChatId",a.target.value),className:n})}),(0,d.jsxs)("fieldset",{className:"space-y-3 border-t border-border pt-3",children:[(0,d.jsx)("legend",{className:"text-sm font-medium text-muted-foreground",children:"Slack"}),(0,d.jsx)(p,{label:"Incoming webhook URL",children:(0,d.jsx)("input",{value:b.slackWebhookUrl,onChange:a=>x("slackWebhookUrl",a.target.value),placeholder:"leave empty to disable Slack",className:n})})]}),(0,d.jsxs)("fieldset",{className:"space-y-3 border-t border-border pt-3",children:[(0,d.jsx)("legend",{className:"text-sm font-medium text-muted-foreground",children:"Email (SMTP)"}),(0,d.jsx)(p,{label:"SMTP host",children:(0,d.jsx)("input",{value:b.smtpHost,onChange:a=>x("smtpHost",a.target.value),placeholder:"leave empty to disable email",className:n})}),(0,d.jsx)(p,{label:"SMTP port",children:(0,d.jsx)("input",{type:"number",value:b.smtpPort,onChange:a=>x("smtpPort",Number(a.target.value)),className:n})}),(0,d.jsx)(p,{label:"SMTP username",children:(0,d.jsx)("input",{value:b.smtpUser,onChange:a=>x("smtpUser",a.target.value),autoComplete:"off",className:n})}),(0,d.jsx)(p,{label:"SMTP password",children:(0,d.jsx)("input",{type:"password",value:b.smtpPass,onChange:a=>x("smtpPass",a.target.value),autoComplete:"new-password",className:n})}),(0,d.jsx)(p,{label:"From address",children:(0,d.jsx)("input",{type:"email",value:b.emailFrom,onChange:a=>x("emailFrom",a.target.value),placeholder:"drydock@example.com",className:n})}),(0,d.jsx)(p,{label:"To address",children:(0,d.jsx)("input",{type:"email",value:b.emailTo,onChange:a=>x("emailTo",a.target.value),placeholder:"you@example.com",className:n})})]}),(0,d.jsxs)("fieldset",{className:"space-y-2 border-t border-border pt-3",children:[(0,d.jsx)("legend",{className:"text-sm font-medium text-muted-foreground",children:"Notify me about"}),i.map(a=>(0,d.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,d.jsx)("input",{type:"checkbox",checked:b.notifyEvents.includes(a),onChange:c=>x("notifyEvents",c.target.checked?[...b.notifyEvents,a]:b.notifyEvents.filter(b=>b!==a))}),j[a]]},a))]}),(0,d.jsxs)("div",{className:"flex items-center gap-2 border-t border-border pt-3",children:[(0,d.jsx)(g.$,{type:"submit",disabled:k,children:"Save settings"}),(0,d.jsx)(g.$,{type:"button",variant:"outline",onClick:()=>s(async()=>{try{await l(b),u(!0);let a=await m();if(0===a.length)return void w("No channels configured","Save a channel before sending a test.");let c=a.filter(a=>!a.ok);0===c.length?v(`Test sent to ${a.map(a=>a.channel).join(", ")}`):w("Some channels failed",c.map(a=>`${a.channel}: ${a.error??"unknown error"}`).join("; "))}catch(a){w("Failed to send test",a instanceof Error?a.message:String(a))}}),disabled:r,children:r?"Sending…":"Send test notification"}),t&&(0,d.jsx)("span",{className:"text-xs text-success",children:"Saved"})]})]})}function p({label:a,children:b}){return(0,d.jsxs)("label",{className:"flex flex-col gap-1 text-sm",children:[(0,d.jsx)("span",{children:a}),b]})}},2874:(a,b,c)=>{"use strict";c.d(b,{a:()=>A});var d=c(37477),e=c(73801);let f={"claude-opus-4-7":{inputPerMTok:15,outputPerMTok:75},"claude-sonnet-4-5":{inputPerMTok:3,outputPerMTok:15},"claude-haiku-4-5":{inputPerMTok:1,outputPerMTok:5}},g=f["claude-sonnet-4-5"];var h=c(14868);let i=h.Ik({input_tokens:h.ai().optional(),output_tokens:h.ai().optional(),cache_creation_input_tokens:h.ai().optional(),cache_read_input_tokens:h.ai().optional()}).passthrough(),j=h.Ik({type:h.eu("system"),subtype:h.Yj().optional(),session_id:h.Yj().optional(),model:h.Yj().optional()}),k=h.Ik({type:h.eu("assistant"),message:h.Ik({role:h.eu("assistant"),content:h.YO(h.g1(h.Yj(),h.L5())),usage:i.optional()})}),l=h.Ik({type:h.eu("user"),message:h.Ik({role:h.eu("user"),content:h.YO(h.g1(h.Yj(),h.L5()))})}),m=h.Ik({type:h.eu("result"),subtype:h.Yj().optional(),session_id:h.Yj().optional(),is_error:h.zM().optional(),total_cost_usd:h.ai().optional(),usage:i.optional()}),n=h.gM("type",[j,k,l,m]);function o(a){return a instanceof Error?a.message:String(a)}function p(a){let b=[];for(let c of a)"text"===c.type&&"string"==typeof c.text?b.push({kind:"text",text:c.text}):"tool_use"===c.type?b.push({kind:"tool_use",name:String(c.name??"unknown"),id:String(c.id??""),input:c.input}):"tool_result"===c.type&&b.push({kind:"tool_result",toolUseId:String(c.tool_use_id??""),isError:!!c.is_error});return b}class q{push(a){this.buffer+=a;let b=[],c=this.buffer.indexOf("\n");for(;-1!==c;){let a=this.buffer.slice(0,c);this.buffer=this.buffer.slice(c+1);let d=this.consume(a);d&&b.push(d),c=this.buffer.indexOf("\n")}return b}flush(){let a=this.buffer;this.buffer="";let b=this.consume(a);return b?[b]:[]}consume(a){let b;try{b=function(a){var b;let c,d=a.trim();if(!d)return null;let e=JSON.parse(d);return c={type:(b=n.parse(e)).type,chunks:[],inputTokens:0,outputTokens:0,isError:!1,raw:b},"system"===b.type?(c.sessionId=b.session_id,c.model=b.model):"assistant"===b.type?(c.chunks=p(b.message.content),c.inputTokens=b.message.usage?.input_tokens??0,c.outputTokens=b.message.usage?.output_tokens??0):"user"===b.type?c.chunks=p(b.message.content):(c.sessionId=b.session_id,c.costUsd=b.total_cost_usd,c.inputTokens=b.usage?.input_tokens??0,c.outputTokens=b.usage?.output_tokens??0,c.isError=b.is_error??!1),c}(a)}catch(b){return this.onParseError?.({line:a.trim(),message:o(b)}),null}return b?(b.sessionId&&(this.sessionId=b.sessionId),b.model&&(this.model=b.model),this.totalInputTokens+=b.inputTokens,this.totalOutputTokens+=b.outputTokens,"result"===b.type&&void 0!==b.costUsd&&(this.costUsd=b.costUsd),b):null}constructor(){this.buffer="",this.totalInputTokens=0,this.totalOutputTokens=0,this.costUsd=0}}let r="gpt-5-codex",s={"gpt-5-codex":{inputPerMTok:1.25,outputPerMTok:10},"gpt-5":{inputPerMTok:1.25,outputPerMTok:10},"gpt-5-mini":{inputPerMTok:.25,outputPerMTok:2}},t=s[r],u=h.Ik({input_tokens:h.ai().optional(),cached_input_tokens:h.ai().optional(),output_tokens:h.ai().optional(),reasoning_output_tokens:h.ai().optional()}).passthrough(),v=h.Ik({id:h.Yj().optional(),item_type:h.Yj().optional(),text:h.Yj().optional(),command:h.Yj().optional(),exit_code:h.ai().optional(),server:h.Yj().optional(),tool:h.Yj().optional()}).passthrough(),w=h.Ik({type:h.Yj(),thread_id:h.Yj().optional(),usage:u.optional(),item:v.optional()}).passthrough();class x{push(a){this.buffer+=a;let b=[],c=this.buffer.indexOf("\n");for(;-1!==c;){let a=this.buffer.slice(0,c);this.buffer=this.buffer.slice(c+1);let d=this.consume(a);d&&b.push(d),c=this.buffer.indexOf("\n")}return b}flush(){let a=this.buffer;this.buffer="";let b=this.consume(a);return b?[b]:[]}consume(a){let b;try{b=function(a){let b=a.trim();if(!b)return null;let c=JSON.parse(b);var d=w.parse(c);let e={type:"assistant",chunks:[],inputTokens:0,outputTokens:0,isError:!1,raw:d};if("thread.started"===d.type)return{...e,type:"system",sessionId:d.thread_id};if("item.completed"===d.type&&d.item)return{...e,type:"assistant",chunks:function(a){let b=a.id??"";switch(a.item_type){case"assistant_message":case"reasoning":return a.text?[{kind:"text",text:a.text}]:[];case"command_execution":return[{kind:"tool_use",name:"command",id:b,input:{command:a.command,exit_code:a.exit_code}}];case"file_change":return[{kind:"tool_use",name:"edit",id:b,input:a}];case"mcp_tool_call":return[{kind:"tool_use",name:`${a.server??"mcp"}/${a.tool??"tool"}`,id:b,input:a}];default:return[]}}(d.item)};if("turn.completed"===d.type){let a=d.usage;return{...e,type:"result",inputTokens:a?.input_tokens??0,outputTokens:(a?.output_tokens??0)+(a?.reasoning_output_tokens??0)}}return"turn.failed"===d.type||"error"===d.type?{...e,type:"result",isError:!0}:null}(a)}catch(b){return this.onParseError?.({line:a.trim(),message:o(b)}),null}return b?(b.sessionId&&(this.sessionId=b.sessionId),this.totalInputTokens+=b.inputTokens,this.totalOutputTokens+=b.outputTokens,b):null}constructor(){this.buffer="",this.totalInputTokens=0,this.totalOutputTokens=0,this.costUsd=0}}let y={claude:{id:"claude",label:"Claude Code",defaultCommand:"claude",supportsResume:!0,resumeModel:"claude-haiku-4-5",resumeMaxTurns:15,defaultModel:"claude-opus-4-7",buildStartArgs:({prompt:a,model:b,maxTurns:c})=>["-p",a,"--max-turns",String(c),"--permission-mode","acceptEdits","--model",b,"--output-format","stream-json","--verbose"],buildResumeArgs:({prompt:a,sessionId:b,model:c,maxTurns:d})=>["-p",a,"--resume",b,"--max-turns",String(d),"--model",c,"--output-format","stream-json","--verbose"],buildOneShotArgs:({prompt:a,model:b})=>["-p",a,"--model",b],createParser:()=>new q,estimateCost:function(a,b,c){let d=a?f[a]??g:g;return b/1e6*d.inputPerMTok+c/1e6*d.outputPerMTok}},codex:{id:"codex",label:"Codex CLI",defaultCommand:"codex",supportsResume:!0,resumeModel:r,resumeMaxTurns:15,defaultModel:r,buildStartArgs:({prompt:a,model:b})=>["exec","--json","--sandbox","workspace-write","--model",b,a],buildResumeArgs:({prompt:a,sessionId:b,model:c})=>["exec","resume",b,"--json","--sandbox","workspace-write","--model",c,a],buildOneShotArgs:({prompt:a,model:b})=>["exec","--model",b,a],createParser:()=>new x,estimateCost:function(a,b,c){let d=a?s[a]??t:t;return b/1e6*d.inputPerMTok+c/1e6*d.outputPerMTok}}},z=["claude","codex"].map(a=>y[a]);function A({value:a,onChange:b,id:c,className:f}){return(0,d.jsx)(e.l,{id:c,value:a,onChange:a=>b(a.target.value),className:f,children:z.map(a=>(0,d.jsx)("option",{value:a.id,children:a.label},a.id))})}},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8688:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>O,handler:()=>Q,routeModule:()=>P});var d=c(86565),e=c(66626),f=c(38002),g=c(52419),h=c(27345),i=c(75665),j=c(69880),k=c(61385),l=c(97785),m=c(38011),n=c(41897),o=c(74767),p=c(89447),q=c(8350),r=c(261),s=c(52714),t=c(46967),u=c(26713),v=c(10523),w=c(48120),x=c(14284),y=c(3077),z=c(70227),A=c(54369),B=c(1089),C=c(86439),D=c(77068),E=c(377),F=c(32185),G=c(28795),H=c(23578),I=c(70722),J=c(10013),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,75616)),"/home/runner/work/drydock/drydock/src/app/settings/page.tsx"]}]},{"global-error":[()=>Promise.resolve().then(c.t.bind(c,74111,23)),"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,38593)),"/home/runner/work/drydock/drydock/src/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,74111,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,76335,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45034,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,21205,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(85802).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}}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},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")},18528:(a,b,c)=>{"use strict";c.d(b,{SettingsForm:()=>d});let d=(0,c(37251).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")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},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")},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")},48161:a=>{"use strict";a.exports=require("node:os")},51039:(a,b,c)=>{"use strict";c.d(b,{Bt:()=>h});var d=c(94448),e=c(54452),f=c(55710),g=c(84654);function h(a=(0,f.Lf)(),b){let c=(0,d.ll)`strftime('%Y-%m-%d', ${g.jobs.startedAt}, 'unixepoch') = strftime('%Y-%m-%d', 'now')`,i=a.select({total:(0,d.ll)`coalesce(sum(${g.jobs.costUsd}), 0)`}).from(g.jobs).where((0,e.Uo)(c,void 0===b?void 0:(0,d.ll)`${g.jobs.repoId} = ${b}`)).get();return i?.total??0}},51455:a=>{"use strict";a.exports=require("node:fs/promises")},51605:(a,b,c)=>{"use strict";c.d(b,{mt:()=>l,Jf:()=>n,DA:()=>o,DZ:()=>m});var d=c(54452),e=c(22579),f=c(55710),g=c(51039),h=c(84654);let i=["needs_human","job_failed","pr_opened","pr_merged","release_published","cost_limit","automation_paused"],j=e.Ik({paused:e.zM().default(!1),dailyCostLimitUsd:e.ai().nonnegative().default(10),pollIntervalSec:e.ai().int().positive().default(30),maxTurns:e.ai().int().positive().default(40),maxJobMinutes:e.ai().int().positive().default(30),maxCiWaitMinutes:e.ai().int().positive().default(60),maxJobCostUsd:e.ai().nonnegative().default(0),releaseManagementEnabled:e.zM().default(!1),defaultModel:e.Yj().default("claude-opus-4-7"),defaultAgent:e.k5(["claude","codex"]).default("claude"),claudePath:e.Yj().default("claude"),codexPath:e.Yj().default("codex"),ghPath:e.Yj().default("gh"),maxParallelJobs:e.ai().int().positive().default(3),telegramBotToken:e.Yj().default(""),telegramChatId:e.Yj().default(""),slackWebhookUrl:e.Yj().default(""),smtpHost:e.Yj().default(""),smtpPort:e.ai().int().positive().default(587),smtpUser:e.Yj().default(""),smtpPass:e.Yj().default(""),emailFrom:e.Yj().default(""),emailTo:e.Yj().default(""),notifyEvents:e.YO(e.k5(i)).default([...i]),retentionDays:e.ai().int().positive().default(30)}),k="global";function l(a=(0,f.Lf)()){let b=a.select().from(h.settings).where((0,d.eq)(h.settings.key,k)).get();if(!b)return j.parse({});try{return j.parse(JSON.parse(b.value))}catch{return j.parse({})}}function m(a,b=(0,f.Lf)()){let c=j.parse({...l(b),...a}),e=JSON.stringify(c);return b.select().from(h.settings).where((0,d.eq)(h.settings.key,k)).get()?b.update(h.settings).set({value:e}).where((0,d.eq)(h.settings.key,k)).run():b.insert(h.settings).values({key:k,value:e}).run(),c}function n(a=(0,f.Lf)()){let b=l(a);return b.paused?{allowed:!1,reason:"paused"}:(0,g.Bt)(a)>=b.dailyCostLimitUsd?{allowed:!1,reason:"cost_limit"}:{allowed:!0}}function o(a,b=(0,f.Lf)()){let c=b.select().from(h.repos).where((0,d.eq)(h.repos.id,a)).get();return!c||(0,g.Bt)(b,a)>=c.dailyCostLimitUsd?{allowed:!1,reason:"repo_cost_limit"}:{allowed:!0}}},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},58642:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"004fc144b9184228f3a3cb1160f1bae6d796ea1bc2":()=>j,"40f56625b238da668748b30cd1053e2855e7edb65d":()=>i});var d=c(15465),e=c(66406),f=c(96684),g=c(74058),h=c(51605);async function i(a){let b=(0,h.mt)(),c=(0,h.DZ)(a);return await (0,f.Dp)(b.paused,c.paused),(0,e.revalidatePath)("/settings"),(0,e.revalidatePath)("/"),c}async function j(){return(0,g.Fl)()}(0,c(72269).D)([i,j]),(0,d.A)(i,"40f56625b238da668748b30cd1053e2855e7edb65d",null),(0,d.A)(j,"004fc144b9184228f3a3cb1160f1bae6d796ea1bc2",null)},61608:(a,b,c)=>{Promise.resolve().then(c.bind(c,830))},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63480:(a,b,c)=>{"use strict";c.d(b,{f:()=>f});let d="[REDACTED]",e=[/\bgh[pousr]_[A-Za-z0-9]{36,}\b/g,/\bgithub_pat_[A-Za-z0-9_]{50,}\b/g,/\bglpat-[A-Za-z0-9_-]{20,}\b/g,/(Bearer )[A-Za-z0-9._~+/-]+=*/g,/(https?:\/\/)[^\s/@:]+:[^\s/@]+(?=@)/g,/(PRIVATE-TOKEN:\s*)\S+/gi,/(Basic )[A-Za-z0-9+/]+=*/g,/\b(?:AKIA|ASIA|AGPA|AIDA|ANPA|AROA)[0-9A-Z]{16}\b/g];function f(a){let b=a;for(let a of e)b=b.replace(a,(a,b)=>"string"==typeof b?`${b}${d}`:d);return b}},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},73024:a=>{"use strict";a.exports=require("node:fs")},73801:(a,b,c)=>{"use strict";c.d(b,{l:()=>g});var d=c(37477),e=c(54848),f=c(2210);let g=e.forwardRef(({className:a,...b},c)=>(0,d.jsx)("select",{ref:c,className:(0,f.cn)("h-9 rounded-md border border-input bg-background px-2.5 text-sm text-foreground","focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-1 focus:ring-offset-background","disabled:cursor-not-allowed disabled:opacity-50",a),...b}));g.displayName="Select"},74058:(a,b,c)=>{"use strict";c.d(b,{Fl:()=>j,JD:()=>i,QD:()=>k});var d=c(55710),e=c(63480),f=c(51605);let g=[{id:"telegram",isConfigured:a=>!!(a.telegramBotToken&&a.telegramChatId),send:(a,b,c)=>c.postJson(`https://api.telegram.org/bot${b.telegramBotToken}/sendMessage`,{chat_id:b.telegramChatId,text:a})},{id:"slack",isConfigured:a=>!!a.slackWebhookUrl,send:(a,b,c)=>c.postJson(b.slackWebhookUrl,{text:a})},{id:"email",isConfigured:a=>!!(a.smtpHost&&a.emailFrom&&a.emailTo),send:(a,b,c)=>c.sendMail({to:b.emailTo,from:b.emailFrom,subject:"Drydock notification",text:a},{host:b.smtpHost,port:b.smtpPort,user:b.smtpUser,pass:b.smtpPass})}];function h(a){return g.filter(b=>b.isConfigured(a))}async function i(a,b,c=(0,d.Lf)(),g=k){let j=(0,f.mt)(c);if(j.notifyEvents.includes(a))for(let a of h(j))try{await a.send(b,j,g)}catch(b){console.error(`[notify] ${a.id} delivery failed`,(0,e.f)(String(b)))}}async function j(a=(0,d.Lf)(),b=k){let c=(0,f.mt)(a),g=[];for(let a of h(c))try{await a.send("Drydock test notification — your channel is configured correctly.",c,b),g.push({channel:a.id,ok:!0})}catch(b){var i;console.error(`[notify] ${a.id} test failed`,(0,e.f)(String(b))),g.push({channel:a.id,ok:!1,error:(0,e.f)((i=b)instanceof Error?i.message:String(i))})}return g}let k={postJson:async(a,b)=>{let c=await fetch(a,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(b)});if(!c.ok)throw Error(`HTTP ${c.status}`)},sendMail:async(a,b)=>{let d=(await c.e(462).then(c.t.bind(c,17462,19))).createTransport({host:b.host,port:b.port,secure:465===b.port,auth:b.user?{user:b.user,pass:b.pass}:void 0});await d.sendMail(a)}}},74075:a=>{"use strict";a.exports=require("zlib")},74760:(a,b,c)=>{Promise.resolve().then(c.bind(c,18528))},75616:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h,dynamic:()=>g});var d=c(39747),e=c(18528),f=c(78293);let g="force-dynamic";function h(){let a=(0,f.mt)();return(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)("h1",{className:"text-2xl font-bold",children:"Settings"}),(0,d.jsx)(e.SettingsForm,{initial:a})]})}},76760:a=>{"use strict";a.exports=require("node:path")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},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")},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")},94735:a=>{"use strict";a.exports=require("events")},96684:(a,b,c)=>{"use strict";c.d(b,{CZ:()=>h,Dp:()=>g,PH:()=>f});var d=c(55710),e=c(74058);async function f(a,b,c=(0,d.Lf)(),g=e.QD){a?b.active||(b.active=!0,await (0,e.JD)("cost_limit","\uD83D\uDCB8 Daily cost limit reached — new jobs are paused until the budget resets.",c,g)):b.active=!1}async function g(a,b,c=(0,d.Lf)(),f=e.QD){!a&&b&&await (0,e.JD)("automation_paused","⏸️ Automation paused — no new jobs will start until it resumes.",c,f)}async function h(a=(0,d.Lf)(),b=e.QD){await (0,e.JD)("automation_paused","\uD83C\uDF19 Automation draining — finishing in-flight jobs, then shutting down.",a,b)}}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[692,0,895,251,309,185,579,868,541,777,710],()=>b(b.s=8688));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")},2874:(a,b,c)=>{"use strict";c.d(b,{a:()=>A});var d=c(37477),e=c(73801);let f={"claude-opus-4-7":{inputPerMTok:15,outputPerMTok:75},"claude-sonnet-4-5":{inputPerMTok:3,outputPerMTok:15},"claude-haiku-4-5":{inputPerMTok:1,outputPerMTok:5}},g=f["claude-sonnet-4-5"];var h=c(14868);let i=h.Ik({input_tokens:h.ai().optional(),output_tokens:h.ai().optional(),cache_creation_input_tokens:h.ai().optional(),cache_read_input_tokens:h.ai().optional()}).passthrough(),j=h.Ik({type:h.eu("system"),subtype:h.Yj().optional(),session_id:h.Yj().optional(),model:h.Yj().optional()}),k=h.Ik({type:h.eu("assistant"),message:h.Ik({role:h.eu("assistant"),content:h.YO(h.g1(h.Yj(),h.L5())),usage:i.optional()})}),l=h.Ik({type:h.eu("user"),message:h.Ik({role:h.eu("user"),content:h.YO(h.g1(h.Yj(),h.L5()))})}),m=h.Ik({type:h.eu("result"),subtype:h.Yj().optional(),session_id:h.Yj().optional(),is_error:h.zM().optional(),total_cost_usd:h.ai().optional(),usage:i.optional()}),n=h.gM("type",[j,k,l,m]);function o(a){return a instanceof Error?a.message:String(a)}function p(a){let b=[];for(let c of a)"text"===c.type&&"string"==typeof c.text?b.push({kind:"text",text:c.text}):"tool_use"===c.type?b.push({kind:"tool_use",name:String(c.name??"unknown"),id:String(c.id??""),input:c.input}):"tool_result"===c.type&&b.push({kind:"tool_result",toolUseId:String(c.tool_use_id??""),isError:!!c.is_error});return b}class q{push(a){this.buffer+=a;let b=[],c=this.buffer.indexOf("\n");for(;-1!==c;){let a=this.buffer.slice(0,c);this.buffer=this.buffer.slice(c+1);let d=this.consume(a);d&&b.push(d),c=this.buffer.indexOf("\n")}return b}flush(){let a=this.buffer;this.buffer="";let b=this.consume(a);return b?[b]:[]}consume(a){let b;try{b=function(a){var b;let c,d=a.trim();if(!d)return null;let e=JSON.parse(d);return c={type:(b=n.parse(e)).type,chunks:[],inputTokens:0,outputTokens:0,isError:!1,raw:b},"system"===b.type?(c.sessionId=b.session_id,c.model=b.model):"assistant"===b.type?(c.chunks=p(b.message.content),c.inputTokens=b.message.usage?.input_tokens??0,c.outputTokens=b.message.usage?.output_tokens??0):"user"===b.type?c.chunks=p(b.message.content):(c.sessionId=b.session_id,c.costUsd=b.total_cost_usd,c.inputTokens=b.usage?.input_tokens??0,c.outputTokens=b.usage?.output_tokens??0,c.isError=b.is_error??!1),c}(a)}catch(b){return this.onParseError?.({line:a.trim(),message:o(b)}),null}return b?(b.sessionId&&(this.sessionId=b.sessionId),b.model&&(this.model=b.model),this.totalInputTokens+=b.inputTokens,this.totalOutputTokens+=b.outputTokens,"result"===b.type&&void 0!==b.costUsd&&(this.costUsd=b.costUsd),b):null}constructor(){this.buffer="",this.totalInputTokens=0,this.totalOutputTokens=0,this.costUsd=0}}let r="gpt-5-codex",s={"gpt-5-codex":{inputPerMTok:1.25,outputPerMTok:10},"gpt-5":{inputPerMTok:1.25,outputPerMTok:10},"gpt-5-mini":{inputPerMTok:.25,outputPerMTok:2}},t=s[r],u=h.Ik({input_tokens:h.ai().optional(),cached_input_tokens:h.ai().optional(),output_tokens:h.ai().optional(),reasoning_output_tokens:h.ai().optional()}).passthrough(),v=h.Ik({id:h.Yj().optional(),item_type:h.Yj().optional(),text:h.Yj().optional(),command:h.Yj().optional(),exit_code:h.ai().optional(),server:h.Yj().optional(),tool:h.Yj().optional()}).passthrough(),w=h.Ik({type:h.Yj(),thread_id:h.Yj().optional(),usage:u.optional(),item:v.optional()}).passthrough();class x{push(a){this.buffer+=a;let b=[],c=this.buffer.indexOf("\n");for(;-1!==c;){let a=this.buffer.slice(0,c);this.buffer=this.buffer.slice(c+1);let d=this.consume(a);d&&b.push(d),c=this.buffer.indexOf("\n")}return b}flush(){let a=this.buffer;this.buffer="";let b=this.consume(a);return b?[b]:[]}consume(a){let b;try{b=function(a){let b=a.trim();if(!b)return null;let c=JSON.parse(b);var d=w.parse(c);let e={type:"assistant",chunks:[],inputTokens:0,outputTokens:0,isError:!1,raw:d};if("thread.started"===d.type)return{...e,type:"system",sessionId:d.thread_id};if("item.completed"===d.type&&d.item)return{...e,type:"assistant",chunks:function(a){let b=a.id??"";switch(a.item_type){case"assistant_message":case"reasoning":return a.text?[{kind:"text",text:a.text}]:[];case"command_execution":return[{kind:"tool_use",name:"command",id:b,input:{command:a.command,exit_code:a.exit_code}}];case"file_change":return[{kind:"tool_use",name:"edit",id:b,input:a}];case"mcp_tool_call":return[{kind:"tool_use",name:`${a.server??"mcp"}/${a.tool??"tool"}`,id:b,input:a}];default:return[]}}(d.item)};if("turn.completed"===d.type){let a=d.usage;return{...e,type:"result",inputTokens:a?.input_tokens??0,outputTokens:(a?.output_tokens??0)+(a?.reasoning_output_tokens??0)}}return"turn.failed"===d.type||"error"===d.type?{...e,type:"result",isError:!0}:null}(a)}catch(b){return this.onParseError?.({line:a.trim(),message:o(b)}),null}return b?(b.sessionId&&(this.sessionId=b.sessionId),this.totalInputTokens+=b.inputTokens,this.totalOutputTokens+=b.outputTokens,b):null}constructor(){this.buffer="",this.totalInputTokens=0,this.totalOutputTokens=0,this.costUsd=0}}let y={claude:{id:"claude",label:"Claude Code",defaultCommand:"claude",supportsResume:!0,resumeModel:"claude-haiku-4-5",resumeMaxTurns:15,defaultModel:"claude-opus-4-7",buildStartArgs:({prompt:a,model:b,maxTurns:c})=>["-p",a,"--max-turns",String(c),"--permission-mode","acceptEdits","--model",b,"--output-format","stream-json","--verbose"],buildResumeArgs:({prompt:a,sessionId:b,model:c,maxTurns:d})=>["-p",a,"--resume",b,"--max-turns",String(d),"--model",c,"--output-format","stream-json","--verbose"],buildOneShotArgs:({prompt:a,model:b})=>["-p",a,"--model",b],createParser:()=>new q,estimateCost:function(a,b,c){let d=a?f[a]??g:g;return b/1e6*d.inputPerMTok+c/1e6*d.outputPerMTok}},codex:{id:"codex",label:"Codex CLI",defaultCommand:"codex",supportsResume:!0,resumeModel:r,resumeMaxTurns:15,defaultModel:r,buildStartArgs:({prompt:a,model:b})=>["exec","--json","--sandbox","workspace-write","--model",b,a],buildResumeArgs:({prompt:a,sessionId:b,model:c})=>["exec","resume",b,"--json","--sandbox","workspace-write","--model",c,a],buildOneShotArgs:({prompt:a,model:b})=>["exec","--model",b,a],createParser:()=>new x,estimateCost:function(a,b,c){let d=a?s[a]??t:t;return b/1e6*d.inputPerMTok+c/1e6*d.outputPerMTok}}},z=["claude","codex"].map(a=>y[a]);function A({value:a,onChange:b,id:c,className:f}){return(0,d.jsx)(e.l,{id:c,value:a,onChange:a=>b(a.target.value),className:f,children:z.map(a=>(0,d.jsx)("option",{value:a.id,children:a.label},a.id))})}},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4364:(a,b,c)=>{"use strict";c.d(b,{SettingsForm:()=>o});var d=c(37477),e=c(54848),f=c(2874),g=c(78233),h=c(4356);let i=["needs_human","job_failed","pr_opened","pr_merged","release_published","cost_limit","automation_paused"],j={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",automation_paused:"Automation paused or draining"};var k=c(47609);let l=(0,k.createServerReference)("4090852f1110128f4139b1cf4a73d044eec532306d",k.callServer,void 0,k.findSourceMapURL,"saveSettingsAction"),m=(0,k.createServerReference)("00b2a962b9d7ed62e5bb201b1481867ab0e71b0d41",k.callServer,void 0,k.findSourceMapURL,"sendTestNotificationAction"),n="h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background";function o({initial:a}){let[b,c]=(0,e.useState)(a),[k,q]=(0,e.useTransition)(),[r,s]=(0,e.useTransition)(),[t,u]=(0,e.useState)(!1),{success:v,error:w}=(0,h.d)(),x=(a,b)=>{c(c=>({...c,[a]:b})),u(!1)};return(0,d.jsxs)("form",{className:"max-w-md space-y-3",action:()=>q(async()=>{try{await l(b),u(!0),v("Settings saved")}catch(a){w("Failed to save settings",a instanceof Error?a.message:String(a))}}),children:[(0,d.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,d.jsx)("input",{type:"checkbox",checked:b.paused,onChange:a=>x("paused",a.target.checked)}),"Global pause"]}),(0,d.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,d.jsx)("input",{type:"checkbox",checked:b.releaseManagementEnabled,onChange:a=>x("releaseManagementEnabled",a.target.checked)}),"Enable release management (kill-switch)"]}),(0,d.jsx)(p,{label:"Daily cost limit (USD)",children:(0,d.jsx)("input",{type:"number",step:"0.5",value:b.dailyCostLimitUsd,onChange:a=>x("dailyCostLimitUsd",Number(a.target.value)),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"Poll interval (sec)",children:(0,d.jsx)("input",{type:"number",value:b.pollIntervalSec,onChange:a=>x("pollIntervalSec",Number(a.target.value)),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"Max turns",children:(0,d.jsx)("input",{type:"number",value:b.maxTurns,onChange:a=>x("maxTurns",Number(a.target.value)),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"Max job minutes",children:(0,d.jsx)("input",{type:"number",value:b.maxJobMinutes,onChange:a=>x("maxJobMinutes",Number(a.target.value)),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"Max CI wait minutes",children:(0,d.jsx)("input",{type:"number",value:b.maxCiWaitMinutes,onChange:a=>x("maxCiWaitMinutes",Number(a.target.value)),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"Max job cost (USD, 0 = off)",children:(0,d.jsx)("input",{type:"number",min:"0",step:"0.01",value:b.maxJobCostUsd,onChange:a=>x("maxJobCostUsd",Number(a.target.value)),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"Default agent",children:(0,d.jsx)(f.a,{value:b.defaultAgent,onChange:a=>x("defaultAgent",a)})}),(0,d.jsx)(p,{label:"Default model",children:(0,d.jsx)("input",{value:b.defaultModel,onChange:a=>x("defaultModel",a.target.value),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"claude CLI path",children:(0,d.jsx)("input",{value:b.claudePath,onChange:a=>x("claudePath",a.target.value),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"codex CLI path",children:(0,d.jsx)("input",{value:b.codexPath,onChange:a=>x("codexPath",a.target.value),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"gh CLI path",children:(0,d.jsx)("input",{value:b.ghPath,onChange:a=>x("ghPath",a.target.value),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"Max parallel jobs",children:(0,d.jsx)("input",{type:"number",value:b.maxParallelJobs,onChange:a=>x("maxParallelJobs",Number(a.target.value)),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"Log retention (days)",children:(0,d.jsx)("input",{type:"number",value:b.retentionDays,onChange:a=>x("retentionDays",Number(a.target.value)),className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"Telegram bot token",children:(0,d.jsx)("input",{value:b.telegramBotToken,onChange:a=>x("telegramBotToken",a.target.value),placeholder:"leave empty to disable notifications",className:"h-9 w-full rounded-md border border-input bg-background px-3 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background"})}),(0,d.jsx)(p,{label:"Telegram chat ID",children:(0,d.jsx)("input",{value:b.telegramChatId,onChange:a=>x("telegramChatId",a.target.value),className:n})}),(0,d.jsxs)("fieldset",{className:"space-y-3 border-t border-border pt-3",children:[(0,d.jsx)("legend",{className:"text-sm font-medium text-muted-foreground",children:"Slack"}),(0,d.jsx)(p,{label:"Incoming webhook URL",children:(0,d.jsx)("input",{value:b.slackWebhookUrl,onChange:a=>x("slackWebhookUrl",a.target.value),placeholder:"leave empty to disable Slack",className:n})})]}),(0,d.jsxs)("fieldset",{className:"space-y-3 border-t border-border pt-3",children:[(0,d.jsx)("legend",{className:"text-sm font-medium text-muted-foreground",children:"Email (SMTP)"}),(0,d.jsx)(p,{label:"SMTP host",children:(0,d.jsx)("input",{value:b.smtpHost,onChange:a=>x("smtpHost",a.target.value),placeholder:"leave empty to disable email",className:n})}),(0,d.jsx)(p,{label:"SMTP port",children:(0,d.jsx)("input",{type:"number",value:b.smtpPort,onChange:a=>x("smtpPort",Number(a.target.value)),className:n})}),(0,d.jsx)(p,{label:"SMTP username",children:(0,d.jsx)("input",{value:b.smtpUser,onChange:a=>x("smtpUser",a.target.value),autoComplete:"off",className:n})}),(0,d.jsx)(p,{label:"SMTP password",children:(0,d.jsx)("input",{type:"password",value:b.smtpPass,onChange:a=>x("smtpPass",a.target.value),autoComplete:"new-password",className:n})}),(0,d.jsx)(p,{label:"From address",children:(0,d.jsx)("input",{type:"email",value:b.emailFrom,onChange:a=>x("emailFrom",a.target.value),placeholder:"drydock@example.com",className:n})}),(0,d.jsx)(p,{label:"To address",children:(0,d.jsx)("input",{type:"email",value:b.emailTo,onChange:a=>x("emailTo",a.target.value),placeholder:"you@example.com",className:n})})]}),(0,d.jsxs)("fieldset",{className:"space-y-2 border-t border-border pt-3",children:[(0,d.jsx)("legend",{className:"text-sm font-medium text-muted-foreground",children:"Notify me about"}),i.map(a=>(0,d.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,d.jsx)("input",{type:"checkbox",checked:b.notifyEvents.includes(a),onChange:c=>x("notifyEvents",c.target.checked?[...b.notifyEvents,a]:b.notifyEvents.filter(b=>b!==a))}),j[a]]},a))]}),(0,d.jsxs)("div",{className:"flex items-center gap-2 border-t border-border pt-3",children:[(0,d.jsx)(g.$,{type:"submit",disabled:k,children:"Save settings"}),(0,d.jsx)(g.$,{type:"button",variant:"outline",onClick:()=>s(async()=>{try{await l(b),u(!0);let a=await m();if(0===a.length)return void w("No channels configured","Save a channel before sending a test.");let c=a.filter(a=>!a.ok);0===c.length?v(`Test sent to ${a.map(a=>a.channel).join(", ")}`):w("Some channels failed",c.map(a=>`${a.channel}: ${a.error??"unknown error"}`).join("; "))}catch(a){w("Failed to send test",a instanceof Error?a.message:String(a))}}),disabled:r,children:r?"Sending…":"Send test notification"}),t&&(0,d.jsx)("span",{className:"text-xs text-success",children:"Saved"})]})]})}function p({label:a,children:b}){return(0,d.jsxs)("label",{className:"flex flex-col gap-1 text-sm",children:[(0,d.jsx)("span",{children:a}),b]})}},8688:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>O,handler:()=>Q,routeModule:()=>P});var d=c(86565),e=c(66626),f=c(38002),g=c(52419),h=c(27345),i=c(75665),j=c(69880),k=c(61385),l=c(97785),m=c(38011),n=c(41897),o=c(74767),p=c(89447),q=c(8350),r=c(261),s=c(52714),t=c(46967),u=c(26713),v=c(10523),w=c(48120),x=c(14284),y=c(3077),z=c(70227),A=c(54369),B=c(1089),C=c(86439),D=c(77068),E=c(377),F=c(32185),G=c(28795),H=c(23578),I=c(70722),J=c(10013),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,75616)),"/home/runner/work/drydock/drydock/src/app/settings/page.tsx"]}]},{"global-error":[()=>Promise.resolve().then(c.t.bind(c,74111,23)),"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,38593)),"/home/runner/work/drydock/drydock/src/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,74111,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,76335,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45034,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,21205,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(85802).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}}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},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")},18528:(a,b,c)=>{"use strict";c.d(b,{SettingsForm:()=>d});let d=(0,c(37251).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")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},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")},31421:a=>{"use strict";a.exports=require("node:child_process")},33873:a=>{"use strict";a.exports=require("path")},33946:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"00b2a962b9d7ed62e5bb201b1481867ab0e71b0d41":()=>j,"4090852f1110128f4139b1cf4a73d044eec532306d":()=>i});var d=c(15465),e=c(66406),f=c(96684),g=c(74058),h=c(51605);async function i(a){let b=(0,h.mt)(),c=(0,h.DZ)(a);return await (0,f.Dp)(b.paused,c.paused),(0,e.revalidatePath)("/settings"),(0,e.revalidatePath)("/"),c}async function j(){return(0,g.Fl)()}(0,c(72269).D)([i,j]),(0,d.A)(i,"4090852f1110128f4139b1cf4a73d044eec532306d",null),(0,d.A)(j,"00b2a962b9d7ed62e5bb201b1481867ab0e71b0d41",null)},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")},48161:a=>{"use strict";a.exports=require("node:os")},51039:(a,b,c)=>{"use strict";c.d(b,{Bt:()=>h});var d=c(94448),e=c(54452),f=c(55710),g=c(84654);function h(a=(0,f.Lf)(),b){let c=(0,d.ll)`strftime('%Y-%m-%d', ${g.jobs.startedAt}, 'unixepoch') = strftime('%Y-%m-%d', 'now')`,i=a.select({total:(0,d.ll)`coalesce(sum(${g.jobs.costUsd}), 0)`}).from(g.jobs).where((0,e.Uo)(c,void 0===b?void 0:(0,d.ll)`${g.jobs.repoId} = ${b}`)).get();return i?.total??0}},51455:a=>{"use strict";a.exports=require("node:fs/promises")},51605:(a,b,c)=>{"use strict";c.d(b,{mt:()=>l,Jf:()=>n,DA:()=>o,DZ:()=>m});var d=c(54452),e=c(22579),f=c(55710),g=c(51039),h=c(84654);let i=["needs_human","job_failed","pr_opened","pr_merged","release_published","cost_limit","automation_paused"],j=e.Ik({paused:e.zM().default(!1),dailyCostLimitUsd:e.ai().nonnegative().default(10),pollIntervalSec:e.ai().int().positive().default(30),maxTurns:e.ai().int().positive().default(40),maxJobMinutes:e.ai().int().positive().default(30),maxCiWaitMinutes:e.ai().int().positive().default(60),maxJobCostUsd:e.ai().nonnegative().default(0),releaseManagementEnabled:e.zM().default(!1),defaultModel:e.Yj().default("claude-opus-4-7"),defaultAgent:e.k5(["claude","codex"]).default("claude"),claudePath:e.Yj().default("claude"),codexPath:e.Yj().default("codex"),ghPath:e.Yj().default("gh"),maxParallelJobs:e.ai().int().positive().default(3),telegramBotToken:e.Yj().default(""),telegramChatId:e.Yj().default(""),slackWebhookUrl:e.Yj().default(""),smtpHost:e.Yj().default(""),smtpPort:e.ai().int().positive().default(587),smtpUser:e.Yj().default(""),smtpPass:e.Yj().default(""),emailFrom:e.Yj().default(""),emailTo:e.Yj().default(""),notifyEvents:e.YO(e.k5(i)).default([...i]),retentionDays:e.ai().int().positive().default(30)}),k="global";function l(a=(0,f.Lf)()){let b=a.select().from(h.settings).where((0,d.eq)(h.settings.key,k)).get();if(!b)return j.parse({});try{return j.parse(JSON.parse(b.value))}catch{return j.parse({})}}function m(a,b=(0,f.Lf)()){let c=j.parse({...l(b),...a}),e=JSON.stringify(c);return b.select().from(h.settings).where((0,d.eq)(h.settings.key,k)).get()?b.update(h.settings).set({value:e}).where((0,d.eq)(h.settings.key,k)).run():b.insert(h.settings).values({key:k,value:e}).run(),c}function n(a=(0,f.Lf)()){let b=l(a);return b.paused?{allowed:!1,reason:"paused"}:(0,g.Bt)(a)>=b.dailyCostLimitUsd?{allowed:!1,reason:"cost_limit"}:{allowed:!0}}function o(a,b=(0,f.Lf)()){let c=b.select().from(h.repos).where((0,d.eq)(h.repos.id,a)).get();return!c||(0,g.Bt)(b,a)>=c.dailyCostLimitUsd?{allowed:!1,reason:"repo_cost_limit"}:{allowed:!0}}},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},61608:(a,b,c)=>{Promise.resolve().then(c.bind(c,4364))},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63480:(a,b,c)=>{"use strict";c.d(b,{f:()=>f});let d="[REDACTED]",e=[/\bgh[pousr]_[A-Za-z0-9]{36,}\b/g,/\bgithub_pat_[A-Za-z0-9_]{50,}\b/g,/\bglpat-[A-Za-z0-9_-]{20,}\b/g,/(Bearer )[A-Za-z0-9._~+/-]+=*/g,/(https?:\/\/)[^\s/@:]+:[^\s/@]+(?=@)/g,/(PRIVATE-TOKEN:\s*)\S+/gi,/(Basic )[A-Za-z0-9+/]+=*/g,/\b(?:AKIA|ASIA|AGPA|AIDA|ANPA|AROA)[0-9A-Z]{16}\b/g];function f(a){let b=a;for(let a of e)b=b.replace(a,(a,b)=>"string"==typeof b?`${b}${d}`:d);return b}},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},73024:a=>{"use strict";a.exports=require("node:fs")},73801:(a,b,c)=>{"use strict";c.d(b,{l:()=>g});var d=c(37477),e=c(54848),f=c(2210);let g=e.forwardRef(({className:a,...b},c)=>(0,d.jsx)("select",{ref:c,className:(0,f.cn)("h-9 rounded-md border border-input bg-background px-2.5 text-sm text-foreground","focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-1 focus:ring-offset-background","disabled:cursor-not-allowed disabled:opacity-50",a),...b}));g.displayName="Select"},74058:(a,b,c)=>{"use strict";c.d(b,{Fl:()=>j,JD:()=>i,QD:()=>k});var d=c(55710),e=c(63480),f=c(51605);let g=[{id:"telegram",isConfigured:a=>!!(a.telegramBotToken&&a.telegramChatId),send:(a,b,c)=>c.postJson(`https://api.telegram.org/bot${b.telegramBotToken}/sendMessage`,{chat_id:b.telegramChatId,text:a})},{id:"slack",isConfigured:a=>!!a.slackWebhookUrl,send:(a,b,c)=>c.postJson(b.slackWebhookUrl,{text:a})},{id:"email",isConfigured:a=>!!(a.smtpHost&&a.emailFrom&&a.emailTo),send:(a,b,c)=>c.sendMail({to:b.emailTo,from:b.emailFrom,subject:"Drydock notification",text:a},{host:b.smtpHost,port:b.smtpPort,user:b.smtpUser,pass:b.smtpPass})}];function h(a){return g.filter(b=>b.isConfigured(a))}async function i(a,b,c=(0,d.Lf)(),g=k){let j=(0,f.mt)(c);if(j.notifyEvents.includes(a))for(let a of h(j))try{await a.send(b,j,g)}catch(b){console.error(`[notify] ${a.id} delivery failed`,(0,e.f)(String(b)))}}async function j(a=(0,d.Lf)(),b=k){let c=(0,f.mt)(a),g=[];for(let a of h(c))try{await a.send("Drydock test notification — your channel is configured correctly.",c,b),g.push({channel:a.id,ok:!0})}catch(b){var i;console.error(`[notify] ${a.id} test failed`,(0,e.f)(String(b))),g.push({channel:a.id,ok:!1,error:(0,e.f)((i=b)instanceof Error?i.message:String(i))})}return g}let k={postJson:async(a,b)=>{let c=await fetch(a,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(b)});if(!c.ok)throw Error(`HTTP ${c.status}`)},sendMail:async(a,b)=>{let d=(await c.e(462).then(c.t.bind(c,17462,19))).createTransport({host:b.host,port:b.port,secure:465===b.port,auth:b.user?{user:b.user,pass:b.pass}:void 0});await d.sendMail(a)}}},74075:a=>{"use strict";a.exports=require("zlib")},74760:(a,b,c)=>{Promise.resolve().then(c.bind(c,18528))},75616:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h,dynamic:()=>g});var d=c(39747),e=c(18528),f=c(78293);let g="force-dynamic";function h(){let a=(0,f.mt)();return(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)("h1",{className:"text-2xl font-bold",children:"Settings"}),(0,d.jsx)(e.SettingsForm,{initial:a})]})}},76760:a=>{"use strict";a.exports=require("node:path")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},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")},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")},94735:a=>{"use strict";a.exports=require("events")},96684:(a,b,c)=>{"use strict";c.d(b,{CZ:()=>h,Dp:()=>g,PH:()=>f});var d=c(55710),e=c(74058);async function f(a,b,c=(0,d.Lf)(),g=e.QD){a?b.active||(b.active=!0,await (0,e.JD)("cost_limit","\uD83D\uDCB8 Daily cost limit reached — new jobs are paused until the budget resets.",c,g)):b.active=!1}async function g(a,b,c=(0,d.Lf)(),f=e.QD){!a&&b&&await (0,e.JD)("automation_paused","⏸️ Automation paused — no new jobs will start until it resumes.",c,f)}async function h(a=(0,d.Lf)(),b=e.QD){await (0,e.JD)("automation_paused","\uD83C\uDF19 Automation draining — finishing in-flight jobs, then shutting down.",a,b)}}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[692,0,895,251,309,185,579,868,541,777,710],()=>b(b.s=8688));module.exports=c})();
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/settings/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"6768":{"*":{"id":"92468","name":"*","chunks":[],"async":false}},"10182":{"*":{"id":"45308","name":"*","chunks":[],"async":false}},"10527":{"*":{"id":"59053","name":"*","chunks":[],"async":false}},"15247":{"*":{"id":"63943","name":"*","chunks":[],"async":false}},"24241":{"*":{"id":"5381","name":"*","chunks":[],"async":false}},"24835":{"*":{"id":"47887","name":"*","chunks":[],"async":false}},"26539":{"*":{"id":"10689","name":"*","chunks":[],"async":false}},"28598":{"*":{"id":"59540","name":"*","chunks":[],"async":false}},"28712":{"*":{"id":"68852","name":"*","chunks":[],"async":false}},"33487":{"*":{"id":"16916","name":"*","chunks":[],"async":false}},"40185":{"*":{"id":"92123","name":"*","chunks":[],"async":false}},"42626":{"*":{"id":"71416","name":"*","chunks":[],"async":false}},"53634":{"*":{"id":"57548","name":"*","chunks":[],"async":false}},"56083":{"*":{"id":"18008","name":"*","chunks":[],"async":false}},"61920":{"*":{"id":"28486","name":"*","chunks":[],"async":false}},"63878":{"*":{"id":"13221","name":"*","chunks":[],"async":false}},"64599":{"*":{"id":"98181","name":"*","chunks":[],"async":false}},"73183":{"*":{"id":"77927","name":"*","chunks":[],"async":false}},"75180":{"*":{"id":"75922","name":"*","chunks":[],"async":false}},"78693":{"*":{"id":"8130","name":"*","chunks":[],"async":false}},"80119":{"*":{"id":"86563","name":"*","chunks":[],"async":false}},"81349":{"*":{"id":"80758","name":"*","chunks":[],"async":false}},"84391":{"*":{"id":"9217","name":"*","chunks":[],"async":false}},"91185":{"*":{"id":"830","name":"*","chunks":[],"async":false}},"93218":{"*":{"id":"93298","name":"*","chunks":[],"async":false}},"95200":{"*":{"id":"67020","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/builtin/global-error.js":{"id":24241,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":24241,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/client-page.js":{"id":10182,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/esm/client/components/client-page.js":{"id":10182,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/client-segment.js":{"id":93218,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/esm/client/components/client-segment.js":{"id":93218,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":64599,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":64599,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/layout-router.js":{"id":26539,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/esm/client/components/layout-router.js":{"id":26539,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/render-from-template-context.js":{"id":80119,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":80119,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/framework/boundary-components.js":{"id":53634,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":53634,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":84391,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":84391,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\",\"display\":\"swap\"}],\"variableName\":\"inter\"}":{"id":27133,"name":"*","chunks":["700","static/chunks/700-c294ac6d353097ec.js","177","static/chunks/app/layout-f6048a8c9f541e0d.js"],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"JetBrains_Mono\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-jetbrains-mono\",\"display\":\"swap\"}],\"variableName\":\"jetbrainsMono\"}":{"id":30568,"name":"*","chunks":["700","static/chunks/700-c294ac6d353097ec.js","177","static/chunks/app/layout-f6048a8c9f541e0d.js"],"async":false},"/home/runner/work/drydock/drydock/src/app/globals.css":{"id":68661,"name":"*","chunks":["700","static/chunks/700-c294ac6d353097ec.js","177","static/chunks/app/layout-f6048a8c9f541e0d.js"],"async":false},"/home/runner/work/drydock/drydock/src/components/app-shell.tsx":{"id":56083,"name":"*","chunks":["700","static/chunks/700-c294ac6d353097ec.js","177","static/chunks/app/layout-f6048a8c9f541e0d.js"],"async":false},"/home/runner/work/drydock/drydock/src/components/providers.tsx":{"id":75180,"name":"*","chunks":["700","static/chunks/700-c294ac6d353097ec.js","177","static/chunks/app/layout-f6048a8c9f541e0d.js"],"async":false},"/home/runner/work/drydock/drydock/src/components/adr-review.tsx":{"id":95200,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/needs-human-list.tsx":{"id":63878,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/job-metrics.tsx":{"id":10527,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/log-viewer.tsx":{"id":73183,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/pr-question-panel.tsx":{"id":78693,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/cost-chart.tsx":{"id":28598,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/cost-export-controls.tsx":{"id":28712,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/dashboard-live.tsx":{"id":81349,"name":"*","chunks":["700","static/chunks/700-c294ac6d353097ec.js","974","static/chunks/app/page-ab315dafdd344c06.js"],"async":false},"/home/runner/work/drydock/drydock/src/components/prompt-editor.tsx":{"id":6768,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/settings-form.tsx":{"id":91185,"name":"*","chunks":["750","static/chunks/750-1062dd98095cb147.js","66","static/chunks/66-a23941cbbf88d6cd.js","662","static/chunks/app/settings/page-b6af5304dba71aa3.js"],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/app-dir/link.js":{"id":42626,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/esm/client/app-dir/link.js":{"id":42626,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/issue-board.tsx":{"id":33487,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/repo-automation-bar.tsx":{"id":15247,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/repo-release-panel.tsx":{"id":40185,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/repo-settings-bar.tsx":{"id":61920,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/repo-webhook-panel.tsx":{"id":24835,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/home/runner/work/drydock/drydock/src/":[],"/home/runner/work/drydock/drydock/src/app/layout":[{"inlined":false,"path":"static/css/64af283f7f467bc0.css"}],"/home/runner/work/drydock/drydock/src/app/page":[],"/home/runner/work/drydock/drydock/src/app/settings/page":[]},"rscModuleMapping":{"6768":{"*":{"id":"30070","name":"*","chunks":[],"async":false}},"10182":{"*":{"id":"35598","name":"*","chunks":[],"async":false}},"10527":{"*":{"id":"42919","name":"*","chunks":[],"async":false}},"15247":{"*":{"id":"7050","name":"*","chunks":[],"async":false}},"24241":{"*":{"id":"74111","name":"*","chunks":[],"async":false}},"24835":{"*":{"id":"72693","name":"*","chunks":[],"async":false}},"26539":{"*":{"id":"99607","name":"*","chunks":[],"async":false}},"28598":{"*":{"id":"92852","name":"*","chunks":[],"async":false}},"28712":{"*":{"id":"43917","name":"*","chunks":[],"async":false}},"33487":{"*":{"id":"20096","name":"*","chunks":[],"async":false}},"40185":{"*":{"id":"39425","name":"*","chunks":[],"async":false}},"42626":{"*":{"id":"30426","name":"*","chunks":[],"async":false}},"53634":{"*":{"id":"60518","name":"*","chunks":[],"async":false}},"56083":{"*":{"id":"89402","name":"*","chunks":[],"async":false}},"61920":{"*":{"id":"34736","name":"*","chunks":[],"async":false}},"63878":{"*":{"id":"40628","name":"*","chunks":[],"async":false}},"64599":{"*":{"id":"22047","name":"*","chunks":[],"async":false}},"68661":{"*":{"id":"63475","name":"*","chunks":[],"async":false}},"73183":{"*":{"id":"49033","name":"*","chunks":[],"async":false}},"75180":{"*":{"id":"99168","name":"*","chunks":[],"async":false}},"78693":{"*":{"id":"37260","name":"*","chunks":[],"async":false}},"80119":{"*":{"id":"25241","name":"*","chunks":[],"async":false}},"81349":{"*":{"id":"78723","name":"*","chunks":[],"async":false}},"84391":{"*":{"id":"89871","name":"*","chunks":[],"async":false}},"91185":{"*":{"id":"18528","name":"*","chunks":[],"async":false}},"93218":{"*":{"id":"77192","name":"*","chunks":[],"async":false}},"95200":{"*":{"id":"24656","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/settings/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"125":{"*":{"id":"28820","name":"*","chunks":[],"async":false}},"7848":{"*":{"id":"27840","name":"*","chunks":[],"async":false}},"10182":{"*":{"id":"45308","name":"*","chunks":[],"async":false}},"10527":{"*":{"id":"59053","name":"*","chunks":[],"async":false}},"15247":{"*":{"id":"63943","name":"*","chunks":[],"async":false}},"24241":{"*":{"id":"5381","name":"*","chunks":[],"async":false}},"24835":{"*":{"id":"47887","name":"*","chunks":[],"async":false}},"26539":{"*":{"id":"10689","name":"*","chunks":[],"async":false}},"28598":{"*":{"id":"59540","name":"*","chunks":[],"async":false}},"28640":{"*":{"id":"21626","name":"*","chunks":[],"async":false}},"28712":{"*":{"id":"68852","name":"*","chunks":[],"async":false}},"32073":{"*":{"id":"66448","name":"*","chunks":[],"async":false}},"40256":{"*":{"id":"96949","name":"*","chunks":[],"async":false}},"42626":{"*":{"id":"71416","name":"*","chunks":[],"async":false}},"45926":{"*":{"id":"81920","name":"*","chunks":[],"async":false}},"53634":{"*":{"id":"57548","name":"*","chunks":[],"async":false}},"56083":{"*":{"id":"18008","name":"*","chunks":[],"async":false}},"61920":{"*":{"id":"28486","name":"*","chunks":[],"async":false}},"64599":{"*":{"id":"98181","name":"*","chunks":[],"async":false}},"73036":{"*":{"id":"4364","name":"*","chunks":[],"async":false}},"73183":{"*":{"id":"77927","name":"*","chunks":[],"async":false}},"75180":{"*":{"id":"75922","name":"*","chunks":[],"async":false}},"80119":{"*":{"id":"86563","name":"*","chunks":[],"async":false}},"84391":{"*":{"id":"9217","name":"*","chunks":[],"async":false}},"93218":{"*":{"id":"93298","name":"*","chunks":[],"async":false}},"94973":{"*":{"id":"62427","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/builtin/global-error.js":{"id":24241,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":24241,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/client-page.js":{"id":10182,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/esm/client/components/client-page.js":{"id":10182,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/client-segment.js":{"id":93218,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/esm/client/components/client-segment.js":{"id":93218,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":64599,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":64599,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/layout-router.js":{"id":26539,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/esm/client/components/layout-router.js":{"id":26539,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/components/render-from-template-context.js":{"id":80119,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":80119,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/framework/boundary-components.js":{"id":53634,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":53634,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":84391,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":84391,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-inter\",\"display\":\"swap\"}],\"variableName\":\"inter\"}":{"id":27133,"name":"*","chunks":["700","static/chunks/700-c294ac6d353097ec.js","177","static/chunks/app/layout-f6048a8c9f541e0d.js"],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"JetBrains_Mono\",\"arguments\":[{\"subsets\":[\"latin\"],\"variable\":\"--font-jetbrains-mono\",\"display\":\"swap\"}],\"variableName\":\"jetbrainsMono\"}":{"id":30568,"name":"*","chunks":["700","static/chunks/700-c294ac6d353097ec.js","177","static/chunks/app/layout-f6048a8c9f541e0d.js"],"async":false},"/home/runner/work/drydock/drydock/src/app/globals.css":{"id":68661,"name":"*","chunks":["700","static/chunks/700-c294ac6d353097ec.js","177","static/chunks/app/layout-f6048a8c9f541e0d.js"],"async":false},"/home/runner/work/drydock/drydock/src/components/app-shell.tsx":{"id":56083,"name":"*","chunks":["700","static/chunks/700-c294ac6d353097ec.js","177","static/chunks/app/layout-f6048a8c9f541e0d.js"],"async":false},"/home/runner/work/drydock/drydock/src/components/providers.tsx":{"id":75180,"name":"*","chunks":["700","static/chunks/700-c294ac6d353097ec.js","177","static/chunks/app/layout-f6048a8c9f541e0d.js"],"async":false},"/home/runner/work/drydock/drydock/src/components/adr-review.tsx":{"id":32073,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/cost-chart.tsx":{"id":28598,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/cost-export-controls.tsx":{"id":28712,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/needs-human-list.tsx":{"id":45926,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/job-metrics.tsx":{"id":10527,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/log-viewer.tsx":{"id":73183,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/pr-question-panel.tsx":{"id":28640,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/dashboard-live.tsx":{"id":7848,"name":"*","chunks":["700","static/chunks/700-c294ac6d353097ec.js","974","static/chunks/app/page-382b7fef1f749214.js"],"async":false},"/home/runner/work/drydock/drydock/src/components/prompt-editor.tsx":{"id":125,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/settings-form.tsx":{"id":73036,"name":"*","chunks":["750","static/chunks/750-1062dd98095cb147.js","66","static/chunks/66-a23941cbbf88d6cd.js","662","static/chunks/app/settings/page-5b2b8683fa6afdf4.js"],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/client/app-dir/link.js":{"id":42626,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/node_modules/.pnpm/next@16.2.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next/dist/esm/client/app-dir/link.js":{"id":42626,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/issue-board.tsx":{"id":94973,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/repo-automation-bar.tsx":{"id":15247,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/repo-release-panel.tsx":{"id":40256,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/repo-settings-bar.tsx":{"id":61920,"name":"*","chunks":[],"async":false},"/home/runner/work/drydock/drydock/src/components/repo-webhook-panel.tsx":{"id":24835,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/home/runner/work/drydock/drydock/src/":[],"/home/runner/work/drydock/drydock/src/app/layout":[{"inlined":false,"path":"static/css/64af283f7f467bc0.css"}],"/home/runner/work/drydock/drydock/src/app/page":[],"/home/runner/work/drydock/drydock/src/app/settings/page":[]},"rscModuleMapping":{"125":{"*":{"id":"30070","name":"*","chunks":[],"async":false}},"7848":{"*":{"id":"78723","name":"*","chunks":[],"async":false}},"10182":{"*":{"id":"35598","name":"*","chunks":[],"async":false}},"10527":{"*":{"id":"42919","name":"*","chunks":[],"async":false}},"15247":{"*":{"id":"7050","name":"*","chunks":[],"async":false}},"24241":{"*":{"id":"74111","name":"*","chunks":[],"async":false}},"24835":{"*":{"id":"72693","name":"*","chunks":[],"async":false}},"26539":{"*":{"id":"99607","name":"*","chunks":[],"async":false}},"28598":{"*":{"id":"92852","name":"*","chunks":[],"async":false}},"28640":{"*":{"id":"37260","name":"*","chunks":[],"async":false}},"28712":{"*":{"id":"43917","name":"*","chunks":[],"async":false}},"32073":{"*":{"id":"24656","name":"*","chunks":[],"async":false}},"40256":{"*":{"id":"39425","name":"*","chunks":[],"async":false}},"42626":{"*":{"id":"30426","name":"*","chunks":[],"async":false}},"45926":{"*":{"id":"40628","name":"*","chunks":[],"async":false}},"53634":{"*":{"id":"60518","name":"*","chunks":[],"async":false}},"56083":{"*":{"id":"89402","name":"*","chunks":[],"async":false}},"61920":{"*":{"id":"34736","name":"*","chunks":[],"async":false}},"64599":{"*":{"id":"22047","name":"*","chunks":[],"async":false}},"68661":{"*":{"id":"63475","name":"*","chunks":[],"async":false}},"73036":{"*":{"id":"18528","name":"*","chunks":[],"async":false}},"73183":{"*":{"id":"49033","name":"*","chunks":[],"async":false}},"75180":{"*":{"id":"99168","name":"*","chunks":[],"async":false}},"80119":{"*":{"id":"25241","name":"*","chunks":[],"async":false}},"84391":{"*":{"id":"89871","name":"*","chunks":[],"async":false}},"93218":{"*":{"id":"77192","name":"*","chunks":[],"async":false}},"94973":{"*":{"id":"20096","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "/_not-found/page": "app/_not-found/page.js",
3
3
  "/_global-error/page": "app/_global-error/page.js",
4
- "/api/cost/export/route": "app/api/cost/export/route.js",
5
4
  "/api/sse/jobs/[id]/route": "app/api/sse/jobs/[id]/route.js",
6
- "/api/sse/dashboard/route": "app/api/sse/dashboard/route.js",
7
5
  "/api/webhooks/[repoId]/route": "app/api/webhooks/[repoId]/route.js",
6
+ "/api/cost/export/route": "app/api/cost/export/route.js",
7
+ "/api/sse/dashboard/route": "app/api/sse/dashboard/route.js",
8
8
  "/adrs/page": "app/adrs/page.js",
9
+ "/costs/page": "app/costs/page.js",
9
10
  "/needs-human/page": "app/needs-human/page.js",
10
11
  "/jobs/[id]/page": "app/jobs/[id]/page.js",
11
- "/costs/page": "app/costs/page.js",
12
12
  "/page": "app/page.js",
13
13
  "/prompts/page": "app/prompts/page.js",
14
14
  "/settings/page": "app/settings/page.js",
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/ZVOWTwaHoyx4ZcNdVzldW/_buildManifest.js","static/ZVOWTwaHoyx4ZcNdVzldW/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-70a7e4b19851d530.js","static/chunks/ec24c40a-96b312d151fe54b7.js","static/chunks/586-4f743a204f11d627.js","static/chunks/main-app-94b142817f01731e.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/g7t6i0qpogjrDGpmNgFei/_buildManifest.js","static/g7t6i0qpogjrDGpmNgFei/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-70a7e4b19851d530.js","static/chunks/ec24c40a-96b312d151fe54b7.js","static/chunks/586-4f743a204f11d627.js","static/chunks/main-app-94b142817f01731e.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-70a7e4b19851d530.js"/><script src="/_next/static/chunks/ec24c40a-96b312d151fe54b7.js" async=""></script><script src="/_next/static/chunks/586-4f743a204f11d627.js" async=""></script><script src="/_next/static/chunks/main-app-94b142817f01731e.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-70a7e4b19851d530.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[26539,[],\"\"]\n3:I[80119,[],\"\"]\n4:I[53634,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[53634,[],\"ViewportBoundary\"]\na:I[53634,[],\"MetadataBoundary\"]\nc:I[24241,[],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{}]}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"ZVOWTwaHoyx4ZcNdVzldW\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-70a7e4b19851d530.js"/><script src="/_next/static/chunks/ec24c40a-96b312d151fe54b7.js" async=""></script><script src="/_next/static/chunks/586-4f743a204f11d627.js" async=""></script><script src="/_next/static/chunks/main-app-94b142817f01731e.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-70a7e4b19851d530.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[26539,[],\"\"]\n3:I[80119,[],\"\"]\n4:I[53634,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[53634,[],\"ViewportBoundary\"]\na:I[53634,[],\"MetadataBoundary\"]\nc:I[24241,[],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{}]}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"g7t6i0qpogjrDGpmNgFei\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
@@ -1 +1 @@
1
- self.__RSC_SERVER_MANIFEST="{\"node\":{\"40de5a57681dbe5ca80648b33c998bde57d759d638\":{\"workers\":{\"app/adrs/page\":{\"moduleId\":\"20484\",\"async\":false}},\"filename\":\"lib/adr/actions.ts\",\"exportedName\":\"approveAdrAction\"},\"606bb26fdbca82412b870e2892fcc3c8828ac40894\":{\"workers\":{\"app/adrs/page\":{\"moduleId\":\"20484\",\"async\":false}},\"filename\":\"lib/adr/actions.ts\",\"exportedName\":\"rejectAdrAction\"},\"4004dc676abfbb183e304c8bb701795d276c5a4fac\":{\"workers\":{\"app/needs-human/page\":{\"moduleId\":\"1764\",\"async\":false}},\"filename\":\"lib/orchestrator/job-actions.ts\",\"exportedName\":\"abortJobAction\"},\"40a44c063e7cc8d2eeb5c94f427320d673f9f74c80\":{\"workers\":{\"app/needs-human/page\":{\"moduleId\":\"1764\",\"async\":false}},\"filename\":\"lib/orchestrator/job-actions.ts\",\"exportedName\":\"requeueJobAction\"},\"603822fc53dc2a739ef6d16764e9fe987b64e6e52b\":{\"workers\":{\"app/jobs/[id]/page\":{\"moduleId\":\"62588\",\"async\":false}},\"filename\":\"lib/orchestrator/pr-question-actions.ts\",\"exportedName\":\"askPrQuestionAction\"},\"40b0326247d8ba15a7ec2aa14367a032e935b0c991\":{\"workers\":{\"app/page\":{\"moduleId\":\"59797\",\"async\":false}},\"filename\":\"lib/fs/actions.ts\",\"exportedName\":\"browseDirectoryAction\"},\"401fb8bf77b327efde9ce1d88828480e04d4eb02b6\":{\"workers\":{\"app/page\":{\"moduleId\":\"59797\",\"async\":false},\"app/repos/[id]/page\":{\"moduleId\":\"10347\",\"async\":false}},\"filename\":\"lib/repos/actions.ts\",\"exportedName\":\"addRepoAction\"},\"4081fe66351cb1edc1bea12c4ff39511d1f5c80b8e\":{\"workers\":{\"app/page\":{\"moduleId\":\"59797\",\"async\":false},\"app/repos/[id]/page\":{\"moduleId\":\"10347\",\"async\":false}},\"filename\":\"lib/repos/actions.ts\",\"exportedName\":\"removeRepoAction\"},\"60aa00cea5391312df3bd5d87b62107232629d9ddf\":{\"workers\":{\"app/page\":{\"moduleId\":\"59797\",\"async\":false},\"app/repos/[id]/page\":{\"moduleId\":\"10347\",\"async\":false}},\"filename\":\"lib/repos/actions.ts\",\"exportedName\":\"updateRepoAction\"},\"40222afb695d34df432ba1fff565559fb8376b3466\":{\"workers\":{\"app/prompts/page\":{\"moduleId\":\"51479\",\"async\":false}},\"filename\":\"lib/prompts/actions.ts\",\"exportedName\":\"saveTemplateAction\"},\"60cf61daa09df5b2e7809dc0566b2260b604bb4a5e\":{\"workers\":{\"app/prompts/page\":{\"moduleId\":\"51479\",\"async\":false}},\"filename\":\"lib/prompts/actions.ts\",\"exportedName\":\"loadTemplateAction\"},\"004fc144b9184228f3a3cb1160f1bae6d796ea1bc2\":{\"workers\":{\"app/settings/page\":{\"moduleId\":\"58642\",\"async\":false}},\"filename\":\"lib/settings/actions.ts\",\"exportedName\":\"sendTestNotificationAction\"},\"40f56625b238da668748b30cd1053e2855e7edb65d\":{\"workers\":{\"app/settings/page\":{\"moduleId\":\"58642\",\"async\":false}},\"filename\":\"lib/settings/actions.ts\",\"exportedName\":\"saveSettingsAction\"},\"40be4fd67ee01d04d9d06b8b0ebdf61973cc7772ce\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"10347\",\"async\":false}},\"filename\":\"lib/issues/actions.ts\",\"exportedName\":\"syncRepoIssuesAction\"},\"6002889809968107abeee93d7ec4ece86acf9b6bc3\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"10347\",\"async\":false}},\"filename\":\"lib/issues/actions.ts\",\"exportedName\":\"addToQueueAction\"},\"602389e92f0be1f0a9d6d05d5f789a37c72ce9c4b8\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"10347\",\"async\":false}},\"filename\":\"lib/issues/actions.ts\",\"exportedName\":\"reorderIssuesAction\"},\"605a04cfd2c273c9b0a48be6f50b766a29719f6d54\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"10347\",\"async\":false}},\"filename\":\"lib/issues/actions.ts\",\"exportedName\":\"viewIssueAction\"},\"606828166ceff0e5e50ec258c9b4b7dd64acf43f39\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"10347\",\"async\":false}},\"filename\":\"lib/issues/actions.ts\",\"exportedName\":\"removeFromQueueAction\"},\"6084ad14f5be9f0b3584cf9259925b1a1fc38268bd\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"10347\",\"async\":false}},\"filename\":\"lib/issues/actions.ts\",\"exportedName\":\"listSubtasksAction\"},\"60d83ff54e99c935dc318cdc82c866ca96ec7fa7fd\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"10347\",\"async\":false}},\"filename\":\"lib/issues/actions.ts\",\"exportedName\":\"startIssueAction\"},\"7004bb0548118d37ef2ada097932c23c13e3f94055\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"10347\",\"async\":false}},\"filename\":\"lib/issues/actions.ts\",\"exportedName\":\"commentIssueAction\"},\"7011eef41bcd9eaafcb5b2963e0ed155d07ac83813\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"10347\",\"async\":false}},\"filename\":\"lib/issues/actions.ts\",\"exportedName\":\"editIssueAction\"},\"70a9a4b3f77ca0453cf87be869498869a8f2536d6e\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"10347\",\"async\":false}},\"filename\":\"lib/issues/actions.ts\",\"exportedName\":\"setIssueStateAction\"},\"78d70b3c5427f412874e3392cc6836cc3ce206e0af\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"10347\",\"async\":false}},\"filename\":\"lib/issues/actions.ts\",\"exportedName\":\"setIssueLabelsAction\"},\"4017453366d48cf55cf90c981a5189c2f438bcbbfc\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"10347\",\"async\":false}},\"filename\":\"lib/release/actions.ts\",\"exportedName\":\"publishReleaseAction\"},\"40c4a65af663290ef449d3b904dc12b4b0c4c1c8a0\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"10347\",\"async\":false}},\"filename\":\"lib/release/actions.ts\",\"exportedName\":\"previewReleaseAction\"}},\"edge\":{},\"encryptionKey\":\"process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY\"}"
1
+ self.__RSC_SERVER_MANIFEST="{\"node\":{\"402388021cf239fe76ba9e3bd4f97d8d80faa595cb\":{\"workers\":{\"app/adrs/page\":{\"moduleId\":\"66037\",\"async\":false}},\"filename\":\"lib/adr/actions.ts\",\"exportedName\":\"approveAdrAction\"},\"60a83631d689d4c42d7227d97da686c7a5faf7ceed\":{\"workers\":{\"app/adrs/page\":{\"moduleId\":\"66037\",\"async\":false}},\"filename\":\"lib/adr/actions.ts\",\"exportedName\":\"rejectAdrAction\"},\"40202d594c9726093b135455261499ffc238d19a1b\":{\"workers\":{\"app/needs-human/page\":{\"moduleId\":\"23294\",\"async\":false}},\"filename\":\"lib/orchestrator/job-actions.ts\",\"exportedName\":\"abortJobAction\"},\"407aba604929f05fd133f6dfa9ff0019f6dae0fe2f\":{\"workers\":{\"app/needs-human/page\":{\"moduleId\":\"23294\",\"async\":false}},\"filename\":\"lib/orchestrator/job-actions.ts\",\"exportedName\":\"requeueJobAction\"},\"60af62b463a6b67b6b811215f50600eb067551acf2\":{\"workers\":{\"app/jobs/[id]/page\":{\"moduleId\":\"31978\",\"async\":false}},\"filename\":\"lib/orchestrator/pr-question-actions.ts\",\"exportedName\":\"askPrQuestionAction\"},\"40142c9da1e26d7aeaa790db9a6795af69a9de4aea\":{\"workers\":{\"app/page\":{\"moduleId\":\"13917\",\"async\":false}},\"filename\":\"lib/fs/actions.ts\",\"exportedName\":\"browseDirectoryAction\"},\"4013304a93859665f54c2bac312ba5883bf710165f\":{\"workers\":{\"app/page\":{\"moduleId\":\"13917\",\"async\":false},\"app/repos/[id]/page\":{\"moduleId\":\"59410\",\"async\":false}},\"filename\":\"lib/repos/actions.ts\",\"exportedName\":\"removeRepoAction\"},\"401545d16e784c563161a1b4dd98bf5411129e13eb\":{\"workers\":{\"app/page\":{\"moduleId\":\"13917\",\"async\":false},\"app/repos/[id]/page\":{\"moduleId\":\"59410\",\"async\":false}},\"filename\":\"lib/repos/actions.ts\",\"exportedName\":\"addRepoAction\"},\"60b4ffb77facbef3de2d7373e591218110583105bb\":{\"workers\":{\"app/page\":{\"moduleId\":\"13917\",\"async\":false},\"app/repos/[id]/page\":{\"moduleId\":\"59410\",\"async\":false}},\"filename\":\"lib/repos/actions.ts\",\"exportedName\":\"updateRepoAction\"},\"409688d9f8b7109c3280b9b44c4fbd61ec472cb2ef\":{\"workers\":{\"app/prompts/page\":{\"moduleId\":\"41799\",\"async\":false}},\"filename\":\"lib/prompts/actions.ts\",\"exportedName\":\"saveTemplateAction\"},\"607de74a1473ac427360bc914ab1e72ec6fc7563d8\":{\"workers\":{\"app/prompts/page\":{\"moduleId\":\"41799\",\"async\":false}},\"filename\":\"lib/prompts/actions.ts\",\"exportedName\":\"loadTemplateAction\"},\"00b2a962b9d7ed62e5bb201b1481867ab0e71b0d41\":{\"workers\":{\"app/settings/page\":{\"moduleId\":\"33946\",\"async\":false}},\"filename\":\"lib/settings/actions.ts\",\"exportedName\":\"sendTestNotificationAction\"},\"4090852f1110128f4139b1cf4a73d044eec532306d\":{\"workers\":{\"app/settings/page\":{\"moduleId\":\"33946\",\"async\":false}},\"filename\":\"lib/settings/actions.ts\",\"exportedName\":\"saveSettingsAction\"},\"40edb32d0f19cf9dfb999aa52424e5effc621586e5\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"59410\",\"async\":false}},\"filename\":\"lib/issues/actions.ts\",\"exportedName\":\"syncRepoIssuesAction\"},\"602827ad72db86d5341c318e6263fc1168ac051dbd\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"59410\",\"async\":false}},\"filename\":\"lib/issues/actions.ts\",\"exportedName\":\"removeFromQueueAction\"},\"60c4f9de4bd6166ee9f372eedd1023b3a8c8d0adad\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"59410\",\"async\":false}},\"filename\":\"lib/issues/actions.ts\",\"exportedName\":\"listSubtasksAction\"},\"60c4fd79531d61bf51cc2ebc90eca47cb11ae154b7\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"59410\",\"async\":false}},\"filename\":\"lib/issues/actions.ts\",\"exportedName\":\"startIssueAction\"},\"60d0061590f6703e2098b668fd45e712610c3da7ca\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"59410\",\"async\":false}},\"filename\":\"lib/issues/actions.ts\",\"exportedName\":\"addToQueueAction\"},\"60e0e52af87bbfe8e7a1521095070a72abd5759720\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"59410\",\"async\":false}},\"filename\":\"lib/issues/actions.ts\",\"exportedName\":\"reorderIssuesAction\"},\"60f8185da31741f275b57b866d309e723334a4e36f\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"59410\",\"async\":false}},\"filename\":\"lib/issues/actions.ts\",\"exportedName\":\"viewIssueAction\"},\"70b85da4517941b7d1571923c3a68ea6bb3fec05a1\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"59410\",\"async\":false}},\"filename\":\"lib/issues/actions.ts\",\"exportedName\":\"editIssueAction\"},\"70d1c0f28ea0312c5677b60eceb4f213056acfcda3\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"59410\",\"async\":false}},\"filename\":\"lib/issues/actions.ts\",\"exportedName\":\"setIssueStateAction\"},\"70d5dd10640e5351881dd9754ece7474c161b21990\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"59410\",\"async\":false}},\"filename\":\"lib/issues/actions.ts\",\"exportedName\":\"commentIssueAction\"},\"78419259d1ecda5a1b98a83330d221211a9b4e4672\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"59410\",\"async\":false}},\"filename\":\"lib/issues/actions.ts\",\"exportedName\":\"setIssueLabelsAction\"},\"40ad78727d00427eee62c00d5fe4a0c4eb5fd6c2e2\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"59410\",\"async\":false}},\"filename\":\"lib/release/actions.ts\",\"exportedName\":\"previewReleaseAction\"},\"40de1fe5a29c732fb7eb65c670a9a369946829223a\":{\"workers\":{\"app/repos/[id]/page\":{\"moduleId\":\"59410\",\"async\":false}},\"filename\":\"lib/release/actions.ts\",\"exportedName\":\"publishReleaseAction\"}},\"edge\":{},\"encryptionKey\":\"process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY\"}"
@@ -1 +1 @@
1
- {"node":{"40de5a57681dbe5ca80648b33c998bde57d759d638":{"workers":{"app/adrs/page":{"moduleId":"20484","async":false}},"filename":"lib/adr/actions.ts","exportedName":"approveAdrAction"},"606bb26fdbca82412b870e2892fcc3c8828ac40894":{"workers":{"app/adrs/page":{"moduleId":"20484","async":false}},"filename":"lib/adr/actions.ts","exportedName":"rejectAdrAction"},"4004dc676abfbb183e304c8bb701795d276c5a4fac":{"workers":{"app/needs-human/page":{"moduleId":"1764","async":false}},"filename":"lib/orchestrator/job-actions.ts","exportedName":"abortJobAction"},"40a44c063e7cc8d2eeb5c94f427320d673f9f74c80":{"workers":{"app/needs-human/page":{"moduleId":"1764","async":false}},"filename":"lib/orchestrator/job-actions.ts","exportedName":"requeueJobAction"},"603822fc53dc2a739ef6d16764e9fe987b64e6e52b":{"workers":{"app/jobs/[id]/page":{"moduleId":"62588","async":false}},"filename":"lib/orchestrator/pr-question-actions.ts","exportedName":"askPrQuestionAction"},"40b0326247d8ba15a7ec2aa14367a032e935b0c991":{"workers":{"app/page":{"moduleId":"59797","async":false}},"filename":"lib/fs/actions.ts","exportedName":"browseDirectoryAction"},"401fb8bf77b327efde9ce1d88828480e04d4eb02b6":{"workers":{"app/page":{"moduleId":"59797","async":false},"app/repos/[id]/page":{"moduleId":"10347","async":false}},"filename":"lib/repos/actions.ts","exportedName":"addRepoAction"},"4081fe66351cb1edc1bea12c4ff39511d1f5c80b8e":{"workers":{"app/page":{"moduleId":"59797","async":false},"app/repos/[id]/page":{"moduleId":"10347","async":false}},"filename":"lib/repos/actions.ts","exportedName":"removeRepoAction"},"60aa00cea5391312df3bd5d87b62107232629d9ddf":{"workers":{"app/page":{"moduleId":"59797","async":false},"app/repos/[id]/page":{"moduleId":"10347","async":false}},"filename":"lib/repos/actions.ts","exportedName":"updateRepoAction"},"40222afb695d34df432ba1fff565559fb8376b3466":{"workers":{"app/prompts/page":{"moduleId":"51479","async":false}},"filename":"lib/prompts/actions.ts","exportedName":"saveTemplateAction"},"60cf61daa09df5b2e7809dc0566b2260b604bb4a5e":{"workers":{"app/prompts/page":{"moduleId":"51479","async":false}},"filename":"lib/prompts/actions.ts","exportedName":"loadTemplateAction"},"004fc144b9184228f3a3cb1160f1bae6d796ea1bc2":{"workers":{"app/settings/page":{"moduleId":"58642","async":false}},"filename":"lib/settings/actions.ts","exportedName":"sendTestNotificationAction"},"40f56625b238da668748b30cd1053e2855e7edb65d":{"workers":{"app/settings/page":{"moduleId":"58642","async":false}},"filename":"lib/settings/actions.ts","exportedName":"saveSettingsAction"},"40be4fd67ee01d04d9d06b8b0ebdf61973cc7772ce":{"workers":{"app/repos/[id]/page":{"moduleId":"10347","async":false}},"filename":"lib/issues/actions.ts","exportedName":"syncRepoIssuesAction"},"6002889809968107abeee93d7ec4ece86acf9b6bc3":{"workers":{"app/repos/[id]/page":{"moduleId":"10347","async":false}},"filename":"lib/issues/actions.ts","exportedName":"addToQueueAction"},"602389e92f0be1f0a9d6d05d5f789a37c72ce9c4b8":{"workers":{"app/repos/[id]/page":{"moduleId":"10347","async":false}},"filename":"lib/issues/actions.ts","exportedName":"reorderIssuesAction"},"605a04cfd2c273c9b0a48be6f50b766a29719f6d54":{"workers":{"app/repos/[id]/page":{"moduleId":"10347","async":false}},"filename":"lib/issues/actions.ts","exportedName":"viewIssueAction"},"606828166ceff0e5e50ec258c9b4b7dd64acf43f39":{"workers":{"app/repos/[id]/page":{"moduleId":"10347","async":false}},"filename":"lib/issues/actions.ts","exportedName":"removeFromQueueAction"},"6084ad14f5be9f0b3584cf9259925b1a1fc38268bd":{"workers":{"app/repos/[id]/page":{"moduleId":"10347","async":false}},"filename":"lib/issues/actions.ts","exportedName":"listSubtasksAction"},"60d83ff54e99c935dc318cdc82c866ca96ec7fa7fd":{"workers":{"app/repos/[id]/page":{"moduleId":"10347","async":false}},"filename":"lib/issues/actions.ts","exportedName":"startIssueAction"},"7004bb0548118d37ef2ada097932c23c13e3f94055":{"workers":{"app/repos/[id]/page":{"moduleId":"10347","async":false}},"filename":"lib/issues/actions.ts","exportedName":"commentIssueAction"},"7011eef41bcd9eaafcb5b2963e0ed155d07ac83813":{"workers":{"app/repos/[id]/page":{"moduleId":"10347","async":false}},"filename":"lib/issues/actions.ts","exportedName":"editIssueAction"},"70a9a4b3f77ca0453cf87be869498869a8f2536d6e":{"workers":{"app/repos/[id]/page":{"moduleId":"10347","async":false}},"filename":"lib/issues/actions.ts","exportedName":"setIssueStateAction"},"78d70b3c5427f412874e3392cc6836cc3ce206e0af":{"workers":{"app/repos/[id]/page":{"moduleId":"10347","async":false}},"filename":"lib/issues/actions.ts","exportedName":"setIssueLabelsAction"},"4017453366d48cf55cf90c981a5189c2f438bcbbfc":{"workers":{"app/repos/[id]/page":{"moduleId":"10347","async":false}},"filename":"lib/release/actions.ts","exportedName":"publishReleaseAction"},"40c4a65af663290ef449d3b904dc12b4b0c4c1c8a0":{"workers":{"app/repos/[id]/page":{"moduleId":"10347","async":false}},"filename":"lib/release/actions.ts","exportedName":"previewReleaseAction"}},"edge":{},"encryptionKey":"Bwbpgsd5LNaksqVUPSg3UQcCVB3PukNQji6QK4e9+9I="}
1
+ {"node":{"402388021cf239fe76ba9e3bd4f97d8d80faa595cb":{"workers":{"app/adrs/page":{"moduleId":"66037","async":false}},"filename":"lib/adr/actions.ts","exportedName":"approveAdrAction"},"60a83631d689d4c42d7227d97da686c7a5faf7ceed":{"workers":{"app/adrs/page":{"moduleId":"66037","async":false}},"filename":"lib/adr/actions.ts","exportedName":"rejectAdrAction"},"40202d594c9726093b135455261499ffc238d19a1b":{"workers":{"app/needs-human/page":{"moduleId":"23294","async":false}},"filename":"lib/orchestrator/job-actions.ts","exportedName":"abortJobAction"},"407aba604929f05fd133f6dfa9ff0019f6dae0fe2f":{"workers":{"app/needs-human/page":{"moduleId":"23294","async":false}},"filename":"lib/orchestrator/job-actions.ts","exportedName":"requeueJobAction"},"60af62b463a6b67b6b811215f50600eb067551acf2":{"workers":{"app/jobs/[id]/page":{"moduleId":"31978","async":false}},"filename":"lib/orchestrator/pr-question-actions.ts","exportedName":"askPrQuestionAction"},"40142c9da1e26d7aeaa790db9a6795af69a9de4aea":{"workers":{"app/page":{"moduleId":"13917","async":false}},"filename":"lib/fs/actions.ts","exportedName":"browseDirectoryAction"},"4013304a93859665f54c2bac312ba5883bf710165f":{"workers":{"app/page":{"moduleId":"13917","async":false},"app/repos/[id]/page":{"moduleId":"59410","async":false}},"filename":"lib/repos/actions.ts","exportedName":"removeRepoAction"},"401545d16e784c563161a1b4dd98bf5411129e13eb":{"workers":{"app/page":{"moduleId":"13917","async":false},"app/repos/[id]/page":{"moduleId":"59410","async":false}},"filename":"lib/repos/actions.ts","exportedName":"addRepoAction"},"60b4ffb77facbef3de2d7373e591218110583105bb":{"workers":{"app/page":{"moduleId":"13917","async":false},"app/repos/[id]/page":{"moduleId":"59410","async":false}},"filename":"lib/repos/actions.ts","exportedName":"updateRepoAction"},"409688d9f8b7109c3280b9b44c4fbd61ec472cb2ef":{"workers":{"app/prompts/page":{"moduleId":"41799","async":false}},"filename":"lib/prompts/actions.ts","exportedName":"saveTemplateAction"},"607de74a1473ac427360bc914ab1e72ec6fc7563d8":{"workers":{"app/prompts/page":{"moduleId":"41799","async":false}},"filename":"lib/prompts/actions.ts","exportedName":"loadTemplateAction"},"00b2a962b9d7ed62e5bb201b1481867ab0e71b0d41":{"workers":{"app/settings/page":{"moduleId":"33946","async":false}},"filename":"lib/settings/actions.ts","exportedName":"sendTestNotificationAction"},"4090852f1110128f4139b1cf4a73d044eec532306d":{"workers":{"app/settings/page":{"moduleId":"33946","async":false}},"filename":"lib/settings/actions.ts","exportedName":"saveSettingsAction"},"40edb32d0f19cf9dfb999aa52424e5effc621586e5":{"workers":{"app/repos/[id]/page":{"moduleId":"59410","async":false}},"filename":"lib/issues/actions.ts","exportedName":"syncRepoIssuesAction"},"602827ad72db86d5341c318e6263fc1168ac051dbd":{"workers":{"app/repos/[id]/page":{"moduleId":"59410","async":false}},"filename":"lib/issues/actions.ts","exportedName":"removeFromQueueAction"},"60c4f9de4bd6166ee9f372eedd1023b3a8c8d0adad":{"workers":{"app/repos/[id]/page":{"moduleId":"59410","async":false}},"filename":"lib/issues/actions.ts","exportedName":"listSubtasksAction"},"60c4fd79531d61bf51cc2ebc90eca47cb11ae154b7":{"workers":{"app/repos/[id]/page":{"moduleId":"59410","async":false}},"filename":"lib/issues/actions.ts","exportedName":"startIssueAction"},"60d0061590f6703e2098b668fd45e712610c3da7ca":{"workers":{"app/repos/[id]/page":{"moduleId":"59410","async":false}},"filename":"lib/issues/actions.ts","exportedName":"addToQueueAction"},"60e0e52af87bbfe8e7a1521095070a72abd5759720":{"workers":{"app/repos/[id]/page":{"moduleId":"59410","async":false}},"filename":"lib/issues/actions.ts","exportedName":"reorderIssuesAction"},"60f8185da31741f275b57b866d309e723334a4e36f":{"workers":{"app/repos/[id]/page":{"moduleId":"59410","async":false}},"filename":"lib/issues/actions.ts","exportedName":"viewIssueAction"},"70b85da4517941b7d1571923c3a68ea6bb3fec05a1":{"workers":{"app/repos/[id]/page":{"moduleId":"59410","async":false}},"filename":"lib/issues/actions.ts","exportedName":"editIssueAction"},"70d1c0f28ea0312c5677b60eceb4f213056acfcda3":{"workers":{"app/repos/[id]/page":{"moduleId":"59410","async":false}},"filename":"lib/issues/actions.ts","exportedName":"setIssueStateAction"},"70d5dd10640e5351881dd9754ece7474c161b21990":{"workers":{"app/repos/[id]/page":{"moduleId":"59410","async":false}},"filename":"lib/issues/actions.ts","exportedName":"commentIssueAction"},"78419259d1ecda5a1b98a83330d221211a9b4e4672":{"workers":{"app/repos/[id]/page":{"moduleId":"59410","async":false}},"filename":"lib/issues/actions.ts","exportedName":"setIssueLabelsAction"},"40ad78727d00427eee62c00d5fe4a0c4eb5fd6c2e2":{"workers":{"app/repos/[id]/page":{"moduleId":"59410","async":false}},"filename":"lib/release/actions.ts","exportedName":"previewReleaseAction"},"40de1fe5a29c732fb7eb65c670a9a369946829223a":{"workers":{"app/repos/[id]/page":{"moduleId":"59410","async":false}},"filename":"lib/release/actions.ts","exportedName":"publishReleaseAction"}},"edge":{},"encryptionKey":"fMVUwPMf6vKaTtCOXH1mLn0zvFJL7wOz4NcRRLOABXg="}
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[29],{4696:(e,t,r)=>{"use strict";r.d(t,{d:()=>f,t:()=>u});var s=r(43031),n=r(64892),i=r(24928),a=r(52263),o=r(95579),d=r(89983),c=r(6636);let l=(0,d.createContext)(null);function u({children:e}){let[t,r]=(0,d.useState)([]),n=(0,d.useCallback)(e=>{r(t=>t.filter(t=>t.id!==e))},[]),i=(0,d.useCallback)(e=>{let t=Date.now()+Math.random(),s={id:t,title:e.title,description:e.description,variant:e.variant??"info"};r(e=>[...e,s]),setTimeout(()=>n(t),5e3)},[n]),a=(0,d.useMemo)(()=>({toast:i,success:(e,t)=>i({title:e,description:t,variant:"success"}),error:(e,t)=>i({title:e,description:t,variant:"error"})}),[i]);return(0,s.jsxs)(l.Provider,{value:a,children:[e,(0,s.jsx)(m,{toasts:t,onDismiss:n})]})}function f(){let e=(0,d.useContext)(l);if(!e)throw Error("useToast must be used within a ToastProvider");return e}let v={success:n.A,error:i.A,info:a.A},x={success:"text-success",error:"text-destructive",info:"text-muted-foreground"};function m({toasts:e,onDismiss:t}){return 0===e.length?null:(0,s.jsx)("div",{className:"pointer-events-none fixed bottom-4 right-4 z-[60] flex w-full max-w-sm flex-col gap-2",children:e.map(e=>{let r=v[e.variant];return(0,s.jsxs)("output",{"aria-live":"polite",className:"pointer-events-auto flex items-start gap-3 rounded-xl border border-card-border bg-card p-3 shadow-lg",children:[(0,s.jsx)(r,{className:(0,c.cn)("mt-0.5 h-4 w-4 shrink-0",x[e.variant])}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("p",{className:"text-sm font-medium",children:e.title}),e.description&&(0,s.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:e.description})]}),(0,s.jsx)("button",{type:"button","aria-label":"Dismiss notification",onClick:()=>t(e.id),className:"shrink-0 rounded-md p-0.5 text-muted-foreground hover-elevate",children:(0,s.jsx)(o.A,{className:"h-3.5 w-3.5"})})]},e.id)})})}},6636:(e,t,r)=>{"use strict";function s(...e){return e.filter(Boolean).join(" ")}r.d(t,{cn:()=>s})},32073:(e,t,r)=>{"use strict";r.d(t,{AdrReview:()=>v});var s=r(43031),n=r(89983),i=r(1481),a=r(67727),o=r(52445),d=r(96498),c=r(4696),l=r(80821);let u=(0,l.createServerReference)("402388021cf239fe76ba9e3bd4f97d8d80faa595cb",l.callServer,void 0,l.findSourceMapURL,"approveAdrAction"),f=(0,l.createServerReference)("60a83631d689d4c42d7227d97da686c7a5faf7ceed",l.callServer,void 0,l.findSourceMapURL,"rejectAdrAction");function v({items:e}){return 0===e.length?(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"No pending ADRs."}):(0,s.jsx)("div",{className:"space-y-4",children:e.map(e=>(0,s.jsx)(x,{adr:e},e.id))})}function x({adr:e}){let[t,r]=(0,n.useTransition)(),[l,v]=(0,n.useState)(""),[m,p]=(0,n.useState)(!1),{success:h,error:b}=(0,c.d)();return(0,s.jsxs)(o.Zp,{children:[(0,s.jsxs)(o.aR,{children:[(0,s.jsx)(o.ZB,{children:e.title}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:e.filePath})]}),(0,s.jsxs)(o.Wu,{className:"space-y-3",children:[(0,s.jsx)("div",{className:"prose prose-sm max-w-none rounded border border-card-border p-3",children:(0,s.jsx)(i.oz,{children:e.content})}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(a.$,{disabled:t,onClick:function(){r(async()=>{try{await u(e.id),h("ADR approved",e.title)}catch(e){b("Failed to approve ADR",e instanceof Error?e.message:String(e))}})},children:"Approve"}),(0,s.jsx)("input",{"aria-label":"Rejection comment",className:"flex-1 rounded border border-card-border bg-background px-2 py-1 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background",placeholder:"Rejection comment",value:l,onChange:e=>v(e.target.value)}),(0,s.jsx)(a.$,{variant:"destructive",disabled:t,onClick:()=>p(!0),children:"Reject"})]})]}),(0,s.jsx)(d.T,{open:m,onOpenChange:p,onConfirm:function(){r(async()=>{try{await f(e.id,l),h("ADR rejected",e.title)}catch(e){b("Failed to reject ADR",e instanceof Error?e.message:String(e))}})},title:"Reject ADR?",description:`This rejects "${e.title}" and notifies the run.`,confirmLabel:"Reject",variant:"destructive",pending:t})]})}},52445:(e,t,r)=>{"use strict";r.d(t,{Wu:()=>d,ZB:()=>o,Zp:()=>i,aR:()=>a});var s=r(43031),n=r(6636);function i({className:e,...t}){return(0,s.jsx)("div",{className:(0,n.cn)("rounded-xl border border-card-border bg-card text-card-foreground shadow-sm",e),...t})}function a({className:e,...t}){return(0,s.jsx)("div",{className:(0,n.cn)("flex flex-col gap-1.5 p-5",e),...t})}function o({className:e,...t}){return(0,s.jsx)("h3",{className:(0,n.cn)("text-base font-semibold leading-none tracking-tight",e),...t})}function d({className:e,...t}){return(0,s.jsx)("div",{className:(0,n.cn)("p-5 pt-0",e),...t})}},58408:(e,t,r)=>{Promise.resolve().then(r.bind(r,32073))},67727:(e,t,r)=>{"use strict";r.d(t,{$:()=>d});var s=r(43031),n=r(89983),i=r(6636);let a={default:"bg-primary text-primary-foreground shadow-xs hover-elevate active-elevate-2",secondary:"bg-secondary text-secondary-foreground hover-elevate active-elevate-2",outline:"border border-border bg-transparent shadow-xs hover-elevate active-elevate-2",destructive:"bg-destructive text-destructive-foreground shadow-xs hover-elevate active-elevate-2",ghost:"border border-transparent hover-elevate active-elevate-2"},o={default:"h-9 px-4 py-2 rounded-lg text-sm",sm:"h-8 px-3 rounded-md text-xs",lg:"h-10 px-8 rounded-lg text-sm",icon:"h-9 w-9 rounded-lg"},d=n.forwardRef(({className:e,variant:t="default",size:r="default",...n},d)=>(0,s.jsx)("button",{ref:d,className:(0,i.cn)("inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium transition-colors","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring","disabled:pointer-events-none disabled:opacity-50","[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",a[t],o[r],e),...n}));d.displayName="Button"},70099:(e,t,r)=>{"use strict";r.d(t,{l:()=>i});var s=r(43031),n=r(89983);function i({open:e,onClose:t,children:r}){return((0,n.useEffect)(()=>{if(!e)return;let r=e=>{"Escape"===e.key&&t()};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[e,t]),e)?(0,s.jsx)("div",{className:"fixed inset-0 z-50 flex items-start justify-center overflow-y-auto bg-black/50 p-4 sm:p-8",onMouseDown:t,children:(0,s.jsx)("div",{role:"dialog","aria-modal":"true",className:"mt-8 w-full max-w-2xl rounded-xl border border-card-border bg-card p-5 shadow-lg",onMouseDown:e=>e.stopPropagation(),children:r})}):null}},96498:(e,t,r)=>{"use strict";r.d(t,{T:()=>a});var s=r(43031),n=r(67727),i=r(70099);function a({open:e,onOpenChange:t,onConfirm:r,title:o,description:d,confirmLabel:c="Confirm",cancelLabel:l="Cancel",variant:u="default",pending:f=!1}){return(0,s.jsx)(i.l,{open:e,onClose:()=>t(!1),children:(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsx)("h2",{className:"text-base font-semibold",children:o}),d&&(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:d})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,s.jsx)(n.$,{variant:"outline",size:"sm",disabled:f,onClick:()=>t(!1),children:l}),(0,s.jsx)(n.$,{variant:"destructive"===u?"destructive":"default",size:"sm",disabled:f,onClick:()=>{r(),t(!1)},children:c})]})]})})}}},e=>{e.O(0,[77,633,586,358],()=>e(e.s=58408)),_N_E=e.O()}]);