@ai-development-environment/server 0.0.35 → 0.0.36

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 (161) hide show
  1. package/package.json +1 -1
  2. package/standalone/.next/BUILD_ID +1 -1
  3. package/standalone/.next/build-manifest.json +3 -3
  4. package/standalone/.next/prerender-manifest.json +3 -3
  5. package/standalone/.next/server/app/[locale]/actions/page_client-reference-manifest.js +1 -1
  6. package/standalone/.next/server/app/[locale]/agents/[id]/page_client-reference-manifest.js +1 -1
  7. package/standalone/.next/server/app/[locale]/agents/page_client-reference-manifest.js +1 -1
  8. package/standalone/.next/server/app/[locale]/analytics-events/page_client-reference-manifest.js +1 -1
  9. package/standalone/.next/server/app/[locale]/build-data/page_client-reference-manifest.js +1 -1
  10. package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page_client-reference-manifest.js +1 -1
  11. package/standalone/.next/server/app/[locale]/builds/[buildId]/page_client-reference-manifest.js +1 -1
  12. package/standalone/.next/server/app/[locale]/builds/page_client-reference-manifest.js +1 -1
  13. package/standalone/.next/server/app/[locale]/codebases/[codebaseId]/page_client-reference-manifest.js +1 -1
  14. package/standalone/.next/server/app/[locale]/codebases/page_client-reference-manifest.js +1 -1
  15. package/standalone/.next/server/app/[locale]/codebases/repositories/[repositoryId]/page_client-reference-manifest.js +1 -1
  16. package/standalone/.next/server/app/[locale]/comments/page_client-reference-manifest.js +1 -1
  17. package/standalone/.next/server/app/[locale]/console-logs/page_client-reference-manifest.js +1 -1
  18. package/standalone/.next/server/app/[locale]/devices/[id]/page_client-reference-manifest.js +1 -1
  19. package/standalone/.next/server/app/[locale]/devices/enroll/page_client-reference-manifest.js +1 -1
  20. package/standalone/.next/server/app/[locale]/devices/page_client-reference-manifest.js +1 -1
  21. package/standalone/.next/server/app/[locale]/jira/cache/page_client-reference-manifest.js +1 -1
  22. package/standalone/.next/server/app/[locale]/jira/cache/tickets/[issueKey]/page_client-reference-manifest.js +1 -1
  23. package/standalone/.next/server/app/[locale]/jira/tickets/[issueKey]/page_client-reference-manifest.js +1 -1
  24. package/standalone/.next/server/app/[locale]/jira/tickets/page_client-reference-manifest.js +1 -1
  25. package/standalone/.next/server/app/[locale]/jobs/[jobId]/page_client-reference-manifest.js +1 -1
  26. package/standalone/.next/server/app/[locale]/page_client-reference-manifest.js +1 -1
  27. package/standalone/.next/server/app/[locale]/provisioning-profiles/[profileId]/page_client-reference-manifest.js +1 -1
  28. package/standalone/.next/server/app/[locale]/provisioning-profiles/page_client-reference-manifest.js +1 -1
  29. package/standalone/.next/server/app/[locale]/pull-requests/[owner]/[repository]/[number]/page_client-reference-manifest.js +1 -1
  30. package/standalone/.next/server/app/[locale]/pull-requests/page_client-reference-manifest.js +1 -1
  31. package/standalone/.next/server/app/[locale]/push-notifications/page_client-reference-manifest.js +1 -1
  32. package/standalone/.next/server/app/[locale]/settings/page_client-reference-manifest.js +1 -1
  33. package/standalone/.next/server/app/[locale]/skills/[skillId]/page_client-reference-manifest.js +1 -1
  34. package/standalone/.next/server/app/[locale]/skills/groups/[groupId]/page_client-reference-manifest.js +1 -1
  35. package/standalone/.next/server/app/[locale]/skills/groups/page_client-reference-manifest.js +1 -1
  36. package/standalone/.next/server/app/[locale]/skills/page_client-reference-manifest.js +1 -1
  37. package/standalone/.next/server/app/[locale]/skills/sync/[runId]/page_client-reference-manifest.js +1 -1
  38. package/standalone/.next/server/app/[locale]/tools/page_client-reference-manifest.js +1 -1
  39. package/standalone/.next/server/app/[locale]/unified-events/page_client-reference-manifest.js +1 -1
  40. package/standalone/.next/server/app/[locale]/usage/page_client-reference-manifest.js +1 -1
  41. package/standalone/.next/server/app/[locale]/worktrees/[worktreeId]/page_client-reference-manifest.js +1 -1
  42. package/standalone/.next/server/app/[locale]/worktrees/page_client-reference-manifest.js +1 -1
  43. package/standalone/.next/server/app/_global-error.html +1 -1
  44. package/standalone/.next/server/app/_global-error.rsc +1 -1
  45. package/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  46. package/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  47. package/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  48. package/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  49. package/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  50. package/standalone/.next/server/app/_not-found.html +1 -1
  51. package/standalone/.next/server/app/_not-found.rsc +1 -1
  52. package/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  53. package/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  54. package/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  55. package/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  56. package/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  57. package/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  58. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0v12ijp._.js +1 -1
  59. package/standalone/.next/server/chunks/ssr/_012q7w6._.js +1 -1
  60. package/standalone/.next/server/chunks/ssr/_07qmjrj._.js +1 -1
  61. package/standalone/.next/server/chunks/ssr/_0dquba3._.js +1 -1
  62. package/standalone/.next/server/chunks/ssr/_0t2jwg3._.js +1 -1
  63. package/standalone/.next/server/chunks/ssr/_1bzibio._.js +1 -1
  64. package/standalone/.next/server/chunks/ssr/_1h1k5ja._.js +1 -1
  65. package/standalone/.next/server/chunks/ssr/_1kle1nm._.js +1 -1
  66. package/standalone/.next/server/chunks/ssr/_1m50niy._.js +1 -1
  67. package/standalone/.next/server/chunks/ssr/_1pja493._.js +1 -1
  68. package/standalone/.next/server/chunks/ssr/_1y98hs-._.js +1 -1
  69. package/standalone/.next/server/chunks/ssr/_1z02bsk._.js +1 -1
  70. package/standalone/.next/server/chunks/ssr/src_components_agents_agent-detail_tsx_0lfa4ui._.js +2 -2
  71. package/standalone/.next/server/chunks/ssr/src_components_build-data_build-data-page_tsx_1t2rrh0._.js +2 -2
  72. package/standalone/.next/server/chunks/ssr/src_components_builds_build-detail-page_tsx_0q1lvps._.js +1 -1
  73. package/standalone/.next/server/chunks/ssr/src_components_builds_coverage-report-page_tsx_1nhwba1._.js +1 -1
  74. package/standalone/.next/server/chunks/ssr/src_components_devices_device-detail-page_tsx_1mut_l4._.js +1 -1
  75. package/standalone/.next/server/chunks/ssr/src_components_devices_devices-page_tsx_1y45lv2._.js +1 -1
  76. package/standalone/.next/server/chunks/ssr/src_components_github_pull-request-detail-page_tsx_1etlamp._.js +1 -1
  77. package/standalone/.next/server/chunks/ssr/src_components_jira_cache-page_tsx_1znt1yl._.js +1 -1
  78. package/standalone/.next/server/chunks/ssr/src_components_jira_ticket-detail-page_tsx_0vmf8nk._.js +2 -2
  79. package/standalone/.next/server/chunks/ssr/src_components_jira_tickets-page_tsx_0_ocldp._.js +1 -1
  80. package/standalone/.next/server/chunks/ssr/src_components_push-notifications_push-notifications-page_tsx_1c_b-t4._.js +1 -1
  81. package/standalone/.next/server/chunks/ssr/src_components_signing-assets_provisioning-profiles-page_tsx_1zr20o7._.js +1 -1
  82. package/standalone/.next/server/chunks/ssr/src_components_skills_skill-sync-page_tsx_15sidhb._.js +1 -1
  83. package/standalone/.next/server/chunks/ssr/src_components_skills_skills-page_tsx_0o1nlbg._.js +1 -1
  84. package/standalone/.next/server/chunks/ssr/src_components_worktrees_worktree-detail-page_tsx_1oexgu_._.js +1 -1
  85. package/standalone/.next/server/middleware-build-manifest.js +3 -3
  86. package/standalone/.next/server/pages/404.html +1 -1
  87. package/standalone/.next/server/pages/500.html +1 -1
  88. package/standalone/.next/server/server-reference-manifest.js +1 -1
  89. package/standalone/.next/server/server-reference-manifest.json +1 -1
  90. package/standalone/.next/static/chunks/{0rrwapb85e3vs.js → 0a8bo5bqge171.js} +1 -1
  91. package/standalone/.next/static/chunks/0bx-vj8k3jlsz.js +35 -0
  92. package/standalone/.next/static/chunks/{1z2n-kfxw0xxf.js → 0s_vkk_t0i4mg.js} +1 -1
  93. package/standalone/.next/static/chunks/12msdp4rhv6ti.js +7 -0
  94. package/standalone/.next/static/chunks/{1rvz2z_cov6ug.js → 15rske_fphtgw.js} +2 -2
  95. package/standalone/.next/static/chunks/19l74y4_uc81t.js +33 -0
  96. package/standalone/.next/static/chunks/{0elijgx6pfo7w.js → 1a5_4cpwnx9uu.js} +1 -1
  97. package/standalone/.next/static/chunks/1a9j-qydwrg8m.js +7 -0
  98. package/standalone/.next/static/chunks/1e-vykrs41myl.js +41 -0
  99. package/standalone/.next/static/chunks/1jwc4nasae27c.js +1 -0
  100. package/standalone/.next/static/chunks/1llwo8aslhpdp.js +1 -0
  101. package/standalone/.next/static/chunks/{2-k0gnjfr6ayw.js → 1nkkb5gu3-rhf.js} +1 -1
  102. package/standalone/.next/static/chunks/1oh9kzyxfy5ih.js +1 -0
  103. package/standalone/.next/static/chunks/1q87ulu5dp43f.js +1 -0
  104. package/standalone/.next/static/chunks/{2i8eu37_ggvr8.js → 1smbfkd1cb015.js} +10 -10
  105. package/standalone/.next/static/chunks/1ynnv9u7cfr4c.js +1 -0
  106. package/standalone/.next/static/chunks/1yx2no0f8qqs5.js +7 -0
  107. package/standalone/.next/static/chunks/{3kswwcsm5y95r.js → 1zw6r-idmbfgl.js} +1 -1
  108. package/standalone/.next/static/chunks/224rpxiffot1u.js +9 -0
  109. package/standalone/.next/static/chunks/24tqnzr1nzhom.js +1 -0
  110. package/standalone/.next/static/chunks/292r4qzwbnzg7.js +45 -0
  111. package/standalone/.next/static/chunks/{3zmi_6t6n2zhl.js → 29bdsmo8ketwt.js} +2 -2
  112. package/standalone/.next/static/chunks/{08n97leuqvfec.js → 29pirjk9q8gfx.js} +1 -1
  113. package/standalone/.next/static/chunks/{0gduhhe5i5fyj.js → 2bdfoatg4qo7w.js} +1 -1
  114. package/standalone/.next/static/chunks/{1mdi8gmbt3v4y.js → 2mzx47_wqfqf6.js} +1 -1
  115. package/standalone/.next/static/chunks/2rplo_7t3zrb9.js +1 -0
  116. package/standalone/.next/static/chunks/{0txd8z6bbq8sd.js → 2rv5r0dwu0nv6.js} +1 -1
  117. package/standalone/.next/static/chunks/2u51t_6-1w566.js +1 -0
  118. package/standalone/.next/static/chunks/{3fdxq7wzqx26o.js → 2xgehciyxxmdl.js} +1 -1
  119. package/standalone/.next/static/chunks/34pq01spesbci.js +1 -0
  120. package/standalone/.next/static/chunks/34pqiakzvfxgg.js +1 -0
  121. package/standalone/.next/static/chunks/{3g004cn7om3tw.js → 35hg231a8ig1t.js} +1 -1
  122. package/standalone/.next/static/chunks/36r84wnfwt4kn.css +1 -0
  123. package/standalone/.next/static/chunks/{11x96hq8bk827.js → 37dd1jthysw7j.js} +1 -1
  124. package/standalone/.next/static/chunks/{2cohukhgw3x39.js → 384f6qhpff4pn.js} +3 -3
  125. package/standalone/.next/static/chunks/3_xim7hqyyfr0.js +1 -0
  126. package/standalone/.next/static/chunks/3eumqpi7f1fek.js +30 -0
  127. package/standalone/.next/static/chunks/{1209uyjs06prv.js → 3hq055db_1oe4.js} +1 -1
  128. package/standalone/.next/static/chunks/3ns362pjxzs4s.js +3 -0
  129. package/standalone/.next/static/chunks/3ojl4tmmy52v4.js +29 -0
  130. package/standalone/.next/static/chunks/3sxc882-vifa-.js +10 -0
  131. package/standalone/.next/static/chunks/40k5mbsz_tzvi.js +1 -0
  132. package/standalone/.next/static/chunks/43pkxbd7uiq6-.js +33 -0
  133. package/standalone/.next/static/chunks/00vmfj3b0p_9v.js +0 -1
  134. package/standalone/.next/static/chunks/05qk7dn22ctyw.js +0 -33
  135. package/standalone/.next/static/chunks/08b5rziqjcmmv.js +0 -9
  136. package/standalone/.next/static/chunks/0hcrlyp4czqm4.js +0 -33
  137. package/standalone/.next/static/chunks/0kkylz4dfb-6-.css +0 -1
  138. package/standalone/.next/static/chunks/0ouxq2tjuuo5p.js +0 -1
  139. package/standalone/.next/static/chunks/0qslkhjg4g4wo.js +0 -1
  140. package/standalone/.next/static/chunks/0sgv58x3pi1lt.js +0 -1
  141. package/standalone/.next/static/chunks/1-uwntvgs-8hy.js +0 -7
  142. package/standalone/.next/static/chunks/175wjcrz57-r8.js +0 -3
  143. package/standalone/.next/static/chunks/1aymjnttvjkz8.js +0 -35
  144. package/standalone/.next/static/chunks/1p0jamt--jvn2.js +0 -1
  145. package/standalone/.next/static/chunks/1wm2l6ainzpua.js +0 -30
  146. package/standalone/.next/static/chunks/2aaudeflwvhrw.js +0 -1
  147. package/standalone/.next/static/chunks/2jj9hlwqhy5pr.js +0 -41
  148. package/standalone/.next/static/chunks/2ldet81o6fvx9.js +0 -7
  149. package/standalone/.next/static/chunks/2nnls3_0a15ot.js +0 -1
  150. package/standalone/.next/static/chunks/32ynps2o_ve-q.js +0 -10
  151. package/standalone/.next/static/chunks/3812zpxehpne1.js +0 -1
  152. package/standalone/.next/static/chunks/398-3q0cwr6rj.js +0 -29
  153. package/standalone/.next/static/chunks/3f0s63l_3ts3k.js +0 -1
  154. package/standalone/.next/static/chunks/3ognjxt-gne6-.js +0 -1
  155. package/standalone/.next/static/chunks/3q82abj2-3h1-.js +0 -1
  156. package/standalone/.next/static/chunks/3zux6x75u6-5-.js +0 -1
  157. package/standalone/.next/static/chunks/4260c5fq33ytz.js +0 -7
  158. package/standalone/.next/static/chunks/448r-ornlfrsf.js +0 -45
  159. /package/standalone/.next/static/{7EXYkB15Ckf6ytAAy22z6 → _yJljIblhKpKw6X4lPPg3}/_buildManifest.js +0 -0
  160. /package/standalone/.next/static/{7EXYkB15Ckf6ytAAy22z6 → _yJljIblhKpKw6X4lPPg3}/_clientMiddlewareManifest.js +0 -0
  161. /package/standalone/.next/static/{7EXYkB15Ckf6ytAAy22z6 → _yJljIblhKpKw6X4lPPg3}/_ssgManifest.js +0 -0
@@ -70,7 +70,7 @@ Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpattern
70
70
  cancelWorktreeMove(id: $id) { id status }
