tower-studio 0.1.3 → 0.1.5

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 (872) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-path-routes-manifest.json +41 -0
  3. package/.next/build/chunks/0kjx__pnpm_05m.mc_._.js +6681 -0
  4. package/.next/build/chunks/[root-of-the-server]__0a5dngl._.js +206 -0
  5. package/.next/build/chunks/[root-of-the-server]__13e2v6w._.js +500 -0
  6. package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0y_r.ay._.js +13 -0
  7. package/.next/build/chunks/[turbopack]_runtime.js +890 -0
  8. package/.next/build/package.json +1 -0
  9. package/.next/build/postcss.js +6 -0
  10. package/.next/build-manifest.json +22 -0
  11. package/.next/cache/.previewinfo +1 -0
  12. package/.next/cache/.rscinfo +1 -0
  13. package/.next/cache/.tsbuildinfo +1 -0
  14. package/.next/diagnostics/build-diagnostics.json +6 -0
  15. package/.next/diagnostics/framework.json +1 -0
  16. package/.next/diagnostics/route-bundle-stats.json +299 -0
  17. package/.next/export-marker.json +6 -0
  18. package/.next/fallback-build-manifest.json +13 -0
  19. package/.next/images-manifest.json +68 -0
  20. package/.next/next-minimal-server.js.nft.json +1 -0
  21. package/.next/next-server.js.nft.json +1 -0
  22. package/.next/package.json +1 -0
  23. package/.next/prerender-manifest.json +278 -0
  24. package/.next/required-server-files.js +339 -0
  25. package/.next/required-server-files.json +339 -0
  26. package/.next/routes-manifest.json +312 -0
  27. package/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
  28. package/.next/server/app/_global-error/page/build-manifest.json +18 -0
  29. package/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
  30. package/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
  31. package/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
  32. package/.next/server/app/_global-error/page.js +12 -0
  33. package/.next/server/app/_global-error/page.js.nft.json +1 -0
  34. package/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
  35. package/.next/server/app/_global-error.html +1 -0
  36. package/.next/server/app/_global-error.meta +15 -0
  37. package/.next/server/app/_global-error.rsc +15 -0
  38. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
  39. package/.next/server/app/_global-error.segments/_full.segment.rsc +15 -0
  40. package/.next/server/app/_global-error.segments/_head.segment.rsc +6 -0
  41. package/.next/server/app/_global-error.segments/_index.segment.rsc +5 -0
  42. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  43. package/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
  44. package/.next/server/app/_not-found/page/build-manifest.json +18 -0
  45. package/.next/server/app/_not-found/page/next-font-manifest.json +11 -0
  46. package/.next/server/app/_not-found/page/react-loadable-manifest.json +16 -0
  47. package/.next/server/app/_not-found/page/server-reference-manifest.json +233 -0
  48. package/.next/server/app/_not-found/page.js +20 -0
  49. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  50. package/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
  51. package/.next/server/app/_not-found.html +1 -0
  52. package/.next/server/app/_not-found.meta +16 -0
  53. package/.next/server/app/_not-found.rsc +24 -0
  54. package/.next/server/app/_not-found.segments/_full.segment.rsc +24 -0
  55. package/.next/server/app/_not-found.segments/_head.segment.rsc +6 -0
  56. package/.next/server/app/_not-found.segments/_index.segment.rsc +12 -0
  57. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
  58. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +5 -0
  59. package/.next/server/app/_not-found.segments/_tree.segment.rsc +4 -0
  60. package/.next/server/app/api/adapters/test/route/app-paths-manifest.json +3 -0
  61. package/.next/server/app/api/adapters/test/route/build-manifest.json +9 -0
  62. package/.next/server/app/api/adapters/test/route/server-reference-manifest.json +4 -0
  63. package/.next/server/app/api/adapters/test/route.js +9 -0
  64. package/.next/server/app/api/adapters/test/route.js.nft.json +1 -0
  65. package/.next/server/app/api/adapters/test/route_client-reference-manifest.js +3 -0
  66. package/.next/server/app/api/browse-fs/route/app-paths-manifest.json +3 -0
  67. package/.next/server/app/api/browse-fs/route/build-manifest.json +9 -0
  68. package/.next/server/app/api/browse-fs/route/server-reference-manifest.json +4 -0
  69. package/.next/server/app/api/browse-fs/route.js +7 -0
  70. package/.next/server/app/api/browse-fs/route.js.nft.json +1 -0
  71. package/.next/server/app/api/browse-fs/route_client-reference-manifest.js +3 -0
  72. package/.next/server/app/api/files/assets/[projectId]/[filename]/route/app-paths-manifest.json +3 -0
  73. package/.next/server/app/api/files/assets/[projectId]/[filename]/route/build-manifest.json +9 -0
  74. package/.next/server/app/api/files/assets/[projectId]/[filename]/route/server-reference-manifest.json +4 -0
  75. package/.next/server/app/api/files/assets/[projectId]/[filename]/route.js +7 -0
  76. package/.next/server/app/api/files/assets/[projectId]/[filename]/route.js.nft.json +1 -0
  77. package/.next/server/app/api/files/assets/[projectId]/[filename]/route_client-reference-manifest.js +3 -0
  78. package/.next/server/app/api/git/route/app-paths-manifest.json +3 -0
  79. package/.next/server/app/api/git/route/build-manifest.json +9 -0
  80. package/.next/server/app/api/git/route/server-reference-manifest.json +4 -0
  81. package/.next/server/app/api/git/route.js +8 -0
  82. package/.next/server/app/api/git/route.js.nft.json +1 -0
  83. package/.next/server/app/api/git/route_client-reference-manifest.js +3 -0
  84. package/.next/server/app/api/internal/assets/[projectId]/[filename]/route/app-paths-manifest.json +3 -0
  85. package/.next/server/app/api/internal/assets/[projectId]/[filename]/route/build-manifest.json +9 -0
  86. package/.next/server/app/api/internal/assets/[projectId]/[filename]/route/server-reference-manifest.json +4 -0
  87. package/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js +7 -0
  88. package/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js.nft.json +1 -0
  89. package/.next/server/app/api/internal/assets/[projectId]/[filename]/route_client-reference-manifest.js +3 -0
  90. package/.next/server/app/api/internal/assets/reveal/route/app-paths-manifest.json +3 -0
  91. package/.next/server/app/api/internal/assets/reveal/route/build-manifest.json +9 -0
  92. package/.next/server/app/api/internal/assets/reveal/route/server-reference-manifest.json +4 -0
  93. package/.next/server/app/api/internal/assets/reveal/route.js +7 -0
  94. package/.next/server/app/api/internal/assets/reveal/route.js.nft.json +1 -0
  95. package/.next/server/app/api/internal/assets/reveal/route_client-reference-manifest.js +3 -0
  96. package/.next/server/app/api/internal/assistant/chat/route/app-paths-manifest.json +3 -0
  97. package/.next/server/app/api/internal/assistant/chat/route/build-manifest.json +9 -0
  98. package/.next/server/app/api/internal/assistant/chat/route/server-reference-manifest.json +4 -0
  99. package/.next/server/app/api/internal/assistant/chat/route.js +7 -0
  100. package/.next/server/app/api/internal/assistant/chat/route.js.nft.json +1 -0
  101. package/.next/server/app/api/internal/assistant/chat/route_client-reference-manifest.js +3 -0
  102. package/.next/server/app/api/internal/assistant/images/route/app-paths-manifest.json +3 -0
  103. package/.next/server/app/api/internal/assistant/images/route/build-manifest.json +9 -0
  104. package/.next/server/app/api/internal/assistant/images/route/server-reference-manifest.json +4 -0
  105. package/.next/server/app/api/internal/assistant/images/route.js +9 -0
  106. package/.next/server/app/api/internal/assistant/images/route.js.nft.json +1 -0
  107. package/.next/server/app/api/internal/assistant/images/route_client-reference-manifest.js +3 -0
  108. package/.next/server/app/api/internal/assistant/route/app-paths-manifest.json +3 -0
  109. package/.next/server/app/api/internal/assistant/route/build-manifest.json +9 -0
  110. package/.next/server/app/api/internal/assistant/route/server-reference-manifest.json +4 -0
  111. package/.next/server/app/api/internal/assistant/route.js +7 -0
  112. package/.next/server/app/api/internal/assistant/route.js.nft.json +1 -0
  113. package/.next/server/app/api/internal/assistant/route_client-reference-manifest.js +3 -0
  114. package/.next/server/app/api/internal/assistant/sessions/route/app-paths-manifest.json +3 -0
  115. package/.next/server/app/api/internal/assistant/sessions/route/build-manifest.json +9 -0
  116. package/.next/server/app/api/internal/assistant/sessions/route/server-reference-manifest.json +4 -0
  117. package/.next/server/app/api/internal/assistant/sessions/route.js +7 -0
  118. package/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +1 -0
  119. package/.next/server/app/api/internal/assistant/sessions/route_client-reference-manifest.js +3 -0
  120. package/.next/server/app/api/internal/cache/[...segments]/route/app-paths-manifest.json +3 -0
  121. package/.next/server/app/api/internal/cache/[...segments]/route/build-manifest.json +9 -0
  122. package/.next/server/app/api/internal/cache/[...segments]/route/server-reference-manifest.json +4 -0
  123. package/.next/server/app/api/internal/cache/[...segments]/route.js +7 -0
  124. package/.next/server/app/api/internal/cache/[...segments]/route.js.nft.json +1 -0
  125. package/.next/server/app/api/internal/cache/[...segments]/route_client-reference-manifest.js +3 -0
  126. package/.next/server/app/api/internal/hooks/install/route/app-paths-manifest.json +3 -0
  127. package/.next/server/app/api/internal/hooks/install/route/build-manifest.json +9 -0
  128. package/.next/server/app/api/internal/hooks/install/route/server-reference-manifest.json +4 -0
  129. package/.next/server/app/api/internal/hooks/install/route.js +7 -0
  130. package/.next/server/app/api/internal/hooks/install/route.js.nft.json +1 -0
  131. package/.next/server/app/api/internal/hooks/install/route_client-reference-manifest.js +3 -0
  132. package/.next/server/app/api/internal/hooks/session/route/app-paths-manifest.json +3 -0
  133. package/.next/server/app/api/internal/hooks/session/route/build-manifest.json +9 -0
  134. package/.next/server/app/api/internal/hooks/session/route/server-reference-manifest.json +4 -0
  135. package/.next/server/app/api/internal/hooks/session/route.js +7 -0
  136. package/.next/server/app/api/internal/hooks/session/route.js.nft.json +1 -0
  137. package/.next/server/app/api/internal/hooks/session/route_client-reference-manifest.js +3 -0
  138. package/.next/server/app/api/internal/hooks/stop/route/app-paths-manifest.json +3 -0
  139. package/.next/server/app/api/internal/hooks/stop/route/build-manifest.json +9 -0
  140. package/.next/server/app/api/internal/hooks/stop/route/server-reference-manifest.json +4 -0
  141. package/.next/server/app/api/internal/hooks/stop/route.js +8 -0
  142. package/.next/server/app/api/internal/hooks/stop/route.js.nft.json +1 -0
  143. package/.next/server/app/api/internal/hooks/stop/route_client-reference-manifest.js +3 -0
  144. package/.next/server/app/api/internal/hooks/upload/route/app-paths-manifest.json +3 -0
  145. package/.next/server/app/api/internal/hooks/upload/route/build-manifest.json +9 -0
  146. package/.next/server/app/api/internal/hooks/upload/route/server-reference-manifest.json +4 -0
  147. package/.next/server/app/api/internal/hooks/upload/route.js +7 -0
  148. package/.next/server/app/api/internal/hooks/upload/route.js.nft.json +1 -0
  149. package/.next/server/app/api/internal/hooks/upload/route_client-reference-manifest.js +3 -0
  150. package/.next/server/app/api/internal/notifications/pending/route/app-paths-manifest.json +3 -0
  151. package/.next/server/app/api/internal/notifications/pending/route/build-manifest.json +9 -0
  152. package/.next/server/app/api/internal/notifications/pending/route/server-reference-manifest.json +4 -0
  153. package/.next/server/app/api/internal/notifications/pending/route.js +7 -0
  154. package/.next/server/app/api/internal/notifications/pending/route.js.nft.json +1 -0
  155. package/.next/server/app/api/internal/notifications/pending/route_client-reference-manifest.js +3 -0
  156. package/.next/server/app/api/internal/terminal/[taskId]/buffer/route/app-paths-manifest.json +3 -0
  157. package/.next/server/app/api/internal/terminal/[taskId]/buffer/route/build-manifest.json +9 -0
  158. package/.next/server/app/api/internal/terminal/[taskId]/buffer/route/server-reference-manifest.json +4 -0
  159. package/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js +8 -0
  160. package/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js.nft.json +1 -0
  161. package/.next/server/app/api/internal/terminal/[taskId]/buffer/route_client-reference-manifest.js +3 -0
  162. package/.next/server/app/api/internal/terminal/[taskId]/input/route/app-paths-manifest.json +3 -0
  163. package/.next/server/app/api/internal/terminal/[taskId]/input/route/build-manifest.json +9 -0
  164. package/.next/server/app/api/internal/terminal/[taskId]/input/route/server-reference-manifest.json +4 -0
  165. package/.next/server/app/api/internal/terminal/[taskId]/input/route.js +8 -0
  166. package/.next/server/app/api/internal/terminal/[taskId]/input/route.js.nft.json +1 -0
  167. package/.next/server/app/api/internal/terminal/[taskId]/input/route_client-reference-manifest.js +3 -0
  168. package/.next/server/app/api/internal/terminal/[taskId]/start/route/app-paths-manifest.json +3 -0
  169. package/.next/server/app/api/internal/terminal/[taskId]/start/route/build-manifest.json +9 -0
  170. package/.next/server/app/api/internal/terminal/[taskId]/start/route/server-reference-manifest.json +4 -0
  171. package/.next/server/app/api/internal/terminal/[taskId]/start/route.js +10 -0
  172. package/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +1 -0
  173. package/.next/server/app/api/internal/terminal/[taskId]/start/route_client-reference-manifest.js +3 -0
  174. package/.next/server/app/api/tasks/[taskId]/diff/route/app-paths-manifest.json +3 -0
  175. package/.next/server/app/api/tasks/[taskId]/diff/route/build-manifest.json +9 -0
  176. package/.next/server/app/api/tasks/[taskId]/diff/route/server-reference-manifest.json +4 -0
  177. package/.next/server/app/api/tasks/[taskId]/diff/route.js +8 -0
  178. package/.next/server/app/api/tasks/[taskId]/diff/route.js.nft.json +1 -0
  179. package/.next/server/app/api/tasks/[taskId]/diff/route_client-reference-manifest.js +3 -0
  180. package/.next/server/app/api/tasks/[taskId]/merge/route/app-paths-manifest.json +3 -0
  181. package/.next/server/app/api/tasks/[taskId]/merge/route/build-manifest.json +9 -0
  182. package/.next/server/app/api/tasks/[taskId]/merge/route/server-reference-manifest.json +4 -0
  183. package/.next/server/app/api/tasks/[taskId]/merge/route.js +9 -0
  184. package/.next/server/app/api/tasks/[taskId]/merge/route.js.nft.json +1 -0
  185. package/.next/server/app/api/tasks/[taskId]/merge/route_client-reference-manifest.js +3 -0
  186. package/.next/server/app/apple-icon.png/route/app-paths-manifest.json +3 -0
  187. package/.next/server/app/apple-icon.png/route/build-manifest.json +9 -0
  188. package/.next/server/app/apple-icon.png/route.js +8 -0
  189. package/.next/server/app/apple-icon.png/route.js.nft.json +1 -0
  190. package/.next/server/app/apple-icon.png.meta +1 -0
  191. package/.next/server/app/favicon.ico/route/app-paths-manifest.json +3 -0
  192. package/.next/server/app/favicon.ico/route/build-manifest.json +9 -0
  193. package/.next/server/app/favicon.ico/route.js +8 -0
  194. package/.next/server/app/favicon.ico/route.js.nft.json +1 -0
  195. package/.next/server/app/favicon.ico.meta +1 -0
  196. package/.next/server/app/icon0.svg/route/app-paths-manifest.json +3 -0
  197. package/.next/server/app/icon0.svg/route/build-manifest.json +9 -0
  198. package/.next/server/app/icon0.svg/route.js +8 -0
  199. package/.next/server/app/icon0.svg/route.js.nft.json +1 -0
  200. package/.next/server/app/icon0.svg.meta +1 -0
  201. package/.next/server/app/icon1.png/route/app-paths-manifest.json +3 -0
  202. package/.next/server/app/icon1.png/route/build-manifest.json +9 -0
  203. package/.next/server/app/icon1.png/route.js +8 -0
  204. package/.next/server/app/icon1.png/route.js.nft.json +1 -0
  205. package/.next/server/app/icon1.png.meta +1 -0
  206. package/.next/server/app/index.html +1 -0
  207. package/.next/server/app/index.meta +16 -0
  208. package/.next/server/app/index.rsc +25 -0
  209. package/.next/server/app/index.segments/__PAGE__.segment.rsc +6 -0
  210. package/.next/server/app/index.segments/_full.segment.rsc +25 -0
  211. package/.next/server/app/index.segments/_head.segment.rsc +6 -0
  212. package/.next/server/app/index.segments/_index.segment.rsc +12 -0
  213. package/.next/server/app/index.segments/_tree.segment.rsc +6 -0
  214. package/.next/server/app/manifest.json/route/app-paths-manifest.json +3 -0
  215. package/.next/server/app/manifest.json/route/build-manifest.json +9 -0
  216. package/.next/server/app/manifest.json/route.js +7 -0
  217. package/.next/server/app/manifest.json/route.js.nft.json +1 -0
  218. package/.next/server/app/manifest.json.meta +1 -0
  219. package/.next/server/app/missions/page/app-paths-manifest.json +3 -0
  220. package/.next/server/app/missions/page/build-manifest.json +18 -0
  221. package/.next/server/app/missions/page/next-font-manifest.json +11 -0
  222. package/.next/server/app/missions/page/react-loadable-manifest.json +16 -0
  223. package/.next/server/app/missions/page/server-reference-manifest.json +401 -0
  224. package/.next/server/app/missions/page.js +22 -0
  225. package/.next/server/app/missions/page.js.nft.json +1 -0
  226. package/.next/server/app/missions/page_client-reference-manifest.js +3 -0
  227. package/.next/server/app/onboarding/page/app-paths-manifest.json +3 -0
  228. package/.next/server/app/onboarding/page/build-manifest.json +18 -0
  229. package/.next/server/app/onboarding/page/next-font-manifest.json +11 -0
  230. package/.next/server/app/onboarding/page/react-loadable-manifest.json +16 -0
  231. package/.next/server/app/onboarding/page/server-reference-manifest.json +233 -0
  232. package/.next/server/app/onboarding/page.js +21 -0
  233. package/.next/server/app/onboarding/page.js.nft.json +1 -0
  234. package/.next/server/app/onboarding/page_client-reference-manifest.js +3 -0
  235. package/.next/server/app/onboarding.html +1 -0
  236. package/.next/server/app/onboarding.meta +15 -0
  237. package/.next/server/app/onboarding.rsc +30 -0
  238. package/.next/server/app/onboarding.segments/_full.segment.rsc +30 -0
  239. package/.next/server/app/onboarding.segments/_head.segment.rsc +6 -0
  240. package/.next/server/app/onboarding.segments/_index.segment.rsc +12 -0
  241. package/.next/server/app/onboarding.segments/_tree.segment.rsc +6 -0
  242. package/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +9 -0
  243. package/.next/server/app/onboarding.segments/onboarding.segment.rsc +5 -0
  244. package/.next/server/app/page/app-paths-manifest.json +3 -0
  245. package/.next/server/app/page/build-manifest.json +18 -0
  246. package/.next/server/app/page/next-font-manifest.json +11 -0
  247. package/.next/server/app/page/react-loadable-manifest.json +16 -0
  248. package/.next/server/app/page/server-reference-manifest.json +233 -0
  249. package/.next/server/app/page.js +21 -0
  250. package/.next/server/app/page.js.nft.json +1 -0
  251. package/.next/server/app/page_client-reference-manifest.js +3 -0
  252. package/.next/server/app/settings/page/app-paths-manifest.json +3 -0
  253. package/.next/server/app/settings/page/build-manifest.json +18 -0
  254. package/.next/server/app/settings/page/next-font-manifest.json +11 -0
  255. package/.next/server/app/settings/page/react-loadable-manifest.json +16 -0
  256. package/.next/server/app/settings/page/server-reference-manifest.json +341 -0
  257. package/.next/server/app/settings/page.js +21 -0
  258. package/.next/server/app/settings/page.js.nft.json +1 -0
  259. package/.next/server/app/settings/page_client-reference-manifest.js +3 -0
  260. package/.next/server/app/settings.html +1 -0
  261. package/.next/server/app/settings.meta +15 -0
  262. package/.next/server/app/settings.rsc +30 -0
  263. package/.next/server/app/settings.segments/_full.segment.rsc +30 -0
  264. package/.next/server/app/settings.segments/_head.segment.rsc +6 -0
  265. package/.next/server/app/settings.segments/_index.segment.rsc +12 -0
  266. package/.next/server/app/settings.segments/_tree.segment.rsc +6 -0
  267. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +9 -0
  268. package/.next/server/app/settings.segments/settings.segment.rsc +5 -0
  269. package/.next/server/app/workspaces/[workspaceId]/archive/page/app-paths-manifest.json +3 -0
  270. package/.next/server/app/workspaces/[workspaceId]/archive/page/build-manifest.json +18 -0
  271. package/.next/server/app/workspaces/[workspaceId]/archive/page/next-font-manifest.json +11 -0
  272. package/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +16 -0
  273. package/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +497 -0
  274. package/.next/server/app/workspaces/[workspaceId]/archive/page.js +21 -0
  275. package/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -0
  276. package/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +3 -0
  277. package/.next/server/app/workspaces/[workspaceId]/assets/page/app-paths-manifest.json +3 -0
  278. package/.next/server/app/workspaces/[workspaceId]/assets/page/build-manifest.json +18 -0
  279. package/.next/server/app/workspaces/[workspaceId]/assets/page/next-font-manifest.json +11 -0
  280. package/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +16 -0
  281. package/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +461 -0
  282. package/.next/server/app/workspaces/[workspaceId]/assets/page.js +21 -0
  283. package/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -0
  284. package/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +3 -0
  285. package/.next/server/app/workspaces/[workspaceId]/notes/page/app-paths-manifest.json +3 -0
  286. package/.next/server/app/workspaces/[workspaceId]/notes/page/build-manifest.json +18 -0
  287. package/.next/server/app/workspaces/[workspaceId]/notes/page/next-font-manifest.json +11 -0
  288. package/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +16 -0
  289. package/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +401 -0
  290. package/.next/server/app/workspaces/[workspaceId]/notes/page.js +21 -0
  291. package/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -0
  292. package/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +3 -0
  293. package/.next/server/app/workspaces/[workspaceId]/page/app-paths-manifest.json +3 -0
  294. package/.next/server/app/workspaces/[workspaceId]/page/build-manifest.json +18 -0
  295. package/.next/server/app/workspaces/[workspaceId]/page/next-font-manifest.json +11 -0
  296. package/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +16 -0
  297. package/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +569 -0
  298. package/.next/server/app/workspaces/[workspaceId]/page.js +22 -0
  299. package/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -0
  300. package/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +3 -0
  301. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/app-paths-manifest.json +3 -0
  302. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/build-manifest.json +18 -0
  303. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/next-font-manifest.json +11 -0
  304. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +16 -0
  305. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +233 -0
  306. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js +21 -0
  307. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -0
  308. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +3 -0
  309. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/app-paths-manifest.json +3 -0
  310. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/build-manifest.json +18 -0
  311. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/next-font-manifest.json +11 -0
  312. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +22 -0
  313. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +581 -0
  314. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js +23 -0
  315. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -0
  316. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +3 -0
  317. package/.next/server/app/workspaces/page/app-paths-manifest.json +3 -0
  318. package/.next/server/app/workspaces/page/build-manifest.json +18 -0
  319. package/.next/server/app/workspaces/page/next-font-manifest.json +11 -0
  320. package/.next/server/app/workspaces/page/react-loadable-manifest.json +16 -0
  321. package/.next/server/app/workspaces/page/server-reference-manifest.json +329 -0
  322. package/.next/server/app/workspaces/page.js +21 -0
  323. package/.next/server/app/workspaces/page.js.nft.json +1 -0
  324. package/.next/server/app/workspaces/page_client-reference-manifest.js +3 -0
  325. package/.next/server/app-paths-manifest.json +41 -0
  326. package/.next/server/chunks/03j-_@anthropic-ai_claude-agent-sdk_sdk_mjs_04597t~._.js +85 -0
  327. package/.next/server/chunks/0cve_next-internal_server_app_api_internal_cache_[___segments]_route_actions_09n1sa3.js +3 -0
  328. package/.next/server/chunks/0tp-_server_app_api_files_assets_[projectId]_[filename]_route_actions_02i2urs.js +3 -0
  329. package/.next/server/chunks/0tp-_server_app_api_internal_assets_[projectId]_[filename]_route_actions_0kjz576.js +3 -0
  330. package/.next/server/chunks/0tp-_server_app_api_internal_notifications_pending_route_actions_08bx38r.js +3 -0
  331. package/.next/server/chunks/0tp-_server_app_api_internal_terminal_[taskId]_buffer_route_actions_0bpyf5x.js +3 -0
  332. package/.next/server/chunks/0tp-_server_app_api_internal_terminal_[taskId]_input_route_actions_0alu32r.js +3 -0
  333. package/.next/server/chunks/0tp-_server_app_api_internal_terminal_[taskId]_start_route_actions_0swqog2.js +3 -0
  334. package/.next/server/chunks/0w1v_zod_v4_classic_external_0m-7hz_.js +39 -0
  335. package/.next/server/chunks/0~.g__next-internal_server_app_api_internal_assistant_chat_route_actions_0x-qbrh.js +3 -0
  336. package/.next/server/chunks/0~.g__next-internal_server_app_api_internal_assistant_images_route_actions_0vws40t.js +3 -0
  337. package/.next/server/chunks/0~.g__next-internal_server_app_api_internal_assistant_sessions_route_actions_0p09rcp.js +3 -0
  338. package/.next/server/chunks/10ge_next_dist_08.3req._.js +13 -0
  339. package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_00gmiw_.js +3 -0
  340. package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_0jwpolf.js +3 -0
  341. package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_0liabcf.js +3 -0
  342. package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_0z9_0_i.js +3 -0
  343. package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_13w3ubu.js +3 -0
  344. package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_13~vb_i.js +4 -0
  345. package/.next/server/chunks/[externals]__02xkqim._.js +3 -0
  346. package/.next/server/chunks/[externals]__09oeovy._.js +3 -0
  347. package/.next/server/chunks/[externals]__0~rg.xo._.js +3 -0
  348. package/.next/server/chunks/[externals]__11rejr-._.js +3 -0
  349. package/.next/server/chunks/[externals]_child_process_0pwkpv9._.js +3 -0
  350. package/.next/server/chunks/[externals]_next_dist_0g2nsos._.js +3 -0
  351. package/.next/server/chunks/[externals]_util_0wtvqkc._.js +3 -0
  352. package/.next/server/chunks/[root-of-the-server]__02p-gd5._.js +3 -0
  353. package/.next/server/chunks/[root-of-the-server]__0319djr._.js +3 -0
  354. package/.next/server/chunks/[root-of-the-server]__043lk8~._.js +4 -0
  355. package/.next/server/chunks/[root-of-the-server]__053y9tf._.js +3 -0
  356. package/.next/server/chunks/[root-of-the-server]__05pxb~w._.js +20 -0
  357. package/.next/server/chunks/[root-of-the-server]__07-am_7._.js +20 -0
  358. package/.next/server/chunks/[root-of-the-server]__09gjz6h._.js +3 -0
  359. package/.next/server/chunks/[root-of-the-server]__0_irb2s._.js +3 -0
  360. package/.next/server/chunks/[root-of-the-server]__0c4edwt._.js +3 -0
  361. package/.next/server/chunks/[root-of-the-server]__0c7y1r0._.js +3 -0
  362. package/.next/server/chunks/[root-of-the-server]__0dj34zn._.js +3 -0
  363. package/.next/server/chunks/[root-of-the-server]__0dqta7g._.js +3 -0
  364. package/.next/server/chunks/[root-of-the-server]__0j3gbp7._.js +3 -0
  365. package/.next/server/chunks/[root-of-the-server]__0ko_rm_._.js +3 -0
  366. package/.next/server/chunks/[root-of-the-server]__0miy2g.._.js +3 -0
  367. package/.next/server/chunks/[root-of-the-server]__0mt-eeb._.js +3 -0
  368. package/.next/server/chunks/[root-of-the-server]__0n-6-hc._.js +3 -0
  369. package/.next/server/chunks/[root-of-the-server]__0nur_ir._.js +3 -0
  370. package/.next/server/chunks/[root-of-the-server]__0pz60q-._.js +20 -0
  371. package/.next/server/chunks/[root-of-the-server]__0q~5ya5._.js +3 -0
  372. package/.next/server/chunks/[root-of-the-server]__0rpqx55._.js +3 -0
  373. package/.next/server/chunks/[root-of-the-server]__0sjsc63._.js +4 -0
  374. package/.next/server/chunks/[root-of-the-server]__0th.w7w._.js +3 -0
  375. package/.next/server/chunks/[root-of-the-server]__0u..agy._.js +11 -0
  376. package/.next/server/chunks/[root-of-the-server]__0umzekq._.js +3 -0
  377. package/.next/server/chunks/[root-of-the-server]__0wu61w.._.js +3 -0
  378. package/.next/server/chunks/[root-of-the-server]__11v.yk_._.js +4 -0
  379. package/.next/server/chunks/[root-of-the-server]__12._zd-._.js +3 -0
  380. package/.next/server/chunks/[root-of-the-server]__130shf~._.js +3 -0
  381. package/.next/server/chunks/[turbopack]_runtime.js +903 -0
  382. package/.next/server/chunks/ssr/03j-_@anthropic-ai_claude-agent-sdk_sdk_mjs_0kr2_y.._.js +84 -0
  383. package/.next/server/chunks/ssr/040e_@monaco-editor_react_dist_index_mjs_0t4i-ho._.js +3 -0
  384. package/.next/server/chunks/ssr/040e_@monaco-editor_react_dist_index_mjs_0z6t1fr._.js +3 -0
  385. package/.next/server/chunks/ssr/0kjx__pnpm_0g9g8h6._.js +3 -0
  386. package/.next/server/chunks/ssr/0kjx__pnpm_0l.5ii.._.js +3 -0
  387. package/.next/server/chunks/ssr/0kjx__pnpm_0wrn.h9._.js +14 -0
  388. package/.next/server/chunks/ssr/0rik_@dnd-kit_core_dist_core_esm_11giptg.js +3 -0
  389. package/.next/server/chunks/ssr/0~.g_src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_0bbseig._.js +3 -0
  390. package/.next/server/chunks/ssr/10ge_next_00.-vj.._.js +18 -0
  391. package/.next/server/chunks/ssr/10ge_next_dist_01n~t8z._.js +6 -0
  392. package/.next/server/chunks/ssr/10ge_next_dist_06_-w96._.js +19 -0
  393. package/.next/server/chunks/ssr/10ge_next_dist_0pw4my6._.js +6 -0
  394. package/.next/server/chunks/ssr/10ge_next_dist_0wjbiu9._.js +3 -0
  395. package/.next/server/chunks/ssr/10ge_next_dist_0~ti7jc._.js +3 -0
  396. package/.next/server/chunks/ssr/10ge_next_dist_10.ihny._.js +3 -0
  397. package/.next/server/chunks/ssr/10ge_next_dist_client_components_0--gzcy._.js +3 -0
  398. package/.next/server/chunks/ssr/10ge_next_dist_client_components_0eil7-a._.js +33 -0
  399. package/.next/server/chunks/ssr/10ge_next_dist_client_components_builtin_forbidden_0nzsnb2.js +3 -0
  400. package/.next/server/chunks/ssr/10ge_next_dist_client_components_builtin_global-error_125sopd.js +3 -0
  401. package/.next/server/chunks/ssr/10ge_next_dist_client_components_builtin_unauthorized_0z93cpe.js +3 -0
  402. package/.next/server/chunks/ssr/10ge_next_dist_compiled_0g45ze2._.js +3 -0
  403. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_080g02v.js +4 -0
  404. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_08khzah.js +4 -0
  405. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_09~o5q0.js +4 -0
  406. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0_rj_f4.js +4 -0
  407. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0c-wmj1.js +4 -0
  408. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0fjd2ua.js +4 -0
  409. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0hpuyf0.js +4 -0
  410. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0knnyic.js +4 -0
  411. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0oi86k6.js +4 -0
  412. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0rmwdra.js +4 -0
  413. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0zgisbd.js +4 -0
  414. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_11pz1fw.js +4 -0
  415. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_12reczc.js +4 -0
  416. package/.next/server/chunks/ssr/119e_lucide-react_dist_esm_icons_0636jyq._.js +3 -0
  417. package/.next/server/chunks/ssr/[externals]__0of4r_r._.js +3 -0
  418. package/.next/server/chunks/ssr/[externals]__0z1ffhu._.js +3 -0
  419. package/.next/server/chunks/ssr/[externals]_child_process_0pwkpv9._.js +3 -0
  420. package/.next/server/chunks/ssr/[root-of-the-server]__0-0j_z3._.js +3 -0
  421. package/.next/server/chunks/ssr/[root-of-the-server]__0.8y0n9._.js +3 -0
  422. package/.next/server/chunks/ssr/[root-of-the-server]__0.uoh7q._.js +3 -0
  423. package/.next/server/chunks/ssr/[root-of-the-server]__01ws4-7._.js +3 -0
  424. package/.next/server/chunks/ssr/[root-of-the-server]__024-5kd._.js +3 -0
  425. package/.next/server/chunks/ssr/[root-of-the-server]__02ipahf._.js +3 -0
  426. package/.next/server/chunks/ssr/[root-of-the-server]__03.14vw._.js +3 -0
  427. package/.next/server/chunks/ssr/[root-of-the-server]__04xn50b._.js +30 -0
  428. package/.next/server/chunks/ssr/[root-of-the-server]__05452ke._.js +30 -0
  429. package/.next/server/chunks/ssr/[root-of-the-server]__06o5v8i._.js +30 -0
  430. package/.next/server/chunks/ssr/[root-of-the-server]__06sm5cw._.js +3 -0
  431. package/.next/server/chunks/ssr/[root-of-the-server]__09m32ch._.js +3 -0
  432. package/.next/server/chunks/ssr/[root-of-the-server]__0_0kxz4._.js +3 -0
  433. package/.next/server/chunks/ssr/[root-of-the-server]__0adx8p4._.js +30 -0
  434. package/.next/server/chunks/ssr/[root-of-the-server]__0bk3s4l._.js +3 -0
  435. package/.next/server/chunks/ssr/[root-of-the-server]__0d5p5d.._.js +30 -0
  436. package/.next/server/chunks/ssr/[root-of-the-server]__0d7u1lw._.js +3 -0
  437. package/.next/server/chunks/ssr/[root-of-the-server]__0fg8.hp._.js +3 -0
  438. package/.next/server/chunks/ssr/[root-of-the-server]__0gsj3~.._.js +30 -0
  439. package/.next/server/chunks/ssr/[root-of-the-server]__0hvz_0c._.js +3 -0
  440. package/.next/server/chunks/ssr/[root-of-the-server]__0i6glcp._.js +30 -0
  441. package/.next/server/chunks/ssr/[root-of-the-server]__0ibsor_._.js +3 -0
  442. package/.next/server/chunks/ssr/[root-of-the-server]__0j5~a_o._.js +3 -0
  443. package/.next/server/chunks/ssr/[root-of-the-server]__0jgbj6l._.js +3 -0
  444. package/.next/server/chunks/ssr/[root-of-the-server]__0jux8~h._.js +33 -0
  445. package/.next/server/chunks/ssr/[root-of-the-server]__0l~dc3x._.js +3 -0
  446. package/.next/server/chunks/ssr/[root-of-the-server]__0mab0km._.js +3 -0
  447. package/.next/server/chunks/ssr/[root-of-the-server]__0n32nv5._.js +30 -0
  448. package/.next/server/chunks/ssr/[root-of-the-server]__0n8qufu._.js +3 -0
  449. package/.next/server/chunks/ssr/[root-of-the-server]__0ndt9h3._.js +3 -0
  450. package/.next/server/chunks/ssr/[root-of-the-server]__0p~u4y6._.js +3 -0
  451. package/.next/server/chunks/ssr/[root-of-the-server]__0q.du4s._.js +3 -0
  452. package/.next/server/chunks/ssr/[root-of-the-server]__0rs7pkn._.js +3 -0
  453. package/.next/server/chunks/ssr/[root-of-the-server]__0sysz2q._.js +47 -0
  454. package/.next/server/chunks/ssr/[root-of-the-server]__0t25~v8._.js +3 -0
  455. package/.next/server/chunks/ssr/[root-of-the-server]__0ti70do._.js +3 -0
  456. package/.next/server/chunks/ssr/[root-of-the-server]__0uevudp._.js +30 -0
  457. package/.next/server/chunks/ssr/[root-of-the-server]__0wwqzmm._.js +3 -0
  458. package/.next/server/chunks/ssr/[root-of-the-server]__0xt3-qb._.js +3 -0
  459. package/.next/server/chunks/ssr/[root-of-the-server]__0y-lkvf._.js +3 -0
  460. package/.next/server/chunks/ssr/[root-of-the-server]__0zvf.ro._.js +3 -0
  461. package/.next/server/chunks/ssr/[root-of-the-server]__0~jc3l5._.js +3 -0
  462. package/.next/server/chunks/ssr/[root-of-the-server]__11m7m-q._.js +3 -0
  463. package/.next/server/chunks/ssr/[root-of-the-server]__1223b0_._.js +30 -0
  464. package/.next/server/chunks/ssr/[root-of-the-server]__12f810l._.js +3 -0
  465. package/.next/server/chunks/ssr/[root-of-the-server]__13-by9r._.js +33 -0
  466. package/.next/server/chunks/ssr/[root-of-the-server]__13-egel._.js +3 -0
  467. package/.next/server/chunks/ssr/[turbopack]_runtime.js +903 -0
  468. package/.next/server/chunks/ssr/tower_0-nwtka._.js +3 -0
  469. package/.next/server/chunks/ssr/tower_0-omr_b._.js +30 -0
  470. package/.next/server/chunks/ssr/tower_00.hg6u._.js +3 -0
  471. package/.next/server/chunks/ssr/tower_01szasw._.js +3 -0
  472. package/.next/server/chunks/ssr/tower_02he7d6._.js +3 -0
  473. package/.next/server/chunks/ssr/tower_035l~qv._.js +3 -0
  474. package/.next/server/chunks/ssr/tower_03jazku._.js +3 -0
  475. package/.next/server/chunks/ssr/tower_09~lpto._.js +3 -0
  476. package/.next/server/chunks/ssr/tower_0d.car1._.js +30 -0
  477. package/.next/server/chunks/ssr/tower_0egtw-7._.js +30 -0
  478. package/.next/server/chunks/ssr/tower_0gzwyem._.js +3 -0
  479. package/.next/server/chunks/ssr/tower_0h3r32m._.js +30 -0
  480. package/.next/server/chunks/ssr/tower_0kl_bfy._.js +7 -0
  481. package/.next/server/chunks/ssr/tower_0mz4ut.._.js +3 -0
  482. package/.next/server/chunks/ssr/tower_0nuj.0p._.js +39 -0
  483. package/.next/server/chunks/ssr/tower_0pcqezm._.js +3 -0
  484. package/.next/server/chunks/ssr/tower_0r7uuim._.js +30 -0
  485. package/.next/server/chunks/ssr/tower_0sojjnu._.js +3 -0
  486. package/.next/server/chunks/ssr/tower_0tc~.xl._.js +30 -0
  487. package/.next/server/chunks/ssr/tower_0tuq2iz._.js +30 -0
  488. package/.next/server/chunks/ssr/tower_0vo6u9i._.js +3 -0
  489. package/.next/server/chunks/ssr/tower_0wvk~r.._.js +3 -0
  490. package/.next/server/chunks/ssr/tower_10p15te._.js +3 -0
  491. package/.next/server/chunks/ssr/tower_10t13p4._.js +6 -0
  492. package/.next/server/chunks/ssr/tower_117pzh8._.js +3 -0
  493. package/.next/server/chunks/ssr/tower_11q5_.m._.js +3 -0
  494. package/.next/server/chunks/ssr/tower_12sld1c._.js +3 -0
  495. package/.next/server/chunks/ssr/tower_138qlx5._.js +3 -0
  496. package/.next/server/chunks/ssr/tower__next-internal_server_app__global-error_page_actions_13t5~qk.js +3 -0
  497. package/.next/server/chunks/ssr/tower_src_08t.wy-._.js +3 -0
  498. package/.next/server/chunks/ssr/tower_src_actions_agent-actions_ts_0j.e1tn._.js +4 -0
  499. package/.next/server/chunks/ssr/tower_src_actions_file-actions_ts_0424lna._.js +3 -0
  500. package/.next/server/chunks/ssr/tower_src_app_missions_missions-client_tsx_0a9vjyr._.js +3 -0
  501. package/.next/server/chunks/ssr/tower_src_app_onboarding_page_tsx_0_3krz1._.js +3 -0
  502. package/.next/server/chunks/ssr/tower_src_app_settings_page_tsx_0vo5e-o._.js +3 -0
  503. package/.next/server/chunks/ssr/tower_src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0zfgzhi._.js +3 -0
  504. package/.next/server/chunks/ssr/tower_src_app_workspaces_[workspaceId]_board-page-client_tsx_0kjp1u0._.js +7 -0
  505. package/.next/server/chunks/ssr/tower_src_components_ui_select_tsx_10ajx~2._.js +3 -0
  506. package/.next/server/chunks/ssr/tower_src_lib_01420_4._.js +3 -0
  507. package/.next/server/chunks/ssr/tower_src_lib_0i-zjpa._.js +3 -0
  508. package/.next/server/chunks/ssr/tower_src_lib_0ja~kdb._.js +3 -0
  509. package/.next/server/chunks/ssr/tower_src_lib_0obw2r8._.js +3 -0
  510. package/.next/server/chunks/ssr/tower_src_lib_0rgfsuf._.js +3 -0
  511. package/.next/server/chunks/ssr/tower_src_lib_constants_ts_0o218_c._.js +3 -0
  512. package/.next/server/chunks/tower_03g~ktv._.js +7 -0
  513. package/.next/server/chunks/tower_05du07.._.js +10 -0
  514. package/.next/server/chunks/tower_0a-x6m.._.js +3 -0
  515. package/.next/server/chunks/tower__next-internal_server_app_api_adapters_test_route_actions_13jw~9b.js +3 -0
  516. package/.next/server/chunks/tower__next-internal_server_app_api_browse-fs_route_actions_0k5p2xy.js +3 -0
  517. package/.next/server/chunks/tower__next-internal_server_app_api_git_route_actions_0rvpodb.js +3 -0
  518. package/.next/server/chunks/tower__next-internal_server_app_api_internal_assets_reveal_route_actions_0idwm6j.js +3 -0
  519. package/.next/server/chunks/tower__next-internal_server_app_api_internal_assistant_route_actions_0rdz1d..js +3 -0
  520. package/.next/server/chunks/tower__next-internal_server_app_api_internal_hooks_install_route_actions_06dxleu.js +3 -0
  521. package/.next/server/chunks/tower__next-internal_server_app_api_internal_hooks_session_route_actions_0wlv4lf.js +3 -0
  522. package/.next/server/chunks/tower__next-internal_server_app_api_internal_hooks_stop_route_actions_101_oub.js +3 -0
  523. package/.next/server/chunks/tower__next-internal_server_app_api_internal_hooks_upload_route_actions_0439qz_.js +3 -0
  524. package/.next/server/chunks/tower__next-internal_server_app_api_tasks_[taskId]_diff_route_actions_0nthc84.js +3 -0
  525. package/.next/server/chunks/tower__next-internal_server_app_api_tasks_[taskId]_merge_route_actions_0g.x0nb.js +3 -0
  526. package/.next/server/chunks/tower__next-internal_server_app_apple-icon_png_route_actions_0bni-sb.js +3 -0
  527. package/.next/server/chunks/tower__next-internal_server_app_favicon_ico_route_actions_0kw~xj2.js +3 -0
  528. package/.next/server/chunks/tower__next-internal_server_app_icon0_svg_route_actions_0nww9-e.js +3 -0
  529. package/.next/server/chunks/tower__next-internal_server_app_icon1_png_route_actions_09h.ywu.js +3 -0
  530. package/.next/server/chunks/tower__next-internal_server_app_manifest_json_route_actions_080ob~r.js +3 -0
  531. package/.next/server/chunks/tower_src_0..vg-t._.js +3 -0
  532. package/.next/server/chunks/tower_src_05rqj.1._.js +3 -0
  533. package/.next/server/chunks/tower_src_lib_0uok6j3._.js +3 -0
  534. package/.next/server/chunks/tower_src_lib_0w8qt4s._.js +3 -0
  535. package/.next/server/chunks/tower_src_lib_constants_ts_0cxd4.p._.js +3 -0
  536. package/.next/server/edge/chunks/0y9m_next_dist_esm_build_templates_edge-wrapper_0cx_eo..js +3 -0
  537. package/.next/server/edge/chunks/tower_0wvfs38._.js +3 -0
  538. package/.next/server/functions-config-manifest.json +22 -0
  539. package/.next/server/instrumentation/middleware-manifest.json +12 -0
  540. package/.next/server/instrumentation.js +4 -0
  541. package/.next/server/instrumentation.js.nft.json +1 -0
  542. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  543. package/.next/server/middleware-build-manifest.js +22 -0
  544. package/.next/server/middleware-manifest.json +6 -0
  545. package/.next/server/next-font-manifest.js +1 -0
  546. package/.next/server/next-font-manifest.json +55 -0
  547. package/.next/server/pages/404.html +1 -0
  548. package/.next/server/pages/500.html +1 -0
  549. package/.next/server/pages-manifest.json +4 -0
  550. package/.next/server/prefetch-hints.json +1 -0
  551. package/.next/server/server-reference-manifest.js +1 -0
  552. package/.next/server/server-reference-manifest.json +2778 -0
  553. package/.next/static/6AW1vTU7iJEkEhqIH0txT/_buildManifest.js +11 -0
  554. package/.next/static/6AW1vTU7iJEkEhqIH0txT/_clientMiddlewareManifest.js +1 -0
  555. package/.next/static/6AW1vTU7iJEkEhqIH0txT/_ssgManifest.js +1 -0
  556. package/.next/static/chunks/0-64z7pmj57~d.js +1 -0
  557. package/.next/static/chunks/00xbbu.nlx92z.js +1 -0
  558. package/.next/static/chunks/00z-g3x93ngvn.js +1 -0
  559. package/.next/static/chunks/03e.4ymu.j5wl.js +1 -0
  560. package/.next/static/chunks/03~yq9q893hmn.js +1 -0
  561. package/.next/static/chunks/049.9ha2n6os5.js +1 -0
  562. package/.next/static/chunks/05-b9qqm3av9~.js +1 -0
  563. package/.next/static/chunks/05j6t69jmpqju.js +1 -0
  564. package/.next/static/chunks/05~v02mkan5z..js +1 -0
  565. package/.next/static/chunks/07a_xadb-3w1a.js +1 -0
  566. package/.next/static/chunks/0_.pyr2jhdqa2.js +5 -0
  567. package/.next/static/chunks/0_c8duf92i~xg.js +1 -0
  568. package/.next/static/chunks/0a2blrvqw8t5y.js +5 -0
  569. package/.next/static/chunks/0abtpeymj-58i.js +1 -0
  570. package/.next/static/chunks/0drgc-oztq6o-.css +1 -0
  571. package/.next/static/chunks/0eaa2lmymh2fx.js +1 -0
  572. package/.next/static/chunks/0j9qriqni_r1..js +2 -0
  573. package/.next/static/chunks/0k.u8sxy~e469.js +4 -0
  574. package/.next/static/chunks/0kc-95qs2~eid.js +1 -0
  575. package/.next/static/chunks/0kojsk~4uroqj.js +1 -0
  576. package/.next/static/chunks/0kt2vohpgb7h6.js +1 -0
  577. package/.next/static/chunks/0kubr70r_r2f2.js +1 -0
  578. package/.next/static/chunks/0lvd52mjiit6s.js +1 -0
  579. package/.next/static/chunks/0mq0uqbbbb1~2.js +1 -0
  580. package/.next/static/chunks/0neevhl_o1ozu.css +2 -0
  581. package/.next/static/chunks/0omj~p3uxkic-.js +1 -0
  582. package/.next/static/chunks/0t-gr6j-c65qb.js +1 -0
  583. package/.next/static/chunks/0tcl81ybuob5i.js +1 -0
  584. package/.next/static/chunks/0ttrpz.l-v-yv.js +1 -0
  585. package/.next/static/chunks/0uqimvsni_op~.js +1 -0
  586. package/.next/static/chunks/0wt3kws~_yr8z.js +1 -0
  587. package/.next/static/chunks/0z-ecklemrfx-.js +1 -0
  588. package/.next/static/chunks/0z2bzovqhl2f5.js +1 -0
  589. package/.next/static/chunks/0z61ts2ro9_k3.js +83 -0
  590. package/.next/static/chunks/0z7bwntvfhxzi.js +12 -0
  591. package/.next/static/chunks/10n23t.1hpb-1.js +1 -0
  592. package/.next/static/chunks/14xzmrt5ly6gq.js +31 -0
  593. package/.next/static/chunks/151wr~6x8aclx.js +1 -0
  594. package/.next/static/chunks/16w-ap~msrwpj.js +1 -0
  595. package/.next/static/chunks/17oc2l.ekcs8b.css +1 -0
  596. package/.next/static/chunks/turbopack-0wjmrsi.z32s0.js +1 -0
  597. package/.next/static/media/4fa387ec64143e14-s.0q3udbd2bu5yp.woff2 +0 -0
  598. package/.next/static/media/7178b3e590c64307-s.11.cyxs5p-0z~.woff2 +0 -0
  599. package/.next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2 +0 -0
  600. package/.next/static/media/8a480f0b521d4e75-s.06d3mdzz5bre_.woff2 +0 -0
  601. package/.next/static/media/apple-icon.16aocl-s-v2qz.png +0 -0
  602. package/.next/static/media/bbc41e54d2fcbd21-s.0gw~uztddq1df.woff2 +0 -0
  603. package/.next/static/media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2 +0 -0
  604. package/.next/static/media/favicon.0y2d6j9cou~8p.ico +0 -0
  605. package/.next/static/media/icon0.0a6mkq6meyird.svg +1 -0
  606. package/.next/static/media/icon1.04ux133882seb.png +0 -0
  607. package/.next/trace +2 -0
  608. package/.next/trace-build +1 -0
  609. package/.next/turbopack +0 -0
  610. package/.next/types/routes.d.ts +103 -0
  611. package/.next/types/validator.ts +349 -0
  612. package/package.json +14 -11
  613. package/components.json +0 -25
  614. package/postcss.config.mjs +0 -7
  615. package/prisma/dev.db +0 -0
  616. package/prisma/prisma/dev.db +0 -0
  617. package/prisma/seed.ts +0 -50
  618. package/scripts/init-tower.ts +0 -10
  619. package/scripts/post-tool-hook.js +0 -188
  620. package/scripts/session-start-hook.js +0 -79
  621. package/scripts/stop-hook.js +0 -78
  622. package/skills/tower/SKILL.md +0 -375
  623. package/src/actions/__tests__/agent-actions-username.test.ts +0 -30
  624. package/src/actions/__tests__/asset-actions.test.ts +0 -251
  625. package/src/actions/__tests__/assistant-actions.test.ts +0 -20
  626. package/src/actions/__tests__/cli-profile-actions.test.ts +0 -243
  627. package/src/actions/__tests__/label-actions.test.ts +0 -187
  628. package/src/actions/__tests__/note-actions.test.ts +0 -237
  629. package/src/actions/__tests__/onboarding-actions.test.ts +0 -265
  630. package/src/actions/__tests__/project-actions.test.ts +0 -179
  631. package/src/actions/__tests__/prompt-actions.test.ts +0 -213
  632. package/src/actions/__tests__/report-actions.test.ts +0 -246
  633. package/src/actions/__tests__/search-code-actions.test.ts +0 -308
  634. package/src/actions/__tests__/task-actions-overview.test.ts +0 -58
  635. package/src/actions/__tests__/task-actions-pin.test.ts +0 -79
  636. package/src/actions/__tests__/workspace-actions.test.ts +0 -256
  637. package/src/actions/agent-actions.ts +0 -741
  638. package/src/actions/agent-config-actions.ts +0 -44
  639. package/src/actions/ai-config-actions.ts +0 -51
  640. package/src/actions/asset-actions.ts +0 -131
  641. package/src/actions/assistant-actions.ts +0 -107
  642. package/src/actions/cli-profile-actions.ts +0 -98
  643. package/src/actions/config-actions.ts +0 -84
  644. package/src/actions/file-actions.ts +0 -262
  645. package/src/actions/git-actions.ts +0 -90
  646. package/src/actions/label-actions.ts +0 -67
  647. package/src/actions/note-actions.ts +0 -87
  648. package/src/actions/onboarding-actions.ts +0 -103
  649. package/src/actions/preview-actions.ts +0 -76
  650. package/src/actions/project-actions.ts +0 -222
  651. package/src/actions/prompt-actions.ts +0 -73
  652. package/src/actions/report-actions.ts +0 -141
  653. package/src/actions/search-actions.ts +0 -21
  654. package/src/actions/search-code-actions.ts +0 -185
  655. package/src/actions/task-actions.ts +0 -350
  656. package/src/actions/workspace-actions.ts +0 -224
  657. package/src/app/api/adapters/test/route.ts +0 -52
  658. package/src/app/api/browse-fs/route.ts +0 -90
  659. package/src/app/api/files/assets/[projectId]/[filename]/route.ts +0 -38
  660. package/src/app/api/git/route.ts +0 -367
  661. package/src/app/api/internal/assets/[projectId]/[filename]/route.ts +0 -51
  662. package/src/app/api/internal/assets/reveal/route.ts +0 -71
  663. package/src/app/api/internal/assistant/chat/route.ts +0 -217
  664. package/src/app/api/internal/assistant/images/route.ts +0 -51
  665. package/src/app/api/internal/assistant/route.ts +0 -50
  666. package/src/app/api/internal/assistant/sessions/route.ts +0 -44
  667. package/src/app/api/internal/cache/[...segments]/route.ts +0 -59
  668. package/src/app/api/internal/hooks/install/route.ts +0 -41
  669. package/src/app/api/internal/hooks/session/route.ts +0 -60
  670. package/src/app/api/internal/hooks/stop/route.ts +0 -61
  671. package/src/app/api/internal/hooks/upload/route.ts +0 -173
  672. package/src/app/api/internal/notifications/pending/route.ts +0 -20
  673. package/src/app/api/internal/terminal/[taskId]/buffer/route.ts +0 -48
  674. package/src/app/api/internal/terminal/[taskId]/input/route.ts +0 -64
  675. package/src/app/api/internal/terminal/[taskId]/start/route.ts +0 -37
  676. package/src/app/api/tasks/[taskId]/diff/route.ts +0 -224
  677. package/src/app/api/tasks/[taskId]/merge/route.ts +0 -159
  678. package/src/app/globals.css +0 -247
  679. package/src/app/layout.tsx +0 -63
  680. package/src/app/missions/missions-client.tsx +0 -338
  681. package/src/app/missions/page.tsx +0 -10
  682. package/src/app/onboarding/page.tsx +0 -619
  683. package/src/app/page.tsx +0 -5
  684. package/src/app/settings/page.tsx +0 -7
  685. package/src/app/workspaces/[workspaceId]/archive/archive-page-client.tsx +0 -258
  686. package/src/app/workspaces/[workspaceId]/archive/page.tsx +0 -36
  687. package/src/app/workspaces/[workspaceId]/assets/assets-page-client.tsx +0 -232
  688. package/src/app/workspaces/[workspaceId]/assets/page.tsx +0 -36
  689. package/src/app/workspaces/[workspaceId]/board-page-client.tsx +0 -257
  690. package/src/app/workspaces/[workspaceId]/notes/notes-page-client.tsx +0 -337
  691. package/src/app/workspaces/[workspaceId]/notes/page.tsx +0 -39
  692. package/src/app/workspaces/[workspaceId]/page.tsx +0 -81
  693. package/src/app/workspaces/[workspaceId]/projects/[projectId]/page.tsx +0 -30
  694. package/src/app/workspaces/[workspaceId]/tasks/[taskId]/page.tsx +0 -97
  695. package/src/app/workspaces/[workspaceId]/tasks/[taskId]/task-page-client.tsx +0 -601
  696. package/src/app/workspaces/page.tsx +0 -13
  697. package/src/components/assets/asset-item.tsx +0 -128
  698. package/src/components/assets/asset-list.tsx +0 -31
  699. package/src/components/assets/asset-upload.tsx +0 -216
  700. package/src/components/assets/image-lightbox.tsx +0 -72
  701. package/src/components/assets/text-preview-dialog.tsx +0 -135
  702. package/src/components/assistant/assistant-chat-bubble.tsx +0 -308
  703. package/src/components/assistant/assistant-chat.tsx +0 -215
  704. package/src/components/assistant/assistant-panel.tsx +0 -149
  705. package/src/components/assistant/assistant-provider.tsx +0 -512
  706. package/src/components/assistant/image-preview-modal.tsx +0 -60
  707. package/src/components/assistant/image-thumbnail-strip.tsx +0 -94
  708. package/src/components/board/board-column.tsx +0 -115
  709. package/src/components/board/board-filters.tsx +0 -42
  710. package/src/components/board/board-stats.tsx +0 -52
  711. package/src/components/board/column-tasks-dialog.tsx +0 -100
  712. package/src/components/board/create-task-dialog.tsx +0 -362
  713. package/src/components/board/kanban-board.tsx +0 -169
  714. package/src/components/board/project-tabs.tsx +0 -93
  715. package/src/components/board/task-card-context-menu.tsx +0 -121
  716. package/src/components/board/task-card.tsx +0 -135
  717. package/src/components/layout/__tests__/top-bar-username.test.tsx +0 -24
  718. package/src/components/layout/app-sidebar.tsx +0 -662
  719. package/src/components/layout/folder-browser-dialog.tsx +0 -273
  720. package/src/components/layout/layout-client.tsx +0 -198
  721. package/src/components/layout/search-dialog.tsx +0 -196
  722. package/src/components/layout/sub-page-nav.tsx +0 -54
  723. package/src/components/layout/top-bar.tsx +0 -265
  724. package/src/components/missions/grid-layout-presets.ts +0 -19
  725. package/src/components/missions/grid-preset-picker.tsx +0 -209
  726. package/src/components/missions/merge-missions.ts +0 -30
  727. package/src/components/missions/mission-card.tsx +0 -203
  728. package/src/components/missions/task-picker-dialog.tsx +0 -415
  729. package/src/components/notes/category-filter.tsx +0 -44
  730. package/src/components/notes/note-card.tsx +0 -67
  731. package/src/components/notes/note-editor.tsx +0 -28
  732. package/src/components/notes/note-list.tsx +0 -30
  733. package/src/components/notifications/notification-permission-banner.tsx +0 -49
  734. package/src/components/notifications/use-notification-listener.ts +0 -114
  735. package/src/components/onboarding/__tests__/onboarding-wizard.test.tsx +0 -185
  736. package/src/components/onboarding/guided-tour.tsx +0 -255
  737. package/src/components/onboarding/onboarding-wizard.tsx +0 -84
  738. package/src/components/onboarding/wizard-step-cli.tsx +0 -53
  739. package/src/components/onboarding/wizard-step-username.tsx +0 -59
  740. package/src/components/project/create-project-dialog.tsx +0 -310
  741. package/src/components/project/import-project-dialog.tsx +0 -414
  742. package/src/components/providers/theme-provider.tsx +0 -8
  743. package/src/components/repository/create-branch-dialog.tsx +0 -165
  744. package/src/components/repository/git-changes-panel.tsx +0 -294
  745. package/src/components/repository/git-log-panel.tsx +0 -83
  746. package/src/components/repository/git-stash-panel.tsx +0 -158
  747. package/src/components/repository/repo-sidebar.tsx +0 -855
  748. package/src/components/settings/cli-adapter-tester.tsx +0 -144
  749. package/src/components/settings/settings-page.tsx +0 -2111
  750. package/src/components/task/code-editor.tsx +0 -376
  751. package/src/components/task/code-search.tsx +0 -219
  752. package/src/components/task/diff-editor.tsx +0 -97
  753. package/src/components/task/editor-git-panel.tsx +0 -792
  754. package/src/components/task/editor-tabs.tsx +0 -68
  755. package/src/components/task/execution-timeline.tsx +0 -258
  756. package/src/components/task/file-tree-context-menu.tsx +0 -113
  757. package/src/components/task/file-tree-node.tsx +0 -269
  758. package/src/components/task/file-tree.tsx +0 -575
  759. package/src/components/task/preview-panel.tsx +0 -281
  760. package/src/components/task/task-detail-panel.tsx +0 -455
  761. package/src/components/task/task-diff-view.tsx +0 -207
  762. package/src/components/task/task-file-changes.tsx +0 -19
  763. package/src/components/task/task-merge-confirm-dialog.tsx +0 -152
  764. package/src/components/task/task-metadata.tsx +0 -74
  765. package/src/components/task/task-notes-panel.tsx +0 -219
  766. package/src/components/task/task-overview-drawer.tsx +0 -172
  767. package/src/components/task/task-terminal.tsx +0 -294
  768. package/src/components/task/terminal-portal.tsx +0 -156
  769. package/src/components/task/types.ts +0 -6
  770. package/src/components/ui/avatar.tsx +0 -109
  771. package/src/components/ui/badge.tsx +0 -52
  772. package/src/components/ui/button.tsx +0 -58
  773. package/src/components/ui/card.tsx +0 -103
  774. package/src/components/ui/command.tsx +0 -196
  775. package/src/components/ui/dialog.tsx +0 -160
  776. package/src/components/ui/dropdown-menu.tsx +0 -268
  777. package/src/components/ui/empty-state.tsx +0 -26
  778. package/src/components/ui/error-boundary.tsx +0 -58
  779. package/src/components/ui/input-group.tsx +0 -158
  780. package/src/components/ui/input.tsx +0 -20
  781. package/src/components/ui/label.tsx +0 -20
  782. package/src/components/ui/popover.tsx +0 -90
  783. package/src/components/ui/scroll-area.tsx +0 -55
  784. package/src/components/ui/segmented-control.tsx +0 -42
  785. package/src/components/ui/select.tsx +0 -207
  786. package/src/components/ui/separator.tsx +0 -25
  787. package/src/components/ui/sheet.tsx +0 -138
  788. package/src/components/ui/sonner.tsx +0 -49
  789. package/src/components/ui/switch.tsx +0 -32
  790. package/src/components/ui/tabs.tsx +0 -82
  791. package/src/components/ui/textarea.tsx +0 -18
  792. package/src/components/ui/toast.tsx +0 -86
  793. package/src/components/ui/tooltip.tsx +0 -66
  794. package/src/hooks/__tests__/sse-event-reducer.test.ts +0 -263
  795. package/src/hooks/__tests__/use-assistant-chat.test.ts +0 -34
  796. package/src/hooks/__tests__/use-image-upload.test.ts +0 -443
  797. package/src/hooks/sse-event-reducer.ts +0 -144
  798. package/src/hooks/use-assistant-chat.ts +0 -190
  799. package/src/hooks/use-image-upload.ts +0 -140
  800. package/src/instrumentation.ts +0 -18
  801. package/src/lib/__tests__/assistant-message-converter.test.ts +0 -162
  802. package/src/lib/__tests__/assistant-sessions.test.ts +0 -253
  803. package/src/lib/__tests__/build-multimodal-prompt.test.ts +0 -173
  804. package/src/lib/__tests__/config-reader.test.ts +0 -75
  805. package/src/lib/__tests__/diff-parser.test.ts +0 -212
  806. package/src/lib/__tests__/execution-summary.test.ts +0 -237
  807. package/src/lib/__tests__/file-serve.test.ts +0 -178
  808. package/src/lib/__tests__/file-utils.test.ts +0 -177
  809. package/src/lib/__tests__/internal-api-guard.test.ts +0 -151
  810. package/src/lib/__tests__/logger.test.ts +0 -181
  811. package/src/lib/__tests__/platform.test.ts +0 -566
  812. package/src/lib/__tests__/reveal-route-security.test.ts +0 -65
  813. package/src/lib/__tests__/schemas.test.ts +0 -377
  814. package/src/lib/__tests__/terminal-link-provider.test.ts +0 -160
  815. package/src/lib/__tests__/upload-route-security.test.ts +0 -120
  816. package/src/lib/ai/__tests__/capability-resolver.test.ts +0 -71
  817. package/src/lib/ai/__tests__/claude-cli-adapter.test.ts +0 -103
  818. package/src/lib/ai/__tests__/provider-registry.test.ts +0 -74
  819. package/src/lib/ai/adapters/cli/claude-cli-adapter.ts +0 -166
  820. package/src/lib/ai/capability-resolver.ts +0 -81
  821. package/src/lib/ai/provider-registry.ts +0 -54
  822. package/src/lib/ai/providers/claude.ts +0 -19
  823. package/src/lib/ai/providers/index.ts +0 -12
  824. package/src/lib/ai/types.ts +0 -151
  825. package/src/lib/assistant-constants.ts +0 -2
  826. package/src/lib/assistant-message-converter.ts +0 -131
  827. package/src/lib/assistant-sessions.ts +0 -75
  828. package/src/lib/build-multimodal-prompt.ts +0 -53
  829. package/src/lib/claude-session.ts +0 -156
  830. package/src/lib/cli-test.ts +0 -476
  831. package/src/lib/config-defaults.ts +0 -121
  832. package/src/lib/config-reader.ts +0 -16
  833. package/src/lib/constants.ts +0 -26
  834. package/src/lib/db.ts +0 -28
  835. package/src/lib/diff-parser.ts +0 -132
  836. package/src/lib/execution-summary.ts +0 -287
  837. package/src/lib/file-serve-client.ts +0 -13
  838. package/src/lib/file-serve.ts +0 -32
  839. package/src/lib/file-utils.ts +0 -108
  840. package/src/lib/fs-security.ts +0 -22
  841. package/src/lib/fts.ts +0 -83
  842. package/src/lib/git-api.ts +0 -19
  843. package/src/lib/git-url.ts +0 -244
  844. package/src/lib/i18n/en.ts +0 -754
  845. package/src/lib/i18n/types.ts +0 -4
  846. package/src/lib/i18n/zh.ts +0 -769
  847. package/src/lib/i18n.tsx +0 -64
  848. package/src/lib/init-tower.ts +0 -129
  849. package/src/lib/instrumentation-tasks.ts +0 -116
  850. package/src/lib/internal-api-guard.ts +0 -63
  851. package/src/lib/logger.ts +0 -46
  852. package/src/lib/mime-magic.ts +0 -67
  853. package/src/lib/platform.ts +0 -518
  854. package/src/lib/preview-process.ts +0 -40
  855. package/src/lib/pty/__tests__/ws-server-assistant.test.ts +0 -7
  856. package/src/lib/pty/pty-session.ts +0 -157
  857. package/src/lib/pty/session-store.ts +0 -67
  858. package/src/lib/pty/ws-server.ts +0 -335
  859. package/src/lib/schemas.ts +0 -67
  860. package/src/lib/search.ts +0 -225
  861. package/src/lib/terminal-link-provider.ts +0 -90
  862. package/src/lib/tower-dir.ts +0 -69
  863. package/src/lib/utils.ts +0 -20
  864. package/src/lib/worktree.ts +0 -184
  865. package/src/stores/board-store.ts +0 -46
  866. package/src/stores/task-execution-store.ts +0 -41
  867. package/src/types/index.ts +0 -36
  868. /package/{src/app/apple-icon.png → .next/server/app/apple-icon.png.body} +0 -0
  869. /package/{src/app/favicon.ico → .next/server/app/favicon.ico.body} +0 -0
  870. /package/{src/app/icon0.svg → .next/server/app/icon0.svg.body} +0 -0
  871. /package/{src/app/icon1.png → .next/server/app/icon1.png.body} +0 -0
  872. /package/{src/app/manifest.json → .next/server/app/manifest.json.body} +0 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[941231,e=>{"use strict";var t=e.i(958699),n=e.i(953193),a=e.i(314093),r=e.i(159515),l=e.i(952192),i=e.i(939747),o=e.i(348399),s=e.i(887426),p=e.i(626524),u=e.i(479201),c=e.i(336951),d=e.i(546302),S=e.i(431732),R=e.i(899284),q=e.i(104600),k=e.i(193695);e.i(792325);var T=e.i(27732),f=e.i(298600);let J=Buffer.from("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","base64");e.s(["GET",0,function(){return new f.NextResponse(J,{headers:{"Content-Type":"image/png","Cache-Control":"public, max-age=0, must-revalidate"}})},"dynamic",0,"force-static"],916068);var U=e.i(916068);let E=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/icon1.png/route",pathname:"/icon1.png",filename:"icon1.png--route-entry",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/tower/src/app/icon1.png--route-entry.js",nextConfigOutput:"",userland:U}),{workAsyncStorage:x,workUnitAsyncStorage:P,serverHooks:h}=E;async function K(e,t,a){a.requestMeta&&(0,r.setRequestMeta)(e,a.requestMeta),E.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/icon1.png/route";f=f.replace(/\/index$/,"")||"/";let J=await E.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!J)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:U,params:x,nextConfig:P,parsedUrl:h,isDraftMode:K,prerenderManifest:X,routerServerContext:W,isOnDemandRevalidate:N,revalidateOnlyGenerated:V,resolvedPathname:y,clientReferenceManifest:j,serverActionsManifest:L}=J,m=(0,o.normalizeAppPath)(f),v=!!(X.dynamicRoutes[m]||X.routes[y]),H=async()=>((null==W?void 0:W.render404)?await W.render404(e,t,h,!1):t.end("This page could not be found"),null);if(v&&!K){let e=!!X.routes[y],t=X.dynamicRoutes[m];if(t&&!1===t.fallback&&!e){if(P.adapterPath)return await H();throw new k.NoFallbackError}}let z=null;!v||E.isDev||K||(z="/index"===(z=y)?"/":z);let D=!0===E.isDev||!v,F=v&&!D;L&&j&&(0,i.setManifestsSingleton)({page:f,clientReferenceManifest:j,serverActionsManifest:L});let O=e.method||"GET",Z=(0,l.getTracer)(),C=Z.getActiveScopeSpan(),g=!!(null==W?void 0:W.isWrappedByNextServer),G=!!(0,r.getRequestMeta)(e,"minimalMode"),I=(0,r.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,P,X,G);null==I||I.resetRequestCache(),globalThis.__incrementalCache=I;let M={params:x,previewProps:X.preview,renderOpts:{experimental:{authInterrupts:!!P.experimental.authInterrupts},cacheComponents:!!P.cacheComponents,supportsDynamicResponse:D,incrementalCache:I,cacheLifeProfiles:P.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,a,r)=>E.onRequestError(e,t,a,r,W)},sharedContext:{buildId:U}},B=new s.NodeNextRequest(e),b=new s.NodeNextResponse(t),w=p.NextRequestAdapter.fromNodeNextRequest(B,(0,p.signalFromNodeResponse)(t));try{let r,i=async e=>E.handle(w,M).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=Z.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=n.get("next.route");if(a){let t=`${O} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),r&&r!==e&&(r.setAttribute("http.route",a),r.updateName(t))}else e.updateName(`${O} ${f}`)}),o=async r=>{var l,o;let s=async({previousCacheEntry:n})=>{try{if(!G&&N&&V&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let l=await i(r);e.fetchMetrics=M.renderOpts.fetchMetrics;let o=M.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let s=M.renderOpts.collectedTags;if(!v)return await (0,d.sendResponse)(B,b,l,M.renderOpts.pendingWaitUntil),null;{let e=await l.blob(),t=(0,S.toNodeOutgoingHttpHeaders)(l.headers);s&&(t[q.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=q.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,a=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=q.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:T.CachedRouteKind.APP_ROUTE,status:l.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:a}}}}catch(t){throw(null==n?void 0:n.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:N})},!1,W),t}},p=await E.handleResponse({req:e,nextConfig:P,cacheKey:z,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:X,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:V,responseGenerator:s,waitUntil:a.waitUntil,isMinimalMode:G});if(!v)return null;if((null==p||null==(l=p.value)?void 0:l.kind)!==T.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(o=p.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",N?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),K&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,S.fromNodeOutgoingHttpHeaders)(p.value.headers);return G&&v||u.delete(q.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,R.getCacheControlHeader)(p.cacheControl)),await (0,d.sendResponse)(B,b,new Response(p.value.body,{headers:u,status:p.value.status||200})),null};g&&C?await o(C):(r=Z.getActiveScopeSpan(),await Z.withPropagatedContext(e.headers,()=>Z.trace(u.BaseServerSpan.handleRequest,{spanName:`${O} ${f}`,kind:l.SpanKind.SERVER,attributes:{"http.method":O,"http.target":e.url}},o),void 0,!g))}catch(t){if(t instanceof k.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:N})},!1,W),v)throw t;return await (0,d.sendResponse)(B,b,new Response(null,{status:500})),null}}e.s(["handler",0,K,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:P})},"routeModule",0,E,"serverHooks",0,h,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,P],941231)}];
