@brigade-dev/cli 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (535) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +21 -34
  3. package/.next/standalone/.next/build-manifest.json +3 -3
  4. package/.next/standalone/.next/prerender-manifest.json +3 -99
  5. package/.next/standalone/.next/required-server-files.json +3 -0
  6. package/.next/standalone/.next/routes-manifest.json +30 -122
  7. package/.next/standalone/.next/server/app/(board)/board/page.js +2 -3
  8. package/.next/standalone/.next/server/app/(board)/board/page.js.nft.json +1 -1
  9. package/.next/standalone/.next/server/app/(board)/board/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(board)/r/[repoId]/board/page.js +2 -2
  11. package/.next/standalone/.next/server/app/(board)/r/[repoId]/board/page.js.nft.json +1 -1
  12. package/.next/standalone/.next/server/app/(board)/r/[repoId]/board/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/(board)/r/[repoId]/task/[slug]/page.js +2 -2
  14. package/.next/standalone/.next/server/app/(board)/r/[repoId]/task/[slug]/page.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/(board)/r/[repoId]/task/[slug]/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/(board)/task/[slug]/page.js +2 -2
  17. package/.next/standalone/.next/server/app/(board)/task/[slug]/page.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/(board)/task/[slug]/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/(setup)/setup/page.js +3 -0
  20. package/.next/standalone/.next/server/app/(setup)/setup/page.js.nft.json +1 -0
  21. package/.next/standalone/.next/server/app/(setup)/setup/page_client-reference-manifest.js +1 -0
  22. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  24. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  25. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  26. package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  27. package/.next/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  28. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  29. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  30. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  31. package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
  32. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  35. package/.next/standalone/.next/server/app/_not-found.rsc +6 -3
  36. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +6 -3
  37. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  38. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  39. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  40. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  41. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +5 -2
  42. package/.next/standalone/.next/server/app/api/chat/poll/route.js +2 -2
  43. package/.next/standalone/.next/server/app/api/chat/poll/route_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/api/chat/route.js +2 -3
  45. package/.next/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/api/chat/route_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/api/chat/session/route.js +2 -2
  48. package/.next/standalone/.next/server/app/api/chat/session/route_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/api/chat/sessions/route.js +2 -2
  50. package/.next/standalone/.next/server/app/api/chat/sessions/route_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/api/chat/stop/route.js +2 -2
  52. package/.next/standalone/.next/server/app/api/chat/stop/route.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/api/chat/stop/route_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/api/providers/auth-status/route.js +2 -3
  55. package/.next/standalone/.next/server/app/api/providers/auth-status/route_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/api/repos/[repoId]/chat/[[...path]]/route.js +1 -1
  57. package/.next/standalone/.next/server/app/api/repos/[repoId]/chat/[[...path]]/route.js.nft.json +1 -1
  58. package/.next/standalone/.next/server/app/api/repos/[repoId]/chat/[[...path]]/route_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/api/repos/[repoId]/route.js +2 -2
  60. package/.next/standalone/.next/server/app/api/repos/[repoId]/route_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/api/repos/[repoId]/settings/[[...path]]/route.js +1 -0
  62. package/.next/standalone/.next/server/app/api/repos/[repoId]/{skills → settings}/[[...path]]/route.js.nft.json +1 -1
  63. package/.next/standalone/.next/server/app/api/repos/[repoId]/settings/[[...path]]/route_client-reference-manifest.js +1 -0
  64. package/.next/standalone/.next/server/app/api/repos/[repoId]/tasks/[[...path]]/route.js +1 -1
  65. package/.next/standalone/.next/server/app/api/repos/[repoId]/tasks/[[...path]]/route.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/api/repos/[repoId]/tasks/[[...path]]/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/repos/last-used/route.js +1 -1
  68. package/.next/standalone/.next/server/app/api/repos/last-used/route.js.nft.json +1 -1
  69. package/.next/standalone/.next/server/app/api/repos/last-used/route_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/api/repos/pick-folder/route.js +2 -2
  71. package/.next/standalone/.next/server/app/api/repos/pick-folder/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/repos/route.js +1 -1
  73. package/.next/standalone/.next/server/app/api/repos/route.js.nft.json +1 -1
  74. package/.next/standalone/.next/server/app/api/repos/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/reset/route.js +1 -0
  76. package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/reset/route.js.nft.json +1 -0
  77. package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/reset/route_client-reference-manifest.js +1 -0
  78. package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/route.js +1 -2
  79. package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/route.js.nft.json +1 -1
  80. package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/tasks/[slug]/create-branch/route.js +1 -1
  82. package/.next/standalone/.next/server/app/api/tasks/[slug]/create-branch/route.js.nft.json +1 -1
  83. package/.next/standalone/.next/server/app/api/tasks/[slug]/create-branch/route_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/api/tasks/[slug]/create-pr/route.js +3 -3
  85. package/.next/standalone/.next/server/app/api/tasks/[slug]/create-pr/route.js.nft.json +1 -1
  86. package/.next/standalone/.next/server/app/api/tasks/[slug]/create-pr/route_client-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/app/api/tasks/[slug]/data/rename/route.js +1 -2
  88. package/.next/standalone/.next/server/app/api/tasks/[slug]/data/rename/route.js.nft.json +1 -1
  89. package/.next/standalone/.next/server/app/api/tasks/[slug]/data/rename/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/tasks/[slug]/generate-commit-message/route.js +1 -0
  91. package/.next/standalone/.next/server/app/api/tasks/[slug]/generate-commit-message/route.js.nft.json +1 -0
  92. package/.next/standalone/.next/server/app/api/tasks/[slug]/generate-commit-message/route_client-reference-manifest.js +1 -0
  93. package/.next/standalone/.next/server/app/api/tasks/[slug]/git/route.js +1 -1
  94. package/.next/standalone/.next/server/app/api/tasks/[slug]/git/route.js.nft.json +1 -1
  95. package/.next/standalone/.next/server/app/api/tasks/[slug]/git/route_client-reference-manifest.js +1 -1
  96. package/.next/standalone/.next/server/app/api/tasks/[slug]/handoff/review/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/tasks/[slug]/handoff/route.js +1 -1
  98. package/.next/standalone/.next/server/app/api/tasks/[slug]/handoff/route.js.nft.json +1 -1
  99. package/.next/standalone/.next/server/app/api/tasks/[slug]/handoff/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/tasks/[slug]/images/route.js +1 -1
  101. package/.next/standalone/.next/server/app/api/tasks/[slug]/images/route.js.nft.json +1 -1
  102. package/.next/standalone/.next/server/app/api/tasks/[slug]/images/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/tasks/[slug]/improve-title/route.js +1 -1
  104. package/.next/standalone/.next/server/app/api/tasks/[slug]/improve-title/route.js.nft.json +1 -1
  105. package/.next/standalone/.next/server/app/api/tasks/[slug]/improve-title/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/tasks/[slug]/merge-pr/route.js +1 -1
  107. package/.next/standalone/.next/server/app/api/tasks/[slug]/merge-pr/route.js.nft.json +1 -1
  108. package/.next/standalone/.next/server/app/api/tasks/[slug]/merge-pr/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/tasks/[slug]/move/route.js +1 -1
  110. package/.next/standalone/.next/server/app/api/tasks/[slug]/move/route.js.nft.json +1 -1
  111. package/.next/standalone/.next/server/app/api/tasks/[slug]/move/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/tasks/[slug]/pr-status/route.js +1 -1
  113. package/.next/standalone/.next/server/app/api/tasks/[slug]/pr-status/route.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/app/api/tasks/[slug]/pr-status/route_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/api/tasks/[slug]/question-options/route.js +1 -0
  116. package/.next/standalone/.next/server/app/api/tasks/[slug]/question-options/route.js.nft.json +1 -0
  117. package/.next/standalone/.next/server/app/api/tasks/[slug]/question-options/route_client-reference-manifest.js +1 -0
  118. package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/launch/route.js +6 -0
  119. package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/launch/route.js.nft.json +1 -0
  120. package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/launch/route_client-reference-manifest.js +1 -0
  121. package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/route.js +1 -1
  122. package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/route.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/tasks/[slug]/route.js +2 -3
  125. package/.next/standalone/.next/server/app/api/tasks/[slug]/route.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/app/api/tasks/[slug]/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/tasks/[slug]/status/route.js +2 -0
  128. package/.next/standalone/.next/server/app/api/tasks/[slug]/status/route.js.nft.json +1 -0
  129. package/.next/standalone/.next/server/app/api/tasks/[slug]/status/route_client-reference-manifest.js +1 -0
  130. package/.next/standalone/.next/server/app/api/tasks/auto-move/route.js +2 -0
  131. package/.next/standalone/.next/server/app/api/tasks/auto-move/route.js.nft.json +1 -0
  132. package/.next/standalone/.next/server/app/api/tasks/auto-move/route_client-reference-manifest.js +1 -0
  133. package/.next/standalone/.next/server/app/api/tasks/counts/route.js +1 -1
  134. package/.next/standalone/.next/server/app/api/tasks/counts/route.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/app/api/tasks/counts/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/tasks/pr-check/route.js +1 -1
  137. package/.next/standalone/.next/server/app/api/tasks/pr-check/route.js.nft.json +1 -1
  138. package/.next/standalone/.next/server/app/api/tasks/pr-check/route_client-reference-manifest.js +1 -1
  139. package/.next/standalone/.next/server/app/api/tasks/route.js +2 -2
  140. package/.next/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  141. package/.next/standalone/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/api/test/reset/route.js +1 -1
  143. package/.next/standalone/.next/server/app/api/test/reset/route.js.nft.json +1 -1
  144. package/.next/standalone/.next/server/app/api/test/reset/route_client-reference-manifest.js +1 -1
  145. package/.next/standalone/.next/server/app/index.html +1 -1
  146. package/.next/standalone/.next/server/app/index.meta +2 -0
  147. package/.next/standalone/.next/server/app/index.rsc +16 -25
  148. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +5 -14
  149. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +16 -25
  150. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  151. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +3 -3
  152. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +5 -2
  153. package/.next/standalone/.next/server/app/page.js +2 -2
  154. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  155. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  156. package/.next/standalone/.next/server/app-paths-manifest.json +21 -34
  157. package/.next/standalone/.next/server/chunks/1132.js +1 -0
  158. package/.next/standalone/.next/server/chunks/1236.js +1 -1
  159. package/.next/standalone/.next/server/chunks/1546.js +5 -0
  160. package/.next/standalone/.next/server/chunks/1577.js +1 -0
  161. package/.next/standalone/.next/server/chunks/1597.js +63 -0
  162. package/.next/standalone/.next/server/chunks/2065.js +6 -0
  163. package/.next/standalone/.next/server/chunks/2196.js +1 -1
  164. package/.next/standalone/.next/server/chunks/2345.js +1 -0
  165. package/.next/standalone/.next/server/chunks/2353.js +1 -1
  166. package/.next/standalone/.next/server/chunks/3027.js +1 -0
  167. package/.next/standalone/.next/server/chunks/347.js +6 -0
  168. package/.next/standalone/.next/server/chunks/3544.js +24 -0
  169. package/.next/standalone/.next/server/chunks/3731.js +1 -1
  170. package/.next/standalone/.next/server/chunks/4178.js +14 -0
  171. package/.next/standalone/.next/server/chunks/432.js +1 -1
  172. package/.next/standalone/.next/server/chunks/471.js +1 -1
  173. package/.next/standalone/.next/server/chunks/4869.js +1 -1
  174. package/.next/standalone/.next/server/chunks/4919.js +1 -0
  175. package/.next/standalone/.next/server/chunks/5198.js +1 -0
  176. package/.next/standalone/.next/server/chunks/5250.js +1 -1
  177. package/.next/standalone/.next/server/chunks/5704.js +3 -0
  178. package/.next/standalone/.next/server/chunks/5722.js +1 -0
  179. package/.next/standalone/.next/server/chunks/6042.js +1 -1
  180. package/.next/standalone/.next/server/chunks/6802.js +20 -0
  181. package/.next/standalone/.next/server/chunks/722.js +1 -1
  182. package/.next/standalone/.next/server/chunks/746.js +1 -1
  183. package/.next/standalone/.next/server/chunks/7916.js +1 -1
  184. package/.next/standalone/.next/server/chunks/8031.js +1 -1
  185. package/.next/standalone/.next/server/chunks/8150.js +1 -0
  186. package/.next/standalone/.next/server/chunks/8241.js +1 -0
  187. package/.next/standalone/.next/server/chunks/829.js +1 -1
  188. package/.next/standalone/.next/server/chunks/838.js +1 -1
  189. package/.next/standalone/.next/server/chunks/8410.js +3 -3
  190. package/.next/standalone/.next/server/chunks/854.js +1 -1
  191. package/.next/standalone/.next/server/chunks/8825.js +3 -0
  192. package/.next/standalone/.next/server/chunks/9067.js +1 -1
  193. package/.next/standalone/.next/server/chunks/9661.js +1 -1
  194. package/.next/standalone/.next/server/chunks/9665.js +1 -1
  195. package/.next/standalone/.next/server/chunks/9898.js +11 -0
  196. package/.next/standalone/.next/server/chunks/9967.js +1 -0
  197. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  198. package/.next/standalone/.next/server/next-font-manifest.js +1 -1
  199. package/.next/standalone/.next/server/next-font-manifest.json +1 -1
  200. package/.next/standalone/.next/server/pages/404.html +1 -1
  201. package/.next/standalone/.next/server/pages/500.html +2 -2
  202. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  203. package/.next/standalone/.next/static/TEeaHQlTW3yW085fWMfjB/_buildManifest.js +1 -0
  204. package/.next/standalone/.next/static/chunks/124-3eae600925474bdc.js +1 -0
  205. package/.next/standalone/.next/static/chunks/1416-76d75f5cdc8064f0.js +5 -0
  206. package/.next/standalone/.next/static/chunks/1545-5c27c6645e47620e.js +1 -0
  207. package/.next/standalone/.next/static/chunks/1719-2c95eb5be7096fd4.js +1 -0
  208. package/.next/standalone/.next/static/chunks/{7486-de4a6f3ca66270e1.js → 3242-340ecc54abc559dc.js} +1 -1
  209. package/.next/standalone/.next/static/chunks/3604-402e83a193703dd5.js +3 -0
  210. package/.next/standalone/.next/static/chunks/4555-1cc0cadfd257b640.js +5 -0
  211. package/.next/standalone/.next/static/chunks/5083-da5fc913278c9ec9.js +24 -0
  212. package/.next/standalone/.next/static/chunks/7133-d829c710820740a0.js +1 -0
  213. package/.next/standalone/.next/static/chunks/878-6effc693527c06fd.js +1 -0
  214. package/.next/standalone/.next/static/chunks/9798-086c0452ca402b9c.js +1 -0
  215. package/.next/standalone/.next/static/chunks/app/(board)/board/page-d97d7979cfd5798f.js +1 -0
  216. package/.next/standalone/.next/static/chunks/app/(board)/layout-30f3ef2994aabf66.js +1 -0
  217. package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/board/page-2a12cb83a038bfa4.js +1 -0
  218. package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/layout-94f90e6400c32897.js +1 -0
  219. package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/task/[slug]/page-c7b0b0a0327f6fce.js +1 -0
  220. package/.next/standalone/.next/static/chunks/app/(board)/task/[slug]/page-771b7f853905319b.js +1 -0
  221. package/.next/standalone/.next/static/chunks/app/(setup)/layout-7eb803c6eff71185.js +1 -0
  222. package/.next/standalone/.next/static/chunks/app/(setup)/setup/page-dccadc7f0cc15702.js +1 -0
  223. package/.next/standalone/.next/static/chunks/app/_global-error/page-7eb803c6eff71185.js +1 -0
  224. package/.next/standalone/.next/static/chunks/app/api/chat/poll/route-7eb803c6eff71185.js +1 -0
  225. package/.next/standalone/.next/static/chunks/app/api/chat/route-7eb803c6eff71185.js +1 -0
  226. package/.next/standalone/.next/static/chunks/app/api/chat/session/route-7eb803c6eff71185.js +1 -0
  227. package/.next/standalone/.next/static/chunks/app/api/chat/sessions/route-7eb803c6eff71185.js +1 -0
  228. package/.next/standalone/.next/static/chunks/app/api/chat/stop/route-7eb803c6eff71185.js +1 -0
  229. package/.next/standalone/.next/static/chunks/app/api/providers/auth-status/route-7eb803c6eff71185.js +1 -0
  230. package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/chat/[[...path]]/route-7eb803c6eff71185.js +1 -0
  231. package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/route-7eb803c6eff71185.js +1 -0
  232. package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/settings/[[...path]]/route-7eb803c6eff71185.js +1 -0
  233. package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/tasks/[[...path]]/route-7eb803c6eff71185.js +1 -0
  234. package/.next/standalone/.next/static/chunks/app/api/repos/last-used/route-7eb803c6eff71185.js +1 -0
  235. package/.next/standalone/.next/static/chunks/app/api/repos/pick-folder/route-7eb803c6eff71185.js +1 -0
  236. package/.next/standalone/.next/static/chunks/app/api/repos/route-7eb803c6eff71185.js +1 -0
  237. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/chat/reset/route-7eb803c6eff71185.js +1 -0
  238. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/chat/route-7eb803c6eff71185.js +1 -0
  239. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/create-branch/route-7eb803c6eff71185.js +1 -0
  240. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/create-pr/route-7eb803c6eff71185.js +1 -0
  241. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/data/rename/route-7eb803c6eff71185.js +1 -0
  242. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/generate-commit-message/route-7eb803c6eff71185.js +1 -0
  243. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/git/route-7eb803c6eff71185.js +1 -0
  244. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/handoff/review/route-7eb803c6eff71185.js +1 -0
  245. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/handoff/route-7eb803c6eff71185.js +1 -0
  246. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/images/route-7eb803c6eff71185.js +1 -0
  247. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/improve-title/route-7eb803c6eff71185.js +1 -0
  248. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/merge-pr/route-7eb803c6eff71185.js +1 -0
  249. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/move/route-7eb803c6eff71185.js +1 -0
  250. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/pr-status/route-7eb803c6eff71185.js +1 -0
  251. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/question-options/route-7eb803c6eff71185.js +1 -0
  252. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/resolve-conflicts/launch/route-7eb803c6eff71185.js +1 -0
  253. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/resolve-conflicts/route-7eb803c6eff71185.js +1 -0
  254. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/route-7eb803c6eff71185.js +1 -0
  255. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/status/route-7eb803c6eff71185.js +1 -0
  256. package/.next/standalone/.next/static/chunks/app/api/tasks/auto-move/route-7eb803c6eff71185.js +1 -0
  257. package/.next/standalone/.next/static/chunks/app/api/tasks/counts/route-7eb803c6eff71185.js +1 -0
  258. package/.next/standalone/.next/static/chunks/app/api/tasks/pr-check/route-7eb803c6eff71185.js +1 -0
  259. package/.next/standalone/.next/static/chunks/app/api/tasks/route-7eb803c6eff71185.js +1 -0
  260. package/.next/standalone/.next/static/chunks/app/api/test/reset/route-7eb803c6eff71185.js +1 -0
  261. package/.next/standalone/.next/static/chunks/app/layout-c38fc01326ac060a.js +1 -0
  262. package/.next/standalone/.next/static/chunks/app/page-7eb803c6eff71185.js +1 -0
  263. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-7eb803c6eff71185.js +1 -0
  264. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-7eb803c6eff71185.js +1 -0
  265. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-7eb803c6eff71185.js +1 -0
  266. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-7eb803c6eff71185.js +1 -0
  267. package/.next/standalone/.next/static/chunks/{webpack-9ba1537928a20f04.js → webpack-010bc8c5cfa5e600.js} +1 -1
  268. package/.next/standalone/.next/static/css/a0a0423b02496c0c.css +3 -0
  269. package/.next/standalone/.next/static/media/558ca1a6aa3cb55e-s.p.woff2 +0 -0
  270. package/.next/standalone/.next/static/media/636a5ac981f94f8b-s.p.woff2 +0 -0
  271. package/.next/standalone/.next/static/media/6fe53d21e6e7ebd8-s.woff2 +0 -0
  272. package/.next/standalone/.next/static/media/8ebc6e9dde468c4a-s.woff2 +0 -0
  273. package/.next/standalone/.next/static/media/9e7b0a821b9dfcb4-s.woff2 +0 -0
  274. package/.next/standalone/.next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
  275. package/.next/standalone/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  276. package/.next/standalone/node_modules/better-sqlite3/lib/database.js +90 -0
  277. package/.next/standalone/node_modules/better-sqlite3/lib/index.js +3 -0
  278. package/.next/standalone/node_modules/better-sqlite3/lib/methods/aggregate.js +43 -0
  279. package/.next/standalone/node_modules/better-sqlite3/lib/methods/backup.js +67 -0
  280. package/.next/standalone/node_modules/better-sqlite3/lib/methods/function.js +31 -0
  281. package/.next/standalone/node_modules/better-sqlite3/lib/methods/inspect.js +7 -0
  282. package/.next/standalone/node_modules/better-sqlite3/lib/methods/pragma.js +12 -0
  283. package/.next/standalone/node_modules/better-sqlite3/lib/methods/serialize.js +16 -0
  284. package/.next/standalone/node_modules/better-sqlite3/lib/methods/table.js +189 -0
  285. package/.next/standalone/node_modules/better-sqlite3/lib/methods/transaction.js +78 -0
  286. package/.next/standalone/node_modules/better-sqlite3/lib/methods/wrappers.js +54 -0
  287. package/.next/standalone/node_modules/better-sqlite3/lib/sqlite-error.js +20 -0
  288. package/.next/standalone/node_modules/better-sqlite3/lib/util.js +12 -0
  289. package/.next/standalone/node_modules/better-sqlite3/package.json +59 -0
  290. package/.next/standalone/node_modules/bindings/bindings.js +221 -0
  291. package/.next/standalone/node_modules/bindings/package.json +28 -0
  292. package/.next/standalone/node_modules/buffer-from/index.js +72 -0
  293. package/.next/standalone/node_modules/buffer-from/package.json +19 -0
  294. package/.next/standalone/node_modules/file-uri-to-path/index.js +66 -0
  295. package/.next/standalone/node_modules/file-uri-to-path/package.json +32 -0
  296. package/.next/standalone/node_modules/source-map/lib/array-set.js +121 -0
  297. package/.next/standalone/node_modules/source-map/lib/base64-vlq.js +140 -0
  298. package/.next/standalone/node_modules/source-map/lib/base64.js +67 -0
  299. package/.next/standalone/node_modules/source-map/lib/binary-search.js +111 -0
  300. package/.next/standalone/node_modules/source-map/lib/mapping-list.js +79 -0
  301. package/.next/standalone/node_modules/source-map/lib/quick-sort.js +114 -0
  302. package/.next/standalone/node_modules/source-map/lib/source-map-consumer.js +1145 -0
  303. package/.next/standalone/node_modules/source-map/lib/source-map-generator.js +425 -0
  304. package/.next/standalone/node_modules/source-map/lib/source-node.js +413 -0
  305. package/.next/standalone/node_modules/source-map/lib/util.js +488 -0
  306. package/.next/standalone/node_modules/source-map/package.json +73 -0
  307. package/.next/standalone/node_modules/source-map/source-map.js +8 -0
  308. package/.next/standalone/node_modules/source-map-support/package.json +31 -0
  309. package/.next/standalone/node_modules/source-map-support/source-map-support.js +625 -0
  310. package/.next/standalone/package.json +11 -10
  311. package/.next/standalone/public/chat-display-preview.html +280 -0
  312. package/.next/standalone/public/claude-ai-symbol.svg +7 -0
  313. package/.next/standalone/public/previews/settings-before-after-preview.html +624 -0
  314. package/.next/standalone/server.js +1 -1
  315. package/bin/brigade.js +52 -17
  316. package/defaults/canon/skills/html-preview.md +14 -5
  317. package/defaults/canon/workflows/delivery.yaml +4 -4
  318. package/package.json +10 -9
  319. package/scripts/brigade-cli.mjs +1 -2
  320. package/.next/standalone/.next/server/app/(settings)/settings/chefs/[slug]/page.js +0 -2
  321. package/.next/standalone/.next/server/app/(settings)/settings/chefs/[slug]/page.js.nft.json +0 -1
  322. package/.next/standalone/.next/server/app/(settings)/settings/chefs/[slug]/page_client-reference-manifest.js +0 -1
  323. package/.next/standalone/.next/server/app/(settings)/settings/chefs/page.js +0 -2
  324. package/.next/standalone/.next/server/app/(settings)/settings/chefs/page.js.nft.json +0 -1
  325. package/.next/standalone/.next/server/app/(settings)/settings/chefs/page_client-reference-manifest.js +0 -1
  326. package/.next/standalone/.next/server/app/(settings)/settings/skills/[id]/page.js +0 -2
  327. package/.next/standalone/.next/server/app/(settings)/settings/skills/[id]/page.js.nft.json +0 -1
  328. package/.next/standalone/.next/server/app/(settings)/settings/skills/[id]/page_client-reference-manifest.js +0 -1
  329. package/.next/standalone/.next/server/app/(settings)/settings/skills/new/page.js +0 -2
  330. package/.next/standalone/.next/server/app/(settings)/settings/skills/new/page.js.nft.json +0 -1
  331. package/.next/standalone/.next/server/app/(settings)/settings/skills/new/page_client-reference-manifest.js +0 -1
  332. package/.next/standalone/.next/server/app/(settings)/settings/skills/page.js +0 -2
  333. package/.next/standalone/.next/server/app/(settings)/settings/skills/page.js.nft.json +0 -1
  334. package/.next/standalone/.next/server/app/(settings)/settings/skills/page_client-reference-manifest.js +0 -1
  335. package/.next/standalone/.next/server/app/(settings)/settings/workflows/[slug]/page.js +0 -2
  336. package/.next/standalone/.next/server/app/(settings)/settings/workflows/[slug]/page.js.nft.json +0 -1
  337. package/.next/standalone/.next/server/app/(settings)/settings/workflows/[slug]/page_client-reference-manifest.js +0 -1
  338. package/.next/standalone/.next/server/app/(settings)/settings/workflows/page.js +0 -2
  339. package/.next/standalone/.next/server/app/(settings)/settings/workflows/page.js.nft.json +0 -1
  340. package/.next/standalone/.next/server/app/(settings)/settings/workflows/page_client-reference-manifest.js +0 -1
  341. package/.next/standalone/.next/server/app/api/chefs/generate-prompt/route.js +0 -6
  342. package/.next/standalone/.next/server/app/api/chefs/generate-prompt/route.js.nft.json +0 -1
  343. package/.next/standalone/.next/server/app/api/chefs/generate-prompt/route_client-reference-manifest.js +0 -1
  344. package/.next/standalone/.next/server/app/api/chefs/route.js +0 -4
  345. package/.next/standalone/.next/server/app/api/chefs/route.js.nft.json +0 -1
  346. package/.next/standalone/.next/server/app/api/chefs/route_client-reference-manifest.js +0 -1
  347. package/.next/standalone/.next/server/app/api/chefs/skills/route.js +0 -4
  348. package/.next/standalone/.next/server/app/api/chefs/skills/route.js.nft.json +0 -1
  349. package/.next/standalone/.next/server/app/api/chefs/skills/route_client-reference-manifest.js +0 -1
  350. package/.next/standalone/.next/server/app/api/repos/[repoId]/chefs/[[...path]]/route.js +0 -1
  351. package/.next/standalone/.next/server/app/api/repos/[repoId]/chefs/[[...path]]/route.js.nft.json +0 -1
  352. package/.next/standalone/.next/server/app/api/repos/[repoId]/chefs/[[...path]]/route_client-reference-manifest.js +0 -1
  353. package/.next/standalone/.next/server/app/api/repos/[repoId]/skills/[[...path]]/route.js +0 -1
  354. package/.next/standalone/.next/server/app/api/repos/[repoId]/skills/[[...path]]/route_client-reference-manifest.js +0 -1
  355. package/.next/standalone/.next/server/app/api/repos/[repoId]/workflows/[[...path]]/route.js +0 -1
  356. package/.next/standalone/.next/server/app/api/repos/[repoId]/workflows/[[...path]]/route.js.nft.json +0 -1
  357. package/.next/standalone/.next/server/app/api/repos/[repoId]/workflows/[[...path]]/route_client-reference-manifest.js +0 -1
  358. package/.next/standalone/.next/server/app/api/skills/route.js +0 -4
  359. package/.next/standalone/.next/server/app/api/skills/route.js.nft.json +0 -1
  360. package/.next/standalone/.next/server/app/api/skills/route_client-reference-manifest.js +0 -1
  361. package/.next/standalone/.next/server/app/api/tasks/[slug]/chef-status/route.js +0 -2
  362. package/.next/standalone/.next/server/app/api/tasks/[slug]/chef-status/route.js.nft.json +0 -1
  363. package/.next/standalone/.next/server/app/api/tasks/[slug]/chef-status/route_client-reference-manifest.js +0 -1
  364. package/.next/standalone/.next/server/app/api/tasks/[slug]/deliver/route.js +0 -2
  365. package/.next/standalone/.next/server/app/api/tasks/[slug]/deliver/route.js.nft.json +0 -1
  366. package/.next/standalone/.next/server/app/api/tasks/[slug]/deliver/route_client-reference-manifest.js +0 -1
  367. package/.next/standalone/.next/server/app/api/tasks/[slug]/launch-chef/route.js +0 -3
  368. package/.next/standalone/.next/server/app/api/tasks/[slug]/launch-chef/route.js.nft.json +0 -1
  369. package/.next/standalone/.next/server/app/api/tasks/[slug]/launch-chef/route_client-reference-manifest.js +0 -1
  370. package/.next/standalone/.next/server/app/api/tasks/[slug]/thread-state/route.js +0 -2
  371. package/.next/standalone/.next/server/app/api/tasks/[slug]/thread-state/route.js.nft.json +0 -1
  372. package/.next/standalone/.next/server/app/api/tasks/[slug]/thread-state/route_client-reference-manifest.js +0 -1
  373. package/.next/standalone/.next/server/app/api/tasks/[slug]/workflow-state/route.js +0 -2
  374. package/.next/standalone/.next/server/app/api/tasks/[slug]/workflow-state/route.js.nft.json +0 -1
  375. package/.next/standalone/.next/server/app/api/tasks/[slug]/workflow-state/route_client-reference-manifest.js +0 -1
  376. package/.next/standalone/.next/server/app/api/workflows/[slug]/route.js +0 -4
  377. package/.next/standalone/.next/server/app/api/workflows/[slug]/route.js.nft.json +0 -1
  378. package/.next/standalone/.next/server/app/api/workflows/[slug]/route_client-reference-manifest.js +0 -1
  379. package/.next/standalone/.next/server/app/api/workflows/route.js +0 -4
  380. package/.next/standalone/.next/server/app/api/workflows/route.js.nft.json +0 -1
  381. package/.next/standalone/.next/server/app/api/workflows/route_client-reference-manifest.js +0 -1
  382. package/.next/standalone/.next/server/app/settings/chefs.html +0 -1
  383. package/.next/standalone/.next/server/app/settings/chefs.meta +0 -17
  384. package/.next/standalone/.next/server/app/settings/chefs.rsc +0 -22
  385. package/.next/standalone/.next/server/app/settings/chefs.segments/!KHNldHRpbmdzKQ/settings/chefs/__PAGE__.segment.rsc +0 -9
  386. package/.next/standalone/.next/server/app/settings/chefs.segments/!KHNldHRpbmdzKQ/settings/chefs.segment.rsc +0 -4
  387. package/.next/standalone/.next/server/app/settings/chefs.segments/!KHNldHRpbmdzKQ/settings.segment.rsc +0 -4
  388. package/.next/standalone/.next/server/app/settings/chefs.segments/!KHNldHRpbmdzKQ.segment.rsc +0 -7
  389. package/.next/standalone/.next/server/app/settings/chefs.segments/_full.segment.rsc +0 -22
  390. package/.next/standalone/.next/server/app/settings/chefs.segments/_head.segment.rsc +0 -6
  391. package/.next/standalone/.next/server/app/settings/chefs.segments/_index.segment.rsc +0 -6
  392. package/.next/standalone/.next/server/app/settings/chefs.segments/_tree.segment.rsc +0 -2
  393. package/.next/standalone/.next/server/app/settings/skills/new.html +0 -1
  394. package/.next/standalone/.next/server/app/settings/skills/new.meta +0 -18
  395. package/.next/standalone/.next/server/app/settings/skills/new.rsc +0 -22
  396. package/.next/standalone/.next/server/app/settings/skills/new.segments/!KHNldHRpbmdzKQ/settings/skills/new/__PAGE__.segment.rsc +0 -9
  397. package/.next/standalone/.next/server/app/settings/skills/new.segments/!KHNldHRpbmdzKQ/settings/skills/new.segment.rsc +0 -4
  398. package/.next/standalone/.next/server/app/settings/skills/new.segments/!KHNldHRpbmdzKQ/settings/skills.segment.rsc +0 -4
  399. package/.next/standalone/.next/server/app/settings/skills/new.segments/!KHNldHRpbmdzKQ/settings.segment.rsc +0 -4
  400. package/.next/standalone/.next/server/app/settings/skills/new.segments/!KHNldHRpbmdzKQ.segment.rsc +0 -7
  401. package/.next/standalone/.next/server/app/settings/skills/new.segments/_full.segment.rsc +0 -22
  402. package/.next/standalone/.next/server/app/settings/skills/new.segments/_head.segment.rsc +0 -6
  403. package/.next/standalone/.next/server/app/settings/skills/new.segments/_index.segment.rsc +0 -6
  404. package/.next/standalone/.next/server/app/settings/skills/new.segments/_tree.segment.rsc +0 -2
  405. package/.next/standalone/.next/server/app/settings/skills.html +0 -1
  406. package/.next/standalone/.next/server/app/settings/skills.meta +0 -17
  407. package/.next/standalone/.next/server/app/settings/skills.rsc +0 -22
  408. package/.next/standalone/.next/server/app/settings/skills.segments/!KHNldHRpbmdzKQ/settings/skills/__PAGE__.segment.rsc +0 -9
  409. package/.next/standalone/.next/server/app/settings/skills.segments/!KHNldHRpbmdzKQ/settings/skills.segment.rsc +0 -4
  410. package/.next/standalone/.next/server/app/settings/skills.segments/!KHNldHRpbmdzKQ/settings.segment.rsc +0 -4
  411. package/.next/standalone/.next/server/app/settings/skills.segments/!KHNldHRpbmdzKQ.segment.rsc +0 -7
  412. package/.next/standalone/.next/server/app/settings/skills.segments/_full.segment.rsc +0 -22
  413. package/.next/standalone/.next/server/app/settings/skills.segments/_head.segment.rsc +0 -6
  414. package/.next/standalone/.next/server/app/settings/skills.segments/_index.segment.rsc +0 -6
  415. package/.next/standalone/.next/server/app/settings/skills.segments/_tree.segment.rsc +0 -2
  416. package/.next/standalone/.next/server/app/settings/workflows.html +0 -1
  417. package/.next/standalone/.next/server/app/settings/workflows.meta +0 -17
  418. package/.next/standalone/.next/server/app/settings/workflows.rsc +0 -22
  419. package/.next/standalone/.next/server/app/settings/workflows.segments/!KHNldHRpbmdzKQ/settings/workflows/__PAGE__.segment.rsc +0 -9
  420. package/.next/standalone/.next/server/app/settings/workflows.segments/!KHNldHRpbmdzKQ/settings/workflows.segment.rsc +0 -4
  421. package/.next/standalone/.next/server/app/settings/workflows.segments/!KHNldHRpbmdzKQ/settings.segment.rsc +0 -4
  422. package/.next/standalone/.next/server/app/settings/workflows.segments/!KHNldHRpbmdzKQ.segment.rsc +0 -7
  423. package/.next/standalone/.next/server/app/settings/workflows.segments/_full.segment.rsc +0 -22
  424. package/.next/standalone/.next/server/app/settings/workflows.segments/_head.segment.rsc +0 -6
  425. package/.next/standalone/.next/server/app/settings/workflows.segments/_index.segment.rsc +0 -6
  426. package/.next/standalone/.next/server/app/settings/workflows.segments/_tree.segment.rsc +0 -2
  427. package/.next/standalone/.next/server/chunks/1787.js +0 -24
  428. package/.next/standalone/.next/server/chunks/2362.js +0 -25
  429. package/.next/standalone/.next/server/chunks/2753.js +0 -1
  430. package/.next/standalone/.next/server/chunks/3514.js +0 -1
  431. package/.next/standalone/.next/server/chunks/426.js +0 -1
  432. package/.next/standalone/.next/server/chunks/4318.js +0 -8
  433. package/.next/standalone/.next/server/chunks/4648.js +0 -1
  434. package/.next/standalone/.next/server/chunks/4702.js +0 -3
  435. package/.next/standalone/.next/server/chunks/4782.js +0 -1
  436. package/.next/standalone/.next/server/chunks/4992.js +0 -1
  437. package/.next/standalone/.next/server/chunks/5049.js +0 -1
  438. package/.next/standalone/.next/server/chunks/57.js +0 -3
  439. package/.next/standalone/.next/server/chunks/6016.js +0 -3
  440. package/.next/standalone/.next/server/chunks/6365.js +0 -10
  441. package/.next/standalone/.next/server/chunks/6578.js +0 -3
  442. package/.next/standalone/.next/server/chunks/6701.js +0 -1
  443. package/.next/standalone/.next/server/chunks/682.js +0 -1
  444. package/.next/standalone/.next/server/chunks/7389.js +0 -6
  445. package/.next/standalone/.next/server/chunks/7450.js +0 -18
  446. package/.next/standalone/.next/server/chunks/7494.js +0 -1
  447. package/.next/standalone/.next/server/chunks/7612.js +0 -3
  448. package/.next/standalone/.next/server/chunks/7805.js +0 -1
  449. package/.next/standalone/.next/server/chunks/8647.js +0 -1
  450. package/.next/standalone/.next/server/chunks/8787.js +0 -3
  451. package/.next/standalone/.next/server/chunks/8944.js +0 -3
  452. package/.next/standalone/.next/server/chunks/9091.js +0 -5
  453. package/.next/standalone/.next/server/chunks/9341.js +0 -1
  454. package/.next/standalone/.next/server/chunks/9366.js +0 -6
  455. package/.next/standalone/.next/server/chunks/9916.js +0 -1
  456. package/.next/standalone/.next/static/DXjnbExUDH6VWFcQAZm5W/_buildManifest.js +0 -1
  457. package/.next/standalone/.next/static/chunks/1890-6f39e9026bcfd6ff.js +0 -5
  458. package/.next/standalone/.next/static/chunks/194-1e49965b7f56d9d1.js +0 -1
  459. package/.next/standalone/.next/static/chunks/217-234cf87de775e747.js +0 -1
  460. package/.next/standalone/.next/static/chunks/2913-3767f8657ed3b76d.js +0 -24
  461. package/.next/standalone/.next/static/chunks/3562-66874394248003c3.js +0 -1
  462. package/.next/standalone/.next/static/chunks/3920-91b01322891d6f93.js +0 -1
  463. package/.next/standalone/.next/static/chunks/4044-8ec32d6e4ca64a61.js +0 -1
  464. package/.next/standalone/.next/static/chunks/5828-69f930daa6fef786.js +0 -1
  465. package/.next/standalone/.next/static/chunks/6127-c90ca9f67766c0e0.js +0 -1
  466. package/.next/standalone/.next/static/chunks/8463-4de0b380dc8aee57.js +0 -1
  467. package/.next/standalone/.next/static/chunks/8472-5b02197c80e9bdcb.js +0 -6
  468. package/.next/standalone/.next/static/chunks/app/(board)/board/page-852d9068b15f8902.js +0 -1
  469. package/.next/standalone/.next/static/chunks/app/(board)/layout-ffd25294d91093a4.js +0 -1
  470. package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/board/page-98c59eea481cd922.js +0 -1
  471. package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/layout-5fe097966f75f673.js +0 -1
  472. package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/task/[slug]/page-ff943b86544a3563.js +0 -1
  473. package/.next/standalone/.next/static/chunks/app/(board)/task/[slug]/page-178443b61977aaff.js +0 -1
  474. package/.next/standalone/.next/static/chunks/app/(settings)/layout-8e0a4c83ff4c037a.js +0 -1
  475. package/.next/standalone/.next/static/chunks/app/(settings)/settings/chefs/[slug]/page-8c0475cf40538e82.js +0 -1
  476. package/.next/standalone/.next/static/chunks/app/(settings)/settings/chefs/page-2615f814b43b999a.js +0 -1
  477. package/.next/standalone/.next/static/chunks/app/(settings)/settings/skills/[id]/page-c9d74b8769efd959.js +0 -1
  478. package/.next/standalone/.next/static/chunks/app/(settings)/settings/skills/new/page-6c7a49f73211880f.js +0 -1
  479. package/.next/standalone/.next/static/chunks/app/(settings)/settings/skills/page-3effcb21d7c832b1.js +0 -1
  480. package/.next/standalone/.next/static/chunks/app/(settings)/settings/workflows/[slug]/page-ec8c8dd16a2b43bb.js +0 -1
  481. package/.next/standalone/.next/static/chunks/app/(settings)/settings/workflows/page-09495b17157fb69b.js +0 -1
  482. package/.next/standalone/.next/static/chunks/app/_global-error/page-00d08e7d87413cf2.js +0 -1
  483. package/.next/standalone/.next/static/chunks/app/api/chat/poll/route-00d08e7d87413cf2.js +0 -1
  484. package/.next/standalone/.next/static/chunks/app/api/chat/route-00d08e7d87413cf2.js +0 -1
  485. package/.next/standalone/.next/static/chunks/app/api/chat/session/route-00d08e7d87413cf2.js +0 -1
  486. package/.next/standalone/.next/static/chunks/app/api/chat/sessions/route-00d08e7d87413cf2.js +0 -1
  487. package/.next/standalone/.next/static/chunks/app/api/chat/stop/route-00d08e7d87413cf2.js +0 -1
  488. package/.next/standalone/.next/static/chunks/app/api/chefs/generate-prompt/route-00d08e7d87413cf2.js +0 -1
  489. package/.next/standalone/.next/static/chunks/app/api/chefs/route-00d08e7d87413cf2.js +0 -1
  490. package/.next/standalone/.next/static/chunks/app/api/chefs/skills/route-00d08e7d87413cf2.js +0 -1
  491. package/.next/standalone/.next/static/chunks/app/api/providers/auth-status/route-00d08e7d87413cf2.js +0 -1
  492. package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/chat/[[...path]]/route-00d08e7d87413cf2.js +0 -1
  493. package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/chefs/[[...path]]/route-00d08e7d87413cf2.js +0 -1
  494. package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/route-00d08e7d87413cf2.js +0 -1
  495. package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/skills/[[...path]]/route-00d08e7d87413cf2.js +0 -1
  496. package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/tasks/[[...path]]/route-00d08e7d87413cf2.js +0 -1
  497. package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/workflows/[[...path]]/route-00d08e7d87413cf2.js +0 -1
  498. package/.next/standalone/.next/static/chunks/app/api/repos/last-used/route-00d08e7d87413cf2.js +0 -1
  499. package/.next/standalone/.next/static/chunks/app/api/repos/pick-folder/route-00d08e7d87413cf2.js +0 -1
  500. package/.next/standalone/.next/static/chunks/app/api/repos/route-00d08e7d87413cf2.js +0 -1
  501. package/.next/standalone/.next/static/chunks/app/api/skills/route-00d08e7d87413cf2.js +0 -1
  502. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/chat/route-00d08e7d87413cf2.js +0 -1
  503. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/chef-status/route-00d08e7d87413cf2.js +0 -1
  504. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/create-branch/route-00d08e7d87413cf2.js +0 -1
  505. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/create-pr/route-00d08e7d87413cf2.js +0 -1
  506. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/data/rename/route-00d08e7d87413cf2.js +0 -1
  507. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/deliver/route-00d08e7d87413cf2.js +0 -1
  508. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/git/route-00d08e7d87413cf2.js +0 -1
  509. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/handoff/review/route-00d08e7d87413cf2.js +0 -1
  510. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/handoff/route-00d08e7d87413cf2.js +0 -1
  511. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/images/route-00d08e7d87413cf2.js +0 -1
  512. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/improve-title/route-00d08e7d87413cf2.js +0 -1
  513. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/launch-chef/route-00d08e7d87413cf2.js +0 -1
  514. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/merge-pr/route-00d08e7d87413cf2.js +0 -1
  515. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/move/route-00d08e7d87413cf2.js +0 -1
  516. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/pr-status/route-00d08e7d87413cf2.js +0 -1
  517. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/resolve-conflicts/route-00d08e7d87413cf2.js +0 -1
  518. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/route-00d08e7d87413cf2.js +0 -1
  519. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/thread-state/route-00d08e7d87413cf2.js +0 -1
  520. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/workflow-state/route-00d08e7d87413cf2.js +0 -1
  521. package/.next/standalone/.next/static/chunks/app/api/tasks/counts/route-00d08e7d87413cf2.js +0 -1
  522. package/.next/standalone/.next/static/chunks/app/api/tasks/pr-check/route-00d08e7d87413cf2.js +0 -1
  523. package/.next/standalone/.next/static/chunks/app/api/tasks/route-00d08e7d87413cf2.js +0 -1
  524. package/.next/standalone/.next/static/chunks/app/api/test/reset/route-00d08e7d87413cf2.js +0 -1
  525. package/.next/standalone/.next/static/chunks/app/api/workflows/[slug]/route-00d08e7d87413cf2.js +0 -1
  526. package/.next/standalone/.next/static/chunks/app/api/workflows/route-00d08e7d87413cf2.js +0 -1
  527. package/.next/standalone/.next/static/chunks/app/layout-33746f763b269468.js +0 -1
  528. package/.next/standalone/.next/static/chunks/app/page-94d1cf482dc9d766.js +0 -1
  529. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-00d08e7d87413cf2.js +0 -1
  530. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-00d08e7d87413cf2.js +0 -1
  531. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-00d08e7d87413cf2.js +0 -1
  532. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-00d08e7d87413cf2.js +0 -1
  533. package/.next/standalone/.next/static/css/aaeb369038c2ce63.css +0 -3
  534. package/scripts/migrate-chef-naming.mjs +0 -281
  535. /package/.next/standalone/.next/static/{DXjnbExUDH6VWFcQAZm5W → TEeaHQlTW3yW085fWMfjB}/_ssgManifest.js +0 -0
