tower-studio 0.1.10 → 0.1.11

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 (644) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build/chunks/{0kjx__pnpm_05m.mc_._.js → 0-yb__pnpm_0dykqwq._.js} +167 -167
  3. package/.next/build/chunks/{[root-of-the-server]__13e2v6w._.js → [root-of-the-server]__01h52~y._.js} +3 -3
  4. package/.next/build/chunks/{[root-of-the-server]__0a5dngl._.js → [root-of-the-server]__097_v8t._.js} +7 -7
  5. package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0n5jxhz._.js +13 -0
  6. package/.next/build/chunks/[turbopack]_runtime.js +1 -1
  7. package/.next/build/postcss.js +4 -4
  8. package/.next/build-manifest.json +9 -9
  9. package/.next/cache/.previewinfo +1 -1
  10. package/.next/cache/.rscinfo +1 -1
  11. package/.next/diagnostics/route-bundle-stats.json +237 -237
  12. package/.next/fallback-build-manifest.json +3 -3
  13. package/.next/prerender-manifest.json +3 -3
  14. package/.next/required-server-files.js +3 -3
  15. package/.next/required-server-files.json +3 -3
  16. package/.next/server/app/_global-error/page/build-manifest.json +6 -6
  17. package/.next/server/app/_global-error/page.js +11 -11
  18. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  19. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  20. package/.next/server/app/_global-error.html +1 -1
  21. package/.next/server/app/_global-error.rsc +8 -8
  22. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  23. package/.next/server/app/_global-error.segments/_full.segment.rsc +8 -8
  24. package/.next/server/app/_global-error.segments/_head.segment.rsc +4 -4
  25. package/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  26. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  27. package/.next/server/app/_not-found/page/build-manifest.json +6 -6
  28. package/.next/server/app/_not-found/page/next-font-manifest.json +1 -1
  29. package/.next/server/app/_not-found/page/react-loadable-manifest.json +7 -7
  30. package/.next/server/app/_not-found/page/server-reference-manifest.json +80 -80
  31. package/.next/server/app/_not-found/page.js +19 -19
  32. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  33. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  34. package/.next/server/app/_not-found.html +1 -1
  35. package/.next/server/app/_not-found.rsc +13 -13
  36. package/.next/server/app/_not-found.segments/_full.segment.rsc +13 -13
  37. package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  38. package/.next/server/app/_not-found.segments/_index.segment.rsc +8 -8
  39. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  40. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  41. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  42. package/.next/server/app/api/adapters/test/route.js +8 -8
  43. package/.next/server/app/api/adapters/test/route.js.nft.json +1 -1
  44. package/.next/server/app/api/browse-fs/route.js +6 -6
  45. package/.next/server/app/api/browse-fs/route.js.nft.json +1 -1
  46. package/.next/server/app/api/files/assets/[projectId]/[filename]/route.js +6 -6
  47. package/.next/server/app/api/files/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  48. package/.next/server/app/api/git/route.js +6 -6
  49. package/.next/server/app/api/git/route.js.nft.json +1 -1
  50. package/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js +6 -6
  51. package/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js.nft.json +1 -1
  52. package/.next/server/app/api/internal/assets/reveal/route.js +6 -6
  53. package/.next/server/app/api/internal/assets/reveal/route.js.nft.json +1 -1
  54. package/.next/server/app/api/internal/assistant/chat/route.js +6 -6
  55. package/.next/server/app/api/internal/assistant/chat/route.js.nft.json +1 -1
  56. package/.next/server/app/api/internal/assistant/images/route.js +8 -8
  57. package/.next/server/app/api/internal/assistant/images/route.js.nft.json +1 -1
  58. package/.next/server/app/api/internal/assistant/route.js +6 -6
  59. package/.next/server/app/api/internal/assistant/route.js.nft.json +1 -1
  60. package/.next/server/app/api/internal/assistant/sessions/route.js +6 -6
  61. package/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +1 -1
  62. package/.next/server/app/api/internal/cache/[...segments]/route.js +6 -6
  63. package/.next/server/app/api/internal/cache/[...segments]/route.js.nft.json +1 -1
  64. package/.next/server/app/api/internal/hooks/install/route.js +6 -6
  65. package/.next/server/app/api/internal/hooks/install/route.js.nft.json +1 -1
  66. package/.next/server/app/api/internal/hooks/session/route.js +6 -6
  67. package/.next/server/app/api/internal/hooks/session/route.js.nft.json +1 -1
  68. package/.next/server/app/api/internal/hooks/stop/route.js +7 -7
  69. package/.next/server/app/api/internal/hooks/stop/route.js.nft.json +1 -1
  70. package/.next/server/app/api/internal/hooks/upload/route.js +6 -6
  71. package/.next/server/app/api/internal/hooks/upload/route.js.nft.json +1 -1
  72. package/.next/server/app/api/internal/notifications/pending/route.js +6 -6
  73. package/.next/server/app/api/internal/notifications/pending/route.js.nft.json +1 -1
  74. package/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js +7 -7
  75. package/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js.nft.json +1 -1
  76. package/.next/server/app/api/internal/terminal/[taskId]/input/route.js +7 -7
  77. package/.next/server/app/api/internal/terminal/[taskId]/input/route.js.nft.json +1 -1
  78. package/.next/server/app/api/internal/terminal/[taskId]/start/route.js +9 -9
  79. package/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +1 -1
  80. package/.next/server/app/api/tasks/[taskId]/diff/route.js +7 -7
  81. package/.next/server/app/api/tasks/[taskId]/diff/route.js.nft.json +1 -1
  82. package/.next/server/app/api/tasks/[taskId]/merge/route.js +8 -8
  83. package/.next/server/app/api/tasks/[taskId]/merge/route.js.nft.json +1 -1
  84. package/.next/server/app/apple-icon.png/route.js +6 -6
  85. package/.next/server/app/apple-icon.png/route.js.nft.json +1 -1
  86. package/.next/server/app/favicon.ico/route.js +6 -6
  87. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  88. package/.next/server/app/icon0.svg/route.js +6 -6
  89. package/.next/server/app/icon0.svg/route.js.nft.json +1 -1
  90. package/.next/server/app/icon1.png/route.js +6 -6
  91. package/.next/server/app/icon1.png/route.js.nft.json +1 -1
  92. package/.next/server/app/index.html +1 -1
  93. package/.next/server/app/index.rsc +13 -13
  94. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  95. package/.next/server/app/index.segments/_full.segment.rsc +13 -13
  96. package/.next/server/app/index.segments/_head.segment.rsc +4 -4
  97. package/.next/server/app/index.segments/_index.segment.rsc +8 -8
  98. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  99. package/.next/server/app/manifest.json/route.js +6 -6
  100. package/.next/server/app/manifest.json/route.js.nft.json +1 -1
  101. package/.next/server/app/missions/page/build-manifest.json +6 -6
  102. package/.next/server/app/missions/page/next-font-manifest.json +1 -1
  103. package/.next/server/app/missions/page/react-loadable-manifest.json +7 -7
  104. package/.next/server/app/missions/page/server-reference-manifest.json +146 -146
  105. package/.next/server/app/missions/page.js +21 -21
  106. package/.next/server/app/missions/page.js.nft.json +1 -1
  107. package/.next/server/app/missions/page_client-reference-manifest.js +1 -1
  108. package/.next/server/app/onboarding/page/build-manifest.json +6 -6
  109. package/.next/server/app/onboarding/page/next-font-manifest.json +1 -1
  110. package/.next/server/app/onboarding/page/react-loadable-manifest.json +7 -7
  111. package/.next/server/app/onboarding/page/server-reference-manifest.json +80 -80
  112. package/.next/server/app/onboarding/page.js +20 -20
  113. package/.next/server/app/onboarding/page.js.nft.json +1 -1
  114. package/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  115. package/.next/server/app/onboarding.html +1 -1
  116. package/.next/server/app/onboarding.rsc +15 -15
  117. package/.next/server/app/onboarding.segments/_full.segment.rsc +15 -15
  118. package/.next/server/app/onboarding.segments/_head.segment.rsc +4 -4
  119. package/.next/server/app/onboarding.segments/_index.segment.rsc +8 -8
  120. package/.next/server/app/onboarding.segments/_tree.segment.rsc +1 -1
  121. package/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
  122. package/.next/server/app/onboarding.segments/onboarding.segment.rsc +3 -3
  123. package/.next/server/app/page/build-manifest.json +6 -6
  124. package/.next/server/app/page/next-font-manifest.json +1 -1
  125. package/.next/server/app/page/react-loadable-manifest.json +7 -7
  126. package/.next/server/app/page/server-reference-manifest.json +80 -80
  127. package/.next/server/app/page.js +20 -20
  128. package/.next/server/app/page.js.nft.json +1 -1
  129. package/.next/server/app/page_client-reference-manifest.js +1 -1
  130. package/.next/server/app/settings/page/build-manifest.json +6 -6
  131. package/.next/server/app/settings/page/next-font-manifest.json +1 -1
  132. package/.next/server/app/settings/page/react-loadable-manifest.json +7 -7
  133. package/.next/server/app/settings/page/server-reference-manifest.json +116 -116
  134. package/.next/server/app/settings/page.js +20 -20
  135. package/.next/server/app/settings/page.js.nft.json +1 -1
  136. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  137. package/.next/server/app/settings.html +1 -1
  138. package/.next/server/app/settings.rsc +15 -15
  139. package/.next/server/app/settings.segments/_full.segment.rsc +15 -15
  140. package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  141. package/.next/server/app/settings.segments/_index.segment.rsc +8 -8
  142. package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  143. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
  144. package/.next/server/app/settings.segments/settings.segment.rsc +3 -3
  145. package/.next/server/app/workspaces/[workspaceId]/archive/page/build-manifest.json +6 -6
  146. package/.next/server/app/workspaces/[workspaceId]/archive/page/next-font-manifest.json +1 -1
  147. package/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +7 -7
  148. package/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +200 -200
  149. package/.next/server/app/workspaces/[workspaceId]/archive/page.js +20 -20
  150. package/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
  151. package/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
  152. package/.next/server/app/workspaces/[workspaceId]/assets/page/build-manifest.json +6 -6
  153. package/.next/server/app/workspaces/[workspaceId]/assets/page/next-font-manifest.json +1 -1
  154. package/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +7 -7
  155. package/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +176 -176
  156. package/.next/server/app/workspaces/[workspaceId]/assets/page.js +20 -20
  157. package/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
  158. package/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
  159. package/.next/server/app/workspaces/[workspaceId]/notes/page/build-manifest.json +6 -6
  160. package/.next/server/app/workspaces/[workspaceId]/notes/page/next-font-manifest.json +1 -1
  161. package/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +7 -7
  162. package/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +158 -158
  163. package/.next/server/app/workspaces/[workspaceId]/notes/page.js +20 -20
  164. package/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
  165. package/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
  166. package/.next/server/app/workspaces/[workspaceId]/page/build-manifest.json +6 -6
  167. package/.next/server/app/workspaces/[workspaceId]/page/next-font-manifest.json +1 -1
  168. package/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +7 -7
  169. package/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +192 -192
  170. package/.next/server/app/workspaces/[workspaceId]/page.js +21 -21
  171. package/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
  172. package/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
  173. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/build-manifest.json +6 -6
  174. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/next-font-manifest.json +1 -1
  175. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +7 -7
  176. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +80 -80
  177. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js +20 -20
  178. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
  179. package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  180. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/build-manifest.json +6 -6
  181. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/next-font-manifest.json +1 -1
  182. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +10 -10
  183. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +200 -200
  184. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js +22 -22
  185. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
  186. package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
  187. package/.next/server/app/workspaces/page/build-manifest.json +6 -6
  188. package/.next/server/app/workspaces/page/next-font-manifest.json +1 -1
  189. package/.next/server/app/workspaces/page/react-loadable-manifest.json +7 -7
  190. package/.next/server/app/workspaces/page/server-reference-manifest.json +122 -122
  191. package/.next/server/app/workspaces/page.js +20 -20
  192. package/.next/server/app/workspaces/page.js.nft.json +1 -1
  193. package/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
  194. package/.next/server/chunks/04uy__next-internal_server_app_api_internal_assets_reveal_route_actions_0znebp..js +3 -0
  195. package/.next/server/chunks/04uy__next-internal_server_app_api_internal_assistant_chat_route_actions_00gjtz_.js +3 -0
  196. package/.next/server/chunks/04uy__next-internal_server_app_api_internal_assistant_images_route_actions_0.n5t~i.js +3 -0
  197. package/.next/server/chunks/04uy__next-internal_server_app_api_internal_assistant_sessions_route_actions_0-fm7rx.js +3 -0
  198. package/.next/server/chunks/04uy__next-internal_server_app_api_internal_hooks_install_route_actions_0l972g~.js +3 -0
  199. package/.next/server/chunks/04uy__next-internal_server_app_api_internal_hooks_session_route_actions_0.suzi1.js +3 -0
  200. package/.next/server/chunks/0afp_server_app_api_files_assets_[projectId]_[filename]_route_actions_0-awt9r.js +3 -0
  201. package/.next/server/chunks/0afp_server_app_api_internal_assets_[projectId]_[filename]_route_actions_0t6ek0w.js +3 -0
  202. package/.next/server/chunks/0afp_server_app_api_internal_notifications_pending_route_actions_0f-e1l..js +3 -0
  203. package/.next/server/chunks/0afp_server_app_api_internal_terminal_[taskId]_buffer_route_actions_0m0i0r_.js +3 -0
  204. package/.next/server/chunks/0afp_server_app_api_internal_terminal_[taskId]_input_route_actions_0w_hflw.js +3 -0
  205. package/.next/server/chunks/0afp_server_app_api_internal_terminal_[taskId]_start_route_actions_0tci.x0.js +3 -0
  206. package/.next/server/chunks/{03j-_@anthropic-ai_claude-agent-sdk_sdk_mjs_04597t~._.js → 0b0n_@anthropic-ai_claude-agent-sdk_sdk_mjs_0wzx_-c._.js} +2 -2
  207. package/.next/server/chunks/0l2w_next-internal_server_app_api_internal_cache_[___segments]_route_actions_0s95wfk.js +3 -0
  208. package/.next/server/chunks/0u0h_tower__next-internal_server_app_api_internal_hooks_upload_route_actions_10hulej.js +3 -0
  209. package/.next/server/chunks/0u0h_tower__next-internal_server_app_api_tasks_[taskId]_merge_route_actions_02facil.js +3 -0
  210. package/.next/server/chunks/{10ge_next_dist_08.3req._.js → 0uz~_next_dist_0auh~z2._.js} +3 -3
  211. package/.next/server/chunks/{10ge_next_dist_esm_build_templates_app-route_0liabcf.js → 0uz~_next_dist_esm_build_templates_app-route_0.k256s.js} +2 -2
  212. package/.next/server/chunks/0uz~_next_dist_esm_build_templates_app-route_05yec2y.js +4 -0
  213. package/.next/server/chunks/0uz~_next_dist_esm_build_templates_app-route_06vryvz.js +3 -0
  214. package/.next/server/chunks/0uz~_next_dist_esm_build_templates_app-route_0q64.kc.js +3 -0
  215. package/.next/server/chunks/{10ge_next_dist_esm_build_templates_app-route_0jwpolf.js → 0uz~_next_dist_esm_build_templates_app-route_0s-fzhv.js} +2 -2
  216. package/.next/server/chunks/0uz~_next_dist_esm_build_templates_app-route_12y4scn.js +3 -0
  217. package/.next/server/chunks/0y0r_f_tower__next-internal_server_app_api_adapters_test_route_actions_0i51gzp.js +3 -0
  218. package/.next/server/chunks/0y0r_f_tower__next-internal_server_app_api_internal_assistant_route_actions_0n4kn0g.js +3 -0
  219. package/.next/server/chunks/0y0r_f_tower__next-internal_server_app_api_internal_hooks_stop_route_actions_0tddg8n.js +3 -0
  220. package/.next/server/chunks/0y0r_f_tower__next-internal_server_app_api_tasks_[taskId]_diff_route_actions_0ric8cc.js +3 -0
  221. package/.next/server/chunks/121__zod_v4_classic_external_0~18d66.js +39 -0
  222. package/.next/server/chunks/[root-of-the-server]__0.9.bkp._.js +3 -0
  223. package/.next/server/chunks/[root-of-the-server]__003.cao._.js +3 -0
  224. package/.next/server/chunks/{[root-of-the-server]__11v.yk_._.js → [root-of-the-server]__02~bq0q._.js} +3 -3
  225. package/.next/server/chunks/[root-of-the-server]__05i_6jl._.js +3 -0
  226. package/.next/server/chunks/[root-of-the-server]__05mc_xk._.js +3 -0
  227. package/.next/server/chunks/[root-of-the-server]__06zd8x0._.js +3 -0
  228. package/.next/server/chunks/[root-of-the-server]__07_t6ha._.js +3 -0
  229. package/.next/server/chunks/{[root-of-the-server]__05pxb~w._.js → [root-of-the-server]__081dmfv._.js} +3 -3
  230. package/.next/server/chunks/[root-of-the-server]__0axwx7g._.js +20 -0
  231. package/.next/server/chunks/[root-of-the-server]__0bvqbq0._.js +3 -0
  232. package/.next/server/chunks/{[root-of-the-server]__12._zd-._.js → [root-of-the-server]__0hw3ulq._.js} +2 -2
  233. package/.next/server/chunks/{[root-of-the-server]__0sjsc63._.js → [root-of-the-server]__0i4isjs._.js} +3 -3
  234. package/.next/server/chunks/[root-of-the-server]__0il.3bc._.js +3 -0
  235. package/.next/server/chunks/{[root-of-the-server]__07-am_7._.js → [root-of-the-server]__0k6_.b8._.js} +2 -2
  236. package/.next/server/chunks/[root-of-the-server]__0lg6mol._.js +3 -0
  237. package/.next/server/chunks/[root-of-the-server]__0m31xle._.js +3 -0
  238. package/.next/server/chunks/[root-of-the-server]__0p-9erj._.js +3 -0
  239. package/.next/server/chunks/[root-of-the-server]__0p5iuez._.js +11 -0
  240. package/.next/server/chunks/[root-of-the-server]__0pe2bmo._.js +3 -0
  241. package/.next/server/chunks/[root-of-the-server]__0sgxys4._.js +3 -0
  242. package/.next/server/chunks/[root-of-the-server]__0t2ql2.._.js +3 -0
  243. package/.next/server/chunks/{[root-of-the-server]__0rpqx55._.js → [root-of-the-server]__0u4~z7h._.js} +2 -2
  244. package/.next/server/chunks/[root-of-the-server]__0uvjyz~._.js +3 -0
  245. package/.next/server/chunks/{[root-of-the-server]__0dqta7g._.js → [root-of-the-server]__0v.lagk._.js} +2 -2
  246. package/.next/server/chunks/[root-of-the-server]__0v6dx13._.js +3 -0
  247. package/.next/server/chunks/[root-of-the-server]__0ypx5xw._.js +3 -0
  248. package/.next/server/chunks/{[root-of-the-server]__0j3gbp7._.js → [root-of-the-server]__0ze75mm._.js} +2 -2
  249. package/.next/server/chunks/[root-of-the-server]__0~33o~m._.js +4 -0
  250. package/.next/server/chunks/[root-of-the-server]__0~_gk3k._.js +3 -0
  251. package/.next/server/chunks/[turbopack]_runtime.js +1 -1
  252. package/.next/server/chunks/project_f_tower_06227jx._.js +10 -0
  253. package/.next/server/chunks/{tower_03g~ktv._.js → project_f_tower_0ihrsvd._.js} +3 -3
  254. package/.next/server/chunks/project_f_tower_0n1s3ym._.js +3 -0
  255. package/.next/server/chunks/project_f_tower__next-internal_server_app_api_browse-fs_route_actions_0f1ms64.js +3 -0
  256. package/.next/server/chunks/project_f_tower__next-internal_server_app_api_git_route_actions_104q-kq.js +3 -0
  257. package/.next/server/chunks/project_f_tower__next-internal_server_app_apple-icon_png_route_actions_0bb5t_v.js +3 -0
  258. package/.next/server/chunks/project_f_tower__next-internal_server_app_favicon_ico_route_actions_0124g8-.js +3 -0
  259. package/.next/server/chunks/project_f_tower__next-internal_server_app_icon0_svg_route_actions_0kttj.d.js +3 -0
  260. package/.next/server/chunks/project_f_tower__next-internal_server_app_icon1_png_route_actions_12vfwry.js +3 -0
  261. package/.next/server/chunks/project_f_tower__next-internal_server_app_manifest_json_route_actions_0.~axx_.js +3 -0
  262. package/.next/server/chunks/project_f_tower_src_0er83xg._.js +3 -0
  263. package/.next/server/chunks/project_f_tower_src_11e.cv5._.js +3 -0
  264. package/.next/server/chunks/project_f_tower_src_lib_0p_b~77._.js +3 -0
  265. package/.next/server/chunks/{tower_src_lib_0uok6j3._.js → project_f_tower_src_lib_10p8sue._.js} +2 -2
  266. package/.next/server/chunks/project_f_tower_src_lib_constants_ts_020catz._.js +3 -0
  267. package/.next/server/chunks/ssr/0-yb__pnpm_072uqh4._.js +14 -0
  268. package/.next/server/chunks/ssr/0-yb__pnpm_0gui5y9._.js +3 -0
  269. package/.next/server/chunks/ssr/0-yb__pnpm_0qi3qqn._.js +3 -0
  270. package/.next/server/chunks/ssr/04uy_src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_01.s1p0._.js +3 -0
  271. package/.next/server/chunks/ssr/{03j-_@anthropic-ai_claude-agent-sdk_sdk_mjs_0kr2_y.._.js → 0b0n_@anthropic-ai_claude-agent-sdk_sdk_mjs_123v~_z._.js} +2 -2
  272. package/.next/server/chunks/ssr/0j~t_@monaco-editor_react_dist_index_mjs_0m1qx-m._.js +3 -0
  273. package/.next/server/chunks/ssr/0j~t_@monaco-editor_react_dist_index_mjs_0ni7by_._.js +3 -0
  274. package/.next/server/chunks/ssr/0rvf_@dnd-kit_core_dist_core_esm_0qazy~h.js +3 -0
  275. package/.next/server/chunks/ssr/0uz~_next_0smzj1m._.js +18 -0
  276. package/.next/server/chunks/ssr/0uz~_next_dist_058ju5m._.js +3 -0
  277. package/.next/server/chunks/ssr/0uz~_next_dist_0ot5z96._.js +19 -0
  278. package/.next/server/chunks/ssr/{10ge_next_dist_0pw4my6._.js → 0uz~_next_dist_0tnc.0z._.js} +2 -2
  279. package/.next/server/chunks/ssr/0uz~_next_dist_0viyn-6._.js +6 -0
  280. package/.next/server/chunks/ssr/{10ge_next_dist_0wjbiu9._.js → 0uz~_next_dist_0xqqv-_._.js} +2 -2
  281. package/.next/server/chunks/ssr/0uz~_next_dist_11y31c8._.js +3 -0
  282. package/.next/server/chunks/ssr/{10ge_next_dist_client_components_0--gzcy._.js → 0uz~_next_dist_client_components_0m_m~4r._.js} +2 -2
  283. package/.next/server/chunks/ssr/{10ge_next_dist_client_components_0eil7-a._.js → 0uz~_next_dist_client_components_0neff21._.js} +3 -3
  284. package/.next/server/chunks/ssr/0uz~_next_dist_client_components_builtin_forbidden_0kvxu2~.js +3 -0
  285. package/.next/server/chunks/ssr/0uz~_next_dist_client_components_builtin_global-error_0377e9o.js +3 -0
  286. package/.next/server/chunks/ssr/0uz~_next_dist_client_components_builtin_unauthorized_0wz-f2j.js +3 -0
  287. package/.next/server/chunks/ssr/{10ge_next_dist_compiled_0g45ze2._.js → 0uz~_next_dist_compiled_0m~qqw~._.js} +2 -2
  288. package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_01q4vlm.js +4 -0
  289. package/.next/server/chunks/ssr/{10ge_next_dist_esm_build_templates_app-page_0fjd2ua.js → 0uz~_next_dist_esm_build_templates_app-page_0553tiz.js} +3 -3
  290. package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_0as2amp.js +4 -0
  291. package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_0crer~s.js +4 -0
  292. package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_0cu4e.5.js +4 -0
  293. package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_0gn6gc1.js +4 -0
  294. package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_0h.vao6.js +4 -0
  295. package/.next/server/chunks/ssr/{10ge_next_dist_esm_build_templates_app-page_11pz1fw.js → 0uz~_next_dist_esm_build_templates_app-page_0k4fbs6.js} +3 -3
  296. package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_0n2032y.js +4 -0
  297. package/.next/server/chunks/ssr/{10ge_next_dist_esm_build_templates_app-page_080g02v.js → 0uz~_next_dist_esm_build_templates_app-page_0y10ld_.js} +3 -3
  298. package/.next/server/chunks/ssr/{10ge_next_dist_esm_build_templates_app-page_0zgisbd.js → 0uz~_next_dist_esm_build_templates_app-page_0ysuakv.js} +3 -3
  299. package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_136sj3a.js +4 -0
  300. package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_13jghu9.js +4 -0
  301. package/.next/server/chunks/ssr/0xjs_lucide-react_dist_esm_icons_0l6be37._.js +3 -0
  302. package/.next/server/chunks/ssr/0y0r_f_tower_src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0n4g3bn._.js +3 -0
  303. package/.next/server/chunks/ssr/[root-of-the-server]__0.hh.2a._.js +3 -0
  304. package/.next/server/chunks/ssr/[root-of-the-server]__0.r38oo._.js +3 -0
  305. package/.next/server/chunks/ssr/{[root-of-the-server]__05452ke._.js → [root-of-the-server]__00.lowc._.js} +3 -3
  306. package/.next/server/chunks/ssr/{[root-of-the-server]__0d5p5d.._.js → [root-of-the-server]__007tg36._.js} +3 -3
  307. package/.next/server/chunks/ssr/[root-of-the-server]__012ko5_._.js +3 -0
  308. package/.next/server/chunks/ssr/{[root-of-the-server]__0i6glcp._.js → [root-of-the-server]__025.0xa._.js} +3 -3
  309. package/.next/server/chunks/ssr/{[root-of-the-server]__0gsj3~.._.js → [root-of-the-server]__04u4kb4._.js} +3 -3
  310. package/.next/server/chunks/ssr/[root-of-the-server]__055w_hn._.js +3 -0
  311. package/.next/server/chunks/ssr/{[root-of-the-server]__0adx8p4._.js → [root-of-the-server]__05a17ca._.js} +3 -3
  312. package/.next/server/chunks/ssr/[root-of-the-server]__06japut._.js +3 -0
  313. package/.next/server/chunks/ssr/[root-of-the-server]__06qzctf._.js +3 -0
  314. package/.next/server/chunks/ssr/[root-of-the-server]__09mr4e7._.js +3 -0
  315. package/.next/server/chunks/ssr/[root-of-the-server]__0c1i04u._.js +3 -0
  316. package/.next/server/chunks/ssr/[root-of-the-server]__0db_p8v._.js +3 -0
  317. package/.next/server/chunks/ssr/[root-of-the-server]__0ffdrwp._.js +3 -0
  318. package/.next/server/chunks/ssr/[root-of-the-server]__0fkkh9j._.js +3 -0
  319. package/.next/server/chunks/ssr/[root-of-the-server]__0fu82np._.js +3 -0
  320. package/.next/server/chunks/ssr/[root-of-the-server]__0fwuc5u._.js +3 -0
  321. package/.next/server/chunks/ssr/{[root-of-the-server]__06sm5cw._.js → [root-of-the-server]__0hiekzn._.js} +2 -2
  322. package/.next/server/chunks/ssr/[root-of-the-server]__0i4rk9v._.js +47 -0
  323. package/.next/server/chunks/ssr/[root-of-the-server]__0m28~~t._.js +3 -0
  324. package/.next/server/chunks/ssr/[root-of-the-server]__0mf.3xq._.js +3 -0
  325. package/.next/server/chunks/ssr/[root-of-the-server]__0nmyvwk._.js +3 -0
  326. package/.next/server/chunks/ssr/[root-of-the-server]__0np-y3i._.js +3 -0
  327. package/.next/server/chunks/ssr/{[root-of-the-server]__0jux8~h._.js → [root-of-the-server]__0p_hwna._.js} +3 -3
  328. package/.next/server/chunks/ssr/[root-of-the-server]__0qwr~nq._.js +3 -0
  329. package/.next/server/chunks/ssr/[root-of-the-server]__0r6gkos._.js +30 -0
  330. package/.next/server/chunks/ssr/{[root-of-the-server]__1223b0_._.js → [root-of-the-server]__0u26l~e._.js} +3 -3
  331. package/.next/server/chunks/ssr/{[root-of-the-server]__04xn50b._.js → [root-of-the-server]__0uca1bc._.js} +3 -3
  332. package/.next/server/chunks/ssr/[root-of-the-server]__0v7fjw6._.js +3 -0
  333. package/.next/server/chunks/ssr/[root-of-the-server]__0v94jfv._.js +3 -0
  334. package/.next/server/chunks/ssr/[root-of-the-server]__0vn5cvq._.js +3 -0
  335. package/.next/server/chunks/ssr/{[root-of-the-server]__13-by9r._.js → [root-of-the-server]__0w.hk6m._.js} +3 -3
  336. package/.next/server/chunks/ssr/[root-of-the-server]__0w7gbe7._.js +3 -0
  337. package/.next/server/chunks/ssr/[root-of-the-server]__0w8l-4s._.js +3 -0
  338. package/.next/server/chunks/ssr/[root-of-the-server]__0wkjslq._.js +3 -0
  339. package/.next/server/chunks/ssr/[root-of-the-server]__0wsvmkr._.js +3 -0
  340. package/.next/server/chunks/ssr/[root-of-the-server]__0xe-o3g._.js +30 -0
  341. package/.next/server/chunks/ssr/[root-of-the-server]__0xe9b6_._.js +3 -0
  342. package/.next/server/chunks/ssr/[root-of-the-server]__0zemnbk._.js +3 -0
  343. package/.next/server/chunks/ssr/[root-of-the-server]__0zugnux._.js +3 -0
  344. package/.next/server/chunks/ssr/[root-of-the-server]__105vrk3._.js +3 -0
  345. package/.next/server/chunks/ssr/[root-of-the-server]__112new_._.js +3 -0
  346. package/.next/server/chunks/ssr/[root-of-the-server]__11j4k9o._.js +3 -0
  347. package/.next/server/chunks/ssr/[root-of-the-server]__13cjs8r._.js +3 -0
  348. package/.next/server/chunks/ssr/[root-of-the-server]__13eo85g._.js +3 -0
  349. package/.next/server/chunks/ssr/[root-of-the-server]__13x5mmo._.js +30 -0
  350. package/.next/server/chunks/ssr/[turbopack]_runtime.js +1 -1
  351. package/.next/server/chunks/ssr/project_f_tower_0-0bopv._.js +30 -0
  352. package/.next/server/chunks/ssr/project_f_tower_0.txwd8._.js +3 -0
  353. package/.next/server/chunks/ssr/{tower_0d.car1._.js → project_f_tower_02411e5._.js} +3 -3
  354. package/.next/server/chunks/ssr/project_f_tower_02x5vbj._.js +3 -0
  355. package/.next/server/chunks/ssr/project_f_tower_03k0qr1._.js +3 -0
  356. package/.next/server/chunks/ssr/{tower_0egtw-7._.js → project_f_tower_04g3~44._.js} +3 -3
  357. package/.next/server/chunks/ssr/project_f_tower_0cjk_8x._.js +30 -0
  358. package/.next/server/chunks/ssr/project_f_tower_0d-6.rs._.js +39 -0
  359. package/.next/server/chunks/ssr/project_f_tower_0ea6ill._.js +3 -0
  360. package/.next/server/chunks/ssr/project_f_tower_0f0-wva._.js +3 -0
  361. package/.next/server/chunks/ssr/project_f_tower_0ghw~2t._.js +3 -0
  362. package/.next/server/chunks/ssr/project_f_tower_0h79vn0._.js +3 -0
  363. package/.next/server/chunks/ssr/project_f_tower_0hgtev9._.js +7 -0
  364. package/.next/server/chunks/ssr/project_f_tower_0ivvjwd._.js +3 -0
  365. package/.next/server/chunks/ssr/project_f_tower_0jdkold._.js +3 -0
  366. package/.next/server/chunks/ssr/project_f_tower_0jy~1uf._.js +3 -0
  367. package/.next/server/chunks/ssr/{tower_0tuq2iz._.js → project_f_tower_0knz136._.js} +3 -3
  368. package/.next/server/chunks/ssr/project_f_tower_0l6ssf8._.js +3 -0
  369. package/.next/server/chunks/ssr/project_f_tower_0n6q9zh._.js +3 -0
  370. package/.next/server/chunks/ssr/project_f_tower_0ntkd-l._.js +6 -0
  371. package/.next/server/chunks/ssr/project_f_tower_0o5.y1e._.js +3 -0
  372. package/.next/server/chunks/ssr/project_f_tower_0p39h1r._.js +3 -0
  373. package/.next/server/chunks/ssr/project_f_tower_0sj3voe._.js +3 -0
  374. package/.next/server/chunks/ssr/project_f_tower_0u6dr5n._.js +3 -0
  375. package/.next/server/chunks/ssr/project_f_tower_0xkqjno._.js +3 -0
  376. package/.next/server/chunks/ssr/project_f_tower_0ym-aea._.js +3 -0
  377. package/.next/server/chunks/ssr/project_f_tower_10lk3gb._.js +30 -0
  378. package/.next/server/chunks/ssr/{tower_0h3r32m._.js → project_f_tower_10~x~zx._.js} +3 -3
  379. package/.next/server/chunks/ssr/project_f_tower__next-internal_server_app__global-error_page_actions_0r22s5i.js +3 -0
  380. package/.next/server/chunks/ssr/project_f_tower_src_0yr8rna._.js +3 -0
  381. package/.next/server/chunks/ssr/project_f_tower_src_actions_agent-actions_ts_0.s4~m-._.js +4 -0
  382. package/.next/server/chunks/ssr/project_f_tower_src_actions_file-actions_ts_02i742t._.js +3 -0
  383. package/.next/server/chunks/ssr/project_f_tower_src_app_missions_missions-client_tsx_0ums4qx._.js +3 -0
  384. package/.next/server/chunks/ssr/project_f_tower_src_app_onboarding_page_tsx_0_9_yoq._.js +3 -0
  385. package/.next/server/chunks/ssr/{tower_src_app_settings_page_tsx_0vo5e-o._.js → project_f_tower_src_app_settings_page_tsx_0oo06~d._.js} +2 -2
  386. package/.next/server/chunks/ssr/project_f_tower_src_app_workspaces_[workspaceId]_board-page-client_tsx_0jmj1xz._.js +7 -0
  387. package/.next/server/chunks/ssr/project_f_tower_src_components_ui_select_tsx_07scqtg._.js +3 -0
  388. package/.next/server/chunks/ssr/project_f_tower_src_lib_0-pi47a._.js +3 -0
  389. package/.next/server/chunks/ssr/project_f_tower_src_lib_0._5zby._.js +3 -0
  390. package/.next/server/chunks/ssr/project_f_tower_src_lib_0kwu.w7._.js +3 -0
  391. package/.next/server/chunks/ssr/project_f_tower_src_lib_0q3t9-e._.js +3 -0
  392. package/.next/server/chunks/ssr/project_f_tower_src_lib_11g-ixh._.js +3 -0
  393. package/.next/server/chunks/ssr/project_f_tower_src_lib_constants_ts_0.qkxto._.js +3 -0
  394. package/.next/server/edge/chunks/0s6b_next_dist_esm_build_templates_edge-wrapper_0gir.8i.js +3 -0
  395. package/.next/server/edge/chunks/project_f_tower_0zwq2~l._.js +3 -0
  396. package/.next/server/instrumentation/middleware-manifest.json +2 -2
  397. package/.next/server/instrumentation.js +3 -3
  398. package/.next/server/instrumentation.js.nft.json +1 -1
  399. package/.next/server/middleware-build-manifest.js +9 -9
  400. package/.next/server/next-font-manifest.js +1 -1
  401. package/.next/server/next-font-manifest.json +12 -12
  402. package/.next/server/pages/404.html +1 -1
  403. package/.next/server/pages/500.html +1 -1
  404. package/.next/server/server-reference-manifest.js +1 -1
  405. package/.next/server/server-reference-manifest.json +1015 -1015
  406. package/.next/static/chunks/0-49z0i7n9z_u.js +31 -0
  407. package/.next/static/chunks/0.vq_m53d7t~7.js +1 -0
  408. package/.next/static/chunks/006_yes1e~uq-.js +1 -0
  409. package/.next/static/chunks/03~7u57dwxswo.js +1 -0
  410. package/.next/static/chunks/048wsx4_3dx7m.js +1 -0
  411. package/.next/static/chunks/04rm7wn4pu3v9.js +1 -0
  412. package/.next/static/chunks/054pu3m7e37gx.js +1 -0
  413. package/.next/static/chunks/05fge.5j9lnpa.js +1 -0
  414. package/.next/static/chunks/{03e.4ymu.j5wl.js → 05r51bf1-_-x4.js} +1 -1
  415. package/.next/static/chunks/{16qoc.u84jlcd.js → 06hfc~t6~gtz9.js} +1 -1
  416. package/.next/static/chunks/{0xi0wi2z6otp9.js → 06xnbktd_jmb4.js} +2 -2
  417. package/.next/static/chunks/07_bc0h5~tysp.js +1 -0
  418. package/.next/static/chunks/09mkfd6kg8s2..js +1 -0
  419. package/.next/static/chunks/0afji0z13kos5.js +5 -0
  420. package/.next/static/chunks/0ayhcszr5.75h.js +1 -0
  421. package/.next/static/chunks/0azbwlqgcxx~9.js +1 -0
  422. package/.next/static/chunks/0c5h4.yuzpzs5.js +12 -0
  423. package/.next/static/chunks/0dlrmobwx~tvz.js +1 -0
  424. package/.next/static/chunks/0g-rx4evmd.pa.js +1 -0
  425. package/.next/static/chunks/0i5zk6woum~cm.js +1 -0
  426. package/.next/static/chunks/0kyb0fcxzykkx.js +1 -0
  427. package/.next/static/chunks/0odp5708u_28m.js +1 -0
  428. package/.next/static/chunks/0q6i_n.rkxpn0.js +1 -0
  429. package/.next/static/chunks/0qnz9q6uieuv8.js +1 -0
  430. package/.next/static/chunks/0qrp0pov94ecf.js +1 -0
  431. package/.next/static/chunks/0sa5eiyws1~n0.js +1 -0
  432. package/.next/static/chunks/0sdq_svi-w4cf.js +1 -0
  433. package/.next/static/chunks/0smj3ii_egywx.js +1 -0
  434. package/.next/static/chunks/0u6p4i4aoeb4m.js +1 -0
  435. package/.next/static/chunks/0upxmdjt9neoj.js +5 -0
  436. package/.next/static/chunks/0xvn7yrj70a9v.js +1 -0
  437. package/.next/static/chunks/0yjtd51nb081_.js +4 -0
  438. package/.next/static/chunks/10_azh3_hkhxj.js +1 -0
  439. package/.next/static/chunks/10xx474hrm.03.js +1 -0
  440. package/.next/static/chunks/116on53madp~2.js +2 -0
  441. package/.next/static/chunks/16ow8w3exqm6p.js +1 -0
  442. package/.next/static/chunks/{turbopack-0wjmrsi.z32s0.js → turbopack-12rg1oczocj42.js} +1 -1
  443. package/.next/trace +2 -2
  444. package/.next/trace-build +1 -1
  445. package/bin/tower.mjs +20 -10
  446. package/package.json +1 -1
  447. package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0y_r.ay._.js +0 -13
  448. package/.next/server/chunks/0cve_next-internal_server_app_api_internal_cache_[___segments]_route_actions_09n1sa3.js +0 -3
  449. package/.next/server/chunks/0tp-_server_app_api_files_assets_[projectId]_[filename]_route_actions_02i2urs.js +0 -3
  450. package/.next/server/chunks/0tp-_server_app_api_internal_assets_[projectId]_[filename]_route_actions_0kjz576.js +0 -3
  451. package/.next/server/chunks/0tp-_server_app_api_internal_notifications_pending_route_actions_08bx38r.js +0 -3
  452. package/.next/server/chunks/0tp-_server_app_api_internal_terminal_[taskId]_buffer_route_actions_0bpyf5x.js +0 -3
  453. package/.next/server/chunks/0tp-_server_app_api_internal_terminal_[taskId]_input_route_actions_0alu32r.js +0 -3
  454. package/.next/server/chunks/0tp-_server_app_api_internal_terminal_[taskId]_start_route_actions_0swqog2.js +0 -3
  455. package/.next/server/chunks/0w1v_zod_v4_classic_external_0m-7hz_.js +0 -39
  456. package/.next/server/chunks/0~.g__next-internal_server_app_api_internal_assistant_chat_route_actions_0x-qbrh.js +0 -3
  457. package/.next/server/chunks/0~.g__next-internal_server_app_api_internal_assistant_images_route_actions_0vws40t.js +0 -3
  458. package/.next/server/chunks/0~.g__next-internal_server_app_api_internal_assistant_sessions_route_actions_0p09rcp.js +0 -3
  459. package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_00gmiw_.js +0 -3
  460. package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_0z9_0_i.js +0 -3
  461. package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_13w3ubu.js +0 -3
  462. package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_13~vb_i.js +0 -4
  463. package/.next/server/chunks/[root-of-the-server]__02p-gd5._.js +0 -3
  464. package/.next/server/chunks/[root-of-the-server]__0319djr._.js +0 -3
  465. package/.next/server/chunks/[root-of-the-server]__043lk8~._.js +0 -4
  466. package/.next/server/chunks/[root-of-the-server]__053y9tf._.js +0 -3
  467. package/.next/server/chunks/[root-of-the-server]__09gjz6h._.js +0 -3
  468. package/.next/server/chunks/[root-of-the-server]__0_irb2s._.js +0 -3
  469. package/.next/server/chunks/[root-of-the-server]__0c4edwt._.js +0 -3
  470. package/.next/server/chunks/[root-of-the-server]__0c7y1r0._.js +0 -3
  471. package/.next/server/chunks/[root-of-the-server]__0dj34zn._.js +0 -3
  472. package/.next/server/chunks/[root-of-the-server]__0ko_rm_._.js +0 -3
  473. package/.next/server/chunks/[root-of-the-server]__0miy2g.._.js +0 -3
  474. package/.next/server/chunks/[root-of-the-server]__0mt-eeb._.js +0 -3
  475. package/.next/server/chunks/[root-of-the-server]__0n-6-hc._.js +0 -3
  476. package/.next/server/chunks/[root-of-the-server]__0nur_ir._.js +0 -3
  477. package/.next/server/chunks/[root-of-the-server]__0pz60q-._.js +0 -20
  478. package/.next/server/chunks/[root-of-the-server]__0q~5ya5._.js +0 -3
  479. package/.next/server/chunks/[root-of-the-server]__0th.w7w._.js +0 -3
  480. package/.next/server/chunks/[root-of-the-server]__0u..agy._.js +0 -11
  481. package/.next/server/chunks/[root-of-the-server]__0umzekq._.js +0 -3
  482. package/.next/server/chunks/[root-of-the-server]__0wu61w.._.js +0 -3
  483. package/.next/server/chunks/[root-of-the-server]__130shf~._.js +0 -3
  484. package/.next/server/chunks/ssr/040e_@monaco-editor_react_dist_index_mjs_0t4i-ho._.js +0 -3
  485. package/.next/server/chunks/ssr/040e_@monaco-editor_react_dist_index_mjs_0z6t1fr._.js +0 -3
  486. package/.next/server/chunks/ssr/0kjx__pnpm_0g9g8h6._.js +0 -3
  487. package/.next/server/chunks/ssr/0kjx__pnpm_0l.5ii.._.js +0 -3
  488. package/.next/server/chunks/ssr/0kjx__pnpm_0wrn.h9._.js +0 -14
  489. package/.next/server/chunks/ssr/0rik_@dnd-kit_core_dist_core_esm_11giptg.js +0 -3
  490. package/.next/server/chunks/ssr/0~.g_src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_0bbseig._.js +0 -3
  491. package/.next/server/chunks/ssr/10ge_next_00.-vj.._.js +0 -18
  492. package/.next/server/chunks/ssr/10ge_next_dist_01n~t8z._.js +0 -6
  493. package/.next/server/chunks/ssr/10ge_next_dist_06_-w96._.js +0 -19
  494. package/.next/server/chunks/ssr/10ge_next_dist_0~ti7jc._.js +0 -3
  495. package/.next/server/chunks/ssr/10ge_next_dist_10.ihny._.js +0 -3
  496. package/.next/server/chunks/ssr/10ge_next_dist_client_components_builtin_forbidden_0nzsnb2.js +0 -3
  497. package/.next/server/chunks/ssr/10ge_next_dist_client_components_builtin_global-error_125sopd.js +0 -3
  498. package/.next/server/chunks/ssr/10ge_next_dist_client_components_builtin_unauthorized_0z93cpe.js +0 -3
  499. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_08khzah.js +0 -4
  500. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_09~o5q0.js +0 -4
  501. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0_rj_f4.js +0 -4
  502. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0c-wmj1.js +0 -4
  503. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0hpuyf0.js +0 -4
  504. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0knnyic.js +0 -4
  505. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0oi86k6.js +0 -4
  506. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0rmwdra.js +0 -4
  507. package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_12reczc.js +0 -4
  508. package/.next/server/chunks/ssr/119e_lucide-react_dist_esm_icons_0636jyq._.js +0 -3
  509. package/.next/server/chunks/ssr/[root-of-the-server]__0-0j_z3._.js +0 -3
  510. package/.next/server/chunks/ssr/[root-of-the-server]__0.8y0n9._.js +0 -3
  511. package/.next/server/chunks/ssr/[root-of-the-server]__0.uoh7q._.js +0 -3
  512. package/.next/server/chunks/ssr/[root-of-the-server]__01ws4-7._.js +0 -3
  513. package/.next/server/chunks/ssr/[root-of-the-server]__024-5kd._.js +0 -3
  514. package/.next/server/chunks/ssr/[root-of-the-server]__02ipahf._.js +0 -3
  515. package/.next/server/chunks/ssr/[root-of-the-server]__03.14vw._.js +0 -3
  516. package/.next/server/chunks/ssr/[root-of-the-server]__06o5v8i._.js +0 -30
  517. package/.next/server/chunks/ssr/[root-of-the-server]__08_0ex9._.js +0 -3
  518. package/.next/server/chunks/ssr/[root-of-the-server]__09m32ch._.js +0 -3
  519. package/.next/server/chunks/ssr/[root-of-the-server]__0_0kxz4._.js +0 -3
  520. package/.next/server/chunks/ssr/[root-of-the-server]__0bk3s4l._.js +0 -3
  521. package/.next/server/chunks/ssr/[root-of-the-server]__0bo1n69._.js +0 -3
  522. package/.next/server/chunks/ssr/[root-of-the-server]__0d7u1lw._.js +0 -3
  523. package/.next/server/chunks/ssr/[root-of-the-server]__0fg8.hp._.js +0 -3
  524. package/.next/server/chunks/ssr/[root-of-the-server]__0ibsor_._.js +0 -3
  525. package/.next/server/chunks/ssr/[root-of-the-server]__0j5~a_o._.js +0 -3
  526. package/.next/server/chunks/ssr/[root-of-the-server]__0jgbj6l._.js +0 -3
  527. package/.next/server/chunks/ssr/[root-of-the-server]__0ld6_w6._.js +0 -3
  528. package/.next/server/chunks/ssr/[root-of-the-server]__0l~dc3x._.js +0 -3
  529. package/.next/server/chunks/ssr/[root-of-the-server]__0n32nv5._.js +0 -30
  530. package/.next/server/chunks/ssr/[root-of-the-server]__0n8qufu._.js +0 -3
  531. package/.next/server/chunks/ssr/[root-of-the-server]__0ndt9h3._.js +0 -3
  532. package/.next/server/chunks/ssr/[root-of-the-server]__0p~u4y6._.js +0 -3
  533. package/.next/server/chunks/ssr/[root-of-the-server]__0q.du4s._.js +0 -3
  534. package/.next/server/chunks/ssr/[root-of-the-server]__0rs7pkn._.js +0 -3
  535. package/.next/server/chunks/ssr/[root-of-the-server]__0sysz2q._.js +0 -47
  536. package/.next/server/chunks/ssr/[root-of-the-server]__0t25~v8._.js +0 -3
  537. package/.next/server/chunks/ssr/[root-of-the-server]__0ti70do._.js +0 -3
  538. package/.next/server/chunks/ssr/[root-of-the-server]__0uevudp._.js +0 -30
  539. package/.next/server/chunks/ssr/[root-of-the-server]__0wwqzmm._.js +0 -3
  540. package/.next/server/chunks/ssr/[root-of-the-server]__0xt3-qb._.js +0 -3
  541. package/.next/server/chunks/ssr/[root-of-the-server]__0y-lkvf._.js +0 -3
  542. package/.next/server/chunks/ssr/[root-of-the-server]__0zvf.ro._.js +0 -3
  543. package/.next/server/chunks/ssr/[root-of-the-server]__11m7m-q._.js +0 -3
  544. package/.next/server/chunks/ssr/[root-of-the-server]__12f810l._.js +0 -3
  545. package/.next/server/chunks/ssr/[root-of-the-server]__13-egel._.js +0 -3
  546. package/.next/server/chunks/ssr/tower_0-nwtka._.js +0 -3
  547. package/.next/server/chunks/ssr/tower_0-omr_b._.js +0 -30
  548. package/.next/server/chunks/ssr/tower_01szasw._.js +0 -3
  549. package/.next/server/chunks/ssr/tower_035l~qv._.js +0 -3
  550. package/.next/server/chunks/ssr/tower_03jazku._.js +0 -3
  551. package/.next/server/chunks/ssr/tower_0donrdk._.js +0 -3
  552. package/.next/server/chunks/ssr/tower_0i9k4a6._.js +0 -3
  553. package/.next/server/chunks/ssr/tower_0kl_bfy._.js +0 -7
  554. package/.next/server/chunks/ssr/tower_0m_uudm._.js +0 -3
  555. package/.next/server/chunks/ssr/tower_0mn8ig7._.js +0 -3
  556. package/.next/server/chunks/ssr/tower_0mz4ut.._.js +0 -3
  557. package/.next/server/chunks/ssr/tower_0nuj.0p._.js +0 -39
  558. package/.next/server/chunks/ssr/tower_0pcqezm._.js +0 -3
  559. package/.next/server/chunks/ssr/tower_0pmey24._.js +0 -3
  560. package/.next/server/chunks/ssr/tower_0r7uuim._.js +0 -30
  561. package/.next/server/chunks/ssr/tower_0sojjnu._.js +0 -3
  562. package/.next/server/chunks/ssr/tower_0tc~.xl._.js +0 -30
  563. package/.next/server/chunks/ssr/tower_0ut7r._._.js +0 -3
  564. package/.next/server/chunks/ssr/tower_0wvk~r.._.js +0 -3
  565. package/.next/server/chunks/ssr/tower_10p15te._.js +0 -3
  566. package/.next/server/chunks/ssr/tower_10t13p4._.js +0 -6
  567. package/.next/server/chunks/ssr/tower_117pzh8._.js +0 -3
  568. package/.next/server/chunks/ssr/tower_11q5_.m._.js +0 -3
  569. package/.next/server/chunks/ssr/tower_138qlx5._.js +0 -3
  570. package/.next/server/chunks/ssr/tower__next-internal_server_app__global-error_page_actions_13t5~qk.js +0 -3
  571. package/.next/server/chunks/ssr/tower_src_077qk8s._.js +0 -3
  572. package/.next/server/chunks/ssr/tower_src_actions_agent-actions_ts_0j.e1tn._.js +0 -4
  573. package/.next/server/chunks/ssr/tower_src_actions_file-actions_ts_0424lna._.js +0 -3
  574. package/.next/server/chunks/ssr/tower_src_app_missions_missions-client_tsx_0a9vjyr._.js +0 -3
  575. package/.next/server/chunks/ssr/tower_src_app_onboarding_page_tsx_0_3krz1._.js +0 -3
  576. package/.next/server/chunks/ssr/tower_src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0zfgzhi._.js +0 -3
  577. package/.next/server/chunks/ssr/tower_src_app_workspaces_[workspaceId]_board-page-client_tsx_0kjp1u0._.js +0 -7
  578. package/.next/server/chunks/ssr/tower_src_components_ui_select_tsx_10ajx~2._.js +0 -3
  579. package/.next/server/chunks/ssr/tower_src_lib_01420_4._.js +0 -3
  580. package/.next/server/chunks/ssr/tower_src_lib_0i-zjpa._.js +0 -3
  581. package/.next/server/chunks/ssr/tower_src_lib_0ja~kdb._.js +0 -3
  582. package/.next/server/chunks/ssr/tower_src_lib_0obw2r8._.js +0 -3
  583. package/.next/server/chunks/ssr/tower_src_lib_0rgfsuf._.js +0 -3
  584. package/.next/server/chunks/ssr/tower_src_lib_constants_ts_0o218_c._.js +0 -3
  585. package/.next/server/chunks/tower_05du07.._.js +0 -10
  586. package/.next/server/chunks/tower_0a-x6m.._.js +0 -3
  587. package/.next/server/chunks/tower__next-internal_server_app_api_adapters_test_route_actions_13jw~9b.js +0 -3
  588. package/.next/server/chunks/tower__next-internal_server_app_api_browse-fs_route_actions_0k5p2xy.js +0 -3
  589. package/.next/server/chunks/tower__next-internal_server_app_api_git_route_actions_0rvpodb.js +0 -3
  590. package/.next/server/chunks/tower__next-internal_server_app_api_internal_assets_reveal_route_actions_0idwm6j.js +0 -3
  591. package/.next/server/chunks/tower__next-internal_server_app_api_internal_assistant_route_actions_0rdz1d..js +0 -3
  592. package/.next/server/chunks/tower__next-internal_server_app_api_internal_hooks_install_route_actions_06dxleu.js +0 -3
  593. package/.next/server/chunks/tower__next-internal_server_app_api_internal_hooks_session_route_actions_0wlv4lf.js +0 -3
  594. package/.next/server/chunks/tower__next-internal_server_app_api_internal_hooks_stop_route_actions_101_oub.js +0 -3
  595. package/.next/server/chunks/tower__next-internal_server_app_api_internal_hooks_upload_route_actions_0439qz_.js +0 -3
  596. package/.next/server/chunks/tower__next-internal_server_app_api_tasks_[taskId]_diff_route_actions_0nthc84.js +0 -3
  597. package/.next/server/chunks/tower__next-internal_server_app_api_tasks_[taskId]_merge_route_actions_0g.x0nb.js +0 -3
  598. package/.next/server/chunks/tower__next-internal_server_app_apple-icon_png_route_actions_0bni-sb.js +0 -3
  599. package/.next/server/chunks/tower__next-internal_server_app_favicon_ico_route_actions_0kw~xj2.js +0 -3
  600. package/.next/server/chunks/tower__next-internal_server_app_icon0_svg_route_actions_0nww9-e.js +0 -3
  601. package/.next/server/chunks/tower__next-internal_server_app_icon1_png_route_actions_09h.ywu.js +0 -3
  602. package/.next/server/chunks/tower__next-internal_server_app_manifest_json_route_actions_080ob~r.js +0 -3
  603. package/.next/server/chunks/tower_src_0..vg-t._.js +0 -3
  604. package/.next/server/chunks/tower_src_05rqj.1._.js +0 -3
  605. package/.next/server/chunks/tower_src_lib_0w8qt4s._.js +0 -3
  606. package/.next/server/chunks/tower_src_lib_constants_ts_0cxd4.p._.js +0 -3
  607. package/.next/server/edge/chunks/0y9m_next_dist_esm_build_templates_edge-wrapper_0cx_eo..js +0 -3
  608. package/.next/server/edge/chunks/tower_0wvfs38._.js +0 -3
  609. package/.next/static/chunks/0-z_mj0p3..hy.js +0 -1
  610. package/.next/static/chunks/00z-g3x93ngvn.js +0 -1
  611. package/.next/static/chunks/05-b9qqm3av9~.js +0 -1
  612. package/.next/static/chunks/053~3fys7om-7.js +0 -5
  613. package/.next/static/chunks/05~v02mkan5z..js +0 -1
  614. package/.next/static/chunks/0887ab.hh21q9.js +0 -1
  615. package/.next/static/chunks/0abtpeymj-58i.js +0 -1
  616. package/.next/static/chunks/0c7oqfzd78s3-.js +0 -1
  617. package/.next/static/chunks/0eaa2lmymh2fx.js +0 -1
  618. package/.next/static/chunks/0g4scpy5b3a_n.js +0 -1
  619. package/.next/static/chunks/0ho7y42kl8m7v.js +0 -1
  620. package/.next/static/chunks/0iudqcn98ftki.js +0 -1
  621. package/.next/static/chunks/0j9qriqni_r1..js +0 -2
  622. package/.next/static/chunks/0j~wmjbqds1dv.js +0 -1
  623. package/.next/static/chunks/0k.u8sxy~e469.js +0 -4
  624. package/.next/static/chunks/0lvd52mjiit6s.js +0 -1
  625. package/.next/static/chunks/0mq0uqbbbb1~2.js +0 -1
  626. package/.next/static/chunks/0mvu29h4.06~b.js +0 -1
  627. package/.next/static/chunks/0omj~p3uxkic-.js +0 -1
  628. package/.next/static/chunks/0rej~f94o9a~6.js +0 -5
  629. package/.next/static/chunks/0t-gr6j-c65qb.js +0 -1
  630. package/.next/static/chunks/0tcl81ybuob5i.js +0 -1
  631. package/.next/static/chunks/0uqimvsni_op~.js +0 -1
  632. package/.next/static/chunks/0wt3kws~_yr8z.js +0 -1
  633. package/.next/static/chunks/0z2bzovqhl2f5.js +0 -1
  634. package/.next/static/chunks/0z7bwntvfhxzi.js +0 -12
  635. package/.next/static/chunks/10n23t.1hpb-1.js +0 -1
  636. package/.next/static/chunks/14xzmrt5ly6gq.js +0 -31
  637. package/.next/static/chunks/151wr~6x8aclx.js +0 -1
  638. package/.next/static/chunks/16w-ap~msrwpj.js +0 -1
  639. package/.next/static/chunks/17tob96chk6i1.js +0 -1
  640. package/.next/static/chunks/17zywpt-0o8gl.js +0 -1
  641. package/.next/static/chunks/185n7s7fwb2j_.js +0 -1
  642. /package/.next/static/{KX5Si-44bPnjdFNmiHDRY → qVmkMYUuxwdsiFTnn1wfK}/_buildManifest.js +0 -0
  643. /package/.next/static/{KX5Si-44bPnjdFNmiHDRY → qVmkMYUuxwdsiFTnn1wfK}/_clientMiddlewareManifest.js +0 -0
  644. /package/.next/static/{KX5Si-44bPnjdFNmiHDRY → qVmkMYUuxwdsiFTnn1wfK}/_ssgManifest.js +0 -0
