@ai-development-environment/server 0.0.48 → 0.0.49

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 (575) hide show
  1. package/package.json +1 -1
  2. package/prisma-runtime/prisma/migrations/20260723214432_add_model_costs/migration.sql +28 -0
  3. package/prisma-runtime/prisma/schema.prisma +30 -0
  4. package/standalone/.next/BUILD_ID +1 -1
  5. package/standalone/.next/app-path-routes-manifest.json +1 -0
  6. package/standalone/.next/build-manifest.json +3 -3
  7. package/standalone/.next/prerender-manifest.json +3 -3
  8. package/standalone/.next/routes-manifest.json +8 -0
  9. package/standalone/.next/server/app/[locale]/actions/page.js.nft.json +1 -1
  10. package/standalone/.next/server/app/[locale]/actions/page_client-reference-manifest.js +1 -1
  11. package/standalone/.next/server/app/[locale]/actions-cache/page.js.nft.json +1 -1
  12. package/standalone/.next/server/app/[locale]/actions-cache/page_client-reference-manifest.js +1 -1
  13. package/standalone/.next/server/app/[locale]/agents/[id]/page.js.nft.json +1 -1
  14. package/standalone/.next/server/app/[locale]/agents/[id]/page_client-reference-manifest.js +1 -1
  15. package/standalone/.next/server/app/[locale]/agents/page.js.nft.json +1 -1
  16. package/standalone/.next/server/app/[locale]/agents/page_client-reference-manifest.js +1 -1
  17. package/standalone/.next/server/app/[locale]/analytics-events/page.js.nft.json +1 -1
  18. package/standalone/.next/server/app/[locale]/analytics-events/page_client-reference-manifest.js +1 -1
  19. package/standalone/.next/server/app/[locale]/build-data/page.js.nft.json +1 -1
  20. package/standalone/.next/server/app/[locale]/build-data/page_client-reference-manifest.js +1 -1
  21. package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page.js.nft.json +1 -1
  22. package/standalone/.next/server/app/[locale]/builds/[buildId]/coverage/page_client-reference-manifest.js +1 -1
  23. package/standalone/.next/server/app/[locale]/builds/[buildId]/page.js.nft.json +1 -1
  24. package/standalone/.next/server/app/[locale]/builds/[buildId]/page_client-reference-manifest.js +1 -1
  25. package/standalone/.next/server/app/[locale]/builds/page.js.nft.json +1 -1
  26. package/standalone/.next/server/app/[locale]/builds/page_client-reference-manifest.js +1 -1
  27. package/standalone/.next/server/app/[locale]/codebases/[codebaseId]/page.js.nft.json +1 -1
  28. package/standalone/.next/server/app/[locale]/codebases/[codebaseId]/page_client-reference-manifest.js +1 -1
  29. package/standalone/.next/server/app/[locale]/codebases/page.js.nft.json +1 -1
  30. package/standalone/.next/server/app/[locale]/codebases/page_client-reference-manifest.js +1 -1
  31. package/standalone/.next/server/app/[locale]/codebases/repositories/[repositoryId]/page.js.nft.json +1 -1
  32. package/standalone/.next/server/app/[locale]/codebases/repositories/[repositoryId]/page_client-reference-manifest.js +1 -1
  33. package/standalone/.next/server/app/[locale]/comments/page.js.nft.json +1 -1
  34. package/standalone/.next/server/app/[locale]/comments/page_client-reference-manifest.js +1 -1
  35. package/standalone/.next/server/app/[locale]/console-logs/page.js.nft.json +1 -1
  36. package/standalone/.next/server/app/[locale]/console-logs/page_client-reference-manifest.js +1 -1
  37. package/standalone/.next/server/app/[locale]/costs/page/app-paths-manifest.json +3 -0
  38. package/standalone/.next/server/app/[locale]/costs/page/build-manifest.json +16 -0
  39. package/standalone/.next/server/app/[locale]/costs/page/next-font-manifest.json +11 -0
  40. package/standalone/.next/server/app/[locale]/costs/page/react-loadable-manifest.json +1 -0
  41. package/standalone/.next/server/app/[locale]/costs/page/server-reference-manifest.json +4 -0
  42. package/standalone/.next/server/app/[locale]/costs/page.js +17 -0
  43. package/standalone/.next/server/app/[locale]/costs/page.js.map +5 -0
  44. package/standalone/.next/server/app/[locale]/costs/page.js.nft.json +1 -0
  45. package/standalone/.next/server/app/[locale]/costs/page_client-reference-manifest.js +3 -0
  46. package/standalone/.next/server/app/[locale]/credentials/page.js.nft.json +1 -1
  47. package/standalone/.next/server/app/[locale]/credentials/page_client-reference-manifest.js +1 -1
  48. package/standalone/.next/server/app/[locale]/devices/[id]/page.js.nft.json +1 -1
  49. package/standalone/.next/server/app/[locale]/devices/[id]/page_client-reference-manifest.js +1 -1
  50. package/standalone/.next/server/app/[locale]/devices/enroll/page.js.nft.json +1 -1
  51. package/standalone/.next/server/app/[locale]/devices/enroll/page_client-reference-manifest.js +1 -1
  52. package/standalone/.next/server/app/[locale]/devices/page.js.nft.json +1 -1
  53. package/standalone/.next/server/app/[locale]/devices/page_client-reference-manifest.js +1 -1
  54. package/standalone/.next/server/app/[locale]/drafts/page.js.nft.json +1 -1
  55. package/standalone/.next/server/app/[locale]/drafts/page_client-reference-manifest.js +1 -1
  56. package/standalone/.next/server/app/[locale]/jira/cache/page.js.nft.json +1 -1
  57. package/standalone/.next/server/app/[locale]/jira/cache/page_client-reference-manifest.js +1 -1
  58. package/standalone/.next/server/app/[locale]/jira/cache/tickets/[issueKey]/page.js.nft.json +1 -1
  59. package/standalone/.next/server/app/[locale]/jira/cache/tickets/[issueKey]/page_client-reference-manifest.js +1 -1
  60. package/standalone/.next/server/app/[locale]/jira/tickets/[issueKey]/page.js.nft.json +1 -1
  61. package/standalone/.next/server/app/[locale]/jira/tickets/[issueKey]/page_client-reference-manifest.js +1 -1
  62. package/standalone/.next/server/app/[locale]/jira/tickets/page.js.nft.json +1 -1
  63. package/standalone/.next/server/app/[locale]/jira/tickets/page_client-reference-manifest.js +1 -1
  64. package/standalone/.next/server/app/[locale]/jobs/[jobId]/page.js.nft.json +1 -1
  65. package/standalone/.next/server/app/[locale]/jobs/[jobId]/page_client-reference-manifest.js +1 -1
  66. package/standalone/.next/server/app/[locale]/notifications/page.js.nft.json +1 -1
  67. package/standalone/.next/server/app/[locale]/notifications/page_client-reference-manifest.js +1 -1
  68. package/standalone/.next/server/app/[locale]/page.js.nft.json +1 -1
  69. package/standalone/.next/server/app/[locale]/page_client-reference-manifest.js +1 -1
  70. package/standalone/.next/server/app/[locale]/plans/[runId]/page.js.nft.json +1 -1
  71. package/standalone/.next/server/app/[locale]/plans/[runId]/page_client-reference-manifest.js +1 -1
  72. package/standalone/.next/server/app/[locale]/plans/page.js.nft.json +1 -1
  73. package/standalone/.next/server/app/[locale]/plans/page_client-reference-manifest.js +1 -1
  74. package/standalone/.next/server/app/[locale]/polling/page.js.nft.json +1 -1
  75. package/standalone/.next/server/app/[locale]/polling/page_client-reference-manifest.js +1 -1
  76. package/standalone/.next/server/app/[locale]/provisioning-profiles/[profileId]/page.js.nft.json +1 -1
  77. package/standalone/.next/server/app/[locale]/provisioning-profiles/[profileId]/page_client-reference-manifest.js +1 -1
  78. package/standalone/.next/server/app/[locale]/provisioning-profiles/page.js.nft.json +1 -1
  79. package/standalone/.next/server/app/[locale]/provisioning-profiles/page_client-reference-manifest.js +1 -1
  80. package/standalone/.next/server/app/[locale]/pull-requests/[owner]/[repository]/[number]/page.js.nft.json +1 -1
  81. package/standalone/.next/server/app/[locale]/pull-requests/[owner]/[repository]/[number]/page_client-reference-manifest.js +1 -1
  82. package/standalone/.next/server/app/[locale]/pull-requests/page.js.nft.json +1 -1
  83. package/standalone/.next/server/app/[locale]/pull-requests/page_client-reference-manifest.js +1 -1
  84. package/standalone/.next/server/app/[locale]/push-notifications/page.js.nft.json +1 -1
  85. package/standalone/.next/server/app/[locale]/push-notifications/page_client-reference-manifest.js +1 -1
  86. package/standalone/.next/server/app/[locale]/runs/new/page.js.nft.json +1 -1
  87. package/standalone/.next/server/app/[locale]/runs/new/page_client-reference-manifest.js +1 -1
  88. package/standalone/.next/server/app/[locale]/sessions/[runId]/page.js.nft.json +1 -1
  89. package/standalone/.next/server/app/[locale]/sessions/[runId]/page_client-reference-manifest.js +1 -1
  90. package/standalone/.next/server/app/[locale]/sessions/page.js.nft.json +1 -1
  91. package/standalone/.next/server/app/[locale]/sessions/page_client-reference-manifest.js +1 -1
  92. package/standalone/.next/server/app/[locale]/settings/page.js.nft.json +1 -1
  93. package/standalone/.next/server/app/[locale]/settings/page_client-reference-manifest.js +1 -1
  94. package/standalone/.next/server/app/[locale]/skills/[skillId]/page.js.nft.json +1 -1
  95. package/standalone/.next/server/app/[locale]/skills/[skillId]/page_client-reference-manifest.js +1 -1
  96. package/standalone/.next/server/app/[locale]/skills/groups/[groupId]/page.js.nft.json +1 -1
  97. package/standalone/.next/server/app/[locale]/skills/groups/[groupId]/page_client-reference-manifest.js +1 -1
  98. package/standalone/.next/server/app/[locale]/skills/groups/page.js.nft.json +1 -1
  99. package/standalone/.next/server/app/[locale]/skills/groups/page_client-reference-manifest.js +1 -1
  100. package/standalone/.next/server/app/[locale]/skills/page.js.nft.json +1 -1
  101. package/standalone/.next/server/app/[locale]/skills/page_client-reference-manifest.js +1 -1
  102. package/standalone/.next/server/app/[locale]/skills/sync/[runId]/page.js.nft.json +1 -1
  103. package/standalone/.next/server/app/[locale]/skills/sync/[runId]/page_client-reference-manifest.js +1 -1
  104. package/standalone/.next/server/app/[locale]/tools/page.js.nft.json +1 -1
  105. package/standalone/.next/server/app/[locale]/tools/page_client-reference-manifest.js +1 -1
  106. package/standalone/.next/server/app/[locale]/unified-events/page.js.nft.json +1 -1
  107. package/standalone/.next/server/app/[locale]/unified-events/page_client-reference-manifest.js +1 -1
  108. package/standalone/.next/server/app/[locale]/usage/page.js.nft.json +1 -1
  109. package/standalone/.next/server/app/[locale]/usage/page_client-reference-manifest.js +1 -1
  110. package/standalone/.next/server/app/[locale]/worktrees/[worktreeId]/page.js.nft.json +1 -1
  111. package/standalone/.next/server/app/[locale]/worktrees/[worktreeId]/page_client-reference-manifest.js +1 -1
  112. package/standalone/.next/server/app/[locale]/worktrees/page.js.nft.json +1 -1
  113. package/standalone/.next/server/app/[locale]/worktrees/page_client-reference-manifest.js +1 -1
  114. package/standalone/.next/server/app/_global-error.html +1 -1
  115. package/standalone/.next/server/app/_global-error.rsc +1 -1
  116. package/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  117. package/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  118. package/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  119. package/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  120. package/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  121. package/standalone/.next/server/app/_not-found.html +1 -1
  122. package/standalone/.next/server/app/_not-found.rsc +1 -1
  123. package/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  124. package/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  125. package/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  126. package/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  127. package/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  128. package/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  129. package/standalone/.next/server/app/api/agent/run-attachments/[attachmentId]/route.js +1 -1
  130. package/standalone/.next/server/app/api/agent/run-attachments/[attachmentId]/route.js.nft.json +1 -1
  131. package/standalone/.next/server/app/api/build-artifact-uploads/[uploadId]/route.js +1 -1
  132. package/standalone/.next/server/app/api/build-artifact-uploads/[uploadId]/route.js.nft.json +1 -1
  133. package/standalone/.next/server/app/api/codebases/by-path/route.js +1 -1
  134. package/standalone/.next/server/app/api/codebases/by-path/route.js.nft.json +1 -1
  135. package/standalone/.next/server/app/api/codebases/route.js +1 -1
  136. package/standalone/.next/server/app/api/codebases/route.js.nft.json +1 -1
  137. package/standalone/.next/server/app/api/graphql/route.js +1 -1
  138. package/standalone/.next/server/app/api/graphql/route.js.nft.json +1 -1
  139. package/standalone/.next/server/app/api/ios/apns-devices/route.js +1 -1
  140. package/standalone/.next/server/app/api/ios/apns-devices/route.js.nft.json +1 -1
  141. package/standalone/.next/server/app/api/ios/devices/export.tsv/route.js +1 -1
  142. package/standalone/.next/server/app/api/ios/devices/export.tsv/route.js.nft.json +1 -1
  143. package/standalone/.next/server/app/api/ios/enrollment/start/route.js +1 -1
  144. package/standalone/.next/server/app/api/ios/enrollment/start/route.js.nft.json +1 -1
  145. package/standalone/.next/server/app/api/mcp/route.js +1 -1
  146. package/standalone/.next/server/app/api/mcp/route.js.nft.json +1 -1
  147. package/standalone/.next/server/app/api/openapi.json/route.js +1 -1
  148. package/standalone/.next/server/app/api/openapi.json/route.js.nft.json +1 -1
  149. package/standalone/.next/server/app/api/public/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route.js +1 -1
  150. package/standalone/.next/server/app/api/public/builds/[buildId]/artifacts/[artifactId]/manifest.plist/route.js.nft.json +1 -1
  151. package/standalone/.next/server/app/api/public/builds/[buildId]/artifacts/[artifactId]/route.js +1 -1
  152. package/standalone/.next/server/app/api/public/builds/[buildId]/artifacts/[artifactId]/route.js.nft.json +1 -1
  153. package/standalone/.next/server/app/api/public/github/webhook/route.js +1 -1
  154. package/standalone/.next/server/app/api/public/github/webhook/route.js.nft.json +1 -1
  155. package/standalone/.next/server/app/api/public/ios/enrollment-profile/route.js +1 -1
  156. package/standalone/.next/server/app/api/public/ios/enrollment-profile/route.js.nft.json +1 -1
  157. package/standalone/.next/server/app/api/public/ios/profile-response/route.js +1 -1
  158. package/standalone/.next/server/app/api/public/ios/profile-response/route.js.nft.json +1 -1
  159. package/standalone/.next/server/app/api/run-attachments/[attachmentId]/route.js +1 -1
  160. package/standalone/.next/server/app/api/run-attachments/[attachmentId]/route.js.nft.json +1 -1
  161. package/standalone/.next/server/app/api/run-attachments/route.js +1 -1
  162. package/standalone/.next/server/app/api/run-attachments/route.js.nft.json +1 -1
  163. package/standalone/.next/server/app/api/telemetry/analytics-events/route.js +1 -1
  164. package/standalone/.next/server/app/api/telemetry/analytics-events/route.js.nft.json +1 -1
  165. package/standalone/.next/server/app/api/telemetry/console-logs/route.js +1 -1
  166. package/standalone/.next/server/app/api/telemetry/console-logs/route.js.nft.json +1 -1
  167. package/standalone/.next/server/app/api/telemetry/export/route.js +1 -1
  168. package/standalone/.next/server/app/api/telemetry/export/route.js.nft.json +1 -1
  169. package/standalone/.next/server/app/api/tools/call/route.js +1 -1
  170. package/standalone/.next/server/app/api/tools/call/route.js.nft.json +1 -1
  171. package/standalone/.next/server/app/api/tools/catalog/route.js +1 -1
  172. package/standalone/.next/server/app/api/tools/catalog/route.js.nft.json +1 -1
  173. package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route.js +1 -1
  174. package/standalone/.next/server/app/api/worktrees/[worktreeId]/diff-image/route.js.nft.json +1 -1
  175. package/standalone/.next/server/app-paths-manifest.json +1 -0
  176. package/standalone/.next/server/chunks/{[root-of-the-server]__0m6-kcg._.js → [root-of-the-server]__0-ktevp._.js} +2 -2
  177. package/standalone/.next/server/chunks/{[root-of-the-server]__06tm4sl._.js → [root-of-the-server]__0-zj-yf._.js} +1 -1
  178. package/standalone/.next/server/chunks/{[root-of-the-server]__0eili-e._.js → [root-of-the-server]__01nvzbq._.js} +2 -2
  179. package/standalone/.next/server/chunks/{[root-of-the-server]__0_87b17._.js → [root-of-the-server]__03orm-i._.js} +1 -1
  180. package/standalone/.next/server/chunks/{[root-of-the-server]__039ccw_._.js → [root-of-the-server]__04_a-p8._.js} +1 -1
  181. package/standalone/.next/server/chunks/{[root-of-the-server]__045avxp._.js → [root-of-the-server]__04sca_q._.js} +1 -1
  182. package/standalone/.next/server/chunks/{[root-of-the-server]__09vpqml._.js → [root-of-the-server]__04wnjxs._.js} +1 -1
  183. package/standalone/.next/server/chunks/{[root-of-the-server]__0dvn5ie._.js → [root-of-the-server]__04xapi4._.js} +1 -1
  184. package/standalone/.next/server/chunks/{[root-of-the-server]__00kk4vq._.js → [root-of-the-server]__04xwt6o._.js} +1 -1
  185. package/standalone/.next/server/chunks/{[root-of-the-server]__00rus46._.js → [root-of-the-server]__051yqe-._.js} +1 -1
  186. package/standalone/.next/server/chunks/{[root-of-the-server]__1tw_3no._.js → [root-of-the-server]__05pgm03._.js} +2 -2
  187. package/standalone/.next/server/chunks/{[root-of-the-server]__05vesnq._.js → [root-of-the-server]__05uug8c._.js} +1 -1
  188. package/standalone/.next/server/chunks/{[root-of-the-server]__026cujx._.js → [root-of-the-server]__064xuoi._.js} +1 -1
  189. package/standalone/.next/server/chunks/{[root-of-the-server]__0hwgatq._.js → [root-of-the-server]__06bc7-t._.js} +2 -2
  190. package/standalone/.next/server/chunks/{[root-of-the-server]__05iw4b6._.js → [root-of-the-server]__06hz_5m._.js} +1 -1
  191. package/standalone/.next/server/chunks/{[root-of-the-server]__079vs-o._.js → [root-of-the-server]__06qqqz4._.js} +1 -1
  192. package/standalone/.next/server/chunks/[root-of-the-server]__073_7pr._.js +3 -0
  193. package/standalone/.next/server/chunks/[root-of-the-server]__07ezodj._.js +3 -0
  194. package/standalone/.next/server/chunks/{[root-of-the-server]__0ammric._.js → [root-of-the-server]__07gz69e._.js} +1 -1
  195. package/standalone/.next/server/chunks/{[root-of-the-server]__0avv--n._.js → [root-of-the-server]__08ekn_k._.js} +1 -1
  196. package/standalone/.next/server/chunks/{[root-of-the-server]__06qq-80._.js → [root-of-the-server]__09v822g._.js} +1 -1
  197. package/standalone/.next/server/chunks/[root-of-the-server]__0_2v0r6._.js +3 -0
  198. package/standalone/.next/server/chunks/{[root-of-the-server]__0ev57uq._.js → [root-of-the-server]__0_elwh5._.js} +1 -1
  199. package/standalone/.next/server/chunks/[root-of-the-server]__0_uti3p._.js +3 -0
  200. package/standalone/.next/server/chunks/{[root-of-the-server]__04iwwa-._.js → [root-of-the-server]__0av34cc._.js} +2 -2
  201. package/standalone/.next/server/chunks/[root-of-the-server]__0be93bj._.js +3 -0
  202. package/standalone/.next/server/chunks/[root-of-the-server]__0bzypkl._.js +3 -0
  203. package/standalone/.next/server/chunks/{[root-of-the-server]__0lfudmf._.js → [root-of-the-server]__0ccm4vp._.js} +1 -1
  204. package/standalone/.next/server/chunks/{[root-of-the-server]__212svca._.js → [root-of-the-server]__0cfp7rm._.js} +2 -2
  205. package/standalone/.next/server/chunks/[root-of-the-server]__0d3jwu8._.js +3 -0
  206. package/standalone/.next/server/chunks/[root-of-the-server]__0dqd2cd._.js +3 -0
  207. package/standalone/.next/server/chunks/[root-of-the-server]__0e3sw2f._.js +3 -0
  208. package/standalone/.next/server/chunks/[root-of-the-server]__0ehmsw5._.js +3 -0
  209. package/standalone/.next/server/chunks/[root-of-the-server]__0ey9b8q._.js +3 -0
  210. package/standalone/.next/server/chunks/[root-of-the-server]__0hxwzy5._.js +3 -0
  211. package/standalone/.next/server/chunks/{[root-of-the-server]__00pn80i._.js → [root-of-the-server]__0i46cc8._.js} +2 -2
  212. package/standalone/.next/server/chunks/{[root-of-the-server]__1mkh-uu._.js → [root-of-the-server]__0ii54f8._.js} +2 -2
  213. package/standalone/.next/server/chunks/[root-of-the-server]__0k5hi4x._.js +3 -0
  214. package/standalone/.next/server/chunks/[root-of-the-server]__0lk6mxj._.js +3 -0
  215. package/standalone/.next/server/chunks/{[root-of-the-server]__1nozyf6._.js → [root-of-the-server]__0miujba._.js} +2 -2
  216. package/standalone/.next/server/chunks/[root-of-the-server]__0qbgbqj._.js +3 -0
  217. package/standalone/.next/server/chunks/[root-of-the-server]__0qc5tar._.js +3 -0
  218. package/standalone/.next/server/chunks/[root-of-the-server]__0rland0._.js +3 -0
  219. package/standalone/.next/server/chunks/{[root-of-the-server]__1_sflnn._.js → [root-of-the-server]__0rsjbt9._.js} +2 -2
  220. package/standalone/.next/server/chunks/[root-of-the-server]__0u67sg7._.js +3 -0
  221. package/standalone/.next/server/chunks/[root-of-the-server]__0ubhe7w._.js +3 -0
  222. package/standalone/.next/server/chunks/[root-of-the-server]__0ue-6s0._.js +3 -0
  223. package/standalone/.next/server/chunks/[root-of-the-server]__0uyhbd8._.js +3 -0
  224. package/standalone/.next/server/chunks/[root-of-the-server]__0v_qn14._.js +3 -0
  225. package/standalone/.next/server/chunks/{[root-of-the-server]__0oef7yv._.js → [root-of-the-server]__0vgjzu_._.js} +2 -2
  226. package/standalone/.next/server/chunks/{[root-of-the-server]__0t1ryja._.js → [root-of-the-server]__0vs63nv._.js} +2 -2
  227. package/standalone/.next/server/chunks/{[root-of-the-server]__0ujfqqn._.js → [root-of-the-server]__0vuegxj._.js} +1 -1
  228. package/standalone/.next/server/chunks/[root-of-the-server]__0wc19bn._.js +3 -0
  229. package/standalone/.next/server/chunks/[root-of-the-server]__0xhhfqn._.js +3 -0
  230. package/standalone/.next/server/chunks/[root-of-the-server]__0xuga9u._.js +3 -0
  231. package/standalone/.next/server/chunks/[root-of-the-server]__1-b8mhr._.js +3 -0
  232. package/standalone/.next/server/chunks/[root-of-the-server]__1-vesoj._.js +3 -0
  233. package/standalone/.next/server/chunks/[root-of-the-server]__10jq5fz._.js +3 -0
  234. package/standalone/.next/server/chunks/[root-of-the-server]__11adyal._.js +3 -0
  235. package/standalone/.next/server/chunks/[root-of-the-server]__11v9z03._.js +3 -0
  236. package/standalone/.next/server/chunks/{[root-of-the-server]__03yxfwh._.js → [root-of-the-server]__12qoy0t._.js} +2 -2
  237. package/standalone/.next/server/chunks/{[root-of-the-server]__0uq2mf_._.js → [root-of-the-server]__13olq7t._.js} +2 -2
  238. package/standalone/.next/server/chunks/[root-of-the-server]__13z4o0y._.js +3 -0
  239. package/standalone/.next/server/chunks/[root-of-the-server]__14flk9w._.js +3 -0
  240. package/standalone/.next/server/chunks/[root-of-the-server]__14p4_xo._.js +3 -0
  241. package/standalone/.next/server/chunks/{[root-of-the-server]__1attksp._.js → [root-of-the-server]__14x4hy5._.js} +2 -2
  242. package/standalone/.next/server/chunks/[root-of-the-server]__16yif_j._.js +3 -0
  243. package/standalone/.next/server/chunks/[root-of-the-server]__17_i51a._.js +3 -0
  244. package/standalone/.next/server/chunks/[root-of-the-server]__17fmydy._.js +3 -0
  245. package/standalone/.next/server/chunks/[root-of-the-server]__17uilh6._.js +3 -0
  246. package/standalone/.next/server/chunks/{[root-of-the-server]__11hjzc0._.js → [root-of-the-server]__183_4dj._.js} +2 -2
  247. package/standalone/.next/server/chunks/[root-of-the-server]__18p4ewi._.js +3 -0
  248. package/standalone/.next/server/chunks/[root-of-the-server]__190kf-7._.js +3 -0
  249. package/standalone/.next/server/chunks/[root-of-the-server]__1_t7_qf._.js +3 -0
  250. package/standalone/.next/server/chunks/[root-of-the-server]__1_tq9n2._.js +3 -0
  251. package/standalone/.next/server/chunks/[root-of-the-server]__1b8ar_b._.js +3 -0
  252. package/standalone/.next/server/chunks/[root-of-the-server]__1b_j3xv._.js +3 -0
  253. package/standalone/.next/server/chunks/[root-of-the-server]__1cj96fo._.js +3 -0
  254. package/standalone/.next/server/chunks/[root-of-the-server]__1dvcmqw._.js +3 -0
  255. package/standalone/.next/server/chunks/[root-of-the-server]__1gcfshm._.js +3 -0
  256. package/standalone/.next/server/chunks/[root-of-the-server]__1gen-el._.js +3 -0
  257. package/standalone/.next/server/chunks/[root-of-the-server]__1gonl53._.js +3 -0
  258. package/standalone/.next/server/chunks/[root-of-the-server]__1hst7ec._.js +3 -0
  259. package/standalone/.next/server/chunks/[root-of-the-server]__1hvcd1x._.js +3 -0
  260. package/standalone/.next/server/chunks/[root-of-the-server]__1kajbb_._.js +3 -0
  261. package/standalone/.next/server/chunks/[root-of-the-server]__1kj1ln5._.js +3 -0
  262. package/standalone/.next/server/chunks/[root-of-the-server]__1l9-hc6._.js +3 -0
  263. package/standalone/.next/server/chunks/[root-of-the-server]__1lgant0._.js +3 -0
  264. package/standalone/.next/server/chunks/[root-of-the-server]__1na8-n6._.js +3 -0
  265. package/standalone/.next/server/chunks/[root-of-the-server]__1ottisz._.js +3 -0
  266. package/standalone/.next/server/chunks/[root-of-the-server]__1shxc8n._.js +3 -0
  267. package/standalone/.next/server/chunks/[root-of-the-server]__1tvvhzn._.js +3 -0
  268. package/standalone/.next/server/chunks/{[root-of-the-server]__1yam92a._.js → [root-of-the-server]__1ummn4p._.js} +2 -2
  269. package/standalone/.next/server/chunks/[root-of-the-server]__1v-dnat._.js +3 -0
  270. package/standalone/.next/server/chunks/[root-of-the-server]__1wdw3t2._.js +3 -0
  271. package/standalone/.next/server/chunks/[root-of-the-server]__1wdye-x._.js +3 -0
  272. package/standalone/.next/server/chunks/[root-of-the-server]__1wjvdyz._.js +3 -0
  273. package/standalone/.next/server/chunks/{[root-of-the-server]__06dbyo-._.js → [root-of-the-server]__1xnwo73._.js} +2 -2
  274. package/standalone/.next/server/chunks/{[root-of-the-server]__0v0oh52._.js → [root-of-the-server]__1yi_2qs._.js} +2 -2
  275. package/standalone/.next/server/chunks/{[root-of-the-server]__0axi_lh._.js → [root-of-the-server]__1yim97_._.js} +1 -1
  276. package/standalone/.next/server/chunks/[root-of-the-server]__1zcjrka._.js +3 -0
  277. package/standalone/.next/server/chunks/{[root-of-the-server]__08bpdlj._.js → [root-of-the-server]__1zrp8nv._.js} +2 -2
  278. package/standalone/.next/server/chunks/[root-of-the-server]__2125ewz._.js +3 -0
  279. package/standalone/.next/server/chunks/_0151la8._.js +1 -1
  280. package/standalone/.next/server/chunks/_01p5vu2._.js +1 -1
  281. package/standalone/.next/server/chunks/_07bbzzn._.js +1 -1
  282. package/standalone/.next/server/chunks/_0_3-lke._.js +88 -1
  283. package/standalone/.next/server/chunks/_0g1xb8v._.js +1 -1
  284. package/standalone/.next/server/chunks/_11p_tgb._.js +1 -1
  285. package/standalone/.next/server/chunks/_17e45g_._.js +1 -1
  286. package/standalone/.next/server/chunks/_1hmzed-._.js +192 -105
  287. package/standalone/.next/server/chunks/_1ioi8na._.js +1 -1
  288. package/standalone/.next/server/chunks/_1m96-gv._.js +1 -1
  289. package/standalone/.next/server/chunks/_1r_e2vq._.js +1 -1
  290. package/standalone/.next/server/chunks/_1xr-3kb._.js +1 -1
  291. package/standalone/.next/server/chunks/src_services_runs_index_ts_0_l1wkt._.js +5 -5
  292. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__03mx68i._.js +35 -0
  293. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__06_k1v8._.js +55 -0
  294. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ik85du._.js +35 -0
  295. package/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1wsrjus._.js → [root-of-the-server]__0lavdf4._.js} +2 -2
  296. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0lgqolk._.js +3 -0
  297. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0o4j_p7._.js +3 -0
  298. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0usqx1k._.js +3 -0
  299. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__1bpbvfj._.js +3 -0
  300. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__1iccye4._.js +3 -0
  301. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__1m28j8h._.js +50 -0
  302. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__1qatu4i._.js +55 -0
  303. package/standalone/.next/server/chunks/ssr/_0-zp1-t._.js +24 -0
  304. package/standalone/.next/server/chunks/ssr/_01gprkf._.js +3 -0
  305. package/standalone/.next/server/chunks/ssr/_02ku0-d._.js +3 -0
  306. package/standalone/.next/server/chunks/ssr/_04de9zy._.js +22 -0
  307. package/standalone/.next/server/chunks/ssr/_06iu0wl._.js +14 -0
  308. package/standalone/.next/server/chunks/ssr/_09fzzrw._.js +3 -0
  309. package/standalone/.next/server/chunks/ssr/_0_l0f-3._.js +3 -0
  310. package/standalone/.next/server/chunks/ssr/_0c0xiut._.js +3 -3
  311. package/standalone/.next/server/chunks/ssr/{_1-kqme0._.js → _0egs9gy._.js} +2 -2
  312. package/standalone/.next/server/chunks/ssr/_0f77vgb._.js +3 -3
  313. package/standalone/.next/server/chunks/ssr/_0fxzy4k._.js +25 -0
  314. package/standalone/.next/server/chunks/ssr/_0kp9tyy._.js +3 -0
  315. package/standalone/.next/server/chunks/ssr/_0mbgqw2._.js +3 -0
  316. package/standalone/.next/server/chunks/ssr/_0nlc7lw._.js +3 -0
  317. package/standalone/.next/server/chunks/ssr/_0o60joc._.js +3 -0
  318. package/standalone/.next/server/chunks/ssr/_0o6a-0c._.js +3 -0
  319. package/standalone/.next/server/chunks/ssr/_0p296dl._.js +3 -0
  320. package/standalone/.next/server/chunks/ssr/_0qilx29._.js +3 -0
  321. package/standalone/.next/server/chunks/ssr/_0qt0tus._.js +34 -0
  322. package/standalone/.next/server/chunks/ssr/_0vyqwim._.js +3 -0
  323. package/standalone/.next/server/chunks/ssr/_0xquvzm._.js +3 -0
  324. package/standalone/.next/server/chunks/ssr/_0y39xwb._.js +11 -0
  325. package/standalone/.next/server/chunks/ssr/_0zush3e._.js +3 -0
  326. package/standalone/.next/server/chunks/ssr/_12xqut4._.js +3 -0
  327. package/standalone/.next/server/chunks/ssr/_1337yek._.js +3 -0
  328. package/standalone/.next/server/chunks/ssr/_15cf0-b._.js +3 -0
  329. package/standalone/.next/server/chunks/ssr/_15p60kc._.js +3 -0
  330. package/standalone/.next/server/chunks/ssr/_17dj9--._.js +3 -0
  331. package/standalone/.next/server/chunks/ssr/_1_z-mrp._.js +3 -0
  332. package/standalone/.next/server/chunks/ssr/_1btalzp._.js +3 -0
  333. package/standalone/.next/server/chunks/ssr/_1bxaf69._.js +3 -0
  334. package/standalone/.next/server/chunks/ssr/_1dwrw9s._.js +3 -0
  335. package/standalone/.next/server/chunks/ssr/{_0ov6iy1._.js → _1ejg55c._.js} +2 -2
  336. package/standalone/.next/server/chunks/ssr/_1glp2ss._.js +24 -0
  337. package/standalone/.next/server/chunks/ssr/_1hisxge._.js +3 -0
  338. package/standalone/.next/server/chunks/ssr/_1kstox-._.js +3 -0
  339. package/standalone/.next/server/chunks/ssr/_1m5s4f8._.js +3 -0
  340. package/standalone/.next/server/chunks/ssr/_1qtzca_._.js +3 -0
  341. package/standalone/.next/server/chunks/ssr/{_1kysa5a._.js → _1s5bp9h._.js} +2 -2
  342. package/standalone/.next/server/chunks/ssr/_1wb78d8._.js +34 -0
  343. package/standalone/.next/server/chunks/ssr/_1y5d9t8._.js +6 -0
  344. package/standalone/.next/server/chunks/ssr/_1zgu74l._.js +7 -7
  345. package/standalone/.next/server/chunks/ssr/{_1j_ku-q._.js → _20lnu8x._.js} +2 -2
  346. package/standalone/.next/server/chunks/ssr/{_03lk450._.js → _20wicqx._.js} +3 -3
  347. package/standalone/.next/server/chunks/ssr/_next-internal_server_app_[locale]_costs_page_actions_16fdpkb.js +3 -0
  348. package/standalone/.next/server/chunks/ssr/messages_de_json_[json]_cjs_1uig1ud._.js +1 -1
  349. package/standalone/.next/server/chunks/ssr/messages_en_json_[json]_cjs_206072-._.js +1 -1
  350. package/standalone/.next/server/chunks/ssr/messages_es_json_[json]_cjs_082yukd._.js +1 -1
  351. package/standalone/.next/server/chunks/ssr/messages_fr_json_[json]_cjs_0j6-w0i._.js +1 -1
  352. package/standalone/.next/server/chunks/ssr/node_modules_0j8c3kh._.js +3 -0
  353. package/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_1ghuygj._.js +3 -0
  354. package/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_1x2xg00._.js +3 -0
  355. package/standalone/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0kifgf3.js +4 -0
  356. package/standalone/.next/server/chunks/ssr/src_components_builds_configuration-icon_tsx_1v42ztc._.js +1 -1
  357. package/standalone/.next/server/chunks/ssr/src_components_builds_coverage-report-page_tsx_1nhwba1._.js +2 -2
  358. package/standalone/.next/server/chunks/ssr/src_components_notifications_notifications-page_tsx_19f4ztg._.js +1 -1
  359. package/standalone/.next/server/chunks/ssr/src_components_push-notifications_push-notifications-page_tsx_1c_b-t4._.js +2 -2
  360. package/standalone/.next/server/chunks/ssr/src_components_runs_attachment-picker_tsx_0netm9l._.js +1 -1
  361. package/standalone/.next/server/chunks/ssr/src_components_runs_run-detail-page_tsx_0eje87-._.js +1 -1
  362. package/standalone/.next/server/chunks/ssr/src_components_runs_runs-page_tsx_0l5-7eu._.js +1 -1
  363. package/standalone/.next/server/chunks/ssr/src_components_settings-page_tsx_06dxqc7._.js +5 -5
  364. package/standalone/.next/server/chunks/ssr/src_components_tools_tools-page_tsx_0k1jqcz._.js +2 -2
  365. package/standalone/.next/server/middleware-build-manifest.js +3 -3
  366. package/standalone/.next/server/next-font-manifest.js +1 -1
  367. package/standalone/.next/server/next-font-manifest.json +4 -0
  368. package/standalone/.next/server/pages/404.html +1 -1
  369. package/standalone/.next/server/pages/500.html +1 -1
  370. package/standalone/.next/server/server-reference-manifest.js +1 -1
  371. package/standalone/.next/server/server-reference-manifest.json +1 -1
  372. package/standalone/.next/static/chunks/{3b8uo25m50np4.js → 00-wgagfa3jgw.js} +6 -6
  373. package/standalone/.next/static/chunks/{1_zvnvft13-co.js → 0269se70im5oy.js} +1 -1
  374. package/standalone/.next/static/chunks/06ww4smr4x1rf.js +46 -0
  375. package/standalone/.next/static/chunks/0ad6f15x10087.js +31 -0
  376. package/standalone/.next/static/chunks/{04gmuff_hq-a2.js → 0gi1rut09px9z.js} +1 -1
  377. package/standalone/.next/static/chunks/0hhv79fjnhx0r.js +1 -0
  378. package/standalone/.next/static/chunks/0koiigzfqaaxm.js +6 -0
  379. package/standalone/.next/static/chunks/0lz2yyevf796v.js +57 -0
  380. package/standalone/.next/static/chunks/{12rdpylf5_1s1.js → 0n_3nenvq-cdq.js} +1 -1
  381. package/standalone/.next/static/chunks/{2g3hfv0bu6-ac.js → 0nsdo6d126qko.js} +1 -1
  382. package/standalone/.next/static/chunks/0tydvosk1yzd3.js +9 -0
  383. package/standalone/.next/static/chunks/{11rdgo_6b41l1.js → 0vh2j_0-i7_4a.js} +2 -2
  384. package/standalone/.next/static/chunks/0x7ht_1kzfirv.js +3 -0
  385. package/standalone/.next/static/chunks/{2lgln0a2k277h.js → 0xge_x1_gyy-7.js} +1 -1
  386. package/standalone/.next/static/chunks/0y9oq83e4ty93.js +29 -0
  387. package/standalone/.next/static/chunks/10ugqh884daci.js +67 -0
  388. package/standalone/.next/static/chunks/167jr5pbpylis.js +7 -0
  389. package/standalone/.next/static/chunks/{2vjc_-wvtw1hf.js → 18rpe2d8mq3kd.js} +3 -3
  390. package/standalone/.next/static/chunks/1c285hxt_qxlx.js +46 -0
  391. package/standalone/.next/static/chunks/1f3ggqgs3erm7.js +41 -0
  392. package/standalone/.next/static/chunks/1f3hspf4q04c7.js +1 -0
  393. package/standalone/.next/static/chunks/1g8c1oh-w22rr.js +54 -0
  394. package/standalone/.next/static/chunks/1h680dhlld_lc.js +33 -0
  395. package/standalone/.next/static/chunks/1hymkpu62xhp8.js +33 -0
  396. package/standalone/.next/static/chunks/{12kemc9g02r2c.js → 1l-ift-80ao1c.js} +1 -1
  397. package/standalone/.next/static/chunks/1nz8ddeplq5hs.js +1 -0
  398. package/standalone/.next/static/chunks/1qecuivo6a47u.css +1 -0
  399. package/standalone/.next/static/chunks/1r9r_g25rp8ak.js +23 -0
  400. package/standalone/.next/static/chunks/{0x7pt5btcphku.js → 1uwz2ko2jqwtz.js} +1 -1
  401. package/standalone/.next/static/chunks/1v5zb8ln1rz2d.js +1 -0
  402. package/standalone/.next/static/chunks/{0ai0x7vc1931l.js → 1xjs526g101xh.js} +1 -1
  403. package/standalone/.next/static/chunks/{3369nhs1_otwi.js → 2-duyp_kl5qx9.js} +1 -1
  404. package/standalone/.next/static/chunks/{3roht5nbja0a_.js → 21di8-zv-5qvx.js} +18 -18
  405. package/standalone/.next/static/chunks/22d7hj9vwqj9p.js +1 -0
  406. package/standalone/.next/static/chunks/{1lnlrcypmvv5h.js → 24jkxx9dbxh1h.js} +1 -1
  407. package/standalone/.next/static/chunks/{3pj0v38s6yr9s.js → 28vxarecfoquo.js} +4 -4
  408. package/standalone/.next/static/chunks/28z95ky0z7tkb.js +10 -0
  409. package/standalone/.next/static/chunks/2ayopd7367rqs.js +41 -0
  410. package/standalone/.next/static/chunks/2azupfg2-5j-p.js +1 -0
  411. package/standalone/.next/static/chunks/2brlnpt__4ftd.js +1 -0
  412. package/standalone/.next/static/chunks/2k_pfyxmtuoy5.js +1 -0
  413. package/standalone/.next/static/chunks/2km-n4_gmq7cl.js +1 -0
  414. package/standalone/.next/static/chunks/2llvq19x9do52.js +9 -0
  415. package/standalone/.next/static/chunks/{1biwep24jyw3_.js → 2qedr2wefau4t.js} +1 -1
  416. package/standalone/.next/static/chunks/2wb15vf48-edn.js +92 -0
  417. package/standalone/.next/static/chunks/{0b33bs18huezl.js → 2x2_7-5jm0gme.js} +15 -15
  418. package/standalone/.next/static/chunks/2yjrhue4lxrng.js +1 -0
  419. package/standalone/.next/static/chunks/324kabhuasm-p.js +53 -0
  420. package/standalone/.next/static/chunks/34jvsrj9xubhb.js +1 -0
  421. package/standalone/.next/static/chunks/38oh9ov0j80rj.js +12 -0
  422. package/standalone/.next/static/chunks/{42n596b3nvu1d.js → 38z6ydb1jtugp.js} +9 -9
  423. package/standalone/.next/static/chunks/{06ko8c02ly6ua.js → 3b7o_8v0u__4p.js} +1 -1
  424. package/standalone/.next/static/chunks/3e31jo--0j7bd.js +1 -0
  425. package/standalone/.next/static/chunks/3llt9fqdrs6_3.js +7 -0
  426. package/standalone/.next/static/chunks/3m3riu0uoz_w0.js +64 -0
  427. package/standalone/.next/static/chunks/3s_cg15bmegsq.js +64 -0
  428. package/standalone/.next/static/chunks/{1il4firsh2p_o.js → 3tulld0sh2yxv.js} +1 -1
  429. package/standalone/.next/static/chunks/3zr5h7dm94-d3.js +1 -0
  430. package/standalone/.next/server/chunks/[root-of-the-server]__082mwbz._.js +0 -3
  431. package/standalone/.next/server/chunks/[root-of-the-server]__08rs4kl._.js +0 -3
  432. package/standalone/.next/server/chunks/[root-of-the-server]__0ejd120._.js +0 -3
  433. package/standalone/.next/server/chunks/[root-of-the-server]__0epw197._.js +0 -3
  434. package/standalone/.next/server/chunks/[root-of-the-server]__0erekw9._.js +0 -3
  435. package/standalone/.next/server/chunks/[root-of-the-server]__0l8fuzs._.js +0 -3
  436. package/standalone/.next/server/chunks/[root-of-the-server]__0m09s9s._.js +0 -3
  437. package/standalone/.next/server/chunks/[root-of-the-server]__0o4kf3w._.js +0 -3
  438. package/standalone/.next/server/chunks/[root-of-the-server]__0q7pwvx._.js +0 -3
  439. package/standalone/.next/server/chunks/[root-of-the-server]__0quwt4e._.js +0 -3
  440. package/standalone/.next/server/chunks/[root-of-the-server]__0r2qqym._.js +0 -3
  441. package/standalone/.next/server/chunks/[root-of-the-server]__0rafxyp._.js +0 -3
  442. package/standalone/.next/server/chunks/[root-of-the-server]__0rxa3sz._.js +0 -3
  443. package/standalone/.next/server/chunks/[root-of-the-server]__0sxnukz._.js +0 -3
  444. package/standalone/.next/server/chunks/[root-of-the-server]__0tck2gw._.js +0 -3
  445. package/standalone/.next/server/chunks/[root-of-the-server]__0upntz8._.js +0 -3
  446. package/standalone/.next/server/chunks/[root-of-the-server]__0w7u33h._.js +0 -3
  447. package/standalone/.next/server/chunks/[root-of-the-server]__0wccpuq._.js +0 -3
  448. package/standalone/.next/server/chunks/[root-of-the-server]__0wq5_-0._.js +0 -3
  449. package/standalone/.next/server/chunks/[root-of-the-server]__0x8p1h0._.js +0 -3
  450. package/standalone/.next/server/chunks/[root-of-the-server]__0yq7gle._.js +0 -3
  451. package/standalone/.next/server/chunks/[root-of-the-server]__0yvl0kj._.js +0 -3
  452. package/standalone/.next/server/chunks/[root-of-the-server]__0yyj4bs._.js +0 -3
  453. package/standalone/.next/server/chunks/[root-of-the-server]__1-q8hnm._.js +0 -3
  454. package/standalone/.next/server/chunks/[root-of-the-server]__11i-u3m._.js +0 -3
  455. package/standalone/.next/server/chunks/[root-of-the-server]__11wdfkm._.js +0 -3
  456. package/standalone/.next/server/chunks/[root-of-the-server]__13-bmbg._.js +0 -3
  457. package/standalone/.next/server/chunks/[root-of-the-server]__14sr2n9._.js +0 -3
  458. package/standalone/.next/server/chunks/[root-of-the-server]__15zrchx._.js +0 -3
  459. package/standalone/.next/server/chunks/[root-of-the-server]__17im3wm._.js +0 -3
  460. package/standalone/.next/server/chunks/[root-of-the-server]__17j6ax7._.js +0 -3
  461. package/standalone/.next/server/chunks/[root-of-the-server]__19bpnrg._.js +0 -3
  462. package/standalone/.next/server/chunks/[root-of-the-server]__19y6-lp._.js +0 -3
  463. package/standalone/.next/server/chunks/[root-of-the-server]__1_8gar4._.js +0 -3
  464. package/standalone/.next/server/chunks/[root-of-the-server]__1_m78-y._.js +0 -3
  465. package/standalone/.next/server/chunks/[root-of-the-server]__1_osj_0._.js +0 -3
  466. package/standalone/.next/server/chunks/[root-of-the-server]__1_xtyhp._.js +0 -3
  467. package/standalone/.next/server/chunks/[root-of-the-server]__1ba1y6w._.js +0 -3
  468. package/standalone/.next/server/chunks/[root-of-the-server]__1d-p62y._.js +0 -3
  469. package/standalone/.next/server/chunks/[root-of-the-server]__1e2tfpn._.js +0 -3
  470. package/standalone/.next/server/chunks/[root-of-the-server]__1fw5scf._.js +0 -3
  471. package/standalone/.next/server/chunks/[root-of-the-server]__1g0rhrl._.js +0 -3
  472. package/standalone/.next/server/chunks/[root-of-the-server]__1h6a01c._.js +0 -3
  473. package/standalone/.next/server/chunks/[root-of-the-server]__1i54hfr._.js +0 -3
  474. package/standalone/.next/server/chunks/[root-of-the-server]__1ismp8w._.js +0 -3
  475. package/standalone/.next/server/chunks/[root-of-the-server]__1kgh2tn._.js +0 -3
  476. package/standalone/.next/server/chunks/[root-of-the-server]__1l0a05x._.js +0 -3
  477. package/standalone/.next/server/chunks/[root-of-the-server]__1levtv0._.js +0 -3
  478. package/standalone/.next/server/chunks/[root-of-the-server]__1mk80rh._.js +0 -3
  479. package/standalone/.next/server/chunks/[root-of-the-server]__1n58dbx._.js +0 -3
  480. package/standalone/.next/server/chunks/[root-of-the-server]__1nxvyuj._.js +0 -3
  481. package/standalone/.next/server/chunks/[root-of-the-server]__1o4ho5v._.js +0 -3
  482. package/standalone/.next/server/chunks/[root-of-the-server]__1osqj7h._.js +0 -3
  483. package/standalone/.next/server/chunks/[root-of-the-server]__1oxgsjg._.js +0 -3
  484. package/standalone/.next/server/chunks/[root-of-the-server]__1r9m70u._.js +0 -3
  485. package/standalone/.next/server/chunks/[root-of-the-server]__1t1-ozx._.js +0 -3
  486. package/standalone/.next/server/chunks/[root-of-the-server]__1tj3th9._.js +0 -3
  487. package/standalone/.next/server/chunks/[root-of-the-server]__1v_176-._.js +0 -3
  488. package/standalone/.next/server/chunks/[root-of-the-server]__1wnx190._.js +0 -3
  489. package/standalone/.next/server/chunks/[root-of-the-server]__1wsm3gj._.js +0 -3
  490. package/standalone/.next/server/chunks/[root-of-the-server]__1ygwh5f._.js +0 -3
  491. package/standalone/.next/server/chunks/[root-of-the-server]__205s18n._.js +0 -3
  492. package/standalone/.next/server/chunks/[root-of-the-server]__20m339t._.js +0 -3
  493. package/standalone/.next/server/chunks/[root-of-the-server]__216tiae._.js +0 -3
  494. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0__ku3o._.js +0 -35
  495. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0f7usu6._.js +0 -3
  496. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0fa4g67._.js +0 -3
  497. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ybu1dj._.js +0 -3
  498. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ywelz9._.js +0 -55
  499. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__114998b._.js +0 -3
  500. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__144jx4y._.js +0 -35
  501. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__17mewsc._.js +0 -3
  502. package/standalone/.next/server/chunks/ssr/[root-of-the-server]__1lx9kov._.js +0 -50
  503. package/standalone/.next/server/chunks/ssr/_03edwuc._.js +0 -3
  504. package/standalone/.next/server/chunks/ssr/_03mo_w3._.js +0 -3
  505. package/standalone/.next/server/chunks/ssr/_065924f._.js +0 -3
  506. package/standalone/.next/server/chunks/ssr/_0a8xyjk._.js +0 -34
  507. package/standalone/.next/server/chunks/ssr/_0dsosms._.js +0 -34
  508. package/standalone/.next/server/chunks/ssr/_0kx9ux4._.js +0 -3
  509. package/standalone/.next/server/chunks/ssr/_0la2zju._.js +0 -3
  510. package/standalone/.next/server/chunks/ssr/_0mcyq3z._.js +0 -3
  511. package/standalone/.next/server/chunks/ssr/_0ocxapn._.js +0 -3
  512. package/standalone/.next/server/chunks/ssr/_0p03tt8._.js +0 -3
  513. package/standalone/.next/server/chunks/ssr/_0qi9ubx._.js +0 -3
  514. package/standalone/.next/server/chunks/ssr/_0s55i9k._.js +0 -3
  515. package/standalone/.next/server/chunks/ssr/_0w5dl6y._.js +0 -3
  516. package/standalone/.next/server/chunks/ssr/_1-3kr_6._.js +0 -3
  517. package/standalone/.next/server/chunks/ssr/_1-h8fzh._.js +0 -24
  518. package/standalone/.next/server/chunks/ssr/_15_tlq_._.js +0 -6
  519. package/standalone/.next/server/chunks/ssr/_1_-b2as._.js +0 -24
  520. package/standalone/.next/server/chunks/ssr/_1ax0n4o._.js +0 -3
  521. package/standalone/.next/server/chunks/ssr/_1bedv0f._.js +0 -3
  522. package/standalone/.next/server/chunks/ssr/_1cg5e7d._.js +0 -55
  523. package/standalone/.next/server/chunks/ssr/_1dre7jj._.js +0 -9
  524. package/standalone/.next/server/chunks/ssr/_1h8h0mh._.js +0 -3
  525. package/standalone/.next/server/chunks/ssr/_1j6x49s._.js +0 -3
  526. package/standalone/.next/server/chunks/ssr/_1m3mq_d._.js +0 -42
  527. package/standalone/.next/server/chunks/ssr/_1q7k2_j._.js +0 -3
  528. package/standalone/.next/server/chunks/ssr/_1qanfz-._.js +0 -3
  529. package/standalone/.next/server/chunks/ssr/_1qu6yg5._.js +0 -3
  530. package/standalone/.next/server/chunks/ssr/_1rgxkh5._.js +0 -3
  531. package/standalone/.next/server/chunks/ssr/_1rqv83r._.js +0 -3
  532. package/standalone/.next/server/chunks/ssr/_1sn2hfw._.js +0 -14
  533. package/standalone/.next/server/chunks/ssr/_1w9iqqu._.js +0 -3
  534. package/standalone/.next/server/chunks/ssr/_1y1-frz._.js +0 -22
  535. package/standalone/.next/server/chunks/ssr/_1zfs9qf._.js +0 -3
  536. package/standalone/.next/server/chunks/ssr/_1zxg4ba._.js +0 -3
  537. package/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_0qgkxbt._.js +0 -3
  538. package/standalone/.next/static/chunks/08q6vr-p-cstj.js +0 -29
  539. package/standalone/.next/static/chunks/0_zeonk2mtnf-.js +0 -1
  540. package/standalone/.next/static/chunks/0buuj5lld90he.css +0 -1
  541. package/standalone/.next/static/chunks/0bviczmoov5a2.js +0 -1
  542. package/standalone/.next/static/chunks/0ff5gudlpx2v5.js +0 -1
  543. package/standalone/.next/static/chunks/0piy74xklzjfr.js +0 -62
  544. package/standalone/.next/static/chunks/1-eifwvqj9be1.js +0 -1
  545. package/standalone/.next/static/chunks/11jwq4xw0a435.js +0 -64
  546. package/standalone/.next/static/chunks/17uchsfglg1ck.js +0 -73
  547. package/standalone/.next/static/chunks/1_82pgfh8i49s.js +0 -1
  548. package/standalone/.next/static/chunks/1t3vla-ambxbp.js +0 -6
  549. package/standalone/.next/static/chunks/1uc144yy_2oye.js +0 -3
  550. package/standalone/.next/static/chunks/2358pwl17z6qf.js +0 -41
  551. package/standalone/.next/static/chunks/25ugyd34t2mrk.js +0 -1
  552. package/standalone/.next/static/chunks/28lukaj4hpvlk.js +0 -63
  553. package/standalone/.next/static/chunks/2efb8ggk_k58p.js +0 -53
  554. package/standalone/.next/static/chunks/2eidepo22ts0u.js +0 -1
  555. package/standalone/.next/static/chunks/2hd3kczfekev9.js +0 -12
  556. package/standalone/.next/static/chunks/2k1pvryqz_c4u.js +0 -1
  557. package/standalone/.next/static/chunks/2nzg7au4ezqgc.js +0 -109
  558. package/standalone/.next/static/chunks/2ub8d_20l7ahg.js +0 -54
  559. package/standalone/.next/static/chunks/2v3vffkcv30_q.js +0 -8
  560. package/standalone/.next/static/chunks/2y3inehs64srx.js +0 -39
  561. package/standalone/.next/static/chunks/2z2vm371tkfeo.js +0 -39
  562. package/standalone/.next/static/chunks/3-8aipql92ik4.js +0 -46
  563. package/standalone/.next/static/chunks/3-doerwkk9tw0.js +0 -57
  564. package/standalone/.next/static/chunks/300j0k53l2xf4.js +0 -7
  565. package/standalone/.next/static/chunks/38cr_upvs02u3.js +0 -10
  566. package/standalone/.next/static/chunks/3ev0nt_zzxoc6.js +0 -1
  567. package/standalone/.next/static/chunks/3he_se7z8qr9v.js +0 -1
  568. package/standalone/.next/static/chunks/3w11s4sn96-rw.js +0 -1
  569. package/standalone/.next/static/chunks/3ylqdy-23qzuz.js +0 -54
  570. package/standalone/.next/static/chunks/3yvgowlcy4bok.js +0 -7
  571. package/standalone/.next/static/chunks/43-yobagq1112.js +0 -1
  572. package/standalone/.next/static/chunks/44v5iw1qe3el2.js +0 -9
  573. /package/standalone/.next/static/{OS8UYgZ5MOMdBZuXMlpNG → fqOmtAGSGlY51xUvvOKyW}/_buildManifest.js +0 -0
  574. /package/standalone/.next/static/{OS8UYgZ5MOMdBZuXMlpNG → fqOmtAGSGlY51xUvvOKyW}/_clientMiddlewareManifest.js +0 -0
  575. /package/standalone/.next/static/{OS8UYgZ5MOMdBZuXMlpNG → fqOmtAGSGlY51xUvvOKyW}/_ssgManifest.js +0 -0