71
71
  }`,{id:a.id}),f(g("moveCancelled")),e(null),await d()}catch(a){e(a instanceof Error?a.message:String(a))}finally{i(null)}};return(0,b.jsx)("div",{className:"space-y-2",children:a.map(a=>(0,b.jsx)(N.Alert,{children:(0,b.jsxs)(N.AlertDescription,{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"font-medium",children:g("moveProgress",{branch:a.branch})}),(0,b.jsx)("p",{className:"text-muted-foreground",children:"AWAITING_STASH"===a.status?a.error||g("moveNeedsStash"):g(`moveStatus.${a.status}`)})]}),"AWAITING_STASH"===a.status?(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(P.Button,{disabled:h===a.id,onClick:()=>void k(a),size:"sm",variant:"outline",children:g("cancelMove")}),(0,b.jsxs)(P.Button,{disabled:h===a.id,onClick:()=>void j(a),size:"sm",children:[h===a.id&&(0,b.jsx)($.Spinner,{}),g("stashAndContinue")]})]}):(0,b.jsx)($.Spinner,{})]})},a.id))})}function aw(a,b){return{codebaseId:a.codebase.id,...b?{worktreeId:b.id}:{},defaultBranch:a.codebase.defaultBranch,currentBranch:b?.branch,currentBaseBranch:b?.baseBranch,localBranches:a.codebase.localBranches,remoteBranches:a.codebase.remoteBranches,unavailableBranches:a.worktrees.flatMap(a=>a.branch&&a.id!==b?.id?[a.branch]:[])}}function ax({overview:a,onCreated:d}){let e=(0,D.useTranslations)("worktrees"),f=a.agents.flatMap(a=>a.codebases.flatMap(b=>"ONLINE"===a.agent.connectionStatus&&a.agent.capabilities.includes("worktree.branch")&&"AVAILABLE"===b.codebase.availability&&!b.worktrees.some(a=>a.activeJob)?[{agentGroup:a,group:b}]:[])),[g,h]=(0,c.useState)(1===f.length?f[0].group.codebase.id:""),[i,j]=(0,c.useState)(!1),k=f.some(a=>a.group.codebase.id===g)?g:1===f.length?f[0].group.codebase.id:"",l=f.find(a=>a.group.codebase.id===k),m=f.map(({agentGroup:a,group:b})=>({value:b.codebase.id,label:`${b.repository.name} \xb7 ${a.agent.name}`,description:b.codebase.folder,keywords:`${b.repository.displayOrigin} ${a.agent.hostname}`})),n=async a=>{if(!l)throw Error(e("selectCodebase"));j(!0);try{let b=await (0,ad.controlPlaneRequest)(`mutation CreateWorktree($input: CreateWorktreeInput!) {
72
72
  createWorktree(input: $input) { id }
73
- }`,{input:{codebaseId:l.group.codebase.id,selection:a,requestId:(0,ac.createClientId)()}});await (0,ak.waitForWorktreeJob)(b.createWorktree.id),await d()}finally{j(!1)}};return(0,b.jsxs)(Q.Card,{children:[(0,b.jsx)(Q.CardHeader,{className:"border-b",children:(0,b.jsxs)(Q.CardTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)(u.Plus,{})," ",e("createWorktree")]})}),(0,b.jsxs)(Q.CardContent,{className:"space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(X.Label,{className:"mb-1.5 block",children:e("repositoryCheckout")}),(0,b.jsx)(Z.SearchableSelect,{ariaLabel:e("repositoryCheckout"),disabled:i||0===m.length,emptyMessage:e("noEligibleCodebases"),onValueChange:h,options:m,placeholder:e("selectCodebase"),searchPlaceholder:e("searchCodebases"),value:k})]}),l?(0,b.jsx)(ag.WorktreeBranchForm,{busy:i,onSubmit:n,submitLabel:e("createWorktree"),target:aw(l.group)},l.group.codebase.id):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:m.length?e("selectCodebaseHelp"):e("noEligibleCodebases")})]})]})}function ay({agentGroup:a,layout:c,allTags:d,editorVariant:e,inspectionRefreshToken:f,onReload:g,onUpdate:h,onError:i,onManageTags:j,onOpenTicket:k,overview:l}){let m=(0,D.useTranslations)("worktrees"),n="ONLINE"===a.agent.connectionStatus&&a.agent.capabilities.includes("worktree.watch"),o="ONLINE"===a.agent.connectionStatus&&a.agent.capabilities.includes("worktree.branch");return(0,b.jsxs)("section",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 border-b pb-2",children:[(0,b.jsx)("h2",{className:"text-lg font-semibold",children:a.agent.name}),(0,b.jsx)(O.Badge,{variant:"ONLINE"===a.agent.connectionStatus?"success":"secondary",children:m("ONLINE"===a.agent.connectionStatus?"online":"offline")}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:a.agent.hostname})]}),a.codebases.map(m=>(0,b.jsxs)("section",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"font-medium",children:m.repository.name}),(0,b.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:m.repository.displayOrigin})]}),(0,b.jsx)(az,{codebase:m.codebase})]}),"cards"===c?(0,b.jsx)("div",{className:"space-y-3",children:m.worktrees.map(c=>(0,b.jsx)(aA,{allTags:d,baseRepoDirectory:a.agent.baseRepoDirectory,branchManagementEnabled:o,editorVariant:e,group:m,inspectionRefreshToken:f,liveUpdatesEnabled:n,onError:i,onManageTags:j,onOpenTicket:k,onReload:g,onUpdate:h,overview:l,worktree:c},c.id))}):(0,b.jsx)(aS,{allTags:d,baseRepoDirectory:a.agent.baseRepoDirectory,branchManagementEnabled:o,editorVariant:e,group:m,inspectionRefreshToken:f,liveUpdatesEnabled:n,onError:i,onManageTags:j,onOpenTicket:k,onReload:g,onUpdate:h,overview:l})]},m.codebase.id))]})}function az({codebase:a}){let d=(0,D.useTranslations)("worktrees"),e=(0,C.useLocale)(),[f,g]=(0,c.useState)(null);(0,c.useEffect)(()=>{let a=()=>g(new Date().getTime()),b=window.setTimeout(a,0),c=window.setInterval(a,1e3);return()=>{window.clearTimeout(b),window.clearInterval(c)}},[]);let h=a.lastFetchedAt&&null!==f?Math.max(0,f-new Date(a.lastFetchedAt).getTime()):null,i=null===h?d("neverFetched"):h<6e4?d("secondsAgo",{count:Math.floor(h/1e3)}):new Intl.RelativeTimeFormat(e,{numeric:"auto"}).format(-Math.floor(h/6e4),"minute");return(0,b.jsx)("span",{className:(0,ae.cn)("text-xs text-muted-foreground",a.lastFetchError&&"text-destructive"),title:a.lastFetchError??void 0,children:d("lastFetched",{value:i})})}function aA(a){let{inspectionRefreshToken:d,onError:e}=a,{worktree:f,applyActivity:g,setUnstagedChanges:h}=(0,aj.useLiveWorktree)(a.worktree),k={...a,worktree:f},[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(null),[p,q]=(0,c.useState)(!1),r=(0,c.useRef)(0),s=(0,c.useRef)(d),t=(0,D.useTranslations)("worktrees"),u=(0,af.useRouter)(),v=(0,c.useCallback)(async()=>{let a=++r.current;q(!0);try{let b=await (0,aj.inspectWorktree)(f.id);if(a!==r.current)return;o(b),h(b.changes.some(a=>a.unstaged||a.untracked||a.conflicted)),e(null)}catch(b){a===r.current&&e(b instanceof Error?b.message:String(b))}finally{a===r.current&&q(!1)}},[e,h,f.id]),w=(0,aj.useQueuedWorktreeInspection)(v),x=(0,c.useCallback)(a=>{g(a),l&&w()},[g,l,w]);(0,aj.useWorktreeActivitySubscription)(f.id,a.liveUpdatesEnabled&&"AVAILABLE"===f.availability,x),(0,c.useEffect)(()=>{if(s.current===d||(s.current=d,!l))return;let a=window.setTimeout(()=>void w(),0);return()=>window.clearTimeout(a)},[l,d,w]);let y=()=>{let a=!l;m(a),a&&!n&&w()};return(0,b.jsxs)(Q.Card,{className:(0,ae.cn)("cursor-pointer transition-colors hover:bg-muted/30",f.highlightColor&&as[f.highlightColor]),onClick:a=>{(0,al.shouldNavigateWorktreeSurface)(a)&&u.push((0,al.worktreeDetailHref)(f.id))},children:[(0,b.jsxs)(Q.CardHeader,{className:"grid-cols-1! border-b @md/card-header:grid-cols-[minmax(0,1fr)_auto]!",children:[(0,b.jsxs)(Q.CardTitle,{className:"min-w-0",children:[(0,b.jsxs)(P.Button,{"aria-expanded":l,className:"h-auto w-full max-w-full justify-start gap-1 p-1 text-left",onClick:()=>void y(),variant:"ghost",children:[l?(0,b.jsx)(i.ChevronDown,{}):(0,b.jsx)(j.ChevronRight,{}),(0,b.jsx)("span",{className:"truncate font-mono",children:f.branch??f.headSha?.slice(0,10)??t("detached")})]}),(f.ticketKey||f.ticketTitle)&&(0,b.jsx)(aC,{...k})]}),(0,b.jsxs)(Q.CardAction,{className:"col-start-1 row-span-1 row-start-auto flex max-w-full flex-wrap items-center justify-start gap-1 justify-self-start @md/card-header:col-start-2 @md/card-header:row-span-2 @md/card-header:row-start-1 @md/card-header:justify-end @md/card-header:justify-self-end",children:[(0,b.jsx)(aK,{worktree:f}),f.hasUnstagedChanges&&(0,b.jsx)(O.Badge,{variant:"destructive",children:t("dirty")}),(0,b.jsx)(aB,{worktree:f}),(0,b.jsx)(aN,{...k})]})]}),(0,b.jsxs)(Q.CardContent,{className:"space-y-4",children:[(0,b.jsx)(aD,{...k,detailsExpanded:l,onToggleDetails:y}),p&&(0,b.jsxs)("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)($.Spinner,{})," ",t("loadingDetails")]}),l&&n&&(0,b.jsx)(ah.WorktreeDetailPanel,{detail:n,inline:!0})]}),(0,b.jsx)(Q.CardFooter,{className:"flex-wrap gap-2","data-worktree-navigation-ignore":!0,children:(0,b.jsx)(aQ,{...k,onCompleted:async()=>{await a.onReload(),l&&await w()}})})]})}function aB({worktree:a}){let c=(0,D.useTranslations)("worktrees"),d=a.branch??a.headSha?.slice(0,10)??c("detached"),e=c("openWorktreeDetails",{branch:d});return(0,b.jsx)(P.Button,{asChild:!0,size:"icon-sm",variant:"ghost",children:(0,b.jsx)(af.Link,{"aria-label":e,href:(0,al.worktreeDetailHref)(a.id),title:e,children:(0,b.jsx)(f.ArrowRight,{})})})}function aC({worktree:a,onOpenTicket:c,compact:d=!1}){let e=`${a.ticketKey??""}${a.ticketTitle?`${a.ticketKey?" — ":""}${a.ticketTitle}`:""}`;return(0,b.jsxs)("div",{className:(0,ae.cn)("flex max-w-full flex-wrap items-center gap-1.5 font-normal",d?"mt-0.5 text-xs":"mt-1 text-sm"),children:[a.ticketKey?(0,b.jsx)(P.Button,{className:"h-auto min-w-0 justify-start truncate p-0 text-left font-normal",onClick:()=>c(a.ticketKey),title:e,type:"button",variant:"link",children:e}):(0,b.jsx)("p",{className:"min-w-0 truncate text-muted-foreground",title:e,children:e}),a.ticketStatus&&(a.ticketKey?(0,b.jsx)(O.Badge,{asChild:!0,variant:"secondary",children:(0,b.jsx)("button",{onClick:()=>c(a.ticketKey),type:"button",children:a.ticketStatus})}):(0,b.jsx)(O.Badge,{variant:"secondary",children:a.ticketStatus}))]})}function aD(a){let{worktree:c,group:d,baseRepoDirectory:e,detailsExpanded:f,onToggleDetails:g}=a,h=(0,D.useTranslations)("worktrees");return(0,b.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,b.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,b.jsx)(aV,{label:h("path"),mono:!0,value:aq(c.folder,e)}),(0,b.jsx)(aL,{...a})]}),(0,b.jsx)(aF,{label:h("upToDate"),children:(0,b.jsx)(aH,{worktree:c})}),(0,b.jsx)(aG,{...a}),(0,b.jsx)(aF,{label:h("pullRequest"),children:(0,b.jsx)(aI,{detailsExpanded:f,onToggleDetails:g,worktree:c})}),c.latestBuild&&(0,b.jsx)(aE,{build:c.latestBuild,onCompleted:a.onReload,onError:a.onError}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[c.statusError&&(0,b.jsx)("span",{className:"text-xs text-destructive",children:c.statusError}),!d.codebase.defaultBranch&&!c.baseBranchOverride&&(0,b.jsx)("span",{className:"text-xs text-destructive",children:h("baseUnavailable")})]})]})}function aE({build:a,onCompleted:c,onError:d}){let e=(0,D.useTranslations)("worktrees"),f=(0,D.useTranslations)("builds"),g="SUCCEEDED"===a.status&&a.artifacts.some(a=>"RUNNABLE_APP"===a.kind);return(0,b.jsxs)(aF,{label:e("latestBuild"),children:[(0,b.jsx)(O.Badge,{asChild:!0,variant:"outline",children:(0,b.jsx)(af.Link,{href:`/builds/${a.id}`,children:f(`actions.${a.action}`)})}),(0,b.jsx)(O.Badge,{variant:(0,F.buildStatusVariant)(a.status),children:f(`statuses.${a.status}`)}),a.outOfDate&&(0,b.jsx)(O.Badge,{className:"border-amber-500/40 text-amber-700 dark:text-amber-300",variant:"outline",children:f("outOfDate")}),(0,b.jsx)(G.RebuildButton,{buildId:a.id,onCompleted:()=>c(),onError:d,size:"sm"}),g&&(0,b.jsx)(H.RunBuildControls,{buildId:a.id,destinationType:a.destinationType,onCompleted:c,onError:d,preferredDestination:a.destination,size:"sm"})]})}function aF({label:a,children:c}){return(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("p",{className:"w-24 shrink-0 text-xs text-muted-foreground",children:a}),(0,b.jsx)("div",{className:"flex min-w-0 flex-wrap items-center gap-1.5",children:c})]})}function aG({compact:a=!1,...c}){let{worktree:d}=c,e=(0,D.useTranslations)("worktrees");return(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[!a&&(0,b.jsx)("span",{className:"w-24 shrink-0 text-xs text-muted-foreground",children:e("tags")}),(0,b.jsx)(aN,{...c,contentAlign:a?"end":"start",contentAlignOffset:a?0:-100,trigger:(0,b.jsx)(P.Button,{"aria-label":`${e("tags")}: ${d.branch??e("detached")}`,className:(0,ae.cn)("h-auto min-h-7 max-w-full justify-start px-1 py-1 text-left font-normal",!a&&"-mx-1"),type:"button",variant:"ghost",children:(0,b.jsxs)("span",{className:"flex min-w-0 flex-wrap items-center gap-1.5",children:[d.tags.map(a=>(0,b.jsx)(aU,{tag:a},a.id)),!d.tags.length&&(0,b.jsx)("span",{className:"text-muted-foreground",children:"—"})]})})})]})}function aH({worktree:a}){let c=(0,D.useTranslations)("worktrees"),d=0===a.baseBehind;return(0,b.jsx)(O.Badge,{className:d?"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":null===a.baseBehind?void 0:"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300",variant:"outline",children:null===a.baseBehind?c("unknown"):d?c("yes"):c("notUpToDate",{count:a.baseBehind})})}function aI({worktree:a,detailsExpanded:c,onToggleDetails:d}){var e;let f=(0,D.useTranslations)("worktrees");return(0,b.jsxs)(b.Fragment,{children:[a.pullRequest?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(aJ,{pullRequest:a.pullRequest}),(0,b.jsx)(K.PipelineMenu,{pipelineStatus:a.pullRequest.pipelineStatus,pipelines:a.pullRequest.pipelines,repositoryId:a.pullRequest.repositoryGithubId}),(0,b.jsx)(O.Badge,{className:"APPROVED"===(e=a.pullRequest.reviewDecision)?"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":"CHANGES_REQUESTED"===e?"border-red-500/30 bg-red-500/10 text-red-700 dark:text-red-300":"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300",children:f(`review.${a.pullRequest.reviewDecision}`)}),(0,b.jsx)(O.Badge,{asChild:!0,className:0===a.pullRequest.unresolvedReviewThreadCount?"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300",children:(0,b.jsx)(af.Link,{href:(0,L.pullRequestCommentsHref)(a.pullRequest),children:f("comments",{count:a.pullRequest.unresolvedReviewThreadCount})})})]}):(0,b.jsx)("span",{className:"text-muted-foreground",children:"—"}),d?(0,b.jsx)(O.Badge,{asChild:!0,variant:"secondary",children:(0,b.jsx)("button",{"aria-expanded":c,onClick:d,type:"button",children:f("branchCommits",{count:a.baseAhead??0})})}):(0,b.jsx)(O.Badge,{variant:"secondary",children:f("branchCommits",{count:a.baseAhead??0})})]})}function aJ({pullRequest:a}){let c=(0,D.useTranslations)("worktrees");return(0,b.jsxs)(T.DropdownMenu,{children:[(0,b.jsx)(T.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsx)(O.Badge,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",children:["PR #",a.number]})})}),(0,b.jsxs)(T.DropdownMenuContent,{align:"start",className:"w-44",children:[(0,b.jsx)(T.DropdownMenuItem,{asChild:!0,children:(0,b.jsxs)("a",{href:a.url,rel:"noreferrer",target:"_blank",children:[(0,b.jsx)(l.ExternalLink,{}),c("openInGitHub")]})}),(0,b.jsx)(T.DropdownMenuItem,{asChild:!0,children:(0,b.jsxs)(af.Link,{href:(0,L.pullRequestDetailHref)(a),children:[(0,b.jsx)(n.GitPullRequest,{}),c("openDetails")]})})]})]})}function aK({worktree:a}){var c,d;let f=(0,D.useTranslations)("worktrees");return"IN_SYNC"===a.syncState||0===a.ahead&&0===a.behind?(0,b.jsx)(O.Badge,{className:"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300",variant:"outline",children:f("inSync")}):null!==a.ahead||null!==a.behind?(0,b.jsxs)(b.Fragment,{children:[null!==a.ahead&&(0,b.jsxs)(O.Badge,{className:"border-blue-500/30 bg-blue-500/10 text-blue-700 dark:text-blue-300",variant:"outline",children:[(0,b.jsx)(g.ArrowUp,{"data-icon":"inline-start"}),f("ahead",{count:a.ahead})]}),null!==a.behind&&(0,b.jsxs)(O.Badge,{className:"border-blue-500/30 bg-blue-500/10 text-blue-700 dark:text-blue-300",variant:"outline",children:[(0,b.jsx)(e.ArrowDown,{"data-icon":"inline-start"}),f("behind",{count:a.behind})]})]}):(0,b.jsx)(O.Badge,{variant:"outline",children:(c=a,d=f,"AHEAD"===c.syncState?d("ahead",{count:c.ahead??0}):"BEHIND"===c.syncState?d("behind",{count:c.behind??0}):d("DIVERGED"===c.syncState?"diverged":"IN_SYNC"===c.syncState?"upToDate":"NO_UPSTREAM"===c.syncState?"unpublished":"DETACHED"===c.syncState?"detached":"unknown"))})}function aL(a){let{worktree:d,group:e,onUpdate:f,onError:g,compact:h=!1}=a,i=(0,D.useTranslations)("worktrees"),[j,k]=(0,c.useState)(!1),[l,m]=(0,c.useState)(!1),n="__inherit_remote_default__",o=Array.from(new Set([d.baseBranchOverride,e.codebase.defaultBranch,...e.codebase.remoteBranches].filter(a=>!!a))),p=async a=>{m(!0);try{let b=await (0,ad.controlPlaneRequest)(`mutation UpdateWorktreeBase($id: ID!, $baseBranch: String) {
73
+ }`,{input:{codebaseId:l.group.codebase.id,selection:a,requestId:(0,ac.createClientId)()}});await (0,ak.waitForWorktreeJob)(b.createWorktree.id),await d()}finally{j(!1)}};return(0,b.jsxs)(Q.Card,{children:[(0,b.jsx)(Q.CardHeader,{children:(0,b.jsxs)(Q.CardTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)(u.Plus,{})," ",e("createWorktree")]})}),(0,b.jsxs)(Q.CardContent,{className:"space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(X.Label,{className:"mb-1.5 block",children:e("repositoryCheckout")}),(0,b.jsx)(Z.SearchableSelect,{ariaLabel:e("repositoryCheckout"),disabled:i||0===m.length,emptyMessage:e("noEligibleCodebases"),onValueChange:h,options:m,placeholder:e("selectCodebase"),searchPlaceholder:e("searchCodebases"),value:k})]}),l?(0,b.jsx)(ag.WorktreeBranchForm,{busy:i,onSubmit:n,submitLabel:e("createWorktree"),target:aw(l.group)},l.group.codebase.id):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:m.length?e("selectCodebaseHelp"):e("noEligibleCodebases")})]})]})}function ay({agentGroup:a,layout:c,allTags:d,editorVariant:e,inspectionRefreshToken:f,onReload:g,onUpdate:h,onError:i,onManageTags:j,onOpenTicket:k,overview:l}){let m=(0,D.useTranslations)("worktrees"),n="ONLINE"===a.agent.connectionStatus&&a.agent.capabilities.includes("worktree.watch"),o="ONLINE"===a.agent.connectionStatus&&a.agent.capabilities.includes("worktree.branch");return(0,b.jsxs)("section",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 border-b pb-2",children:[(0,b.jsx)("h2",{className:"text-lg font-semibold",children:a.agent.name}),(0,b.jsx)(O.Badge,{variant:"ONLINE"===a.agent.connectionStatus?"success":"secondary",children:m("ONLINE"===a.agent.connectionStatus?"online":"offline")}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:a.agent.hostname})]}),a.codebases.map(m=>(0,b.jsxs)("section",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"font-medium",children:m.repository.name}),(0,b.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:m.repository.displayOrigin})]}),(0,b.jsx)(az,{codebase:m.codebase})]}),"cards"===c?(0,b.jsx)("div",{className:"space-y-3",children:m.worktrees.map(c=>(0,b.jsx)(aA,{allTags:d,baseRepoDirectory:a.agent.baseRepoDirectory,branchManagementEnabled:o,editorVariant:e,group:m,inspectionRefreshToken:f,liveUpdatesEnabled:n,onError:i,onManageTags:j,onOpenTicket:k,onReload:g,onUpdate:h,overview:l,worktree:c},c.id))}):(0,b.jsx)(aS,{allTags:d,baseRepoDirectory:a.agent.baseRepoDirectory,branchManagementEnabled:o,editorVariant:e,group:m,inspectionRefreshToken:f,liveUpdatesEnabled:n,onError:i,onManageTags:j,onOpenTicket:k,onReload:g,onUpdate:h,overview:l})]},m.codebase.id))]})}function az({codebase:a}){let d=(0,D.useTranslations)("worktrees"),e=(0,C.useLocale)(),[f,g]=(0,c.useState)(null);(0,c.useEffect)(()=>{let a=()=>g(new Date().getTime()),b=window.setTimeout(a,0),c=window.setInterval(a,1e3);return()=>{window.clearTimeout(b),window.clearInterval(c)}},[]);let h=a.lastFetchedAt&&null!==f?Math.max(0,f-new Date(a.lastFetchedAt).getTime()):null,i=null===h?d("neverFetched"):h<6e4?d("secondsAgo",{count:Math.floor(h/1e3)}):new Intl.RelativeTimeFormat(e,{numeric:"auto"}).format(-Math.floor(h/6e4),"minute");return(0,b.jsx)("span",{className:(0,ae.cn)("text-xs text-muted-foreground",a.lastFetchError&&"text-destructive"),title:a.lastFetchError??void 0,children:d("lastFetched",{value:i})})}function aA(a){let{inspectionRefreshToken:d,onError:e}=a,{worktree:f,applyActivity:g,setUnstagedChanges:h}=(0,aj.useLiveWorktree)(a.worktree),k={...a,worktree:f},[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(null),[p,q]=(0,c.useState)(!1),r=(0,c.useRef)(0),s=(0,c.useRef)(d),t=(0,D.useTranslations)("worktrees"),u=(0,af.useRouter)(),v=(0,c.useCallback)(async()=>{let a=++r.current;q(!0);try{let b=await (0,aj.inspectWorktree)(f.id);if(a!==r.current)return;o(b),h(b.changes.some(a=>a.unstaged||a.untracked||a.conflicted)),e(null)}catch(b){a===r.current&&e(b instanceof Error?b.message:String(b))}finally{a===r.current&&q(!1)}},[e,h,f.id]),w=(0,aj.useQueuedWorktreeInspection)(v),x=(0,c.useCallback)(a=>{g(a),l&&w()},[g,l,w]);(0,aj.useWorktreeActivitySubscription)(f.id,a.liveUpdatesEnabled&&"AVAILABLE"===f.availability,x),(0,c.useEffect)(()=>{if(s.current===d||(s.current=d,!l))return;let a=window.setTimeout(()=>void w(),0);return()=>window.clearTimeout(a)},[l,d,w]);let y=()=>{let a=!l;m(a),a&&!n&&w()};return(0,b.jsxs)(Q.Card,{className:(0,ae.cn)("cursor-pointer transition-colors hover:bg-muted/30",f.highlightColor&&as[f.highlightColor]),onClick:a=>{(0,al.shouldNavigateWorktreeSurface)(a)&&u.push((0,al.worktreeDetailHref)(f.id))},children:[(0,b.jsxs)(Q.CardHeader,{className:"grid-cols-1! @md/card-header:grid-cols-[minmax(0,1fr)_auto]!",children:[(0,b.jsxs)(Q.CardTitle,{className:"min-w-0",children:[(0,b.jsxs)(P.Button,{"aria-expanded":l,className:"h-auto w-full max-w-full justify-start gap-1 p-1 text-left",onClick:()=>void y(),variant:"ghost",children:[l?(0,b.jsx)(i.ChevronDown,{}):(0,b.jsx)(j.ChevronRight,{}),(0,b.jsx)("span",{className:"truncate font-mono",children:f.branch??f.headSha?.slice(0,10)??t("detached")})]}),(f.ticketKey||f.ticketTitle)&&(0,b.jsx)(aC,{...k})]}),(0,b.jsxs)(Q.CardAction,{className:"col-start-1 row-span-1 row-start-auto flex max-w-full flex-wrap items-center justify-start gap-1 justify-self-start @md/card-header:col-start-2 @md/card-header:row-span-2 @md/card-header:row-start-1 @md/card-header:justify-end @md/card-header:justify-self-end",children:[(0,b.jsx)(aK,{worktree:f}),f.hasUnstagedChanges&&(0,b.jsx)(O.Badge,{variant:"destructive",children:t("dirty")}),(0,b.jsx)(aB,{worktree:f}),(0,b.jsx)(aN,{...k})]})]}),(0,b.jsxs)(Q.CardContent,{className:"space-y-4",children:[(0,b.jsx)(aD,{...k,detailsExpanded:l,onToggleDetails:y}),p&&(0,b.jsxs)("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)($.Spinner,{})," ",t("loadingDetails")]}),l&&n&&(0,b.jsx)(ah.WorktreeDetailPanel,{detail:n,inline:!0})]}),(0,b.jsx)(Q.CardFooter,{className:"flex-wrap gap-2","data-worktree-navigation-ignore":!0,children:(0,b.jsx)(aQ,{...k,onCompleted:async()=>{await a.onReload(),l&&await w()}})})]})}function aB({worktree:a}){let c=(0,D.useTranslations)("worktrees"),d=a.branch??a.headSha?.slice(0,10)??c("detached"),e=c("openWorktreeDetails",{branch:d});return(0,b.jsx)(P.Button,{asChild:!0,size:"icon-sm",variant:"ghost",children:(0,b.jsx)(af.Link,{"aria-label":e,href:(0,al.worktreeDetailHref)(a.id),title:e,children:(0,b.jsx)(f.ArrowRight,{})})})}function aC({worktree:a,onOpenTicket:c,compact:d=!1}){let e=`${a.ticketKey??""}${a.ticketTitle?`${a.ticketKey?" — ":""}${a.ticketTitle}`:""}`;return(0,b.jsxs)("div",{className:(0,ae.cn)("flex max-w-full flex-wrap items-center gap-1.5 font-normal",d?"mt-0.5 text-xs":"mt-1 text-sm"),children:[a.ticketKey?(0,b.jsx)(P.Button,{className:"h-auto min-w-0 justify-start truncate p-0 text-left font-normal",onClick:()=>c(a.ticketKey),title:e,type:"button",variant:"link",children:e}):(0,b.jsx)("p",{className:"min-w-0 truncate text-muted-foreground",title:e,children:e}),a.ticketStatus&&(a.ticketKey?(0,b.jsx)(O.Badge,{asChild:!0,variant:"secondary",children:(0,b.jsx)("button",{onClick:()=>c(a.ticketKey),type:"button",children:a.ticketStatus})}):(0,b.jsx)(O.Badge,{variant:"secondary",children:a.ticketStatus}))]})}function aD(a){let{worktree:c,group:d,baseRepoDirectory:e,detailsExpanded:f,onToggleDetails:g}=a,h=(0,D.useTranslations)("worktrees");return(0,b.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,b.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,b.jsx)(aV,{label:h("path"),mono:!0,value:aq(c.folder,e)}),(0,b.jsx)(aL,{...a})]}),(0,b.jsx)(aF,{label:h("upToDate"),children:(0,b.jsx)(aH,{worktree:c})}),(0,b.jsx)(aG,{...a}),(0,b.jsx)(aF,{label:h("pullRequest"),children:(0,b.jsx)(aI,{detailsExpanded:f,onToggleDetails:g,worktree:c})}),c.latestBuild&&(0,b.jsx)(aE,{build:c.latestBuild,onCompleted:a.onReload,onError:a.onError}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[c.statusError&&(0,b.jsx)("span",{className:"text-xs text-destructive",children:c.statusError}),!d.codebase.defaultBranch&&!c.baseBranchOverride&&(0,b.jsx)("span",{className:"text-xs text-destructive",children:h("baseUnavailable")})]})]})}function aE({build:a,onCompleted:c,onError:d}){let e=(0,D.useTranslations)("worktrees"),f=(0,D.useTranslations)("builds"),g="SUCCEEDED"===a.status&&a.artifacts.some(a=>"RUNNABLE_APP"===a.kind);return(0,b.jsxs)(aF,{label:e("latestBuild"),children:[(0,b.jsx)(O.Badge,{asChild:!0,variant:"outline",children:(0,b.jsx)(af.Link,{href:`/builds/${a.id}`,children:f(`actions.${a.action}`)})}),(0,b.jsx)(O.Badge,{variant:(0,F.buildStatusVariant)(a.status),children:f(`statuses.${a.status}`)}),a.outOfDate&&(0,b.jsx)(O.Badge,{className:"border-amber-500/40 text-amber-700 dark:text-amber-300",variant:"outline",children:f("outOfDate")}),(0,b.jsx)(G.RebuildButton,{buildId:a.id,onCompleted:()=>c(),onError:d,size:"sm"}),g&&(0,b.jsx)(H.RunBuildControls,{buildId:a.id,destinationType:a.destinationType,onCompleted:c,onError:d,preferredDestination:a.destination,size:"sm"})]})}function aF({label:a,children:c}){return(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("p",{className:"w-24 shrink-0 text-xs text-muted-foreground",children:a}),(0,b.jsx)("div",{className:"flex min-w-0 flex-wrap items-center gap-1.5",children:c})]})}function aG({compact:a=!1,...c}){let{worktree:d}=c,e=(0,D.useTranslations)("worktrees");return(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[!a&&(0,b.jsx)("span",{className:"w-24 shrink-0 text-xs text-muted-foreground",children:e("tags")}),(0,b.jsx)(aN,{...c,contentAlign:a?"end":"start",contentAlignOffset:a?0:-100,trigger:(0,b.jsx)(P.Button,{"aria-label":`${e("tags")}: ${d.branch??e("detached")}`,className:(0,ae.cn)("h-auto min-h-7 max-w-full justify-start px-1 py-1 text-left font-normal",!a&&"-mx-1"),type:"button",variant:"ghost",children:(0,b.jsxs)("span",{className:"flex min-w-0 flex-wrap items-center gap-1.5",children:[d.tags.map(a=>(0,b.jsx)(aU,{tag:a},a.id)),!d.tags.length&&(0,b.jsx)("span",{className:"text-muted-foreground",children:"—"})]})})})]})}function aH({worktree:a}){let c=(0,D.useTranslations)("worktrees"),d=0===a.baseBehind;return(0,b.jsx)(O.Badge,{className:d?"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":null===a.baseBehind?void 0:"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300",variant:"outline",children:null===a.baseBehind?c("unknown"):d?c("yes"):c("notUpToDate",{count:a.baseBehind})})}function aI({worktree:a,detailsExpanded:c,onToggleDetails:d}){var e;let f=(0,D.useTranslations)("worktrees");return(0,b.jsxs)(b.Fragment,{children:[a.pullRequest?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(aJ,{pullRequest:a.pullRequest}),(0,b.jsx)(K.PipelineMenu,{pipelineStatus:a.pullRequest.pipelineStatus,pipelines:a.pullRequest.pipelines,repositoryId:a.pullRequest.repositoryGithubId}),(0,b.jsx)(O.Badge,{className:"APPROVED"===(e=a.pullRequest.reviewDecision)?"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":"CHANGES_REQUESTED"===e?"border-red-500/30 bg-red-500/10 text-red-700 dark:text-red-300":"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300",children:f(`review.${a.pullRequest.reviewDecision}`)}),(0,b.jsx)(O.Badge,{asChild:!0,className:0===a.pullRequest.unresolvedReviewThreadCount?"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300",children:(0,b.jsx)(af.Link,{href:(0,L.pullRequestCommentsHref)(a.pullRequest),children:f("comments",{count:a.pullRequest.unresolvedReviewThreadCount})})})]}):(0,b.jsx)("span",{className:"text-muted-foreground",children:"—"}),d?(0,b.jsx)(O.Badge,{asChild:!0,variant:"secondary",children:(0,b.jsx)("button",{"aria-expanded":c,onClick:d,type:"button",children:f("branchCommits",{count:a.baseAhead??0})})}):(0,b.jsx)(O.Badge,{variant:"secondary",children:f("branchCommits",{count:a.baseAhead??0})})]})}function aJ({pullRequest:a}){let c=(0,D.useTranslations)("worktrees");return(0,b.jsxs)(T.DropdownMenu,{children:[(0,b.jsx)(T.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsx)(O.Badge,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",children:["PR #",a.number]})})}),(0,b.jsxs)(T.DropdownMenuContent,{align:"start",className:"w-44",children:[(0,b.jsx)(T.DropdownMenuItem,{asChild:!0,children:(0,b.jsxs)("a",{href:a.url,rel:"noreferrer",target:"_blank",children:[(0,b.jsx)(l.ExternalLink,{}),c("openInGitHub")]})}),(0,b.jsx)(T.DropdownMenuItem,{asChild:!0,children:(0,b.jsxs)(af.Link,{href:(0,L.pullRequestDetailHref)(a),children:[(0,b.jsx)(n.GitPullRequest,{}),c("openDetails")]})})]})]})}function aK({worktree:a}){var c,d;let f=(0,D.useTranslations)("worktrees");return"IN_SYNC"===a.syncState||0===a.ahead&&0===a.behind?(0,b.jsx)(O.Badge,{className:"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300",variant:"outline",children:f("inSync")}):null!==a.ahead||null!==a.behind?(0,b.jsxs)(b.Fragment,{children:[null!==a.ahead&&(0,b.jsxs)(O.Badge,{className:"border-blue-500/30 bg-blue-500/10 text-blue-700 dark:text-blue-300",variant:"outline",children:[(0,b.jsx)(g.ArrowUp,{"data-icon":"inline-start"}),f("ahead",{count:a.ahead})]}),null!==a.behind&&(0,b.jsxs)(O.Badge,{className:"border-blue-500/30 bg-blue-500/10 text-blue-700 dark:text-blue-300",variant:"outline",children:[(0,b.jsx)(e.ArrowDown,{"data-icon":"inline-start"}),f("behind",{count:a.behind})]})]}):(0,b.jsx)(O.Badge,{variant:"outline",children:(c=a,d=f,"AHEAD"===c.syncState?d("ahead",{count:c.ahead??0}):"BEHIND"===c.syncState?d("behind",{count:c.behind??0}):d("DIVERGED"===c.syncState?"diverged":"IN_SYNC"===c.syncState?"upToDate":"NO_UPSTREAM"===c.syncState?"unpublished":"DETACHED"===c.syncState?"detached":"unknown"))})}function aL(a){let{worktree:d,group:e,onUpdate:f,onError:g,compact:h=!1}=a,i=(0,D.useTranslations)("worktrees"),[j,k]=(0,c.useState)(!1),[l,m]=(0,c.useState)(!1),n="__inherit_remote_default__",o=Array.from(new Set([d.baseBranchOverride,e.codebase.defaultBranch,...e.codebase.remoteBranches].filter(a=>!!a))),p=async a=>{m(!0);try{let b=await (0,ad.controlPlaneRequest)(`mutation UpdateWorktreeBase($id: ID!, $baseBranch: String) {
74
74
  updateWorktreeBaseBranch(id: $id, baseBranch: $baseBranch) { ${ai.WORKTREE_FIELDS} }
75
75
  }`,{id:d.id,baseBranch:a||null});f(b.updateWorktreeBaseBranch),g(null),k(!1)}catch(a){g(a instanceof Error?a.message:String(a))}finally{m(!1)}};return(0,b.jsxs)("div",{className:"min-w-0",children:[!h&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:i("baseBranch")}),(0,b.jsx)("div",{className:(0,ae.cn)("flex min-h-6 min-w-0 items-center gap-1",!h&&"mt-0.5"),children:j?(0,b.jsxs)(_.Select,{disabled:l,onOpenChange:k,onValueChange:a=>void p(a===n?"":a),open:j,value:d.baseBranchOverride??(e.codebase.defaultBranch?n:void 0),children:[(0,b.jsx)(_.SelectTrigger,{"aria-label":i("baseBranch"),className:"h-7 min-w-40 max-w-full font-mono text-xs",size:"sm",children:(0,b.jsx)(_.SelectValue,{placeholder:i("baseUnavailable")})}),(0,b.jsxs)(_.SelectContent,{align:"start",children:[e.codebase.defaultBranch&&(0,b.jsxs)(_.SelectItem,{value:n,children:[e.codebase.defaultBranch," · ",i("inheritBase")]}),o.map(a=>(0,b.jsx)(_.SelectItem,{value:a,children:a},a))]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"truncate font-mono text-xs",title:d.baseBranch??void 0,children:d.baseBranch??"—"}),(0,b.jsx)(P.Button,{"aria-label":i("editBase"),onClick:()=>k(!0),size:"icon-xs",variant:"ghost",children:(0,b.jsx)(t.Pencil,{})})]})})]})}function aM(a,b){let c=b.activeMoves.some(b=>b.sourceCodebaseId===a.group.codebase.id||b.targetCodebaseId===a.group.codebase.id);return"ONLINE"===a.agentGroup.agent.connectionStatus&&a.agentGroup.agent.capabilities.includes("worktree.move.checkout")&&"AVAILABLE"===a.group.codebase.availability&&!a.group.worktrees.some(a=>a.activeJob)&&!c}function aN(a){let d,e,{worktree:f,allTags:g,onUpdate:h,onError:i,onManageTags:j,contentAlign:k="end",contentAlignOffset:l=0,trigger:n}=a,o=(0,D.useTranslations)("worktrees"),[p,t]=(0,c.useState)(!1),[v,w]=(0,c.useState)(!1),[x,y]=(0,c.useState)(!1),[B,C]=(0,c.useState)(!1),[E,F]=(0,c.useState)(null),[G,H]=(0,c.useState)(null),I=(0,c.useRef)(!1),J=(d=a.overview.agents.find(b=>b.codebases.some(b=>b.codebase.id===a.group.codebase.id)))?a.overview.agents.flatMap(b=>b.agent.id===d.agent.id?[]:b.codebases.flatMap(c=>c.repository.id===a.group.repository.id?[{agentGroup:b,group:c}]:[])):[],K=(e=a.overview.agents.find(b=>b.codebases.some(b=>b.codebase.id===a.group.codebase.id)))&&"ONLINE"===e.agent.connectionStatus&&e.agent.capabilities.includes("worktree.move.push")?"AVAILABLE"!==a.worktree.availability||a.worktree.activeJob||a.overview.activeMoves.some(b=>b.sourceCodebaseId===a.group.codebase.id||b.targetCodebaseId===a.group.codebase.id)?o("moveBlocked.busy"):a.worktree.branch&&a.worktree.headSha?a.worktree.hasStagedChanges||a.worktree.hasUnstagedChanges||"DIRTY"===a.worktree.pushStatus?o("moveBlocked.dirty"):"BEHIND"===a.worktree.pushStatus?o("moveBlocked.behind"):"DIVERGED"===a.worktree.pushStatus?o("moveBlocked.diverged"):"READY"!==a.worktree.pushStatus?o("moveBlocked.unknown"):J.some(b=>aM(b,a.overview))?null:o("moveBlocked.destination"):o("moveBlocked.detached"):o("moveBlocked.agent"),L=a.overview.agents.find(b=>b.codebases.some(b=>b.codebase.id===a.group.codebase.id)),M=!L||"ONLINE"!==L.agent.connectionStatus||!L.agent.capabilities.includes("worktree.delete")||"AVAILABLE"!==f.availability||!!f.activeJob||a.overview.activeMoves.some(b=>b.sourceCodebaseId===a.group.codebase.id||b.targetCodebaseId===a.group.codebase.id),O=new Set(f.tags.map(a=>a.id)),Q=async(a,b)=>{let c=b?[...O,a]:[...O].filter(b=>b!==a);try{let a=await (0,ad.controlPlaneRequest)(`mutation SetWorktreeTags($id: ID!, $tagIds: [ID!]!) { setWorktreeTags(id: $id, tagIds: $tagIds) { ${ai.WORKTREE_FIELDS} } }`,{id:f.id,tagIds:c});h(a.setWorktreeTags),i(null)}catch(a){i(a instanceof Error?a.message:String(a))}},R=async a=>{try{let b=await (0,ad.controlPlaneRequest)(`mutation HighlightWorktree($id: ID!, $color: String) { updateWorktreeHighlight(id: $id, color: $color) { ${ai.WORKTREE_FIELDS} } }`,{id:f.id,color:a});h(b.updateWorktreeHighlight),i(null)}catch(a){i(a instanceof Error?a.message:String(a))}},S=async(b,c=!1)=>{C(!0);try{let d=await (0,ad.controlPlaneRequest)(`mutation ChangeWorktreeBranch($input: ChangeWorktreeBranchInput!) {
76
76
  changeWorktreeBranch(input: $input) { id }
@@ -70,7 +70,7 @@ Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpattern
70
70
  cancelWorktreeMove(id: $id) { id status }
71
71
  }`,{id:a.id}),f(g("moveCancelled")),e(null),await d()}catch(a){e(a instanceof Error?a.message:String(a))}finally{i(null)}};return(0,b.jsx)("div",{className:"space-y-2",children:a.map(a=>(0,b.jsx)(N.Alert,{children:(0,b.jsxs)(N.AlertDescription,{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"font-medium",children:g("moveProgress",{branch:a.branch})}),(0,b.jsx)("p",{className:"text-muted-foreground",children:"AWAITING_STASH"===a.status?a.error||g("moveNeedsStash"):g(`moveStatus.${a.status}`)})]}),"AWAITING_STASH"===a.status?(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(P.Button,{disabled:h===a.id,onClick:()=>void k(a),size:"sm",variant:"outline",children:g("cancelMove")}),(0,b.jsxs)(P.Button,{disabled:h===a.id,onClick:()=>void j(a),size:"sm",children:[h===a.id&&(0,b.jsx)($.Spinner,{}),g("stashAndContinue")]})]}):(0,b.jsx)($.Spinner,{})]})},a.id))})}function aw(a,b){return{codebaseId:a.codebase.id,...b?{worktreeId:b.id}:{},defaultBranch:a.codebase.defaultBranch,currentBranch:b?.branch,currentBaseBranch:b?.baseBranch,localBranches:a.codebase.localBranches,remoteBranches:a.codebase.remoteBranches,unavailableBranches:a.worktrees.flatMap(a=>a.branch&&a.id!==b?.id?[a.branch]:[])}}function ax({overview:a,onCreated:d}){let e=(0,D.useTranslations)("worktrees"),f=a.agents.flatMap(a=>a.codebases.flatMap(b=>"ONLINE"===a.agent.connectionStatus&&a.agent.capabilities.includes("worktree.branch")&&"AVAILABLE"===b.codebase.availability&&!b.worktrees.some(a=>a.activeJob)?[{agentGroup:a,group:b}]:[])),[g,h]=(0,c.useState)(1===f.length?f[0].group.codebase.id:""),[i,j]=(0,c.useState)(!1),k=f.some(a=>a.group.codebase.id===g)?g:1===f.length?f[0].group.codebase.id:"",l=f.find(a=>a.group.codebase.id===k),m=f.map(({agentGroup:a,group:b})=>({value:b.codebase.id,label:`${b.repository.name} \xb7 ${a.agent.name}`,description:b.codebase.folder,keywords:`${b.repository.displayOrigin} ${a.agent.hostname}`})),n=async a=>{if(!l)throw Error(e("selectCodebase"));j(!0);try{let b=await (0,ad.controlPlaneRequest)(`mutation CreateWorktree($input: CreateWorktreeInput!) {
72
72
  createWorktree(input: $input) { id }
73
- }`,{input:{codebaseId:l.group.codebase.id,selection:a,requestId:(0,ac.createClientId)()}});await (0,ak.waitForWorktreeJob)(b.createWorktree.id),await d()}finally{j(!1)}};return(0,b.jsxs)(Q.Card,{children:[(0,b.jsx)(Q.CardHeader,{className:"border-b",children:(0,b.jsxs)(Q.CardTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)(u.Plus,{})," ",e("createWorktree")]})}),(0,b.jsxs)(Q.CardContent,{className:"space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(X.Label,{className:"mb-1.5 block",children:e("repositoryCheckout")}),(0,b.jsx)(Z.SearchableSelect,{ariaLabel:e("repositoryCheckout"),disabled:i||0===m.length,emptyMessage:e("noEligibleCodebases"),onValueChange:h,options:m,placeholder:e("selectCodebase"),searchPlaceholder:e("searchCodebases"),value:k})]}),l?(0,b.jsx)(ag.WorktreeBranchForm,{busy:i,onSubmit:n,submitLabel:e("createWorktree"),target:aw(l.group)},l.group.codebase.id):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:m.length?e("selectCodebaseHelp"):e("noEligibleCodebases")})]})]})}function ay({agentGroup:a,layout:c,allTags:d,editorVariant:e,inspectionRefreshToken:f,onReload:g,onUpdate:h,onError:i,onManageTags:j,onOpenTicket:k,overview:l}){let m=(0,D.useTranslations)("worktrees"),n="ONLINE"===a.agent.connectionStatus&&a.agent.capabilities.includes("worktree.watch"),o="ONLINE"===a.agent.connectionStatus&&a.agent.capabilities.includes("worktree.branch");return(0,b.jsxs)("section",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 border-b pb-2",children:[(0,b.jsx)("h2",{className:"text-lg font-semibold",children:a.agent.name}),(0,b.jsx)(O.Badge,{variant:"ONLINE"===a.agent.connectionStatus?"success":"secondary",children:m("ONLINE"===a.agent.connectionStatus?"online":"offline")}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:a.agent.hostname})]}),a.codebases.map(m=>(0,b.jsxs)("section",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"font-medium",children:m.repository.name}),(0,b.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:m.repository.displayOrigin})]}),(0,b.jsx)(az,{codebase:m.codebase})]}),"cards"===c?(0,b.jsx)("div",{className:"space-y-3",children:m.worktrees.map(c=>(0,b.jsx)(aA,{allTags:d,baseRepoDirectory:a.agent.baseRepoDirectory,branchManagementEnabled:o,editorVariant:e,group:m,inspectionRefreshToken:f,liveUpdatesEnabled:n,onError:i,onManageTags:j,onOpenTicket:k,onReload:g,onUpdate:h,overview:l,worktree:c},c.id))}):(0,b.jsx)(aS,{allTags:d,baseRepoDirectory:a.agent.baseRepoDirectory,branchManagementEnabled:o,editorVariant:e,group:m,inspectionRefreshToken:f,liveUpdatesEnabled:n,onError:i,onManageTags:j,onOpenTicket:k,onReload:g,onUpdate:h,overview:l})]},m.codebase.id))]})}function az({codebase:a}){let d=(0,D.useTranslations)("worktrees"),e=(0,C.useLocale)(),[f,g]=(0,c.useState)(null);(0,c.useEffect)(()=>{let a=()=>g(new Date().getTime()),b=window.setTimeout(a,0),c=window.setInterval(a,1e3);return()=>{window.clearTimeout(b),window.clearInterval(c)}},[]);let h=a.lastFetchedAt&&null!==f?Math.max(0,f-new Date(a.lastFetchedAt).getTime()):null,i=null===h?d("neverFetched"):h<6e4?d("secondsAgo",{count:Math.floor(h/1e3)}):new Intl.RelativeTimeFormat(e,{numeric:"auto"}).format(-Math.floor(h/6e4),"minute");return(0,b.jsx)("span",{className:(0,ae.cn)("text-xs text-muted-foreground",a.lastFetchError&&"text-destructive"),title:a.lastFetchError??void 0,children:d("lastFetched",{value:i})})}function aA(a){let{inspectionRefreshToken:d,onError:e}=a,{worktree:f,applyActivity:g,setUnstagedChanges:h}=(0,aj.useLiveWorktree)(a.worktree),k={...a,worktree:f},[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(null),[p,q]=(0,c.useState)(!1),r=(0,c.useRef)(0),s=(0,c.useRef)(d),t=(0,D.useTranslations)("worktrees"),u=(0,af.useRouter)(),v=(0,c.useCallback)(async()=>{let a=++r.current;q(!0);try{let b=await (0,aj.inspectWorktree)(f.id);if(a!==r.current)return;o(b),h(b.changes.some(a=>a.unstaged||a.untracked||a.conflicted)),e(null)}catch(b){a===r.current&&e(b instanceof Error?b.message:String(b))}finally{a===r.current&&q(!1)}},[e,h,f.id]),w=(0,aj.useQueuedWorktreeInspection)(v),x=(0,c.useCallback)(a=>{g(a),l&&w()},[g,l,w]);(0,aj.useWorktreeActivitySubscription)(f.id,a.liveUpdatesEnabled&&"AVAILABLE"===f.availability,x),(0,c.useEffect)(()=>{if(s.current===d||(s.current=d,!l))return;let a=window.setTimeout(()=>void w(),0);return()=>window.clearTimeout(a)},[l,d,w]);let y=()=>{let a=!l;m(a),a&&!n&&w()};return(0,b.jsxs)(Q.Card,{className:(0,ae.cn)("cursor-pointer transition-colors hover:bg-muted/30",f.highlightColor&&as[f.highlightColor]),onClick:a=>{(0,al.shouldNavigateWorktreeSurface)(a)&&u.push((0,al.worktreeDetailHref)(f.id))},children:[(0,b.jsxs)(Q.CardHeader,{className:"grid-cols-1! border-b @md/card-header:grid-cols-[minmax(0,1fr)_auto]!",children:[(0,b.jsxs)(Q.CardTitle,{className:"min-w-0",children:[(0,b.jsxs)(P.Button,{"aria-expanded":l,className:"h-auto w-full max-w-full justify-start gap-1 p-1 text-left",onClick:()=>void y(),variant:"ghost",children:[l?(0,b.jsx)(i.ChevronDown,{}):(0,b.jsx)(j.ChevronRight,{}),(0,b.jsx)("span",{className:"truncate font-mono",children:f.branch??f.headSha?.slice(0,10)??t("detached")})]}),(f.ticketKey||f.ticketTitle)&&(0,b.jsx)(aC,{...k})]}),(0,b.jsxs)(Q.CardAction,{className:"col-start-1 row-span-1 row-start-auto flex max-w-full flex-wrap items-center justify-start gap-1 justify-self-start @md/card-header:col-start-2 @md/card-header:row-span-2 @md/card-header:row-start-1 @md/card-header:justify-end @md/card-header:justify-self-end",children:[(0,b.jsx)(aK,{worktree:f}),f.hasUnstagedChanges&&(0,b.jsx)(O.Badge,{variant:"destructive",children:t("dirty")}),(0,b.jsx)(aB,{worktree:f}),(0,b.jsx)(aN,{...k})]})]}),(0,b.jsxs)(Q.CardContent,{className:"space-y-4",children:[(0,b.jsx)(aD,{...k,detailsExpanded:l,onToggleDetails:y}),p&&(0,b.jsxs)("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)($.Spinner,{})," ",t("loadingDetails")]}),l&&n&&(0,b.jsx)(ah.WorktreeDetailPanel,{detail:n,inline:!0})]}),(0,b.jsx)(Q.CardFooter,{className:"flex-wrap gap-2","data-worktree-navigation-ignore":!0,children:(0,b.jsx)(aQ,{...k,onCompleted:async()=>{await a.onReload(),l&&await w()}})})]})}function aB({worktree:a}){let c=(0,D.useTranslations)("worktrees"),d=a.branch??a.headSha?.slice(0,10)??c("detached"),e=c("openWorktreeDetails",{branch:d});return(0,b.jsx)(P.Button,{asChild:!0,size:"icon-sm",variant:"ghost",children:(0,b.jsx)(af.Link,{"aria-label":e,href:(0,al.worktreeDetailHref)(a.id),title:e,children:(0,b.jsx)(f.ArrowRight,{})})})}function aC({worktree:a,onOpenTicket:c,compact:d=!1}){let e=`${a.ticketKey??""}${a.ticketTitle?`${a.ticketKey?" — ":""}${a.ticketTitle}`:""}`;return(0,b.jsxs)("div",{className:(0,ae.cn)("flex max-w-full flex-wrap items-center gap-1.5 font-normal",d?"mt-0.5 text-xs":"mt-1 text-sm"),children:[a.ticketKey?(0,b.jsx)(P.Button,{className:"h-auto min-w-0 justify-start truncate p-0 text-left font-normal",onClick:()=>c(a.ticketKey),title:e,type:"button",variant:"link",children:e}):(0,b.jsx)("p",{className:"min-w-0 truncate text-muted-foreground",title:e,children:e}),a.ticketStatus&&(a.ticketKey?(0,b.jsx)(O.Badge,{asChild:!0,variant:"secondary",children:(0,b.jsx)("button",{onClick:()=>c(a.ticketKey),type:"button",children:a.ticketStatus})}):(0,b.jsx)(O.Badge,{variant:"secondary",children:a.ticketStatus}))]})}function aD(a){let{worktree:c,group:d,baseRepoDirectory:e,detailsExpanded:f,onToggleDetails:g}=a,h=(0,D.useTranslations)("worktrees");return(0,b.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,b.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,b.jsx)(aV,{label:h("path"),mono:!0,value:aq(c.folder,e)}),(0,b.jsx)(aL,{...a})]}),(0,b.jsx)(aF,{label:h("upToDate"),children:(0,b.jsx)(aH,{worktree:c})}),(0,b.jsx)(aG,{...a}),(0,b.jsx)(aF,{label:h("pullRequest"),children:(0,b.jsx)(aI,{detailsExpanded:f,onToggleDetails:g,worktree:c})}),c.latestBuild&&(0,b.jsx)(aE,{build:c.latestBuild,onCompleted:a.onReload,onError:a.onError}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[c.statusError&&(0,b.jsx)("span",{className:"text-xs text-destructive",children:c.statusError}),!d.codebase.defaultBranch&&!c.baseBranchOverride&&(0,b.jsx)("span",{className:"text-xs text-destructive",children:h("baseUnavailable")})]})]})}function aE({build:a,onCompleted:c,onError:d}){let e=(0,D.useTranslations)("worktrees"),f=(0,D.useTranslations)("builds"),g="SUCCEEDED"===a.status&&a.artifacts.some(a=>"RUNNABLE_APP"===a.kind);return(0,b.jsxs)(aF,{label:e("latestBuild"),children:[(0,b.jsx)(O.Badge,{asChild:!0,variant:"outline",children:(0,b.jsx)(af.Link,{href:`/builds/${a.id}`,children:f(`actions.${a.action}`)})}),(0,b.jsx)(O.Badge,{variant:(0,F.buildStatusVariant)(a.status),children:f(`statuses.${a.status}`)}),a.outOfDate&&(0,b.jsx)(O.Badge,{className:"border-amber-500/40 text-amber-700 dark:text-amber-300",variant:"outline",children:f("outOfDate")}),(0,b.jsx)(G.RebuildButton,{buildId:a.id,onCompleted:()=>c(),onError:d,size:"sm"}),g&&(0,b.jsx)(H.RunBuildControls,{buildId:a.id,destinationType:a.destinationType,onCompleted:c,onError:d,preferredDestination:a.destination,size:"sm"})]})}function aF({label:a,children:c}){return(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("p",{className:"w-24 shrink-0 text-xs text-muted-foreground",children:a}),(0,b.jsx)("div",{className:"flex min-w-0 flex-wrap items-center gap-1.5",children:c})]})}function aG({compact:a=!1,...c}){let{worktree:d}=c,e=(0,D.useTranslations)("worktrees");return(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[!a&&(0,b.jsx)("span",{className:"w-24 shrink-0 text-xs text-muted-foreground",children:e("tags")}),(0,b.jsx)(aN,{...c,contentAlign:a?"end":"start",contentAlignOffset:a?0:-100,trigger:(0,b.jsx)(P.Button,{"aria-label":`${e("tags")}: ${d.branch??e("detached")}`,className:(0,ae.cn)("h-auto min-h-7 max-w-full justify-start px-1 py-1 text-left font-normal",!a&&"-mx-1"),type:"button",variant:"ghost",children:(0,b.jsxs)("span",{className:"flex min-w-0 flex-wrap items-center gap-1.5",children:[d.tags.map(a=>(0,b.jsx)(aU,{tag:a},a.id)),!d.tags.length&&(0,b.jsx)("span",{className:"text-muted-foreground",children:"—"})]})})})]})}function aH({worktree:a}){let c=(0,D.useTranslations)("worktrees"),d=0===a.baseBehind;return(0,b.jsx)(O.Badge,{className:d?"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":null===a.baseBehind?void 0:"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300",variant:"outline",children:null===a.baseBehind?c("unknown"):d?c("yes"):c("notUpToDate",{count:a.baseBehind})})}function aI({worktree:a,detailsExpanded:c,onToggleDetails:d}){var e;let f=(0,D.useTranslations)("worktrees");return(0,b.jsxs)(b.Fragment,{children:[a.pullRequest?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(aJ,{pullRequest:a.pullRequest}),(0,b.jsx)(K.PipelineMenu,{pipelineStatus:a.pullRequest.pipelineStatus,pipelines:a.pullRequest.pipelines,repositoryId:a.pullRequest.repositoryGithubId}),(0,b.jsx)(O.Badge,{className:"APPROVED"===(e=a.pullRequest.reviewDecision)?"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":"CHANGES_REQUESTED"===e?"border-red-500/30 bg-red-500/10 text-red-700 dark:text-red-300":"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300",children:f(`review.${a.pullRequest.reviewDecision}`)}),(0,b.jsx)(O.Badge,{asChild:!0,className:0===a.pullRequest.unresolvedReviewThreadCount?"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300",children:(0,b.jsx)(af.Link,{href:(0,L.pullRequestCommentsHref)(a.pullRequest),children:f("comments",{count:a.pullRequest.unresolvedReviewThreadCount})})})]}):(0,b.jsx)("span",{className:"text-muted-foreground",children:"—"}),d?(0,b.jsx)(O.Badge,{asChild:!0,variant:"secondary",children:(0,b.jsx)("button",{"aria-expanded":c,onClick:d,type:"button",children:f("branchCommits",{count:a.baseAhead??0})})}):(0,b.jsx)(O.Badge,{variant:"secondary",children:f("branchCommits",{count:a.baseAhead??0})})]})}function aJ({pullRequest:a}){let c=(0,D.useTranslations)("worktrees");return(0,b.jsxs)(T.DropdownMenu,{children:[(0,b.jsx)(T.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsx)(O.Badge,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",children:["PR #",a.number]})})}),(0,b.jsxs)(T.DropdownMenuContent,{align:"start",className:"w-44",children:[(0,b.jsx)(T.DropdownMenuItem,{asChild:!0,children:(0,b.jsxs)("a",{href:a.url,rel:"noreferrer",target:"_blank",children:[(0,b.jsx)(l.ExternalLink,{}),c("openInGitHub")]})}),(0,b.jsx)(T.DropdownMenuItem,{asChild:!0,children:(0,b.jsxs)(af.Link,{href:(0,L.pullRequestDetailHref)(a),children:[(0,b.jsx)(n.GitPullRequest,{}),c("openDetails")]})})]})]})}function aK({worktree:a}){var c,d;let f=(0,D.useTranslations)("worktrees");return"IN_SYNC"===a.syncState||0===a.ahead&&0===a.behind?(0,b.jsx)(O.Badge,{className:"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300",variant:"outline",children:f("inSync")}):null!==a.ahead||null!==a.behind?(0,b.jsxs)(b.Fragment,{children:[null!==a.ahead&&(0,b.jsxs)(O.Badge,{className:"border-blue-500/30 bg-blue-500/10 text-blue-700 dark:text-blue-300",variant:"outline",children:[(0,b.jsx)(g.ArrowUp,{"data-icon":"inline-start"}),f("ahead",{count:a.ahead})]}),null!==a.behind&&(0,b.jsxs)(O.Badge,{className:"border-blue-500/30 bg-blue-500/10 text-blue-700 dark:text-blue-300",variant:"outline",children:[(0,b.jsx)(e.ArrowDown,{"data-icon":"inline-start"}),f("behind",{count:a.behind})]})]}):(0,b.jsx)(O.Badge,{variant:"outline",children:(c=a,d=f,"AHEAD"===c.syncState?d("ahead",{count:c.ahead??0}):"BEHIND"===c.syncState?d("behind",{count:c.behind??0}):d("DIVERGED"===c.syncState?"diverged":"IN_SYNC"===c.syncState?"upToDate":"NO_UPSTREAM"===c.syncState?"unpublished":"DETACHED"===c.syncState?"detached":"unknown"))})}function aL(a){let{worktree:d,group:e,onUpdate:f,onError:g,compact:h=!1}=a,i=(0,D.useTranslations)("worktrees"),[j,k]=(0,c.useState)(!1),[l,m]=(0,c.useState)(!1),n="__inherit_remote_default__",o=Array.from(new Set([d.baseBranchOverride,e.codebase.defaultBranch,...e.codebase.remoteBranches].filter(a=>!!a))),p=async a=>{m(!0);try{let b=await (0,ad.controlPlaneRequest)(`mutation UpdateWorktreeBase($id: ID!, $baseBranch: String) {
73
+ }`,{input:{codebaseId:l.group.codebase.id,selection:a,requestId:(0,ac.createClientId)()}});await (0,ak.waitForWorktreeJob)(b.createWorktree.id),await d()}finally{j(!1)}};return(0,b.jsxs)(Q.Card,{children:[(0,b.jsx)(Q.CardHeader,{children:(0,b.jsxs)(Q.CardTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)(u.Plus,{})," ",e("createWorktree")]})}),(0,b.jsxs)(Q.CardContent,{className:"space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(X.Label,{className:"mb-1.5 block",children:e("repositoryCheckout")}),(0,b.jsx)(Z.SearchableSelect,{ariaLabel:e("repositoryCheckout"),disabled:i||0===m.length,emptyMessage:e("noEligibleCodebases"),onValueChange:h,options:m,placeholder:e("selectCodebase"),searchPlaceholder:e("searchCodebases"),value:k})]}),l?(0,b.jsx)(ag.WorktreeBranchForm,{busy:i,onSubmit:n,submitLabel:e("createWorktree"),target:aw(l.group)},l.group.codebase.id):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:m.length?e("selectCodebaseHelp"):e("noEligibleCodebases")})]})]})}function ay({agentGroup:a,layout:c,allTags:d,editorVariant:e,inspectionRefreshToken:f,onReload:g,onUpdate:h,onError:i,onManageTags:j,onOpenTicket:k,overview:l}){let m=(0,D.useTranslations)("worktrees"),n="ONLINE"===a.agent.connectionStatus&&a.agent.capabilities.includes("worktree.watch"),o="ONLINE"===a.agent.connectionStatus&&a.agent.capabilities.includes("worktree.branch");return(0,b.jsxs)("section",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 border-b pb-2",children:[(0,b.jsx)("h2",{className:"text-lg font-semibold",children:a.agent.name}),(0,b.jsx)(O.Badge,{variant:"ONLINE"===a.agent.connectionStatus?"success":"secondary",children:m("ONLINE"===a.agent.connectionStatus?"online":"offline")}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:a.agent.hostname})]}),a.codebases.map(m=>(0,b.jsxs)("section",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"font-medium",children:m.repository.name}),(0,b.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:m.repository.displayOrigin})]}),(0,b.jsx)(az,{codebase:m.codebase})]}),"cards"===c?(0,b.jsx)("div",{className:"space-y-3",children:m.worktrees.map(c=>(0,b.jsx)(aA,{allTags:d,baseRepoDirectory:a.agent.baseRepoDirectory,branchManagementEnabled:o,editorVariant:e,group:m,inspectionRefreshToken:f,liveUpdatesEnabled:n,onError:i,onManageTags:j,onOpenTicket:k,onReload:g,onUpdate:h,overview:l,worktree:c},c.id))}):(0,b.jsx)(aS,{allTags:d,baseRepoDirectory:a.agent.baseRepoDirectory,branchManagementEnabled:o,editorVariant:e,group:m,inspectionRefreshToken:f,liveUpdatesEnabled:n,onError:i,onManageTags:j,onOpenTicket:k,onReload:g,onUpdate:h,overview:l})]},m.codebase.id))]})}function az({codebase:a}){let d=(0,D.useTranslations)("worktrees"),e=(0,C.useLocale)(),[f,g]=(0,c.useState)(null);(0,c.useEffect)(()=>{let a=()=>g(new Date().getTime()),b=window.setTimeout(a,0),c=window.setInterval(a,1e3);return()=>{window.clearTimeout(b),window.clearInterval(c)}},[]);let h=a.lastFetchedAt&&null!==f?Math.max(0,f-new Date(a.lastFetchedAt).getTime()):null,i=null===h?d("neverFetched"):h<6e4?d("secondsAgo",{count:Math.floor(h/1e3)}):new Intl.RelativeTimeFormat(e,{numeric:"auto"}).format(-Math.floor(h/6e4),"minute");return(0,b.jsx)("span",{className:(0,ae.cn)("text-xs text-muted-foreground",a.lastFetchError&&"text-destructive"),title:a.lastFetchError??void 0,children:d("lastFetched",{value:i})})}function aA(a){let{inspectionRefreshToken:d,onError:e}=a,{worktree:f,applyActivity:g,setUnstagedChanges:h}=(0,aj.useLiveWorktree)(a.worktree),k={...a,worktree:f},[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(null),[p,q]=(0,c.useState)(!1),r=(0,c.useRef)(0),s=(0,c.useRef)(d),t=(0,D.useTranslations)("worktrees"),u=(0,af.useRouter)(),v=(0,c.useCallback)(async()=>{let a=++r.current;q(!0);try{let b=await (0,aj.inspectWorktree)(f.id);if(a!==r.current)return;o(b),h(b.changes.some(a=>a.unstaged||a.untracked||a.conflicted)),e(null)}catch(b){a===r.current&&e(b instanceof Error?b.message:String(b))}finally{a===r.current&&q(!1)}},[e,h,f.id]),w=(0,aj.useQueuedWorktreeInspection)(v),x=(0,c.useCallback)(a=>{g(a),l&&w()},[g,l,w]);(0,aj.useWorktreeActivitySubscription)(f.id,a.liveUpdatesEnabled&&"AVAILABLE"===f.availability,x),(0,c.useEffect)(()=>{if(s.current===d||(s.current=d,!l))return;let a=window.setTimeout(()=>void w(),0);return()=>window.clearTimeout(a)},[l,d,w]);let y=()=>{let a=!l;m(a),a&&!n&&w()};return(0,b.jsxs)(Q.Card,{className:(0,ae.cn)("cursor-pointer transition-colors hover:bg-muted/30",f.highlightColor&&as[f.highlightColor]),onClick:a=>{(0,al.shouldNavigateWorktreeSurface)(a)&&u.push((0,al.worktreeDetailHref)(f.id))},children:[(0,b.jsxs)(Q.CardHeader,{className:"grid-cols-1! @md/card-header:grid-cols-[minmax(0,1fr)_auto]!",children:[(0,b.jsxs)(Q.CardTitle,{className:"min-w-0",children:[(0,b.jsxs)(P.Button,{"aria-expanded":l,className:"h-auto w-full max-w-full justify-start gap-1 p-1 text-left",onClick:()=>void y(),variant:"ghost",children:[l?(0,b.jsx)(i.ChevronDown,{}):(0,b.jsx)(j.ChevronRight,{}),(0,b.jsx)("span",{className:"truncate font-mono",children:f.branch??f.headSha?.slice(0,10)??t("detached")})]}),(f.ticketKey||f.ticketTitle)&&(0,b.jsx)(aC,{...k})]}),(0,b.jsxs)(Q.CardAction,{className:"col-start-1 row-span-1 row-start-auto flex max-w-full flex-wrap items-center justify-start gap-1 justify-self-start @md/card-header:col-start-2 @md/card-header:row-span-2 @md/card-header:row-start-1 @md/card-header:justify-end @md/card-header:justify-self-end",children:[(0,b.jsx)(aK,{worktree:f}),f.hasUnstagedChanges&&(0,b.jsx)(O.Badge,{variant:"destructive",children:t("dirty")}),(0,b.jsx)(aB,{worktree:f}),(0,b.jsx)(aN,{...k})]})]}),(0,b.jsxs)(Q.CardContent,{className:"space-y-4",children:[(0,b.jsx)(aD,{...k,detailsExpanded:l,onToggleDetails:y}),p&&(0,b.jsxs)("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)($.Spinner,{})," ",t("loadingDetails")]}),l&&n&&(0,b.jsx)(ah.WorktreeDetailPanel,{detail:n,inline:!0})]}),(0,b.jsx)(Q.CardFooter,{className:"flex-wrap gap-2","data-worktree-navigation-ignore":!0,children:(0,b.jsx)(aQ,{...k,onCompleted:async()=>{await a.onReload(),l&&await w()}})})]})}function aB({worktree:a}){let c=(0,D.useTranslations)("worktrees"),d=a.branch??a.headSha?.slice(0,10)??c("detached"),e=c("openWorktreeDetails",{branch:d});return(0,b.jsx)(P.Button,{asChild:!0,size:"icon-sm",variant:"ghost",children:(0,b.jsx)(af.Link,{"aria-label":e,href:(0,al.worktreeDetailHref)(a.id),title:e,children:(0,b.jsx)(f.ArrowRight,{})})})}function aC({worktree:a,onOpenTicket:c,compact:d=!1}){let e=`${a.ticketKey??""}${a.ticketTitle?`${a.ticketKey?" — ":""}${a.ticketTitle}`:""}`;return(0,b.jsxs)("div",{className:(0,ae.cn)("flex max-w-full flex-wrap items-center gap-1.5 font-normal",d?"mt-0.5 text-xs":"mt-1 text-sm"),children:[a.ticketKey?(0,b.jsx)(P.Button,{className:"h-auto min-w-0 justify-start truncate p-0 text-left font-normal",onClick:()=>c(a.ticketKey),title:e,type:"button",variant:"link",children:e}):(0,b.jsx)("p",{className:"min-w-0 truncate text-muted-foreground",title:e,children:e}),a.ticketStatus&&(a.ticketKey?(0,b.jsx)(O.Badge,{asChild:!0,variant:"secondary",children:(0,b.jsx)("button",{onClick:()=>c(a.ticketKey),type:"button",children:a.ticketStatus})}):(0,b.jsx)(O.Badge,{variant:"secondary",children:a.ticketStatus}))]})}function aD(a){let{worktree:c,group:d,baseRepoDirectory:e,detailsExpanded:f,onToggleDetails:g}=a,h=(0,D.useTranslations)("worktrees");return(0,b.jsxs)("div",{className:"space-y-3 text-sm",children:[(0,b.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,b.jsx)(aV,{label:h("path"),mono:!0,value:aq(c.folder,e)}),(0,b.jsx)(aL,{...a})]}),(0,b.jsx)(aF,{label:h("upToDate"),children:(0,b.jsx)(aH,{worktree:c})}),(0,b.jsx)(aG,{...a}),(0,b.jsx)(aF,{label:h("pullRequest"),children:(0,b.jsx)(aI,{detailsExpanded:f,onToggleDetails:g,worktree:c})}),c.latestBuild&&(0,b.jsx)(aE,{build:c.latestBuild,onCompleted:a.onReload,onError:a.onError}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[c.statusError&&(0,b.jsx)("span",{className:"text-xs text-destructive",children:c.statusError}),!d.codebase.defaultBranch&&!c.baseBranchOverride&&(0,b.jsx)("span",{className:"text-xs text-destructive",children:h("baseUnavailable")})]})]})}function aE({build:a,onCompleted:c,onError:d}){let e=(0,D.useTranslations)("worktrees"),f=(0,D.useTranslations)("builds"),g="SUCCEEDED"===a.status&&a.artifacts.some(a=>"RUNNABLE_APP"===a.kind);return(0,b.jsxs)(aF,{label:e("latestBuild"),children:[(0,b.jsx)(O.Badge,{asChild:!0,variant:"outline",children:(0,b.jsx)(af.Link,{href:`/builds/${a.id}`,children:f(`actions.${a.action}`)})}),(0,b.jsx)(O.Badge,{variant:(0,F.buildStatusVariant)(a.status),children:f(`statuses.${a.status}`)}),a.outOfDate&&(0,b.jsx)(O.Badge,{className:"border-amber-500/40 text-amber-700 dark:text-amber-300",variant:"outline",children:f("outOfDate")}),(0,b.jsx)(G.RebuildButton,{buildId:a.id,onCompleted:()=>c(),onError:d,size:"sm"}),g&&(0,b.jsx)(H.RunBuildControls,{buildId:a.id,destinationType:a.destinationType,onCompleted:c,onError:d,preferredDestination:a.destination,size:"sm"})]})}function aF({label:a,children:c}){return(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("p",{className:"w-24 shrink-0 text-xs text-muted-foreground",children:a}),(0,b.jsx)("div",{className:"flex min-w-0 flex-wrap items-center gap-1.5",children:c})]})}function aG({compact:a=!1,...c}){let{worktree:d}=c,e=(0,D.useTranslations)("worktrees");return(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[!a&&(0,b.jsx)("span",{className:"w-24 shrink-0 text-xs text-muted-foreground",children:e("tags")}),(0,b.jsx)(aN,{...c,contentAlign:a?"end":"start",contentAlignOffset:a?0:-100,trigger:(0,b.jsx)(P.Button,{"aria-label":`${e("tags")}: ${d.branch??e("detached")}`,className:(0,ae.cn)("h-auto min-h-7 max-w-full justify-start px-1 py-1 text-left font-normal",!a&&"-mx-1"),type:"button",variant:"ghost",children:(0,b.jsxs)("span",{className:"flex min-w-0 flex-wrap items-center gap-1.5",children:[d.tags.map(a=>(0,b.jsx)(aU,{tag:a},a.id)),!d.tags.length&&(0,b.jsx)("span",{className:"text-muted-foreground",children:"—"})]})})})]})}function aH({worktree:a}){let c=(0,D.useTranslations)("worktrees"),d=0===a.baseBehind;return(0,b.jsx)(O.Badge,{className:d?"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":null===a.baseBehind?void 0:"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300",variant:"outline",children:null===a.baseBehind?c("unknown"):d?c("yes"):c("notUpToDate",{count:a.baseBehind})})}function aI({worktree:a,detailsExpanded:c,onToggleDetails:d}){var e;let f=(0,D.useTranslations)("worktrees");return(0,b.jsxs)(b.Fragment,{children:[a.pullRequest?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(aJ,{pullRequest:a.pullRequest}),(0,b.jsx)(K.PipelineMenu,{pipelineStatus:a.pullRequest.pipelineStatus,pipelines:a.pullRequest.pipelines,repositoryId:a.pullRequest.repositoryGithubId}),(0,b.jsx)(O.Badge,{className:"APPROVED"===(e=a.pullRequest.reviewDecision)?"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":"CHANGES_REQUESTED"===e?"border-red-500/30 bg-red-500/10 text-red-700 dark:text-red-300":"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300",children:f(`review.${a.pullRequest.reviewDecision}`)}),(0,b.jsx)(O.Badge,{asChild:!0,className:0===a.pullRequest.unresolvedReviewThreadCount?"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300",children:(0,b.jsx)(af.Link,{href:(0,L.pullRequestCommentsHref)(a.pullRequest),children:f("comments",{count:a.pullRequest.unresolvedReviewThreadCount})})})]}):(0,b.jsx)("span",{className:"text-muted-foreground",children:"—"}),d?(0,b.jsx)(O.Badge,{asChild:!0,variant:"secondary",children:(0,b.jsx)("button",{"aria-expanded":c,onClick:d,type:"button",children:f("branchCommits",{count:a.baseAhead??0})})}):(0,b.jsx)(O.Badge,{variant:"secondary",children:f("branchCommits",{count:a.baseAhead??0})})]})}function aJ({pullRequest:a}){let c=(0,D.useTranslations)("worktrees");return(0,b.jsxs)(T.DropdownMenu,{children:[(0,b.jsx)(T.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsx)(O.Badge,{asChild:!0,children:(0,b.jsxs)("button",{type:"button",children:["PR #",a.number]})})}),(0,b.jsxs)(T.DropdownMenuContent,{align:"start",className:"w-44",children:[(0,b.jsx)(T.DropdownMenuItem,{asChild:!0,children:(0,b.jsxs)("a",{href:a.url,rel:"noreferrer",target:"_blank",children:[(0,b.jsx)(l.ExternalLink,{}),c("openInGitHub")]})}),(0,b.jsx)(T.DropdownMenuItem,{asChild:!0,children:(0,b.jsxs)(af.Link,{href:(0,L.pullRequestDetailHref)(a),children:[(0,b.jsx)(n.GitPullRequest,{}),c("openDetails")]})})]})]})}function aK({worktree:a}){var c,d;let f=(0,D.useTranslations)("worktrees");return"IN_SYNC"===a.syncState||0===a.ahead&&0===a.behind?(0,b.jsx)(O.Badge,{className:"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300",variant:"outline",children:f("inSync")}):null!==a.ahead||null!==a.behind?(0,b.jsxs)(b.Fragment,{children:[null!==a.ahead&&(0,b.jsxs)(O.Badge,{className:"border-blue-500/30 bg-blue-500/10 text-blue-700 dark:text-blue-300",variant:"outline",children:[(0,b.jsx)(g.ArrowUp,{"data-icon":"inline-start"}),f("ahead",{count:a.ahead})]}),null!==a.behind&&(0,b.jsxs)(O.Badge,{className:"border-blue-500/30 bg-blue-500/10 text-blue-700 dark:text-blue-300",variant:"outline",children:[(0,b.jsx)(e.ArrowDown,{"data-icon":"inline-start"}),f("behind",{count:a.behind})]})]}):(0,b.jsx)(O.Badge,{variant:"outline",children:(c=a,d=f,"AHEAD"===c.syncState?d("ahead",{count:c.ahead??0}):"BEHIND"===c.syncState?d("behind",{count:c.behind??0}):d("DIVERGED"===c.syncState?"diverged":"IN_SYNC"===c.syncState?"upToDate":"NO_UPSTREAM"===c.syncState?"unpublished":"DETACHED"===c.syncState?"detached":"unknown"))})}function aL(a){let{worktree:d,group:e,onUpdate:f,onError:g,compact:h=!1}=a,i=(0,D.useTranslations)("worktrees"),[j,k]=(0,c.useState)(!1),[l,m]=(0,c.useState)(!1),n="__inherit_remote_default__",o=Array.from(new Set([d.baseBranchOverride,e.codebase.defaultBranch,...e.codebase.remoteBranches].filter(a=>!!a))),p=async a=>{m(!0);try{let b=await (0,ad.controlPlaneRequest)(`mutation UpdateWorktreeBase($id: ID!, $baseBranch: String) {
74
74
  updateWorktreeBaseBranch(id: $id, baseBranch: $baseBranch) { ${ai.WORKTREE_FIELDS} }
75
75
  }`,{id:d.id,baseBranch:a||null});f(b.updateWorktreeBaseBranch),g(null),k(!1)}catch(a){g(a instanceof Error?a.message:String(a))}finally{m(!1)}};return(0,b.jsxs)("div",{className:"min-w-0",children:[!h&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:i("baseBranch")}),(0,b.jsx)("div",{className:(0,ae.cn)("flex min-h-6 min-w-0 items-center gap-1",!h&&"mt-0.5"),children:j?(0,b.jsxs)(_.Select,{disabled:l,onOpenChange:k,onValueChange:a=>void p(a===n?"":a),open:j,value:d.baseBranchOverride??(e.codebase.defaultBranch?n:void 0),children:[(0,b.jsx)(_.SelectTrigger,{"aria-label":i("baseBranch"),className:"h-7 min-w-40 max-w-full font-mono text-xs",size:"sm",children:(0,b.jsx)(_.SelectValue,{placeholder:i("baseUnavailable")})}),(0,b.jsxs)(_.SelectContent,{align:"start",children:[e.codebase.defaultBranch&&(0,b.jsxs)(_.SelectItem,{value:n,children:[e.codebase.defaultBranch," · ",i("inheritBase")]}),o.map(a=>(0,b.jsx)(_.SelectItem,{value:a,children:a},a))]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"truncate font-mono text-xs",title:d.baseBranch??void 0,children:d.baseBranch??"—"}),(0,b.jsx)(P.Button,{"aria-label":i("editBase"),onClick:()=>k(!0),size:"icon-xs",variant:"ghost",children:(0,b.jsx)(t.Pencil,{})})]})})]})}function aM(a,b){let c=b.activeMoves.some(b=>b.sourceCodebaseId===a.group.codebase.id||b.targetCodebaseId===a.group.codebase.id);return"ONLINE"===a.agentGroup.agent.connectionStatus&&a.agentGroup.agent.capabilities.includes("worktree.move.checkout")&&"AVAILABLE"===a.group.codebase.availability&&!a.group.worktrees.some(a=>a.activeJob)&&!c}function aN(a){let d,e,{worktree:f,allTags:g,onUpdate:h,onError:i,onManageTags:j,contentAlign:k="end",contentAlignOffset:l=0,trigger:n}=a,o=(0,D.useTranslations)("worktrees"),[p,t]=(0,c.useState)(!1),[v,w]=(0,c.useState)(!1),[x,y]=(0,c.useState)(!1),[B,C]=(0,c.useState)(!1),[E,F]=(0,c.useState)(null),[G,H]=(0,c.useState)(null),I=(0,c.useRef)(!1),J=(d=a.overview.agents.find(b=>b.codebases.some(b=>b.codebase.id===a.group.codebase.id)))?a.overview.agents.flatMap(b=>b.agent.id===d.agent.id?[]:b.codebases.flatMap(c=>c.repository.id===a.group.repository.id?[{agentGroup:b,group:c}]:[])):[],K=(e=a.overview.agents.find(b=>b.codebases.some(b=>b.codebase.id===a.group.codebase.id)))&&"ONLINE"===e.agent.connectionStatus&&e.agent.capabilities.includes("worktree.move.push")?"AVAILABLE"!==a.worktree.availability||a.worktree.activeJob||a.overview.activeMoves.some(b=>b.sourceCodebaseId===a.group.codebase.id||b.targetCodebaseId===a.group.codebase.id)?o("moveBlocked.busy"):a.worktree.branch&&a.worktree.headSha?a.worktree.hasStagedChanges||a.worktree.hasUnstagedChanges||"DIRTY"===a.worktree.pushStatus?o("moveBlocked.dirty"):"BEHIND"===a.worktree.pushStatus?o("moveBlocked.behind"):"DIVERGED"===a.worktree.pushStatus?o("moveBlocked.diverged"):"READY"!==a.worktree.pushStatus?o("moveBlocked.unknown"):J.some(b=>aM(b,a.overview))?null:o("moveBlocked.destination"):o("moveBlocked.detached"):o("moveBlocked.agent"),L=a.overview.agents.find(b=>b.codebases.some(b=>b.codebase.id===a.group.codebase.id)),M=!L||"ONLINE"!==L.agent.connectionStatus||!L.agent.capabilities.includes("worktree.delete")||"AVAILABLE"!==f.availability||!!f.activeJob||a.overview.activeMoves.some(b=>b.sourceCodebaseId===a.group.codebase.id||b.targetCodebaseId===a.group.codebase.id),O=new Set(f.tags.map(a=>a.id)),Q=async(a,b)=>{let c=b?[...O,a]:[...O].filter(b=>b!==a);try{let a=await (0,ad.controlPlaneRequest)(`mutation SetWorktreeTags($id: ID!, $tagIds: [ID!]!) { setWorktreeTags(id: $id, tagIds: $tagIds) { ${ai.WORKTREE_FIELDS} } }`,{id:f.id,tagIds:c});h(a.setWorktreeTags),i(null)}catch(a){i(a instanceof Error?a.message:String(a))}},R=async a=>{try{let b=await (0,ad.controlPlaneRequest)(`mutation HighlightWorktree($id: ID!, $color: String) { updateWorktreeHighlight(id: $id, color: $color) { ${ai.WORKTREE_FIELDS} } }`,{id:f.id,color:a});h(b.updateWorktreeHighlight),i(null)}catch(a){i(a instanceof Error?a.message:String(a))}},S=async(b,c=!1)=>{C(!0);try{let d=await (0,ad.controlPlaneRequest)(`mutation ChangeWorktreeBranch($input: ChangeWorktreeBranchInput!) {
76
76
  changeWorktreeBranch(input: $input) { id }
@@ -4,6 +4,6 @@ module.exports=[219107,a=>{"use strict";let b=(0,a.i(164831).default)("arrow-lef
4
4
  repositories { id name displayOrigin }
5
5
  } } }`);t(a.skillsOverview.groups),D(null)}catch(a){D(a instanceof Error?a.message:String(a))}finally{z(!1)}},[]);(0,g.useEffect)(()=>{let a=window.setTimeout(()=>void E(),0);return()=>window.clearTimeout(a)},[E]);let F=async()=>{B(!0);try{let a=await (0,q.controlPlaneRequest)(`mutation CreateSkillGroup($input: SaveSkillGroupInput!) {
6
6
  saveSkillGroup(input: $input) { id name }
7
- }`,{input:{name:w,skillIds:[],repositoryIds:[]}});v(!1),r.push(`/skills/groups/${a.saveSkillGroup.id}`)}catch(a){D(a instanceof Error?a.message:String(a))}finally{B(!1)}};return(0,b.jsxs)("div",{className:"flex h-full min-h-0 flex-col gap-4 overflow-auto p-4 sm:p-6",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(i.Button,{asChild:!0,size:"icon",variant:"ghost",children:(0,b.jsx)(p.Link,{"aria-label":a("backToSkills"),href:"/skills",children:(0,b.jsx)(c.ArrowLeft,{})})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold",children:a("skillGroups")}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:a("groupsDescription")})]})]}),(0,b.jsxs)(i.Button,{onClick:()=>v(!0),children:[(0,b.jsx)(e.Plus,{})," ",a("addGroup")]})]}),C&&(0,b.jsx)(h.Alert,{variant:"destructive",children:(0,b.jsx)(h.AlertDescription,{children:C})}),y?(0,b.jsxs)("div",{className:"flex gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)(n.Spinner,{})," ",a("loadingGroups")]}):(0,b.jsxs)(j.Card,{className:"gap-0 py-0",children:[(0,b.jsxs)(j.CardHeader,{className:"border-b py-4",children:[(0,b.jsx)(j.CardTitle,{children:a("skillGroups")}),(0,b.jsx)(j.CardDescription,{children:a("groupsTableDescription")})]}),(0,b.jsx)(j.CardContent,{className:"px-0",children:(0,b.jsxs)(o.Table,{children:[(0,b.jsx)(o.TableHeader,{children:(0,b.jsxs)(o.TableRow,{children:[(0,b.jsx)(o.TableHead,{children:a("name")}),(0,b.jsx)(o.TableHead,{children:a("skillsCount")}),(0,b.jsx)(o.TableHead,{children:a("repositoriesCount")}),(0,b.jsx)(o.TableHead,{children:a("updated")})]})}),(0,b.jsxs)(o.TableBody,{children:[s.map(a=>(0,b.jsxs)(o.TableRow,{className:"cursor-pointer focus-visible:bg-muted/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset",onClick:()=>r.push(`/skills/groups/${a.id}`),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.preventDefault(),r.push(`/skills/groups/${a.id}`))},role:"link",tabIndex:0,children:[(0,b.jsx)(o.TableCell,{children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-2 font-medium text-primary",children:[(0,b.jsx)(d.FolderTree,{})," ",a.name]})}),(0,b.jsx)(o.TableCell,{children:a.skills?.length??0}),(0,b.jsx)(o.TableCell,{children:a.repositories?.length??0}),(0,b.jsx)(o.TableCell,{children:a.updatedAt?new Date(a.updatedAt).toLocaleString():"—"})]},a.id)),!s.length&&(0,b.jsx)(o.TableRow,{children:(0,b.jsx)(o.TableCell,{className:"py-10 text-center text-muted-foreground",colSpan:4,children:a("noGroups")})})]})]})})]}),(0,b.jsx)(k.Dialog,{onOpenChange:v,open:u,children:(0,b.jsxs)(k.DialogContent,{children:[(0,b.jsxs)(k.DialogHeader,{children:[(0,b.jsx)(k.DialogTitle,{children:a("newGroup")}),(0,b.jsx)(k.DialogDescription,{children:a("newGroupDescription")})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(m.Label,{htmlFor:"new-skill-group",children:a("name")}),(0,b.jsx)(l.Input,{id:"new-skill-group",maxLength:80,onChange:a=>x(a.target.value),value:w})]}),(0,b.jsx)(k.DialogFooter,{children:(0,b.jsxs)(i.Button,{disabled:A||!w.trim(),onClick:()=>void F(),children:[A&&(0,b.jsx)(n.Spinner,{})," ",a("createGroup")]})})]})})]})}])}];
7
+ }`,{input:{name:w,skillIds:[],repositoryIds:[]}});v(!1),r.push(`/skills/groups/${a.saveSkillGroup.id}`)}catch(a){D(a instanceof Error?a.message:String(a))}finally{B(!1)}};return(0,b.jsxs)("div",{className:"flex h-full min-h-0 flex-col gap-4 overflow-auto p-4 sm:p-6",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(i.Button,{asChild:!0,size:"icon",variant:"ghost",children:(0,b.jsx)(p.Link,{"aria-label":a("backToSkills"),href:"/skills",children:(0,b.jsx)(c.ArrowLeft,{})})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold",children:a("skillGroups")}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:a("groupsDescription")})]})]}),(0,b.jsxs)(i.Button,{onClick:()=>v(!0),children:[(0,b.jsx)(e.Plus,{})," ",a("addGroup")]})]}),C&&(0,b.jsx)(h.Alert,{variant:"destructive",children:(0,b.jsx)(h.AlertDescription,{children:C})}),y?(0,b.jsxs)("div",{className:"flex gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)(n.Spinner,{})," ",a("loadingGroups")]}):(0,b.jsxs)(j.Card,{className:"gap-0 py-0",children:[(0,b.jsxs)(j.CardHeader,{children:[(0,b.jsx)(j.CardTitle,{children:a("skillGroups")}),(0,b.jsx)(j.CardDescription,{children:a("groupsTableDescription")})]}),(0,b.jsx)(j.CardContent,{className:"px-0",children:(0,b.jsxs)(o.Table,{children:[(0,b.jsx)(o.TableHeader,{children:(0,b.jsxs)(o.TableRow,{children:[(0,b.jsx)(o.TableHead,{children:a("name")}),(0,b.jsx)(o.TableHead,{children:a("skillsCount")}),(0,b.jsx)(o.TableHead,{children:a("repositoriesCount")}),(0,b.jsx)(o.TableHead,{children:a("updated")})]})}),(0,b.jsxs)(o.TableBody,{children:[s.map(a=>(0,b.jsxs)(o.TableRow,{className:"cursor-pointer focus-visible:bg-muted/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset",onClick:()=>r.push(`/skills/groups/${a.id}`),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.preventDefault(),r.push(`/skills/groups/${a.id}`))},role:"link",tabIndex:0,children:[(0,b.jsx)(o.TableCell,{children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-2 font-medium text-primary",children:[(0,b.jsx)(d.FolderTree,{})," ",a.name]})}),(0,b.jsx)(o.TableCell,{children:a.skills?.length??0}),(0,b.jsx)(o.TableCell,{children:a.repositories?.length??0}),(0,b.jsx)(o.TableCell,{children:a.updatedAt?new Date(a.updatedAt).toLocaleString():"—"})]},a.id)),!s.length&&(0,b.jsx)(o.TableRow,{children:(0,b.jsx)(o.TableCell,{className:"py-10 text-center text-muted-foreground",colSpan:4,children:a("noGroups")})})]})]})})]}),(0,b.jsx)(k.Dialog,{onOpenChange:v,open:u,children:(0,b.jsxs)(k.DialogContent,{children:[(0,b.jsxs)(k.DialogHeader,{children:[(0,b.jsx)(k.DialogTitle,{children:a("newGroup")}),(0,b.jsx)(k.DialogDescription,{children:a("newGroupDescription")})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(m.Label,{htmlFor:"new-skill-group",children:a("name")}),(0,b.jsx)(l.Input,{id:"new-skill-group",maxLength:80,onChange:a=>x(a.target.value),value:w})]}),(0,b.jsx)(k.DialogFooter,{children:(0,b.jsxs)(i.Button,{disabled:A||!w.trim(),onClick:()=>void F(),children:[A&&(0,b.jsx)(n.Spinner,{})," ",a("createGroup")]})})]})})]})}])}];
8
8
 
9
9
  //# sourceMappingURL=_1h1k5ja._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[124348,a=>{"use strict";var b=a.i(187924),c=a.i(400187),d=a.i(368114);let e=(0,c.cva)("group/alert relative grid w-full gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current"}},defaultVariants:{variant:"default"}});a.s(["Alert",0,function({className:a,variant:c,...f}){return(0,b.jsx)("div",{"data-slot":"alert",role:"alert",className:(0,d.cn)(e({variant:c}),a),...f})},"AlertDescription",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"alert-description",className:(0,d.cn)("text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4",a),...c})}])},702918,a=>{"use strict";let b=(0,a.i(164831).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["default",0,b])},460280,a=>{"use strict";function b(a){return null===a?"null":Array.isArray(a)?"array":typeof a}function c(a){return"object"===b(a)}function d(a,b){return a.length<124?a:b}var e,f,g=((e=g||{})[e.InternalServerError=4500]="InternalServerError",e[e.InternalClientError=4005]="InternalClientError",e[e.BadRequest=4400]="BadRequest",e[e.BadResponse=4004]="BadResponse",e[e.Unauthorized=4401]="Unauthorized",e[e.Forbidden=4403]="Forbidden",e[e.SubprotocolNotAcceptable=4406]="SubprotocolNotAcceptable",e[e.ConnectionInitialisationTimeout=4408]="ConnectionInitialisationTimeout",e[e.ConnectionAcknowledgementTimeout=4504]="ConnectionAcknowledgementTimeout",e[e.SubscriberAlreadyExists=4409]="SubscriberAlreadyExists",e[e.TooManyInitialisationRequests=4429]="TooManyInitialisationRequests",e),h=((f=h||{}).ConnectionInit="connection_init",f.ConnectionAck="connection_ack",f.Ping="ping",f.Pong="pong",f.Subscribe="subscribe",f.Next="next",f.Error="error",f.Complete="complete",f);function i(a){if(!c(a))throw Error(`Message is expected to be an object, but got ${b(a)}`);if(!a.type)throw Error("Message is missing the 'type' property");if("string"!=typeof a.type)throw Error(`Message is expects the 'type' property to be a string, but got ${b(a.type)}`);switch(a.type){case"connection_init":case"connection_ack":case"ping":case"pong":if(null!=a.payload&&!c(a.payload))throw Error(`"${a.type}" message expects the 'payload' property to be an object or nullish or missing, but got "${a.payload}"`);break;case"subscribe":if("string"!=typeof a.id)throw Error(`"${a.type}" message expects the 'id' property to be a string, but got ${b(a.id)}`);if(!a.id)throw Error(`"${a.type}" message requires a non-empty 'id' property`);if(!c(a.payload))throw Error(`"${a.type}" message expects the 'payload' property to be an object, but got ${b(a.payload)}`);if("string"!=typeof a.payload.query)throw Error(`"${a.type}" message payload expects the 'query' property to be a string, but got ${b(a.payload.query)}`);if(null!=a.payload.variables&&!c(a.payload.variables))throw Error(`"${a.type}" message payload expects the 'variables' property to be a an object or nullish or missing, but got ${b(a.payload.variables)}`);if(null!=a.payload.operationName&&"string"!==b(a.payload.operationName))throw Error(`"${a.type}" message payload expects the 'operationName' property to be a string or nullish or missing, but got ${b(a.payload.operationName)}`);if(null!=a.payload.extensions&&!c(a.payload.extensions))throw Error(`"${a.type}" message payload expects the 'extensions' property to be a an object or nullish or missing, but got ${b(a.payload.extensions)}`);break;case"next":if("string"!=typeof a.id)throw Error(`"${a.type}" message expects the 'id' property to be a string, but got ${b(a.id)}`);if(!a.id)throw Error(`"${a.type}" message requires a non-empty 'id' property`);if(!c(a.payload))throw Error(`"${a.type}" message expects the 'payload' property to be an object, but got ${b(a.payload)}`);break;case"error":var d;if("string"!=typeof a.id)throw Error(`"${a.type}" message expects the 'id' property to be a string, but got ${b(a.id)}`);if(!a.id)throw Error(`"${a.type}" message requires a non-empty 'id' property`);if(!(Array.isArray(d=a.payload)&&d.length>0&&d.every(a=>"message"in a)))throw Error(`"${a.type}" message expects the 'payload' property to be an array of GraphQL errors, but got ${JSON.stringify(a.payload)}`);break;case"complete":if("string"!=typeof a.id)throw Error(`"${a.type}" message expects the 'id' property to be a string, but got ${b(a.id)}`);if(!a.id)throw Error(`"${a.type}" message requires a non-empty 'id' property`);break;default:throw Error(`Invalid message 'type' property "${a.type}"`)}return a}function j(a,b){return i(a),JSON.stringify(a,b)}class k extends Error{name="TerminatedCloseEvent";message="4499: Terminated";code=4499;reason="Terminated";wasClean=!1}function l(a){return c(a)&&"code"in a&&"reason"in a}async function m(a,b){let c=await fetch("/api/graphql",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({query:a,variables:b})}),d=await c.json();if(!c.ok||d.errors?.length||!d.data)throw Error(d.errors?.map(a=>a.message).join("; ")||`HTTP ${c.status}`);return d.data}let n=null;function o(){return function(a,b,c){let d=`${"https:"===b?"wss":"ws"}://${c}/graphql`;if(!a)return d;try{let c=new URL(a);if("https:"===b&&"wss:"!==c.protocol)return d}catch{}return a}(process.env.NEXT_PUBLIC_AGENT_WS_URL,window.location.protocol,window.location.host)}a.s(["controlPlaneRequest",0,m,"controlPlaneSubscriptions",0,function(){return n??=function(b){let c,e,f,m,{url:n,connectionParams:o,lazy:p=!0,onNonLazyError:q=console.error,lazyCloseTimeout:r=0,keepAlive:s=0,disablePong:t,connectionAckWaitTimeout:u=0,retryAttempts:v=5,retryWait:w=async function(a){let b=Math.pow(2,a);await new Promise(a=>setTimeout(a,1e3*b+Math.floor(2700*Math.random()+300)))},shouldRetry:x=l,on:y,webSocketImpl:z,generateID:A=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,a=>{let b=16*Math.random()|0;return("x"==a?b:3&b|8).toString(16)})},jsonMessageReplacer:B,jsonMessageReviver:C}=b;if(z){var D;if(!("function"==typeof(D=z)&&"constructor"in D&&"CLOSED"in D&&"CLOSING"in D&&"CONNECTING"in D&&"OPEN"in D))throw Error("Invalid WebSocket implementation provided");c=z}else c="u">typeof WebSocket?WebSocket:a.g.WebSocket||a.g.MozWebSocket;if(!c)throw Error("WebSocket implementation missing; on Node you can `import WebSocket from 'ws';` and pass `webSocketImpl: WebSocket` to `createClient`");let E=c,F=(e={},f={on:(a,b)=>(e[a]=b,()=>{delete e[a]}),emit(a){"id"in a&&e[a.id]?.(a)}},m={connecting:y?.connecting?[y.connecting]:[],opened:y?.opened?[y.opened]:[],connected:y?.connected?[y.connected]:[],ping:y?.ping?[y.ping]:[],pong:y?.pong?[y.pong]:[],message:y?.message?[f.emit,y.message]:[f.emit],closed:y?.closed?[y.closed]:[],error:y?.error?[y.error]:[]},{onMessage:f.on,on(a,b){let c=m[a];return c.push(b),()=>{c.splice(c.indexOf(b),1)}},emit(a,...b){for(let c of[...m[a]])c(...b)}});function G(a){let b=[F.on("error",c=>{b.forEach(a=>a()),a(c)}),F.on("closed",c=>{b.forEach(a=>a()),a(c)})]}let H,I=0,J,K=!1,L=0,M=!1;async function N(){clearTimeout(J);let[a,b]=await (H??(H=new Promise((a,b)=>(async()=>{let c,e;if(K){if(await w(L),!I)return H=void 0,b({code:1e3,reason:"All Subscriptions Gone"});L++}F.emit("connecting",K);let f=new E("function"==typeof n?await n():n,"graphql-transport-ws");function l(){isFinite(s)&&s>0&&(clearTimeout(e),e=setTimeout(()=>{f.readyState===E.OPEN&&(f.send(j({type:h.Ping})),F.emit("ping",!1,void 0))},s))}G(a=>{H=void 0,clearTimeout(c),clearTimeout(e),b(a),a instanceof k&&(f.close(4499,"Terminated"),f.onerror=null,f.onclose=null)}),f.onerror=a=>F.emit("error",a),f.onclose=a=>F.emit("closed",a),f.onopen=async()=>{try{F.emit("opened",f);let a="function"==typeof o?await o():o;if(f.readyState!==E.OPEN)return;f.send(j(a?{type:h.ConnectionInit,payload:a}:{type:h.ConnectionInit},B)),isFinite(u)&&u>0&&(c=setTimeout(()=>{f.close(g.ConnectionAcknowledgementTimeout,"Connection acknowledgement timeout")},u)),l()}catch(a){F.emit("error",a),f.close(g.InternalClientError,d(a instanceof Error?a.message:String(a),"Internal client error"))}};let m=!1;f.onmessage=({data:b})=>{try{let d=i("string"==typeof b?JSON.parse(b,C):b);if(F.emit("message",d),"ping"===d.type||"pong"===d.type){F.emit(d.type,!0,d.payload),"pong"===d.type?l():t||(f.send(j(d.payload?{type:h.Pong,payload:d.payload}:{type:h.Pong})),F.emit("pong",!1,d.payload));return}if(m)return;if(d.type!==h.ConnectionAck)throw Error(`First message cannot be of type ${d.type}`);clearTimeout(c),m=!0,F.emit("connected",f,d.payload,K),K=!1,L=0,a([f,new Promise((a,b)=>G(b))])}catch(a){f.onmessage=null,F.emit("error",a),f.close(g.BadResponse,d(a instanceof Error?a.message:String(a),"Bad response"))}}})())));a.readyState===E.CLOSING&&await b;let c=()=>{},e=new Promise(a=>c=a);return[a,c,Promise.race([e.then(()=>{I||(isFinite(r)&&r>0?J=setTimeout(()=>{a.readyState===E.OPEN&&a.close(1e3,"Normal Closure")},r):a.close(1e3,"Normal Closure"))}),b])]}function O(a){var b;if(l(a)&&(![1e3,1001,1006,1005,1012,1013,1014].includes(b=a.code)&&b>=1e3&&b<=1999||[g.InternalServerError,g.InternalClientError,g.BadRequest,g.BadResponse,g.Unauthorized,g.SubprotocolNotAcceptable,g.SubscriberAlreadyExists,g.TooManyInitialisationRequests].includes(a.code)))throw a;if(M)return!1;if(l(a)&&1e3===a.code)return I>0;if(!v||L>=v||!x(a))throw a;return K=!0}function P(a,b){let c=A(a),d=!1,e=!1,f=()=>{I--,d=!0};return(async()=>{for(I++;;)try{let[g,i,k]=await N();if(d)return i();let l=F.onMessage(c,a=>{switch(a.type){case h.Next:return void b.next(a.payload);case h.Error:e=!0,d=!0,b.error(a.payload),f();return;case h.Complete:d=!0,f();return}});g.send(j({id:c,type:h.Subscribe,payload:a},B)),f=()=>{d||g.readyState!==E.OPEN||g.send(j({id:c,type:h.Complete},B)),I--,d=!0,i()},await k.finally(l);return}catch(a){if(!O(a))return}})().then(()=>{e||b.complete()}).catch(a=>{b.error(a)}),()=>{d||f()}}return p||(async()=>{for(I++;;)try{let[,,a]=await N();await a}catch(a){try{if(!O(a))return}catch(a){return q?.(a)}}})(),{on:F.on,subscribe:P,iterate(a){let b=[],c={done:!1,error:null,resolve:()=>{}},d=P(a,{next(a){b.push(a),c.resolve()},error(a){c.done=!0,c.error=a,c.resolve()},complete(){c.done=!0,c.resolve()}}),e=async function*(){for(;;){for(b.length||await new Promise(a=>c.resolve=a);b.length;)yield b.shift();if(c.error)throw c.error;if(c.done)return}}();return e.throw=async a=>(c.done||(c.done=!0,c.error=a,c.resolve()),{done:!0,value:void 0}),e.return=async()=>(d(),{done:!0,value:void 0}),e},async dispose(){if(M=!0,H){let[a]=await H;a.close(1e3,"Normal Closure")}},terminate(){H&&F.emit("closed",new k)}}}({url:o,lazy:!0,retryAttempts:1/0,shouldRetry:()=>!0})}],460280)},591119,a=>{"use strict";var b=a.i(187924),c=a.i(368114);a.s(["Card",0,function({className:a,size:d="default",...e}){return(0,b.jsx)("div",{"data-slot":"card","data-size":d,className:(0,c.cn)("group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",a),...e})},"CardAction",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-action",className:(0,c.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",a),...d})},"CardContent",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-content",className:(0,c.cn)("px-(--card-spacing)",a),...d})},"CardDescription",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-description",className:(0,c.cn)("text-sm text-muted-foreground",a),...d})},"CardFooter",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-footer",className:(0,c.cn)("flex items-center rounded-b-xl border-t bg-muted/50 p-(--card-spacing)",a),...d})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-header",className:(0,c.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-title",className:(0,c.cn)("font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",a),...d})}])},668684,a=>{"use strict";var b=a.i(187924),c=a.i(368114),d=a.i(702918),d=d;a.s(["Spinner",0,function({className:a,...e}){return(0,b.jsx)(d.default,{"data-slot":"spinner",role:"status","aria-label":"Loading",className:(0,c.cn)("size-4 animate-spin",a),...e})}],668684)}];
1
+ module.exports=[124348,a=>{"use strict";var b=a.i(187924),c=a.i(400187),d=a.i(368114);let e=(0,c.cva)("group/alert relative grid w-full gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current"}},defaultVariants:{variant:"default"}});a.s(["Alert",0,function({className:a,variant:c,...f}){return(0,b.jsx)("div",{"data-slot":"alert",role:"alert",className:(0,d.cn)(e({variant:c}),a),...f})},"AlertDescription",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"alert-description",className:(0,d.cn)("text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4",a),...c})}])},702918,a=>{"use strict";let b=(0,a.i(164831).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["default",0,b])},460280,a=>{"use strict";function b(a){return null===a?"null":Array.isArray(a)?"array":typeof a}function c(a){return"object"===b(a)}function d(a,b){return a.length<124?a:b}var e,f,g=((e=g||{})[e.InternalServerError=4500]="InternalServerError",e[e.InternalClientError=4005]="InternalClientError",e[e.BadRequest=4400]="BadRequest",e[e.BadResponse=4004]="BadResponse",e[e.Unauthorized=4401]="Unauthorized",e[e.Forbidden=4403]="Forbidden",e[e.SubprotocolNotAcceptable=4406]="SubprotocolNotAcceptable",e[e.ConnectionInitialisationTimeout=4408]="ConnectionInitialisationTimeout",e[e.ConnectionAcknowledgementTimeout=4504]="ConnectionAcknowledgementTimeout",e[e.SubscriberAlreadyExists=4409]="SubscriberAlreadyExists",e[e.TooManyInitialisationRequests=4429]="TooManyInitialisationRequests",e),h=((f=h||{}).ConnectionInit="connection_init",f.ConnectionAck="connection_ack",f.Ping="ping",f.Pong="pong",f.Subscribe="subscribe",f.Next="next",f.Error="error",f.Complete="complete",f);function i(a){if(!c(a))throw Error(`Message is expected to be an object, but got ${b(a)}`);if(!a.type)throw Error("Message is missing the 'type' property");if("string"!=typeof a.type)throw Error(`Message is expects the 'type' property to be a string, but got ${b(a.type)}`);switch(a.type){case"connection_init":case"connection_ack":case"ping":case"pong":if(null!=a.payload&&!c(a.payload))throw Error(`"${a.type}" message expects the 'payload' property to be an object or nullish or missing, but got "${a.payload}"`);break;case"subscribe":if("string"!=typeof a.id)throw Error(`"${a.type}" message expects the 'id' property to be a string, but got ${b(a.id)}`);if(!a.id)throw Error(`"${a.type}" message requires a non-empty 'id' property`);if(!c(a.payload))throw Error(`"${a.type}" message expects the 'payload' property to be an object, but got ${b(a.payload)}`);if("string"!=typeof a.payload.query)throw Error(`"${a.type}" message payload expects the 'query' property to be a string, but got ${b(a.payload.query)}`);if(null!=a.payload.variables&&!c(a.payload.variables))throw Error(`"${a.type}" message payload expects the 'variables' property to be a an object or nullish or missing, but got ${b(a.payload.variables)}`);if(null!=a.payload.operationName&&"string"!==b(a.payload.operationName))throw Error(`"${a.type}" message payload expects the 'operationName' property to be a string or nullish or missing, but got ${b(a.payload.operationName)}`);if(null!=a.payload.extensions&&!c(a.payload.extensions))throw Error(`"${a.type}" message payload expects the 'extensions' property to be a an object or nullish or missing, but got ${b(a.payload.extensions)}`);break;case"next":if("string"!=typeof a.id)throw Error(`"${a.type}" message expects the 'id' property to be a string, but got ${b(a.id)}`);if(!a.id)throw Error(`"${a.type}" message requires a non-empty 'id' property`);if(!c(a.payload))throw Error(`"${a.type}" message expects the 'payload' property to be an object, but got ${b(a.payload)}`);break;case"error":var d;if("string"!=typeof a.id)throw Error(`"${a.type}" message expects the 'id' property to be a string, but got ${b(a.id)}`);if(!a.id)throw Error(`"${a.type}" message requires a non-empty 'id' property`);if(!(Array.isArray(d=a.payload)&&d.length>0&&d.every(a=>"message"in a)))throw Error(`"${a.type}" message expects the 'payload' property to be an array of GraphQL errors, but got ${JSON.stringify(a.payload)}`);break;case"complete":if("string"!=typeof a.id)throw Error(`"${a.type}" message expects the 'id' property to be a string, but got ${b(a.id)}`);if(!a.id)throw Error(`"${a.type}" message requires a non-empty 'id' property`);break;default:throw Error(`Invalid message 'type' property "${a.type}"`)}return a}function j(a,b){return i(a),JSON.stringify(a,b)}class k extends Error{name="TerminatedCloseEvent";message="4499: Terminated";code=4499;reason="Terminated";wasClean=!1}function l(a){return c(a)&&"code"in a&&"reason"in a}async function m(a,b){let c=await fetch("/api/graphql",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({query:a,variables:b})}),d=await c.json();if(!c.ok||d.errors?.length||!d.data)throw Error(d.errors?.map(a=>a.message).join("; ")||`HTTP ${c.status}`);return d.data}let n=null;function o(){return function(a,b,c){let d=`${"https:"===b?"wss":"ws"}://${c}/graphql`;if(!a)return d;try{let c=new URL(a);if("https:"===b&&"wss:"!==c.protocol)return d}catch{}return a}(process.env.NEXT_PUBLIC_AGENT_WS_URL,window.location.protocol,window.location.host)}a.s(["controlPlaneRequest",0,m,"controlPlaneSubscriptions",0,function(){return n??=function(b){let c,e,f,m,{url:n,connectionParams:o,lazy:p=!0,onNonLazyError:q=console.error,lazyCloseTimeout:r=0,keepAlive:s=0,disablePong:t,connectionAckWaitTimeout:u=0,retryAttempts:v=5,retryWait:w=async function(a){let b=Math.pow(2,a);await new Promise(a=>setTimeout(a,1e3*b+Math.floor(2700*Math.random()+300)))},shouldRetry:x=l,on:y,webSocketImpl:z,generateID:A=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,a=>{let b=16*Math.random()|0;return("x"==a?b:3&b|8).toString(16)})},jsonMessageReplacer:B,jsonMessageReviver:C}=b;if(z){var D;if(!("function"==typeof(D=z)&&"constructor"in D&&"CLOSED"in D&&"CLOSING"in D&&"CONNECTING"in D&&"OPEN"in D))throw Error("Invalid WebSocket implementation provided");c=z}else c="u">typeof WebSocket?WebSocket:a.g.WebSocket||a.g.MozWebSocket;if(!c)throw Error("WebSocket implementation missing; on Node you can `import WebSocket from 'ws';` and pass `webSocketImpl: WebSocket` to `createClient`");let E=c,F=(e={},f={on:(a,b)=>(e[a]=b,()=>{delete e[a]}),emit(a){"id"in a&&e[a.id]?.(a)}},m={connecting:y?.connecting?[y.connecting]:[],opened:y?.opened?[y.opened]:[],connected:y?.connected?[y.connected]:[],ping:y?.ping?[y.ping]:[],pong:y?.pong?[y.pong]:[],message:y?.message?[f.emit,y.message]:[f.emit],closed:y?.closed?[y.closed]:[],error:y?.error?[y.error]:[]},{onMessage:f.on,on(a,b){let c=m[a];return c.push(b),()=>{c.splice(c.indexOf(b),1)}},emit(a,...b){for(let c of[...m[a]])c(...b)}});function G(a){let b=[F.on("error",c=>{b.forEach(a=>a()),a(c)}),F.on("closed",c=>{b.forEach(a=>a()),a(c)})]}let H,I=0,J,K=!1,L=0,M=!1;async function N(){clearTimeout(J);let[a,b]=await (H??(H=new Promise((a,b)=>(async()=>{let c,e;if(K){if(await w(L),!I)return H=void 0,b({code:1e3,reason:"All Subscriptions Gone"});L++}F.emit("connecting",K);let f=new E("function"==typeof n?await n():n,"graphql-transport-ws");function l(){isFinite(s)&&s>0&&(clearTimeout(e),e=setTimeout(()=>{f.readyState===E.OPEN&&(f.send(j({type:h.Ping})),F.emit("ping",!1,void 0))},s))}G(a=>{H=void 0,clearTimeout(c),clearTimeout(e),b(a),a instanceof k&&(f.close(4499,"Terminated"),f.onerror=null,f.onclose=null)}),f.onerror=a=>F.emit("error",a),f.onclose=a=>F.emit("closed",a),f.onopen=async()=>{try{F.emit("opened",f);let a="function"==typeof o?await o():o;if(f.readyState!==E.OPEN)return;f.send(j(a?{type:h.ConnectionInit,payload:a}:{type:h.ConnectionInit},B)),isFinite(u)&&u>0&&(c=setTimeout(()=>{f.close(g.ConnectionAcknowledgementTimeout,"Connection acknowledgement timeout")},u)),l()}catch(a){F.emit("error",a),f.close(g.InternalClientError,d(a instanceof Error?a.message:String(a),"Internal client error"))}};let m=!1;f.onmessage=({data:b})=>{try{let d=i("string"==typeof b?JSON.parse(b,C):b);if(F.emit("message",d),"ping"===d.type||"pong"===d.type){F.emit(d.type,!0,d.payload),"pong"===d.type?l():t||(f.send(j(d.payload?{type:h.Pong,payload:d.payload}:{type:h.Pong})),F.emit("pong",!1,d.payload));return}if(m)return;if(d.type!==h.ConnectionAck)throw Error(`First message cannot be of type ${d.type}`);clearTimeout(c),m=!0,F.emit("connected",f,d.payload,K),K=!1,L=0,a([f,new Promise((a,b)=>G(b))])}catch(a){f.onmessage=null,F.emit("error",a),f.close(g.BadResponse,d(a instanceof Error?a.message:String(a),"Bad response"))}}})())));a.readyState===E.CLOSING&&await b;let c=()=>{},e=new Promise(a=>c=a);return[a,c,Promise.race([e.then(()=>{I||(isFinite(r)&&r>0?J=setTimeout(()=>{a.readyState===E.OPEN&&a.close(1e3,"Normal Closure")},r):a.close(1e3,"Normal Closure"))}),b])]}function O(a){var b;if(l(a)&&(![1e3,1001,1006,1005,1012,1013,1014].includes(b=a.code)&&b>=1e3&&b<=1999||[g.InternalServerError,g.InternalClientError,g.BadRequest,g.BadResponse,g.Unauthorized,g.SubprotocolNotAcceptable,g.SubscriberAlreadyExists,g.TooManyInitialisationRequests].includes(a.code)))throw a;if(M)return!1;if(l(a)&&1e3===a.code)return I>0;if(!v||L>=v||!x(a))throw a;return K=!0}function P(a,b){let c=A(a),d=!1,e=!1,f=()=>{I--,d=!0};return(async()=>{for(I++;;)try{let[g,i,k]=await N();if(d)return i();let l=F.onMessage(c,a=>{switch(a.type){case h.Next:return void b.next(a.payload);case h.Error:e=!0,d=!0,b.error(a.payload),f();return;case h.Complete:d=!0,f();return}});g.send(j({id:c,type:h.Subscribe,payload:a},B)),f=()=>{d||g.readyState!==E.OPEN||g.send(j({id:c,type:h.Complete},B)),I--,d=!0,i()},await k.finally(l);return}catch(a){if(!O(a))return}})().then(()=>{e||b.complete()}).catch(a=>{b.error(a)}),()=>{d||f()}}return p||(async()=>{for(I++;;)try{let[,,a]=await N();await a}catch(a){try{if(!O(a))return}catch(a){return q?.(a)}}})(),{on:F.on,subscribe:P,iterate(a){let b=[],c={done:!1,error:null,resolve:()=>{}},d=P(a,{next(a){b.push(a),c.resolve()},error(a){c.done=!0,c.error=a,c.resolve()},complete(){c.done=!0,c.resolve()}}),e=async function*(){for(;;){for(b.length||await new Promise(a=>c.resolve=a);b.length;)yield b.shift();if(c.error)throw c.error;if(c.done)return}}();return e.throw=async a=>(c.done||(c.done=!0,c.error=a,c.resolve()),{done:!0,value:void 0}),e.return=async()=>(d(),{done:!0,value:void 0}),e},async dispose(){if(M=!0,H){let[a]=await H;a.close(1e3,"Normal Closure")}},terminate(){H&&F.emit("closed",new k)}}}({url:o,lazy:!0,retryAttempts:1/0,shouldRetry:()=>!0})}],460280)},591119,a=>{"use strict";var b=a.i(187924),c=a.i(368114);a.s(["Card",0,function({className:a,size:d="default",...e}){return(0,b.jsx)("div",{"data-slot":"card","data-size":d,className:(0,c.cn)("group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>[data-slot=card-header]]:pt-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",a),...e})},"CardAction",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-action",className:(0,c.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",a),...d})},"CardContent",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-content",className:(0,c.cn)("px-(--card-spacing)",a),...d})},"CardDescription",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-description",className:(0,c.cn)("text-sm text-muted-foreground",a),...d})},"CardFooter",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-footer",className:(0,c.cn)("flex items-center rounded-b-xl border-t bg-muted/50 p-(--card-spacing)",a),...d})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-header",className:(0,c.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl bg-muted/40 px-(--card-spacing) py-(--card-spacing) not-last:border-b has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-title",className:(0,c.cn)("font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",a),...d})}])},668684,a=>{"use strict";var b=a.i(187924),c=a.i(368114),d=a.i(702918),d=d;a.s(["Spinner",0,function({className:a,...e}){return(0,b.jsx)(d.default,{"data-slot":"spinner",role:"status","aria-label":"Loading",className:(0,c.cn)("size-4 animate-spin",a),...e})}],668684)}];
2
2
 
3
3
  //# sourceMappingURL=_1kle1nm._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[124348,a=>{"use strict";var b=a.i(187924),c=a.i(400187),d=a.i(368114);let e=(0,c.cva)("group/alert relative grid w-full gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current"}},defaultVariants:{variant:"default"}});a.s(["Alert",0,function({className:a,variant:c,...f}){return(0,b.jsx)("div",{"data-slot":"alert",role:"alert",className:(0,d.cn)(e({variant:c}),a),...f})},"AlertDescription",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"alert-description",className:(0,d.cn)("text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4",a),...c})}])},702918,a=>{"use strict";let b=(0,a.i(164831).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["default",0,b])},668684,a=>{"use strict";var b=a.i(187924),c=a.i(368114),d=a.i(702918),d=d;a.s(["Spinner",0,function({className:a,...e}){return(0,b.jsx)(d.default,{"data-slot":"spinner",role:"status","aria-label":"Loading",className:(0,c.cn)("size-4 animate-spin",a),...e})}],668684)},460280,a=>{"use strict";function b(a){return null===a?"null":Array.isArray(a)?"array":typeof a}function c(a){return"object"===b(a)}function d(a,b){return a.length<124?a:b}var e,f,g=((e=g||{})[e.InternalServerError=4500]="InternalServerError",e[e.InternalClientError=4005]="InternalClientError",e[e.BadRequest=4400]="BadRequest",e[e.BadResponse=4004]="BadResponse",e[e.Unauthorized=4401]="Unauthorized",e[e.Forbidden=4403]="Forbidden",e[e.SubprotocolNotAcceptable=4406]="SubprotocolNotAcceptable",e[e.ConnectionInitialisationTimeout=4408]="ConnectionInitialisationTimeout",e[e.ConnectionAcknowledgementTimeout=4504]="ConnectionAcknowledgementTimeout",e[e.SubscriberAlreadyExists=4409]="SubscriberAlreadyExists",e[e.TooManyInitialisationRequests=4429]="TooManyInitialisationRequests",e),h=((f=h||{}).ConnectionInit="connection_init",f.ConnectionAck="connection_ack",f.Ping="ping",f.Pong="pong",f.Subscribe="subscribe",f.Next="next",f.Error="error",f.Complete="complete",f);function i(a){if(!c(a))throw Error(`Message is expected to be an object, but got ${b(a)}`);if(!a.type)throw Error("Message is missing the 'type' property");if("string"!=typeof a.type)throw Error(`Message is expects the 'type' property to be a string, but got ${b(a.type)}`);switch(a.type){case"connection_init":case"connection_ack":case"ping":case"pong":if(null!=a.payload&&!c(a.payload))throw Error(`"${a.type}" message expects the 'payload' property to be an object or nullish or missing, but got "${a.payload}"`);break;case"subscribe":if("string"!=typeof a.id)throw Error(`"${a.type}" message expects the 'id' property to be a string, but got ${b(a.id)}`);if(!a.id)throw Error(`"${a.type}" message requires a non-empty 'id' property`);if(!c(a.payload))throw Error(`"${a.type}" message expects the 'payload' property to be an object, but got ${b(a.payload)}`);if("string"!=typeof a.payload.query)throw Error(`"${a.type}" message payload expects the 'query' property to be a string, but got ${b(a.payload.query)}`);if(null!=a.payload.variables&&!c(a.payload.variables))throw Error(`"${a.type}" message payload expects the 'variables' property to be a an object or nullish or missing, but got ${b(a.payload.variables)}`);if(null!=a.payload.operationName&&"string"!==b(a.payload.operationName))throw Error(`"${a.type}" message payload expects the 'operationName' property to be a string or nullish or missing, but got ${b(a.payload.operationName)}`);if(null!=a.payload.extensions&&!c(a.payload.extensions))throw Error(`"${a.type}" message payload expects the 'extensions' property to be a an object or nullish or missing, but got ${b(a.payload.extensions)}`);break;case"next":if("string"!=typeof a.id)throw Error(`"${a.type}" message expects the 'id' property to be a string, but got ${b(a.id)}`);if(!a.id)throw Error(`"${a.type}" message requires a non-empty 'id' property`);if(!c(a.payload))throw Error(`"${a.type}" message expects the 'payload' property to be an object, but got ${b(a.payload)}`);break;case"error":var d;if("string"!=typeof a.id)throw Error(`"${a.type}" message expects the 'id' property to be a string, but got ${b(a.id)}`);if(!a.id)throw Error(`"${a.type}" message requires a non-empty 'id' property`);if(!(Array.isArray(d=a.payload)&&d.length>0&&d.every(a=>"message"in a)))throw Error(`"${a.type}" message expects the 'payload' property to be an array of GraphQL errors, but got ${JSON.stringify(a.payload)}`);break;case"complete":if("string"!=typeof a.id)throw Error(`"${a.type}" message expects the 'id' property to be a string, but got ${b(a.id)}`);if(!a.id)throw Error(`"${a.type}" message requires a non-empty 'id' property`);break;default:throw Error(`Invalid message 'type' property "${a.type}"`)}return a}function j(a,b){return i(a),JSON.stringify(a,b)}class k extends Error{name="TerminatedCloseEvent";message="4499: Terminated";code=4499;reason="Terminated";wasClean=!1}function l(a){return c(a)&&"code"in a&&"reason"in a}async function m(a,b){let c=await fetch("/api/graphql",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({query:a,variables:b})}),d=await c.json();if(!c.ok||d.errors?.length||!d.data)throw Error(d.errors?.map(a=>a.message).join("; ")||`HTTP ${c.status}`);return d.data}let n=null;function o(){return function(a,b,c){let d=`${"https:"===b?"wss":"ws"}://${c}/graphql`;if(!a)return d;try{let c=new URL(a);if("https:"===b&&"wss:"!==c.protocol)return d}catch{}return a}(process.env.NEXT_PUBLIC_AGENT_WS_URL,window.location.protocol,window.location.host)}a.s(["controlPlaneRequest",0,m,"controlPlaneSubscriptions",0,function(){return n??=function(b){let c,e,f,m,{url:n,connectionParams:o,lazy:p=!0,onNonLazyError:q=console.error,lazyCloseTimeout:r=0,keepAlive:s=0,disablePong:t,connectionAckWaitTimeout:u=0,retryAttempts:v=5,retryWait:w=async function(a){let b=Math.pow(2,a);await new Promise(a=>setTimeout(a,1e3*b+Math.floor(2700*Math.random()+300)))},shouldRetry:x=l,on:y,webSocketImpl:z,generateID:A=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,a=>{let b=16*Math.random()|0;return("x"==a?b:3&b|8).toString(16)})},jsonMessageReplacer:B,jsonMessageReviver:C}=b;if(z){var D;if(!("function"==typeof(D=z)&&"constructor"in D&&"CLOSED"in D&&"CLOSING"in D&&"CONNECTING"in D&&"OPEN"in D))throw Error("Invalid WebSocket implementation provided");c=z}else c="u">typeof WebSocket?WebSocket:a.g.WebSocket||a.g.MozWebSocket;if(!c)throw Error("WebSocket implementation missing; on Node you can `import WebSocket from 'ws';` and pass `webSocketImpl: WebSocket` to `createClient`");let E=c,F=(e={},f={on:(a,b)=>(e[a]=b,()=>{delete e[a]}),emit(a){"id"in a&&e[a.id]?.(a)}},m={connecting:y?.connecting?[y.connecting]:[],opened:y?.opened?[y.opened]:[],connected:y?.connected?[y.connected]:[],ping:y?.ping?[y.ping]:[],pong:y?.pong?[y.pong]:[],message:y?.message?[f.emit,y.message]:[f.emit],closed:y?.closed?[y.closed]:[],error:y?.error?[y.error]:[]},{onMessage:f.on,on(a,b){let c=m[a];return c.push(b),()=>{c.splice(c.indexOf(b),1)}},emit(a,...b){for(let c of[...m[a]])c(...b)}});function G(a){let b=[F.on("error",c=>{b.forEach(a=>a()),a(c)}),F.on("closed",c=>{b.forEach(a=>a()),a(c)})]}let H,I=0,J,K=!1,L=0,M=!1;async function N(){clearTimeout(J);let[a,b]=await (H??(H=new Promise((a,b)=>(async()=>{let c,e;if(K){if(await w(L),!I)return H=void 0,b({code:1e3,reason:"All Subscriptions Gone"});L++}F.emit("connecting",K);let f=new E("function"==typeof n?await n():n,"graphql-transport-ws");function l(){isFinite(s)&&s>0&&(clearTimeout(e),e=setTimeout(()=>{f.readyState===E.OPEN&&(f.send(j({type:h.Ping})),F.emit("ping",!1,void 0))},s))}G(a=>{H=void 0,clearTimeout(c),clearTimeout(e),b(a),a instanceof k&&(f.close(4499,"Terminated"),f.onerror=null,f.onclose=null)}),f.onerror=a=>F.emit("error",a),f.onclose=a=>F.emit("closed",a),f.onopen=async()=>{try{F.emit("opened",f);let a="function"==typeof o?await o():o;if(f.readyState!==E.OPEN)return;f.send(j(a?{type:h.ConnectionInit,payload:a}:{type:h.ConnectionInit},B)),isFinite(u)&&u>0&&(c=setTimeout(()=>{f.close(g.ConnectionAcknowledgementTimeout,"Connection acknowledgement timeout")},u)),l()}catch(a){F.emit("error",a),f.close(g.InternalClientError,d(a instanceof Error?a.message:String(a),"Internal client error"))}};let m=!1;f.onmessage=({data:b})=>{try{let d=i("string"==typeof b?JSON.parse(b,C):b);if(F.emit("message",d),"ping"===d.type||"pong"===d.type){F.emit(d.type,!0,d.payload),"pong"===d.type?l():t||(f.send(j(d.payload?{type:h.Pong,payload:d.payload}:{type:h.Pong})),F.emit("pong",!1,d.payload));return}if(m)return;if(d.type!==h.ConnectionAck)throw Error(`First message cannot be of type ${d.type}`);clearTimeout(c),m=!0,F.emit("connected",f,d.payload,K),K=!1,L=0,a([f,new Promise((a,b)=>G(b))])}catch(a){f.onmessage=null,F.emit("error",a),f.close(g.BadResponse,d(a instanceof Error?a.message:String(a),"Bad response"))}}})())));a.readyState===E.CLOSING&&await b;let c=()=>{},e=new Promise(a=>c=a);return[a,c,Promise.race([e.then(()=>{I||(isFinite(r)&&r>0?J=setTimeout(()=>{a.readyState===E.OPEN&&a.close(1e3,"Normal Closure")},r):a.close(1e3,"Normal Closure"))}),b])]}function O(a){var b;if(l(a)&&(![1e3,1001,1006,1005,1012,1013,1014].includes(b=a.code)&&b>=1e3&&b<=1999||[g.InternalServerError,g.InternalClientError,g.BadRequest,g.BadResponse,g.Unauthorized,g.SubprotocolNotAcceptable,g.SubscriberAlreadyExists,g.TooManyInitialisationRequests].includes(a.code)))throw a;if(M)return!1;if(l(a)&&1e3===a.code)return I>0;if(!v||L>=v||!x(a))throw a;return K=!0}function P(a,b){let c=A(a),d=!1,e=!1,f=()=>{I--,d=!0};return(async()=>{for(I++;;)try{let[g,i,k]=await N();if(d)return i();let l=F.onMessage(c,a=>{switch(a.type){case h.Next:return void b.next(a.payload);case h.Error:e=!0,d=!0,b.error(a.payload),f();return;case h.Complete:d=!0,f();return}});g.send(j({id:c,type:h.Subscribe,payload:a},B)),f=()=>{d||g.readyState!==E.OPEN||g.send(j({id:c,type:h.Complete},B)),I--,d=!0,i()},await k.finally(l);return}catch(a){if(!O(a))return}})().then(()=>{e||b.complete()}).catch(a=>{b.error(a)}),()=>{d||f()}}return p||(async()=>{for(I++;;)try{let[,,a]=await N();await a}catch(a){try{if(!O(a))return}catch(a){return q?.(a)}}})(),{on:F.on,subscribe:P,iterate(a){let b=[],c={done:!1,error:null,resolve:()=>{}},d=P(a,{next(a){b.push(a),c.resolve()},error(a){c.done=!0,c.error=a,c.resolve()},complete(){c.done=!0,c.resolve()}}),e=async function*(){for(;;){for(b.length||await new Promise(a=>c.resolve=a);b.length;)yield b.shift();if(c.error)throw c.error;if(c.done)return}}();return e.throw=async a=>(c.done||(c.done=!0,c.error=a,c.resolve()),{done:!0,value:void 0}),e.return=async()=>(d(),{done:!0,value:void 0}),e},async dispose(){if(M=!0,H){let[a]=await H;a.close(1e3,"Normal Closure")}},terminate(){H&&F.emit("closed",new k)}}}({url:o,lazy:!0,retryAttempts:1/0,shouldRetry:()=>!0})}],460280)},591119,a=>{"use strict";var b=a.i(187924),c=a.i(368114);a.s(["Card",0,function({className:a,size:d="default",...e}){return(0,b.jsx)("div",{"data-slot":"card","data-size":d,className:(0,c.cn)("group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",a),...e})},"CardAction",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-action",className:(0,c.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",a),...d})},"CardContent",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-content",className:(0,c.cn)("px-(--card-spacing)",a),...d})},"CardDescription",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-description",className:(0,c.cn)("text-sm text-muted-foreground",a),...d})},"CardFooter",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-footer",className:(0,c.cn)("flex items-center rounded-b-xl border-t bg-muted/50 p-(--card-spacing)",a),...d})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-header",className:(0,c.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-title",className:(0,c.cn)("font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",a),...d})}])}];
1
+ module.exports=[124348,a=>{"use strict";var b=a.i(187924),c=a.i(400187),d=a.i(368114);let e=(0,c.cva)("group/alert relative grid w-full gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current"}},defaultVariants:{variant:"default"}});a.s(["Alert",0,function({className:a,variant:c,...f}){return(0,b.jsx)("div",{"data-slot":"alert",role:"alert",className:(0,d.cn)(e({variant:c}),a),...f})},"AlertDescription",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"alert-description",className:(0,d.cn)("text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4",a),...c})}])},702918,a=>{"use strict";let b=(0,a.i(164831).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["default",0,b])},668684,a=>{"use strict";var b=a.i(187924),c=a.i(368114),d=a.i(702918),d=d;a.s(["Spinner",0,function({className:a,...e}){return(0,b.jsx)(d.default,{"data-slot":"spinner",role:"status","aria-label":"Loading",className:(0,c.cn)("size-4 animate-spin",a),...e})}],668684)},460280,a=>{"use strict";function b(a){return null===a?"null":Array.isArray(a)?"array":typeof a}function c(a){return"object"===b(a)}function d(a,b){return a.length<124?a:b}var e,f,g=((e=g||{})[e.InternalServerError=4500]="InternalServerError",e[e.InternalClientError=4005]="InternalClientError",e[e.BadRequest=4400]="BadRequest",e[e.BadResponse=4004]="BadResponse",e[e.Unauthorized=4401]="Unauthorized",e[e.Forbidden=4403]="Forbidden",e[e.SubprotocolNotAcceptable=4406]="SubprotocolNotAcceptable",e[e.ConnectionInitialisationTimeout=4408]="ConnectionInitialisationTimeout",e[e.ConnectionAcknowledgementTimeout=4504]="ConnectionAcknowledgementTimeout",e[e.SubscriberAlreadyExists=4409]="SubscriberAlreadyExists",e[e.TooManyInitialisationRequests=4429]="TooManyInitialisationRequests",e),h=((f=h||{}).ConnectionInit="connection_init",f.ConnectionAck="connection_ack",f.Ping="ping",f.Pong="pong",f.Subscribe="subscribe",f.Next="next",f.Error="error",f.Complete="complete",f);function i(a){if(!c(a))throw Error(`Message is expected to be an object, but got ${b(a)}`);if(!a.type)throw Error("Message is missing the 'type' property");if("string"!=typeof a.type)throw Error(`Message is expects the 'type' property to be a string, but got ${b(a.type)}`);switch(a.type){case"connection_init":case"connection_ack":case"ping":case"pong":if(null!=a.payload&&!c(a.payload))throw Error(`"${a.type}" message expects the 'payload' property to be an object or nullish or missing, but got "${a.payload}"`);break;case"subscribe":if("string"!=typeof a.id)throw Error(`"${a.type}" message expects the 'id' property to be a string, but got ${b(a.id)}`);if(!a.id)throw Error(`"${a.type}" message requires a non-empty 'id' property`);if(!c(a.payload))throw Error(`"${a.type}" message expects the 'payload' property to be an object, but got ${b(a.payload)}`);if("string"!=typeof a.payload.query)throw Error(`"${a.type}" message payload expects the 'query' property to be a string, but got ${b(a.payload.query)}`);if(null!=a.payload.variables&&!c(a.payload.variables))throw Error(`"${a.type}" message payload expects the 'variables' property to be a an object or nullish or missing, but got ${b(a.payload.variables)}`);if(null!=a.payload.operationName&&"string"!==b(a.payload.operationName))throw Error(`"${a.type}" message payload expects the 'operationName' property to be a string or nullish or missing, but got ${b(a.payload.operationName)}`);if(null!=a.payload.extensions&&!c(a.payload.extensions))throw Error(`"${a.type}" message payload expects the 'extensions' property to be a an object or nullish or missing, but got ${b(a.payload.extensions)}`);break;case"next":if("string"!=typeof a.id)throw Error(`"${a.type}" message expects the 'id' property to be a string, but got ${b(a.id)}`);if(!a.id)throw Error(`"${a.type}" message requires a non-empty 'id' property`);if(!c(a.payload))throw Error(`"${a.type}" message expects the 'payload' property to be an object, but got ${b(a.payload)}`);break;case"error":var d;if("string"!=typeof a.id)throw Error(`"${a.type}" message expects the 'id' property to be a string, but got ${b(a.id)}`);if(!a.id)throw Error(`"${a.type}" message requires a non-empty 'id' property`);if(!(Array.isArray(d=a.payload)&&d.length>0&&d.every(a=>"message"in a)))throw Error(`"${a.type}" message expects the 'payload' property to be an array of GraphQL errors, but got ${JSON.stringify(a.payload)}`);break;case"complete":if("string"!=typeof a.id)throw Error(`"${a.type}" message expects the 'id' property to be a string, but got ${b(a.id)}`);if(!a.id)throw Error(`"${a.type}" message requires a non-empty 'id' property`);break;default:throw Error(`Invalid message 'type' property "${a.type}"`)}return a}function j(a,b){return i(a),JSON.stringify(a,b)}class k extends Error{name="TerminatedCloseEvent";message="4499: Terminated";code=4499;reason="Terminated";wasClean=!1}function l(a){return c(a)&&"code"in a&&"reason"in a}async function m(a,b){let c=await fetch("/api/graphql",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({query:a,variables:b})}),d=await c.json();if(!c.ok||d.errors?.length||!d.data)throw Error(d.errors?.map(a=>a.message).join("; ")||`HTTP ${c.status}`);return d.data}let n=null;function o(){return function(a,b,c){let d=`${"https:"===b?"wss":"ws"}://${c}/graphql`;if(!a)return d;try{let c=new URL(a);if("https:"===b&&"wss:"!==c.protocol)return d}catch{}return a}(process.env.NEXT_PUBLIC_AGENT_WS_URL,window.location.protocol,window.location.host)}a.s(["controlPlaneRequest",0,m,"controlPlaneSubscriptions",0,function(){return n??=function(b){let c,e,f,m,{url:n,connectionParams:o,lazy:p=!0,onNonLazyError:q=console.error,lazyCloseTimeout:r=0,keepAlive:s=0,disablePong:t,connectionAckWaitTimeout:u=0,retryAttempts:v=5,retryWait:w=async function(a){let b=Math.pow(2,a);await new Promise(a=>setTimeout(a,1e3*b+Math.floor(2700*Math.random()+300)))},shouldRetry:x=l,on:y,webSocketImpl:z,generateID:A=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,a=>{let b=16*Math.random()|0;return("x"==a?b:3&b|8).toString(16)})},jsonMessageReplacer:B,jsonMessageReviver:C}=b;if(z){var D;if(!("function"==typeof(D=z)&&"constructor"in D&&"CLOSED"in D&&"CLOSING"in D&&"CONNECTING"in D&&"OPEN"in D))throw Error("Invalid WebSocket implementation provided");c=z}else c="u">typeof WebSocket?WebSocket:a.g.WebSocket||a.g.MozWebSocket;if(!c)throw Error("WebSocket implementation missing; on Node you can `import WebSocket from 'ws';` and pass `webSocketImpl: WebSocket` to `createClient`");let E=c,F=(e={},f={on:(a,b)=>(e[a]=b,()=>{delete e[a]}),emit(a){"id"in a&&e[a.id]?.(a)}},m={connecting:y?.connecting?[y.connecting]:[],opened:y?.opened?[y.opened]:[],connected:y?.connected?[y.connected]:[],ping:y?.ping?[y.ping]:[],pong:y?.pong?[y.pong]:[],message:y?.message?[f.emit,y.message]:[f.emit],closed:y?.closed?[y.closed]:[],error:y?.error?[y.error]:[]},{onMessage:f.on,on(a,b){let c=m[a];return c.push(b),()=>{c.splice(c.indexOf(b),1)}},emit(a,...b){for(let c of[...m[a]])c(...b)}});function G(a){let b=[F.on("error",c=>{b.forEach(a=>a()),a(c)}),F.on("closed",c=>{b.forEach(a=>a()),a(c)})]}let H,I=0,J,K=!1,L=0,M=!1;async function N(){clearTimeout(J);let[a,b]=await (H??(H=new Promise((a,b)=>(async()=>{let c,e;if(K){if(await w(L),!I)return H=void 0,b({code:1e3,reason:"All Subscriptions Gone"});L++}F.emit("connecting",K);let f=new E("function"==typeof n?await n():n,"graphql-transport-ws");function l(){isFinite(s)&&s>0&&(clearTimeout(e),e=setTimeout(()=>{f.readyState===E.OPEN&&(f.send(j({type:h.Ping})),F.emit("ping",!1,void 0))},s))}G(a=>{H=void 0,clearTimeout(c),clearTimeout(e),b(a),a instanceof k&&(f.close(4499,"Terminated"),f.onerror=null,f.onclose=null)}),f.onerror=a=>F.emit("error",a),f.onclose=a=>F.emit("closed",a),f.onopen=async()=>{try{F.emit("opened",f);let a="function"==typeof o?await o():o;if(f.readyState!==E.OPEN)return;f.send(j(a?{type:h.ConnectionInit,payload:a}:{type:h.ConnectionInit},B)),isFinite(u)&&u>0&&(c=setTimeout(()=>{f.close(g.ConnectionAcknowledgementTimeout,"Connection acknowledgement timeout")},u)),l()}catch(a){F.emit("error",a),f.close(g.InternalClientError,d(a instanceof Error?a.message:String(a),"Internal client error"))}};let m=!1;f.onmessage=({data:b})=>{try{let d=i("string"==typeof b?JSON.parse(b,C):b);if(F.emit("message",d),"ping"===d.type||"pong"===d.type){F.emit(d.type,!0,d.payload),"pong"===d.type?l():t||(f.send(j(d.payload?{type:h.Pong,payload:d.payload}:{type:h.Pong})),F.emit("pong",!1,d.payload));return}if(m)return;if(d.type!==h.ConnectionAck)throw Error(`First message cannot be of type ${d.type}`);clearTimeout(c),m=!0,F.emit("connected",f,d.payload,K),K=!1,L=0,a([f,new Promise((a,b)=>G(b))])}catch(a){f.onmessage=null,F.emit("error",a),f.close(g.BadResponse,d(a instanceof Error?a.message:String(a),"Bad response"))}}})())));a.readyState===E.CLOSING&&await b;let c=()=>{},e=new Promise(a=>c=a);return[a,c,Promise.race([e.then(()=>{I||(isFinite(r)&&r>0?J=setTimeout(()=>{a.readyState===E.OPEN&&a.close(1e3,"Normal Closure")},r):a.close(1e3,"Normal Closure"))}),b])]}function O(a){var b;if(l(a)&&(![1e3,1001,1006,1005,1012,1013,1014].includes(b=a.code)&&b>=1e3&&b<=1999||[g.InternalServerError,g.InternalClientError,g.BadRequest,g.BadResponse,g.Unauthorized,g.SubprotocolNotAcceptable,g.SubscriberAlreadyExists,g.TooManyInitialisationRequests].includes(a.code)))throw a;if(M)return!1;if(l(a)&&1e3===a.code)return I>0;if(!v||L>=v||!x(a))throw a;return K=!0}function P(a,b){let c=A(a),d=!1,e=!1,f=()=>{I--,d=!0};return(async()=>{for(I++;;)try{let[g,i,k]=await N();if(d)return i();let l=F.onMessage(c,a=>{switch(a.type){case h.Next:return void b.next(a.payload);case h.Error:e=!0,d=!0,b.error(a.payload),f();return;case h.Complete:d=!0,f();return}});g.send(j({id:c,type:h.Subscribe,payload:a},B)),f=()=>{d||g.readyState!==E.OPEN||g.send(j({id:c,type:h.Complete},B)),I--,d=!0,i()},await k.finally(l);return}catch(a){if(!O(a))return}})().then(()=>{e||b.complete()}).catch(a=>{b.error(a)}),()=>{d||f()}}return p||(async()=>{for(I++;;)try{let[,,a]=await N();await a}catch(a){try{if(!O(a))return}catch(a){return q?.(a)}}})(),{on:F.on,subscribe:P,iterate(a){let b=[],c={done:!1,error:null,resolve:()=>{}},d=P(a,{next(a){b.push(a),c.resolve()},error(a){c.done=!0,c.error=a,c.resolve()},complete(){c.done=!0,c.resolve()}}),e=async function*(){for(;;){for(b.length||await new Promise(a=>c.resolve=a);b.length;)yield b.shift();if(c.error)throw c.error;if(c.done)return}}();return e.throw=async a=>(c.done||(c.done=!0,c.error=a,c.resolve()),{done:!0,value:void 0}),e.return=async()=>(d(),{done:!0,value:void 0}),e},async dispose(){if(M=!0,H){let[a]=await H;a.close(1e3,"Normal Closure")}},terminate(){H&&F.emit("closed",new k)}}}({url:o,lazy:!0,retryAttempts:1/0,shouldRetry:()=>!0})}],460280)},591119,a=>{"use strict";var b=a.i(187924),c=a.i(368114);a.s(["Card",0,function({className:a,size:d="default",...e}){return(0,b.jsx)("div",{"data-slot":"card","data-size":d,className:(0,c.cn)("group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>[data-slot=card-header]]:pt-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",a),...e})},"CardAction",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-action",className:(0,c.cn)("col-start-2 row-span-2 row-start-1 self-start justify-self-end",a),...d})},"CardContent",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-content",className:(0,c.cn)("px-(--card-spacing)",a),...d})},"CardDescription",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-description",className:(0,c.cn)("text-sm text-muted-foreground",a),...d})},"CardFooter",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-footer",className:(0,c.cn)("flex items-center rounded-b-xl border-t bg-muted/50 p-(--card-spacing)",a),...d})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-header",className:(0,c.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl bg-muted/40 px-(--card-spacing) py-(--card-spacing) not-last:border-b has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-title",className:(0,c.cn)("font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",a),...d})}])}];
2
2
 
