@ai-development-environment/server 0.0.94 → 0.0.95

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 (141) hide show
  1. package/package.json +1 -1
  2. package/prisma-runtime/prisma/migrations/20260827120000_add_command_repository_targets/migration.sql +61 -0
  3. package/prisma-runtime/prisma/schema.prisma +13 -4
  4. package/standalone/.next/BUILD_ID +1 -1
  5. package/standalone/.next/build-manifest.json +3 -3
  6. package/standalone/.next/prerender-manifest.json +3 -3
  7. package/standalone/.next/server/app/[locale]/(auth)/register/page_client-reference-manifest.js +1 -1
  8. package/standalone/.next/server/app/[locale]/(auth)/sign-in/page_client-reference-manifest.js +1 -1
  9. package/standalone/.next/server/app/[locale]/(dashboard)/actions/page_client-reference-manifest.js +1 -1
  10. package/standalone/.next/server/app/[locale]/(dashboard)/actions-cache/page_client-reference-manifest.js +1 -1
  11. package/standalone/.next/server/app/[locale]/(dashboard)/agents/[id]/page_client-reference-manifest.js +1 -1
  12. package/standalone/.next/server/app/[locale]/(dashboard)/agents/page_client-reference-manifest.js +1 -1
  13. package/standalone/.next/server/app/[locale]/(dashboard)/analytics-events/page_client-reference-manifest.js +1 -1
  14. package/standalone/.next/server/app/[locale]/(dashboard)/api-keys/page_client-reference-manifest.js +1 -1
  15. package/standalone/.next/server/app/[locale]/(dashboard)/apps/[appId]/page_client-reference-manifest.js +1 -1
  16. package/standalone/.next/server/app/[locale]/(dashboard)/apps/page_client-reference-manifest.js +1 -1
  17. package/standalone/.next/server/app/[locale]/(dashboard)/build-data/page_client-reference-manifest.js +1 -1
  18. package/standalone/.next/server/app/[locale]/(dashboard)/builds/[buildId]/coverage/page_client-reference-manifest.js +1 -1
  19. package/standalone/.next/server/app/[locale]/(dashboard)/builds/[buildId]/page_client-reference-manifest.js +1 -1
  20. package/standalone/.next/server/app/[locale]/(dashboard)/builds/page_client-reference-manifest.js +1 -1
  21. package/standalone/.next/server/app/[locale]/(dashboard)/changes/page_client-reference-manifest.js +1 -1
  22. package/standalone/.next/server/app/[locale]/(dashboard)/codebases/[codebaseId]/page_client-reference-manifest.js +1 -1
  23. package/standalone/.next/server/app/[locale]/(dashboard)/codebases/page_client-reference-manifest.js +1 -1
  24. package/standalone/.next/server/app/[locale]/(dashboard)/codebases/repositories/[repositoryId]/page_client-reference-manifest.js +1 -1
  25. package/standalone/.next/server/app/[locale]/(dashboard)/commands/[commandId]/edit/page_client-reference-manifest.js +1 -1
  26. package/standalone/.next/server/app/[locale]/(dashboard)/commands/new/page_client-reference-manifest.js +1 -1
  27. package/standalone/.next/server/app/[locale]/(dashboard)/commands/page_client-reference-manifest.js +1 -1
  28. package/standalone/.next/server/app/[locale]/(dashboard)/commands/runs/[runId]/page_client-reference-manifest.js +1 -1
  29. package/standalone/.next/server/app/[locale]/(dashboard)/comments/page_client-reference-manifest.js +1 -1
  30. package/standalone/.next/server/app/[locale]/(dashboard)/console-logs/page_client-reference-manifest.js +1 -1
  31. package/standalone/.next/server/app/[locale]/(dashboard)/costs/page_client-reference-manifest.js +1 -1
  32. package/standalone/.next/server/app/[locale]/(dashboard)/credentials/page_client-reference-manifest.js +1 -1
  33. package/standalone/.next/server/app/[locale]/(dashboard)/devices/[id]/page_client-reference-manifest.js +1 -1
  34. package/standalone/.next/server/app/[locale]/(dashboard)/devices/enroll/page_client-reference-manifest.js +1 -1
  35. package/standalone/.next/server/app/[locale]/(dashboard)/devices/page_client-reference-manifest.js +1 -1
  36. package/standalone/.next/server/app/[locale]/(dashboard)/drafts/page_client-reference-manifest.js +1 -1
  37. package/standalone/.next/server/app/[locale]/(dashboard)/github-cache/entries/[id]/page_client-reference-manifest.js +1 -1
  38. package/standalone/.next/server/app/[locale]/(dashboard)/github-cache/page_client-reference-manifest.js +1 -1
  39. package/standalone/.next/server/app/[locale]/(dashboard)/gitlab/cache/page_client-reference-manifest.js +1 -1
  40. package/standalone/.next/server/app/[locale]/(dashboard)/gitlab/comments/page_client-reference-manifest.js +1 -1
  41. package/standalone/.next/server/app/[locale]/(dashboard)/gitlab/merge-requests/[projectId]/[iid]/page_client-reference-manifest.js +1 -1
  42. package/standalone/.next/server/app/[locale]/(dashboard)/gitlab/merge-requests/page_client-reference-manifest.js +1 -1
  43. package/standalone/.next/server/app/[locale]/(dashboard)/gitlab/pipelines/page_client-reference-manifest.js +1 -1
  44. package/standalone/.next/server/app/[locale]/(dashboard)/gitlab/webhooks/page_client-reference-manifest.js +1 -1
  45. package/standalone/.next/server/app/[locale]/(dashboard)/jira/tickets/[issueKey]/page_client-reference-manifest.js +1 -1
  46. package/standalone/.next/server/app/[locale]/(dashboard)/jira/tickets/page_client-reference-manifest.js +1 -1
  47. package/standalone/.next/server/app/[locale]/(dashboard)/jira-cache/page_client-reference-manifest.js +1 -1
  48. package/standalone/.next/server/app/[locale]/(dashboard)/jira-cache/tickets/[issueKey]/page_client-reference-manifest.js +1 -1
  49. package/standalone/.next/server/app/[locale]/(dashboard)/jira-webhooks/page_client-reference-manifest.js +1 -1
  50. package/standalone/.next/server/app/[locale]/(dashboard)/jobs/[jobId]/page_client-reference-manifest.js +1 -1
  51. package/standalone/.next/server/app/[locale]/(dashboard)/notifications/page_client-reference-manifest.js +1 -1
  52. package/standalone/.next/server/app/[locale]/(dashboard)/page_client-reference-manifest.js +1 -1
  53. package/standalone/.next/server/app/[locale]/(dashboard)/plans/[runId]/page_client-reference-manifest.js +1 -1
  54. package/standalone/.next/server/app/[locale]/(dashboard)/plans/page_client-reference-manifest.js +1 -1
  55. package/standalone/.next/server/app/[locale]/(dashboard)/polling/page_client-reference-manifest.js +1 -1
  56. package/standalone/.next/server/app/[locale]/(dashboard)/prepare/page_client-reference-manifest.js +1 -1
  57. package/standalone/.next/server/app/[locale]/(dashboard)/provisioning-profiles/[profileId]/page_client-reference-manifest.js +1 -1
  58. package/standalone/.next/server/app/[locale]/(dashboard)/provisioning-profiles/page_client-reference-manifest.js +1 -1
  59. package/standalone/.next/server/app/[locale]/(dashboard)/pull-requests/[owner]/[repository]/[number]/page_client-reference-manifest.js +1 -1
  60. package/standalone/.next/server/app/[locale]/(dashboard)/pull-requests/page_client-reference-manifest.js +1 -1
  61. package/standalone/.next/server/app/[locale]/(dashboard)/push-notifications/page_client-reference-manifest.js +1 -1
  62. package/standalone/.next/server/app/[locale]/(dashboard)/runs/new/page_client-reference-manifest.js +1 -1
  63. package/standalone/.next/server/app/[locale]/(dashboard)/sessions/[runId]/page_client-reference-manifest.js +1 -1
  64. package/standalone/.next/server/app/[locale]/(dashboard)/sessions/page_client-reference-manifest.js +1 -1
  65. package/standalone/.next/server/app/[locale]/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  66. package/standalone/.next/server/app/[locale]/(dashboard)/skills/[skillId]/page_client-reference-manifest.js +1 -1
  67. package/standalone/.next/server/app/[locale]/(dashboard)/skills/groups/[groupId]/page_client-reference-manifest.js +1 -1
  68. package/standalone/.next/server/app/[locale]/(dashboard)/skills/groups/page_client-reference-manifest.js +1 -1
  69. package/standalone/.next/server/app/[locale]/(dashboard)/skills/page_client-reference-manifest.js +1 -1
  70. package/standalone/.next/server/app/[locale]/(dashboard)/skills/sync/[runId]/page_client-reference-manifest.js +1 -1
  71. package/standalone/.next/server/app/[locale]/(dashboard)/status/page_client-reference-manifest.js +1 -1
  72. package/standalone/.next/server/app/[locale]/(dashboard)/tools/page_client-reference-manifest.js +1 -1
  73. package/standalone/.next/server/app/[locale]/(dashboard)/unified-events/page_client-reference-manifest.js +1 -1
  74. package/standalone/.next/server/app/[locale]/(dashboard)/usage/page_client-reference-manifest.js +1 -1
  75. package/standalone/.next/server/app/[locale]/(dashboard)/users/page_client-reference-manifest.js +1 -1
  76. package/standalone/.next/server/app/[locale]/(dashboard)/webhooks/page_client-reference-manifest.js +1 -1
  77. package/standalone/.next/server/app/[locale]/(dashboard)/workflows/[workflowId]/edit/page_client-reference-manifest.js +1 -1
  78. package/standalone/.next/server/app/[locale]/(dashboard)/workflows/[workflowId]/page_client-reference-manifest.js +1 -1
  79. package/standalone/.next/server/app/[locale]/(dashboard)/workflows/new/page_client-reference-manifest.js +1 -1
  80. package/standalone/.next/server/app/[locale]/(dashboard)/workflows/page_client-reference-manifest.js +1 -1
  81. package/standalone/.next/server/app/[locale]/(dashboard)/workflows/runs/[runId]/page_client-reference-manifest.js +1 -1
  82. package/standalone/.next/server/app/[locale]/(dashboard)/worktrees/[worktreeId]/page_client-reference-manifest.js +1 -1
  83. package/standalone/.next/server/app/[locale]/(dashboard)/worktrees/page_client-reference-manifest.js +1 -1
  84. package/standalone/.next/server/app/_global-error.html +1 -1
  85. package/standalone/.next/server/app/_global-error.rsc +1 -1
  86. package/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  87. package/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  88. package/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  89. package/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  90. package/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  91. package/standalone/.next/server/app/_not-found.html +1 -1
  92. package/standalone/.next/server/app/_not-found.rsc +1 -1
  93. package/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  94. package/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  95. package/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  96. package/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  97. package/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  98. package/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  99. package/standalone/.next/server/chunks/_086z24j._.js +4 -4
  100. package/standalone/.next/server/chunks/_0_3-lke._.js +11 -4
  101. package/standalone/.next/server/chunks/_0ssmikd._.js +4 -4
  102. package/standalone/.next/server/chunks/_0u02u5f._.js +4 -4
  103. package/standalone/.next/server/chunks/_10b12ij._.js +4 -4
  104. package/standalone/.next/server/chunks/_13gs0b4._.js +4 -4
  105. package/standalone/.next/server/chunks/_16-237k._.js +135 -128
  106. package/standalone/.next/server/chunks/_1exzvxq._.js +4 -4
  107. package/standalone/.next/server/chunks/src_07wif-p._.js +2 -2
  108. package/standalone/.next/server/chunks/src_16int4d._.js +2 -2
  109. package/standalone/.next/server/chunks/ssr/_02a3qdp._.js +2 -2
  110. package/standalone/.next/server/chunks/ssr/_0aaxviu._.js +2 -2
  111. package/standalone/.next/server/chunks/ssr/_0hwiy81._.js +2 -2
  112. package/standalone/.next/server/chunks/ssr/_0s9ey-t._.js +2 -2
  113. package/standalone/.next/server/chunks/ssr/_1-nj75c._.js +2 -2
  114. package/standalone/.next/server/chunks/ssr/_1hmpmb1._.js +2 -2
  115. package/standalone/.next/server/chunks/ssr/_1sy7lqy._.js +2 -2
  116. package/standalone/.next/server/chunks/ssr/_1x0b0dt._.js +2 -2
  117. package/standalone/.next/server/chunks/ssr/messages_de_json_[json]_cjs_1uig1ud._.js +1 -1
  118. package/standalone/.next/server/chunks/ssr/messages_en_json_[json]_cjs_206072-._.js +1 -1
  119. package/standalone/.next/server/chunks/ssr/messages_es_json_[json]_cjs_082yukd._.js +1 -1
  120. package/standalone/.next/server/chunks/ssr/messages_fr_json_[json]_cjs_0j6-w0i._.js +1 -1
  121. package/standalone/.next/server/chunks/ssr/src_components_commands_command-editor_tsx_1xv-unm._.js +2 -2
  122. package/standalone/.next/server/chunks/ssr/src_components_commands_commands-page_tsx_06_w_zo._.js +2 -2
  123. package/standalone/.next/server/chunks/ssr/src_services_auth_index_ts_05c0kh-._.js +1 -1
  124. package/standalone/.next/server/middleware-build-manifest.js +3 -3
  125. package/standalone/.next/server/pages/404.html +1 -1
  126. package/standalone/.next/server/pages/500.html +1 -1
  127. package/standalone/.next/server/server-reference-manifest.js +1 -1
  128. package/standalone/.next/server/server-reference-manifest.json +1 -1
  129. package/standalone/.next/static/chunks/{1uxc996684ia1.js → 0cx5t3vfr-76n.js} +2 -2
  130. package/standalone/.next/static/chunks/{2p5g8a3zowf0_.js → 0epqzwsph7fdf.js} +2 -2
  131. package/standalone/.next/static/chunks/{26b-zxdasv4v9.js → 0nkbgudch1obg.js} +2 -2
  132. package/standalone/.next/static/chunks/{1swfpvhyd8z1z.js → 1a26_z1grse1l.js} +2 -2
  133. package/standalone/.next/static/chunks/1n0fml45e5vyl.js +31 -0
  134. package/standalone/.next/static/chunks/{129bde2z8lln5.js → 1z1h9cni0d-da.js} +2 -2
  135. package/standalone/.next/static/chunks/{0cjz_fvsomcij.js → 210ob5-ghxnkd.js} +5 -5
  136. package/standalone/.next/static/chunks/{31wms4oyajl8q.css → 2dgcd672a-1c9.css} +1 -1
  137. package/standalone/.next/static/chunks/{3--_z6xb9410n.js → 2nhcdoxes77wu.js} +2 -2
  138. package/standalone/.next/static/chunks/01jm7btgy5r3c.js +0 -31
  139. /package/standalone/.next/static/{8PhM4-pUbAs13ht19ZVGl → P2FsAusgn7qhvImDnyMF_}/_buildManifest.js +0 -0
  140. /package/standalone/.next/static/{8PhM4-pUbAs13ht19ZVGl → P2FsAusgn7qhvImDnyMF_}/_clientMiddlewareManifest.js +0 -0
  141. /package/standalone/.next/static/{8PhM4-pUbAs13ht19ZVGl → P2FsAusgn7qhvImDnyMF_}/_ssgManifest.js +0 -0
