tower-studio 0.1.3 → 0.1.6

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=[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)},620700,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),_=e.i(298600),w=e.i(48671),T=e.i(112310),g=e.i(985726);let b=w.z.coerce.number().int().min(1).max(500).default(100);async function y(e,{params:t}){let r=(0,g.requireLocalhost)(e);if(r)return r;let{taskId:n}=await t,s=(0,g.validateTaskId)(n);if(s)return s;let a=(0,T.getSession)(n);if(!a)return _.NextResponse.json({error:"No active session"},{status:404});let i=e.nextUrl.searchParams.get("lines"),o=b.safeParse(i??void 0),l=o.success?o.data:100,u=a.getBuffer().split("\n").slice(-l);return _.NextResponse.json({taskId:n,lines:u,total:u.length,killed:a.killed})}e.s(["GET",0,y,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],938933);var E=e.i(938933);let R=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/internal/terminal/[taskId]/buffer/route",pathname:"/api/internal/terminal/[taskId]/buffer",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/tower/src/app/api/internal/terminal/[taskId]/buffer/route.ts",nextConfigOutput:"",userland:E}),{workAsyncStorage:C,workUnitAsyncStorage:S,serverHooks:A}=R;async function I(e,t,n){n.requestMeta&&(0,s.setRequestMeta)(e,n.requestMeta),R.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/internal/terminal/[taskId]/buffer/route";_=_.replace(/\/index$/,"")||"/";let w=await R.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:T,params:g,nextConfig:b,parsedUrl:y,isDraftMode:E,prerenderManifest:C,routerServerContext:S,isOnDemandRevalidate:A,revalidateOnlyGenerated:I,resolvedPathname:P,clientReferenceManifest:N,serverActionsManifest:k}=w,j=(0,o.normalizeAppPath)(_),D=!!(C.dynamicRoutes[j]||C.routes[P]),O=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,y,!1):t.end("This page could not be found"),null);if(D&&!E){let e=!!C.routes[P],t=C.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await O();throw new x.NoFallbackError}}let q=null;!D||R.isDev||E||(q="/index"===(q=P)?"/":q);let M=!0===R.isDev||!D,H=D&&!M;k&&N&&(0,i.setManifestsSingleton)({page:_,clientReferenceManifest:N,serverActionsManifest:k});let U=e.method||"GET",F=(0,a.getTracer)(),L=F.getActiveScopeSpan(),B=!!(null==S?void 0:S.isWrappedByNextServer),W=!!(0,s.getRequestMeta)(e,"minimalMode"),$=(0,s.getRequestMeta)(e,"incrementalCache")||await R.getIncrementalCache(e,b,C,W);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let G={params:g,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:M,incrementalCache:$,cacheLifeProfiles:b.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,s)=>R.onRequestError(e,t,n,s,S)},sharedContext:{buildId:T}},K=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(K,(0,u.signalFromNodeResponse)(t));try{let s,i=async e=>R.handle(z,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} ${_}`)}),o=async s=>{var a,o;let l=async({previousCacheEntry:r})=>{try{if(!W&&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(!D)return await (0,p.sendResponse)(K,X,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 R.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,S),t}},u=await R.handleResponse({req:e,nextConfig:b,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:I,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:W});if(!D)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});W||t.setHeader("x-nextjs-cache",A?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return W&&D||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,X,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};B&&L?await o(L):(s=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${U} ${_}`,kind:a.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},o),void 0,!B))}catch(t){if(t instanceof x.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:A})},!1,S),D)throw t;return await (0,p.sendResponse)(K,X,new Response(null,{status:500})),null}}e.s(["handler",0,I,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:S})},"routeModule",0,R,"serverHooks",0,A,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,S],620700)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0j3gbp7._.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"))},435059,e=>{"use strict";var t=e.i(958699),r=e.i(953193),a=e.i(314093),n=e.i(159515),i=e.i(952192),o=e.i(939747),s=e.i(348399),l=e.i(887426),d=e.i(626524),u=e.i(479201),p=e.i(336951),c=e.i(546302),g=e.i(431732),I=e.i(899284),h=e.i(104600),C=e.i(193695);e.i(792325);var x=e.i(27732),v=e.i(298600);let m=Buffer.from("ewogICJuYW1lIjogIlRvd2VyIiwKICAic2hvcnRfbmFtZSI6ICJUb3dlciIsCiAgImljb25zIjogWwogICAgewogICAgICAic3JjIjogIi93ZWItYXBwLW1hbmlmZXN0LTE5MngxOTIucG5nIiwKICAgICAgInNpemVzIjogIjE5MngxOTIiLAogICAgICAidHlwZSI6ICJpbWFnZS9wbmciLAogICAgICAicHVycG9zZSI6ICJtYXNrYWJsZSIKICAgIH0sCiAgICB7CiAgICAgICJzcmMiOiAiL3dlYi1hcHAtbWFuaWZlc3QtNTEyeDUxMi5wbmciLAogICAgICAic2l6ZXMiOiAiNTEyeDUxMiIsCiAgICAgICJ0eXBlIjogImltYWdlL3BuZyIsCiAgICAgICJwdXJwb3NlIjogIm1hc2thYmxlIgogICAgfQogIF0sCiAgInRoZW1lX2NvbG9yIjogIiMwMjA2MTciLAogICJiYWNrZ3JvdW5kX2NvbG9yIjogIiMwMjA2MTciLAogICJkaXNwbGF5IjogInN0YW5kYWxvbmUiCn0=","base64");e.s(["GET",0,function(){return new v.NextResponse(m,{headers:{"Content-Type":"application/manifest+json","Cache-Control":"public, max-age=0, must-revalidate"}})},"dynamic",0,"force-static"],99413);var A=e.i(99413);let R=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/manifest.json/route",pathname:"/manifest.json",filename:"manifest.json--route-entry",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/tower/src/app/manifest.json--route-entry.js",nextConfigOutput:"",userland:A}),{workAsyncStorage:w,workUnitAsyncStorage:f,serverHooks:y}=R;async function E(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),R.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/manifest.json/route";v=v.replace(/\/index$/,"")||"/";let m=await R.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!m)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:A,params:w,nextConfig:f,parsedUrl:y,isDraftMode:E,prerenderManifest:b,routerServerContext:j,isOnDemandRevalidate:N,revalidateOnlyGenerated:T,resolvedPathname:M,clientReferenceManifest:S,serverActionsManifest:O}=m,k=(0,s.normalizeAppPath)(v),q=!!(b.dynamicRoutes[k]||b.routes[M]),P=async()=>((null==j?void 0:j.render404)?await j.render404(e,t,y,!1):t.end("This page could not be found"),null);if(q&&!E){let e=!!b.routes[M],t=b.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(f.adapterPath)return await P();throw new C.NoFallbackError}}let _=null;!q||R.isDev||E||(_="/index"===(_=M)?"/":_);let H=!0===R.isDev||!q,U=q&&!H;O&&S&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:S,serverActionsManifest:O});let W=e.method||"GET",D=(0,i.getTracer)(),L=D.getActiveScopeSpan(),F=!!(null==j?void 0:j.isWrappedByNextServer),J=!!(0,n.getRequestMeta)(e,"minimalMode"),Z=(0,n.getRequestMeta)(e,"incrementalCache")||await R.getIncrementalCache(e,f,b,J);null==Z||Z.resetRequestCache(),globalThis.__incrementalCache=Z;let X={params:w,previewProps:b.preview,renderOpts:{experimental:{authInterrupts:!!f.experimental.authInterrupts},cacheComponents:!!f.cacheComponents,supportsDynamicResponse:H,incrementalCache:Z,cacheLifeProfiles:f.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>R.onRequestError(e,t,a,n,j)},sharedContext:{buildId:A}},B=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),Y=d.NextRequestAdapter.fromNodeNextRequest(B,(0,d.signalFromNodeResponse)(t));try{let n,o=async e=>R.handle(Y,X).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=D.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=`${W} ${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(`${W} ${v}`)}),s=async n=>{var i,s;let l=async({previousCacheEntry:r})=>{try{if(!J&&N&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(n);e.fetchMetrics=X.renderOpts.fetchMetrics;let s=X.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let l=X.renderOpts.collectedTags;if(!q)return await (0,c.sendResponse)(B,K,i,X.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,g.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[h.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,a=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:X.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,j),t}},d=await R.handleResponse({req:e,nextConfig:f,cacheKey:_,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:J});if(!q)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(s=d.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});J||t.setHeader("x-nextjs-cache",N?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,g.fromNodeOutgoingHttpHeaders)(d.value.headers);return J&&q||u.delete(h.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,I.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(B,K,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};F&&L?await s(L):(n=D.getActiveScopeSpan(),await D.withPropagatedContext(e.headers,()=>D.trace(u.BaseServerSpan.handleRequest,{spanName:`${W} ${v}`,kind:i.SpanKind.SERVER,attributes:{"http.method":W,"http.target":e.url}},s),void 0,!F))}catch(t){if(t instanceof C.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,j),q)throw t;return await (0,c.sendResponse)(B,K,new Response(null,{status:500})),null}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:f})},"routeModule",0,R,"serverHooks",0,y,"workAsyncStorage",0,w,"workUnitAsyncStorage",0,f],435059)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0ko_rm_._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[961724,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-route-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-route-turbo.runtime.prod.js"))},958699,(e,t,r)=>{t.exports=e.r(961724)},953193,e=>{"use strict";var t,r=((t={}).PAGES="PAGES",t.PAGES_API="PAGES_API",t.APP_PAGE="APP_PAGE",t.APP_ROUTE="APP_ROUTE",t.IMAGE="IMAGE",t);e.s(["RouteKind",0,r])},479201,e=>{"use strict";var t,r,i,n,a,s,o,l,c,u,d,h,p=((t=p||{}).handleRequest="BaseServer.handleRequest",t.run="BaseServer.run",t.pipe="BaseServer.pipe",t.getStaticHTML="BaseServer.getStaticHTML",t.render="BaseServer.render",t.renderToResponseWithComponents="BaseServer.renderToResponseWithComponents",t.renderToResponse="BaseServer.renderToResponse",t.renderToHTML="BaseServer.renderToHTML",t.renderError="BaseServer.renderError",t.renderErrorToResponse="BaseServer.renderErrorToResponse",t.renderErrorToHTML="BaseServer.renderErrorToHTML",t.render404="BaseServer.render404",t),f=((r=f||{}).loadDefaultErrorComponents="LoadComponents.loadDefaultErrorComponents",r.loadComponents="LoadComponents.loadComponents",r),b=((i=b||{}).getRequestHandler="NextServer.getRequestHandler",i.getRequestHandlerWithMetadata="NextServer.getRequestHandlerWithMetadata",i.getServer="NextServer.getServer",i.getServerRequestHandler="NextServer.getServerRequestHandler",i.createServer="createServer.createServer",i),m=((n=m||{}).compression="NextNodeServer.compression",n.getBuildId="NextNodeServer.getBuildId",n.createComponentTree="NextNodeServer.createComponentTree",n.clientComponentLoading="NextNodeServer.clientComponentLoading",n.getLayoutOrPageModule="NextNodeServer.getLayoutOrPageModule",n.generateStaticRoutes="NextNodeServer.generateStaticRoutes",n.generateFsStaticRoutes="NextNodeServer.generateFsStaticRoutes",n.generatePublicRoutes="NextNodeServer.generatePublicRoutes",n.generateImageRoutes="NextNodeServer.generateImageRoutes.route",n.sendRenderResult="NextNodeServer.sendRenderResult",n.proxyRequest="NextNodeServer.proxyRequest",n.runApi="NextNodeServer.runApi",n.render="NextNodeServer.render",n.renderHTML="NextNodeServer.renderHTML",n.imageOptimizer="NextNodeServer.imageOptimizer",n.getPagePath="NextNodeServer.getPagePath",n.getRoutesManifest="NextNodeServer.getRoutesManifest",n.findPageComponents="NextNodeServer.findPageComponents",n.getFontManifest="NextNodeServer.getFontManifest",n.getServerComponentManifest="NextNodeServer.getServerComponentManifest",n.getRequestHandler="NextNodeServer.getRequestHandler",n.renderToHTML="NextNodeServer.renderToHTML",n.renderError="NextNodeServer.renderError",n.renderErrorToHTML="NextNodeServer.renderErrorToHTML",n.render404="NextNodeServer.render404",n.startResponse="NextNodeServer.startResponse",n.route="route",n.onProxyReq="onProxyReq",n.apiResolver="apiResolver",n.internalFetch="internalFetch",n),g=((a=g||{}).startServer="startServer.startServer",a),v=((s=v||{}).getServerSideProps="Render.getServerSideProps",s.getStaticProps="Render.getStaticProps",s.renderToString="Render.renderToString",s.renderDocument="Render.renderDocument",s.createBodyResult="Render.createBodyResult",s),w=((o=w||{}).renderToString="AppRender.renderToString",o.renderToReadableStream="AppRender.renderToReadableStream",o.getBodyResult="AppRender.getBodyResult",o.fetch="AppRender.fetch",o),y=((l=y||{}).executeRoute="Router.executeRoute",l),x=((c=x||{}).runHandler="Node.runHandler",c),R=((u=R||{}).runHandler="AppRouteRouteHandlers.runHandler",u),E=((d=E||{}).generateMetadata="ResolveMetadata.generateMetadata",d.generateViewport="ResolveMetadata.generateViewport",d),_=((h=_||{}).execute="Middleware.execute",h);let S=new Set(["Middleware.execute","BaseServer.handleRequest","Render.getServerSideProps","Render.getStaticProps","AppRender.fetch","AppRender.getBodyResult","Render.renderDocument","Node.runHandler","AppRouteRouteHandlers.runHandler","ResolveMetadata.generateMetadata","ResolveMetadata.generateViewport","NextNodeServer.createComponentTree","NextNodeServer.findPageComponents","NextNodeServer.getLayoutOrPageModule","NextNodeServer.startResponse","NextNodeServer.clientComponentLoading"]),T=new Set(["NextNodeServer.findPageComponents","NextNodeServer.createComponentTree","NextNodeServer.clientComponentLoading"]);e.s(["AppRenderSpan",0,w,"BaseServerSpan",0,p,"LogSpanAllowList",0,T,"NextNodeServerSpan",0,m,"NextVanillaSpanAllowlist",0,S])},952192,e=>{"use strict";let t,r;var i=e.i(479201);let n=process.env.NEXT_OTEL_PERFORMANCE_PREFIX;try{t=e.r(270406)}catch(r){t=e.r(981020)}let{context:a,propagation:s,trace:o,SpanStatusCode:l,SpanKind:c,ROOT_CONTEXT:u}=t;class d extends Error{constructor(e,t){super(),this.bubble=e,this.result=t}}let h=(e,t)=>{"object"==typeof t&&null!==t&&t instanceof d&&t.bubble?e.setAttribute("next.bubble",!0):(t&&(e.recordException(t),e.setAttribute("error.type",t.name)),e.setStatus({code:l.ERROR,message:null==t?void 0:t.message})),e.end()},p=new Map,f=t.createContextKey("next.rootSpanId"),b=0,m={set(e,t,r){e.push({key:t,value:r})}},g=(r=new class e{getTracerInstance(){return o.getTracer("next.js","0.0.1")}getContext(){return a}getTracePropagationData(){let e=a.active(),t=[];return s.inject(e,t,m),t}getActiveScopeSpan(){return o.getSpan(null==a?void 0:a.active())}withPropagatedContext(e,t,r,i=!1){let n=a.active();if(i){let i=s.extract(u,e,r);if(o.getSpanContext(i))return a.with(i,t);let l=s.extract(n,e,r);return a.with(l,t)}if(o.getSpanContext(n))return t();let l=s.extract(n,e,r);return a.with(l,t)}trace(...e){let[t,r,s]=e,{fn:o,options:l}="function"==typeof r?{fn:r,options:{}}:{fn:s,options:{...r}},c=l.spanName??t;if(!i.NextVanillaSpanAllowlist.has(t)&&"1"!==process.env.NEXT_OTEL_VERBOSE||l.hideSpan)return o();let d=this.getSpanContext((null==l?void 0:l.parentSpan)??this.getActiveScopeSpan());d||(d=(null==a?void 0:a.active())??u);let m=d.getValue(f),g="number"!=typeof m||!p.has(m),v=b++;return l.attributes={"next.span_name":c,"next.span_type":t,...l.attributes},a.with(d.setValue(f,v),()=>this.getTracerInstance().startActiveSpan(c,l,e=>{let r;n&&t&&i.LogSpanAllowList.has(t)&&(r="performance"in globalThis&&"measure"in performance?globalThis.performance.now():void 0);let a=!1,s=()=>{!a&&(a=!0,p.delete(v),r&&performance.measure(`${n}:next-${(t.split(".").pop()||"").replace(/[A-Z]/g,e=>"-"+e.toLowerCase())}`,{start:r,end:performance.now()}))};if(g&&p.set(v,new Map(Object.entries(l.attributes??{}))),o.length>1)try{return o(e,t=>h(e,t))}catch(t){throw h(e,t),t}finally{s()}try{let t=o(e);if(null!==t&&"object"==typeof t&&"then"in t&&"function"==typeof t.then)return t.then(t=>(e.end(),t)).catch(t=>{throw h(e,t),t}).finally(s);return e.end(),s(),t}catch(t){throw h(e,t),s(),t}}))}wrap(...e){let t=this,[r,n,s]=3===e.length?e:[e[0],{},e[1]];return i.NextVanillaSpanAllowlist.has(r)||"1"===process.env.NEXT_OTEL_VERBOSE?function(){let e=n;"function"==typeof e&&"function"==typeof s&&(e=e.apply(this,arguments));let i=arguments.length-1,o=arguments[i];if("function"!=typeof o)return t.trace(r,e,()=>s.apply(this,arguments));{let n=t.getContext().bind(a.active(),o);return t.trace(r,e,(e,t)=>(arguments[i]=function(e){return null==t||t(e),n.apply(this,arguments)},s.apply(this,arguments)))}}:s}startSpan(...e){let[t,r]=e,i=this.getSpanContext((null==r?void 0:r.parentSpan)??this.getActiveScopeSpan());return this.getTracerInstance().startSpan(t,r,i)}getSpanContext(e){return e?o.setSpan(a.active(),e):void 0}getRootSpanAttributes(){let e=a.active().getValue(f);return p.get(e)}setRootSpanAttribute(e,t){let r=a.active().getValue(f),i=p.get(r);i&&!i.has(e)&&i.set(e,t)}withSpan(e,t){let r=o.setSpan(a.active(),e);return a.with(r,t)}},()=>r);e.s(["SpanKind",0,c,"getTracer",0,g],952192)},104600,e=>{"use strict";let t={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",apiNode:"api-node",apiEdge:"api-edge",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",pagesDirBrowser:"pages-dir-browser",pagesDirEdge:"pages-dir-edge",pagesDirNode:"pages-dir-node"};t.reactServerComponents,t.actionBrowser,t.reactServerComponents,t.actionBrowser,t.instrument,t.middleware,t.apiNode,t.apiEdge,t.serverSideRendering,t.appPagesBrowser,t.reactServerComponents,t.actionBrowser,t.serverSideRendering,t.appPagesBrowser,t.shared,t.instrument,t.middleware,t.reactServerComponents,t.serverSideRendering,t.appPagesBrowser,t.actionBrowser,e.s(["CACHE_ONE_YEAR_SECONDS",0,31536e3,"HTML_CONTENT_TYPE_HEADER",0,"text/html; charset=utf-8","INFINITE_CACHE",0,0xfffffffe,"NEXT_CACHE_TAGS_HEADER",0,"x-next-cache-tags","NEXT_CACHE_TAG_MAX_ITEMS",0,128,"NEXT_CACHE_TAG_MAX_LENGTH",0,256])},859538,e=>{"use strict";e.s(["InvariantError",0,class extends Error{constructor(e,t){super(`Invariant: ${e.endsWith(".")?e:e+"."} This is a bug in Next.js.`,t),this.name="InvariantError"}}])},27732,e=>{"use strict";var t,r,i=((t={}).APP_PAGE="APP_PAGE",t.APP_ROUTE="APP_ROUTE",t.PAGES="PAGES",t.FETCH="FETCH",t.REDIRECT="REDIRECT",t.IMAGE="IMAGE",t),n=((r={}).APP_PAGE="APP_PAGE",r.APP_ROUTE="APP_ROUTE",r.PAGES="PAGES",r.FETCH="FETCH",r.IMAGE="IMAGE",r);e.s(["CachedRouteKind",0,i,"IncrementalCacheKind",0,n])},159515,e=>{"use strict";let t=Symbol.for("NextInternalRequestMeta");function r(e,r){let i=e[t]||{};return"string"==typeof r?i[r]:i}function i(e,r){return e[t]=r,r}e.s(["NEXT_REQUEST_META",0,t,"addRequestMeta",0,function(e,t,n){let a=r(e);return a[t]=n,i(e,a)},"getRequestMeta",0,r,"setRequestMeta",0,i])},431732,e=>{"use strict";function t(e){var t,r,i,n,a,s=[],o=0;function l(){for(;o<e.length&&/\s/.test(e.charAt(o));)o+=1;return o<e.length}for(;o<e.length;){for(t=o,a=!1;l();)if(","===(r=e.charAt(o))){for(i=o,o+=1,l(),n=o;o<e.length&&"="!==(r=e.charAt(o))&&";"!==r&&","!==r;)o+=1;o<e.length&&"="===e.charAt(o)?(a=!0,o=n,s.push(e.substring(t,i)),t=o):o=i+1}else o+=1;(!a||o>=e.length)&&s.push(e.substring(t,e.length))}return s}e.s(["fromNodeOutgoingHttpHeaders",0,function(e){let t=new Headers;for(let[r,i]of Object.entries(e))for(let e of Array.isArray(i)?i:[i])void 0!==e&&("number"==typeof e&&(e=e.toString()),t.append(r,e));return t},"splitCookiesString",0,t,"toNodeOutgoingHttpHeaders",0,function(e){let r={},i=[];if(e)for(let[n,a]of e.entries())"set-cookie"===n.toLowerCase()?(i.push(...t(a)),r[n]=1===i.length?i[0]:i):r[n]=a;return r},"validateURL",0,function(e){try{return String(new URL(String(e)))}catch(t){throw Object.defineProperty(Error(`URL is malformed "${String(e)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`,{cause:t}),"__NEXT_ERROR_CODE",{value:"E61",enumerable:!1,configurable:!0})}}])},329500,775459,e=>{"use strict";function t(e){let t=e.indexOf("#"),r=e.indexOf("?"),i=r>-1&&(t<0||r<t);return i||t>-1?{pathname:e.substring(0,i?r:t),query:i?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}e.s(["parsePath",0,t],329500),e.s(["pathHasPrefix",0,function(e,r){if("string"!=typeof e)return!1;let{pathname:i}=t(e);return i===r||i.startsWith(r+"/")}],775459)},626524,52594,e=>{"use strict";var t=e.i(159515),r=e.i(431732);function i(e){return e.replace(/\/$/,"")||"/"}var n=e.i(329500);function a(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:i,hash:a}=(0,n.parsePath)(e);return`${t}${r}${i}${a}`}function s(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:i,hash:a}=(0,n.parsePath)(e);return`${r}${t}${i}${a}`}var o=e.i(775459);let l=new WeakMap;function c(e,t){let r;if(!t)return{pathname:e};let i=l.get(t);i||(i=t.map(e=>e.toLowerCase()),l.set(t,i));let n=e.split("/",2);if(!n[1])return{pathname:e};let a=n[1].toLowerCase(),s=i.indexOf(a);return s<0?{pathname:e}:(r=t[s],{pathname:e=e.slice(r.length+1)||"/",detectedLocale:r})}let u=/^(?:127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)$/;function d(e,t){let r=new URL(String(e),t&&String(t));return u.test(r.hostname)&&(r.hostname="localhost"),r}let h=Symbol("NextURLInternal");class p{constructor(e,t,r){let i,n;"object"==typeof t&&"pathname"in t||"string"==typeof t?(i=t,n=r||{}):n=r||t||{},this[h]={url:d(e,i??n.base),options:n,basePath:""},this.analyze()}analyze(){var e,t,r,i,n;let a=function(e,t){let{basePath:r,i18n:i,trailingSlash:n}=t.nextConfig??{},a={pathname:e,trailingSlash:"/"!==e?e.endsWith("/"):n};r&&(0,o.pathHasPrefix)(a.pathname,r)&&(a.pathname=function(e,t){if(!(0,o.pathHasPrefix)(e,t))return e;let r=e.slice(t.length);return r.startsWith("/")?r:`/${r}`}(a.pathname,r),a.basePath=r);let s=a.pathname;if(a.pathname.startsWith("/_next/data/")&&a.pathname.endsWith(".json")){let e=a.pathname.replace(/^\/_next\/data\//,"").replace(/\.json$/,"").split("/");a.buildId=e[0],s="index"!==e[1]?`/${e.slice(1).join("/")}`:"/",!0===t.parseData&&(a.pathname=s)}if(i){let e=t.i18nProvider?t.i18nProvider.analyze(a.pathname):c(a.pathname,i.locales);a.locale=e.detectedLocale,a.pathname=e.pathname??a.pathname,!e.detectedLocale&&a.buildId&&(e=t.i18nProvider?t.i18nProvider.analyze(s):c(s,i.locales)).detectedLocale&&(a.locale=e.detectedLocale)}return a}(this[h].url.pathname,{nextConfig:this[h].options.nextConfig,parseData:!0,i18nProvider:this[h].options.i18nProvider}),s=function(e,t){let r;if(t?.host&&!Array.isArray(t.host))r=t.host.toString().split(":",1)[0];else{if(!e.hostname)return;r=e.hostname}return r.toLowerCase()}(this[h].url,this[h].options.headers);this[h].domainLocale=this[h].options.i18nProvider?this[h].options.i18nProvider.detectDomainLocale(s):function(e,t,r){if(e){for(let i of(r&&(r=r.toLowerCase()),e))if(t===i.domain?.split(":",1)[0].toLowerCase()||r===i.defaultLocale.toLowerCase()||i.locales?.some(e=>e.toLowerCase()===r))return i}}(null==(t=this[h].options.nextConfig)||null==(e=t.i18n)?void 0:e.domains,s);let l=(null==(r=this[h].domainLocale)?void 0:r.defaultLocale)||(null==(n=this[h].options.nextConfig)||null==(i=n.i18n)?void 0:i.defaultLocale);this[h].url.pathname=a.pathname,this[h].defaultLocale=l,this[h].basePath=a.basePath??"",this[h].buildId=a.buildId,this[h].locale=a.locale??l,this[h].trailingSlash=a.trailingSlash}formatPathname(){var e;let t;return t=function(e,t,r,i){if(!t||t===r)return e;let n=e.toLowerCase();return!i&&((0,o.pathHasPrefix)(n,"/api")||(0,o.pathHasPrefix)(n,`/${t.toLowerCase()}`))?e:a(e,`/${t}`)}((e={basePath:this[h].basePath,buildId:this[h].buildId,defaultLocale:this[h].options.forceLocale?void 0:this[h].defaultLocale,locale:this[h].locale,pathname:this[h].url.pathname,trailingSlash:this[h].trailingSlash}).pathname,e.locale,e.buildId?void 0:e.defaultLocale,e.ignorePrefix),(e.buildId||!e.trailingSlash)&&(t=i(t)),e.buildId&&(t=s(a(t,`/_next/data/${e.buildId}`),"/"===e.pathname?"index.json":".json")),t=a(t,e.basePath),!e.buildId&&e.trailingSlash?t.endsWith("/")?t:s(t,"/"):i(t)}formatSearch(){return this[h].url.search}get buildId(){return this[h].buildId}set buildId(e){this[h].buildId=e}get locale(){return this[h].locale??""}set locale(e){var t,r;if(!this[h].locale||!(null==(r=this[h].options.nextConfig)||null==(t=r.i18n)?void 0:t.locales.includes(e)))throw Object.defineProperty(TypeError(`The NextURL configuration includes no locale "${e}"`),"__NEXT_ERROR_CODE",{value:"E597",enumerable:!1,configurable:!0});this[h].locale=e}get defaultLocale(){return this[h].defaultLocale}get domainLocale(){return this[h].domainLocale}get searchParams(){return this[h].url.searchParams}get host(){return this[h].url.host}set host(e){this[h].url.host=e}get hostname(){return this[h].url.hostname}set hostname(e){this[h].url.hostname=e}get port(){return this[h].url.port}set port(e){this[h].url.port=e}get protocol(){return this[h].url.protocol}set protocol(e){this[h].url.protocol=e}get href(){let e=this.formatPathname(),t=this.formatSearch();return`${this.protocol}//${this.host}${e}${t}${this.hash}`}set href(e){this[h].url=d(e),this.analyze()}get origin(){return this[h].url.origin}get pathname(){return this[h].url.pathname}set pathname(e){this[h].url.pathname=e}get hash(){return this[h].url.hash}set hash(e){this[h].url.hash=e}get search(){return this[h].url.search}set search(e){this[h].url.search=e}get password(){return this[h].url.password}set password(e){this[h].url.password=e}get username(){return this[h].url.username}set username(e){this[h].url.username=e}get basePath(){return this[h].basePath}set basePath(e){this[h].basePath=e.startsWith("/")?e:`/${e}`}toString(){return this.href}toJSON(){return this.href}[Symbol.for("edge-runtime.inspect.custom")](){return{href:this.href,origin:this.origin,protocol:this.protocol,username:this.username,password:this.password,host:this.host,hostname:this.hostname,port:this.port,pathname:this.pathname,search:this.search,searchParams:this.searchParams,hash:this.hash}}clone(){return new p(String(this),this[h].options)}}class f extends Error{constructor(){super("The request.page has been deprecated in favour of `URLPattern`.\n Read more: https://nextjs.org/docs/messages/middleware-request-page\n ")}}class b extends Error{constructor(){super("The request.ua has been removed in favour of `userAgent` function.\n Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent\n ")}}var m=e.i(385499);let g=Symbol("internal request");class v extends Request{constructor(e,t={}){const i="string"!=typeof e&&"url"in e?e.url:String(e);(0,r.validateURL)(i),t.body&&"half"!==t.duplex&&(t.duplex="half"),e instanceof Request?super(e,t):super(i,t);const n=new p(i,{headers:(0,r.toNodeOutgoingHttpHeaders)(this.headers),nextConfig:t.nextConfig});this[g]={cookies:new m.RequestCookies(this.headers),nextUrl:n,url:n.toString()}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,nextUrl:this.nextUrl,url:this.url,bodyUsed:this.bodyUsed,cache:this.cache,credentials:this.credentials,destination:this.destination,headers:Object.fromEntries(this.headers),integrity:this.integrity,keepalive:this.keepalive,method:this.method,mode:this.mode,redirect:this.redirect,referrer:this.referrer,referrerPolicy:this.referrerPolicy,signal:this.signal}}get cookies(){return this[g].cookies}get nextUrl(){return this[g].nextUrl}get page(){throw new f}get ua(){throw new b}get url(){return this[g].url}}let w=e=>!0;e.s(["isNodeNextRequest",0,w,"isNodeNextResponse",0,e=>!0,"isWebNextRequest",0,e=>!1],52594);let y="ResponseAborted";class x extends Error{constructor(...e){super(...e),this.name=y}}function R(e){let t=new AbortController;return e.once("close",()=>{e.writableFinished||t.abort(new x)}),t}class E{static fromBaseNextRequest(e,t){if(w(e))return E.fromNodeNextRequest(e,t);throw Object.defineProperty(Error("Invariant: Unsupported NextRequest type"),"__NEXT_ERROR_CODE",{value:"E345",enumerable:!1,configurable:!0})}static fromNodeNextRequest(e,i){let n,a=null;if("GET"!==e.method&&"HEAD"!==e.method&&e.body&&(a=e.body),e.url.startsWith("http"))n=new URL(e.url);else{let r=(0,t.getRequestMeta)(e,"initURL");n=r&&r.startsWith("http")?new URL(e.url,r):new URL(e.url,"http://n")}return new v(n,{method:e.method,headers:(0,r.fromNodeOutgoingHttpHeaders)(e.headers),duplex:"half",signal:i,...i.aborted?{}:{body:a}})}static fromWebNextRequest(e){let t=null;return"GET"!==e.method&&"HEAD"!==e.method&&(t=e.body),new v(e.url,{method:e.method,headers:(0,r.fromNodeOutgoingHttpHeaders)(e.headers),duplex:"half",signal:e.request.signal,...e.request.signal.aborted?{}:{body:t}})}}e.s(["NextRequestAdapter",0,E,"ResponseAbortedName",0,y,"createAbortController",0,R,"signalFromNodeResponse",0,function(e){let{errored:t,destroyed:r}=e;if(t||r)return AbortSignal.abort(t??new x);let{signal:i}=R(e);return i}],626524)},923393,458871,e=>{"use strict";class t{constructor(){let e,t;this.promise=new Promise((r,i)=>{e=r,t=i}),this.resolve=e,this.reject=t}}e.s(["DetachedPromise",0,t],923393);var r=e.i(626524),i=e.i(952192),n=e.i(479201);let a=0,s=0,o=0;function l(e){return(null==e?void 0:e.name)==="AbortError"||(null==e?void 0:e.name)===r.ResponseAbortedName}async function c(e,c,u){try{let{errored:l,destroyed:d}=c;if(l||d)return;let h=(0,r.createAbortController)(c),p=function(e,r){let l=!1,c=new t;function u(){c.resolve()}e.on("drain",u),e.once("close",()=>{e.off("drain",u),c.resolve()});let d=new t;return e.once("finish",()=>{d.resolve()}),new WritableStream({write:async r=>{if(!l){if(l=!0,"performance"in globalThis&&process.env.NEXT_OTEL_PERFORMANCE_PREFIX){let e=function(e={}){let t=0===a?void 0:{clientComponentLoadStart:a,clientComponentLoadTimes:s,clientComponentLoadCount:o};return e.reset&&(a=0,s=0,o=0),t}();e&&performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-client-component-loading`,{start:e.clientComponentLoadStart,end:e.clientComponentLoadStart+e.clientComponentLoadTimes})}e.flushHeaders(),(0,i.getTracer)().trace(n.NextNodeServerSpan.startResponse,{spanName:"start response"},()=>void 0)}try{let i=e.write(r);"flush"in e&&"function"==typeof e.flush&&e.flush(),i||(await c.promise,c=new t)}catch(t){throw e.end(),Object.defineProperty(Error("failed to write chunk to response",{cause:t}),"__NEXT_ERROR_CODE",{value:"E321",enumerable:!1,configurable:!0})}},abort:t=>{e.writableFinished||e.destroy(t)},close:async()=>{if(r&&await r,!e.writableFinished)return e.end(),d.promise}})}(c,u);await e.pipeTo(p,{signal:h.signal})}catch(e){if(l(e))return;throw Object.defineProperty(Error("failed to pipe response",{cause:e}),"__NEXT_ERROR_CODE",{value:"E180",enumerable:!1,configurable:!0})}}e.s(["isAbortError",0,l,"pipeToNodeResponse",0,c],458871)},792325,e=>{"use strict";e.i(923393);class t{constructor(e,t,r){this.prev=null,this.next=null,this.key=e,this.data=t,this.size=r}}class r{constructor(){this.prev=null,this.next=null}}class i{constructor(e,t,i){this.cache=new Map,this.totalSize=0,this.maxSize=e,this.calculateSize=t,this.onEvict=i,this.head=new r,this.tail=new r,this.head.next=this.tail,this.tail.prev=this.head}addToHead(e){e.prev=this.head,e.next=this.head.next,this.head.next.prev=e,this.head.next=e}removeNode(e){e.prev.next=e.next,e.next.prev=e.prev}moveToHead(e){this.removeNode(e),this.addToHead(e)}removeTail(){let e=this.tail.prev;return this.removeNode(e),e}set(e,r){let i=(null==this.calculateSize?void 0:this.calculateSize.call(this,r))??1;if(i<=0)throw Object.defineProperty(Error(`LRUCache: calculateSize returned ${i}, but size must be > 0. Items with size 0 would never be evicted, causing unbounded cache growth.`),"__NEXT_ERROR_CODE",{value:"E1045",enumerable:!1,configurable:!0});if(i>this.maxSize)return console.warn("Single item size exceeds maxSize"),!1;let n=this.cache.get(e);if(n)n.data=r,this.totalSize=this.totalSize-n.size+i,n.size=i,this.moveToHead(n);else{let n=new t(e,r,i);this.cache.set(e,n),this.addToHead(n),this.totalSize+=i}for(;this.totalSize>this.maxSize&&this.cache.size>0;){let e=this.removeTail();this.cache.delete(e.key),this.totalSize-=e.size,null==this.onEvict||this.onEvict.call(this,e.key,e.data)}return!0}has(e){return this.cache.has(e)}get(e){let t=this.cache.get(e);if(t)return this.moveToHead(t),t.data}*[Symbol.iterator](){let e=this.head.next;for(;e&&e!==this.tail;){let t=e;yield[t.key,t.data],e=e.next}}remove(e){let t=this.cache.get(e);t&&(this.removeNode(t),this.cache.delete(e),this.totalSize-=t.size)}get size(){return this.cache.size}get currentSize(){return this.totalSize}}let{env:n,stdout:a}=(null==(y=globalThis)?void 0:y.process)??{},s=n&&!n.NO_COLOR&&(n.FORCE_COLOR||(null==a?void 0:a.isTTY)&&!n.CI&&"dumb"!==n.TERM),o=(e,t,r,i)=>{let n=e.substring(0,i)+r,a=e.substring(i+t.length),s=a.indexOf(t);return~s?n+o(a,t,r,s):n+a},l=(e,t,r=e)=>s?i=>{let n=""+i,a=n.indexOf(t,e.length);return~a?e+o(n,t,r,a)+t:e+n+t}:String,c=l("\x1b[1m","\x1b[22m","\x1b[22m\x1b[1m");l("\x1b[2m","\x1b[22m","\x1b[22m\x1b[2m"),l("\x1b[3m","\x1b[23m"),l("\x1b[4m","\x1b[24m"),l("\x1b[7m","\x1b[27m"),l("\x1b[8m","\x1b[28m"),l("\x1b[9m","\x1b[29m"),l("\x1b[30m","\x1b[39m");let u=l("\x1b[31m","\x1b[39m"),d=l("\x1b[32m","\x1b[39m"),h=l("\x1b[33m","\x1b[39m");l("\x1b[34m","\x1b[39m");let p=l("\x1b[35m","\x1b[39m");l("\x1b[38;2;173;127;168m","\x1b[39m"),l("\x1b[36m","\x1b[39m");let f=l("\x1b[37m","\x1b[39m");function b(){}l("\x1b[90m","\x1b[39m"),l("\x1b[40m","\x1b[49m"),l("\x1b[41m","\x1b[49m"),l("\x1b[42m","\x1b[49m"),l("\x1b[43m","\x1b[49m"),l("\x1b[44m","\x1b[49m"),l("\x1b[45m","\x1b[49m"),l("\x1b[46m","\x1b[49m"),l("\x1b[47m","\x1b[49m"),f(c("○")),u(c("⨯")),h(c("⚠")),f(c(" ")),d(c("✓")),p(c("»")),new i(1e4,e=>e.length),new i(1e4,e=>e.length),e.i(27732),e.i(952192);let m=new TextEncoder;function g(e){return new ReadableStream({start(t){t.enqueue(m.encode(e)),t.close()}})}function v(e){return new ReadableStream({start(t){t.enqueue(e),t.close()}})}async function w(e,t){let r=new TextDecoder("utf-8",{fatal:!0}),i="";for await(let n of e){if(null==t?void 0:t.aborted)return i;i+=r.decode(n,{stream:!0})}return i+r.decode()}var y,x=e.i(458871),R=e.i(859538);class E{static #e=this.EMPTY=new E(null,{metadata:{},contentType:null});static fromStatic(e,t){return new E(e,{metadata:{},contentType:t})}constructor(e,{contentType:t,waitUntil:r,metadata:i}){this.response=e,this.contentType=t,this.metadata=i,this.waitUntil=r}assignMetadata(e){Object.assign(this.metadata,e)}get isNull(){return null===this.response}get isDynamic(){return"string"!=typeof this.response}toUnchunkedString(e=!1){if(null===this.response)return"";if("string"!=typeof this.response){if(!e)throw Object.defineProperty(new R.InvariantError("dynamic responses cannot be unchunked. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E732",enumerable:!1,configurable:!0});return w(this.readable)}return this.response}get readable(){return null===this.response?new ReadableStream({start(e){e.close()}}):"string"==typeof this.response?g(this.response):Buffer.isBuffer(this.response)?v(this.response):Array.isArray(this.response)?function(...e){if(0===e.length)return new ReadableStream({start(e){e.close()}});if(1===e.length)return e[0];let{readable:t,writable:r}=new TransformStream,i=e[0].pipeTo(r,{preventClose:!0}),n=1;for(;n<e.length-1;n++){let t=e[n];i=i.then(()=>t.pipeTo(r,{preventClose:!0}))}let a=e[n];return(i=i.then(()=>a.pipeTo(r))).catch(b),t}(...this.response):this.response}coerce(){return null===this.response?[]:"string"==typeof this.response?[g(this.response)]:Array.isArray(this.response)?this.response:Buffer.isBuffer(this.response)?[v(this.response)]:[this.response]}pipeThrough(e){this.response=this.readable.pipeThrough(e)}unshift(e){this.response=this.coerce(),this.response.unshift(e)}push(e){this.response=this.coerce(),this.response.push(e)}async pipeTo(e){try{await this.readable.pipeTo(e,{preventClose:!0}),this.waitUntil&&await this.waitUntil,await e.close()}catch(t){if((0,x.isAbortError)(t))return void await e.abort(t);throw t}}async pipeToNodeResponse(e){await (0,x.pipeToNodeResponse)(this.readable,e,this.waitUntil)}}function _(e,t){if(!e)return t;let r=parseInt(e,10);return Number.isFinite(r)&&r>0?r:t}e.i(953193),e.i(104600),_(process.env.NEXT_PRIVATE_RESPONSE_CACHE_TTL,1e4),_(process.env.NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE,150),e.s([],792325)},314093,e=>{"use strict";let t;var r,i=e.i(479201),n=e.i(952192),a=e.i(104600),s=e.i(824648);class o extends Error{constructor(e){super(`Dynamic server usage: ${e}`),this.description=e,this.digest="DYNAMIC_SERVER_USAGE"}}class l extends Error{constructor(...e){super(...e),this.code="NEXT_STATIC_GEN_BAILOUT"}}var c=e.i(832319);e.i(556704);let u="function"==typeof s.default.unstable_postpone;function d(e,t,r){if(t)switch(t.type){case"cache":case"unstable-cache":case"private-cache":return}if(!e.forceDynamic&&!e.forceStatic){if(e.dynamicShouldError)throw Object.defineProperty(new l(`Route ${e.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${r}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(t)switch(t.type){case"prerender-ppr":var i,n,a;return i=e.route,n=r,a=t.dynamicTracking,void(function(){if(!u)throw Object.defineProperty(Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E224",enumerable:!1,configurable:!0})}(),a&&a.dynamicAccesses.push({stack:a.isDebugDynamicAccesses?Error().stack:void 0,expression:n}),s.default.unstable_postpone(h(i,n)));case"prerender-legacy":t.revalidate=0;let c=Object.defineProperty(new o(`Route ${e.route} couldn't be rendered statically because it used ${r}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E550",enumerable:!1,configurable:!0});throw e.dynamicUsageDescription=r,e.dynamicUsageStack=c.stack,c}}}function h(e,t){return`Route ${e} needs to bail out of prerendering at this point because it used ${t}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`}if(!1===((r=h("%%%","^^^")).includes("needs to bail out of prerendering at this point because it used")&&r.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")))throw Object.defineProperty(Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E296",enumerable:!1,configurable:!0});RegExp("\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at __next_root_layout_boundary__ \\([^\\n]*\\)"),RegExp("\\n\\s+at __next_metadata_boundary__[\\n\\s]"),RegExp("\\n\\s+at __next_viewport_boundary__[\\n\\s]"),RegExp("\\n\\s+at __next_outlet_boundary__[\\n\\s]"),RegExp("\\n\\s+at __next_instant_validation_boundary__[\\n\\s]");class p extends Error{constructor(e,t){super(`During prerendering, ${t} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${t} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${e}".`),this.route=e,this.expression=t,this.digest="HANGING_PROMISE_REJECTION"}}let f=new WeakMap;function b(e,t,r){if(e.aborted)return Promise.reject(new p(t,r));{let i=new Promise((i,n)=>{let a=n.bind(null,new p(t,r)),s=f.get(e);if(s)s.push(a);else{let t=[a];f.set(e,t),e.addEventListener("abort",()=>{for(let e=0;e<t.length;e++)t[e]()},{once:!0})}});return i.catch(m),i}}function m(){}let g=()=>{};function v(e){if(!e.body)return[e,e];let[r,i]=e.body.tee(),n=new Response(r,{status:e.status,statusText:e.statusText,headers:e.headers});Object.defineProperty(n,"url",{value:e.url,configurable:!0,enumerable:!0,writable:!1});let a=new Response(i,{status:e.status,statusText:e.statusText,headers:e.headers});return Object.defineProperty(a,"url",{value:e.url,configurable:!0,enumerable:!0,writable:!1}),t&&(n.body&&t.register(n,new WeakRef(n.body)),a.body&&t.register(a,new WeakRef(a.body))),[n,a]}globalThis.FinalizationRegistry&&(t=new FinalizationRegistry(e=>{let t=e.deref();t&&!t.locked&&t.cancel("Response object has been garbage collected").then(g)}));var w=e.i(859538);let y=new Set(["traceparent","tracestate"]);e.i(792325);var x=e.i(27732);let R=Symbol.for("next-patch");function E(e,t){e.shouldTrackFetchMetrics&&(e.fetchMetrics??=[],e.fetchMetrics.push({...t,end:performance.timeOrigin+performance.now(),idx:e.nextFetchId||0}))}async function _(e,t,r,i,n,a){let s=await e.arrayBuffer(),o={headers:Object.fromEntries(e.headers.entries()),body:Buffer.from(s).toString("base64"),status:e.status,url:e.url};return r&&await i.set(t,{kind:x.CachedRouteKind.FETCH,data:o,revalidate:n},r),await a(),new Response(s,{headers:e.headers,status:e.status,statusText:e.statusText})}async function S(e,t,r,i,n,a,s,o,l,c){let[u,d]=v(t),h=u.arrayBuffer().then(async e=>{let t=Buffer.from(e),o={headers:Object.fromEntries(u.headers.entries()),body:t.toString("base64"),status:u.status,url:u.url};null==a||a.set(r,o),i&&await n.set(r,{kind:x.CachedRouteKind.FETCH,data:o,revalidate:s},i)}).catch(e=>{(null==c?void 0:c.aborted)||console.warn("Failed to set fetch cache",o,e)}).finally(l),p=`cache-set-${r}`,f=e.pendingRevalidates??={},b=Promise.resolve();return p in f&&(b=f[p]),f[p]=b.then(()=>h).finally(()=>{(null==f?void 0:f[p])&&delete f[p]}),d}let T=null;e.s(["patchFetch",0,function(e){var t;let r;if(!0===globalThis[R])return;let o=(t=globalThis.fetch,r=s.cache(e=>[]),function(e,i){let n,a;if(i&&i.signal)return t(e,i);if("string"!=typeof e||i){let r,s="string"==typeof e||e instanceof URL?new Request(e,i):e;if("GET"!==s.method&&"HEAD"!==s.method||s.keepalive)return t(e,i);r=Array.from(s.headers.entries()).filter(([e])=>!y.has(e.toLowerCase())),a=JSON.stringify([s.method,r,s.mode,s.redirect,s.credentials,s.referrer,s.referrerPolicy,s.integrity]),n=s.url}else a='["GET",[],null,"follow",null,null,null,null]',n=e;let s=r(n);for(let e=0,t=s.length;e<t;e+=1){let[t,r]=s[e];if(t===a)return r.then(()=>{let t=s[e][2];if(!t)throw Object.defineProperty(new w.InvariantError("No cached response"),"__NEXT_ERROR_CODE",{value:"E579",enumerable:!1,configurable:!0});let[r,i]=v(t);return s[e][2]=i,r})}let o=t(e,i),l=[a,o,null];return s.push(l),o.then(e=>{let[t,r]=v(e);return l[2]=r,t})});globalThis.fetch=function(e,{workAsyncStorage:t,workUnitAsyncStorage:r}){let s=async function(s,o){var l,u;let h;try{(h=new URL(s instanceof Request?s.url:s)).username="",h.password=""}catch{h=void 0}let p=(null==h?void 0:h.href)??"",f=(null==o||null==(l=o.method)?void 0:l.toUpperCase())||"GET",m=(null==o||null==(u=o.next)?void 0:u.internal)===!0,g="1"===process.env.NEXT_OTEL_FETCH_DISABLED,w=m?void 0:performance.timeOrigin+performance.now(),y=t.getStore(),R=r.getStore(),N=R?(0,c.getCacheSignal)(R):null;N&&N.beginRead();let P=(0,n.getTracer)().trace(m?i.NextNodeServerSpan.internalFetch:i.AppRenderSpan.fetch,{hideSpan:g,kind:n.SpanKind.CLIENT,spanName:["fetch",f,p].filter(Boolean).join(" "),attributes:{"http.url":p,"http.method":f,"net.peer.name":null==h?void 0:h.hostname,"net.peer.port":(null==h?void 0:h.port)||void 0}},async()=>{var t;let r,i,n,l,c,u;if(m||!y||y.isDraftMode)return e(s,o);let h=s&&"object"==typeof s&&"string"==typeof s.method,f=e=>(null==o?void 0:o[e])||(h?s[e]:null),g=e=>{var t,r,i;return void 0!==(null==o||null==(t=o.next)?void 0:t[e])?null==o||null==(r=o.next)?void 0:r[e]:h?null==(i=s.next)?void 0:i[e]:void 0},P=g("revalidate"),C=P,O=function(e,t){let r=[],i=[];for(let n=0;n<e.length;n++){let s=e[n];if("string"!=typeof s?i.push({tag:s,reason:"invalid type, must be a string"}):s.length>a.NEXT_CACHE_TAG_MAX_LENGTH?i.push({tag:s,reason:`exceeded max length of ${a.NEXT_CACHE_TAG_MAX_LENGTH}`}):r.push(s),r.length>a.NEXT_CACHE_TAG_MAX_ITEMS){console.warn(`Warning: exceeded max tag count for ${t}, dropped tags:`,e.slice(n).join(", "));break}}if(i.length>0)for(let{tag:e,reason:r}of(console.warn(`Warning: invalid tags passed to ${t}: `),i))console.log(`tag: "${e}" ${r}`);return r}(g("tags")||[],`fetch ${s.toString()}`);if(R)switch(R.type){case"prerender":case"prerender-runtime":case"prerender-client":case"validation-client":case"prerender-ppr":case"prerender-legacy":case"cache":case"private-cache":r=R}if(r&&Array.isArray(O)){let e=r.tags??(r.tags=[]);for(let t of O)e.includes(t)||e.push(t)}let A=null==R?void 0:R.implicitTags,k=y.fetchCache;R&&"unstable-cache"===R.type&&(k="force-no-store");let j=!!y.isUnstableNoStore,H=f("cache"),M="";"string"==typeof H&&void 0!==C&&("force-cache"===H&&0===C||"no-store"===H&&(C>0||!1===C))&&(i=`Specified "cache: ${H}" and "revalidate: ${C}", only one should be specified.`,H=void 0,C=void 0);let q="no-cache"===H||"no-store"===H||"force-no-store"===k||"only-no-store"===k,L=!k&&!H&&!C&&y.forceDynamic;"force-cache"===H&&void 0===C?C=!1:(q||L)&&(C=0),("no-cache"===H||"no-store"===H)&&(M=`cache: ${H}`),u=function(e,t){try{let r;if(!1===e)r=a.INFINITE_CACHE;else if("number"==typeof e&&!isNaN(e)&&e>-1)r=e;else if(void 0!==e)throw Object.defineProperty(Error(`Invalid revalidate value "${e}" on "${t}", must be a non-negative number or false`),"__NEXT_ERROR_CODE",{value:"E179",enumerable:!1,configurable:!0});return r}catch(e){if(e instanceof Error&&e.message.includes("Invalid revalidate"))throw e;return}}(C,y.route);let I=f("headers"),D="function"==typeof(null==I?void 0:I.get)?I:new Headers(I||{}),$=D.get("authorization")||D.get("cookie"),U=!["get","head"].includes((null==(t=f("method"))?void 0:t.toLowerCase())||"get"),B=void 0==k&&(void 0==H||"default"===H)&&void 0==C,z=!!(($||U)&&(null==r?void 0:r.revalidate)===0),X=!1;if(!z&&B&&(y.isBuildTimePrerendering?X=!0:z=!0),B&&void 0!==R)switch(R.type){case"prerender":case"prerender-runtime":case"prerender-client":return N&&(N.endRead(),N=null),b(R.renderSignal,y.route,"fetch()")}switch(k){case"force-no-store":M="fetchCache = force-no-store";break;case"only-no-store":if("force-cache"===H||void 0!==u&&u>0)throw Object.defineProperty(Error(`cache: 'force-cache' used on fetch for ${p} with 'export const fetchCache = 'only-no-store'`),"__NEXT_ERROR_CODE",{value:"E448",enumerable:!1,configurable:!0});M="fetchCache = only-no-store";break;case"only-cache":if("no-store"===H)throw Object.defineProperty(Error(`cache: 'no-store' used on fetch for ${p} with 'export const fetchCache = 'only-cache'`),"__NEXT_ERROR_CODE",{value:"E521",enumerable:!1,configurable:!0});break;case"force-cache":(void 0===C||0===C)&&(M="fetchCache = force-cache",u=a.INFINITE_CACHE)}if(void 0===u?"default-cache"!==k||j?"default-no-store"===k?(u=0,M="fetchCache = default-no-store"):j?(u=0,M="noStore call"):z?(u=0,M="auto no cache"):(M="auto cache",u=r?r.revalidate:a.INFINITE_CACHE):(u=a.INFINITE_CACHE,M="fetchCache = default-cache"):M||(M=`revalidate: ${u}`),!(y.forceStatic&&0===u)&&!z&&r&&u<r.revalidate){if(0===u){if(R)switch(R.type){case"prerender":case"prerender-client":case"prerender-runtime":case"validation-client":return N&&(N.endRead(),N=null),b(R.renderSignal,y.route,"fetch()")}d(y,R,`revalidate: 0 fetch ${s} ${y.route}`)}r&&P===u&&(r.revalidate=u)}let G="number"==typeof u&&u>0,{incrementalCache:F}=y,W=!1;if(R)switch(R.type){case"request":case"cache":case"private-cache":W=R.isHmrRefresh??!1,l=R.serverComponentsHmrCache}if(F&&(G||l))try{n=await F.generateCacheKey(p,h?s:o)}catch(e){console.error("Failed to generate cache key for",s)}let V=y.nextFetchId??1;y.nextFetchId=V+1;let K=()=>{},Y=async(t,r)=>{let c=["cache","credentials","headers","integrity","keepalive","method","mode","redirect","referrer","referrerPolicy","window","duplex",...t?[]:["signal"]];if(h){let e=s,t={body:e._ogBody||e.body};for(let r of c)t[r]=e[r];s=new Request(e.url,t)}else if(o){let{_ogBody:e,body:r,signal:i,...n}=o;o={...n,body:e||r,signal:t?void 0:i}}let d={...o,next:{...null==o?void 0:o.next,fetchType:"origin",fetchIdx:V}};return e(s,d).then(async e=>{if(!t&&w&&E(y,{start:w,url:p,cacheReason:r||M,cacheStatus:0===u||r?"skip":"miss",cacheWarning:i,status:e.status,method:d.method||"GET"}),200===e.status&&F&&n&&(G||l)){let t=u>=a.INFINITE_CACHE?a.CACHE_ONE_YEAR_SECONDS:u,r=G?{fetchCache:!0,fetchUrl:p,fetchIdx:V,tags:O,isImplicitBuildTimeCache:X}:void 0;switch(null==R?void 0:R.type){case"prerender":case"prerender-client":case"validation-client":case"prerender-runtime":return _(e,n,r,F,t,K);case"request":case"prerender-ppr":case"prerender-legacy":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":case void 0:return S(y,e,n,r,F,l,t,s,K,f("signal"))}}return await K(),e}).catch(e=>{throw K(),e})},Z=!1,Q=!1;if(n&&F){let e;if(W&&l&&(e=l.get(n),Q=!0),G&&!e){K=await F.lock(n);let t=y.isOnDemandRevalidate?null:await F.get(n,{kind:x.IncrementalCacheKind.FETCH,revalidate:u,fetchUrl:p,fetchIdx:V,tags:O,softTags:null==A?void 0:A.tags});if(B&&R)switch(R.type){case"prerender":case"prerender-client":case"validation-client":case"prerender-runtime":await (T||(T=new Promise(e=>{setTimeout(()=>{T=null,e()},0)})),T)}if(t?await K():c="cache-control: no-cache (hard refresh)",(null==t?void 0:t.value)&&t.value.kind===x.CachedRouteKind.FETCH)if(y.isStaticGeneration&&t.isStale)Z=!0;else{if(t.isStale&&(y.pendingRevalidates??={},!y.pendingRevalidates[n])){let e=Y(!0).then(async e=>({body:await e.arrayBuffer(),headers:e.headers,status:e.status,statusText:e.statusText})).finally(()=>{y.pendingRevalidates??={},delete y.pendingRevalidates[n||""]});e.catch(console.error),y.pendingRevalidates[n]=e}e=t.value.data}}if(e){w&&E(y,{start:w,url:p,cacheReason:M,cacheStatus:Q?"hmr":"hit",cacheWarning:i,status:e.status||200,method:(null==o?void 0:o.method)||"GET"});let t=new Response(Buffer.from(e.body,"base64"),{headers:e.headers,status:e.status});return Object.defineProperty(t,"url",{value:e.url}),t}}if(y.isStaticGeneration&&o&&"object"==typeof o){let{cache:e}=o;if("no-store"===e){if(R)switch(R.type){case"prerender":case"prerender-client":case"prerender-runtime":case"validation-client":return N&&(N.endRead(),N=null),b(R.renderSignal,y.route,"fetch()")}d(y,R,`no-store fetch ${s} ${y.route}`)}let t="next"in o,{next:i={}}=o;if("number"==typeof i.revalidate&&r&&i.revalidate<r.revalidate){if(0===i.revalidate){if(R)switch(R.type){case"prerender":case"prerender-client":case"prerender-runtime":case"validation-client":return b(R.renderSignal,y.route,"fetch()")}d(y,R,`revalidate: 0 fetch ${s} ${y.route}`)}y.forceStatic&&0===i.revalidate||(r.revalidate=i.revalidate)}t&&delete o.next}if(!n||!Z)return Y(!1,c);{let e=n;y.pendingRevalidates??={};let t=y.pendingRevalidates[e];if(t){let e=await t;return new Response(e.body,{headers:e.headers,status:e.status,statusText:e.statusText})}let r=Y(!0,c).then(v);return(t=r.then(async e=>{let t=e[0];return{body:await t.arrayBuffer(),headers:t.headers,status:t.status,statusText:t.statusText}}).finally(()=>{var t;(null==(t=y.pendingRevalidates)?void 0:t[e])&&delete y.pendingRevalidates[e]})).catch(()=>{}),y.pendingRevalidates[e]=t,r.then(e=>e[1])}});if(N)try{return await P}finally{N&&N.endRead()}return P};return s.__nextPatched=!0,s.__nextGetStaticStore=()=>t,s._nextOriginalFetch=e,globalThis[R]=!0,Object.defineProperty(s,"name",{value:"fetch",writable:!1}),s}(o,e)}],314093)},348399,e=>{"use strict";e.s(["normalizeAppPath",0,function(e){var t;return(t=e.split("/").reduce((e,t,r,i)=>t?"("===t[0]&&t.endsWith(")")||"@"===t[0]||("page"===t||"route"===t)&&r===i.length-1?e:`${e}/${t}`:e,"")).startsWith("/")?t:`/${t}`}],348399)},939747,e=>{"use strict";var t=e.i(859538),r=e.i(348399),i=e.i(775459),n=e.i(556704);let a=Symbol.for("next.server.manifests"),s=globalThis;e.s(["setManifestsSingleton",0,function({page:e,clientReferenceManifest:o,serverActionsManifest:l}){let c=s[a],u={encryptionKey:l.encryptionKey,node:Object.assign(Object.create(null),l.node),edge:Object.assign(Object.create(null),l.edge)};if(c)c.clientReferenceManifestsPerRoute.set((0,r.normalizeAppPath)(e),o),c.serverActionsManifest=u;else{let l,c=new Map([[(0,r.normalizeAppPath)(e),o]]),d=(l=new Map,new Proxy({},{get(e,r){let i=n.workAsyncStorage.getStore();switch(r){case"moduleLoading":case"entryCSSFiles":case"entryJSFiles":{if(!i)throw Object.defineProperty(new t.InvariantError(`Cannot access "${r}" without a work store.`),"__NEXT_ERROR_CODE",{value:"E952",enumerable:!1,configurable:!0});let e=c.get(i.route);if(!e)throw Object.defineProperty(new t.InvariantError(`The client reference manifest for route "${i.route}" does not exist.`),"__NEXT_ERROR_CODE",{value:"E951",enumerable:!1,configurable:!0});return e[r]}case"clientModules":case"rscModuleMapping":case"edgeRscModuleMapping":case"ssrModuleMapping":case"edgeSSRModuleMapping":{let e=l.get(r);!e&&(e=new Proxy({},{get(e,t){let i=n.workAsyncStorage.getStore();if(i){let e=c.get(i.route);if(null==e?void 0:e[r][t])return e[r][t]}else for(let e of c.values()){let i=e[r][t];if(void 0!==i)return i}}}),l.set(r,e));return e}default:throw Object.defineProperty(new t.InvariantError(`This is a proxied client reference manifest. The property "${String(r)}" is not handled.`),"__NEXT_ERROR_CODE",{value:"E953",enumerable:!1,configurable:!0})}}}));s[a]={clientReferenceManifestsPerRoute:c,proxiedClientReferenceManifest:d,serverActionsManifest:u,serverModuleMap:new Proxy({},{get:(e,r)=>{var o,l,c;let u,d=null==(l=function(){let e=s[a];if(!e)throw Object.defineProperty(new t.InvariantError("The manifests singleton was not initialized."),"__NEXT_ERROR_CODE",{value:"E950",enumerable:!1,configurable:!0});return e}().serverActionsManifest.node)||null==(o=l[r])?void 0:o.workers;if(!d)return;let h=n.workAsyncStorage.getStore();if(!(u=h?d[c=h.page,(0,i.pathHasPrefix)(c,"app")?c:"app"+c]:Object.values(d).at(0)))return;let{moduleId:p,async:f}=u;return{id:p,name:r,chunks:[],async:f}}})}}}])},608572,(e,t,r)=>{(()=>{"use strict";"u">typeof __nccwpck_require__&&(__nccwpck_require__.ab="/ROOT/tower/node_modules/.pnpm/next@16.2.1_@babel+core@7.29.0_@playwright+test@1.58.2_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/cookie/");var e,r,i,n,a={};a.parse=function(t,r){if("string"!=typeof t)throw TypeError("argument str must be a string");for(var n={},a=t.split(i),s=(r||{}).decode||e,o=0;o<a.length;o++){var l=a[o],c=l.indexOf("=");if(!(c<0)){var u=l.substr(0,c).trim(),d=l.substr(++c,l.length).trim();'"'==d[0]&&(d=d.slice(1,-1)),void 0==n[u]&&(n[u]=function(e,t){try{return t(e)}catch(t){return e}}(d,s))}}return n},a.serialize=function(e,t,i){var a=i||{},s=a.encode||r;if("function"!=typeof s)throw TypeError("option encode is invalid");if(!n.test(e))throw TypeError("argument name is invalid");var o=s(t);if(o&&!n.test(o))throw TypeError("argument val is invalid");var l=e+"="+o;if(null!=a.maxAge){var c=a.maxAge-0;if(isNaN(c)||!isFinite(c))throw TypeError("option maxAge is invalid");l+="; Max-Age="+Math.floor(c)}if(a.domain){if(!n.test(a.domain))throw TypeError("option domain is invalid");l+="; Domain="+a.domain}if(a.path){if(!n.test(a.path))throw TypeError("option path is invalid");l+="; Path="+a.path}if(a.expires){if("function"!=typeof a.expires.toUTCString)throw TypeError("option expires is invalid");l+="; Expires="+a.expires.toUTCString()}if(a.httpOnly&&(l+="; HttpOnly"),a.secure&&(l+="; Secure"),a.sameSite)switch("string"==typeof a.sameSite?a.sameSite.toLowerCase():a.sameSite){case!0:case"strict":l+="; SameSite=Strict";break;case"lax":l+="; SameSite=Lax";break;case"none":l+="; SameSite=None";break;default:throw TypeError("option sameSite is invalid")}return l},e=decodeURIComponent,r=encodeURIComponent,i=/; */,n=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,t.exports=a})()},887426,e=>{"use strict";e.i(952192),Symbol("__next_preview_data");let t=Symbol("__prerender_bypass");var r,i,n=e.i(159515),a=((r={})[r.SeeOther=303]="SeeOther",r[r.TemporaryRedirect=307]="TemporaryRedirect",r[r.PermanentRedirect=308]="PermanentRedirect",r);class s{constructor(e,t,r){this.method=e,this.url=t,this.body=r}get cookies(){var t;return this._cookies?this._cookies:this._cookies=(t=this.headers,function(){let{cookie:r}=t;if(!r)return{};let{parse:i}=e.r(608572);return i(Array.isArray(r)?r.join("; "):r)})()}}class o{constructor(e){this.destination=e}redirect(e,t){return this.setHeader("Location",e),this.statusCode=t,t===a.PermanentRedirect&&this.setHeader("Refresh",`0;url=${e}`),this}}class l extends s{static #e=i=n.NEXT_REQUEST_META;constructor(e){var t;super(e.method.toUpperCase(),e.url,e),this._req=e,this.headers=this._req.headers,this.fetchMetrics=null==(t=this._req)?void 0:t.fetchMetrics,this[i]=this._req[n.NEXT_REQUEST_META]||{},this.streaming=!1}get originalRequest(){return this._req[n.NEXT_REQUEST_META]=this[n.NEXT_REQUEST_META],this._req.url=this.url,this._req.cookies=this.cookies,this._req}set originalRequest(e){this._req=e}stream(){if(this.streaming)throw Object.defineProperty(Error("Invariant: NodeNextRequest.stream() can only be called once"),"__NEXT_ERROR_CODE",{value:"E467",enumerable:!1,configurable:!0});return this.streaming=!0,new ReadableStream({start:e=>{this._req.on("data",t=>{e.enqueue(new Uint8Array(t))}),this._req.on("end",()=>{e.close()}),this._req.on("error",t=>{e.error(t)})}})}}e.s(["NodeNextRequest",0,l,"NodeNextResponse",0,class extends o{get originalResponse(){return t in this&&(this._res[t]=this[t]),this._res}constructor(e){super(e),this._res=e,this.textBody=void 0}get sent(){return this._res.finished||this._res.headersSent}get statusCode(){return this._res.statusCode}set statusCode(e){this._res.statusCode=e}get statusMessage(){return this._res.statusMessage}set statusMessage(e){this._res.statusMessage=e}setHeader(e,t){return this._res.setHeader(e,t),this}removeHeader(e){return this._res.removeHeader(e),this}getHeaderValues(e){let t=this._res.getHeader(e);if(void 0!==t)return(Array.isArray(t)?t:[t]).map(e=>e.toString())}hasHeader(e){return this._res.hasHeader(e)}getHeader(e){let t=this.getHeaderValues(e);return Array.isArray(t)?t.join(","):void 0}getHeaders(){return this._res.getHeaders()}appendHeader(e,t){let r=this.getHeaderValues(e)??[];return r.includes(t)||this._res.setHeader(e,[...r,t]),this}body(e){return this.textBody=e,this}send(){this._res.end(this.textBody)}onClose(e){this.originalResponse.on("close",e)}}],887426)},336951,e=>{"use strict";e.s(["getRevalidateReason",0,function(e){return e.isOnDemandRevalidate?"on-demand":e.isStaticGeneration?"stale":void 0}])},546302,e=>{"use strict";var t=e.i(52594),r=e.i(458871),i=e.i(431732);async function n(e,n,a,s){if((0,t.isNodeNextResponse)(n)){var o;n.statusCode=a.status,n.statusMessage=a.statusText;let t=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(o=a.headers)||o.forEach((e,r)=>{if("x-middleware-set-cookie"!==r.toLowerCase())if("set-cookie"===r.toLowerCase())for(let t of(0,i.splitCookiesString)(e))n.appendHeader(r,t);else{let i=void 0!==n.getHeader(r);(t.includes(r.toLowerCase())||!i)&&n.appendHeader(r,e)}});let{originalResponse:l}=n;a.body&&"HEAD"!==e.method?await (0,r.pipeToNodeResponse)(a.body,l,s):l.end()}}e.s(["sendResponse",0,n])},899284,e=>{"use strict";var t=e.i(104600);e.s(["getCacheControlHeader",0,function({revalidate:e,expire:r}){let i="number"==typeof e&&void 0!==r&&e<r?`, stale-while-revalidate=${r-e}`:"";return 0===e?"private, no-cache, no-store, max-age=0, must-revalidate":"number"==typeof e?`s-maxage=${e}${i}`:`s-maxage=${t.CACHE_ONE_YEAR_SECONDS}${i}`}])},673897,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ReflectAdapter",{enumerable:!0,get:function(){return i}});class i{static get(e,t,r){let i=Reflect.get(e,t,r);return"function"==typeof i?i.bind(e):i}static set(e,t,r,i){return Reflect.set(e,t,r,i)}static has(e,t){return Reflect.has(e,t)}static deleteProperty(e,t){return Reflect.deleteProperty(e,t)}}},530446,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"NextResponse",{enumerable:!0,get:function(){return d}});let i=e.r(633225),n=e.r(291440),a=e.r(456116),s=e.r(673897),o=e.r(633225),l=Symbol("internal response"),c=new Set([301,302,303,307,308]);function u(e,t){var r;if(null==e||null==(r=e.request)?void 0:r.headers){if(!(e.request.headers instanceof Headers))throw Object.defineProperty(Error("request.headers must be an instance of Headers"),"__NEXT_ERROR_CODE",{value:"E119",enumerable:!1,configurable:!0});let r=[];for(let[i,n]of e.request.headers)t.set("x-middleware-request-"+i,n),r.push(i);t.set("x-middleware-override-headers",r.join(","))}}class d extends Response{constructor(e,t={}){super(e,t);const r=this.headers,c=new Proxy(new o.ResponseCookies(r),{get(e,n,a){switch(n){case"delete":case"set":return(...a)=>{let s=Reflect.apply(e[n],e,a),l=new Headers(r);return s instanceof o.ResponseCookies&&r.set("x-middleware-set-cookie",s.getAll().map(e=>(0,i.stringifyCookie)(e)).join(",")),u(t,l),s};default:return s.ReflectAdapter.get(e,n,a)}}});this[l]={cookies:c,url:t.url?new n.NextURL(t.url,{headers:(0,a.toNodeOutgoingHttpHeaders)(r),nextConfig:t.nextConfig}):void 0}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,url:this.url,body:this.body,bodyUsed:this.bodyUsed,headers:Object.fromEntries(this.headers),ok:this.ok,redirected:this.redirected,status:this.status,statusText:this.statusText,type:this.type}}get cookies(){return this[l].cookies}static json(e,t){let r=Response.json(e,t);return new d(r.body,r)}static redirect(e,t){let r="number"==typeof t?t:(null==t?void 0:t.status)??307;if(!c.has(r))throw Object.defineProperty(RangeError('Failed to execute "redirect" on "response": Invalid status code'),"__NEXT_ERROR_CODE",{value:"E529",enumerable:!1,configurable:!0});let i="object"==typeof t?t:{},n=new Headers(null==i?void 0:i.headers);return n.set("Location",(0,a.validateURL)(e)),new d(null,{...i,headers:n,status:r})}static rewrite(e,t){let r=new Headers(null==t?void 0:t.headers);return r.set("x-middleware-rewrite",(0,a.validateURL)(e)),u(t,r),new d(null,{...t,headers:r})}static next(e){let t=new Headers(null==e?void 0:e.headers);return t.set("x-middleware-next","1"),u(e,t),new d(null,{...e,headers:t})}}},306915,(e,t,r)=>{"use strict";function i(){throw Object.defineProperty(Error('ImageResponse moved from "next/server" to "next/og" since Next.js 14, please import from "next/og" instead'),"__NEXT_ERROR_CODE",{value:"E183",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageResponse",{enumerable:!0,get:function(){return i}})},955737,(e,t,r)=>{var i={226:function(t,r){!function(i){"use strict";var n="function",a="undefined",s="object",o="string",l="major",c="model",u="name",d="type",h="vendor",p="version",f="architecture",b="console",m="mobile",g="tablet",v="smarttv",w="wearable",y="embedded",x="Amazon",R="Apple",E="ASUS",_="BlackBerry",S="Browser",T="Chrome",N="Firefox",P="Google",C="Huawei",O="Microsoft",A="Motorola",k="Opera",j="Samsung",H="Sharp",M="Sony",q="Xiaomi",L="Zebra",I="Facebook",D="Chromium OS",$="Mac OS",U=function(e,t){var r={};for(var i in e)t[i]&&t[i].length%2==0?r[i]=t[i].concat(e[i]):r[i]=e[i];return r},B=function(e){for(var t={},r=0;r<e.length;r++)t[e[r].toUpperCase()]=e[r];return t},z=function(e,t){return typeof e===o&&-1!==X(t).indexOf(X(e))},X=function(e){return e.toLowerCase()},G=function(e,t){if(typeof e===o)return e=e.replace(/^\s\s*/,""),typeof t===a?e:e.substring(0,350)},F=function(e,t){for(var r,i,a,o,l,c,u=0;u<t.length&&!l;){var d=t[u],h=t[u+1];for(r=i=0;r<d.length&&!l&&d[r];)if(l=d[r++].exec(e))for(a=0;a<h.length;a++)c=l[++i],typeof(o=h[a])===s&&o.length>0?2===o.length?typeof o[1]==n?this[o[0]]=o[1].call(this,c):this[o[0]]=o[1]:3===o.length?typeof o[1]!==n||o[1].exec&&o[1].test?this[o[0]]=c?c.replace(o[1],o[2]):void 0:this[o[0]]=c?o[1].call(this,c,o[2]):void 0:4===o.length&&(this[o[0]]=c?o[3].call(this,c.replace(o[1],o[2])):void 0):this[o]=c||void 0;u+=2}},W=function(e,t){for(var r in t)if(typeof t[r]===s&&t[r].length>0){for(var i=0;i<t[r].length;i++)if(z(t[r][i],e))return"?"===r?void 0:r}else if(z(t[r],e))return"?"===r?void 0:r;return e},V={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},K={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[p,[u,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[p,[u,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[u,p],[/opios[\/ ]+([\w\.]+)/i],[p,[u,k+" Mini"]],[/\bopr\/([\w\.]+)/i],[p,[u,k]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[u,p],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[p,[u,"UC"+S]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i],[p,[u,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[p,[u,"WeChat"]],[/konqueror\/([\w\.]+)/i],[p,[u,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[p,[u,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[p,[u,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[u,/(.+)/,"$1 Secure "+S],p],[/\bfocus\/([\w\.]+)/i],[p,[u,N+" Focus"]],[/\bopt\/([\w\.]+)/i],[p,[u,k+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[p,[u,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[p,[u,"Dolphin"]],[/coast\/([\w\.]+)/i],[p,[u,k+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[p,[u,"MIUI "+S]],[/fxios\/([-\w\.]+)/i],[p,[u,N]],[/\bqihu|(qi?ho?o?|360)browser/i],[[u,"360 "+S]],[/(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i],[[u,/(.+)/,"$1 "+S],p],[/(comodo_dragon)\/([\w\.]+)/i],[[u,/_/g," "],p],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[u,p],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i,/\[(linkedin)app\]/i],[u],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[u,I],p],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[u,p],[/\bgsa\/([\w\.]+) .*safari\//i],[p,[u,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[p,[u,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[p,[u,T+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[u,T+" WebView"],p],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[p,[u,"Android "+S]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[u,p],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[p,[u,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[p,u],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[u,[p,W,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[u,p],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[u,"Netscape"],p],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[p,[u,N+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i,/panasonic;(viera)/i],[u,p],[/(cobalt)\/([\w\.]+)/i],[u,[p,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[f,"amd64"]],[/(ia32(?=;))/i],[[f,X]],[/((?:i[346]|x)86)[;\)]/i],[[f,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[f,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[f,"armhf"]],[/windows (ce|mobile); ppc;/i],[[f,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[f,/ower/,"",X]],[/(sun4\w)[;\)]/i],[[f,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[f,X]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[c,[h,j],[d,g]],[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[c,[h,j],[d,m]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[c,[h,R],[d,m]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[c,[h,R],[d,g]],[/(macintosh);/i],[c,[h,R]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[c,[h,H],[d,m]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[c,[h,C],[d,g]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[c,[h,C],[d,m]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[c,/_/g," "],[h,q],[d,m]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[c,/_/g," "],[h,q],[d,g]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[c,[h,"OPPO"],[d,m]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[c,[h,"Vivo"],[d,m]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[c,[h,"Realme"],[d,m]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[c,[h,A],[d,m]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[c,[h,A],[d,g]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[c,[h,"LG"],[d,g]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[c,[h,"LG"],[d,m]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[c,[h,"Lenovo"],[d,g]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[c,/_/g," "],[h,"Nokia"],[d,m]],[/(pixel c)\b/i],[c,[h,P],[d,g]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[c,[h,P],[d,m]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[c,[h,M],[d,m]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[c,"Xperia Tablet"],[h,M],[d,g]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[c,[h,"OnePlus"],[d,m]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[c,[h,x],[d,g]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[c,/(.+)/g,"Fire Phone $1"],[h,x],[d,m]],[/(playbook);[-\w\),; ]+(rim)/i],[c,h,[d,g]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[c,[h,_],[d,m]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[c,[h,E],[d,g]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[c,[h,E],[d,m]],[/(nexus 9)/i],[c,[h,"HTC"],[d,g]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[h,[c,/_/g," "],[d,m]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[c,[h,"Acer"],[d,g]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[c,[h,"Meizu"],[d,m]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[h,c,[d,m]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[h,c,[d,g]],[/(surface duo)/i],[c,[h,O],[d,g]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[c,[h,"Fairphone"],[d,m]],[/(u304aa)/i],[c,[h,"AT&T"],[d,m]],[/\bsie-(\w*)/i],[c,[h,"Siemens"],[d,m]],[/\b(rct\w+) b/i],[c,[h,"RCA"],[d,g]],[/\b(venue[\d ]{2,7}) b/i],[c,[h,"Dell"],[d,g]],[/\b(q(?:mv|ta)\w+) b/i],[c,[h,"Verizon"],[d,g]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[c,[h,"Barnes & Noble"],[d,g]],[/\b(tm\d{3}\w+) b/i],[c,[h,"NuVision"],[d,g]],[/\b(k88) b/i],[c,[h,"ZTE"],[d,g]],[/\b(nx\d{3}j) b/i],[c,[h,"ZTE"],[d,m]],[/\b(gen\d{3}) b.+49h/i],[c,[h,"Swiss"],[d,m]],[/\b(zur\d{3}) b/i],[c,[h,"Swiss"],[d,g]],[/\b((zeki)?tb.*\b) b/i],[c,[h,"Zeki"],[d,g]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[h,"Dragon Touch"],c,[d,g]],[/\b(ns-?\w{0,9}) b/i],[c,[h,"Insignia"],[d,g]],[/\b((nxa|next)-?\w{0,9}) b/i],[c,[h,"NextBook"],[d,g]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[h,"Voice"],c,[d,m]],[/\b(lvtel\-)?(v1[12]) b/i],[[h,"LvTel"],c,[d,m]],[/\b(ph-1) /i],[c,[h,"Essential"],[d,m]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[c,[h,"Envizen"],[d,g]],[/\b(trio[-\w\. ]+) b/i],[c,[h,"MachSpeed"],[d,g]],[/\btu_(1491) b/i],[c,[h,"Rotor"],[d,g]],[/(shield[\w ]+) b/i],[c,[h,"Nvidia"],[d,g]],[/(sprint) (\w+)/i],[h,c,[d,m]],[/(kin\.[onetw]{3})/i],[[c,/\./g," "],[h,O],[d,m]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[c,[h,L],[d,g]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[c,[h,L],[d,m]],[/smart-tv.+(samsung)/i],[h,[d,v]],[/hbbtv.+maple;(\d+)/i],[[c,/^/,"SmartTV"],[h,j],[d,v]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[h,"LG"],[d,v]],[/(apple) ?tv/i],[h,[c,R+" TV"],[d,v]],[/crkey/i],[[c,T+"cast"],[h,P],[d,v]],[/droid.+aft(\w)( bui|\))/i],[c,[h,x],[d,v]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[c,[h,H],[d,v]],[/(bravia[\w ]+)( bui|\))/i],[c,[h,M],[d,v]],[/(mitv-\w{5}) bui/i],[c,[h,q],[d,v]],[/Hbbtv.*(technisat) (.*);/i],[h,c,[d,v]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[h,G],[c,G],[d,v]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[d,v]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[h,c,[d,b]],[/droid.+; (shield) bui/i],[c,[h,"Nvidia"],[d,b]],[/(playstation [345portablevi]+)/i],[c,[h,M],[d,b]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[c,[h,O],[d,b]],[/((pebble))app/i],[h,c,[d,w]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[c,[h,R],[d,w]],[/droid.+; (glass) \d/i],[c,[h,P],[d,w]],[/droid.+; (wt63?0{2,3})\)/i],[c,[h,L],[d,w]],[/(quest( 2| pro)?)/i],[c,[h,I],[d,w]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[h,[d,y]],[/(aeobc)\b/i],[c,[h,x],[d,y]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[c,[d,m]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[c,[d,g]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[d,g]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[d,m]],[/(android[-\w\. ]{0,9});.+buil/i],[c,[h,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[p,[u,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[p,[u,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[u,p],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[p,u]],os:[[/microsoft (windows) (vista|xp)/i],[u,p],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[u,[p,W,V]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[u,"Windows"],[p,W,V]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/ios;fbsv\/([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[p,/_/g,"."],[u,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[u,$],[p,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[p,u],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[u,p],[/\(bb(10);/i],[p,[u,_]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[p,[u,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[p,[u,N+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[p,[u,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[p,[u,"watchOS"]],[/crkey\/([\d\.]+)/i],[p,[u,T+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[u,D],p],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[u,p],[/(sunos) ?([\w\.\d]*)/i],[[u,"Solaris"],p],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[u,p]]},Y=function(e,t){if(typeof e===s&&(t=e,e=void 0),!(this instanceof Y))return new Y(e,t).getResult();var r=typeof i!==a&&i.navigator?i.navigator:void 0,b=e||(r&&r.userAgent?r.userAgent:""),v=r&&r.userAgentData?r.userAgentData:void 0,w=t?U(K,t):K,y=r&&r.userAgent==b;return this.getBrowser=function(){var e,t={};return t[u]=void 0,t[p]=void 0,F.call(t,b,w.browser),t[l]=typeof(e=t[p])===o?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0,y&&r&&r.brave&&typeof r.brave.isBrave==n&&(t[u]="Brave"),t},this.getCPU=function(){var e={};return e[f]=void 0,F.call(e,b,w.cpu),e},this.getDevice=function(){var e={};return e[h]=void 0,e[c]=void 0,e[d]=void 0,F.call(e,b,w.device),y&&!e[d]&&v&&v.mobile&&(e[d]=m),y&&"Macintosh"==e[c]&&r&&typeof r.standalone!==a&&r.maxTouchPoints&&r.maxTouchPoints>2&&(e[c]="iPad",e[d]=g),e},this.getEngine=function(){var e={};return e[u]=void 0,e[p]=void 0,F.call(e,b,w.engine),e},this.getOS=function(){var e={};return e[u]=void 0,e[p]=void 0,F.call(e,b,w.os),y&&!e[u]&&v&&"Unknown"!=v.platform&&(e[u]=v.platform.replace(/chrome os/i,D).replace(/macos/i,$)),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return b},this.setUA=function(e){return b=typeof e===o&&e.length>350?G(e,350):e,this},this.setUA(b),this};if(Y.VERSION="1.0.35",Y.BROWSER=B([u,p,l]),Y.CPU=B([f]),Y.DEVICE=B([c,h,d,b,m,v,g,w,y]),Y.ENGINE=Y.OS=B([u,p]),typeof r!==a)t.exports&&(r=t.exports=Y),r.UAParser=Y;else if(typeof define===n&&define.amd)e.r,void 0!==Y&&e.v(Y);else typeof i!==a&&(i.UAParser=Y);var Z=typeof i!==a&&(i.jQuery||i.Zepto);if(Z&&!Z.ua){var Q=new Y;Z.ua=Q.getResult(),Z.ua.get=function(){return Q.getUA()},Z.ua.set=function(e){Q.setUA(e);var t=Q.getResult();for(var r in t)Z.ua[r]=t[r]}}}(this)}},n={};function a(e){var t=n[e];if(void 0!==t)return t.exports;var r=n[e]={exports:{}},s=!0;try{i[e].call(r.exports,r,r.exports,a),s=!1}finally{s&&delete n[e]}return r.exports}a.ab="/ROOT/tower/node_modules/.pnpm/next@16.2.1_@babel+core@7.29.0_@playwright+test@1.58.2_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/compiled/ua-parser-js/",t.exports=a(226)},745041,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var i,n={isBot:function(){return o},userAgent:function(){return c},userAgentFromString:function(){return l}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let s=(i=e.r(955737))&&i.__esModule?i:{default:i};function o(e){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Google-InspectionTool|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver|GPTBot/i.test(e)}function l(e){return{...(0,s.default)(e),isBot:void 0!==e&&o(e)}}function c({headers:e}){return l(e.get("user-agent")||void 0)}},816072,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"URLPattern",{enumerable:!0,get:function(){return i}});let i="u"<typeof URLPattern?void 0:URLPattern},78024,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"after",{enumerable:!0,get:function(){return n}});let i=e.r(556704);function n(e){let t=i.workAsyncStorage.getStore();if(!t)throw Object.defineProperty(Error("`after` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context"),"__NEXT_ERROR_CODE",{value:"E468",enumerable:!1,configurable:!0});let{afterContext:r}=t;return r.after(e)}},336442,(e,t,r)=>{"use strict";var i,n;Object.defineProperty(r,"__esModule",{value:!0}),i=e.r(78024),n=r,Object.keys(i).forEach(function(e){"default"===e||Object.prototype.hasOwnProperty.call(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:function(){return i[e]}})})},907410,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var i={isRequestAPICallableInsideAfter:function(){return c},throwForSearchParamsAccessInUseCache:function(){return l},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return o}};for(var n in i)Object.defineProperty(r,n,{enumerable:!0,get:i[n]});let a=e.r(653643),s=e.r(324725);function o(e,t){throw Object.defineProperty(new a.StaticGenBailoutError(`Route ${e} with \`dynamic = "error"\` couldn't be rendered statically because it used ${t}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function l(e,t){let r=Object.defineProperty(Error(`Route ${e.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(r,t),e.invalidDynamicUsageError??=r,r}function c(){let e=s.afterTaskAsyncStorage.getStore();return(null==e?void 0:e.rootTaskSpawnPhase)==="action"}},724029,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"connection",{enumerable:!0,get:function(){return u}});let i=e.r(556704),n=e.r(832319),a=e.r(571519),s=e.r(653643),o=e.r(354878),l=e.r(907410);e.r(728546);let c=e.r(212822);function u(){let e=i.workAsyncStorage.getStore(),t=n.workUnitAsyncStorage.getStore();if(e){if(t&&"after"===t.phase&&!(0,l.isRequestAPICallableInsideAfter)())throw Object.defineProperty(Error(`Route ${e.route} used \`connection()\` inside \`after()\`. The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual Request, but \`after()\` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E827",enumerable:!1,configurable:!0});if(e.forceStatic)return Promise.resolve(void 0);if(e.dynamicShouldError)throw Object.defineProperty(new s.StaticGenBailoutError(`Route ${e.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`connection()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E847",enumerable:!1,configurable:!0});if(t)switch(t.type){case"cache":{let t=Object.defineProperty(Error(`Route ${e.route} used \`connection()\` inside "use cache". The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual request, but caches must be able to be produced before a request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E841",enumerable:!1,configurable:!0});throw Error.captureStackTrace(t,u),e.invalidDynamicUsageError??=t,t}case"private-cache":{let t=Object.defineProperty(Error(`Route ${e.route} used \`connection()\` inside "use cache: private". The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual navigation request, but caches must be able to be produced before a navigation request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E837",enumerable:!1,configurable:!0});throw Error.captureStackTrace(t,u),e.invalidDynamicUsageError??=t,t}case"unstable-cache":throw Object.defineProperty(Error(`Route ${e.route} used \`connection()\` inside a function cached with \`unstable_cache()\`. The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual Request, but caches must be able to be produced before a Request so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E840",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${e.route} used \`connection()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1125",enumerable:!1,configurable:!0});case"prerender":case"prerender-client":case"prerender-runtime":return(0,o.makeHangingPromise)(t.renderSignal,e.route,"`connection()`");case"validation-client":{let e="`connection`";throw Object.defineProperty(new c.InvariantError(`${e} must not be used within a Client Component. Next.js should be preventing ${e} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1063",enumerable:!1,configurable:!0})}case"prerender-ppr":return(0,a.postponeWithTracking)(e.route,"connection",t.dynamicTracking);case"prerender-legacy":return(0,a.throwToInterruptStaticGeneration)("connection",e,t);case"request":if((0,a.trackDynamicDataInDynamicRender)(t),t.asyncApiPromises)return t.asyncApiPromises.connection;return Promise.resolve(void 0)}}(0,n.throwForMissingRequestStore)("connection")}},298600,(e,t,r)=>{let i={NextRequest:e.r(410844).NextRequest,NextResponse:e.r(530446).NextResponse,ImageResponse:e.r(306915).ImageResponse,userAgentFromString:e.r(745041).userAgentFromString,userAgent:e.r(745041).userAgent,URLPattern:e.r(816072).URLPattern,after:e.r(336442).after,connection:e.r(724029).connection};t.exports=i,r.NextRequest=i.NextRequest,r.NextResponse=i.NextResponse,r.ImageResponse=i.ImageResponse,r.userAgentFromString=i.userAgentFromString,r.userAgent=i.userAgent,r.URLPattern=i.URLPattern,r.after=i.after,r.connection=i.connection}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0miy2g.._.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}])},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"}}])},704527,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),x=e.i(431732),h=e.i(899284),v=e.i(104600),f=e.i(193695);e.i(792325);var g=e.i(27732),m=e.i(902157),R=e.i(750227),w=e.i(298600),y=e.i(985726),E=e.i(685371);let j=/^c[a-z0-9]{20,30}$/,C=/^[a-zA-Z0-9_\-\.]{1,128}\.(png|jpg|jpeg|gif|webp|pdf|txt|md|json|svg)$/i;async function A(e,{params:t}){let r,a=(0,y.requireLocalhost)(e);if(a)return a;let{projectId:n,filename:s}=await t;if(!j.test(n)||!C.test(s))return w.NextResponse.json({error:"Invalid path"},{status:400});let{resolved:o,error:i}=(0,E.resolveAssetPath)(n,s);if(i||!o)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(),d=E.MIME_MAP[l]??"application/octet-stream";return new Response(new Uint8Array(r),{status:200,headers:{"Content-Type":d,"Cache-Control":"private, max-age=3600"}})}e.s(["GET",0,A,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],980513);var N=e.i(980513);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/internal/assets/[projectId]/[filename]/route",pathname:"/api/internal/assets/[projectId]/[filename]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/tower/src/app/api/internal/assets/[projectId]/[filename]/route.ts",nextConfigOutput:"",userland:N}),{workAsyncStorage:I,workUnitAsyncStorage:S,serverHooks:q}=b;async function P(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/internal/assets/[projectId]/[filename]/route";m=m.replace(/\/index$/,"")||"/";let R=await b.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:j,isDraftMode:C,prerenderManifest:A,routerServerContext:N,isOnDemandRevalidate:I,revalidateOnlyGenerated:S,resolvedPathname:q,clientReferenceManifest:P,serverActionsManifest:T}=R,k=(0,i.normalizeAppPath)(m),_=!!(A.dynamicRoutes[k]||A.routes[q]),O=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,j,!1):t.end("This page could not be found"),null);if(_&&!C){let e=!!A.routes[q],t=A.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await O();throw new f.NoFallbackError}}let M=null;!_||b.isDev||C||(M="/index"===(M=q)?"/":M);let H=!0===b.isDev||!_,U=_&&!H;T&&P&&(0,o.setManifestsSingleton)({page:m,clientReferenceManifest:P,serverActionsManifest:T});let D=e.method||"GET",$=(0,s.getTracer)(),F=$.getActiveScopeSpan(),K=!!(null==N?void 0:N.isWrappedByNextServer),L=!!(0,n.getRequestMeta)(e,"minimalMode"),B=(0,n.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,E,A,L);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let W={params:y,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:H,incrementalCache:B,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>b.onRequestError(e,t,a,n,N)},sharedContext:{buildId:w}},z=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),V=d.NextRequestAdapter.fromNodeNextRequest(z,(0,d.signalFromNodeResponse)(t));try{let n,o=async e=>b.handle(V,W).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 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),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${D} ${m}`)}),i=async n=>{var s,i;let l=async({previousCacheEntry:r})=>{try{if(!L&&I&&S&&!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(!_)return await (0,c.sendResponse)(z,G,s,W.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,x.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!==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:g.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 b.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,N),t}},d=await b.handleResponse({req:e,nextConfig:E,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:S,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:L});if(!_)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==g.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",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,x.fromNodeOutgoingHttpHeaders)(d.value.headers);return L&&_||u.delete(v.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(z,G,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};K&&F?await i(F):(n=$.getActiveScopeSpan(),await $.withPropagatedContext(e.headers,()=>$.trace(u.BaseServerSpan.handleRequest,{spanName:`${D} ${m}`,kind:s.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},i),void 0,!K))}catch(t){if(t instanceof f.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,N),_)throw t;return await (0,c.sendResponse)(z,G,new Response(null,{status:500})),null}}e.s(["handler",0,P,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:I,workUnitAsyncStorage:S})},"routeModule",0,b,"serverHooks",0,q,"workAsyncStorage",0,I,"workUnitAsyncStorage",0,S],704527)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0mt-eeb._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[140166,t=>t.a(async(e,a)=>{try{let e=await t.y("ws-af4a48e9f54389c5");t.n(e),a()}catch(t){a(t)}},!0),504446,(t,e,a)=>{e.exports=t.x("net",()=>require("net"))},17520,t=>t.a(async(e,a)=>{try{var n=t.i(140166);t.i(112310),t.i(451724);var r=e([n]);[n]=r.then?(await r)():r;let i=new Set,o=globalThis;t.s(["broadcastNotification",0,function(t){let e=JSON.stringify(t);for(let t of i)t.readyState===n.WebSocket.OPEN&&t.send(e)},"getActiveWsPort",0,function(){return o.__wsPort??null}]),a()}catch(t){a(t)}},!1)];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0n-6-hc._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[477714,(e,r,t)=>{r.exports=e.x("@prisma/client-44bae9bb3052ac14",()=>require("@prisma/client-44bae9bb3052ac14"))},233405,(e,r,t)=>{r.exports=e.x("child_process",()=>require("child_process"))},60290,e=>{"use strict";var r=e.i(477714);let t=globalThis.prisma??new r.PrismaClient({log:[]}),a=!1;async function n(){return a||(await t.$connect(),await t.$queryRaw`PRAGMA journal_mode=WAL`,await t.$queryRaw`PRAGMA busy_timeout=5000`,a=!0),t}process.on("SIGTERM",()=>{t.$disconnect().catch(()=>{})}),process.on("SIGINT",()=>{t.$disconnect().catch(()=>{})}),e.s(["db",0,t,"initDb",0,n])},667883,e=>{"use strict";var r=e.i(233405),t=e.i(60290);function a(e,r,t,a){let n=new Date().toISOString(),o=`[${n}] ${e.toUpperCase()} [${r}] ${t}`;return a&&Object.keys(a).length>0?`${o} ${JSON.stringify(a)}`:o}let n=({create:function(e){return{info(r,t){console.log(a("info",e,r,t))},warn(r,t){console.warn(a("warn",e,r,t))},error(r,t,n){console.error(a("error",e,r,t instanceof Error?{...n,error:t.message,stack:t.stack}:{...n,error:String(t)}))}}},info(e,r){console.log(a("info","app",e,r))},warn(e,r){console.warn(a("warn","app",e,r))},error(e,r,t){console.error(a("error","app",e,r instanceof Error?{...t,error:r.message,stack:r.stack}:{...t,error:String(r)}))}}).create("instrumentation");async function o(){try{await (0,t.initDb)();let e=await t.db.taskExecution.updateMany({where:{status:"RUNNING"},data:{status:"FAILED",endedAt:new Date}});e.count>0&&n.warn(`Cleaned up ${e.count} stale RUNNING execution(s)`)}catch(e){n.error("Stale execution cleanup failed",e)}}async function i(){try{await (0,t.initDb)();let{TOWER_LABEL_NAME:r,TOWER_LABEL_COLOR:a}=await e.A(810361);await t.db.label.findFirst({where:{name:r,isBuiltin:!0}})||(await t.db.label.create({data:{name:r,color:a,isBuiltin:!0}}),n.info("Created builtin Tower label"))}catch(e){n.error("Failed to ensure Tower label",e)}}async function c(){try{for(let e of(await (0,t.initDb)(),await t.db.project.findMany({where:{type:"GIT",localPath:{not:null}},select:{id:!0,localPath:!0,name:!0}})))try{(0,r.execFileSync)("git",["worktree","prune"],{cwd:e.localPath,encoding:"utf-8",timeout:1e4})}catch(r){n.error(`git worktree prune failed for "${e.name}"`,r,{localPath:e.localPath})}}catch(e){n.error("Worktree prune startup task failed",e)}}e.s(["cleanupStaleExecutions",0,o,"ensureTowerLabel",0,i,"pruneOrphanedWorktrees",0,c],667883)},810361,e=>{e.v(r=>Promise.all(["server/chunks/tower_src_lib_constants_ts_0cxd4.p._.js"].map(r=>e.l(r))).then(()=>r(154831)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0nur_ir._.js.map
@@ -0,0 +1,20 @@
1
+ module.exports=[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"))},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]"],s=new Set(["127.0.0.1","::1","::ffff:127.0.0.1"]),o=/^c[a-z0-9]{20,30}$/;e.s(["requireLocalhost",0,function(e){let o=e.headers.get("x-forwarded-for");if(o&&!o.split(",").map(e=>e.trim()).every(e=>s.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 o.test(e)?null:t.NextResponse.json({error:"Invalid projectId format"},{status:400})},"validateTaskId",0,function(e){return o.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),s=e.i(660526),o=e.i(902157);function n(){return t||(t=(0,r.join)((0,s.homedir)(),".tower"),(0,o.existsSync)(t)||(0,o.mkdirSync)(t,{recursive:!0})),t}e.s(["getAssistantDir",0,function(){let e=(0,r.join)(n(),"assistant");return(0,o.existsSync)(e)||(0,o.mkdirSync)(e,{recursive:!0}),e},"getStorageDir",0,function(){let e=(0,r.join)(n(),"storage");return(0,o.existsSync)(e)||(0,o.mkdirSync)(e,{recursive:!0}),e}])},464525,e=>{"use strict";var t=e.i(522734),r=e.i(814747),s=e.i(446786),o=e.i(278428);let n=`# 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
+ `;e.s(["ensureTowerDir",0,function(){let e=(0,o.getAssistantDir)(),a=(0,r.join)(e,"CLAUDE.md"),i=process.cwd(),l=(0,r.join)(i,"skills","tower","SKILL.md"),d=(0,r.join)(e,".claude","skills","tower"),u=(0,r.join)(d,"SKILL.md");return(0,t.existsSync)(a)||((0,t.writeFileSync)(a,n,"utf-8"),console.error(`[init-tower] Created ${a}`)),(0,t.existsSync)(l)&&!(0,t.existsSync)(u)&&((0,t.mkdirSync)(d,{recursive:!0}),(0,t.copyFileSync)(l,u),console.error(`[init-tower] Copied SKILL.md → ${d}`)),function(){let e=(0,r.join)((0,s.homedir)(),".claude","settings.json"),o=process.cwd().replace(/\\/g,"/"),n={};try{n=JSON.parse((0,t.readFileSync)(e,"utf-8"))}catch{}let a=n.hooks??{},i=!1,l=a.SessionStart??[];if(!l.some(e=>e.hooks?.some(e=>e.command?.includes("session-start-hook.js")))){let e=(0,r.join)(o,"scripts","session-start-hook.js").replace(/\\/g,"/");l.push({hooks:[{command:`node "${e}"`,timeout:5,type:"command"}]}),a.SessionStart=l,i=!0,console.error("[init-tower] Installed SessionStart hook")}let d=a.PostToolUse??[];if(!d.some(e=>e.hooks?.some(e=>e.command?.includes("post-tool-hook.js")))){let e=(0,r.join)(o,"scripts","post-tool-hook.js").replace(/\\/g,"/");d.push({hooks:[{command:`node "${e}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"}),a.PostToolUse=d,i=!0,console.error("[init-tower] Installed PostToolUse hook")}let u=a.Stop??[];if(!u.some(e=>e.hooks?.some(e=>e.command?.includes("stop-hook.js")))){let e=(0,r.join)(o,"scripts","stop-hook.js").replace(/\\/g,"/");u.push({hooks:[{command:`node "${e}"`,timeout:5,type:"command"}]}),a.Stop=u,i=!0,console.error("[init-tower] Installed Stop hook")}if(i){n.hooks=a;let o=(0,r.join)((0,s.homedir)(),".claude");(0,t.existsSync)(o)||(0,t.mkdirSync)(o,{recursive:!0}),(0,t.writeFileSync)(e,JSON.stringify(n,null,2),"utf-8")}}(),e}])},58532,e=>{"use strict";var t=e.i(958699),r=e.i(953193),s=e.i(314093),o=e.i(159515),n=e.i(952192),a=e.i(939747),i=e.i(348399),l=e.i(887426),d=e.i(626524),u=e.i(479201),c=e.i(336951),p=e.i(546302),h=e.i(431732),m=e.i(899284),x=e.i(104600),f=e.i(193695);e.i(792325);var g=e.i(27732),y=e.i(298600),v=e.i(985726),w=e.i(464525);function R(){return"u">typeof crypto&&crypto.randomUUID?crypto.randomUUID():`msg-${Date.now()}-${Math.random().toString(36).slice(2,9)}`}async function S(t){let r=(0,v.requireLocalhost)(t);if(r)return r;let s=t.nextUrl.searchParams.get("sessionId");if(!s)return y.NextResponse.json({error:"sessionId required"},{status:400});let o=(0,w.ensureTowerDir)();try{let{getSessionMessages:t}=await e.A(310068),r=await t(s,{dir:o}),n=function(e){let t=[];for(let s of e)switch(s.type){case"user":{var r;let e=s.message,o="string"==typeof e?.content?e.content:"";o.startsWith("/tower ")&&(o=o.slice(7));let n=o.match(/<command-args>([\s\S]*?)<\/command-args>/);n&&(o=n[1].trim()),o=o.replace(/\n---\nThe user has attached the following image\(s\)[\s\S]*$/,"").trim();let a=void(Array.isArray(r=e?.content)&&r.filter(e=>"image"===e.type&&e.source?.data).length);o&&t.push({id:R(),role:"user",content:o,imageFilenames:a});break}case"assistant":{let e=s.message,r=Array.isArray(e?.content)?e.content:[],o=r.filter(e=>"text"===e.type&&e.text).map(e=>e.text);for(let e of(o.length>0&&t.push({id:R(),role:"assistant",content:o.join("")}),r))"tool_use"===e.type&&e.name&&t.push({id:R(),role:"tool",content:JSON.stringify(e.input??{},null,2),toolName:e.name});break}case"system":{let e=s.message;e?.subtype==="tool_result"&&e.content&&t.push({id:R(),role:"tool",content:e.content,toolName:`${e.tool_name??"tool"} (result)`})}}return t}(r);return y.NextResponse.json({messages:n})}catch(t){let e=t instanceof Error?t.message:String(t);return console.error("[assistant-sessions] Error:",e),y.NextResponse.json({error:e},{status:500})}}e.s(["GET",0,S,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],840536);var k=e.i(840536);let j=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/internal/assistant/sessions/route",pathname:"/api/internal/assistant/sessions",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/tower/src/app/api/internal/assistant/sessions/route.ts",nextConfigOutput:"",userland:k}),{workAsyncStorage:E,workUnitAsyncStorage:C,serverHooks:A}=j;async function T(e,t,s){s.requestMeta&&(0,o.setRequestMeta)(e,s.requestMeta),j.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/internal/assistant/sessions/route";y=y.replace(/\/index$/,"")||"/";let v=await j.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:w,params:R,nextConfig:S,parsedUrl:k,isDraftMode:E,prerenderManifest:C,routerServerContext:A,isOnDemandRevalidate:T,revalidateOnlyGenerated:N,resolvedPathname:b,clientReferenceManifest:q,serverActionsManifest:_}=v,I=(0,i.normalizeAppPath)(y),P=!!(C.dynamicRoutes[I]||C.routes[b]),U=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,k,!1):t.end("This page could not be found"),null);if(P&&!E){let e=!!C.routes[b],t=C.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(S.adapterPath)return await U();throw new f.NoFallbackError}}let O=null;!P||j.isDev||E||(O="/index"===(O=b)?"/":O);let D=!0===j.isDev||!P,M=P&&!D;_&&q&&(0,a.setManifestsSingleton)({page:y,clientReferenceManifest:q,serverActionsManifest:_});let $=e.method||"GET",H=(0,n.getTracer)(),F=H.getActiveScopeSpan(),L=!!(null==A?void 0:A.isWrappedByNextServer),K=!!(0,o.getRequestMeta)(e,"minimalMode"),B=(0,o.getRequestMeta)(e,"incrementalCache")||await j.getIncrementalCache(e,S,C,K);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let W={params:R,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:D,incrementalCache:B,cacheLifeProfiles:S.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,o)=>j.onRequestError(e,t,s,o,A)},sharedContext:{buildId:w}},G=new l.NodeNextRequest(e),J=new l.NodeNextResponse(t),V=d.NextRequestAdapter.fromNodeNextRequest(G,(0,d.signalFromNodeResponse)(t));try{let o,a=async e=>j.handle(V,W).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")!==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 s=r.get("next.route");if(s){let t=`${$} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),o&&o!==e&&(o.setAttribute("http.route",s),o.updateName(t))}else e.updateName(`${$} ${y}`)}),i=async o=>{var n,i;let l=async({previousCacheEntry:r})=>{try{if(!K&&T&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await a(o);e.fetchMetrics=W.renderOpts.fetchMetrics;let i=W.renderOpts.pendingWaitUntil;i&&s.waitUntil&&(s.waitUntil(i),i=void 0);let l=W.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(G,J,n,W.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[x.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>=x.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,s=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await j.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:T})},!1,A),t}},d=await j.handleResponse({req:e,nextConfig:S,cacheKey:O,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:N,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:K});if(!P)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==g.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});K||t.setHeader("x-nextjs-cache",T?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return K&&P||u.delete(x.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,m.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(G,J,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};L&&F?await i(F):(o=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(u.BaseServerSpan.handleRequest,{spanName:`${$} ${y}`,kind:n.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},i),void 0,!L))}catch(t){if(t instanceof f.NoFallbackError||await j.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:T})},!1,A),P)throw t;return await (0,p.sendResponse)(G,J,new Response(null,{status:500})),null}}e.s(["handler",0,T,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:C})},"routeModule",0,j,"serverHooks",0,A,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,C],58532)},310068,e=>{e.v(t=>Promise.all(["server/chunks/[externals]__02xkqim._.js","server/chunks/03j-_@anthropic-ai_claude-agent-sdk_sdk_mjs_04597t~._.js"].map(t=>e.l(t))).then(()=>t(357807)))}];
19
+
20
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0pz60q-._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},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})}])},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"))},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 o=["CLAUDECODE","CLAUDE_CODE_ENTRYPOINT","CLAUDE_CODE_SESSION","CLAUDE_CODE_PARENT_SESSION"];async function i(e,t={}){let r=t.cwd??process.cwd(),a=t.env??process.env,o=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,o)?t:null}let l=a.PATH??a.Path??"",u=s(o)?";":":",d=l.split(u).filter(Boolean),c=s(o)?(a.PATHEXT??".EXE;.CMD;.BAT;.COM").split(";").filter(Boolean):[""],h=s(o)&&n.default.extname(e).length>0;for(let t of d)for(let r of s(o)?h?[n.default.join(t,e)]:c.map(r=>n.default.join(t,`${e}${r}`)):[n.default.join(t,e)])if(await p(r,o))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 i(e,r)??e,t,n,s)}function c(e,t,r,o){if(!s(o))return{command:e,args:t};let i=n.default.extname(e).toLowerCase();return".cmd"===i||".bat"===i||".com"===i?{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)?f():m()}async function m(){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),o=s.get(a)??0;s.set(a,o+1),o>0&&(a=`${a} (${o+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 f(){let e=[],t=[],r=await i("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 i("pwsh",{platform:"win32"});a&&e.push({name:"PowerShell",path:a});let o=process.env.windir??"C:\\WINDOWS",l=n.default.join(o,"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(o,"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 w(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 i("wt",{platform:e});return r&&t.push({name:"Windows Terminal",value:r}),t}return[]}e.s(["detectShells",0,h,"detectTerminalApps",0,w,"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,i,"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 o)delete t[e];return t}])},47533,e=>{"use strict";var t=e.i(902157),r=e.i(660526),n=e.i(750227),s=e.i(359703);let a=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];e.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(e){let t=[];e.profileArgs?.length&&t.push(...e.profileArgs),e.resumeSessionId?t.push("--resume",e.resumeSessionId):e.continueLatest?t.push("--continue"):e.prompt&&t.push(e.prompt);let r={...e.profileEnvVars??{},...e.envOverrides??{}};return{command:this.resolveCommand(),args:t,env:r}}buildEnvOverrides(e){let t={TOWER_TASK_ID:e.taskId,TOWER_TASK_TITLE:e.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:e.apiUrl};return e.callbackUrl&&(t.CALLBACK_URL=e.callbackUrl),t}async installHooks(e){let t=this.readSettings(),r=t.hooks??{},s=this.getPostToolUseArray(t);if(this.findTowerHookIndex(s)>=0)return;let a=n.join(process.cwd(),"scripts","post-tool-hook.js"),o={hooks:[{command:`node "${a}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"};t.hooks={...r,PostToolUse:[...s,o]},this.writeSettings(t)}async uninstallHooks(){let e=this.readSettings(),t=e.hooks??{},r=this.getPostToolUseArray(e).filter(e=>!e.hooks?.some(e=>e.command?.includes("post-tool-hook.js")));e.hooks={...t,PostToolUse:r},this.writeSettings(e)}async isHooksInstalled(){let e=this.readSettings(),t=this.getPostToolUseArray(e);return this.findTowerHookIndex(t)>=0}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:t}=await e.A(144264),{promisify:r}=await e.A(534777),n=r(t),s=this.resolveCommand(),{stdout:a}=await n(s,["--version"],{timeout:5e3});return a.trim()||null}catch{return null}}async getModels(){return a}getConfigDir(){return n.join(r.homedir(),".claude")}getSettingsPath(){return n.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return n.join(this.getConfigDir(),"projects")}resolveCommand(){return process.env.CLAUDE_CODE_PATH?process.env.CLAUDE_CODE_PATH:(0,s.resolveCommandPathSync)("claude")}readSettings(){try{return JSON.parse(t.readFileSync(this.getSettingsPath(),"utf-8"))}catch{return{}}}writeSettings(e){let r=this.getConfigDir();t.existsSync(r)||t.mkdirSync(r,{recursive:!0}),t.writeFileSync(this.getSettingsPath(),JSON.stringify(e,null,2),"utf-8")}getPostToolUseArray(e){let t=e.hooks;if(!t)return[];let r=t.PostToolUse;return Array.isArray(r)?r:[]}findTowerHookIndex(e){return e.findIndex(e=>e.hooks?.some(e=>e.command?.includes("post-tool-hook.js")))}}])},470856,e=>{"use strict";var t=e.i(958699),r=e.i(953193),n=e.i(314093),s=e.i(159515),a=e.i(952192),o=e.i(939747),i=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),m=e.i(899284),f=e.i(104600),v=e.i(193695);e.i(792325);var w=e.i(27732),g=e.i(298600),x=e.i(985726),y=e.i(750227);let E=new(e.i(47533)).ClaudeCliAdapter;async function A(e){let t=(0,x.requireLocalhost)(e);if(t)return t;let r=await E.isHooksInstalled(),n=y.join(process.cwd(),"scripts","post-tool-hook.js");return g.NextResponse.json({installed:r,hookPath:n})}async function C(e){let t=(0,x.requireLocalhost)(e);if(t)return t;let r=process.env.NEXTAUTH_URL??`http://localhost:${process.env.PORT??3e3}`;return await E.installHooks(r),g.NextResponse.json({success:!0})}async function R(e){let t=(0,x.requireLocalhost)(e);return t||(await E.uninstallHooks(),g.NextResponse.json({success:!0}))}e.s(["DELETE",0,R,"GET",0,A,"POST",0,C,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],214955);var T=e.i(214955);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/internal/hooks/install/route",pathname:"/api/internal/hooks/install",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/tower/src/app/api/internal/hooks/install/route.ts",nextConfigOutput:"",userland:T}),{workAsyncStorage:b,workUnitAsyncStorage:P,serverHooks:k}=S;async function _(e,t,n){n.requestMeta&&(0,s.setRequestMeta)(e,n.requestMeta),S.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/internal/hooks/install/route";g=g.replace(/\/index$/,"")||"/";let x=await S.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:y,params:E,nextConfig:A,parsedUrl:C,isDraftMode:R,prerenderManifest:T,routerServerContext:b,isOnDemandRevalidate:P,revalidateOnlyGenerated:k,resolvedPathname:_,clientReferenceManifest:j,serverActionsManifest:N}=x,O=(0,i.normalizeAppPath)(g),I=!!(T.dynamicRoutes[O]||T.routes[_]),D=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&&!R){let e=!!T.routes[_],t=T.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await D();throw new v.NoFallbackError}}let H=null;!I||S.isDev||R||(H="/index"===(H=_)?"/":H);let U=!0===S.isDev||!I,q=I&&!U;N&&j&&(0,o.setManifestsSingleton)({page:g,clientReferenceManifest:j,serverActionsManifest:N});let L=e.method||"GET",W=(0,a.getTracer)(),M=W.getActiveScopeSpan(),$=!!(null==b?void 0:b.isWrappedByNextServer),F=!!(0,s.getRequestMeta)(e,"minimalMode"),B=(0,s.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,A,T,F);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let K={params:E,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:U,incrementalCache:B,cacheLifeProfiles:A.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,s)=>S.onRequestError(e,t,n,s,b)},sharedContext:{buildId:y}},G=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let s,o=async e=>S.handle(V,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=W.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=`${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} ${g}`)}),i=async s=>{var a,i;let l=async({previousCacheEntry:r})=>{try{if(!F&&P&&k&&!r)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=K.renderOpts.fetchMetrics;let i=K.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let l=K.renderOpts.collectedTags;if(!I)return await (0,p.sendResponse)(G,X,a,K.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,n=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:w.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 S.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:P})},!1,b),t}},u=await S.handleResponse({req:e,nextConfig:A,cacheKey:H,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:k,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:F});if(!I)return null;if((null==u||null==(a=u.value)?void 0:a.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(i=u.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});F||t.setHeader("x-nextjs-cache",P?"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 F&&I||d.delete(f.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(G,X,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};$&&M?await i(M):(s=W.getActiveScopeSpan(),await W.withPropagatedContext(e.headers,()=>W.trace(d.BaseServerSpan.handleRequest,{spanName:`${L} ${g}`,kind:a.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},i),void 0,!$))}catch(t){if(t instanceof v.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:P})},!1,b),I)throw t;return await (0,p.sendResponse)(G,X,new Response(null,{status:500})),null}}e.s(["handler",0,_,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:P})},"routeModule",0,S,"serverHooks",0,k,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,P],470856)},144264,e=>{e.v(t=>Promise.all(["server/chunks/[externals]_child_process_0pwkpv9._.js"].map(t=>e.l(t))).then(()=>t(233405)))},534777,e=>{e.v(t=>Promise.all(["server/chunks/[externals]_util_0wtvqkc._.js"].map(t=>e.l(t))).then(()=>t(224361)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0q~5ya5._.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"))},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"))},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])},359703,e=>{"use strict";var t=e.i(902157),r=e.i(874533),n=e.i(750227);function a(e=process.platform){return"win32"===e}function s(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 o=["CLAUDECODE","CLAUDE_CODE_ENTRYPOINT","CLAUDE_CODE_SESSION","CLAUDE_CODE_PARENT_SESSION"];async function i(e,t={}){let r=t.cwd??process.cwd(),s=t.env??process.env,o=t.platform??process.platform;if(e.includes("/")||e.includes("\\")){let t=n.default.isAbsolute(e)?e:n.default.resolve(r,e);return await m(t,o)?t:null}let l=s.PATH??s.Path??"",p=a(o)?";":":",c=l.split(p).filter(Boolean),u=a(o)?(s.PATHEXT??".EXE;.CMD;.BAT;.COM").split(";").filter(Boolean):[""],d=a(o)&&n.default.extname(e).length>0;for(let t of c)for(let r of a(o)?d?[n.default.join(t,e)]:u.map(r=>n.default.join(t,`${e}${r}`)):[n.default.join(t,e)])if(await m(r,o))return r;return null}let l=e=>(0,r.execSync)(e,{encoding:"utf-8",timeout:5e3});function p(e,t=process.platform,r=l){if(n.default.extname(e)||e.includes("/")||e.includes("\\")||!a(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,a=r.platform??process.platform;return u(await i(e,r)??e,t,n,a)}function u(e,t,r,o){if(!a(o))return{command:e,args:t};let i=n.default.extname(e).toLowerCase();return".cmd"===i||".bat"===i||".com"===i?{command:r.ComSpec||"cmd.exe",args:["/d","/s","/c",[s(e),...t.map(s)].join(" ")]}:{command:e,args:t}}async function m(e,r=process.platform){try{return await t.promises.access(e,a(r)?t.constants.F_OK:t.constants.X_OK),!0}catch{return!1}}async function d(e=process.platform){return a(e)?h():f()}async function f(){try{let e=await t.promises.readFile("/etc/shells","utf-8"),r=[],a=new Map;for(let t of e.split("\n")){let e=t.replace(/#.*/,"").trim();if(!e||!e.startsWith("/")||!await m(e))continue;let s=n.default.basename(e),o=a.get(s)??0;a.set(s,o+1),o>0&&(s=`${s} (${o+1})`),r.push({name:s,path:e})}return r}catch{let e=[];for(let t of["/bin/zsh","/bin/bash","/bin/sh"])await m(t)&&e.push({name:n.default.basename(t),path:t});return e}}async function h(){let e=[],t=[],r=await i("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 a=process.env.USERPROFILE??"";for(let r of(a&&t.push(n.default.join(a,"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 m(r,"win32")){e.push({name:"Git Bash",path:r});break}let s=await i("pwsh",{platform:"win32"});s&&e.push({name:"PowerShell",path:s});let o=process.env.windir??"C:\\WINDOWS",l=n.default.join(o,"System32","WindowsPowerShell","v1.0","powershell.exe");await m(l,"win32")&&e.push({name:"Windows PowerShell",path:l});let p=process.env.ComSpec??n.default.join(o,"System32","cmd.exe");return await m(p,"win32")&&e.push({name:"Command Prompt",path:p}),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 b(e=process.platform){if("darwin"===e){let t=[];for(let r of x)await m(`/Applications/${r.bundleName}.app`,e)&&t.push({name:r.name,value:r.bundleName});return t}if(a(e)){let t=[],r=await i("wt",{platform:e});return r&&t.push({name:"Windows Terminal",value:r}),t}return[]}e.s(["detectShells",0,d,"detectTerminalApps",0,b,"ensurePathInEnv",0,function(e,t=process.platform){let r=a(t)?"Path":"PATH";return(e.PATH??e.Path??"").length>0?e:{...e,[r]:function(e=process.platform){return a(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,i,"resolveCommandPathSync",0,p,"resolveSpawnTarget",0,c,"resolveSpawnTargetSync",0,function(e,t,r=process.platform,n){return u(p(e,r,n),t,process.env,r)},"stripClaudeNestingEnv",0,function(e){let t={...e};for(let e of o)delete t[e];return t}])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0rpqx55._.js.map
@@ -0,0 +1,4 @@
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"))},985726,e=>{"use strict";var r=e.i(298600);let t=["localhost","127.0.0.1","[::1]"],s=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=>s.has(e)))return r.NextResponse.json({error:"Forbidden"},{status:403});let o=e.headers.get("host")??"";return t.some(e=>o.startsWith(e))?null:r.NextResponse.json({error:"Forbidden"},{status:403})},"validateProjectId",0,function(e){return n.test(e)?null:r.NextResponse.json({error:"Invalid projectId format"},{status:400})},"validateTaskId",0,function(e){return n.test(e)?null:r.NextResponse.json({error:"Invalid taskId format"},{status:400})}])},814747,(e,r,t)=>{r.exports=e.x("path",()=>require("path"))},446786,(e,r,t)=>{r.exports=e.x("os",()=>require("os"))},477714,(e,r,t)=>{r.exports=e.x("@prisma/client-44bae9bb3052ac14",()=>require("@prisma/client-44bae9bb3052ac14"))},750227,(e,r,t)=>{r.exports=e.x("node:path",()=>require("node:path"))},902157,(e,r,t)=>{r.exports=e.x("node:fs",()=>require("node:fs"))},874533,(e,r,t)=>{r.exports=e.x("node:child_process",()=>require("node:child_process"))},351032,(e,r,t)=>{r.exports=e.x("node-pty-17f56ec9e6acce49",()=>require("node-pty-17f56ec9e6acce49"))},140166,e=>e.a(async(r,t)=>{try{let r=await e.y("ws-af4a48e9f54389c5");e.n(r),t()}catch(e){t(e)}},!0),504446,(e,r,t)=>{r.exports=e.x("net",()=>require("net"))},333956,(e,r,t)=>{"use strict";r.exports=e.r(950820).vendored["react-rsc"].ReactServerDOMTurbopackServer},604719,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"registerServerReference",{enumerable:!0,get:function(){return s.registerServerReference}});let s=e.r(333956)},77129,(e,r,t)=>{"use strict";function s(e){for(let r=0;r<e.length;r++){let t=e[r];if("function"!=typeof t)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof t}.
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureServerEntryExports",{enumerable:!0,get:function(){return s}})},660526,(e,r,t)=>{r.exports=e.x("node:os",()=>require("node:os"))},278428,e=>{"use strict";let r;var t=e.i(750227),s=e.i(660526),n=e.i(902157);function o(){return r||(r=(0,t.join)((0,s.homedir)(),".tower"),(0,n.existsSync)(r)||(0,n.mkdirSync)(r,{recursive:!0})),r}e.s(["getAssistantDir",0,function(){let e=(0,t.join)(o(),"assistant");return(0,n.existsSync)(e)||(0,n.mkdirSync)(e,{recursive:!0}),e},"getStorageDir",0,function(){let e=(0,t.join)(o(),"storage");return(0,n.existsSync)(e)||(0,n.mkdirSync)(e,{recursive:!0}),e}])},666680,(e,r,t)=>{r.exports=e.x("node:crypto",()=>require("node:crypto"))},142300,e=>{"use strict";var r=e.i(666680),t=e.i(902157),s=e.i(750227);let n=(0,e.i(278428).getStorageDir)();function o(e){if(!e.startsWith(n+s.sep))throw Error("Path traversal detected")}let i=new Set(["image","screenshot","img","photo","picture","clipboard","paste","untitled"]);e.s(["buildCacheFilename",0,function(e,t){let n=s.basename(e,s.extname(e)),o=r.randomUUID().replace(/-/g,"").slice(0,8),a=n.toLowerCase();if(!n||i.has(a)||/^screenshot[\s_\-]/i.test(n))return`tower_image-${o}${t}`;let c=n.replace(/[^\p{L}\p{N}]/gu,"_").replace(/_+/g,"_").replace(/^_+|_+$/g,"");return`${c||"file"}-${o}${t}`},"ensureAssetsDir",0,function(e){let r,i=(o(r=s.join(n,"assets",e)),r);return t.mkdirSync(i,{recursive:!0}),i},"getAssistantCacheDir",0,function(e="images"){let r=new Date,i=`${r.getFullYear()}-${String(r.getMonth()+1).padStart(2,"0")}`,a=s.join(n,"cache","assistant",i,e);return o(a),t.mkdirSync(a,{recursive:!0}),a},"getAssistantCacheRoot",0,function(){let e=s.join(n,"cache","assistant");return o(e),e}])}];
3
+
4
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0sjsc63._.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"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},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}}])},339790,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),l=e.i(887426),d=e.i(626524),c=e.i(479201),u=e.i(336951),p=e.i(546302),f=e.i(431732),h=e.i(899284),m=e.i(104600),x=e.i(193695);e.i(792325);var g=e.i(27732),v=e.i(298600),R=e.i(48671),y=e.i(647085),w=e.i(233405),C=e.i(522734),b=e.i(814747),E=e.i(240930);async function k(e,{params:t}){let{taskId:r}=await t,i=R.z.string().cuid().safeParse(r);if(!i.success)return v.NextResponse.json({error:"Invalid task ID"},{status:400});try{let e,t,r=await y.db.task.findUnique({where:{id:i.data},include:{project:!0}});if(!r)return v.NextResponse.json({error:"Task not found"},{status:404});if(!r.project?.localPath)return v.NextResponse.json({error:"Project has no local path"},{status:400});let n=r.baseBranch||"main",a=r.project.localPath,s=await y.db.taskExecution.findFirst({where:{taskId:i.data},orderBy:{createdAt:"desc"}});if(!s)return v.NextResponse.json({files:[],totalAdded:0,totalRemoved:0,hasConflicts:!1,conflictFiles:[],commitCount:0});let o=s.forkCommit,l=s.mergeCommit,d=s.branchTipCommit,c=s.worktreeBranch,u=s.worktreePath;if(l&&o)e=a,t=`${o}..${d||l}`;else if(o&&u&&(0,C.existsSync)(u))e=u,t=o;else if(o&&!u)e=a,t=o;else if(!c)return v.NextResponse.json({files:[],totalAdded:0,totalRemoved:0,hasConflicts:!1,conflictFiles:[],commitCount:0});else try{let r=(0,w.execFileSync)("git",["merge-base",n,c],{cwd:a,encoding:"utf-8",timeout:5e3}).trim();e=u&&(0,C.existsSync)(u)?u:a,t=r}catch{return v.NextResponse.json({error:"Branch deleted",branchDeleted:!0,files:[],totalAdded:0,totalRemoved:0,hasConflicts:!1,conflictFiles:[],commitCount:0})}let p=(0,w.execFileSync)("git",["diff","--numstat",t],{cwd:e,encoding:"utf-8",timeout:3e4}),f=(0,w.execFileSync)("git",["diff","--unified=3",t],{cwd:e,encoding:"utf-8",timeout:3e4}),h=(0,E.parseDiffOutput)(p,f);if(!l&&u&&(0,C.existsSync)(u))try{let t=(0,w.execFileSync)("git",["ls-files","--others","--exclude-standard"],{cwd:e,encoding:"utf-8",timeout:5e3}).trim();if(t){for(let r of t.split("\n"))if(r)try{let t=b.default.join(e,r),i=(0,C.readFileSync)(t,"utf-8").split("\n");""===i[i.length-1]&&i.pop();let n=i.length,a=[`diff --git a/${r} b/${r}`,"new file mode 100644","--- /dev/null",`+++ b/${r}`,`@@ -0,0 +1,${n} @@`,...i.map(e=>`+${e}`)],s={filename:r,added:n,removed:0,isBinary:!1,patch:a.join("\n")};h.files.push(s),h.totalAdded+=n}catch{}}}catch{}let m=!1,x=[];!l&&c&&({hasConflicts:m,conflictFiles:x}=(0,E.checkConflicts)(a,n,c));let g=0;if(l&&o)try{let t=(0,w.execFileSync)("git",["rev-list","--count",`${o}..${d||l}`],{cwd:e,encoding:"utf-8",timeout:5e3}).trim();g=parseInt(t,10)||0}catch{}else if(o)try{let t=(0,w.execFileSync)("git",["rev-list","--count",`${o}..HEAD`],{cwd:e,encoding:"utf-8",timeout:5e3}).trim();g=parseInt(t,10)||0}catch{}else if(c)try{let e=(0,w.execFileSync)("git",["rev-list","--count",`${t}..${c}`],{cwd:a,encoding:"utf-8",timeout:5e3}).trim();g=parseInt(e,10)||0}catch{}let R=!1;if(u&&(0,C.existsSync)(u)&&!l)try{R=(0,w.execFileSync)("git",["status","--porcelain"],{cwd:u,encoding:"utf-8",timeout:5e3}).trim().length>0}catch{}return v.NextResponse.json({...h,hasConflicts:m,conflictFiles:x,commitCount:g,hasUncommitted:R})}catch(e){return console.error("[diff] Failed to generate diff:",e),v.NextResponse.json({error:"Failed to generate diff"},{status:500})}}e.s(["GET",0,k],268164);var S=e.i(268164);let A=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/tasks/[taskId]/diff/route",pathname:"/api/tasks/[taskId]/diff",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/tower/src/app/api/tasks/[taskId]/diff/route.ts",nextConfigOutput:"",userland:S}),{workAsyncStorage:N,workUnitAsyncStorage:j,serverHooks:I}=A;async function T(e,t,i){i.requestMeta&&(0,n.setRequestMeta)(e,i.requestMeta),A.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/tasks/[taskId]/diff/route";v=v.replace(/\/index$/,"")||"/";let R=await A.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==i.waitUntil||i.waitUntil.call(i,Promise.resolve()),null;let{buildId:y,params:w,nextConfig:C,parsedUrl:b,isDraftMode:E,prerenderManifest:k,routerServerContext:S,isOnDemandRevalidate:N,revalidateOnlyGenerated:j,resolvedPathname:I,clientReferenceManifest:T,serverActionsManifest:P}=R,q=(0,o.normalizeAppPath)(v),F=!!(k.dynamicRoutes[q]||k.routes[I]),O=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,b,!1):t.end("This page could not be found"),null);if(F&&!E){let e=!!k.routes[I],t=k.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(C.adapterPath)return await O();throw new x.NoFallbackError}}let $=null;!F||A.isDev||E||($="/index"===($=I)?"/":$);let _=!0===A.isDev||!F,D=F&&!_;P&&T&&(0,s.setManifestsSingleton)({page:v,clientReferenceManifest:T,serverActionsManifest:P});let H=e.method||"GET",M=(0,a.getTracer)(),U=M.getActiveScopeSpan(),B=!!(null==S?void 0:S.isWrappedByNextServer),K=!!(0,n.getRequestMeta)(e,"minimalMode"),L=(0,n.getRequestMeta)(e,"incrementalCache")||await A.getIncrementalCache(e,C,k,K);null==L||L.resetRequestCache(),globalThis.__incrementalCache=L;let G={params:w,previewProps:k.preview,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts},cacheComponents:!!C.cacheComponents,supportsDynamicResponse:_,incrementalCache:L,cacheLifeProfiles:C.cacheLife,waitUntil:i.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,i,n)=>A.onRequestError(e,t,i,n,S)},sharedContext:{buildId:y}},V=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let n,s=async e=>A.handle(X,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.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 i=r.get("next.route");if(i){let t=`${H} ${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(`${H} ${v}`)}),o=async n=>{var a,o;let l=async({previousCacheEntry:r})=>{try{if(!K&&N&&j&&!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=G.renderOpts.fetchMetrics;let o=G.renderOpts.pendingWaitUntil;o&&i.waitUntil&&(i.waitUntil(o),o=void 0);let l=G.renderOpts.collectedTags;if(!F)return await (0,p.sendResponse)(V,W,a,G.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,f.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,i=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:g.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 A.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:N})},!1,S),t}},d=await A.handleResponse({req:e,nextConfig:C,cacheKey:$,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:j,responseGenerator:l,waitUntil:i.waitUntil,isMinimalMode:K});if(!F)return null;if((null==d||null==(a=d.value)?void 0:a.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",N?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return K&&F||c.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(V,W,new Response(d.value.body,{headers:c,status:d.value.status||200})),null};B&&U?await o(U):(n=M.getActiveScopeSpan(),await M.withPropagatedContext(e.headers,()=>M.trace(c.BaseServerSpan.handleRequest,{spanName:`${H} ${v}`,kind:a.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},o),void 0,!B))}catch(t){if(t instanceof x.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:N})},!1,S),F)throw t;return await (0,p.sendResponse)(V,W,new Response(null,{status:500})),null}}e.s(["handler",0,T,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:j})},"routeModule",0,A,"serverHooks",0,I,"workAsyncStorage",0,N,"workUnitAsyncStorage",0,j],339790)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0th.w7w._.js.map