3
3
  //# sourceMappingURL=_1m50niy._.js.map
@@ -7,6 +7,6 @@ module.exports=[786304,a=>{"use strict";var b=a.i(187924),c=a.i(400187),d=a.i(88
7
7
  udid deviceId displayName product osVersion status
8
8
  }
9
9
  }
10
- }`,{id:a});r(b.signingProfile),v(null)}catch(a){v(a instanceof Error?a.message:String(a))}finally{t(!1)}},[a]);if((0,f.useEffect)(()=>{let a=window.setTimeout(()=>void w(),0);return()=>window.clearTimeout(a)},[w]),s)return(0,b.jsxs)("p",{className:"flex items-center gap-2 p-6 text-sm text-muted-foreground",children:[(0,b.jsx)(k.Spinner,{})," ",p("loadingProfile")]});if(u)return(0,b.jsxs)("section",{className:"mx-auto w-full max-w-[1500px] space-y-4",children:[(0,b.jsx)(i.Button,{asChild:!0,variant:"ghost",children:(0,b.jsxs)(m.Link,{href:"/provisioning-profiles",children:[(0,b.jsx)(c.ArrowLeft,{})," ",p("backToProfiles")]})}),(0,b.jsx)(g.Alert,{variant:"destructive",children:(0,b.jsx)(g.AlertDescription,{children:u})})]});if(!q)return(0,b.jsxs)("section",{className:"mx-auto w-full max-w-[1500px] space-y-4",children:[(0,b.jsx)(i.Button,{asChild:!0,variant:"ghost",children:(0,b.jsxs)(m.Link,{href:"/provisioning-profiles",children:[(0,b.jsx)(c.ArrowLeft,{})," ",p("backToProfiles")]})}),(0,b.jsx)(j.Card,{children:(0,b.jsx)(j.CardContent,{className:"p-8 text-center text-muted-foreground",children:p("profileNotFound")})})]});let x=new Set,y=q.provisionedDevices.filter(a=>{let b=a.udid.toUpperCase();return!x.has(b)&&(x.add(b),!0)});return(0,b.jsxs)("section",{className:"mx-auto flex w-full max-w-[1500px] flex-col gap-6",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(i.Button,{asChild:!0,className:"-ml-2",size:"sm",variant:"ghost",children:(0,b.jsxs)(m.Link,{href:"/provisioning-profiles",children:[(0,b.jsx)(c.ArrowLeft,{})," ",p("backToProfiles")]})}),(0,b.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:q.name}),(0,b.jsx)(h.Badge,{variant:"outline",children:q.profileType}),q.expired&&(0,b.jsx)(h.Badge,{variant:"destructive",children:p("expired")}),q.xcodeManaged&&(0,b.jsx)(h.Badge,{variant:"secondary",children:"Xcode"})]}),(0,b.jsx)("p",{className:"mt-1 font-mono text-xs text-muted-foreground",children:q.uuid})]}),(0,b.jsxs)(j.Card,{children:[(0,b.jsxs)(j.CardHeader,{children:[(0,b.jsx)(j.CardTitle,{children:p("profileDetails")}),(0,b.jsx)(j.CardDescription,{children:q.bundleId})]}),(0,b.jsxs)(j.CardContent,{className:"grid gap-5 sm:grid-cols-2 lg:grid-cols-4",children:[(0,b.jsx)(o,{label:p("team"),value:q.teamName??q.teamId??"—"}),(0,b.jsx)(o,{label:p("platforms"),value:q.platforms.join(", ")||"—"}),(0,b.jsx)(o,{label:p("created"),value:q.createdAt?new Date(q.createdAt).toLocaleDateString():"—"}),(0,b.jsx)(o,{label:p("expires"),value:q.expiresAt?new Date(q.expiresAt).toLocaleDateString():"—"}),(0,b.jsx)(o,{label:p("installedAgents"),value:q.installedAgents.map(a=>a.name).join(", ")||"—"}),(0,b.jsx)(o,{className:"sm:col-span-2 lg:col-span-3",label:p("acceptedCertificates"),value:q.certificateSha1s.join(", ")||"—",mono:!0})]})]}),(0,b.jsxs)(j.Card,{className:"gap-0 py-0",children:[(0,b.jsxs)(j.CardHeader,{className:"border-b py-4",children:[(0,b.jsxs)(j.CardTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)(d.Smartphone,{})," ",p("provisionedDevices")]}),(0,b.jsx)(j.CardDescription,{children:p("provisionedDevicesDescription",{count:y.length})})]}),0===q.deviceUdids.length?(0,b.jsx)("p",{className:"p-8 text-center text-sm text-muted-foreground",children:q.deviceCount>0?p("deviceListPendingRefresh"):p("noProvisionedDevices")}):(0,b.jsxs)(l.Table,{children:[(0,b.jsx)(l.TableHeader,{children:(0,b.jsxs)(l.TableRow,{children:[(0,b.jsx)(l.TableHead,{children:p("device")}),(0,b.jsx)(l.TableHead,{children:p("udid")}),(0,b.jsx)(l.TableHead,{children:p("status")})]})}),(0,b.jsx)(l.TableBody,{children:y.map((a,c)=>(0,b.jsxs)(l.TableRow,{children:[(0,b.jsxs)(l.TableCell,{children:[a.deviceId&&a.displayName?(0,b.jsx)(m.Link,{className:"font-medium hover:underline",href:`/devices/${a.deviceId}`,children:a.displayName}):(0,b.jsx)("span",{className:"text-muted-foreground",children:p("unknownDevice")}),(a.product||a.osVersion)&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:[a.product,a.osVersion].filter(Boolean).join(" · ")})]}),(0,b.jsx)(l.TableCell,{className:"font-mono text-xs",children:a.udid}),(0,b.jsx)(l.TableCell,{children:a.status?(0,b.jsx)(h.Badge,{variant:"secondary",children:a.status}):"—"})]},`${a.udid}:${c}`))})]})]})]})}])}];
10
+ }`,{id:a});r(b.signingProfile),v(null)}catch(a){v(a instanceof Error?a.message:String(a))}finally{t(!1)}},[a]);if((0,f.useEffect)(()=>{let a=window.setTimeout(()=>void w(),0);return()=>window.clearTimeout(a)},[w]),s)return(0,b.jsxs)("p",{className:"flex items-center gap-2 p-6 text-sm text-muted-foreground",children:[(0,b.jsx)(k.Spinner,{})," ",p("loadingProfile")]});if(u)return(0,b.jsxs)("section",{className:"mx-auto w-full max-w-[1500px] space-y-4",children:[(0,b.jsx)(i.Button,{asChild:!0,variant:"ghost",children:(0,b.jsxs)(m.Link,{href:"/provisioning-profiles",children:[(0,b.jsx)(c.ArrowLeft,{})," ",p("backToProfiles")]})}),(0,b.jsx)(g.Alert,{variant:"destructive",children:(0,b.jsx)(g.AlertDescription,{children:u})})]});if(!q)return(0,b.jsxs)("section",{className:"mx-auto w-full max-w-[1500px] space-y-4",children:[(0,b.jsx)(i.Button,{asChild:!0,variant:"ghost",children:(0,b.jsxs)(m.Link,{href:"/provisioning-profiles",children:[(0,b.jsx)(c.ArrowLeft,{})," ",p("backToProfiles")]})}),(0,b.jsx)(j.Card,{children:(0,b.jsx)(j.CardContent,{className:"p-8 text-center text-muted-foreground",children:p("profileNotFound")})})]});let x=new Set,y=q.provisionedDevices.filter(a=>{let b=a.udid.toUpperCase();return!x.has(b)&&(x.add(b),!0)});return(0,b.jsxs)("section",{className:"mx-auto flex w-full max-w-[1500px] flex-col gap-6",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(i.Button,{asChild:!0,className:"-ml-2",size:"sm",variant:"ghost",children:(0,b.jsxs)(m.Link,{href:"/provisioning-profiles",children:[(0,b.jsx)(c.ArrowLeft,{})," ",p("backToProfiles")]})}),(0,b.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:q.name}),(0,b.jsx)(h.Badge,{variant:"outline",children:q.profileType}),q.expired&&(0,b.jsx)(h.Badge,{variant:"destructive",children:p("expired")}),q.xcodeManaged&&(0,b.jsx)(h.Badge,{variant:"secondary",children:"Xcode"})]}),(0,b.jsx)("p",{className:"mt-1 font-mono text-xs text-muted-foreground",children:q.uuid})]}),(0,b.jsxs)(j.Card,{children:[(0,b.jsxs)(j.CardHeader,{children:[(0,b.jsx)(j.CardTitle,{children:p("profileDetails")}),(0,b.jsx)(j.CardDescription,{children:q.bundleId})]}),(0,b.jsxs)(j.CardContent,{className:"grid gap-5 sm:grid-cols-2 lg:grid-cols-4",children:[(0,b.jsx)(o,{label:p("team"),value:q.teamName??q.teamId??"—"}),(0,b.jsx)(o,{label:p("platforms"),value:q.platforms.join(", ")||"—"}),(0,b.jsx)(o,{label:p("created"),value:q.createdAt?new Date(q.createdAt).toLocaleDateString():"—"}),(0,b.jsx)(o,{label:p("expires"),value:q.expiresAt?new Date(q.expiresAt).toLocaleDateString():"—"}),(0,b.jsx)(o,{label:p("installedAgents"),value:q.installedAgents.map(a=>a.name).join(", ")||"—"}),(0,b.jsx)(o,{className:"sm:col-span-2 lg:col-span-3",label:p("acceptedCertificates"),value:q.certificateSha1s.join(", ")||"—",mono:!0})]})]}),(0,b.jsxs)(j.Card,{className:"gap-0 py-0",children:[(0,b.jsxs)(j.CardHeader,{children:[(0,b.jsxs)(j.CardTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)(d.Smartphone,{})," ",p("provisionedDevices")]}),(0,b.jsx)(j.CardDescription,{children:p("provisionedDevicesDescription",{count:y.length})})]}),0===q.deviceUdids.length?(0,b.jsx)("p",{className:"p-8 text-center text-sm text-muted-foreground",children:q.deviceCount>0?p("deviceListPendingRefresh"):p("noProvisionedDevices")}):(0,b.jsxs)(l.Table,{children:[(0,b.jsx)(l.TableHeader,{children:(0,b.jsxs)(l.TableRow,{children:[(0,b.jsx)(l.TableHead,{children:p("device")}),(0,b.jsx)(l.TableHead,{children:p("udid")}),(0,b.jsx)(l.TableHead,{children:p("status")})]})}),(0,b.jsx)(l.TableBody,{children:y.map((a,c)=>(0,b.jsxs)(l.TableRow,{children:[(0,b.jsxs)(l.TableCell,{children:[a.deviceId&&a.displayName?(0,b.jsx)(m.Link,{className:"font-medium hover:underline",href:`/devices/${a.deviceId}`,children:a.displayName}):(0,b.jsx)("span",{className:"text-muted-foreground",children:p("unknownDevice")}),(a.product||a.osVersion)&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:[a.product,a.osVersion].filter(Boolean).join(" · ")})]}),(0,b.jsx)(l.TableCell,{className:"font-mono text-xs",children:a.udid}),(0,b.jsx)(l.TableCell,{children:a.status?(0,b.jsx)(h.Badge,{variant:"secondary",children:a.status}):"—"})]},`${a.udid}:${c}`))})]})]})]})}])}];
11
11
 