@@ -1,7 +1,7 @@
1
- module.exports=[161793,a=>{"use strict";var b=a.i(187924),c=a.i(979762),d=a.i(589027),e=a.i(707656),f=a.i(879675),g=a.i(415925),h=a.i(572131),i=a.i(124348),j=a.i(67422),k=a.i(470828),l=a.i(699570),m=a.i(591119),n=a.i(315055),o=a.i(335732),p=a.i(134353),q=a.i(866718),r=a.i(779711),s=a.i(870430),t=a.i(48468),u=a.i(580701),v=a.i(429246),w=a.i(555027),x=a.i(460280),y=a.i(415576);let z={name:"",description:"",script:"#!/bin/zsh\nset -e\n\n",targetKind:"ANY_WORKTREE",targetAgentId:"",targetRepositoryId:"",restartPolicy:"NEVER",restartLimit:"3",unlimitedRestarts:!1,concurrency:"NON_EXCLUSIVE",blocksGitOperations:!1,quickActionEnabled:!1,quickActionIconKey:"terminal",quickActionButtonVariant:"default",notificationsEnabled:!0};a.s(["CommandEditor",0,function({commandId:a}){let A=(0,g.useTranslations)("commands"),B=(0,g.useTranslations)("builds"),C=(0,w.useRouter)(),[D,E]=(0,h.useState)(z),[F,G]=(0,h.useState)([]),[H,I]=(0,h.useState)([]),[J,K]=(0,h.useState)(!1),[L,M]=(0,h.useState)(!1),[N,O]=(0,h.useState)(null);(0,h.useEffect)(()=>{(0,x.controlPlaneRequest)(`query CommandEditor${a?"($id: ID!)":""} {
1
+ module.exports=[161793,a=>{"use strict";var b=a.i(187924),c=a.i(979762),d=a.i(589027),e=a.i(707656),f=a.i(879675),g=a.i(415925),h=a.i(572131),i=a.i(124348),j=a.i(67422),k=a.i(470828),l=a.i(699570),m=a.i(591119),n=a.i(315055),o=a.i(335732),p=a.i(134353),q=a.i(866718),r=a.i(779711),s=a.i(870430),t=a.i(48468),u=a.i(580701),v=a.i(429246),w=a.i(555027),x=a.i(460280),y=a.i(415576);let z={name:"",description:"",script:"#!/bin/zsh\nset -e\n\n",targetKind:"ANY_WORKTREE",targetAgentId:"",targetRepositoryIds:[],restartPolicy:"NEVER",restartLimit:"3",unlimitedRestarts:!1,concurrency:"NON_EXCLUSIVE",blocksGitOperations:!1,quickActionEnabled:!1,quickActionIconKey:"terminal",quickActionButtonVariant:"default",notificationsEnabled:!0};a.s(["CommandEditor",0,function({commandId:a}){let A=(0,g.useTranslations)("commands"),B=(0,g.useTranslations)("builds"),C=(0,w.useRouter)(),[D,E]=(0,h.useState)(z),[F,G]=(0,h.useState)([]),[H,I]=(0,h.useState)([]),[J,K]=(0,h.useState)(!1),[L,M]=(0,h.useState)(!1),[N,O]=(0,h.useState)(null);(0,h.useEffect)(()=>{(0,x.controlPlaneRequest)(`query CommandEditor${a?"($id: ID!)":""} {
2
2
  agents { id name hostname connectionStatus capabilities }
3
3
  codebaseOverview { repositories { id name displayOrigin } }
4
4
  ${a?`commandDefinition(id: $id) { ${y.COMMAND_DEFINITION_FIELDS} }`:""}
5
- }`,a?{id:a}:void 0).then(a=>{if(G(a.agents),I(a.codebaseOverview.repositories),a.commandDefinition){let b=a.commandDefinition;K(!!b.archivedAt),E({name:b.name,description:b.description,script:b.script,targetKind:b.targetKind,targetAgentId:b.targetAgentId??"",targetRepositoryId:b.targetRepositoryId??"",restartPolicy:b.restartPolicy,restartLimit:String(b.restartLimit??3),unlimitedRestarts:null===b.restartLimit,concurrency:b.concurrency,blocksGitOperations:b.blocksGitOperations,quickActionEnabled:b.quickActionEnabled,quickActionIconKey:b.quickActionIconKey,quickActionButtonVariant:b.quickActionButtonVariant,notificationsEnabled:b.notificationsEnabled})}}).catch(a=>O(a instanceof Error?a.message:String(a)))},[a]);let P=(a,b)=>E(c=>({...c,[a]:b})),Q=async()=>{M(!0);try{let b={name:D.name,description:D.description,script:D.script,targetKind:D.targetKind,targetAgentId:"SPECIFIC_AGENT_HOME"===D.targetKind?D.targetAgentId:null,targetRepositoryId:"REPOSITORY_WORKTREE"===D.targetKind?D.targetRepositoryId:null,restartPolicy:D.restartPolicy,restartLimit:D.unlimitedRestarts?null:Number(D.restartLimit),concurrency:D.concurrency,blocksGitOperations:D.blocksGitOperations,quickActionEnabled:D.quickActionEnabled,quickActionIconKey:D.quickActionIconKey,quickActionButtonVariant:D.quickActionButtonVariant,notificationsEnabled:D.notificationsEnabled},c=await (0,x.controlPlaneRequest)(a?"mutation UpdateCommand($id: ID!, $input: CommandDefinitionInput!) { updateCommandDefinition(id: $id, input: $input) { id } }":"mutation CreateCommand($input: CommandDefinitionInput!) { createCommandDefinition(input: $input) { id } }",a?{id:a,input:b}:{input:b});C.push(`/commands/${c.updateCommandDefinition?.id??c.createCommandDefinition?.id}/edit`),C.refresh(),O(null)}catch(a){O(a instanceof Error?a.message:String(a))}finally{M(!1)}};return(0,b.jsxs)("div",{className:"mx-auto max-w-4xl space-y-5",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,b.jsxs)("div",{className:"mr-auto",children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold",children:a?A("editCommand"):A("newCommand")}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:A("editorDescription")})]}),a&&(0,b.jsxs)(l.Button,{variant:"outline",onClick:async()=>{await (0,x.controlPlaneRequest)("mutation ArchiveCommand($id: ID!, $archived: Boolean!) { archiveCommandDefinition(id: $id, archived: $archived) { id } }",{id:a,archived:!J}),K(!J)},children:[(0,b.jsx)(c.Archive,{}),J?A("restore"):A("archive")]}),(0,b.jsxs)(l.Button,{disabled:L,onClick:()=>void Q(),children:[(0,b.jsx)(f.Save,{}),L?A("saving"):A("save")]})]}),N&&(0,b.jsx)(i.Alert,{variant:"destructive",children:(0,b.jsx)(i.AlertDescription,{children:N})}),(0,b.jsxs)(m.Card,{children:[(0,b.jsx)(m.CardHeader,{children:(0,b.jsx)(m.CardTitle,{children:A("command")})}),(0,b.jsxs)(m.CardContent,{className:"grid gap-5",children:[(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsx)(s.Label,{htmlFor:"command-name",children:A("name")}),(0,b.jsx)(q.Input,{id:"command-name",value:D.name,onChange:a=>P("name",a.target.value)})]}),(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsx)(s.Label,{htmlFor:"command-description",children:A("commandDescription")}),(0,b.jsx)(v.Textarea,{id:"command-description",value:D.description,onChange:a=>P("description",a.target.value)})]}),(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsx)(s.Label,{htmlFor:"command-script",children:A("script")}),(0,b.jsx)(v.Textarea,{className:"min-h-64 font-mono text-sm",id:"command-script",spellCheck:!1,value:D.script,onChange:a=>P("script",a.target.value)}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:A("scriptHelp")})]})]})]}),(0,b.jsxs)("div",{className:"grid gap-5 md:grid-cols-2",children:[(0,b.jsxs)(m.Card,{children:[(0,b.jsx)(m.CardHeader,{children:(0,b.jsx)(m.CardTitle,{children:A("target")})}),(0,b.jsxs)(m.CardContent,{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsx)(s.Label,{children:A("scope")}),(0,b.jsxs)(u.Select,{value:D.targetKind,onValueChange:a=>P("targetKind",a),children:[(0,b.jsx)(u.SelectTrigger,{children:(0,b.jsx)(u.SelectValue,{})}),(0,b.jsxs)(u.SelectContent,{children:[(0,b.jsx)(u.SelectItem,{value:"ANY_AGENT_HOME",children:A("anyAgentHome")}),(0,b.jsx)(u.SelectItem,{value:"SPECIFIC_AGENT_HOME",children:A("specificAgentHome")}),(0,b.jsx)(u.SelectItem,{value:"ANY_WORKTREE",children:A("anyWorktree")}),(0,b.jsx)(u.SelectItem,{value:"REPOSITORY_WORKTREE",children:A("repositoryWorktree")})]})]})]}),"SPECIFIC_AGENT_HOME"===D.targetKind&&(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsx)(s.Label,{children:A("agent")}),(0,b.jsxs)(u.Select,{value:D.targetAgentId,onValueChange:a=>P("targetAgentId",a??""),children:[(0,b.jsx)(u.SelectTrigger,{children:(0,b.jsx)(u.SelectValue,{placeholder:A("selectAgent")})}),(0,b.jsx)(u.SelectContent,{children:F.map(a=>(0,b.jsxs)(u.SelectItem,{value:a.id,children:[a.name," · ",a.hostname]},a.id))})]})]}),"REPOSITORY_WORKTREE"===D.targetKind&&(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsx)(s.Label,{children:A("repository")}),(0,b.jsxs)(u.Select,{value:D.targetRepositoryId,onValueChange:a=>P("targetRepositoryId",a??""),children:[(0,b.jsx)(u.SelectTrigger,{className:"h-auto min-h-8 w-full items-start py-1.5 text-left whitespace-normal data-[size=default]:h-auto *:data-[slot=select-value]:line-clamp-none *:data-[slot=select-value]:min-w-0 *:data-[slot=select-value]:[overflow-wrap:anywhere]",children:(0,b.jsx)(u.SelectValue,{placeholder:A("selectRepository")})}),(0,b.jsx)(u.SelectContent,{children:H.map(a=>(0,b.jsxs)(u.SelectItem,{className:"whitespace-normal [overflow-wrap:anywhere]",value:a.id,children:[a.name," · ",a.displayOrigin]},a.id))})]})]})]})]}),(0,b.jsxs)(m.Card,{children:[(0,b.jsx)(m.CardHeader,{children:(0,b.jsx)(m.CardTitle,{children:A("restart")})}),(0,b.jsxs)(m.CardContent,{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsx)(s.Label,{children:A("restartPolicy")}),(0,b.jsxs)(u.Select,{value:D.restartPolicy,onValueChange:a=>P("restartPolicy",a),children:[(0,b.jsx)(u.SelectTrigger,{children:(0,b.jsx)(u.SelectValue,{})}),(0,b.jsxs)(u.SelectContent,{children:[(0,b.jsx)(u.SelectItem,{value:"NEVER",children:A("never")}),(0,b.jsx)(u.SelectItem,{value:"ON_FAILURE",children:A("onFailure")}),(0,b.jsx)(u.SelectItem,{value:"ALWAYS",children:A("always")})]})]})]}),(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsx)(s.Label,{htmlFor:"restart-limit",children:A("restartLimit")}),(0,b.jsx)(q.Input,{disabled:D.unlimitedRestarts,id:"restart-limit",min:0,max:100,type:"number",value:D.restartLimit,onChange:a=>P("restartLimit",a.target.value)})]}),(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)(n.Checkbox,{checked:D.unlimitedRestarts,onCheckedChange:a=>P("unlimitedRestarts",!0===a)}),A("unlimited")]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:A("restartHelp")})]})]})]}),(0,b.jsxs)(m.Card,{children:[(0,b.jsx)(m.CardHeader,{children:(0,b.jsx)(m.CardTitle,{children:A("concurrency")})}),(0,b.jsxs)(m.CardContent,{className:"space-y-4",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:A("concurrencyHelp")}),(0,b.jsx)(t.RadioGroup,{onValueChange:a=>{E(b=>({...b,concurrency:a,blocksGitOperations:"EXCLUSIVE"===a}))},value:D.concurrency,children:y.COMMAND_CONCURRENCY_MODES.map(a=>{let c=`command-concurrency-${a}`;return(0,b.jsx)(p.FieldLabel,{className:"w-full cursor-pointer",htmlFor:c,children:(0,b.jsxs)(r.Item,{className:"items-start",size:"sm",variant:"outline",children:[(0,b.jsx)(t.RadioGroupItem,{className:"mt-0.5",id:c,value:a}),(0,b.jsxs)(r.ItemContent,{className:"min-w-0",children:[(0,b.jsx)(r.ItemTitle,{className:"line-clamp-none w-full",children:A((0,y.commandConcurrencyKey)(a))}),(0,b.jsx)(r.ItemDescription,{className:"line-clamp-none",children:A(`${(0,y.commandConcurrencyKey)(a)}Help`)})]})]})},a)})}),(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)(n.Checkbox,{checked:D.blocksGitOperations,disabled:"EXCLUSIVE"===D.concurrency,onCheckedChange:a=>P("blocksGitOperations",!0===a)}),A("blocksGitOperations")]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:A("EXCLUSIVE"===D.concurrency?"blocksGitOperationsExclusiveHelp":"blocksGitOperationsHelp")})]})]})]}),(0,b.jsxs)(m.Card,{children:[(0,b.jsx)(m.CardHeader,{children:(0,b.jsx)(m.CardTitle,{children:A("notifications")})}),(0,b.jsxs)(m.CardContent,{className:"space-y-2",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)(n.Checkbox,{checked:D.notificationsEnabled,onCheckedChange:a=>P("notificationsEnabled",!0===a)}),A("enableNotifications")]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:A("notificationsHelp")})]})]}),(0,b.jsxs)(m.Card,{children:[(0,b.jsx)(m.CardHeader,{children:(0,b.jsx)(m.CardTitle,{children:A("quickAction")})}),(0,b.jsxs)(m.CardContent,{className:"space-y-4",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)(n.Checkbox,{checked:D.quickActionEnabled,onCheckedChange:a=>P("quickActionEnabled",!0===a)}),A("enableQuickAction")]}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsx)(s.Label,{htmlFor:"command-quick-action-icon",children:A("icon")}),(0,b.jsxs)(o.DropdownMenu,{children:[(0,b.jsx)(o.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsxs)(l.Button,{"aria-label":`${A("icon")}: ${B(`configurationIcons.${D.quickActionIconKey}`)}`,className:"w-full justify-between",id:"command-quick-action-icon",type:"button",variant:"outline",children:[(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:["none"===D.quickActionIconKey?(0,b.jsx)(e.CircleOff,{className:"size-4 shrink-0"}):(0,b.jsx)(j.ConfigurationIcon,{iconKey:D.quickActionIconKey}),(0,b.jsx)("span",{className:"truncate",children:B(`configurationIcons.${D.quickActionIconKey}`)})]}),(0,b.jsx)(d.ChevronDown,{className:"text-muted-foreground"})]})}),(0,b.jsx)(o.DropdownMenuContent,{align:"start",className:"min-w-56",children:(0,b.jsx)(o.DropdownMenuRadioGroup,{onValueChange:a=>P("quickActionIconKey",a),value:D.quickActionIconKey,children:["none",...k.BUILD_CONFIGURATION_ICON_KEYS].map(a=>(0,b.jsxs)(o.DropdownMenuRadioItem,{value:a,children:["none"===a?(0,b.jsx)(e.CircleOff,{className:"size-4"}):(0,b.jsx)(j.ConfigurationIcon,{iconKey:a}),B(`configurationIcons.${a}`)]},a))})})]})]}),(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsx)(s.Label,{children:A("style")}),(0,b.jsxs)(u.Select,{value:D.quickActionButtonVariant,onValueChange:a=>P("quickActionButtonVariant",a??"default"),children:[(0,b.jsx)(u.SelectTrigger,{children:(0,b.jsx)(u.SelectValue,{})}),(0,b.jsxs)(u.SelectContent,{children:[(0,b.jsx)(u.SelectItem,{value:"default",children:A("defaultStyle")}),(0,b.jsx)(u.SelectItem,{value:"outline",children:A("outlineStyle")}),(0,b.jsx)(u.SelectItem,{value:"secondary",children:A("secondaryStyle")}),(0,b.jsx)(u.SelectItem,{value:"destructive",children:A("destructiveStyle")})]})]})]})]})]})]})]})}])}];
5
+ }`,a?{id:a}:void 0).then(a=>{if(G(a.agents),I(a.codebaseOverview.repositories),a.commandDefinition){let b=a.commandDefinition;K(!!b.archivedAt),E({name:b.name,description:b.description,script:b.script,targetKind:b.targetKind,targetAgentId:b.targetAgentId??"",targetRepositoryIds:b.targetRepositoryIds??(b.targetRepositoryId?[b.targetRepositoryId]:[]),restartPolicy:b.restartPolicy,restartLimit:String(b.restartLimit??3),unlimitedRestarts:null===b.restartLimit,concurrency:b.concurrency,blocksGitOperations:b.blocksGitOperations,quickActionEnabled:b.quickActionEnabled,quickActionIconKey:b.quickActionIconKey,quickActionButtonVariant:b.quickActionButtonVariant,notificationsEnabled:b.notificationsEnabled})}}).catch(a=>O(a instanceof Error?a.message:String(a)))},[a]);let P=(a,b)=>E(c=>({...c,[a]:b})),Q=("SPECIFIC_AGENT_HOME"!==D.targetKind||!!D.targetAgentId)&&("REPOSITORY_WORKTREE"!==D.targetKind||D.targetRepositoryIds.length>0),R=async()=>{if(Q){M(!0);try{let b={name:D.name,description:D.description,script:D.script,targetKind:D.targetKind,targetAgentId:"SPECIFIC_AGENT_HOME"===D.targetKind?D.targetAgentId:null,targetRepositoryIds:"REPOSITORY_WORKTREE"===D.targetKind?D.targetRepositoryIds:[],restartPolicy:D.restartPolicy,restartLimit:D.unlimitedRestarts?null:Number(D.restartLimit),concurrency:D.concurrency,blocksGitOperations:D.blocksGitOperations,quickActionEnabled:D.quickActionEnabled,quickActionIconKey:D.quickActionIconKey,quickActionButtonVariant:D.quickActionButtonVariant,notificationsEnabled:D.notificationsEnabled},c=await (0,x.controlPlaneRequest)(a?"mutation UpdateCommand($id: ID!, $input: CommandDefinitionInput!) { updateCommandDefinition(id: $id, input: $input) { id } }":"mutation CreateCommand($input: CommandDefinitionInput!) { createCommandDefinition(input: $input) { id } }",a?{id:a,input:b}:{input:b});C.push(`/commands/${c.updateCommandDefinition?.id??c.createCommandDefinition?.id}/edit`),C.refresh(),O(null)}catch(a){O(a instanceof Error?a.message:String(a))}finally{M(!1)}}};return(0,b.jsxs)("div",{className:"mx-auto max-w-4xl space-y-5",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,b.jsxs)("div",{className:"mr-auto",children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold",children:a?A("editCommand"):A("newCommand")}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:A("editorDescription")})]}),a&&(0,b.jsxs)(l.Button,{variant:"outline",onClick:async()=>{await (0,x.controlPlaneRequest)("mutation ArchiveCommand($id: ID!, $archived: Boolean!) { archiveCommandDefinition(id: $id, archived: $archived) { id } }",{id:a,archived:!J}),K(!J)},children:[(0,b.jsx)(c.Archive,{}),J?A("restore"):A("archive")]}),(0,b.jsxs)(l.Button,{disabled:L||!Q,onClick:()=>void R(),children:[(0,b.jsx)(f.Save,{}),L?A("saving"):A("save")]})]}),N&&(0,b.jsx)(i.Alert,{variant:"destructive",children:(0,b.jsx)(i.AlertDescription,{children:N})}),(0,b.jsxs)(m.Card,{children:[(0,b.jsx)(m.CardHeader,{children:(0,b.jsx)(m.CardTitle,{children:A("command")})}),(0,b.jsxs)(m.CardContent,{className:"grid gap-5",children:[(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsx)(s.Label,{htmlFor:"command-name",children:A("name")}),(0,b.jsx)(q.Input,{id:"command-name",value:D.name,onChange:a=>P("name",a.target.value)})]}),(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsx)(s.Label,{htmlFor:"command-description",children:A("commandDescription")}),(0,b.jsx)(v.Textarea,{id:"command-description",value:D.description,onChange:a=>P("description",a.target.value)})]}),(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsx)(s.Label,{htmlFor:"command-script",children:A("script")}),(0,b.jsx)(v.Textarea,{className:"min-h-64 font-mono text-sm",id:"command-script",spellCheck:!1,value:D.script,onChange:a=>P("script",a.target.value)}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:A("scriptHelp")})]})]})]}),(0,b.jsxs)("div",{className:"grid gap-5 md:grid-cols-2",children:[(0,b.jsxs)(m.Card,{children:[(0,b.jsx)(m.CardHeader,{children:(0,b.jsx)(m.CardTitle,{children:A("target")})}),(0,b.jsxs)(m.CardContent,{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsx)(s.Label,{children:A("scope")}),(0,b.jsxs)(u.Select,{value:D.targetKind,onValueChange:a=>P("targetKind",a),children:[(0,b.jsx)(u.SelectTrigger,{children:(0,b.jsx)(u.SelectValue,{})}),(0,b.jsxs)(u.SelectContent,{children:[(0,b.jsx)(u.SelectItem,{value:"ANY_AGENT_HOME",children:A("anyAgentHome")}),(0,b.jsx)(u.SelectItem,{value:"SPECIFIC_AGENT_HOME",children:A("specificAgentHome")}),(0,b.jsx)(u.SelectItem,{value:"ANY_WORKTREE",children:A("anyWorktree")}),(0,b.jsx)(u.SelectItem,{value:"REPOSITORY_WORKTREE",children:A("repositoryWorktree")})]})]})]}),"SPECIFIC_AGENT_HOME"===D.targetKind&&(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsx)(s.Label,{children:A("agent")}),(0,b.jsxs)(u.Select,{value:D.targetAgentId,onValueChange:a=>P("targetAgentId",a??""),children:[(0,b.jsx)(u.SelectTrigger,{children:(0,b.jsx)(u.SelectValue,{placeholder:A("selectAgent")})}),(0,b.jsx)(u.SelectContent,{children:F.map(a=>(0,b.jsxs)(u.SelectItem,{value:a.id,children:[a.name," · ",a.hostname]},a.id))})]})]}),"REPOSITORY_WORKTREE"===D.targetKind&&(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,b.jsx)(s.Label,{id:"command-repositories-label",children:A("repositories")}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:A("selectedRepositories",{count:D.targetRepositoryIds.length})})]}),(0,b.jsx)("div",{"aria-labelledby":"command-repositories-label",className:"max-h-56 space-y-1 overflow-y-auto rounded-md border p-2",role:"group",children:H.map(a=>{let c=D.targetRepositoryIds.includes(a.id);return(0,b.jsxs)("label",{className:"flex cursor-pointer items-start gap-3 rounded-sm px-2 py-2 hover:bg-muted",children:[(0,b.jsx)(n.Checkbox,{"aria-label":`${a.name} \xb7 ${a.displayOrigin}`,checked:c,onCheckedChange:b=>P("targetRepositoryIds",!0===b?[...D.targetRepositoryIds,a.id]:D.targetRepositoryIds.filter(b=>b!==a.id))}),(0,b.jsxs)("span",{className:"min-w-0 text-sm",children:[(0,b.jsx)("span",{className:"block font-medium",children:a.name}),(0,b.jsx)("span",{className:"block text-xs text-muted-foreground [overflow-wrap:anywhere]",children:a.displayOrigin})]})]},a.id)})}),0===D.targetRepositoryIds.length&&(0,b.jsx)("p",{className:"text-xs text-destructive",children:A("repositorySelectionRequired")})]})]})]}),(0,b.jsxs)(m.Card,{children:[(0,b.jsx)(m.CardHeader,{children:(0,b.jsx)(m.CardTitle,{children:A("restart")})}),(0,b.jsxs)(m.CardContent,{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsx)(s.Label,{children:A("restartPolicy")}),(0,b.jsxs)(u.Select,{value:D.restartPolicy,onValueChange:a=>P("restartPolicy",a),children:[(0,b.jsx)(u.SelectTrigger,{children:(0,b.jsx)(u.SelectValue,{})}),(0,b.jsxs)(u.SelectContent,{children:[(0,b.jsx)(u.SelectItem,{value:"NEVER",children:A("never")}),(0,b.jsx)(u.SelectItem,{value:"ON_FAILURE",children:A("onFailure")}),(0,b.jsx)(u.SelectItem,{value:"ALWAYS",children:A("always")})]})]})]}),(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsx)(s.Label,{htmlFor:"restart-limit",children:A("restartLimit")}),(0,b.jsx)(q.Input,{disabled:D.unlimitedRestarts,id:"restart-limit",min:0,max:100,type:"number",value:D.restartLimit,onChange:a=>P("restartLimit",a.target.value)})]}),(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)(n.Checkbox,{checked:D.unlimitedRestarts,onCheckedChange:a=>P("unlimitedRestarts",!0===a)}),A("unlimited")]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:A("restartHelp")})]})]})]}),(0,b.jsxs)(m.Card,{children:[(0,b.jsx)(m.CardHeader,{children:(0,b.jsx)(m.CardTitle,{children:A("concurrency")})}),(0,b.jsxs)(m.CardContent,{className:"space-y-4",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:A("concurrencyHelp")}),(0,b.jsx)(t.RadioGroup,{onValueChange:a=>{E(b=>({...b,concurrency:a,blocksGitOperations:"EXCLUSIVE"===a}))},value:D.concurrency,children:y.COMMAND_CONCURRENCY_MODES.map(a=>{let c=`command-concurrency-${a}`;return(0,b.jsx)(p.FieldLabel,{className:"w-full cursor-pointer",htmlFor:c,children:(0,b.jsxs)(r.Item,{className:"items-start",size:"sm",variant:"outline",children:[(0,b.jsx)(t.RadioGroupItem,{className:"mt-0.5",id:c,value:a}),(0,b.jsxs)(r.ItemContent,{className:"min-w-0",children:[(0,b.jsx)(r.ItemTitle,{className:"line-clamp-none w-full",children:A((0,y.commandConcurrencyKey)(a))}),(0,b.jsx)(r.ItemDescription,{className:"line-clamp-none",children:A(`${(0,y.commandConcurrencyKey)(a)}Help`)})]})]})},a)})}),(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)(n.Checkbox,{checked:D.blocksGitOperations,disabled:"EXCLUSIVE"===D.concurrency,onCheckedChange:a=>P("blocksGitOperations",!0===a)}),A("blocksGitOperations")]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:A("EXCLUSIVE"===D.concurrency?"blocksGitOperationsExclusiveHelp":"blocksGitOperationsHelp")})]})]})]}),(0,b.jsxs)(m.Card,{children:[(0,b.jsx)(m.CardHeader,{children:(0,b.jsx)(m.CardTitle,{children:A("notifications")})}),(0,b.jsxs)(m.CardContent,{className:"space-y-2",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)(n.Checkbox,{checked:D.notificationsEnabled,onCheckedChange:a=>P("notificationsEnabled",!0===a)}),A("enableNotifications")]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:A("notificationsHelp")})]})]}),(0,b.jsxs)(m.Card,{children:[(0,b.jsx)(m.CardHeader,{children:(0,b.jsx)(m.CardTitle,{children:A("quickAction")})}),(0,b.jsxs)(m.CardContent,{className:"space-y-4",children:[(0,b.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)(n.Checkbox,{checked:D.quickActionEnabled,onCheckedChange:a=>P("quickActionEnabled",!0===a)}),A("enableQuickAction")]}),(0,b.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsx)(s.Label,{htmlFor:"command-quick-action-icon",children:A("icon")}),(0,b.jsxs)(o.DropdownMenu,{children:[(0,b.jsx)(o.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsxs)(l.Button,{"aria-label":`${A("icon")}: ${B(`configurationIcons.${D.quickActionIconKey}`)}`,className:"w-full justify-between",id:"command-quick-action-icon",type:"button",variant:"outline",children:[(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:["none"===D.quickActionIconKey?(0,b.jsx)(e.CircleOff,{className:"size-4 shrink-0"}):(0,b.jsx)(j.ConfigurationIcon,{iconKey:D.quickActionIconKey}),(0,b.jsx)("span",{className:"truncate",children:B(`configurationIcons.${D.quickActionIconKey}`)})]}),(0,b.jsx)(d.ChevronDown,{className:"text-muted-foreground"})]})}),(0,b.jsx)(o.DropdownMenuContent,{align:"start",className:"min-w-56",children:(0,b.jsx)(o.DropdownMenuRadioGroup,{onValueChange:a=>P("quickActionIconKey",a),value:D.quickActionIconKey,children:["none",...k.BUILD_CONFIGURATION_ICON_KEYS].map(a=>(0,b.jsxs)(o.DropdownMenuRadioItem,{value:a,children:["none"===a?(0,b.jsx)(e.CircleOff,{className:"size-4"}):(0,b.jsx)(j.ConfigurationIcon,{iconKey:a}),B(`configurationIcons.${a}`)]},a))})})]})]}),(0,b.jsxs)("div",{className:"grid gap-2",children:[(0,b.jsx)(s.Label,{children:A("style")}),(0,b.jsxs)(u.Select,{value:D.quickActionButtonVariant,onValueChange:a=>P("quickActionButtonVariant",a??"default"),children:[(0,b.jsx)(u.SelectTrigger,{children:(0,b.jsx)(u.SelectValue,{})}),(0,b.jsxs)(u.SelectContent,{children:[(0,b.jsx)(u.SelectItem,{value:"default",children:A("defaultStyle")}),(0,b.jsx)(u.SelectItem,{value:"outline",children:A("outlineStyle")}),(0,b.jsx)(u.SelectItem,{value:"secondary",children:A("secondaryStyle")}),(0,b.jsx)(u.SelectItem,{value:"destructive",children:A("destructiveStyle")})]})]})]})]})]})]})]})}])}];
6
6
 
7
7
  //# sourceMappingURL=src_components_commands_command-editor_tsx_1xv-unm._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[281956,a=>{"use strict";var b=a.i(187924),c=a.i(979762),d=a.i(846980),e=a.i(536670),f=a.i(248957),g=a.i(534267),h=a.i(272944),i=a.i(738835),j=a.i(403512),k=a.i(519783),l=a.i(533838),m=a.i(233540),n=a.i(315163),n=n,o=a.i(980180),p=a.i(423422),q=a.i(32886),r=a.i(415925),s=a.i(572131),t=a.i(844873),u=a.i(600729),v=a.i(261102),w=a.i(124348),x=a.i(786304),y=a.i(699570),z=a.i(591119),A=a.i(315055),B=a.i(335732),C=a.i(866718),D=a.i(333140),E=a.i(580701),F=a.i(875083),G=a.i(206015),H=a.i(555027),I=a.i(873555),J=a.i(460280),K=a.i(320615),L=a.i(626124),M=a.i(82710),N=a.i(368114),O=a.i(700621),P=a.i(60926),Q=a.i(656134),R=a.i(795225);function S({command:a,agents:c,worktrees:d,open:e,onOpenChange:f,onSelect:g}){let h=(0,r.useTranslations)("commands"),j=a?.targetKind.includes("AGENT_HOME")??!1,k=j?c.filter(b=>a?.targetKind!=="SPECIFIC_AGENT_HOME"||b.id===a.targetAgentId):d.filter(b=>a?.targetKind!=="REPOSITORY_WORKTREE"||b.repositoryId===a.targetRepositoryId);return(0,b.jsx)(R.Dialog,{onOpenChange:f,open:e,children:(0,b.jsxs)(R.DialogContent,{className:"max-h-[80vh] overflow-y-auto sm:max-w-2xl",children:[(0,b.jsxs)(R.DialogHeader,{children:[(0,b.jsx)(R.DialogTitle,{children:h("runCommand",{name:a?.name??""})}),(0,b.jsx)(R.DialogDescription,{children:h(j?"chooseAgentTarget":"chooseWorktreeTarget")})]}),(0,b.jsxs)("div",{className:"grid gap-2",children:[k.map(a=>{let d=j?a:null,e=j?null:a,f=d?d.capabilities.includes("command.run"):c.find(a=>a.id===e?.agentId)?.capabilities.includes("command.run")===!0;return(0,b.jsxs)(y.Button,{className:"h-auto w-full min-w-0 items-start justify-start gap-3 py-3 text-left whitespace-normal",disabled:!f,onClick:()=>g(j?{agentId:a.id}:{worktreeId:a.id}),variant:"outline",children:[j?(0,b.jsx)(Q.Laptop,{}):(0,b.jsx)(P.HardDrive,{}),(0,b.jsxs)("span",{className:"min-w-0 flex-1 [overflow-wrap:anywhere]",children:[(0,b.jsx)("span",{className:"block font-medium",children:j?`${d?.name} \xb7 ${d?.hostname}`:e?.branch||e?.folder}),(0,b.jsx)("span",{className:"block text-xs text-muted-foreground",children:j?d?.connectionStatus:`${e?.repositoryName} \xb7 ${e?.agentName} \xb7 ${e?.folder}`})]}),f?(0,b.jsx)(i.Play,{}):(0,b.jsx)(x.Badge,{variant:"secondary",children:h("upgradeAgent")})]},a.id)}),0===k.length&&(0,b.jsx)("p",{className:"py-8 text-center text-sm text-muted-foreground",children:h("noEligibleTargets")})]})]})})}var T=a.i(870430),U=a.i(429246);function V({agents:a,worktrees:c,open:d,submitting:e,onOpenChange:f,onSubmit:g}){let h=(0,r.useTranslations)("commands"),[j,k]=(0,s.useState)(""),[l,m]=(0,s.useState)(null),n=(0,s.useMemo)(()=>[...a.map(a=>({key:`agent:${a.id}`,id:a.id,kind:"AGENT",title:`${a.name} \xb7 ${a.hostname}`,detail:a.connectionStatus,upgraded:a.capabilities.includes("command.run")})),...c.map(b=>({key:`worktree:${b.id}`,id:b.id,kind:"WORKTREE",title:b.branch||b.folder,detail:`${b.repositoryName} \xb7 ${b.agentName} \xb7 ${b.folder}`,upgraded:a.find(a=>a.id===b.agentId)?.capabilities.includes("command.run")===!0}))],[a,c]),o=n.find(a=>a.key===l)??null;return(0,b.jsx)(R.Dialog,{onOpenChange:f,open:d,children:(0,b.jsxs)(R.DialogContent,{className:"max-h-[85vh] overflow-y-auto sm:max-w-2xl",children:[(0,b.jsxs)(R.DialogHeader,{children:[(0,b.jsx)(R.DialogTitle,{children:h("runCustom")}),(0,b.jsx)(R.DialogDescription,{children:h("customCommandDescription")})]}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(T.Label,{htmlFor:"custom-command-script",children:h("script")}),(0,b.jsx)(U.Textarea,{autoFocus:!0,className:"min-h-32 font-mono",id:"custom-command-script",onChange:a=>k(a.target.value),placeholder:h("customCommandPlaceholder"),value:j}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:h("customCommandWarning")})]}),(0,b.jsxs)("fieldset",{className:"space-y-2",children:[(0,b.jsx)("legend",{className:"text-sm font-medium",children:h("runIn")}),(0,b.jsxs)("div",{className:"grid gap-2",children:[n.map(a=>(0,b.jsxs)(y.Button,{"aria-pressed":l===a.key,className:(0,N.cn)("h-auto w-full min-w-0 items-start justify-start gap-3 py-3 text-left whitespace-normal",l===a.key&&"ring-2 ring-ring"),disabled:!a.upgraded||e,onClick:()=>m(a.key),type:"button",variant:"outline",children:["AGENT"===a.kind?(0,b.jsx)(Q.Laptop,{}):(0,b.jsx)(P.HardDrive,{}),(0,b.jsxs)("span",{className:"min-w-0 flex-1 [overflow-wrap:anywhere]",children:[(0,b.jsx)("span",{className:"block font-medium",children:a.title}),(0,b.jsx)("span",{className:"block text-xs text-muted-foreground",children:a.detail})]}),!a.upgraded&&(0,b.jsx)(x.Badge,{variant:"secondary",children:h("upgradeAgent")})]},a.key)),0===n.length&&(0,b.jsx)("p",{className:"py-8 text-center text-sm text-muted-foreground",children:h("noEligibleTargets")})]})]})]}),(0,b.jsxs)(R.DialogFooter,{children:[(0,b.jsx)(y.Button,{disabled:e,onClick:()=>f(!1),type:"button",variant:"outline",children:h("cancel")}),(0,b.jsxs)(y.Button,{disabled:!j.trim()||!o||e,onClick:()=>{o&&g(j,"AGENT"===o.kind?{agentId:o.id}:{worktreeId:o.id})},type:"button",children:[(0,b.jsx)(i.Play,{}),e?h("running"):h("run")]})]})]})})}var W=a.i(415576);a.s(["CommandsPage",0,function(){let a=(0,r.useTranslations)("commands"),P=(0,q.useLocale)(),Q=(0,H.useRouter)(),[R,T]=(0,s.useState)("runs"),[U,X]=(0,s.useState)([]),[Y,Z]=(0,s.useState)([]),[$,_]=(0,s.useState)([]),[aa,ab]=(0,s.useState)([]),[ac,ad]=(0,s.useState)(""),[ae,af]=(0,s.useState)("ACTIVE"),[ag,ah]=(0,s.useState)(!1),[ai,aj]=(0,s.useState)(new Set),[ak,al]=(0,s.useState)([]),[am,an]=(0,s.useState)([]),ao=(0,s.useRef)(null),[ap,aq]=(0,s.useState)(null),[ar,as]=(0,s.useState)(!1),[at,au]=(0,s.useState)(!1),[av,aw]=(0,s.useState)(!0),[ax,ay]=(0,s.useState)(null),az=(0,s.useCallback)(async()=>{try{let a=await (0,J.controlPlaneRequest)(`query CommandManagement($includeArchived: Boolean!) {
1
+ module.exports=[281956,a=>{"use strict";var b=a.i(187924),c=a.i(979762),d=a.i(846980),e=a.i(536670),f=a.i(248957),g=a.i(534267),h=a.i(272944),i=a.i(738835),j=a.i(403512),k=a.i(519783),l=a.i(533838),m=a.i(233540),n=a.i(315163),n=n,o=a.i(980180),p=a.i(423422),q=a.i(32886),r=a.i(415925),s=a.i(572131),t=a.i(844873),u=a.i(600729),v=a.i(261102),w=a.i(124348),x=a.i(786304),y=a.i(699570),z=a.i(591119),A=a.i(315055),B=a.i(335732),C=a.i(866718),D=a.i(333140),E=a.i(580701),F=a.i(875083),G=a.i(206015),H=a.i(555027),I=a.i(873555),J=a.i(460280),K=a.i(320615),L=a.i(626124),M=a.i(82710),N=a.i(368114),O=a.i(700621),P=a.i(60926),Q=a.i(656134),R=a.i(795225);function S({command:a,agents:c,worktrees:d,open:e,onOpenChange:f,onSelect:g}){let h=(0,r.useTranslations)("commands"),j=a?.targetKind.includes("AGENT_HOME")??!1,k=j?c.filter(b=>a?.targetKind!=="SPECIFIC_AGENT_HOME"||b.id===a.targetAgentId):d.filter(b=>a?.targetKind!=="REPOSITORY_WORKTREE"||!!(b.repositoryId&&a.targetRepositoryIds.includes(b.repositoryId)));return(0,b.jsx)(R.Dialog,{onOpenChange:f,open:e,children:(0,b.jsxs)(R.DialogContent,{className:"max-h-[80vh] overflow-y-auto sm:max-w-2xl",children:[(0,b.jsxs)(R.DialogHeader,{children:[(0,b.jsx)(R.DialogTitle,{children:h("runCommand",{name:a?.name??""})}),(0,b.jsx)(R.DialogDescription,{children:h(j?"chooseAgentTarget":"chooseWorktreeTarget")})]}),(0,b.jsxs)("div",{className:"grid gap-2",children:[k.map(a=>{let d=j?a:null,e=j?null:a,f=d?d.capabilities.includes("command.run"):c.find(a=>a.id===e?.agentId)?.capabilities.includes("command.run")===!0;return(0,b.jsxs)(y.Button,{className:"h-auto w-full min-w-0 items-start justify-start gap-3 py-3 text-left whitespace-normal",disabled:!f,onClick:()=>g(j?{agentId:a.id}:{worktreeId:a.id}),variant:"outline",children:[j?(0,b.jsx)(Q.Laptop,{}):(0,b.jsx)(P.HardDrive,{}),(0,b.jsxs)("span",{className:"min-w-0 flex-1 [overflow-wrap:anywhere]",children:[(0,b.jsx)("span",{className:"block font-medium",children:j?`${d?.name} \xb7 ${d?.hostname}`:e?.branch||e?.folder}),(0,b.jsx)("span",{className:"block text-xs text-muted-foreground",children:j?d?.connectionStatus:`${e?.repositoryName} \xb7 ${e?.agentName} \xb7 ${e?.folder}`})]}),f?(0,b.jsx)(i.Play,{}):(0,b.jsx)(x.Badge,{variant:"secondary",children:h("upgradeAgent")})]},a.id)}),0===k.length&&(0,b.jsx)("p",{className:"py-8 text-center text-sm text-muted-foreground",children:h("noEligibleTargets")})]})]})})}var T=a.i(870430),U=a.i(429246);function V({agents:a,worktrees:c,open:d,submitting:e,onOpenChange:f,onSubmit:g}){let h=(0,r.useTranslations)("commands"),[j,k]=(0,s.useState)(""),[l,m]=(0,s.useState)(null),n=(0,s.useMemo)(()=>[...a.map(a=>({key:`agent:${a.id}`,id:a.id,kind:"AGENT",title:`${a.name} \xb7 ${a.hostname}`,detail:a.connectionStatus,upgraded:a.capabilities.includes("command.run")})),...c.map(b=>({key:`worktree:${b.id}`,id:b.id,kind:"WORKTREE",title:b.branch||b.folder,detail:`${b.repositoryName} \xb7 ${b.agentName} \xb7 ${b.folder}`,upgraded:a.find(a=>a.id===b.agentId)?.capabilities.includes("command.run")===!0}))],[a,c]),o=n.find(a=>a.key===l)??null;return(0,b.jsx)(R.Dialog,{onOpenChange:f,open:d,children:(0,b.jsxs)(R.DialogContent,{className:"max-h-[85vh] overflow-y-auto sm:max-w-2xl",children:[(0,b.jsxs)(R.DialogHeader,{children:[(0,b.jsx)(R.DialogTitle,{children:h("runCustom")}),(0,b.jsx)(R.DialogDescription,{children:h("customCommandDescription")})]}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(T.Label,{htmlFor:"custom-command-script",children:h("script")}),(0,b.jsx)(U.Textarea,{autoFocus:!0,className:"min-h-32 font-mono",id:"custom-command-script",onChange:a=>k(a.target.value),placeholder:h("customCommandPlaceholder"),value:j}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:h("customCommandWarning")})]}),(0,b.jsxs)("fieldset",{className:"space-y-2",children:[(0,b.jsx)("legend",{className:"text-sm font-medium",children:h("runIn")}),(0,b.jsxs)("div",{className:"grid gap-2",children:[n.map(a=>(0,b.jsxs)(y.Button,{"aria-pressed":l===a.key,className:(0,N.cn)("h-auto w-full min-w-0 items-start justify-start gap-3 py-3 text-left whitespace-normal",l===a.key&&"ring-2 ring-ring"),disabled:!a.upgraded||e,onClick:()=>m(a.key),type:"button",variant:"outline",children:["AGENT"===a.kind?(0,b.jsx)(Q.Laptop,{}):(0,b.jsx)(P.HardDrive,{}),(0,b.jsxs)("span",{className:"min-w-0 flex-1 [overflow-wrap:anywhere]",children:[(0,b.jsx)("span",{className:"block font-medium",children:a.title}),(0,b.jsx)("span",{className:"block text-xs text-muted-foreground",children:a.detail})]}),!a.upgraded&&(0,b.jsx)(x.Badge,{variant:"secondary",children:h("upgradeAgent")})]},a.key)),0===n.length&&(0,b.jsx)("p",{className:"py-8 text-center text-sm text-muted-foreground",children:h("noEligibleTargets")})]})]})]}),(0,b.jsxs)(R.DialogFooter,{children:[(0,b.jsx)(y.Button,{disabled:e,onClick:()=>f(!1),type:"button",variant:"outline",children:h("cancel")}),(0,b.jsxs)(y.Button,{disabled:!j.trim()||!o||e,onClick:()=>{o&&g(j,"AGENT"===o.kind?{agentId:o.id}:{worktreeId:o.id})},type:"button",children:[(0,b.jsx)(i.Play,{}),e?h("running"):h("run")]})]})]})})}var W=a.i(415576);a.s(["CommandsPage",0,function(){let a=(0,r.useTranslations)("commands"),P=(0,q.useLocale)(),Q=(0,H.useRouter)(),[R,T]=(0,s.useState)("runs"),[U,X]=(0,s.useState)([]),[Y,Z]=(0,s.useState)([]),[$,_]=(0,s.useState)([]),[aa,ab]=(0,s.useState)([]),[ac,ad]=(0,s.useState)(""),[ae,af]=(0,s.useState)("ACTIVE"),[ag,ah]=(0,s.useState)(!1),[ai,aj]=(0,s.useState)(new Set),[ak,al]=(0,s.useState)([]),[am,an]=(0,s.useState)([]),ao=(0,s.useRef)(null),[ap,aq]=(0,s.useState)(null),[ar,as]=(0,s.useState)(!1),[at,au]=(0,s.useState)(!1),[av,aw]=(0,s.useState)(!0),[ax,ay]=(0,s.useState)(null),az=(0,s.useCallback)(async()=>{try{let a=await (0,J.controlPlaneRequest)(`query CommandManagement($includeArchived: Boolean!) {
2
2
  commandDefinitions(includeArchived: true) { ${W.COMMAND_DEFINITION_FIELDS} }
3
3
  commandRuns(includeArchived: $includeArchived, first: 200) { nodes { ${W.COMMAND_RUN_FIELDS} } }
4
4
  agents { id name hostname connectionStatus capabilities }
@@ -7,6 +7,6 @@ module.exports=[281956,a=>{"use strict";var b=a.i(187924),c=a.i(979762),d=a.i(84
7
7
  codebases { repository { id name } worktrees { id folder branch highlightColor } }
8
8
  }
9
9
  }
10
- }`,{includeArchived:"ACTIVE"!==ae});X(a.commandDefinitions),Z(a.commandRuns.nodes.filter(a=>"ARCHIVED"===ae?!!a.archivedAt:"ACTIVE"!==ae||!a.archivedAt)),_(a.agents),ab(a.worktreeOverview.agents.flatMap(a=>a.codebases.flatMap(b=>b.worktrees.map(c=>({...c,repositoryId:b.repository.id,repositoryName:b.repository.name,agentId:a.agent.id,agentName:a.agent.name}))))),ay(null)}catch(a){ay(a instanceof Error?a.message:String(a))}finally{aw(!1)}},[ae]);(0,s.useEffect)(()=>{let a=window.setTimeout(()=>void az(),0),b=(0,J.controlPlaneSubscriptions)(),c=[b.subscribe({query:"subscription CommandsChanged { commandsChanged { id } }"},{next:()=>void az(),error:()=>void 0,complete:()=>void 0}),b.subscribe({query:"subscription CommandRunsChanged { commandRunsChanged { id } }"},{next:()=>void az(),error:()=>void 0,complete:()=>void 0})];return()=>{window.clearTimeout(a),c.forEach(a=>a())}},[az]);let aA=(0,s.useMemo)(()=>(0,L.prioritizeActiveTableRows)(Y.filter(a=>`${a.displayNumber} ${a.snapshotName} ${a.agentName} ${a.worktreePath??""} ${a.status}`.toLowerCase().includes(ac.toLowerCase()))),[Y,ac]),aB=(0,s.useMemo)(()=>{let a=[];for(let b of aA){let c=(0,L.hasPrioritizedTableStatus)(b.status),d=(0,K.dayKey)(b.createdAt)??b.createdAt,e=c?"priority":d,f=a.at(-1);f?.key===e?f.runs.push(b):a.push({key:e,date:b.createdAt,prioritized:c,runs:[b]})}return a},[aA]),aC=U.filter(a=>`${a.name} ${a.description} ${a.targetKind}`.toLowerCase().includes(ac.toLowerCase())),aD=async(a,b)=>{try{await (0,J.controlPlaneRequest)(a,b),aj(new Set),await az()}catch(a){ay(a instanceof Error?a.message:String(a))}},aE=a=>aj(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c}),aF=async a=>{let b=[],c=[];for(let d of a)try{let a=JSON.parse(await d.text()),c=await (0,J.controlPlaneRequest)("mutation ImportCommand($input: ImportCommandDefinitionInput!) { importCommandDefinition(input: $input) { id } }",{input:{payload:a}});b.push(c.importCommandDefinition.id)}catch(a){c.push(`${d.name}: ${a instanceof Error?a.message:String(a)}`)}(ay(c.length?c.join("\n"):null),1===a.length&&1===b.length)?Q.push(`/commands/${b[0]}/edit`):b.length&&(T("definitions"),await az())},aG=async a=>{try{let b=await Promise.all(a.map(async a=>{let b=await (0,J.controlPlaneRequest)("query ExportCommand($id: ID!) { exportCommandDefinition(id: $id) }",{id:a}),c=U.find(b=>b.id===a)?.name??a;return{value:b.exportCommandDefinition,filename:`${(0,I.exportFileStem)(c)}.command.json`}}));ay(null),await (0,I.downloadJsonFiles)(b)}catch(a){ay(a instanceof Error?a.message:String(a))}},aH=async a=>{let b=null;for(let c of a)try{await (0,J.controlPlaneRequest)("mutation DeleteCommand($id: ID!) { deleteCommandDefinition(id: $id) }",{id:c})}catch(a){b??=a instanceof Error?a.message:String(a)}aj(new Set),ay(b),await az()},aI=async(a,b)=>{try{let c=await (0,J.controlPlaneRequest)("mutation StartCommand($input: StartCommandRunInput!) { startCommandRun(input: $input) { id } }",{input:{commandId:a.id,origin:"MANUAL",...b}});aq(null),Q.push(`/commands/runs/${c.startCommandRun.id}`)}catch(a){ay(a instanceof Error?a.message:String(a))}},aJ=async(a,b)=>{au(!0);try{let c=await (0,J.controlPlaneRequest)("mutation StartCustomCommand($input: StartCustomCommandRunInput!) { startCustomCommandRun(input: $input) { id } }",{input:{script:a,origin:"MANUAL",...b}});as(!1),Q.push(`/commands/runs/${c.startCustomCommandRun.id}`)}catch(a){ay(a instanceof Error?a.message:String(a))}finally{au(!1)}};return(0,b.jsxs)("div",{className:"space-y-5",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:a("title")}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:a("description")})]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)("input",{accept:"application/json,.json",className:"hidden",multiple:!0,onChange:a=>{let b=[...a.target.files??[]];b.length&&aF(b),a.target.value=""},ref:ao,type:"file"}),(0,b.jsxs)(y.Button,{onClick:()=>as(!0),variant:"outline",children:[(0,b.jsx)(n.default,{}),a("runCustom")]}),(0,b.jsxs)(y.Button,{onClick:()=>ao.current?.click(),variant:"outline",children:[(0,b.jsx)(g.FileUp,{}),a("import")]}),(0,b.jsx)(y.Button,{asChild:!0,children:(0,b.jsxs)(H.Link,{href:"/commands/new",children:[(0,b.jsx)(j.Plus,{}),a("newCommand")]})})]})]}),ax&&(0,b.jsx)(w.Alert,{variant:"destructive",children:(0,b.jsx)(w.AlertDescription,{className:"whitespace-pre-line",children:ax})}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,b.jsx)(F.Tabs,{value:R,onValueChange:a=>{T(a),ah(!1),aj(new Set)},children:(0,b.jsxs)(F.TabsList,{children:[(0,b.jsx)(F.TabsTrigger,{value:"runs",children:a("runs")}),(0,b.jsx)(F.TabsTrigger,{value:"definitions",children:a("definitions")})]})}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(m.Search,{className:"absolute top-2.5 left-2.5 size-4 text-muted-foreground"}),(0,b.jsx)(C.Input,{className:"w-64 pl-8",value:ac,onChange:a=>ad(a.target.value),placeholder:a("search")})]}),"runs"===R&&(0,b.jsxs)(E.Select,{value:ae,onValueChange:a=>af(a??"ACTIVE"),children:[(0,b.jsx)(E.SelectTrigger,{className:"w-32",children:(0,b.jsx)(E.SelectValue,{})}),(0,b.jsxs)(E.SelectContent,{children:[(0,b.jsx)(E.SelectItem,{value:"ACTIVE",children:a("active")}),(0,b.jsx)(E.SelectItem,{value:"ARCHIVED",children:a("archived")}),(0,b.jsx)(E.SelectItem,{value:"ALL",children:a("all")})]})]}),(0,b.jsxs)(y.Button,{variant:"outline",onClick:()=>{ah(!ag),aj(new Set)},children:[(0,b.jsx)(f.FilePenLine,{}),ag?a("done"):a("edit")]}),(0,b.jsx)(y.Button,{"aria-label":a("refresh"),size:"icon",variant:"outline",onClick:()=>void az(),children:(0,b.jsx)(k.RefreshCw,{})})]})]}),"definitions"===R&&ag&&(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 rounded-lg border p-3",children:[(0,b.jsx)(v.SelectAllCheckbox,{ids:aC.map(a=>a.id),label:a("selectAllCommands"),onChange:aj,selected:ai}),(0,b.jsx)("span",{className:"mr-auto text-sm text-muted-foreground",children:a("selectedCommands",{count:ai.size})}),(0,b.jsxs)(y.Button,{disabled:0===ai.size,onClick:()=>void aG([...ai]),size:"sm",variant:"outline",children:[(0,b.jsx)(e.Download,{}),a("export")]}),(0,b.jsxs)(y.Button,{disabled:0===ai.size,onClick:()=>an([...ai]),size:"sm",variant:"destructive",children:[(0,b.jsx)(o.Trash2,{}),a("delete")]})]}),"runs"===R&&ag&&ai.size>0&&(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border p-3",children:[(0,b.jsx)("span",{className:"mr-auto text-sm text-muted-foreground",children:a("selected",{count:ai.size})}),(0,b.jsxs)(y.Button,{size:"sm",variant:"outline",onClick:()=>void aD("mutation Archive($ids: [ID!]!, $archived: Boolean!) { archiveCommandRuns(ids: $ids, archived: $archived) }",{ids:[...ai],archived:"ARCHIVED"!==ae}),children:["ARCHIVED"===ae?(0,b.jsx)(p.Undo2,{}):(0,b.jsx)(c.Archive,{}),"ARCHIVED"===ae?a("restore"):a("archive")]}),(0,b.jsxs)(y.Button,{size:"sm",variant:"destructive",onClick:()=>al([...ai]),children:[(0,b.jsx)(o.Trash2,{}),a("delete")]})]}),av?"runs"===R?(0,b.jsx)(z.Card,{className:"gap-0 overflow-hidden p-4",children:(0,b.jsx)("div",{className:"space-y-3",children:[0,1,2,3,4].map(a=>(0,b.jsx)(D.Skeleton,{className:"h-8 w-full"},a))})}):(0,b.jsx)("div",{className:"grid gap-4 lg:grid-cols-2 2xl:grid-cols-3",children:[0,1,2].map(a=>(0,b.jsxs)(z.Card,{children:[(0,b.jsxs)(z.CardHeader,{children:[(0,b.jsx)(D.Skeleton,{className:"h-5 w-2/5"}),(0,b.jsx)(D.Skeleton,{className:"h-4 w-4/5"})]}),(0,b.jsxs)(z.CardContent,{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(D.Skeleton,{className:"h-5 w-16"}),(0,b.jsx)(D.Skeleton,{className:"h-5 w-20"})]}),(0,b.jsx)(D.Skeleton,{className:"h-8 w-full"})]})]},a))}):"runs"===R?(0,b.jsx)(z.Card,{className:"gap-0 overflow-hidden p-0",children:(0,b.jsxs)(G.Table,{children:[(0,b.jsx)(G.TableHeader,{children:(0,b.jsxs)(G.TableRow,{children:[ag&&(0,b.jsx)(G.TableHead,{className:"w-10",children:(0,b.jsx)(v.SelectAllCheckbox,{ids:aA.filter(a=>!(0,W.activeCommandRun)(a.status)).map(a=>a.id),label:a("selectAll"),onChange:aj,selected:ai})}),(0,b.jsx)(G.TableHead,{children:a("number")}),(0,b.jsx)(G.TableHead,{children:a("command")}),(0,b.jsx)(G.TableHead,{children:a("status")}),(0,b.jsx)(G.TableHead,{children:a("agent")}),(0,b.jsx)(G.TableHead,{children:a("worktree")}),(0,b.jsx)(G.TableHead,{children:a("started")}),(0,b.jsx)(G.TableHead,{className:"w-12"})]})}),(0,b.jsxs)(G.TableBody,{children:[aB.map(c=>(0,b.jsxs)(s.Fragment,{children:[(0,b.jsxs)(G.TableRow,{className:"bg-muted/30 hover:bg-muted/30",children:[ag&&(0,b.jsx)(G.TableCell,{className:"py-2",children:!c.prioritized&&(0,b.jsx)(v.SelectAllCheckbox,{ids:c.runs.filter(a=>!(0,W.activeCommandRun)(a.status)).map(a=>a.id),label:a("selectDay",{day:(0,K.formatDateValue)(c.date,"long",{locale:P,showTime:!1})}),onChange:aj,selected:ai})}),(0,b.jsx)(G.TableCell,{colSpan:7,className:"py-2 text-xs font-medium text-muted-foreground",children:c.prioritized?a("active"):(0,K.formatDateValue)(c.date,"long",{locale:P,showTime:!1})})]}),c.runs.map(c=>{let e;return(0,b.jsxs)(G.TableRow,{className:(0,N.cn)("cursor-pointer",O.worktreeHighlightBackgroundClasses[c.worktree?.highlightColor??""]),onClick:a=>{if((0,M.isRowActivation)(a))if(ag){if((0,W.activeCommandRun)(c.status))return;aj(a=>{let b=new Set(a);return b.has(c.id)?b.delete(c.id):b.add(c.id),b})}else Q.push(`/commands/runs/${c.id}`)},children:[ag&&(0,b.jsx)(G.TableCell,{children:(0,b.jsx)(A.Checkbox,{checked:ai.has(c.id),disabled:(0,W.activeCommandRun)(c.status),onCheckedChange:()=>aj(a=>{let b=new Set(a);return b.has(c.id)?b.delete(c.id):b.add(c.id),b})})}),(0,b.jsx)(G.TableCell,{children:(0,b.jsxs)(H.Link,{className:(0,N.cn)(M.rowLinkClass,"inline-block font-mono text-xs"),href:`/commands/runs/${c.id}`,children:["#",c.displayNumber]})}),(0,b.jsx)(G.TableCell,{children:(0,b.jsx)(H.Link,{className:(0,N.cn)(M.rowLinkClass,"inline-block font-medium"),href:`/commands/runs/${c.id}`,children:c.snapshotName})}),(0,b.jsx)(G.TableCell,{children:(0,b.jsx)(x.Badge,{variant:"SUCCEEDED"===(e=c.status)?"default":"FAILED"===e||"CANCELLED"===e?"destructive":"secondary",children:a((0,W.commandStatusKey)(c.status))})}),(0,b.jsx)(G.TableCell,{className:"whitespace-normal",children:c.agentId?(0,b.jsx)(H.Link,{className:(0,N.cn)(M.rowLinkClass,"inline whitespace-normal break-words"),href:`/agents/${c.agentId}`,title:c.agentName,children:c.agentName}):c.agentName}),(0,b.jsx)(G.TableCell,{className:"whitespace-normal",children:c.worktreeId?(0,b.jsx)(H.Link,{className:(0,N.cn)(M.rowLinkClass,"inline whitespace-normal break-words"),href:`/worktrees/${c.worktreeId}`,title:c.worktreeBranch||c.worktreePath||void 0,children:c.worktreeBranch||c.worktreePath}):c.snapshotTargetKind.includes("WORKTREE")?(0,b.jsx)("span",{className:"text-muted-foreground",children:c.worktreeBranch||c.worktreePath||a("targetUnavailable")}):(0,b.jsx)("span",{className:"text-muted-foreground",children:a("home")})}),(0,b.jsx)(G.TableCell,{children:(0,b.jsx)(u.DateTime,{kind:"time",relativeToday:!0,value:c.startedAt??c.queuedAt})}),(0,b.jsx)(G.TableCell,{children:(0,b.jsxs)(B.DropdownMenu,{children:[(0,b.jsx)(B.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsx)(y.Button,{size:"icon",variant:"ghost",children:(0,b.jsx)(h.MoreHorizontal,{})})}),(0,b.jsx)(B.DropdownMenuContent,{align:"end",children:(0,W.activeCommandRun)(c.status)?(0,b.jsxs)(B.DropdownMenuItem,{onClick:()=>void aD("mutation Stop($id: ID!) { terminateCommandRun(id: $id) { id } }",{id:c.id}),children:[(0,b.jsx)(d.CircleStop,{}),a("terminate")]}):(0,b.jsxs)(B.DropdownMenuItem,{onClick:async()=>{let a=await (0,J.controlPlaneRequest)("mutation Rerun($id: ID!) { rerunCommandRun(id: $id) { id } }",{id:c.id});Q.push(`/commands/runs/${a.rerunCommandRun.id}`)},children:[(0,b.jsx)(l.RotateCcw,{}),a("rerun")]})})]})})]},c.id)})]},c.key)),0===aA.length&&(0,b.jsx)(G.TableRow,{children:(0,b.jsx)(G.TableCell,{className:"h-32 text-center text-muted-foreground",colSpan:8,children:a("noRuns")})})]})]})}):(0,b.jsx)("div",{className:"grid gap-4 lg:grid-cols-2 2xl:grid-cols-3",children:aC.map(c=>(0,b.jsxs)(z.Card,{className:(0,N.cn)(c.archivedAt&&"opacity-60",ag&&"cursor-pointer",ag&&ai.has(c.id)&&"ring-2 ring-ring ring-offset-2 ring-offset-background"),onClick:a=>{ag&&(0,M.isRowActivation)(a)&&aE(c.id)},children:[(0,b.jsx)(z.CardHeader,{children:(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[ag?(0,b.jsx)(A.Checkbox,{"aria-label":a("selectCommand",{name:c.name}),checked:ai.has(c.id),className:"mt-2",onCheckedChange:()=>aE(c.id)}):(0,b.jsx)("div",{className:"rounded-lg bg-muted p-2",children:(0,b.jsx)(n.default,{})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)(z.CardTitle,{children:c.name}),(0,b.jsx)("p",{className:"mt-1 line-clamp-2 text-sm text-muted-foreground",children:c.description||a("noDescription")})]})]})}),(0,b.jsxs)(z.CardContent,{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)(x.Badge,{variant:"outline",children:a((0,W.commandTargetKey)(c.targetKind))}),(0,b.jsx)(x.Badge,{variant:"outline",children:a((0,W.commandRestartKey)(c.restartPolicy))}),c.quickActionEnabled&&(0,b.jsx)(x.Badge,{children:a("quickAction")})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(y.Button,{className:"flex-1",disabled:!!c.archivedAt,onClick:()=>aq(c),children:[(0,b.jsx)(i.Play,{}),a("run")]}),(0,b.jsx)(y.Button,{asChild:!0,variant:"outline",children:(0,b.jsxs)(H.Link,{href:`/commands/${c.id}/edit`,children:[(0,b.jsx)(f.FilePenLine,{}),a("edit")]})})]})]})]},c.id))}),(0,b.jsx)(S,{command:ap,agents:$,worktrees:aa,open:!!ap,onOpenChange:a=>{a||aq(null)},onSelect:a=>{ap&&aI(ap,a)}}),ar&&(0,b.jsx)(V,{agents:$,onOpenChange:as,onSubmit:(a,b)=>void aJ(a,b),open:!0,submitting:at,worktrees:aa}),(0,b.jsx)(t.ConfirmationDialog,{open:ak.length>0,onOpenChange:a=>{a||al([])},title:a("deleteRunsTitle"),description:a("deleteRunsDescription"),actionLabel:a("delete"),cancelLabel:a("cancel"),onConfirm:()=>void aD("mutation Delete($ids: [ID!]!) { deleteCommandRuns(ids: $ids) }",{ids:ak})}),(0,b.jsx)(t.ConfirmationDialog,{open:am.length>0,onOpenChange:a=>{a||an([])},title:a("deleteCommandsTitle"),description:a("deleteCommandsDescription",{count:am.length}),actionLabel:a("delete"),cancelLabel:a("cancel"),onConfirm:()=>void aH(am)})]})}],281956)}];
10
+ }`,{includeArchived:"ACTIVE"!==ae});X(a.commandDefinitions),Z(a.commandRuns.nodes.filter(a=>"ARCHIVED"===ae?!!a.archivedAt:"ACTIVE"!==ae||!a.archivedAt)),_(a.agents),ab(a.worktreeOverview.agents.flatMap(a=>a.codebases.flatMap(b=>b.worktrees.map(c=>({...c,repositoryId:b.repository.id,repositoryName:b.repository.name,agentId:a.agent.id,agentName:a.agent.name}))))),ay(null)}catch(a){ay(a instanceof Error?a.message:String(a))}finally{aw(!1)}},[ae]);(0,s.useEffect)(()=>{let a=window.setTimeout(()=>void az(),0),b=(0,J.controlPlaneSubscriptions)(),c=[b.subscribe({query:"subscription CommandsChanged { commandsChanged { id } }"},{next:()=>void az(),error:()=>void 0,complete:()=>void 0}),b.subscribe({query:"subscription CommandRunsChanged { commandRunsChanged { id } }"},{next:()=>void az(),error:()=>void 0,complete:()=>void 0})];return()=>{window.clearTimeout(a),c.forEach(a=>a())}},[az]);let aA=(0,s.useMemo)(()=>(0,L.prioritizeActiveTableRows)(Y.filter(a=>`${a.displayNumber} ${a.snapshotName} ${a.agentName} ${a.worktreePath??""} ${a.status}`.toLowerCase().includes(ac.toLowerCase()))),[Y,ac]),aB=(0,s.useMemo)(()=>{let a=[];for(let b of aA){let c=(0,L.hasPrioritizedTableStatus)(b.status),d=(0,K.dayKey)(b.createdAt)??b.createdAt,e=c?"priority":d,f=a.at(-1);f?.key===e?f.runs.push(b):a.push({key:e,date:b.createdAt,prioritized:c,runs:[b]})}return a},[aA]),aC=U.filter(a=>`${a.name} ${a.description} ${a.targetKind}`.toLowerCase().includes(ac.toLowerCase())),aD=async(a,b)=>{try{await (0,J.controlPlaneRequest)(a,b),aj(new Set),await az()}catch(a){ay(a instanceof Error?a.message:String(a))}},aE=a=>aj(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c}),aF=async a=>{let b=[],c=[];for(let d of a)try{let a=JSON.parse(await d.text()),c=await (0,J.controlPlaneRequest)("mutation ImportCommand($input: ImportCommandDefinitionInput!) { importCommandDefinition(input: $input) { id } }",{input:{payload:a}});b.push(c.importCommandDefinition.id)}catch(a){c.push(`${d.name}: ${a instanceof Error?a.message:String(a)}`)}(ay(c.length?c.join("\n"):null),1===a.length&&1===b.length)?Q.push(`/commands/${b[0]}/edit`):b.length&&(T("definitions"),await az())},aG=async a=>{try{let b=await Promise.all(a.map(async a=>{let b=await (0,J.controlPlaneRequest)("query ExportCommand($id: ID!) { exportCommandDefinition(id: $id) }",{id:a}),c=U.find(b=>b.id===a)?.name??a;return{value:b.exportCommandDefinition,filename:`${(0,I.exportFileStem)(c)}.command.json`}}));ay(null),await (0,I.downloadJsonFiles)(b)}catch(a){ay(a instanceof Error?a.message:String(a))}},aH=async a=>{let b=null;for(let c of a)try{await (0,J.controlPlaneRequest)("mutation DeleteCommand($id: ID!) { deleteCommandDefinition(id: $id) }",{id:c})}catch(a){b??=a instanceof Error?a.message:String(a)}aj(new Set),ay(b),await az()},aI=async(a,b)=>{try{let c=await (0,J.controlPlaneRequest)("mutation StartCommand($input: StartCommandRunInput!) { startCommandRun(input: $input) { id } }",{input:{commandId:a.id,origin:"MANUAL",...b}});aq(null),Q.push(`/commands/runs/${c.startCommandRun.id}`)}catch(a){ay(a instanceof Error?a.message:String(a))}},aJ=async(a,b)=>{au(!0);try{let c=await (0,J.controlPlaneRequest)("mutation StartCustomCommand($input: StartCustomCommandRunInput!) { startCustomCommandRun(input: $input) { id } }",{input:{script:a,origin:"MANUAL",...b}});as(!1),Q.push(`/commands/runs/${c.startCustomCommandRun.id}`)}catch(a){ay(a instanceof Error?a.message:String(a))}finally{au(!1)}};return(0,b.jsxs)("div",{className:"space-y-5",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-semibold tracking-tight",children:a("title")}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:a("description")})]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)("input",{accept:"application/json,.json",className:"hidden",multiple:!0,onChange:a=>{let b=[...a.target.files??[]];b.length&&aF(b),a.target.value=""},ref:ao,type:"file"}),(0,b.jsxs)(y.Button,{onClick:()=>as(!0),variant:"outline",children:[(0,b.jsx)(n.default,{}),a("runCustom")]}),(0,b.jsxs)(y.Button,{onClick:()=>ao.current?.click(),variant:"outline",children:[(0,b.jsx)(g.FileUp,{}),a("import")]}),(0,b.jsx)(y.Button,{asChild:!0,children:(0,b.jsxs)(H.Link,{href:"/commands/new",children:[(0,b.jsx)(j.Plus,{}),a("newCommand")]})})]})]}),ax&&(0,b.jsx)(w.Alert,{variant:"destructive",children:(0,b.jsx)(w.AlertDescription,{className:"whitespace-pre-line",children:ax})}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,b.jsx)(F.Tabs,{value:R,onValueChange:a=>{T(a),ah(!1),aj(new Set)},children:(0,b.jsxs)(F.TabsList,{children:[(0,b.jsx)(F.TabsTrigger,{value:"runs",children:a("runs")}),(0,b.jsx)(F.TabsTrigger,{value:"definitions",children:a("definitions")})]})}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(m.Search,{className:"absolute top-2.5 left-2.5 size-4 text-muted-foreground"}),(0,b.jsx)(C.Input,{className:"w-64 pl-8",value:ac,onChange:a=>ad(a.target.value),placeholder:a("search")})]}),"runs"===R&&(0,b.jsxs)(E.Select,{value:ae,onValueChange:a=>af(a??"ACTIVE"),children:[(0,b.jsx)(E.SelectTrigger,{className:"w-32",children:(0,b.jsx)(E.SelectValue,{})}),(0,b.jsxs)(E.SelectContent,{children:[(0,b.jsx)(E.SelectItem,{value:"ACTIVE",children:a("active")}),(0,b.jsx)(E.SelectItem,{value:"ARCHIVED",children:a("archived")}),(0,b.jsx)(E.SelectItem,{value:"ALL",children:a("all")})]})]}),(0,b.jsxs)(y.Button,{variant:"outline",onClick:()=>{ah(!ag),aj(new Set)},children:[(0,b.jsx)(f.FilePenLine,{}),ag?a("done"):a("edit")]}),(0,b.jsx)(y.Button,{"aria-label":a("refresh"),size:"icon",variant:"outline",onClick:()=>void az(),children:(0,b.jsx)(k.RefreshCw,{})})]})]}),"definitions"===R&&ag&&(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 rounded-lg border p-3",children:[(0,b.jsx)(v.SelectAllCheckbox,{ids:aC.map(a=>a.id),label:a("selectAllCommands"),onChange:aj,selected:ai}),(0,b.jsx)("span",{className:"mr-auto text-sm text-muted-foreground",children:a("selectedCommands",{count:ai.size})}),(0,b.jsxs)(y.Button,{disabled:0===ai.size,onClick:()=>void aG([...ai]),size:"sm",variant:"outline",children:[(0,b.jsx)(e.Download,{}),a("export")]}),(0,b.jsxs)(y.Button,{disabled:0===ai.size,onClick:()=>an([...ai]),size:"sm",variant:"destructive",children:[(0,b.jsx)(o.Trash2,{}),a("delete")]})]}),"runs"===R&&ag&&ai.size>0&&(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border p-3",children:[(0,b.jsx)("span",{className:"mr-auto text-sm text-muted-foreground",children:a("selected",{count:ai.size})}),(0,b.jsxs)(y.Button,{size:"sm",variant:"outline",onClick:()=>void aD("mutation Archive($ids: [ID!]!, $archived: Boolean!) { archiveCommandRuns(ids: $ids, archived: $archived) }",{ids:[...ai],archived:"ARCHIVED"!==ae}),children:["ARCHIVED"===ae?(0,b.jsx)(p.Undo2,{}):(0,b.jsx)(c.Archive,{}),"ARCHIVED"===ae?a("restore"):a("archive")]}),(0,b.jsxs)(y.Button,{size:"sm",variant:"destructive",onClick:()=>al([...ai]),children:[(0,b.jsx)(o.Trash2,{}),a("delete")]})]}),av?"runs"===R?(0,b.jsx)(z.Card,{className:"gap-0 overflow-hidden p-4",children:(0,b.jsx)("div",{className:"space-y-3",children:[0,1,2,3,4].map(a=>(0,b.jsx)(D.Skeleton,{className:"h-8 w-full"},a))})}):(0,b.jsx)("div",{className:"grid gap-4 lg:grid-cols-2 2xl:grid-cols-3",children:[0,1,2].map(a=>(0,b.jsxs)(z.Card,{children:[(0,b.jsxs)(z.CardHeader,{children:[(0,b.jsx)(D.Skeleton,{className:"h-5 w-2/5"}),(0,b.jsx)(D.Skeleton,{className:"h-4 w-4/5"})]}),(0,b.jsxs)(z.CardContent,{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(D.Skeleton,{className:"h-5 w-16"}),(0,b.jsx)(D.Skeleton,{className:"h-5 w-20"})]}),(0,b.jsx)(D.Skeleton,{className:"h-8 w-full"})]})]},a))}):"runs"===R?(0,b.jsx)(z.Card,{className:"gap-0 overflow-hidden p-0",children:(0,b.jsxs)(G.Table,{children:[(0,b.jsx)(G.TableHeader,{children:(0,b.jsxs)(G.TableRow,{children:[ag&&(0,b.jsx)(G.TableHead,{className:"w-10",children:(0,b.jsx)(v.SelectAllCheckbox,{ids:aA.filter(a=>!(0,W.activeCommandRun)(a.status)).map(a=>a.id),label:a("selectAll"),onChange:aj,selected:ai})}),(0,b.jsx)(G.TableHead,{children:a("number")}),(0,b.jsx)(G.TableHead,{children:a("command")}),(0,b.jsx)(G.TableHead,{children:a("status")}),(0,b.jsx)(G.TableHead,{children:a("agent")}),(0,b.jsx)(G.TableHead,{children:a("worktree")}),(0,b.jsx)(G.TableHead,{children:a("started")}),(0,b.jsx)(G.TableHead,{className:"w-12"})]})}),(0,b.jsxs)(G.TableBody,{children:[aB.map(c=>(0,b.jsxs)(s.Fragment,{children:[(0,b.jsxs)(G.TableRow,{className:"bg-muted/30 hover:bg-muted/30",children:[ag&&(0,b.jsx)(G.TableCell,{className:"py-2",children:!c.prioritized&&(0,b.jsx)(v.SelectAllCheckbox,{ids:c.runs.filter(a=>!(0,W.activeCommandRun)(a.status)).map(a=>a.id),label:a("selectDay",{day:(0,K.formatDateValue)(c.date,"long",{locale:P,showTime:!1})}),onChange:aj,selected:ai})}),(0,b.jsx)(G.TableCell,{colSpan:7,className:"py-2 text-xs font-medium text-muted-foreground",children:c.prioritized?a("active"):(0,K.formatDateValue)(c.date,"long",{locale:P,showTime:!1})})]}),c.runs.map(c=>{let e;return(0,b.jsxs)(G.TableRow,{className:(0,N.cn)("cursor-pointer",O.worktreeHighlightBackgroundClasses[c.worktree?.highlightColor??""]),onClick:a=>{if((0,M.isRowActivation)(a))if(ag){if((0,W.activeCommandRun)(c.status))return;aj(a=>{let b=new Set(a);return b.has(c.id)?b.delete(c.id):b.add(c.id),b})}else Q.push(`/commands/runs/${c.id}`)},children:[ag&&(0,b.jsx)(G.TableCell,{children:(0,b.jsx)(A.Checkbox,{checked:ai.has(c.id),disabled:(0,W.activeCommandRun)(c.status),onCheckedChange:()=>aj(a=>{let b=new Set(a);return b.has(c.id)?b.delete(c.id):b.add(c.id),b})})}),(0,b.jsx)(G.TableCell,{children:(0,b.jsxs)(H.Link,{className:(0,N.cn)(M.rowLinkClass,"inline-block font-mono text-xs"),href:`/commands/runs/${c.id}`,children:["#",c.displayNumber]})}),(0,b.jsx)(G.TableCell,{children:(0,b.jsx)(H.Link,{className:(0,N.cn)(M.rowLinkClass,"inline-block font-medium"),href:`/commands/runs/${c.id}`,children:c.snapshotName})}),(0,b.jsx)(G.TableCell,{children:(0,b.jsx)(x.Badge,{variant:"SUCCEEDED"===(e=c.status)?"default":"FAILED"===e||"CANCELLED"===e?"destructive":"secondary",children:a((0,W.commandStatusKey)(c.status))})}),(0,b.jsx)(G.TableCell,{className:"whitespace-normal",children:c.agentId?(0,b.jsx)(H.Link,{className:(0,N.cn)(M.rowLinkClass,"inline whitespace-normal break-words"),href:`/agents/${c.agentId}`,title:c.agentName,children:c.agentName}):c.agentName}),(0,b.jsx)(G.TableCell,{className:"whitespace-normal",children:c.worktreeId?(0,b.jsx)(H.Link,{className:(0,N.cn)(M.rowLinkClass,"inline whitespace-normal break-words"),href:`/worktrees/${c.worktreeId}`,title:c.worktreeBranch||c.worktreePath||void 0,children:c.worktreeBranch||c.worktreePath}):c.snapshotTargetKind.includes("WORKTREE")?(0,b.jsx)("span",{className:"text-muted-foreground",children:c.worktreeBranch||c.worktreePath||a("targetUnavailable")}):(0,b.jsx)("span",{className:"text-muted-foreground",children:a("home")})}),(0,b.jsx)(G.TableCell,{children:(0,b.jsx)(u.DateTime,{kind:"time",relativeToday:!0,value:c.startedAt??c.queuedAt})}),(0,b.jsx)(G.TableCell,{children:(0,b.jsxs)(B.DropdownMenu,{children:[(0,b.jsx)(B.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsx)(y.Button,{size:"icon",variant:"ghost",children:(0,b.jsx)(h.MoreHorizontal,{})})}),(0,b.jsx)(B.DropdownMenuContent,{align:"end",children:(0,W.activeCommandRun)(c.status)?(0,b.jsxs)(B.DropdownMenuItem,{onClick:()=>void aD("mutation Stop($id: ID!) { terminateCommandRun(id: $id) { id } }",{id:c.id}),children:[(0,b.jsx)(d.CircleStop,{}),a("terminate")]}):(0,b.jsxs)(B.DropdownMenuItem,{onClick:async()=>{let a=await (0,J.controlPlaneRequest)("mutation Rerun($id: ID!) { rerunCommandRun(id: $id) { id } }",{id:c.id});Q.push(`/commands/runs/${a.rerunCommandRun.id}`)},children:[(0,b.jsx)(l.RotateCcw,{}),a("rerun")]})})]})})]},c.id)})]},c.key)),0===aA.length&&(0,b.jsx)(G.TableRow,{children:(0,b.jsx)(G.TableCell,{className:"h-32 text-center text-muted-foreground",colSpan:8,children:a("noRuns")})})]})]})}):(0,b.jsx)("div",{className:"grid gap-4 lg:grid-cols-2 2xl:grid-cols-3",children:aC.map(c=>(0,b.jsxs)(z.Card,{className:(0,N.cn)(c.archivedAt&&"opacity-60",ag&&"cursor-pointer",ag&&ai.has(c.id)&&"ring-2 ring-ring ring-offset-2 ring-offset-background"),onClick:a=>{ag&&(0,M.isRowActivation)(a)&&aE(c.id)},children:[(0,b.jsx)(z.CardHeader,{children:(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[ag?(0,b.jsx)(A.Checkbox,{"aria-label":a("selectCommand",{name:c.name}),checked:ai.has(c.id),className:"mt-2",onCheckedChange:()=>aE(c.id)}):(0,b.jsx)("div",{className:"rounded-lg bg-muted p-2",children:(0,b.jsx)(n.default,{})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)(z.CardTitle,{children:c.name}),(0,b.jsx)("p",{className:"mt-1 line-clamp-2 text-sm text-muted-foreground",children:c.description||a("noDescription")})]})]})}),(0,b.jsxs)(z.CardContent,{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)(x.Badge,{variant:"outline",children:a((0,W.commandTargetKey)(c.targetKind))}),"REPOSITORY_WORKTREE"===c.targetKind&&(0,b.jsx)(x.Badge,{variant:"secondary",children:a("selectedRepositories",{count:c.targetRepositoryIds.length})}),(0,b.jsx)(x.Badge,{variant:"outline",children:a((0,W.commandRestartKey)(c.restartPolicy))}),c.quickActionEnabled&&(0,b.jsx)(x.Badge,{children:a("quickAction")})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(y.Button,{className:"flex-1",disabled:!!c.archivedAt,onClick:()=>aq(c),children:[(0,b.jsx)(i.Play,{}),a("run")]}),(0,b.jsx)(y.Button,{asChild:!0,variant:"outline",children:(0,b.jsxs)(H.Link,{href:`/commands/${c.id}/edit`,children:[(0,b.jsx)(f.FilePenLine,{}),a("edit")]})})]})]})]},c.id))}),(0,b.jsx)(S,{command:ap,agents:$,worktrees:aa,open:!!ap,onOpenChange:a=>{a||aq(null)},onSelect:a=>{ap&&aI(ap,a)}}),ar&&(0,b.jsx)(V,{agents:$,onOpenChange:as,onSubmit:(a,b)=>void aJ(a,b),open:!0,submitting:at,worktrees:aa}),(0,b.jsx)(t.ConfirmationDialog,{open:ak.length>0,onOpenChange:a=>{a||al([])},title:a("deleteRunsTitle"),description:a("deleteRunsDescription"),actionLabel:a("delete"),cancelLabel:a("cancel"),onConfirm:()=>void aD("mutation Delete($ids: [ID!]!) { deleteCommandRuns(ids: $ids) }",{ids:ak})}),(0,b.jsx)(t.ConfirmationDialog,{open:am.length>0,onOpenChange:a=>{a||an([])},title:a("deleteCommandsTitle"),description:a("deleteCommandsDescription",{count:am.length}),actionLabel:a("delete"),cancelLabel:a("cancel"),onConfirm:()=>void aH(am)})]})}],281956)}];
11
11
 
12
12
  //# sourceMappingURL=src_components_commands_commands-page_tsx_06_w_zo._.js.map