@@ -1,12 +1,12 @@
1
- module.exports=[648153,721424,594875,e=>{"use strict";var t=e.i(666680),a=e.i(243783);e.i(805422);var n=e.i(661983),r=e.i(694355),i=e.i(902157),s=e.i(912714),d=e.i(750227),o=e.i(81111),u=e.i(188646);function l(){if(process.env.RUN_DATA_DIRECTORY)return(0,d.resolve)(process.env.RUN_DATA_DIRECTORY);let e=process.env.DATABASE_URL||"file:./prisma/dev.db";return(0,d.join)((0,d.dirname)((0,d.resolve)((0,a.sqlitePathFromDatabaseUrl)(e))),"run-data")}async function c(e){m().catch(()=>void 0);let n=Number(e.headers.get("content-length"));if(Number.isFinite(n)&&n>0x1900000)throw Error("Attachment exceeds the 25 MB file limit");if(!e.body)throw Error("Attachment body is required");let r=(0,t.randomUUID)(),c=(0,d.join)(l(),"attachments"),w=(0,d.join)(c,r),p=`${w}.upload`;await (0,s.mkdir)(c,{recursive:!0,mode:448});let h=(0,t.createHash)("sha256"),I=0,E=new o.Transform({transform(e,t,a){(I+=e.length)>0x1900000?a(Error("Attachment exceeds the 25 MB file limit")):(h.update(e),a(null,e))}});try{await (0,u.pipeline)(o.Readable.fromWeb(e.body),E,(0,i.createWriteStream)(p,{mode:384})),await (0,s.rename)(p,w);let t=await (0,a.getPrismaClient)();return await t.runAttachment.create({data:{id:r,sha256:h.digest("hex"),filename:function(e){let t="attachment";if(!e)return t;let a=e;try{a=decodeURIComponent(e)}catch{}return(a.replace(/[\\/\0\r\n]/g,"_").replace(/^\.+/,"").trim()||t).slice(0,255)}(e.headers.get("x-attachment-filename")),contentType:e.headers.get("content-type")||"application/octet-stream",size:I,storagePath:w}})}catch(e){throw await (0,s.rm)(p,{force:!0}),await (0,s.rm)(w,{force:!0}),e}}async function w(e,t){let n=await (0,a.getPrismaClient)(),r=await n.runAttachment.findUnique({where:{id:e},include:{input:{include:{run:{select:{agentId:!0}}}},draft:{select:{agentId:!0}}}});if(!r)return new Response("Attachment not found",{status:404});if(t&&r.input?.run.agentId!==t&&r.draft?.agentId!==t)return new Response("Attachment does not belong to this agent",{status:403});try{let e=(0,d.resolve)(l(),"attachments"),t=(0,d.resolve)(r.storagePath);if(!t.startsWith(`${e}${d.sep}`))return new Response("Attachment path is invalid",{status:410});let a=await (0,s.stat)(t);if(a.size!==r.size)return new Response("Attachment data failed verification",{status:410});let n=o.Readable.toWeb((0,i.createReadStream)(t));return new Response(n,{headers:{"content-type":r.contentType,"content-length":String(a.size),"content-disposition":`attachment; filename*=UTF-8''${encodeURIComponent(r.filename)}`,"x-content-type-options":"nosniff"}})}catch{return new Response("Attachment data is unavailable",{status:410})}}async function p(e){if(!e.length)return[];let n=await (0,a.getPrismaClient)(),r=await n.runAttachment.findMany({where:{id:{in:e}}});if(r.length!==e.length)throw Error("Attachment is unavailable");let i=(0,d.resolve)(l(),"attachments");await (0,s.mkdir)(i,{recursive:!0,mode:448});let o=[];try{for(let e of r){let a=(0,t.randomUUID)(),r=(0,d.join)(i,a);await (0,s.copyFile)(e.storagePath,r),await n.runAttachment.create({data:{id:a,sha256:e.sha256,filename:e.filename,contentType:e.contentType,size:e.size,storagePath:r}}),o.push({id:a,path:r})}return o.map(({id:e})=>e)}catch(e){throw await n.runAttachment.deleteMany({where:{id:{in:o.map(({id:e})=>e)}}}),await h(o.map(({path:e})=>e)),e}}async function h(e){await Promise.all(e.map(e=>(0,s.rm)(e,{force:!0})))}async function m(e=new Date(Date.now()-864e5)){let t=await (0,a.getPrismaClient)(),n=await t.runAttachment.findMany({where:{inputId:null,draftId:null,createdAt:{lt:e}}});return n.length?(await t.runAttachment.deleteMany({where:{id:{in:n.map(({id:e})=>e)}}}),await h(n.map(({storagePath:e})=>e)),n.length):0}e.s(["MAX_RUN_INPUT_ATTACHMENT_BYTES",0,0x6400000,"cloneRunAttachments",0,p,"removeRunAttachmentFiles",0,h,"runAttachmentResponse",0,w,"storeRunAttachment",0,c],721424);let I=["PLAN","SESSION"],E=["CODEX","CLAUDE","OPENCODE"],f=new Set(["COMPLETED","CANCELLED","FAILED"]),g=["PAUSED","COMPLETED","CANCELLED","FAILED","SUPERSEDED"];function A(e,t,a){let n=t.trim().toUpperCase();if(!e.includes(n))throw Error(`${a} is not supported`);return n}function y(e,t,a){let n=e.trim();if(!n)throw Error(`${t} is required`);if(n.length>a)throw Error(`${t} is too long`);return n}function R(e,t){let a=e?.trim()||null;if(a&&a.length>t)throw Error("Value is too long");return a}function S(e){if(!e)return;let t=new Date(e);return Number.isNaN(t.getTime())?void 0:t}function C(e){return`/${"PLAN"===e.kind?"plans":"sessions"}/${encodeURIComponent(e.id)}`}function N(e){let t={runChanged:{id:e}};n.agentEventBus.publish((0,n.runChangedTopic)(e),t),n.agentEventBus.publish(n.RUNS_CHANGED_TOPIC,t)}function D(e,t){n.agentEventBus.publish((0,n.agentEventsTopic)(t),{agentEvents:{type:"RUN_COMMAND_AVAILABLE",job:null,runCommand:e}})}async function U(e,t){return(await e.runNumberSequence.upsert({where:{kind:t},create:{kind:t,nextValue:1},update:{nextValue:{increment:1}}})).nextValue-1}async function v(e,t){let a=await e.runCommand.findFirst({where:{runId:t},orderBy:{sequence:"desc"},select:{sequence:!0}});return(a?.sequence??-1)+1}let P={run:{include:{worktree:!0,inputs:{include:{attachments:!0}},attempts:!0,sourcePlan:{include:{attempts:!0}},parentRun:{include:{attempts:!0}}}}};async function k(e,a){let n=await v(e,a.runId);return e.runCommand.create({data:{id:(0,t.randomUUID)(),runId:a.runId,agentId:a.agentId,sequence:n,type:a.type,payloadJson:JSON.stringify(a.payload??{}),idempotencyKey:a.idempotencyKey??`${a.runId}:${n}:${a.type}`},include:P})}let b={worktree:{include:{codebase:{include:{repository:!0,agent:!0}}}},attempts:{orderBy:{generation:"asc"}},inputs:{orderBy:{sequence:"asc"},include:{attachments:!0}},modelUsage:{orderBy:{model:"asc"}},toolCalls:{orderBy:{sequence:"asc"}},questionBatches:{orderBy:{createdAt:"asc"},include:{questions:{orderBy:{position:"asc"},include:{options:{orderBy:{position:"asc"}}}},answerRevisions:{orderBy:{revision:"asc"}},checkpoint:!0}},sourcePlan:!0,playedSession:!0,parentRun:!0,followUps:{orderBy:{createdAt:"asc"}},checkpoints:{orderBy:{createdAt:"asc"}}};e.s(["RunsService",0,class{notifications;reaperTimer;constructor(e){this.notifications=e}startReaper(e=6e4){this.reaperTimer||(this.reaperTimer=setInterval(()=>{this.reapOrphanedRuns().catch(e=>{console.error("Run reaper failed:",e instanceof Error?e.message:e)})},e),this.reaperTimer.unref())}stopReaper(){this.reaperTimer&&clearInterval(this.reaperTimer),this.reaperTimer=void 0}async reapOrphanedRuns(e=Date.now()){let t=await (0,a.getPrismaClient)(),n=await t.agentRun.findMany({where:{status:{in:["QUEUED","IN_PROGRESS"]}},select:{id:!0,agentId:!0}});if(!n.length)return 0;let i=[...new Set(n.map(e=>e.agentId).filter(e=>!!e))],s=new Set((i.length?await t.agent.findMany({where:{id:{in:i}},select:{id:!0,lastSeenAt:!0,disconnectedAt:!0,heartbeatIntervalSeconds:!0}}):[]).filter(t=>null===t.disconnectedAt&&null!==t.lastSeenAt&&e-t.lastSeenAt.getTime()<=(0,r.agentOnlineWindowMs)(t)+12e4).map(e=>e.id)),d=n.filter(e=>!e.agentId||!s.has(e.agentId)).map(e=>e.id);if(!d.length)return 0;let o=new Date(e);for(let e of(await t.$transaction(async e=>{await e.runAttempt.updateMany({where:{runId:{in:d},status:{notIn:g}},data:{status:"FAILED",finishedAt:o}}),await e.agentRun.updateMany({where:{id:{in:d},status:{notIn:[...f]}},data:{status:"FAILED",phase:"AGENT_OFFLINE",error:"Agent went offline while this run was active",finishedAt:o}}),await e.runCommand.updateMany({where:{runId:{in:d},status:{in:["QUEUED","RUNNING"]}},data:{status:"FAILED",error:"Agent went offline",finishedAt:o}}),await e.worktreeRunLease.deleteMany({where:{runId:{in:d}}})}),d))N(e);return d.length}async list(e){let t=A(I,e.kind,"Run kind"),n=Math.max(1,Math.min(e.first??100,200)),r=e.search?.trim(),i=e.archive?.toUpperCase()??"ACTIVE",s={kind:t,..."ARCHIVED"===i?{archivedAt:{not:null}}:"ALL"===i?{}:{archivedAt:null},...e.provider?{provider:e.provider.trim().toUpperCase()}:{},...e.origin?{origin:e.origin.trim().toUpperCase()}:{},...r?{OR:[{initialPrompt:{contains:r}},{repositoryName:{contains:r}},{branch:{contains:r}},{jiraIssueKey:{contains:r}},{model:{contains:r}}]}:{}},d=await (0,a.getPrismaClient)(),[o,u]=await Promise.all([d.agentRun.findMany({where:s,orderBy:[{createdAt:"desc"},{id:"desc"}],take:n+1,...e.after?{cursor:{id:e.after},skip:1}:{},include:{worktree:!0,sourcePlan:!0,playedSession:!0}}),d.agentRun.count({where:s})]);return{items:o.slice(0,n),nextCursor:o.length>n?o[n-1].id:null,totalCount:u}}async get(e){return(await (0,a.getPrismaClient)()).agentRun.findUnique({where:{id:e},include:b})}async events(e){let t=await (0,a.getPrismaClient)(),n=Math.max(1,Math.min(e.first??200,500));return t.runEvent.findMany({where:{runId:e.runId,sequence:{gt:e.afterSequence??-1},...e.includeSuperseded?{}:{supersededAt:null},...e.search?.trim()?{searchText:{contains:e.search.trim()}}:{}},orderBy:{sequence:"asc"},take:n})}async questions(e){let t=await (0,a.getPrismaClient)(),n=Math.max(1,Math.min(e.first??100,200)),r={runId:e.runId},[i,s]=await Promise.all([t.runQuestionBatch.findMany({where:r,orderBy:[{createdAt:"asc"},{id:"asc"}],take:n+1,...e.after?{cursor:{id:e.after},skip:1}:{},include:{questions:{orderBy:{position:"asc"},include:{options:{orderBy:{position:"asc"}}}},answerRevisions:{orderBy:{revision:"asc"}},checkpoint:!0}}),t.runQuestionBatch.count({where:r})]);return{items:i.slice(0,n),nextCursor:i.length>n?i[n-1].id:null,totalCount:s}}async usage(e){return(await (0,a.getPrismaClient)()).agentRun.findUnique({where:{id:e},select:{inputTokens:!0,outputTokens:!0,reasoningTokens:!0,cacheReadTokens:!0,cacheWriteTokens:!0,toolCallCount:!0,estimatedCost:!0,modelUsage:{orderBy:{model:"asc"}},toolCalls:{orderBy:{sequence:"asc"}}}})}async linkedItems(e){let t=await (0,a.getPrismaClient)(),n=await t.agentRun.findUnique({where:{id:e},select:{sourcePlanId:!0,parentRunId:!0}});return n?t.agentRun.findMany({where:{OR:[{id:{in:[n.sourcePlanId,n.parentRunId].filter(e=>!!e)}},{sourcePlanId:e},{parentRunId:e}]},orderBy:{createdAt:"asc"}}):[]}async drafts(e={}){let t=await (0,a.getPrismaClient)(),n=Math.max(1,Math.min(e.first??100,200)),r=e.archive?.toUpperCase()??"ACTIVE",i=e.search?.trim(),s={..."ARCHIVED"===r?{archivedAt:{not:null}}:"ALL"===r?{}:{archivedAt:null},...i?{OR:[{prompt:{contains:i}},{jiraIssueKey:{contains:i}},{provider:{contains:i}},{model:{contains:i}}]}:{}},[d,o]=await Promise.all([t.runDraft.findMany({where:s,orderBy:[{updatedAt:"desc"},{id:"desc"}],take:n+1,...e.after?{cursor:{id:e.after},skip:1}:{},include:{worktree:!0,attachments:!0}}),t.runDraft.count({where:s})]);return{items:d.slice(0,n),nextCursor:d.length>n?d[n-1].id:null,totalCount:o}}async draft(e){return(await (0,a.getPrismaClient)()).runDraft.findUnique({where:{id:e},include:{worktree:!0,attachments:!0}})}async questionBatch(e){return(await (0,a.getPrismaClient)()).runQuestionBatch.findUnique({where:{id:e},include:{questions:{orderBy:{position:"asc"},include:{options:{orderBy:{position:"asc"}}}},answerRevisions:{orderBy:{revision:"asc"}}}})}async saveDraft(e){let r=A(I,e.kind,"Run kind"),i=A(E,e.provider,"Provider"),s=y(e.prompt,"Prompt",2e5),d=await this.requireWorktree(e.worktreeId),o=[...new Set(e.attachmentIds??[])];await this.requireAttachments(o,e.id??void 0);let u=await (0,a.getPrismaClient)(),l=e.id??(0,t.randomUUID)(),c=await u.$transaction(async t=>{let a=await t.runDraft.upsert({where:{id:l},create:{id:l,kind:r,worktreeId:d.id,agentId:d.codebase.agentId,jiraIssueKey:R(e.jiraIssueKey,100),jiraSummary:R(e.jiraSummary,500),provider:i,model:y(e.model,"Model",200),effort:R(e.effort,100),webSearchEnabled:!1!==e.webSearchEnabled,prompt:s},update:{kind:r,worktreeId:d.id,agentId:d.codebase.agentId,jiraIssueKey:R(e.jiraIssueKey,100),jiraSummary:R(e.jiraSummary,500),provider:i,model:y(e.model,"Model",200),effort:R(e.effort,100),webSearchEnabled:!1!==e.webSearchEnabled,prompt:s}});return o.length&&await t.runAttachment.updateMany({where:{id:{in:o},inputId:null},data:{draftId:l}}),await t.runAttachment.updateMany({where:{draftId:l,...o.length?{id:{notIn:o}}:{}},data:{draftId:null}}),a});return n.agentEventBus.publish(n.RUNS_CHANGED_TOPIC,{runChanged:{id:c.id}}),this.draft(c.id)}async create(e){return this.createInternal(e)}async createInternal(e,n={}){let r=A(I,e.kind,"Run kind"),i=A(E,e.provider,"Provider"),s=y(e.prompt,"Prompt",2e5),d=y(e.model,"Model",200),o=await this.requireWorktree(e.worktreeId,i),u=[...new Set(e.attachmentIds??[])];await this.requireAttachments(u,e.draftId??void 0);let l=await (0,a.getPrismaClient)(),c=await l.$transaction(async a=>{let l=await U(a,r),c=(0,t.randomUUID)(),w=(0,t.randomUUID)(),p=e.sourcePlanId?await a.agentRun.findUnique({where:{id:e.sourcePlanId}}):null;if(e.sourcePlanId){if(!p||"PLAN"!==p.kind)throw Error("Source plan was not found");if("COMPLETED"!==p.status||!p.finalOutput)throw Error("Only a completed plan with output can be run");if(p.playedAt)throw Error("This plan has already been run")}let h=e.parentRunId?await a.agentRun.findUnique({where:{id:e.parentRunId}}):null;if("SESSION"===r){n.transferLeaseFromRunId&&(await a.worktreeRunLease.deleteMany({where:{worktreeId:o.id,runId:n.transferLeaseFromRunId}}),await a.agentRun.update({where:{id:n.transferLeaseFromRunId},data:{status:"CANCELLED",phase:"SUPERSEDED_BY_FOLLOW_UP",finishedAt:new Date}}));let e=await a.worktreeRunLease.findUnique({where:{worktreeId:o.id},include:{run:!0}});if(e)throw Error(`Session #${e.run.displayNumber} already owns this worktree`)}let m=await a.agentRun.create({data:{id:c,kind:r,displayNumber:l,provider:i,worktreeId:o.id,agentId:o.codebase.agentId,jiraIssueKey:R(e.jiraIssueKey,100),jiraSummary:R(e.jiraSummary,500),repositoryName:o.codebase.repository.name,branch:o.branch,model:d,effort:R(e.effort,100),webSearchEnabled:!1!==e.webSearchEnabled,initialPrompt:s,sourcePlanId:p?.id,sourcePlanNumber:p?.displayNumber,parentRunId:h?.id,parentRunNumber:h?.displayNumber,followUpMode:R(e.followUpMode,50),inputs:{create:{id:w,sequence:0,kind:"INITIAL",prompt:s}}}});if(p&&await a.agentRun.update({where:{id:p.id},data:{playedAt:new Date,playedSessionNumber:l}}),"SESSION"===r&&await a.worktreeRunLease.create({data:{worktreeId:o.id,runId:c}}),u.length&&(await a.runAttachment.updateMany({where:{id:{in:u},inputId:null},data:{inputId:w,draftId:null}})).count!==u.length)throw Error("One or more attachments are no longer available");return e.draftId&&await a.runDraft.deleteMany({where:{id:e.draftId}}),{run:m,command:await k(a,{runId:c,agentId:o.codebase.agentId,type:e.sourcePlanId?"PLAY_PLAN":"START",payload:{contextMode:e.contextMode??null,sourcePlanId:e.sourcePlanId??null,parentRunId:e.parentRunId??null,followUpMode:e.followUpMode??null}})}});return N(c.run.id),D(c.command,c.run.agentId),this.get(c.run.id)}async playPlan(e){let t=await this.get(e);if(!t)throw Error("Plan not found");if(t.playedAt)throw Error("This plan has already been run");if(!t.worktreeId)throw Error("Plan worktree is unavailable");return this.createInternal({kind:"SESSION",worktreeId:t.worktreeId,jiraIssueKey:t.jiraIssueKey,jiraSummary:t.jiraSummary,provider:t.provider,model:t.model,effort:t.effort,webSearchEnabled:t.webSearchEnabled,prompt:`Implement the following plan:
1
+ module.exports=[648153,721424,594875,e=>{"use strict";var t=e.i(666680),n=e.i(243783);e.i(805422);var a=e.i(661983),r=e.i(694355),i=e.i(355271),s=e.i(902157),o=e.i(912714),d=e.i(750227),u=e.i(81111),l=e.i(188646);function c(){if(process.env.RUN_DATA_DIRECTORY)return(0,d.resolve)(process.env.RUN_DATA_DIRECTORY);let e=process.env.DATABASE_URL||"file:./prisma/dev.db";return(0,d.join)((0,d.dirname)((0,d.resolve)((0,n.sqlitePathFromDatabaseUrl)(e))),"run-data")}async function w(e){I().catch(()=>void 0);let a=Number(e.headers.get("content-length"));if(Number.isFinite(a)&&a>0x1900000)throw Error("Attachment exceeds the 25 MB file limit");if(!e.body)throw Error("Attachment body is required");let r=(0,t.randomUUID)(),i=(0,d.join)(c(),"attachments"),w=(0,d.join)(i,r),h=`${w}.upload`;await (0,o.mkdir)(i,{recursive:!0,mode:448});let p=(0,t.createHash)("sha256"),m=0,E=new u.Transform({transform(e,t,n){(m+=e.length)>0x1900000?n(Error("Attachment exceeds the 25 MB file limit")):(p.update(e),n(null,e))}});try{await (0,l.pipeline)(u.Readable.fromWeb(e.body),E,(0,s.createWriteStream)(h,{mode:384})),await (0,o.rename)(h,w);let t=await (0,n.getPrismaClient)();return await t.runAttachment.create({data:{id:r,sha256:p.digest("hex"),filename:function(e){let t="attachment";if(!e)return t;let n=e;try{n=decodeURIComponent(e)}catch{}return(n.replace(/[\\/\0\r\n]/g,"_").replace(/^\.+/,"").trim()||t).slice(0,255)}(e.headers.get("x-attachment-filename")),contentType:e.headers.get("content-type")||"application/octet-stream",size:m,storagePath:w}})}catch(e){throw await (0,o.rm)(h,{force:!0}),await (0,o.rm)(w,{force:!0}),e}}async function h(e,t){let a=await (0,n.getPrismaClient)(),r=await a.runAttachment.findUnique({where:{id:e},include:{input:{include:{run:{select:{agentId:!0}}}},draft:{select:{agentId:!0}}}});if(!r)return new Response("Attachment not found",{status:404});if(t&&r.input?.run.agentId!==t&&r.draft?.agentId!==t)return new Response("Attachment does not belong to this agent",{status:403});try{let e=(0,d.resolve)(c(),"attachments"),t=(0,d.resolve)(r.storagePath);if(!t.startsWith(`${e}${d.sep}`))return new Response("Attachment path is invalid",{status:410});let n=await (0,o.stat)(t);if(n.size!==r.size)return new Response("Attachment data failed verification",{status:410});let a=u.Readable.toWeb((0,s.createReadStream)(t));return new Response(a,{headers:{"content-type":r.contentType,"content-length":String(n.size),"content-disposition":`attachment; filename*=UTF-8''${encodeURIComponent(r.filename)}`,"x-content-type-options":"nosniff"}})}catch{return new Response("Attachment data is unavailable",{status:410})}}async function p(e){if(!e.length)return[];let a=await (0,n.getPrismaClient)(),r=await a.runAttachment.findMany({where:{id:{in:e}}});if(r.length!==e.length)throw Error("Attachment is unavailable");let i=(0,d.resolve)(c(),"attachments");await (0,o.mkdir)(i,{recursive:!0,mode:448});let s=[];try{for(let e of r){let n=(0,t.randomUUID)(),r=(0,d.join)(i,n);await (0,o.copyFile)(e.storagePath,r),await a.runAttachment.create({data:{id:n,sha256:e.sha256,filename:e.filename,contentType:e.contentType,size:e.size,storagePath:r}}),s.push({id:n,path:r})}return s.map(({id:e})=>e)}catch(e){throw await a.runAttachment.deleteMany({where:{id:{in:s.map(({id:e})=>e)}}}),await m(s.map(({path:e})=>e)),e}}async function m(e){await Promise.all(e.map(e=>(0,o.rm)(e,{force:!0})))}async function I(e=new Date(Date.now()-864e5)){let t=await (0,n.getPrismaClient)(),a=await t.runAttachment.findMany({where:{inputId:null,draftId:null,createdAt:{lt:e}}});return a.length?(await t.runAttachment.deleteMany({where:{id:{in:a.map(({id:e})=>e)}}}),await m(a.map(({storagePath:e})=>e)),a.length):0}e.s(["MAX_RUN_INPUT_ATTACHMENT_BYTES",0,0x6400000,"cloneRunAttachments",0,p,"removeRunAttachmentFiles",0,m,"runAttachmentResponse",0,h,"storeRunAttachment",0,w],721424);let E=["PLAN","SESSION"],f=["CODEX","CLAUDE","OPENCODE"],g=new Set(["COMPLETED","CANCELLED","FAILED"]),y=["PAUSED","COMPLETED","CANCELLED","FAILED","SUPERSEDED"];function A(e,t,n){let a=t.trim().toUpperCase();if(!e.includes(a))throw Error(`${n} is not supported`);return a}function R(e,t,n){let a=e.trim();if(!a)throw Error(`${t} is required`);if(a.length>n)throw Error(`${t} is too long`);return a}function S(e,t){let n=e?.trim()||null;if(n&&n.length>t)throw Error("Value is too long");return n}function C(e){if(!e)return;let t=new Date(e);return Number.isNaN(t.getTime())?void 0:t}function D(e){return`/${"PLAN"===e.kind?"plans":"sessions"}/${encodeURIComponent(e.id)}`}function N(e){let t={runChanged:{id:e}};a.agentEventBus.publish((0,a.runChangedTopic)(e),t),a.agentEventBus.publish(a.RUNS_CHANGED_TOPIC,t)}function U(e,t){a.agentEventBus.publish((0,a.agentEventsTopic)(t),{agentEvents:{type:"RUN_COMMAND_AVAILABLE",job:null,runCommand:e}})}async function v(e,t){return(await e.runNumberSequence.upsert({where:{kind:t},create:{kind:t,nextValue:1},update:{nextValue:{increment:1}}})).nextValue-1}async function P(e,t){let n=await e.runCommand.findFirst({where:{runId:t},orderBy:{sequence:"desc"},select:{sequence:!0}});return(n?.sequence??-1)+1}let k={run:{include:{worktree:!0,inputs:{include:{attachments:!0}},attempts:!0,sourcePlan:{include:{attempts:!0}},parentRun:{include:{attempts:!0}}}}};async function b(e,n){let a=await P(e,n.runId);return e.runCommand.create({data:{id:(0,t.randomUUID)(),runId:n.runId,agentId:n.agentId,sequence:a,type:n.type,payloadJson:JSON.stringify(n.payload??{}),idempotencyKey:n.idempotencyKey??`${n.runId}:${a}:${n.type}`},include:k})}let T={worktree:{include:{codebase:{include:{repository:!0,agent:!0}}}},attempts:{orderBy:{generation:"asc"}},inputs:{orderBy:{sequence:"asc"},include:{attachments:!0}},modelUsage:{orderBy:{model:"asc"}},toolCalls:{orderBy:{sequence:"asc"}},questionBatches:{orderBy:{createdAt:"asc"},include:{questions:{orderBy:{position:"asc"},include:{options:{orderBy:{position:"asc"}}}},answerRevisions:{orderBy:{revision:"asc"}},checkpoint:!0}},sourcePlan:!0,playedSession:!0,parentRun:!0,followUps:{orderBy:{createdAt:"asc"}},checkpoints:{orderBy:{createdAt:"asc"}}};e.s(["RunsService",0,class{notifications;agentControl;reaperTimer;constructor(e,t){this.notifications=e,this.agentControl=t}async waitForJob(e){let t=a.agentEventBus.iterate((0,a.agentJobChangedTopic)(e)),n=Date.now()+6e4;try{for(;Date.now()<n;){let a=await this.agentControl.getJob(e);if(!a)throw Error("Agent job disappeared");if(["SUCCEEDED","FAILED","CANCELLED","TIMED_OUT"].includes(a.status))return a;await Promise.race([t.next(),new Promise(e=>setTimeout(e,n-Date.now()))])}throw await this.agentControl.cancelJob(e),Error("Agent did not respond in time")}finally{await t.return?.()}}async nativeSessionFile(e){var t;if(!this.agentControl)throw Error("Agent control is unavailable");let a=await (0,n.getPrismaClient)(),s=await a.agentRun.findUnique({where:{id:e},include:{attempts:{orderBy:{generation:"desc"}},worktree:!0,agent:!0}});if(!s)throw Error("Run not found");if("CLAUDE"!==s.provider&&"CODEX"!==s.provider)throw Error("This provider does not store a session file");let o=s.attempts.find(e=>e.nativeId)?.nativeId;if(!o)throw Error("This run has no native session yet");if(!s.worktree)throw Error("This run has no worktree");if(!s.agent||!s.agentId)throw Error("This run is not associated with an agent");if(!(null!==(t=s.agent).lastSeenAt&&Date.now()-t.lastSeenAt.getTime()<=(0,r.agentOnlineWindowMs)(t)&&null===t.disconnectedAt))throw Error("Agent is offline");if(!(function(e){try{let t=JSON.parse(e.capabilitiesJson);return Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}catch{return[]}})(s.agent).includes(i.RUN_SESSION_READ_JOB_KIND))throw Error("Agent must be updated to export session files");let d=await this.agentControl.createJob({agentId:s.agentId,kind:i.RUN_SESSION_READ_JOB_KIND,payload:{provider:s.provider,nativeId:o,folder:s.worktree.folder},idempotencyKey:`runs:session:read:${e}:${o}`,timeoutSeconds:60,visibility:"SYSTEM"});try{let e=function(e){if("SUCCEEDED"!==e.status||!e.resultJson)throw Error(e.error||"Agent job failed");let t=JSON.parse(e.resultJson);if(!t||"object"!=typeof t||Array.isArray(t))throw Error("Agent job returned an invalid result");return t}(await this.waitForJob(d.id)),t="string"==typeof e.contentBase64?e.contentBase64:null;if(!t)throw Error("Agent returned an invalid session file");return{filename:"string"==typeof e.filename&&e.filename?e.filename:`${o}.jsonl`,contentBase64:t}}finally{await a.agentJob.deleteMany({where:{id:d.id,visibility:"SYSTEM"}})}}startReaper(e=6e4){this.reaperTimer||(this.reaperTimer=setInterval(()=>{this.reapOrphanedRuns().catch(e=>{console.error("Run reaper failed:",e instanceof Error?e.message:e)})},e),this.reaperTimer.unref())}stopReaper(){this.reaperTimer&&clearInterval(this.reaperTimer),this.reaperTimer=void 0}async reapOrphanedRuns(e=Date.now()){let t=await (0,n.getPrismaClient)(),a=await t.agentRun.findMany({where:{status:{in:["QUEUED","IN_PROGRESS"]}},select:{id:!0,agentId:!0}});if(!a.length)return 0;let i=[...new Set(a.map(e=>e.agentId).filter(e=>!!e))],s=new Set((i.length?await t.agent.findMany({where:{id:{in:i}},select:{id:!0,lastSeenAt:!0,disconnectedAt:!0,heartbeatIntervalSeconds:!0}}):[]).filter(t=>null===t.disconnectedAt&&null!==t.lastSeenAt&&e-t.lastSeenAt.getTime()<=(0,r.agentOnlineWindowMs)(t)+12e4).map(e=>e.id)),o=a.filter(e=>!e.agentId||!s.has(e.agentId)).map(e=>e.id);if(!o.length)return 0;let d=new Date(e);for(let e of(await t.$transaction(async e=>{await e.runAttempt.updateMany({where:{runId:{in:o},status:{notIn:y}},data:{status:"FAILED",finishedAt:d}}),await e.agentRun.updateMany({where:{id:{in:o},status:{notIn:[...g]}},data:{status:"FAILED",phase:"AGENT_OFFLINE",error:"Agent went offline while this run was active",finishedAt:d}}),await e.runCommand.updateMany({where:{runId:{in:o},status:{in:["QUEUED","RUNNING"]}},data:{status:"FAILED",error:"Agent went offline",finishedAt:d}}),await e.worktreeRunLease.deleteMany({where:{runId:{in:o}}})}),o))N(e);return o.length}async list(e){let t=A(E,e.kind,"Run kind"),a=Math.max(1,Math.min(e.first??100,200)),r=e.search?.trim(),i=e.archive?.toUpperCase()??"ACTIVE",s={kind:t,..."ARCHIVED"===i?{archivedAt:{not:null}}:"ALL"===i?{}:{archivedAt:null},...e.provider?{provider:e.provider.trim().toUpperCase()}:{},...e.origin?{origin:e.origin.trim().toUpperCase()}:{},...r?{OR:[{initialPrompt:{contains:r}},{repositoryName:{contains:r}},{branch:{contains:r}},{jiraIssueKey:{contains:r}},{model:{contains:r}}]}:{}},o=await (0,n.getPrismaClient)(),[d,u]=await Promise.all([o.agentRun.findMany({where:s,orderBy:[{createdAt:"desc"},{id:"desc"}],take:a+1,...e.after?{cursor:{id:e.after},skip:1}:{},include:{worktree:!0,sourcePlan:!0,playedSession:!0}}),o.agentRun.count({where:s})]);return{items:d.slice(0,a),nextCursor:d.length>a?d[a-1].id:null,totalCount:u}}async get(e){return(await (0,n.getPrismaClient)()).agentRun.findUnique({where:{id:e},include:T})}async events(e){let t=await (0,n.getPrismaClient)(),a=Math.max(1,Math.min(e.first??200,500));return t.runEvent.findMany({where:{runId:e.runId,sequence:{gt:e.afterSequence??-1},...e.includeSuperseded?{}:{supersededAt:null},...e.search?.trim()?{searchText:{contains:e.search.trim()}}:{}},orderBy:{sequence:"asc"},take:a})}async questions(e){let t=await (0,n.getPrismaClient)(),a=Math.max(1,Math.min(e.first??100,200)),r={runId:e.runId},[i,s]=await Promise.all([t.runQuestionBatch.findMany({where:r,orderBy:[{createdAt:"asc"},{id:"asc"}],take:a+1,...e.after?{cursor:{id:e.after},skip:1}:{},include:{questions:{orderBy:{position:"asc"},include:{options:{orderBy:{position:"asc"}}}},answerRevisions:{orderBy:{revision:"asc"}},checkpoint:!0}}),t.runQuestionBatch.count({where:r})]);return{items:i.slice(0,a),nextCursor:i.length>a?i[a-1].id:null,totalCount:s}}async usage(e){return(await (0,n.getPrismaClient)()).agentRun.findUnique({where:{id:e},select:{inputTokens:!0,outputTokens:!0,reasoningTokens:!0,cacheReadTokens:!0,cacheWriteTokens:!0,toolCallCount:!0,estimatedCost:!0,modelUsage:{orderBy:{model:"asc"}},toolCalls:{orderBy:{sequence:"asc"}}}})}async linkedItems(e){let t=await (0,n.getPrismaClient)(),a=await t.agentRun.findUnique({where:{id:e},select:{sourcePlanId:!0,parentRunId:!0}});return a?t.agentRun.findMany({where:{OR:[{id:{in:[a.sourcePlanId,a.parentRunId].filter(e=>!!e)}},{sourcePlanId:e},{parentRunId:e}]},orderBy:{createdAt:"asc"}}):[]}async drafts(e={}){let t=await (0,n.getPrismaClient)(),a=Math.max(1,Math.min(e.first??100,200)),r=e.archive?.toUpperCase()??"ACTIVE",i=e.search?.trim(),s={..."ARCHIVED"===r?{archivedAt:{not:null}}:"ALL"===r?{}:{archivedAt:null},...i?{OR:[{prompt:{contains:i}},{jiraIssueKey:{contains:i}},{provider:{contains:i}},{model:{contains:i}}]}:{}},[o,d]=await Promise.all([t.runDraft.findMany({where:s,orderBy:[{updatedAt:"desc"},{id:"desc"}],take:a+1,...e.after?{cursor:{id:e.after},skip:1}:{},include:{worktree:!0,attachments:!0}}),t.runDraft.count({where:s})]);return{items:o.slice(0,a),nextCursor:o.length>a?o[a-1].id:null,totalCount:d}}async draft(e){return(await (0,n.getPrismaClient)()).runDraft.findUnique({where:{id:e},include:{worktree:!0,attachments:!0}})}async questionBatch(e){return(await (0,n.getPrismaClient)()).runQuestionBatch.findUnique({where:{id:e},include:{questions:{orderBy:{position:"asc"},include:{options:{orderBy:{position:"asc"}}}},answerRevisions:{orderBy:{revision:"asc"}}}})}async saveDraft(e){let r=A(E,e.kind,"Run kind"),i=A(f,e.provider,"Provider"),s=R(e.prompt,"Prompt",2e5),o=await this.requireWorktree(e.worktreeId),d=[...new Set(e.attachmentIds??[])];await this.requireAttachments(d,e.id??void 0);let u=await (0,n.getPrismaClient)(),l=e.id??(0,t.randomUUID)(),c=await u.$transaction(async t=>{let n=await t.runDraft.upsert({where:{id:l},create:{id:l,kind:r,worktreeId:o.id,agentId:o.codebase.agentId,jiraIssueKey:S(e.jiraIssueKey,100),jiraSummary:S(e.jiraSummary,500),provider:i,model:R(e.model,"Model",200),effort:S(e.effort,100),webSearchEnabled:!1!==e.webSearchEnabled,prompt:s},update:{kind:r,worktreeId:o.id,agentId:o.codebase.agentId,jiraIssueKey:S(e.jiraIssueKey,100),jiraSummary:S(e.jiraSummary,500),provider:i,model:R(e.model,"Model",200),effort:S(e.effort,100),webSearchEnabled:!1!==e.webSearchEnabled,prompt:s}});return d.length&&await t.runAttachment.updateMany({where:{id:{in:d},inputId:null},data:{draftId:l}}),await t.runAttachment.updateMany({where:{draftId:l,...d.length?{id:{notIn:d}}:{}},data:{draftId:null}}),n});return a.agentEventBus.publish(a.RUNS_CHANGED_TOPIC,{runChanged:{id:c.id}}),this.draft(c.id)}async create(e){return this.createInternal(e)}async createInternal(e,a={}){let r=A(E,e.kind,"Run kind"),i=A(f,e.provider,"Provider"),s=R(e.prompt,"Prompt",2e5),o=R(e.model,"Model",200),d=await this.requireWorktree(e.worktreeId,i),u=[...new Set(e.attachmentIds??[])];await this.requireAttachments(u,e.draftId??void 0);let l=await (0,n.getPrismaClient)(),c=await l.$transaction(async n=>{let l=await v(n,r),c=(0,t.randomUUID)(),w=(0,t.randomUUID)(),h=e.sourcePlanId?await n.agentRun.findUnique({where:{id:e.sourcePlanId}}):null;if(e.sourcePlanId){if(!h||"PLAN"!==h.kind)throw Error("Source plan was not found");if("COMPLETED"!==h.status||!h.finalOutput)throw Error("Only a completed plan with output can be run");if(h.playedAt)throw Error("This plan has already been run")}let p=e.parentRunId?await n.agentRun.findUnique({where:{id:e.parentRunId}}):null;if("SESSION"===r){a.transferLeaseFromRunId&&(await n.worktreeRunLease.deleteMany({where:{worktreeId:d.id,runId:a.transferLeaseFromRunId}}),await n.agentRun.update({where:{id:a.transferLeaseFromRunId},data:{status:"CANCELLED",phase:"SUPERSEDED_BY_FOLLOW_UP",finishedAt:new Date}}));let e=await n.worktreeRunLease.findUnique({where:{worktreeId:d.id},include:{run:!0}});if(e)throw Error(`Session #${e.run.displayNumber} already owns this worktree`)}let m=await n.agentRun.create({data:{id:c,kind:r,displayNumber:l,provider:i,worktreeId:d.id,agentId:d.codebase.agentId,jiraIssueKey:S(e.jiraIssueKey,100),jiraSummary:S(e.jiraSummary,500),repositoryName:d.codebase.repository.name,branch:d.branch,model:o,effort:S(e.effort,100),webSearchEnabled:!1!==e.webSearchEnabled,initialPrompt:s,sourcePlanId:h?.id,sourcePlanNumber:h?.displayNumber,parentRunId:p?.id,parentRunNumber:p?.displayNumber,followUpMode:S(e.followUpMode,50),inputs:{create:{id:w,sequence:0,kind:"INITIAL",prompt:s}}}});if(h&&await n.agentRun.update({where:{id:h.id},data:{playedAt:new Date,playedSessionNumber:l}}),"SESSION"===r&&await n.worktreeRunLease.create({data:{worktreeId:d.id,runId:c}}),u.length&&(await n.runAttachment.updateMany({where:{id:{in:u},inputId:null},data:{inputId:w,draftId:null}})).count!==u.length)throw Error("One or more attachments are no longer available");return e.draftId&&await n.runDraft.deleteMany({where:{id:e.draftId}}),{run:m,command:await b(n,{runId:c,agentId:d.codebase.agentId,type:e.sourcePlanId?"PLAY_PLAN":"START",payload:{contextMode:e.contextMode??null,sourcePlanId:e.sourcePlanId??null,parentRunId:e.parentRunId??null,followUpMode:e.followUpMode??null}})}});return N(c.run.id),U(c.command,c.run.agentId),this.get(c.run.id)}async playPlan(e){let t=await this.get(e);if(!t)throw Error("Plan not found");if(t.playedAt)throw Error("This plan has already been run");if(!t.worktreeId)throw Error("Plan worktree is unavailable");return this.createInternal({kind:"SESSION",worktreeId:t.worktreeId,jiraIssueKey:t.jiraIssueKey,jiraSummary:t.jiraSummary,provider:t.provider,model:t.model,effort:t.effort,webSearchEnabled:t.webSearchEnabled,prompt:`Implement the following plan:
2
2
 
3
- ${t.finalOutput??""}`,sourcePlanId:t.id,parentRunId:t.id,followUpMode:"PLAN_PLAY",contextMode:"NATIVE",attachmentIds:[]})}async followUp(e,t){let a=await this.get(e);if(!a||!a.worktreeId)throw Error("Source run not found");let n=y(t.followUpMode??"","Follow-up mode",50).toUpperCase();if(!["RESUME","FRESH","RESEND"].includes(n))throw Error("Follow-up mode is not supported");let r="SESSION"===a.kind&&"PAUSED"===a.status?a.id:void 0,i="RESEND"!==n||t.attachmentIds?.length?t.attachmentIds:await p(a.inputs[0]?.attachments.map(({id:e})=>e)??[]),s="RESEND"!==n||t.prompt.trim()?t.prompt:a.initialPrompt;return"RESUME"===n&&t.provider.toUpperCase()!==a.provider&&(s=["Continue from this normalized visible context. Hidden provider state is not available across providers.","SUMMARY"==(t.contextMode?.toUpperCase()==="SUMMARY"?"SUMMARY":"NORMALIZED")?a.finalOutput||"No final summary is available.":[...a.inputs.map(e=>`[${e.kind}]
4
- ${e.prompt}`),...(await this.events({runId:a.id,first:500})).map(e=>`[${e.type}] ${e.summary}${e.detailMarkdown?`
3
+ ${t.finalOutput??""}`,sourcePlanId:t.id,parentRunId:t.id,followUpMode:"PLAN_PLAY",contextMode:"NATIVE",attachmentIds:[]})}async followUp(e,t){let n=await this.get(e);if(!n||!n.worktreeId)throw Error("Source run not found");let a=R(t.followUpMode??"","Follow-up mode",50).toUpperCase();if(!["RESUME","FRESH","RESEND"].includes(a))throw Error("Follow-up mode is not supported");let r="SESSION"===n.kind&&"PAUSED"===n.status?n.id:void 0,i="RESEND"!==a||t.attachmentIds?.length?t.attachmentIds:await p(n.inputs[0]?.attachments.map(({id:e})=>e)??[]),s="RESEND"!==a||t.prompt.trim()?t.prompt:n.initialPrompt;return"RESUME"===a&&t.provider.toUpperCase()!==n.provider&&(s=["Continue from this normalized visible context. Hidden provider state is not available across providers.","SUMMARY"==(t.contextMode?.toUpperCase()==="SUMMARY"?"SUMMARY":"NORMALIZED")?n.finalOutput||"No final summary is available.":[...n.inputs.map(e=>`[${e.kind}]
4
+ ${e.prompt}`),...(await this.events({runId:n.id,first:500})).map(e=>`[${e.type}] ${e.summary}${e.detailMarkdown?`
5
5
  ${e.detailMarkdown}`:""}`)].join("\n\n"),`New request:
6
- ${s}`].join("\n\n").slice(0,2e6)),this.createInternal({...t,attachmentIds:i,kind:a.kind,worktreeId:a.worktreeId,jiraIssueKey:t.jiraIssueKey??a.jiraIssueKey,jiraSummary:t.jiraSummary??a.jiraSummary,parentRunId:a.id,followUpMode:n,prompt:s},{transferLeaseFromRunId:r})}async archive(e,t){let n=await (0,a.getPrismaClient)(),r=await n.agentRun.updateMany({where:{id:{in:[...new Set(e)]}},data:{archivedAt:t?new Date:null}});for(let t of e)N(t);return r.count}async archiveDrafts(e,t){let r=await (0,a.getPrismaClient)(),i=await r.runDraft.updateMany({where:{id:{in:[...new Set(e)]}},data:{archivedAt:t?new Date:null}});return n.agentEventBus.publish(n.RUNS_CHANGED_TOPIC,{runChanged:{id:"drafts"}}),i.count}async deleteDrafts(e){let t=await (0,a.getPrismaClient)(),r=await t.runAttachment.findMany({where:{draftId:{in:e}},select:{storagePath:!0}}),i=await t.runDraft.deleteMany({where:{id:{in:[...new Set(e)]}}});return await h(r.map(({storagePath:e})=>e)),n.agentEventBus.publish(n.RUNS_CHANGED_TOPIC,{runChanged:{id:"drafts"}}),i.count}async deleteRuns(e){let t=await (0,a.getPrismaClient)(),n=await t.agentRun.findMany({where:{id:{in:[...new Set(e)]}},include:{attempts:!0,inputs:{include:{attachments:!0}}}}),r=0;for(let e of n){let a=e.attempts.filter(({nativeId:e})=>e);if(e.agentId&&(a.length>0||"IN_PROGRESS"===e.status)){let n=await t.$transaction(async t=>{await t.agentRun.update({where:{id:e.id},data:{phase:"DELETE_REQUESTED"}}),await t.runQuestionBatch.updateMany({where:{runId:e.id,status:"PENDING"},data:{status:"SUPERSEDED",supersededAt:new Date}});let n=`${e.id}:delete-native`,r=await t.runCommand.findUnique({where:{idempotencyKey:n},include:P});return r?.status==="FAILED"?t.runCommand.update({where:{id:r.id},data:{status:"QUEUED",payloadJson:JSON.stringify({attempts:a.map(({id:e,nativeId:t})=>({id:e,nativeId:t}))}),error:null,claimedAt:null,finishedAt:null},include:P}):r||k(t,{runId:e.id,agentId:e.agentId,type:"DELETE_NATIVE",payload:{attempts:a.map(({id:e,nativeId:t})=>({id:e,nativeId:t}))},idempotencyKey:n})});"QUEUED"===n.status&&D(n,e.agentId)}else{let a=e.inputs.flatMap(e=>e.attachments.map(({storagePath:e})=>e));await t.agentRun.delete({where:{id:e.id}}),await h(a)}N(e.id),r+=1}return r}async lifecycle(e,t){let n=await (0,a.getPrismaClient)(),r=await n.$transaction(async a=>{let n=await a.agentRun.findUnique({where:{id:e}});if(!n||!n.agentId)throw Error("Run not found");if("MANAGED"!==n.origin)throw Error("Imported runs are read-only");if("CONTINUE"!==t&&await a.runQuestionBatch.updateMany({where:{runId:e,status:"PENDING"},data:{status:"SUPERSEDED",supersededAt:new Date}}),"CANCEL"===t&&"CANCELLED"===n.status)return{run:n,command:null};if(f.has(n.status))throw Error("Run is already finished");if("PAUSE"===t&&"IN_PROGRESS"!==n.status)throw Error("Only an in-progress run can be paused");if("CONTINUE"===t&&"PAUSED"!==n.status)throw Error("Only a paused run can continue");if("PAUSE"===t&&"PAUSE_REQUESTED"===n.phase)return{run:n,command:null};if("CANCEL"===t){let r=new Date,i=await a.agentRun.update({where:{id:e},data:{status:"CANCELLED",phase:"CANCELLED",finishedAt:r}});return(await a.runAttempt.updateMany({where:{runId:e,status:{notIn:["PAUSED","COMPLETED","CANCELLED","FAILED"]}},data:{status:"CANCELLED",finishedAt:r}}),await a.worktreeRunLease.deleteMany({where:{runId:e}}),"CANCEL_REQUESTED"===n.phase)?{run:i,command:null}:{run:i,command:await k(a,{runId:e,agentId:n.agentId,type:t})}}await a.agentRun.update({where:{id:e},data:"CONTINUE"===t?{status:"IN_PROGRESS",phase:"QUEUED",finishedAt:null}:{phase:"PAUSE_REQUESTED"}});let r=await k(a,{runId:e,agentId:n.agentId,type:t,payload:"CONTINUE"===t?{prompt:"Continue from where you stopped."}:{}});return{run:n,command:r}});return N(e),r.command&&D(r.command,r.run.agentId),this.get(e)}async steer(e,n,r=[]){let i=y(n,"Steering prompt",2e5);await this.requireAttachments(r);let s=await (0,a.getPrismaClient)(),d=await s.$transaction(async a=>{let n=await a.agentRun.findUnique({where:{id:e}});if(!n?.agentId||"MANAGED"!==n.origin)throw Error("Run not found");if("IN_PROGRESS"!==n.status)throw Error("Run is not in progress");let s=await a.runInput.findFirst({where:{runId:e},orderBy:{sequence:"desc"}}),d=(0,t.randomUUID)();await a.runInput.create({data:{id:d,runId:e,sequence:(s?.sequence??-1)+1,kind:"STEERING",prompt:i}}),r.length&&await a.runAttachment.updateMany({where:{id:{in:r},inputId:null,draftId:null},data:{inputId:d}});let o=await a.runQuestionBatch.count({where:{runId:e,status:"PENDING"}}),u=await k(a,{runId:e,agentId:n.agentId,type:"STEER",payload:{inputId:d,queuedBehindQuestion:o>0}});return{run:n,command:u}});return N(e),D(d.command,d.run.agentId),this.get(e)}async answerQuestion(e,r){let i=await (0,a.getPrismaClient)(),s=await i.$transaction(async a=>{let n=await a.runQuestionBatch.findUnique({where:{id:e},include:{run:!0,answerRevisions:!0}});if(!n?.run.agentId||"MANAGED"!==n.run.origin)throw Error("Question batch not found");if("PENDING"!==n.status)throw Error("Question was already answered");if("IN_PROGRESS"!==n.run.status||["PAUSE_REQUESTED","CANCEL_REQUESTED","DELETE_REQUESTED"].includes(n.run.phase))throw Error("Run is not active");let i=n.answerRevisions.length;await a.runAnswerRevision.create({data:{id:(0,t.randomUUID)(),batchId:e,revision:i,answersJson:JSON.stringify(r)}}),await a.runQuestionBatch.update({where:{id:e},data:{status:"ANSWERED",answeredAt:new Date}}),await a.agentRun.update({where:{id:n.runId},data:{phase:"RUNNING"}});let s=await k(a,{runId:n.runId,agentId:n.run.agentId,type:"ANSWER",payload:{batchId:e,nativeRequestId:n.nativeRequestId,answers:r}});return{batch:n,command:s}});return N(s.batch.runId),n.agentEventBus.publish((0,n.runQuestionTopic)(s.batch.runId),{runQuestionChanged:{id:e,runId:s.batch.runId}}),D(s.command,s.batch.run.agentId),this.get(s.batch.runId)}async prepareAnswerRevision(e){let t=await (0,a.getPrismaClient)(),n=await t.$transaction(async t=>{let a=await t.runQuestionBatch.findUnique({where:{id:e},include:{run:!0,checkpoint:!0}});if(!a?.run.agentId||!a.run.worktreeId||"MANAGED"!==a.run.origin||"ANSWERED"!==a.status||a.supersededAt)throw Error("This answer cannot be edited");if(!a.checkpoint?.refName||!a.checkpoint.worktreeTree)throw Error("The checkpoint before this question is unavailable");let n=await t.worktreeRunLease.findUnique({where:{worktreeId:a.run.worktreeId}});if(n&&n.runId!==a.runId)throw Error("Another Session owns this worktree");"SESSION"!==a.run.kind||n||await t.worktreeRunLease.create({data:{worktreeId:a.run.worktreeId,runId:a.runId}}),await t.runQuestionBatch.update({where:{id:e},data:{revisionPreparedAt:null,rollbackPatch:null,pushedCommitWarning:null}}),await t.agentRun.update({where:{id:a.runId},data:{phase:"ANSWER_REVISION_PREPARING"}});let r=await k(t,{runId:a.runId,agentId:a.run.agentId,type:"PREPARE_ANSWER_REVISION",payload:{batchId:e,checkpoint:a.checkpoint}});return{batch:a,command:r}});return N(n.batch.runId),D(n.command,n.batch.run.agentId),this.get(n.batch.runId)}async reviseAnswer(e,n,r,i=!0){let s=await (0,a.getPrismaClient)(),d=await s.$transaction(async a=>{let s=await a.runQuestionBatch.findUnique({where:{id:e},include:{checkpoint:!0,questions:{orderBy:{position:"asc"}},answerRevisions:!0,run:{include:{inputs:{orderBy:{sequence:"asc"}},events:{orderBy:{sequence:"asc"}}}}}});if(!s?.run.agentId||!s.run.worktreeId||"MANAGED"!==s.run.origin||"ANSWERED"!==s.status||!s.revisionPreparedAt||!s.checkpoint?.refName)throw Error("The answer revision is not ready");let d=await a.worktreeRunLease.findUnique({where:{worktreeId:s.run.worktreeId}});if(d&&d.runId!==s.runId)throw Error("Another Session owns this worktree");let o=(0,t.randomUUID)(),u=s.answerRevisions.length;await a.runAnswerRevision.create({data:{id:o,batchId:e,revision:u,answersJson:JSON.stringify(n)}});let l=["Continue from the linked Session at the question below using the revised answer. Treat the visible transcript as context; hidden provider state from the previous Session is unavailable.",s.run.inputs.map(e=>`${e.kind}:
6
+ ${s}`].join("\n\n").slice(0,2e6)),this.createInternal({...t,attachmentIds:i,kind:n.kind,worktreeId:n.worktreeId,jiraIssueKey:t.jiraIssueKey??n.jiraIssueKey,jiraSummary:t.jiraSummary??n.jiraSummary,parentRunId:n.id,followUpMode:a,prompt:s},{transferLeaseFromRunId:r})}async archive(e,t){let a=await (0,n.getPrismaClient)(),r=await a.agentRun.updateMany({where:{id:{in:[...new Set(e)]}},data:{archivedAt:t?new Date:null}});for(let t of e)N(t);return r.count}async archiveDrafts(e,t){let r=await (0,n.getPrismaClient)(),i=await r.runDraft.updateMany({where:{id:{in:[...new Set(e)]}},data:{archivedAt:t?new Date:null}});return a.agentEventBus.publish(a.RUNS_CHANGED_TOPIC,{runChanged:{id:"drafts"}}),i.count}async deleteDrafts(e){let t=await (0,n.getPrismaClient)(),r=await t.runAttachment.findMany({where:{draftId:{in:e}},select:{storagePath:!0}}),i=await t.runDraft.deleteMany({where:{id:{in:[...new Set(e)]}}});return await m(r.map(({storagePath:e})=>e)),a.agentEventBus.publish(a.RUNS_CHANGED_TOPIC,{runChanged:{id:"drafts"}}),i.count}async deleteRuns(e){let t=await (0,n.getPrismaClient)(),a=await t.agentRun.findMany({where:{id:{in:[...new Set(e)]}},include:{attempts:!0,inputs:{include:{attachments:!0}}}}),r=0;for(let e of a){let n=e.attempts.filter(({nativeId:e})=>e);if(e.agentId&&(n.length>0||"IN_PROGRESS"===e.status)){let a=await t.$transaction(async t=>{await t.agentRun.update({where:{id:e.id},data:{phase:"DELETE_REQUESTED"}}),await t.runQuestionBatch.updateMany({where:{runId:e.id,status:"PENDING"},data:{status:"SUPERSEDED",supersededAt:new Date}});let a=`${e.id}:delete-native`,r=await t.runCommand.findUnique({where:{idempotencyKey:a},include:k});return r?.status==="FAILED"?t.runCommand.update({where:{id:r.id},data:{status:"QUEUED",payloadJson:JSON.stringify({attempts:n.map(({id:e,nativeId:t})=>({id:e,nativeId:t}))}),error:null,claimedAt:null,finishedAt:null},include:k}):r||b(t,{runId:e.id,agentId:e.agentId,type:"DELETE_NATIVE",payload:{attempts:n.map(({id:e,nativeId:t})=>({id:e,nativeId:t}))},idempotencyKey:a})});"QUEUED"===a.status&&U(a,e.agentId)}else{let n=e.inputs.flatMap(e=>e.attachments.map(({storagePath:e})=>e));await t.agentRun.delete({where:{id:e.id}}),await m(n)}N(e.id),r+=1}return r}async lifecycle(e,t){let a=await (0,n.getPrismaClient)(),r=await a.$transaction(async n=>{let a=await n.agentRun.findUnique({where:{id:e}});if(!a||!a.agentId)throw Error("Run not found");if("MANAGED"!==a.origin)throw Error("Imported runs are read-only");if("CONTINUE"!==t&&await n.runQuestionBatch.updateMany({where:{runId:e,status:"PENDING"},data:{status:"SUPERSEDED",supersededAt:new Date}}),"CANCEL"===t&&"CANCELLED"===a.status)return{run:a,command:null};if(g.has(a.status))throw Error("Run is already finished");if("PAUSE"===t&&"IN_PROGRESS"!==a.status)throw Error("Only an in-progress run can be paused");if("CONTINUE"===t&&"PAUSED"!==a.status)throw Error("Only a paused run can continue");if("PAUSE"===t&&"PAUSE_REQUESTED"===a.phase)return{run:a,command:null};if("CANCEL"===t){let r=new Date,i=await n.agentRun.update({where:{id:e},data:{status:"CANCELLED",phase:"CANCELLED",finishedAt:r}});return(await n.runAttempt.updateMany({where:{runId:e,status:{notIn:["PAUSED","COMPLETED","CANCELLED","FAILED"]}},data:{status:"CANCELLED",finishedAt:r}}),await n.worktreeRunLease.deleteMany({where:{runId:e}}),"CANCEL_REQUESTED"===a.phase)?{run:i,command:null}:{run:i,command:await b(n,{runId:e,agentId:a.agentId,type:t})}}await n.agentRun.update({where:{id:e},data:"CONTINUE"===t?{status:"IN_PROGRESS",phase:"QUEUED",finishedAt:null}:{phase:"PAUSE_REQUESTED"}});let r=await b(n,{runId:e,agentId:a.agentId,type:t,payload:"CONTINUE"===t?{prompt:"Continue from where you stopped."}:{}});return{run:a,command:r}});return N(e),r.command&&U(r.command,r.run.agentId),this.get(e)}async steer(e,a,r=[]){let i=R(a,"Steering prompt",2e5);await this.requireAttachments(r);let s=await (0,n.getPrismaClient)(),o=await s.$transaction(async n=>{let a=await n.agentRun.findUnique({where:{id:e}});if(!a?.agentId||"MANAGED"!==a.origin)throw Error("Run not found");if("IN_PROGRESS"!==a.status)throw Error("Run is not in progress");let s=await n.runInput.findFirst({where:{runId:e},orderBy:{sequence:"desc"}}),o=(0,t.randomUUID)();await n.runInput.create({data:{id:o,runId:e,sequence:(s?.sequence??-1)+1,kind:"STEERING",prompt:i}}),r.length&&await n.runAttachment.updateMany({where:{id:{in:r},inputId:null,draftId:null},data:{inputId:o}});let d=await n.runQuestionBatch.count({where:{runId:e,status:"PENDING"}}),u=await b(n,{runId:e,agentId:a.agentId,type:"STEER",payload:{inputId:o,queuedBehindQuestion:d>0}});return{run:a,command:u}});return N(e),U(o.command,o.run.agentId),this.get(e)}async answerQuestion(e,r){let i=await (0,n.getPrismaClient)(),s=await i.$transaction(async n=>{let a=await n.runQuestionBatch.findUnique({where:{id:e},include:{run:!0,answerRevisions:!0}});if(!a?.run.agentId||"MANAGED"!==a.run.origin)throw Error("Question batch not found");if("PENDING"!==a.status)throw Error("Question was already answered");if("IN_PROGRESS"!==a.run.status||["PAUSE_REQUESTED","CANCEL_REQUESTED","DELETE_REQUESTED"].includes(a.run.phase))throw Error("Run is not active");let i=a.answerRevisions.length;await n.runAnswerRevision.create({data:{id:(0,t.randomUUID)(),batchId:e,revision:i,answersJson:JSON.stringify(r)}}),await n.runQuestionBatch.update({where:{id:e},data:{status:"ANSWERED",answeredAt:new Date}}),await n.agentRun.update({where:{id:a.runId},data:{phase:"RUNNING"}});let s=await b(n,{runId:a.runId,agentId:a.run.agentId,type:"ANSWER",payload:{batchId:e,nativeRequestId:a.nativeRequestId,answers:r}});return{batch:a,command:s}});return N(s.batch.runId),a.agentEventBus.publish((0,a.runQuestionTopic)(s.batch.runId),{runQuestionChanged:{id:e,runId:s.batch.runId}}),U(s.command,s.batch.run.agentId),this.get(s.batch.runId)}async prepareAnswerRevision(e){let t=await (0,n.getPrismaClient)(),a=await t.$transaction(async t=>{let n=await t.runQuestionBatch.findUnique({where:{id:e},include:{run:!0,checkpoint:!0}});if(!n?.run.agentId||!n.run.worktreeId||"MANAGED"!==n.run.origin||"ANSWERED"!==n.status||n.supersededAt)throw Error("This answer cannot be edited");if(!n.checkpoint?.refName||!n.checkpoint.worktreeTree)throw Error("The checkpoint before this question is unavailable");let a=await t.worktreeRunLease.findUnique({where:{worktreeId:n.run.worktreeId}});if(a&&a.runId!==n.runId)throw Error("Another Session owns this worktree");"SESSION"!==n.run.kind||a||await t.worktreeRunLease.create({data:{worktreeId:n.run.worktreeId,runId:n.runId}}),await t.runQuestionBatch.update({where:{id:e},data:{revisionPreparedAt:null,rollbackPatch:null,pushedCommitWarning:null}});let r=await b(t,{runId:n.runId,agentId:n.run.agentId,type:"PREPARE_ANSWER_REVISION",payload:{batchId:e,checkpoint:n.checkpoint}});return{batch:n,command:r}});return N(a.batch.runId),U(a.command,a.batch.run.agentId),this.get(a.batch.runId)}async reviseAnswer(e,a,r,i=!0){let s=await (0,n.getPrismaClient)(),o=await s.$transaction(async n=>{let s=await n.runQuestionBatch.findUnique({where:{id:e},include:{checkpoint:!0,questions:{orderBy:{position:"asc"}},answerRevisions:!0,run:{include:{inputs:{orderBy:{sequence:"asc"}},events:{orderBy:{sequence:"asc"}}}}}});if(!s?.run.agentId||!s.run.worktreeId||"MANAGED"!==s.run.origin||"ANSWERED"!==s.status||!s.revisionPreparedAt||!s.checkpoint?.refName)throw Error("The answer revision is not ready");let o=await n.worktreeRunLease.findUnique({where:{worktreeId:s.run.worktreeId}});if(o&&o.runId!==s.runId)throw Error("Another Session owns this worktree");let d=(0,t.randomUUID)(),u=s.answerRevisions.length;await n.runAnswerRevision.create({data:{id:d,batchId:e,revision:u,answersJson:JSON.stringify(a)}});let l=["Continue from the linked Session at the question below using the revised answer. Treat the visible transcript as context; hidden provider state from the previous Session is unavailable.",s.run.inputs.map(e=>`${e.kind}:
7
7
  ${e.prompt}`).join("\n\n"),s.run.events.filter(e=>null===s.eventSequence?e.createdAt<=s.createdAt:e.sequence<=s.eventSequence).map(e=>`[${e.type}] ${e.summary}${e.detailMarkdown?`
8
8
  ${e.detailMarkdown}`:""}`).join("\n\n"),`Questions:
9
9
  ${s.questions.map(e=>`- ${e.prompt}`).join("\n")}`,`Revised answer:
10
- ${JSON.stringify(n,null,2)}`].filter(Boolean).join("\n\n").slice(0,2e6),c=await U(a,"SESSION"),w=(0,t.randomUUID)(),p=(0,t.randomUUID)(),h=new Date,m=await a.agentRun.create({data:{id:w,kind:"SESSION",displayNumber:c,status:"IN_PROGRESS",phase:"ANSWER_REVISION_QUEUED",provider:s.run.provider,worktreeId:s.run.worktreeId,agentId:s.run.agentId,jiraIssueKey:s.run.jiraIssueKey,jiraSummary:s.run.jiraSummary,repositoryName:s.run.repositoryName,branch:s.run.branch,model:s.run.model,effort:s.run.effort,webSearchEnabled:s.run.webSearchEnabled,initialPrompt:l,parentRunId:s.runId,parentRunNumber:s.run.displayNumber,followUpMode:"ANSWER_REVISION",inputs:{create:{id:p,sequence:0,kind:"ANSWER_REVISION",prompt:l}}}});if(await a.worktreeRunLease.deleteMany({where:{worktreeId:s.run.worktreeId,runId:s.runId}}),await a.worktreeRunLease.findUnique({where:{worktreeId:s.run.worktreeId}}))throw Error("Another Session owns this worktree");await a.worktreeRunLease.create({data:{worktreeId:s.run.worktreeId,runId:w}}),await a.agentRun.update({where:{id:s.runId},data:{status:"CANCELLED",phase:"SUPERSEDED_BY_ANSWER_REVISION",finishedAt:h}});let I=await k(a,{runId:w,agentId:s.run.agentId,type:"REVISE_ANSWER",payload:{batchId:e,revisionId:o,inputId:p,stash:!!r,rollback:i,checkpoint:s.checkpoint}});return{batch:s,run:m,command:I}});return N(d.batch.runId),N(d.run.id),D(d.command,d.batch.run.agentId),this.get(d.run.id)}async pendingCommands(e){return(await (0,a.getPrismaClient)()).runCommand.findMany({where:{agentId:e,status:{in:["QUEUED","RUNNING"]}},orderBy:[{createdAt:"asc"},{sequence:"asc"}],take:200,include:P})}async claimCommand(e,t){let n=await (0,a.getPrismaClient)();await n.runCommand.updateMany({where:{id:t,agentId:e,status:"QUEUED"},data:{status:"RUNNING",claimedAt:new Date}});let r=await n.runCommand.findUnique({where:{id:t},include:P});if(!r||r.agentId!==e)throw Error("Run command not found");if("RUNNING"!==r.status)throw Error("Run command cannot be claimed");return r}async completeCommand(e,t,n,r){let i=await (0,a.getPrismaClient)(),s=await i.runCommand.findUnique({where:{id:t}});if(!s||s.agentId!==e)throw Error("Run command not found");let d=await i.runCommand.update({where:{id:t},data:{status:"SUCCEEDED"===n?"SUCCEEDED":"FAILED",error:R(r,2e4),finishedAt:new Date}});if("DELETE_NATIVE"===d.type&&"SUCCEEDED"===d.status){let e=await i.agentRun.findUnique({where:{id:d.runId},include:{inputs:{include:{attachments:!0}}}});if(e){let t=e.inputs.flatMap(e=>e.attachments.map(({storagePath:e})=>e));await i.agentRun.delete({where:{id:e.id}}),await h(t)}}else if("FAILED"===d.status)await i.agentRun.updateMany({where:{id:d.runId,status:{notIn:[...f]}},data:{error:d.error,phase:`${d.type}_FAILED`,...["START","PLAY_PLAN","CONTINUE"].includes(d.type)?{status:"FAILED",finishedAt:new Date}:{},...["PREPARE_ANSWER_REVISION","REVISE_ANSWER"].includes(d.type)?{status:"PAUSED",finishedAt:null}:{}}}),["START","PLAY_PLAN","CONTINUE"].includes(d.type)&&await i.worktreeRunLease.deleteMany({where:{runId:d.runId}});else if(["PAUSE","CANCEL"].includes(d.type)){let e="CANCEL"===d.type;await i.agentRun.updateMany({where:{id:d.runId,status:{notIn:[...f]}},data:{status:e?"CANCELLED":"PAUSED",phase:e?"CANCELLED":"PAUSED",finishedAt:e?new Date:null}}),e&&await i.worktreeRunLease.deleteMany({where:{runId:d.runId}})}return N(d.runId),d}async beginAttempt(e,n,r){let i=await (0,a.getPrismaClient)(),s=await i.agentRun.findUnique({where:{id:n},include:{attempts:!0}});if(!s||s.agentId!==e)throw Error("Run not found for this agent");if(f.has(s.status))throw Error("Run is already finished");let d=s.attempts.length,o=await i.runAttempt.create({data:{id:(0,t.randomUUID)(),runId:n,generation:d,nativeId:r||null,nativeKey:r?`${e}:${s.provider}:${r}`:null,status:"RUNNING"}});return await i.agentRun.update({where:{id:n},data:{phase:"RUNNING",startedAt:s.startedAt??new Date}}),N(n),o}async updateAttemptNativeId(e,t,n,r){let i=await (0,a.getPrismaClient)(),s=await i.$transaction(async a=>{let i=await a.runAttempt.findUnique({where:{id:t},include:{run:!0}});if(!i||i.run.agentId!==e)throw Error("Attempt not found");let s=`${e}:${i.run.provider}:${n}`,d=await a.runAttempt.findUnique({where:{nativeKey:s}});if(d&&d.id!==t){if(d.runId!==i.runId)throw Error("Native provider session belongs to another run");await a.runAttempt.update({where:{id:d.id},data:{nativeKey:null}})}let o=await a.runAttempt.update({where:{id:t},data:{nativeId:n,nativeKey:s}});return r&&await a.agentRun.update({where:{id:i.runId},data:{providerVersion:r}}),o});return N(s.runId),s}async appendEvents(e,t,r,i){let s=await (0,a.getPrismaClient)(),d=await s.agentRun.findUnique({where:{id:t}});if(!d||d.agentId!==e)throw Error("Run not found for this agent");let o=i.slice(0,500).map(e=>{let a=y(e.summary,"Event summary",2e3);return{id:e.id,runId:t,attemptId:r,sequence:e.sequence,type:y(e.type,"Event type",100).toUpperCase(),summary:a,searchText:R(e.searchText,1e5)??a,detailMarkdown:R(e.detailMarkdown,5e5),rawJson:void 0===e.raw?null:JSON.stringify(e.raw),createdAt:S(e.createdAt)}});if(!o.length)return[];let u=await s.$transaction(async e=>{let a=new Set((await e.runEvent.findMany({where:{id:{in:o.map(e=>e.id)}},select:{id:!0}})).map(({id:e})=>e)),n=o.filter(e=>!a.has(e.id));if(n.length){await e.runEvent.createMany({data:n});let a=n.filter(e=>e.type.includes("TOOL")&&!e.type.includes("QUESTION")).map(e=>({id:`event:${e.id}`,runId:t,attemptId:r,sequence:e.sequence,name:e.summary.split(/[\s:(]/,1)[0]||e.type,status:e.type.includes("FAIL")||e.type.includes("ERROR")?"FAILED":e.type.includes("COMPLETE")||e.type.includes("RESULT")?"COMPLETED":"OBSERVED",inputJson:e.rawJson,error:e.type.includes("FAIL")||e.type.includes("ERROR")?e.summary:null,finishedAt:e.createdAt}));a.length&&(await e.runToolCall.createMany({data:a}),await e.agentRun.update({where:{id:t},data:{toolCallCount:await e.runToolCall.count({where:{runId:t}})}}))}return e.runEvent.findMany({where:{id:{in:o.map(e=>e.id)}},orderBy:{sequence:"asc"}})});for(let e of u)n.agentEventBus.publish((0,n.runEventTopic)(t),{runEventAdded:e});return N(t),u}async reportQuestion(e,r,i,s,d,o){if(!o.length||o.length>10)throw Error("Question batch is invalid");let u=await (0,a.getPrismaClient)(),l=await u.$transaction(async a=>{let n=await a.agentRun.findUnique({where:{id:r},include:{worktree:!0}});if(!n||n.agentId!==e)throw Error("Run not found for this agent");if(s){let e=await a.runQuestionBatch.findUnique({where:{runId_nativeRequestId:{runId:r,nativeRequestId:s}},include:{questions:{orderBy:{position:"asc"},include:{options:{orderBy:{position:"asc"}}}}}});if(e)return{batch:e,notification:null}}let u=(0,t.randomUUID)(),l=await a.runQuestionBatch.create({data:{id:u,runId:r,attemptId:i,nativeRequestId:s,eventSequence:Number.isInteger(d)&&(d??-1)>=-1?d:null,questions:{create:o.map((e,a)=>({id:`${u}:${a}:${e.id||"question"}`,position:a,header:R(e.header,200),prompt:y(e.prompt,"Question",1e4),multiSelect:!!e.multiSelect,allowCustom:!1!==e.allowCustom,options:{create:(e.options??[]).map((e,a)=>({id:(0,t.randomUUID)(),position:a,label:y(e.label,"Option label",500),description:R(e.description,2e3)}))}}))}},include:{questions:{include:{options:!0}}}});return await a.agentRun.update({where:{id:r},data:{phase:"WAITING_FOR_ANSWER"}}),{batch:l,notification:this.notifications?await this.notifications.recordInTransaction(a,{dedupeKey:`run:${r}:question:${u}`,typeKey:"RUN_NEEDS_ANSWER",title:`${"PLAN"===n.kind?"Plan":"Session"} #${n.displayNumber} needs an answer`,body:o[0].prompt.slice(0,1e3),href:C(n),resourceKind:n.kind,resourceId:n.id,worktreeId:n.worktreeId,highlightColor:n.worktree?.highlightColor}):null}});return this.notifications?.created(l.notification),N(r),n.agentEventBus.publish((0,n.runQuestionTopic)(r),{runQuestionChanged:{id:l.batch.id,runId:r}}),l.batch}async reportUsage(e,n,r,i){let s=await (0,a.getPrismaClient)(),d=await s.agentRun.findUnique({where:{id:n}});if(!d||d.agentId!==e)throw Error("Run not found for this agent");let o=e=>Number.isFinite(e)&&(e??0)>=0?Math.floor(e):0;return await s.$transaction(async e=>{let a=await e.runModelUsage.findFirst({where:{runId:n,attemptId:r,model:i.model}}),s={inputTokens:o(i.inputTokens),outputTokens:o(i.outputTokens),reasoningTokens:o(i.reasoningTokens),cacheReadTokens:o(i.cacheReadTokens),cacheWriteTokens:o(i.cacheWriteTokens),estimatedCost:i.estimatedCost??null};a?await e.runModelUsage.update({where:{id:a.id},data:s}):await e.runModelUsage.create({data:{id:(0,t.randomUUID)(),runId:n,attemptId:r,model:i.model,...s}});let d=await e.runModelUsage.aggregate({where:{runId:n},_sum:{inputTokens:!0,outputTokens:!0,reasoningTokens:!0,cacheReadTokens:!0,cacheWriteTokens:!0,estimatedCost:!0}}),u=await e.runModelUsage.findMany({where:{runId:n,estimatedCost:{not:null}},select:{model:!0,estimatedCost:!0}}),l=u.find(({model:e})=>"estimated-total"===e)?.estimatedCost,c=await e.runToolCall.count({where:{runId:n}});await e.agentRun.update({where:{id:n},data:{inputTokens:d._sum.inputTokens??0,outputTokens:d._sum.outputTokens??0,reasoningTokens:d._sum.reasoningTokens??0,cacheReadTokens:d._sum.cacheReadTokens??0,cacheWriteTokens:d._sum.cacheWriteTokens??0,toolCallCount:Math.max(c,o(i.toolCallCount)),estimatedCost:l??(u.length?u.reduce((e,t)=>e+(t.estimatedCost??0),0):null),pricingSource:R(i.pricingSource,200),pricingUpdatedAt:new Date}})}),N(n),this.get(n)}async finishAttempt(e,t,n){let r=n.status.toUpperCase();if(!["PAUSED","COMPLETED","CANCELLED","FAILED"].includes(r))throw Error("Run completion status is invalid");let i=await (0,a.getPrismaClient)(),s=await i.$transaction(async a=>{let i=await a.runAttempt.findUnique({where:{id:t},include:{run:{include:{worktree:!0}}}});if(!i||i.run.agentId!==e)throw Error("Attempt not found");let s=f.has(i.run.status)?i.run.status:r;await a.runAttempt.update({where:{id:t},data:{status:s,finishedAt:new Date}}),await a.runQuestionBatch.updateMany({where:{runId:i.runId,status:"PENDING"},data:{status:"SUPERSEDED",supersededAt:new Date}});let d=f.has(i.run.status)?i.run:await a.agentRun.update({where:{id:i.runId},data:{status:r,phase:n.phase?.trim().toUpperCase()||r,finalOutput:R(n.finalOutput,2e6),error:R(n.error,2e4),finishedAt:"PAUSED"===r?null:new Date}});f.has(s)&&await a.worktreeRunLease.deleteMany({where:{runId:d.id}});let o="COMPLETED"===s?"RUN_COMPLETED":"FAILED"===s?"RUN_FAILED":"CANCELLED"===s?"RUN_CANCELLED":"RECOVERY_PAUSED"===n.phase?"RUN_RECOVERY_PAUSED":null,u=o&&this.notifications?await this.notifications.recordInTransaction(a,{dedupeKey:`run:${d.id}:status:${s}:${i.generation}`,typeKey:o,title:`${"PLAN"===d.kind?"Plan":"Session"} #${d.displayNumber} ${s.toLowerCase()}`,body:n.error||n.finalOutput?.slice(0,1e3)||`The ${d.kind.toLowerCase()} is ${s.toLowerCase()}.`,href:C(d),resourceKind:d.kind,resourceId:d.id,worktreeId:d.worktreeId,highlightColor:i.run.worktree?.highlightColor}):null;return{run:d,notification:u}});return this.notifications?.created(s.notification),N(s.run.id),this.get(s.run.id)}async reportCheckpoint(e,n,r,i){let s=await (0,a.getPrismaClient)(),d=await s.agentRun.findUnique({where:{id:n}});if(!d||d.agentId!==e)throw Error("Run not found for this agent");if(i.questionBatchId){let e=await s.runQuestionBatch.findUnique({where:{id:i.questionBatchId}});if(!e||e.runId!==n)throw Error("Question batch not found")}let o=await s.runCheckpoint.create({data:{id:(0,t.randomUUID)(),runId:n,attemptId:r,questionBatchId:i.questionBatchId??null,kind:y(i.kind,"Checkpoint kind",100).toUpperCase(),headSha:R(i.headSha,100),branch:R(i.branch,500),upstreamSha:R(i.upstreamSha,100),indexTree:R(i.indexTree,100),worktreeTree:R(i.worktreeTree,100),refName:R(i.refName,1e3),manifestJson:R(i.manifestJson,2e6),diffSummary:R(i.diffSummary,5e5),diffPatch:R(i.diffPatch,2e6),stashRef:R(i.stashRef,1e3)}});return N(n),o}async reportAnswerRevisionPreview(e,t,r,i){let s=await (0,a.getPrismaClient)(),d=await s.runQuestionBatch.findUnique({where:{id:t},include:{run:!0}});if(!d||d.run.agentId!==e||"MANAGED"!==d.run.origin)throw Error("Question batch not found for this agent");let o=await s.runQuestionBatch.update({where:{id:t},data:{revisionPreparedAt:new Date,rollbackPatch:r.slice(0,2e6),pushedCommitWarning:R(i,2e4)},include:{questions:{orderBy:{position:"asc"},include:{options:{orderBy:{position:"asc"}}}},answerRevisions:{orderBy:{revision:"asc"}}}});return await s.agentRun.update({where:{id:d.runId},data:{status:"PAUSED",phase:"ANSWER_REVISION_READY"}}),N(d.runId),n.agentEventBus.publish((0,n.runQuestionTopic)(d.runId),{runQuestionChanged:{id:t,runId:d.runId}}),o}async applyAnswerRevision(e,t,n,r){let i=await (0,a.getPrismaClient)(),s=await i.$transaction(async a=>{let i=await a.runQuestionBatch.findUnique({where:{id:t},include:{run:!0,attempt:!0}}),s=await a.runAttempt.findUnique({where:{id:r},include:{run:!0}}),d=await a.runAnswerRevision.findUnique({where:{id:n}});if(!i||i.run.agentId!==e||!i.attempt||!s||s.run.parentRunId!==i.runId||"ANSWER_REVISION"!==s.run.followUpMode||!d||d.batchId!==t)throw Error("Answer revision cannot be applied");let o=new Date,u=(await a.runAttempt.findMany({where:{runId:i.runId,generation:{gte:i.attempt.generation}},select:{id:!0}})).map(({id:e})=>e);await a.runAttempt.updateMany({where:{id:{in:u}},data:{status:"SUPERSEDED",supersededAt:o,finishedAt:o}}),await a.runEvent.updateMany({where:{runId:i.runId,sequence:{gt:i.eventSequence??-1},supersededAt:null},data:{supersededAt:o}}),await a.runToolCall.updateMany({where:{attemptId:{in:u},supersededAt:null},data:{supersededAt:o}}),await a.runModelUsage.updateMany({where:{attemptId:{in:u}},data:{superseded:!0}});let l=(await a.runQuestionBatch.findMany({where:{runId:i.runId,createdAt:{gt:i.createdAt}},select:{id:!0}})).map(({id:e})=>e);return await a.runQuestionBatch.updateMany({where:{id:{in:l}},data:{status:"SUPERSEDED",supersededAt:o}}),await a.runAnswerRevision.updateMany({where:{OR:[{batchId:{in:l}},{batchId:t,id:{not:n}}],supersededAt:null},data:{supersededAt:o}}),await a.runAnswerRevision.update({where:{id:n},data:{replacementAttemptId:r}}),await a.agentRun.update({where:{id:i.runId},data:{status:"CANCELLED",phase:"SUPERSEDED_BY_ANSWER_REVISION",finishedAt:o}}),await a.agentRun.update({where:{id:s.runId},data:{status:"IN_PROGRESS",phase:"RUNNING"}}),{sourceRunId:i.runId,replacementRunId:s.runId}});return N(s.sourceRunId),N(s.replacementRunId),this.get(s.replacementRunId)}async importRuns(e,n,r){let i=A(E,n,"Provider"),s=await (0,a.getPrismaClient)(),d=0;for(let a of r){let n=`${e}:${i}:${y(a.nativeId,"Native ID",500)}`,r=(()=>{let e=a.status?.toUpperCase()??"COMPLETED";return["ACTIVE","RUNNING","STARTING","IN_PROGRESS","WAITING_FOR_ANSWER"].includes(e)?"IN_PROGRESS":"PAUSED"===e?"PAUSED":"CANCELLED"===e||"CANCELED"===e?"CANCELLED":"FAILED"===e||"ERROR"===e?"FAILED":"COMPLETED"})(),o=await s.runAttempt.findUnique({where:{nativeKey:n},include:{run:!0}});if(o){if("IMPORTED"===o.run.origin){let e="SESSION"===o.run.kind&&"IN_PROGRESS"===r?await s.worktreeRunLease.findUnique({where:{worktreeId:o.run.worktreeId??""}}):null;await s.$transaction([s.runAttempt.update({where:{id:o.id},data:{rawMetadataJson:JSON.stringify(a.rawMetadata??{})}}),s.agentRun.update({where:{id:o.runId},data:{status:r,phase:e?"IMPORTED_ACTIVE_COLLISION":"IMPORTED_SYNCED",model:a.model||o.run.model,effort:R(a.effort,100),finalOutput:R(a.finalOutput,2e6),branch:a.branch??o.run.branch,jiraIssueKey:R(a.jiraIssueKey,100),nativeArchivedAt:a.archived?new Date:null,startedAt:S(a.createdAt)??o.run.startedAt,finishedAt:"IN_PROGRESS"===r?null:S(a.updatedAt)??o.run.finishedAt}})]),N(o.runId)}continue}let u=await s.worktree.findUnique({where:{id:a.worktreeId},include:{codebase:{include:{repository:!0}}}});if(!u||u.codebase.agentId!==e)continue;let l=a.kind?.toUpperCase()==="PLAN"?"PLAN":"SESSION",c="SESSION"===l&&"IN_PROGRESS"===r?await s.worktreeRunLease.findUnique({where:{worktreeId:u.id}}):null,w=await s.$transaction(e=>U(e,l)),p=(0,t.randomUUID)();await s.agentRun.create({data:{id:p,kind:l,displayNumber:w,status:r,phase:c?"IMPORTED_ACTIVE_COLLISION":"IMPORTED_SYNCED",origin:"IMPORTED",provider:i,worktreeId:u.id,agentId:e,jiraIssueKey:R(a.jiraIssueKey,100),repositoryName:u.codebase.repository.name,branch:a.branch??u.branch,model:a.model||"unknown",effort:R(a.effort,100),initialPrompt:a.prompt?.trim()||"Imported provider history",finalOutput:R(a.finalOutput,2e6),archivedAt:a.archived?new Date:null,nativeArchivedAt:a.archived?new Date:null,startedAt:S(a.createdAt),finishedAt:S(a.updatedAt),createdAt:S(a.createdAt),attempts:{create:{id:(0,t.randomUUID)(),generation:0,nativeId:a.nativeId,nativeKey:n,status:"IMPORTED",rawMetadataJson:JSON.stringify(a.rawMetadata??{})}},inputs:{create:{id:(0,t.randomUUID)(),sequence:0,kind:"INITIAL",prompt:a.prompt?.trim()||"Imported provider history"}}}}),N(p),d+=1}return await s.runProviderSync.upsert({where:{agentId_provider:{agentId:e,provider:i}},create:{id:(0,t.randomUUID)(),agentId:e,provider:i,status:"IDLE",lastCompletedAt:new Date,importedCount:d},update:{status:"IDLE",lastCompletedAt:new Date,lastError:null,importedCount:{increment:d}}}),d}async providerCatalog(e={}){let t=await (0,a.getPrismaClient)(),n=!!(e.runId||e.worktreeId),i=e.runId?(await t.agentRun.findUnique({where:{id:e.runId},select:{agentId:!0}}))?.agentId:e.worktreeId?(await t.worktree.findUnique({where:{id:e.worktreeId},select:{codebase:{select:{agentId:!0}}}}))?.codebase.agentId:null,[s,d]=n&&!i?[[],[]]:await Promise.all([t.agent.findMany({where:i?{id:i}:void 0,select:{id:!0,capabilitiesJson:!0,lastSeenAt:!0,disconnectedAt:!0,heartbeatIntervalSeconds:!0}}),t.runProviderSync.findMany({where:i?{agentId:i}:void 0,orderBy:{updatedAt:"desc"}})]);return E.map(e=>{let t=`runs.provider.${e.toLowerCase()}`,a=s.some(a=>{let n=d.find(t=>t.agentId===a.id&&t.provider===e);return!a.disconnectedAt&&!!a.lastSeenAt&&Date.now()-a.lastSeenAt.getTime()<=(0,r.agentOnlineWindowMs)(a)&&JSON.parse(a.capabilitiesJson).includes(t)&&n?.status!=="FAILED"}),n=d.find(({provider:t})=>t===e)?.catalogJson,i=n?JSON.parse(n):null;return{key:e,label:"OPENCODE"===e?"OpenCode":"CLAUDE"===e?"Claude":"Codex",available:a,models:i?.models?.length?i.models:[{id:"default",label:"Provider default",efforts:["auto","low","medium","high"]}],supportsWebSearch:i?.capabilities?.webSearch??!0,supportsQuestions:i?.capabilities?.questions??!0,supportsImport:i?.capabilities?.import??!0,supportsPause:i?.capabilities?.pause??!0,supportsSteering:i?.capabilities?.steering??!0,supportsResume:i?.capabilities?.resume??!0,supportsNativeDelete:i?.capabilities?.nativeDelete??!0}})}async providerImportStatus(){return(await (0,a.getPrismaClient)()).runProviderSync.findMany({orderBy:[{agentId:"asc"},{provider:"asc"}]})}async reportProviderImportStatus(e,n,r,i,s){let d=A(E,n,"Provider"),o=r.trim().toUpperCase();if(!["SYNCING","IDLE","FAILED"].includes(o))throw Error("Import status is invalid");return(await (0,a.getPrismaClient)()).runProviderSync.upsert({where:{agentId_provider:{agentId:e,provider:d}},create:{id:(0,t.randomUUID)(),agentId:e,provider:d,status:o,lastStartedAt:"SYNCING"===o?new Date:void 0,lastCompletedAt:"IDLE"===o?new Date:void 0,lastError:R(i,2e4),catalogJson:void 0===s?void 0:JSON.stringify(s)},update:{status:o,lastStartedAt:"SYNCING"===o?new Date:void 0,lastCompletedAt:"IDLE"===o?new Date:void 0,lastError:"FAILED"===o?R(i,2e4):null,catalogJson:void 0===s?void 0:JSON.stringify(s)}})}subscribeRuns(){return n.agentEventBus.iterate(n.RUNS_CHANGED_TOPIC)}subscribeRun(e){return n.agentEventBus.iterate((0,n.runChangedTopic)(e))}subscribeEvents(e){return n.agentEventBus.iterate((0,n.runEventTopic)(e))}subscribeQuestions(e){return n.agentEventBus.iterate((0,n.runQuestionTopic)(e))}async requireWorktree(e,t){let n=await (0,a.getPrismaClient)(),i=await n.worktree.findUnique({where:{id:y(e,"Worktree",500)},include:{codebase:{include:{repository:!0,agent:!0}}}});if(!i||"AVAILABLE"!==i.availability)throw Error("Worktree is unavailable");if(t){let e=i.codebase.agent,a=JSON.parse(e.capabilitiesJson);if(e.disconnectedAt||!e.lastSeenAt||Date.now()-e.lastSeenAt.getTime()>(0,r.agentOnlineWindowMs)(e)||!a.includes(`runs.provider.${t.toLowerCase()}`))throw Error(`${t} is unavailable on this worktree's agent`);let s=await n.runProviderSync.findUnique({where:{agentId_provider:{agentId:i.codebase.agentId,provider:t}}});if(s?.status==="FAILED")throw Error(`${t} is unavailable: ${s.lastError??"provider capability check failed"}`)}return i}async requireAttachments(e,t){if(!e.length)return;if(e.length>100)throw Error("Too many attachments");let n=await (0,a.getPrismaClient)(),r=await n.runAttachment.findMany({where:{id:{in:e},inputId:null,...t?{OR:[{draftId:t},{draftId:null}]}:{draftId:null}}});if(r.length!==e.length)throw Error("One or more attachments are unavailable");if(r.reduce((e,t)=>e+t.size,0)>0x6400000)throw Error("Attachments exceed the 100 MB input limit")}}],594875),e.s([],648153)}];
10
+ ${JSON.stringify(a,null,2)}`].filter(Boolean).join("\n\n").slice(0,2e6),c=await v(n,"SESSION"),w=(0,t.randomUUID)(),h=(0,t.randomUUID)(),p=new Date,m=await n.agentRun.create({data:{id:w,kind:"SESSION",displayNumber:c,status:"IN_PROGRESS",phase:"ANSWER_REVISION_QUEUED",provider:s.run.provider,worktreeId:s.run.worktreeId,agentId:s.run.agentId,jiraIssueKey:s.run.jiraIssueKey,jiraSummary:s.run.jiraSummary,repositoryName:s.run.repositoryName,branch:s.run.branch,model:s.run.model,effort:s.run.effort,webSearchEnabled:s.run.webSearchEnabled,initialPrompt:l,parentRunId:s.runId,parentRunNumber:s.run.displayNumber,followUpMode:"ANSWER_REVISION",inputs:{create:{id:h,sequence:0,kind:"ANSWER_REVISION",prompt:l}}}});if(await n.worktreeRunLease.deleteMany({where:{worktreeId:s.run.worktreeId,runId:s.runId}}),await n.worktreeRunLease.findUnique({where:{worktreeId:s.run.worktreeId}}))throw Error("Another Session owns this worktree");await n.worktreeRunLease.create({data:{worktreeId:s.run.worktreeId,runId:w}}),await n.agentRun.update({where:{id:s.runId},data:{status:"CANCELLED",phase:"SUPERSEDED_BY_ANSWER_REVISION",finishedAt:p}});let I=await b(n,{runId:w,agentId:s.run.agentId,type:"REVISE_ANSWER",payload:{batchId:e,revisionId:d,inputId:h,stash:!!r,rollback:i,checkpoint:s.checkpoint}});return{batch:s,run:m,command:I}});return N(o.batch.runId),N(o.run.id),U(o.command,o.batch.run.agentId),this.get(o.run.id)}async pendingCommands(e){return(await (0,n.getPrismaClient)()).runCommand.findMany({where:{agentId:e,status:{in:["QUEUED","RUNNING"]}},orderBy:[{createdAt:"asc"},{sequence:"asc"}],take:200,include:k})}async claimCommand(e,t){let a=await (0,n.getPrismaClient)();await a.runCommand.updateMany({where:{id:t,agentId:e,status:"QUEUED"},data:{status:"RUNNING",claimedAt:new Date}});let r=await a.runCommand.findUnique({where:{id:t},include:k});if(!r||r.agentId!==e)throw Error("Run command not found");if("RUNNING"!==r.status)throw Error("Run command cannot be claimed");return r}async completeCommand(e,t,a,r){let i=await (0,n.getPrismaClient)(),s=await i.runCommand.findUnique({where:{id:t}});if(!s||s.agentId!==e)throw Error("Run command not found");let o=await i.runCommand.update({where:{id:t},data:{status:"SUCCEEDED"===a?"SUCCEEDED":"FAILED",error:S(r,2e4),finishedAt:new Date}});if("DELETE_NATIVE"===o.type&&"SUCCEEDED"===o.status){let e=await i.agentRun.findUnique({where:{id:o.runId},include:{inputs:{include:{attachments:!0}}}});if(e){let t=e.inputs.flatMap(e=>e.attachments.map(({storagePath:e})=>e));await i.agentRun.delete({where:{id:e.id}}),await m(t)}}else if("FAILED"===o.status)await i.agentRun.updateMany({where:{id:o.runId,status:{notIn:[...g]}},data:{error:o.error,phase:`${o.type}_FAILED`,...["START","PLAY_PLAN","CONTINUE"].includes(o.type)?{status:"FAILED",finishedAt:new Date}:{},...["PREPARE_ANSWER_REVISION","REVISE_ANSWER"].includes(o.type)?{status:"PAUSED",finishedAt:null}:{}}}),["START","PLAY_PLAN","CONTINUE"].includes(o.type)&&await i.worktreeRunLease.deleteMany({where:{runId:o.runId}});else if(["PAUSE","CANCEL"].includes(o.type)){let e="CANCEL"===o.type;await i.agentRun.updateMany({where:{id:o.runId,status:{notIn:[...g]}},data:{status:e?"CANCELLED":"PAUSED",phase:e?"CANCELLED":"PAUSED",finishedAt:e?new Date:null}}),e&&await i.worktreeRunLease.deleteMany({where:{runId:o.runId}})}return N(o.runId),o}async beginAttempt(e,a,r){let i=await (0,n.getPrismaClient)(),s=await i.agentRun.findUnique({where:{id:a},include:{attempts:!0}});if(!s||s.agentId!==e)throw Error("Run not found for this agent");if(g.has(s.status))throw Error("Run is already finished");let o=s.attempts.length,d=await i.runAttempt.create({data:{id:(0,t.randomUUID)(),runId:a,generation:o,nativeId:r||null,nativeKey:r?`${e}:${s.provider}:${r}`:null,status:"RUNNING"}});return await i.agentRun.update({where:{id:a},data:{phase:"RUNNING",startedAt:s.startedAt??new Date}}),N(a),d}async updateAttemptNativeId(e,t,a,r){let i=await (0,n.getPrismaClient)(),s=await i.$transaction(async n=>{let i=await n.runAttempt.findUnique({where:{id:t},include:{run:!0}});if(!i||i.run.agentId!==e)throw Error("Attempt not found");let s=`${e}:${i.run.provider}:${a}`,o=await n.runAttempt.findUnique({where:{nativeKey:s}});if(o&&o.id!==t){if(o.runId!==i.runId)throw Error("Native provider session belongs to another run");await n.runAttempt.update({where:{id:o.id},data:{nativeKey:null}})}let d=await n.runAttempt.update({where:{id:t},data:{nativeId:a,nativeKey:s}});return r&&await n.agentRun.update({where:{id:i.runId},data:{providerVersion:r}}),d});return N(s.runId),s}async appendEvents(e,t,r,i){let s=await (0,n.getPrismaClient)(),o=await s.agentRun.findUnique({where:{id:t}});if(!o||o.agentId!==e)throw Error("Run not found for this agent");let d=i.slice(0,500).map(e=>{let n=R(e.summary,"Event summary",2e3);return{id:e.id,runId:t,attemptId:r,sequence:e.sequence,type:R(e.type,"Event type",100).toUpperCase(),summary:n,searchText:S(e.searchText,1e5)??n,detailMarkdown:S(e.detailMarkdown,5e5),rawJson:void 0===e.raw?null:JSON.stringify(e.raw),createdAt:C(e.createdAt)}});if(!d.length)return[];let u=await s.$transaction(async e=>{let n=new Set((await e.runEvent.findMany({where:{id:{in:d.map(e=>e.id)}},select:{id:!0}})).map(({id:e})=>e)),a=d.filter(e=>!n.has(e.id));if(a.length){await e.runEvent.createMany({data:a});let n=a.filter(e=>e.type.includes("TOOL")&&!e.type.includes("QUESTION")).map(e=>({id:`event:${e.id}`,runId:t,attemptId:r,sequence:e.sequence,name:e.summary.split(/[\s:(]/,1)[0]||e.type,status:e.type.includes("FAIL")||e.type.includes("ERROR")?"FAILED":e.type.includes("COMPLETE")||e.type.includes("RESULT")?"COMPLETED":"OBSERVED",inputJson:e.rawJson,error:e.type.includes("FAIL")||e.type.includes("ERROR")?e.summary:null,finishedAt:e.createdAt}));n.length&&(await e.runToolCall.createMany({data:n}),await e.agentRun.update({where:{id:t},data:{toolCallCount:await e.runToolCall.count({where:{runId:t}})}}))}return e.runEvent.findMany({where:{id:{in:d.map(e=>e.id)}},orderBy:{sequence:"asc"}})});for(let e of u)a.agentEventBus.publish((0,a.runEventTopic)(t),{runEventAdded:e});return N(t),u}async reportQuestion(e,r,i,s,o,d){if(!d.length||d.length>10)throw Error("Question batch is invalid");let u=await (0,n.getPrismaClient)(),l=await u.$transaction(async n=>{let a=await n.agentRun.findUnique({where:{id:r},include:{worktree:!0}});if(!a||a.agentId!==e)throw Error("Run not found for this agent");if(s){let e=await n.runQuestionBatch.findUnique({where:{runId_nativeRequestId:{runId:r,nativeRequestId:s}},include:{questions:{orderBy:{position:"asc"},include:{options:{orderBy:{position:"asc"}}}}}});if(e)return{batch:e,notification:null}}let u=(0,t.randomUUID)(),l=await n.runQuestionBatch.create({data:{id:u,runId:r,attemptId:i,nativeRequestId:s,eventSequence:Number.isInteger(o)&&(o??-1)>=-1?o:null,questions:{create:d.map((e,n)=>({id:`${u}:${n}:${e.id||"question"}`,position:n,header:S(e.header,200),prompt:R(e.prompt,"Question",1e4),multiSelect:!!e.multiSelect,allowCustom:!1!==e.allowCustom,options:{create:(e.options??[]).map((e,n)=>({id:(0,t.randomUUID)(),position:n,label:R(e.label,"Option label",500),description:S(e.description,2e3)}))}}))}},include:{questions:{include:{options:!0}}}});return await n.agentRun.update({where:{id:r},data:{phase:"WAITING_FOR_ANSWER"}}),{batch:l,notification:this.notifications?await this.notifications.recordInTransaction(n,{dedupeKey:`run:${r}:question:${u}`,typeKey:"RUN_NEEDS_ANSWER",title:`${"PLAN"===a.kind?"Plan":"Session"} #${a.displayNumber} needs an answer`,body:d[0].prompt.slice(0,1e3),href:D(a),resourceKind:a.kind,resourceId:a.id,worktreeId:a.worktreeId,highlightColor:a.worktree?.highlightColor}):null}});return this.notifications?.created(l.notification),N(r),a.agentEventBus.publish((0,a.runQuestionTopic)(r),{runQuestionChanged:{id:l.batch.id,runId:r}}),l.batch}async reportUsage(e,a,r,i){let s=await (0,n.getPrismaClient)(),o=await s.agentRun.findUnique({where:{id:a}});if(!o||o.agentId!==e)throw Error("Run not found for this agent");let d=e=>Number.isFinite(e)&&(e??0)>=0?Math.floor(e):0;return await s.$transaction(async e=>{let n=await e.runModelUsage.findFirst({where:{runId:a,attemptId:r,model:i.model}}),s={inputTokens:d(i.inputTokens),outputTokens:d(i.outputTokens),reasoningTokens:d(i.reasoningTokens),cacheReadTokens:d(i.cacheReadTokens),cacheWriteTokens:d(i.cacheWriteTokens),estimatedCost:i.estimatedCost??null};n?await e.runModelUsage.update({where:{id:n.id},data:s}):await e.runModelUsage.create({data:{id:(0,t.randomUUID)(),runId:a,attemptId:r,model:i.model,...s}});let o=await e.runModelUsage.aggregate({where:{runId:a},_sum:{inputTokens:!0,outputTokens:!0,reasoningTokens:!0,cacheReadTokens:!0,cacheWriteTokens:!0,estimatedCost:!0}}),u=await e.runModelUsage.findMany({where:{runId:a,estimatedCost:{not:null}},select:{model:!0,estimatedCost:!0}}),l=u.find(({model:e})=>"estimated-total"===e)?.estimatedCost,c=await e.runToolCall.count({where:{runId:a}});await e.agentRun.update({where:{id:a},data:{inputTokens:o._sum.inputTokens??0,outputTokens:o._sum.outputTokens??0,reasoningTokens:o._sum.reasoningTokens??0,cacheReadTokens:o._sum.cacheReadTokens??0,cacheWriteTokens:o._sum.cacheWriteTokens??0,toolCallCount:Math.max(c,d(i.toolCallCount)),estimatedCost:l??(u.length?u.reduce((e,t)=>e+(t.estimatedCost??0),0):null),pricingSource:S(i.pricingSource,200),pricingUpdatedAt:new Date}})}),N(a),this.get(a)}async finishAttempt(e,t,a){let r=a.status.toUpperCase();if(!["PAUSED","COMPLETED","CANCELLED","FAILED"].includes(r))throw Error("Run completion status is invalid");let i=await (0,n.getPrismaClient)(),s=await i.$transaction(async n=>{let i=await n.runAttempt.findUnique({where:{id:t},include:{run:{include:{worktree:!0}}}});if(!i||i.run.agentId!==e)throw Error("Attempt not found");let s=g.has(i.run.status)?i.run.status:r;await n.runAttempt.update({where:{id:t},data:{status:s,finishedAt:new Date}}),await n.runQuestionBatch.updateMany({where:{runId:i.runId,status:"PENDING"},data:{status:"SUPERSEDED",supersededAt:new Date}});let o=g.has(i.run.status)?i.run:await n.agentRun.update({where:{id:i.runId},data:{status:r,phase:a.phase?.trim().toUpperCase()||r,finalOutput:S(a.finalOutput,2e6),error:S(a.error,2e4),finishedAt:"PAUSED"===r?null:new Date}});g.has(s)&&await n.worktreeRunLease.deleteMany({where:{runId:o.id}});let d="COMPLETED"===s?"RUN_COMPLETED":"FAILED"===s?"RUN_FAILED":"CANCELLED"===s?"RUN_CANCELLED":"RECOVERY_PAUSED"===a.phase?"RUN_RECOVERY_PAUSED":null,u=d&&this.notifications?await this.notifications.recordInTransaction(n,{dedupeKey:`run:${o.id}:status:${s}:${i.generation}`,typeKey:d,title:`${"PLAN"===o.kind?"Plan":"Session"} #${o.displayNumber} ${s.toLowerCase()}`,body:a.error||a.finalOutput?.slice(0,1e3)||`The ${o.kind.toLowerCase()} is ${s.toLowerCase()}.`,href:D(o),resourceKind:o.kind,resourceId:o.id,worktreeId:o.worktreeId,highlightColor:i.run.worktree?.highlightColor}):null;return{run:o,notification:u}});return this.notifications?.created(s.notification),N(s.run.id),this.get(s.run.id)}async reportCheckpoint(e,a,r,i){let s=await (0,n.getPrismaClient)(),o=await s.agentRun.findUnique({where:{id:a}});if(!o||o.agentId!==e)throw Error("Run not found for this agent");if(i.questionBatchId){let e=await s.runQuestionBatch.findUnique({where:{id:i.questionBatchId}});if(!e||e.runId!==a)throw Error("Question batch not found")}let d=await s.runCheckpoint.create({data:{id:(0,t.randomUUID)(),runId:a,attemptId:r,questionBatchId:i.questionBatchId??null,kind:R(i.kind,"Checkpoint kind",100).toUpperCase(),headSha:S(i.headSha,100),branch:S(i.branch,500),upstreamSha:S(i.upstreamSha,100),indexTree:S(i.indexTree,100),worktreeTree:S(i.worktreeTree,100),refName:S(i.refName,1e3),manifestJson:S(i.manifestJson,2e6),diffSummary:S(i.diffSummary,5e5),diffPatch:S(i.diffPatch,2e6),stashRef:S(i.stashRef,1e3)}});return N(a),d}async reportAnswerRevisionPreview(e,t,r,i){let s=await (0,n.getPrismaClient)(),o=await s.runQuestionBatch.findUnique({where:{id:t},include:{run:!0}});if(!o||o.run.agentId!==e||"MANAGED"!==o.run.origin)throw Error("Question batch not found for this agent");let d=await s.runQuestionBatch.update({where:{id:t},data:{revisionPreparedAt:new Date,rollbackPatch:r.slice(0,2e6),pushedCommitWarning:S(i,2e4)},include:{questions:{orderBy:{position:"asc"},include:{options:{orderBy:{position:"asc"}}}},answerRevisions:{orderBy:{revision:"asc"}}}});return N(o.runId),a.agentEventBus.publish((0,a.runQuestionTopic)(o.runId),{runQuestionChanged:{id:t,runId:o.runId}}),d}async applyAnswerRevision(e,t,a,r){let i=await (0,n.getPrismaClient)(),s=await i.$transaction(async n=>{let i=await n.runQuestionBatch.findUnique({where:{id:t},include:{run:!0,attempt:!0}}),s=await n.runAttempt.findUnique({where:{id:r},include:{run:!0}}),o=await n.runAnswerRevision.findUnique({where:{id:a}});if(!i||i.run.agentId!==e||!i.attempt||!s||s.run.parentRunId!==i.runId||"ANSWER_REVISION"!==s.run.followUpMode||!o||o.batchId!==t)throw Error("Answer revision cannot be applied");let d=new Date,u=(await n.runAttempt.findMany({where:{runId:i.runId,generation:{gte:i.attempt.generation}},select:{id:!0}})).map(({id:e})=>e);await n.runAttempt.updateMany({where:{id:{in:u}},data:{status:"SUPERSEDED",supersededAt:d,finishedAt:d}}),await n.runEvent.updateMany({where:{runId:i.runId,sequence:{gt:i.eventSequence??-1},supersededAt:null},data:{supersededAt:d}}),await n.runToolCall.updateMany({where:{attemptId:{in:u},supersededAt:null},data:{supersededAt:d}}),await n.runModelUsage.updateMany({where:{attemptId:{in:u}},data:{superseded:!0}});let l=(await n.runQuestionBatch.findMany({where:{runId:i.runId,createdAt:{gt:i.createdAt}},select:{id:!0}})).map(({id:e})=>e);return await n.runQuestionBatch.updateMany({where:{id:{in:l}},data:{status:"SUPERSEDED",supersededAt:d}}),await n.runAnswerRevision.updateMany({where:{OR:[{batchId:{in:l}},{batchId:t,id:{not:a}}],supersededAt:null},data:{supersededAt:d}}),await n.runAnswerRevision.update({where:{id:a},data:{replacementAttemptId:r}}),await n.agentRun.update({where:{id:i.runId},data:{status:"CANCELLED",phase:"SUPERSEDED_BY_ANSWER_REVISION",finishedAt:d}}),await n.agentRun.update({where:{id:s.runId},data:{status:"IN_PROGRESS",phase:"RUNNING"}}),{sourceRunId:i.runId,replacementRunId:s.runId}});return N(s.sourceRunId),N(s.replacementRunId),this.get(s.replacementRunId)}async importRuns(e,a,r){let i=A(f,a,"Provider"),s=await (0,n.getPrismaClient)(),o=0;for(let n of r){let a=`${e}:${i}:${R(n.nativeId,"Native ID",500)}`,r=(()=>{let e=n.status?.toUpperCase()??"COMPLETED";return["ACTIVE","RUNNING","STARTING","IN_PROGRESS","WAITING_FOR_ANSWER"].includes(e)?"IN_PROGRESS":"PAUSED"===e?"PAUSED":"CANCELLED"===e||"CANCELED"===e?"CANCELLED":"FAILED"===e||"ERROR"===e?"FAILED":"COMPLETED"})(),d=await s.runAttempt.findUnique({where:{nativeKey:a},include:{run:!0}});if(d){if("IMPORTED"===d.run.origin){let e="SESSION"===d.run.kind&&"IN_PROGRESS"===r?await s.worktreeRunLease.findUnique({where:{worktreeId:d.run.worktreeId??""}}):null;await s.$transaction([s.runAttempt.update({where:{id:d.id},data:{rawMetadataJson:JSON.stringify(n.rawMetadata??{})}}),s.agentRun.update({where:{id:d.runId},data:{status:r,phase:e?"IMPORTED_ACTIVE_COLLISION":"IMPORTED_SYNCED",model:n.model||d.run.model,effort:S(n.effort,100),finalOutput:S(n.finalOutput,2e6),branch:n.branch??d.run.branch,jiraIssueKey:S(n.jiraIssueKey,100),nativeArchivedAt:n.archived?new Date:null,startedAt:C(n.createdAt)??d.run.startedAt,finishedAt:"IN_PROGRESS"===r?null:C(n.updatedAt)??d.run.finishedAt}})]),N(d.runId)}continue}let u=await s.worktree.findUnique({where:{id:n.worktreeId},include:{codebase:{include:{repository:!0}}}});if(!u||u.codebase.agentId!==e)continue;let l=n.kind?.toUpperCase()==="PLAN"?"PLAN":"SESSION",c="SESSION"===l&&"IN_PROGRESS"===r?await s.worktreeRunLease.findUnique({where:{worktreeId:u.id}}):null,w=await s.$transaction(e=>v(e,l)),h=(0,t.randomUUID)();await s.agentRun.create({data:{id:h,kind:l,displayNumber:w,status:r,phase:c?"IMPORTED_ACTIVE_COLLISION":"IMPORTED_SYNCED",origin:"IMPORTED",provider:i,worktreeId:u.id,agentId:e,jiraIssueKey:S(n.jiraIssueKey,100),repositoryName:u.codebase.repository.name,branch:n.branch??u.branch,model:n.model||"unknown",effort:S(n.effort,100),initialPrompt:n.prompt?.trim()||"Imported provider history",finalOutput:S(n.finalOutput,2e6),archivedAt:n.archived?new Date:null,nativeArchivedAt:n.archived?new Date:null,startedAt:C(n.createdAt),finishedAt:C(n.updatedAt),createdAt:C(n.createdAt),attempts:{create:{id:(0,t.randomUUID)(),generation:0,nativeId:n.nativeId,nativeKey:a,status:"IMPORTED",rawMetadataJson:JSON.stringify(n.rawMetadata??{})}},inputs:{create:{id:(0,t.randomUUID)(),sequence:0,kind:"INITIAL",prompt:n.prompt?.trim()||"Imported provider history"}}}}),N(h),o+=1}return await s.runProviderSync.upsert({where:{agentId_provider:{agentId:e,provider:i}},create:{id:(0,t.randomUUID)(),agentId:e,provider:i,status:"IDLE",lastCompletedAt:new Date,importedCount:o},update:{status:"IDLE",lastCompletedAt:new Date,lastError:null,importedCount:{increment:o}}}),o}async providerCatalog(e={}){let t=await (0,n.getPrismaClient)(),a=!!(e.runId||e.worktreeId),i=e.runId?(await t.agentRun.findUnique({where:{id:e.runId},select:{agentId:!0}}))?.agentId:e.worktreeId?(await t.worktree.findUnique({where:{id:e.worktreeId},select:{codebase:{select:{agentId:!0}}}}))?.codebase.agentId:null,[s,o]=a&&!i?[[],[]]:await Promise.all([t.agent.findMany({where:i?{id:i}:void 0,select:{id:!0,capabilitiesJson:!0,lastSeenAt:!0,disconnectedAt:!0,heartbeatIntervalSeconds:!0}}),t.runProviderSync.findMany({where:i?{agentId:i}:void 0,orderBy:{updatedAt:"desc"}})]);return f.map(e=>{let t=`runs.provider.${e.toLowerCase()}`,n=s.some(n=>{let a=o.find(t=>t.agentId===n.id&&t.provider===e);return!n.disconnectedAt&&!!n.lastSeenAt&&Date.now()-n.lastSeenAt.getTime()<=(0,r.agentOnlineWindowMs)(n)&&JSON.parse(n.capabilitiesJson).includes(t)&&a?.status!=="FAILED"}),a=o.find(({provider:t})=>t===e)?.catalogJson,i=a?JSON.parse(a):null;return{key:e,label:"OPENCODE"===e?"OpenCode":"CLAUDE"===e?"Claude":"Codex",available:n,models:i?.models?.length?i.models:[{id:"default",label:"Provider default",efforts:["auto","low","medium","high"]}],supportsWebSearch:i?.capabilities?.webSearch??!0,supportsQuestions:i?.capabilities?.questions??!0,supportsImport:i?.capabilities?.import??!0,supportsPause:i?.capabilities?.pause??!0,supportsSteering:i?.capabilities?.steering??!0,supportsResume:i?.capabilities?.resume??!0,supportsNativeDelete:i?.capabilities?.nativeDelete??!0}})}async providerImportStatus(){return(await (0,n.getPrismaClient)()).runProviderSync.findMany({orderBy:[{agentId:"asc"},{provider:"asc"}]})}async reportProviderImportStatus(e,a,r,i,s){let o=A(f,a,"Provider"),d=r.trim().toUpperCase();if(!["SYNCING","IDLE","FAILED"].includes(d))throw Error("Import status is invalid");return(await (0,n.getPrismaClient)()).runProviderSync.upsert({where:{agentId_provider:{agentId:e,provider:o}},create:{id:(0,t.randomUUID)(),agentId:e,provider:o,status:d,lastStartedAt:"SYNCING"===d?new Date:void 0,lastCompletedAt:"IDLE"===d?new Date:void 0,lastError:S(i,2e4),catalogJson:void 0===s?void 0:JSON.stringify(s)},update:{status:d,lastStartedAt:"SYNCING"===d?new Date:void 0,lastCompletedAt:"IDLE"===d?new Date:void 0,lastError:"FAILED"===d?S(i,2e4):null,catalogJson:void 0===s?void 0:JSON.stringify(s)}})}subscribeRuns(){return a.agentEventBus.iterate(a.RUNS_CHANGED_TOPIC)}subscribeRun(e){return a.agentEventBus.iterate((0,a.runChangedTopic)(e))}subscribeEvents(e){return a.agentEventBus.iterate((0,a.runEventTopic)(e))}subscribeQuestions(e){return a.agentEventBus.iterate((0,a.runQuestionTopic)(e))}async requireWorktree(e,t){let a=await (0,n.getPrismaClient)(),i=await a.worktree.findUnique({where:{id:R(e,"Worktree",500)},include:{codebase:{include:{repository:!0,agent:!0}}}});if(!i||"AVAILABLE"!==i.availability)throw Error("Worktree is unavailable");if(t){let e=i.codebase.agent,n=JSON.parse(e.capabilitiesJson);if(e.disconnectedAt||!e.lastSeenAt||Date.now()-e.lastSeenAt.getTime()>(0,r.agentOnlineWindowMs)(e)||!n.includes(`runs.provider.${t.toLowerCase()}`))throw Error(`${t} is unavailable on this worktree's agent`);let s=await a.runProviderSync.findUnique({where:{agentId_provider:{agentId:i.codebase.agentId,provider:t}}});if(s?.status==="FAILED")throw Error(`${t} is unavailable: ${s.lastError??"provider capability check failed"}`)}return i}async requireAttachments(e,t){if(!e.length)return;if(e.length>100)throw Error("Too many attachments");let a=await (0,n.getPrismaClient)(),r=await a.runAttachment.findMany({where:{id:{in:e},inputId:null,...t?{OR:[{draftId:t},{draftId:null}]}:{draftId:null}}});if(r.length!==e.length)throw Error("One or more attachments are unavailable");if(r.reduce((e,t)=>e+t.size,0)>0x6400000)throw Error("Attachments exceed the 100 MB input limit")}}],594875),e.s([],648153)}];
11
11
 
12
12
  //# sourceMappingURL=src_services_runs_index_ts_0_l1wkt._.js.map
@@ -0,0 +1,35 @@
1
+ module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},857764,(a,b,c)=>{b.exports=a.x("node:url",()=>require("node:url"))},59639,(a,b,c)=>{b.exports=a.x("node:process",()=>require("node:process"))},462711,651212,316552,a=>{"use strict";var b=a.i(750227);a.s(["minpath",()=>b.default],462711);var c=a.i(59639);a.s(["minproc",()=>c.default],651212);var d=a.i(857764);a.s(["urlToPath",()=>d.fileURLToPath],316552)},403512,a=>{"use strict";let b=(0,a.i(164831).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",0,b],403512)},645766,a=>{"use strict";let b=(0,a.i(164831).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);a.s(["default",0,b])},233540,a=>{"use strict";var b=a.i(645766);a.s(["Search",()=>b.default])},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})}])},879675,a=>{"use strict";let b=(0,a.i(164831).default)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);a.s(["Save",0,b],879675)},639466,a=>{"use strict";let b=(0,a.i(164831).default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);a.s(["Settings2",0,b],639466)},533838,a=>{"use strict";let b=(0,a.i(164831).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);a.s(["RotateCcw",0,b],533838)},272944,a=>{"use strict";var b=a.i(607396);a.s(["MoreHorizontal",()=>b.default])},275401,a=>{"use strict";function b(a){return`${a.repositoryNameWithOwner}#${a.number}`}a.s(["pullRequestCommentsHref",0,function(a){return`/comments?pullRequest=${encodeURIComponent(b(a))}`},"pullRequestDetailHref",0,function(a){let[b="",c=""]=a.repositoryNameWithOwner.split("/");return`/pull-requests/${encodeURIComponent(b)}/${encodeURIComponent(c)}/${a.number}`},"pullRequestKey",0,b])},313481,a=>{"use strict";var b=a.i(187924),c=a.i(589027),d=a.i(168370),e=a.i(533838),f=a.i(415925),g=a.i(572131),h=a.i(786304),i=a.i(699570),j=a.i(335732),k=a.i(668684),l=a.i(785259),m=a.i(460280);function n({pipeline:a,repositoryId:c,onPipelineRetried:d,onError:h}){let j=(0,f.useTranslations)("pullRequests"),[o,p]=(0,g.useState)(!1),q=async b=>{if(b.stopPropagation(),a.canRetry&&a.checkSuiteId){p(!0);try{let b=await (0,m.controlPlaneRequest)(`mutation RetryGitHubPipeline(
2
+ $repositoryId: ID!
3
+ $checkSuiteId: ID!
4
+ ) {
5
+ retryGitHubPipeline(
6
+ repositoryId: $repositoryId
7
+ checkSuiteId: $checkSuiteId
8
+ ) { id name status url checkSuiteId canRetry retryUnavailableReason jobs { id name status url canRetry retryUnavailableReason steps { number name status } } }
9
+ }`,{repositoryId:c,checkSuiteId:a.checkSuiteId});d?.(b.retryGitHubPipeline),h?.(null)}catch(a){h?.(a instanceof Error?a.message:String(a))}finally{p(!1)}}},r=(0,b.jsxs)(i.Button,{disabled:o||!a.canRetry||!a.checkSuiteId,onClick:a=>void q(a),size:"sm",variant:"outline",children:[o?(0,b.jsx)(k.Spinner,{}):(0,b.jsx)(e.RotateCcw,{}),j(o?"retrying":"retry")]});if(!a.retryUnavailableReason||o)return r;let s=j(`retryUnavailable.${a.retryUnavailableReason}`);return(0,b.jsx)(l.TooltipProvider,{children:(0,b.jsxs)(l.Tooltip,{children:[(0,b.jsx)(l.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{"aria-label":s,className:"inline-flex",tabIndex:0,children:r})}),(0,b.jsx)(l.TooltipContent,{children:s})]})})}function o(a){return"SUCCESS"===a?"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":"PENDING"===a||"EXPECTED"===a||"QUEUED"===a||"IN_PROGRESS"===a||"ACTION_REQUIRED"===a?"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300":"FAILURE"===a||"ERROR"===a||"CANCELLED"===a||"STALE"===a||"STARTUP_FAILURE"===a||"TIMED_OUT"===a?"border-red-500/30 bg-red-500/10 text-red-700 dark:text-red-300":"border-slate-500/30 bg-slate-500/10 text-slate-700 dark:text-slate-300"}a.s(["PipelineMenu",0,function({pipelineStatus:a,pipelines:e,repositoryId:k,onPipelineRetried:l}){let m=(0,f.useTranslations)("pullRequests"),[p,q]=(0,g.useState)(null),r=a=>a.stopPropagation();return(0,b.jsxs)(j.DropdownMenu,{children:[(0,b.jsx)(j.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsxs)(i.Button,{className:`h-5 rounded-full px-2 py-0.5 text-xs ${o(a)}`,onClick:r,variant:"outline",children:[m(`pipelineStates.${a}`),(0,b.jsx)(c.ChevronDown,{className:"size-3"})]})}),(0,b.jsxs)(j.DropdownMenuContent,{align:"end",className:"w-80",onClick:r,children:[(0,b.jsx)(j.DropdownMenuLabel,{children:m("pipelineMenuTitle")}),(0,b.jsx)(j.DropdownMenuSeparator,{}),p&&(0,b.jsx)("p",{className:"px-2 py-1.5 text-xs text-destructive",children:p}),0===e.length?(0,b.jsx)("p",{className:"px-2 py-3 text-sm text-muted-foreground",children:m("noPipelines")}):(0,b.jsx)("div",{className:"space-y-1 p-1",children:e.map(a=>(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-md px-2 py-2 hover:bg-muted",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[a.url?(0,b.jsxs)("a",{className:"flex min-w-0 items-center gap-1 text-sm font-medium hover:underline",href:a.url,rel:"noreferrer",target:"_blank",children:[(0,b.jsx)("span",{className:"truncate",children:a.name}),(0,b.jsx)(d.ExternalLink,{className:"size-3 shrink-0"})]}):(0,b.jsx)("p",{className:"truncate text-sm font-medium",children:a.name}),(0,b.jsx)(h.Badge,{className:`mt-1 ${o(a.status)}`,children:m(`pipelineStates.${a.status}`)})]}),a.checkSuiteId&&(0,b.jsx)(n,{onError:q,onPipelineRetried:l,pipeline:a,repositoryId:k})]},a.id))})]})]})},"pipelineStateClass",0,o])},205956,105606,a=>{"use strict";var b=a.i(187924);let c=(0,a.i(164831).default)("git-merge",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]]);a.s(["GitMerge",0,c],105606);var d=a.i(415925),e=a.i(572131),f=a.i(124348),g=a.i(699570),h=a.i(795225),i=a.i(866718),j=a.i(870430),k=a.i(580701),l=a.i(668684),m=a.i(429246),n=a.i(460280);let o="__github_account_default__";a.s(["MergePullRequestButton",0,function({pullRequest:a,onMerged:p,size:q="sm",variant:r="outline",open:s,onOpenChange:t,showTrigger:u=!0}){let v=(0,d.useTranslations)("pullRequests"),[w,x]=(0,e.useState)(!1),[y,z]=(0,e.useState)(null),[A,B]=(0,e.useState)(""),[C,D]=(0,e.useState)(""),[E,F]=(0,e.useState)(""),[G,H]=(0,e.useState)(o),[I,J]=(0,e.useState)(!1),[K,L]=(0,e.useState)(!1),[M,N]=(0,e.useState)(null),[O="",P=""]=a.repositoryNameWithOwner.split("/",2),Q=s??w,R=a=>{a||(J(!1),z(null),N(null)),void 0===s&&x(a),t?.(a)};(0,e.useEffect)(()=>{if(!Q)return;let b=!0,c=window.setTimeout(()=>{J(!0),z(null),N(null),(0,n.controlPlaneRequest)(`query GitHubPullRequestMergeOptions(
10
+ $owner: String!
11
+ $name: String!
12
+ $number: Int!
13
+ ) {
14
+ githubPullRequestMergeOptions(
15
+ owner: $owner
16
+ name: $name
17
+ number: $number
18
+ ) {
19
+ availableMethods
20
+ commitEmails
21
+ defaultCommitEmail
22
+ defaultCommitHeadline
23
+ defaultCommitBody
24
+ canMerge
25
+ blockedReason
26
+ }
27
+ }`,{owner:O,name:P,number:a.number}).then(a=>{if(!b)return;let c=a.githubPullRequestMergeOptions;z(c),B(c.availableMethods[0]??""),D(c.defaultCommitHeadline),F(c.defaultCommitBody),H(c.defaultCommitEmail??o)}).catch(a=>{b&&N(a instanceof Error?a.message:String(a))}).finally(()=>{b&&J(!1)})},0);return()=>{b=!1,window.clearTimeout(c)}},[P,Q,O,a.number]);let S=async()=>{if(A&&y?.canMerge&&C.trim()){L(!0),N(null);try{let b=await (0,n.controlPlaneRequest)(`mutation MergeGitHubPullRequest(
28
+ $input: MergeGitHubPullRequestInput!
29
+ ) {
30
+ mergeGitHubPullRequest(input: $input) {
31
+ id state url mergedAt
32
+ }
33
+ }`,{input:{owner:O,name:P,number:a.number,method:A,commitHeadline:C,commitBody:E,authorEmail:G===o?null:G}});R(!1),await p?.(b.mergeGitHubPullRequest)}catch(a){N(a instanceof Error?a.message:String(a))}finally{L(!1)}}},T=y?.blockedReason??null;return(0,b.jsxs)(b.Fragment,{children:[u&&(0,b.jsxs)(g.Button,{onClick:a=>{a.stopPropagation(),R(!0)},size:q,type:"button",variant:r,children:[(0,b.jsx)(c,{}),v("merge")]}),(0,b.jsx)(h.Dialog,{onOpenChange:a=>{K||R(a)},open:Q,children:(0,b.jsxs)(h.DialogContent,{className:"sm:max-w-xl",children:[(0,b.jsxs)(h.DialogHeader,{children:[(0,b.jsx)(h.DialogTitle,{children:v("mergePullRequest")}),(0,b.jsx)(h.DialogDescription,{children:v("mergePullRequestDescription",{repository:a.repositoryNameWithOwner,number:a.number})})]}),!I&&(y||M)?(0,b.jsxs)("div",{className:"space-y-4",children:[(M||T)&&(0,b.jsx)(f.Alert,{variant:"destructive",children:(0,b.jsx)(f.AlertDescription,{children:M||T})}),y&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(j.Label,{className:"mb-1.5 block",htmlFor:"merge-method",children:v("mergeType")}),(0,b.jsxs)(k.Select,{disabled:K||0===y.availableMethods.length,onValueChange:a=>B(a),value:A,children:[(0,b.jsx)(k.SelectTrigger,{id:"merge-method",children:(0,b.jsx)(k.SelectValue,{placeholder:v("selectMergeType")})}),(0,b.jsx)(k.SelectContent,{children:y.availableMethods.map(a=>(0,b.jsx)(k.SelectItem,{value:a,children:v(`mergeTypes.${a}`)},a))})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(j.Label,{className:"mb-1.5 block",htmlFor:"merge-commit-headline",children:v("commitMessage")}),(0,b.jsx)(i.Input,{disabled:K,id:"merge-commit-headline",onChange:a=>D(a.target.value),value:C})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(j.Label,{className:"mb-1.5 block",htmlFor:"merge-commit-body",children:v("commitDescription")}),(0,b.jsx)(m.Textarea,{className:"min-h-28",disabled:K,id:"merge-commit-body",onChange:a=>F(a.target.value),value:E})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(j.Label,{className:"mb-1.5 block",htmlFor:"merge-email",children:v("commitEmail")}),(0,b.jsxs)(k.Select,{disabled:K,onValueChange:H,value:G,children:[(0,b.jsx)(k.SelectTrigger,{id:"merge-email",children:(0,b.jsx)(k.SelectValue,{})}),(0,b.jsxs)(k.SelectContent,{children:[(0,b.jsx)(k.SelectItem,{value:o,children:v("githubDefaultEmail")}),y.commitEmails.map(a=>(0,b.jsx)(k.SelectItem,{value:a,children:a},a))]})]})]})]})]}):(0,b.jsxs)("div",{className:"flex items-center gap-2 py-6 text-sm text-muted-foreground",children:[(0,b.jsx)(l.Spinner,{})," ",v("loadingMergeOptions")]}),(0,b.jsxs)(h.DialogFooter,{children:[(0,b.jsx)(g.Button,{disabled:K,onClick:()=>R(!1),type:"button",variant:"outline",children:v("cancelMerge")}),(0,b.jsxs)(g.Button,{disabled:I||K||!y?.canMerge||!A||!C.trim(),onClick:()=>void S(),type:"button",children:[K?(0,b.jsx)(l.Spinner,{}):(0,b.jsx)(c,{}),K?v("merging"):v("mergePullRequest")]})]})]})})]})}],205956)}];
34
+
35
+ //# sourceMappingURL=%5Broot-of-the-server%5D__03mx68i._.js.map
@@ -0,0 +1,55 @@
1
+ module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},857764,(a,b,c)=>{b.exports=a.x("node:url",()=>require("node:url"))},59639,(a,b,c)=>{b.exports=a.x("node:process",()=>require("node:process"))},462711,651212,316552,a=>{"use strict";var b=a.i(750227);a.s(["minpath",()=>b.default],462711);var c=a.i(59639);a.s(["minproc",()=>c.default],651212);var d=a.i(857764);a.s(["urlToPath",()=>d.fileURLToPath],316552)},233540,a=>{"use strict";var b=a.i(645766);a.s(["Search",()=>b.default])},403512,a=>{"use strict";let b=(0,a.i(164831).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",0,b],403512)},844873,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(750104),e=a.i(470121),f=a.i(897942),g=a.i(507554),h=Object.defineProperty,i=(a,b)=>h(a,"name",{value:b,configurable:!0}),[j,k]=(0,d.createContextScope)("AlertDialog",[f.createDialogScope]),l=(0,f.createDialogScope)(),m=i(a=>{let{__scopeAlertDialog:c,...d}=a,e=l(c);return(0,b.jsx)(f.Root,{...e,...d,modal:!0})},"AlertDialog"),n=c.forwardRef(i(function(a,c){let{__scopeAlertDialog:d,...e}=a,g=l(d);return(0,b.jsx)(f.Trigger,{...g,...e,ref:c})},"AlertDialogTrigger")),o=i(a=>{let{__scopeAlertDialog:c,...d}=a,e=l(c);return(0,b.jsx)(f.Portal,{...e,...d})},"AlertDialogPortal"),p=c.forwardRef(i(function(a,c){let{__scopeAlertDialog:d,...e}=a,g=l(d);return(0,b.jsx)(f.Overlay,{...g,...e,ref:c})},"AlertDialogOverlay")),[q,r]=j("AlertDialogContent"),s=c.forwardRef(i(function(a,d){let{__scopeAlertDialog:h,children:i,...j}=a,k=l(h),m=c.useRef(null),n=(0,e.useComposedRefs)(d,m),o=c.useRef(null);return(0,b.jsx)(q,{scope:h,cancelRef:o,children:(0,b.jsx)(f.Content,{role:"alertdialog",...k,...j,ref:n,onOpenAutoFocus:(0,g.composeEventHandlers)(j.onOpenAutoFocus,a=>{a.preventDefault(),o.current?.focus({preventScroll:!0})}),onPointerDownOutside:a=>a.preventDefault(),onInteractOutside:a=>a.preventDefault(),children:i})})},"AlertDialogContent")),t=c.forwardRef(i(function(a,c){let{__scopeAlertDialog:d,...e}=a,g=l(d);return(0,b.jsx)(f.Title,{...g,...e,ref:c})},"AlertDialogTitle")),u=c.forwardRef(i(function(a,c){let{__scopeAlertDialog:d,...e}=a,g=l(d);return(0,b.jsx)(f.Description,{...g,...e,ref:c})},"AlertDialogDescription")),v=c.forwardRef(i(function(a,c){let{__scopeAlertDialog:d,...e}=a,g=l(d);return(0,b.jsx)(f.Close,{...g,...e,ref:c})},"AlertDialogAction")),w=c.forwardRef(i(function(a,c){let{__scopeAlertDialog:d,...g}=a,{cancelRef:h}=r("AlertDialogCancel",d),i=l(d),j=(0,e.useComposedRefs)(c,h);return(0,b.jsx)(f.Close,{...i,...g,ref:j})},"AlertDialogCancel"));a.s(["Action",0,v,"AlertDialog",0,m,"AlertDialogAction",0,v,"AlertDialogCancel",0,w,"AlertDialogContent",0,s,"AlertDialogDescription",0,u,"AlertDialogOverlay",0,p,"AlertDialogPortal",0,o,"AlertDialogTitle",0,t,"AlertDialogTrigger",0,n,"Cancel",0,w,"Content",0,s,"Description",0,u,"Overlay",0,p,"Portal",0,o,"Root",0,m,"Title",0,t,"Trigger",0,n,"createAlertDialogScope",0,k],347178);var x=a.i(347178),x=x,y=a.i(368114),z=a.i(699570);function A({...a}){return(0,b.jsx)(x.Root,{"data-slot":"alert-dialog",...a})}function B({...a}){return(0,b.jsx)(x.Trigger,{"data-slot":"alert-dialog-trigger",...a})}function C({...a}){return(0,b.jsx)(x.Portal,{"data-slot":"alert-dialog-portal",...a})}function D({className:a,...c}){return(0,b.jsx)(x.Overlay,{"data-slot":"alert-dialog-overlay",className:(0,y.cn)("fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",a),...c})}function E({className:a,size:c="default",...d}){return(0,b.jsxs)(C,{children:[(0,b.jsx)(D,{}),(0,b.jsx)(x.Content,{"data-slot":"alert-dialog-content","data-size":c,className:(0,y.cn)("group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",a),...d})]})}function F({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,y.cn)("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",a),...c})}function G({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,y.cn)("-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",a),...c})}function H({className:a,...c}){return(0,b.jsx)(x.Title,{"data-slot":"alert-dialog-title",className:(0,y.cn)("font-heading text-base font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",a),...c})}function I({className:a,...c}){return(0,b.jsx)(x.Description,{"data-slot":"alert-dialog-description",className:(0,y.cn)("text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",a),...c})}function J({className:a,variant:c="default",size:d="default",...e}){return(0,b.jsx)(z.Button,{variant:c,size:d,asChild:!0,children:(0,b.jsx)(x.Action,{"data-slot":"alert-dialog-action",className:(0,y.cn)(a),...e})})}function K({className:a,variant:c="outline",size:d="default",...e}){return(0,b.jsx)(z.Button,{variant:c,size:d,asChild:!0,children:(0,b.jsx)(x.Cancel,{"data-slot":"alert-dialog-cancel",className:(0,y.cn)(a),...e})})}a.s(["ConfirmationDialog",0,function({actionLabel:a,cancelLabel:c,description:d,onConfirm:e,onOpenChange:f,open:g,title:h,trigger:i}){return(0,b.jsxs)(A,{onOpenChange:f,open:g,children:[i&&(0,b.jsx)(B,{asChild:!0,children:i}),(0,b.jsxs)(E,{children:[(0,b.jsxs)(F,{children:[(0,b.jsx)(H,{children:h}),(0,b.jsx)(I,{children:d})]}),(0,b.jsxs)(G,{children:[(0,b.jsx)(K,{children:c}),(0,b.jsx)(J,{onClick:()=>void e(),variant:"destructive",children:a})]})]})]})}],844873)},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})}])},738835,a=>{"use strict";let b=(0,a.i(164831).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);a.s(["Play",0,b],738835)},979762,a=>{"use strict";let b=(0,a.i(164831).default)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);a.s(["Archive",0,b],979762)},112613,a=>{"use strict";let b={CLAUDE:"Claude",CODEX:"Codex",OPENCODE:"OpenCode"};function c(a){return/^[A-Z0-9_]+$/.test(a)?a.split("_").filter(a=>a.length>0).map(a=>a[0]+a.slice(1).toLowerCase()).join(" "):a}function d(a){return a.replace(/^opencode-go\//i,"")}a.s(["formatEnumLabel",0,c,"formatModelLabel",0,d,"formatProviderLabel",0,function(a){return b[a]??c(a)},"splitModelLabel",0,function(a){let b=d(a),c=/^(.+?)\s+(Free)$/i.exec(b);return c?{name:c[1],qualifier:c[2]}:{name:b}}])},232573,a=>{"use strict";let b=`
2
+ id kind displayNumber status provider followUpMode
3
+ `,c=`
4
+ id kind displayNumber status phase origin provider providerVersion
5
+ worktreeId agentId worktree { id folder branch highlightColor }
6
+ jiraIssueKey jiraSummary repositoryName branch model effort webSearchEnabled
7
+ initialPrompt finalOutput estimatedCost pricingSource sourcePlanId sourcePlanNumber
8
+ playedAt playedSessionNumber
9
+ sourcePlan { ${b} }
10
+ playedSession { ${b} }
11
+ archivedAt nativeArchivedAt startedAt finishedAt createdAt updatedAt
12
+ `,d=`
13
+ ${c}
14
+ finalOutput error pricingUpdatedAt catalogCost inputTokens outputTokens reasoningTokens
15
+ cacheReadTokens cacheWriteTokens toolCallCount parentRunId parentRunNumber
16
+ parentRun { ${b} }
17
+ followUps { ${b} }
18
+ attempts { id generation nativeId status resumeStrategy startedAt finishedAt supersededAt }
19
+ inputs {
20
+ id sequence kind prompt createdAt
21
+ attachments { id filename contentType size sha256 downloadPath createdAt }
22
+ }
23
+ modelUsage {
24
+ id model inputTokens outputTokens reasoningTokens cacheReadTokens
25
+ cacheWriteTokens estimatedCost catalogCost superseded
26
+ }
27
+ toolCalls {
28
+ id sequence name status input output error startedAt finishedAt supersededAt
29
+ }
30
+ questionBatches {
31
+ id nativeRequestId status createdAt answeredAt supersededAt
32
+ revisionPreparedAt rollbackPatch pushedCommitWarning
33
+ questions {
34
+ id position header prompt multiSelect allowCustom
35
+ options { id position label description }
36
+ }
37
+ answerRevisions {
38
+ id revision answers createdAt supersededAt replacementAttemptId
39
+ }
40
+ checkpoint { id kind headSha branch upstreamSha indexTree worktreeTree refName diffSummary diffPatch stashRef createdAt }
41
+ }
42
+ checkpoints {
43
+ id kind headSha branch upstreamSha indexTree worktreeTree refName
44
+ diffSummary diffPatch stashRef createdAt
45
+ }
46
+ `,e=`
47
+ id runId attemptId sequence type summary detailMarkdown raw createdAt supersededAt
48
+ `,f=`
49
+ id kind worktreeId agentId worktree { id folder branch highlightColor }
50
+ jiraIssueKey jiraSummary provider model effort webSearchEnabled prompt
51
+ attachments { id filename contentType size sha256 downloadPath createdAt }
52
+ archivedAt createdAt updatedAt
53
+ `;a.s(["RUN_DETAIL_FIELDS",0,d,"RUN_DRAFT_FIELDS",0,f,"RUN_EVENT_FIELDS",0,e,"RUN_LIST_FIELDS",0,c])},590227,667757,a=>{"use strict";var b,c,d,e=a.i(187924),f=a.i(385953),g=a.i(368114);let h=["low","medium","high","xhigh","max","ultra"],i=["#38bdf8","#818cf8","#a78bfa","#e879f9","#fb7185","#fb923c"];a.s(["EffortIcon",0,function({className:a,effort:b,efforts:c}){let d=b?.toLowerCase()??"auto",j=(c??h).map(a=>a.toLowerCase()).filter(a=>"auto"!==a),k=j.indexOf(d)+1;if(!k)return(0,e.jsx)(f.Cpu,{"aria-hidden":"true",className:(0,g.cn)("h-4 w-5 shrink-0",a)});let l=j.length-1,m=Math.min(5,(17-l)/j.length),n=(20-(j.length*m+ +l))/2,o=Math.max(2.5,12.5/(j.length+1));return(0,e.jsx)("svg",{"aria-hidden":"true",className:(0,g.cn)("h-4 w-5 shrink-0",a),viewBox:"0 0 20 16",xmlns:"http://www.w3.org/2000/svg",children:j.map((a,b)=>{let c=l?o+(12.5-o)*b/l:12.5,f=b<k;return(0,e.jsx)("rect",{fill:f&&"ultra"===d?i[Math.round(b/(l||1)*(i.length-1))]:"currentColor",height:c,opacity:f?1:.25,rx:.6,width:m,x:n+b*(m+1),y:14-c},a)})})}],590227);var j=a.i(572131);function k(){return(k=Object.assign.bind()).apply(null,arguments)}function l(){return(l=Object.assign.bind()).apply(null,arguments)}function m(){return(m=Object.assign.bind()).apply(null,arguments)}let n={CODEX:function(a){return j.createElement("svg",l({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",fillRule:"evenodd",style:{flex:"none",lineHeight:1},viewBox:"0 0 24 24"},a),c||(c=j.createElement("path",{d:"M9.205 8.658v-2.26c0-.19.072-.333.238-.428l4.543-2.616c.619-.357 1.356-.523 2.117-.523 2.854 0 4.662 2.212 4.662 4.566 0 .167 0 .357-.024.547l-4.71-2.759a.8.8 0 0 0-.856 0zm10.609 8.8V12.06c0-.333-.143-.57-.429-.737l-5.97-3.473 1.95-1.118a.43.43 0 0 1 .476 0l4.543 2.617c1.309.76 2.189 2.378 2.189 3.948 0 1.808-1.07 3.473-2.76 4.163zM7.802 12.703l-1.95-1.142a.45.45 0 0 1-.239-.428V5.899c0-2.545 1.95-4.472 4.591-4.472 1 0 1.927.333 2.712.928L8.23 5.067c-.285.166-.428.404-.428.737zM12 15.128l-2.795-1.57v-3.33L12 8.658l2.795 1.57v3.33zm1.796 7.23c-1 0-1.927-.332-2.712-.927l4.686-2.712c.285-.166.428-.404.428-.737v-6.898l1.974 1.142c.167.095.238.238.238.428v5.233c0 2.545-1.974 4.472-4.614 4.472zm-5.637-5.303-4.544-2.617c-1.308-.761-2.188-2.378-2.188-3.948A4.48 4.48 0 0 1 4.21 6.327v5.423c0 .333.143.571.428.738l5.947 3.449-1.95 1.118a.43.43 0 0 1-.476 0m-.262 3.9c-2.688 0-4.662-2.021-4.662-4.519 0-.19.024-.38.047-.57l4.686 2.71a.79.79 0 0 0 .856 0l5.97-3.448v2.26c0 .19-.07.333-.237.428l-4.543 2.616c-.619.357-1.356.523-2.117.523m5.899 2.83a5.95 5.95 0 0 0 5.827-4.756C22.287 18.339 24 15.84 24 13.296c0-1.665-.713-3.282-1.998-4.448.119-.5.19-.999.19-1.498 0-3.401-2.759-5.947-5.946-5.947a5.7 5.7 0 0 0-1.88.31A5.96 5.96 0 0 0 10.205 0a5.95 5.95 0 0 0-5.827 4.757C1.713 5.447 0 7.945 0 10.49c0 1.666.713 3.283 1.998 4.448-.119.5-.19 1-.19 1.499 0 3.401 2.759 5.946 5.946 5.946.642 0 1.26-.095 1.88-.309a5.96 5.96 0 0 0 4.162 1.713z"})))},CLAUDE:function(a){return j.createElement("svg",k({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",fillRule:"evenodd",style:{flex:"none",lineHeight:1},viewBox:"0 0 24 24"},a),b||(b=j.createElement("path",{d:"M20.998 10.949H24v3.102h-3v3.028h-1.487V20H18v-2.921h-1.487V20H15v-2.921H9V20H7.488v-2.921H6V20H4.487v-2.921H3V14.05H0v-3.1h3V5h17.998zM6 10.949h1.488V8.102H6zm10.51 0H18V8.102h-1.49z",clipRule:"evenodd"})))},OPENCODE:function(a){return j.createElement("svg",m({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor",fillRule:"evenodd",style:{flex:"none",lineHeight:1},viewBox:"0 0 24 24"},a),d||(d=j.createElement("path",{d:"M16 6H8v12h8zm4 16H4V2h16z"})))}};a.s(["ProviderIcon",0,function({className:a,provider:b}){let c=n[b];return c?(0,e.jsx)(c,{"aria-hidden":"true",className:(0,g.cn)("size-4 shrink-0",a)}):null}],667757)},638168,a=>{"use strict";var b=a.i(415925),c=a.i(112613);a.s(["useRunLabels",0,function(){let a=(0,b.useTranslations)("runs"),d=(b,c)=>{let d=`${b}.${c}`;return a.has(d)?a(d):null};return{status:a=>d("statuses",a)??(0,c.formatEnumLabel)(a),phase:a=>d("phases",a)??(0,c.formatEnumLabel)(a),checkpointKind:a=>d("checkpointKinds",a)??(0,c.formatEnumLabel)(a),followUpMode:a=>d("followUpModes",a)??(0,c.formatEnumLabel)(a),toolCallStatus:a=>d("toolCallStatuses",a)??(0,c.formatEnumLabel)(a),eventType:a=>d("eventTypes",a)??(0,c.formatEnumLabel)(a)}}])},82710,a=>{"use strict";a.s(["isRowActivation",0,function(a){if(a.defaultPrevented||0!==a.button)return!1;let b=a.target;return b instanceof Element&&!!a.currentTarget.contains(b)&&!b.closest("a, button, input, select, textarea, [role='button'], [role='link'], [role='menuitem']")},"rowLinkClass",0,"-mx-1.5 rounded-md px-1.5 py-0.5 transition-colors hover:bg-muted focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none"])},423422,a=>{"use strict";let b=(0,a.i(164831).default)("undo-2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]);a.s(["Undo2",0,b],423422)}];
54
+
55
+ //# sourceMappingURL=%5Broot-of-the-server%5D__06_k1v8._.js.map
@@ -0,0 +1,35 @@
1
+ module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},857764,(a,b,c)=>{b.exports=a.x("node:url",()=>require("node:url"))},59639,(a,b,c)=>{b.exports=a.x("node:process",()=>require("node:process"))},462711,651212,316552,a=>{"use strict";var b=a.i(750227);a.s(["minpath",()=>b.default],462711);var c=a.i(59639);a.s(["minproc",()=>c.default],651212);var d=a.i(857764);a.s(["urlToPath",()=>d.fileURLToPath],316552)},233540,a=>{"use strict";var b=a.i(645766);a.s(["Search",()=>b.default])},403512,a=>{"use strict";let b=(0,a.i(164831).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",0,b],403512)},141146,a=>{"use strict";var b=a.i(199968);a.s(["ChevronRight",()=>b.default])},879675,a=>{"use strict";let b=(0,a.i(164831).default)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);a.s(["Save",0,b],879675)},437823,a=>{"use strict";a.s(["AGENT_FIELDS",0,"id name hostname version osVersion architecture cpuModel memoryTotalBytes memoryFreeBytes diskTotalBytes diskFreeBytes capabilities baseRepoDirectory derivedDataLocationMode derivedDataPath buildsDirectory defaultBuildsDirectory effectiveBuildsDirectory connectionStatus ipAddress lastSeenAt disconnectedAt createdAt","JOB_FIELDS",0,"id agentId kind payload status error result timeoutSeconds createdAt startedAt finishedAt updatedAt","JOB_LOG_FIELDS",0,"id jobId sequence stream message createdAt"])},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})}])},590629,a=>{"use strict";let b=(0,a.i(164831).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);a.s(["Pencil",0,b],590629)},235709,a=>{"use strict";let b=(0,a.i(164831).default)("apple",[["path",{d:"M12 6.528V3a1 1 0 0 1 1-1h0",key:"11qiee"}],["path",{d:"M18.237 21A15 15 0 0 0 22 11a6 6 0 0 0-10-4.472A6 6 0 0 0 2 11a15.1 15.1 0 0 0 3.763 10 3 3 0 0 0 3.648.648 5.5 5.5 0 0 1 5.178 0A3 3 0 0 0 18.237 21",key:"110c12"}]]);a.s(["Apple",0,b],235709)},347929,327598,a=>{"use strict";var b=a.i(164831);let c=(0,b.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);a.s(["ArrowDown",0,c],347929);let d=(0,b.default)("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);a.s(["ArrowUp",0,d],327598)},33019,a=>{"use strict";let b=(0,a.i(164831).default)("paintbrush",[["path",{d:"m14.622 17.897-10.68-2.913",key:"vj2p1u"}],["path",{d:"M18.376 2.622a1 1 0 1 1 3.002 3.002L17.36 9.643a.5.5 0 0 0 0 .707l.944.944a2.41 2.41 0 0 1 0 3.408l-.944.944a.5.5 0 0 1-.707 0L8.354 7.348a.5.5 0 0 1 0-.707l.944-.944a2.41 2.41 0 0 1 3.408 0l.944.944a.5.5 0 0 0 .707 0z",key:"18tc5c"}],["path",{d:"M9 8c-1.804 2.71-3.97 3.46-6.583 3.948a.507.507 0 0 0-.302.819l7.32 8.883a1 1 0 0 0 1.185.204C12.735 20.405 16 16.792 16 15",key:"ytzfxy"}]]);a.s(["Paintbrush",0,b],33019)},201661,a=>{"use strict";let b=(0,a.i(164831).default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);a.s(["Upload",0,b],201661)},617770,a=>{"use strict";let b=(0,a.i(164831).default)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);a.s(["Code2",0,b],617770)},979762,a=>{"use strict";let b=(0,a.i(164831).default)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);a.s(["Archive",0,b],979762)},738835,a=>{"use strict";let b=(0,a.i(164831).default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);a.s(["Play",0,b],738835)},533838,a=>{"use strict";let b=(0,a.i(164831).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);a.s(["RotateCcw",0,b],533838)},206024,a=>{"use strict";let b=(0,a.i(164831).default)("gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]);a.s(["Gauge",0,b],206024)},540813,572327,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(589027);let e=(0,a.i(164831).default)("file-code-corner",[["path",{d:"M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35",key:"1wthlu"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m5 16-3 3 3 3",key:"331omg"}],["path",{d:"m9 22 3-3-3-3",key:"lsp7cz"}]]);a.s(["FileCode2",0,e],572327);var f=a.i(786304),g=a.i(368114);function h({patch:a,truncated:c=!1,truncatedLabel:d,className:e}){return(0,b.jsxs)("div",{className:(0,g.cn)("overflow-auto rounded-md border bg-neutral-950 font-mono text-xs text-neutral-100",e),children:[a.split("\n").map((a,c)=>(0,b.jsx)("div",{className:(0,g.cn)("min-w-max px-3 whitespace-pre",a.startsWith("+")&&!a.startsWith("+++")&&"bg-emerald-950/70 text-emerald-200",a.startsWith("-")&&!a.startsWith("---")&&"bg-red-950/70 text-red-200",a.startsWith("@@")&&"bg-blue-950/60 text-blue-200"),children:a||" "},`${c}:${a}`)),c&&d&&(0,b.jsx)("p",{className:"border-t p-2 text-amber-300",children:d})]})}a.s(["ExpandablePatchView",0,function({patch:a,className:i}){let j=(0,c.useMemo)(()=>(function(a){let b=a.split("\n"),c=[],d=[];for(let a of b)a.startsWith("diff --git ")&&d.length&&(c.push(d),d=[]),d.push(a);return d.some(Boolean)&&c.push(d),c.map((a,b)=>{let c=a.find(a=>a.startsWith("diff --git ")),d=c?.match(/^diff --git a\/(.+) b\/(.+)$/),e=d?.[1],f=d?.[2],g=a.some(a=>a.startsWith("new file mode")),h=a.some(a=>a.startsWith("deleted file mode")),i=a.some(a=>a.startsWith("rename from ")),j=f??a.find(a=>a.startsWith("+++ "))?.replace(/^\+\+\+ (?:b\/)?/,"")??e??`Patch ${b+1}`;return{key:`${e??""}:${j}:${b}`,path:j,patch:a.join("\n"),additions:a.filter(a=>a.startsWith("+")&&!a.startsWith("+++")).length,deletions:a.filter(a=>a.startsWith("-")&&!a.startsWith("---")).length,status:g?"A":h?"D":i?"R":"M"}})})(a),[a]),[k,l]=(0,c.useState)(new Set);return(0,b.jsx)("div",{className:(0,g.cn)("divide-y overflow-hidden rounded-md border",i),children:j.map(a=>{let c=k.has(a.key);return(0,b.jsxs)("div",{children:[(0,b.jsxs)("button",{"aria-expanded":c,className:"flex min-h-8 w-full items-center gap-2 px-2 py-1.5 text-left hover:bg-muted/40",onClick:()=>l(b=>{let c=new Set(b);return c.has(a.key)?c.delete(a.key):c.add(a.key),c}),type:"button",children:[(0,b.jsx)(d.ChevronDown,{className:(0,g.cn)("size-3.5 shrink-0 transition-transform",c&&"rotate-180")}),(0,b.jsx)(e,{className:"size-4 shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-xs",children:a.path}),(0,b.jsx)(f.Badge,{className:"h-5 px-1.5",variant:"outline",children:a.status}),(0,b.jsxs)("span",{className:"text-xs text-emerald-600 tabular-nums",children:["+",a.additions]}),(0,b.jsxs)("span",{className:"text-xs text-red-600 tabular-nums",children:["−",a.deletions]})]}),c&&(0,b.jsx)("div",{className:"border-t bg-muted/10 p-3",children:(0,b.jsx)(h,{patch:a.patch})})]},a.key)})})},"PatchView",0,h],540813)},272944,a=>{"use strict";var b=a.i(607396);a.s(["MoreHorizontal",()=>b.default])},313481,a=>{"use strict";var b=a.i(187924),c=a.i(589027),d=a.i(168370),e=a.i(533838),f=a.i(415925),g=a.i(572131),h=a.i(786304),i=a.i(699570),j=a.i(335732),k=a.i(668684),l=a.i(785259),m=a.i(460280);function n({pipeline:a,repositoryId:c,onPipelineRetried:d,onError:h}){let j=(0,f.useTranslations)("pullRequests"),[o,p]=(0,g.useState)(!1),q=async b=>{if(b.stopPropagation(),a.canRetry&&a.checkSuiteId){p(!0);try{let b=await (0,m.controlPlaneRequest)(`mutation RetryGitHubPipeline(
2
+ $repositoryId: ID!
3
+ $checkSuiteId: ID!
4
+ ) {
5
+ retryGitHubPipeline(
6
+ repositoryId: $repositoryId
7
+ checkSuiteId: $checkSuiteId
8
+ ) { id name status url checkSuiteId canRetry retryUnavailableReason jobs { id name status url canRetry retryUnavailableReason steps { number name status } } }
9
+ }`,{repositoryId:c,checkSuiteId:a.checkSuiteId});d?.(b.retryGitHubPipeline),h?.(null)}catch(a){h?.(a instanceof Error?a.message:String(a))}finally{p(!1)}}},r=(0,b.jsxs)(i.Button,{disabled:o||!a.canRetry||!a.checkSuiteId,onClick:a=>void q(a),size:"sm",variant:"outline",children:[o?(0,b.jsx)(k.Spinner,{}):(0,b.jsx)(e.RotateCcw,{}),j(o?"retrying":"retry")]});if(!a.retryUnavailableReason||o)return r;let s=j(`retryUnavailable.${a.retryUnavailableReason}`);return(0,b.jsx)(l.TooltipProvider,{children:(0,b.jsxs)(l.Tooltip,{children:[(0,b.jsx)(l.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{"aria-label":s,className:"inline-flex",tabIndex:0,children:r})}),(0,b.jsx)(l.TooltipContent,{children:s})]})})}function o(a){return"SUCCESS"===a?"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300":"PENDING"===a||"EXPECTED"===a||"QUEUED"===a||"IN_PROGRESS"===a||"ACTION_REQUIRED"===a?"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300":"FAILURE"===a||"ERROR"===a||"CANCELLED"===a||"STALE"===a||"STARTUP_FAILURE"===a||"TIMED_OUT"===a?"border-red-500/30 bg-red-500/10 text-red-700 dark:text-red-300":"border-slate-500/30 bg-slate-500/10 text-slate-700 dark:text-slate-300"}a.s(["PipelineMenu",0,function({pipelineStatus:a,pipelines:e,repositoryId:k,onPipelineRetried:l}){let m=(0,f.useTranslations)("pullRequests"),[p,q]=(0,g.useState)(null),r=a=>a.stopPropagation();return(0,b.jsxs)(j.DropdownMenu,{children:[(0,b.jsx)(j.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsxs)(i.Button,{className:`h-5 rounded-full px-2 py-0.5 text-xs ${o(a)}`,onClick:r,variant:"outline",children:[m(`pipelineStates.${a}`),(0,b.jsx)(c.ChevronDown,{className:"size-3"})]})}),(0,b.jsxs)(j.DropdownMenuContent,{align:"end",className:"w-80",onClick:r,children:[(0,b.jsx)(j.DropdownMenuLabel,{children:m("pipelineMenuTitle")}),(0,b.jsx)(j.DropdownMenuSeparator,{}),p&&(0,b.jsx)("p",{className:"px-2 py-1.5 text-xs text-destructive",children:p}),0===e.length?(0,b.jsx)("p",{className:"px-2 py-3 text-sm text-muted-foreground",children:m("noPipelines")}):(0,b.jsx)("div",{className:"space-y-1 p-1",children:e.map(a=>(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-md px-2 py-2 hover:bg-muted",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[a.url?(0,b.jsxs)("a",{className:"flex min-w-0 items-center gap-1 text-sm font-medium hover:underline",href:a.url,rel:"noreferrer",target:"_blank",children:[(0,b.jsx)("span",{className:"truncate",children:a.name}),(0,b.jsx)(d.ExternalLink,{className:"size-3 shrink-0"})]}):(0,b.jsx)("p",{className:"truncate text-sm font-medium",children:a.name}),(0,b.jsx)(h.Badge,{className:`mt-1 ${o(a.status)}`,children:m(`pipelineStates.${a.status}`)})]}),a.checkSuiteId&&(0,b.jsx)(n,{onError:q,onPipelineRetried:l,pipeline:a,repositoryId:k})]},a.id))})]})]})},"pipelineStateClass",0,o])},205956,105606,a=>{"use strict";var b=a.i(187924);let c=(0,a.i(164831).default)("git-merge",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]]);a.s(["GitMerge",0,c],105606);var d=a.i(415925),e=a.i(572131),f=a.i(124348),g=a.i(699570),h=a.i(795225),i=a.i(866718),j=a.i(870430),k=a.i(580701),l=a.i(668684),m=a.i(429246),n=a.i(460280);let o="__github_account_default__";a.s(["MergePullRequestButton",0,function({pullRequest:a,onMerged:p,size:q="sm",variant:r="outline",open:s,onOpenChange:t,showTrigger:u=!0}){let v=(0,d.useTranslations)("pullRequests"),[w,x]=(0,e.useState)(!1),[y,z]=(0,e.useState)(null),[A,B]=(0,e.useState)(""),[C,D]=(0,e.useState)(""),[E,F]=(0,e.useState)(""),[G,H]=(0,e.useState)(o),[I,J]=(0,e.useState)(!1),[K,L]=(0,e.useState)(!1),[M,N]=(0,e.useState)(null),[O="",P=""]=a.repositoryNameWithOwner.split("/",2),Q=s??w,R=a=>{a||(J(!1),z(null),N(null)),void 0===s&&x(a),t?.(a)};(0,e.useEffect)(()=>{if(!Q)return;let b=!0,c=window.setTimeout(()=>{J(!0),z(null),N(null),(0,n.controlPlaneRequest)(`query GitHubPullRequestMergeOptions(
10
+ $owner: String!
11
+ $name: String!
12
+ $number: Int!
13
+ ) {
14
+ githubPullRequestMergeOptions(
15
+ owner: $owner
16
+ name: $name
17
+ number: $number
18
+ ) {
19
+ availableMethods
20
+ commitEmails
21
+ defaultCommitEmail
22
+ defaultCommitHeadline
23
+ defaultCommitBody
24
+ canMerge
25
+ blockedReason
26
+ }
27
+ }`,{owner:O,name:P,number:a.number}).then(a=>{if(!b)return;let c=a.githubPullRequestMergeOptions;z(c),B(c.availableMethods[0]??""),D(c.defaultCommitHeadline),F(c.defaultCommitBody),H(c.defaultCommitEmail??o)}).catch(a=>{b&&N(a instanceof Error?a.message:String(a))}).finally(()=>{b&&J(!1)})},0);return()=>{b=!1,window.clearTimeout(c)}},[P,Q,O,a.number]);let S=async()=>{if(A&&y?.canMerge&&C.trim()){L(!0),N(null);try{let b=await (0,n.controlPlaneRequest)(`mutation MergeGitHubPullRequest(
28
+ $input: MergeGitHubPullRequestInput!
29
+ ) {
30
+ mergeGitHubPullRequest(input: $input) {
31
+ id state url mergedAt
32
+ }
33
+ }`,{input:{owner:O,name:P,number:a.number,method:A,commitHeadline:C,commitBody:E,authorEmail:G===o?null:G}});R(!1),await p?.(b.mergeGitHubPullRequest)}catch(a){N(a instanceof Error?a.message:String(a))}finally{L(!1)}}},T=y?.blockedReason??null;return(0,b.jsxs)(b.Fragment,{children:[u&&(0,b.jsxs)(g.Button,{onClick:a=>{a.stopPropagation(),R(!0)},size:q,type:"button",variant:r,children:[(0,b.jsx)(c,{}),v("merge")]}),(0,b.jsx)(h.Dialog,{onOpenChange:a=>{K||R(a)},open:Q,children:(0,b.jsxs)(h.DialogContent,{className:"sm:max-w-xl",children:[(0,b.jsxs)(h.DialogHeader,{children:[(0,b.jsx)(h.DialogTitle,{children:v("mergePullRequest")}),(0,b.jsx)(h.DialogDescription,{children:v("mergePullRequestDescription",{repository:a.repositoryNameWithOwner,number:a.number})})]}),!I&&(y||M)?(0,b.jsxs)("div",{className:"space-y-4",children:[(M||T)&&(0,b.jsx)(f.Alert,{variant:"destructive",children:(0,b.jsx)(f.AlertDescription,{children:M||T})}),y&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{children:[(0,b.jsx)(j.Label,{className:"mb-1.5 block",htmlFor:"merge-method",children:v("mergeType")}),(0,b.jsxs)(k.Select,{disabled:K||0===y.availableMethods.length,onValueChange:a=>B(a),value:A,children:[(0,b.jsx)(k.SelectTrigger,{id:"merge-method",children:(0,b.jsx)(k.SelectValue,{placeholder:v("selectMergeType")})}),(0,b.jsx)(k.SelectContent,{children:y.availableMethods.map(a=>(0,b.jsx)(k.SelectItem,{value:a,children:v(`mergeTypes.${a}`)},a))})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(j.Label,{className:"mb-1.5 block",htmlFor:"merge-commit-headline",children:v("commitMessage")}),(0,b.jsx)(i.Input,{disabled:K,id:"merge-commit-headline",onChange:a=>D(a.target.value),value:C})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(j.Label,{className:"mb-1.5 block",htmlFor:"merge-commit-body",children:v("commitDescription")}),(0,b.jsx)(m.Textarea,{className:"min-h-28",disabled:K,id:"merge-commit-body",onChange:a=>F(a.target.value),value:E})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)(j.Label,{className:"mb-1.5 block",htmlFor:"merge-email",children:v("commitEmail")}),(0,b.jsxs)(k.Select,{disabled:K,onValueChange:H,value:G,children:[(0,b.jsx)(k.SelectTrigger,{id:"merge-email",children:(0,b.jsx)(k.SelectValue,{})}),(0,b.jsxs)(k.SelectContent,{children:[(0,b.jsx)(k.SelectItem,{value:o,children:v("githubDefaultEmail")}),y.commitEmails.map(a=>(0,b.jsx)(k.SelectItem,{value:a,children:a},a))]})]})]})]})]}):(0,b.jsxs)("div",{className:"flex items-center gap-2 py-6 text-sm text-muted-foreground",children:[(0,b.jsx)(l.Spinner,{})," ",v("loadingMergeOptions")]}),(0,b.jsxs)(h.DialogFooter,{children:[(0,b.jsx)(g.Button,{disabled:K,onClick:()=>R(!1),type:"button",variant:"outline",children:v("cancelMerge")}),(0,b.jsxs)(g.Button,{disabled:I||K||!y?.canMerge||!A||!C.trim(),onClick:()=>void S(),type:"button",children:[K?(0,b.jsx)(l.Spinner,{}):(0,b.jsx)(c,{}),K?v("merging"):v("mergePullRequest")]})]})]})})]})}],205956)},833354,(a,b,c)=>{"use strict";c._=function(a){return a&&a.__esModule?a:{default:a}}},818783,a=>{"use strict";let b=(0,a.i(164831).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);a.s(["ArrowRight",0,b],818783)},210787,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(750104),e=a.i(30553),f=a.i(224050),g=a.i(507554),h=a.i(225152),i=Object.defineProperty,j=c.forwardRef(i(function(a,c){let{pressed:d,defaultPressed:f,onPressedChange:i,...j}=a,[k,l]=(0,h.useControllableState)({prop:d,onChange:i,defaultProp:f??!1,caller:"Toggle"});return(0,b.jsx)(e.Primitive.button,{type:"button","aria-pressed":k,"data-state":k?"on":"off","data-disabled":a.disabled?"":void 0,...j,ref:c,onClick:(0,g.composeEventHandlers)(a.onClick,()=>{a.disabled||l(!k)})})},"name",{value:"Toggle",configurable:!0})),k=a.i(507827),l=Object.defineProperty,m=(a,b)=>l(a,"name",{value:b,configurable:!0}),n="ToggleGroup",[o,p]=(0,d.createContextScope)(n,[f.createRovingFocusGroupScope]),q=(0,f.createRovingFocusGroupScope)(),r=c.forwardRef(m(function(a,c){let{type:d,...e}=a;if("single"===d)return(0,b.jsx)(u,{role:"radiogroup",...e,ref:c});if("multiple"===d)return(0,b.jsx)(v,{role:"toolbar",...e,ref:c});throw Error(`Missing prop \`type\` expected on \`${n}\``)},"ToggleGroup")),[s,t]=o(n),u=c.forwardRef(m(function(a,d){let{value:e,defaultValue:f,onValueChange:g=m(()=>{},"onValueChange"),...i}=a,[j,k]=(0,h.useControllableState)({prop:e,defaultProp:f??"",onChange:g,caller:n});return(0,b.jsx)(s,{scope:a.__scopeToggleGroup,type:"single",value:c.useMemo(()=>j?[j]:[],[j]),onItemActivate:k,onItemDeactivate:c.useCallback(()=>k(""),[k]),children:(0,b.jsx)(y,{...i,ref:d})})},"ToggleGroupImplSingle")),v=c.forwardRef(m(function(a,d){let{value:e,defaultValue:f,onValueChange:g=m(()=>{},"onValueChange"),...i}=a,[j,k]=(0,h.useControllableState)({prop:e,defaultProp:f??[],onChange:g,caller:n}),l=c.useCallback(a=>k((b=[])=>[...b,a]),[k]),o=c.useCallback(a=>k((b=[])=>b.filter(b=>b!==a)),[k]);return(0,b.jsx)(s,{scope:a.__scopeToggleGroup,type:"multiple",value:j,onItemActivate:l,onItemDeactivate:o,children:(0,b.jsx)(y,{...i,ref:d})})},"ToggleGroupImplMultiple")),[w,x]=o(n),y=c.forwardRef(m(function(a,c){let{__scopeToggleGroup:d,disabled:g=!1,rovingFocus:h=!0,orientation:i,dir:j,loop:l=!0,...m}=a,n=q(d),o=(0,k.useDirection)(j),p={dir:o,...m};return(0,b.jsx)(w,{scope:d,rovingFocus:h,disabled:g,children:h?(0,b.jsx)(f.Root,{asChild:!0,...n,orientation:i,dir:o,loop:l,children:(0,b.jsx)(e.Primitive.div,{...p,ref:c})}):(0,b.jsx)(e.Primitive.div,{...p,ref:c})})},"ToggleGroupImpl")),z="ToggleGroupItem",A=c.forwardRef(m(function(a,d){let e=t(z,a.__scopeToggleGroup),g=x(z,a.__scopeToggleGroup),h=q(a.__scopeToggleGroup),i=e.value.includes(a.value),j=g.disabled||a.disabled,k={...a,pressed:i,disabled:j},l=c.useRef(null);return g.rovingFocus?(0,b.jsx)(f.Item,{asChild:!0,...h,focusable:!j,active:i,ref:l,children:(0,b.jsx)(B,{...k,ref:d})}):(0,b.jsx)(B,{...k,ref:d})},"ToggleGroupItem")),B=c.forwardRef(m(function(a,c){let{__scopeToggleGroup:d,value:e,...f}=a,g=t(z,d),h={role:"radio","aria-checked":a.pressed,"aria-pressed":void 0},i="single"===g.type?h:void 0;return(0,b.jsx)(j,{...i,...f,ref:c,onPressedChange:a=>{a?g.onItemActivate(e):g.onItemDeactivate(e)}})},"ToggleGroupItemImpl"));a.s(["Item",0,A,"Root",0,r,"ToggleGroup",0,r,"ToggleGroupItem",0,A,"createToggleGroupScope",0,p],774135);var C=a.i(774135),C=C,D=a.i(368114),E=a.i(400187),F=Object.defineProperty,G=c.forwardRef(F(function(a,c){let{pressed:d,defaultPressed:f,onPressedChange:i,...j}=a,[k,l]=(0,h.useControllableState)({prop:d,onChange:i,defaultProp:f??!1,caller:"Toggle"});return(0,b.jsx)(e.Primitive.button,{type:"button","aria-pressed":k,"data-state":k?"on":"off","data-disabled":a.disabled?"":void 0,...j,ref:c,onClick:(0,g.composeEventHandlers)(a.onClick,()=>{a.disabled||l(!k)})})},"name",{value:"Toggle",configurable:!0}));a.s(["Root",0,G,"Toggle",0,G],181444),a.i(181444);let H=(0,E.cva)("group/toggle inline-flex items-center justify-center gap-1 rounded-lg text-sm font-medium whitespace-nowrap transition-all outline-none hover:bg-muted hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 aria-pressed:bg-muted data-[state=on]:bg-muted dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent hover:bg-muted"},size:{default:"h-8 min-w-8 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",sm:"h-7 min-w-7 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 min-w-9 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2"}},defaultVariants:{variant:"default",size:"default"}}),I=c.createContext({size:"default",variant:"default",spacing:2,orientation:"horizontal"});a.s(["ToggleGroup",0,function({className:a,variant:c,size:d,spacing:e=2,orientation:f="horizontal",children:g,...h}){return(0,b.jsx)(C.Root,{"data-slot":"toggle-group","data-variant":c,"data-size":d,"data-spacing":e,"data-orientation":f,style:{"--gap":e},className:(0,D.cn)("group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-vertical:flex-col data-vertical:items-stretch",a),...h,children:(0,b.jsx)(I.Provider,{value:{variant:c,size:d,spacing:e,orientation:f},children:g})})},"ToggleGroupItem",0,function({className:a,children:d,variant:e="default",size:f="default",...g}){let h=c.useContext(I);return(0,b.jsx)(C.Item,{"data-slot":"toggle-group-item","data-variant":h.variant||e,"data-size":h.size||f,"data-spacing":h.spacing,className:(0,D.cn)("shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 focus:z-10 focus-visible:z-10 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-end]:pr-1.5 group-data-[spacing=0]/toggle-group:has-data-[icon=inline-start]:pl-1.5 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-lg group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-lg group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:border-l-0 group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-horizontal/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-l group-data-vertical/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t",H({variant:h.variant||e,size:h.size||f}),a),...g,children:d})}],210787)},275401,a=>{"use strict";function b(a){return`${a.repositoryNameWithOwner}#${a.number}`}a.s(["pullRequestCommentsHref",0,function(a){return`/comments?pullRequest=${encodeURIComponent(b(a))}`},"pullRequestDetailHref",0,function(a){let[b="",c=""]=a.repositoryNameWithOwner.split("/");return`/pull-requests/${encodeURIComponent(b)}/${encodeURIComponent(c)}/${a.number}`},"pullRequestKey",0,b])},528684,a=>{"use strict";let b=(0,a.i(164831).default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);a.s(["List",0,b],528684)},369251,a=>{"use strict";let b=(0,a.i(164831).default)("grid-2x2",[["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 12h18",key:"1i2n21"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]);a.s(["Grid2X2",0,b],369251)}];
34
+
35
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0ik85du._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},857764,(a,b,c)=>{b.exports=a.x("node:url",()=>require("node:url"))},59639,(a,b,c)=>{b.exports=a.x("node:process",()=>require("node:process"))},462711,651212,316552,a=>{"use strict";var b=a.i(750227);a.s(["minpath",()=>b.default],462711);var c=a.i(59639);a.s(["minproc",()=>c.default],651212);var d=a.i(857764);a.s(["urlToPath",()=>d.fileURLToPath],316552)},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)},879675,a=>{"use strict";let b=(0,a.i(164831).default)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);a.s(["Save",0,b],879675)},844873,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(750104),e=a.i(470121),f=a.i(897942),g=a.i(507554),h=Object.defineProperty,i=(a,b)=>h(a,"name",{value:b,configurable:!0}),[j,k]=(0,d.createContextScope)("AlertDialog",[f.createDialogScope]),l=(0,f.createDialogScope)(),m=i(a=>{let{__scopeAlertDialog:c,...d}=a,e=l(c);return(0,b.jsx)(f.Root,{...e,...d,modal:!0})},"AlertDialog"),n=c.forwardRef(i(function(a,c){let{__scopeAlertDialog:d,...e}=a,g=l(d);return(0,b.jsx)(f.Trigger,{...g,...e,ref:c})},"AlertDialogTrigger")),o=i(a=>{let{__scopeAlertDialog:c,...d}=a,e=l(c);return(0,b.jsx)(f.Portal,{...e,...d})},"AlertDialogPortal"),p=c.forwardRef(i(function(a,c){let{__scopeAlertDialog:d,...e}=a,g=l(d);return(0,b.jsx)(f.Overlay,{...g,...e,ref:c})},"AlertDialogOverlay")),[q,r]=j("AlertDialogContent"),s=c.forwardRef(i(function(a,d){let{__scopeAlertDialog:h,children:i,...j}=a,k=l(h),m=c.useRef(null),n=(0,e.useComposedRefs)(d,m),o=c.useRef(null);return(0,b.jsx)(q,{scope:h,cancelRef:o,children:(0,b.jsx)(f.Content,{role:"alertdialog",...k,...j,ref:n,onOpenAutoFocus:(0,g.composeEventHandlers)(j.onOpenAutoFocus,a=>{a.preventDefault(),o.current?.focus({preventScroll:!0})}),onPointerDownOutside:a=>a.preventDefault(),onInteractOutside:a=>a.preventDefault(),children:i})})},"AlertDialogContent")),t=c.forwardRef(i(function(a,c){let{__scopeAlertDialog:d,...e}=a,g=l(d);return(0,b.jsx)(f.Title,{...g,...e,ref:c})},"AlertDialogTitle")),u=c.forwardRef(i(function(a,c){let{__scopeAlertDialog:d,...e}=a,g=l(d);return(0,b.jsx)(f.Description,{...g,...e,ref:c})},"AlertDialogDescription")),v=c.forwardRef(i(function(a,c){let{__scopeAlertDialog:d,...e}=a,g=l(d);return(0,b.jsx)(f.Close,{...g,...e,ref:c})},"AlertDialogAction")),w=c.forwardRef(i(function(a,c){let{__scopeAlertDialog:d,...g}=a,{cancelRef:h}=r("AlertDialogCancel",d),i=l(d),j=(0,e.useComposedRefs)(c,h);return(0,b.jsx)(f.Close,{...i,...g,ref:j})},"AlertDialogCancel"));a.s(["Action",0,v,"AlertDialog",0,m,"AlertDialogAction",0,v,"AlertDialogCancel",0,w,"AlertDialogContent",0,s,"AlertDialogDescription",0,u,"AlertDialogOverlay",0,p,"AlertDialogPortal",0,o,"AlertDialogTitle",0,t,"AlertDialogTrigger",0,n,"Cancel",0,w,"Content",0,s,"Description",0,u,"Overlay",0,p,"Portal",0,o,"Root",0,m,"Title",0,t,"Trigger",0,n,"createAlertDialogScope",0,k],347178);var x=a.i(347178),x=x,y=a.i(368114),z=a.i(699570);function A({...a}){return(0,b.jsx)(x.Root,{"data-slot":"alert-dialog",...a})}function B({...a}){return(0,b.jsx)(x.Trigger,{"data-slot":"alert-dialog-trigger",...a})}function C({...a}){return(0,b.jsx)(x.Portal,{"data-slot":"alert-dialog-portal",...a})}function D({className:a,...c}){return(0,b.jsx)(x.Overlay,{"data-slot":"alert-dialog-overlay",className:(0,y.cn)("fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",a),...c})}function E({className:a,size:c="default",...d}){return(0,b.jsxs)(C,{children:[(0,b.jsx)(D,{}),(0,b.jsx)(x.Content,{"data-slot":"alert-dialog-content","data-size":c,className:(0,y.cn)("group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",a),...d})]})}function F({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,y.cn)("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",a),...c})}function G({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,y.cn)("-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",a),...c})}function H({className:a,...c}){return(0,b.jsx)(x.Title,{"data-slot":"alert-dialog-title",className:(0,y.cn)("font-heading text-base font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",a),...c})}function I({className:a,...c}){return(0,b.jsx)(x.Description,{"data-slot":"alert-dialog-description",className:(0,y.cn)("text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",a),...c})}function J({className:a,variant:c="default",size:d="default",...e}){return(0,b.jsx)(z.Button,{variant:c,size:d,asChild:!0,children:(0,b.jsx)(x.Action,{"data-slot":"alert-dialog-action",className:(0,y.cn)(a),...e})})}function K({className:a,variant:c="outline",size:d="default",...e}){return(0,b.jsx)(z.Button,{variant:c,size:d,asChild:!0,children:(0,b.jsx)(x.Cancel,{"data-slot":"alert-dialog-cancel",className:(0,y.cn)(a),...e})})}a.s(["ConfirmationDialog",0,function({actionLabel:a,cancelLabel:c,description:d,onConfirm:e,onOpenChange:f,open:g,title:h,trigger:i}){return(0,b.jsxs)(A,{onOpenChange:f,open:g,children:[i&&(0,b.jsx)(B,{asChild:!0,children:i}),(0,b.jsxs)(E,{children:[(0,b.jsxs)(F,{children:[(0,b.jsx)(H,{children:h}),(0,b.jsx)(I,{children:d})]}),(0,b.jsxs)(G,{children:[(0,b.jsx)(K,{children:c}),(0,b.jsx)(J,{onClick:()=>void e(),variant:"destructive",children:a})]})]})]})}],844873)},585650,a=>{"use strict";let b=(0,a.i(164831).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);a.s(["Copy",0,b],585650)},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})}])},590629,a=>{"use strict";let b=(0,a.i(164831).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);a.s(["Pencil",0,b],590629)},674746,a=>{"use strict";let b=(0,a.i(164831).default)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);a.s(["Send",0,b],674746)},272944,a=>{"use strict";var b=a.i(607396);a.s(["MoreHorizontal",()=>b.default])},313481,a=>{"use strict";var b=a.i(187924),c=a.i(589027),d=a.i(168370),e=a.i(533838),f=a.i(415925),g=a.i(572131),h=a.i(786304),i=a.i(699570),j=a.i(335732),k=a.i(668684),l=a.i(785259),m=a.i(460280);function n({pipeline:a,repositoryId:c,onPipelineRetried:d,onError:h}){let j=(0,f.useTranslations)("pullRequests"),[o,p]=(0,g.useState)(!1),q=async b=>{if(b.stopPropagation(),a.canRetry&&a.checkSuiteId){p(!0);try{let b=await (0,m.controlPlaneRequest)(`mutation RetryGitHubPipeline(
1
+ module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},857764,(a,b,c)=>{b.exports=a.x("node:url",()=>require("node:url"))},59639,(a,b,c)=>{b.exports=a.x("node:process",()=>require("node:process"))},462711,651212,316552,a=>{"use strict";var b=a.i(750227);a.s(["minpath",()=>b.default],462711);var c=a.i(59639);a.s(["minproc",()=>c.default],651212);var d=a.i(857764);a.s(["urlToPath",()=>d.fileURLToPath],316552)},141146,a=>{"use strict";var b=a.i(199968);a.s(["ChevronRight",()=>b.default])},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)},879675,a=>{"use strict";let b=(0,a.i(164831).default)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);a.s(["Save",0,b],879675)},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})}])},590629,a=>{"use strict";let b=(0,a.i(164831).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);a.s(["Pencil",0,b],590629)},674746,a=>{"use strict";let b=(0,a.i(164831).default)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);a.s(["Send",0,b],674746)},272944,a=>{"use strict";var b=a.i(607396);a.s(["MoreHorizontal",()=>b.default])},313481,a=>{"use strict";var b=a.i(187924),c=a.i(589027),d=a.i(168370),e=a.i(533838),f=a.i(415925),g=a.i(572131),h=a.i(786304),i=a.i(699570),j=a.i(335732),k=a.i(668684),l=a.i(785259),m=a.i(460280);function n({pipeline:a,repositoryId:c,onPipelineRetried:d,onError:h}){let j=(0,f.useTranslations)("pullRequests"),[o,p]=(0,g.useState)(!1),q=async b=>{if(b.stopPropagation(),a.canRetry&&a.checkSuiteId){p(!0);try{let b=await (0,m.controlPlaneRequest)(`mutation RetryGitHubPipeline(
2
2
  $repositoryId: ID!
3
3
  $checkSuiteId: ID!
4
4
  ) {
@@ -54,4 +54,4 @@ module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:pat
54
54
  ) { id isResolved viewerCanResolve viewerCanUnresolve resolvedBy { login avatarUrl url } }
55
55
  }`,{threadId:g.id,resolved:a});c(b.setGitHubReviewThreadResolved),D(null)}catch(a){D(a instanceof Error?a.message:String(a))}finally{r(!1)}}},G=g.isResolved?g.viewerCanUnresolve:g.viewerCanResolve;return(0,b.jsx)(t.Card,{children:(0,b.jsxs)(t.CardContent,{className:"space-y-5",children:[(0,b.jsx)(o,{body:g.rootComment.body,bodyHtml:g.rootComment.bodyHtml,emptyLabel:"—",header:(0,b.jsxs)("div",{className:"min-w-0 space-y-2",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[(0,b.jsx)(z,{actor:g.rootComment.author}),(0,b.jsx)("span",{className:"text-muted-foreground",children:"·"}),(0,b.jsx)(u.DateTime,{className:"text-muted-foreground",kind:"relative",value:g.rootComment.createdAt})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs",children:[(0,b.jsx)(s.Badge,{className:"max-w-full",title:A(g,h("fileComment")),variant:"outline",children:A(g,h("fileComment"))}),g.isOutdated&&(0,b.jsx)(s.Badge,{variant:"secondary",children:h("outdated")}),(0,b.jsx)(s.Badge,{variant:g.isResolved?"secondary":"outline",children:g.isResolved?h("resolved"):h("unresolved")}),(0,b.jsxs)(x.Link,{className:"font-medium text-primary hover:underline",href:(0,p.pullRequestDetailHref)(g.pullRequest),children:[g.pullRequest.repositoryNameWithOwner," #",g.pullRequest.number]})]})]}),headerActions:(0,b.jsx)(B,{label:h("openInGitHub"),url:g.rootComment.url}),headerClassName:"border-b pb-4"}),g.replies.length>0&&(0,b.jsx)("div",{className:"space-y-3",children:g.replies.map(a=>(0,b.jsx)(t.Card,{size:"sm",children:(0,b.jsx)(t.CardContent,{children:(0,b.jsx)(o,{body:a.body,bodyHtml:a.bodyHtml,emptyLabel:"—",header:(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs",children:[(0,b.jsx)(z,{actor:a.author,compact:!0}),(0,b.jsx)("span",{className:"text-muted-foreground",children:"·"}),(0,b.jsx)(u.DateTime,{className:"text-muted-foreground",kind:"relative",value:a.createdAt})]}),headerActions:(0,b.jsx)(B,{label:h("openReplyInGitHub"),url:a.url}),headerClassName:"border-b pb-3"})})},a.id))}),C&&(0,b.jsx)(q.Alert,{variant:"destructive",children:(0,b.jsx)(q.AlertDescription,{children:C})}),(0,b.jsxs)("form",{className:"space-y-3",onSubmit:E,children:[(0,b.jsx)(w.Textarea,{"aria-label":h("reply"),disabled:!g.viewerCanReply||l,onChange:a=>j(a.target.value),placeholder:g.viewerCanReply?h("replyPlaceholder"):h("replyUnavailable"),value:i}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,b.jsxs)(k.Button,{disabled:!G||n,onClick:()=>void F(),type:"button",variant:"outline",children:[n&&(0,b.jsx)(v.Spinner,{}),g.isResolved?h("reopen"):h("resolve")]}),(0,b.jsxs)(k.Button,{disabled:!g.viewerCanReply||l||!i.trim(),type:"submit",children:[l?(0,b.jsx)(v.Spinner,{}):(0,b.jsx)(d.Send,{}),l?h("replying"):h("sendReply")]})]})]})]})})}],241247)}];
56
56
 
57
- //# sourceMappingURL=%5Broot-of-the-server%5D__1wsrjus._.js.map
57
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0lavdf4._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},857764,(a,b,c)=>{b.exports=a.x("node:url",()=>require("node:url"))},59639,(a,b,c)=>{b.exports=a.x("node:process",()=>require("node:process"))},462711,651212,316552,a=>{"use strict";var b=a.i(750227);a.s(["minpath",()=>b.default],462711);var c=a.i(59639);a.s(["minproc",()=>c.default],651212);var d=a.i(857764);a.s(["urlToPath",()=>d.fileURLToPath],316552)},141146,a=>{"use strict";var b=a.i(199968);a.s(["ChevronRight",()=>b.default])},879675,a=>{"use strict";let b=(0,a.i(164831).default)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);a.s(["Save",0,b],879675)},82710,a=>{"use strict";a.s(["isRowActivation",0,function(a){if(a.defaultPrevented||0!==a.button)return!1;let b=a.target;return b instanceof Element&&!!a.currentTarget.contains(b)&&!b.closest("a, button, input, select, textarea, [role='button'], [role='link'], [role='menuitem']")},"rowLinkClass",0,"-mx-1.5 rounded-md px-1.5 py-0.5 transition-colors hover:bg-muted focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none"])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0lgqolk._.js.map