12
12
  //# sourceMappingURL=_1pja493._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[519783,a=>{"use strict";let b=(0,a.i(164831).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);a.s(["RefreshCw",0,b],519783)},46524,a=>{"use strict";var b=a.i(187924),c=a.i(400187),d=a.i(368114);let e=(0,c.cva)("mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0",{variants:{variant:{default:"bg-transparent",icon:"flex size-8 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*='size-'])]:size-4"}},defaultVariants:{variant:"default"}});a.s(["Empty",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"empty",className:(0,d.cn)("flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-4 rounded-xl border-dashed p-6 text-center text-balance",a),...c})},"EmptyDescription",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"empty-description",className:(0,d.cn)("text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",a),...c})},"EmptyHeader",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"empty-header",className:(0,d.cn)("flex max-w-sm flex-col items-center gap-2",a),...c})},"EmptyMedia",0,function({className:a,variant:c="default",...f}){return(0,b.jsx)("div",{"data-slot":"empty-icon","data-variant":c,className:(0,d.cn)(e({variant:c,className:a})),...f})},"EmptyTitle",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"empty-title",className:(0,d.cn)("font-heading text-sm font-medium tracking-tight",a),...c})}])},219107,a=>{"use strict";let b=(0,a.i(164831).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],219107)},589943,a=>{"use strict";var b=a.i(187924),c=a.i(219107),d=a.i(519783),e=a.i(980180),f=a.i(415925),g=a.i(572131),h=a.i(844873),i=a.i(124348),j=a.i(786304),k=a.i(699570),l=a.i(591119),m=a.i(46524),n=a.i(668684),o=a.i(206015),p=a.i(555027),q=a.i(460280);function r(a){return a?new Date(a).toLocaleString():"—"}function s({label:a,value:c}){return(0,b.jsx)(l.Card,{children:(0,b.jsxs)(l.CardContent,{children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a}),(0,b.jsx)("div",{className:"mt-1 text-sm font-medium",children:c})]})})}function t({title:a,value:c}){let d=(0,f.useTranslations)("jiraCacheDetail");return(0,b.jsxs)(l.Card,{className:"gap-0 py-0",children:[(0,b.jsx)(l.CardHeader,{className:"border-b py-4",children:(0,b.jsx)(l.CardTitle,{children:a})}),null===c?(0,b.jsx)("p",{className:"p-6 text-sm text-muted-foreground",children:d("notFetched")}):(0,b.jsx)("pre",{className:"max-h-[36rem] overflow-auto p-4 text-xs leading-5",children:JSON.stringify(c,null,2)})]})}a.s(["JiraCacheTicketDetailPage",0,function({issueKey:a}){let u=(0,f.useTranslations)("jiraCacheDetail"),v=(0,f.useTranslations)("common"),w=(0,p.useRouter)(),[x,y]=(0,g.useState)(null),[z,A]=(0,g.useState)(!0),[B,C]=(0,g.useState)(!1),[D,E]=(0,g.useState)(null),F=(0,g.useCallback)(async()=>{A(!0);try{let b=await (0,q.controlPlaneRequest)("query CachedJiraTicket($issueKey: ID!) { jiraCachedTicket(issueKey: $issueKey) { issueKey projectKey summary status coverage stale summaryFetchedAt detailFetchedAt commentsFetchedAt updatedAt summaryData detailData commentsData cacheEntries { id operation fetchedAt } } }",{issueKey:a});y(b.jiraCachedTicket),E(null)}catch(a){E(a instanceof Error?a.message:String(a))}finally{A(!1)}},[a]);(0,g.useEffect)(()=>{let a=window.setTimeout(()=>void F(),0);return()=>window.clearTimeout(a)},[F]);let G=async()=>{C(!0);try{await (0,q.controlPlaneRequest)("mutation RefreshCachedTicket($issueKey: ID!) { refreshJiraCachedTicket(issueKey: $issueKey) { key } }",{issueKey:a}),await F()}catch(a){E(a instanceof Error?a.message:String(a))}finally{C(!1)}},H=async()=>{C(!0);try{await (0,q.controlPlaneRequest)("mutation DeleteCachedTicket($issueKey: ID!) { deleteJiraCachedTicket(issueKey: $issueKey) }",{issueKey:a}),w.replace("/jira/cache")}catch(a){E(a instanceof Error?a.message:String(a)),C(!1)}};return(0,b.jsxs)("section",{className:"mx-auto flex w-full max-w-6xl flex-col gap-6",children:[(0,b.jsx)("div",{children:(0,b.jsx)(k.Button,{asChild:!0,size:"sm",variant:"ghost",children:(0,b.jsxs)(p.Link,{href:"/jira/cache",children:[(0,b.jsx)(c.ArrowLeft,{}),u("back")]})})}),(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:a}),(0,b.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:x?.summary??u("description")})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(k.Button,{disabled:B||!x,onClick:()=>void G(),variant:"outline",children:[(0,b.jsx)(d.RefreshCw,{className:B?"animate-spin":void 0}),u("refresh")]}),(0,b.jsx)(h.ConfirmationDialog,{actionLabel:u("delete"),cancelLabel:v("cancel"),description:v("cannotBeUndone"),onConfirm:H,title:u("confirmDelete",{issueKey:a}),trigger:(0,b.jsxs)(k.Button,{disabled:B||!x,variant:"destructive",children:[(0,b.jsx)(e.Trash2,{}),u("delete")]})})]})]}),D&&(0,b.jsx)(i.Alert,{variant:"destructive",children:(0,b.jsx)(i.AlertDescription,{children:D})}),z?(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)(n.Spinner,{}),u("loading")]}):x?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-4",children:[(0,b.jsx)(s,{label:u("coverage"),value:(0,b.jsx)(j.Badge,{children:x.coverage})}),(0,b.jsx)(s,{label:u("freshness"),value:(0,b.jsx)(j.Badge,{className:x.stale?"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300":"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300",children:u(x.stale?"stale":"fresh")})}),(0,b.jsx)(s,{label:u("detailFetched"),value:r(x.detailFetchedAt)}),(0,b.jsx)(s,{label:u("commentsFetched"),value:r(x.commentsFetchedAt)})]}),(0,b.jsx)(t,{title:u("summaryData"),value:x.summaryData}),(0,b.jsx)(t,{title:u("detailData"),value:x.detailData}),(0,b.jsx)(t,{title:u("commentsData"),value:x.commentsData}),(0,b.jsxs)(l.Card,{className:"gap-0 py-0",children:[(0,b.jsx)(l.CardHeader,{className:"border-b py-4",children:(0,b.jsx)(l.CardTitle,{children:u("relatedEntries")})}),0===x.cacheEntries.length?(0,b.jsx)("p",{className:"p-6 text-sm text-muted-foreground",children:u("noEntries")}):(0,b.jsxs)(o.Table,{children:[(0,b.jsx)(o.TableHeader,{children:(0,b.jsxs)(o.TableRow,{children:[(0,b.jsx)(o.TableHead,{children:u("operation")}),(0,b.jsx)(o.TableHead,{children:u("fetchedAt")}),(0,b.jsx)(o.TableHead,{children:u("entryId")})]})}),(0,b.jsx)(o.TableBody,{children:x.cacheEntries.map(a=>(0,b.jsxs)(o.TableRow,{children:[(0,b.jsx)(o.TableCell,{className:"font-medium",children:a.operation}),(0,b.jsx)(o.TableCell,{children:r(a.fetchedAt)}),(0,b.jsx)(o.TableCell,{className:"font-mono text-xs",children:a.id})]},a.id))})]})]})]}):(0,b.jsx)(m.Empty,{className:"border py-10",children:(0,b.jsx)(m.EmptyHeader,{children:(0,b.jsx)(m.EmptyDescription,{children:u("notFound")})})})]})}])}];