2
+
3
+ //# sourceMappingURL=10ge_next_dist_esm_build_templates_app-route_13w3ubu.js.map
@@ -0,0 +1,4 @@
1
+ module.exports=[54500,e=>{"use strict";var t=e.i(958699),a=e.i(953193),r=e.i(314093),i=e.i(159515),n=e.i(952192),s=e.i(939747),o=e.i(348399),d=e.i(887426),l=e.i(626524),c=e.i(479201),u=e.i(336951),p=e.i(546302),w=e.i(431732),h=e.i(899284),f=e.i(104600),v=e.i(193695);e.i(792325);var E=e.i(27732),b=e.i(298600),g=e.i(48671),k=e.i(985726),m=e.i(604719),R=e.i(647085),A=e.i(356776),P=e.i(997179),N=e.i(112310),y=e.i(741550),I=e.i(451724);class x{providers=new Map;register(e){this.providers.set(e.name,e)}get(e){return this.providers.get(e)}getAll(){return Array.from(this.providers.values())}getCliAdapter(e){return this.providers.get(e)?.cli?.adapter??null}getQueryAdapter(e,t){let a=this.providers.get(e);return a?"api"===t?a.api?.adapter??null:a.cliQuery?.adapter??null:null}getAllowedCommands(){let e=[];for(let t of this.providers.values())t.cli?.command&&e.push(t.cli.command);return e}async getAvailableProviders(){let e=[];for(let t of this.providers.values()){let a=!!t.cli&&await t.cli.adapter.isAvailable(),r=a&&t.cli?await t.cli.adapter.getVersion():null,i=!!t.api&&!!process.env[t.api.keyEnvVar],n=!!t.api&&i;e.push({name:t.name,displayName:t.displayName,cli:{available:a,version:r},api:{available:n,keyConfigured:i}})}return e}}var C=e.i(47533);let S=globalThis;if(!S.__providerRegistry){let e=new x;e.register({name:"claude",displayName:"Claude Code",agentFieldValue:"CLAUDE_CODE",cli:{command:"claude",adapter:new C.ClaudeCliAdapter},models:{cli:["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"],api:[]}}),S.__providerRegistry=e}let T=S.__providerRegistry;class j extends Error{code;provider;constructor(e,t,a){super(a),this.code=e,this.provider=t,this.name="AiProviderError"}}async function D(e){return R.db.aiCapabilityConfig.findUnique({where:{slot:e}})}async function O(e){let t=await D(e),a=t?.provider??"claude",r=t?.model??void 0,i=T.get(a);if(!i)throw new j("CLI_NOT_FOUND",a,`Provider "${a}" 未注册`);let n=i.cli?.adapter;if(!n)throw new j("UNSUPPORTED_MODE",a,`Provider "${a}" 不支持 CLI 模式`);return{adapter:n,provider:i,model:r}}var U=e.i(924868),_=e.i(446786),F=e.i(814747),L=e.i(77129);let M=y.logger.create("agent-actions"),q=(0,F.join)((0,_.tmpdir)(),"tower-signals");async function B(e,t){try{await (0,U.mkdir)(q,{recursive:!0,mode:448}),await (0,U.writeFile)((0,F.join)(q,`exit-${e}`),String(t),{mode:384})}catch{}}function $(e,t){try{return JSON.parse(e)}catch{throw Error(`CLI Profile ${t} 格式损坏,请在 Settings 中修复`)}}async function V(e,t){let a=await R.db.taskMessage.create({data:{role:"USER",content:t,taskId:e}});return(0,A.revalidatePath)("/workspaces"),{userMessage:a}}async function G(e){return R.db.taskMessage.findMany({where:{taskId:e},orderBy:{createdAt:"asc"}})}async function H(e,t="CLAUDE_CODE",a,r){let i=await R.db.taskExecution.create({data:{taskId:e,agent:t,status:"RUNNING",startedAt:new Date,worktreePath:a??null,worktreeBranch:r??null}});return await R.db.task.update({where:{id:e},data:{status:"IN_PROGRESS"}}),(0,A.revalidatePath)("/workspaces"),i}async function K(e,t="FAILED"){let a=await R.db.taskExecution.update({where:{id:e},data:{status:t,endedAt:new Date}});return(0,A.revalidatePath)("/workspaces"),a}async function W(t){let{destroySession:a,getSession:r}=await e.A(229073),i=r(t),n=i?.getBuffer()??"",s=await R.db.taskExecution.findFirst({where:{taskId:t,status:"RUNNING"},orderBy:{createdAt:"desc"}}),o=await R.db.task.findUnique({where:{id:t},include:{project:{select:{localPath:!0}}}});if(a(t),s){await R.db.taskExecution.update({where:{id:s.id},data:{status:"COMPLETED",endedAt:new Date}}),await R.db.task.update({where:{id:t},data:{status:"IN_REVIEW"}});let a=s.worktreePath||o?.project?.localPath||null,{captureExecutionSummary:r}=await e.A(274428);await r(s.id,t,0,n,a)}(0,A.revalidatePath)("/workspaces")}async function z(e){return R.db.taskExecution.findMany({where:{taskId:e},orderBy:{createdAt:"desc"},include:{insightNote:{select:{id:!0,title:!0,content:!0}}}})}async function X(t,a){let r=await R.db.task.findUnique({where:{id:t},include:{project:!0}});if(!r)throw Error("Task not found");if(!r.project?.localPath)throw Error("Project has no local path configured");await R.db.taskExecution.updateMany({where:{taskId:t,status:"RUNNING",NOT:{sessionId:a}},data:{status:"FAILED",endedAt:new Date}});let i=await R.db.taskExecution.findFirst({where:{taskId:t,sessionId:a},orderBy:{createdAt:"desc"}});if(!i)throw Error("Previous execution not found");let n=i.worktreePath??r.project.localPath,s=r.subPath?(0,F.join)(n,r.subPath):n,o=await R.db.cliProfile.findFirst({where:{isDefault:!0}});if(!o)throw Error("No default CLI profile found — run seed first");let d=$(o.baseArgs,"baseArgs"),l=$(o.envVars,"envVars"),c=await (0,I.readConfigValue)("terminal.idleTimeoutSec",180),{adapter:u}=await O("terminal"),p=u.buildEnvOverrides({taskId:t,taskTitle:r.title,apiUrl:`http://localhost:${process.env.PORT||"3000"}`,callbackUrl:i.callbackUrl??void 0}),w=await R.db.taskExecution.update({where:{id:i.id},data:{status:"RUNNING",endedAt:null}});await R.db.task.update({where:{id:t},data:{status:"IN_PROGRESS"}}),(0,A.revalidatePath)("/workspaces");let h=await (0,I.readConfigValue)("onboarding.username",""),f=u.buildSpawnArgs({taskId:t,prompt:"",cwd:s,resumeSessionId:a,profileArgs:[...d,...h?["--append-system-prompt",`The user's name is ${h}.`]:[]],profileEnvVars:l,envOverrides:p}),v=/no conversation found with session id|unknown session|session .* not found/i;return(0,N.createSession)(t,f.command,f.args,s,()=>{},async n=>{await B(t,n);let s=await R.db.taskExecution.findUnique({where:{id:w.id}});if(s?.status!=="RUNNING")return;let{getSession:o}=await e.A(229073),d=o(t),l=d?.getBuffer()??"";if(0!==n&&v.test(l)){M.info("Session resume failed — retrying with fresh execution",{taskId:t,previousSessionId:a}),await R.db.taskExecution.update({where:{id:w.id},data:{status:"FAILED",endedAt:new Date}}).catch(()=>{});try{await J(t,r.title)}catch(e){M.error("Fresh execution retry also failed",e,{taskId:t})}return}await R.db.taskExecution.update({where:{id:w.id},data:{status:0===n?"COMPLETED":"FAILED",endedAt:new Date}}).catch(()=>{});let c=i.worktreePath||r.project.localPath,{captureExecutionSummary:u}=await e.A(274428);await u(w.id,t,n,l,c);let{dispatchTaskCompletionEvent:p}=await e.A(6206);await p({taskId:t,taskTitle:r.title,status:0===n?"COMPLETED":"FAILED",executionId:w.id,workspaceId:r.project.workspaceId}),0===n&&await R.db.task.update({where:{id:t},data:{status:"IN_REVIEW"}}).catch(()=>{})},f.env,void 0,1e3*c),{executionId:w.id,worktreePath:i.worktreePath??n??null}}async function Q(t){let a=await R.db.task.findUnique({where:{id:t},include:{project:!0}});if(!a)throw Error("Task not found");if(!a.project?.localPath)throw Error("Project has no local path configured");let r=await R.db.taskExecution.findFirst({where:{taskId:t},orderBy:{createdAt:"desc"}}),{destroySession:i}=await e.A(229073);i(t),await R.db.taskExecution.updateMany({where:{taskId:t,status:"RUNNING"},data:{status:"FAILED",endedAt:new Date}});let n=r?.worktreePath??a.project.localPath,s=a.subPath?(0,F.join)(n,a.subPath):n,o=await R.db.cliProfile.findFirst({where:{isDefault:!0}});if(!o)throw Error("No default CLI profile found — run seed first");let d=$(o.baseArgs,"baseArgs"),l=$(o.envVars,"envVars"),c=await (0,I.readConfigValue)("terminal.idleTimeoutSec",180),{adapter:u,provider:p}=await O("terminal"),w=u.buildEnvOverrides({taskId:t,taskTitle:a.title,apiUrl:`http://localhost:${process.env.PORT||"3000"}`}),h=await R.db.taskExecution.create({data:{taskId:t,agent:p.agentFieldValue,status:"RUNNING",startedAt:new Date,worktreePath:r?.worktreePath??null,worktreeBranch:r?.worktreeBranch??null}});await R.db.task.update({where:{id:t},data:{status:"IN_PROGRESS"}}),(0,A.revalidatePath)("/workspaces");let f=await (0,I.readConfigValue)("onboarding.username",""),v=u.buildSpawnArgs({taskId:t,prompt:"",cwd:s,continueLatest:!0,profileArgs:[...d,...f?["--append-system-prompt",`The user's name is ${f}.`]:[]],profileEnvVars:l,envOverrides:w});return(0,N.createSession)(t,v.command,v.args,s,()=>{},async i=>{await B(t,i);let n=await R.db.taskExecution.findUnique({where:{id:h.id}});if(n?.status!=="RUNNING")return;let{getSession:s}=await e.A(229073),o=s(t),d=o?.getBuffer()??"";await R.db.taskExecution.update({where:{id:h.id},data:{status:0===i?"COMPLETED":"FAILED",endedAt:new Date}}).catch(()=>{});let l=r?.worktreePath||a.project.localPath,{captureExecutionSummary:c}=await e.A(274428);await c(h.id,t,i,d,l);let{dispatchTaskCompletionEvent:u}=await e.A(6206);await u({taskId:t,taskTitle:a.title,status:0===i?"COMPLETED":"FAILED",executionId:h.id,workspaceId:a.project.workspaceId}),0===i&&await R.db.task.update({where:{id:t},data:{status:"IN_REVIEW"}}).catch(()=>{})},v.env,void 0,1e3*c),{executionId:h.id,worktreePath:r?.worktreePath??n??null}}async function J(t,a,r,i){let n,s,o=await R.db.task.findUnique({where:{id:t},include:{project:!0}});if(!o)throw Error("Task not found");if(!o.project?.localPath)throw Error("Project has no local path configured");let d=await (0,I.readConfigValue)("system.maxConcurrentExecutions",20);if(await R.db.taskExecution.count({where:{status:"RUNNING"}})>=d)throw Error(`已达并发上限(${d}),请等待其他任务完成后再启动`);let l=await R.db.cliProfile.findFirst({where:{isDefault:!0}});if(!l)throw Error("No default CLI profile found — run seed first");let c=$(l.baseArgs,"baseArgs"),u=$(l.envVars,"envVars"),p=await (0,I.readConfigValue)("terminal.idleTimeoutSec",180),{adapter:w,provider:h,model:f}=await O("terminal");await R.db.taskExecution.updateMany({where:{taskId:t,status:"RUNNING"},data:{status:"FAILED",endedAt:new Date}}),"IN_PROGRESS"!==o.status&&(await R.db.task.update({where:{id:t},data:{status:"IN_PROGRESS"}}),(0,A.revalidatePath)("/workspaces"));let v=await R.db.taskMessage.findMany({where:{taskId:t},orderBy:{createdAt:"desc"},take:10}),E=[`Task: ${o.title}`,o.description?`Description: ${o.description}`:"",v.length>0?`Recent conversation:
2
+ ${v.reverse().map(e=>`${e.role}: ${e.content}`).join("\n")}`:"",a.trim()?`User message: ${a}`:""].filter(Boolean).join("\n\n"),b=r??o.promptId;if(b){let e=await R.db.agentPrompt.findUnique({where:{id:b}});e?.content&&(s=await (0,U.mkdtemp)((0,F.join)((0,_.tmpdir)(),"tower-pty-")),n=(0,F.join)(s,"instructions.md"),await (0,U.writeFile)(n,e.content,"utf-8"))}let g=null,k=null;if(o.baseBranch&&o.project.localPath){let{worktreePath:e,worktreeBranch:a}=await (0,P.createWorktree)(o.project.localPath,t,o.baseBranch);g=e,k=a}let m=g??o.project.localPath,y=o.subPath?(0,F.join)(m,o.subPath):m,x=await R.db.taskExecution.create({data:{taskId:t,agent:h.agentFieldValue,status:"RUNNING",startedAt:new Date,worktreePath:g??null,worktreeBranch:k??null,callbackUrl:i??null}});if(o.project.localPath)try{let t,{execFileSync:a}=await e.A(144264);(t=g&&o.baseBranch?a("git",["merge-base",o.baseBranch,"HEAD"],{cwd:g,encoding:"utf-8",timeout:5e3}).trim():a("git",["rev-parse","HEAD"],{cwd:o.project.localPath,encoding:"utf-8",timeout:5e3}).trim())&&await R.db.taskExecution.update({where:{id:x.id},data:{forkCommit:t}})}catch{}let C="";if(n){let{readFile:t}=await e.A(260815);C+=await t(n,"utf-8")}let S=await (0,I.readConfigValue)("onboarding.username","");S&&(C+=(C?"\n":"")+`The user's name is ${S}.`);let T=w.buildSpawnArgs({taskId:t,prompt:E,cwd:y,profileArgs:[...c,...C?["--append-system-prompt",C]:[],...f?["--model",f]:[]],profileEnvVars:u,envOverrides:w.buildEnvOverrides({taskId:t,taskTitle:o.title,apiUrl:`http://localhost:${process.env.PORT||"3000"}`,callbackUrl:i??void 0})});return(0,N.createSession)(t,T.command,T.args,y,()=>{},async a=>{await B(t,a);let r=await R.db.taskExecution.findUnique({where:{id:x.id}});if(r?.status!=="RUNNING")return;let{getSession:i}=await e.A(229073),n=i(t),d=n?.getBuffer()??"";await R.db.taskExecution.update({where:{id:x.id},data:{status:0===a?"COMPLETED":"FAILED",endedAt:new Date}}).catch(e=>{M.error("Failed to update execution status",e)});let l=g||o.project.localPath,{captureExecutionSummary:c}=await e.A(274428);await c(x.id,t,a,d,l);let{dispatchTaskCompletionEvent:u}=await e.A(6206);await u({taskId:t,taskTitle:o.title,status:0===a?"COMPLETED":"FAILED",executionId:x.id,workspaceId:o.project.workspaceId}),0===a&&await R.db.task.update({where:{id:t},data:{status:"IN_REVIEW"}}).catch(e=>{M.error("Failed to update task status",e)}),s&&await (0,U.rm)(s,{recursive:!0,force:!0}).catch(()=>{})},T.env,void 0,1e3*p),{executionId:x.id,worktreePath:g??m??null}}async function Z(){return(await R.db.taskExecution.findMany({where:{status:"RUNNING"},orderBy:{startedAt:"asc"},include:{task:{include:{project:{include:{workspace:!0}}}}}})).map(e=>({executionId:e.id,taskId:e.taskId,taskTitle:e.task.title,projectId:e.task.project.id,projectName:e.task.project.name,projectAlias:e.task.project.alias,projectLocalPath:e.task.project.localPath,workspaceId:e.task.project.workspace.id,workspaceName:e.task.project.workspace.name,worktreePath:e.worktreePath,startedAt:e.startedAt?.toISOString()??null}))}(0,L.ensureServerEntryExports)([V,G,H,K,W,z,X,Q,J,Z]),(0,m.registerServerReference)(V,"6027147e4d1f3f60722842600ed13315efa1344a4d",null),(0,m.registerServerReference)(G,"406d2d84388af8c8869d391c1f1ce1efccb70851bc",null),(0,m.registerServerReference)(H,"78abc5b6471bdb19972bc8eae3900be1ca14db53a4",null),(0,m.registerServerReference)(K,"60b0ba47f5651c401e6b1d244a475fd9d3d103411f",null),(0,m.registerServerReference)(W,"40b0be328179f86f28b11332f6259165af2ee8a56c",null),(0,m.registerServerReference)(z,"4072d632192adf6a43f929ae7adc0a98eb7e20c0e2",null),(0,m.registerServerReference)(X,"60448ee810344f12b03a536b18e82bfe384bfce12b",null),(0,m.registerServerReference)(Q,"4024f6d9f41e09e98a12ce95afe006665fa0a81c7d",null),(0,m.registerServerReference)(J,"78c11d994f9eece26b847bf3139b779d97ec363c54",null),(0,m.registerServerReference)(Z,"00752bfe863d97d0ed6a191b4afceab5c641608e58",null);let Y=g.z.object({prompt:g.z.string().optional().default("")});async function ee(e,{params:t}){let a=(0,k.requireLocalhost)(e);if(a)return a;let{taskId:r}=await t,i=(0,k.validateTaskId)(r);if(i)return i;try{let t=await e.json(),a=Y.safeParse(t);if(!a.success)return b.NextResponse.json({error:"Invalid body"},{status:400});let i=await J(r,a.data.prompt);return b.NextResponse.json(i)}catch(t){let e=t instanceof Error?t.message:String(t);return b.NextResponse.json({error:e},{status:500})}}e.s(["POST",0,ee,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],798207);var et=e.i(798207);let ea=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/internal/terminal/[taskId]/start/route",pathname:"/api/internal/terminal/[taskId]/start",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/tower/src/app/api/internal/terminal/[taskId]/start/route.ts",nextConfigOutput:"",userland:et}),{workAsyncStorage:er,workUnitAsyncStorage:ei,serverHooks:en}=ea;async function es(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),ea.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let b="/api/internal/terminal/[taskId]/start/route";b=b.replace(/\/index$/,"")||"/";let g=await ea.prepare(e,t,{srcPage:b,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:k,params:m,nextConfig:R,parsedUrl:A,isDraftMode:P,prerenderManifest:N,routerServerContext:y,isOnDemandRevalidate:I,revalidateOnlyGenerated:x,resolvedPathname:C,clientReferenceManifest:S,serverActionsManifest:T}=g,j=(0,o.normalizeAppPath)(b),D=!!(N.dynamicRoutes[j]||N.routes[C]),O=async()=>((null==y?void 0:y.render404)?await y.render404(e,t,A,!1):t.end("This page could not be found"),null);if(D&&!P){let e=!!N.routes[C],t=N.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await O();throw new v.NoFallbackError}}let U=null;!D||ea.isDev||P||(U="/index"===(U=C)?"/":U);let _=!0===ea.isDev||!D,F=D&&!_;T&&S&&(0,s.setManifestsSingleton)({page:b,clientReferenceManifest:S,serverActionsManifest:T});let L=e.method||"GET",M=(0,n.getTracer)(),q=M.getActiveScopeSpan(),B=!!(null==y?void 0:y.isWrappedByNextServer),$=!!(0,i.getRequestMeta)(e,"minimalMode"),V=(0,i.getRequestMeta)(e,"incrementalCache")||await ea.getIncrementalCache(e,R,N,$);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let G={params:m,previewProps:N.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:_,incrementalCache:V,cacheLifeProfiles:R.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,i)=>ea.onRequestError(e,t,r,i,y)},sharedContext:{buildId:k}},H=new d.NodeNextRequest(e),K=new d.NodeNextResponse(t),W=l.NextRequestAdapter.fromNodeNextRequest(H,(0,l.signalFromNodeResponse)(t));try{let i,s=async e=>ea.handle(W,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=M.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${L} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",r),i.updateName(t))}else e.updateName(`${L} ${b}`)}),o=async i=>{var n,o;let d=async({previousCacheEntry:a})=>{try{if(!$&&I&&x&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await s(i);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let d=G.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(H,K,n,G.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[f.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,r=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:E.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await ea.onRequestError(e,t,{routerKind:"App Router",routePath:b,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:I})},!1,y),t}},l=await ea.handleResponse({req:e,nextConfig:R,cacheKey:U,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:x,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:$});if(!D)return null;if((null==l||null==(n=l.value)?void 0:n.kind)!==E.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(o=l.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});$||t.setHeader("x-nextjs-cache",I?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),P&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,w.fromNodeOutgoingHttpHeaders)(l.value.headers);return $&&D||c.delete(f.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,h.getCacheControlHeader)(l.cacheControl)),await (0,p.sendResponse)(H,K,new Response(l.value.body,{headers:c,status:l.value.status||200})),null};B&&q?await o(q):(i=M.getActiveScopeSpan(),await M.withPropagatedContext(e.headers,()=>M.trace(c.BaseServerSpan.handleRequest,{spanName:`${L} ${b}`,kind:n.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},o),void 0,!B))}catch(t){if(t instanceof v.NoFallbackError||await ea.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:I})},!1,y),D)throw t;return await (0,p.sendResponse)(H,K,new Response(null,{status:500})),null}}e.s(["handler",0,es,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:er,workUnitAsyncStorage:ei})},"routeModule",0,ea,"serverHooks",0,en,"workAsyncStorage",0,er,"workUnitAsyncStorage",0,ei],54500)}];
3
+
4
+ //# sourceMappingURL=10ge_next_dist_esm_build_templates_app-route_13~vb_i.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[924868,(e,r,s)=>{r.exports=e.x("fs/promises",()=>require("fs/promises"))},233405,(e,r,s)=>{r.exports=e.x("child_process",()=>require("child_process"))},224361,(e,r,s)=>{r.exports=e.x("util",()=>require("util"))},254799,(e,r,s)=>{r.exports=e.x("crypto",()=>require("crypto"))},362562,(e,r,s)=>{r.exports=e.x("module",()=>require("module"))},319668,(e,r,s)=>{r.exports=e.x("readline",()=>require("readline"))},792509,(e,r,s)=>{r.exports=e.x("url",()=>require("url"))},427699,(e,r,s)=>{r.exports=e.x("events",()=>require("events"))},605365,(e,r,s)=>{r.exports=e.x("process",()=>require("process"))}];
2
+
3
+ //# sourceMappingURL=%5Bexternals%5D__02xkqim._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[750227,(e,r,t)=>{r.exports=e.x("node:path",()=>require("node:path"))},193695,(e,r,t)=>{r.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,r,t)=>{r.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},270406,(e,r,t)=>{r.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},324725,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},224361,(e,r,t)=>{r.exports=e.x("util",()=>require("util"))},522734,(e,r,t)=>{r.exports=e.x("fs",()=>require("fs"))},814747,(e,r,t)=>{r.exports=e.x("path",()=>require("path"))},446786,(e,r,t)=>{r.exports=e.x("os",()=>require("os"))},233405,(e,r,t)=>{r.exports=e.x("child_process",()=>require("child_process"))}];
2
+
3
+ //# sourceMappingURL=%5Bexternals%5D__09oeovy._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[224361,(e,r,o)=>{r.exports=e.x("util",()=>require("util"))},254799,(e,r,o)=>{r.exports=e.x("crypto",()=>require("crypto"))},362562,(e,r,o)=>{r.exports=e.x("module",()=>require("module"))},319668,(e,r,o)=>{r.exports=e.x("readline",()=>require("readline"))},792509,(e,r,o)=>{r.exports=e.x("url",()=>require("url"))},427699,(e,r,o)=>{r.exports=e.x("events",()=>require("events"))},605365,(e,r,o)=>{r.exports=e.x("process",()=>require("process"))}];
2
+
3
+ //# sourceMappingURL=%5Bexternals%5D__0~rg.xo._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[224361,(e,r,s)=>{r.exports=e.x("util",()=>require("util"))},233405,(e,r,s)=>{r.exports=e.x("child_process",()=>require("child_process"))},522734,(e,r,s)=>{r.exports=e.x("fs",()=>require("fs"))},814747,(e,r,s)=>{r.exports=e.x("path",()=>require("path"))},446786,(e,r,s)=>{r.exports=e.x("os",()=>require("os"))},924868,(e,r,s)=>{r.exports=e.x("fs/promises",()=>require("fs/promises"))},254799,(e,r,s)=>{r.exports=e.x("crypto",()=>require("crypto"))},362562,(e,r,s)=>{r.exports=e.x("module",()=>require("module"))},319668,(e,r,s)=>{r.exports=e.x("readline",()=>require("readline"))},792509,(e,r,s)=>{r.exports=e.x("url",()=>require("url"))},427699,(e,r,s)=>{r.exports=e.x("events",()=>require("events"))},605365,(e,r,s)=>{r.exports=e.x("process",()=>require("process"))}];
2
+
3
+ //# sourceMappingURL=%5Bexternals%5D__11rejr-._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[233405,(e,r,s)=>{r.exports=e.x("child_process",()=>require("child_process"))}];
2
+
3
+ //# sourceMappingURL=%5Bexternals%5D_child_process_0pwkpv9._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[193695,(e,r,t)=>{r.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,r,t)=>{r.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},270406,(e,r,t)=>{r.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},324725,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))}];
2
+
3
+ //# sourceMappingURL=%5Bexternals%5D_next_dist_0g2nsos._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[224361,(e,r,t)=>{r.exports=e.x("util",()=>require("util"))}];
2
+
3
+ //# sourceMappingURL=%5Bexternals%5D_util_0wtvqkc._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},458312,e=>{"use strict";var t=e.i(958699),r=e.i(953193),a=e.i(314093),n=e.i(159515),s=e.i(952192),o=e.i(939747),i=e.i(348399),l=e.i(887426),d=e.i(626524),u=e.i(479201),p=e.i(336951),c=e.i(546302),h=e.i(431732),x=e.i(899284),f=e.i(104600),R=e.i(193695);e.i(792325);var v=e.i(27732),m=e.i(298600),g=e.i(522734),w=e.i(814747),y=e.i(446786);let E=["/proc","/sys","/dev","/boot","/sbin"];async function C(e){let t=e.nextUrl.searchParams.get("path")||y.default.homedir();try{let e=w.default.resolve(t);if(process.platform,E.some(t=>e.startsWith(t)))return m.NextResponse.json({error:"Access denied: system directory"},{status:403});if(!g.default.statSync(e).isDirectory())return m.NextResponse.json({error:"Not a directory"},{status:400});let r=g.default.readdirSync(e,{withFileTypes:!0}).filter(e=>e.isDirectory()&&!e.name.startsWith(".")).map(t=>{let r=w.default.join(e,t.name),a=g.default.existsSync(w.default.join(r,".git"));return{name:t.name,path:r,isGit:a}}).sort((e,t)=>e.name.localeCompare(t.name));process.platform;let a=w.default.dirname(e),n="/"===e;return m.NextResponse.json({currentPath:e,parentPath:n?"__DRIVES__":a,homePath:y.default.homedir(),folders:r,...{}})}catch{return m.NextResponse.json({error:"Cannot read directory",currentPath:t},{status:400})}}e.s(["GET",0,C],393120);var b=e.i(393120);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/browse-fs/route",pathname:"/api/browse-fs",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/tower/src/app/api/browse-fs/route.ts",nextConfigOutput:"",userland:b}),{workAsyncStorage:N,workUnitAsyncStorage:P,serverHooks:q}=A;async function T(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),A.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/browse-fs/route";m=m.replace(/\/index$/,"")||"/";let g=await A.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:y,nextConfig:E,parsedUrl:C,isDraftMode:b,prerenderManifest:N,routerServerContext:P,isOnDemandRevalidate:q,revalidateOnlyGenerated:T,resolvedPathname:S,clientReferenceManifest:_,serverActionsManifest:j}=g,k=(0,i.normalizeAppPath)(m),O=!!(N.dynamicRoutes[k]||N.routes[S]),H=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,C,!1):t.end("This page could not be found"),null);if(O&&!b){let e=!!N.routes[S],t=N.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await H();throw new R.NoFallbackError}}let I=null;!O||A.isDev||b||(I="/index"===(I=S)?"/":I);let U=!0===A.isDev||!O,D=O&&!U;j&&_&&(0,o.setManifestsSingleton)({page:m,clientReferenceManifest:_,serverActionsManifest:j});let M=e.method||"GET",F=(0,s.getTracer)(),$=F.getActiveScopeSpan(),K=!!(null==P?void 0:P.isWrappedByNextServer),B=!!(0,n.getRequestMeta)(e,"minimalMode"),L=(0,n.getRequestMeta)(e,"incrementalCache")||await A.getIncrementalCache(e,E,N,B);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let W={params:y,previewProps:N.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:U,incrementalCache:L,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>A.onRequestError(e,t,a,n,P)},sharedContext:{buildId:w}},G=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(G,(0,d.signalFromNodeResponse)(t));try{let n,o=async e=>A.handle(X,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${M} ${m}`)}),i=async n=>{var s,i;let l=async({previousCacheEntry:r})=>{try{if(!B&&q&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(n);e.fetchMetrics=W.renderOpts.fetchMetrics;let i=W.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let l=W.renderOpts.collectedTags;if(!O)return await (0,c.sendResponse)(G,V,s,W.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:q})},!1,P),t}},d=await A.handleResponse({req:e,nextConfig:E,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:B});if(!O)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",q?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return B&&O||u.delete(f.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,x.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(G,V,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};K&&$?await i($):(n=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${M} ${m}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},i),void 0,!K))}catch(t){if(t instanceof R.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:q})},!1,P),O)throw t;return await (0,c.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,T,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:P})},"routeModule",0,A,"serverHooks",0,q,"workAsyncStorage",0,N,"workUnitAsyncStorage",0,P],458312)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__02p-gd5._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[477714,(e,t,r)=>{t.exports=e.x("@prisma/client-44bae9bb3052ac14",()=>require("@prisma/client-44bae9bb3052ac14"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},985726,e=>{"use strict";var t=e.i(298600);let r=["localhost","127.0.0.1","[::1]"],n=new Set(["127.0.0.1","::1","::ffff:127.0.0.1"]),a=/^c[a-z0-9]{20,30}$/;e.s(["requireLocalhost",0,function(e){let a=e.headers.get("x-forwarded-for");if(a&&!a.split(",").map(e=>e.trim()).every(e=>n.has(e)))return t.NextResponse.json({error:"Forbidden"},{status:403});let s=e.headers.get("host")??"";return r.some(e=>s.startsWith(e))?null:t.NextResponse.json({error:"Forbidden"},{status:403})},"validateProjectId",0,function(e){return a.test(e)?null:t.NextResponse.json({error:"Invalid projectId format"},{status:400})},"validateTaskId",0,function(e){return a.test(e)?null:t.NextResponse.json({error:"Invalid taskId format"},{status:400})}])},647085,e=>{"use strict";var t=e.i(477714);let r=globalThis.prisma??new t.PrismaClient({log:[]});process.on("SIGTERM",()=>{r.$disconnect().catch(()=>{})}),process.on("SIGINT",()=>{r.$disconnect().catch(()=>{})}),e.s(["db",0,r])},641133,e=>{"use strict";var t=e.i(958699),r=e.i(953193),n=e.i(314093),a=e.i(159515),s=e.i(952192),o=e.i(939747),i=e.i(348399),l=e.i(887426),d=e.i(626524),u=e.i(479201),p=e.i(336951),c=e.i(546302),h=e.i(431732),x=e.i(899284),R=e.i(104600),v=e.i(193695);e.i(792325);var f=e.i(27732),g=e.i(298600),m=e.i(647085),w=e.i(985726);async function E(e){let t,r=(0,w.requireLocalhost)(e);if(r)return r;try{t=await e.json()}catch{return g.NextResponse.json({error:"Invalid JSON"},{status:400})}let{taskId:n,sessionId:a}=t;if(!n||"string"!=typeof n)return g.NextResponse.json({error:"Missing taskId"},{status:400});let s=(0,w.validateTaskId)(n);if(s)return s;if(!a||"string"!=typeof a)return g.NextResponse.json({error:"Missing sessionId"},{status:400});let o=await m.db.taskExecution.findFirst({where:{taskId:n,status:"RUNNING"},orderBy:{createdAt:"desc"},select:{id:!0,sessionId:!0}});return o?o.sessionId?g.NextResponse.json({ok:!0,skipped:!0}):(await m.db.taskExecution.update({where:{id:o.id},data:{sessionId:a}}),g.NextResponse.json({ok:!0,sessionId:a})):g.NextResponse.json({error:"No running execution"},{status:404})}e.s(["POST",0,E,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],670017);var y=e.i(670017);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/internal/hooks/session/route",pathname:"/api/internal/hooks/session",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/tower/src/app/api/internal/hooks/session/route.ts",nextConfigOutput:"",userland:y}),{workAsyncStorage:N,workUnitAsyncStorage:C,serverHooks:k}=b;async function A(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),b.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/internal/hooks/session/route";g=g.replace(/\/index$/,"")||"/";let m=await b.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!m)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:w,params:E,nextConfig:y,parsedUrl:N,isDraftMode:C,prerenderManifest:k,routerServerContext:A,isOnDemandRevalidate:I,revalidateOnlyGenerated:j,resolvedPathname:T,clientReferenceManifest:q,serverActionsManifest:P}=m,S=(0,i.normalizeAppPath)(g),O=!!(k.dynamicRoutes[S]||k.routes[T]),_=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,N,!1):t.end("This page could not be found"),null);if(O&&!C){let e=!!k.routes[T],t=k.dynamicRoutes[S];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await _();throw new v.NoFallbackError}}let M=null;!O||b.isDev||C||(M="/index"===(M=T)?"/":M);let H=!0===b.isDev||!O,U=O&&!H;P&&q&&(0,o.setManifestsSingleton)({page:g,clientReferenceManifest:q,serverActionsManifest:P});let D=e.method||"GET",$=(0,s.getTracer)(),F=$.getActiveScopeSpan(),K=!!(null==A?void 0:A.isWrappedByNextServer),B=!!(0,a.getRequestMeta)(e,"minimalMode"),L=(0,a.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,y,k,B);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let G={params:E,previewProps:k.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:H,incrementalCache:L,cacheLifeProfiles:y.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>b.onRequestError(e,t,n,a,A)},sharedContext:{buildId:w}},W=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(W,(0,d.signalFromNodeResponse)(t));try{let a,o=async e=>b.handle(X,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${D} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",n),a.updateName(t))}else e.updateName(`${D} ${g}`)}),i=async a=>{var s,i;let l=async({previousCacheEntry:r})=>{try{if(!B&&I&&j&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(a);e.fetchMetrics=G.renderOpts.fetchMetrics;let i=G.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let l=G.renderOpts.collectedTags;if(!O)return await (0,c.sendResponse)(W,V,s,G.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[R.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,n=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,A),t}},d=await b.handleResponse({req:e,nextConfig:y,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:j,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:B});if(!O)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",I?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return B&&O||u.delete(R.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,x.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(W,V,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};K&&F?await i(F):(a=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(u.BaseServerSpan.handleRequest,{spanName:`${D} ${g}`,kind:s.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},i),void 0,!K))}catch(t){if(t instanceof v.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:S,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,A),O)throw t;return await (0,c.sendResponse)(W,V,new Response(null,{status:500})),null}}e.s(["handler",0,A,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:C})},"routeModule",0,b,"serverHooks",0,k,"workAsyncStorage",0,N,"workUnitAsyncStorage",0,C],641133)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0319djr._.js.map
@@ -0,0 +1,4 @@
1
+ module.exports=[477714,(e,t,r)=>{t.exports=e.x("@prisma/client-44bae9bb3052ac14",()=>require("@prisma/client-44bae9bb3052ac14"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},351032,(e,t,r)=>{t.exports=e.x("node-pty-17f56ec9e6acce49",()=>require("node-pty-17f56ec9e6acce49"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},985726,e=>{"use strict";var t=e.i(298600);let r=["localhost","127.0.0.1","[::1]"],n=new Set(["127.0.0.1","::1","::ffff:127.0.0.1"]),s=/^c[a-z0-9]{20,30}$/;e.s(["requireLocalhost",0,function(e){let s=e.headers.get("x-forwarded-for");if(s&&!s.split(",").map(e=>e.trim()).every(e=>n.has(e)))return t.NextResponse.json({error:"Forbidden"},{status:403});let i=e.headers.get("host")??"";return r.some(e=>i.startsWith(e))?null:t.NextResponse.json({error:"Forbidden"},{status:403})},"validateProjectId",0,function(e){return s.test(e)?null:t.NextResponse.json({error:"Invalid projectId format"},{status:400})},"validateTaskId",0,function(e){return s.test(e)?null:t.NextResponse.json({error:"Invalid taskId format"},{status:400})}])},359703,e=>{"use strict";var t=e.i(902157),r=e.i(874533),n=e.i(750227);function s(e=process.platform){return"win32"===e}function i(e){let t=e.replace(/\r\n|\r|\n/g," ");if(!t.length)return'""';let r=t.replace(/"/g,'""');return/[\s"&<>|^()]/.test(r)?`"${r}"`:r}let a=["CLAUDECODE","CLAUDE_CODE_ENTRYPOINT","CLAUDE_CODE_SESSION","CLAUDE_CODE_PARENT_SESSION"];async function o(e,t={}){let r=t.cwd??process.cwd(),i=t.env??process.env,a=t.platform??process.platform;if(e.includes("/")||e.includes("\\")){let t=n.default.isAbsolute(e)?e:n.default.resolve(r,e);return await p(t,a)?t:null}let l=i.PATH??i.Path??"",u=s(a)?";":":",c=l.split(u).filter(Boolean),d=s(a)?(i.PATHEXT??".EXE;.CMD;.BAT;.COM").split(";").filter(Boolean):[""],f=s(a)&&n.default.extname(e).length>0;for(let t of c)for(let r of s(a)?f?[n.default.join(t,e)]:d.map(r=>n.default.join(t,`${e}${r}`)):[n.default.join(t,e)])if(await p(r,a))return r;return null}let l=e=>(0,r.execSync)(e,{encoding:"utf-8",timeout:5e3});function u(e,t=process.platform,r=l){if(n.default.extname(e)||e.includes("/")||e.includes("\\")||!s(t))return e;try{let t=r(`where ${e}`).trim().split("\n").map(e=>e.trim()).filter(Boolean),n=t.find(e=>/\.(cmd|bat|exe)$/i.test(e));if(n)return n;if(t.length>0)return t[0]}catch{}return e}async function c(e,t,r={}){let n=r.env??process.env,s=r.platform??process.platform;return d(await o(e,r)??e,t,n,s)}function d(e,t,r,a){if(!s(a))return{command:e,args:t};let o=n.default.extname(e).toLowerCase();return".cmd"===o||".bat"===o||".com"===o?{command:r.ComSpec||"cmd.exe",args:["/d","/s","/c",[i(e),...t.map(i)].join(" ")]}:{command:e,args:t}}async function p(e,r=process.platform){try{return await t.promises.access(e,s(r)?t.constants.F_OK:t.constants.X_OK),!0}catch{return!1}}async function f(e=process.platform){return s(e)?m():h()}async function h(){try{let e=await t.promises.readFile("/etc/shells","utf-8"),r=[],s=new Map;for(let t of e.split("\n")){let e=t.replace(/#.*/,"").trim();if(!e||!e.startsWith("/")||!await p(e))continue;let i=n.default.basename(e),a=s.get(i)??0;s.set(i,a+1),a>0&&(i=`${i} (${a+1})`),r.push({name:i,path:e})}return r}catch{let e=[];for(let t of["/bin/zsh","/bin/bash","/bin/sh"])await p(t)&&e.push({name:n.default.basename(t),path:t});return e}}async function m(){let e=[],t=[],r=await o("git",{platform:"win32"});if(r){let e=n.default.resolve(n.default.dirname(r),"..","..");t.push(n.default.join(e,"bin","bash.exe"),n.default.join(e,"usr","bin","bash.exe"))}for(let e of[process.env.ProgramW6432,process.env.ProgramFiles,process.env["ProgramFiles(x86)"],process.env.LocalAppData?n.default.join(process.env.LocalAppData,"Programs"):null].filter(Boolean))t.push(n.default.join(e,"Git","bin","bash.exe"),n.default.join(e,"Git","usr","bin","bash.exe"));let s=process.env.USERPROFILE??"";for(let r of(s&&t.push(n.default.join(s,"scoop","apps","git","current","bin","bash.exe")),process.env.CLAUDE_CODE_GIT_BASH_PATH&&t.unshift(process.env.CLAUDE_CODE_GIT_BASH_PATH),t))if(await p(r,"win32")){e.push({name:"Git Bash",path:r});break}let i=await o("pwsh",{platform:"win32"});i&&e.push({name:"PowerShell",path:i});let a=process.env.windir??"C:\\WINDOWS",l=n.default.join(a,"System32","WindowsPowerShell","v1.0","powershell.exe");await p(l,"win32")&&e.push({name:"Windows PowerShell",path:l});let u=process.env.ComSpec??n.default.join(a,"System32","cmd.exe");return await p(u,"win32")&&e.push({name:"Command Prompt",path:u}),e}let v=[{name:"Terminal",bundleName:"Terminal"},{name:"iTerm2",bundleName:"iTerm"},{name:"Warp",bundleName:"Warp"},{name:"Alacritty",bundleName:"Alacritty"},{name:"WezTerm",bundleName:"WezTerm"},{name:"kitty",bundleName:"kitty"},{name:"Hyper",bundleName:"Hyper"}];async function x(e=process.platform){if("darwin"===e){let t=[];for(let r of v)await p(`/Applications/${r.bundleName}.app`,e)&&t.push({name:r.name,value:r.bundleName});return t}if(s(e)){let t=[],r=await o("wt",{platform:e});return r&&t.push({name:"Windows Terminal",value:r}),t}return[]}e.s(["detectShells",0,f,"detectTerminalApps",0,x,"ensurePathInEnv",0,function(e,t=process.platform){let r=s(t)?"Path":"PATH";return(e.PATH??e.Path??"").length>0?e:{...e,[r]:function(e=process.platform){return s(e)?"C:\\Windows\\System32;C:\\Windows;C:\\Windows\\System32\\Wbem":"/usr/local/bin:/opt/homebrew/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin"}(t)}},"resolveCommandPath",0,o,"resolveCommandPathSync",0,u,"resolveSpawnTarget",0,c,"resolveSpawnTargetSync",0,function(e,t,r=process.platform,n){return d(u(e,r,n),t,process.env,r)},"stripClaudeNestingEnv",0,function(e){let t={...e};for(let e of a)delete t[e];return t}])},112310,e=>{"use strict";var t=e.i(351032),r=e.i(359703);class n{taskId;_pty;killed=!1;disconnectTimer=null;_buffer="";static BUFFER_MAX=51200;_onData;_exitListeners=[];_idleTimer=null;_idleThresholdMs;_onIdle;_idleFired=!1;constructor(e,s,i,a,o,l,u,c,d){this.taskId=e,this._onData=o,this._onIdle=c??null,this._idleThresholdMs=Math.max(d??18e4,18e4);const p=(0,r.stripClaudeNestingEnv)((0,r.ensurePathInEnv)(process.env));this._pty=t.spawn(s,i,{name:"xterm-color",cols:80,rows:24,cwd:a,env:{...p,TERM:"xterm-color",...u}}),this._pty.onData(e=>{this._buffer+=e,this._buffer.length>n.BUFFER_MAX&&(this._buffer=this._buffer.slice(this._buffer.length-n.BUFFER_MAX)),this._resetIdleTimer(),this._onData(e)}),this._pty.onExit(({exitCode:e,signal:t})=>{for(let r of(this.killed=!0,this._idleTimer&&(clearTimeout(this._idleTimer),this._idleTimer=null),l(e,t),this._exitListeners))r(e)}),this._resetIdleTimer()}_resetIdleTimer(){this._idleTimer&&(clearTimeout(this._idleTimer),this._idleTimer=null),null===this._onIdle||this.killed||this._idleFired||(this._idleTimer=setTimeout(()=>{this._idleFired=!0,this._onIdle?.()},this._idleThresholdMs))}setDataListener(e){this._onData=e}setExitListener(e){this._exitListeners=[e]}write(e){this.killed||(this._resetIdleTimer(),this._pty.write(e))}resize(e,t){this.killed||this._pty.resize(e,t)}getBuffer(){return this._buffer}get isIdle(){return this._idleFired}kill(){if(!this.killed){this.killed=!0,this._idleTimer&&(clearTimeout(this._idleTimer),this._idleTimer=null);try{this._pty.kill()}catch{}}}}let s=globalThis;s.__ptySessions||(s.__ptySessions=new Map);let i=s.__ptySessions;function a(e){let t=i.get(e);t&&(i.delete(e),t.disconnectTimer&&(clearTimeout(t.disconnectTimer),t.disconnectTimer=null),t.kill())}function o(){for(let e of i.keys())a(e)}process.once("SIGTERM",()=>{console.error("[session-store] SIGTERM received — cleaning up PTY sessions"),o()}),process.once("SIGINT",()=>{console.error("[session-store] SIGINT received — cleaning up PTY sessions"),o()}),e.s(["createSession",0,function(e,t,s,o,l,u,c,d,p){a(e);let{command:f,args:h}=(0,r.resolveSpawnTargetSync)(t,s),m=new n(e,f,h,o,l,u,c,d,p);return i.set(e,m),m},"destroySession",0,a,"getSession",0,function(e){return i.get(e)}],112310)},647085,e=>{"use strict";var t=e.i(477714);let r=globalThis.prisma??new t.PrismaClient({log:[]});process.on("SIGTERM",()=>{r.$disconnect().catch(()=>{})}),process.on("SIGINT",()=>{r.$disconnect().catch(()=>{})}),e.s(["db",0,r])},451724,e=>{"use strict";var t=e.i(647085);async function r(e,r){let n=await t.db.systemConfig.findUnique({where:{key:e}});if(!n)return r;try{return JSON.parse(n.value)}catch{return r}}e.s(["readConfigValue",0,r])},333956,(e,t,r)=>{"use strict";t.exports=e.r(950820).vendored["react-rsc"].ReactServerDOMTurbopackServer},604719,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"registerServerReference",{enumerable:!0,get:function(){return n.registerServerReference}});let n=e.r(333956)},77129,(e,t,r)=>{"use strict";function n(e){for(let t=0;t<e.length;t++){let r=e[t];if("function"!=typeof r)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof r}.
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ensureServerEntryExports",{enumerable:!0,get:function(){return n}})},254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},950051,e=>{"use strict";var t=e.i(958699),r=e.i(953193),n=e.i(314093),s=e.i(159515),i=e.i(952192),a=e.i(939747),o=e.i(348399),l=e.i(887426),u=e.i(626524),c=e.i(479201),d=e.i(336951),p=e.i(546302),f=e.i(431732),h=e.i(899284),m=e.i(104600),v=e.i(193695);e.i(792325);var x=e.i(27732),w=e.i(298600),_=e.i(985726),b=e.i(604719),g=e.i(254799),y=e.i(112310),T=e.i(451724),E=e.i(647085);let R="__assistant__";async function S(e){let t,r;(0,y.destroySession)(R);let n=await E.db.cliProfile.findFirst({where:{isDefault:!0}});if(!n)throw Error("No default CLI profile — configure one in Settings");try{t=JSON.parse(n.baseArgs)}catch{throw Error("CLI Profile baseArgs is malformed — fix in Settings")}try{r=JSON.parse(n.envVars)}catch{throw Error("CLI Profile envVars is malformed — fix in Settings")}let s=await (0,T.readConfigValue)("assistant.systemPrompt","You are Tower Assistant, an AI operator for the Tower task management platform."),i=process.cwd(),a=[...t,"--allowedTools","mcp__tower__*","--append-system-prompt",s];e?a.push("--resume",e):a.push("--session-id",(0,g.randomUUID)());let o={...r};(0,y.createSession)(R,n.command,a,i,()=>{},()=>{},o)}async function C(){(0,y.destroySession)(R)}async function A(){let e=(0,y.getSession)(R);return!e||e.killed?"idle":"running"}async function P(e){let t,r=(0,_.requireLocalhost)(e);if(r)return r;try{let r=await e.json().catch(()=>({}));r.sessionId&&"string"==typeof r.sessionId&&(t=r.sessionId)}catch{}try{return await S(t),w.NextResponse.json({ok:!0,sessionKey:R,sessionId:t??null})}catch(t){let e=t instanceof Error?t.message:String(t);return w.NextResponse.json({error:e},{status:500})}}async function I(e){let t=(0,_.requireLocalhost)(e);return t||(await C(),w.NextResponse.json({ok:!0}))}async function N(e){let t=(0,_.requireLocalhost)(e);if(t)return t;let r=await A();return w.NextResponse.json({status:r})}(0,e.i(77129).ensureServerEntryExports)([S,C,A]),(0,b.registerServerReference)(S,"409f045527233c54fcfdb6b983d27f9e5508cd4a3e",null),(0,b.registerServerReference)(C,"00497d65bbfc499e3dbd46a146122735fd34cd22c5",null),(0,b.registerServerReference)(A,"0043cad8bb3dbae79131fb140b5965f07bf733ff20",null),e.s(["DELETE",0,I,"GET",0,N,"POST",0,P,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],333278);var j=e.i(333278);let O=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/internal/assistant/route",pathname:"/api/internal/assistant",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/tower/src/app/api/internal/assistant/route.ts",nextConfigOutput:"",userland:j}),{workAsyncStorage:k,workUnitAsyncStorage:D,serverHooks:q}=O;async function M(e,t,n){n.requestMeta&&(0,s.setRequestMeta)(e,n.requestMeta),O.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/internal/assistant/route";w=w.replace(/\/index$/,"")||"/";let _=await O.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!_)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:b,params:g,nextConfig:y,parsedUrl:T,isDraftMode:E,prerenderManifest:R,routerServerContext:S,isOnDemandRevalidate:C,revalidateOnlyGenerated:A,resolvedPathname:P,clientReferenceManifest:I,serverActionsManifest:N}=_,j=(0,o.normalizeAppPath)(w),k=!!(R.dynamicRoutes[j]||R.routes[P]),D=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,T,!1):t.end("This page could not be found"),null);if(k&&!E){let e=!!R.routes[P],t=R.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await D();throw new v.NoFallbackError}}let q=null;!k||O.isDev||E||(q="/index"===(q=P)?"/":q);let M=!0===O.isDev||!k,U=k&&!M;N&&I&&(0,a.setManifestsSingleton)({page:w,clientReferenceManifest:I,serverActionsManifest:N});let L=e.method||"GET",H=(0,i.getTracer)(),F=H.getActiveScopeSpan(),$=!!(null==S?void 0:S.isWrappedByNextServer),W=!!(0,s.getRequestMeta)(e,"minimalMode"),B=(0,s.getRequestMeta)(e,"incrementalCache")||await O.getIncrementalCache(e,y,R,W);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let G={params:g,previewProps:R.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:M,incrementalCache:B,cacheLifeProfiles:y.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,s)=>O.onRequestError(e,t,n,s,S)},sharedContext:{buildId:b}},K=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(K,(0,u.signalFromNodeResponse)(t));try{let s,a=async e=>O.handle(z,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${L} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",n),s.updateName(t))}else e.updateName(`${L} ${w}`)}),o=async s=>{var i,o;let l=async({previousCacheEntry:r})=>{try{if(!W&&C&&A&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await a(s);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!k)return await (0,p.sendResponse)(K,X,i,G.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,n=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await O.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:C})},!1,S),t}},u=await O.handleResponse({req:e,nextConfig:y,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:R,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:A,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:W});if(!k)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",C?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return W&&k||c.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,h.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(K,X,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};$&&F?await o(F):(s=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(c.BaseServerSpan.handleRequest,{spanName:`${L} ${w}`,kind:i.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},o),void 0,!$))}catch(t){if(t instanceof v.NoFallbackError||await O.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:C})},!1,S),k)throw t;return await (0,p.sendResponse)(K,X,new Response(null,{status:500})),null}}e.s(["handler",0,M,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:k,workUnitAsyncStorage:D})},"routeModule",0,O,"serverHooks",0,q,"workAsyncStorage",0,k,"workUnitAsyncStorage",0,D],950051)}];
3
+
4
+ //# sourceMappingURL=%5Broot-of-the-server%5D__043lk8~._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},985726,e=>{"use strict";var t=e.i(298600);let r=["localhost","127.0.0.1","[::1]"],n=new Set(["127.0.0.1","::1","::ffff:127.0.0.1"]),a=/^c[a-z0-9]{20,30}$/;e.s(["requireLocalhost",0,function(e){let a=e.headers.get("x-forwarded-for");if(a&&!a.split(",").map(e=>e.trim()).every(e=>n.has(e)))return t.NextResponse.json({error:"Forbidden"},{status:403});let s=e.headers.get("host")??"";return r.some(e=>s.startsWith(e))?null:t.NextResponse.json({error:"Forbidden"},{status:403})},"validateProjectId",0,function(e){return a.test(e)?null:t.NextResponse.json({error:"Invalid projectId format"},{status:400})},"validateTaskId",0,function(e){return a.test(e)?null:t.NextResponse.json({error:"Invalid taskId format"},{status:400})}])},30777,e=>{"use strict";var t=e.i(958699),r=e.i(953193),n=e.i(314093),a=e.i(159515),s=e.i(952192),o=e.i(939747),i=e.i(348399),l=e.i(887426),d=e.i(626524),u=e.i(479201),p=e.i(336951),c=e.i(546302),h=e.i(431732),x=e.i(899284),v=e.i(104600),R=e.i(193695);e.i(792325);var f=e.i(27732),g=e.i(298600),m=e.i(985726);let w=globalThis;async function E(e){let t=(0,m.requireLocalhost)(e);if(t)return t;let r=w.__taskCompletionQueue??[];return w.__taskCompletionQueue=[],g.NextResponse.json({events:r})}e.s(["GET",0,E,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],815777);var y=e.i(815777);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/internal/notifications/pending/route",pathname:"/api/internal/notifications/pending",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/tower/src/app/api/internal/notifications/pending/route.ts",nextConfigOutput:"",userland:y}),{workAsyncStorage:b,workUnitAsyncStorage:A,serverHooks:N}=C;async function T(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),C.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/internal/notifications/pending/route";g=g.replace(/\/index$/,"")||"/";let m=await C.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!m)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:w,params:E,nextConfig:y,parsedUrl:b,isDraftMode:A,prerenderManifest:N,routerServerContext:T,isOnDemandRevalidate:q,revalidateOnlyGenerated:_,resolvedPathname:j,clientReferenceManifest:k,serverActionsManifest:P}=m,S=(0,i.normalizeAppPath)(g),I=!!(N.dynamicRoutes[S]||N.routes[j]),O=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,b,!1):t.end("This page could not be found"),null);if(I&&!A){let e=!!N.routes[j],t=N.dynamicRoutes[S];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await O();throw new R.NoFallbackError}}let H=null;!I||C.isDev||A||(H="/index"===(H=j)?"/":H);let U=!0===C.isDev||!I,M=I&&!U;P&&k&&(0,o.setManifestsSingleton)({page:g,clientReferenceManifest:k,serverActionsManifest:P});let D=e.method||"GET",F=(0,s.getTracer)(),$=F.getActiveScopeSpan(),K=!!(null==T?void 0:T.isWrappedByNextServer),L=!!(0,a.getRequestMeta)(e,"minimalMode"),B=(0,a.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,y,N,L);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let G={params:E,previewProps:N.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:U,incrementalCache:B,cacheLifeProfiles:y.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>C.onRequestError(e,t,n,a,T)},sharedContext:{buildId:w}},W=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(W,(0,d.signalFromNodeResponse)(t));try{let a,o=async e=>C.handle(X,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${D} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",n),a.updateName(t))}else e.updateName(`${D} ${g}`)}),i=async a=>{var s,i;let l=async({previousCacheEntry:r})=>{try{if(!L&&q&&_&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(a);e.fetchMetrics=G.renderOpts.fetchMetrics;let i=G.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let l=G.renderOpts.collectedTags;if(!I)return await (0,c.sendResponse)(W,V,s,G.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[v.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,n=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:q})},!1,T),t}},d=await C.handleResponse({req:e,nextConfig:y,cacheKey:H,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:_,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:L});if(!I)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",q?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return L&&I||u.delete(v.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,x.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(W,V,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};K&&$?await i($):(a=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${D} ${g}`,kind:s.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},i),void 0,!K))}catch(t){if(t instanceof R.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:S,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:q})},!1,T),I)throw t;return await (0,c.sendResponse)(W,V,new Response(null,{status:500})),null}}e.s(["handler",0,T,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:A})},"routeModule",0,C,"serverHooks",0,N,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,A],30777)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__053y9tf._.js.map
@@ -0,0 +1,20 @@
1
+ module.exports=[522734,(o,e,s)=>{e.exports=o.x("fs",()=>require("fs"))},814747,(o,e,s)=>{e.exports=o.x("path",()=>require("path"))},446786,(o,e,s)=>{e.exports=o.x("os",()=>require("os"))},750227,(o,e,s)=>{e.exports=o.x("node:path",()=>require("node:path"))},902157,(o,e,s)=>{e.exports=o.x("node:fs",()=>require("node:fs"))},660526,(o,e,s)=>{e.exports=o.x("node:os",()=>require("node:os"))},228153,o=>{"use strict";let e;var s=o.i(522734),t=o.i(814747),r=o.i(446786),i=o.i(750227),n=o.i(660526),c=o.i(902157);let l=`# Tower Assistant
2
+
3
+ 你是 Tower Assistant — Tower 任务管理平台的内置 AI 操作员。
4
+
5
+ ## 身份
6
+
7
+ - 你是一个**任务管理操作员**,不是编程助手
8
+ - 你通过 Tower MCP 工具帮助用户管理工作区、项目、任务
9
+ - 你**不能**读写文件、运行命令、编辑代码、搜索网页
10
+ - 如果用户请求你无法完成的操作,告诉他们需要通过开发 MCP 扩展来支持
11
+
12
+ ## 回复风格
13
+
14
+ - 使用用户的语言回复(中文问中文答,英文问英文答)
15
+ - 简洁明了,不要冗长的解释
16
+ - 主动使用工具查询信息,而不是猜测
17
+ - 当用户问"你能做什么"时,只列出 Tower MCP 工具提供的能力
18
+ `;o.s(["ensureTowerDir",0,function(){let o,d=(o=(0,i.join)((e||(e=(0,i.join)((0,n.homedir)(),".tower"),(0,c.existsSync)(e)||(0,c.mkdirSync)(e,{recursive:!0})),e),"assistant"),(0,c.existsSync)(o)||(0,c.mkdirSync)(o,{recursive:!0}),o),m=(0,t.join)(d,"CLAUDE.md"),a=process.cwd(),p=(0,t.join)(a,"skills","tower","SKILL.md"),u=(0,t.join)(d,".claude","skills","tower"),h=(0,t.join)(u,"SKILL.md");return(0,s.existsSync)(m)||((0,s.writeFileSync)(m,l,"utf-8"),console.error(`[init-tower] Created ${m}`)),(0,s.existsSync)(p)&&!(0,s.existsSync)(h)&&((0,s.mkdirSync)(u,{recursive:!0}),(0,s.copyFileSync)(p,h),console.error(`[init-tower] Copied SKILL.md → ${u}`)),function(){let o=(0,t.join)((0,r.homedir)(),".claude","settings.json"),e=process.cwd().replace(/\\/g,"/"),i={};try{i=JSON.parse((0,s.readFileSync)(o,"utf-8"))}catch{}let n=i.hooks??{},c=!1,l=n.SessionStart??[];if(!l.some(o=>o.hooks?.some(o=>o.command?.includes("session-start-hook.js")))){let o=(0,t.join)(e,"scripts","session-start-hook.js").replace(/\\/g,"/");l.push({hooks:[{command:`node "${o}"`,timeout:5,type:"command"}]}),n.SessionStart=l,c=!0,console.error("[init-tower] Installed SessionStart hook")}let d=n.PostToolUse??[];if(!d.some(o=>o.hooks?.some(o=>o.command?.includes("post-tool-hook.js")))){let o=(0,t.join)(e,"scripts","post-tool-hook.js").replace(/\\/g,"/");d.push({hooks:[{command:`node "${o}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"}),n.PostToolUse=d,c=!0,console.error("[init-tower] Installed PostToolUse hook")}let m=n.Stop??[];if(!m.some(o=>o.hooks?.some(o=>o.command?.includes("stop-hook.js")))){let o=(0,t.join)(e,"scripts","stop-hook.js").replace(/\\/g,"/");m.push({hooks:[{command:`node "${o}"`,timeout:5,type:"command"}]}),n.Stop=m,c=!0,console.error("[init-tower] Installed Stop hook")}if(c){i.hooks=n;let e=(0,t.join)((0,r.homedir)(),".claude");(0,s.existsSync)(e)||(0,s.mkdirSync)(e,{recursive:!0}),(0,s.writeFileSync)(o,JSON.stringify(i,null,2),"utf-8")}}(),d}],228153)}];
19
+
20
+ //# sourceMappingURL=%5Broot-of-the-server%5D__05pxb~w._.js.map
@@ -0,0 +1,20 @@
1
+ module.exports=[522734,(o,e,s)=>{e.exports=o.x("fs",()=>require("fs"))},814747,(o,e,s)=>{e.exports=o.x("path",()=>require("path"))},446786,(o,e,s)=>{e.exports=o.x("os",()=>require("os"))},464525,o=>{"use strict";var e=o.i(522734),s=o.i(814747),t=o.i(446786),i=o.i(278428);let r=`# Tower Assistant
2
+
3
+ 你是 Tower Assistant — Tower 任务管理平台的内置 AI 操作员。
4
+
5
+ ## 身份
6
+
7
+ - 你是一个**任务管理操作员**,不是编程助手
8
+ - 你通过 Tower MCP 工具帮助用户管理工作区、项目、任务
9
+ - 你**不能**读写文件、运行命令、编辑代码、搜索网页
10
+ - 如果用户请求你无法完成的操作,告诉他们需要通过开发 MCP 扩展来支持
11
+
12
+ ## 回复风格
13
+
14
+ - 使用用户的语言回复(中文问中文答,英文问英文答)
15
+ - 简洁明了,不要冗长的解释
16
+ - 主动使用工具查询信息,而不是猜测
17
+ - 当用户问"你能做什么"时,只列出 Tower MCP 工具提供的能力
18
+ `;o.s(["ensureTowerDir",0,function(){let o=(0,i.getAssistantDir)(),n=(0,s.join)(o,"CLAUDE.md"),c=process.cwd(),l=(0,s.join)(c,"skills","tower","SKILL.md"),d=(0,s.join)(o,".claude","skills","tower"),m=(0,s.join)(d,"SKILL.md");return(0,e.existsSync)(n)||((0,e.writeFileSync)(n,r,"utf-8"),console.error(`[init-tower] Created ${n}`)),(0,e.existsSync)(l)&&!(0,e.existsSync)(m)&&((0,e.mkdirSync)(d,{recursive:!0}),(0,e.copyFileSync)(l,m),console.error(`[init-tower] Copied SKILL.md → ${d}`)),function(){let o=(0,s.join)((0,t.homedir)(),".claude","settings.json"),i=process.cwd().replace(/\\/g,"/"),r={};try{r=JSON.parse((0,e.readFileSync)(o,"utf-8"))}catch{}let n=r.hooks??{},c=!1,l=n.SessionStart??[];if(!l.some(o=>o.hooks?.some(o=>o.command?.includes("session-start-hook.js")))){let o=(0,s.join)(i,"scripts","session-start-hook.js").replace(/\\/g,"/");l.push({hooks:[{command:`node "${o}"`,timeout:5,type:"command"}]}),n.SessionStart=l,c=!0,console.error("[init-tower] Installed SessionStart hook")}let d=n.PostToolUse??[];if(!d.some(o=>o.hooks?.some(o=>o.command?.includes("post-tool-hook.js")))){let o=(0,s.join)(i,"scripts","post-tool-hook.js").replace(/\\/g,"/");d.push({hooks:[{command:`node "${o}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"}),n.PostToolUse=d,c=!0,console.error("[init-tower] Installed PostToolUse hook")}let m=n.Stop??[];if(!m.some(o=>o.hooks?.some(o=>o.command?.includes("stop-hook.js")))){let o=(0,s.join)(i,"scripts","stop-hook.js").replace(/\\/g,"/");m.push({hooks:[{command:`node "${o}"`,timeout:5,type:"command"}]}),n.Stop=m,c=!0,console.error("[init-tower] Installed Stop hook")}if(c){r.hooks=n;let i=(0,s.join)((0,t.homedir)(),".claude");(0,e.existsSync)(i)||(0,e.mkdirSync)(i,{recursive:!0}),(0,e.writeFileSync)(o,JSON.stringify(r,null,2),"utf-8")}}(),o}])}];
19
+
20
+ //# sourceMappingURL=%5Broot-of-the-server%5D__07-am_7._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},985726,e=>{"use strict";var t=e.i(298600);let r=["localhost","127.0.0.1","[::1]"],a=new Set(["127.0.0.1","::1","::ffff:127.0.0.1"]),n=/^c[a-z0-9]{20,30}$/;e.s(["requireLocalhost",0,function(e){let n=e.headers.get("x-forwarded-for");if(n&&!n.split(",").map(e=>e.trim()).every(e=>a.has(e)))return t.NextResponse.json({error:"Forbidden"},{status:403});let s=e.headers.get("host")??"";return r.some(e=>s.startsWith(e))?null:t.NextResponse.json({error:"Forbidden"},{status:403})},"validateProjectId",0,function(e){return n.test(e)?null:t.NextResponse.json({error:"Invalid projectId format"},{status:400})},"validateTaskId",0,function(e){return n.test(e)?null:t.NextResponse.json({error:"Invalid taskId format"},{status:400})}])},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},278428,e=>{"use strict";let t;var r=e.i(750227),a=e.i(660526),n=e.i(902157);function s(){return t||(t=(0,r.join)((0,a.homedir)(),".tower"),(0,n.existsSync)(t)||(0,n.mkdirSync)(t,{recursive:!0})),t}e.s(["getAssistantDir",0,function(){let e=(0,r.join)(s(),"assistant");return(0,n.existsSync)(e)||(0,n.mkdirSync)(e,{recursive:!0}),e},"getStorageDir",0,function(){let e=(0,r.join)(s(),"storage");return(0,n.existsSync)(e)||(0,n.mkdirSync)(e,{recursive:!0}),e}])},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},142300,e=>{"use strict";var t=e.i(666680),r=e.i(902157),a=e.i(750227);let n=(0,e.i(278428).getStorageDir)();function s(e){if(!e.startsWith(n+a.sep))throw Error("Path traversal detected")}let i=new Set(["image","screenshot","img","photo","picture","clipboard","paste","untitled"]);e.s(["buildCacheFilename",0,function(e,r){let n=a.basename(e,a.extname(e)),s=t.randomUUID().replace(/-/g,"").slice(0,8),o=n.toLowerCase();if(!n||i.has(o)||/^screenshot[\s_\-]/i.test(n))return`tower_image-${s}${r}`;let l=n.replace(/[^\p{L}\p{N}]/gu,"_").replace(/_+/g,"_").replace(/^_+|_+$/g,"");return`${l||"file"}-${s}${r}`},"ensureAssetsDir",0,function(e){let t,i=(s(t=a.join(n,"assets",e)),t);return r.mkdirSync(i,{recursive:!0}),i},"getAssistantCacheDir",0,function(e="images"){let t=new Date,i=`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}`,o=a.join(n,"cache","assistant",i,e);return s(o),r.mkdirSync(o,{recursive:!0}),o},"getAssistantCacheRoot",0,function(){let e=a.join(n,"cache","assistant");return s(e),e}])},685371,e=>{"use strict";var t=e.i(750227);let r=(0,e.i(278428).getStorageDir)();e.s(["MIME_MAP",0,{".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".svg":"image/svg+xml",".pdf":"application/pdf",".txt":"text/plain",".md":"text/markdown",".json":"application/json"},"resolveAssetPath",0,function(e,a){let n=t.resolve(r,"assets",e,a),s=t.resolve(r,"assets")+t.sep;return n.startsWith(s)?{resolved:n,error:null}:{resolved:null,error:"Invalid path"}}])},18271,e=>{"use strict";var t=e.i(958699),r=e.i(953193),a=e.i(314093),n=e.i(159515),s=e.i(952192),i=e.i(939747),o=e.i(348399),l=e.i(887426),u=e.i(626524),d=e.i(479201),p=e.i(336951),c=e.i(546302),h=e.i(431732),g=e.i(899284),x=e.i(104600),v=e.i(193695);e.i(792325);var f=e.i(27732),m=e.i(902157),R=e.i(750227),w=e.i(298600),y=e.i(985726),E=e.i(685371),C=e.i(142300);let j=/^\d{4}-\d{2}\/(images|files)\/[^/]+\.(jpg|jpeg|png|gif|webp)$/i;async function A(e,{params:t}){let r,a=(0,y.requireLocalhost)(e);if(a)return a;let{segments:n}=await t,s=n.join("/");if(!j.test(s))return w.NextResponse.json({error:"Invalid path"},{status:400});let i=(0,C.getAssistantCacheRoot)(),o=R.resolve(i,s);if(!o.startsWith(i+R.sep))return w.NextResponse.json({error:"Invalid path"},{status:400});try{r=await m.promises.readFile(o)}catch(e){if("ENOENT"===e.code)return w.NextResponse.json({error:"Not found"},{status:404});return w.NextResponse.json({error:"Read error"},{status:500})}let l=R.extname(s).toLowerCase(),u=E.MIME_MAP[l]??"application/octet-stream";return new Response(new Uint8Array(r),{status:200,headers:{"Content-Type":u,"Cache-Control":"private, max-age=3600"}})}e.s(["GET",0,A,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],336970);var b=e.i(336970);let N=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/internal/cache/[...segments]/route",pathname:"/api/internal/cache/[...segments]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/tower/src/app/api/internal/cache/[...segments]/route.ts",nextConfigOutput:"",userland:b}),{workAsyncStorage:S,workUnitAsyncStorage:_,serverHooks:q}=N;async function k(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),N.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/internal/cache/[...segments]/route";m=m.replace(/\/index$/,"")||"/";let R=await N.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:y,nextConfig:E,parsedUrl:C,isDraftMode:j,prerenderManifest:A,routerServerContext:b,isOnDemandRevalidate:S,revalidateOnlyGenerated:_,resolvedPathname:q,clientReferenceManifest:k,serverActionsManifest:P}=R,T=(0,o.normalizeAppPath)(m),I=!!(A.dynamicRoutes[T]||A.routes[q]),M=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,C,!1):t.end("This page could not be found"),null);if(I&&!j){let e=!!A.routes[q],t=A.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await M();throw new v.NoFallbackError}}let O=null;!I||N.isDev||j||(O="/index"===(O=q)?"/":O);let D=!0===N.isDev||!I,U=I&&!D;P&&k&&(0,i.setManifestsSingleton)({page:m,clientReferenceManifest:k,serverActionsManifest:P});let $=e.method||"GET",H=(0,s.getTracer)(),F=H.getActiveScopeSpan(),L=!!(null==b?void 0:b.isWrappedByNextServer),K=!!(0,n.getRequestMeta)(e,"minimalMode"),W=(0,n.getRequestMeta)(e,"incrementalCache")||await N.getIncrementalCache(e,E,A,K);null==W||W.resetRequestCache(),globalThis.__incrementalCache=W;let B={params:y,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:D,incrementalCache:W,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>N.onRequestError(e,t,a,n,b)},sharedContext:{buildId:w}},G=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),X=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let n,i=async e=>N.handle(X,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${$} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${$} ${m}`)}),o=async n=>{var s,o;let l=async({previousCacheEntry:r})=>{try{if(!K&&S&&_&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=B.renderOpts.fetchMetrics;let o=B.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=B.renderOpts.collectedTags;if(!I)return await (0,c.sendResponse)(G,V,s,B.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[x.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,a=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await N.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:S})},!1,b),t}},u=await N.handleResponse({req:e,nextConfig:E,cacheKey:O,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:_,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:K});if(!I)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",S?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),j&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&I||d.delete(x.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,g.getCacheControlHeader)(u.cacheControl)),await (0,c.sendResponse)(G,V,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};L&&F?await o(F):(n=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(d.BaseServerSpan.handleRequest,{spanName:`${$} ${m}`,kind:s.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},o),void 0,!L))}catch(t){if(t instanceof v.NoFallbackError||await N.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:S})},!1,b),I)throw t;return await (0,c.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,k,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:_})},"routeModule",0,N,"serverHooks",0,q,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,_],18271)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__09gjz6h._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[477714,(e,t,r)=>{t.exports=e.x("@prisma/client-44bae9bb3052ac14",()=>require("@prisma/client-44bae9bb3052ac14"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},351032,(e,t,r)=>{t.exports=e.x("node-pty-17f56ec9e6acce49",()=>require("node-pty-17f56ec9e6acce49"))},140166,e=>e.a(async(t,r)=>{try{let t=await e.y("ws-af4a48e9f54389c5");e.n(t),r()}catch(e){r(e)}},!0),504446,(e,t,r)=>{t.exports=e.x("net",()=>require("net"))},60290,e=>{"use strict";var t=e.i(477714);let r=globalThis.prisma??new t.PrismaClient({log:[]}),a=!1;async function c(){return a||(await r.$connect(),await r.$queryRaw`PRAGMA journal_mode=WAL`,await r.$queryRaw`PRAGMA busy_timeout=5000`,a=!0),r}process.on("SIGTERM",()=>{r.$disconnect().catch(()=>{})}),process.on("SIGINT",()=>{r.$disconnect().catch(()=>{})}),e.s(["db",0,r,"initDb",0,c])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0_irb2s._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},351032,(e,t,r)=>{t.exports=e.x("node-pty-17f56ec9e6acce49",()=>require("node-pty-17f56ec9e6acce49"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},985726,e=>{"use strict";var t=e.i(298600);let r=["localhost","127.0.0.1","[::1]"],n=new Set(["127.0.0.1","::1","::ffff:127.0.0.1"]),s=/^c[a-z0-9]{20,30}$/;e.s(["requireLocalhost",0,function(e){let s=e.headers.get("x-forwarded-for");if(s&&!s.split(",").map(e=>e.trim()).every(e=>n.has(e)))return t.NextResponse.json({error:"Forbidden"},{status:403});let a=e.headers.get("host")??"";return r.some(e=>a.startsWith(e))?null:t.NextResponse.json({error:"Forbidden"},{status:403})},"validateProjectId",0,function(e){return s.test(e)?null:t.NextResponse.json({error:"Invalid projectId format"},{status:400})},"validateTaskId",0,function(e){return s.test(e)?null:t.NextResponse.json({error:"Invalid taskId format"},{status:400})}])},359703,e=>{"use strict";var t=e.i(902157),r=e.i(874533),n=e.i(750227);function s(e=process.platform){return"win32"===e}function a(e){let t=e.replace(/\r\n|\r|\n/g," ");if(!t.length)return'""';let r=t.replace(/"/g,'""');return/[\s"&<>|^()]/.test(r)?`"${r}"`:r}let i=["CLAUDECODE","CLAUDE_CODE_ENTRYPOINT","CLAUDE_CODE_SESSION","CLAUDE_CODE_PARENT_SESSION"];async function o(e,t={}){let r=t.cwd??process.cwd(),a=t.env??process.env,i=t.platform??process.platform;if(e.includes("/")||e.includes("\\")){let t=n.default.isAbsolute(e)?e:n.default.resolve(r,e);return await p(t,i)?t:null}let l=a.PATH??a.Path??"",u=s(i)?";":":",d=l.split(u).filter(Boolean),c=s(i)?(a.PATHEXT??".EXE;.CMD;.BAT;.COM").split(";").filter(Boolean):[""],h=s(i)&&n.default.extname(e).length>0;for(let t of d)for(let r of s(i)?h?[n.default.join(t,e)]:c.map(r=>n.default.join(t,`${e}${r}`)):[n.default.join(t,e)])if(await p(r,i))return r;return null}let l=e=>(0,r.execSync)(e,{encoding:"utf-8",timeout:5e3});function u(e,t=process.platform,r=l){if(n.default.extname(e)||e.includes("/")||e.includes("\\")||!s(t))return e;try{let t=r(`where ${e}`).trim().split("\n").map(e=>e.trim()).filter(Boolean),n=t.find(e=>/\.(cmd|bat|exe)$/i.test(e));if(n)return n;if(t.length>0)return t[0]}catch{}return e}async function d(e,t,r={}){let n=r.env??process.env,s=r.platform??process.platform;return c(await o(e,r)??e,t,n,s)}function c(e,t,r,i){if(!s(i))return{command:e,args:t};let o=n.default.extname(e).toLowerCase();return".cmd"===o||".bat"===o||".com"===o?{command:r.ComSpec||"cmd.exe",args:["/d","/s","/c",[a(e),...t.map(a)].join(" ")]}:{command:e,args:t}}async function p(e,r=process.platform){try{return await t.promises.access(e,s(r)?t.constants.F_OK:t.constants.X_OK),!0}catch{return!1}}async function h(e=process.platform){return s(e)?m():f()}async function f(){try{let e=await t.promises.readFile("/etc/shells","utf-8"),r=[],s=new Map;for(let t of e.split("\n")){let e=t.replace(/#.*/,"").trim();if(!e||!e.startsWith("/")||!await p(e))continue;let a=n.default.basename(e),i=s.get(a)??0;s.set(a,i+1),i>0&&(a=`${a} (${i+1})`),r.push({name:a,path:e})}return r}catch{let e=[];for(let t of["/bin/zsh","/bin/bash","/bin/sh"])await p(t)&&e.push({name:n.default.basename(t),path:t});return e}}async function m(){let e=[],t=[],r=await o("git",{platform:"win32"});if(r){let e=n.default.resolve(n.default.dirname(r),"..","..");t.push(n.default.join(e,"bin","bash.exe"),n.default.join(e,"usr","bin","bash.exe"))}for(let e of[process.env.ProgramW6432,process.env.ProgramFiles,process.env["ProgramFiles(x86)"],process.env.LocalAppData?n.default.join(process.env.LocalAppData,"Programs"):null].filter(Boolean))t.push(n.default.join(e,"Git","bin","bash.exe"),n.default.join(e,"Git","usr","bin","bash.exe"));let s=process.env.USERPROFILE??"";for(let r of(s&&t.push(n.default.join(s,"scoop","apps","git","current","bin","bash.exe")),process.env.CLAUDE_CODE_GIT_BASH_PATH&&t.unshift(process.env.CLAUDE_CODE_GIT_BASH_PATH),t))if(await p(r,"win32")){e.push({name:"Git Bash",path:r});break}let a=await o("pwsh",{platform:"win32"});a&&e.push({name:"PowerShell",path:a});let i=process.env.windir??"C:\\WINDOWS",l=n.default.join(i,"System32","WindowsPowerShell","v1.0","powershell.exe");await p(l,"win32")&&e.push({name:"Windows PowerShell",path:l});let u=process.env.ComSpec??n.default.join(i,"System32","cmd.exe");return await p(u,"win32")&&e.push({name:"Command Prompt",path:u}),e}let x=[{name:"Terminal",bundleName:"Terminal"},{name:"iTerm2",bundleName:"iTerm"},{name:"Warp",bundleName:"Warp"},{name:"Alacritty",bundleName:"Alacritty"},{name:"WezTerm",bundleName:"WezTerm"},{name:"kitty",bundleName:"kitty"},{name:"Hyper",bundleName:"Hyper"}];async function v(e=process.platform){if("darwin"===e){let t=[];for(let r of x)await p(`/Applications/${r.bundleName}.app`,e)&&t.push({name:r.name,value:r.bundleName});return t}if(s(e)){let t=[],r=await o("wt",{platform:e});return r&&t.push({name:"Windows Terminal",value:r}),t}return[]}e.s(["detectShells",0,h,"detectTerminalApps",0,v,"ensurePathInEnv",0,function(e,t=process.platform){let r=s(t)?"Path":"PATH";return(e.PATH??e.Path??"").length>0?e:{...e,[r]:function(e=process.platform){return s(e)?"C:\\Windows\\System32;C:\\Windows;C:\\Windows\\System32\\Wbem":"/usr/local/bin:/opt/homebrew/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin"}(t)}},"resolveCommandPath",0,o,"resolveCommandPathSync",0,u,"resolveSpawnTarget",0,d,"resolveSpawnTargetSync",0,function(e,t,r=process.platform,n){return c(u(e,r,n),t,process.env,r)},"stripClaudeNestingEnv",0,function(e){let t={...e};for(let e of i)delete t[e];return t}])},112310,e=>{"use strict";var t=e.i(351032),r=e.i(359703);class n{taskId;_pty;killed=!1;disconnectTimer=null;_buffer="";static BUFFER_MAX=51200;_onData;_exitListeners=[];_idleTimer=null;_idleThresholdMs;_onIdle;_idleFired=!1;constructor(e,s,a,i,o,l,u,d,c){this.taskId=e,this._onData=o,this._onIdle=d??null,this._idleThresholdMs=Math.max(c??18e4,18e4);const p=(0,r.stripClaudeNestingEnv)((0,r.ensurePathInEnv)(process.env));this._pty=t.spawn(s,a,{name:"xterm-color",cols:80,rows:24,cwd:i,env:{...p,TERM:"xterm-color",...u}}),this._pty.onData(e=>{this._buffer+=e,this._buffer.length>n.BUFFER_MAX&&(this._buffer=this._buffer.slice(this._buffer.length-n.BUFFER_MAX)),this._resetIdleTimer(),this._onData(e)}),this._pty.onExit(({exitCode:e,signal:t})=>{for(let r of(this.killed=!0,this._idleTimer&&(clearTimeout(this._idleTimer),this._idleTimer=null),l(e,t),this._exitListeners))r(e)}),this._resetIdleTimer()}_resetIdleTimer(){this._idleTimer&&(clearTimeout(this._idleTimer),this._idleTimer=null),null===this._onIdle||this.killed||this._idleFired||(this._idleTimer=setTimeout(()=>{this._idleFired=!0,this._onIdle?.()},this._idleThresholdMs))}setDataListener(e){this._onData=e}setExitListener(e){this._exitListeners=[e]}write(e){this.killed||(this._resetIdleTimer(),this._pty.write(e))}resize(e,t){this.killed||this._pty.resize(e,t)}getBuffer(){return this._buffer}get isIdle(){return this._idleFired}kill(){if(!this.killed){this.killed=!0,this._idleTimer&&(clearTimeout(this._idleTimer),this._idleTimer=null);try{this._pty.kill()}catch{}}}}let s=globalThis;s.__ptySessions||(s.__ptySessions=new Map);let a=s.__ptySessions;function i(e){let t=a.get(e);t&&(a.delete(e),t.disconnectTimer&&(clearTimeout(t.disconnectTimer),t.disconnectTimer=null),t.kill())}function o(){for(let e of a.keys())i(e)}process.once("SIGTERM",()=>{console.error("[session-store] SIGTERM received — cleaning up PTY sessions"),o()}),process.once("SIGINT",()=>{console.error("[session-store] SIGINT received — cleaning up PTY sessions"),o()}),e.s(["createSession",0,function(e,t,s,o,l,u,d,c,p){i(e);let{command:h,args:f}=(0,r.resolveSpawnTargetSync)(t,s),m=new n(e,h,f,o,l,u,d,c,p);return a.set(e,m),m},"destroySession",0,i,"getSession",0,function(e){return a.get(e)}],112310)},649600,e=>{"use strict";var t=e.i(958699),r=e.i(953193),n=e.i(314093),s=e.i(159515),a=e.i(952192),i=e.i(939747),o=e.i(348399),l=e.i(887426),u=e.i(626524),d=e.i(479201),c=e.i(336951),p=e.i(546302),h=e.i(431732),f=e.i(899284),m=e.i(104600),x=e.i(193695);e.i(792325);var v=e.i(27732),w=e.i(298600),_=e.i(48671),T=e.i(112310),g=e.i(985726);let y=_.z.object({text:_.z.string().min(1).max(1e4)});async function b(e,{params:t}){let r,n=(0,g.requireLocalhost)(e);if(n)return n;let{taskId:s}=await t,a=(0,g.validateTaskId)(s);if(a)return a;try{let t=await e.json();r=y.safeParse(t)}catch{return w.NextResponse.json({error:"Invalid body: text field required (string, 1-10000 chars)"},{status:400})}if(!r.success)return w.NextResponse.json({error:"Invalid body: text field required (string, 1-10000 chars)"},{status:400});let i=(0,T.getSession)(s);return i?i.killed?w.NextResponse.json({error:"Session has exited"},{status:410}):(i.write(r.data.text),w.NextResponse.json({ok:!0,taskId:s})):w.NextResponse.json({error:"No active session"},{status:404})}e.s(["POST",0,b,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],388095);var R=e.i(388095);let E=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/internal/terminal/[taskId]/input/route",pathname:"/api/internal/terminal/[taskId]/input",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/tower/src/app/api/internal/terminal/[taskId]/input/route.ts",nextConfigOutput:"",userland:R}),{workAsyncStorage:C,workUnitAsyncStorage:S,serverHooks:A}=E;async function I(e,t,n){n.requestMeta&&(0,s.setRequestMeta)(e,n.requestMeta),E.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/internal/terminal/[taskId]/input/route";w=w.replace(/\/index$/,"")||"/";let _=await E.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!_)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:T,params:g,nextConfig:y,parsedUrl:b,isDraftMode:R,prerenderManifest:C,routerServerContext:S,isOnDemandRevalidate:A,revalidateOnlyGenerated:I,resolvedPathname:N,clientReferenceManifest:P,serverActionsManifest:k}=_,j=(0,o.normalizeAppPath)(w),O=!!(C.dynamicRoutes[j]||C.routes[N]),D=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,b,!1):t.end("This page could not be found"),null);if(O&&!R){let e=!!C.routes[N],t=C.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await D();throw new x.NoFallbackError}}let q=null;!O||E.isDev||R||(q="/index"===(q=N)?"/":q);let M=!0===E.isDev||!O,H=O&&!M;k&&P&&(0,i.setManifestsSingleton)({page:w,clientReferenceManifest:P,serverActionsManifest:k});let U=e.method||"GET",F=(0,a.getTracer)(),L=F.getActiveScopeSpan(),W=!!(null==S?void 0:S.isWrappedByNextServer),B=!!(0,s.getRequestMeta)(e,"minimalMode"),$=(0,s.getRequestMeta)(e,"incrementalCache")||await E.getIncrementalCache(e,y,C,B);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let G={params:g,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:M,incrementalCache:$,cacheLifeProfiles:y.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,s)=>E.onRequestError(e,t,n,s,S)},sharedContext:{buildId:T}},K=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),X=u.NextRequestAdapter.fromNodeNextRequest(K,(0,u.signalFromNodeResponse)(t));try{let s,i=async e=>E.handle(X,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${U} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",n),s.updateName(t))}else e.updateName(`${U} ${w}`)}),o=async s=>{var a,o;let l=async({previousCacheEntry:r})=>{try{if(!B&&A&&I&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(s);e.fetchMetrics=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!O)return await (0,p.sendResponse)(K,z,a,G.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,n=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,S),t}},u=await E.handleResponse({req:e,nextConfig:y,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:I,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:B});if(!O)return null;if((null==u||null==(a=u.value)?void 0:a.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",A?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),R&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return B&&O||d.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(K,z,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};W&&L?await o(L):(s=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${U} ${w}`,kind:a.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},o),void 0,!W))}catch(t){if(t instanceof x.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,S),O)throw t;return await (0,p.sendResponse)(K,z,new Response(null,{status:500})),null}}e.s(["handler",0,I,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:S})},"routeModule",0,E,"serverHooks",0,A,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,S],649600)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0c4edwt._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},985726,e=>{"use strict";var t=e.i(298600);let r=["localhost","127.0.0.1","[::1]"],a=new Set(["127.0.0.1","::1","::ffff:127.0.0.1"]),s=/^c[a-z0-9]{20,30}$/;e.s(["requireLocalhost",0,function(e){let s=e.headers.get("x-forwarded-for");if(s&&!s.split(",").map(e=>e.trim()).every(e=>a.has(e)))return t.NextResponse.json({error:"Forbidden"},{status:403});let n=e.headers.get("host")??"";return r.some(e=>n.startsWith(e))?null:t.NextResponse.json({error:"Forbidden"},{status:403})},"validateProjectId",0,function(e){return s.test(e)?null:t.NextResponse.json({error:"Invalid projectId format"},{status:400})},"validateTaskId",0,function(e){return s.test(e)?null:t.NextResponse.json({error:"Invalid taskId format"},{status:400})}])},812057,(e,t,r)=>{t.exports=e.x("node:util",()=>require("node:util"))},283307,e=>{"use strict";var t=e.i(958699),r=e.i(953193),a=e.i(314093),s=e.i(159515),n=e.i(952192),o=e.i(939747),i=e.i(348399),l=e.i(887426),d=e.i(626524),u=e.i(479201),p=e.i(336951),c=e.i(546302),h=e.i(431732),x=e.i(899284),v=e.i(104600),f=e.i(193695);e.i(792325);var R=e.i(27732),m=e.i(902157),g=e.i(750227),w=e.i(812057),y=e.i(874533),E=e.i(298600),C=e.i(985726);let N=(0,w.promisify)(y.execFile);async function b(t){let r,a=(0,C.requireLocalhost)(t);if(a)return a;try{r=await t.json()}catch{return E.NextResponse.json({error:"Invalid JSON"},{status:400})}let s=r.path;if(!s||"string"!=typeof s)return E.NextResponse.json({error:"path is required and must be a string"},{status:400});let{getStorageDir:n}=await e.A(896861),o=n(),i=g.resolve(o,s),l=g.resolve(o,"assets/");if(!i.startsWith(l+g.sep)&&i!==l)return E.NextResponse.json({error:"Invalid path"},{status:400});try{await m.promises.stat(i)}catch{return E.NextResponse.json({error:"File not found"},{status:404})}try{process.platform,await N("open",["-R",i])}catch(t){let e=t instanceof Error?t.message:"Failed to reveal file";return E.NextResponse.json({error:e},{status:500})}return E.NextResponse.json({success:!0})}e.s(["POST",0,b,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],128991);var j=e.i(128991);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/internal/assets/reveal/route",pathname:"/api/internal/assets/reveal",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/tower/src/app/api/internal/assets/reveal/route.ts",nextConfigOutput:"",userland:j}),{workAsyncStorage:q,workUnitAsyncStorage:_,serverHooks:P}=A;async function T(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),A.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/internal/assets/reveal/route";m=m.replace(/\/index$/,"")||"/";let g=await A.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:y,nextConfig:E,parsedUrl:C,isDraftMode:N,prerenderManifest:b,routerServerContext:j,isOnDemandRevalidate:q,revalidateOnlyGenerated:_,resolvedPathname:P,clientReferenceManifest:T,serverActionsManifest:S}=g,k=(0,i.normalizeAppPath)(m),I=!!(b.dynamicRoutes[k]||b.routes[P]),O=async()=>((null==j?void 0:j.render404)?await j.render404(e,t,C,!1):t.end("This page could not be found"),null);if(I&&!N){let e=!!b.routes[P],t=b.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await O();throw new f.NoFallbackError}}let H=null;!I||A.isDev||N||(H="/index"===(H=P)?"/":H);let U=!0===A.isDev||!I,M=I&&!U;S&&T&&(0,o.setManifestsSingleton)({page:m,clientReferenceManifest:T,serverActionsManifest:S});let D=e.method||"GET",F=(0,n.getTracer)(),$=F.getActiveScopeSpan(),K=!!(null==j?void 0:j.isWrappedByNextServer),L=!!(0,s.getRequestMeta)(e,"minimalMode"),B=(0,s.getRequestMeta)(e,"incrementalCache")||await A.getIncrementalCache(e,E,b,L);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let W={params:y,previewProps:b.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:U,incrementalCache:B,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>A.onRequestError(e,t,a,s,j)},sharedContext:{buildId:w}},z=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),V=d.NextRequestAdapter.fromNodeNextRequest(z,(0,d.signalFromNodeResponse)(t));try{let s,o=async e=>A.handle(V,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${D} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${D} ${m}`)}),i=async s=>{var n,i;let l=async({previousCacheEntry:r})=>{try{if(!L&&q&&_&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await o(s);e.fetchMetrics=W.renderOpts.fetchMetrics;let i=W.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let l=W.renderOpts.collectedTags;if(!I)return await (0,c.sendResponse)(z,G,n,W.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[v.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:q})},!1,j),t}},d=await A.handleResponse({req:e,nextConfig:E,cacheKey:H,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:_,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:L});if(!I)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",q?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return L&&I||u.delete(v.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,x.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(z,G,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};K&&$?await i($):(s=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${D} ${m}`,kind:n.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},i),void 0,!K))}catch(t){if(t instanceof f.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:q})},!1,j),I)throw t;return await (0,c.sendResponse)(z,G,new Response(null,{status:500})),null}}e.s(["handler",0,T,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:q,workUnitAsyncStorage:_})},"routeModule",0,A,"serverHooks",0,P,"workAsyncStorage",0,q,"workUnitAsyncStorage",0,_],283307)},896861,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__12._zd-._.js"].map(t=>e.l(t))).then(()=>t(278428)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0c7y1r0._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[477714,(e,t,r)=>{t.exports=e.x("@prisma/client-44bae9bb3052ac14",()=>require("@prisma/client-44bae9bb3052ac14"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},351032,(e,t,r)=>{t.exports=e.x("node-pty-17f56ec9e6acce49",()=>require("node-pty-17f56ec9e6acce49"))},140166,e=>e.a(async(t,r)=>{try{let t=await e.y("ws-af4a48e9f54389c5");e.n(t),r()}catch(e){r(e)}},!0),504446,(e,t,r)=>{t.exports=e.x("net",()=>require("net"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},985726,e=>{"use strict";var t=e.i(298600);let r=["localhost","127.0.0.1","[::1]"],a=new Set(["127.0.0.1","::1","::ffff:127.0.0.1"]),n=/^c[a-z0-9]{20,30}$/;e.s(["requireLocalhost",0,function(e){let n=e.headers.get("x-forwarded-for");if(n&&!n.split(",").map(e=>e.trim()).every(e=>a.has(e)))return t.NextResponse.json({error:"Forbidden"},{status:403});let s=e.headers.get("host")??"";return r.some(e=>s.startsWith(e))?null:t.NextResponse.json({error:"Forbidden"},{status:403})},"validateProjectId",0,function(e){return n.test(e)?null:t.NextResponse.json({error:"Invalid projectId format"},{status:400})},"validateTaskId",0,function(e){return n.test(e)?null:t.NextResponse.json({error:"Invalid taskId format"},{status:400})}])},613929,e=>e.a(async(t,r)=>{try{var a=e.i(298600),n=e.i(985726),s=e.i(647085),o=e.i(17520),i=t([o]);async function l(e){let t,r=(0,n.requireLocalhost)(e);if(r)return r;try{t=await e.json()}catch{return a.NextResponse.json({error:"Invalid JSON"},{status:400})}let{taskId:i,sessionId:l}=t;if(!i||"string"!=typeof i)return a.NextResponse.json({error:"taskId required"},{status:400});let d=await s.db.task.findUnique({where:{id:i},select:{id:!0,title:!0,project:{select:{workspaceId:!0}}}});if(!d)return a.NextResponse.json({error:"Task not found"},{status:404});let u={taskId:d.id,taskTitle:d.title,sessionId:l??"",workspaceId:d.project.workspaceId,type:"stop",timestamp:new Date().toISOString()};return(0,o.broadcastNotification)(u),a.NextResponse.json({ok:!0})}[o]=i.then?(await i)():i,e.s(["POST",0,l,"dynamic",0,"force-dynamic","runtime",0,"nodejs"]),r()}catch(e){r(e)}},!1),604039,e=>e.a(async(t,r)=>{try{var a=e.i(958699),n=e.i(953193),s=e.i(314093),o=e.i(159515),i=e.i(952192),l=e.i(939747),d=e.i(348399),u=e.i(887426),p=e.i(626524),c=e.i(479201),h=e.i(336951),x=e.i(546302),f=e.i(431732),R=e.i(899284),v=e.i(104600),w=e.i(193695);e.i(792325);var m=e.i(27732),g=e.i(613929),y=t([g]);[g]=y.then?(await y)():y;let b=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/internal/hooks/stop/route",pathname:"/api/internal/hooks/stop",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/tower/src/app/api/internal/hooks/stop/route.ts",nextConfigOutput:"",userland:g}),{workAsyncStorage:C,workUnitAsyncStorage:k,serverHooks:N}=b;async function E(e,t,r){r.requestMeta&&(0,o.setRequestMeta)(e,r.requestMeta),b.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/internal/hooks/stop/route";a=a.replace(/\/index$/,"")||"/";let s=await b.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:g,params:y,nextConfig:E,parsedUrl:C,isDraftMode:k,prerenderManifest:N,routerServerContext:q,isOnDemandRevalidate:j,revalidateOnlyGenerated:A,resolvedPathname:I,clientReferenceManifest:T,serverActionsManifest:S}=s,P=(0,d.normalizeAppPath)(a),O=!!(N.dynamicRoutes[P]||N.routes[I]),_=async()=>((null==q?void 0:q.render404)?await q.render404(e,t,C,!1):t.end("This page could not be found"),null);if(O&&!k){let e=!!N.routes[I],t=N.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await _();throw new w.NoFallbackError}}let H=null;!O||b.isDev||k||(H=I,H="/index"===H?"/":H);let U=!0===b.isDev||!O,M=O&&!U;S&&T&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:T,serverActionsManifest:S});let D=e.method||"GET",F=(0,i.getTracer)(),$=F.getActiveScopeSpan(),K=!!(null==q?void 0:q.isWrappedByNextServer),L=!!(0,o.getRequestMeta)(e,"minimalMode"),B=(0,o.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,E,N,L);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let W={params:y,previewProps:N.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:U,incrementalCache:B,cacheLifeProfiles:E.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>b.onRequestError(e,t,a,n,q)},sharedContext:{buildId:g}},G=new u.NodeNextRequest(e),V=new u.NodeNextResponse(t),X=p.NextRequestAdapter.fromNodeNextRequest(G,(0,p.signalFromNodeResponse)(t));try{let s,o=async e=>b.handle(X,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${D} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",n),s.updateName(t))}else e.updateName(`${D} ${a}`)}),l=async s=>{var i,l;let d=async({previousCacheEntry:n})=>{try{if(!L&&j&&A&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await o(s);e.fetchMetrics=W.renderOpts.fetchMetrics;let i=W.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let l=W.renderOpts.collectedTags;if(!O)return await (0,x.sendResponse)(G,V,a,W.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[v.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,n=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:j})},!1,q),t}},u=await b.handleResponse({req:e,nextConfig:E,cacheKey:H,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:A,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:L});if(!O)return null;if((null==u||null==(i=u.value)?void 0:i.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",j?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,f.fromNodeOutgoingHttpHeaders)(u.value.headers);return L&&O||p.delete(v.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,R.getCacheControlHeader)(u.cacheControl)),await (0,x.sendResponse)(G,V,new Response(u.value.body,{headers:p,status:u.value.status||200})),null};K&&$?await l($):(s=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(c.BaseServerSpan.handleRequest,{spanName:`${D} ${a}`,kind:i.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},l),void 0,!K))}catch(t){if(t instanceof w.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:j})},!1,q),O)throw t;return await (0,x.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:k})},"routeModule",0,b,"serverHooks",0,N,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,k]),r()}catch(e){r(e)}},!1)];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0dj34zn._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},477714,(e,t,r)=>{t.exports=e.x("@prisma/client-44bae9bb3052ac14",()=>require("@prisma/client-44bae9bb3052ac14"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},924868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},647085,e=>{"use strict";var t=e.i(477714);let r=globalThis.prisma??new t.PrismaClient({log:[]});process.on("SIGTERM",()=>{r.$disconnect().catch(()=>{})}),process.on("SIGINT",()=>{r.$disconnect().catch(()=>{})}),e.s(["db",0,r])},240930,e=>{"use strict";var t=e.i(233405);e.s(["checkConflicts",0,function(e,r,i){try{return(0,t.execFileSync)("git",["merge-tree","--write-tree",r,i],{cwd:e,encoding:"utf-8",timeout:1e4,stdio:"pipe"}),{hasConflicts:!1,conflictFiles:[]}}catch(e){return{hasConflicts:!0,conflictFiles:(e instanceof Error&&"stdout"in e?String(e.stdout??""):"").split("\n").filter(e=>e.includes("CONFLICT")).map(e=>{let t=e.match(/CONFLICT.*?:\s*(.+)$/);return t?t[1].trim():e.trim()}).filter(Boolean)}}},"parseDiffOutput",0,function(e,t){let r=[];for(let t of e.split("\n")){let e=t.trim();if(!e)continue;let i=e.split(" ");if(i.length<3)continue;let[n,a,...s]=i,o=s.join(" ");"-"===n&&"-"===a?r.push({filename:o,added:0,removed:0,isBinary:!0}):r.push({filename:o,added:parseInt(n,10)||0,removed:parseInt(a,10)||0,isBinary:!1})}let i=/^diff --git a\/(.+) b\/(.+)$/,n=new Map;if(t.trim()){let e=t.length>512e3;for(let r of t.split(/(?=^diff --git )/m)){if(!r.trim())continue;let t=r.split("\n")[0],a=i.exec(t);if(!a)continue;let s=a[2],o=r;if(e){let e=r.split("\n");e.length>200&&(o=e.slice(0,200).join("\n")+"\n... (truncated)")}n.set(s,o)}}let a=r.map(e=>({filename:e.filename,added:e.added,removed:e.removed,isBinary:e.isBinary,patch:n.get(e.filename)??""})),s=a.reduce((e,t)=>e+t.added,0),o=a.reduce((e,t)=>e+t.removed,0);return{files:a,totalAdded:s,totalRemoved:o}}])},997179,e=>{"use strict";var t=e.i(233405),r=e.i(522734),i=e.i(924868),n=e.i(814747),a=e.i(446786),s=e.i(741550);function o(e){return e.startsWith("~/")||"~"===e?n.default.join(a.default.homedir(),e.slice(1)):e}async function c(e,a,c){let l=o(e),d=n.default.join(l,".worktrees","task-"+a),u="task/"+a;await (0,i.mkdir)(n.default.join(l,".worktrees"),{recursive:!0});let p=(0,t.execFileSync)("git",["worktree","list","--porcelain"],{cwd:l,encoding:"utf-8",timeout:1e4}),f=n.default.normalize(d).replace(/\\/g,"/");if(p.split("\n").some(e=>e.startsWith("worktree ")&&e.slice(9).replace(/\\/g,"/")===f))return{worktreePath:d,worktreeBranch:u};if((0,r.existsSync)(d)&&(s.logger.warn(`[worktree] Directory exists but not tracked by git, removing: ${d}`),(0,t.execFileSync)("git",["worktree","remove",d,"--force"],{cwd:l,encoding:"utf-8",timeout:3e4})),(0,t.execFileSync)("git",["branch","--list",u],{cwd:l,encoding:"utf-8",timeout:5e3}).trim())(0,t.execFileSync)("git",["worktree","add",d,u],{cwd:l,encoding:"utf-8",timeout:3e4});else{let e=c;try{(0,t.execFileSync)("git",["rev-parse","--verify",c],{cwd:l,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]})}catch{try{(0,t.execFileSync)("git",["rev-parse","--verify",`origin/${c}`],{cwd:l,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]}),e=`origin/${c}`}catch{throw Error(`Base branch '${c}' does not exist locally or on remote. Available branches: `+(0,t.execFileSync)("git",["branch","-a","--format=%(refname:short)"],{cwd:l,encoding:"utf-8",timeout:5e3}).trim().split("\n").join(", "))}}(0,t.execFileSync)("git",["worktree","add","-b",u,d,e],{cwd:l,encoding:"utf-8",timeout:3e4})}return function(e,t){let i=s.logger.create("worktree");for(let a of["node_modules",".next"]){let s=n.default.join(e,a),o=n.default.join(t,a);if((0,r.existsSync)(s)){try{(0,r.lstatSync)(o);continue}catch{}try{(0,r.symlinkSync)(s,o,"junction"),i.info(`Symlinked ${a}`,{from:s,to:o})}catch(e){i.warn(`Failed to symlink ${a}`,{error:String(e)})}}}}(l,d),{worktreePath:d,worktreeBranch:u}}async function l(e,i){let a=o(e),s=n.default.join(a,".worktrees","task-"+i),c="task/"+i;(0,r.existsSync)(s)&&(0,t.execFileSync)("git",["worktree","remove",s,"--force"],{cwd:a,encoding:"utf-8",timeout:3e4}),(0,t.execFileSync)("git",["branch","--list",c],{cwd:a,encoding:"utf-8",timeout:5e3}).trim()&&(0,t.execFileSync)("git",["branch","-D",c],{cwd:a,encoding:"utf-8",timeout:5e3})}e.s(["createWorktree",0,c,"removeWorktree",0,l])},283368,e=>{"use strict";var t=e.i(958699),r=e.i(953193),i=e.i(314093),n=e.i(159515),a=e.i(952192),s=e.i(939747),o=e.i(348399),c=e.i(887426),l=e.i(626524),d=e.i(479201),u=e.i(336951),p=e.i(546302),f=e.i(431732),h=e.i(899284),m=e.i(104600),g=e.i(193695);e.i(792325);var x=e.i(27732),w=e.i(298600),y=e.i(48671),v=e.i(647085),R=e.i(233405),k=e.i(356776),b=e.i(240930),E=e.i(997179);async function S(e,{params:t}){let{taskId:r}=await t,i=y.z.string().cuid().safeParse(r);if(!i.success)return w.NextResponse.json({error:"Invalid task ID"},{status:400});try{let e,t,n=await v.db.task.findUnique({where:{id:i.data},include:{project:!0}});if(!n)return w.NextResponse.json({error:"Task not found"},{status:404});if("IN_REVIEW"!==n.status)return w.NextResponse.json({error:"Task must be in IN_REVIEW status to merge"},{status:400});if(!n.baseBranch)return w.NextResponse.json({error:"Task has no base branch configured"},{status:400});if(!n.project?.localPath)return w.NextResponse.json({error:"Project has no local path"},{status:400});let a=await v.db.taskExecution.findFirst({where:{taskId:i.data,status:"COMPLETED"},orderBy:{createdAt:"desc"}}),s=a?.worktreeBranch??`task/${r}`;a?.worktreePath;let o=n.project.localPath,{hasConflicts:c,conflictFiles:l}=(0,b.checkConflicts)(o,n.baseBranch,s);if(c)return w.NextResponse.json({error:"Merge conflicts detected",conflictFiles:l},{status:409});let d={encoding:"utf-8",timeout:3e4};try{e=(0,R.execFileSync)("git",["rev-parse",s],{...d,cwd:o}).trim()}catch{}let u=(0,R.execFileSync)("git",["status","--porcelain"],{...d,cwd:o}).trim().split("\n").some(e=>""!==e.trim()&&!e.startsWith("??"));u&&(0,R.execFileSync)("git",["stash","push","-m","tower-merge-temp"],{...d,cwd:o});try{(0,R.execFileSync)("git",["checkout",n.baseBranch],{...d,cwd:o}),(0,R.execFileSync)("git",["merge",s,"--no-edit"],{...d,cwd:o}),t=(0,R.execFileSync)("git",["rev-parse","--short","HEAD"],{...d,cwd:o}).trim()}finally{u&&(0,R.execFileSync)("git",["stash","pop"],{...d,cwd:o}).toString()}if(a&&t)try{await v.db.taskExecution.update({where:{id:a.id},data:{mergeCommit:t,...e?{branchTipCommit:e}:{}}})}catch{}await v.db.task.update({where:{id:i.data},data:{status:"DONE"}});try{await (0,E.removeWorktree)(o,r)}catch(e){console.error("[merge] Worktree cleanup failed:",e)}return(0,k.revalidatePath)("/workspaces"),w.NextResponse.json({success:!0,message:"Squash merge completed"})}catch(t){let e=t instanceof Error?t.message:String(t);return console.error("[merge] Merge failed:",e),w.NextResponse.json({error:`Merge failed: ${e}`},{status:500})}}e.s(["POST",0,S],843535);var C=e.i(843535);let j=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/tasks/[taskId]/merge/route",pathname:"/api/tasks/[taskId]/merge",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/tower/src/app/api/tasks/[taskId]/merge/route.ts",nextConfigOutput:"",userland:C}),{workAsyncStorage:N,workUnitAsyncStorage:T,serverHooks:A}=j;async function I(e,t,i){i.requestMeta&&(0,n.setRequestMeta)(e,i.requestMeta),j.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/tasks/[taskId]/merge/route";w=w.replace(/\/index$/,"")||"/";let y=await j.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:v,params:R,nextConfig:k,parsedUrl:b,isDraftMode:E,prerenderManifest:S,routerServerContext:C,isOnDemandRevalidate:N,revalidateOnlyGenerated:T,resolvedPathname:A,clientReferenceManifest:I,serverActionsManifest:F}=y,P=(0,o.normalizeAppPath)(w),q=!!(S.dynamicRoutes[P]||S.routes[A]),O=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,b,!1):t.end("This page could not be found"),null);if(q&&!E){let e=!!S.routes[A],t=S.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(k.adapterPath)return await O();throw new g.NoFallbackError}}let _=null;!q||j.isDev||E||(_="/index"===(_=A)?"/":_);let M=!0===j.isDev||!q,$=q&&!M;F&&I&&(0,s.setManifestsSingleton)({page:w,clientReferenceManifest:I,serverActionsManifest:F});let D=e.method||"GET",H=(0,a.getTracer)(),B=H.getActiveScopeSpan(),U=!!(null==C?void 0:C.isWrappedByNextServer),W=!!(0,n.getRequestMeta)(e,"minimalMode"),K=(0,n.getRequestMeta)(e,"incrementalCache")||await j.getIncrementalCache(e,k,S,W);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let L={params:R,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!k.experimental.authInterrupts},cacheComponents:!!k.cacheComponents,supportsDynamicResponse:M,incrementalCache:K,cacheLifeProfiles:k.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,i,n)=>j.onRequestError(e,t,i,n,C)},sharedContext:{buildId:v}},G=new c.NodeNextRequest(e),V=new c.NodeNextResponse(t),z=l.NextRequestAdapter.fromNodeNextRequest(G,(0,l.signalFromNodeResponse)(t));try{let n,s=async e=>j.handle(z,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let i=r.get("next.route");if(i){let t=`${D} ${i}`;e.setAttributes({"next.route":i,"http.route":i,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",i),n.updateName(t))}else e.updateName(`${D} ${w}`)}),o=async n=>{var a,o;let c=async({previousCacheEntry:r})=>{try{if(!W&&N&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(n);e.fetchMetrics=L.renderOpts.fetchMetrics;let o=L.renderOpts.pendingWaitUntil;o&&i.waitUntil&&(i.waitUntil(o),o=void 0);let c=L.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)(G,V,a,L.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(a.headers);c&&(t[m.NEXT_CACHE_TAGS_HEADER]=c),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,i=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:i}}}}catch(t){throw(null==r?void 0:r.isStale)&&await j.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:N})},!1,C),t}},l=await j.handleResponse({req:e,nextConfig:k,cacheKey:_,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:T,responseGenerator:c,waitUntil:i.waitUntil,isMinimalMode:W});if(!q)return null;if((null==l||null==(a=l.value)?void 0:a.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(o=l.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});W||t.setHeader("x-nextjs-cache",N?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,f.fromNodeOutgoingHttpHeaders)(l.value.headers);return W&&q||d.delete(m.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,h.getCacheControlHeader)(l.cacheControl)),await (0,p.sendResponse)(G,V,new Response(l.value.body,{headers:d,status:l.value.status||200})),null};U&&B?await o(B):(n=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(d.BaseServerSpan.handleRequest,{spanName:`${D} ${w}`,kind:a.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},o),void 0,!U))}catch(t){if(t instanceof g.NoFallbackError||await j.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:N})},!1,C),q)throw t;return await (0,p.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,I,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:T})},"routeModule",0,j,"serverHooks",0,A,"workAsyncStorage",0,N,"workUnitAsyncStorage",0,T],283368)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0dqta7g._.js.map