@@ -0,0 +1,24 @@
1
+ "use strict";exports.id=3544,exports.ids=[3544],exports.modules={63019:(a,b,c)=>{c.r(b),c.d(b,{default:()=>bg});var d=c(48249),e=c(19099),f=c(67484),g=c(2921),h=c(42114),i=c(14490);function j({className:a,children:b,...c}){return(0,d.jsxs)(h.bL,{"data-slot":"scroll-area",className:(0,i.cn)("relative",a),...c,children:[(0,d.jsx)(h.LM,{"data-slot":"scroll-area-viewport",className:"size-full rounded-[inherit] outline-none transition-[color,box-shadow] focus-visible:outline-1 focus-visible:ring-[3px] focus-visible:ring-ring/50",children:b}),(0,d.jsx)(k,{}),(0,d.jsx)(h.OK,{})]})}function k({className:a,orientation:b="vertical",...c}){return(0,d.jsx)(h.VM,{"data-slot":"scroll-area-scrollbar",orientation:b,className:(0,i.cn)("flex touch-none select-none p-px transition-colors","vertical"===b&&"h-full w-2.5 border-l border-l-transparent","horizontal"===b&&"h-2.5 flex-col border-t border-t-transparent",a),...c,children:(0,d.jsx)(h.lr,{"data-slot":"scroll-area-thumb",className:"relative flex-1 rounded-full bg-border"})})}var l=c(25297),m=c(20468),n=c(38420);function o({title:a,count:b,defaultOpen:c=!1,onToggleAll:e,toggleAllLabel:g,children:h}){let[i,j]=(0,f.useState)(c);return(0,d.jsxs)("div",{className:"rounded border bg-muted/30",children:[(0,d.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5 overflow-hidden px-3 py-2",onClick:()=>j(!i),children:[i?(0,d.jsx)(m.A,{className:"size-3.5 text-muted-foreground"}):(0,d.jsx)(n.A,{className:"size-3.5 text-muted-foreground"}),(0,d.jsx)("span",{className:"text-sm font-medium",children:a}),(0,d.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",b,")"]}),e&&b>0&&(0,d.jsx)("button",{className:"ml-auto shrink-0 text-xs text-primary underline hover:text-primary/80 cursor-pointer",onClick:a=>{a.stopPropagation(),e()},children:g??"Toggle all"})]}),i&&(0,d.jsx)("div",{className:"overflow-hidden border-t px-3 py-2",children:h})]})}var p=c(33915),q=c(36650),r=c(66450);function s(a){return a.startsWith("diff --git")?"font-bold text-foreground bg-muted/50 pt-3 mt-2":a.startsWith("@@")?"text-blue-600 font-semibold bg-blue-500/10":a.startsWith("+")&&!a.startsWith("+++")?"bg-green-500/10 text-green-800":a.startsWith("-")&&!a.startsWith("---")?"bg-red-500/10 text-red-800":""}function t({diff:a,truncated:b,totalLines:c,maxHeight:e="400px"}){if(!a)return(0,d.jsx)("div",{className:"flex items-center justify-center py-4 text-xs text-muted-foreground",children:"No changes"});let f=function(a){let b=a.split("\n"),c=[],d=null;for(let a of b){let b=a.match(/^diff --git a\/(.+?) b\/(.+)$/);b?(d&&c.push(d),d={filePath:b[2],lines:[a]}):d&&d.lines.push(a)}return d&&c.push(d),c}(a),g=f.length>0;return(0,d.jsx)(j,{style:{maxHeight:e},children:(0,d.jsxs)("div",{className:"font-mono text-[11px] leading-relaxed",children:[g?f.map((a,b)=>(0,d.jsx)("div",{children:a.lines.map((a,c)=>(0,d.jsx)("div",{className:`px-2 py-px whitespace-pre ${s(a)}`,children:a||"\xa0"},`${b}-${c}`))},b)):a.split("\n").map((a,b)=>(0,d.jsx)("div",{className:`px-2 py-px whitespace-pre ${s(a)}`,children:a||"\xa0"},b)),b&&(0,d.jsxs)("div",{className:"mt-2 px-2 py-1.5 rounded bg-amber-500/10 border border-amber-500/20 text-amber-800 text-xs",children:["Diff truncated — showing first 5,000 of"," ",c?.toLocaleString()," lines"]})]})})}var u=c(47856);let v={M:{label:"M",color:"text-orange-500"},A:{label:"A",color:"text-green-600"},D:{label:"D",color:"text-red-600"},R:{label:"R",color:"text-blue-500"},"?":{label:"?",color:"text-gray-500"},C:{label:"C",color:"text-purple-500"},U:{label:"U",color:"text-yellow-600"}};function w({status:a,path:b,linesAdded:c,linesRemoved:e,checked:g,onToggle:h,slug:i,repoId:j,staged:k}){let l=v[a]||{label:a,color:"text-muted-foreground"},[o,s]=(0,f.useState)(!1),[w,x]=(0,f.useState)(null),[y,z]=(0,f.useState)(!1),[A,B]=(0,f.useState)(!1),[C,D]=(0,f.useState)(0),E=c??0,F=e??0,G=(0,f.useMemo)(()=>i?(0,u.jx)(j,i):null,[j,i]),H=!!i&&"?"!==a,I=async a=>{if(a.stopPropagation(),H){if(o)return void s(!1);if(s(!0),null===w){z(!0);try{let a=await fetch(`${G}/git`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"diff-file",file:b,staged:k})}),c=await a.json();x(c.diff||""),B(c.truncated||!1),D(c.totalLines||0)}catch{x("")}finally{z(!1)}}}};return(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-center gap-2 rounded px-1 py-0.5 text-xs",children:[h&&(0,d.jsx)("div",{className:"flex cursor-pointer items-center",onClick:h,children:g?(0,d.jsx)(p.A,{className:"size-4 shrink-0 text-primary"}):(0,d.jsx)(q.A,{className:"size-4 shrink-0 text-muted-foreground/50"})}),(0,d.jsxs)("div",{className:`flex min-w-0 flex-1 items-center gap-2 rounded px-1 py-0.5 ${H?"cursor-pointer hover:bg-muted/50":""}`,onClick:H?I:void 0,children:[H&&(o?(0,d.jsx)(m.A,{className:"size-3 shrink-0 text-muted-foreground"}):(0,d.jsx)(n.A,{className:"size-3 shrink-0 text-muted-foreground"})),(0,d.jsx)("span",{className:`shrink-0 font-mono font-bold ${l.color}`,children:l.label}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-foreground/80",children:b}),(E>0||F>0)&&(0,d.jsxs)("span",{className:"ml-auto flex shrink-0 items-center gap-1 font-mono tabular-nums",children:[E>0&&(0,d.jsxs)("span",{className:"text-green-600",children:["+",E]}),F>0&&(0,d.jsxs)("span",{className:"text-red-600",children:["-",F]})]})]})]}),o&&(0,d.jsx)("div",{className:"ml-6 mt-1 mb-2 rounded border bg-muted/10 overflow-hidden",children:y?(0,d.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,d.jsx)(r.A,{className:"size-3.5 animate-spin text-muted-foreground"})}):(0,d.jsx)(t,{diff:w||"",truncated:A,totalLines:C,maxHeight:"300px"})})]})}let x={M:{label:"M",color:"text-orange-500"},A:{label:"A",color:"text-green-600"},D:{label:"D",color:"text-red-600"},R:{label:"R",color:"text-blue-500"},C:{label:"C",color:"text-purple-500"}};function y({hash:a,author:b,relativeTime:c,message:e,files:g,slug:h,repoId:i}){let[j,k]=(0,f.useState)(!1),[l,o]=(0,f.useState)({}),[p,q]=(0,f.useState)(null),[s,v]=(0,f.useState)(null),w=(0,f.useMemo)(()=>h?(0,u.jx)(i,h):null,[i,h]),y=async b=>{if(s===b)return void v(null);if((v(b),!l[b])&&w){q(b);try{let c=await fetch(`${w}/git`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"diff-commit",hash:a,file:b})}),d=await c.json();o(a=>({...a,[b]:{diff:d.diff||"",truncated:d.truncated||!1,totalLines:d.totalLines||0}}))}catch{o(a=>({...a,[b]:{diff:"",truncated:!1,totalLines:0}}))}finally{q(null)}}};return(0,d.jsxs)("div",{className:"rounded border bg-muted/20",children:[(0,d.jsxs)("div",{className:"flex cursor-pointer items-center gap-2 px-3 py-2",onClick:()=>k(!j),children:[j?(0,d.jsx)(m.A,{className:"size-3 shrink-0 text-muted-foreground"}):(0,d.jsx)(n.A,{className:"size-3 shrink-0 text-muted-foreground"}),(0,d.jsx)("span",{className:"min-w-0 truncate text-sm",children:e}),(0,d.jsx)("span",{className:"ml-auto shrink-0 font-mono text-[10px] text-muted-foreground",children:a})]}),j&&(0,d.jsxs)("div",{className:"border-t px-3 py-2",children:[(0,d.jsxs)("div",{className:"text-xs text-muted-foreground",children:[(0,d.jsx)("span",{children:b}),(0,d.jsx)("span",{className:"mx-1.5",children:"\xb7"}),(0,d.jsx)("span",{children:c})]}),g&&g.length>0&&(0,d.jsx)("div",{className:"mt-2 flex flex-col gap-0.5",children:g.map((a,b)=>{let c=x[a.status]||{label:a.status,color:"text-muted-foreground"},e=s===a.path,f=!!h;return(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:`flex min-w-0 items-center gap-2 text-xs rounded px-1 py-0.5 ${f?"cursor-pointer hover:bg-muted/50":""}`,onClick:f?()=>y(a.path):void 0,children:[f&&(e?(0,d.jsx)(m.A,{className:"size-3 shrink-0 text-muted-foreground"}):(0,d.jsx)(n.A,{className:"size-3 shrink-0 text-muted-foreground"})),(0,d.jsx)("span",{className:`shrink-0 font-mono font-bold ${c.color}`,children:c.label}),(0,d.jsx)("span",{className:"truncate font-mono text-foreground/70",children:a.path})]}),e&&(0,d.jsx)("div",{className:"ml-5 mt-1 mb-2 rounded border bg-muted/10 overflow-hidden",children:p===a.path?(0,d.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,d.jsx)(r.A,{className:"size-3.5 animate-spin text-muted-foreground"})}):(0,d.jsx)(t,{diff:l[a.path]?.diff||"",truncated:l[a.path]?.truncated,totalLines:l[a.path]?.totalLines,maxHeight:"300px"})})]},b)})})]})]})}var z=c(85449),A=c(10745);function B({slug:a,repoId:b}){let[c,e]=(0,f.useState)(null),[g,h]=(0,f.useState)(!0),[i,k]=(0,f.useState)(null),[m,n]=(0,f.useState)(!1),[p,q]=(0,f.useState)(null),[s,v]=(0,f.useState)(!1),[x,B]=(0,f.useState)(!1),[C,D]=(0,f.useState)(0),E=(0,f.useMemo)(()=>(0,u.jx)(b,a),[b,a]);(0,f.useCallback)(async()=>{h(!0),k(null);try{let a=await fetch(`${E}/git`),b=await a.json();b.error?(k(b.error),e(null)):e(b)}catch{k("Failed to fetch git status")}finally{h(!1)}},[E]);let F=async()=>{if(m)return void n(!1);if(n(!0),null===p){v(!0);try{let a=await fetch(`${E}/git`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"diff-branch"})}),b=await a.json();q(b.diff||""),B(b.truncated||!1),D(b.totalLines||0)}catch{q("")}finally{v(!1)}}},G=(0,f.useMemo)(()=>{if(!c)return[];let a=new Set,b=[];for(let d of c.staged)a.add(d.path),b.push({...d,staged:!0});for(let d of c.unstaged)a.has(d.path)||b.push(d);return b},[c]);return(0,d.jsx)("div",{className:"flex h-full flex-col",children:(0,d.jsx)(j,{className:"flex-1 min-h-0",children:(0,d.jsxs)("div",{className:"flex w-0 min-w-full flex-col gap-3 overflow-hidden p-3",children:[g&&!c&&(0,d.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,d.jsx)(r.A,{className:"size-4 animate-spin"})}),i&&(0,d.jsx)("div",{className:"rounded border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700",children:i}),c&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(o,{title:"Changes",count:G.length,defaultOpen:G.length>0,children:0===G.length?(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"No changes"}):G.map((c,e)=>(0,d.jsx)(w,{status:c.status,path:c.path,linesAdded:c.linesAdded,linesRemoved:c.linesRemoved,slug:a,repoId:b,staged:c.staged},e))}),!c.onMain&&(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"mb-2 flex items-center gap-1.5",children:[(0,d.jsx)(z.A,{className:"size-3.5 text-muted-foreground"}),(0,d.jsx)("h3",{className:"text-sm font-medium",children:"Commits"})]}),0===c.commits.length?(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"No commits on this branch yet"}):(0,d.jsx)("div",{className:"flex flex-col gap-1.5",children:c.commits.map(c=>(0,d.jsx)(y,{...c,slug:a,repoId:b},c.hash))})]}),!c.onMain&&c.commits.length>0&&(0,d.jsxs)("div",{children:[(0,d.jsxs)(l.$,{variant:"outline",size:"sm",onClick:F,className:"w-full gap-1.5 cursor-pointer",children:[(0,d.jsx)(A.A,{className:"size-3.5"}),m?"Hide all changes":"View all changes vs main"]}),m&&(0,d.jsx)("div",{className:"mt-2 rounded border bg-muted/10 overflow-hidden",children:s?(0,d.jsx)("div",{className:"flex items-center justify-center py-6",children:(0,d.jsx)(r.A,{className:"size-4 animate-spin text-muted-foreground"})}):(0,d.jsx)(t,{diff:p||"",truncated:x,totalLines:C,maxHeight:"500px"})})]})]})]})})})}var C=c(46970);function D(a){return"object"==typeof a&&null!==a}let E=[/oauth token has expired/i,/token has expired/i,/expired.*token/i,/authentication_error/i,/failed to authenticate/i,/please obtain a new token/i];function F(a){let b,c=a.trim(),d=((b=c.match(/\{[\s\S]*"(?:message|detail)"\s*:\s*"([^"]+)"[\s\S]*\}/))?b[1]:null)??c;return/internal server error/i.test(d)?{message:"The AI service hit a temporary issue. You can try sending your message again.",details:c}:/overloaded/i.test(d)?{message:"The AI service is currently overloaded. Please wait a moment and try again.",details:c}:/rate limit/i.test(d)?{message:"Too many requests. Please wait a moment and try again.",details:c}:E.some(a=>a.test(d))?{message:"Authentication expired. Reconnect Claude CLI (`claude auth login`) and try again.",details:c}:/authentication|unauthorized|invalid.*key/i.test(d)?{message:"There was an authentication problem with the AI service.",details:c}:/chat request failed/i.test(d)?{message:"Couldn't reach the AI service. Check your connection and try again.",details:c}:{message:d}}function G(a){return"object"==typeof a&&null!==a}var H=c(18290);let I=new Set;function J(a,b){if(0===b.length&&a.length>0||b.length<a.length)return!1;if(b.length>a.length)return!0;for(let c=0;c<b.length;c++){let d=b[c],e=a[c];if(!e||d.id!==e.id||d.role!==e.role||(0,H.B)(e,d))return!0}return!1}function K(a){if("string"!=typeof a)return null;let b=a.trim();return!b||b.startsWith("pending-")?null:b}function L(a){let b=[],c=a=>{if("string"!=typeof a)return;let c=a.trim();c&&b.push(c)};if(c(a.result),c(a.error),Array.isArray(a.errors))for(let b of a.errors)c(b);return b}var M=c(80105),N=c(82310),O=c(44920),P=c(3202),Q=c(73428),R=c(50421),S=c(80646),T=c(1498),U=c(42163),V=c(84289),W=c(3958),X=c(62291),Y=c(44193),Z=c(94274),$=c(87058),_=c(59576);let aa=(0,c(90314).default)(async()=>{},{loadableGenerated:{modules:["components/ui/LazyCodeBlock.tsx -> ./CodeBlock"]},ssr:!1});function ab(a){try{let b=JSON.parse(a);return{code:JSON.stringify(b,null,2),language:"json"}}catch{return{code:a,language:"text"}}}function ac(a){try{let b=JSON.parse(a);return"object"==typeof b&&null!==b?b:null}catch{return null}}function ad(a){let b=a.split("/").filter(Boolean);return b.length<=2?a:b.slice(-2).join("/")}let ae={Bash:P.A,Read:Q.A,Edit:R.A,Write:S.A,Grep:T.A,Glob:U.A,WebFetch:V.A,WebSearch:V.A,Task:W.A,TodoWrite:X.A,Skill:Y.A,NotebookEdit:Z.A},af={borderRadius:"0.25rem",padding:"0.375rem",fontFamily:'"JetBrains Mono", monospace',maxHeight:"8rem",overflow:"auto"};function ag({toolCall:a,isStreaming:b,subtle:c=!1}){let[e,g]=(0,f.useState)(!1),h=ae[a.name]??$.A,i=!!a.output,j=!i&&!!b,{text:k,code:l}=function(a,b){let c=ac(b);switch(a){case"Read":{let a=c?.file_path;return a?{text:"Read",code:ad(a)}:{text:"Read file"}}case"Edit":{let a=c?.file_path;return a?{text:"Edit",code:ad(a)}:{text:"Edit file"}}case"Write":{let a=c?.file_path;return a?{text:"Write",code:ad(a)}:{text:"Write file"}}case"Bash":{let a=c?.command;if(!a)return{text:"Run command"};return{text:"Run",code:a.length>60?a.slice(0,57)+"...":a}}case"Grep":{let a=c?.pattern,b=c?.path;if(!a)return{text:"Search files"};let d=b?` in ${ad(b)}`:"";return{text:"Search for",code:`${a}${d}`}}case"Glob":{let a=c?.pattern;return a?{text:"Find files",code:a}:{text:"Find files"}}case"WebFetch":{let a=c?.url;if(!a)return{text:"Fetch URL"};try{return{text:"Fetch",code:new URL(a).hostname}}catch{return{text:"Fetch URL"}}}case"WebSearch":{let a=c?.query;return a?{text:"Search web for",code:a}:{text:"Search the web"}}case"Task":{let a=c?.description;return a?{text:"Launch sous chef:",code:a}:{text:"Launch sous chef"}}case"TodoWrite":return{text:"Update task list"};case"Skill":{let a=c?.skill;return a?{text:"Use skill",code:a}:{text:"Use skill"}}case"NotebookEdit":return{text:"Edit notebook"};default:return{text:a}}}(a.name,a.input);return(0,d.jsxs)("div",{className:c?"text-xs":"rounded-md border text-xs",children:[(0,d.jsxs)("button",{type:"button",className:`flex w-full cursor-pointer items-center gap-1.5 text-left transition-colors ${c?"py-0.5 text-muted-foreground hover:text-foreground":"rounded-md px-2 py-1.5 hover:bg-accent/50"}`,onClick:()=>g(!e),children:[j?(0,d.jsx)(r.A,{className:`shrink-0 animate-spin ${c?"size-3 text-orange-500":"size-3.5 text-amber-500"}`}):i?(0,d.jsx)("div",{className:`flex shrink-0 items-center justify-center rounded-full ${c?"size-3 text-muted-foreground":"size-3.5 bg-muted text-muted-foreground"}`,children:(0,d.jsx)(_.A,{className:"size-2.5",strokeWidth:3})}):(0,d.jsx)("div",{className:`shrink-0 rounded-full border border-muted-foreground/30 ${c?"size-2.5":"size-3.5"}`}),(0,d.jsx)(h,{className:"size-3 shrink-0 text-muted-foreground"}),(0,d.jsxs)("span",{className:`flex-1 truncate ${c?"text-muted-foreground":"text-foreground"}`,children:[k,l&&(0,d.jsxs)(d.Fragment,{children:[" ",(0,d.jsx)("code",{className:`${c?"font-mono text-[11px] text-muted-foreground/90":"rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-muted-foreground"}`,children:l})]})]}),e?(0,d.jsx)(m.A,{className:"size-3 shrink-0 text-muted-foreground"}):(0,d.jsx)(n.A,{className:"size-3 shrink-0 text-muted-foreground"})]}),e&&(0,d.jsxs)("div",{className:`${c?"ml-6 border-l border-border/70 pl-2.5 py-1.5 space-y-1.5":"border-t px-2 py-1.5 space-y-1.5"}`,children:[a.input&&(0,d.jsxs)("div",{children:[(0,d.jsx)("span",{className:"text-[11px] font-medium text-muted-foreground",children:"Input"}),(()=>{let{code:b,language:c}=ab(a.input);return(0,d.jsx)(aa,{code:b,language:c,variant:"dark",wrapLongLines:!0,customStyle:{...af,marginTop:"0.25rem"}})})()]}),a.output&&(0,d.jsxs)("div",{children:[(0,d.jsx)("span",{className:"text-[11px] font-medium text-muted-foreground",children:"Output"}),(()=>{let{code:b,language:c}=ab(a.output);return(0,d.jsx)(aa,{code:b,language:c,variant:"dark",wrapLongLines:!0,customStyle:{...af,marginTop:"0.25rem"}})})()]}),j&&!a.output&&(0,d.jsxs)("div",{className:`flex items-center gap-1.5 py-1 text-[11px] ${c?"text-orange-600":"text-amber-600"}`,children:[(0,d.jsx)(r.A,{className:"size-3 animate-spin"}),(0,d.jsx)("span",{children:"Running..."})]})]})]})}var ah=c(39937),ai=c(79248);function aj({questions:a,onAnswer:b,isAnswered:c}){let[e,g]=(0,f.useState)({}),[h,j]=(0,f.useState)({}),[k,l]=(0,f.useState)(!1),m=c||k||!b,n=1===a.length&&!a[0].multiSelect,o=(0,f.useCallback)(b=>{let c=a.map((c,d)=>{let f=e[d]||[],g=(b?.[d]??h[d])?.trim(),i=[...f];if(g&&i.push(g),1===a.length)return i.join(", ");let j=c.header||`Q${d+1}`;return`${j}: ${i.join(", ")}`});return 1===a.length?c[0]:c.join("\n")},[a,e,h]),p=a=>{if(m)return;let c=h[a]?.trim();if(!c)return;let d={...h,[a]:c};if(j(d),n){l(!0),b?.(c);return}let e=o(d);e&&(l(!0),b?.(e))};return(0,d.jsxs)("div",{className:(0,i.cn)("rounded-lg border p-4 space-y-4",m?"border-muted bg-muted/30 opacity-60":"border-primary/20 bg-primary/5"),children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-primary",children:[(0,d.jsx)(ah.A,{className:"size-4"}),(0,d.jsx)("span",{className:"text-xs font-medium uppercase tracking-wider",children:"Question"})]}),a.map((c,f)=>(0,d.jsxs)("div",{className:"space-y-2",children:[c.header&&(0,d.jsx)("span",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:c.header}),(0,d.jsx)("p",{className:"text-sm font-medium",children:c.question}),(0,d.jsx)("div",{className:"flex flex-col gap-2",children:c.options.map((c,h)=>{let j=(e[f]||[]).includes(c.label);return(0,d.jsxs)("button",{onClick:()=>{var d;return d=c.label,void(m||(a[f].multiSelect?g(a=>{let b=a[f]||[],c=b.includes(d)?b.filter(a=>a!==d):[...b,d];return{...a,[f]:c}}):(g(a=>({...a,[f]:[d]})),n&&(l(!0),b?.(d)))))},disabled:m,className:(0,i.cn)("w-full rounded-lg border bg-background px-3 py-2 text-left transition-colors",m?"cursor-default":"cursor-pointer hover:bg-primary/10",j&&"bg-primary text-primary-foreground border-primary"),children:[(0,d.jsx)("span",{className:"text-sm font-medium",children:`${h+1}. ${c.label}`}),c.description&&(0,d.jsx)("span",{className:(0,i.cn)("block text-xs mt-0.5",j?"text-primary-foreground/70":"text-muted-foreground"),children:c.description})]},c.label)})}),(0,d.jsxs)("div",{className:"flex gap-2 mt-1",children:[(0,d.jsx)("input",{type:"text",placeholder:"Type your answer…",value:h[f]||"",onChange:a=>j(b=>({...b,[f]:a.target.value})),onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),p(f))},disabled:m,className:"flex-1 rounded-md border px-3 py-1.5 text-sm bg-background outline-none focus:ring-2 focus:ring-ring disabled:opacity-60"}),(0,d.jsx)("button",{onClick:()=>p(f),disabled:m||!h[f]?.trim(),className:"rounded-md bg-primary px-3 py-1.5 text-sm text-primary-foreground cursor-pointer disabled:opacity-50 disabled:cursor-default","aria-label":"Send custom answer",children:(0,d.jsx)(ai.A,{className:"size-3.5"})})]})]},f)),!n&&!m&&(0,d.jsx)("button",{onClick:()=>{if(m)return;let a=o();a&&(l(!0),b?.(a))},disabled:Object.values(e).every(a=>0===a.length)&&Object.values(h).every(a=>!a?.trim()),className:"rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground cursor-pointer disabled:opacity-50 disabled:cursor-default hover:bg-primary/90 transition-colors",children:"Submit"})]})}var ak=c(85155);function al({onAnswer:a,isAnswered:b}){let[c,e]=(0,f.useState)(!1),[g,h]=(0,f.useState)(!1),[j,k]=(0,f.useState)(""),l=b||c||!a,m=()=>{!l&&j.trim()&&(e(!0),a?.(j.trim()))};return(0,d.jsxs)("div",{className:(0,i.cn)("rounded-lg border p-4 space-y-3",l?"border-muted bg-muted/30 opacity-60":"border-yellow-500/20 bg-yellow-500/5"),children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-yellow-600",children:[(0,d.jsx)(ak.A,{className:"size-4"}),(0,d.jsx)("span",{className:"text-xs font-medium uppercase tracking-wider",children:"Plan ready for review"})]}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"The agent has prepared a plan and is waiting for your approval to proceed."}),!g&&(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("button",{onClick:()=>{l||(e(!0),a?.("Approved — go ahead"))},disabled:l,className:(0,i.cn)("rounded-md px-4 py-2 text-sm font-medium transition-colors",l?"bg-muted text-muted-foreground cursor-default":"bg-green-600 text-white cursor-pointer hover:bg-green-700"),children:"Approve & proceed"}),(0,d.jsx)("button",{onClick:()=>{l||h(!0)},disabled:l,className:(0,i.cn)("rounded-md border px-4 py-2 text-sm font-medium transition-colors",l?"cursor-default":"cursor-pointer hover:bg-primary/10"),children:"Request changes"})]}),g&&!l&&(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("input",{type:"text",placeholder:"Describe what to change…",value:j,onChange:a=>k(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),m())},autoFocus:!0,className:"flex-1 rounded-md border px-3 py-1.5 text-sm bg-background outline-none focus:ring-2 focus:ring-ring"}),(0,d.jsx)("button",{onClick:m,disabled:!j.trim(),className:"rounded-md bg-primary px-3 py-1.5 text-sm text-primary-foreground cursor-pointer disabled:opacity-50 disabled:cursor-default",children:(0,d.jsx)(ai.A,{className:"size-3.5"})})]})]})}var am=c(77405),an=c(42755),ao=c(51843),ap=c(34343),aq=c(38393);function ar({html:a}){let[b,c]=(0,f.useState)(!1),[e,g]=(0,f.useState)(!1),[h,i]=(0,f.useState)(150),[j,k]=(0,f.useState)(!1),l=(0,f.useId)(),o=(0,f.useMemo)(()=>{let b;return b=a.replace(/<script[\s\S]*?<\/script>/gi,""),`<!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <style>
7
+ *, *::before, *::after { box-sizing: border-box; }
8
+ body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
9
+ </style>
10
+ </head>
11
+ <body>
12
+ ${b}
13
+ <script>
14
+ function notifyHeight() {
15
+ var h = document.documentElement.scrollHeight;
16
+ window.parent.postMessage({ type: 'html-preview-resize', id: '${l}', height: h }, '*');
17
+ }
18
+ window.addEventListener('load', notifyHeight);
19
+ new ResizeObserver(notifyHeight).observe(document.body);
20
+ </script>
21
+ </body>
22
+ </html>`},[a,l]);return a.trim()?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"group relative my-2 cursor-pointer overflow-hidden rounded-lg border bg-background transition-colors hover:border-primary",style:{maxHeight:400},onClick:()=>c(!0),children:[(0,d.jsx)("div",{className:"absolute left-2 top-1.5 z-10 rounded bg-background/80 px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground backdrop-blur-sm",children:"Preview"}),(0,d.jsxs)("div",{className:"absolute bottom-2 right-2 z-10 flex items-center gap-1 rounded bg-background/80 px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground opacity-0 backdrop-blur-sm transition-opacity group-hover:opacity-100",children:[(0,d.jsx)(ao.A,{className:"size-3"}),"Click to expand"]}),j&&(0,d.jsx)("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 z-[5] h-12 bg-gradient-to-t from-background/80 to-transparent"}),(0,d.jsx)("iframe",{srcDoc:o,sandbox:"allow-scripts",title:"HTML Preview",className:"w-full border-0",style:{height:h,pointerEvents:"none"}})]}),(0,d.jsx)(aq.lG,{open:b,onOpenChange:c,children:(0,d.jsxs)(aq.Cf,{className:"sm:max-w-[90vw] h-[80vh] p-4 flex flex-col overflow-hidden",children:[(0,d.jsx)(aq.L3,{className:"sr-only",children:"HTML Preview"}),(0,d.jsx)("iframe",{srcDoc:o,sandbox:"allow-scripts",title:"HTML Preview",className:"w-full rounded border-0 flex-1 min-h-0"}),(0,d.jsxs)("div",{className:"flex shrink-0 cursor-pointer items-center gap-1.5 text-xs text-muted-foreground hover:text-foreground transition-colors",onClick:()=>g(!e),children:[e?(0,d.jsx)(m.A,{className:"size-3"}):(0,d.jsx)(n.A,{className:"size-3"}),(0,d.jsx)(ap.A,{className:"size-3"}),(0,d.jsx)("span",{children:e?"Hide code":"Show code"})]}),e&&(0,d.jsx)("div",{className:"min-h-0 max-h-[35vh] overflow-auto shrink-0 rounded-md",children:(0,d.jsx)(aa,{code:a,language:"html",variant:"light"})})]})})]}):(0,d.jsx)(aa,{code:a,language:"html",variant:"light"})}let as="prose prose-sm max-w-none prose-p:my-1 prose-headings:my-2 prose-ul:my-1 prose-li:my-0 prose-code:rounded prose-code:bg-muted prose-code:px-1 prose-code:py-0.5 prose-code:text-xs prose-pre:my-2",at={code({className:a,children:b,...c}){let e=/language-([\w-]+)/.exec(a||""),f=String(b).replace(/\n$/,"");return e&&"html-preview"===e[1]?(0,d.jsx)(ar,{html:f}):e?(0,d.jsx)(aa,{code:f,language:e[1],variant:"dark",customStyle:{fontFamily:'"JetBrains Mono", monospace'}}):(0,d.jsx)("code",{className:a,...c,children:b})},pre:({children:a})=>(0,d.jsx)(d.Fragment,{children:a})};function au({text:a}){return(0,d.jsx)("div",{className:as,children:(0,d.jsx)(am.oz,{remarkPlugins:[an.A],components:at,children:a})})}let av=new Set(["Task","Skill","TodoWrite"]);function aw(a){return av.has(a.name)}function ax(a){try{let b=JSON.parse(a);return{code:JSON.stringify(b,null,2),language:"json"}}catch{return{code:a,language:"text"}}}let ay={borderRadius:"0.25rem",padding:"0.375rem",fontFamily:'"JetBrains Mono", monospace',maxHeight:"8rem",overflow:"auto"};function az({block:a,isStreaming:b,subtle:c=!1}){return(0,d.jsx)(ag,{toolCall:a,isStreaming:b,subtle:c})}function aA({calls:a,isStreaming:b}){let[c,e]=(0,f.useState)(!1),g=function(a){let b=new Map;for(let c of a)b.set(c.name,(b.get(c.name)||0)+1);let c=Array.from(b.entries()).map(([a,b])=>b>1?`${a} x${b}`:a),d=c.slice(0,4),e=c.length-d.length,f=e>0?` \u00b7 +${e}`:"",g=`Used ${a.length} tool${1===a.length?"":"s"}`;return d.length>0?`${g} \u00b7 ${d.join(" \xb7 ")}${f}`:g}(a);return(0,d.jsxs)("div",{children:[(0,d.jsxs)("button",{type:"button",onClick:()=>e(a=>!a),className:"flex w-full items-center gap-1 text-left text-xs text-muted-foreground transition-colors hover:text-foreground",children:[(0,d.jsx)(n.A,{className:(0,i.cn)("size-3 shrink-0 transition-transform",c&&"rotate-90")}),(0,d.jsx)("span",{className:"truncate",children:g})]}),c&&(0,d.jsx)("div",{className:"mt-1 flex flex-col gap-0.5 pl-4",children:a.map((c,e)=>(0,d.jsx)(az,{block:c,subtle:!0,isStreaming:b&&e===a.length-1},`${c.name}-${e}`))})]})}function aB({block:a,isStreaming:b}){let[c,e]=(0,f.useState)(!1),g=ac(a.input),h="Skill"===a.name,j=h?Y.A:W.A,k=h?g?.skill||"Using skill":g?.description||g?.subagent_type||"Running sous chef",l=h?void 0:g?.subagent_type,m=!!a.output,o=!m&&!!b;return(0,d.jsxs)("div",{className:"rounded-md border border-orange-200/70 bg-orange-50/40 px-2.5 py-1.5",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>e(a=>!a),className:"flex w-full items-center gap-2 text-left",children:[(0,d.jsx)(j,{className:"size-3.5 shrink-0 text-orange-600"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("p",{className:"truncate text-xs font-medium text-orange-900",children:[h?"Skill":"Sous chef",": ",k]}),l&&(0,d.jsx)("p",{className:"truncate text-[11px] text-orange-700/90",children:l})]}),o?(0,d.jsx)(r.A,{className:"size-3.5 shrink-0 animate-spin text-orange-600"}):m?(0,d.jsx)(_.A,{className:"size-3.5 shrink-0 text-orange-600"}):null,(0,d.jsx)(n.A,{className:(0,i.cn)("size-3 shrink-0 text-orange-700 transition-transform",c&&"rotate-90")})]}),c&&(0,d.jsxs)("div",{className:"mt-1.5 space-y-1.5 border-t border-orange-200/80 pt-1.5",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("span",{className:"text-[11px] font-medium text-orange-700",children:"Input"}),(()=>{let{code:b,language:c}=ax(a.input);return(0,d.jsx)(aa,{code:b,language:c,variant:"dark",wrapLongLines:!0,customStyle:{...ay,marginTop:"0.25rem"}})})()]}),a.output&&(0,d.jsxs)("div",{children:[(0,d.jsx)("span",{className:"text-[11px] font-medium text-orange-700",children:"Output"}),(()=>{let{code:b,language:c}=ax(a.output);return(0,d.jsx)(aa,{code:b,language:c,variant:"dark",wrapLongLines:!0,customStyle:{...ay,marginTop:"0.25rem"}})})()]}),o&&!a.output&&(0,d.jsxs)("div",{className:"flex items-center gap-1.5 py-1 text-[11px] text-orange-600",children:[(0,d.jsx)(r.A,{className:"size-3 animate-spin"}),(0,d.jsx)("span",{children:"Running..."})]})]})]})}function aC({block:a}){let b=ac(a.input),c=Array.isArray(b?.todos)?b.todos:[];return 0===c.length?(0,d.jsx)(az,{block:a,subtle:!0}):(0,d.jsxs)("div",{className:"py-0.5",children:[(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Todo list"}),(0,d.jsx)("ul",{className:"mt-1 space-y-0.5 text-xs",children:c.map((a,b)=>{let c="completed"===a.status,e="in_progress"===a.status&&a.activeForm?a.activeForm:a.content||"";return(0,d.jsx)("li",{className:(0,i.cn)("leading-relaxed text-foreground",c&&"line-through"),children:e},`${a.content||"todo"}-${b}`)})})]})}function aD({block:a}){return(0,d.jsx)("div",{className:"max-w-[90%] rounded-lg border border-red-200 bg-red-50 px-3.5 py-3 text-sm",children:(0,d.jsxs)("div",{className:"flex items-start gap-2",children:[(0,d.jsx)("span",{className:"mt-0.5 shrink-0 text-base leading-none","aria-hidden":!0,children:"⚠️"}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"font-medium text-red-900",children:"Something went wrong"}),(0,d.jsx)("p",{className:"mt-0.5 text-red-700",children:a.message}),a.details&&(0,d.jsxs)("details",{className:"mt-2",children:[(0,d.jsx)("summary",{className:"cursor-pointer text-xs text-muted-foreground",children:"Technical details"}),(0,d.jsx)("pre",{className:"mt-1.5 whitespace-pre-wrap break-all rounded bg-white p-2 text-xs text-muted-foreground",children:a.details})]})]})]})})}function aE({images:a,slug:b,repoId:c}){let[e,g]=(0,f.useState)(null),h=a=>(0,u.wy)(c,b,a);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"flex gap-1.5 flex-wrap mt-1",children:a.map(a=>(0,d.jsx)("button",{onClick:()=>g(a),className:"size-16 shrink-0 cursor-pointer overflow-hidden rounded border hover:ring-2 hover:ring-ring",children:(0,d.jsx)("img",{src:h(a),alt:a,className:"size-full object-cover"})},a))}),(0,d.jsx)(aq.lG,{open:!!e,onOpenChange:a=>!a&&g(null),children:(0,d.jsxs)(aq.Cf,{className:"max-w-3xl p-2",showCloseButton:!1,children:[(0,d.jsx)(aq.L3,{className:"sr-only",children:"Image preview"}),e&&(0,d.jsx)("img",{src:h(e),alt:e,className:"w-full rounded object-contain max-h-[80vh]"})]})})]})}let aF=["Tasting","Simmering","Reducing","Prepping","Seasoning","Plating"],aG=["Counting clean forks","Looking for the missing whisk","Trying not to burn garlic","Keeping the pass in order"];function aH(){let[a,b]=(0,f.useState)(()=>(function(a){let b,c=.25>Math.random()?aG:aF;do b=c[Math.floor(Math.random()*c.length)];while(c.length>1&&void 0===b);return b})());return(0,d.jsxs)("div",{className:"flex items-center gap-2 py-1",children:[(0,d.jsx)("span",{className:"size-2 shrink-0 rounded-full bg-orange-500 motion-safe:animate-pulse-dot motion-reduce:opacity-70",role:"status","aria-label":"Thinking"}),(0,d.jsxs)("span",{className:"text-sm italic text-orange-600",children:[a,"..."]})]})}function aI({message:a,showThinking:b,slug:c,repoId:e,onQuestionAnswer:f,isQuestionAnswered:g}){let h="assistant"===a.role?a.blocks:void 0;if("system"===a.role)return(0,d.jsx)("div",{className:"flex justify-center py-2",children:(0,d.jsx)("span",{className:"text-xs text-muted-foreground/70 italic",children:a.content})});if("user"===a.role){let b=a.images?.length?a.images:Array.from(a.content.matchAll(/\[Attached image: ([^\]]+)\]/g),a=>a[1]),f=a.images?.length?a.content:a.content.replace(/\[Attached image: [^\]]+\]\n*/g,"").trim();return(0,d.jsx)("div",{className:"flex flex-col items-end",children:(0,d.jsxs)("div",{className:"max-w-[90%] rounded-lg bg-primary/15 px-3 py-2 text-sm text-foreground",children:[b.length>0&&(0,d.jsx)(aE,{images:b,slug:c,repoId:e}),f&&(0,d.jsx)("p",{className:"whitespace-pre-wrap",children:f})]})})}if(h&&h.length>0){let a=h.reduce((a,b,c)=>"tool_call"===b.type?c:a,-1),c=h.reduce((a,b,c)=>"tool_call"===b.type&&"TodoWrite"===b.name?c:a,-1),e=[];for(let i=0;i<h.length;i++){let j=h[i];if("text"===j.type){if(!j.text.trim())continue;e.push((0,d.jsx)(au,{text:j.text},`text-${i}`));continue}if("error"===j.type){e.push((0,d.jsx)(aD,{block:j},`error-${i}`));continue}if("ask_question"===j.type){e.push((0,d.jsx)(aj,{questions:j.questions,onAnswer:f,isAnswered:g},`question-${i}`));continue}if("plan_approval"===j.type){e.push((0,d.jsx)(al,{onAnswer:f,isAnswered:g},`plan-${i}`));continue}if("tool_call"!==j.type)continue;if("TodoWrite"===j.name){if(i!==c)continue;e.push((0,d.jsx)(aC,{block:j},`todo-${i}`));continue}let k=i===a;if("Task"===j.name||"Skill"===j.name){e.push((0,d.jsx)(aB,{block:j,isStreaming:k&&b},`agent-${i}`));continue}if(!aw(j)){let c=i,f=[j];for(;i+1<h.length;){let a=h[i+1];if("tool_call"!==a.type||aw(a))break;f.push(a),i+=1}let g=a>=c&&a<=i;e.push((0,d.jsx)(aA,{calls:f,isStreaming:g&&b},`tools-${c}`))}}return(0,d.jsxs)("div",{className:"flex flex-col gap-2 text-sm",children:[e,b&&(0,d.jsx)(aH,{})]})}let i=a.content||"",j=!!i.trim(),k=a.toolCalls&&a.toolCalls.length>0;return j||k?(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[j&&(0,d.jsx)("div",{className:"max-w-[90%] rounded-lg bg-muted px-3 py-2 text-sm text-foreground",children:(0,d.jsx)("div",{className:as,children:(0,d.jsx)(am.oz,{remarkPlugins:[an.A],components:at,children:i})})}),k&&(0,d.jsx)("div",{className:"flex max-w-[90%] flex-col gap-1",children:a.toolCalls.map((a,b)=>(0,d.jsx)(ag,{toolCall:a,subtle:!0},b))})]}):b?(0,d.jsx)(aH,{}):null}var aJ=c(37636),aK=c(48371);let aL={warning:{border:"border-amber-200",bg:"bg-amber-50/70",dot:"bg-amber-500",text:"text-amber-800"},success:{border:"border-emerald-200",bg:"bg-emerald-50/70",dot:"bg-emerald-500",text:"text-emerald-700"},muted:{border:"border-border",bg:"bg-muted/50",dot:"bg-muted-foreground",text:"text-muted-foreground"}};function aM({variant:a,dot:b,centered:c,children:e,actions:f,className:g}){let h=aL[a];return(0,d.jsxs)("div",{className:(0,i.cn)("flex items-center gap-3 rounded-lg border px-4 py-2.5 text-xs",h.border,h.bg,c&&"justify-center",g),children:[b&&(0,d.jsx)("span",{className:(0,i.cn)("size-1.5 shrink-0 rounded-full",h.dot,"warning"===a&&"animate-pulse")}),(0,d.jsx)("div",{className:(0,i.cn)("min-w-0",!c&&"flex-1",h.text),children:e}),f&&(0,d.jsx)("div",{className:"ml-auto flex shrink-0 items-center gap-1.5",children:f})]})}var aN=c(55296),aO=c(104),aP=c(56585),aQ=c(53925),aR=c(38939),aS=c(10849);let aT=new Set(["image/png","image/jpeg","image/gif","image/webp"]);function aU({onSend:a,onStop:b,isStreaming:c,slug:e,repoId:g,onModelChange:h,selectedModel:j,leftToolbar:k}){let[m,n]=(0,f.useState)(""),[o,p]=(0,f.useState)([]),[q,r]=(0,f.useState)(!1),[s,t]=(0,f.useState)(null),[v,w]=(0,f.useState)(!1),[x,y]=(0,f.useState)(null),z=(0,f.useRef)(null),[A,B]=(0,f.useState)(N.xj),[C,D]=(0,f.useState)(j||N.xj),E=(0,f.useMemo)(()=>(0,u.jx)(g,e),[g,e]);(0,f.useRef)(h);let F=(0,f.useCallback)(a=>{t(null);let b=Array.from(a);for(let a of b){if(!aT.has(a.type))return void t("Only images are supported (PNG, JPEG, GIF, WebP).");if(a.size>5242880)return void t("Images must be under 5 MB.")}p(a=>{let c=[...a,...b.map(a=>({file:a,previewUrl:URL.createObjectURL(a)}))];return c.length>5?(t("Maximum 5 images per message."),a):c})},[]),G=(0,f.useCallback)(a=>{p(b=>(URL.revokeObjectURL(b[a].previewUrl),b.filter((b,c)=>c!==a))),t(null)},[]),H=(0,f.useCallback)(a=>{let b=Array.from(a.clipboardData.files).filter(a=>aT.has(a.type));b.length>0&&(a.preventDefault(),F(b))},[F]),I=(0,f.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),w(!0)},[]),J=(0,f.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),w(!1)},[]),K=(0,f.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),w(!1),a.dataTransfer.files.length>0&&F(a.dataTransfer.files)},[F]),L=(0,f.useCallback)(async()=>{let b=m.trim();if((b||0!==o.length)&&!c)if(o.length>0){r(!0),t(null);try{let c=[];for(let a of o){let b=new FormData;b.append("file",a.file);let d=await fetch(`${E}/images`,{method:"POST",body:b});if(!d.ok){let a=await d.json();t(a.error||"Upload failed — try again.");return}let e=await d.json();c.push(e.filename)}o.forEach(a=>URL.revokeObjectURL(a.previewUrl)),p([]),n(""),a(b,c,C)}catch{t("Upload failed — try again.")}finally{r(!1)}}else a(b,void 0,C),n("")},[m,o,c,E,a,C]),M=(0,f.useCallback)(a=>{"Enter"===a.key&&(a.metaKey||a.ctrlKey)&&(a.preventDefault(),L())},[L]),O=(0,f.useCallback)(a=>{let b=(0,N.Ou)(a);B(b),j||D(b)},[j]);return(0,d.jsxs)("div",{className:(0,i.cn)("py-5",v&&"ring-2 ring-primary ring-inset rounded-md"),onDragOver:I,onDragLeave:J,onDrop:K,children:[o.length>0&&(0,d.jsx)("div",{className:"flex gap-2 px-1 pb-2 flex-wrap",children:o.map((a,b)=>(0,d.jsxs)("div",{className:"relative group",children:[(0,d.jsx)("button",{onClick:()=>y(b),className:"size-14 shrink-0 cursor-pointer overflow-hidden rounded border hover:ring-2 hover:ring-ring",children:(0,d.jsx)("img",{src:a.previewUrl,alt:a.file.name,className:"size-full object-cover"})}),(0,d.jsx)("button",{onClick:a=>{a.stopPropagation(),G(b)},className:"absolute -top-1.5 -right-1.5 flex size-5 items-center justify-center rounded-full bg-destructive text-destructive-foreground text-xs cursor-pointer opacity-0 group-hover:opacity-100 transition-opacity",children:(0,d.jsx)(aO.A,{className:"size-3"})})]},b))}),(0,d.jsx)(aq.lG,{open:null!==x,onOpenChange:a=>!a&&y(null),children:(0,d.jsxs)(aq.Cf,{className:"max-w-3xl p-2",children:[(0,d.jsx)(aq.L3,{className:"sr-only",children:"Image preview"}),null!==x&&o[x]&&(0,d.jsx)("img",{src:o[x].previewUrl,alt:o[x].file.name,className:"w-full rounded object-contain max-h-[80vh]"})]})}),s&&(0,d.jsx)("div",{className:"px-1 pb-2 text-xs text-destructive",children:s}),(0,d.jsxs)("div",{className:"rounded-xl border bg-white shadow-[0_10px_22px_-20px_rgba(15,23,42,0.3)] transition-shadow focus-within:shadow-[0_12px_26px_-18px_rgba(15,23,42,0.34)] focus-within:ring-2 focus-within:ring-ring",children:[(0,d.jsx)("input",{ref:z,type:"file",accept:"image/png,image/jpeg,image/gif,image/webp",multiple:!0,className:"hidden",onChange:a=>{a.target.files&&F(a.target.files),a.target.value=""}}),(0,d.jsx)("textarea",{className:"w-full resize-none bg-transparent px-6 pt-4 pb-5 text-sm outline-none placeholder:text-muted-foreground",rows:2,placeholder:"Write a message... (Cmd+Enter to send)",value:m,onChange:a=>n(a.target.value),onKeyDown:M,onPaste:H,disabled:c}),(0,d.jsxs)("div",{className:"flex items-center gap-2 px-4 pb-3",children:[(0,d.jsx)(aN.Y6,{label:"Attach image",children:(0,d.jsx)(l.$,{variant:"ghost",size:"icon",onClick:()=>z.current?.click(),disabled:c||q,className:"shrink-0 cursor-pointer",children:(0,d.jsx)(aP.A,{className:"size-4"})})}),k,(0,d.jsx)("div",{className:"flex-1"}),(0,d.jsx)(aS.B,{value:C,onChange:D,disabled:c,defaultModel:A,onDefaultModelChange:O}),c?(0,d.jsx)(l.$,{variant:"outline",size:"icon",onClick:b,className:"shrink-0 cursor-pointer",children:(0,d.jsx)(aQ.A,{className:"size-4"})}):(0,d.jsx)(l.$,{size:"icon",onClick:L,disabled:!m.trim()&&0===o.length||q,className:"shrink-0 cursor-pointer",children:(0,d.jsx)(aR.A,{className:"size-4"})})]})]})]})}function aV(a){if("string"!=typeof a)return null;let b=a.trim();return!b||b.startsWith("pending-")?null:b}function aW(a){return(a||"").replace(/\[Attached image: [^\]]+\]\n*/g,"").trim()}function aX(a){if(!a)return null;let b=a.match(/-(\d{10,})$/);if(!b)return null;let c=Number(b[1]);return Number.isFinite(c)?c:null}function aY({taskSlug:a,taskTitle:b,repoId:c,status:g,onTaskUpdated:h,autoStartContext:i,autoStartModel:j,autoStartImages:k,autoImproveTitle:m=!1,prefetchedActiveChat:n}){let o=(0,e.useParams)(),p=(0,u.NK)(o),q=c||p;(0,f.useMemo)(()=>(0,u.Yg)(q),[q]),(0,f.useMemo)(()=>(0,u.jx)(q,a),[q,a]);let[r,s]=(0,f.useState)(null),[t,v]=(0,f.useState)(void 0),[w,x]=(0,f.useState)(null),[y,z]=(0,f.useState)(!1),[A,B]=(0,f.useState)(null),[P,Q]=(0,f.useState)(!1),{messages:R,isStreaming:S,wasDisconnected:T,sendMessage:U,stopAgent:V,clearSessionId:W,injectSystemMessage:X,reloadFromServer:Y,hydrateFromSnapshot:Z,sessionId:$,sessionIdRef:_,awaitingInputFromQuestion:aa}=function(a,b="chat-main",c,d){let g=(0,e.useParams)(),h=(0,u.NK)(g),i=d||h,j=(0,f.useMemo)(()=>(0,u.Yg)(i),[i]),k=(0,f.useMemo)(()=>a?(0,u.jx)(i,a):null,[i,a]),[l,m]=(0,f.useState)([]),[n,o]=(0,f.useState)(!1),[p,q]=(0,f.useState)(!1),[r,s]=(0,f.useState)(!1),t=(0,f.useRef)(null),[v,w]=(0,f.useState)(null),x=(0,f.useRef)(null);(0,f.useRef)(!1),(0,f.useRef)(b);let y=(0,f.useRef)([]);y.current=l;let z=(0,f.useRef)(null),A=(0,f.useRef)(!1),B=(0,f.useRef)(!1),H=(0,f.useCallback)(a=>{let b=K(a);t.current=b,w(b)},[]),M=(0,f.useCallback)(a=>{m(b=>J(b,a.messages)?a.messages:b),H(a.sessionId)},[H]);(0,f.useCallback)(a=>({messages:a.messages.filter(a=>"assistant"!==a.role||(a.content||"").trim().length>0||a.blocks&&a.blocks.length>0||a.toolCalls&&a.toolCalls.length>0),sessionId:K(a.sessionId)}),[]);let N=(0,f.useCallback)(()=>{if(!a)return;let c=y.current,d=t.current;if(A.current){B.current=!0;return}A.current=!0,(0,C.yd)(a,b,c,d,i).finally(()=>{A.current=!1,B.current&&(B.current=!1,N())})},[a,b,i]),O=(0,f.useCallback)(()=>{a&&(0,C.Hg)(a,b,i).then(a=>{!a||(m(b=>J(b,a.messages)?a.messages:b),a.sessionId&&H(a.sessionId))})},[a,b,H,i]),P=(0,f.useCallback)(async(c,d)=>{let{images:e,model:f}=d||{};if(!a)return;s(!1),q(!1);let g={id:`user-${Date.now()}`,role:"user",content:c,images:e?.length?e:void 0},h=c;if(e&&e.length>0){let a=e.map(a=>`[Attached image: ${a}]`).join("\n");h=`${a}
23
+
24
+ ${c}`}y.current=[...y.current,g],m(y.current);let i=`assistant-${Date.now()}`;y.current=[...y.current,{id:i,role:"assistant",content:"",blocks:[]}],m(y.current),x.current?.abort(),x.current=new AbortController;try{k&&await fetch(`${k}/status`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:"running"})})}catch{}o(!0),N();let l=!1,n=!1;try{let c=K(t.current);c!==t.current&&H(c);let d=!1;for(;;){console.log("[BG-AGENT] sendMessage:",c?`resuming session ${c}`:"starting new session");let e=await fetch(`${j}/chat`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:h,sessionId:c,taskSlug:a,storageId:b,model:f}),signal:x.current.signal});if(!e.ok){let a="Chat request failed";try{let b=await e.json();b?.code==="RUN_ALREADY_ACTIVE"?a=b.error||"A run is already active for this task. Stop it before starting another.":"string"==typeof b?.error&&b.error.trim().length>0&&(a=b.error.trim())}catch{}throw Error(a)}if(!e.body)throw Error("Chat request failed");let g=e.body.getReader(),k=new TextDecoder,o="",p=!1,r=null,t=null,u=!1,v=!1,w=function(a={}){let b=[],c=new Set,d=!1,e=!1,f=!1;return{getBlocks:()=>b,getContentText:()=>b.filter(a=>"text"===a.type).map(a=>a.text).join("\n\n"),hasInputRequestBlock:()=>f,processEvent:g=>{"assistant"===g.type&&g.message?function(g){if(G(g)&&Array.isArray(g.content))for(let h of g.content){if(!G(h)||e)continue;let g="string"==typeof h.type?h.type:"";if("text"===g){let a="string"==typeof h.text?h.text:"";if(!a)continue;if(function(a){return/api error:\s*\d{3}/i.test(a)||E.some(b=>b.test(a))}(a)){!function(a){let c=F(a),d=b[b.length-1];d&&"error"===d.type&&d.message===c.message&&d.details===c.details||b.push({type:"error",message:c.message,details:c.details})}(a),d=!1;continue}let c=b[b.length-1];d||!c||"text"!==c.type?b.push({type:"text",text:a}):c.text=a,d=!1;continue}if("tool_use"===g){let d="string"==typeof h.id?h.id:void 0;if(d&&c.has(d))continue;d&&c.add(d);let g=function(a){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return a}}(h.input),i="string"==typeof h.name&&h.name.trim().length>0?h.name:"tool",j="AskUserQuestion"===i?function(a){let b=a;if("string"==typeof b)try{b=JSON.parse(b)}catch{return null}if(!D(b)||!Array.isArray(b.questions))return null;let c=b.questions.map(a=>(function(a){if(!D(a))return null;let b="string"==typeof a.question?a.question.trim():"";if(!b)return null;let c=(Array.isArray(a.options)?a.options:[]).map(a=>(function(a){if(!D(a))return null;let b="string"==typeof a.label?a.label.trim():"";return b?{label:b,description:"string"==typeof a.description&&a.description.trim().length>0?a.description.trim():void 0}:null})(a)).filter(a=>null!==a);return{question:b,header:"string"==typeof a.header&&a.header.trim().length>0?a.header.trim():void 0,options:c,multiSelect:!0===a.multiSelect}})(a)).filter(a=>null!==a);return c.length>0?c:null}(g):null;if(j){b.push({type:"ask_question",questions:j}),f=!0,e=!0,a.onFirstQuestion?.();continue}if("ExitPlanMode"===i){let a=G(g)&&Array.isArray(g.allowedPrompts)?g.allowedPrompts:void 0;b.push({type:"plan_approval",allowedPrompts:a}),f=!0;continue}let k="string"==typeof h.input?h.input:JSON.stringify(h.input||{},null,2);b.push({type:"tool_call",name:i,input:k})}}}(g.message):"user"===g.type&&g.message?function(a){if(G(a)&&Array.isArray(a.content))for(let c of a.content){if(!G(c)||"tool_result"!==c.type)continue;let a="string"==typeof c.content?c.content:JSON.stringify(c.content||"",null,2);for(let c=b.length-1;c>=0;c--){let d=b[c];if("tool_call"===d.type&&!d.output){d.output=a.slice(0,500);break}}d=!0}}(g.message):"error"===g.type&&function(a){if(!("message"in a))return;let c="string"==typeof a.message?a.message:"Provider execution error",e="string"==typeof a.details?a.details:void 0,f=F(e??c);b.push({type:"error",message:e?c:f.message,details:e??f.details}),d=!1}(g)},resetForNewAssistantTurn:()=>{b.length=0,c.clear(),d=!1,e=!1,f=!1}}}({onFirstQuestion:()=>{if(p)return;p=!0,q(!0);let a=w.getContentText(),b=[...w.getBlocks()];z.current={id:i,content:a,blocks:b},m(c=>{let d=c.map(c=>c.id===i?{...c,content:a,blocks:b}:c);return y.current=d,d}),N(),x.current?.abort()}}),A=Date.now();for(;;){let{done:a,value:b}=await g.read();if(a)break;let d=(o+=k.decode(b,{stream:!0})).split("\n");for(let a of(o=d.pop()||"",d)){if(!a.startsWith("data: "))continue;let b=a.slice(6).trim();if("[DONE]"===b){u=!0;continue}try{let a=JSON.parse(b);v=!0,"system"===a.type&&a.session_id&&(H(a.session_id),N()),"result"===a.type&&a.session_id&&H(a.session_id),"result"===a.type&&!0===a.is_error&&(r=r||function(a){if("result"!==a.type||!0!==a.is_error)return null;let b=L(a);return b.length>0?b[0]:null}(a),t=t||function(a,b){if(!b||"result"!==a.type||!0!==a.is_error)return null;for(let c of L(a)){if(!/No conversation found with session ID:/i.test(c))continue;let a=c.match(/No conversation found with session ID:\s*([A-Za-z0-9-]+)/i);if(!a||a[1]===b)return c}return null}(a,c)),("assistant"===a.type||"user"===a.type||"error"===a.type)&&w.processEvent(a);let d=w.getContentText(),e=[...w.getBlocks()];z.current={id:i,content:d,blocks:e},m(a=>a.map(a=>a.id===i?{...a,content:d,blocks:e}:a))}catch{}}let e=Date.now();e-A>=3e3&&(A=e,N())}if(z.current=null,l=u,n=v,t&&c&&!d){d=!0,c=null,H(null),m(a=>{let b=a.map(a=>a.id===i?{...a,content:"",blocks:[]}:a);return y.current=b,b}),N();continue}if(r){let a=F(r);m(b=>{let c=b.map(b=>{if(b.id!==i)return b;let c=b.blocks||[],d=c.some(b=>"error"===b.type&&b.message===a.message&&b.details===a.details);return{...b,content:(b.content||"").trim().length>0?b.content:a.message,blocks:d?c:[...c,{type:"error",message:a.message,details:a.details}]}});return y.current=c,N(),c})}!u&&v&&s(!0),N();break}}catch(a){"AbortError"===a.name?N():(n&&!l&&s(!0),m(b=>{let c=F(a.message||"Chat request failed"),d={type:"error",message:c.message,details:c.details},e=b.map(a=>a.id===i?{...a,content:a.content||c.message,blocks:[...a.blocks||[],d]}:a);return y.current=e,N(),e}))}finally{z.current=null,o(!1),x.current=null}},[a,b,H,N,k,j]),Q=(0,f.useCallback)(()=>{x.current?.abort()},[]),R=(0,f.useCallback)(async()=>{if(!a)return;x.current?.abort();let c=t.current;if(!c)try{let d=await fetch(`${j}/chat/session?taskSlug=${encodeURIComponent(a)}&storageId=${encodeURIComponent(b)}`);if(d.ok){let a=await d.json();a.sessionId&&(c=a.sessionId)}}catch{}try{await fetch(`${j}/chat/stop`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:c,taskSlug:a,storageId:b})})}catch{k&&await fetch(`${k}/status`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:"idle"})}).catch(()=>{})}o(!1),q(!1)},[a,b,j,k]),S=(0,f.useCallback)(()=>{t.current=null,w(null),q(!1),a&&(0,C.yd)(a,b,y.current,null,i)},[a,b,i]),T=(0,f.useCallback)(a=>{let b={id:`system-${Date.now()}`,role:"system",content:a};y.current=[...y.current,b],m(y.current),N()},[N]);return{messages:l,isStreaming:n,wasDisconnected:r,sendMessage:P,stopStreaming:Q,stopAgent:R,clearChat:(0,f.useCallback)(()=>{if(x.current?.abort(),x.current=null,o(!1),q(!1),m([]),y.current=[],H(null),a){(0,C._e)(a,b,i);let c=`kanban-init-sent-${a}-${b}`;try{sessionStorage.removeItem(c)}catch{}I.delete(c),fetch(`${j}/chat/session?taskSlug=${encodeURIComponent(a)}&storageId=${encodeURIComponent(b)}`,{method:"DELETE"}).catch(()=>{})}},[a,b,H,j,i]),clearSessionId:S,injectSystemMessage:T,reloadFromServer:O,hydrateFromSnapshot:M,sessionId:v,sessionIdRef:t,awaitingInputFromQuestion:p}}(a,"chat-main",0,q),{addSession:ab,removeSession:ac,getSession:ad}=(0,M.a)(),ae=(0,f.useRef)(null),af=(0,f.useRef)(null),[ag,ah]=(0,f.useState)(!0),[ai,aj]=(0,f.useState)(!1),ak=(0,f.useRef)(h);ak.current=h,(0,f.useRef)(null),(0,f.useRef)(null);let al=(0,f.useRef)(null);(0,f.useRef)(!1);let am=S||"running"===g&&!("needs_tasting"===g||ai||aa),an=t||N.xj,ao=(0,f.useMemo)(()=>(0,N.xq)(an).provider,[an]),ap=w?.providers?.[ao],aq=!ap||ap.connected;(0,f.useMemo)(()=>(0,O.p)(b),[b]);let ar=(0,f.useCallback)(async()=>{z(!0);try{let a=await (0,C.qq)();return a&&x(a),a}finally{z(!1)}},[]),as=(0,f.useCallback)(async a=>{let b=(0,N.xq)(a).provider,c=w?.providers?.[b],d=w?.checkedAt?Date.parse(w.checkedAt):0,e=d>0&&Date.now()-d<15e3;if(c&&e)return c.connected;let f=await ar(),g=f?.providers?.[b];return!g||g.connected},[w,ar]);(0,f.useCallback)(async(a,b,c)=>{let d=aV(b),e={messages:[...R],sessionId:aV(_.current)},f=e.sessionId!==d,g=new Set(e.messages.map(a=>a.id)),h=[],i=new Map;for(let b of a){if(g.has(b.id)){let a=e.messages.findIndex(a=>a.id===b.id);-1!==a&&(0,H.B)(e.messages[a],b)&&i.set(a,b);continue}!function(a,b){if("user"!==b.role)return!1;let c=aW(b.content);if(!c)return!1;let d=aX(b.id);for(let b=a.length-1;b>=0;b--){let e=a[b];if("user"!==e.role||aW(e.content)!==c)continue;let f=aX(e.id);if(null!==d&&null!==f)return 1e4>=Math.abs(d-f);return!0}return!1}(e.messages,b)&&h.push(b)}if(i.size>0){for(let[a,b]of i)e.messages[a]=b;f=!0}if(h.length>0&&(e.messages=[...e.messages,...h],f=!0),c){let a=e.messages.findIndex(a=>a.id===c.id);-1!==a?(0,H.B)(e.messages[a],c)&&(e.messages[a]=c,f=!0):(e.messages.push(c),f=!0)}f&&Z({messages:e.messages,sessionId:d})},[R,_,Z]),(0,f.useRef)(S).current=S,(0,f.useRef)(ab).current=ab,(0,f.useRef)(!1),(0,f.useRef)(!1),(0,f.useRef)(!1);let at=(()=>{if(S||am)return!1;if(T)return!0;let a=[...R].reverse().find(a=>"system"===a.role);if(a?.content?.includes("Session restarted")){let b=R.indexOf(a);return!R.slice(b+1).some(a=>"user"===a.role)}return!1})(),au=(0,f.useCallback)(async(a,b,c)=>{let d=c||t||N.xj;await as(d)?(B(null),aj(!1),al.current||(al.current=d),U(a,{images:b,model:d})):B({id:`queued-${Date.now()}`,message:a,images:b,model:d})},[t,as,U]),av=(0,f.useCallback)(()=>{A&&(B(null),au(A.message,A.images,A.model))},[A,au]),aw=(0,f.useCallback)(a=>{t!==a&&v(a)},[t]),ax=(0,f.useCallback)(async()=>{let a=t||N.xj;await as(a)?(W(),aj(!1),U("Continue where you left off",{model:a})):B({id:`queued-${Date.now()}`,message:"Continue where you left off",model:a})},[t,as,W,U]),ay=(0,f.useCallback)(async()=>{await V(),$&&ac($),ak.current()},[V,$,ac]);return((0,f.useRef)(!1),n||0!==R.length||a)?(0,d.jsxs)("div",{className:"flex h-full flex-col overflow-hidden bg-white",children:[(0,d.jsx)("div",{ref:af,className:"flex-1 min-h-0 overflow-y-auto",children:(0,d.jsxs)("div",{className:"mx-auto flex w-full max-w-4xl flex-col gap-3 px-6 py-4 md:px-10 md:py-5",children:[0===R.length&&!am&&(0,d.jsx)("div",{className:"py-10 text-center text-xs text-muted-foreground",children:"Start a conversation."}),R.map((b,c)=>{let e=c+1<R.length&&"user"===R[c+1].role;return(0,d.jsx)(aI,{message:b,slug:a,repoId:q,showThinking:am&&"assistant"===b.role&&c===R.length-1,onQuestionAnswer:au,isQuestionAnswered:"assistant"===b.role&&e&&!!b.blocks?.some(a=>"ask_question"===a.type||"plan_approval"===a.type)},b.id)}),am&&(0===R.length||R[R.length-1]?.role!=="assistant")&&(0,d.jsx)(aI,{message:{id:"__tail-thinking__",role:"assistant",content:""},slug:a,repoId:q,showThinking:!0}),(0,d.jsx)("div",{ref:ae})]})}),(0,d.jsxs)("div",{className:"mx-auto flex w-full max-w-4xl flex-col gap-2 px-6 pt-2 pb-4 md:px-10 md:pb-6",children:[ap&&!ap.connected&&(0,d.jsxs)(aM,{variant:"warning",dot:!0,actions:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("button",{onClick:async()=>{try{await navigator.clipboard.writeText(ap.reauthCommand),Q(!0),window.setTimeout(()=>Q(!1),1500)}catch{Q(!1)}},className:"rounded-full border border-amber-200 bg-white px-3 py-1 text-xs font-medium text-amber-700 cursor-pointer hover:bg-amber-100 transition-colors",children:P?"Copied":"Reconnect"}),(0,d.jsx)("button",{onClick:()=>{ar()},disabled:y,className:"rounded-full border border-amber-200 bg-white px-3 py-1 text-xs font-medium text-amber-700 cursor-pointer hover:bg-amber-100 transition-colors disabled:opacity-60 disabled:cursor-default",children:y?"Checking...":"Check again"})]}),children:[(0,d.jsxs)("p",{children:["expired"===ap.reason?`${N.OW[ao]} authentication expired.`:`${N.OW[ao]} is disconnected.`," ","Run this command in your terminal:"]}),(0,d.jsx)("code",{className:"mt-1 inline-block rounded bg-amber-100 px-1 py-0.5 text-[11px]",children:ap.reauthCommand}),A&&(0,d.jsx)("p",{className:"mt-1 text-[11px] text-amber-700",children:"Your last message is queued."})]}),A&&aq&&(0,d.jsx)(aM,{variant:"success",dot:!0,actions:(0,d.jsx)("button",{onClick:av,className:"rounded-full border border-emerald-200 bg-white px-3 py-1 text-xs font-medium text-emerald-700 cursor-pointer hover:bg-emerald-100 transition-colors",children:"Retry now"}),children:"Reconnected. Retrying your queued message automatically."}),at&&(0,d.jsxs)(aM,{variant:"muted",centered:!0,children:[(0,d.jsx)("span",{children:"Conversation was interrupted"}),(0,d.jsxs)(l.$,{variant:"outline",size:"sm",onClick:ax,className:"ml-2 gap-1 h-7 px-3 text-xs cursor-pointer",children:[(0,d.jsx)(aK.A,{className:"size-3"}),"Resume"]})]}),(0,d.jsx)(aU,{onSend:au,onModelChange:aw,selectedModel:t,onStop:ay,isStreaming:am,slug:a,repoId:q})]})]}):(0,d.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,d.jsx)(aJ._,{size:"lg"})})}var aZ=c(82244),a$=c(83235),a_=c(15065),a0=c(35563),a1=c(13090),a2=c(22685),a3=c(12421),a4=c(21571);let a5={pending:null,in_progress:(0,d.jsx)(r.A,{className:"size-3.5 animate-spin text-orange-500"}),done:(0,d.jsx)(_.A,{className:"size-3.5 text-green-600"}),error:(0,d.jsx)(aO.A,{className:"size-3.5 text-red-500"}),warning:(0,d.jsx)(a3.A,{className:"size-3.5 text-amber-500"})};function a6({steps:a,onRetry:b,onCancel:c,cancelPending:e,onClose:f,isComplete:g,isError:h}){let j=!!(c||g||h);return(0,d.jsxs)("div",{className:"absolute right-0 top-full mt-2 z-50 w-80 rounded-lg border bg-background shadow-lg",children:[(0,d.jsxs)("div",{className:"p-4 space-y-2",children:[0===a.length&&!g&&!h&&(0,d.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,d.jsx)(r.A,{className:"size-3.5 animate-spin"}),"Starting handoff…"]}),a.map(a=>(0,d.jsxs)("div",{className:"flex items-start gap-2 text-sm",children:[(0,d.jsx)("span",{className:"mt-0.5 shrink-0 w-4",children:a5[a.status]}),(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsx)("span",{className:(0,i.cn)("error"===a.status&&"text-red-600","done"===a.status&&"text-muted-foreground"),children:a.label}),a.detail&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:a.detail})]})]},a.id)),g&&(0,d.jsxs)("div",{className:"flex items-center gap-2 text-sm font-medium text-green-600 pt-1",children:[(0,d.jsx)(a4.A,{className:"size-4"}),"Handed off!"]})]}),j&&(0,d.jsxs)("div",{className:"border-t px-4 py-2 flex gap-2",children:[c&&(0,d.jsx)(l.$,{size:"sm",variant:"outline",onClick:c,disabled:e,className:"flex-1 text-xs cursor-pointer",children:e?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(r.A,{className:"size-3.5 animate-spin mr-1"}),"Cancelling…"]}):"Cancel handoff"}),h&&b&&(0,d.jsx)(l.$,{size:"sm",variant:"outline",onClick:b,className:"flex-1 text-xs cursor-pointer",children:"Retry"}),(g||h)&&(0,d.jsx)(l.$,{size:"sm",variant:"ghost",onClick:f,className:"flex-1 text-xs cursor-pointer",children:"Close"})]})]})}let a7=(0,c(21654).F)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function a8({className:a,variant:b,...c}){return(0,d.jsx)("div",{className:(0,i.cn)(a7({variant:b}),a),...c})}var a9=c(45963);let ba={addition:"bg-green-500/10 text-green-800",deletion:"bg-red-500/10 text-red-800",hunk:"bg-blue-500/8 text-blue-600 font-medium",context:"",meta:"text-muted-foreground"},bb={addition:"bg-green-500/15 text-green-700 border-r border-green-500/20",deletion:"bg-red-500/15 text-red-700 border-r border-red-500/20",hunk:"bg-blue-500/10 border-r border-blue-500/20",context:"bg-muted/30 text-muted-foreground border-r border-border/50",meta:"bg-muted/30 border-r border-border/50"};function bc({open:a,reviewData:b,truncated:c,totalLines:e,attempt:g,onApprove:h,onCancel:i,onResolveDifferently:j,submittingAction:k,submitError:o,onCancelHandoff:q,cancelHandoffPending:s}){let[t,u]=(0,f.useState)(!0),[v,w]=(0,f.useState)(!1),[x,y]=(0,f.useState)(""),[z,A]=(0,f.useState)(new Set),B=new Set(b.conflictFiles.filter(a=>"text"===a.type).map(a=>a.path)),C=new Set(b.conflictFiles.filter(a=>"binary"===a.type).map(a=>a.path)),D=!b.fullDiff||"No diff available"===b.fullDiff,E=(0,f.useMemo)(()=>D?[]:function(a,b,c){let d=a.split("\n"),e=[],f=null,g=0,h=0;for(let a of d){let d=a.match(/^diff --git a\/(.+?) b\/(.+)$/);if(d){f&&e.push(f);let a=d[2];f={filePath:a,lines:[],additions:0,deletions:0,isConflictFile:b.has(a),isBinaryConflict:c.has(a)};continue}if(!f)continue;let i=a.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@(.*)/);if(i){g=parseInt(i[1],10),h=parseInt(i[2],10),f.lines.push({content:a,type:"hunk",oldNum:null,newNum:null});continue}if(a.startsWith("index ")||a.startsWith("--- ")||a.startsWith("+++ ")||a.startsWith("old mode")||a.startsWith("new mode")||a.startsWith("new file")||a.startsWith("deleted file")||a.startsWith("similarity index")||a.startsWith("rename from")||a.startsWith("rename to")||a.startsWith("Binary files")){f.lines.push({content:a,type:"meta",oldNum:null,newNum:null});continue}if(a.startsWith("+")){f.additions++,f.lines.push({content:a.slice(1),type:"addition",oldNum:null,newNum:h++});continue}if(a.startsWith("-")){f.deletions++,f.lines.push({content:a.slice(1),type:"deletion",oldNum:g++,newNum:null});continue}f.lines.push({content:a.startsWith(" ")?a.slice(1):a,type:"context",oldNum:g++,newNum:h++})}return f&&e.push(f),e}(b.fullDiff,B,C),[b.fullDiff,D]),F=(0,f.useMemo)(()=>b.aiExplanation?function(a){let b=[],c=null,d=a.split("\n"),e=[];for(let a of d){let c=a.match(/^\|?\s*`?([^\s|`]+\.\w+)`?\s*\|\s*(.+?)\s*\|?\s*$/);if(c){let a=c[1].split("/").pop()||c[1];b.push({fileName:a,explanation:c[2].trim()});continue}let d=a.match(/^\*\*([^\s*]+\.\w+)\*\*\s*[—:\-–]\s*(.+)$/);if(d){let a=d[1].split("/").pop()||d[1];b.push({fileName:a,explanation:d[2].trim()});continue}let f=a.match(/^[-*]\s+`?([^\s`]+\.\w+)`?\s*[—:\-–]\s*(.+)$/);if(f){let a=f[1].split("/").pop()||f[1];b.push({fileName:a,explanation:f[2].trim()});continue}a.match(/^\|?\s*[-|]+\s*\|?\s*$/)||a.match(/^\|\s*File\s*\|/i)||e.push(a)}let f=e.join("\n").trim();return f&&(c=f),{fileExplanations:b,summary:c}}(b.aiExplanation):null,[b.aiExplanation]);return(0,d.jsx)(aq.lG,{open:a,onOpenChange:()=>{},children:(0,d.jsxs)(aq.Cf,{className:"sm:max-w-4xl max-h-[85vh] flex flex-col overflow-hidden",showCloseButton:!1,onPointerDownOutside:a=>a.preventDefault(),onEscapeKeyDown:a=>a.preventDefault(),children:[(0,d.jsxs)(aq.c7,{children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(aq.L3,{children:"Review conflict resolution"}),g&&g>1&&(0,d.jsxs)(a8,{className:"bg-blue-100 text-blue-800 border-blue-300",children:["Attempt ",g]})]}),(0,d.jsxs)(aq.rr,{children:["The AI resolved ",b.conflictFiles.length," conflict",1!==b.conflictFiles.length?"s":"",". Review the changes before merging."]})]}),(0,d.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto space-y-3",children:[F&&(0,d.jsxs)("div",{className:"rounded-lg border border-indigo-200 bg-indigo-50/50 overflow-hidden",children:[(0,d.jsxs)("button",{onClick:()=>u(!t),className:"flex items-center gap-2 w-full px-3 py-2.5 bg-indigo-100/60 cursor-pointer hover:bg-indigo-100 transition-colors",children:[(0,d.jsx)(a9.A,{className:"size-4 text-indigo-600"}),(0,d.jsx)("span",{className:"text-sm font-semibold text-indigo-800",children:"How conflicts were resolved"}),t?(0,d.jsx)(m.A,{className:"size-4 ml-auto text-indigo-500"}):(0,d.jsx)(n.A,{className:"size-4 ml-auto text-indigo-500"})]}),t&&(0,d.jsxs)("div",{className:"px-3 py-3 space-y-2",children:[F.fileExplanations.map((a,b)=>(0,d.jsxs)("div",{className:"flex gap-2.5 p-2.5 rounded-md bg-white border border-border/50",children:[(0,d.jsx)(Z.A,{className:"size-4 text-amber-500 mt-0.5 shrink-0"}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"text-xs font-semibold text-foreground",children:(0,d.jsx)("code",{className:"bg-muted px-1 py-0.5 rounded text-[11px]",children:a.fileName})}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground mt-1 leading-relaxed",children:a.explanation})]})]},b)),0===F.fileExplanations.length&&b.aiExplanation&&(0,d.jsx)("div",{className:"text-xs text-foreground/80 whitespace-pre-wrap leading-relaxed",children:b.aiExplanation}),F.summary&&(0,d.jsxs)("div",{className:"flex items-start gap-2 px-2.5 py-2 rounded-md bg-green-50 border border-green-200 text-xs text-green-800 leading-relaxed",children:[(0,d.jsx)(p.A,{className:"size-3.5 mt-0.5 shrink-0"}),(0,d.jsx)("span",{children:F.summary})]})]})]}),(0,d.jsx)("div",{className:"rounded-lg border",children:D?(0,d.jsx)("div",{className:"flex items-center justify-center py-12 text-muted-foreground text-sm",children:"No changes detected"}):(0,d.jsxs)("div",{className:"divide-y divide-border",children:[E.map((a,b)=>{let c=z.has(b),e=a.filePath.split("/").pop()||a.filePath,f=a.filePath.includes("/")?a.filePath.slice(0,a.filePath.lastIndexOf("/")+1):"";return(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{onClick:()=>{A(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},className:`flex items-center gap-2 px-3 py-2 cursor-pointer sticky top-0 z-10 ${a.isConflictFile?"bg-amber-50 hover:bg-amber-100/70":"bg-muted/50 hover:bg-muted/80"} transition-colors`,children:[c?(0,d.jsx)(n.A,{className:"size-3.5 text-muted-foreground shrink-0"}):(0,d.jsx)(m.A,{className:"size-3.5 text-muted-foreground shrink-0"}),(0,d.jsx)(Z.A,{className:"size-3.5 text-muted-foreground shrink-0"}),(0,d.jsxs)("span",{className:"font-mono text-xs truncate",children:[f&&(0,d.jsx)("span",{className:"text-muted-foreground",children:f}),(0,d.jsx)("span",{className:"font-medium",children:e})]}),a.isConflictFile&&(0,d.jsx)(a8,{className:"bg-amber-100 text-amber-800 border-amber-300 text-[10px] px-1.5 py-0",children:"CONFLICT"}),a.isBinaryConflict&&(0,d.jsx)(a8,{className:"bg-red-100 text-red-800 border-red-300 text-[10px] px-1.5 py-0",children:"BINARY"}),(0,d.jsxs)("span",{className:"ml-auto flex items-center gap-1 text-xs shrink-0",children:[a.additions>0&&(0,d.jsxs)("span",{className:"text-green-600 font-medium",children:["+",a.additions]}),a.additions>0&&a.deletions>0&&(0,d.jsx)("span",{className:"text-muted-foreground",children:"\xb7"}),a.deletions>0&&(0,d.jsxs)("span",{className:"text-red-600 font-medium",children:["−",a.deletions]})]})]}),!c&&(0,d.jsx)("div",{className:"font-mono text-[11px] leading-5",children:a.lines.map((a,b)=>"meta"===a.type?null:(0,d.jsxs)("div",{className:`flex ${ba[a.type]}`,children:[(0,d.jsx)("span",{className:`w-10 shrink-0 text-right pr-2 select-none text-[10px] ${bb[a.type]}`,children:a.oldNum??""}),(0,d.jsx)("span",{className:`w-10 shrink-0 text-right pr-2 select-none text-[10px] ${bb[a.type]}`,children:a.newNum??""}),(0,d.jsx)("span",{className:"flex-1 px-2 whitespace-pre overflow-x-auto",children:"hunk"===a.type?(0,d.jsx)("span",{className:"font-medium",children:a.content}):a.content||"\xa0"})]},b))})]},b)}),c&&(0,d.jsxs)("div",{className:"px-3 py-2.5 bg-amber-50 border-t border-amber-200 text-amber-800 text-xs",children:[(0,d.jsx)(a3.A,{className:"size-3.5 inline mr-1.5 -mt-0.5"}),"Diff truncated — showing first 5,000 of"," ",e?.toLocaleString()," lines"]})]})})]}),v&&(0,d.jsxs)("div",{className:"border-t pt-3 mt-3 space-y-2 shrink-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium",children:"How should the conflicts be resolved?"}),(0,d.jsx)("textarea",{className:"w-full min-h-[80px] rounded-md border p-2 text-sm",placeholder:"Describe how you want the conflicts resolved...",value:x,onChange:a=>y(a.target.value)}),(0,d.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,d.jsx)(l.$,{variant:"outline",size:"sm",onClick:()=>w(!1),disabled:null!==k||s,className:"cursor-pointer",children:"Back"}),(0,d.jsx)(l.$,{size:"sm",onClick:()=>j(x),disabled:!x.trim()||null!==k||s,className:"bg-amber-600 hover:bg-amber-700 text-white cursor-pointer",children:"retry"===k?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(r.A,{className:"size-3.5 animate-spin mr-1"}),"Submitting…"]}):"Submit feedback"})]})]}),!v&&(0,d.jsxs)(aq.Es,{className:"shrink-0",children:[(0,d.jsxs)("div",{className:"flex w-full justify-between",children:[(0,d.jsx)(l.$,{variant:"outline",onClick:()=>w(!0),disabled:null!==k||s,className:"text-amber-700 border-amber-300 hover:bg-amber-50 cursor-pointer",children:"Resolve differently ↻"}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(l.$,{variant:"outline",onClick:i,disabled:null!==k||s,className:"cursor-pointer",children:"cancel"===k?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(r.A,{className:"size-3.5 animate-spin mr-1"}),"Cancelling…"]}):"Cancel"}),(0,d.jsx)(l.$,{onClick:h,disabled:null!==k||s,className:"bg-green-600 hover:bg-green-700 text-white cursor-pointer",children:"approve"===k?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(r.A,{className:"size-3.5 animate-spin mr-1"}),"Approving…"]}):"Approve & Merge"})]})]}),(o||q)&&(0,d.jsxs)("div",{className:"flex w-full items-center justify-between gap-2 text-xs",children:[(0,d.jsx)("span",{className:o?"text-red-600":"text-muted-foreground",children:o||"Need to abort immediately? Cancel the whole handoff."}),q&&(0,d.jsx)(l.$,{variant:"ghost",size:"sm",onClick:q,disabled:null!==k||s,className:"text-xs cursor-pointer",children:s?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(r.A,{className:"size-3.5 animate-spin mr-1"}),"Cancelling handoff…"]}):"Cancel handoff now"})]})]})]})})}var bd=c(67605),be=c(74247),bf=c(54224);function bg(){let a,b=(0,e.useParams)(),c=(0,e.useRouter)(),h=(0,e.useSearchParams)(),j=b.slug,k=(0,u.NK)(b),o=(0,f.useMemo)(()=>(0,u.Yg)(k),[k]),p=k?`/r/${encodeURIComponent(k)}/board`:"/board",q=a=>k?`/r/${encodeURIComponent(k)}/task/${encodeURIComponent(a)}`:`/task/${encodeURIComponent(a)}`,s=(0,f.useMemo)(()=>`${o}/tasks`,[o]),t=(0,f.useMemo)(()=>`${s}/${encodeURIComponent(j)}`,[s,j]),v=h.get("context"),w=h.get("model"),x="1"===h.get("autoTitle"),y=h.get("images")?.split(",").filter(Boolean)||void 0,{task:z,loading:A,fetchTask:D}=(0,g.S)(j,k),{addToast:E}=(0,bf.d)(),[F,G]=(0,f.useState)(null),H=(0,f.useCallback)(async()=>{try{let a=await fetch(`${s}/counts`),b=await a.json();return G({slugs:b.slugs,total:b.inputNeeded}),b}catch{return null}},[s]),I=(0,f.useMemo)(()=>{if(!F||0===F.total)return null;let a=F.slugs.indexOf(j);if(-1===a)return{nextSlug:F.slugs[0],total:F.total};let b=(a+1)%F.slugs.length;return{nextSlug:F.slugs[b],total:F.total}},[F,j]),J=(0,f.useCallback)(async()=>{let a=await H();if(!a||0===a.inputNeeded)return;let b=a.slugs.indexOf(j),d=-1===b?a.slugs[0]:a.slugs[(b+1)%a.slugs.length];c.push(q(d))},[H,j,c]),[K,L]=(0,f.useState)(!1),[M,O]=(0,f.useState)(!1),[P,Q]=(0,f.useState)(void 0),[R,S]=(0,f.useState)(!1),[T,U]=(0,f.useState)(!1),[V,W]=(0,f.useState)(""),[X,Y]=(0,f.useState)(null),[Z,$]=(0,f.useState)(!1),[aa,ab]=(0,f.useState)(null),[ac,ad]=(0,f.useState)(0),[ae,af]=(0,f.useState)(0),[ag,ah]=(0,f.useState)(!1),[ai,aj]=(0,f.useState)(null),[ak,al]=(0,f.useState)(!1),am=(0,f.useRef)(null),[an,ao]=(0,f.useState)(null),[ap,aq]=(0,f.useState)(null),[ar,as]=(0,f.useState)(!1),at=!z?.branch,au=(0,f.useCallback)(async(a,b)=>{let c=await fetch(`${t}/move`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({targetColumn:a,force:b})});if(c.ok){if((await c.json()).worktreeWarning){window.confirm("This task's worktree has uncommitted changes. Remove worktree anyway?")&&await au(a,!0);return}await D()}},[t,D]),av=(0,f.useCallback)(a=>{(0,C.U8)(j,a,k)},[j,k]),aw=(0,f.useCallback)(async()=>{let a=V.trim();if(!a||a===z?.title)return void U(!1);let b=await fetch(t,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:a})});if(b.ok){let a=await b.json();U(!1),a.newSlug?(av(a.newSlug),c.replace(q(a.newSlug))):await D()}},[V,z?.title,t,c,D,av]),ax=(0,f.useCallback)(async a=>{(await fetch(t,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({priority:a})})).ok&&await D()},[t,D]),ay=(0,f.useCallback)(async()=>{try{let a=await fetch(t,{method:"DELETE",signal:AbortSignal.timeout(3e4)});if(a.ok)c.push(p);else{let b=await a.json().catch(()=>null);E(b?.error??`Delete failed (${a.status})`,"error")}}catch{E("Delete request timed out — the server may be busy. Try again.","error")}},[t,j,c,p,E]),az=(0,f.useCallback)(()=>{if(!aa)return;let a=`cd "${aa}"`;navigator.clipboard.writeText(a).then(()=>{ah(!0),setTimeout(()=>ah(!1),2e3)}).catch(()=>{})},[aa]),aA=(0,f.useCallback)(()=>{am.current||(al(!0),am.current=setInterval(async()=>{try{let a=await fetch(`${t}/handoff`),b=await a.json();if("idle"===b.phase){am.current&&clearInterval(am.current),am.current=null,aj(null),al(!1),ao(null),aq(null),as(!1);return}aj(b),"completed"===b.phase?(am.current&&clearInterval(am.current),am.current=null,ao(null),aq(null),as(!1),await D(),at?(al(!1),aj(null),$(!1),ad(0),af(0)):(al(!1),c.push(p))):("error"===b.phase||"cancelled"===b.phase)&&(am.current&&clearInterval(am.current),am.current=null,ao(null),as(!1))}catch{}},1500))},[t,D,c,p,at]),aB=(0,f.useCallback)(async()=>{if(ai?.phase!=="running"&&ai?.phase!=="awaiting_review"){aj(null),ao(null),aq(null);try{let a=await fetch(`${t}/handoff`,{method:"POST"}),b=await a.json().catch(()=>({}));if(409===a.status&&b.phase&&"idle"!==b.phase){aj(b),aA();return}if(!a.ok){let a="string"==typeof b?.error?b.error:"Failed to start handoff";al(!0),aj({phase:"error",steps:[{id:"start",label:"Failed to start handoff",status:"error",detail:a}],reviewData:null,reviewTruncated:!1,reviewTotalLines:0,reviewAttempt:1,errorMessage:a,startedAt:new Date().toISOString()});return}aj(b),aA()}catch{let a="Failed to reach handoff API";al(!0),aj({phase:"error",steps:[{id:"start",label:"Failed to start handoff",status:"error",detail:a}],reviewData:null,reviewTruncated:!1,reviewTotalLines:0,reviewAttempt:1,errorMessage:a,startedAt:new Date().toISOString()})}}},[t,ai,aA]),aC=(0,f.useCallback)(async()=>{if(!ar){as(!0),aq(null);try{let a=await fetch(`${t}/handoff`,{method:"DELETE"}),b=await a.json().catch(()=>({}));if(!a.ok){let a="string"==typeof b?.error?b.error:"Failed to cancel handoff";aq(a);return}am.current&&(clearInterval(am.current),am.current=null),ao(null),al(!0),aj(a=>a?{...a,phase:"cancelled",reviewData:null}:null)}catch{aq("Failed to reach handoff cancel API")}finally{as(!1)}}},[t,ar]),aD=(0,f.useCallback)(async(a,b)=>{if(!an&&!ar){ao(a.action),aq(null);try{let c=await fetch(`${t}/handoff/review`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),d=await c.json().catch(()=>({}));if(!c.ok){let a="string"==typeof d?.error?d.error:"Failed to submit review action";aq(a);try{let a=await fetch(`${t}/handoff`),b=await a.json();b.phase&&"idle"!==b.phase&&(aj(b),aA())}catch{}return}aj(a=>a?{...a,phase:b,reviewData:null}:null)}catch{aq("Failed to reach handoff review API")}finally{ao(null)}}},[t,an,ar,aA]),aE=(0,f.useCallback)(async()=>{await aD({action:"approve"},"running")},[aD]),aF=(0,f.useCallback)(async()=>{await aD({action:"cancel"},"cancelled")},[aD]),aG=(0,f.useCallback)(async a=>{await aD({action:"retry",feedback:a},"running")},[aD]),aH=(0,f.useCallback)(()=>{al(!1),aj(null),ao(null),aq(null),setTimeout(()=>aB(),0)},[aB]);if(A||!z)return(0,d.jsx)("div",{className:"flex h-screen items-center justify-center",children:(0,d.jsx)(aJ._,{size:"lg"})});let aI=N.cZ.find(a=>a.id===z.column),aK=N.G$[z.column];return(0,d.jsxs)("div",{className:"flex h-screen flex-col",children:[(0,d.jsxs)("header",{className:"relative z-10 border-b border-border bg-background",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3 px-4 pt-3 pb-1",children:[(0,d.jsx)(aN.Y6,{label:"Back to board",children:(0,d.jsxs)(l.$,{variant:"outline",size:"sm",className:"gap-1.5",onClick:()=>c.push(p),children:[(0,d.jsx)(a$.A,{className:"size-4"}),"Board"]})}),(0,d.jsx)("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:T?(0,d.jsx)("input",{className:"w-full min-w-0 max-w-full border-b-2 border-primary bg-transparent px-0 py-0 text-sm font-medium outline-none sm:max-w-[36rem]",value:V,onChange:a=>W(a.target.value),onBlur:aw,onKeyDown:a=>{"Enter"===a.key&&aw(),"Escape"===a.key&&U(!1)},autoFocus:!0}):(0,d.jsx)("h2",{className:"w-full min-w-0 max-w-full cursor-text truncate rounded px-0.5 text-sm font-medium transition-colors hover:bg-muted/50 sm:max-w-[36rem]",onClick:()=>{W(z.title),U(!0)},children:z.title})}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[z.worktree?(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-muted py-0.5 pl-2.5 pr-1 font-mono text-xs font-medium",children:[(0,d.jsx)(a_.A,{className:"size-3 text-muted-foreground"}),(0,d.jsx)("span",{className:"max-w-44 truncate",children:z.worktree.split("/").pop()||z.branch}),aa&&(0,d.jsx)(aN.Y6,{label:ag?"Copied!":"Copy cd path",children:(0,d.jsx)("button",{onClick:az,className:"ml-0.5 shrink-0 cursor-pointer rounded-full p-1 text-muted-foreground hover:bg-background hover:text-foreground",children:ag?(0,d.jsx)(_.A,{className:"size-3 text-green-600"}):(0,d.jsx)(a0.A,{className:"size-3"})})})]}):z.defaultBranch?(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-muted py-0.5 px-2.5 font-mono text-xs font-medium text-muted-foreground",children:[(0,d.jsx)(a_.A,{className:"size-3"}),z.defaultBranch]}):null,(ac>0||ae>0)&&(0,d.jsx)(aN.Y6,{label:"Toggle git panel",children:(0,d.jsxs)(l.$,{variant:"ghost",size:"sm",className:(0,i.cn)("gap-2 font-mono text-xs tabular-nums border border-transparent hover:border-border",M&&"border-primary hover:border-primary"),onClick:()=>O(a=>!a),children:[ac>0&&(0,d.jsxs)("span",{className:"text-green-600",children:["+",ac]}),ae>0&&(0,d.jsxs)("span",{className:"text-red-600",children:["-",ae]})]})}),(0,d.jsxs)("div",{className:"relative",children:[X&&"MERGED"===X.state?(0,d.jsxs)(l.$,{variant:"outline",size:"sm",className:"gap-1.5",disabled:!0,children:[(0,d.jsx)(_.A,{className:"size-3.5 text-green-600"}),"Handed off"]}):X&&"CLOSED"===X.state?(0,d.jsxs)(l.$,{variant:"outline",size:"sm",className:"gap-1.5",disabled:!0,children:[(0,d.jsx)(aO.A,{className:"size-3.5 text-red-500"}),"PR Closed"]}):(0,d.jsx)(aN.Y6,{label:at?"Commit and push to main":"Commit, push, create PR, merge, and clean up",children:(0,d.jsxs)(l.$,{variant:"outline",size:"sm",className:(0,i.cn)("gap-1.5 cursor-pointer",Z?"border-green-200 bg-green-50 text-green-700 hover:bg-green-100":""),onClick:aB,disabled:!Z||ai?.phase==="running"||ai?.phase==="awaiting_review",children:[ai?.phase==="running"||ai?.phase==="awaiting_review"?(0,d.jsx)(r.A,{className:"size-3.5 animate-spin"}):(0,d.jsx)(a1.A,{className:"size-3.5"}),"Hands!"]})}),ak&&ai&&(0,d.jsx)(a6,{steps:ai.steps,onRetry:"error"===ai.phase?aH:void 0,onCancel:"running"===ai.phase||"awaiting_review"===ai.phase?aC:void 0,cancelPending:ar,onClose:()=>{al(!1),aj(null),ao(null),aq(null)},isComplete:"completed"===ai.phase,isError:"error"===ai.phase||"cancelled"===ai.phase}),ai?.phase==="awaiting_review"&&ai.reviewData&&(0,d.jsx)(bc,{open:!0,reviewData:ai.reviewData,truncated:ai.reviewTruncated,totalLines:ai.reviewTotalLines,attempt:ai.reviewAttempt,onApprove:aE,onCancel:aF,onResolveDifferently:aG,submittingAction:an,submitError:ap,onCancelHandoff:aC,cancelHandoffPending:ar})]}),K?(0,d.jsxs)("div",{className:"flex items-center gap-1",children:[(0,d.jsx)(l.$,{variant:"destructive",size:"sm",onClick:ay,children:"Confirm Delete"}),(0,d.jsx)(l.$,{variant:"ghost",size:"sm",onClick:()=>L(!1),children:"Cancel"})]}):(0,d.jsx)(aN.Y6,{label:"Delete task",children:(0,d.jsx)(l.$,{variant:"ghost",size:"icon",onClick:()=>L(!0),children:(0,d.jsx)(a2.A,{className:"size-4"})})})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2 px-4 pb-3 pt-1",children:[(0,d.jsxs)(aZ.rI,{children:[(0,d.jsx)(aZ.ty,{asChild:!0,children:(0,d.jsxs)("button",{className:"flex cursor-pointer items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium hover:bg-muted/50",children:[aK&&(0,d.jsx)(aK,{className:"size-3.5 text-muted-foreground"}),(0,d.jsx)("span",{children:aI?.title||z.column}),(0,d.jsx)(m.A,{className:"size-3 text-muted-foreground"})]})}),(0,d.jsx)(aZ.SQ,{align:"start",children:N.cZ.map(a=>{let b=N.G$[a.id];return(0,d.jsxs)(aZ._2,{onClick:()=>au(a.id),children:[b&&(0,d.jsx)(b,{className:"size-3.5 text-muted-foreground"}),a.title,a.id===z.column&&(0,d.jsx)(_.A,{className:"ml-auto size-3"})]},a.id)})})]}),(0,d.jsxs)(aZ.rI,{children:[(0,d.jsx)(aZ.ty,{asChild:!0,children:(0,d.jsxs)("button",{className:"flex cursor-pointer items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium hover:bg-muted/50",children:[(0,d.jsx)(bd.w,{priority:z.priority}),(0,d.jsx)("span",{children:N.fz.find(a=>a.value===z.priority)?.label??"No priority"}),(0,d.jsx)(m.A,{className:"size-3 text-muted-foreground"})]})}),(0,d.jsx)(aZ.SQ,{align:"start",children:N.fz.map(a=>(0,d.jsxs)(aZ._2,{onClick:()=>ax(a.value),className:"cursor-pointer",children:[(0,d.jsx)(bd.w,{priority:a.value}),a.label,a.value===z.priority&&(0,d.jsx)(_.A,{className:"ml-auto size-3"})]},a.value))})]}),(a=(0,N.eE)(z.status),(0,d.jsxs)("span",{className:`inline-flex items-center gap-1.5 rounded-md border px-2 py-1 text-xs font-medium ${a.pillBgClass} ${a.pillTextClass}`,children:["running"===z.status?(0,d.jsx)(be.x,{size:"sm"}):(0,d.jsx)("span",{className:`size-1.5 rounded-full ${a.dotClass}`}),a.label]})),(0,d.jsx)("div",{className:"flex-1"}),I&&(0,d.jsx)(aN.Y6,{label:"Needs tasting",children:(0,d.jsxs)(l.$,{variant:"outline",size:"sm",className:"gap-1.5",onClick:J,children:[(0,d.jsx)("span",{className:(0,i.cn)("text-[11px] font-semibold px-[7px] py-px rounded-full tabular-nums",(0,N.eE)("needs_tasting").pillBgClass,(0,N.eE)("needs_tasting").pillTextClass),children:I.total}),1===I.total?"Order needs tasting":"Orders need tasting",(0,d.jsx)(n.A,{className:"size-3.5"})]})})]})]}),(0,d.jsxs)("div",{className:"relative flex flex-1 overflow-hidden",children:[(0,d.jsx)("div",{className:"flex min-w-0 flex-1 flex-col overflow-hidden",children:R?(0,d.jsx)(aY,{taskSlug:j,taskTitle:z.title,repoId:k,status:z.status,onTaskUpdated:D,autoStartContext:v||void 0,autoStartModel:w||void 0,autoStartImages:y,autoImproveTitle:x,prefetchedActiveChat:P}):(0,d.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,d.jsx)(aJ._,{size:"lg"})})}),(0,d.jsxs)("div",{className:(0,i.cn)("absolute inset-y-0 right-0 z-20 flex w-[400px] max-w-[50vw] flex-col border-l border-border bg-background shadow-lg transition-transform duration-300 ease-in-out",M?"translate-x-0":"translate-x-full"),children:[(0,d.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,d.jsx)(a_.A,{className:"size-3.5 shrink-0 text-muted-foreground"}),(0,d.jsx)("span",{className:"truncate font-mono text-xs text-muted-foreground",children:z.branch??"main"}),z.worktree&&(0,d.jsx)("span",{className:"shrink-0 rounded bg-green-50 px-1.5 py-0.5 text-[10px] font-medium text-green-700",children:z.worktree.split("/").pop()})]}),(0,d.jsx)(l.$,{variant:"ghost",size:"icon",className:"size-7",onClick:()=>O(!1),children:(0,d.jsx)(aO.A,{className:"size-4"})})]}),M&&(0,d.jsx)(B,{slug:j,repoId:k})]})]})]})}},77826:(a,b,c)=>{c.r(b),c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/jean-charlesfabre/Documents/Brigade/kanban/src/app/(board)/task/[slug]/page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/jean-charlesfabre/Documents/Brigade/kanban/src/app/(board)/task/[slug]/page.tsx","default")}};
@@ -1 +1 @@
1
- "use strict";exports.id=3731,exports.ids=[3731],exports.modules={23731:(a,b,c)=>{c.r(b),c.d(b,{POST:()=>i,dynamic:()=>h});var d=c(45592),e=c(52362),f=c(49295),g=c(53378);let h="force-dynamic";async function i(a){let{sessionId:b,taskSlug:c}=await a.json();if(!b)return d.NextResponse.json({error:"sessionId is required"},{status:400});let h=g.a.get(b);if(h){try{h.process.kill("SIGTERM")}catch{}g.a.updateStatus(b,"idle")}return c&&((0,e.iM)(c,{status:"idle",chefName:null}),(0,f.gm)()),d.NextResponse.json({success:!0})}},49295:(a,b,c)=>{c.d(b,{$x:()=>p,gm:()=>o});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(84705),i=c(52362),j=c(80496),k=c(72199);let l=globalThis,m=l.__taskCachesByRoot||(l.__taskCachesByRoot=new Map);function n(a){let b=(0,j.aY)(a),c=m.get(b);return c||(c={data:null,valid:!1,debounceTimer:null,watchersInitialized:!1,watchers:[]},m.set(b,c)),{root:b,state:c}}function o(a){let b=a?null:(0,k.PW)(),{state:c,root:d}=n(a||b||(0,j.aY)());c.valid=!1,c.data=null,(0,i.Nl)(d)}function p(a){let{tasks:b,servedTotal:c}=function(a){let{root:b,state:c}=n(a);if(!function(a){let{state:b}=n(a);if(b.watchersInitialized)return;b.watchersInitialized=!0;for(let a of b.watchers)try{a.close()}catch{}b.watchers=[],b.watchersInitialized=!1;let c=(0,i.Vd)(a),d=[];for(let a of h.cZ){let f=g().join(c,a.directory);if(e().existsSync(f))try{let a=e().watch(f,{recursive:!0},()=>{!function(a){a.debounceTimer&&clearTimeout(a.debounceTimer),a.debounceTimer=setTimeout(()=>{a.valid=!1,a.debounceTimer=null},100)}(b)});a.on("error",()=>{}),d.push(a)}catch{}}b.watchers=d}(b),c.valid&&c.data)return c.data;let d=(0,i.oc)(b);return c.data=d,c.valid=!0,(0,i.Q1)(d.slugIndex,b),d}(a);return{tasks:b,servedTotal:c}}},53378:(a,b,c)=>{c.d(b,{U:()=>n,a:()=>o});var d=c(64557),e=c(80496),f=c(72199);let g=globalThis,h=g.__sessionRegistry||(g.__sessionRegistry=new Map),i=g.__sessionCleanupTimers||(g.__sessionCleanupTimers=new Map),j=g.__sessionAliases||(g.__sessionAliases=new Map);function k(a){if(a&&a.trim().length>0)return a.trim();let b=(0,f.dm)();if(b&&b.trim().length>0)return b.trim();let c=(0,f.PW)()||(0,e.aY)();return(0,d.$W)(c)}function l(a){let b=a,c=new Set;for(;j.has(b)&&!c.has(b);)c.add(b),b=j.get(b);return b}function m(a){for(let[b,c]of j.entries())(b===a||c===a)&&j.delete(b)}function n(a){return"string"==typeof a&&a.startsWith("pending-")}let o={register(a){let b=i.get(a.sessionId);b&&(clearTimeout(b),i.delete(a.sessionId));let c=h.get(a.sessionId);h.set(a.sessionId,{...a,repoId:k(a.repoId),provider:a.provider??c?.provider,model:a.model??c?.model,messages:c?.messages??[],status:"running",startedAt:c?.startedAt??Date.now(),completedAt:void 0})},addMessage(a,b){let c=l(a),d=h.get(c);d&&d.messages.push(b)},updateStatus(a,b){let c=l(a),d=h.get(c);if(d&&(d.status=b,"running"!==b)){d.completedAt=Date.now();let a=i.get(c);a&&clearTimeout(a);let b=setTimeout(()=>{h.delete(c),i.delete(c),m(c)},3e5);i.set(c,b)}},get:a=>h.get(l(a)),getByTask(a,b,c,d){let e,f=k(d);for(let d of h.values())d.repoId===f&&d.taskSlug===a&&d.chefSlug===b&&(void 0===c||d.storageId===c)&&(!e||"running"===d.status&&"running"!==e.status||d.startedAt>e.startedAt)&&(e=d);return e},remove(a){let b=l(a);h.delete(b);let c=i.get(b);c&&(clearTimeout(c),i.delete(b)),m(b)},removeByTask(a,b,c){let d=k(c);for(let[c,e]of h.entries())if(e.repoId===d&&e.taskSlug===a&&e.chefSlug===b){h.delete(c);let a=i.get(c);a&&(clearTimeout(a),i.delete(c)),m(c)}},alias(a,b){a&&b&&a!==b&&j.set(a,l(b))},all(a){let b=k(a);return Array.from(h.values()).filter(a=>a.repoId===b)}}}};
1
+ "use strict";exports.id=3731,exports.ids=[3731],exports.modules={23731:(a,b,c)=>{c.r(b),c.d(b,{POST:()=>i,dynamic:()=>h});var d=c(45592),e=c(61597),f=c(72199),g=c(53378);let h="force-dynamic";async function i(a){let b=await a.json().catch(()=>({})),c="string"==typeof b.sessionId?b.sessionId:void 0,h="string"==typeof b.taskSlug?b.taskSlug:void 0,i="string"==typeof b.storageId?b.storageId:void 0;if(!c&&!(h&&i))return d.NextResponse.json({error:"sessionId or (taskSlug + storageId) is required"},{status:400});let j=[];if(h&&i)for(let a of g.a.listByTask(h,i)){if(null===a.process.exitCode&&null===a.process.signalCode)try{a.process.kill("SIGTERM")}catch{}g.a.updateStatus(a.sessionId,"idle"),j.push(a.sessionId)}else if(c){let a=g.a.get(c);if(a){if(null===a.process.exitCode&&null===a.process.signalCode)try{a.process.kill("SIGTERM")}catch{}g.a.updateStatus(c,"idle"),j.push(a.sessionId)}}if(h){let a=(0,f.dm)()??"";(0,e.t)(void 0,a),(0,e.xZ)(h,"idle",a)}return d.NextResponse.json({success:!0,killedSessionIds:j,killedCount:j.length})}},53378:(a,b,c)=>{c.d(b,{U:()=>u,a:()=>v});var d=c(64557),e=c(80496),f=c(72199);let g=globalThis,h=g.__sessionRegistry||(g.__sessionRegistry=new Map),i=g.__sessionCleanupTimers||(g.__sessionCleanupTimers=new Map),j=g.__sessionAliases||(g.__sessionAliases=new Map),k=g.__sessionProvisionalWatchdogs||(g.__sessionProvisionalWatchdogs=new Map),l=g.__sessionAssistantActivityAt||(g.__sessionAssistantActivityAt=new Map),m="Run timed out before assistant output. Please retry.";function n(a){if(a&&a.trim().length>0)return a.trim();let b=(0,f.dm)();if(b&&b.trim().length>0)return b.trim();let c=(0,f.PW)()||(0,e.aY)();return(0,d.$W)(c)}function o(a){let b=a,c=new Set;for(;j.has(b)&&!c.has(b);)c.add(b),b=j.get(b);return b}function p(a){for(let[b,c]of j.entries())(b===a||c===a)&&j.delete(b)}function q(a){let b=i.get(a);b&&(clearTimeout(b),i.delete(a))}function r(a){let b=k.get(a);b&&(clearTimeout(b),k.delete(a))}function s(a){return null===a.process.exitCode&&null===a.process.signalCode}function t(a){if(r(a),!u(a))return;let b=h.get(a);if(!b||"running"!==b.status||l.has(a))return;let c=setTimeout(()=>{let b=o(a),c=h.get(b);if(c&&u(c.sessionId)&&"running"===c.status&&!(!s(c)||l.has(b))){try{c.process.kill("SIGTERM")}catch{}c.inProgressMessage=void 0,c.messages.push({id:`assistant-timeout-${Date.now()}`,role:"assistant",content:m,blocks:[{type:"error",message:m}]}),v.updateStatus(b,"error")}},9e4);k.set(a,c)}function u(a){return"string"==typeof a&&a.startsWith("pending-")}let v={register(a){q(a.sessionId);let b=h.get(a.sessionId);h.set(a.sessionId,{...a,repoId:n(a.repoId),provider:a.provider??b?.provider,model:a.model??b?.model,messages:b?.messages??[],status:"running",startedAt:b?.startedAt??Date.now(),completedAt:void 0}),t(a.sessionId)},addMessage(a,b){let c=o(a),d=h.get(c);d&&(d.messages.push(b),"assistant"===b.role&&v.markAssistantActivity(c))},markAssistantActivity(a){let b=o(a);h.has(b)&&(l.set(b,Date.now()),r(b))},updateStatus(a,b){let c=o(a),d=h.get(c);if(d){if(d.status=b,"running"!==b){r(c),q(c);let a=null!=d.process.exitCode||null!=d.process.signalCode;if("needs_tasting"===b&&!a){d.completedAt=void 0;return}d.completedAt=Date.now();let e=setTimeout(()=>{h.delete(c),q(c),r(c),l.delete(c),p(c)},3e5);i.set(c,e);return}t(c)}},get:a=>h.get(o(a)),getByTask(a,b,c){let d,e=n(c);for(let c of h.values())c.repoId===e&&c.taskSlug===a&&c.storageId===b&&(!d||"running"===c.status&&"running"!==d.status||c.startedAt>d.startedAt)&&(d=c);return d},listByTask(a,b,c){let d=n(c);return Array.from(h.values()).filter(c=>c.repoId===d&&c.taskSlug===a&&c.storageId===b).sort((a,b)=>b.startedAt-a.startedAt)},listRunningLiveByTask:(a,b,c)=>v.listByTask(a,b,c).filter(a=>"running"===a.status&&s(a)),remove(a){let b=o(a);h.delete(b),q(b),r(b),l.delete(b),p(b)},removeByTask(a,b,c){let d=n(c);for(let[c,e]of h.entries())e.repoId===d&&e.taskSlug===a&&e.storageId===b&&(h.delete(c),q(c),r(c),l.delete(c),p(c))},terminateByTaskSlug(a,b){let c=n(b),d=Array.from(h.entries()).filter(([,b])=>b.repoId===c&&b.taskSlug===a).map(([a])=>a);for(let a of d){let b=h.get(a);if(b&&null===b.process.exitCode&&null===b.process.signalCode)try{b.process.kill("SIGTERM")}catch{}h.delete(a),q(a),r(a),l.delete(a),p(a)}return d},alias(a,b){a&&b&&a!==b&&(r(a),l.delete(a),j.set(a,o(b)))},all(a){let b=n(a);return Array.from(h.values()).filter(a=>a.repoId===b)}}}};
@@ -0,0 +1,14 @@
1
+ "use strict";exports.id=4178,exports.ids=[4178],exports.modules={819:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(61213).A)("UtensilsCrossed",[["path",{d:"m16 2-2.3 2.3a3 3 0 0 0 0 4.2l1.8 1.8a3 3 0 0 0 4.2 0L22 8",key:"n7qcjb"}],["path",{d:"M15 15 3.3 3.3a4.2 4.2 0 0 0 0 6l7.3 7.3c.7.7 2 .7 2.8 0L15 15Zm0 0 7 7",key:"d0u48b"}],["path",{d:"m2.1 21.8 6.4-6.3",key:"yn04lh"}],["path",{d:"m19 5-7 7",key:"194lzd"}]])},4308:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(61213).A)("Slice",[["path",{d:"M11 16.586V19a1 1 0 0 1-1 1H2L18.37 3.63a1 1 0 1 1 3 3l-9.663 9.663a1 1 0 0 1-1.414 0L8 14",key:"1sllp5"}]])},12123:(a,b,c)=>{c.d(b,{Q:()=>e});var d=c(37096);class e{static [d.i]="ColumnBuilder";config;constructor(a,b,c){this.config={name:a,keyAsName:""===a,notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:b,columnType:c,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(a){return this.config.default=a,this.config.hasDefault=!0,this}$defaultFn(a){return this.config.defaultFn=a,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(a){return this.config.onUpdateFn=a,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(a){""===this.config.name&&(this.config.name=a)}}},20538:(a,b,c)=>{c.d(b,{n:()=>d});let d=Symbol.for("drizzle:ViewBaseConfig")},22070:(a,b,c)=>{c.d(b,{nd:()=>p});var d=c(37096),e=c(42294),f=c(67106),g=c(76534);class h extends g.o{static [d.i]="SQLiteBaseIntegerBuilder";constructor(a,b,c){super(a,b,c),this.config.autoIncrement=!1}primaryKey(a){return a?.autoIncrement&&(this.config.autoIncrement=!0),this.config.hasDefault=!0,super.primaryKey()}}class i extends g.v{static [d.i]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}}class j extends h{static [d.i]="SQLiteIntegerBuilder";constructor(a){super(a,"number","SQLiteInteger")}build(a){return new k(a,this.config)}}class k extends i{static [d.i]="SQLiteInteger"}class l extends h{static [d.i]="SQLiteTimestampBuilder";constructor(a,b){super(a,"date","SQLiteTimestamp"),this.config.mode=b}defaultNow(){return this.default((0,e.ll)`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build(a){return new m(a,this.config)}}class m extends i{static [d.i]="SQLiteTimestamp";mode=this.config.mode;mapFromDriverValue(a){return new Date("timestamp"===this.config.mode?1e3*a:a)}mapToDriverValue(a){let b=a.getTime();return"timestamp"===this.config.mode?Math.floor(b/1e3):b}}class n extends h{static [d.i]="SQLiteBooleanBuilder";constructor(a,b){super(a,"boolean","SQLiteBoolean"),this.config.mode=b}build(a){return new o(a,this.config)}}class o extends i{static [d.i]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue(a){return 1===Number(a)}mapToDriverValue(a){return+!!a}}function p(a,b){let{name:c,config:d}=(0,f.Ll)(a,b);return d?.mode==="timestamp"||d?.mode==="timestamp_ms"?new l(c,d.mode):d?.mode==="boolean"?new n(c,d.mode):new j(c)}},28933:(a,b,c)=>{c.d(b,{Qq:()=>k});var d=c(37096),e=c(67106),f=c(76534);class g extends f.o{static [d.i]="SQLiteTextBuilder";constructor(a,b){super(a,"string","SQLiteText"),this.config.enumValues=b.enum,this.config.length=b.length}build(a){return new h(a,this.config)}}class h extends f.v{static [d.i]="SQLiteText";enumValues=this.config.enumValues;length=this.config.length;constructor(a,b){super(a,b)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}}class i extends f.o{static [d.i]="SQLiteTextJsonBuilder";constructor(a){super(a,"json","SQLiteTextJson")}build(a){return new j(a,this.config)}}class j extends f.v{static [d.i]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue(a){return JSON.parse(a)}mapToDriverValue(a){return JSON.stringify(a)}}function k(a,b={}){let{name:c,config:d}=(0,e.Ll)(a,b);return"json"===d.mode?new i(c):new g(c,d)}},31059:(a,b,c)=>{c.d(b,{ie:()=>f});var d=c(37096),e=c(86953);function f(...a){return a[0].columns?new g(a[0].columns,a[0].name):new g(a)}class g{static [d.i]="SQLitePrimaryKeyBuilder";columns;name;constructor(a,b){this.columns=a,this.name=b}build(a){return new h(a,this.columns,this.name)}}class h{constructor(a,b,c){this.table=a,this.columns=b,this.name=c}static [d.i]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[e.jo.Symbol.Name]}_${this.columns.map(a=>a.name).join("_")}_pk`}}},34216:(a,b,c)=>{c.d(b,{AU:()=>m,B3:()=>B,KJ:()=>w,KL:()=>s,Pe:()=>u,RK:()=>A,RO:()=>o,RV:()=>r,Tq:()=>x,Uo:()=>k,eq:()=>i,gt:()=>n,kZ:()=>t,lt:()=>p,mj:()=>z,ne:()=>j,o8:()=>y,or:()=>l,q1:()=>C,t2:()=>v,wJ:()=>q});var d=c(76493),e=c(37096),f=c(82991),g=c(42294);function h(a,b){return!(0,g.eG)(b)||(0,g.qt)(a)||(0,e.is)(a,g.Iw)||(0,e.is)(a,g.Or)||(0,e.is)(a,d.V)||(0,e.is)(a,f.XI)||(0,e.is)(a,g.Ss)?a:new g.Iw(a,b)}let i=(a,b)=>(0,g.ll)`${a} = ${h(b,a)}`,j=(a,b)=>(0,g.ll)`${a} <> ${h(b,a)}`;function k(...a){let b=a.filter(a=>void 0!==a);if(0!==b.length)return new g.Xs(1===b.length?b:[new g.DJ("("),g.ll.join(b,new g.DJ(" and ")),new g.DJ(")")])}function l(...a){let b=a.filter(a=>void 0!==a);if(0!==b.length)return new g.Xs(1===b.length?b:[new g.DJ("("),g.ll.join(b,new g.DJ(" or ")),new g.DJ(")")])}function m(a){return(0,g.ll)`not ${a}`}let n=(a,b)=>(0,g.ll)`${a} > ${h(b,a)}`,o=(a,b)=>(0,g.ll)`${a} >= ${h(b,a)}`,p=(a,b)=>(0,g.ll)`${a} < ${h(b,a)}`,q=(a,b)=>(0,g.ll)`${a} <= ${h(b,a)}`;function r(a,b){return Array.isArray(b)?0===b.length?(0,g.ll)`false`:(0,g.ll)`${a} in ${b.map(b=>h(b,a))}`:(0,g.ll)`${a} in ${h(b,a)}`}function s(a,b){return Array.isArray(b)?0===b.length?(0,g.ll)`true`:(0,g.ll)`${a} not in ${b.map(b=>h(b,a))}`:(0,g.ll)`${a} not in ${h(b,a)}`}function t(a){return(0,g.ll)`${a} is null`}function u(a){return(0,g.ll)`${a} is not null`}function v(a){return(0,g.ll)`exists ${a}`}function w(a){return(0,g.ll)`not exists ${a}`}function x(a,b,c){return(0,g.ll)`${a} between ${h(b,a)} and ${h(c,a)}`}function y(a,b,c){return(0,g.ll)`${a} not between ${h(b,a)} and ${h(c,a)}`}function z(a,b){return(0,g.ll)`${a} like ${b}`}function A(a,b){return(0,g.ll)`${a} not like ${b}`}function B(a,b){return(0,g.ll)`${a} ilike ${b}`}function C(a,b){return(0,g.ll)`${a} not ilike ${b}`}},35637:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(61213).A)("Flame",[["path",{d:"M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z",key:"96xj49"}]])},37096:(a,b,c)=>{c.d(b,{i:()=>d,is:()=>e});let d=Symbol.for("drizzle:entityKind");function e(a,b){if(!a||"object"!=typeof a)return!1;if(a instanceof b)return!0;if(!Object.prototype.hasOwnProperty.call(b,d))throw Error(`Class "${b.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let c=Object.getPrototypeOf(a).constructor;if(c)for(;c;){if(d in c&&c[d]===b[d])return!0;c=Object.getPrototypeOf(c)}return!1}Symbol.for("drizzle:hasOwnEntityKind")},42294:(a,b,c)=>{let d,e;c.d(b,{Iw:()=>P,Or:()=>T,Xs:()=>K,DJ:()=>J,Ss:()=>W,Ct:()=>U,eG:()=>M,qt:()=>I,ll:()=>Q});var f,g=c(37096),h=c(12123),i=c(76493),j=c(88600);class k{static [g.i]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(a,b){this.reference=()=>{let{name:b,columns:c,foreignColumns:d}=a();return{name:b,columns:c,foreignTable:d[0].table,foreignColumns:d}},b&&(this._onUpdate=b.onUpdate,this._onDelete=b.onDelete)}onUpdate(a){return this._onUpdate=void 0===a?"no action":a,this}onDelete(a){return this._onDelete=void 0===a?"no action":a,this}build(a){return new l(a,this)}}class l{constructor(a,b){this.table=a,this.reference=b.reference,this.onUpdate=b._onUpdate,this.onDelete=b._onDelete}static [g.i]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:a,columns:b,foreignColumns:c}=this.reference(),d=b.map(a=>a.name),e=c.map(a=>a.name),f=[this.table[j.E],...d,c[0].table[j.E],...e];return a??`${f.join("_")}_fk`}}function m(a,...b){return a(...b)}function n(a,b){return`${a[j.E]}_${b.join("_")}_unique`}class o{constructor(a,b){this.name=b,this.columns=a}static [g.i]=null;columns;nullsNotDistinctConfig=!1;nullsNotDistinct(){return this.nullsNotDistinctConfig=!0,this}build(a){return new q(a,this.columns,this.nullsNotDistinctConfig,this.name)}}class p{static [g.i]=null;name;constructor(a){this.name=a}on(...a){return new o(a,this.name)}}class q{constructor(a,b,c,d){this.table=a,this.columns=b,this.name=d??n(this.table,this.columns.map(a=>a.name)),this.nullsNotDistinct=c}static [g.i]=null;columns;name;nullsNotDistinct=!1;getName(){return this.name}}function r(a,b,c){for(let d=b;d<a.length;d++){let e=a[d];if("\\"===e){d++;continue}if('"'===e)return[a.slice(b,d).replace(/\\/g,""),d+1];if(!c&&(","===e||"}"===e))return[a.slice(b,d).replace(/\\/g,""),d]}return[a.slice(b).replace(/\\/g,""),a.length]}class s extends h.Q{foreignKeyConfigs=[];static [g.i]="PgColumnBuilder";array(a){return new w(this.config.name,this,a)}references(a,b={}){return this.foreignKeyConfigs.push({ref:a,actions:b}),this}unique(a,b){return this.config.isUnique=!0,this.config.uniqueName=a,this.config.uniqueType=b?.nulls,this}generatedAlwaysAs(a){return this.config.generated={as:a,type:"always",mode:"stored"},this}buildForeignKeys(a,b){return this.foreignKeyConfigs.map(({ref:c,actions:d})=>m((c,d)=>{let e=new k(()=>({columns:[a],foreignColumns:[c()]}));return d.onUpdate&&e.onUpdate(d.onUpdate),d.onDelete&&e.onDelete(d.onDelete),e.build(b)},c,d))}buildExtraConfigColumn(a){return new u(a,this.config)}}class t extends i.V{constructor(a,b){b.uniqueName||(b.uniqueName=n(a,[b.name])),super(a,b),this.table=a}static [g.i]="PgColumn"}class u extends t{static [g.i]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(a){return this.indexConfig.opClass=a,this}}class v{static [g.i]=null;constructor(a,b,c,d){this.name=a,this.keyAsName=b,this.type=c,this.indexConfig=d}name;keyAsName;type;indexConfig}class w extends s{static [g.i]="PgArrayBuilder";constructor(a,b,c){super(a,"array","PgArray"),this.config.baseBuilder=b,this.config.size=c}build(a){let b=this.config.baseBuilder.build(a);return new x(a,this.config,b)}}class x extends t{constructor(a,b,c,d){super(a,b),this.baseColumn=c,this.range=d,this.size=b.size}size;static [g.i]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${"number"==typeof this.size?this.size:""}]`}mapFromDriverValue(a){return"string"==typeof a&&(a=function(a){let[b]=function a(b,c=0){let d=[],e=c,f=!1;for(;e<b.length;){let g=b[e];if(","===g){(f||e===c)&&d.push(""),f=!0,e++;continue}if(f=!1,"\\"===g){e+=2;continue}if('"'===g){let[a,c]=r(b,e+1,!0);d.push(a),e=c;continue}if("}"===g)return[d,e+1];if("{"===g){let[c,f]=a(b,e+1);d.push(c),e=f;continue}let[h,i]=r(b,e,!1);d.push(h),e=i}return[d,e]}(a,1);return b}(a)),a.map(a=>this.baseColumn.mapFromDriverValue(a))}mapToDriverValue(a,b=!1){let c=a.map(a=>null===a?null:(0,g.is)(this.baseColumn,x)?this.baseColumn.mapToDriverValue(a,!0):this.baseColumn.mapToDriverValue(a));return b?c:function a(b){return`{${b.map(b=>Array.isArray(b)?a(b):"string"==typeof b?`"${b.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:`${b}`).join(",")}}`}(c)}}class y extends s{static [g.i]="PgEnumObjectColumnBuilder";constructor(a,b){super(a,"string","PgEnumObjectColumn"),this.config.enum=b}build(a){return new z(a,this.config)}}class z extends t{static [g.i]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(a,b){super(a,b),this.enum=b.enum}getSQLType(){return this.enum.enumName}}let A=Symbol.for("drizzle:isPgEnum");class B extends s{static [g.i]="PgEnumColumnBuilder";constructor(a,b){super(a,"string","PgEnumColumn"),this.config.enum=b}build(a){return new C(a,this.config)}}class C extends t{static [g.i]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(a,b){super(a,b),this.enum=b.enum}getSQLType(){return this.enum.enumName}}var D=c(65089);let E=(a,b)=>d?(e||(e=d.trace.getTracer("drizzle-orm","0.45.1")),m((c,d)=>d.startActiveSpan(a,a=>{try{return b(a)}catch(b){throw a.setStatus({code:c.SpanStatusCode.ERROR,message:b instanceof Error?b.message:"Unknown error"}),b}finally{a.end()}}),d,e)):b();var F=c(20538),G=c(82991);class H{static [g.i]=null}function I(a){return null!=a&&"function"==typeof a.getSQL}class J{static [g.i]="StringChunk";value;constructor(a){this.value=Array.isArray(a)?a:[a]}getSQL(){return new K([this])}}class K{constructor(a){for(const b of(this.queryChunks=a,a))if((0,g.is)(b,G.XI)){const a=b[G.XI.Symbol.Schema];this.usedTables.push(void 0===a?b[G.XI.Symbol.Name]:a+"."+b[G.XI.Symbol.Name])}}static [g.i]="SQL";decoder=N;shouldInlineParams=!1;usedTables=[];append(a){return this.queryChunks.push(...a.queryChunks),this}toQuery(a){return E("drizzle.buildSQL",b=>{let c=this.buildQueryFromSourceParams(this.queryChunks,a);return b?.setAttributes({"drizzle.query.text":c.sql,"drizzle.query.params":JSON.stringify(c.params)}),c})}buildQueryFromSourceParams(a,b){let c=Object.assign({},b,{inlineParams:b.inlineParams||this.shouldInlineParams,paramStartIndex:b.paramStartIndex||{value:0}}),{casing:d,escapeName:e,escapeParam:f,prepareTyping:h,inlineParams:j,paramStartIndex:k}=c;var l=a.map(a=>{if((0,g.is)(a,J))return{sql:a.value.join(""),params:[]};if((0,g.is)(a,L))return{sql:e(a.value),params:[]};if(void 0===a)return{sql:"",params:[]};if(Array.isArray(a)){let b=[new J("(")];for(let[c,d]of a.entries())b.push(d),c<a.length-1&&b.push(new J(", "));return b.push(new J(")")),this.buildQueryFromSourceParams(b,c)}if((0,g.is)(a,K))return this.buildQueryFromSourceParams(a.queryChunks,{...c,inlineParams:j||a.shouldInlineParams});if((0,g.is)(a,G.XI)){let b=a[G.XI.Symbol.Schema],c=a[G.XI.Symbol.Name];return{sql:void 0===b||a[G.HE]?e(c):e(b)+"."+e(c),params:[]}}if((0,g.is)(a,i.V)){let c=d.getColumnCasing(a);if("indexes"===b.invokeSource)return{sql:e(c),params:[]};let f=a.table[G.XI.Symbol.Schema];return{sql:a.table[G.HE]||void 0===f?e(a.table[G.XI.Symbol.Name])+"."+e(c):e(f)+"."+e(a.table[G.XI.Symbol.Name])+"."+e(c),params:[]}}if((0,g.is)(a,W)){let b=a[F.n].schema,c=a[F.n].name;return{sql:void 0===b||a[F.n].isAlias?e(c):e(b)+"."+e(c),params:[]}}if((0,g.is)(a,P)){if((0,g.is)(a.value,T))return{sql:f(k.value++,a),params:[a],typings:["none"]};let b=null===a.value?null:a.encoder.mapToDriverValue(a.value);if((0,g.is)(b,K))return this.buildQueryFromSourceParams([b],c);if(j)return{sql:this.mapInlineParam(b,c),params:[]};let d=["none"];return h&&(d=[h(a.encoder)]),{sql:f(k.value++,b),params:[b],typings:d}}return(0,g.is)(a,T)?{sql:f(k.value++,a),params:[a],typings:["none"]}:(0,g.is)(a,K.Aliased)&&void 0!==a.fieldAlias?{sql:e(a.fieldAlias),params:[]}:(0,g.is)(a,D.n)?a._.isWith?{sql:e(a._.alias),params:[]}:this.buildQueryFromSourceParams([new J("("),a._.sql,new J(") "),new L(a._.alias)],c):a&&"function"==typeof a&&A in a&&!0===a[A]?a.schema?{sql:e(a.schema)+"."+e(a.enumName),params:[]}:{sql:e(a.enumName),params:[]}:I(a)?a.shouldOmitSQLParens?.()?this.buildQueryFromSourceParams([a.getSQL()],c):this.buildQueryFromSourceParams([new J("("),a.getSQL(),new J(")")],c):j?{sql:this.mapInlineParam(a,c),params:[]}:{sql:f(k.value++,a),params:[a],typings:["none"]}});let m={sql:"",params:[]};for(let a of l)m.sql+=a.sql,m.params.push(...a.params),a.typings?.length&&(m.typings||(m.typings=[]),m.typings.push(...a.typings));return m}mapInlineParam(a,{escapeString:b}){if(null===a)return"null";if("number"==typeof a||"boolean"==typeof a)return a.toString();if("string"==typeof a)return b(a);if("object"==typeof a){let c=a.toString();return"[object Object]"===c?b(JSON.stringify(a)):b(c)}throw Error("Unexpected param value: "+a)}getSQL(){return this}as(a){return void 0===a?this:new K.Aliased(this,a)}mapWith(a){return this.decoder="function"==typeof a?{mapFromDriverValue:a}:a,this}inlineParams(){return this.shouldInlineParams=!0,this}if(a){return a?this:void 0}}class L{constructor(a){this.value=a}static [g.i]="Name";brand;getSQL(){return new K([this])}}function M(a){return"object"==typeof a&&null!==a&&"mapToDriverValue"in a&&"function"==typeof a.mapToDriverValue}let N={mapFromDriverValue:a=>a},O={mapToDriverValue:a=>a};({...N,...O});class P{constructor(a,b=O){this.value=a,this.encoder=b}static [g.i]="Param";brand;getSQL(){return new K([this])}}function Q(a,...b){let c=[];for(let[d,e]of((b.length>0||a.length>0&&""!==a[0])&&c.push(new J(a[0])),b.entries()))c.push(e,new J(a[d+1]));return new K(c)}(f=Q||(Q={})).empty=function(){return new K([])},f.fromList=function(a){return new K(a)},f.raw=function(a){return new K([new J(a)])},f.join=function(a,b){let c=[];for(let[d,e]of a.entries())d>0&&void 0!==b&&c.push(b),c.push(e);return new K(c)},f.identifier=function(a){return new L(a)},f.placeholder=function(a){return new T(a)},f.param=function(a,b){return new P(a,b)};var R=K||(K={});class S{constructor(a,b){this.sql=a,this.fieldAlias=b}static [g.i]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new S(this.sql,this.fieldAlias)}}R.Aliased=S;class T{constructor(a){this.name=a}static [g.i]="Placeholder";getSQL(){return new K([this])}}function U(a,b){return a.map(a=>{if((0,g.is)(a,T)){if(!(a.name in b))throw Error(`No value for placeholder "${a.name}" was provided`);return b[a.name]}if((0,g.is)(a,P)&&(0,g.is)(a.value,T)){if(!(a.value.name in b))throw Error(`No value for placeholder "${a.value.name}" was provided`);return a.encoder.mapToDriverValue(b[a.value.name])}return a})}let V=Symbol.for("drizzle:IsDrizzleView");class W{static [g.i]="View";[F.n];[V]=!0;constructor({name:a,schema:b,selectedFields:c,query:d}){this[F.n]={name:a,originalName:a,schema:b,selectedFields:c,query:d,isExisting:!d,isAlias:!1}}getSQL(){return new K([this])}}i.V.prototype.getSQL=function(){return new K([this])},G.XI.prototype.getSQL=function(){return new K([this])},D.n.prototype.getSQL=function(){return new K([this])}},45534:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(61213).A)("Refrigerator",[["path",{d:"M5 6a4 4 0 0 1 4-4h6a4 4 0 0 1 4 4v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6Z",key:"fpq118"}],["path",{d:"M5 10h14",key:"elsbfy"}],["path",{d:"M15 7v6",key:"1nx30x"}]])},61213:(a,b,c)=>{c.d(b,{A:()=>h});var d=c(91986);let e=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim();var f={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let g=(0,d.forwardRef)(({color:a="currentColor",size:b=24,strokeWidth:c=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,d.createElement)("svg",{ref:l,...f,width:b,height:b,stroke:a,strokeWidth:g?24*Number(c)/Number(b):c,className:e("lucide",h),...k},[...j.map(([a,b])=>(0,d.createElement)(a,b)),...Array.isArray(i)?i:[i]])),h=(a,b)=>{let c=(0,d.forwardRef)(({className:c,...f},h)=>(0,d.createElement)(g,{ref:h,iconNode:b,className:e(`lucide-${a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,c),...f}));return c.displayName=`${a}`,c}},65089:(a,b,c)=>{c.d(b,{J:()=>f,n:()=>e});var d=c(37096);class e{static [d.i]="Subquery";constructor(a,b,c,d=!1,e=[]){this._={brand:"Subquery",sql:a,selectedFields:b,alias:c,isWith:d,usedTables:e}}}class f extends e{static [d.i]="WithSubquery"}},67106:(a,b,c)=>{c.d(b,{DV:()=>k,He:()=>function a(b,c){return Object.entries(b).reduce((b,[i,j])=>{if("string"!=typeof i)return b;let k=c?[...c,i]:[i];return(0,e.is)(j,d.V)||(0,e.is)(j,f.Xs)||(0,e.is)(j,f.Xs.Aliased)||(0,e.is)(j,g.n)?b.push({path:k,field:j}):(0,e.is)(j,h.XI)?b.push(...a(j[h.XI.Symbol.Columns],k)):b.push(...a(j,k)),b},[])},Ll:()=>p,Lq:()=>q,XJ:()=>m,YD:()=>n,a6:()=>j,q:()=>l,su:()=>r,zN:()=>o});var d=c(76493),e=c(37096),f=c(42294),g=c(65089),h=c(82991),i=c(20538);function j(a,b,c){let i={},j=a.reduce((a,{path:j,field:k},l)=>{let m;m=(0,e.is)(k,d.V)?k:(0,e.is)(k,f.Xs)?k.decoder:(0,e.is)(k,g.n)?k._.sql.decoder:k.sql.decoder;let n=a;for(let[a,f]of j.entries())if(a<j.length-1)f in n||(n[f]={}),n=n[f];else{let a=b[l],g=n[f]=null===a?null:m.mapFromDriverValue(a);if(c&&(0,e.is)(k,d.V)&&2===j.length){let a=j[0];a in i?"string"==typeof i[a]&&i[a]!==(0,h.Io)(k.table)&&(i[a]=!1):i[a]=null===g&&(0,h.Io)(k.table)}}return a},{});if(c&&Object.keys(i).length>0)for(let[a,b]of Object.entries(i))"string"!=typeof b||c[b]||(j[a]=null);return j}function k(a,b){let c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(let[a,b]of c.entries())if(b!==d[a])return!1;return!0}function l(a,b){let c=Object.entries(b).filter(([,a])=>void 0!==a).map(([b,c])=>(0,e.is)(c,f.Xs)||(0,e.is)(c,d.V)?[b,c]:[b,new f.Iw(c,a[h.XI.Symbol.Columns][b])]);if(0===c.length)throw Error("No values to set");return Object.fromEntries(c)}function m(a,b){for(let c of b)for(let b of Object.getOwnPropertyNames(c.prototype))"constructor"!==b&&Object.defineProperty(a.prototype,b,Object.getOwnPropertyDescriptor(c.prototype,b)||Object.create(null))}function n(a){return a[h.XI.Symbol.Columns]}function o(a){return(0,e.is)(a,g.n)?a._.alias:(0,e.is)(a,f.Ss)?a[i.n].name:(0,e.is)(a,f.Xs)?void 0:a[h.XI.Symbol.IsAlias]?a[h.XI.Symbol.Name]:a[h.XI.Symbol.BaseName]}function p(a,b){return{name:"string"==typeof a&&a.length>0?a:"",config:"object"==typeof a?a:b}}function q(a){if("object"!=typeof a||null===a||"Object"!==a.constructor.name)return!1;if("logger"in a){let b=typeof a.logger;return"boolean"===b||"object"===b&&"function"==typeof a.logger.logQuery||"undefined"===b}if("schema"in a){let b=typeof a.schema;return"object"===b||"undefined"===b}if("casing"in a){let b=typeof a.casing;return"string"===b||"undefined"===b}if("mode"in a)return"default"===a.mode&&"planetscale"===a.mode&&void 0===a.mode;if("connection"in a){let b=typeof a.connection;return"string"===b||"object"===b||"undefined"===b}if("client"in a){let b=typeof a.client;return"object"===b||"function"===b||"undefined"===b}return 0===Object.keys(a).length}let r="u"<typeof TextDecoder?null:new TextDecoder},76493:(a,b,c)=>{c.d(b,{V:()=>e});var d=c(37096);class e{constructor(a,b){this.table=a,this.config=b,this.name=b.name,this.keyAsName=b.keyAsName,this.notNull=b.notNull,this.default=b.default,this.defaultFn=b.defaultFn,this.onUpdateFn=b.onUpdateFn,this.hasDefault=b.hasDefault,this.primary=b.primaryKey,this.isUnique=b.isUnique,this.uniqueName=b.uniqueName,this.uniqueType=b.uniqueType,this.dataType=b.dataType,this.columnType=b.columnType,this.generated=b.generated,this.generatedIdentity=b.generatedIdentity}static [d.i]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(a){return a}mapToDriverValue(a){return a}shouldDisableInsert(){return void 0!==this.config.generated&&"byDefault"!==this.config.generated.type}}},76534:(a,b,c)=>{c.d(b,{v:()=>o,o:()=>n});var d=c(12123),e=c(76493),f=c(37096),g=c(88600);class h{static [f.i]="SQLiteForeignKeyBuilder";reference;_onUpdate;_onDelete;constructor(a,b){this.reference=()=>{let{name:b,columns:c,foreignColumns:d}=a();return{name:b,columns:c,foreignTable:d[0].table,foreignColumns:d}},b&&(this._onUpdate=b.onUpdate,this._onDelete=b.onDelete)}onUpdate(a){return this._onUpdate=a,this}onDelete(a){return this._onDelete=a,this}build(a){return new i(a,this)}}class i{constructor(a,b){this.table=a,this.reference=b.reference,this.onUpdate=b._onUpdate,this.onDelete=b._onDelete}static [f.i]="SQLiteForeignKey";reference;onUpdate;onDelete;getName(){let{name:a,columns:b,foreignColumns:c}=this.reference(),d=b.map(a=>a.name),e=c.map(a=>a.name),f=[this.table[g.E],...d,c[0].table[g.E],...e];return a??`${f.join("_")}_fk`}}function j(a,b){return`${a[g.E]}_${b.join("_")}_unique`}class k{constructor(a,b){this.name=b,this.columns=a}static [f.i]=null;columns;build(a){return new m(a,this.columns,this.name)}}class l{static [f.i]=null;name;constructor(a){this.name=a}on(...a){return new k(a,this.name)}}class m{constructor(a,b,c){this.table=a,this.columns=b,this.name=c??j(this.table,this.columns.map(a=>a.name))}static [f.i]=null;columns;name;getName(){return this.name}}class n extends d.Q{static [f.i]="SQLiteColumnBuilder";foreignKeyConfigs=[];references(a,b={}){return this.foreignKeyConfigs.push({ref:a,actions:b}),this}unique(a){return this.config.isUnique=!0,this.config.uniqueName=a,this}generatedAlwaysAs(a,b){return this.config.generated={as:a,type:"always",mode:b?.mode??"virtual"},this}buildForeignKeys(a,b){return this.foreignKeyConfigs.map(({ref:c,actions:d})=>{let e;return e=new h(()=>({columns:[a],foreignColumns:[c()]})),d.onUpdate&&e.onUpdate(d.onUpdate),d.onDelete&&e.onDelete(d.onDelete),e.build(b)})}}class o extends e.V{constructor(a,b){b.uniqueName||(b.uniqueName=j(a,[b.name])),super(a,b),this.table=a}static [f.i]="SQLiteColumn"}},81863:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(61213).A)("ConciergeBell",[["path",{d:"M3 20a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1Z",key:"1pvr1r"}],["path",{d:"M20 16a8 8 0 1 0-16 0",key:"1pa543"}],["path",{d:"M12 4v4",key:"1bq03y"}],["path",{d:"M10 4h4",key:"1xpv9s"}]])},82991:(a,b,c)=>{c.d(b,{HE:()=>k,Io:()=>o,Lf:()=>p,XI:()=>n,e:()=>g});var d=c(37096),e=c(88600);let f=Symbol.for("drizzle:Schema"),g=Symbol.for("drizzle:Columns"),h=Symbol.for("drizzle:ExtraConfigColumns"),i=Symbol.for("drizzle:OriginalName"),j=Symbol.for("drizzle:BaseName"),k=Symbol.for("drizzle:IsAlias"),l=Symbol.for("drizzle:ExtraConfigBuilder"),m=Symbol.for("drizzle:IsDrizzleTable");class n{static [d.i]="Table";static Symbol={Name:e.E,Schema:f,OriginalName:i,Columns:g,ExtraConfigColumns:h,BaseName:j,IsAlias:k,ExtraConfigBuilder:l};[e.E];[i];[f];[g];[h];[j];[k]=!1;[m]=!0;[l]=void 0;constructor(a,b,c){this[e.E]=this[i]=a,this[f]=b,this[j]=c}}function o(a){return a[e.E]}function p(a){return`${a[f]??"public"}.${a[e.E]}`}},86953:(a,b,c)=>{c.d(b,{jo:()=>E,D:()=>F});var d=c(37096),e=c(82991),f=c(67106),g=c(76534);class h extends g.o{static [d.i]="SQLiteBigIntBuilder";constructor(a){super(a,"bigint","SQLiteBigInt")}build(a){return new i(a,this.config)}}class i extends g.v{static [d.i]="SQLiteBigInt";getSQLType(){return"blob"}mapFromDriverValue(a){return"u">typeof Buffer&&Buffer.from?BigInt((Buffer.isBuffer(a)?a:a instanceof ArrayBuffer?Buffer.from(a):a.buffer?Buffer.from(a.buffer,a.byteOffset,a.byteLength):Buffer.from(a)).toString("utf8")):BigInt(f.su.decode(a))}mapToDriverValue(a){return Buffer.from(a.toString())}}class j extends g.o{static [d.i]="SQLiteBlobJsonBuilder";constructor(a){super(a,"json","SQLiteBlobJson")}build(a){return new k(a,this.config)}}class k extends g.v{static [d.i]="SQLiteBlobJson";getSQLType(){return"blob"}mapFromDriverValue(a){return"u">typeof Buffer&&Buffer.from?JSON.parse((Buffer.isBuffer(a)?a:a instanceof ArrayBuffer?Buffer.from(a):a.buffer?Buffer.from(a.buffer,a.byteOffset,a.byteLength):Buffer.from(a)).toString("utf8")):JSON.parse(f.su.decode(a))}mapToDriverValue(a){return Buffer.from(JSON.stringify(a))}}class l extends g.o{static [d.i]="SQLiteBlobBufferBuilder";constructor(a){super(a,"buffer","SQLiteBlobBuffer")}build(a){return new m(a,this.config)}}class m extends g.v{static [d.i]="SQLiteBlobBuffer";mapFromDriverValue(a){return Buffer.isBuffer(a)?a:Buffer.from(a)}getSQLType(){return"blob"}}function n(a,b){let{name:c,config:d}=(0,f.Ll)(a,b);return d?.mode==="json"?new j(c):d?.mode==="bigint"?new h(c):new l(c)}class o extends g.o{static [d.i]="SQLiteCustomColumnBuilder";constructor(a,b,c){super(a,"custom","SQLiteCustomColumn"),this.config.fieldConfig=b,this.config.customTypeParams=c}build(a){return new p(a,this.config)}}class p extends g.v{static [d.i]="SQLiteCustomColumn";sqlName;mapTo;mapFrom;constructor(a,b){super(a,b),this.sqlName=b.customTypeParams.dataType(b.fieldConfig),this.mapTo=b.customTypeParams.toDriver,this.mapFrom=b.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(a){return"function"==typeof this.mapFrom?this.mapFrom(a):a}mapToDriverValue(a){return"function"==typeof this.mapTo?this.mapTo(a):a}}function q(a){return(b,c)=>{let{name:d,config:e}=(0,f.Ll)(b,c);return new o(d,e,a)}}var r=c(22070);class s extends g.o{static [d.i]="SQLiteNumericBuilder";constructor(a){super(a,"string","SQLiteNumeric")}build(a){return new t(a,this.config)}}class t extends g.v{static [d.i]="SQLiteNumeric";mapFromDriverValue(a){return"string"==typeof a?a:String(a)}getSQLType(){return"numeric"}}class u extends g.o{static [d.i]="SQLiteNumericNumberBuilder";constructor(a){super(a,"number","SQLiteNumericNumber")}build(a){return new v(a,this.config)}}class v extends g.v{static [d.i]="SQLiteNumericNumber";mapFromDriverValue(a){return"number"==typeof a?a:Number(a)}mapToDriverValue=String;getSQLType(){return"numeric"}}class w extends g.o{static [d.i]="SQLiteNumericBigIntBuilder";constructor(a){super(a,"bigint","SQLiteNumericBigInt")}build(a){return new x(a,this.config)}}class x extends g.v{static [d.i]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}function y(a,b){let{name:c,config:d}=(0,f.Ll)(a,b),e=d?.mode;return"number"===e?new u(c):"bigint"===e?new w(c):new s(c)}class z extends g.o{static [d.i]="SQLiteRealBuilder";constructor(a){super(a,"number","SQLiteReal")}build(a){return new A(a,this.config)}}class A extends g.v{static [d.i]="SQLiteReal";getSQLType(){return"real"}}function B(a){return new z(a??"")}var C=c(28933);let D=Symbol.for("drizzle:SQLiteInlineForeignKeys");class E extends e.XI{static [d.i]="SQLiteTable";static Symbol=Object.assign({},e.XI.Symbol,{InlineForeignKeys:D});[e.XI.Symbol.Columns];[D]=[];[e.XI.Symbol.ExtraConfigBuilder]=void 0}let F=(a,b,c)=>(function(a,b,c,d,f=a){let g=new E(a,void 0,f),h=Object.fromEntries(Object.entries("function"==typeof b?b({blob:n,customType:q,integer:r.nd,numeric:y,real:B,text:C.Qq}):b).map(([a,b])=>{b.setName(a);let c=b.build(g);return g[D].push(...b.buildForeignKeys(c,g)),[a,c]})),i=Object.assign(g,h);return i[e.XI.Symbol.Columns]=h,i[e.XI.Symbol.ExtraConfigColumns]=h,c&&(i[E.Symbol.ExtraConfigBuilder]=c),i})(a,b,c)},88600:(a,b,c)=>{c.d(b,{E:()=>d});let d=Symbol.for("drizzle:Name")},99082:(a,b,c)=>{c.d(b,{f:()=>aE});var d=c(87550),e=c(37096);class f{static [e.i]="ConsoleLogWriter";write(a){console.log(a)}}class g{static [e.i]="DefaultLogger";writer;constructor(a){this.writer=a?.writer??new f}logQuery(a,b){let c=b.map(a=>{try{return JSON.stringify(a)}catch{return String(a)}}),d=c.length?` -- params: [${c.join(", ")}]`:"";this.writer.write(`Query: ${a}${d}`)}}class h{static [e.i]="NoopLogger";logQuery(){}}var i=c(82991),j=c(76493);let k=Symbol.for("drizzle:PgInlineForeignKeys"),l=Symbol.for("drizzle:EnableRLS");class m extends i.XI{static [e.i]="PgTable";static Symbol=Object.assign({},i.XI.Symbol,{InlineForeignKeys:k,EnableRLS:l});[k]=[];[l]=!1;[i.XI.Symbol.ExtraConfigBuilder]=void 0;[i.XI.Symbol.ExtraConfigColumns]={}}class n{static [e.i]="PgPrimaryKeyBuilder";columns;name;constructor(a,b){this.columns=a,this.name=b}build(a){return new o(a,this.columns,this.name)}}class o{constructor(a,b,c){this.table=a,this.columns=b,this.name=c}static [e.i]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[m.Symbol.Name]}_${this.columns.map(a=>a.name).join("_")}_pk`}}var p=c(34216),q=c(42294);function r(a){return(0,q.ll)`${a} asc`}function s(a){return(0,q.ll)`${a} desc`}class t{constructor(a,b,c){this.sourceTable=a,this.referencedTable=b,this.relationName=c,this.referencedTableName=b[i.XI.Symbol.Name]}static [e.i]="Relation";referencedTableName;fieldName}class u{constructor(a,b){this.table=a,this.config=b}static [e.i]="Relations"}class v extends t{constructor(a,b,c,d){super(a,b,c?.relationName),this.config=c,this.isNullable=d}static [e.i]="One";withFieldName(a){let b=new v(this.sourceTable,this.referencedTable,this.config,this.isNullable);return b.fieldName=a,b}}class w extends t{constructor(a,b,c){super(a,b,c?.relationName),this.config=c}static [e.i]="Many";withFieldName(a){let b=new w(this.sourceTable,this.referencedTable,this.config);return b.fieldName=a,b}}function x(a){return{one:function(b,c){return new v(a,b,c,c?.fields.reduce((a,b)=>a&&b.notNull,!0)??!1)},many:function(b,c){return new w(a,b,c)}}}var y=c(20538);class z{constructor(a){this.table=a}static [e.i]="ColumnAliasProxyHandler";get(a,b){return"table"===b?this.table:a[b]}}class A{constructor(a,b){this.alias=a,this.replaceOriginalName=b}static [e.i]="TableAliasProxyHandler";get(a,b){if(b===i.XI.Symbol.IsAlias)return!0;if(b===i.XI.Symbol.Name||this.replaceOriginalName&&b===i.XI.Symbol.OriginalName)return this.alias;if(b===y.n)return{...a[y.n],name:this.alias,isAlias:!0};if(b===i.XI.Symbol.Columns){let b=a[i.XI.Symbol.Columns];if(!b)return b;let c={};return Object.keys(b).map(d=>{c[d]=new Proxy(b[d],new z(new Proxy(a,this)))}),c}let c=a[b];return(0,e.is)(c,j.V)?new Proxy(c,new z(new Proxy(a,this))):c}}class B{constructor(a){this.alias=a}static [e.i]=null;get(a,b){return"sourceTable"===b?C(a.sourceTable,this.alias):a[b]}}function C(a,b){return new Proxy(a,new A(b,!1))}function D(a,b){return new Proxy(a,new z(new Proxy(a.table,new A(b,!1))))}function E(a,b){return new q.Xs.Aliased(F(a.sql,b),a.fieldAlias)}function F(a,b){return q.ll.join(a.queryChunks.map(a=>(0,e.is)(a,j.V)?D(a,b):(0,e.is)(a,q.Xs)?F(a,b):(0,e.is)(a,q.Xs.Aliased)?E(a,b):a))}var G=c(65089);class H{static [e.i]="SelectionProxyHandler";config;constructor(a){this.config={...a}}get(a,b){if("_"===b)return{...a._,selectedFields:new Proxy(a._.selectedFields,this)};if(b===y.n)return{...a[y.n],selectedFields:new Proxy(a[y.n].selectedFields,this)};if("symbol"==typeof b)return a[b];let c=((0,e.is)(a,G.n)?a._.selectedFields:(0,e.is)(a,q.Ss)?a[y.n].selectedFields:a)[b];if((0,e.is)(c,q.Xs.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!c.isSelectionField)return c.sql;let a=c.clone();return a.isSelectionField=!0,a}if((0,e.is)(c,q.Xs)){if("sql"===this.config.sqlBehavior)return c;throw Error(`You tried to reference "${b}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}return(0,e.is)(c,j.V)?this.config.alias?new Proxy(c,new z(new Proxy(c.table,new A(this.config.alias,this.config.replaceOriginalName??!1)))):c:"object"!=typeof c||null===c?c:new Proxy(c,new H(this.config))}}function I(a){return(a.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map(a=>a.toLowerCase()).join("_")}function J(a){return(a.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((a,b,c)=>a+(0===c?b.toLowerCase():`${b[0].toUpperCase()}${b.slice(1)}`),"")}function K(a){return a}class L{static [e.i]="CasingCache";cache={};cachedTables={};convert;constructor(a){this.convert="snake_case"===a?I:"camelCase"===a?J:K}getColumnCasing(a){if(!a.keyAsName)return a.name;let b=a.table[i.XI.Symbol.Schema]??"public",c=a.table[i.XI.Symbol.OriginalName],d=`${b}.${c}.${a.name}`;return this.cache[d]||this.cacheTable(a.table),this.cache[d]}cacheTable(a){let b=a[i.XI.Symbol.Schema]??"public",c=a[i.XI.Symbol.OriginalName],d=`${b}.${c}`;if(!this.cachedTables[d]){for(let b of Object.values(a[i.XI.Symbol.Columns])){let a=`${d}.${b.name}`;this.cache[a]=this.convert(b.name)}this.cachedTables[d]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class M extends Error{static [e.i]="DrizzleError";constructor({message:a,cause:b}){super(a),this.name="DrizzleError",this.cause=b}}class N extends Error{constructor(a,b,c){super(`Failed query: ${a}
2
+ params: ${b}`),this.query=a,this.params=b,this.cause=c,Error.captureStackTrace(this,N),c&&(this.cause=c)}}class O extends M{static [e.i]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}var P=c(76534),Q=c(86953),R=c(67106);class S extends q.Ss{static [e.i]="SQLiteViewBase"}class T{static [e.i]="SQLiteDialect";casing;constructor(a){this.casing=new L(a?.casing)}escapeName(a){return`"${a}"`}escapeParam(a){return"?"}escapeString(a){return`'${a.replace(/'/g,"''")}'`}buildWithCTE(a){if(!a?.length)return;let b=[(0,q.ll)`with `];for(let[c,d]of a.entries())b.push((0,q.ll)`${q.ll.identifier(d._.alias)} as (${d._.sql})`),c<a.length-1&&b.push((0,q.ll)`, `);return b.push((0,q.ll)` `),q.ll.join(b)}buildDeleteQuery({table:a,where:b,returning:c,withList:d,limit:e,orderBy:f}){let g=this.buildWithCTE(d),h=c?(0,q.ll)` returning ${this.buildSelection(c,{isSingleTable:!0})}`:void 0,i=b?(0,q.ll)` where ${b}`:void 0,j=this.buildOrderBy(f),k=this.buildLimit(e);return(0,q.ll)`${g}delete from ${a}${i}${h}${j}${k}`}buildUpdateSet(a,b){let c=a[i.XI.Symbol.Columns],d=Object.keys(c).filter(a=>void 0!==b[a]||c[a]?.onUpdateFn!==void 0),f=d.length;return q.ll.join(d.flatMap((a,d)=>{let g=c[a],h=g.onUpdateFn?.(),i=b[a]??((0,e.is)(h,q.Xs)?h:q.ll.param(h,g)),j=(0,q.ll)`${q.ll.identifier(this.casing.getColumnCasing(g))} = ${i}`;return d<f-1?[j,q.ll.raw(", ")]:[j]}))}buildUpdateQuery({table:a,set:b,where:c,returning:d,withList:e,joins:f,from:g,limit:h,orderBy:i}){let j=this.buildWithCTE(e),k=this.buildUpdateSet(a,b),l=g&&q.ll.join([q.ll.raw(" from "),this.buildFromTable(g)]),m=this.buildJoins(f),n=d?(0,q.ll)` returning ${this.buildSelection(d,{isSingleTable:!0})}`:void 0,o=c?(0,q.ll)` where ${c}`:void 0,p=this.buildOrderBy(i),r=this.buildLimit(h);return(0,q.ll)`${j}update ${a} set ${k}${l}${m}${o}${n}${p}${r}`}buildSelection(a,{isSingleTable:b=!1}={}){let c=a.length,d=a.flatMap(({field:a},d)=>{let f=[];if((0,e.is)(a,q.Xs.Aliased)&&a.isSelectionField)f.push(q.ll.identifier(a.fieldAlias));else if((0,e.is)(a,q.Xs.Aliased)||(0,e.is)(a,q.Xs)){let c=(0,e.is)(a,q.Xs.Aliased)?a.sql:a;b?f.push(new q.Xs(c.queryChunks.map(a=>(0,e.is)(a,j.V)?q.ll.identifier(this.casing.getColumnCasing(a)):a))):f.push(c),(0,e.is)(a,q.Xs.Aliased)&&f.push((0,q.ll)` as ${q.ll.identifier(a.fieldAlias)}`)}else if((0,e.is)(a,j.V)){let c=a.table[i.XI.Symbol.Name];"SQLiteNumericBigInt"===a.columnType?b?f.push((0,q.ll)`cast(${q.ll.identifier(this.casing.getColumnCasing(a))} as text)`):f.push((0,q.ll)`cast(${q.ll.identifier(c)}.${q.ll.identifier(this.casing.getColumnCasing(a))} as text)`):b?f.push(q.ll.identifier(this.casing.getColumnCasing(a))):f.push((0,q.ll)`${q.ll.identifier(c)}.${q.ll.identifier(this.casing.getColumnCasing(a))}`)}else if((0,e.is)(a,G.n)){let b=Object.entries(a._.selectedFields);if(1===b.length){let c=b[0][1],d=(0,e.is)(c,q.Xs)?c.decoder:(0,e.is)(c,j.V)?{mapFromDriverValue:a=>c.mapFromDriverValue(a)}:c.sql.decoder;d&&(a._.sql.decoder=d)}f.push(a)}return d<c-1&&f.push((0,q.ll)`, `),f});return q.ll.join(d)}buildJoins(a){if(!a||0===a.length)return;let b=[];if(a)for(let[c,d]of a.entries()){0===c&&b.push((0,q.ll)` `);let f=d.table,g=d.on?(0,q.ll)` on ${d.on}`:void 0;if((0,e.is)(f,Q.jo)){let a=f[Q.jo.Symbol.Name],c=f[Q.jo.Symbol.Schema],e=f[Q.jo.Symbol.OriginalName],h=a===e?void 0:d.alias;b.push((0,q.ll)`${q.ll.raw(d.joinType)} join ${c?(0,q.ll)`${q.ll.identifier(c)}.`:void 0}${q.ll.identifier(e)}${h&&(0,q.ll)` ${q.ll.identifier(h)}`}${g}`)}else b.push((0,q.ll)`${q.ll.raw(d.joinType)} join ${f}${g}`);c<a.length-1&&b.push((0,q.ll)` `)}return q.ll.join(b)}buildLimit(a){return"object"==typeof a||"number"==typeof a&&a>=0?(0,q.ll)` limit ${a}`:void 0}buildOrderBy(a){let b=[];if(a)for(let[c,d]of a.entries())b.push(d),c<a.length-1&&b.push((0,q.ll)`, `);return b.length>0?(0,q.ll)` order by ${q.ll.join(b)}`:void 0}buildFromTable(a){return(0,e.is)(a,i.XI)&&a[i.XI.Symbol.IsAlias]?(0,q.ll)`${(0,q.ll)`${q.ll.identifier(a[i.XI.Symbol.Schema]??"")}.`.if(a[i.XI.Symbol.Schema])}${q.ll.identifier(a[i.XI.Symbol.OriginalName])} ${q.ll.identifier(a[i.XI.Symbol.Name])}`:a}buildSelectQuery({withList:a,fields:b,fieldsFlat:c,where:d,having:f,table:g,joins:h,orderBy:k,groupBy:l,limit:m,offset:n,distinct:o,setOperators:p}){let r=c??(0,R.He)(b);for(let a of r){let b;if((0,e.is)(a.field,j.V)&&(0,i.Io)(a.field.table)!==((0,e.is)(g,G.n)?g._.alias:(0,e.is)(g,S)?g[y.n].name:(0,e.is)(g,q.Xs)?void 0:(0,i.Io)(g))&&(b=a.field.table,!h?.some(({alias:a})=>a===(b[i.XI.Symbol.IsAlias]?(0,i.Io)(b):b[i.XI.Symbol.BaseName])))){let b=(0,i.Io)(a.field.table);throw Error(`Your "${a.path.join("->")}" field references a column "${b}"."${a.field.name}", but the table "${b}" is not part of the query! Did you forget to join it?`)}}let s=!h||0===h.length,t=this.buildWithCTE(a),u=o?(0,q.ll)` distinct`:void 0,v=this.buildSelection(r,{isSingleTable:s}),w=this.buildFromTable(g),x=this.buildJoins(h),z=d?(0,q.ll)` where ${d}`:void 0,A=f?(0,q.ll)` having ${f}`:void 0,B=[];if(l)for(let[a,b]of l.entries())B.push(b),a<l.length-1&&B.push((0,q.ll)`, `);let C=B.length>0?(0,q.ll)` group by ${q.ll.join(B)}`:void 0,D=this.buildOrderBy(k),E=this.buildLimit(m),F=n?(0,q.ll)` offset ${n}`:void 0,H=(0,q.ll)`${t}select${u} ${v} from ${w}${x}${z}${C}${A}${D}${E}${F}`;return p.length>0?this.buildSetOperations(H,p):H}buildSetOperations(a,b){let[c,...d]=b;if(!c)throw Error("Cannot pass undefined values to any set operator");return 0===d.length?this.buildSetOperationQuery({leftSelect:a,setOperator:c}):this.buildSetOperations(this.buildSetOperationQuery({leftSelect:a,setOperator:c}),d)}buildSetOperationQuery({leftSelect:a,setOperator:{type:b,isAll:c,rightSelect:d,limit:f,orderBy:g,offset:h}}){let i,j=(0,q.ll)`${a.getSQL()} `,k=(0,q.ll)`${d.getSQL()}`;if(g&&g.length>0){let a=[];for(let b of g)if((0,e.is)(b,P.v))a.push(q.ll.identifier(b.name));else if((0,e.is)(b,q.Xs)){for(let a=0;a<b.queryChunks.length;a++){let c=b.queryChunks[a];(0,e.is)(c,P.v)&&(b.queryChunks[a]=q.ll.identifier(this.casing.getColumnCasing(c)))}a.push((0,q.ll)`${b}`)}else a.push((0,q.ll)`${b}`);i=(0,q.ll)` order by ${q.ll.join(a,(0,q.ll)`, `)}`}let l="object"==typeof f||"number"==typeof f&&f>=0?(0,q.ll)` limit ${f}`:void 0,m=q.ll.raw(`${b} ${c?"all ":""}`),n=h?(0,q.ll)` offset ${h}`:void 0;return(0,q.ll)`${j}${m}${k}${i}${l}${n}`}buildInsertQuery({table:a,values:b,onConflict:c,returning:d,withList:f,select:g}){let h=[],j=Object.entries(a[i.XI.Symbol.Columns]).filter(([a,b])=>!b.shouldDisableInsert()),k=j.map(([,a])=>q.ll.identifier(this.casing.getColumnCasing(a)));if(g)(0,e.is)(b,q.Xs)?h.push(b):h.push(b.getSQL());else for(let[a,c]of(h.push(q.ll.raw("values ")),b.entries())){let d=[];for(let[a,b]of j){let f=c[a];if(void 0===f||(0,e.is)(f,q.Iw)&&void 0===f.value){let a;if(null!==b.default&&void 0!==b.default)a=(0,e.is)(b.default,q.Xs)?b.default:q.ll.param(b.default,b);else if(void 0!==b.defaultFn){let c=b.defaultFn();a=(0,e.is)(c,q.Xs)?c:q.ll.param(c,b)}else if(b.default||void 0===b.onUpdateFn)a=(0,q.ll)`null`;else{let c=b.onUpdateFn();a=(0,e.is)(c,q.Xs)?c:q.ll.param(c,b)}d.push(a)}else d.push(f)}h.push(d),a<b.length-1&&h.push((0,q.ll)`, `)}let l=this.buildWithCTE(f),m=q.ll.join(h),n=d?(0,q.ll)` returning ${this.buildSelection(d,{isSingleTable:!0})}`:void 0,o=c?.length?q.ll.join(c):void 0;return(0,q.ll)`${l}insert into ${a} ${k} ${m}${o}${n}`}sqlToQuery(a,b){return a.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,invokeSource:b})}buildRelationalQuery({fullSchema:a,schema:b,tableNamesMap:c,table:d,tableConfig:f,queryConfig:g,tableAlias:h,nestedQueryRelation:k,joinOn:l}){let m,n=[],o,t,u=[],x,y=[];if(!0===g)n=Object.entries(f.columns).map(([a,b])=>({dbKey:b.name,tsKey:a,field:D(b,h),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let d=Object.fromEntries(Object.entries(f.columns).map(([a,b])=>[a,D(b,h)]));if(g.where){let a="function"==typeof g.where?g.where(d,{and:p.Uo,between:p.Tq,eq:p.eq,exists:p.t2,gt:p.gt,gte:p.RO,ilike:p.B3,inArray:p.RV,isNull:p.kZ,isNotNull:p.Pe,like:p.mj,lt:p.lt,lte:p.wJ,ne:p.ne,not:p.AU,notBetween:p.o8,notExists:p.KJ,notLike:p.RK,notIlike:p.q1,notInArray:p.KL,or:p.or,sql:q.ll}):g.where;x=a&&F(a,h)}let k=[],l=[];if(g.columns){let a=!1;for(let[b,c]of Object.entries(g.columns))void 0!==c&&b in f.columns&&(a||!0!==c||(a=!0),l.push(b));l.length>0&&(l=a?l.filter(a=>g.columns?.[a]===!0):Object.keys(f.columns).filter(a=>!l.includes(a)))}else l=Object.keys(f.columns);for(let a of l){let b=f.columns[a];k.push({tsKey:a,value:b})}let m=[];if(g.with&&(m=Object.entries(g.with).filter(a=>!!a[1]).map(([a,b])=>({tsKey:a,queryConfig:b,relation:f.relations[a]}))),g.extras)for(let[a,b]of Object.entries("function"==typeof g.extras?g.extras(d,{sql:q.ll}):g.extras))k.push({tsKey:a,value:E(b,h)});for(let{tsKey:a,value:b}of k)n.push({dbKey:(0,e.is)(b,q.Xs.Aliased)?b.fieldAlias:f.columns[a].name,tsKey:a,field:(0,e.is)(b,j.V)?D(b,h):b,relationTableTsKey:void 0,isJson:!1,selection:[]});let w="function"==typeof g.orderBy?g.orderBy(d,{sql:q.ll,asc:r,desc:s}):g.orderBy??[];for(let{tsKey:d,queryConfig:f,relation:k}of(Array.isArray(w)||(w=[w]),u=w.map(a=>(0,e.is)(a,j.V)?D(a,h):F(a,h)),o=g.limit,t=g.offset,m)){let g=function(a,b,c){if((0,e.is)(c,v)&&c.config)return{fields:c.config.fields,references:c.config.references};let d=b[(0,i.Lf)(c.referencedTable)];if(!d)throw Error(`Table "${c.referencedTable[i.XI.Symbol.Name]}" not found in schema`);let f=a[d];if(!f)throw Error(`Table "${d}" not found in schema`);let g=c.sourceTable,h=b[(0,i.Lf)(g)];if(!h)throw Error(`Table "${g[i.XI.Symbol.Name]}" not found in schema`);let j=[];for(let a of Object.values(f.relations))(c.relationName&&c!==a&&a.relationName===c.relationName||!c.relationName&&a.referencedTable===c.sourceTable)&&j.push(a);if(j.length>1)throw c.relationName?Error(`There are multiple relations with name "${c.relationName}" in table "${d}"`):Error(`There are multiple relations between "${d}" and "${c.sourceTable[i.XI.Symbol.Name]}". Please specify relation name`);if(j[0]&&(0,e.is)(j[0],v)&&j[0].config)return{fields:j[0].config.references,references:j[0].config.fields};throw Error(`There is not enough information to infer relation "${h}.${c.fieldName}"`)}(b,c,k),j=c[(0,i.Lf)(k.referencedTable)],l=`${h}_${d}`,m=(0,p.Uo)(...g.fields.map((a,b)=>(0,p.eq)(D(g.references[b],l),D(a,h)))),o=this.buildRelationalQuery({fullSchema:a,schema:b,tableNamesMap:c,table:a[j],tableConfig:b[j],queryConfig:(0,e.is)(k,v)?!0===f?{limit:1}:{...f,limit:1}:f,tableAlias:l,joinOn:m,nestedQueryRelation:k}),r=(0,q.ll)`(${o.sql})`.as(d);n.push({dbKey:d,tsKey:d,field:r,relationTableTsKey:j,isJson:!0,selection:o.selection})}}if(0===n.length)throw new M({message:`No fields selected for table "${f.tsName}" ("${h}"). You need to have at least one item in "columns", "with" or "extras". If you need to select all columns, omit the "columns" key or set it to undefined.`});if(x=(0,p.Uo)(l,x),k){let a=(0,q.ll)`json_array(${q.ll.join(n.map(({field:a})=>(0,e.is)(a,P.v)?q.ll.identifier(this.casing.getColumnCasing(a)):(0,e.is)(a,q.Xs.Aliased)?a.sql:a),(0,q.ll)`, `)})`;(0,e.is)(k,w)&&(a=(0,q.ll)`coalesce(json_group_array(${a}), json_array())`);let b=[{dbKey:"data",tsKey:"data",field:a.as("data"),isJson:!0,relationTableTsKey:f.tsName,selection:n}];void 0!==o||void 0!==t||u.length>0?(m=this.buildSelectQuery({table:C(d,h),fields:{},fieldsFlat:[{path:[],field:q.ll.raw("*")}],where:x,limit:o,offset:t,orderBy:u,setOperators:[]}),x=void 0,o=void 0,t=void 0,u=void 0):m=C(d,h),m=this.buildSelectQuery({table:(0,e.is)(m,Q.jo)?m:new G.n(m,{},h),fields:{},fieldsFlat:b.map(({field:a})=>({path:[],field:(0,e.is)(a,j.V)?D(a,h):a})),joins:y,where:x,limit:o,offset:t,orderBy:u,setOperators:[]})}else m=this.buildSelectQuery({table:C(d,h),fields:{},fieldsFlat:n.map(({field:a})=>({path:[],field:(0,e.is)(a,j.V)?D(a,h):a})),joins:y,where:x,limit:o,offset:t,orderBy:u,setOperators:[]});return{tableTsKey:f.tsName,sql:m,selection:n}}}class U extends T{static [e.i]="SQLiteSyncDialect";migrate(a,b,c){let d=void 0===c||"string"==typeof c?"__drizzle_migrations":c.migrationsTable??"__drizzle_migrations",e=(0,q.ll)`
3
+ CREATE TABLE IF NOT EXISTS ${q.ll.identifier(d)} (
4
+ id SERIAL PRIMARY KEY,
5
+ hash text NOT NULL,
6
+ created_at numeric
7
+ )
8
+ `;b.run(e);let f=b.values((0,q.ll)`SELECT id, hash, created_at FROM ${q.ll.identifier(d)} ORDER BY created_at DESC LIMIT 1`)[0]??void 0;b.run((0,q.ll)`BEGIN`);try{for(let c of a)if(!f||Number(f[2])<c.folderMillis){for(let a of c.sql)b.run(q.ll.raw(a));b.run((0,q.ll)`INSERT INTO ${q.ll.identifier(d)} ("hash", "created_at") VALUES(${c.hash}, ${c.folderMillis})`)}b.run((0,q.ll)`COMMIT`)}catch(a){throw b.run((0,q.ll)`ROLLBACK`),a}}}class V extends null{static [e.i]=null;async migrate(a,b,c){let d=void 0===c||"string"==typeof c?"__drizzle_migrations":c.migrationsTable??"__drizzle_migrations",e=sql`
9
+ CREATE TABLE IF NOT EXISTS ${sql.identifier(d)} (
10
+ id SERIAL PRIMARY KEY,
11
+ hash text NOT NULL,
12
+ created_at numeric
13
+ )
14
+ `;await b.run(e);let f=(await b.values(sql`SELECT id, hash, created_at FROM ${sql.identifier(d)} ORDER BY created_at DESC LIMIT 1`))[0]??void 0;await b.transaction(async b=>{for(let c of a)if(!f||Number(f[2])<c.folderMillis){for(let a of c.sql)await b.run(sql.raw(a));await b.run(sql`INSERT INTO ${sql.identifier(d)} ("hash", "created_at") VALUES(${c.hash}, ${c.folderMillis})`)}})}}class W{static [e.i]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class X{static [e.i]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(a){return this.then(void 0,a)}finally(a){return this.then(b=>(a?.(),b),b=>{throw a?.(),b})}then(a,b){return this.execute().then(a,b)}}function Y(a){return(0,e.is)(a,Q.jo)?[`${a[i.XI.Symbol.BaseName]}`]:(0,e.is)(a,G.n)?a._.usedTables??[]:(0,e.is)(a,q.Xs)?a.usedTables??[]:[]}class Z{static [e.i]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(a){this.fields=a.fields,this.session=a.session,this.dialect=a.dialect,this.withList=a.withList,this.distinct=a.distinct}from(a){let b,c=!!this.fields;return b=this.fields?this.fields:(0,e.is)(a,G.n)?Object.fromEntries(Object.keys(a._.selectedFields).map(b=>[b,a[b]])):(0,e.is)(a,S)?a[y.n].selectedFields:(0,e.is)(a,q.Xs)?{}:(0,R.YD)(a),new _({table:a,fields:b,isPartialSelect:c,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}}class $ extends W{static [e.i]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:a,fields:b,isPartialSelect:c,session:d,dialect:e,withList:f,distinct:g}){for(const h of(super(),this.config={withList:f,table:a,fields:{...b},distinct:g,setOperators:[]},this.isPartialSelect=c,this.session=d,this.dialect=e,this._={selectedFields:b,config:this.config},this.tableName=(0,R.zN)(a),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},Y(a)))this.usedTables.add(h)}getUsedTables(){return[...this.usedTables]}createJoin(a){return(b,c)=>{let d=this.tableName,f=(0,R.zN)(b);for(let a of Y(b))this.usedTables.add(a);if("string"==typeof f&&this.config.joins?.some(a=>a.alias===f))throw Error(`Alias "${f}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof d&&(this.config.fields={[d]:this.config.fields}),"string"==typeof f&&!(0,e.is)(b,q.Xs))){let a=(0,e.is)(b,G.n)?b._.selectedFields:(0,e.is)(b,q.Ss)?b[y.n].selectedFields:b[i.XI.Symbol.Columns];this.config.fields[f]=a}if("function"==typeof c&&(c=c(new Proxy(this.config.fields,new H({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:c,table:b,joinType:a,alias:f}),"string"==typeof f)switch(a){case"left":this.joinsNotNullableMap[f]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([a])=>[a,!1])),this.joinsNotNullableMap[f]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[f]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([a])=>[a,!1])),this.joinsNotNullableMap[f]=!1}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(a,b){return c=>{let d="function"==typeof c?c(ab()):c;if(!(0,R.DV)(this.getSelectedFields(),d.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:a,isAll:b,rightSelect:d}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(a){return this.config.setOperators.push(...a),this}where(a){return"function"==typeof a&&(a=a(new Proxy(this.config.fields,new H({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=a,this}having(a){return"function"==typeof a&&(a=a(new Proxy(this.config.fields,new H({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=a,this}groupBy(...a){if("function"==typeof a[0]){let b=a[0](new Proxy(this.config.fields,new H({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(b)?b:[b]}else this.config.groupBy=a;return this}orderBy(...a){if("function"==typeof a[0]){let b=a[0](new Proxy(this.config.fields,new H({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),c=Array.isArray(b)?b:[b];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=c:this.config.orderBy=c}else this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=a:this.config.orderBy=a;return this}limit(a){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=a:this.config.limit=a,this}offset(a){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=a:this.config.offset=a,this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:a,...b}=this.dialect.sqlToQuery(this.getSQL());return b}as(a){let b=[];if(b.push(...Y(this.config.table)),this.config.joins)for(let a of this.config.joins)b.push(...Y(a.table));return new Proxy(new G.n(this.getSQL(),this.config.fields,a,!1,[...new Set(b)]),new H({alias:a,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new H({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class _ extends ${static [e.i]="SQLiteSelect";_prepare(a=!0){if(!this.session)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let b=(0,R.He)(this.config.fields),c=this.session[a?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),b,"all",!0,void 0,{type:"select",tables:[...this.usedTables]},this.cacheConfig);return c.joinsNotNullableMap=this.joinsNotNullableMap,c}$withCache(a){return this.cacheConfig=void 0===a?{config:{},enable:!0,autoInvalidate:!0}:!1===a?{enable:!1}:{enable:!0,autoInvalidate:!0,...a},this}prepare(){return this._prepare(!1)}run=a=>this._prepare().run(a);all=a=>this._prepare().all(a);get=a=>this._prepare().get(a);values=a=>this._prepare().values(a);async execute(){return this.all()}}function aa(a,b){return(c,d,...e)=>{let f=[d,...e].map(c=>({type:a,isAll:b,rightSelect:c}));for(let a of f)if(!(0,R.DV)(c.getSelectedFields(),a.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return c.addSetOperators(f)}}(0,R.XJ)(_,[X]);let ab=()=>({union:ac,unionAll:ad,intersect:ae,except:af}),ac=aa("union",!1),ad=aa("union",!0),ae=aa("intersect",!1),af=aa("except",!1);class ag{static [e.i]="SQLiteQueryBuilder";dialect;dialectConfig;constructor(a){this.dialect=(0,e.is)(a,T)?a:void 0,this.dialectConfig=(0,e.is)(a,T)?void 0:a}$with=(a,b)=>{let c=this;return{as:d=>("function"==typeof d&&(d=d(c)),new Proxy(new G.J(d.getSQL(),b??("getSelectedFields"in d?d.getSelectedFields()??{}:{}),a,!0),new H({alias:a,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};with(...a){let b=this;return{select:function(c){return new Z({fields:c??void 0,session:void 0,dialect:b.getDialect(),withList:a})},selectDistinct:function(c){return new Z({fields:c??void 0,session:void 0,dialect:b.getDialect(),withList:a,distinct:!0})}}}select(a){return new Z({fields:a??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(a){return new Z({fields:a??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){return this.dialect||(this.dialect=new U(this.dialectConfig)),this.dialect}}class ah{constructor(a,b,c,d){this.table=a,this.session=b,this.dialect=c,this.withList=d}static [e.i]="SQLiteUpdateBuilder";set(a){return new ai(this.table,(0,R.q)(this.table,a),this.session,this.dialect,this.withList)}}class ai extends X{constructor(a,b,c,d,e){super(),this.session=c,this.dialect=d,this.config={set:b,table:a,withList:e,joins:[]}}static [e.i]="SQLiteUpdate";config;from(a){return this.config.from=a,this}createJoin(a){return(b,c)=>{let d=(0,R.zN)(b);if("string"==typeof d&&this.config.joins.some(a=>a.alias===d))throw Error(`Alias "${d}" is already used in this query`);if("function"==typeof c){let a=this.config.from?(0,e.is)(b,Q.jo)?b[i.XI.Symbol.Columns]:(0,e.is)(b,G.n)?b._.selectedFields:(0,e.is)(b,S)?b[y.n].selectedFields:void 0:void 0;c=c(new Proxy(this.config.table[i.XI.Symbol.Columns],new H({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),a&&new Proxy(a,new H({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}return this.config.joins.push({on:c,table:b,joinType:a,alias:d}),this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(a){return this.config.where=a,this}orderBy(...a){if("function"==typeof a[0]){let b=a[0](new Proxy(this.config.table[i.XI.Symbol.Columns],new H({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),c=Array.isArray(b)?b:[b];this.config.orderBy=c}else this.config.orderBy=a;return this}limit(a){return this.config.limit=a,this}returning(a=this.config.table[Q.jo.Symbol.Columns]){return this.config.returning=(0,R.He)(a),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:a,...b}=this.dialect.sqlToQuery(this.getSQL());return b}_prepare(a=!0){return this.session[a?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:Y(this.config.table)})}prepare(){return this._prepare(!1)}run=a=>this._prepare().run(a);all=a=>this._prepare().all(a);get=a=>this._prepare().get(a);values=a=>this._prepare().values(a);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}class aj{constructor(a,b,c,d){this.table=a,this.session=b,this.dialect=c,this.withList=d}static [e.i]="SQLiteInsertBuilder";values(a){if(0===(a=Array.isArray(a)?a:[a]).length)throw Error("values() must be called with at least one value");let b=a.map(a=>{let b={},c=this.table[i.XI.Symbol.Columns];for(let d of Object.keys(a)){let f=a[d];b[d]=(0,e.is)(f,q.Xs)?f:new q.Iw(f,c[d])}return b});return new ak(this.table,b,this.session,this.dialect,this.withList)}select(a){let b="function"==typeof a?a(new ag):a;if(!(0,e.is)(b,q.Xs)&&!(0,R.DV)(this.table[i.e],b._.selectedFields))throw Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new ak(this.table,b,this.session,this.dialect,this.withList,!0)}}class ak extends X{constructor(a,b,c,d,e,f){super(),this.session=c,this.dialect=d,this.config={table:a,values:b,withList:e,select:f}}static [e.i]="SQLiteInsert";config;returning(a=this.config.table[Q.jo.Symbol.Columns]){return this.config.returning=(0,R.He)(a),this}onConflictDoNothing(a={}){if(this.config.onConflict||(this.config.onConflict=[]),void 0===a.target)this.config.onConflict.push((0,q.ll)` on conflict do nothing`);else{let b=Array.isArray(a.target)?(0,q.ll)`${a.target}`:(0,q.ll)`${[a.target]}`,c=a.where?(0,q.ll)` where ${a.where}`:(0,q.ll)``;this.config.onConflict.push((0,q.ll)` on conflict ${b} do nothing${c}`)}return this}onConflictDoUpdate(a){if(a.where&&(a.targetWhere||a.setWhere))throw Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');this.config.onConflict||(this.config.onConflict=[]);let b=a.where?(0,q.ll)` where ${a.where}`:void 0,c=a.targetWhere?(0,q.ll)` where ${a.targetWhere}`:void 0,d=a.setWhere?(0,q.ll)` where ${a.setWhere}`:void 0,e=Array.isArray(a.target)?(0,q.ll)`${a.target}`:(0,q.ll)`${[a.target]}`,f=this.dialect.buildUpdateSet(this.config.table,(0,R.q)(this.config.table,a.set));return this.config.onConflict.push((0,q.ll)` on conflict ${e}${c} do update set ${f}${b}${d}`),this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:a,...b}=this.dialect.sqlToQuery(this.getSQL());return b}_prepare(a=!0){return this.session[a?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:Y(this.config.table)})}prepare(){return this._prepare(!1)}run=a=>this._prepare().run(a);all=a=>this._prepare().all(a);get=a=>this._prepare().get(a);values=a=>this._prepare().values(a);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}class al extends X{constructor(a,b,c,d){super(),this.table=a,this.session=b,this.dialect=c,this.config={table:a,withList:d}}static [e.i]="SQLiteDelete";config;where(a){return this.config.where=a,this}orderBy(...a){if("function"==typeof a[0]){let b=a[0](new Proxy(this.config.table[i.XI.Symbol.Columns],new H({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),c=Array.isArray(b)?b:[b];this.config.orderBy=c}else this.config.orderBy=a;return this}limit(a){return this.config.limit=a,this}returning(a=this.table[Q.jo.Symbol.Columns]){return this.config.returning=(0,R.He)(a),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:a,...b}=this.dialect.sqlToQuery(this.getSQL());return b}_prepare(a=!0){return this.session[a?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"delete",tables:Y(this.config.table)})}prepare(){return this._prepare(!1)}run=a=>this._prepare().run(a);all=a=>this._prepare().all(a);get=a=>this._prepare().get(a);values=a=>this._prepare().values(a);async execute(a){return this._prepare().execute(a)}$dynamic(){return this}}class am extends q.Xs{constructor(a){super(am.buildEmbeddedCount(a.source,a.filters).queryChunks),this.params=a,this.session=a.session,this.sql=am.buildCount(a.source,a.filters)}sql;static [e.i]="SQLiteCountBuilderAsync";[Symbol.toStringTag]="SQLiteCountBuilderAsync";session;static buildEmbeddedCount(a,b){return(0,q.ll)`(select count(*) from ${a}${q.ll.raw(" where ").if(b)}${b})`}static buildCount(a,b){return(0,q.ll)`select count(*) from ${a}${q.ll.raw(" where ").if(b)}${b}`}then(a,b){return Promise.resolve(this.session.count(this.sql)).then(a,b)}catch(a){return this.then(void 0,a)}finally(a){return this.then(b=>(a?.(),b),b=>{throw a?.(),b})}}class an{constructor(a,b,c,d,e,f,g,h){this.mode=a,this.fullSchema=b,this.schema=c,this.tableNamesMap=d,this.table=e,this.tableConfig=f,this.dialect=g,this.session=h}static [e.i]="SQLiteAsyncRelationalQueryBuilder";findMany(a){return"sync"===this.mode?new ap(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,a||{},"many"):new ao(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,a||{},"many")}findFirst(a){return"sync"===this.mode?new ap(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,a?{...a,limit:1}:{limit:1},"first"):new ao(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,a?{...a,limit:1}:{limit:1},"first")}}class ao extends X{constructor(a,b,c,d,e,f,g,h,i){super(),this.fullSchema=a,this.schema=b,this.tableNamesMap=c,this.table=d,this.tableConfig=e,this.dialect=f,this.session=g,this.config=h,this.mode=i}static [e.i]="SQLiteAsyncRelationalQuery";mode;getSQL(){return this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}).sql}_prepare(a=!1){let{query:b,builtQuery:c}=this._toSQL();return this.session[a?"prepareOneTimeQuery":"prepareQuery"](c,void 0,"first"===this.mode?"get":"all",!0,(a,c)=>{let d=a.map(a=>(function a(b,c,d,f,g=a=>a){let h={};for(let[i,k]of f.entries())if(k.isJson){let f=c.relations[k.tsKey],j=d[i],l="string"==typeof j?JSON.parse(j):j;h[k.tsKey]=(0,e.is)(f,v)?l&&a(b,b[k.relationTableTsKey],l,k.selection,g):l.map(c=>a(b,b[k.relationTableTsKey],c,k.selection,g))}else{let a,b=g(d[i]),c=k.field;a=(0,e.is)(c,j.V)?c:(0,e.is)(c,q.Xs)?c.decoder:c.sql.decoder,h[k.tsKey]=null===b?null:a.mapFromDriverValue(b)}return h})(this.schema,this.tableConfig,a,b.selection,c));return"first"===this.mode?d[0]:d})}prepare(){return this._prepare(!1)}_toSQL(){let a=this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}),b=this.dialect.sqlToQuery(a.sql);return{query:a,builtQuery:b}}toSQL(){return this._toSQL().builtQuery}executeRaw(){return"first"===this.mode?this._prepare(!1).get():this._prepare(!1).all()}async execute(){return this.executeRaw()}}class ap extends ao{static [e.i]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}class aq extends X{constructor(a,b,c,d,e){super(),this.execute=a,this.getSQL=b,this.dialect=d,this.mapBatchResult=e,this.config={action:c}}static [e.i]="SQLiteRaw";config;getQuery(){return{...this.dialect.sqlToQuery(this.getSQL()),method:this.config.action}}mapResult(a,b){return b?this.mapBatchResult(a):a}_prepare(){return this}isResponseInArrayMode(){return!1}}class ar{constructor(a,b,c,d){this.resultKind=a,this.dialect=b,this.session=c,this._=d?{schema:d.schema,fullSchema:d.fullSchema,tableNamesMap:d.tableNamesMap}:{schema:void 0,fullSchema:{},tableNamesMap:{}},this.query={};const e=this.query;if(this._.schema)for(const[f,g]of Object.entries(this._.schema))e[f]=new an(a,d.fullSchema,this._.schema,this._.tableNamesMap,d.fullSchema[f],g,b,c);this.$cache={invalidate:async a=>{}}}static [e.i]="BaseSQLiteDatabase";query;$with=(a,b)=>{let c=this;return{as:d=>("function"==typeof d&&(d=d(new ag(c.dialect))),new Proxy(new G.J(d.getSQL(),b??("getSelectedFields"in d?d.getSelectedFields()??{}:{}),a,!0),new H({alias:a,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};$count(a,b){return new am({source:a,filters:b,session:this.session})}with(...a){let b=this;return{select:function(c){return new Z({fields:c??void 0,session:b.session,dialect:b.dialect,withList:a})},selectDistinct:function(c){return new Z({fields:c??void 0,session:b.session,dialect:b.dialect,withList:a,distinct:!0})},update:function(c){return new ah(c,b.session,b.dialect,a)},insert:function(c){return new aj(c,b.session,b.dialect,a)},delete:function(c){return new al(c,b.session,b.dialect,a)}}}select(a){return new Z({fields:a??void 0,session:this.session,dialect:this.dialect})}selectDistinct(a){return new Z({fields:a??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update(a){return new ah(a,this.session,this.dialect)}$cache;insert(a){return new aj(a,this.session,this.dialect)}delete(a){return new al(a,this.session,this.dialect)}run(a){let b="string"==typeof a?q.ll.raw(a):a.getSQL();return"async"===this.resultKind?new aq(async()=>this.session.run(b),()=>b,"run",this.dialect,this.session.extractRawRunValueFromBatchResult.bind(this.session)):this.session.run(b)}all(a){let b="string"==typeof a?q.ll.raw(a):a.getSQL();return"async"===this.resultKind?new aq(async()=>this.session.all(b),()=>b,"all",this.dialect,this.session.extractRawAllValueFromBatchResult.bind(this.session)):this.session.all(b)}get(a){let b="string"==typeof a?q.ll.raw(a):a.getSQL();return"async"===this.resultKind?new aq(async()=>this.session.get(b),()=>b,"get",this.dialect,this.session.extractRawGetValueFromBatchResult.bind(this.session)):this.session.get(b)}values(a){let b="string"==typeof a?q.ll.raw(a):a.getSQL();return"async"===this.resultKind?new aq(async()=>this.session.values(b),()=>b,"values",this.dialect,this.session.extractRawValuesValueFromBatchResult.bind(this.session)):this.session.values(b)}transaction(a,b){return this.session.transaction(a,b)}}class as{static [e.i]="Cache"}class at extends as{strategy(){return"all"}static [e.i]="NoopCache";async get(a){}async put(a,b,c,d){}async onMutate(a){}}async function au(a,b){let c=`${a}-${JSON.stringify(b)}`,d=new TextEncoder().encode(c);return[...new Uint8Array(await crypto.subtle.digest("SHA-256",d))].map(a=>a.toString(16).padStart(2,"0")).join("")}class av extends X{constructor(a){super(),this.resultCb=a}static [e.i]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}}class aw{constructor(a,b,c,d,e,f){this.mode=a,this.executeMethod=b,this.query=c,this.cache=d,this.queryMetadata=e,this.cacheConfig=f,d&&"all"===d.strategy()&&void 0===f&&(this.cacheConfig={enable:!0,autoInvalidate:!0}),this.cacheConfig?.enable||(this.cacheConfig=void 0)}static [e.i]="PreparedQuery";joinsNotNullableMap;async queryWithCache(a,b,c){if(void 0===this.cache||(0,e.is)(this.cache,at)||void 0===this.queryMetadata||this.cacheConfig&&!this.cacheConfig.enable)try{return await c()}catch(c){throw new N(a,b,c)}if(("insert"===this.queryMetadata.type||"update"===this.queryMetadata.type||"delete"===this.queryMetadata.type)&&this.queryMetadata.tables.length>0)try{let[a]=await Promise.all([c(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return a}catch(c){throw new N(a,b,c)}if(!this.cacheConfig)try{return await c()}catch(c){throw new N(a,b,c)}if("select"===this.queryMetadata.type){let d=await this.cache.get(this.cacheConfig.tag??await au(a,b),this.queryMetadata.tables,void 0!==this.cacheConfig.tag,this.cacheConfig.autoInvalidate);if(void 0===d){let d;try{d=await c()}catch(c){throw new N(a,b,c)}return await this.cache.put(this.cacheConfig.tag??await au(a,b),d,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],void 0!==this.cacheConfig.tag,this.cacheConfig.config),d}return d}try{return await c()}catch(c){throw new N(a,b,c)}}getQuery(){return this.query}mapRunResult(a,b){return a}mapAllResult(a,b){throw Error("Not implemented")}mapGetResult(a,b){throw Error("Not implemented")}execute(a){return"async"===this.mode?this[this.executeMethod](a):new av(()=>this[this.executeMethod](a))}mapResult(a,b){switch(this.executeMethod){case"run":return this.mapRunResult(a,b);case"all":return this.mapAllResult(a,b);case"get":return this.mapGetResult(a,b)}}}class ax{constructor(a){this.dialect=a}static [e.i]="SQLiteSession";prepareOneTimeQuery(a,b,c,d,e,f,g){return this.prepareQuery(a,b,c,d,e,f,g)}run(a){let b=this.dialect.sqlToQuery(a);try{return this.prepareOneTimeQuery(b,void 0,"run",!1).run()}catch(a){throw new M({cause:a,message:`Failed to run the query '${b.sql}'`})}}extractRawRunValueFromBatchResult(a){return a}all(a){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(a),void 0,"run",!1).all()}extractRawAllValueFromBatchResult(a){throw Error("Not implemented")}get(a){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(a),void 0,"run",!1).get()}extractRawGetValueFromBatchResult(a){throw Error("Not implemented")}values(a){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(a),void 0,"run",!1).values()}async count(a){return(await this.values(a))[0][0]}extractRawValuesValueFromBatchResult(a){throw Error("Not implemented")}}class ay extends ar{constructor(a,b,c,d,e=0){super(a,b,c,d),this.schema=d,this.nestedIndex=e}static [e.i]="SQLiteTransaction";rollback(){throw new O}}class az extends ax{constructor(a,b,c,d={}){super(b),this.client=a,this.schema=c,this.logger=d.logger??new h,this.cache=d.cache??new at}static [e.i]="BetterSQLiteSession";logger;cache;prepareQuery(a,b,c,d,e,f,g){return new aB(this.client.prepare(a.sql),a,this.logger,this.cache,f,g,b,c,d,e)}transaction(a,b={}){let c=new aA("sync",this.dialect,this,this.schema);return this.client.transaction(a)[b.behavior??"deferred"](c)}}class aA extends ay{static [e.i]="BetterSQLiteTransaction";transaction(a){let b=`sp${this.nestedIndex}`,c=new aA("sync",this.dialect,this.session,this.schema,this.nestedIndex+1);this.session.run(q.ll.raw(`savepoint ${b}`));try{let d=a(c);return this.session.run(q.ll.raw(`release savepoint ${b}`)),d}catch(a){throw this.session.run(q.ll.raw(`rollback to savepoint ${b}`)),a}}}class aB extends aw{constructor(a,b,c,d,e,f,g,h,i,j){super("sync",h,b,d,e,f),this.stmt=a,this.logger=c,this.fields=g,this._isResponseInArrayMode=i,this.customResultMapper=j}static [e.i]="BetterSQLitePreparedQuery";run(a){let b=(0,q.Ct)(this.query.params,a??{});return this.logger.logQuery(this.query.sql,b),this.stmt.run(...b)}all(a){let{fields:b,joinsNotNullableMap:c,query:d,logger:e,stmt:f,customResultMapper:g}=this;if(!b&&!g){let b=(0,q.Ct)(d.params,a??{});return e.logQuery(d.sql,b),f.all(...b)}let h=this.values(a);return g?g(h):h.map(a=>(0,R.a6)(b,a,c))}get(a){let b=(0,q.Ct)(this.query.params,a??{});this.logger.logQuery(this.query.sql,b);let{fields:c,stmt:d,joinsNotNullableMap:e,customResultMapper:f}=this;if(!c&&!f)return d.get(...b);let g=d.raw().get(...b);if(g)return f?f([g]):(0,R.a6)(c,g,e)}values(a){let b=(0,q.Ct)(this.query.params,a??{});return this.logger.logQuery(this.query.sql,b),this.stmt.raw().all(...b)}isResponseInArrayMode(){return this._isResponseInArrayMode}}class aC extends ar{static [e.i]="BetterSQLite3Database"}function aD(a,b={}){let c,d,f=new U({casing:b.casing});if(!0===b.logger?c=new g:!1!==b.logger&&(c=b.logger),b.schema){let a=function(a,b){1===Object.keys(a).length&&"default"in a&&!(0,e.is)(a.default,i.XI)&&(a=a.default);let c={},d={},f={};for(let[g,h]of Object.entries(a))if((0,e.is)(h,i.XI)){let a=(0,i.Lf)(h),b=d[a];for(let d of(c[a]=g,f[g]={tsName:g,dbName:h[i.XI.Symbol.Name],schema:h[i.XI.Symbol.Schema],columns:h[i.XI.Symbol.Columns],relations:b?.relations??{},primaryKey:b?.primaryKey??[]},Object.values(h[i.XI.Symbol.Columns])))d.primary&&f[g].primaryKey.push(d);let j=h[i.XI.Symbol.ExtraConfigBuilder]?.(h[i.XI.Symbol.ExtraConfigColumns]);if(j)for(let a of Object.values(j))(0,e.is)(a,n)&&f[g].primaryKey.push(...a.columns)}else if((0,e.is)(h,u)){let a,e=(0,i.Lf)(h.table),g=c[e];for(let[c,i]of Object.entries(h.config(b(h.table))))if(g){let b=f[g];b.relations[c]=i,a&&b.primaryKey.push(...a)}else e in d||(d[e]={relations:{},primaryKey:a}),d[e].relations[c]=i}return{tables:f,tableNamesMap:c}}(b.schema,x);d={fullSchema:b.schema,schema:a.tables,tableNamesMap:a.tableNamesMap}}let h=new az(a,f,d,{logger:c}),j=new aC("sync",f,h,d);return j.$client=a,j}function aE(...a){if(void 0===a[0]||"string"==typeof a[0])return aD(void 0===a[0]?new d:new d(a[0]),a[1]);if((0,R.Lq)(a[0])){let{connection:b,client:c,...e}=a[0];if(c)return aD(c,e);if("object"==typeof b){let{source:a,...c}=b;return aD(new d(a,c),e)}return aD(new d(b),e)}return aD(a[0],a[1])}(aE||(aE={})).mock=function(a){return aD({},a)}}};
@@ -1 +1 @@
1
- "use strict";exports.id=432,exports.ids=[432],exports.modules={432:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>r,GET:()=>p,PUT:()=>q,dynamic:()=>o});var d=c(45592),e=c(29021),f=c.n(e),g=c(33873),h=c.n(g),i=c(79646),j=c(52362),k=c(49295),l=c(69317),m=c(74285),n=c(50804);let o="force-dynamic";async function p(a,b){let c=(0,n.p3)(),{slug:e}=await b.params,g=(0,j.H3)(e,c);if(!g)return d.NextResponse.json({error:`Task "${e}" not found`},{status:404});let h=f().readFileSync(g,"utf-8"),i=(0,l.Ar)((0,j.Xx)(g,h));return d.NextResponse.json(i)}async function q(a,b){let c,e=(0,n.p3)(),{slug:g}=await b.params,i=(0,j.H3)(g,e);if(!i)return d.NextResponse.json({error:`Task "${g}" not found`},{status:404});let l=await a.json();if(l.content&&"string"==typeof l.content)c=l.content;else if("priority"in l){let a,b="none"===(a="boolean"==typeof l.priority?l.priority?"high":"none":"string"==typeof l.priority?l.priority:"none");(0,j.iM)(g,{priority:b?null:a},i,e),(0,k.gm)(e);let c=f().readFileSync(i,"utf-8"),h=(0,j.Xx)(i,c);return d.NextResponse.json(h)}else if("body"in l&&"string"==typeof l.body){c=f().readFileSync(i,"utf-8");let a=(0,j.qg)(c);c=c.substring(0,a)+l.body}else{if(!("title"in l)||"string"!=typeof l.title)return d.NextResponse.json({error:"content, priority, body, or title is required"},{status:400});let a=l.title.trim();if(!a)return d.NextResponse.json({error:"Title cannot be empty"},{status:400});c=(c=f().readFileSync(i,"utf-8")).replace(/^#\s+.+$/m,`# ${a}`);let b=(0,j.JP)(a),n=h().join(h().dirname(i),`${b}.md`);if(b!==g&&f().existsSync(n))return d.NextResponse.json({error:"A task with this name already exists"},{status:409});if(f().writeFileSync(i,c,"utf-8"),(0,k.gm)(e),b!==g){f().renameSync(i,n),(0,k.gm)(e);let a=h().join((0,j.Vd)(e),"images",g),c=h().join((0,j.Vd)(e),"images",b);f().existsSync(a)&&f().renameSync(a,c),(0,m.RP)(g,b,e)}let o=(0,j.Xx)(b!==g?n:i,c);return d.NextResponse.json({...o,newSlug:b!==g?b:void 0})}f().writeFileSync(i,c,"utf-8"),(0,k.gm)(e);let o=(0,j.Xx)(i,c);return d.NextResponse.json(o)}async function r(a,b){let c=(0,n.p3)(),{slug:e}=await b.params,g=(0,j.H3)(e,c);if(!g)return d.NextResponse.json({error:`Task "${e}" not found`},{status:404});let l=f().readFileSync(g,"utf-8"),o=(0,j.Xx)(g,l);if(o.worktree&&(0,n.IL)(o.worktree,!0,c),o.branch)try{(0,i.execFileSync)("git",["branch","-D",o.branch],{encoding:"utf-8",cwd:c})}catch{}f().unlinkSync(g),(0,k.gm)(c);let p=h().join((0,j.Vd)(c),"images",e);return f().existsSync(p)&&f().rmSync(p,{recursive:!0}),(0,m.Dj)(e,c),d.NextResponse.json({deleted:e})}},49295:(a,b,c)=>{c.d(b,{$x:()=>p,gm:()=>o});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(84705),i=c(52362),j=c(80496),k=c(72199);let l=globalThis,m=l.__taskCachesByRoot||(l.__taskCachesByRoot=new Map);function n(a){let b=(0,j.aY)(a),c=m.get(b);return c||(c={data:null,valid:!1,debounceTimer:null,watchersInitialized:!1,watchers:[]},m.set(b,c)),{root:b,state:c}}function o(a){let b=a?null:(0,k.PW)(),{state:c,root:d}=n(a||b||(0,j.aY)());c.valid=!1,c.data=null,(0,i.Nl)(d)}function p(a){let{tasks:b,servedTotal:c}=function(a){let{root:b,state:c}=n(a);if(!function(a){let{state:b}=n(a);if(b.watchersInitialized)return;b.watchersInitialized=!0;for(let a of b.watchers)try{a.close()}catch{}b.watchers=[],b.watchersInitialized=!1;let c=(0,i.Vd)(a),d=[];for(let a of h.cZ){let f=g().join(c,a.directory);if(e().existsSync(f))try{let a=e().watch(f,{recursive:!0},()=>{!function(a){a.debounceTimer&&clearTimeout(a.debounceTimer),a.debounceTimer=setTimeout(()=>{a.valid=!1,a.debounceTimer=null},100)}(b)});a.on("error",()=>{}),d.push(a)}catch{}}b.watchers=d}(b),c.valid&&c.data)return c.data;let d=(0,i.oc)(b);return c.data=d,c.valid=!0,(0,i.Q1)(d.slugIndex,b),d}(a);return{tasks:b,servedTotal:c}}},50804:(a,b,c)=>{c.d(b,{IL:()=>q,MV:()=>p,Mb:()=>s,Qx:()=>o,Zo:()=>r,eM:()=>t,p3:()=>n});var d=c(33873),e=c.n(d),f=c(29021),g=c.n(f),h=c(79646),i=c(52362),j=c(49295),k=c(84632),l=c(80496),m=c(91810);function n(a){return(0,l.aY)(a)}function o(a,b){let c=n(b);if(a.worktree){let b=e().resolve(c,a.worktree);if(g().existsSync(b))return b}return c}function p(a,b,c){let d=n(c),f={encoding:"utf-8",cwd:d},i=(0,m.T)(d),j=`.worktrees/${b??a}`,k=e().resolve(d,j);if(g().existsSync(k)){try{if((0,h.execFileSync)("git",["rev-parse","--abbrev-ref","HEAD"],{encoding:"utf-8",cwd:k}).trim()===a)return j}catch{}(0,h.execFileSync)("git",["worktree","remove","--force",k],f)}let l=e().dirname(k);g().existsSync(l)||g().mkdirSync(l,{recursive:!0});try{let b=(0,h.execFileSync)("git",["branch","--show-current"],f).trim();b===a&&b!==i&&(0,h.execFileSync)("git",["checkout",i],f)}catch{}return(0,h.execFileSync)("git",["worktree","add",j,a],f),j}function q(a,b=!1,c){let d=n(c),f={encoding:"utf-8",cwd:d},i=e().resolve(d,a);if(!g().existsSync(i)){try{(0,h.execFileSync)("git",["worktree","prune"],f)}catch{}return{dirty:!1,removed:!0}}if(!b)try{if((0,h.execFileSync)("git",["status","--porcelain"],{encoding:"utf-8",cwd:i}).trim())return{dirty:!0,removed:!1}}catch{}let j=["worktree","remove"];return b&&j.push("--force"),j.push(i),(0,h.execFileSync)("git",j,f),{dirty:!1,removed:!0}}function r(a,b,c,d){let f=n(d);if(c.branch&&c.worktree){let a=e().resolve(f,c.worktree);if(g().existsSync(a))return c}try{s(b,c.title,f);let d=c.branch;if(!d){let b=c.title.toLowerCase(),e=b.includes("fix")||b.includes("bug")?"fix":"feat";d=`${e}/${a}`;let g={encoding:"utf-8",cwd:f},i=(0,m.T)(f);try{(0,h.execFileSync)("git",["rev-parse","--verify",d],g)}catch{(0,h.execFileSync)("git",["branch",d,i],g)}}let l=(0,k.Jy)(e().resolve(f,".worktrees")),n=p(d,l,f);return(0,i.iM)(a,{branch:d,worktree:n},b,f),(0,j.gm)(f),(0,i.Xx)(b,g().readFileSync(b,"utf-8"))}catch(b){return console.error(`[worktree] Failed to auto-create branch/worktree for "${a}":`,b),c}}function s(a,b,c){let d=n(c),f={encoding:"utf-8",cwd:d},g=e().relative(d,a);try{if(!(0,h.execFileSync)("git",["status","--porcelain","--",g],f).trim())return}catch{return}try{(0,h.execFileSync)("git",["add","--",g],f),(0,h.execFileSync)("git",["commit","-m",`Add task: ${b}`],f)}catch(a){console.error(`[worktree] Failed to auto-commit task file "${g}":`,a)}}function t(a,b){return!!a||!!b}n()},53378:(a,b,c)=>{c.d(b,{U:()=>n,a:()=>o});var d=c(64557),e=c(80496),f=c(72199);let g=globalThis,h=g.__sessionRegistry||(g.__sessionRegistry=new Map),i=g.__sessionCleanupTimers||(g.__sessionCleanupTimers=new Map),j=g.__sessionAliases||(g.__sessionAliases=new Map);function k(a){if(a&&a.trim().length>0)return a.trim();let b=(0,f.dm)();if(b&&b.trim().length>0)return b.trim();let c=(0,f.PW)()||(0,e.aY)();return(0,d.$W)(c)}function l(a){let b=a,c=new Set;for(;j.has(b)&&!c.has(b);)c.add(b),b=j.get(b);return b}function m(a){for(let[b,c]of j.entries())(b===a||c===a)&&j.delete(b)}function n(a){return"string"==typeof a&&a.startsWith("pending-")}let o={register(a){let b=i.get(a.sessionId);b&&(clearTimeout(b),i.delete(a.sessionId));let c=h.get(a.sessionId);h.set(a.sessionId,{...a,repoId:k(a.repoId),provider:a.provider??c?.provider,model:a.model??c?.model,messages:c?.messages??[],status:"running",startedAt:c?.startedAt??Date.now(),completedAt:void 0})},addMessage(a,b){let c=l(a),d=h.get(c);d&&d.messages.push(b)},updateStatus(a,b){let c=l(a),d=h.get(c);if(d&&(d.status=b,"running"!==b)){d.completedAt=Date.now();let a=i.get(c);a&&clearTimeout(a);let b=setTimeout(()=>{h.delete(c),i.delete(c),m(c)},3e5);i.set(c,b)}},get:a=>h.get(l(a)),getByTask(a,b,c,d){let e,f=k(d);for(let d of h.values())d.repoId===f&&d.taskSlug===a&&d.chefSlug===b&&(void 0===c||d.storageId===c)&&(!e||"running"===d.status&&"running"!==e.status||d.startedAt>e.startedAt)&&(e=d);return e},remove(a){let b=l(a);h.delete(b);let c=i.get(b);c&&(clearTimeout(c),i.delete(b)),m(b)},removeByTask(a,b,c){let d=k(c);for(let[c,e]of h.entries())if(e.repoId===d&&e.taskSlug===a&&e.chefSlug===b){h.delete(c);let a=i.get(c);a&&(clearTimeout(a),i.delete(c)),m(c)}},alias(a,b){a&&b&&a!==b&&j.set(a,l(b))},all(a){let b=k(a);return Array.from(h.values()).filter(a=>a.repoId===b)}}},69317:(a,b,c)=>{c.d(b,{Ar:()=>l,hx:()=>k,xC:()=>m});var d=c(53378),e=c(52362),f=c(72199),g=c(64557),h=c(80496);let i=new Map;function j(a){let b=(0,f.dm)()||(0,g.$W)((0,h.aY)());return`${b}:${a}`}function k(a){i.set(j(a),Date.now())}function l(a){if("running"!==a.status)return a;let b=function(a){if(!a.chefName)return"needs_tasting";let b=j(a.slug),c=i.get(b);if(c&&Date.now()-c<1e4)return null;c&&i.delete(b);let e=d.a.getByTask(a.slug,a.chefName);return e?null===e.process.exitCode&&null===e.process.signalCode?null:0===e.process.exitCode?"needs_tasting":"error":"needs_tasting"}(a);if(null===b)return a;let c=a.chefName?d.a.getByTask(a.slug,a.chefName)?`process exited (code ${d.a.getByTask(a.slug,a.chefName)?.process.exitCode??"signal"})`:"no session":"no chef name";console.log(`[reconcile] task "${a.slug}" corrected from running → ${b} (${c})`);try{(0,e.gc)(a.slug,b)}catch{}return{...a,status:b}}function m(a){return a.map(a=>{try{return l(a)}catch{return a}})}},74285:(a,b,c)=>{c.d(b,{CP:()=>q,Dj:()=>x,OE:()=>w,RP:()=>y,S6:()=>t,Yk:()=>r,_e:()=>s,lr:()=>p,nj:()=>v,r$:()=>u});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(25060),i=c(80496);let j=new Set(["agent","agents","agentSlug","agentName","agentPrompt"]);function k(a){if(!e().existsSync(a))return null;let b=JSON.parse(e().readFileSync(a,"utf-8")),c=function a(b,c="$"){if(Array.isArray(b)){for(let d=0;d<b.length;d++){let e=a(b[d],`${c}[${d}]`);if(e)return e}return null}if(!b||"object"!=typeof b)return null;for(let[d,e]of Object.entries(b)){if(j.has(d))return`${c}.${d}`;if("type"===d&&"agent"===e)return`${c}.type`;let b=a(e,`${c}.${d}`);if(b)return b}return null}(b);if(c)throw Error(`[chef-migration] Legacy key detected in ${a} at ${c}. Run "brigade migrate" before starting the app.`);return b}function l(a,b){let c=(0,i.aY)(b),d=(0,h.fh)({createIfMissing:!0,projectRoot:c});return(0,h.J$)(d,c),(0,i.$p)(d.workspaceId,a,c)}function m(a,b){return(0,i.wb)(a,b)}function n(a,b){let c=l(a,b);return e().existsSync(c)?c:m(a,b)}function o(a){e().existsSync(a)||e().mkdirSync(a,{recursive:!0})}function p(a,b,c){let d=g().join(n(a,c),`chat-${b}.json`);try{return k(d)}catch(a){if(a instanceof Error&&a.message.startsWith("[chef-migration]"))throw a;return null}}function q(a,b){let c=l(a,b),d=m(a,b),f=e().existsSync(c)?c:d;if(!e().existsSync(f))return[];let h=[];for(let a of e().readdirSync(f)){let b=a.match(/^chat-(.+)\.json$/);if(!b)continue;let c=g().join(f,a);try{let a=e().statSync(c);if(!a.isFile())continue;h.push({storageId:b[1],filePath:c,mtimeMs:a.mtimeMs})}catch{}}return h.sort((a,b)=>a.mtimeMs!==b.mtimeMs?a.mtimeMs-b.mtimeMs:a.storageId.localeCompare(b.storageId)),h}function r(a,b,c,d){let f=l(a,d);o(f);let h=g().join(f,`chat-${b}.json`);e().writeFileSync(h,JSON.stringify(c),"utf-8")}function s(a,b,c){let d=`chat-${b}.json`;for(let b of[g().join(l(a,c),d),g().join(m(a,c),d)])try{e().unlinkSync(b)}catch{}}function t(a,b){let c=g().join(n(a,b),"workflow.json");try{return k(c)}catch(a){if(a instanceof Error&&a.message.startsWith("[chef-migration]"))throw a;return null}}function u(a,b,c){let d=l(a,c);o(d);let f=g().join(d,"workflow.json");e().writeFileSync(f,JSON.stringify(b),"utf-8")}function v(a,b){let c=g().join(n(a,b),"thread.json");try{return k(c)}catch(a){if(a instanceof Error&&a.message.startsWith("[chef-migration]"))throw a;return null}}function w(a,b,c){let d=l(a,c);o(d);let f=g().join(d,"thread.json");e().writeFileSync(f,JSON.stringify(b),"utf-8")}function x(a,b){for(let c of[l(a,b),m(a,b)])try{e().existsSync(c)&&e().rmSync(c,{recursive:!0})}catch{}}function y(a,b,c){for(let{oldDir:d,newDir:f}of[{oldDir:l(a,c),newDir:l(b,c)},{oldDir:m(a,c),newDir:m(b,c)}])try{if(!e().existsSync(d))continue;if(o(g().dirname(f)),e().existsSync(f)){for(let a of(o(f),e().readdirSync(d))){let b=g().join(d,a),c=g().join(f,a);e().statSync(b).isFile()&&(e().existsSync(c)||e().copyFileSync(b,c))}e().rmSync(d,{recursive:!0,force:!0})}else e().renameSync(d,f)}catch{}}},84632:(a,b,c)=>{c.d(b,{Jy:()=>j});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f);let h=["crispy","smoky","tangy","golden","velvety","rustic","zesty","savory","tender","spicy","buttery","roasted","seared","braised","pickled","candied","toasted","silky","hearty","chunky","flaky","charred","glazed","peppered","herbed","smoked","whipped","caramel","sizzling","grilled"],i=["tempura","risotto","tiramisu","goulash","ceviche","ratatouille","brisket","pavlova","focaccia","biryani","shakshuka","tagine","paella","carbonara","bruschetta","gnocchi","calzone","arancini","gazpacho","moussaka","falafel","schnitzel","pierogi","empanada","bibimbap","katsu","teriyaki","bulgogi","gyoza","ramen","baklava","churros","strudel","crumble","brioche","croissant","tartare","gratin","galette","souffle","carpaccio","cioppino","panna-cotta","osso-buco","pad-thai","poke-bowl","dim-sum","coq-au-vin","bouillabaisse","tarte-tatin"];function j(a){let b;try{b=new Set(e().readdirSync(a).filter(b=>{try{return e().statSync(g().join(a,b)).isDirectory()}catch{return!1}}))}catch{b=new Set}let c=[];for(let a of h)for(let d of i){let e=`${a}-${d}`;b.has(e)||c.push(e)}if(c.length>0)return c[Math.floor(Math.random()*c.length)];let d=h[Math.floor(Math.random()*h.length)],f=i[Math.floor(Math.random()*i.length)],j=Math.floor(900*Math.random()+100);return`${d}-${f}-${j}`}},91810:(a,b,c)=>{c.d(b,{T:()=>e});var d=c(79646);function e(a){try{let b=(0,d.execFileSync)("git",["symbolic-ref","--short","refs/remotes/origin/HEAD"],{cwd:a,encoding:"utf-8"}).trim();if(b.startsWith("origin/"))return b.slice(7)}catch{}for(let b of["main","master","trunk","develop"])if(function(a,b){try{return(0,d.execFileSync)("git",["show-ref","--verify","--quiet",`refs/heads/${a}`],{cwd:b,stdio:"ignore"}),!0}catch{return!1}}(b,a)||function(a,b){try{return(0,d.execFileSync)("git",["show-ref","--verify","--quiet",`refs/remotes/origin/${a}`],{cwd:b,stdio:"ignore"}),!0}catch{return!1}}(b,a))return b;try{let b=(0,d.execFileSync)("git",["branch","--show-current"],{cwd:a,encoding:"utf-8"}).trim();if(b)return b}catch{}return"main"}}};
1
+ "use strict";exports.id=432,exports.ids=[432],exports.modules={432:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>u,GET:()=>s,PUT:()=>t,dynamic:()=>r});var d=c(45592),e=c(29021),f=c.n(e),g=c(33873),h=c.n(g),i=c(79646),j=c(52362),k=c(35860),l=c(50804),m=c(91810),n=c(53378),o=c(72199),p=c(80496),q=c(61597);let r="force-dynamic";async function s(a,b){let c=(0,l.p3)(),e=(0,o.dm)()??"";(0,q.t)(c,e);let{slug:f}=await b.params,g=(0,q.mc)(f,e,c);if(!g)return d.NextResponse.json({error:`Task "${f}" not found`},{status:404});let h=(0,k.Ar)(g),i=h.worktree?void 0:(0,m.T)(c);return d.NextResponse.json({...h,defaultBranch:i})}async function t(a,b){let c=(0,l.p3)(),e=(0,o.dm)()??"";(0,q.t)(c,e);let{slug:g}=await b.params;if(!(0,q.mc)(g,e,c))return d.NextResponse.json({error:`Task "${g}" not found`},{status:404});let i=await a.json();if(i.content&&"string"==typeof i.content){let a=(0,q.lC)(g,{body:i.content},e,c);return d.NextResponse.json(a)}if("priority"in i){let a;a="boolean"==typeof i.priority?i.priority?"high":"none":"string"==typeof i.priority?i.priority:"none";let b=(0,q.lC)(g,{priority:a},e,c);return d.NextResponse.json(b)}if("body"in i&&"string"==typeof i.body){let a=(0,q.lC)(g,{body:i.body},e,c);return d.NextResponse.json(a)}{if(!("title"in i)||"string"!=typeof i.title)return d.NextResponse.json({error:"content, priority, body, or title is required"},{status:400});let a=i.title.trim();if(!a)return d.NextResponse.json({error:"Title cannot be empty"},{status:400});let b=(0,j.JP)(a);if(!b)return d.NextResponse.json({error:"Title must include letters or numbers"},{status:400});let k=b;if(k!==g){let a=1;for(;(0,q.eW)(k,e,c);)a++,k=`${b}-${a}`}if(k!==g){(0,q.AI)(g,k,a,e,c),(0,q.lA)(g,k,e,c),(0,q.tL)(g,k,e,c);let b=h().join((0,p.Vd)(c),"images",g),d=h().join((0,p.Vd)(c),"images",k);f().existsSync(b)&&f().renameSync(b,d)}else(0,q.lC)(g,{title:a},e,c);let l=(0,q.mc)(k,e,c);return d.NextResponse.json({...l,newSlug:k!==g?k:void 0})}}async function u(a,b){let c=(0,l.p3)(),e=(0,o.dm)()??"";(0,q.t)(c,e);let{slug:g}=await b.params,j=(0,q.mc)(g,e,c);if(!j)return d.NextResponse.json({error:`Task "${g}" not found`},{status:404});if(n.a.terminateByTaskSlug(g),j.worktree)try{(0,l.IL)(j.worktree,!0,c)}catch(a){console.error(`[delete] Failed to remove worktree "${j.worktree}" — continuing:`,a)}if(j.branch)try{(0,i.execFileSync)("git",["branch","-D",j.branch],{cwd:c,stdio:"ignore",timeout:1e4})}catch{}(0,q.vq)(g,e,c),(0,q.je)(g,e,c),(0,q.L6)(g,e,c);let k=(0,p.Vd)(c);for(let a of["1-pantry","2-mise-en-place","3-firing","4-review","5-served"]){let b=h().join(k,a,`${g}.md`);if(f().existsSync(b))try{f().unlinkSync(b)}catch{}}let m=h().join(k,"images",g);f().existsSync(m)&&f().rmSync(m,{recursive:!0});let r=h().join(k,".data",g);return f().existsSync(r)&&f().rmSync(r,{recursive:!0}),d.NextResponse.json({deleted:g})}}};
@@ -1 +1 @@
1
- "use strict";exports.id=471,exports.ids=[471],exports.modules={471:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>h,GET:()=>g,dynamic:()=>f});var d=c(45592),e=c(53378);let f="force-dynamic";async function g(a){let b=a.nextUrl.searchParams.get("taskSlug"),c=a.nextUrl.searchParams.get("chefSlug"),f=a.nextUrl.searchParams.get("storageId");if(!b||!c)return d.NextResponse.json({error:"taskSlug and chefSlug are required"},{status:400});let g=e.a.getByTask(b,c,f||void 0);return g?d.NextResponse.json({sessionId:g.sessionId,provisional:(0,e.U)(g.sessionId),status:g.status,messageCount:g.messages.length}):d.NextResponse.json({sessionId:null,status:null})}async function h(a){let b=a.nextUrl.searchParams.get("taskSlug"),c=a.nextUrl.searchParams.get("chefSlug");return b&&c?(e.a.removeByTask(b,c),d.NextResponse.json({ok:!0})):d.NextResponse.json({error:"taskSlug and chefSlug are required"},{status:400})}},53378:(a,b,c)=>{c.d(b,{U:()=>n,a:()=>o});var d=c(64557),e=c(80496),f=c(72199);let g=globalThis,h=g.__sessionRegistry||(g.__sessionRegistry=new Map),i=g.__sessionCleanupTimers||(g.__sessionCleanupTimers=new Map),j=g.__sessionAliases||(g.__sessionAliases=new Map);function k(a){if(a&&a.trim().length>0)return a.trim();let b=(0,f.dm)();if(b&&b.trim().length>0)return b.trim();let c=(0,f.PW)()||(0,e.aY)();return(0,d.$W)(c)}function l(a){let b=a,c=new Set;for(;j.has(b)&&!c.has(b);)c.add(b),b=j.get(b);return b}function m(a){for(let[b,c]of j.entries())(b===a||c===a)&&j.delete(b)}function n(a){return"string"==typeof a&&a.startsWith("pending-")}let o={register(a){let b=i.get(a.sessionId);b&&(clearTimeout(b),i.delete(a.sessionId));let c=h.get(a.sessionId);h.set(a.sessionId,{...a,repoId:k(a.repoId),provider:a.provider??c?.provider,model:a.model??c?.model,messages:c?.messages??[],status:"running",startedAt:c?.startedAt??Date.now(),completedAt:void 0})},addMessage(a,b){let c=l(a),d=h.get(c);d&&d.messages.push(b)},updateStatus(a,b){let c=l(a),d=h.get(c);if(d&&(d.status=b,"running"!==b)){d.completedAt=Date.now();let a=i.get(c);a&&clearTimeout(a);let b=setTimeout(()=>{h.delete(c),i.delete(c),m(c)},3e5);i.set(c,b)}},get:a=>h.get(l(a)),getByTask(a,b,c,d){let e,f=k(d);for(let d of h.values())d.repoId===f&&d.taskSlug===a&&d.chefSlug===b&&(void 0===c||d.storageId===c)&&(!e||"running"===d.status&&"running"!==e.status||d.startedAt>e.startedAt)&&(e=d);return e},remove(a){let b=l(a);h.delete(b);let c=i.get(b);c&&(clearTimeout(c),i.delete(b)),m(b)},removeByTask(a,b,c){let d=k(c);for(let[c,e]of h.entries())if(e.repoId===d&&e.taskSlug===a&&e.chefSlug===b){h.delete(c);let a=i.get(c);a&&(clearTimeout(a),i.delete(c)),m(c)}},alias(a,b){a&&b&&a!==b&&j.set(a,l(b))},all(a){let b=k(a);return Array.from(h.values()).filter(a=>a.repoId===b)}}}};
1
+ "use strict";exports.id=471,exports.ids=[471],exports.modules={471:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>h,GET:()=>g,dynamic:()=>f});var d=c(45592),e=c(53378);let f="force-dynamic";async function g(a){let b=a.nextUrl.searchParams.get("taskSlug"),c=a.nextUrl.searchParams.get("storageId");if(!b||!c)return d.NextResponse.json({error:"taskSlug and storageId are required"},{status:400});let f=e.a.getByTask(b,c);return f?d.NextResponse.json({sessionId:f.sessionId,provisional:(0,e.U)(f.sessionId),status:f.status,awaitingInput:"needs_tasting"===f.status,messageCount:f.messages.length}):d.NextResponse.json({sessionId:null,status:null,awaitingInput:!1})}async function h(a){let b=a.nextUrl.searchParams.get("taskSlug"),c=a.nextUrl.searchParams.get("storageId");return b&&c?(e.a.removeByTask(b,c),d.NextResponse.json({ok:!0})):d.NextResponse.json({error:"taskSlug and storageId are required"},{status:400})}},53378:(a,b,c)=>{c.d(b,{U:()=>u,a:()=>v});var d=c(64557),e=c(80496),f=c(72199);let g=globalThis,h=g.__sessionRegistry||(g.__sessionRegistry=new Map),i=g.__sessionCleanupTimers||(g.__sessionCleanupTimers=new Map),j=g.__sessionAliases||(g.__sessionAliases=new Map),k=g.__sessionProvisionalWatchdogs||(g.__sessionProvisionalWatchdogs=new Map),l=g.__sessionAssistantActivityAt||(g.__sessionAssistantActivityAt=new Map),m="Run timed out before assistant output. Please retry.";function n(a){if(a&&a.trim().length>0)return a.trim();let b=(0,f.dm)();if(b&&b.trim().length>0)return b.trim();let c=(0,f.PW)()||(0,e.aY)();return(0,d.$W)(c)}function o(a){let b=a,c=new Set;for(;j.has(b)&&!c.has(b);)c.add(b),b=j.get(b);return b}function p(a){for(let[b,c]of j.entries())(b===a||c===a)&&j.delete(b)}function q(a){let b=i.get(a);b&&(clearTimeout(b),i.delete(a))}function r(a){let b=k.get(a);b&&(clearTimeout(b),k.delete(a))}function s(a){return null===a.process.exitCode&&null===a.process.signalCode}function t(a){if(r(a),!u(a))return;let b=h.get(a);if(!b||"running"!==b.status||l.has(a))return;let c=setTimeout(()=>{let b=o(a),c=h.get(b);if(c&&u(c.sessionId)&&"running"===c.status&&!(!s(c)||l.has(b))){try{c.process.kill("SIGTERM")}catch{}c.inProgressMessage=void 0,c.messages.push({id:`assistant-timeout-${Date.now()}`,role:"assistant",content:m,blocks:[{type:"error",message:m}]}),v.updateStatus(b,"error")}},9e4);k.set(a,c)}function u(a){return"string"==typeof a&&a.startsWith("pending-")}let v={register(a){q(a.sessionId);let b=h.get(a.sessionId);h.set(a.sessionId,{...a,repoId:n(a.repoId),provider:a.provider??b?.provider,model:a.model??b?.model,messages:b?.messages??[],status:"running",startedAt:b?.startedAt??Date.now(),completedAt:void 0}),t(a.sessionId)},addMessage(a,b){let c=o(a),d=h.get(c);d&&(d.messages.push(b),"assistant"===b.role&&v.markAssistantActivity(c))},markAssistantActivity(a){let b=o(a);h.has(b)&&(l.set(b,Date.now()),r(b))},updateStatus(a,b){let c=o(a),d=h.get(c);if(d){if(d.status=b,"running"!==b){r(c),q(c);let a=null!=d.process.exitCode||null!=d.process.signalCode;if("needs_tasting"===b&&!a){d.completedAt=void 0;return}d.completedAt=Date.now();let e=setTimeout(()=>{h.delete(c),q(c),r(c),l.delete(c),p(c)},3e5);i.set(c,e);return}t(c)}},get:a=>h.get(o(a)),getByTask(a,b,c){let d,e=n(c);for(let c of h.values())c.repoId===e&&c.taskSlug===a&&c.storageId===b&&(!d||"running"===c.status&&"running"!==d.status||c.startedAt>d.startedAt)&&(d=c);return d},listByTask(a,b,c){let d=n(c);return Array.from(h.values()).filter(c=>c.repoId===d&&c.taskSlug===a&&c.storageId===b).sort((a,b)=>b.startedAt-a.startedAt)},listRunningLiveByTask:(a,b,c)=>v.listByTask(a,b,c).filter(a=>"running"===a.status&&s(a)),remove(a){let b=o(a);h.delete(b),q(b),r(b),l.delete(b),p(b)},removeByTask(a,b,c){let d=n(c);for(let[c,e]of h.entries())e.repoId===d&&e.taskSlug===a&&e.storageId===b&&(h.delete(c),q(c),r(c),l.delete(c),p(c))},terminateByTaskSlug(a,b){let c=n(b),d=Array.from(h.entries()).filter(([,b])=>b.repoId===c&&b.taskSlug===a).map(([a])=>a);for(let a of d){let b=h.get(a);if(b&&null===b.process.exitCode&&null===b.process.signalCode)try{b.process.kill("SIGTERM")}catch{}h.delete(a),q(a),r(a),l.delete(a),p(a)}return d},alias(a,b){a&&b&&a!==b&&(r(a),l.delete(a),j.set(a,o(b)))},all(a){let b=n(a);return Array.from(h.values()).filter(a=>a.repoId===b)}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=4869,exports.ids=[4869],exports.modules={74869:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>m,GET:()=>l,POST:()=>k,dynamic:()=>j});var d=c(45592),e=c(29021),f=c.n(e),g=c(52362),h=c(99067),i=c(72199);let j="force-dynamic";async function k(a,b){let{slug:c}=await b.params,e=(0,i.dm)(),j=e?`/api/repos/${encodeURIComponent(e)}`:"/api",k=(0,h.Pu)(c,e||void 0);if(k&&("running"===k.phase||"awaiting_review"===k.phase))return d.NextResponse.json({error:"Handoff already in progress"},{status:409});let l=(0,g.H3)(c);if(!l)return d.NextResponse.json({error:"Task not found"},{status:404});let m=f().readFileSync(l,"utf-8"),n=(0,g.Xx)(l,m);if(!n.branch)return d.NextResponse.json({error:"No branch associated with this task"},{status:400});let o=(0,h.xd)(c,e||void 0),p=a.nextUrl.origin;return(0,h.gD)(c,n.title,p,j,e||void 0).catch(()=>{let a=(0,h.Pu)(c,e||void 0);a&&"running"===a.phase&&(a.phase="error",a.errorMessage="Pipeline crashed unexpectedly")}),d.NextResponse.json({status:"started",...(0,h.ak)(o)})}async function l(a,b){let{slug:c}=await b.params,e=(0,i.dm)(),f=(0,h.Pu)(c,e||void 0);return f?d.NextResponse.json((0,h.ak)(f)):d.NextResponse.json({phase:"idle"})}async function m(a,b){let{slug:c}=await b.params,e=(0,i.dm)();return(0,h.T)(c,e||void 0)?d.NextResponse.json({status:"cancelled"}):d.NextResponse.json({error:"No active handoff to cancel"},{status:404})}}};
1
+ "use strict";exports.id=4869,exports.ids=[4869],exports.modules={74869:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>k,GET:()=>j,POST:()=>i,dynamic:()=>h});var d=c(45592),e=c(61597),f=c(99067),g=c(72199);let h="force-dynamic";async function i(a,b){let{slug:c}=await b.params,h=(0,g.dm)(),i=h?`/api/repos/${encodeURIComponent(h)}`:"/api",j=(0,f.Pu)(c,h||void 0);if(j&&("running"===j.phase||"awaiting_review"===j.phase))return d.NextResponse.json({error:"Handoff already in progress",...(0,f.ak)(j)},{status:409});let k=h||"";(0,e.t)(void 0,k);let l=(0,e.mc)(c,k);if(!l)return d.NextResponse.json({error:"Task not found"},{status:404});let m=(0,f.xd)(c,h||void 0),n=a.nextUrl.origin;return(l.branch?(0,f.gD)(c,l.title,n,i,h||void 0):(0,f.DS)(c,n,i,h||void 0)).catch(()=>{let a=(0,f.Pu)(c,h||void 0);a&&"running"===a.phase&&(a.phase="error",a.errorMessage="Pipeline crashed unexpectedly")}),d.NextResponse.json({status:"started",...(0,f.ak)(m)})}async function j(a,b){let{slug:c}=await b.params,e=(0,g.dm)(),h=(0,f.Pu)(c,e||void 0);return h?d.NextResponse.json((0,f.ak)(h)):d.NextResponse.json({phase:"idle"})}async function k(a,b){let{slug:c}=await b.params,e=(0,g.dm)();return(0,f.T)(c,e||void 0)?d.NextResponse.json({status:"cancelled"}):d.NextResponse.json({error:"No active handoff to cancel"},{status:404})}}};