1
+ module.exports=[519783,a=>{"use strict";let b=(0,a.i(164831).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);a.s(["RefreshCw",0,b],519783)},46524,a=>{"use strict";var b=a.i(187924),c=a.i(400187),d=a.i(368114);let e=(0,c.cva)("mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0",{variants:{variant:{default:"bg-transparent",icon:"flex size-8 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*='size-'])]:size-4"}},defaultVariants:{variant:"default"}});a.s(["Empty",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"empty",className:(0,d.cn)("flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-4 rounded-xl border-dashed p-6 text-center text-balance",a),...c})},"EmptyDescription",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"empty-description",className:(0,d.cn)("text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",a),...c})},"EmptyHeader",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"empty-header",className:(0,d.cn)("flex max-w-sm flex-col items-center gap-2",a),...c})},"EmptyMedia",0,function({className:a,variant:c="default",...f}){return(0,b.jsx)("div",{"data-slot":"empty-icon","data-variant":c,className:(0,d.cn)(e({variant:c,className:a})),...f})},"EmptyTitle",0,function({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"empty-title",className:(0,d.cn)("font-heading text-sm font-medium tracking-tight",a),...c})}])},219107,a=>{"use strict";let b=(0,a.i(164831).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],219107)},589943,a=>{"use strict";var b=a.i(187924),c=a.i(219107),d=a.i(519783),e=a.i(980180),f=a.i(415925),g=a.i(572131),h=a.i(844873),i=a.i(124348),j=a.i(786304),k=a.i(699570),l=a.i(591119),m=a.i(46524),n=a.i(668684),o=a.i(206015),p=a.i(555027),q=a.i(460280);function r(a){return a?new Date(a).toLocaleString():"—"}function s({label:a,value:c}){return(0,b.jsx)(l.Card,{children:(0,b.jsxs)(l.CardContent,{children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a}),(0,b.jsx)("div",{className:"mt-1 text-sm font-medium",children:c})]})})}function t({title:a,value:c}){let d=(0,f.useTranslations)("jiraCacheDetail");return(0,b.jsxs)(l.Card,{className:"gap-0 py-0",children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardTitle,{children:a})}),null===c?(0,b.jsx)("p",{className:"p-6 text-sm text-muted-foreground",children:d("notFetched")}):(0,b.jsx)("pre",{className:"max-h-[36rem] overflow-auto p-4 text-xs leading-5",children:JSON.stringify(c,null,2)})]})}a.s(["JiraCacheTicketDetailPage",0,function({issueKey:a}){let u=(0,f.useTranslations)("jiraCacheDetail"),v=(0,f.useTranslations)("common"),w=(0,p.useRouter)(),[x,y]=(0,g.useState)(null),[z,A]=(0,g.useState)(!0),[B,C]=(0,g.useState)(!1),[D,E]=(0,g.useState)(null),F=(0,g.useCallback)(async()=>{A(!0);try{let b=await (0,q.controlPlaneRequest)("query CachedJiraTicket($issueKey: ID!) { jiraCachedTicket(issueKey: $issueKey) { issueKey projectKey summary status coverage stale summaryFetchedAt detailFetchedAt commentsFetchedAt updatedAt summaryData detailData commentsData cacheEntries { id operation fetchedAt } } }",{issueKey:a});y(b.jiraCachedTicket),E(null)}catch(a){E(a instanceof Error?a.message:String(a))}finally{A(!1)}},[a]);(0,g.useEffect)(()=>{let a=window.setTimeout(()=>void F(),0);return()=>window.clearTimeout(a)},[F]);let G=async()=>{C(!0);try{await (0,q.controlPlaneRequest)("mutation RefreshCachedTicket($issueKey: ID!) { refreshJiraCachedTicket(issueKey: $issueKey) { key } }",{issueKey:a}),await F()}catch(a){E(a instanceof Error?a.message:String(a))}finally{C(!1)}},H=async()=>{C(!0);try{await (0,q.controlPlaneRequest)("mutation DeleteCachedTicket($issueKey: ID!) { deleteJiraCachedTicket(issueKey: $issueKey) }",{issueKey:a}),w.replace("/jira/cache")}catch(a){E(a instanceof Error?a.message:String(a)),C(!1)}};return(0,b.jsxs)("section",{className:"mx-auto flex w-full max-w-6xl flex-col gap-6",children:[(0,b.jsx)("div",{children:(0,b.jsx)(k.Button,{asChild:!0,size:"sm",variant:"ghost",children:(0,b.jsxs)(p.Link,{href:"/jira/cache",children:[(0,b.jsx)(c.ArrowLeft,{}),u("back")]})})}),(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:a}),(0,b.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:x?.summary??u("description")})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(k.Button,{disabled:B||!x,onClick:()=>void G(),variant:"outline",children:[(0,b.jsx)(d.RefreshCw,{className:B?"animate-spin":void 0}),u("refresh")]}),(0,b.jsx)(h.ConfirmationDialog,{actionLabel:u("delete"),cancelLabel:v("cancel"),description:v("cannotBeUndone"),onConfirm:H,title:u("confirmDelete",{issueKey:a}),trigger:(0,b.jsxs)(k.Button,{disabled:B||!x,variant:"destructive",children:[(0,b.jsx)(e.Trash2,{}),u("delete")]})})]})]}),D&&(0,b.jsx)(i.Alert,{variant:"destructive",children:(0,b.jsx)(i.AlertDescription,{children:D})}),z?(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)(n.Spinner,{}),u("loading")]}):x?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-4",children:[(0,b.jsx)(s,{label:u("coverage"),value:(0,b.jsx)(j.Badge,{children:x.coverage})}),(0,b.jsx)(s,{label:u("freshness"),value:(0,b.jsx)(j.Badge,{className:x.stale?"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300":"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300",children:u(x.stale?"stale":"fresh")})}),(0,b.jsx)(s,{label:u("detailFetched"),value:r(x.detailFetchedAt)}),(0,b.jsx)(s,{label:u("commentsFetched"),value:r(x.commentsFetchedAt)})]}),(0,b.jsx)(t,{title:u("summaryData"),value:x.summaryData}),(0,b.jsx)(t,{title:u("detailData"),value:x.detailData}),(0,b.jsx)(t,{title:u("commentsData"),value:x.commentsData}),(0,b.jsxs)(l.Card,{className:"gap-0 py-0",children:[(0,b.jsx)(l.CardHeader,{children:(0,b.jsx)(l.CardTitle,{children:u("relatedEntries")})}),0===x.cacheEntries.length?(0,b.jsx)("p",{className:"p-6 text-sm text-muted-foreground",children:u("noEntries")}):(0,b.jsxs)(o.Table,{children:[(0,b.jsx)(o.TableHeader,{children:(0,b.jsxs)(o.TableRow,{children:[(0,b.jsx)(o.TableHead,{children:u("operation")}),(0,b.jsx)(o.TableHead,{children:u("fetchedAt")}),(0,b.jsx)(o.TableHead,{children:u("entryId")})]})}),(0,b.jsx)(o.TableBody,{children:x.cacheEntries.map(a=>(0,b.jsxs)(o.TableRow,{children:[(0,b.jsx)(o.TableCell,{className:"font-medium",children:a.operation}),(0,b.jsx)(o.TableCell,{children:r(a.fetchedAt)}),(0,b.jsx)(o.TableCell,{className:"font-mono text-xs",children:a.id})]},a.id))})]})]})]}):(0,b.jsx)(m.Empty,{className:"border py-10",children:(0,b.jsx)(m.EmptyHeader,{children:(0,b.jsx)(m.EmptyDescription,{children:u("notFound")})})})]})}])}];
2
2
 