@@ -0,0 +1,4 @@
1
+ module.exports=[168190,a=>{"use strict";var b=a.i(821024),c=a.i(748685),d=a.i(928705),e=a.i(143970),f=a.i(494519),g=a.i(267804),h=a.i(664482),i=a.i(342115),j=a.i(625470),k=a.i(873729),l=a.i(516120),m=a.i(768467),n=a.i(616173),o=a.i(221223),p=a.i(95602),q=a.i(376936),r=a.i(863368),s=a.i(908369);a.i(254268);var t=a.i(852737),u=a.i(885240),v=a.i(702321),w=a.i(826416),x=a.i(933700),y=a.i(678749),z=a.i(362299),A=a.i(193695),B=a.i(761102),C=a.i(470248);a.i(88119);var D=a.i(781013),E=a.i(927976),F=a.i(158181),G=a.i(722006),H=a.i(769066),I=a.i(872473);let J=["",{children:["workspaces",{children:["[workspaceId]",{children:["projects",{children:["[projectId]",{children:["__PAGE__",{},{metadata:{},page:[()=>a.r(240150),"[project]/project/f/tower/src/app/workspaces/[workspaceId]/projects/[projectId]/page.tsx"]},[]]},{metadata:{}},[]]},{metadata:{}},[]]},{metadata:{}},[]]},{metadata:{}},[]]},{metadata:{icon:[async c=>{let d=(0,i.interopDefault)(await a.r(552530));return[{url:(0,b.fillMetadataSegment)("//",await c.params,"favicon.ico",!0)+`?${d.src.split("/").splice(-1)[0]}`,sizes:`${d.width}x${d.height}`,type:"image/x-icon"}]},async c=>{let d=(0,i.interopDefault)(await a.r(461433));return[{url:(0,b.fillMetadataSegment)("//",await c.params,"icon0.svg",!0)+`?${d.src.split("/").splice(-1)[0]}`,sizes:"any",type:"image/svg+xml"}]},async c=>{let d=(0,i.interopDefault)(await a.r(616851));return[{url:(0,b.fillMetadataSegment)("//",await c.params,"icon1.png",!0)+`?${d.src.split("/").splice(-1)[0]}`,sizes:`${d.width}x${d.height}`,type:"image/png"}]}],apple:[async c=>{let d=(0,i.interopDefault)(await a.r(548284));return[{url:(0,b.fillMetadataSegment)("//",await c.params,"apple-icon.png",!0)+`?${d.src.split("/").splice(-1)[0]}`,sizes:`${d.width}x${d.height}`,type:"image/png"}]}],manifest:"/manifest.json"},layout:[()=>a.r(442674),"[project]/project/f/tower/src/app/layout.tsx"],"not-found":[()=>a.r(483106),"[project]/project/f/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/client/components/builtin/not-found.js"],forbidden:[()=>a.r(498916),"[project]/project/f/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/client/components/builtin/forbidden.js"],unauthorized:[()=>a.r(970099),"[project]/project/f/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/client/components/builtin/unauthorized.js"],"global-error":[()=>a.r(240764),"[project]/project/f/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/client/components/builtin/global-error.js"]},[]],K={require:a.r.bind(a),loadChunk:a.l.bind(a)},L=new c.AppPageRouteModule({definition:{kind:d.RouteKind.APP_PAGE,page:"/workspaces/[workspaceId]/projects/[projectId]/page",pathname:"/workspaces/[workspaceId]/projects/[projectId]",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:J},distDir:".next",relativeProjectDir:""});async function M(b,c,N){var O,P,Q,R,S;N.requestMeta&&(0,g.setRequestMeta)(b,N.requestMeta),L.isDev&&(0,g.addRequestMeta)(b,"devRequestTimingInternalsEnd",process.hrtime.bigint());let T=!!(0,g.getRequestMeta)(b,"minimalMode"),U="/workspaces/[workspaceId]/projects/[projectId]/page";U=U.replace(/\/index$/,"")||"/";let V=await L.prepare(b,c,{srcPage:U,multiZoneDraftMode:!1});if(!V)return c.statusCode=400,c.end("Bad Request"),null==N.waitUntil||N.waitUntil.call(N,Promise.resolve()),null;let{buildId:W,query:X,params:Y,pageIsDynamic:Z,buildManifest:$,nextFontManifest:_,reactLoadableManifest:aa,serverActionsManifest:ab,clientReferenceManifest:ac,subresourceIntegrityManifest:ad,prerenderManifest:ae,isDraftMode:af,resolvedPathname:ag,revalidateOnlyGenerated:ah,routerServerContext:ai,nextConfig:aj,parsedUrl:ak,interceptionRoutePatterns:al,deploymentId:am,clientAssetToken:an}=V,ao=(0,p.normalizeAppPath)(U),{isOnDemandRevalidate:ap}=V,aq=aj.experimental.ppr&&!aj.cacheComponents&&(0,H.isInterceptionRouteAppPath)(ag)?null:L.match(ag,ae),ar=(null==aq?void 0:aq.route)??null,as=!!ae.routes[ag],at=b.headers["user-agent"]||"",au=(0,s.getBotType)(at),av=(0,o.isHtmlBotRequest)(b),aw=(0,g.getRequestMeta)(b,"isPrefetchRSCRequest")??"1"===b.headers[r.NEXT_ROUTER_PREFETCH_HEADER],ax=(0,g.getRequestMeta)(b,"isRSCRequest")??!!b.headers[r.RSC_HEADER],ay=(0,q.getIsPossibleServerAction)(b),az=(0,l.checkIsAppPPREnabled)(aj.experimental.ppr),aA=b.headers[w.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,g.getRequestMeta)(b,"postponed")&&T&&az&&ay&&aA&&"string"==typeof aA){let d=parseInt(aA,10),{maxPostponedStateSize:e,maxPostponedStateSizeBytes:f}=(0,C.getMaxPostponedStateSize)(aj.experimental.maxPostponedStateSize);if(!isNaN(d)&&d>0){if(d>f)return c.statusCode=413,c.end((0,C.getPostponedStateExceededErrorMessage)(e)),null==N.waitUntil||N.waitUntil.call(N,Promise.resolve()),null;let h="1 MB",i=(null==(S=aj.experimental.serverActions)?void 0:S.bodySizeLimit)??h,j=d+(i!==h?a.r(947709).parse(i):1048576),k=await (0,C.readBodyWithSizeLimit)(b,j);if(null===k)return c.statusCode=413,c.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==N.waitUntil||N.waitUntil.call(N,Promise.resolve()),null;if(k.length>=d){let a=k.subarray(0,d).toString("utf8");(0,g.addRequestMeta)(b,"postponed",a);let c=k.subarray(d);(0,g.addRequestMeta)(b,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${d} bytes of postponed state but only received ${k.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,g.getRequestMeta)(b,"postponed")&&az&&"1"===b.headers[w.NEXT_RESUME_HEADER]&&"POST"===b.method){let{maxPostponedStateSize:a,maxPostponedStateSizeBytes:d}=(0,C.getMaxPostponedStateSize)(aj.experimental.maxPostponedStateSize),e=await (0,C.readBodyWithSizeLimit)(b,d);if(null===e)return c.statusCode=413,c.end((0,C.getPostponedStateExceededErrorMessage)(a)),null==N.waitUntil||N.waitUntil.call(N,Promise.resolve()),null;let f=e.toString("utf8");(0,g.addRequestMeta)(b,"postponed",f)}let aB=!0===L.isDev||!0===aj.experimental.exposeTestingApiInProductionBuild,aC=aB&&("1"===b.headers[r.NEXT_INSTANT_PREFETCH_HEADER]||void 0===b.headers[r.RSC_HEADER]&&"string"==typeof b.headers.cookie&&b.headers.cookie.includes(r.NEXT_INSTANT_TEST_COOKIE+"=")),aD=(az||aC)&&((null==(O=ae.routes[ao]??ae.dynamicRoutes[ao])?void 0:O.renderingMode)==="PARTIALLY_STATIC"||aC&&(aB||(null==ai?void 0:ai.experimentalTestProxy)===!0)),aE=aC&&aD,aF=aE&&!0===L.isDev,aG=!1,aH=aD?(0,g.getRequestMeta)(b,"postponed"):void 0,aI=null==(P=ae.routes[ag])?void 0:P.prefetchDataRoute,aJ=aD&&ax&&!aw&&!aI;T&&(aJ=aJ&&!!aH);let aK=(0,g.getRequestMeta)(b,"segmentPrefetchRSCRequest"),aL=(!au||!aD)&&(!at||(0,o.shouldServeStreamingMetadata)(at,aj.htmlLimitedBots)),aM=!!((ar||as||ae.routes[ao])&&!(au&&aD)),aN=aD&&!0===aj.cacheComponents,aO=!0===L.isDev||!aM||"string"==typeof aH||(aN&&(0,g.getRequestMeta)(b,"onCacheEntryV2")?aJ&&!T:aJ),aP=!!au&&aD,aQ=(null==ar?void 0:ar.remainingPrerenderableParams)??[],aR=(null==ar?void 0:ar.fallback)===null&&((null==(Q=ar.fallbackRootParams)?void 0:Q.length)??0)>0,aS=null;if(!af&&aM&&!aO&&!ay&&!aH&&!aJ){let a=aq?"string"==typeof(null==ar?void 0:ar.fallback)?ar.fallback:aq.source:null;if(!0===aj.experimental.partialFallbacks&&a&&(null==ar?void 0:ar.fallbackRouteParams)&&!aR){if(aQ.length>0){let b,c=(b=new Map(aQ.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,I.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==Y?void 0:Y[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace(function(a){let{repeat:b,optional:c}=(0,I.getParamProperties)(a.paramType);return c?`[[...${a.paramName}]]`:b?`[...${a.paramName}]`:`[${a.paramName}]`}(d),f)}).join("/")||"/");aS=c!==a?c:null}}else aS=ag}let aT=aS;!aT&&(L.isDev||aM&&Z&&(null==ar?void 0:ar.fallbackRouteParams)&&!ay)&&(aT=ag),L.isDev||af||!aM||!ax||aJ||(0,j.stripFlightHeaders)(b.headers);let aU={...D,tree:J,handler:M,routeModule:L,__next_app__:K};ab&&ac&&(0,n.setManifestsSingleton)({page:U,clientReferenceManifest:ac,serverActionsManifest:ab});let aV=b.method||"GET",aW=(0,f.getTracer)(),aX=aW.getActiveScopeSpan(),aY=!!(null==ai?void 0:ai.isWrappedByNextServer),aZ=!0===aj.experimental.partialFallbacks&&aQ.length>0?(null==ar||null==(R=ar.fallbackRouteParams)?void 0:R.filter(a=>!aQ.some(b=>b.paramName===a.paramName)))??[]:[],a$=async()=>((null==ai?void 0:ai.render404)?await ai.render404(b,c,ak,!1):c.end("This page could not be found"),null);try{let a,e=L.getVaryHeader(ag,al);c.setHeader("Vary",e);let j=async(d,e)=>{let f=new k.NodeNextRequest(b),g=new k.NodeNextResponse(c);return L.render(f,g,e).finally(()=>{if(!d)return;d.setAttributes({"http.status_code":c.statusCode,"next.rsc":!1});let b=aW.getRootSpanAttributes();if(!b)return;if(b.get("next.span_type")!==h.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${b.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=b.get("next.route");if(e){let b=`${aV} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),d.updateName(b),a&&a!==d&&(a.setAttribute("http.route",e),a.updateName(b))}else d.updateName(`${aV} ${U}`)})},l=(0,g.getRequestMeta)(b,"incrementalCache")||await L.getIncrementalCache(b,aj,ae,T);null==l||l.resetRequestCache(),globalThis.__incrementalCache=l;let n=async({span:a,postponed:d,fallbackRouteParams:e,forceStaticRender:f})=>{let h={query:X,params:Y,page:ao,sharedContext:{buildId:W,deploymentId:am,clientAssetToken:an},serverComponentsHmrCache:(0,g.getRequestMeta)(b,"serverComponentsHmrCache"),fallbackRouteParams:e,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aU,Component:(0,i.interopDefault)(aU),params:Y,routeModule:L,page:U,postponed:d,shouldWaitOnAllReady:aP,serveStreamingMetadata:aL,supportsDynamicResponse:"string"==typeof d||aO,buildManifest:$,nextFontManifest:_,reactLoadableManifest:aa,subresourceIntegrityManifest:ad,setCacheStatus:null==ai?void 0:ai.setCacheStatus,setIsrStatus:null==ai?void 0:ai.setIsrStatus,setReactDebugChannel:null==ai?void 0:ai.setReactDebugChannel,sendErrorsToBrowser:null==ai?void 0:ai.sendErrorsToBrowser,dir:require("path").join(process.cwd(),L.relativeProjectDir),isDraftMode:af,botType:au,isOnDemandRevalidate:ap,isPossibleServerAction:ay,assetPrefix:aj.assetPrefix,nextConfigOutput:aj.output,crossOrigin:aj.crossOrigin,trailingSlash:aj.trailingSlash,images:aj.images,previewProps:ae.preview,enableTainting:aj.experimental.taint,htmlLimitedBots:aj.htmlLimitedBots,reactMaxHeadersLength:aj.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:l,cacheLifeProfiles:aj.cacheLife,basePath:aj.basePath,serverActions:aj.experimental.serverActions,logServerFunctions:"object"==typeof aj.logging&&!!aj.logging.serverFunctions,...aE||aF||aG?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aF}:{},cacheComponents:!!aj.cacheComponents,experimental:{isRoutePPREnabled:aD,expireTime:aj.expireTime,staleTimes:aj.experimental.staleTimes,dynamicOnHover:!!aj.experimental.dynamicOnHover,optimisticRouting:!!aj.experimental.optimisticRouting,inlineCss:!!aj.experimental.inlineCss,prefetchInlining:aj.experimental.prefetchInlining??!1,authInterrupts:!!aj.experimental.authInterrupts,cachedNavigations:!!aj.experimental.cachedNavigations,clientTraceMetadata:aj.experimental.clientTraceMetadata||[],clientParamParsingOrigins:aj.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,B.parseMaxPostponedStateSize)(aj.experimental.maxPostponedStateSize)},waitUntil:N.waitUntil,onClose:a=>{c.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(a,c,d,e)=>L.onRequestError(b,a,d,e,ai),err:(0,g.getRequestMeta)(b,"invokeError")}};f&&(h.renderOpts.supportsDynamicResponse=!1);let k=await j(a,h),{metadata:m}=k,{cacheControl:n,headers:o={},fetchTags:p,fetchMetrics:q}=m;if(p&&(o[w.NEXT_CACHE_TAGS_HEADER]=p),b.fetchMetrics=q,aM&&(null==n?void 0:n.revalidate)===0&&!L.isDev&&!aD){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ag}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
2
+ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:t.CachedRouteKind.APP_PAGE,html:k,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},o=async({hasResolved:a,previousCacheEntry:e,isRevalidating:f,span:h,forceStaticRender:i=!1})=>{let j,k=!1===L.isDev,p=a||c.writableEnded;if(ap&&ah&&!e&&!T)return(null==ai?void 0:ai.render404)?await ai.render404(b,c):(c.statusCode=404,c.end("This page could not be found")),null;if(ar&&(j=(0,u.parseFallbackField)(ar.fallback)),!0===aj.experimental.partialFallbacks&&(null==ar?void 0:ar.fallback)===null&&!aR&&aQ.length>0&&(j=u.FallbackMode.PRERENDER),j===u.FallbackMode.PRERENDER&&(0,s.isBot)(at)&&(!aD||av)&&(j=u.FallbackMode.BLOCKING_STATIC_RENDER),(null==e?void 0:e.isStale)===-1&&(ap=!0),ap&&(j!==u.FallbackMode.NOT_FOUND||e)&&(j=u.FallbackMode.BLOCKING_STATIC_RENDER),!T&&j!==u.FallbackMode.BLOCKING_STATIC_RENDER&&aT&&!p&&!af&&Z&&(k||!as)){if((k||ar)&&j===u.FallbackMode.NOT_FOUND){if(aj.adapterPath)return await a$();throw new A.NoFallbackError}if(aD&&(aj.cacheComponents?!aJ:!ax)){let c=k&&"string"==typeof(null==ar?void 0:ar.fallback)?ar.fallback:ao,e=(k||aE)&&(null==ar?void 0:ar.fallbackRouteParams)?(0,m.createOpaqueFallbackRouteParams)(ar.fallbackRouteParams):aG?(0,m.getFallbackRouteParams)(ao,L):null;aE&&e&&(0,g.addRequestMeta)(b,"fallbackParams",e);let f=await L.handleResponse({cacheKey:c,req:b,nextConfig:aj,routeKind:d.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ae,isRoutePPREnabled:aD,responseGenerator:async()=>n({span:h,postponed:void 0,fallbackRouteParams:e,forceStaticRender:!0}),waitUntil:N.waitUntil,isMinimalMode:T});if(null===f)return null;if(f)return T||!aD||!(aQ.length>0)||!0!==aj.experimental.partialFallbacks||!aS||!l||ap||aG||aB||aC||aw||(0,G.scheduleOnNextTick)(async()=>{let c=L.getResponseCache(b);try{await c.revalidate(aS,l,aD,!1,a=>n({span:a.span,postponed:void 0,fallbackRouteParams:aZ.length>0?(0,m.createOpaqueFallbackRouteParams)(aZ):null,forceStaticRender:!0}),null,a,N.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete f.cacheControl,f}}let q=ap||f||!aH?void 0:aH;if(aN&&!T&&l&&(aJ||ay)&&!i){let c=await l.get(ag,{kind:t.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});c&&c.value&&c.value.kind===t.CachedRouteKind.APP_PAGE&&(q=c.value.postponed,c&&(-1===c.isStale||!0===c.isStale)&&(0,G.scheduleOnNextTick)(async()=>{let c=L.getResponseCache(b);try{await c.revalidate(ag,l,aD,!1,a=>o({...a,forceStaticRender:!0}),null,a,N.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aE||aF)&&void 0!==q)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:t.CachedRouteKind.PAGES,html:v.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let r=(k&&(0,g.getRequestMeta)(b,"renderFallbackShell")||aE&&!as)&&(null==ar?void 0:ar.fallbackRouteParams)?(0,m.createOpaqueFallbackRouteParams)(ar.fallbackRouteParams):aG?(0,m.getFallbackRouteParams)(ao,L):null;if((k||aE)&&aj.cacheComponents&&!as&&(null==ar?void 0:ar.fallbackRouteParams)){let a=(0,m.createOpaqueFallbackRouteParams)(ar.fallbackRouteParams);a&&(0,g.addRequestMeta)(b,"fallbackParams",a)}return n({span:h,postponed:q,fallbackRouteParams:r,forceStaticRender:i})},p=async a=>{var e,f,h,i,j;let k,l=await L.handleResponse({cacheKey:aS,responseGenerator:b=>o({span:a,...b}),routeKind:d.RouteKind.APP_PAGE,isOnDemandRevalidate:ap,isRoutePPREnabled:aD,req:b,nextConfig:aj,prerenderManifest:ae,waitUntil:N.waitUntil,isMinimalMode:T});if(af&&c.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),L.isDev&&c.setHeader("Cache-Control","no-cache, must-revalidate"),!l){if(aS)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(e=l.value)?void 0:e.kind)!==t.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(h=l.value)?void 0:h.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let m="string"==typeof l.value.postponed;ax&&!ay&&am&&c.setHeader(w.NEXT_NAV_DEPLOYMENT_ID_HEADER,am),aM&&!aJ&&(!m||aw)&&(T||c.setHeader("x-nextjs-cache",ap?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),c.setHeader(r.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=l;if(aH)k={revalidate:0,expire:void 0};else if(aJ)k={revalidate:0,expire:void 0};else if(!L.isDev)if(af)k={revalidate:0,expire:void 0};else if(aM){if(l.cacheControl)if("number"==typeof l.cacheControl.revalidate){if(l.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${l.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});k={revalidate:l.cacheControl.revalidate,expire:(null==(i=l.cacheControl)?void 0:i.expire)??aj.expireTime}}else k={revalidate:w.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else c.getHeader("Cache-Control")||(k={revalidate:0,expire:void 0});if(l.cacheControl=k,"string"==typeof aK&&(null==p?void 0:p.kind)===t.CachedRouteKind.APP_PAGE&&p.segmentData){c.setHeader(r.NEXT_DID_POSTPONE_HEADER,"2");let a=null==(j=p.headers)?void 0:j[w.NEXT_CACHE_TAGS_HEADER];T&&aM&&a&&"string"==typeof a&&c.setHeader(w.NEXT_CACHE_TAGS_HEADER,a);let d=p.segmentData.get(aK);return void 0!==d?(0,z.sendRenderResult)({req:b,res:c,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:v.default.fromStatic(d,r.RSC_CONTENT_TYPE_HEADER),cacheControl:l.cacheControl}):(c.statusCode=204,(0,z.sendRenderResult)({req:b,res:c,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:v.default.EMPTY,cacheControl:l.cacheControl}))}let q=aN?(0,g.getRequestMeta)(b,"onCacheEntryV2")??(0,g.getRequestMeta)(b,"onCacheEntry"):(0,g.getRequestMeta)(b,"onCacheEntry");if(q&&await q(l,{url:(0,g.getRequestMeta)(b,"initURL")??b.url}))return null;if(p.headers){let a={...p.headers};for(let[b,d]of(T&&aM||delete a[w.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)c.appendHeader(b,a);else"number"==typeof d&&(d=d.toString()),c.appendHeader(b,d)}let s=null==(f=p.headers)?void 0:f[w.NEXT_CACHE_TAGS_HEADER];if(T&&aM&&s&&"string"==typeof s&&c.setHeader(w.NEXT_CACHE_TAGS_HEADER,s),!p.status||ax&&aD||(c.statusCode=p.status),!T&&p.status&&E.RedirectStatusCode[p.status]&&ax&&(c.statusCode=200),m&&!aJ&&c.setHeader(r.NEXT_DID_POSTPONE_HEADER,"1"),ax&&!af){if(void 0===p.rscData){if(p.html.contentType!==r.RSC_CONTENT_TYPE_HEADER)if(aj.cacheComponents)return c.statusCode=404,(0,z.sendRenderResult)({req:b,res:c,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:v.default.EMPTY,cacheControl:l.cacheControl});else throw Object.defineProperty(new F.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,z.sendRenderResult)({req:b,res:c,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:p.html,cacheControl:l.cacheControl})}return(0,z.sendRenderResult)({req:b,res:c,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:v.default.fromStatic(p.rscData,r.RSC_CONTENT_TYPE_HEADER),cacheControl:l.cacheControl})}let u=p.html;if(aC&&aE){let a=!0===L.isDev?crypto.randomUUID():null;return u.pipeThrough((0,y.createInstantTestScriptInsertionTransformStream)(a)),(0,z.sendRenderResult)({req:b,res:c,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}})}if(!m||T||ax)return(0,z.sendRenderResult)({req:b,res:c,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:u,cacheControl:l.cacheControl});if(aE||aF)return u.push(new ReadableStream({start(a){a.enqueue(x.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,z.sendRenderResult)({req:b,res:c,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}});let A=new TransformStream;return u.push(A.readable),n({span:a,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==t.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(A.writable)}).catch(a=>{A.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,z.sendRenderResult)({req:b,res:c,generateEtags:aj.generateEtags,poweredByHeader:aj.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}})};if(!aY||!aX)return a=aW.getActiveScopeSpan(),await aW.withPropagatedContext(b.headers,()=>aW.trace(h.BaseServerSpan.handleRequest,{spanName:`${aV} ${U}`,kind:f.SpanKind.SERVER,attributes:{"http.method":aV,"http.target":b.url}},p),void 0,!aY);await p(aX)}catch(a){throw a instanceof A.NoFallbackError||await L.onRequestError(b,a,{routerKind:"App Router",routePath:U,routeType:"render",revalidateReason:(0,e.getRevalidateReason)({isStaticGeneration:aM,isOnDemandRevalidate:ap})},!1,ai),a}}a.s(["__next_app__",0,K,"handler",0,M,"routeModule",0,L],288286),a.i(288286),a.s(["ClientPageRoot",()=>D.ClientPageRoot,"ClientSegmentRoot",()=>D.ClientSegmentRoot,"Fragment",()=>D.Fragment,"HTTPAccessFallbackBoundary",()=>D.HTTPAccessFallbackBoundary,"InstantValidation",()=>D.InstantValidation,"LayoutRouter",()=>D.LayoutRouter,"LoadingBoundaryProvider",()=>D.LoadingBoundaryProvider,"Postpone",()=>D.Postpone,"RenderFromTemplateContext",()=>D.RenderFromTemplateContext,"RootLayoutBoundary",()=>D.RootLayoutBoundary,"SegmentViewNode",()=>D.SegmentViewNode,"SegmentViewStateNode",()=>D.SegmentViewStateNode,"__next_app__",0,K,"actionAsyncStorage",()=>D.actionAsyncStorage,"captureOwnerStack",()=>D.captureOwnerStack,"collectPrefetchHints",()=>D.collectPrefetchHints,"collectSegmentData",()=>D.collectSegmentData,"createElement",()=>D.createElement,"createMetadataComponents",()=>D.createMetadataComponents,"createPrerenderParamsForClientSegment",()=>D.createPrerenderParamsForClientSegment,"createPrerenderSearchParamsForClientPage",()=>D.createPrerenderSearchParamsForClientPage,"createServerParamsForServerSegment",()=>D.createServerParamsForServerSegment,"createServerSearchParamsForServerPage",()=>D.createServerSearchParamsForServerPage,"createTemporaryReferenceSet",()=>D.createTemporaryReferenceSet,"decodeAction",()=>D.decodeAction,"decodeFormState",()=>D.decodeFormState,"decodeReply",()=>D.decodeReply,"handler",0,M,"patchFetch",()=>D.patchFetch,"preconnect",()=>D.preconnect,"preloadFont",()=>D.preloadFont,"preloadStyle",()=>D.preloadStyle,"prerender",()=>D.prerender,"renderToReadableStream",()=>D.renderToReadableStream,"routeModule",0,L,"serverHooks",()=>D.serverHooks,"taintObjectReference",()=>D.taintObjectReference,"workAsyncStorage",()=>D.workAsyncStorage,"workUnitAsyncStorage",()=>D.workUnitAsyncStorage],168190)}];
3
+
4
+ //# sourceMappingURL=0uz~_next_dist_esm_build_templates_app-page_13jghu9.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[57726,891903,a=>{"use strict";var b=a.i(65735);a.s(["CheckCircle2",()=>b.default],57726);let c=(0,a.i(302856).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["XCircle",0,c],891903)},236413,a=>{"use strict";let b=(0,a.i(302856).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",0,b],236413)},506008,a=>{"use strict";var b=a.i(360295);a.s(["ChevronRight",()=>b.default])},769726,a=>{"use strict";let b=(0,a.i(302856).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",0,b],769726)}];
2
+
3
+ //# sourceMappingURL=0xjs_lucide-react_dist_esm_icons_0l6be37._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[25422,a=>{"use strict";var b=a.i(858360),c=a.i(175391),d=a.i(109434),e=a.i(515205),f=a.i(584335),g=a.i(245095),h=a.i(879876);let i=(0,h.createServerReference)("40870caaf2b99caede2d1f3d00d181fc220d73e640",h.callServer,void 0,h.findSourceMapURL,"getProjectAssets");var j=a.i(986379),k=a.i(468518),l=a.i(161604),m=a.i(797896),n=a.i(569210),o=a.i(410756);function p(a){let b=a.match(/(?:^|\/)(?:storage|data)\/assets\/([^/]+)\/([^/]+)$/);return b?`/api/files/assets/${b[1]}/${b[2]}`:a}function q({asset:a,onPreview:c,onReveal:d,onDelete:e,onTaskClick:g}){var h;let{t:i}=(0,f.useI18n)(),k=p(a.path),r=a.mimeType?.startsWith("image/");return(0,b.jsxs)("div",{className:"flex items-center gap-4 rounded-lg border border-border bg-card px-4 py-3 transition-colors hover:bg-accent/20",children:[(0,b.jsx)(o.Button,{variant:"ghost",onClick:()=>c(a),className:"flex-shrink-0 cursor-pointer p-0 h-auto",children:r?(0,b.jsx)("img",{src:k,alt:a.filename,className:"h-12 w-12 rounded object-cover border border-border"}):(0,b.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded border border-border bg-muted",children:(0,b.jsx)(l.FileText,{className:"h-6 w-6 text-muted-foreground"})})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("p",{className:"truncate text-sm font-medium text-foreground",children:a.filename}),a.taskTitle&&a.taskId&&(0,b.jsx)(o.Button,{variant:"ghost",onClick:b=>{b.stopPropagation(),g?.(a.taskId)},className:"flex-shrink-0 bg-blue-500/10 text-blue-600 dark:text-blue-400 text-xs px-1.5 py-0.5 rounded cursor-pointer hover:bg-blue-500/20 transition-colors h-auto",children:a.taskTitle.length>20?`[任务: ${a.taskTitle.slice(0,20)}...]`:`[任务: ${a.taskTitle}]`})]}),a.description&&(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground truncate",children:a.description}),(0,b.jsxs)("div",{className:"mt-0.5 flex items-center gap-3 text-xs text-muted-foreground",children:[(0,b.jsx)("span",{children:null===(h=a.size)?"-":h<1024?`${h} B`:h<1048576?`${(h/1024).toFixed(1)} KB`:h<0x40000000?`${(h/1048576).toFixed(1)} MB`:`${(h/0x40000000).toFixed(1)} GB`}),(0,b.jsx)("span",{children:new Date(a.createdAt).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 flex-shrink-0",children:[(0,b.jsx)(o.Button,{variant:"ghost",size:"icon",onClick:()=>c(a),className:"text-muted-foreground","aria-label":i("assets.preview"),children:(0,b.jsx)(m.Eye,{className:"h-4 w-4"})}),(0,b.jsx)(o.Button,{variant:"ghost",size:"icon",onClick:()=>d(a),className:"text-muted-foreground","aria-label":i("assets.revealInFinder"),children:(0,b.jsx)(j.FolderOpen,{className:"h-4 w-4"})}),(0,b.jsx)(o.Button,{variant:"ghost",size:"icon",onClick:()=>e(a.id),className:"text-muted-foreground hover:text-rose-400","aria-label":i("assets.delete"),children:(0,b.jsx)(n.Trash2,{className:"h-4 w-4"})})]})]})}function r({assets:a,onPreview:c,onReveal:d,onDelete:e,onTaskClick:g}){let{t:h}=(0,f.useI18n)();return 0===a.length?(0,b.jsx)(k.EmptyState,{icon:j.FolderOpen,title:h("assets.empty"),description:h("assets.emptyHint")}):(0,b.jsx)("div",{className:"flex flex-col gap-3",children:a.map(a=>(0,b.jsx)(q,{asset:a,onPreview:c,onReveal:d,onDelete:e,onTaskClick:g},a.id))})}var s=a.i(208168),t=a.i(54709),u=a.i(319884),v=a.i(246962),w=a.i(224372);function x({allWorkspaces:a,initialWsId:d,initialProjectId:e,onUploaded:g}){let h,{t:i}=(0,f.useI18n)(),j=(0,c.useRef)(null),[k,l]=(0,c.useState)(!1),[m,n]=(0,c.useState)(!1),[p,q]=(0,c.useState)(null),[r,y]=(0,c.useState)(d),[z,A]=(0,c.useState)(e),[B,C]=(0,c.useState)(""),D=a.find(a=>a.id===r),E=D?.projects??[],F=()=>{l(!1),q(null),j.current&&(j.current.value="")},G=async()=>{if(p&&z){n(!0);try{let a=new FormData;a.append("file",p),a.append("projectId",z),a.append("description",B.trim()),await (0,u.uploadAsset)(a),g(z),F()}finally{n(!1)}}};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(o.Button,{onClick:()=>{y(d),A(e),q(null),C(""),l(!0)},className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:[(0,b.jsx)(s.Upload,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:i("assets.upload")})]}),k&&(0,b.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[(0,b.jsx)("div",{className:"absolute inset-0 bg-black/50",onClick:F}),(0,b.jsxs)("div",{className:"relative w-full max-w-md rounded-lg border border-border bg-card p-6 shadow-lg",children:[(0,b.jsx)(o.Button,{variant:"ghost",size:"icon-xs",onClick:F,className:"absolute right-3 top-3 text-muted-foreground",children:(0,b.jsx)(t.X,{className:"h-4 w-4"})}),(0,b.jsx)("h3",{className:"text-sm font-semibold text-foreground mb-4",children:i("assets.uploadTitle")}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground w-16 shrink-0",children:i("assets.workspace")}),(0,b.jsxs)(w.Select,{value:r,onValueChange:b=>{var c;let d;return y(c=b??""),d=a.find(a=>a.id===c),void A(d?.projects[0]?.id??null)},children:[(0,b.jsx)(w.SelectTrigger,{className:"flex-1 text-xs",children:(0,b.jsx)("span",{className:"truncate",children:D?.name??r})}),(0,b.jsx)(w.SelectContent,{children:a.map(a=>(0,b.jsx)(w.SelectItem,{value:a.id,children:a.name},a.id))})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground w-16 shrink-0",children:i("assets.project")}),E.length>0?(0,b.jsxs)(w.Select,{value:z??"",onValueChange:a=>A(a??""),children:[(0,b.jsx)(w.SelectTrigger,{className:"flex-1 text-xs",children:(0,b.jsx)("span",{className:"truncate",children:(h=E.find(a=>a.id===z))?h.alias?`${h.name} (${h.alias})`:h.name:z})}),(0,b.jsx)(w.SelectContent,{children:E.map(a=>{let c=a.alias?`${a.name} (${a.alias})`:a.name;return(0,b.jsx)(w.SelectItem,{value:a.id,children:c},a.id)})})]}):(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:i("assets.noProject")})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground w-16 shrink-0",children:i("assets.file")}),(0,b.jsx)("input",{type:"file",ref:j,onChange:a=>{q(a.target.files?.[0]??null)},className:"hidden"}),(0,b.jsx)(o.Button,{variant:"outline",onClick:()=>{j.current?.click()},className:"flex-1 border-dashed bg-background px-3 py-2 text-xs text-muted-foreground hover:border-primary/50 hover:text-foreground transition-colors text-left justify-start",children:p?p.name:i("assets.selectFile")})]}),(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground w-16 shrink-0 pt-1.5",children:i("assets.description")}),(0,b.jsx)(v.Textarea,{value:B,onChange:a=>C(a.target.value),placeholder:i("assets.descriptionPlaceholder"),className:"flex-1 rounded-md border border-border bg-background px-3 py-2 text-xs text-foreground focus:outline-none focus:ring-1 focus:ring-ring resize-none h-20"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 justify-end mt-6",children:[(0,b.jsx)(o.Button,{variant:"outline",onClick:F,children:i("notes.cancel")}),(0,b.jsx)(o.Button,{onClick:G,disabled:!p||!z||!B.trim()||m,className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:i(m?"assets.uploading":"assets.upload")})]})]})]})]})}var y=a.i(857122);function z({imageUrl:a,filename:d,open:e,onOpenChange:f}){let[g,h]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{h(!1)},[e]),(0,b.jsx)(y.Dialog,{open:e,onOpenChange:f,children:(0,b.jsxs)(y.DialogContent,{showCloseButton:!1,className:"max-w-[90vw] max-h-[90vh] p-0 overflow-hidden bg-black/90 ring-0",children:[(0,b.jsx)(y.DialogClose,{render:(0,b.jsx)(o.Button,{variant:"ghost",className:"absolute top-2 right-2 z-10 h-8 w-8 p-0 text-white hover:bg-white/20 hover:text-white"}),"aria-label":"Close",children:(0,b.jsx)(t.X,{className:"h-4 w-4"})}),a&&(0,b.jsx)(b.Fragment,{children:g?(0,b.jsx)("div",{className:"overflow-auto max-w-[90vw] max-h-[90vh]",children:(0,b.jsx)("img",{src:a,alt:d,onClick:()=>h(!1),className:"w-auto h-auto max-w-none cursor-zoom-out"})}):(0,b.jsx)("img",{src:a,alt:d,onClick:()=>h(!0),className:"max-w-full max-h-[85vh] object-contain cursor-zoom-in mx-auto"})}),(0,b.jsx)("span",{className:"absolute bottom-2 left-3 text-xs text-white/70 truncate max-w-[60%]",children:d})]})})}var A=a.i(448709),B=a.i(238848);function C({url:a,filename:e,open:g,onOpenChange:h}){let{t:i}=(0,f.useI18n)(),[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(!1),[n,o]=(0,c.useState)(null);(0,c.useEffect)(()=>{if(!g||!a){k(null),o(null);return}let b=!1;return m(!0),o(null),k(null),fetch(a).then(a=>{let b=a.headers.get("content-length");if(b&&parseInt(b,10)>1048576)throw Error("FILE_TOO_LARGE");return a.text()}).then(a=>{if(a.length>1048576)throw Error("FILE_TOO_LARGE");b||(k(a),m(!1))}).catch(a=>{b||(a instanceof Error&&"FILE_TOO_LARGE"===a.message?o(i("assets.fileTooLarge")):o(i("assets.previewError")),m(!1))}),()=>{b=!0}},[g,a,i]);let p=e.split(".").pop()?.toLowerCase();return(0,b.jsx)(y.Dialog,{open:g,onOpenChange:h,children:(0,b.jsxs)(y.DialogContent,{className:"max-w-3xl max-h-[80vh] flex flex-col",children:[(0,b.jsx)("h3",{className:"text-sm font-medium truncate px-4 pt-4",children:e}),(0,b.jsx)("div",{className:"flex-1 overflow-auto px-4 pb-4 pt-2",children:(()=>{if(l)return(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 gap-2",children:[(0,b.jsx)(d.Loader2,{className:"size-5 animate-spin text-muted-foreground"}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:i("assets.loadingPreview")})]});if(n)return(0,b.jsx)("p",{className:"text-sm text-destructive",children:n});if(null===j)return null;if("md"===p)return(0,b.jsx)("div",{className:"prose prose-sm dark:prose-invert max-w-none",children:(0,b.jsx)(A.default,{remarkPlugins:[B.default],children:j})});if("json"===p){let a;try{a=JSON.stringify(JSON.parse(j),null,2)}catch{a=j}return(0,b.jsx)("pre",{className:"font-mono text-xs whitespace-pre-wrap text-foreground",children:a})}return(0,b.jsx)("pre",{className:"font-mono text-sm whitespace-pre-wrap text-foreground",children:j})})()})]})})}var D=a.i(207300),E=a.i(44585),F=a.i(468779);function G({...a}){return(0,b.jsx)(D.Dialog.Root,{"data-slot":"sheet",...a})}function H({...a}){return(0,b.jsx)(D.Dialog.Portal,{"data-slot":"sheet-portal",...a})}function I({className:a,...c}){return(0,b.jsx)(D.Dialog.Backdrop,{"data-slot":"sheet-overlay",className:(0,E.cn)("fixed inset-0 z-50 bg-black/10 transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:backdrop-blur-xs",a),...c})}function J({className:a,children:c,side:d="right",showCloseButton:e=!0,...f}){return(0,b.jsxs)(H,{children:[(0,b.jsx)(I,{}),(0,b.jsxs)(D.Dialog.Popup,{"data-slot":"sheet-content","data-side":d,className:(0,E.cn)("fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm",a),...f,children:[c,e&&(0,b.jsxs)(D.Dialog.Close,{"data-slot":"sheet-close",render:(0,b.jsx)(o.Button,{variant:"ghost",className:"absolute top-3 right-3",size:"icon-sm"}),children:[(0,b.jsx)(F.XIcon,{}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function K({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sheet-header",className:(0,E.cn)("flex flex-col gap-0.5 p-4",a),...c})}function L({className:a,...c}){return(0,b.jsx)(D.Dialog.Title,{"data-slot":"sheet-title",className:(0,E.cn)("font-heading text-base font-medium text-foreground",a),...c})}function M({className:a,...c}){return(0,b.jsx)(D.Dialog.Description,{"data-slot":"sheet-description",className:(0,E.cn)("text-sm text-muted-foreground",a),...c})}var N=a.i(358440),O=a.i(48300);let P=(0,h.createServerReference)("40ae3f40b62ca3c5a2377e58d67b407afcf20387e5",h.callServer,void 0,h.findSourceMapURL,"getTaskOverview");var Q=a.i(113620),R=a.i(302856);let S=(0,R.default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]),T=(0,R.default)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);var U=a.i(236345);function V({open:a,onOpenChange:d,taskId:e}){let{t:g}=(0,f.useI18n)(),[h,i]=(0,c.useState)(null),[j,k]=(0,c.useTransition)();(0,c.useEffect)(()=>{e&&a?k(async()=>{let a=await P(e);a&&i(a)}):i(null)},[e,a]);let l=h?Q.BOARD_COLUMNS.find(a=>a.id===h.status):null,m=h?Q.PRIORITY_CONFIG[h.priority]:null,n=h?.executions?.[0]??null;return(0,b.jsx)(G,{open:a,onOpenChange:d,children:(0,b.jsxs)(J,{side:"right",className:"w-[380px] sm:max-w-[380px] p-0",children:[(0,b.jsxs)(K,{className:"px-4 pt-4 pb-3 border-b border-border",children:[(0,b.jsx)(L,{className:"text-base font-semibold leading-tight pr-8",children:h?.title??""}),(0,b.jsx)(M,{className:"sr-only",children:g("taskDrawer.title")}),h&&(0,b.jsxs)("div",{className:"flex items-center gap-2 mt-2",children:[l&&(0,b.jsxs)(O.Badge,{variant:"secondary",className:"text-xs",children:[(0,b.jsx)("span",{className:`inline-block w-2 h-2 rounded-full mr-1.5 ${l.color}`}),l.label]}),m&&(0,b.jsx)(O.Badge,{variant:"secondary",className:`text-xs ${m.color}`,children:m.label})]})]}),(0,b.jsx)(N.ScrollArea,{className:"flex-1 h-[calc(100%-80px)]",children:j&&!h?(0,b.jsx)("div",{className:"flex items-center justify-center h-32 text-sm text-muted-foreground",children:g("assets.loading")}):h?(0,b.jsxs)("div",{className:"p-4 space-y-4",children:[(0,b.jsxs)("section",{children:[(0,b.jsx)("h4",{className:"text-xs font-medium text-muted-foreground mb-1",children:g("taskDrawer.description")}),(0,b.jsx)("p",{className:"text-sm text-foreground whitespace-pre-wrap",children:h.description||g("taskDrawer.noDescription")})]}),h.labels.length>0&&(0,b.jsxs)("section",{children:[(0,b.jsx)("h4",{className:"text-xs font-medium text-muted-foreground mb-1.5",children:g("taskDrawer.labels")}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:h.labels.map(a=>(0,b.jsx)(O.Badge,{variant:"secondary",className:"text-xs",style:{backgroundColor:`${a.label.color}20`,color:a.label.color,borderColor:`${a.label.color}40`},children:a.label.name},a.label.id))})]}),(0,b.jsxs)("section",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)(S,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:g("taskDrawer.createdAt")}),(0,b.jsx)("span",{className:"text-foreground",children:new Date(h.createdAt).toLocaleDateString()})]}),(0,b.jsxs)("section",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)(T,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:g("taskDrawer.resources")}),(0,b.jsx)("span",{className:"text-foreground",children:h._count.assets})]}),(0,b.jsxs)("section",{children:[(0,b.jsxs)("h4",{className:"text-xs font-medium text-muted-foreground mb-1.5 flex items-center gap-1.5",children:[(0,b.jsx)(U.PlayCircle,{className:"h-3.5 w-3.5"}),g("taskDrawer.lastExecution")]}),n?(0,b.jsxs)("div",{className:"rounded-md border border-border p-2.5 text-sm",children:[(0,b.jsx)(O.Badge,{variant:"secondary",className:"text-xs mb-1.5",children:n.status}),n.summary&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-4",children:n.summary.slice(0,200)})]}):(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:g("taskDrawer.noExecution")})]})]}):null})]})})}var W=a.i(942308);a.s(["AssetsPageClient",0,function({allWorkspaces:a,initialWorkspaceId:h,initialProjectId:j,initialAssets:k}){let l,{t:m}=(0,f.useI18n)(),[n,o]=(0,c.useTransition)(),[q,s]=(0,c.useState)(h),[t,u]=(0,c.useState)(j),[v,y]=(0,c.useState)(k),[A,B]=(0,c.useState)(null),D=a.find(a=>a.id===q),E=D?.projects??[],F=(0,c.useCallback)(a=>{a?o(async()=>{y(await i(a))}):y([])},[o]),[G,H]=(0,c.useState)(null),I=G?G.mimeType?.startsWith("image/")?"image":/\.(txt|md|json)$/i.test(G.filename)?"text":null:null,J=async a=>{try{let b=await fetch("/api/internal/assets/reveal",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:a.path})});if(!b.ok){let a=await b.json().catch(()=>({}));W.toast.error(a.error||"Failed to reveal file")}}catch{W.toast.error("Failed to reveal file")}},K=async a=>{let b=v.find(b=>b.id===a);confirm(m("assets.deleteConfirm",{filename:b?.filename??a}))&&(await (0,g.deleteAsset)(a),F(t))};return(0,b.jsxs)("div",{className:"flex h-full flex-col overflow-hidden",children:[(0,b.jsx)(e.SubPageNav,{workspaceId:q}),(0,b.jsxs)("div",{className:"header-sm flex items-center gap-3 px-6 py-2",children:[(0,b.jsxs)(w.Select,{value:q,onValueChange:b=>b&&(b=>{if(b===q)return;s(b);let c=a.find(a=>a.id===b),d=c?.projects[0]??null;u(d?.id??null),F(d?.id??null)})(b),children:[(0,b.jsx)(w.SelectTrigger,{className:"h-8 w-auto min-w-[120px]",children:(0,b.jsx)("span",{className:"truncate",children:a.find(a=>a.id===q)?.name??q})}),(0,b.jsx)(w.SelectContent,{children:a.map(a=>(0,b.jsx)(w.SelectItem,{value:a.id,children:a.name},a.id))})]}),E.length>0&&(0,b.jsxs)(w.Select,{value:t??"",onValueChange:a=>a&&void(a!==t&&(u(a),F(a))),children:[(0,b.jsx)(w.SelectTrigger,{className:"h-8 w-auto min-w-[140px]",children:(0,b.jsx)("span",{className:"truncate",children:(l=E.find(a=>a.id===t))?l.alias?`${l.name} (${l.alias})`:l.name:""})}),(0,b.jsx)(w.SelectContent,{children:E.map(a=>(0,b.jsxs)(w.SelectItem,{value:a.id,children:[a.name,a.alias?` (${a.alias})`:""]},a.id))})]}),(0,b.jsx)("div",{className:"ml-auto",children:(0,b.jsx)(x,{allWorkspaces:a,initialWsId:q,initialProjectId:t,onUploaded:a=>{a===t&&F(t)}})})]}),(0,b.jsx)("div",{className:"flex-1 overflow-auto px-6 py-4",children:(0,b.jsxs)("div",{className:`relative ${n?"opacity-40 pointer-events-none":""} transition-opacity`,children:[n&&(0,b.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center",children:(0,b.jsx)(d.Loader2,{className:"size-5 animate-spin text-muted-foreground"})}),0===E.length?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center gap-2 py-16 text-center",children:[(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:m("assets.noProject")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:m("assets.noProjectHint")})]}):(0,b.jsx)(r,{assets:v.map(a=>({...a,taskId:a.task?.id??null,taskTitle:a.task?.title??null})),onPreview:a=>{let b=a.mimeType?.startsWith("image/"),c=/\.(txt|md|json)$/i.test(a.filename);(b||c)&&H(a)},onReveal:J,onDelete:K,onTaskClick:B})]})}),(0,b.jsx)(z,{imageUrl:"image"===I&&G?p(G.path):null,filename:G?.filename??"",open:"image"===I,onOpenChange:a=>{a||H(null)}}),(0,b.jsx)(C,{url:"text"===I&&G?p(G.path):null,filename:G?.filename??"",open:"text"===I,onOpenChange:a=>{a||H(null)}}),(0,b.jsx)(V,{open:!!A,onOpenChange:a=>{a||B(null)},taskId:A})]})}],25422)}];
2
+
3
+ //# sourceMappingURL=0y0r_f_tower_src_app_workspaces_%5BworkspaceId%5D_assets_assets-page-client_tsx_0n4g3bn._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[193695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},184859,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return e}});class d extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class e extends URLSearchParams{append(){throw new d}delete(){throw new d}set(){throw new d}sort(){throw new d}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},260230,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"RedirectStatusCode",{enumerable:!0,get:function(){return e}});var d,e=((d={})[d.SeeOther=303]="SeeOther",d[d.TemporaryRedirect=307]="TemporaryRedirect",d[d.PermanentRedirect=308]="PermanentRedirect",d);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},261164,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={REDIRECT_ERROR_CODE:function(){return g},isRedirectError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(260230),g="NEXT_REDIRECT";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let b=a.digest.split(";"),[c,d]=b,e=b.slice(2,-2).join(";"),h=Number(b.at(-2));return c===g&&("replace"===d||"push"===d)&&"string"==typeof e&&!isNaN(h)&&h in f.RedirectStatusCode}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},634673,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getRedirectError:function(){return i},getRedirectStatusCodeFromError:function(){return n},getRedirectTypeFromError:function(){return m},getURLFromRedirectError:function(){return l},permanentRedirect:function(){return k},redirect:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(260230),g=a.r(261164),h=a.r(120635).actionAsyncStorage;function i(a,b,c=f.RedirectStatusCode.TemporaryRedirect){let d=Object.defineProperty(Error(g.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return d.digest=`${g.REDIRECT_ERROR_CODE};${b};${a};${c};`,d}function j(a,b){throw i(a,b??=h?.getStore()?.isAction?"push":"replace",f.RedirectStatusCode.TemporaryRedirect)}function k(a,b="replace"){throw i(a,b,f.RedirectStatusCode.PermanentRedirect)}function l(a){return(0,g.isRedirectError)(a)?a.digest.split(";").slice(2,-2).join(";"):null}function m(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return a.digest.split(";",2)[1]}function n(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(a.digest.split(";").at(-2))}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},430190,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={HTTPAccessErrorStatus:function(){return f},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return h},getAccessFallbackErrorTypeByStatus:function(){return k},getAccessFallbackHTTPStatus:function(){return j},isHTTPAccessFallbackError:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},g=new Set(Object.values(f)),h="NEXT_HTTP_ERROR_FALLBACK";function i(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[b,c]=a.digest.split(";");return b===h&&g.has(Number(c))}function j(a){return Number(a.digest.split(";")[1])}function k(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},190338,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"notFound",{enumerable:!0,get:function(){return f}});let d=a.r(430190),e=`${d.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function f(){let a=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E1041",enumerable:!1,configurable:!0});throw a.digest=e,a}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},355081,(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"forbidden",{enumerable:!0,get:function(){return d}}),a.r(430190).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},588985,(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unauthorized",{enumerable:!0,get:function(){return d}}),a.r(430190).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},121825,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isPostpone",{enumerable:!0,get:function(){return e}});let d=Symbol.for("react.postpone");function e(a){return"object"==typeof a&&null!==a&&a.$$typeof===d}},841206,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isNextRouterError",{enumerable:!0,get:function(){return f}});let d=a.r(430190),e=a.r(261164);function f(a){return(0,e.isRedirectError)(a)||(0,d.isHTTPAccessFallbackError)(a)}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},954492,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return function a(b){if((0,g.isNextRouterError)(b)||(0,f.isBailoutToCSRError)(b)||(0,i.isDynamicServerError)(b)||(0,h.isDynamicPostpone)(b)||(0,e.isPostpone)(b)||(0,d.isHangingPromiseRejectionError)(b)||(0,h.isPrerenderInterruptedError)(b))throw b;b instanceof Error&&"cause"in b&&a(b.cause)}}});let d=a.r(259551),e=a.r(121825),f=a.r(259154),g=a.r(841206),h=a.r(824722),i=a.r(294263);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},122553,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return d}});let d=a.r(954492).unstable_rethrow;("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},981601,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ReadonlyURLSearchParams:function(){return f.ReadonlyURLSearchParams},RedirectType:function(){return m},forbidden:function(){return i.forbidden},notFound:function(){return h.notFound},permanentRedirect:function(){return g.permanentRedirect},redirect:function(){return g.redirect},unauthorized:function(){return j.unauthorized},unstable_isUnrecognizedActionError:function(){return l},unstable_rethrow:function(){return k.unstable_rethrow}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(184859),g=a.r(634673),h=a.r(190338),i=a.r(355081),j=a.r(588985),k=a.r(122553);function l(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}let m={push:"push",replace:"replace"};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},366686,a=>{"use strict";a.i(981601),a.s([])},689910,a=>{a.v("/_next/static/media/apple-icon.16aocl-s-v2qz.png"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},548284,a=>{"use strict";let b={src:a.i(689910).default,width:180,height:180};a.s(["default",0,b])},993235,a=>{a.v("/_next/static/media/favicon.0y2d6j9cou~8p.ico"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},552530,a=>{"use strict";let b={src:a.i(993235).default,width:48,height:48};a.s(["default",0,b])},897122,a=>{a.v("/_next/static/media/icon1.04ux133882seb.png"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},616851,a=>{"use strict";let b={src:a.i(897122).default,width:96,height:96};a.s(["default",0,b])},586706,a=>{a.v("/_next/static/media/icon0.0a6mkq6meyird.svg"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},461433,a=>{"use strict";let b={src:a.i(586706).default,width:1254,height:1254};a.s(["default",0,b])},10049,a=>{"use strict";a.s(["ArchivePageClient",()=>b]);let b=(0,a.i(383756).registerClientReference)(function(){throw Error("Attempted to call ArchivePageClient() from the server but ArchivePageClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/project/f/tower/src/app/workspaces/[workspaceId]/archive/archive-page-client.tsx <module evaluation>","ArchivePageClient")},942784,a=>{"use strict";a.s(["ArchivePageClient",()=>b]);let b=(0,a.i(383756).registerClientReference)(function(){throw Error("Attempted to call ArchivePageClient() from the server but ArchivePageClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/project/f/tower/src/app/workspaces/[workspaceId]/archive/archive-page-client.tsx","ArchivePageClient")},573164,a=>{"use strict";a.i(10049);var b=a.i(942784);a.n(b)},597984,a=>{"use strict";var b=a.i(946116);a.i(366686);var c=a.i(981601),d=a.i(832116),e=a.i(31782),f=a.i(279254),g=a.i(573164);async function h({params:a}){let{workspaceId:i}=await a;await d.db.workspace.findUnique({where:{id:i},select:{id:!0}})||(0,c.notFound)();let j=await (0,f.getWorkspacesWithProjects)(),k=j.find(a=>a.id===i),l=k?.projects[0],m=l?await (0,e.getArchivedTasks)(l.id):[];return(0,b.jsx)(g.ArchivePageClient,{allWorkspaces:j,initialWorkspaceId:i,initialProjectId:l?.id??null,initialTasks:m})}a.s(["default",0,h])},568952,a=>{a.n(a.i(597984))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0.hh.2a._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[193695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},184859,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return e}});class d extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class e extends URLSearchParams{append(){throw new d}delete(){throw new d}set(){throw new d}sort(){throw new d}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},260230,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"RedirectStatusCode",{enumerable:!0,get:function(){return e}});var d,e=((d={})[d.SeeOther=303]="SeeOther",d[d.TemporaryRedirect=307]="TemporaryRedirect",d[d.PermanentRedirect=308]="PermanentRedirect",d);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},261164,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={REDIRECT_ERROR_CODE:function(){return g},isRedirectError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(260230),g="NEXT_REDIRECT";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let b=a.digest.split(";"),[c,d]=b,e=b.slice(2,-2).join(";"),h=Number(b.at(-2));return c===g&&("replace"===d||"push"===d)&&"string"==typeof e&&!isNaN(h)&&h in f.RedirectStatusCode}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},634673,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getRedirectError:function(){return i},getRedirectStatusCodeFromError:function(){return n},getRedirectTypeFromError:function(){return m},getURLFromRedirectError:function(){return l},permanentRedirect:function(){return k},redirect:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(260230),g=a.r(261164),h=a.r(120635).actionAsyncStorage;function i(a,b,c=f.RedirectStatusCode.TemporaryRedirect){let d=Object.defineProperty(Error(g.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return d.digest=`${g.REDIRECT_ERROR_CODE};${b};${a};${c};`,d}function j(a,b){throw i(a,b??=h?.getStore()?.isAction?"push":"replace",f.RedirectStatusCode.TemporaryRedirect)}function k(a,b="replace"){throw i(a,b,f.RedirectStatusCode.PermanentRedirect)}function l(a){return(0,g.isRedirectError)(a)?a.digest.split(";").slice(2,-2).join(";"):null}function m(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return a.digest.split(";",2)[1]}function n(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(a.digest.split(";").at(-2))}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},430190,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={HTTPAccessErrorStatus:function(){return f},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return h},getAccessFallbackErrorTypeByStatus:function(){return k},getAccessFallbackHTTPStatus:function(){return j},isHTTPAccessFallbackError:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},g=new Set(Object.values(f)),h="NEXT_HTTP_ERROR_FALLBACK";function i(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[b,c]=a.digest.split(";");return b===h&&g.has(Number(c))}function j(a){return Number(a.digest.split(";")[1])}function k(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},190338,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"notFound",{enumerable:!0,get:function(){return f}});let d=a.r(430190),e=`${d.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function f(){let a=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E1041",enumerable:!1,configurable:!0});throw a.digest=e,a}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},355081,(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"forbidden",{enumerable:!0,get:function(){return d}}),a.r(430190).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},588985,(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unauthorized",{enumerable:!0,get:function(){return d}}),a.r(430190).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},121825,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isPostpone",{enumerable:!0,get:function(){return e}});let d=Symbol.for("react.postpone");function e(a){return"object"==typeof a&&null!==a&&a.$$typeof===d}},841206,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isNextRouterError",{enumerable:!0,get:function(){return f}});let d=a.r(430190),e=a.r(261164);function f(a){return(0,e.isRedirectError)(a)||(0,d.isHTTPAccessFallbackError)(a)}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},954492,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return function a(b){if((0,g.isNextRouterError)(b)||(0,f.isBailoutToCSRError)(b)||(0,i.isDynamicServerError)(b)||(0,h.isDynamicPostpone)(b)||(0,e.isPostpone)(b)||(0,d.isHangingPromiseRejectionError)(b)||(0,h.isPrerenderInterruptedError)(b))throw b;b instanceof Error&&"cause"in b&&a(b.cause)}}});let d=a.r(259551),e=a.r(121825),f=a.r(259154),g=a.r(841206),h=a.r(824722),i=a.r(294263);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},122553,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return d}});let d=a.r(954492).unstable_rethrow;("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},981601,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ReadonlyURLSearchParams:function(){return f.ReadonlyURLSearchParams},RedirectType:function(){return m},forbidden:function(){return i.forbidden},notFound:function(){return h.notFound},permanentRedirect:function(){return g.permanentRedirect},redirect:function(){return g.redirect},unauthorized:function(){return j.unauthorized},unstable_isUnrecognizedActionError:function(){return l},unstable_rethrow:function(){return k.unstable_rethrow}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(184859),g=a.r(634673),h=a.r(190338),i=a.r(355081),j=a.r(588985),k=a.r(122553);function l(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}let m={push:"push",replace:"replace"};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},366686,a=>{"use strict";a.i(981601),a.s([])},326575,a=>{"use strict";a.i(233405);var b=a.i(832116);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(182508),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(6938).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},586706,a=>{a.v("/_next/static/media/icon0.0a6mkq6meyird.svg"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},461433,a=>{"use strict";let b={src:a.i(586706).default,width:1254,height:1254};a.s(["default",0,b])},897122,a=>{a.v("/_next/static/media/icon1.04ux133882seb.png"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},616851,a=>{"use strict";let b={src:a.i(897122).default,width:96,height:96};a.s(["default",0,b])},689910,a=>{a.v("/_next/static/media/apple-icon.16aocl-s-v2qz.png"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},548284,a=>{"use strict";let b={src:a.i(689910).default,width:180,height:180};a.s(["default",0,b])},993235,a=>{a.v("/_next/static/media/favicon.0y2d6j9cou~8p.ico"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},552530,a=>{"use strict";let b={src:a.i(993235).default,width:48,height:48};a.s(["default",0,b])},551437,a=>{"use strict";var b=a.i(832116);a.i(366686);var c=a.i(981601),d=a.i(326575);async function e({params:a}){let{workspaceId:f,projectId:g}=await a,h=await b.db.project.findUnique({where:{id:g},select:{id:!0,name:!0,workspaceId:!0}});h&&h.workspaceId===f||(0,c.notFound)();let i=await (0,d.ensureTowerTask)(h.id,h.name);(0,c.redirect)(`/workspaces/${f}/tasks/${i}`)}a.s(["default",0,e,"dynamic",0,"force-dynamic","runtime",0,"nodejs"])},240150,a=>{a.n(a.i(551437))},182508,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_src_lib_constants_ts_0.qkxto._.js"].map(b=>a.l(b))).then(()=>b(267853)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0.r38oo._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},359869,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(811030);let f=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=[];a.profileArgs?.length&&b.push(...a.profileArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...a.profileEnvVars??{},...a.envOverrides??{}};return{command:this.resolveCommand(),args:b,env:c}}buildEnvOverrides(a){let b={TOWER_TASK_ID:a.taskId,TOWER_TASK_TITLE:a.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:a.apiUrl};return a.callbackUrl&&(b.CALLBACK_URL=a.callbackUrl),b}async installHooks(a){let b=this.readSettings(),c=b.hooks??{},e=this.getPostToolUseArray(b);if(this.findTowerHookIndex(e)>=0)return;let f=d.join(process.cwd(),"scripts","post-tool-hook.js"),g={hooks:[{command:`node "${f}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"};b.hooks={...c,PostToolUse:[...e,g]},this.writeSettings(b)}async uninstallHooks(){let a=this.readSettings(),b=a.hooks??{},c=this.getPostToolUseArray(a).filter(a=>!a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")));a.hooks={...b,PostToolUse:c},this.writeSettings(a)}async isHooksInstalled(){let a=this.readSettings(),b=this.getPostToolUseArray(a);return this.findTowerHookIndex(b)>=0}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),d=c(b),e=this.resolveCommand(),{stdout:f}=await d(e,["--version"],{timeout:5e3});return f.trim()||null}catch{return null}}async getModels(){return f}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}resolveCommand(){return process.env.CLAUDE_CODE_PATH?process.env.CLAUDE_CODE_PATH:(0,e.resolveCommandPathSync)("claude")}readSettings(){try{return JSON.parse(b.readFileSync(this.getSettingsPath(),"utf-8"))}catch{return{}}}writeSettings(a){let c=this.getConfigDir();b.existsSync(c)||b.mkdirSync(c,{recursive:!0}),b.writeFileSync(this.getSettingsPath(),JSON.stringify(a,null,2),"utf-8")}getPostToolUseArray(a){let b=a.hooks;if(!b)return[];let c=b.PostToolUse;return Array.isArray(c)?c:[]}findTowerHookIndex(a){return a.findIndex(a=>a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")))}}])},157256,a=>{"use strict";let b=new(a.i(359869)).ClaudeCliAdapter;async function c(d,e,f={}){let g="";try{let{query:c}=await a.A(322508),h=b.resolveCommand();for await(let a of c({prompt:d,options:{tools:f.tools??[],allowedTools:f.allowedTools??[],maxTurns:f.maxTurns??1,cwd:e,pathToClaudeCodeExecutable:h,sessionPersistence:!1}}))if("assistant"===a.type){let b=a.message.content.filter(a=>"text"===a.type);g+=b.map(a=>a.text??"").join("")}else if("result"===a.type){let b="string"==typeof a.result?a.result:"";b&&!g&&(g=b)}return g.trim()||null}catch(a){if(a.message?.includes("maximum number of turns")&&g.trim())return g.trim();return console.error("[aiQuery] Failed:",a.message,a.stack?.slice(0,300)),null}}async function d(a,b){let d=`以下是一次AI编程助手的终端会话记录。请用一句简短的中文总结这次会话做了什么(不超过50字,只回答总结内容,不要加引号或前缀):
1
+ module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},575675,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(912206);let f=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=[];a.profileArgs?.length&&b.push(...a.profileArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...a.profileEnvVars??{},...a.envOverrides??{}};return{command:this.resolveCommand(),args:b,env:c}}buildEnvOverrides(a){let b={TOWER_TASK_ID:a.taskId,TOWER_TASK_TITLE:a.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:a.apiUrl};return a.callbackUrl&&(b.CALLBACK_URL=a.callbackUrl),b}async installHooks(a){let b=this.readSettings(),c=b.hooks??{},e=this.getPostToolUseArray(b);if(this.findTowerHookIndex(e)>=0)return;let f=d.join(process.cwd(),"scripts","post-tool-hook.js"),g={hooks:[{command:`node "${f}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"};b.hooks={...c,PostToolUse:[...e,g]},this.writeSettings(b)}async uninstallHooks(){let a=this.readSettings(),b=a.hooks??{},c=this.getPostToolUseArray(a).filter(a=>!a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")));a.hooks={...b,PostToolUse:c},this.writeSettings(a)}async isHooksInstalled(){let a=this.readSettings(),b=this.getPostToolUseArray(a);return this.findTowerHookIndex(b)>=0}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),d=c(b),e=this.resolveCommand(),{stdout:f}=await d(e,["--version"],{timeout:5e3});return f.trim()||null}catch{return null}}async getModels(){return f}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}resolveCommand(){return process.env.CLAUDE_CODE_PATH?process.env.CLAUDE_CODE_PATH:(0,e.resolveCommandPathSync)("claude")}readSettings(){try{return JSON.parse(b.readFileSync(this.getSettingsPath(),"utf-8"))}catch{return{}}}writeSettings(a){let c=this.getConfigDir();b.existsSync(c)||b.mkdirSync(c,{recursive:!0}),b.writeFileSync(this.getSettingsPath(),JSON.stringify(a,null,2),"utf-8")}getPostToolUseArray(a){let b=a.hooks;if(!b)return[];let c=b.PostToolUse;return Array.isArray(c)?c:[]}findTowerHookIndex(a){return a.findIndex(a=>a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")))}}])},396477,a=>{"use strict";let b=new(a.i(575675)).ClaudeCliAdapter;async function c(d,e,f={}){let g="";try{let{query:c}=await a.A(492832),h=b.resolveCommand();for await(let a of c({prompt:d,options:{tools:f.tools??[],allowedTools:f.allowedTools??[],maxTurns:f.maxTurns??1,cwd:e,pathToClaudeCodeExecutable:h,sessionPersistence:!1}}))if("assistant"===a.type){let b=a.message.content.filter(a=>"text"===a.type);g+=b.map(a=>a.text??"").join("")}else if("result"===a.type){let b="string"==typeof a.result?a.result:"";b&&!g&&(g=b)}return g.trim()||null}catch(a){if(a.message?.includes("maximum number of turns")&&g.trim())return g.trim();return console.error("[aiQuery] Failed:",a.message,a.stack?.slice(0,300)),null}}async function d(a,b){let d=`以下是一次AI编程助手的终端会话记录。请用一句简短的中文总结这次会话做了什么(不超过50字,只回答总结内容,不要加引号或前缀):
2
2
 
3
3
  \`\`\`
4
4
  ${a.slice(-5e3)}
@@ -25,6 +25,6 @@ Rules:
25
25
  - Set shouldCreateNote=true ONLY if there are genuinely reusable insights (architectural decisions, non-obvious pitfalls, useful patterns, important tool discoveries)
26
26
  - Trivial sessions (simple formatting, single-line edits, routine commits) should have shouldCreateNote=false
27
27
  - insights array can be empty if nothing notable
28
- - Keep each insight concise (1-2 sentences)`,h=await c(g,b);if(!h)return null;try{let a=h,b=a.match(/\{[\s\S]*\}/);b&&(a=b[0]);let c=JSON.parse(a);if("string"!=typeof c.summary||"boolean"!=typeof c.shouldCreateNote)return console.error("[generateDreamingInsight] Invalid response structure"),null;return c}catch(a){return console.error("[generateDreamingInsight] JSON parse failed:",a.message),null}}a.s(["aiQuery",0,c,"generateDreamingInsight",0,e,"generateSummaryFromLog",0,d])},144264,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_child_process_0pwkpv9._.js"].map(b=>a.l(b))).then(()=>b(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},322508,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0of4r_r._.js","server/chunks/ssr/03j-_@anthropic-ai_claude-agent-sdk_sdk_mjs_0kr2_y.._.js"].map(b=>a.l(b))).then(()=>b(332246)))}];
28
+ - Keep each insight concise (1-2 sentences)`,h=await c(g,b);if(!h)return null;try{let a=h,b=a.match(/\{[\s\S]*\}/);b&&(a=b[0]);let c=JSON.parse(a);if("string"!=typeof c.summary||"boolean"!=typeof c.shouldCreateNote)return console.error("[generateDreamingInsight] Invalid response structure"),null;return c}catch(a){return console.error("[generateDreamingInsight] JSON parse failed:",a.message),null}}a.s(["aiQuery",0,c,"generateDreamingInsight",0,e,"generateSummaryFromLog",0,d])},144264,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_child_process_0pwkpv9._.js"].map(b=>a.l(b))).then(()=>b(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},492832,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0of4r_r._.js","server/chunks/ssr/0b0n_@anthropic-ai_claude-agent-sdk_sdk_mjs_123v~_z._.js"].map(b=>a.l(b))).then(()=>b(49139)))}];
29
29
 
30
- //# sourceMappingURL=%5Broot-of-the-server%5D__05452ke._.js.map
30
+ //# sourceMappingURL=%5Broot-of-the-server%5D__00.lowc._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},359869,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(811030);let f=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=[];a.profileArgs?.length&&b.push(...a.profileArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...a.profileEnvVars??{},...a.envOverrides??{}};return{command:this.resolveCommand(),args:b,env:c}}buildEnvOverrides(a){let b={TOWER_TASK_ID:a.taskId,TOWER_TASK_TITLE:a.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:a.apiUrl};return a.callbackUrl&&(b.CALLBACK_URL=a.callbackUrl),b}async installHooks(a){let b=this.readSettings(),c=b.hooks??{},e=this.getPostToolUseArray(b);if(this.findTowerHookIndex(e)>=0)return;let f=d.join(process.cwd(),"scripts","post-tool-hook.js"),g={hooks:[{command:`node "${f}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"};b.hooks={...c,PostToolUse:[...e,g]},this.writeSettings(b)}async uninstallHooks(){let a=this.readSettings(),b=a.hooks??{},c=this.getPostToolUseArray(a).filter(a=>!a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")));a.hooks={...b,PostToolUse:c},this.writeSettings(a)}async isHooksInstalled(){let a=this.readSettings(),b=this.getPostToolUseArray(a);return this.findTowerHookIndex(b)>=0}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),d=c(b),e=this.resolveCommand(),{stdout:f}=await d(e,["--version"],{timeout:5e3});return f.trim()||null}catch{return null}}async getModels(){return f}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}resolveCommand(){return process.env.CLAUDE_CODE_PATH?process.env.CLAUDE_CODE_PATH:(0,e.resolveCommandPathSync)("claude")}readSettings(){try{return JSON.parse(b.readFileSync(this.getSettingsPath(),"utf-8"))}catch{return{}}}writeSettings(a){let c=this.getConfigDir();b.existsSync(c)||b.mkdirSync(c,{recursive:!0}),b.writeFileSync(this.getSettingsPath(),JSON.stringify(a,null,2),"utf-8")}getPostToolUseArray(a){let b=a.hooks;if(!b)return[];let c=b.PostToolUse;return Array.isArray(c)?c:[]}findTowerHookIndex(a){return a.findIndex(a=>a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")))}}])},157256,a=>{"use strict";let b=new(a.i(359869)).ClaudeCliAdapter;async function c(d,e,f={}){let g="";try{let{query:c}=await a.A(322508),h=b.resolveCommand();for await(let a of c({prompt:d,options:{tools:f.tools??[],allowedTools:f.allowedTools??[],maxTurns:f.maxTurns??1,cwd:e,pathToClaudeCodeExecutable:h,sessionPersistence:!1}}))if("assistant"===a.type){let b=a.message.content.filter(a=>"text"===a.type);g+=b.map(a=>a.text??"").join("")}else if("result"===a.type){let b="string"==typeof a.result?a.result:"";b&&!g&&(g=b)}return g.trim()||null}catch(a){if(a.message?.includes("maximum number of turns")&&g.trim())return g.trim();return console.error("[aiQuery] Failed:",a.message,a.stack?.slice(0,300)),null}}async function d(a,b){let d=`以下是一次AI编程助手的终端会话记录。请用一句简短的中文总结这次会话做了什么(不超过50字,只回答总结内容,不要加引号或前缀):
1
+ module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},575675,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(912206);let f=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=[];a.profileArgs?.length&&b.push(...a.profileArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...a.profileEnvVars??{},...a.envOverrides??{}};return{command:this.resolveCommand(),args:b,env:c}}buildEnvOverrides(a){let b={TOWER_TASK_ID:a.taskId,TOWER_TASK_TITLE:a.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:a.apiUrl};return a.callbackUrl&&(b.CALLBACK_URL=a.callbackUrl),b}async installHooks(a){let b=this.readSettings(),c=b.hooks??{},e=this.getPostToolUseArray(b);if(this.findTowerHookIndex(e)>=0)return;let f=d.join(process.cwd(),"scripts","post-tool-hook.js"),g={hooks:[{command:`node "${f}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"};b.hooks={...c,PostToolUse:[...e,g]},this.writeSettings(b)}async uninstallHooks(){let a=this.readSettings(),b=a.hooks??{},c=this.getPostToolUseArray(a).filter(a=>!a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")));a.hooks={...b,PostToolUse:c},this.writeSettings(a)}async isHooksInstalled(){let a=this.readSettings(),b=this.getPostToolUseArray(a);return this.findTowerHookIndex(b)>=0}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),d=c(b),e=this.resolveCommand(),{stdout:f}=await d(e,["--version"],{timeout:5e3});return f.trim()||null}catch{return null}}async getModels(){return f}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}resolveCommand(){return process.env.CLAUDE_CODE_PATH?process.env.CLAUDE_CODE_PATH:(0,e.resolveCommandPathSync)("claude")}readSettings(){try{return JSON.parse(b.readFileSync(this.getSettingsPath(),"utf-8"))}catch{return{}}}writeSettings(a){let c=this.getConfigDir();b.existsSync(c)||b.mkdirSync(c,{recursive:!0}),b.writeFileSync(this.getSettingsPath(),JSON.stringify(a,null,2),"utf-8")}getPostToolUseArray(a){let b=a.hooks;if(!b)return[];let c=b.PostToolUse;return Array.isArray(c)?c:[]}findTowerHookIndex(a){return a.findIndex(a=>a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")))}}])},396477,a=>{"use strict";let b=new(a.i(575675)).ClaudeCliAdapter;async function c(d,e,f={}){let g="";try{let{query:c}=await a.A(492832),h=b.resolveCommand();for await(let a of c({prompt:d,options:{tools:f.tools??[],allowedTools:f.allowedTools??[],maxTurns:f.maxTurns??1,cwd:e,pathToClaudeCodeExecutable:h,sessionPersistence:!1}}))if("assistant"===a.type){let b=a.message.content.filter(a=>"text"===a.type);g+=b.map(a=>a.text??"").join("")}else if("result"===a.type){let b="string"==typeof a.result?a.result:"";b&&!g&&(g=b)}return g.trim()||null}catch(a){if(a.message?.includes("maximum number of turns")&&g.trim())return g.trim();return console.error("[aiQuery] Failed:",a.message,a.stack?.slice(0,300)),null}}async function d(a,b){let d=`以下是一次AI编程助手的终端会话记录。请用一句简短的中文总结这次会话做了什么(不超过50字,只回答总结内容,不要加引号或前缀):
2
2
 
3
3
  \`\`\`
4
4
  ${a.slice(-5e3)}
@@ -25,6 +25,6 @@ Rules:
25
25
  - Set shouldCreateNote=true ONLY if there are genuinely reusable insights (architectural decisions, non-obvious pitfalls, useful patterns, important tool discoveries)
26
26
  - Trivial sessions (simple formatting, single-line edits, routine commits) should have shouldCreateNote=false
27
27
  - insights array can be empty if nothing notable
28
- - Keep each insight concise (1-2 sentences)`,h=await c(g,b);if(!h)return null;try{let a=h,b=a.match(/\{[\s\S]*\}/);b&&(a=b[0]);let c=JSON.parse(a);if("string"!=typeof c.summary||"boolean"!=typeof c.shouldCreateNote)return console.error("[generateDreamingInsight] Invalid response structure"),null;return c}catch(a){return console.error("[generateDreamingInsight] JSON parse failed:",a.message),null}}a.s(["aiQuery",0,c,"generateDreamingInsight",0,e,"generateSummaryFromLog",0,d])},144264,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_child_process_0pwkpv9._.js"].map(b=>a.l(b))).then(()=>b(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},322508,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0of4r_r._.js","server/chunks/ssr/03j-_@anthropic-ai_claude-agent-sdk_sdk_mjs_0kr2_y.._.js"].map(b=>a.l(b))).then(()=>b(332246)))}];
28
+ - Keep each insight concise (1-2 sentences)`,h=await c(g,b);if(!h)return null;try{let a=h,b=a.match(/\{[\s\S]*\}/);b&&(a=b[0]);let c=JSON.parse(a);if("string"!=typeof c.summary||"boolean"!=typeof c.shouldCreateNote)return console.error("[generateDreamingInsight] Invalid response structure"),null;return c}catch(a){return console.error("[generateDreamingInsight] JSON parse failed:",a.message),null}}a.s(["aiQuery",0,c,"generateDreamingInsight",0,e,"generateSummaryFromLog",0,d])},144264,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_child_process_0pwkpv9._.js"].map(b=>a.l(b))).then(()=>b(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},492832,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0of4r_r._.js","server/chunks/ssr/0b0n_@anthropic-ai_claude-agent-sdk_sdk_mjs_123v~_z._.js"].map(b=>a.l(b))).then(()=>b(49139)))}];
29
29
 
30
- //# sourceMappingURL=%5Broot-of-the-server%5D__0d5p5d.._.js.map
30
+ //# sourceMappingURL=%5Broot-of-the-server%5D__007tg36._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},326575,a=>{"use strict";a.i(233405);var b=a.i(832116);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(182508),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(6938).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},182508,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_src_lib_constants_ts_0.qkxto._.js"].map(b=>a.l(b))).then(()=>b(267853)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__012ko5_._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},359869,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(811030);let f=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=[];a.profileArgs?.length&&b.push(...a.profileArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...a.profileEnvVars??{},...a.envOverrides??{}};return{command:this.resolveCommand(),args:b,env:c}}buildEnvOverrides(a){let b={TOWER_TASK_ID:a.taskId,TOWER_TASK_TITLE:a.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:a.apiUrl};return a.callbackUrl&&(b.CALLBACK_URL=a.callbackUrl),b}async installHooks(a){let b=this.readSettings(),c=b.hooks??{},e=this.getPostToolUseArray(b);if(this.findTowerHookIndex(e)>=0)return;let f=d.join(process.cwd(),"scripts","post-tool-hook.js"),g={hooks:[{command:`node "${f}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"};b.hooks={...c,PostToolUse:[...e,g]},this.writeSettings(b)}async uninstallHooks(){let a=this.readSettings(),b=a.hooks??{},c=this.getPostToolUseArray(a).filter(a=>!a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")));a.hooks={...b,PostToolUse:c},this.writeSettings(a)}async isHooksInstalled(){let a=this.readSettings(),b=this.getPostToolUseArray(a);return this.findTowerHookIndex(b)>=0}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),d=c(b),e=this.resolveCommand(),{stdout:f}=await d(e,["--version"],{timeout:5e3});return f.trim()||null}catch{return null}}async getModels(){return f}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}resolveCommand(){return process.env.CLAUDE_CODE_PATH?process.env.CLAUDE_CODE_PATH:(0,e.resolveCommandPathSync)("claude")}readSettings(){try{return JSON.parse(b.readFileSync(this.getSettingsPath(),"utf-8"))}catch{return{}}}writeSettings(a){let c=this.getConfigDir();b.existsSync(c)||b.mkdirSync(c,{recursive:!0}),b.writeFileSync(this.getSettingsPath(),JSON.stringify(a,null,2),"utf-8")}getPostToolUseArray(a){let b=a.hooks;if(!b)return[];let c=b.PostToolUse;return Array.isArray(c)?c:[]}findTowerHookIndex(a){return a.findIndex(a=>a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")))}}])},157256,a=>{"use strict";let b=new(a.i(359869)).ClaudeCliAdapter;async function c(d,e,f={}){let g="";try{let{query:c}=await a.A(322508),h=b.resolveCommand();for await(let a of c({prompt:d,options:{tools:f.tools??[],allowedTools:f.allowedTools??[],maxTurns:f.maxTurns??1,cwd:e,pathToClaudeCodeExecutable:h,sessionPersistence:!1}}))if("assistant"===a.type){let b=a.message.content.filter(a=>"text"===a.type);g+=b.map(a=>a.text??"").join("")}else if("result"===a.type){let b="string"==typeof a.result?a.result:"";b&&!g&&(g=b)}return g.trim()||null}catch(a){if(a.message?.includes("maximum number of turns")&&g.trim())return g.trim();return console.error("[aiQuery] Failed:",a.message,a.stack?.slice(0,300)),null}}async function d(a,b){let d=`以下是一次AI编程助手的终端会话记录。请用一句简短的中文总结这次会话做了什么(不超过50字,只回答总结内容,不要加引号或前缀):
1
+ module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},575675,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(912206);let f=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=[];a.profileArgs?.length&&b.push(...a.profileArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...a.profileEnvVars??{},...a.envOverrides??{}};return{command:this.resolveCommand(),args:b,env:c}}buildEnvOverrides(a){let b={TOWER_TASK_ID:a.taskId,TOWER_TASK_TITLE:a.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:a.apiUrl};return a.callbackUrl&&(b.CALLBACK_URL=a.callbackUrl),b}async installHooks(a){let b=this.readSettings(),c=b.hooks??{},e=this.getPostToolUseArray(b);if(this.findTowerHookIndex(e)>=0)return;let f=d.join(process.cwd(),"scripts","post-tool-hook.js"),g={hooks:[{command:`node "${f}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"};b.hooks={...c,PostToolUse:[...e,g]},this.writeSettings(b)}async uninstallHooks(){let a=this.readSettings(),b=a.hooks??{},c=this.getPostToolUseArray(a).filter(a=>!a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")));a.hooks={...b,PostToolUse:c},this.writeSettings(a)}async isHooksInstalled(){let a=this.readSettings(),b=this.getPostToolUseArray(a);return this.findTowerHookIndex(b)>=0}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),d=c(b),e=this.resolveCommand(),{stdout:f}=await d(e,["--version"],{timeout:5e3});return f.trim()||null}catch{return null}}async getModels(){return f}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}resolveCommand(){return process.env.CLAUDE_CODE_PATH?process.env.CLAUDE_CODE_PATH:(0,e.resolveCommandPathSync)("claude")}readSettings(){try{return JSON.parse(b.readFileSync(this.getSettingsPath(),"utf-8"))}catch{return{}}}writeSettings(a){let c=this.getConfigDir();b.existsSync(c)||b.mkdirSync(c,{recursive:!0}),b.writeFileSync(this.getSettingsPath(),JSON.stringify(a,null,2),"utf-8")}getPostToolUseArray(a){let b=a.hooks;if(!b)return[];let c=b.PostToolUse;return Array.isArray(c)?c:[]}findTowerHookIndex(a){return a.findIndex(a=>a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")))}}])},396477,a=>{"use strict";let b=new(a.i(575675)).ClaudeCliAdapter;async function c(d,e,f={}){let g="";try{let{query:c}=await a.A(492832),h=b.resolveCommand();for await(let a of c({prompt:d,options:{tools:f.tools??[],allowedTools:f.allowedTools??[],maxTurns:f.maxTurns??1,cwd:e,pathToClaudeCodeExecutable:h,sessionPersistence:!1}}))if("assistant"===a.type){let b=a.message.content.filter(a=>"text"===a.type);g+=b.map(a=>a.text??"").join("")}else if("result"===a.type){let b="string"==typeof a.result?a.result:"";b&&!g&&(g=b)}return g.trim()||null}catch(a){if(a.message?.includes("maximum number of turns")&&g.trim())return g.trim();return console.error("[aiQuery] Failed:",a.message,a.stack?.slice(0,300)),null}}async function d(a,b){let d=`以下是一次AI编程助手的终端会话记录。请用一句简短的中文总结这次会话做了什么(不超过50字,只回答总结内容,不要加引号或前缀):
2
2
 
3
3
  \`\`\`
4
4
  ${a.slice(-5e3)}
@@ -25,6 +25,6 @@ Rules:
25
25
  - Set shouldCreateNote=true ONLY if there are genuinely reusable insights (architectural decisions, non-obvious pitfalls, useful patterns, important tool discoveries)
26
26
  - Trivial sessions (simple formatting, single-line edits, routine commits) should have shouldCreateNote=false
27
27
  - insights array can be empty if nothing notable
28
- - Keep each insight concise (1-2 sentences)`,h=await c(g,b);if(!h)return null;try{let a=h,b=a.match(/\{[\s\S]*\}/);b&&(a=b[0]);let c=JSON.parse(a);if("string"!=typeof c.summary||"boolean"!=typeof c.shouldCreateNote)return console.error("[generateDreamingInsight] Invalid response structure"),null;return c}catch(a){return console.error("[generateDreamingInsight] JSON parse failed:",a.message),null}}a.s(["aiQuery",0,c,"generateDreamingInsight",0,e,"generateSummaryFromLog",0,d])},144264,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_child_process_0pwkpv9._.js"].map(b=>a.l(b))).then(()=>b(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},322508,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0of4r_r._.js","server/chunks/ssr/03j-_@anthropic-ai_claude-agent-sdk_sdk_mjs_0kr2_y.._.js"].map(b=>a.l(b))).then(()=>b(332246)))}];
28
+ - Keep each insight concise (1-2 sentences)`,h=await c(g,b);if(!h)return null;try{let a=h,b=a.match(/\{[\s\S]*\}/);b&&(a=b[0]);let c=JSON.parse(a);if("string"!=typeof c.summary||"boolean"!=typeof c.shouldCreateNote)return console.error("[generateDreamingInsight] Invalid response structure"),null;return c}catch(a){return console.error("[generateDreamingInsight] JSON parse failed:",a.message),null}}a.s(["aiQuery",0,c,"generateDreamingInsight",0,e,"generateSummaryFromLog",0,d])},144264,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_child_process_0pwkpv9._.js"].map(b=>a.l(b))).then(()=>b(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},492832,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0of4r_r._.js","server/chunks/ssr/0b0n_@anthropic-ai_claude-agent-sdk_sdk_mjs_123v~_z._.js"].map(b=>a.l(b))).then(()=>b(49139)))}];
29
29
 
30
- //# sourceMappingURL=%5Broot-of-the-server%5D__0i6glcp._.js.map
30
+ //# sourceMappingURL=%5Broot-of-the-server%5D__025.0xa._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[359869,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(811030);let f=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=[];a.profileArgs?.length&&b.push(...a.profileArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...a.profileEnvVars??{},...a.envOverrides??{}};return{command:this.resolveCommand(),args:b,env:c}}buildEnvOverrides(a){let b={TOWER_TASK_ID:a.taskId,TOWER_TASK_TITLE:a.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:a.apiUrl};return a.callbackUrl&&(b.CALLBACK_URL=a.callbackUrl),b}async installHooks(a){let b=this.readSettings(),c=b.hooks??{},e=this.getPostToolUseArray(b);if(this.findTowerHookIndex(e)>=0)return;let f=d.join(process.cwd(),"scripts","post-tool-hook.js"),g={hooks:[{command:`node "${f}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"};b.hooks={...c,PostToolUse:[...e,g]},this.writeSettings(b)}async uninstallHooks(){let a=this.readSettings(),b=a.hooks??{},c=this.getPostToolUseArray(a).filter(a=>!a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")));a.hooks={...b,PostToolUse:c},this.writeSettings(a)}async isHooksInstalled(){let a=this.readSettings(),b=this.getPostToolUseArray(a);return this.findTowerHookIndex(b)>=0}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),d=c(b),e=this.resolveCommand(),{stdout:f}=await d(e,["--version"],{timeout:5e3});return f.trim()||null}catch{return null}}async getModels(){return f}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}resolveCommand(){return process.env.CLAUDE_CODE_PATH?process.env.CLAUDE_CODE_PATH:(0,e.resolveCommandPathSync)("claude")}readSettings(){try{return JSON.parse(b.readFileSync(this.getSettingsPath(),"utf-8"))}catch{return{}}}writeSettings(a){let c=this.getConfigDir();b.existsSync(c)||b.mkdirSync(c,{recursive:!0}),b.writeFileSync(this.getSettingsPath(),JSON.stringify(a,null,2),"utf-8")}getPostToolUseArray(a){let b=a.hooks;if(!b)return[];let c=b.PostToolUse;return Array.isArray(c)?c:[]}findTowerHookIndex(a){return a.findIndex(a=>a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")))}}])},157256,a=>{"use strict";let b=new(a.i(359869)).ClaudeCliAdapter;async function c(d,e,f={}){let g="";try{let{query:c}=await a.A(322508),h=b.resolveCommand();for await(let a of c({prompt:d,options:{tools:f.tools??[],allowedTools:f.allowedTools??[],maxTurns:f.maxTurns??1,cwd:e,pathToClaudeCodeExecutable:h,sessionPersistence:!1}}))if("assistant"===a.type){let b=a.message.content.filter(a=>"text"===a.type);g+=b.map(a=>a.text??"").join("")}else if("result"===a.type){let b="string"==typeof a.result?a.result:"";b&&!g&&(g=b)}return g.trim()||null}catch(a){if(a.message?.includes("maximum number of turns")&&g.trim())return g.trim();return console.error("[aiQuery] Failed:",a.message,a.stack?.slice(0,300)),null}}async function d(a,b){let d=`以下是一次AI编程助手的终端会话记录。请用一句简短的中文总结这次会话做了什么(不超过50字,只回答总结内容,不要加引号或前缀):
1
+ module.exports=[575675,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(912206);let f=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=[];a.profileArgs?.length&&b.push(...a.profileArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...a.profileEnvVars??{},...a.envOverrides??{}};return{command:this.resolveCommand(),args:b,env:c}}buildEnvOverrides(a){let b={TOWER_TASK_ID:a.taskId,TOWER_TASK_TITLE:a.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:a.apiUrl};return a.callbackUrl&&(b.CALLBACK_URL=a.callbackUrl),b}async installHooks(a){let b=this.readSettings(),c=b.hooks??{},e=this.getPostToolUseArray(b);if(this.findTowerHookIndex(e)>=0)return;let f=d.join(process.cwd(),"scripts","post-tool-hook.js"),g={hooks:[{command:`node "${f}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"};b.hooks={...c,PostToolUse:[...e,g]},this.writeSettings(b)}async uninstallHooks(){let a=this.readSettings(),b=a.hooks??{},c=this.getPostToolUseArray(a).filter(a=>!a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")));a.hooks={...b,PostToolUse:c},this.writeSettings(a)}async isHooksInstalled(){let a=this.readSettings(),b=this.getPostToolUseArray(a);return this.findTowerHookIndex(b)>=0}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),d=c(b),e=this.resolveCommand(),{stdout:f}=await d(e,["--version"],{timeout:5e3});return f.trim()||null}catch{return null}}async getModels(){return f}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}resolveCommand(){return process.env.CLAUDE_CODE_PATH?process.env.CLAUDE_CODE_PATH:(0,e.resolveCommandPathSync)("claude")}readSettings(){try{return JSON.parse(b.readFileSync(this.getSettingsPath(),"utf-8"))}catch{return{}}}writeSettings(a){let c=this.getConfigDir();b.existsSync(c)||b.mkdirSync(c,{recursive:!0}),b.writeFileSync(this.getSettingsPath(),JSON.stringify(a,null,2),"utf-8")}getPostToolUseArray(a){let b=a.hooks;if(!b)return[];let c=b.PostToolUse;return Array.isArray(c)?c:[]}findTowerHookIndex(a){return a.findIndex(a=>a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")))}}])},396477,a=>{"use strict";let b=new(a.i(575675)).ClaudeCliAdapter;async function c(d,e,f={}){let g="";try{let{query:c}=await a.A(492832),h=b.resolveCommand();for await(let a of c({prompt:d,options:{tools:f.tools??[],allowedTools:f.allowedTools??[],maxTurns:f.maxTurns??1,cwd:e,pathToClaudeCodeExecutable:h,sessionPersistence:!1}}))if("assistant"===a.type){let b=a.message.content.filter(a=>"text"===a.type);g+=b.map(a=>a.text??"").join("")}else if("result"===a.type){let b="string"==typeof a.result?a.result:"";b&&!g&&(g=b)}return g.trim()||null}catch(a){if(a.message?.includes("maximum number of turns")&&g.trim())return g.trim();return console.error("[aiQuery] Failed:",a.message,a.stack?.slice(0,300)),null}}async function d(a,b){let d=`以下是一次AI编程助手的终端会话记录。请用一句简短的中文总结这次会话做了什么(不超过50字,只回答总结内容,不要加引号或前缀):
2
2
 
3
3
  \`\`\`
4
4
  ${a.slice(-5e3)}
@@ -25,6 +25,6 @@ Rules:
25
25
  - Set shouldCreateNote=true ONLY if there are genuinely reusable insights (architectural decisions, non-obvious pitfalls, useful patterns, important tool discoveries)
26
26
  - Trivial sessions (simple formatting, single-line edits, routine commits) should have shouldCreateNote=false
27
27
  - insights array can be empty if nothing notable
28
- - Keep each insight concise (1-2 sentences)`,h=await c(g,b);if(!h)return null;try{let a=h,b=a.match(/\{[\s\S]*\}/);b&&(a=b[0]);let c=JSON.parse(a);if("string"!=typeof c.summary||"boolean"!=typeof c.shouldCreateNote)return console.error("[generateDreamingInsight] Invalid response structure"),null;return c}catch(a){return console.error("[generateDreamingInsight] JSON parse failed:",a.message),null}}a.s(["aiQuery",0,c,"generateDreamingInsight",0,e,"generateSummaryFromLog",0,d])},377780,a=>{"use strict";var b=a.i(233405),c=a.i(522734),d=a.i(284527),e=a.i(157256);function f(a,c){return(0,b.execFileSync)("git",a,{cwd:c,timeout:1e4,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()}function g(a){for(let b of["main","master","develop"])try{return f(["merge-base","HEAD",b],a)}catch{}return null}function h(a){if(!a)return null;let b=a.split("\n").filter(Boolean);if(0===b.length)return null;let c=b[0].replace(/^[a-f0-9]+\s+/,"");return 1===b.length?c:`${b.length} commits: ${c}`}async function i(a,b,i,j,k){try{let b;console.error(`[captureExecutionSummary] Starting: exec=${a.slice(0,8)} exit=${i} buffer=${j.length}chars worktree=${k}`);let l=null,m=null,n=null;if(k&&(0,c.existsSync)(k))try{if(f(["rev-parse","--git-dir"],k),l=function(a){try{let b=g(a);if(b){let c=f(["log","--oneline",`${b}..HEAD`],a);if(c)return c}return f(["log","--oneline","-3"],a)||null}catch{return null}}(k),(m=function(a){try{let b,c=g(a);if(!(b=c?f(["diff","--stat",`${c}..HEAD`],a):f(["diff","--stat","HEAD~20","HEAD"],a)))return null;return function(a){let b=a.split("\n"),c=b[b.length-1];if(!c)return null;let d=c.match(/(\d+)\s+files?\s+changed/),e=c.match(/(\d+)\s+insertions?\(\+\)/),f=c.match(/(\d+)\s+deletions?\(-\)/);return d||e||f?{commits:0,filesChanged:d?parseInt(d[1],10):0,insertions:e?parseInt(e[1],10):0,deletions:f?parseInt(f[1],10):0}:null}(b)}catch{return null}}(k))&&l){let a=l.split("\n").filter(Boolean).length;m={...m,commits:a}}n=h(l)}catch{}let o=(b=j.replace(/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g,"").replace(/\x1b\[[0-9;?]*[A-Za-z]/g,"").replace(/\x1b[^[\]()][^\x1b]*/g,"").replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,"").replace(/\n{3,}/g,"\n\n").trim()).length<=10240?b:b.slice(b.length-10240);await d.db.taskExecution.update({where:{id:a},data:{summary:n??(l?h(l):null),gitLog:l??null,gitStats:m?JSON.stringify(m):null,exitCode:i,terminalLog:o||null}}),o&&k&&(console.error("[captureExecutionSummary] Starting background AI summary..."),(0,e.generateSummaryFromLog)(o,k).then(async b=>{b&&(console.error(`[captureExecutionSummary] AI summary ready: ${b.slice(0,80)}`),await d.db.taskExecution.update({where:{id:a},data:{summary:b}}))}).catch(a=>{console.error("[captureExecutionSummary] Background AI summary failed:",a)}))}catch(a){console.error("[captureExecutionSummary] Failed to capture summary:",a)}}async function j(a){try{let b=await d.db.task.findUnique({where:{id:a},select:{projectId:!0,executions:{orderBy:{createdAt:"desc"},select:{id:!0,terminalLog:!0,worktreePath:!0,summary:!0}}}});if(!b||0===b.executions.length)return;let c="",f=null,g=[];for(let a of b.executions)a.terminalLog&&(c+=a.terminalLog+"\n---\n"),a.summary&&g.push(a.summary),!f&&a.worktreePath&&(f=a.worktreePath);if(!(c=c.slice(-8e3)).trim())return;let h=g.join("\n"),i=f||process.cwd();console.error(`[captureTaskDreaming] Starting for task=${a.slice(0,8)}, ${b.executions.length} executions`);let j=await (0,e.generateDreamingInsight)(c,i,h);if(!j||!j.shouldCreateNote)return void console.error("[captureTaskDreaming] No note needed");let k=await d.db.projectNote.create({data:{title:j.noteTitle||j.summary.slice(0,50),content:function(a){let b=[];if(b.push("## Summary"),b.push(a.summary),b.push(""),a.insights.length>0)for(let c of(b.push("## Insights"),a.insights))b.push(`- **[${c.type}]**: ${c.content}`);return b.join("\n")}(j),category:"session-insight",projectId:b.projectId,taskId:a}}),l=b.executions[0].id;await d.db.taskExecution.update({where:{id:l},data:{insightNoteId:k.id}}),console.error(`[captureTaskDreaming] Note created: ${k.id}`)}catch(a){console.error("[captureTaskDreaming] Failed:",a)}}a.s(["captureExecutionSummary",0,i,"captureTaskDreaming",0,j])},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},322508,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0z1ffhu._.js","server/chunks/ssr/03j-_@anthropic-ai_claude-agent-sdk_sdk_mjs_0kr2_y.._.js"].map(b=>a.l(b))).then(()=>b(332246)))}];
28
+ - Keep each insight concise (1-2 sentences)`,h=await c(g,b);if(!h)return null;try{let a=h,b=a.match(/\{[\s\S]*\}/);b&&(a=b[0]);let c=JSON.parse(a);if("string"!=typeof c.summary||"boolean"!=typeof c.shouldCreateNote)return console.error("[generateDreamingInsight] Invalid response structure"),null;return c}catch(a){return console.error("[generateDreamingInsight] JSON parse failed:",a.message),null}}a.s(["aiQuery",0,c,"generateDreamingInsight",0,e,"generateSummaryFromLog",0,d])},23999,a=>{"use strict";var b=a.i(233405),c=a.i(522734),d=a.i(832116),e=a.i(396477);function f(a,c){return(0,b.execFileSync)("git",a,{cwd:c,timeout:1e4,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()}function g(a){for(let b of["main","master","develop"])try{return f(["merge-base","HEAD",b],a)}catch{}return null}function h(a){if(!a)return null;let b=a.split("\n").filter(Boolean);if(0===b.length)return null;let c=b[0].replace(/^[a-f0-9]+\s+/,"");return 1===b.length?c:`${b.length} commits: ${c}`}async function i(a,b,i,j,k){try{let b;console.error(`[captureExecutionSummary] Starting: exec=${a.slice(0,8)} exit=${i} buffer=${j.length}chars worktree=${k}`);let l=null,m=null,n=null;if(k&&(0,c.existsSync)(k))try{if(f(["rev-parse","--git-dir"],k),l=function(a){try{let b=g(a);if(b){let c=f(["log","--oneline",`${b}..HEAD`],a);if(c)return c}return f(["log","--oneline","-3"],a)||null}catch{return null}}(k),(m=function(a){try{let b,c=g(a);if(!(b=c?f(["diff","--stat",`${c}..HEAD`],a):f(["diff","--stat","HEAD~20","HEAD"],a)))return null;return function(a){let b=a.split("\n"),c=b[b.length-1];if(!c)return null;let d=c.match(/(\d+)\s+files?\s+changed/),e=c.match(/(\d+)\s+insertions?\(\+\)/),f=c.match(/(\d+)\s+deletions?\(-\)/);return d||e||f?{commits:0,filesChanged:d?parseInt(d[1],10):0,insertions:e?parseInt(e[1],10):0,deletions:f?parseInt(f[1],10):0}:null}(b)}catch{return null}}(k))&&l){let a=l.split("\n").filter(Boolean).length;m={...m,commits:a}}n=h(l)}catch{}let o=(b=j.replace(/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g,"").replace(/\x1b\[[0-9;?]*[A-Za-z]/g,"").replace(/\x1b[^[\]()][^\x1b]*/g,"").replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,"").replace(/\n{3,}/g,"\n\n").trim()).length<=10240?b:b.slice(b.length-10240);await d.db.taskExecution.update({where:{id:a},data:{summary:n??(l?h(l):null),gitLog:l??null,gitStats:m?JSON.stringify(m):null,exitCode:i,terminalLog:o||null}}),o&&k&&(console.error("[captureExecutionSummary] Starting background AI summary..."),(0,e.generateSummaryFromLog)(o,k).then(async b=>{b&&(console.error(`[captureExecutionSummary] AI summary ready: ${b.slice(0,80)}`),await d.db.taskExecution.update({where:{id:a},data:{summary:b}}))}).catch(a=>{console.error("[captureExecutionSummary] Background AI summary failed:",a)}))}catch(a){console.error("[captureExecutionSummary] Failed to capture summary:",a)}}async function j(a){try{let b=await d.db.task.findUnique({where:{id:a},select:{projectId:!0,executions:{orderBy:{createdAt:"desc"},select:{id:!0,terminalLog:!0,worktreePath:!0,summary:!0}}}});if(!b||0===b.executions.length)return;let c="",f=null,g=[];for(let a of b.executions)a.terminalLog&&(c+=a.terminalLog+"\n---\n"),a.summary&&g.push(a.summary),!f&&a.worktreePath&&(f=a.worktreePath);if(!(c=c.slice(-8e3)).trim())return;let h=g.join("\n"),i=f||process.cwd();console.error(`[captureTaskDreaming] Starting for task=${a.slice(0,8)}, ${b.executions.length} executions`);let j=await (0,e.generateDreamingInsight)(c,i,h);if(!j||!j.shouldCreateNote)return void console.error("[captureTaskDreaming] No note needed");let k=await d.db.projectNote.create({data:{title:j.noteTitle||j.summary.slice(0,50),content:function(a){let b=[];if(b.push("## Summary"),b.push(a.summary),b.push(""),a.insights.length>0)for(let c of(b.push("## Insights"),a.insights))b.push(`- **[${c.type}]**: ${c.content}`);return b.join("\n")}(j),category:"session-insight",projectId:b.projectId,taskId:a}}),l=b.executions[0].id;await d.db.taskExecution.update({where:{id:l},data:{insightNoteId:k.id}}),console.error(`[captureTaskDreaming] Note created: ${k.id}`)}catch(a){console.error("[captureTaskDreaming] Failed:",a)}}a.s(["captureExecutionSummary",0,i,"captureTaskDreaming",0,j])},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},492832,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0z1ffhu._.js","server/chunks/ssr/0b0n_@anthropic-ai_claude-agent-sdk_sdk_mjs_123v~_z._.js"].map(b=>a.l(b))).then(()=>b(49139)))}];
29
29
 
30
- //# sourceMappingURL=%5Broot-of-the-server%5D__0gsj3~.._.js.map
30
+ //# sourceMappingURL=%5Broot-of-the-server%5D__04u4kb4._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[193695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},689910,a=>{a.v("/_next/static/media/apple-icon.16aocl-s-v2qz.png"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},548284,a=>{"use strict";let b={src:a.i(689910).default,width:180,height:180};a.s(["default",0,b])},993235,a=>{a.v("/_next/static/media/favicon.0y2d6j9cou~8p.ico"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},552530,a=>{"use strict";let b={src:a.i(993235).default,width:48,height:48};a.s(["default",0,b])},897122,a=>{a.v("/_next/static/media/icon1.04ux133882seb.png"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},616851,a=>{"use strict";let b={src:a.i(897122).default,width:96,height:96};a.s(["default",0,b])},586706,a=>{a.v("/_next/static/media/icon0.0a6mkq6meyird.svg"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},461433,a=>{"use strict";let b={src:a.i(586706).default,width:1254,height:1254};a.s(["default",0,b])},368747,a=>{"use strict";a.s(["MissionsClient",()=>b]);let b=(0,a.i(383756).registerClientReference)(function(){throw Error("Attempted to call MissionsClient() from the server but MissionsClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/project/f/tower/src/app/missions/missions-client.tsx <module evaluation>","MissionsClient")},924713,a=>{"use strict";a.s(["MissionsClient",()=>b]);let b=(0,a.i(383756).registerClientReference)(function(){throw Error("Attempted to call MissionsClient() from the server but MissionsClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/project/f/tower/src/app/missions/missions-client.tsx","MissionsClient")},6596,a=>{"use strict";a.i(368747);var b=a.i(924713);a.n(b)},874951,a=>{"use strict";var b=a.i(946116),c=a.i(643700),d=a.i(6596);async function e(){let a=await (0,c.getActiveExecutionsAcrossWorkspaces)().catch(()=>[]);return(0,b.jsx)(d.MissionsClient,{initialExecutions:a})}a.s(["default",0,e,"dynamic",0,"force-dynamic","runtime",0,"nodejs"])},31710,a=>{a.n(a.i(874951))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__055w_hn._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},359869,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(811030);let f=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=[];a.profileArgs?.length&&b.push(...a.profileArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...a.profileEnvVars??{},...a.envOverrides??{}};return{command:this.resolveCommand(),args:b,env:c}}buildEnvOverrides(a){let b={TOWER_TASK_ID:a.taskId,TOWER_TASK_TITLE:a.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:a.apiUrl};return a.callbackUrl&&(b.CALLBACK_URL=a.callbackUrl),b}async installHooks(a){let b=this.readSettings(),c=b.hooks??{},e=this.getPostToolUseArray(b);if(this.findTowerHookIndex(e)>=0)return;let f=d.join(process.cwd(),"scripts","post-tool-hook.js"),g={hooks:[{command:`node "${f}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"};b.hooks={...c,PostToolUse:[...e,g]},this.writeSettings(b)}async uninstallHooks(){let a=this.readSettings(),b=a.hooks??{},c=this.getPostToolUseArray(a).filter(a=>!a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")));a.hooks={...b,PostToolUse:c},this.writeSettings(a)}async isHooksInstalled(){let a=this.readSettings(),b=this.getPostToolUseArray(a);return this.findTowerHookIndex(b)>=0}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),d=c(b),e=this.resolveCommand(),{stdout:f}=await d(e,["--version"],{timeout:5e3});return f.trim()||null}catch{return null}}async getModels(){return f}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}resolveCommand(){return process.env.CLAUDE_CODE_PATH?process.env.CLAUDE_CODE_PATH:(0,e.resolveCommandPathSync)("claude")}readSettings(){try{return JSON.parse(b.readFileSync(this.getSettingsPath(),"utf-8"))}catch{return{}}}writeSettings(a){let c=this.getConfigDir();b.existsSync(c)||b.mkdirSync(c,{recursive:!0}),b.writeFileSync(this.getSettingsPath(),JSON.stringify(a,null,2),"utf-8")}getPostToolUseArray(a){let b=a.hooks;if(!b)return[];let c=b.PostToolUse;return Array.isArray(c)?c:[]}findTowerHookIndex(a){return a.findIndex(a=>a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")))}}])},157256,a=>{"use strict";let b=new(a.i(359869)).ClaudeCliAdapter;async function c(d,e,f={}){let g="";try{let{query:c}=await a.A(322508),h=b.resolveCommand();for await(let a of c({prompt:d,options:{tools:f.tools??[],allowedTools:f.allowedTools??[],maxTurns:f.maxTurns??1,cwd:e,pathToClaudeCodeExecutable:h,sessionPersistence:!1}}))if("assistant"===a.type){let b=a.message.content.filter(a=>"text"===a.type);g+=b.map(a=>a.text??"").join("")}else if("result"===a.type){let b="string"==typeof a.result?a.result:"";b&&!g&&(g=b)}return g.trim()||null}catch(a){if(a.message?.includes("maximum number of turns")&&g.trim())return g.trim();return console.error("[aiQuery] Failed:",a.message,a.stack?.slice(0,300)),null}}async function d(a,b){let d=`以下是一次AI编程助手的终端会话记录。请用一句简短的中文总结这次会话做了什么(不超过50字,只回答总结内容,不要加引号或前缀):
1
+ module.exports=[660526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},575675,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(912206);let f=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=[];a.profileArgs?.length&&b.push(...a.profileArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...a.profileEnvVars??{},...a.envOverrides??{}};return{command:this.resolveCommand(),args:b,env:c}}buildEnvOverrides(a){let b={TOWER_TASK_ID:a.taskId,TOWER_TASK_TITLE:a.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:a.apiUrl};return a.callbackUrl&&(b.CALLBACK_URL=a.callbackUrl),b}async installHooks(a){let b=this.readSettings(),c=b.hooks??{},e=this.getPostToolUseArray(b);if(this.findTowerHookIndex(e)>=0)return;let f=d.join(process.cwd(),"scripts","post-tool-hook.js"),g={hooks:[{command:`node "${f}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"};b.hooks={...c,PostToolUse:[...e,g]},this.writeSettings(b)}async uninstallHooks(){let a=this.readSettings(),b=a.hooks??{},c=this.getPostToolUseArray(a).filter(a=>!a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")));a.hooks={...b,PostToolUse:c},this.writeSettings(a)}async isHooksInstalled(){let a=this.readSettings(),b=this.getPostToolUseArray(a);return this.findTowerHookIndex(b)>=0}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),d=c(b),e=this.resolveCommand(),{stdout:f}=await d(e,["--version"],{timeout:5e3});return f.trim()||null}catch{return null}}async getModels(){return f}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}resolveCommand(){return process.env.CLAUDE_CODE_PATH?process.env.CLAUDE_CODE_PATH:(0,e.resolveCommandPathSync)("claude")}readSettings(){try{return JSON.parse(b.readFileSync(this.getSettingsPath(),"utf-8"))}catch{return{}}}writeSettings(a){let c=this.getConfigDir();b.existsSync(c)||b.mkdirSync(c,{recursive:!0}),b.writeFileSync(this.getSettingsPath(),JSON.stringify(a,null,2),"utf-8")}getPostToolUseArray(a){let b=a.hooks;if(!b)return[];let c=b.PostToolUse;return Array.isArray(c)?c:[]}findTowerHookIndex(a){return a.findIndex(a=>a.hooks?.some(a=>a.command?.includes("post-tool-hook.js")))}}])},396477,a=>{"use strict";let b=new(a.i(575675)).ClaudeCliAdapter;async function c(d,e,f={}){let g="";try{let{query:c}=await a.A(492832),h=b.resolveCommand();for await(let a of c({prompt:d,options:{tools:f.tools??[],allowedTools:f.allowedTools??[],maxTurns:f.maxTurns??1,cwd:e,pathToClaudeCodeExecutable:h,sessionPersistence:!1}}))if("assistant"===a.type){let b=a.message.content.filter(a=>"text"===a.type);g+=b.map(a=>a.text??"").join("")}else if("result"===a.type){let b="string"==typeof a.result?a.result:"";b&&!g&&(g=b)}return g.trim()||null}catch(a){if(a.message?.includes("maximum number of turns")&&g.trim())return g.trim();return console.error("[aiQuery] Failed:",a.message,a.stack?.slice(0,300)),null}}async function d(a,b){let d=`以下是一次AI编程助手的终端会话记录。请用一句简短的中文总结这次会话做了什么(不超过50字,只回答总结内容,不要加引号或前缀):
2
2
 
3
3
  \`\`\`
4
4
  ${a.slice(-5e3)}
@@ -25,6 +25,6 @@ Rules:
25
25
  - Set shouldCreateNote=true ONLY if there are genuinely reusable insights (architectural decisions, non-obvious pitfalls, useful patterns, important tool discoveries)
26
26
  - Trivial sessions (simple formatting, single-line edits, routine commits) should have shouldCreateNote=false
27
27
  - insights array can be empty if nothing notable
28
- - Keep each insight concise (1-2 sentences)`,h=await c(g,b);if(!h)return null;try{let a=h,b=a.match(/\{[\s\S]*\}/);b&&(a=b[0]);let c=JSON.parse(a);if("string"!=typeof c.summary||"boolean"!=typeof c.shouldCreateNote)return console.error("[generateDreamingInsight] Invalid response structure"),null;return c}catch(a){return console.error("[generateDreamingInsight] JSON parse failed:",a.message),null}}a.s(["aiQuery",0,c,"generateDreamingInsight",0,e,"generateSummaryFromLog",0,d])},144264,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_child_process_0pwkpv9._.js"].map(b=>a.l(b))).then(()=>b(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},322508,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0of4r_r._.js","server/chunks/ssr/03j-_@anthropic-ai_claude-agent-sdk_sdk_mjs_0kr2_y.._.js"].map(b=>a.l(b))).then(()=>b(332246)))}];
28
+ - Keep each insight concise (1-2 sentences)`,h=await c(g,b);if(!h)return null;try{let a=h,b=a.match(/\{[\s\S]*\}/);b&&(a=b[0]);let c=JSON.parse(a);if("string"!=typeof c.summary||"boolean"!=typeof c.shouldCreateNote)return console.error("[generateDreamingInsight] Invalid response structure"),null;return c}catch(a){return console.error("[generateDreamingInsight] JSON parse failed:",a.message),null}}a.s(["aiQuery",0,c,"generateDreamingInsight",0,e,"generateSummaryFromLog",0,d])},144264,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_child_process_0pwkpv9._.js"].map(b=>a.l(b))).then(()=>b(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},492832,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0of4r_r._.js","server/chunks/ssr/0b0n_@anthropic-ai_claude-agent-sdk_sdk_mjs_123v~_z._.js"].map(b=>a.l(b))).then(()=>b(49139)))}];
29
29
 
30
- //# sourceMappingURL=%5Broot-of-the-server%5D__0adx8p4._.js.map
30
+ //# sourceMappingURL=%5Broot-of-the-server%5D__05a17ca._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},515205,a=>{"use strict";var b=a.i(858360),c=a.i(759985),d=a.i(448287),e=a.i(59711),f=a.i(161604),g=a.i(986379),h=a.i(14180),i=a.i(584335);let j=[{key:"notes",icon:f.FileText},{key:"assets",icon:g.FolderOpen},{key:"archive",icon:h.Archive}];a.s(["SubPageNav",0,function({workspaceId:a}){let{t:f}=(0,i.useI18n)(),g=(0,d.usePathname)(),h=j.find(a=>g.includes(`/${a.key}`))?.key;return(0,b.jsxs)("div",{className:"header-sm flex items-center gap-1 px-4 py-2",children:[(0,b.jsxs)(c.default,{href:`/workspaces/${a}`,className:"mr-2 flex items-center gap-1.5 rounded-md px-2 py-1.5 text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:[(0,b.jsx)(e.ArrowLeft,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:f("archive.backToBoard")})]}),(0,b.jsx)("span",{className:"mr-2 h-4 w-px bg-border"}),j.map(d=>{let e=d.icon,g=h===d.key;return(0,b.jsxs)(c.default,{href:`/workspaces/${a}/${d.key}`,className:`flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium transition-colors ${g?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"}`,children:[(0,b.jsx)(e,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:f(`sidebar.${d.key}`)})]},d.key)})]})}])},113620,a=>{"use strict";a.s(["BOARD_COLUMNS",0,[{id:"TODO",label:"To Do",color:"bg-slate-400"},{id:"IN_PROGRESS",label:"In Progress",color:"bg-amber-400"},{id:"IN_REVIEW",label:"In Review",color:"bg-sky-400"},{id:"DONE",label:"Done",color:"bg-emerald-400"},{id:"CANCELLED",label:"Cancelled",color:"bg-rose-400"}],"NOTE_CATEGORIES_PRESET",0,["账号","环境","需求","备忘"],"PRIORITY_CONFIG",0,{LOW:{label:"低",color:"bg-slate-500/20 text-slate-300 border border-slate-500/30"},MEDIUM:{label:"中",color:"bg-amber-500/20 text-amber-300 border border-amber-500/30"},HIGH:{label:"高",color:"bg-orange-500/20 text-orange-300 border border-orange-500/30"},CRITICAL:{label:"紧急",color:"bg-rose-500/20 text-rose-300 border border-rose-500/30"}},"TOWER_LABEL_NAME",0,"Tower"])},245095,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("40f5eb7f5803dd1b46b71a47e34ff8dbe539f1a5e3",b.callServer,void 0,b.findSourceMapURL,"deleteAsset");a.s(["deleteAsset",0,c])},208168,319884,a=>{"use strict";let b=(0,a.i(302856).default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);a.s(["Upload",0,b],208168);var c=a.i(879876);let d=(0,c.createServerReference)("405e1016a806f0737b6513e65c99049263410f5b20",c.callServer,void 0,c.findSourceMapURL,"uploadAsset");a.s(["uploadAsset",0,d],319884)},48300,a=>{"use strict";var b=a.i(293785),c=a.i(256116),d=a.i(488137),e=a.i(44585);let f=(0,d.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});a.s(["Badge",0,function({className:a,variant:d="default",render:g,...h}){var i;return i={defaultTagName:"span",props:(0,b.mergeProps)({className:(0,e.cn)(f({variant:d}),a)},h),render:g,state:{slot:"badge",variant:d}},(0,c.useRenderElement)(i.defaultTagName??"div",i,i)}],48300)},59711,a=>{"use strict";let b=(0,a.i(302856).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],59711)},468518,a=>{"use strict";var b=a.i(858360),c=a.i(44585);a.s(["EmptyState",0,function({icon:a,title:d,description:e,action:f,className:g}){return(0,b.jsxs)("div",{className:(0,c.cn)("flex h-48 flex-col items-center justify-center gap-2 text-center",g),children:[a&&(0,b.jsx)(a,{className:"h-10 w-10 text-muted-foreground/40"}),(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:d}),e&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:e}),f&&(0,b.jsx)("div",{className:"mt-2",children:f})]})}])},236345,a=>{"use strict";let b=(0,a.i(302856).default)("circle-play",[["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["PlayCircle",0,b],236345)},797896,a=>{"use strict";let b=(0,a.i(302856).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Eye",0,b],797896)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__06japut._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[31665,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},655315,(a,b,c)=>{b.exports=a.x("@prisma/client-ac1b8067b36ef9d3",()=>require("@prisma/client-ac1b8067b36ef9d3"))},832116,a=>{"use strict";var b=a.i(655315);let c=globalThis.prisma??new b.PrismaClient({log:[]});process.on("SIGTERM",()=>{c.$disconnect().catch(()=>{})}),process.on("SIGINT",()=>{c.$disconnect().catch(()=>{})}),a.s(["db",0,c])},6938,a=>{"use strict";function b(a,b,c,d){let e=new Date().toISOString(),f=`[${e}] ${a.toUpperCase()} [${b}] ${c}`;return d&&Object.keys(d).length>0?`${f} ${JSON.stringify(d)}`:f}a.s(["logger",0,{create:function(a){return{info(c,d){console.log(b("info",a,c,d))},warn(c,d){console.warn(b("warn",a,c,d))},error(c,d,e){console.error(b("error",a,c,d instanceof Error?{...e,error:d.message,stack:d.stack}:{...e,error:String(d)}))}}},info(a,c){console.log(b("info","app",a,c))},warn(a,c){console.warn(b("warn","app",a,c))},error(a,c,d){console.error(b("error","app",a,c instanceof Error?{...d,error:c.message,stack:c.stack}:{...d,error:String(c)}))}}])},541587,a=>{"use strict";var b=a.i(680889),c=a.i(832116),d=a.i(972795),e=a.i(6938),f=a.i(632919);let g=["onboarding.completed","onboarding.lastStep","onboarding.username"];async function h(){let a=await c.db.systemConfig.findMany({where:{key:{in:[...g]}}}),b={};for(let c of a)try{b[c.key]=JSON.parse(c.value)}catch{b[c.key]=null}let d=!0===b["onboarding.completed"],e=b["onboarding.lastStep"],f=b["onboarding.username"];return{isFirstRun:!d,isCompleted:d,lastStep:"number"==typeof e?e:0,username:"string"==typeof f&&f.length>0?f:null}}async function i(a){await c.db.systemConfig.upsert({where:{key:"onboarding.lastStep"},create:{key:"onboarding.lastStep",value:JSON.stringify(a)},update:{value:JSON.stringify(a)}}),(0,d.revalidatePath)("/","layout")}async function j(a){if(await c.db.systemConfig.upsert({where:{key:"onboarding.completed"},create:{key:"onboarding.completed",value:"true"},update:{value:"true"}}),await c.db.systemConfig.upsert({where:{key:"onboarding.lastStep"},create:{key:"onboarding.lastStep",value:"2"},update:{value:"2"}}),void 0!==a){let b=a.trim().slice(0,64).replace(/[\r\n]/g," ");b.length>0&&await c.db.systemConfig.upsert({where:{key:"onboarding.username"},create:{key:"onboarding.username",value:JSON.stringify(b)},update:{value:JSON.stringify(b)}})}(0,d.revalidatePath)("/","layout")}async function k(b){try{e.logger.create("task-completion").info("Task completion event dispatched",{taskId:b.taskId,taskTitle:b.taskTitle,status:b.status,executionId:b.executionId});let{broadcastNotification:c}=await a.A(563647);c({...b,type:"completion"})}catch{}}(0,f.ensureServerEntryExports)([h,i,j,k]),(0,b.registerServerReference)(h,"0088720ea6f78a7d440f0ffe918e2017c6ed4a091c",null),(0,b.registerServerReference)(i,"40556e416c26c7e086bc6c0026b4f12eee10ce659c",null),(0,b.registerServerReference)(j,"4008da5fb2e740b1e3c6df4ff7e170a1140d107426",null),(0,b.registerServerReference)(k,"408abee9d22d9054dd5a6ecc32b0c3daa69ef66c6e",null),a.s(["completeOnboarding",0,j,"dispatchTaskCompletionEvent",0,k,"getOnboardingStatus",0,h,"setOnboardingProgress",0,i])},589578,a=>{a.v({className:"geist_a71539c9-module__T19VSG__className",variable:"geist_a71539c9-module__T19VSG__variable"})},435214,a=>{a.v({className:"geist_mono_8d43a2aa-module__8Li5zG__className",variable:"geist_mono_8d43a2aa-module__8Li5zG__variable"})},682231,a=>{"use strict";a.s(["Tooltip",()=>c,"TooltipContent",()=>d,"TooltipProvider",()=>e,"TooltipTrigger",()=>f]);var b=a.i(383756);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call Tooltip() from the server but Tooltip is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/project/f/tower/src/components/ui/tooltip.tsx <module evaluation>","Tooltip"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipContent() from the server but TooltipContent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/project/f/tower/src/components/ui/tooltip.tsx <module evaluation>","TooltipContent"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipProvider() from the server but TooltipProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/project/f/tower/src/components/ui/tooltip.tsx <module evaluation>","TooltipProvider"),f=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipTrigger() from the server but TooltipTrigger is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/project/f/tower/src/components/ui/tooltip.tsx <module evaluation>","TooltipTrigger")},631413,a=>{"use strict";a.s(["Tooltip",()=>c,"TooltipContent",()=>d,"TooltipProvider",()=>e,"TooltipTrigger",()=>f]);var b=a.i(383756);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call Tooltip() from the server but Tooltip is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/project/f/tower/src/components/ui/tooltip.tsx","Tooltip"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipContent() from the server but TooltipContent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/project/f/tower/src/components/ui/tooltip.tsx","TooltipContent"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipProvider() from the server but TooltipProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/project/f/tower/src/components/ui/tooltip.tsx","TooltipProvider"),f=(0,b.registerClientReference)(function(){throw Error("Attempted to call TooltipTrigger() from the server but TooltipTrigger is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/project/f/tower/src/components/ui/tooltip.tsx","TooltipTrigger")},300623,a=>{"use strict";a.i(682231);var b=a.i(631413);a.n(b)},101632,a=>{"use strict";a.s(["LayoutClient",()=>b]);let b=(0,a.i(383756).registerClientReference)(function(){throw Error("Attempted to call LayoutClient() from the server but LayoutClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/project/f/tower/src/components/layout/layout-client.tsx <module evaluation>","LayoutClient")},284269,a=>{"use strict";a.s(["LayoutClient",()=>b]);let b=(0,a.i(383756).registerClientReference)(function(){throw Error("Attempted to call LayoutClient() from the server but LayoutClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/project/f/tower/src/components/layout/layout-client.tsx","LayoutClient")},845535,a=>{"use strict";a.i(101632);var b=a.i(284269);a.n(b)},491389,a=>{"use strict";a.s(["I18nProvider",()=>c,"useI18n",()=>d]);var b=a.i(383756);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call I18nProvider() from the server but I18nProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/project/f/tower/src/lib/i18n.tsx <module evaluation>","I18nProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useI18n() from the server but useI18n is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/project/f/tower/src/lib/i18n.tsx <module evaluation>","useI18n")},670088,a=>{"use strict";a.s(["I18nProvider",()=>c,"useI18n",()=>d]);var b=a.i(383756);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call I18nProvider() from the server but I18nProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/project/f/tower/src/lib/i18n.tsx","I18nProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useI18n() from the server but useI18n is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/project/f/tower/src/lib/i18n.tsx","useI18n")},353521,a=>{"use strict";a.i(491389);var b=a.i(670088);a.n(b)},64825,a=>{"use strict";a.s(["ThemeProvider",()=>b]);let b=(0,a.i(383756).registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/project/f/tower/src/components/providers/theme-provider.tsx <module evaluation>","ThemeProvider")},907347,a=>{"use strict";a.s(["ThemeProvider",()=>b]);let b=(0,a.i(383756).registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/project/f/tower/src/components/providers/theme-provider.tsx","ThemeProvider")},581875,a=>{"use strict";a.i(64825);var b=a.i(907347);a.n(b)},575729,a=>{"use strict";a.s(["Toaster",()=>b]);let b=(0,a.i(383756).registerClientReference)(function(){throw Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/project/f/tower/src/components/ui/sonner.tsx <module evaluation>","Toaster")},186682,a=>{"use strict";a.s(["Toaster",()=>b]);let b=(0,a.i(383756).registerClientReference)(function(){throw Error("Attempted to call Toaster() from the server but Toaster is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/project/f/tower/src/components/ui/sonner.tsx","Toaster")},267251,a=>{"use strict";a.i(575729);var b=a.i(186682);a.n(b)},665011,a=>{"use strict";var b=a.i(946116),c=a.i(589578);let d={className:c.default.className,style:{fontFamily:"'Geist', 'Geist Fallback'",fontStyle:"normal"}};null!=c.default.variable&&(d.variable=c.default.variable);var e=a.i(435214);let f={className:e.default.className,style:{fontFamily:"'Geist Mono', 'Geist Mono Fallback'",fontStyle:"normal"}};null!=e.default.variable&&(f.variable=e.default.variable);var g=a.i(300623),h=a.i(845535),i=a.i(353521),j=a.i(581875),k=a.i(267251),l=a.i(832116),m=a.i(541587);async function n({children:a}){let[c,e]=await Promise.all([l.db.workspace.findMany({orderBy:{updatedAt:"desc"},select:{id:!0,name:!0,description:!0,updatedAt:!0}}),(0,m.getOnboardingStatus)()]);return(0,b.jsxs)("html",{lang:"zh-CN",suppressHydrationWarning:!0,children:[(0,b.jsxs)("head",{children:[(0,b.jsx)("link",{rel:"preconnect",href:"https://fonts.googleapis.com"}),(0,b.jsx)("link",{rel:"preconnect",href:"https://fonts.gstatic.com",crossOrigin:"anonymous"}),(0,b.jsx)("link",{href:"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300..700;1,9..40,300..700&family=JetBrains+Mono:wght@400;500;600&display=swap",rel:"stylesheet"})]}),(0,b.jsx)("body",{className:`${d.variable} ${f.variable} antialiased`,children:(0,b.jsx)(j.ThemeProvider,{attribute:"class",defaultTheme:"system",enableSystem:!0,children:(0,b.jsx)(g.TooltipProvider,{children:(0,b.jsxs)(i.I18nProvider,{children:[(0,b.jsx)(h.LayoutClient,{workspaces:c,isFirstRun:e.isFirstRun,username:e.username,children:a}),(0,b.jsx)(k.Toaster,{richColors:!0,position:"top-right"})]})})})})]})}a.s(["default",0,n,"metadata",0,{title:"AI Task Platform - Tower",description:"AI task orchestration and multi-project management platform"}],665011)},442674,a=>{a.n(a.i(665011))},563647,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0hiekzn._.js"].map(b=>a.l(b))).then(()=>b(155482)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__06qzctf._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},326575,a=>{"use strict";a.i(233405);var b=a.i(832116);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(182508),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(6938).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},182508,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_src_lib_constants_ts_0.qkxto._.js"].map(b=>a.l(b))).then(()=>b(267853)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__09mr4e7._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},326575,a=>{"use strict";a.i(233405);var b=a.i(832116);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(182508),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(6938).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},182508,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_src_lib_constants_ts_0.qkxto._.js"].map(b=>a.l(b))).then(()=>b(267853)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0c1i04u._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},515205,a=>{"use strict";var b=a.i(858360),c=a.i(759985),d=a.i(448287),e=a.i(59711),f=a.i(161604),g=a.i(986379),h=a.i(14180),i=a.i(584335);let j=[{key:"notes",icon:f.FileText},{key:"assets",icon:g.FolderOpen},{key:"archive",icon:h.Archive}];a.s(["SubPageNav",0,function({workspaceId:a}){let{t:f}=(0,i.useI18n)(),g=(0,d.usePathname)(),h=j.find(a=>g.includes(`/${a.key}`))?.key;return(0,b.jsxs)("div",{className:"header-sm flex items-center gap-1 px-4 py-2",children:[(0,b.jsxs)(c.default,{href:`/workspaces/${a}`,className:"mr-2 flex items-center gap-1.5 rounded-md px-2 py-1.5 text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:[(0,b.jsx)(e.ArrowLeft,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:f("archive.backToBoard")})]}),(0,b.jsx)("span",{className:"mr-2 h-4 w-px bg-border"}),j.map(d=>{let e=d.icon,g=h===d.key;return(0,b.jsxs)(c.default,{href:`/workspaces/${a}/${d.key}`,className:`flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium transition-colors ${g?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"}`,children:[(0,b.jsx)(e,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:f(`sidebar.${d.key}`)})]},d.key)})]})}])},59711,a=>{"use strict";let b=(0,a.i(302856).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],59711)},468518,a=>{"use strict";var b=a.i(858360),c=a.i(44585);a.s(["EmptyState",0,function({icon:a,title:d,description:e,action:f,className:g}){return(0,b.jsxs)("div",{className:(0,c.cn)("flex h-48 flex-col items-center justify-center gap-2 text-center",g),children:[a&&(0,b.jsx)(a,{className:"h-10 w-10 text-muted-foreground/40"}),(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:d}),e&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:e}),f&&(0,b.jsx)("div",{className:"mt-2",children:f})]})}])},113620,a=>{"use strict";a.s(["BOARD_COLUMNS",0,[{id:"TODO",label:"To Do",color:"bg-slate-400"},{id:"IN_PROGRESS",label:"In Progress",color:"bg-amber-400"},{id:"IN_REVIEW",label:"In Review",color:"bg-sky-400"},{id:"DONE",label:"Done",color:"bg-emerald-400"},{id:"CANCELLED",label:"Cancelled",color:"bg-rose-400"}],"NOTE_CATEGORIES_PRESET",0,["账号","环境","需求","备忘"],"PRIORITY_CONFIG",0,{LOW:{label:"低",color:"bg-slate-500/20 text-slate-300 border border-slate-500/30"},MEDIUM:{label:"中",color:"bg-amber-500/20 text-amber-300 border border-amber-500/30"},HIGH:{label:"高",color:"bg-orange-500/20 text-orange-300 border border-orange-500/30"},CRITICAL:{label:"紧急",color:"bg-rose-500/20 text-rose-300 border border-rose-500/30"}},"TOWER_LABEL_NAME",0,"Tower"])},27645,222873,a=>{"use strict";var b=a.i(879876);let c=(0,b.createServerReference)("4013f3990e7ab63645a7a0eba9f894a2dead93edf5",b.callServer,void 0,b.findSourceMapURL,"createNote");a.s(["createNote",0,c],27645);let d=(0,b.createServerReference)("4031f43902bbd8a30d1aafd8c1463fca31a0ca6c2e",b.callServer,void 0,b.findSourceMapURL,"deleteNote");a.s(["deleteNote",0,d],222873)},25226,a=>{"use strict";var b=a.i(858360),c=a.i(175391),d=a.i(263973),e=a.i(109434),f=a.i(515205),g=a.i(584335),h=a.i(113620),i=a.i(27645),j=a.i(879876);let k=(0,j.createServerReference)("6092865255a76c411056db6faab43ac884694328e2",j.callServer,void 0,j.findSourceMapURL,"updateNote");var l=a.i(222873);let m=(0,j.createServerReference)("609e4a606d36feb436e29527b4809e11eb5603e6e3",j.callServer,void 0,j.findSourceMapURL,"getProjectNotes");var n=a.i(44585);function o({active:a,onSelect:c}){let{t:d}=(0,g.useI18n)();return(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)("button",{onClick:()=>c("all"),className:(0,n.cn)("rounded-lg px-3 py-1 text-xs font-medium transition-colors","all"===a?"bg-primary/15 text-primary ring-1 ring-primary/20":"text-muted-foreground hover:bg-accent"),children:d("notes.allCategories")}),h.NOTE_CATEGORIES_PRESET.map(d=>(0,b.jsx)("button",{onClick:()=>c(d),className:(0,n.cn)("rounded-lg px-3 py-1 text-xs font-medium transition-colors",a===d?"bg-primary/15 text-primary ring-1 ring-primary/20":"text-muted-foreground hover:bg-accent"),children:d},d))]})}var p=a.i(410756),q=a.i(224372),r=a.i(161604),s=a.i(468518),t=a.i(94202),u=a.i(569210),v=a.i(448709),w=a.i(238848);function x({note:a,onEdit:c,onDelete:d}){let{t:e}=(0,g.useI18n)(),f=a.content.slice(0,300);return(0,b.jsxs)("div",{className:"group relative rounded-lg border border-border bg-card p-4 transition-colors hover:border-border/80 hover:bg-accent/20",children:[(0,b.jsxs)("div",{className:"absolute right-3 top-3 flex items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100",children:[(0,b.jsx)(p.Button,{variant:"ghost",size:"icon-sm",onClick:()=>c(a),className:"text-muted-foreground","aria-label":e("notes.edit"),children:(0,b.jsx)(t.Pencil,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(p.Button,{variant:"ghost",size:"icon-sm",onClick:()=>d(a.id),className:"text-muted-foreground hover:text-rose-400","aria-label":e("notes.delete"),children:(0,b.jsx)(u.Trash2,{className:"h-3.5 w-3.5"})})]}),(0,b.jsx)("div",{className:"mb-2 pr-16",children:(0,b.jsx)("h3",{className:"truncate text-sm font-semibold text-foreground",children:a.title})}),(0,b.jsx)("span",{className:"mb-3 inline-block rounded-full bg-muted px-2 py-0.5 text-[10px] font-medium text-muted-foreground",children:a.category}),(0,b.jsx)("div",{className:"prose prose-sm dark:prose-invert max-h-24 overflow-hidden text-muted-foreground",children:(0,b.jsx)(v.default,{remarkPlugins:[w.default],children:f})})]})}function y({notes:a,onEdit:c,onDelete:d}){let{t:e}=(0,g.useI18n)();return 0===a.length?(0,b.jsx)(s.EmptyState,{icon:r.FileText,title:e("notes.empty"),description:e("notes.emptyHint")}):(0,b.jsx)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:a.map(a=>(0,b.jsx)(x,{note:a,onEdit:c,onDelete:d},a.id))})}var z=a.i(246962);function A({value:a,onChange:c}){return(0,b.jsxs)("div",{className:"relative grid grid-cols-2 gap-4 flex-1 min-h-64",children:[(0,b.jsx)(z.Textarea,{value:a,onChange:a=>c(a.target.value),className:"absolute inset-0 w-1/2 pr-2 resize-none font-mono text-sm border rounded-md p-3 bg-background text-foreground border-border focus:outline-none focus:ring-1 focus:ring-ring",placeholder:"Write Markdown here..."}),(0,b.jsx)("div",{className:"absolute inset-0 left-1/2 pl-2",children:(0,b.jsx)("div",{className:"h-full overflow-y-auto border rounded-md p-3 border-border prose prose-sm dark:prose-invert max-w-none",children:(0,b.jsx)(v.default,{remarkPlugins:[w.default],children:a})})})]})}a.s(["NotesPageClient",0,function({allWorkspaces:a,initialWorkspaceId:j,initialProjectId:n,initialNotes:r}){let s,t,{t:u}=(0,g.useI18n)(),[v,w]=(0,c.useTransition)(),[x,z]=(0,c.useState)(j),[B,C]=(0,c.useState)(n),[D,E]=(0,c.useState)(r),[F,G]=(0,c.useState)("all"),[H,I]=(0,c.useState)(null),[J,K]=(0,c.useState)(!1),[L,M]=(0,c.useState)(""),[N,O]=(0,c.useState)(""),[P,Q]=(0,c.useState)(h.NOTE_CATEGORIES_PRESET[3]),[R,S]=(0,c.useState)(j),[T,U]=(0,c.useState)(n),V=a.find(a=>a.id===x),W=V?.projects??[],X=a.find(a=>a.id===R),Y=X?.projects??[],Z=(0,c.useCallback)(a=>{a?w(async()=>{E(await m(a))}):E([])},[w]),$=async()=>{T&&L.trim()&&(await (0,i.createNote)({title:L.trim(),content:N,category:P,projectId:T}),K(!1),T===B&&Z(B))},_=async()=>{H&&L.trim()&&(await k(H.id,{title:L.trim(),content:N,category:P}),I(null),Z(B))},aa=async a=>{let b=D.find(b=>b.id===a);!b||confirm(u("notes.deleteConfirm",{title:b.title}))&&(await (0,l.deleteNote)(a),Z(B))},ab="all"===F?D.map(a=>({...a,updatedAt:new Date(a.updatedAt)})):D.filter(a=>a.category===F).map(a=>({...a,updatedAt:new Date(a.updatedAt)})),ac=J||null!==H;return(0,b.jsxs)("div",{className:"flex h-full flex-col overflow-hidden",children:[(0,b.jsx)(f.SubPageNav,{workspaceId:x}),(0,b.jsxs)("div",{className:"header-sm flex items-center gap-3 px-6 py-2",children:[(0,b.jsxs)(q.Select,{value:x,onValueChange:b=>b&&(b=>{if(b===x)return;z(b);let c=a.find(a=>a.id===b),d=c?.projects[0]??null;C(d?.id??null),G("all"),Z(d?.id??null)})(b),children:[(0,b.jsx)(q.SelectTrigger,{className:"h-8 w-auto min-w-[120px]",children:(0,b.jsx)("span",{className:"truncate",children:a.find(a=>a.id===x)?.name??x})}),(0,b.jsx)(q.SelectContent,{children:a.map(a=>(0,b.jsx)(q.SelectItem,{value:a.id,children:a.name},a.id))})]}),W.length>0&&(0,b.jsxs)(q.Select,{value:B??"",onValueChange:a=>a&&void(a!==B&&(C(a),G("all"),Z(a))),children:[(0,b.jsx)(q.SelectTrigger,{className:"h-8 w-auto min-w-[140px]",children:(0,b.jsx)("span",{className:"truncate",children:(s=W.find(a=>a.id===B))?s.alias?`${s.name} (${s.alias})`:s.name:""})}),(0,b.jsx)(q.SelectContent,{children:W.map(a=>(0,b.jsxs)(q.SelectItem,{value:a.id,children:[a.name,a.alias?` (${a.alias})`:""]},a.id))})]}),!ac&&(0,b.jsxs)(p.Button,{onClick:()=>{M(""),O(""),Q(h.NOTE_CATEGORIES_PRESET[3]),S(x),U(B),I(null),K(!0)},className:"ml-auto bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:[(0,b.jsx)(d.Plus,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:u("notes.newNote")})]})]}),(0,b.jsx)("div",{className:"flex-1 overflow-hidden px-6 py-4 flex flex-col",children:ac?(0,b.jsxs)("div",{className:"flex flex-col gap-4 flex-1 min-h-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 flex-wrap",children:[!H&&(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground whitespace-nowrap",children:u("notes.workspace")}),(0,b.jsxs)(q.Select,{value:R,onValueChange:b=>b&&(b=>{if(b===R)return;S(b);let c=a.find(a=>a.id===b),d=c?.projects[0]??null;U(d?.id??null)})(b),children:[(0,b.jsx)(q.SelectTrigger,{className:"min-w-[140px] text-xs",children:(0,b.jsx)("span",{className:"truncate",children:a.find(a=>a.id===R)?.name??R})}),(0,b.jsx)(q.SelectContent,{children:a.map(a=>(0,b.jsx)(q.SelectItem,{value:a.id,children:a.name},a.id))})]})]}),!H&&Y.length>0&&(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground whitespace-nowrap",children:u("notes.project")}),(0,b.jsxs)(q.Select,{value:T??"",onValueChange:a=>a&&U(a),children:[(0,b.jsx)(q.SelectTrigger,{className:"min-w-[160px] text-xs",children:(0,b.jsx)("span",{className:"truncate",children:(t=Y.find(a=>a.id===T))?t.alias?`${t.name} (${t.alias})`:t.name:""})}),(0,b.jsx)(q.SelectContent,{children:Y.map(a=>(0,b.jsxs)(q.SelectItem,{value:a.id,children:[a.name,a.alias?` (${a.alias})`:""]},a.id))})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground whitespace-nowrap",children:u("notes.categoryLabel")}),(0,b.jsxs)(q.Select,{value:P,onValueChange:a=>a&&Q(a),children:[(0,b.jsx)(q.SelectTrigger,{className:"min-w-[120px] text-xs",children:(0,b.jsx)("span",{className:"truncate",children:P})}),(0,b.jsx)(q.SelectContent,{children:h.NOTE_CATEGORIES_PRESET.map(a=>(0,b.jsx)(q.SelectItem,{value:a,children:a},a))})]})]})]}),(0,b.jsx)("input",{type:"text",value:L,onChange:a=>M(a.target.value),placeholder:u("notes.titlePlaceholder"),className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring"}),(0,b.jsx)(A,{value:N,onChange:O}),(0,b.jsxs)("div",{className:"flex items-center gap-2 justify-end",children:[(0,b.jsx)(p.Button,{variant:"outline",onClick:()=>{K(!1),I(null)},children:u("notes.cancel")}),(0,b.jsx)(p.Button,{onClick:H?_:$,disabled:!L.trim()||!H&&!T,className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:u("notes.save")})]})]}):(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(o,{active:F,onSelect:G}),(0,b.jsxs)("div",{className:`relative ${v?"opacity-40 pointer-events-none":""} transition-opacity`,children:[v&&(0,b.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center",children:(0,b.jsx)(e.Loader2,{className:"size-5 animate-spin text-muted-foreground"})}),0===W.length?(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center gap-2 py-16 text-center",children:[(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:u("notes.noProject")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:u("notes.noProjectHint")})]}):(0,b.jsx)(y,{notes:ab,onEdit:a=>{M(a.title),O(a.content),Q(a.category),I(a),K(!1)},onDelete:aa})]})]})})]})}],25226)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0db_p8v._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[233405,(a,b,c)=>{b.exports=a.x("child_process",()=>require("child_process"))},961374,a=>{"use strict";var b=a.i(233405),c=a.i(522734),d=a.i(924868),e=a.i(814747),f=a.i(446786),g=a.i(6938);function h(a){return a.startsWith("~/")||"~"===a?e.default.join(f.default.homedir(),a.slice(1)):a}async function i(a,f,i){let j=h(a),k=e.default.join(j,".worktrees","task-"+f),l="task/"+f;await (0,d.mkdir)(e.default.join(j,".worktrees"),{recursive:!0});let m=(0,b.execFileSync)("git",["worktree","list","--porcelain"],{cwd:j,encoding:"utf-8",timeout:1e4}),n=e.default.normalize(k).replace(/\\/g,"/");if(m.split("\n").some(a=>a.startsWith("worktree ")&&a.slice(9).replace(/\\/g,"/")===n))return{worktreePath:k,worktreeBranch:l};if((0,c.existsSync)(k)&&(g.logger.warn(`[worktree] Directory exists but not tracked by git, removing: ${k}`),(0,b.execFileSync)("git",["worktree","remove",k,"--force"],{cwd:j,encoding:"utf-8",timeout:3e4})),(0,b.execFileSync)("git",["branch","--list",l],{cwd:j,encoding:"utf-8",timeout:5e3}).trim())(0,b.execFileSync)("git",["worktree","add",k,l],{cwd:j,encoding:"utf-8",timeout:3e4});else{let a=i;try{(0,b.execFileSync)("git",["rev-parse","--verify",i],{cwd:j,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]})}catch{try{(0,b.execFileSync)("git",["rev-parse","--verify",`origin/${i}`],{cwd:j,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]}),a=`origin/${i}`}catch{throw Error(`Base branch '${i}' does not exist locally or on remote. Available branches: `+(0,b.execFileSync)("git",["branch","-a","--format=%(refname:short)"],{cwd:j,encoding:"utf-8",timeout:5e3}).trim().split("\n").join(", "))}}(0,b.execFileSync)("git",["worktree","add","-b",l,k,a],{cwd:j,encoding:"utf-8",timeout:3e4})}return function(a,b){let d=g.logger.create("worktree");for(let f of["node_modules",".next"]){let g=e.default.join(a,f),h=e.default.join(b,f);if((0,c.existsSync)(g)){try{(0,c.lstatSync)(h);continue}catch{}try{(0,c.symlinkSync)(g,h,"junction"),d.info(`Symlinked ${f}`,{from:g,to:h})}catch(a){d.warn(`Failed to symlink ${f}`,{error:String(a)})}}}}(j,k),{worktreePath:k,worktreeBranch:l}}async function j(a,d){let f=h(a),g=e.default.join(f,".worktrees","task-"+d),i="task/"+d;(0,c.existsSync)(g)&&(0,b.execFileSync)("git",["worktree","remove",g,"--force"],{cwd:f,encoding:"utf-8",timeout:3e4}),(0,b.execFileSync)("git",["branch","--list",i],{cwd:f,encoding:"utf-8",timeout:5e3}).trim()&&(0,b.execFileSync)("git",["branch","-D",i],{cwd:f,encoding:"utf-8",timeout:5e3})}a.s(["createWorktree",0,i,"removeWorktree",0,j])},31782,a=>{"use strict";var b=a.i(680889),c=a.i(832116),d=a.i(972795),e=a.i(30292),f=a.i(961374),g=a.i(96063),h=a.i(232779),i=a.i(6938),j=a.i(632919);let k=i.logger.create("task-actions");async function l(a){let b=h.createTaskSchema.parse(a),e=await c.db.task.create({data:{title:b.title,description:b.description,projectId:b.projectId,priority:b.priority??"MEDIUM",status:b.status??"TODO",baseBranch:b.baseBranch??null,subPath:b.subPath??null}});return b.labelIds&&b.labelIds.length>0&&await c.db.taskLabel.createMany({data:b.labelIds.map(a=>({taskId:e.id,labelId:a}))}),(0,d.revalidatePath)("/workspaces"),e}async function m(b,e){h.taskStatusSchema.parse(e);let g=await c.db.task.update({where:{id:b},data:{status:e},include:{project:!0}});if("DONE"===e&&!g.baseBranch&&g.project?.localPath)try{let{execFileSync:d}=await a.A(144264),e=d("git",["rev-parse","HEAD"],{cwd:g.project.localPath,encoding:"utf-8",timeout:5e3}).trim();if(e){let a=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});a&&await c.db.taskExecution.update({where:{id:a.id},data:{mergeCommit:e}})}}catch{}if("DONE"===e&&a.A(131993).then(({captureTaskDreaming:a})=>{a(b).catch(()=>{})}).catch(()=>{}),"CANCELLED"===e&&g.project?.localPath)try{await (0,f.removeWorktree)(g.project.localPath,b)}catch(a){k.error("Worktree cleanup failed",a,{taskId:b})}return(0,d.revalidatePath)("/workspaces"),g}async function n(a,b){let{labelIds:f,...g}=h.updateTaskSchema.parse(b),i=await c.db.task.update({where:{id:a},data:g});return void 0!==f&&await (0,e.setTaskLabels)(a,f),(0,d.revalidatePath)("/workspaces"),i}async function o(a){g.z.string().cuid().parse(a);let b=await c.db.task.findUniqueOrThrow({where:{id:a},select:{pinned:!0}}),e=await c.db.task.update({where:{id:a},data:{pinned:!b.pinned}});return(0,d.revalidatePath)("/workspaces"),e}async function p(b){let e=await c.db.task.findUnique({where:{id:b},include:{project:!0}});if(e?.project?.localPath)try{await (0,f.removeWorktree)(e.project.localPath,b)}catch{}try{let{destroySession:c}=await a.A(585988);c(b)}catch{}await c.db.task.delete({where:{id:b}}),(0,d.revalidatePath)("/workspaces")}async function q(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,OR:[{status:{notIn:["DONE","CANCELLED"]}},{status:{in:["DONE","CANCELLED"]},updatedAt:{gte:b}}]},orderBy:[{pinned:"desc"},{order:"asc"},{createdAt:"desc"}]})}async function r(a){return a.trim()?c.db.task.findMany({where:{OR:[{title:{contains:a}},{description:{contains:a}}]},include:{project:{include:{workspace:!0}}},take:20,orderBy:{updatedAt:"desc"}}):[]}async function s(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1}},orderBy:{updatedAt:"desc"}})}async function t(b){let{execFileSync:d}=await a.A(144264),{existsSync:e}=await a.A(323970),f=await c.db.task.findUnique({where:{id:b}}),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!e(g.worktreePath))return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!1};let h=g.worktreePath,i=f?.baseBranch||"main";try{let a=d("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=a?a.split("\n").map(a=>a.trim()).filter(Boolean):[],c=0===b.length,e=!1,f=null,g=[];try{let a=d("git",["merge-base",i,"HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=d("git",["rev-list","--count",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();if(e=parseInt(b,10)>0){f=d("git",["log","-1","--format=%B"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();let b=d("git",["log","--oneline",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();g=b?b.split("\n").filter(Boolean):[]}}catch{}return{clean:c,files:b,hasCommits:e,lastCommitMessage:f,commitLog:g,hasWorktree:!0}}catch{return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!0}}}async function u(b,d){let{execFileSync:e}=await a.A(144264),{existsSync:f}=await a.A(323970),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!f(g.worktreePath))throw Error("No active worktree for this task");let h=g.worktreePath;if(e("git",["add","-A"],{cwd:h,timeout:1e4}),!e("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim())throw Error("No changes to commit");return e("git",["commit","-m",d],{cwd:h,encoding:"utf-8",timeout:15e3}),{hash:e("git",["rev-parse","--short","HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim()}}async function v(a){return/^c[a-z0-9]{20,30}$/.test(a)?c.db.task.findUnique({where:{id:a},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1,select:{summary:!0,status:!0,endedAt:!0}},_count:{select:{assets:!0}}}}):null}async function w(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.count({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}}})}(0,j.ensureServerEntryExports)([l,m,n,o,p,q,r,s,t,u,v,w]),(0,b.registerServerReference)(l,"401428759ab9bf4954951f15e712c11118732f9f15",null),(0,b.registerServerReference)(m,"60c351a918c1ee9731291483fb857151355d9f0ca9",null),(0,b.registerServerReference)(n,"60755b61effe8e442dd2b359fdc73d136e6d4505b1",null),(0,b.registerServerReference)(o,"40f5eefd6462353c3411c04d870aa58bea4cab70e8",null),(0,b.registerServerReference)(p,"405df46b2b518ec5fe9eae6a2b958cd0c022087300",null),(0,b.registerServerReference)(q,"401b61ad7e39ca392cb9beb71bc3b6bfa5ef7f1504",null),(0,b.registerServerReference)(r,"40947bbcaa80f4cdfe2e251c86703557681660bb46",null),(0,b.registerServerReference)(s,"40fc6fb8a421b620849a65f59e6e0cfd363a232907",null),(0,b.registerServerReference)(t,"409f21aa0a1353a1c59d722a1686ba8ed31b4ab68c",null),(0,b.registerServerReference)(u,"60840bef26147dd4dff7d39641737796069e39069c",null),(0,b.registerServerReference)(v,"40ae3f40b62ca3c5a2377e58d67b407afcf20387e5",null),(0,b.registerServerReference)(w,"40917351bef2fa1c7314359e8e06c5f69122b9245e",null),a.s(["checkWorktreeClean",0,t,"commitWorktreeChanges",0,u,"createTask",0,l,"deleteTask",0,p,"getArchivedTaskCount",0,w,"getArchivedTasks",0,s,"getProjectTasks",0,q,"getTaskOverview",0,v,"searchTasks",0,r,"toggleTaskPinned",0,o,"updateTask",0,n,"updateTaskStatus",0,m])},654160,a=>a.a(async(b,c)=>{try{a.i(279254),a.i(30292);var d=a.i(322220),e=a.i(727977);a.i(198433),a.i(541587),a.i(31782);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),811420,a=>a.a(async(b,c)=>{try{var d=a.i(654160),e=a.i(279254),f=a.i(30292),g=a.i(322220),h=a.i(727977),i=a.i(198433),j=a.i(541587),k=a.i(31782),l=b([d,g,h]);[d,g,h]=l.then?(await l)():l,a.s(["00803dfba01a59109739236b9c79eb555dfe726559",()=>h.getActualWsPort,"0088720ea6f78a7d440f0ffe918e2017c6ed4a091c",()=>j.getOnboardingStatus,"009e9eb06b5d880738cdc44ef434941a72e320e010",()=>e.getWorkspacesWithProjects,"40084c89b2285bf95be399366342c9a6aee7f7c56f",()=>e.deleteProject,"4008da5fb2e740b1e3c6df4ff7e170a1140d107426",()=>j.completeOnboarding,"4013c88773d9eb1e2401f45a6f7f0d004f6460ddc3",()=>e.createProject,"401428759ab9bf4954951f15e712c11118732f9f15",()=>k.createTask,"401b61ad7e39ca392cb9beb71bc3b6bfa5ef7f1504",()=>k.getProjectTasks,"4032075180d73f329cca1ea967021d020837bcbda7",()=>e.getProjectByLocalPath,"4033a25d649e20c263ecd33888f119bbd68d23525a",()=>e.getRecentLocalProjects,"403ca34cdfe63235addec4c2185b9165f99e7449ba",()=>f.getTaskLabels,"40535a6a38bc5b8149d6178b949a6f89b1307d6d44",()=>e.getWorkspacesWithRecentTasks,"40556e416c26c7e086bc6c0026b4f12eee10ce659c",()=>j.setOnboardingProgress,"405df46b2b518ec5fe9eae6a2b958cd0c022087300",()=>k.deleteTask,"407818a74d78397b1421f728f63974b3c70235f449",()=>h.resolveGitLocalPath,"408abee9d22d9054dd5a6ecc32b0c3daa69ef66c6e",()=>j.dispatchTaskCompletionEvent,"40917351bef2fa1c7314359e8e06c5f69122b9245e",()=>k.getArchivedTaskCount,"40947bbcaa80f4cdfe2e251c86703557681660bb46",()=>k.searchTasks,"409f21aa0a1353a1c59d722a1686ba8ed31b4ab68c",()=>k.checkWorktreeClean,"40a0a8500c07adee5c4e9f993dde67c6229d794f81",()=>e.getOrCreateTowerTaskId,"40ae3f40b62ca3c5a2377e58d67b407afcf20387e5",()=>k.getTaskOverview,"40b3591c77b7bc8565eb59161e29cffb57fe4fe1a5",()=>e.createWorkspace,"40c65d3caeb7cc578408a85b29d3ba4ebe00eb4a89",()=>f.getLabelsForWorkspace,"40e11907297db22577c19b0852a3c22e191d9bab8a",()=>e.getWorkspaceById,"40eaddcac6fa4edf051cd8d3168d3048a4158112c0",()=>f.createLabel,"40f00a067fb6de012eaf03c9eef4ebf4964d647581",()=>e.deleteWorkspace,"40f109f5cc72d3c8512abb532f19ecdf3d57a9de92",()=>i.checkMigrationSafety,"40f5eefd6462353c3411c04d870aa58bea4cab70e8",()=>k.toggleTaskPinned,"40f96ef73252afb252f5b9a67a3e940b91d910020e",()=>f.deleteLabel,"40fc6fb8a421b620849a65f59e6e0cfd363a232907",()=>k.getArchivedTasks,"601c654f3d94a3fa93c8a4f803525145ef41461d43",()=>h.getConfigValue,"601e7393f346eeebf241ef05b3c434d1074e6b83ca",()=>h.setConfigValue,"604f648d394271e37eab29c0f0c16170bd75606176",()=>i.migrateProjectPath,"606a6ac57a64d74ac8910b538bca7b8d0286ea4a03",()=>i.analyzeProjectDirectory,"60755b61effe8e442dd2b359fdc73d136e6d4505b1",()=>k.updateTask,"60840bef26147dd4dff7d39641737796069e39069c",()=>k.commitWorktreeChanges,"608940db009d9ab74b2e4d144069b697417c331166",()=>g.globalSearch,"608b3966e751039d81baa4501f75ecbe0e99e30701",()=>f.setTaskLabels,"60a4883fbe9441f4bbb20550d941f5b5c39d7bf696",()=>e.updateWorkspace,"60c351a918c1ee9731291483fb857151355d9f0ca9",()=>k.updateTaskStatus,"60d61a4cf5383e58053ba61c52b70ed758b0042ac6",()=>e.updateProject]),c()}catch(a){c(a)}},!1),939768,a=>{a.v(b=>Promise.all(["server/chunks/ssr/project_f_tower_src_lib_11g-ixh._.js"].map(b=>a.l(b))).then(()=>b(326575)))},585988,a=>{a.v(a=>Promise.resolve().then(()=>a(264572)))},908462,a=>{a.v(a=>Promise.resolve().then(()=>a(961374)))},302452,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0u26l~e._.js"].map(b=>a.l(b))).then(()=>b(396477)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},131993,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0r6gkos._.js"].map(b=>a.l(b))).then(()=>b(23999)))},323970,a=>{a.v(a=>Promise.resolve().then(()=>a(522734)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0ffdrwp._.js.map