3
3
  //# sourceMappingURL=_1y98hs-._.js.map
@@ -17,7 +17,7 @@ module.exports=[585650,a=>{"use strict";let b=(0,a.i(164831).default)("copy",[["
17
17
  pullRequest { id number title url repositoryNameWithOwner }
18
18
  rootComment { id body bodyText bodyHtml url author { login avatarUrl url } createdAt updatedAt }
19
19
  replies { id body bodyText bodyHtml url author { login avatarUrl url } createdAt updatedAt }
20
- `;function B(a,b=!0){let c=new URLSearchParams(window.location.search);a?c.set("pullRequest",a):c.delete("pullRequest");let d=c.toString(),e=`${window.location.pathname}${d?`?${d}`:""}`;b?window.history.pushState(null,"",e):window.history.replaceState(null,"",e)}function C({className:a}){let c=(0,i.useTranslations)("githubComments");return(0,b.jsx)(q.Empty,{className:a??"border py-12",children:(0,b.jsxs)(q.EmptyHeader,{children:[(0,b.jsx)(q.EmptyMedia,{variant:"icon",children:(0,b.jsx)(f.MessageSquareText,{})}),(0,b.jsx)(q.EmptyTitle,{children:c("empty")}),(0,b.jsx)(q.EmptyDescription,{children:c("emptyDescription")})]})})}function D({checked:a,id:c,label:d,onCheckedChange:e}){return(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(p.Checkbox,{checked:a,id:c,onCheckedChange:a=>e(!!a)}),(0,b.jsx)(r.Label,{htmlFor:c,children:d})]})}function E({locale:a,threads:d}){let e=(0,i.useTranslations)("githubComments");return(0,b.jsxs)(o.Card,{className:"gap-0 py-0",children:[(0,b.jsxs)(o.CardHeader,{className:"border-b py-4",children:[(0,b.jsx)(o.CardTitle,{children:e("reviewThreads")}),(0,b.jsx)(o.CardDescription,{children:e("reviewThreadsDescription",{count:d.length})})]}),0===d.length?(0,b.jsx)(C,{className:"border-0 py-12"}):(0,b.jsxs)(u.Table,{children:[(0,b.jsx)(u.TableHeader,{children:(0,b.jsxs)(u.TableRow,{className:"hover:bg-transparent",children:[(0,b.jsx)(u.TableHead,{children:e("author")}),(0,b.jsx)(u.TableHead,{children:e("pullRequest")}),(0,b.jsx)(u.TableHead,{children:e("comment")}),(0,b.jsx)(u.TableHead,{children:e("date")}),(0,b.jsx)(u.TableHead,{children:e("replies")}),(0,b.jsx)(u.TableHead,{className:"text-right",children:e("github")})]})}),(0,b.jsx)(u.TableBody,{children:d.map(d=>(0,b.jsxs)(u.TableRow,{children:[(0,b.jsx)(u.TableCell,{className:"min-w-40",children:(0,b.jsx)(l.ReviewAuthor,{actor:d.rootComment.author,compact:!0})}),(0,b.jsx)(u.TableCell,{className:"min-w-64 whitespace-normal",children:(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsxs)(w.Link,{className:"font-semibold text-primary hover:underline",href:(0,k.pullRequestDetailHref)(d.pullRequest),children:[d.pullRequest.repositoryNameWithOwner," #",d.pullRequest.number]}),(0,b.jsx)(w.Link,{className:"text-sm hover:underline",href:(0,k.pullRequestDetailHref)(d.pullRequest),children:d.pullRequest.title})]})}),(0,b.jsx)(u.TableCell,{className:"min-w-80 whitespace-pre-wrap",children:d.rootComment.bodyText}),(0,b.jsx)(u.TableCell,{className:"whitespace-nowrap text-muted-foreground",children:(0,b.jsx)("time",{dateTime:d.rootComment.createdAt,children:(0,l.relativeAge)(d.rootComment.createdAt,a)})}),(0,b.jsx)(u.TableCell,{children:d.replies.length}),(0,b.jsx)(u.TableCell,{className:"text-right",children:(0,b.jsx)(n.Button,{asChild:!0,size:"icon-sm",variant:"ghost",children:(0,b.jsx)("a",{"aria-label":e("openInGitHub"),href:d.rootComment.url,rel:"noreferrer",target:"_blank",children:(0,b.jsx)(c.ExternalLink,{})})})})]},d.id))})]})]})}a.s(["CommentsPage",0,function({initialPullRequest:a=null}){let c=(0,i.useTranslations)("githubComments"),p=(0,h.useLocale)(),[r,u]=(0,j.useState)(null),[F,G]=(0,j.useState)(null),[H,I]=(0,j.useState)(!0),[J,K]=(0,j.useState)(!1),[L,M]=(0,j.useState)(null),[N,O]=(0,j.useState)(a??""),[P,Q]=(0,j.useState)(!0),[R,S]=(0,j.useState)(!0),[T,U]=(0,j.useState)(!0),[V,W]=(0,j.useState)("cards"),X=(0,j.useCallback)(async()=>{try{let a=await (0,x.controlPlaneRequest)("query GitHubCommentsConfiguration { githubSettings { tokenConfigured updatedAt } }");u(a.githubSettings),M(null)}catch(a){M(a instanceof Error?a.message:String(a))}finally{I(!1)}},[]),Y=(0,j.useCallback)(async()=>{K(!0);try{let a=await (0,x.controlPlaneRequest)(`query GitHubReviewThreads {
20
+ `;function B(a,b=!0){let c=new URLSearchParams(window.location.search);a?c.set("pullRequest",a):c.delete("pullRequest");let d=c.toString(),e=`${window.location.pathname}${d?`?${d}`:""}`;b?window.history.pushState(null,"",e):window.history.replaceState(null,"",e)}function C({className:a}){let c=(0,i.useTranslations)("githubComments");return(0,b.jsx)(q.Empty,{className:a??"border py-12",children:(0,b.jsxs)(q.EmptyHeader,{children:[(0,b.jsx)(q.EmptyMedia,{variant:"icon",children:(0,b.jsx)(f.MessageSquareText,{})}),(0,b.jsx)(q.EmptyTitle,{children:c("empty")}),(0,b.jsx)(q.EmptyDescription,{children:c("emptyDescription")})]})})}function D({checked:a,id:c,label:d,onCheckedChange:e}){return(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(p.Checkbox,{checked:a,id:c,onCheckedChange:a=>e(!!a)}),(0,b.jsx)(r.Label,{htmlFor:c,children:d})]})}function E({locale:a,threads:d}){let e=(0,i.useTranslations)("githubComments");return(0,b.jsxs)(o.Card,{className:"gap-0 py-0",children:[(0,b.jsxs)(o.CardHeader,{children:[(0,b.jsx)(o.CardTitle,{children:e("reviewThreads")}),(0,b.jsx)(o.CardDescription,{children:e("reviewThreadsDescription",{count:d.length})})]}),0===d.length?(0,b.jsx)(C,{className:"border-0 py-12"}):(0,b.jsxs)(u.Table,{children:[(0,b.jsx)(u.TableHeader,{children:(0,b.jsxs)(u.TableRow,{className:"hover:bg-transparent",children:[(0,b.jsx)(u.TableHead,{children:e("author")}),(0,b.jsx)(u.TableHead,{children:e("pullRequest")}),(0,b.jsx)(u.TableHead,{children:e("comment")}),(0,b.jsx)(u.TableHead,{children:e("date")}),(0,b.jsx)(u.TableHead,{children:e("replies")}),(0,b.jsx)(u.TableHead,{className:"text-right",children:e("github")})]})}),(0,b.jsx)(u.TableBody,{children:d.map(d=>(0,b.jsxs)(u.TableRow,{children:[(0,b.jsx)(u.TableCell,{className:"min-w-40",children:(0,b.jsx)(l.ReviewAuthor,{actor:d.rootComment.author,compact:!0})}),(0,b.jsx)(u.TableCell,{className:"min-w-64 whitespace-normal",children:(0,b.jsxs)("div",{className:"flex flex-col",children:[(0,b.jsxs)(w.Link,{className:"font-semibold text-primary hover:underline",href:(0,k.pullRequestDetailHref)(d.pullRequest),children:[d.pullRequest.repositoryNameWithOwner," #",d.pullRequest.number]}),(0,b.jsx)(w.Link,{className:"text-sm hover:underline",href:(0,k.pullRequestDetailHref)(d.pullRequest),children:d.pullRequest.title})]})}),(0,b.jsx)(u.TableCell,{className:"min-w-80 whitespace-pre-wrap",children:d.rootComment.bodyText}),(0,b.jsx)(u.TableCell,{className:"whitespace-nowrap text-muted-foreground",children:(0,b.jsx)("time",{dateTime:d.rootComment.createdAt,children:(0,l.relativeAge)(d.rootComment.createdAt,a)})}),(0,b.jsx)(u.TableCell,{children:d.replies.length}),(0,b.jsx)(u.TableCell,{className:"text-right",children:(0,b.jsx)(n.Button,{asChild:!0,size:"icon-sm",variant:"ghost",children:(0,b.jsx)("a",{"aria-label":e("openInGitHub"),href:d.rootComment.url,rel:"noreferrer",target:"_blank",children:(0,b.jsx)(c.ExternalLink,{})})})})]},d.id))})]})]})}a.s(["CommentsPage",0,function({initialPullRequest:a=null}){let c=(0,i.useTranslations)("githubComments"),p=(0,h.useLocale)(),[r,u]=(0,j.useState)(null),[F,G]=(0,j.useState)(null),[H,I]=(0,j.useState)(!0),[J,K]=(0,j.useState)(!1),[L,M]=(0,j.useState)(null),[N,O]=(0,j.useState)(a??""),[P,Q]=(0,j.useState)(!0),[R,S]=(0,j.useState)(!0),[T,U]=(0,j.useState)(!0),[V,W]=(0,j.useState)("cards"),X=(0,j.useCallback)(async()=>{try{let a=await (0,x.controlPlaneRequest)("query GitHubCommentsConfiguration { githubSettings { tokenConfigured updatedAt } }");u(a.githubSettings),M(null)}catch(a){M(a instanceof Error?a.message:String(a))}finally{I(!1)}},[]),Y=(0,j.useCallback)(async()=>{K(!0);try{let a=await (0,x.controlPlaneRequest)(`query GitHubReviewThreads {
21
21
  githubReviewThreads {
22
22
  viewerLogin
23
23
  truncated
@@ -8,7 +8,7 @@ module.exports=[61302,a=>{"use strict";var b=a.i(187924),c=a.i(451262),d=a.i(219
8
8
  requestAgentCodebaseReconcile(agentId: $agentId)
9
9
  }`,{agentId:a});v({accepted:b.requestAgentCodebaseReconcile}),r(null);return}let b=JSON.parse(o);if(!b||"object"!=typeof b||Array.isArray(b))throw Error(l("invalidJsonObject"));let c=await (0,F.controlPlaneRequest)(`mutation InvokeAgentCapability($input: CreateAgentJobInput!) {
10
10
  createAgentJob(input: $input) { ${H.JOB_FIELDS} }
11
- }`,{input:{agentId:a,kind:d,payload:b,idempotencyKey:`manual:${d}:${(0,E.createClientId)()}`,timeoutSeconds:86400}});r(c.createAgentJob),v(void 0),i(c.createAgentJob,!0)}catch(a){x(a instanceof SyntaxError?l("invalidJsonObject"):a instanceof Error?a.message:String(a)),r(null),v(void 0)}finally{B(!1)}},N=q?{status:q.status,result:q.result,error:q.error}:t,O=void 0===N?"":JSON.stringify(N,null,2),P=async()=>{try{await (0,E.copyText)(O),G(!0)}catch{x(l("copyFailed"))}};return(0,b.jsxs)("form",{className:"grid gap-4 lg:grid-cols-2",onSubmit:M,children:[(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("h4",{className:"text-sm font-medium",children:l("parameters")}),f?(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:j("eventCapabilityDescription")}):(0,b.jsxs)("div",{children:[(0,b.jsx)(y.Label,{className:"mb-1.5 block",htmlFor:`${d}-payload`,children:j("payload")}),(0,b.jsx)(C.Textarea,{className:"min-h-36 font-mono text-xs",id:`${d}-payload`,onChange:a=>p(a.target.value),spellCheck:!1,value:o})]}),(0,b.jsxs)(u.Button,{disabled:A||g,type:"submit",children:[A?(0,b.jsx)(z.Spinner,{}):(0,b.jsx)(k.Wrench,{}),A?l("running"):j("invoke")]}),g&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:j("invokeOffline")})]}),(0,b.jsxs)("div",{className:"min-w-0 space-y-2",children:[(0,b.jsxs)("div",{className:"flex min-h-7 items-center justify-between gap-2",children:[(0,b.jsx)("h4",{className:"text-sm font-medium",children:l("response")}),void 0!==N&&(0,b.jsx)(u.Button,{"aria-label":D?l("copied"):l("copyResponse"),onClick:()=>void P(),size:"icon-sm",type:"button",variant:"ghost",children:D?(0,b.jsx)(e.Check,{}):(0,b.jsx)(h.Copy,{})})]}),w?(0,b.jsx)(s.Alert,{variant:"destructive",children:(0,b.jsx)(s.AlertDescription,{children:w})}):void 0===N?(0,b.jsx)("div",{className:"rounded-lg border border-dashed p-4 text-sm text-muted-foreground",children:j("noCapabilityResponse")}):(0,b.jsx)("pre",{className:"max-h-96 overflow-auto rounded-lg bg-muted p-3 font-mono text-xs whitespace-pre-wrap",children:O})]})]})}function U({codebases:a,locale:c}){let d=(0,m.useTranslations)("agentDetail"),e=(0,m.useTranslations)("codebases");return(0,b.jsxs)(v.Card,{className:"gap-0 py-0",children:[(0,b.jsxs)(v.CardHeader,{className:"border-b py-4",children:[(0,b.jsx)(v.CardTitle,{children:d("codebases")}),(0,b.jsx)(v.CardDescription,{children:d("codebasesDescription")})]}),0===a.length?(0,b.jsx)("p",{className:"p-4 text-sm text-muted-foreground",children:d("noCodebases")}):(0,b.jsxs)(B.Table,{children:[(0,b.jsx)(B.TableHeader,{children:(0,b.jsxs)(B.TableRow,{children:[(0,b.jsx)(B.TableHead,{children:d("repository")}),(0,b.jsx)(B.TableHead,{children:e("folder")}),(0,b.jsx)(B.TableHead,{children:e("branch")}),(0,b.jsx)(B.TableHead,{children:d("status")}),(0,b.jsx)(B.TableHead,{children:e("lastChecked")}),(0,b.jsx)(B.TableHead,{className:"w-20"})]})}),(0,b.jsx)(B.TableBody,{children:a.map(a=>(0,b.jsxs)(B.TableRow,{children:[(0,b.jsxs)(B.TableCell,{children:[(0,b.jsx)("p",{className:"font-medium",children:a.repository.name}),(0,b.jsx)("p",{className:"max-w-sm truncate font-mono text-xs text-muted-foreground",children:a.repository.displayOrigin})]}),(0,b.jsx)(B.TableCell,{className:"max-w-sm truncate font-mono text-xs",children:a.folder}),(0,b.jsx)(B.TableCell,{className:"font-mono text-xs",children:a.branch??a.headSha?.slice(0,10)??e("unknown")}),(0,b.jsx)(B.TableCell,{children:(0,b.jsx)(t.Badge,{className:(0,G.cn)("IN_SYNC"===a.syncState&&"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300"),variant:"outline",children:"AVAILABLE"===a.availability?e(`sync.${a.syncState}`):e(`availability.${a.availability}`)})}),(0,b.jsx)(B.TableCell,{children:a.lastCheckedAt?new Date(a.lastCheckedAt).toLocaleString(c):e("never")}),(0,b.jsx)(B.TableCell,{children:(0,b.jsx)(u.Button,{asChild:!0,size:"sm",variant:"ghost",children:(0,b.jsx)(D.Link,{href:`/codebases/${a.id}`,children:e("view")})})})]},a.id))})]})]})}a.s(["AgentDetail",0,function({agentId:a}){let e=(0,m.useTranslations)("agentDetail"),f=(0,m.useTranslations)("common"),g=(0,l.useLocale)(),h=(0,D.useRouter)(),[k,t]=(0,n.useState)(null),[y,A]=(0,n.useState)([]),[C,E]=(0,n.useState)([]),[I,J]=(0,n.useState)(""),[K,Q]=(0,n.useState)(null),[T,V]=(0,n.useState)(!0),[W,X]=(0,n.useState)(null),[Y,Z]=(0,n.useState)(!1),[$,_]=(0,n.useState)(!1),[aa,ab]=(0,n.useState)(null),ac=(0,n.useRef)(0),ad=(0,n.useCallback)(async()=>{let b=++ac.current;try{let c=await (0,F.controlPlaneRequest)(`query AgentDetail($id: ID!) {
11
+ }`,{input:{agentId:a,kind:d,payload:b,idempotencyKey:`manual:${d}:${(0,E.createClientId)()}`,timeoutSeconds:86400}});r(c.createAgentJob),v(void 0),i(c.createAgentJob,!0)}catch(a){x(a instanceof SyntaxError?l("invalidJsonObject"):a instanceof Error?a.message:String(a)),r(null),v(void 0)}finally{B(!1)}},N=q?{status:q.status,result:q.result,error:q.error}:t,O=void 0===N?"":JSON.stringify(N,null,2),P=async()=>{try{await (0,E.copyText)(O),G(!0)}catch{x(l("copyFailed"))}};return(0,b.jsxs)("form",{className:"grid gap-4 lg:grid-cols-2",onSubmit:M,children:[(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("h4",{className:"text-sm font-medium",children:l("parameters")}),f?(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:j("eventCapabilityDescription")}):(0,b.jsxs)("div",{children:[(0,b.jsx)(y.Label,{className:"mb-1.5 block",htmlFor:`${d}-payload`,children:j("payload")}),(0,b.jsx)(C.Textarea,{className:"min-h-36 font-mono text-xs",id:`${d}-payload`,onChange:a=>p(a.target.value),spellCheck:!1,value:o})]}),(0,b.jsxs)(u.Button,{disabled:A||g,type:"submit",children:[A?(0,b.jsx)(z.Spinner,{}):(0,b.jsx)(k.Wrench,{}),A?l("running"):j("invoke")]}),g&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:j("invokeOffline")})]}),(0,b.jsxs)("div",{className:"min-w-0 space-y-2",children:[(0,b.jsxs)("div",{className:"flex min-h-7 items-center justify-between gap-2",children:[(0,b.jsx)("h4",{className:"text-sm font-medium",children:l("response")}),void 0!==N&&(0,b.jsx)(u.Button,{"aria-label":D?l("copied"):l("copyResponse"),onClick:()=>void P(),size:"icon-sm",type:"button",variant:"ghost",children:D?(0,b.jsx)(e.Check,{}):(0,b.jsx)(h.Copy,{})})]}),w?(0,b.jsx)(s.Alert,{variant:"destructive",children:(0,b.jsx)(s.AlertDescription,{children:w})}):void 0===N?(0,b.jsx)("div",{className:"rounded-lg border border-dashed p-4 text-sm text-muted-foreground",children:j("noCapabilityResponse")}):(0,b.jsx)("pre",{className:"max-h-96 overflow-auto rounded-lg bg-muted p-3 font-mono text-xs whitespace-pre-wrap",children:O})]})]})}function U({codebases:a,locale:c}){let d=(0,m.useTranslations)("agentDetail"),e=(0,m.useTranslations)("codebases");return(0,b.jsxs)(v.Card,{className:"gap-0 py-0",children:[(0,b.jsxs)(v.CardHeader,{children:[(0,b.jsx)(v.CardTitle,{children:d("codebases")}),(0,b.jsx)(v.CardDescription,{children:d("codebasesDescription")})]}),0===a.length?(0,b.jsx)("p",{className:"p-4 text-sm text-muted-foreground",children:d("noCodebases")}):(0,b.jsxs)(B.Table,{children:[(0,b.jsx)(B.TableHeader,{children:(0,b.jsxs)(B.TableRow,{children:[(0,b.jsx)(B.TableHead,{children:d("repository")}),(0,b.jsx)(B.TableHead,{children:e("folder")}),(0,b.jsx)(B.TableHead,{children:e("branch")}),(0,b.jsx)(B.TableHead,{children:d("status")}),(0,b.jsx)(B.TableHead,{children:e("lastChecked")}),(0,b.jsx)(B.TableHead,{className:"w-20"})]})}),(0,b.jsx)(B.TableBody,{children:a.map(a=>(0,b.jsxs)(B.TableRow,{children:[(0,b.jsxs)(B.TableCell,{children:[(0,b.jsx)("p",{className:"font-medium",children:a.repository.name}),(0,b.jsx)("p",{className:"max-w-sm truncate font-mono text-xs text-muted-foreground",children:a.repository.displayOrigin})]}),(0,b.jsx)(B.TableCell,{className:"max-w-sm truncate font-mono text-xs",children:a.folder}),(0,b.jsx)(B.TableCell,{className:"font-mono text-xs",children:a.branch??a.headSha?.slice(0,10)??e("unknown")}),(0,b.jsx)(B.TableCell,{children:(0,b.jsx)(t.Badge,{className:(0,G.cn)("IN_SYNC"===a.syncState&&"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300"),variant:"outline",children:"AVAILABLE"===a.availability?e(`sync.${a.syncState}`):e(`availability.${a.availability}`)})}),(0,b.jsx)(B.TableCell,{children:a.lastCheckedAt?new Date(a.lastCheckedAt).toLocaleString(c):e("never")}),(0,b.jsx)(B.TableCell,{children:(0,b.jsx)(u.Button,{asChild:!0,size:"sm",variant:"ghost",children:(0,b.jsx)(D.Link,{href:`/codebases/${a.id}`,children:e("view")})})})]},a.id))})]})]})}a.s(["AgentDetail",0,function({agentId:a}){let e=(0,m.useTranslations)("agentDetail"),f=(0,m.useTranslations)("common"),g=(0,l.useLocale)(),h=(0,D.useRouter)(),[k,t]=(0,n.useState)(null),[y,A]=(0,n.useState)([]),[C,E]=(0,n.useState)([]),[I,J]=(0,n.useState)(""),[K,Q]=(0,n.useState)(null),[T,V]=(0,n.useState)(!0),[W,X]=(0,n.useState)(null),[Y,Z]=(0,n.useState)(!1),[$,_]=(0,n.useState)(!1),[aa,ab]=(0,n.useState)(null),ac=(0,n.useRef)(0),ad=(0,n.useCallback)(async()=>{let b=++ac.current;try{let c=await (0,F.controlPlaneRequest)(`query AgentDetail($id: ID!) {
12
12
  agent(id: $id) { ${H.AGENT_FIELDS} }
13
13
  agentJobs(agentId: $id) { ${H.JOB_FIELDS} }
14
14
  codebaseOverview {
@@ -26,6 +26,6 @@ module.exports=[61302,a=>{"use strict";var b=a.i(187924),c=a.i(451262),d=a.i(219
26
26
  updateAgentBaseRepoDirectory(agentId: $agentId, baseRepoDirectory: $baseRepoDirectory) {
27
27
  ${H.AGENT_FIELDS}
28
28
  }
29
- }`,{agentId:a,baseRepoDirectory:b});t(c.updateAgentBaseRepoDirectory)}catch(a){ab(a instanceof Error?a.message:String(a))}finally{_(!1)}},ag=(0,n.useCallback)((a,b=!1)=>{A(b=>M(b,a)),b&&Q(a.id)},[]),ah=async()=>{Z(!0),X(null);try{await (0,F.controlPlaneRequest)("mutation DeleteAgent($agentId: ID!) { deleteAgent(agentId: $agentId) }",{agentId:a}),h.push("/agents")}catch(a){X(a instanceof Error?a.message:String(a)),Z(!1)}};if(T)return(0,b.jsxs)("p",{className:"mx-auto flex max-w-6xl items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)(z.Spinner,{}),e("loading")]});if(W&&!k)return(0,b.jsx)("p",{className:"mx-auto max-w-6xl text-sm text-destructive",children:W});if(!k)return(0,b.jsx)("p",{className:"mx-auto max-w-6xl text-sm text-muted-foreground",children:e("notFound")});let ai="ONLINE"===k.connectionStatus&&k.capabilities.includes(c.CODEBASE_BROWSE_JOB_KIND),aj=k.capabilities.filter(a=>a.toLocaleLowerCase().includes(I.toLocaleLowerCase()));return(0,b.jsxs)("div",{className:"mx-auto flex w-full max-w-[1500px] flex-col gap-6",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,b.jsx)(u.Button,{asChild:!0,size:"sm",variant:"ghost",children:(0,b.jsxs)(D.Link,{href:"/agents",children:[(0,b.jsx)(d.ArrowLeft,{}),e("back")]})}),(0,b.jsx)(r.ConfirmationDialog,{actionLabel:e("deleteAgent"),cancelLabel:f("cancel"),description:e("deleteAgentDescription",{name:k.name}),onConfirm:ah,title:e("deleteAgentTitle"),trigger:(0,b.jsxs)(u.Button,{disabled:Y,size:"sm",variant:"destructive",children:[Y?(0,b.jsx)(z.Spinner,{}):(0,b.jsx)(j.Trash2,{}),e("deleteAgent")]})})]}),W&&(0,b.jsx)(s.Alert,{variant:"destructive",children:(0,b.jsx)(s.AlertDescription,{children:W})}),(0,b.jsxs)(v.Card,{children:[(0,b.jsx)(v.CardHeader,{children:(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(v.CardTitle,{className:"text-2xl font-semibold tracking-tight",children:k.name}),(0,b.jsx)(q.StatusBadge,{status:k.connectionStatus})]}),(0,b.jsxs)(v.CardDescription,{className:"mt-1",children:[k.hostname," · ",k.osVersion," · ",k.architecture]})]}),(0,b.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:k.id})]})}),(0,b.jsxs)(v.CardContent,{className:"space-y-5",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"font-medium",children:e("generalInformation")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:e("generalInformationDescription")})]}),(0,b.jsxs)("dl",{className:"grid gap-4 text-sm sm:grid-cols-2 lg:grid-cols-4",children:[(0,b.jsx)(P,{label:e("version"),value:k.version}),(0,b.jsx)(P,{label:e("cpuModel"),value:k.cpuModel??e("unavailable")}),(0,b.jsx)(P,{label:e("operatingSystem"),value:k.osVersion}),(0,b.jsx)(P,{label:e("architecture"),value:k.architecture}),(0,b.jsx)(P,{label:e("lastSeen"),value:k.lastSeenAt?new Date(k.lastSeenAt).toLocaleString(g):e("never")}),(0,b.jsx)(P,{label:e("ipAddress"),value:k.ipAddress??e("unavailable"),mono:!0})]}),(0,b.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,b.jsx)(R,{free:k.memoryFreeBytes,label:e("memory"),locale:g,total:k.memoryTotalBytes,unavailable:e("unavailable"),usedLabel:e("used"),freeLabel:e("free")}),(0,b.jsx)(R,{free:k.diskFreeBytes,label:e("disk"),locale:g,total:k.diskTotalBytes,unavailable:e("unavailable"),usedLabel:e("used"),freeLabel:e("free")})]})]})]}),(0,b.jsxs)(v.Card,{className:"gap-0 py-0",children:[(0,b.jsxs)(v.CardHeader,{className:"border-b py-4",children:[(0,b.jsx)(v.CardTitle,{children:e("capabilities")}),(0,b.jsx)(v.CardDescription,{children:e("capabilitiesDescription")})]}),(0,b.jsx)("div",{className:"border-b p-4",children:(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(i.Search,{className:"pointer-events-none absolute top-1/2 left-3 size-4 -translate-y-1/2 text-muted-foreground"}),(0,b.jsx)(x.Input,{"aria-label":e("searchCapabilities"),className:"pl-9",onChange:a=>J(a.target.value),placeholder:e("searchCapabilitiesPlaceholder"),type:"search",value:I})]})}),0===aj.length?(0,b.jsx)("p",{className:"p-4 text-sm text-muted-foreground",children:e("noMatchingCapabilities")}):(0,b.jsxs)(B.Table,{children:[(0,b.jsx)(B.TableHeader,{children:(0,b.jsxs)(B.TableRow,{children:[(0,b.jsx)(B.TableHead,{className:"w-10"}),(0,b.jsx)(B.TableHead,{children:e("capability")}),(0,b.jsx)(B.TableHead,{children:e("kind")})]})}),(0,b.jsx)(B.TableBody,{children:aj.map(a=>(0,b.jsx)(S,{agentId:k.id,capability:a,offline:"ONLINE"!==k.connectionStatus,onJobChanged:ag},a))})]})]}),(0,b.jsx)(U,{codebases:C,locale:g}),(0,b.jsxs)(v.Card,{children:[(0,b.jsxs)(v.CardHeader,{children:[(0,b.jsx)(v.CardTitle,{children:e("baseRepoDirectory")}),(0,b.jsx)(v.CardDescription,{children:e("baseRepoDirectoryDescription")})]}),(0,b.jsxs)(v.CardContent,{children:[(0,b.jsxs)("div",{className:"rounded-lg bg-muted p-3",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:e("currentDirectory")}),(0,b.jsx)("p",{className:"mt-1 break-all font-mono text-xs",children:k.baseRepoDirectory??e("notConfigured")})]}),aa&&(0,b.jsx)(s.Alert,{className:"mt-4",variant:"destructive",children:(0,b.jsx)(s.AlertDescription,{children:aa})}),(0,b.jsxs)("div",{className:"mt-4 flex flex-wrap items-start gap-2",children:[(0,b.jsx)("div",{className:"min-w-0 flex-1",children:ai?(0,b.jsx)(o.AgentDirectoryBrowser,{agentId:k.id,disabled:$,onSelect:a=>af(a),selectLabel:e("useDirectory")},`${k.id}:${k.baseRepoDirectory??""}`):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:e("directoryBrowsingUnavailable")})}),k.baseRepoDirectory&&(0,b.jsxs)(u.Button,{disabled:$,onClick:()=>void af(null),type:"button",variant:"outline",children:[(0,b.jsx)(j.Trash2,{})," ",e("clearDirectory")]})]})]})]}),(0,b.jsx)(O,{agent:k,canBrowseDirectories:ai,onSaved:t},`${k.id}:${k.derivedDataLocationMode??"DEFAULT"}:${k.derivedDataPath??""}`),(0,b.jsx)(N,{agent:k,canBrowseDirectories:ai,onSaved:t},`${k.id}:${k.buildsDirectory??"default"}:${k.defaultBuildsDirectory??""}`),K&&(0,b.jsx)(p.JobMonitor,{compact:!0,jobId:K},K),(0,b.jsxs)("section",{children:[(0,b.jsx)("h2",{className:"mb-3 font-medium",children:e("history")}),0===y.length?(0,b.jsx)(w.Empty,{children:(0,b.jsx)(w.EmptyHeader,{children:(0,b.jsx)(w.EmptyDescription,{children:e("noJobs")})})}):(0,b.jsx)(v.Card,{className:"gap-0 py-0",children:(0,b.jsxs)(B.Table,{children:[(0,b.jsx)(B.TableHeader,{children:(0,b.jsxs)(B.TableRow,{children:[(0,b.jsx)(B.TableHead,{children:e("job")}),(0,b.jsx)(B.TableHead,{children:e("status")}),(0,b.jsx)(B.TableHead,{children:e("created")}),(0,b.jsx)(B.TableHead,{children:e("finished")})]})}),(0,b.jsx)(B.TableBody,{children:y.map(a=>(0,b.jsxs)(B.TableRow,{"aria-current":K===a.id?"true":void 0,"aria-label":e("selectJob",{kind:a.kind}),className:(0,G.cn)("cursor-pointer focus-visible:bg-muted/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset",K===a.id&&"bg-muted/50"),onClick:()=>Q(a.id),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.preventDefault(),Q(a.id))},role:"button",tabIndex:0,children:[(0,b.jsx)(B.TableCell,{className:"font-mono text-xs font-medium",children:a.kind}),(0,b.jsx)(B.TableCell,{children:(0,b.jsx)(q.StatusBadge,{status:a.status})}),(0,b.jsx)(B.TableCell,{children:new Date(a.createdAt).toLocaleString(g)}),(0,b.jsx)(B.TableCell,{children:a.finishedAt?new Date(a.finishedAt).toLocaleString(g):"—"})]},a.id))})]})})]})]})}],61302)}];
29
+ }`,{agentId:a,baseRepoDirectory:b});t(c.updateAgentBaseRepoDirectory)}catch(a){ab(a instanceof Error?a.message:String(a))}finally{_(!1)}},ag=(0,n.useCallback)((a,b=!1)=>{A(b=>M(b,a)),b&&Q(a.id)},[]),ah=async()=>{Z(!0),X(null);try{await (0,F.controlPlaneRequest)("mutation DeleteAgent($agentId: ID!) { deleteAgent(agentId: $agentId) }",{agentId:a}),h.push("/agents")}catch(a){X(a instanceof Error?a.message:String(a)),Z(!1)}};if(T)return(0,b.jsxs)("p",{className:"mx-auto flex max-w-6xl items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)(z.Spinner,{}),e("loading")]});if(W&&!k)return(0,b.jsx)("p",{className:"mx-auto max-w-6xl text-sm text-destructive",children:W});if(!k)return(0,b.jsx)("p",{className:"mx-auto max-w-6xl text-sm text-muted-foreground",children:e("notFound")});let ai="ONLINE"===k.connectionStatus&&k.capabilities.includes(c.CODEBASE_BROWSE_JOB_KIND),aj=k.capabilities.filter(a=>a.toLocaleLowerCase().includes(I.toLocaleLowerCase()));return(0,b.jsxs)("div",{className:"mx-auto flex w-full max-w-[1500px] flex-col gap-6",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,b.jsx)(u.Button,{asChild:!0,size:"sm",variant:"ghost",children:(0,b.jsxs)(D.Link,{href:"/agents",children:[(0,b.jsx)(d.ArrowLeft,{}),e("back")]})}),(0,b.jsx)(r.ConfirmationDialog,{actionLabel:e("deleteAgent"),cancelLabel:f("cancel"),description:e("deleteAgentDescription",{name:k.name}),onConfirm:ah,title:e("deleteAgentTitle"),trigger:(0,b.jsxs)(u.Button,{disabled:Y,size:"sm",variant:"destructive",children:[Y?(0,b.jsx)(z.Spinner,{}):(0,b.jsx)(j.Trash2,{}),e("deleteAgent")]})})]}),W&&(0,b.jsx)(s.Alert,{variant:"destructive",children:(0,b.jsx)(s.AlertDescription,{children:W})}),(0,b.jsxs)(v.Card,{children:[(0,b.jsx)(v.CardHeader,{children:(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(v.CardTitle,{className:"text-2xl font-semibold tracking-tight",children:k.name}),(0,b.jsx)(q.StatusBadge,{status:k.connectionStatus})]}),(0,b.jsxs)(v.CardDescription,{className:"mt-1",children:[k.hostname," · ",k.osVersion," · ",k.architecture]})]}),(0,b.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:k.id})]})}),(0,b.jsxs)(v.CardContent,{className:"space-y-5",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"font-medium",children:e("generalInformation")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:e("generalInformationDescription")})]}),(0,b.jsxs)("dl",{className:"grid gap-4 text-sm sm:grid-cols-2 lg:grid-cols-4",children:[(0,b.jsx)(P,{label:e("version"),value:k.version}),(0,b.jsx)(P,{label:e("cpuModel"),value:k.cpuModel??e("unavailable")}),(0,b.jsx)(P,{label:e("operatingSystem"),value:k.osVersion}),(0,b.jsx)(P,{label:e("architecture"),value:k.architecture}),(0,b.jsx)(P,{label:e("lastSeen"),value:k.lastSeenAt?new Date(k.lastSeenAt).toLocaleString(g):e("never")}),(0,b.jsx)(P,{label:e("ipAddress"),value:k.ipAddress??e("unavailable"),mono:!0})]}),(0,b.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,b.jsx)(R,{free:k.memoryFreeBytes,label:e("memory"),locale:g,total:k.memoryTotalBytes,unavailable:e("unavailable"),usedLabel:e("used"),freeLabel:e("free")}),(0,b.jsx)(R,{free:k.diskFreeBytes,label:e("disk"),locale:g,total:k.diskTotalBytes,unavailable:e("unavailable"),usedLabel:e("used"),freeLabel:e("free")})]})]})]}),(0,b.jsxs)(v.Card,{className:"gap-0 py-0",children:[(0,b.jsxs)(v.CardHeader,{children:[(0,b.jsx)(v.CardTitle,{children:e("capabilities")}),(0,b.jsx)(v.CardDescription,{children:e("capabilitiesDescription")})]}),(0,b.jsx)("div",{className:"border-b p-4",children:(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(i.Search,{className:"pointer-events-none absolute top-1/2 left-3 size-4 -translate-y-1/2 text-muted-foreground"}),(0,b.jsx)(x.Input,{"aria-label":e("searchCapabilities"),className:"pl-9",onChange:a=>J(a.target.value),placeholder:e("searchCapabilitiesPlaceholder"),type:"search",value:I})]})}),0===aj.length?(0,b.jsx)("p",{className:"p-4 text-sm text-muted-foreground",children:e("noMatchingCapabilities")}):(0,b.jsxs)(B.Table,{children:[(0,b.jsx)(B.TableHeader,{children:(0,b.jsxs)(B.TableRow,{children:[(0,b.jsx)(B.TableHead,{className:"w-10"}),(0,b.jsx)(B.TableHead,{children:e("capability")}),(0,b.jsx)(B.TableHead,{children:e("kind")})]})}),(0,b.jsx)(B.TableBody,{children:aj.map(a=>(0,b.jsx)(S,{agentId:k.id,capability:a,offline:"ONLINE"!==k.connectionStatus,onJobChanged:ag},a))})]})]}),(0,b.jsx)(U,{codebases:C,locale:g}),(0,b.jsxs)(v.Card,{children:[(0,b.jsxs)(v.CardHeader,{children:[(0,b.jsx)(v.CardTitle,{children:e("baseRepoDirectory")}),(0,b.jsx)(v.CardDescription,{children:e("baseRepoDirectoryDescription")})]}),(0,b.jsxs)(v.CardContent,{children:[(0,b.jsxs)("div",{className:"rounded-lg bg-muted p-3",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:e("currentDirectory")}),(0,b.jsx)("p",{className:"mt-1 break-all font-mono text-xs",children:k.baseRepoDirectory??e("notConfigured")})]}),aa&&(0,b.jsx)(s.Alert,{className:"mt-4",variant:"destructive",children:(0,b.jsx)(s.AlertDescription,{children:aa})}),(0,b.jsxs)("div",{className:"mt-4 flex flex-wrap items-start gap-2",children:[(0,b.jsx)("div",{className:"min-w-0 flex-1",children:ai?(0,b.jsx)(o.AgentDirectoryBrowser,{agentId:k.id,disabled:$,onSelect:a=>af(a),selectLabel:e("useDirectory")},`${k.id}:${k.baseRepoDirectory??""}`):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:e("directoryBrowsingUnavailable")})}),k.baseRepoDirectory&&(0,b.jsxs)(u.Button,{disabled:$,onClick:()=>void af(null),type:"button",variant:"outline",children:[(0,b.jsx)(j.Trash2,{})," ",e("clearDirectory")]})]})]})]}),(0,b.jsx)(O,{agent:k,canBrowseDirectories:ai,onSaved:t},`${k.id}:${k.derivedDataLocationMode??"DEFAULT"}:${k.derivedDataPath??""}`),(0,b.jsx)(N,{agent:k,canBrowseDirectories:ai,onSaved:t},`${k.id}:${k.buildsDirectory??"default"}:${k.defaultBuildsDirectory??""}`),K&&(0,b.jsx)(p.JobMonitor,{compact:!0,jobId:K},K),(0,b.jsxs)("section",{children:[(0,b.jsx)("h2",{className:"mb-3 font-medium",children:e("history")}),0===y.length?(0,b.jsx)(w.Empty,{children:(0,b.jsx)(w.EmptyHeader,{children:(0,b.jsx)(w.EmptyDescription,{children:e("noJobs")})})}):(0,b.jsx)(v.Card,{className:"gap-0 py-0",children:(0,b.jsxs)(B.Table,{children:[(0,b.jsx)(B.TableHeader,{children:(0,b.jsxs)(B.TableRow,{children:[(0,b.jsx)(B.TableHead,{children:e("job")}),(0,b.jsx)(B.TableHead,{children:e("status")}),(0,b.jsx)(B.TableHead,{children:e("created")}),(0,b.jsx)(B.TableHead,{children:e("finished")})]})}),(0,b.jsx)(B.TableBody,{children:y.map(a=>(0,b.jsxs)(B.TableRow,{"aria-current":K===a.id?"true":void 0,"aria-label":e("selectJob",{kind:a.kind}),className:(0,G.cn)("cursor-pointer focus-visible:bg-muted/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset",K===a.id&&"bg-muted/50"),onClick:()=>Q(a.id),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.preventDefault(),Q(a.id))},role:"button",tabIndex:0,children:[(0,b.jsx)(B.TableCell,{className:"font-mono text-xs font-medium",children:a.kind}),(0,b.jsx)(B.TableCell,{children:(0,b.jsx)(q.StatusBadge,{status:a.status})}),(0,b.jsx)(B.TableCell,{children:new Date(a.createdAt).toLocaleString(g)}),(0,b.jsx)(B.TableCell,{children:a.finishedAt?new Date(a.finishedAt).toLocaleString(g):"—"})]},a.id))})]})})]})]})}],61302)}];
30
30
 
31
31
  //# sourceMappingURL=src_components_agents_agent-detail_tsx_0lfa4ui._.js.map