tower-studio 0.2.1 → 0.2.2

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 (313) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +3 -3
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  5. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -1
  12. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +39 -39
  13. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  14. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  16. package/.next/standalone/.next/server/app/_not-found.rsc +14 -14
  17. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
  18. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  19. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +9 -9
  20. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  21. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  22. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  23. package/.next/standalone/.next/server/app/index.html +1 -1
  24. package/.next/standalone/.next/server/app/index.rsc +14 -14
  25. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  26. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +14 -14
  27. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  28. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +9 -9
  29. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  30. package/.next/standalone/.next/server/app/missions/page/react-loadable-manifest.json +1 -1
  31. package/.next/standalone/.next/server/app/missions/page/server-reference-manifest.json +73 -73
  32. package/.next/standalone/.next/server/app/missions/page.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/.next/server/app/onboarding/page/react-loadable-manifest.json +1 -1
  35. package/.next/standalone/.next/server/app/onboarding/page/server-reference-manifest.json +39 -39
  36. package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/.next/server/app/onboarding.html +1 -1
  39. package/.next/standalone/.next/server/app/onboarding.rsc +16 -16
  40. package/.next/standalone/.next/server/app/onboarding.segments/_full.segment.rsc +16 -16
  41. package/.next/standalone/.next/server/app/onboarding.segments/_head.segment.rsc +4 -4
  42. package/.next/standalone/.next/server/app/onboarding.segments/_index.segment.rsc +9 -9
  43. package/.next/standalone/.next/server/app/onboarding.segments/_tree.segment.rsc +1 -1
  44. package/.next/standalone/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
  45. package/.next/standalone/.next/server/app/onboarding.segments/onboarding.segment.rsc +3 -3
  46. package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +1 -1
  47. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +39 -39
  48. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/settings/page/react-loadable-manifest.json +1 -1
  51. package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +52 -52
  52. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/settings.html +1 -1
  55. package/.next/standalone/.next/server/app/settings.rsc +16 -16
  56. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +16 -16
  57. package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  58. package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +9 -9
  59. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  60. package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
  61. package/.next/standalone/.next/server/app/settings.segments/settings.segment.rsc +3 -3
  62. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +1 -1
  63. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +96 -96
  64. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
  65. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
  66. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +1 -1
  67. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +80 -80
  68. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
  69. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +1 -1
  71. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +67 -67
  72. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
  73. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +1 -1
  75. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +68 -68
  76. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
  77. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
  78. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +1 -1
  79. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +39 -39
  80. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
  81. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
  82. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/react-loadable-manifest.json +1 -1
  83. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/server-reference-manifest.json +74 -74
  84. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js.nft.json +1 -1
  85. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +2 -2
  87. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +86 -86
  88. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
  89. package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/workspaces/page/react-loadable-manifest.json +1 -1
  91. package/.next/standalone/.next/server/app/workspaces/page/server-reference-manifest.json +57 -57
  92. package/.next/standalone/.next/server/app/workspaces/page.js.nft.json +1 -1
  93. package/.next/standalone/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
  94. package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0hrprmi.js +1 -1
  95. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-eibah._.js +2 -2
  96. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.9mj3v._.js +1 -1
  97. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05353yb._.js +1 -1
  98. package/.next/standalone/.next/server/chunks/[root-of-the-server]__07h7qz8._.js +1 -1
  99. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0c1g5im._.js +1 -1
  100. package/.next/standalone/.next/server/chunks/src_0o_27yu._.js +1 -1
  101. package/.next/standalone/.next/server/chunks/ssr/0iu._[workspaceId]_projects_[projectId]_versions_version-timeline-client_tsx_07o_kyi._.js +1 -1
  102. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0-xoiaj._.js +1 -1
  103. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__006_qh0._.js +1 -1
  104. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__00wymqa._.js +1 -1
  105. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__02px.0y._.js +1 -1
  106. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__03ebsif._.js +3 -3
  107. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0cdz55-._.js +1 -1
  108. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0gn~m6k._.js +3 -0
  109. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0l43.5g._.js +1 -1
  110. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0n8jy_r._.js +1 -1
  111. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ps55l6._.js +1 -1
  112. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ribsk4._.js +1 -1
  113. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0vbi.98._.js +3 -0
  114. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wjg_.n._.js +1 -1
  115. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wvyks.._.js +1 -1
  116. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0zbmoit._.js +1 -1
  117. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__10jk5k3._.js +3 -0
  118. package/.next/standalone/.next/server/chunks/ssr/{_0l~b.x~._.js → _01d905.._.js} +2 -2
  119. package/.next/standalone/.next/server/chunks/ssr/_04b71ua._.js +1 -1
  120. package/.next/standalone/.next/server/chunks/ssr/_05h.8a~._.js +1 -1
  121. package/.next/standalone/.next/server/chunks/ssr/_0_l8.dg._.js +1 -1
  122. package/.next/standalone/.next/server/chunks/ssr/{_0tlrw.6._.js → _0bwl.fz._.js} +3 -3
  123. package/.next/standalone/.next/server/chunks/ssr/_0cj9a7y._.js +1 -1
  124. package/.next/standalone/.next/server/chunks/ssr/_0ds6nk2._.js +1 -1
  125. package/.next/standalone/.next/server/chunks/ssr/_0i4__mf._.js +1 -1
  126. package/.next/standalone/.next/server/chunks/ssr/{_0mpqma.._.js → _0iffxkv._.js} +2 -2
  127. package/.next/standalone/.next/server/chunks/ssr/_0ihq._v._.js +1 -1
  128. package/.next/standalone/.next/server/chunks/ssr/{_137h4ru._.js → _0ki_7_g._.js} +2 -2
  129. package/.next/standalone/.next/server/chunks/ssr/{_0~7n-4c._.js → _0n9745j._.js} +2 -2
  130. package/.next/standalone/.next/server/chunks/ssr/{_0-qy~8h._.js → _0o5369_._.js} +2 -2
  131. package/.next/standalone/.next/server/chunks/ssr/{_00~9.bi._.js → _0q819ht._.js} +2 -2
  132. package/.next/standalone/.next/server/chunks/ssr/_0r9w-k8._.js +1 -1
  133. package/.next/standalone/.next/server/chunks/ssr/_0rbctq7._.js +1 -1
  134. package/.next/standalone/.next/server/chunks/ssr/_0rt8hus._.js +1 -1
  135. package/.next/standalone/.next/server/chunks/ssr/_0~80adm._.js +3 -3
  136. package/.next/standalone/.next/server/chunks/ssr/{_0-g6wl2._.js → _1064pi1._.js} +2 -2
  137. package/.next/standalone/.next/server/chunks/ssr/{_0_y3l5a._.js → _11-70hn._.js} +3 -3
  138. package/.next/standalone/.next/server/chunks/ssr/_11itqmn._.js +7 -0
  139. package/.next/standalone/.next/server/chunks/ssr/{_12geq1f._.js → _12l9_f7._.js} +2 -2
  140. package/.next/standalone/.next/server/chunks/ssr/src_095o8x6._.js +1 -1
  141. package/.next/standalone/.next/server/chunks/ssr/src_13jha60._.js +1 -1
  142. package/.next/standalone/.next/server/chunks/ssr/src_actions_agent-actions_ts_0~wc.sy._.js +1 -1
  143. package/.next/standalone/.next/server/chunks/ssr/src_actions_file-actions_ts_0gcvqwm._.js +1 -1
  144. package/.next/standalone/.next/server/chunks/ssr/src_app_missions_missions-client_tsx_11429lj._.js +1 -1
  145. package/.next/standalone/.next/server/chunks/ssr/src_app_onboarding_page_tsx_0xf7hpz._.js +1 -1
  146. package/.next/standalone/.next/server/chunks/ssr/src_app_settings_page_tsx_0h9v7dr._.js +1 -1
  147. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0wyzpam._.js +1 -1
  148. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_board-page-client_tsx_0gips66._.js +1 -1
  149. package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_02t7blt._.js +1 -1
  150. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  151. package/.next/standalone/.next/server/pages/404.html +1 -1
  152. package/.next/standalone/.next/server/pages/500.html +1 -1
  153. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  154. package/.next/standalone/.next/server/server-reference-manifest.json +266 -266
  155. package/.next/standalone/.next/static/chunks/{0ov_7fy0asf69.js → 0.0uu278aqj6l.js} +2 -2
  156. package/.next/standalone/.next/static/chunks/{00neslck75epy.js → 0055mvr_db~p3.js} +1 -1
  157. package/.next/standalone/.next/static/chunks/{057qye34qcm-1.js → 05f_htm1hpdi7.js} +1 -1
  158. package/.next/standalone/.next/static/chunks/{0n6i7.o-dhs5d.js → 066vit4ho~np6.js} +1 -1
  159. package/.next/standalone/.next/static/chunks/0_kc-bjg9mw6h.js +1 -0
  160. package/.next/standalone/.next/static/chunks/0icd35a0h0ibf.js +1 -0
  161. package/.next/standalone/.next/static/chunks/{0or9.9pzi219d.js → 0j4paoaosyl0v.js} +1 -1
  162. package/.next/standalone/.next/static/chunks/{00~qzzxiz2f.6.js → 0l-41l~~~i06x.js} +1 -1
  163. package/.next/standalone/.next/static/chunks/0o6isdc.yu4az.js +1 -0
  164. package/.next/standalone/.next/static/chunks/0oo7lw_z6f949.js +1 -0
  165. package/.next/standalone/.next/static/chunks/{0bivc.1pb22~d.js → 0plbskihs.xzq.js} +1 -1
  166. package/.next/standalone/.next/static/chunks/{0w-vi-otjnesj.js → 0qm_.w.jmw~c3.js} +1 -1
  167. package/.next/standalone/.next/static/chunks/{0ed25jwdont7h.js → 0savef4kn9h5s.js} +1 -1
  168. package/.next/standalone/.next/static/chunks/0x0g9ecrf6guv.js +1 -0
  169. package/.next/standalone/.next/static/chunks/{10~~iu~5c2egi.js → 0y_fny-8syi2o.js} +1 -1
  170. package/.next/standalone/.next/static/chunks/{05e9avf0s16m-.js → 0z-9abusjb9s6.js} +2 -2
  171. package/.next/standalone/.next/static/chunks/{0be7bu6vpj03f.js → 10_nkxgxa2te6.js} +2 -2
  172. package/.next/standalone/.next/static/chunks/{0.bg0jkptwj3f.js → 12idq~t4wo5ov.js} +1 -1
  173. package/.next/standalone/.next/static/chunks/{0~9z-41m.f6ha.js → 159jcrwh.z4n..js} +2 -2
  174. package/.next/standalone/.next/static/chunks/182hmhvaz9~n2.js +1 -0
  175. package/.next/standalone/.next/static/chunks/185uvw839in78.js +1 -0
  176. package/.next/standalone/package.json +2 -4
  177. package/package.json +2 -4
  178. package/scripts/prune-standalone-natives.js +8 -0
  179. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0_s.jdd._.js +0 -3
  180. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0bh367k._.js +0 -3
  181. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0dh4_9e._.js +0 -3
  182. package/.next/standalone/.next/server/chunks/ssr/_0mll17_._.js +0 -7
  183. package/.next/standalone/.next/static/chunks/017v5vxfxgbnk.js +0 -1
  184. package/.next/standalone/.next/static/chunks/05qirt1s5t-59.js +0 -1
  185. package/.next/standalone/.next/static/chunks/074-rjbhu8.~9.js +0 -1
  186. package/.next/standalone/.next/static/chunks/0djw3hjue-ohz.js +0 -1
  187. package/.next/standalone/.next/static/chunks/0m0-xxvifb4cf.js +0 -1
  188. package/.next/standalone/.next/static/chunks/0st82i900mv~i.js +0 -1
  189. package/.next/standalone/.next/static/chunks/14hfc54eyo00m.js +0 -1
  190. package/.next/standalone/public/vs/_commonjsHelpers-CT9FvmAN.js +0 -1
  191. package/.next/standalone/public/vs/abap-D-t0cyap.js +0 -1
  192. package/.next/standalone/public/vs/apex-CcIm7xu6.js +0 -1
  193. package/.next/standalone/public/vs/assets/css.worker-HnVq6Ewq.js +0 -93
  194. package/.next/standalone/public/vs/assets/editor.worker-Be8ye1pW.js +0 -26
  195. package/.next/standalone/public/vs/assets/html.worker-B51mlPHg.js +0 -470
  196. package/.next/standalone/public/vs/assets/json.worker-DKiEKt88.js +0 -58
  197. package/.next/standalone/public/vs/assets/ts.worker-CMbG-7ft.js +0 -67731
  198. package/.next/standalone/public/vs/azcli-BA0tQDCg.js +0 -1
  199. package/.next/standalone/public/vs/basic-languages/monaco.contribution.js +0 -1
  200. package/.next/standalone/public/vs/bat-C397hTD6.js +0 -1
  201. package/.next/standalone/public/vs/bicep-DF5aW17k.js +0 -2
  202. package/.next/standalone/public/vs/cameligo-plsz8qhj.js +0 -1
  203. package/.next/standalone/public/vs/clojure-Y2auQMzK.js +0 -1
  204. package/.next/standalone/public/vs/coffee-Bu45yuWE.js +0 -1
  205. package/.next/standalone/public/vs/cpp-CkKPQIni.js +0 -1
  206. package/.next/standalone/public/vs/csharp-CX28MZyh.js +0 -1
  207. package/.next/standalone/public/vs/csp-D8uWnyxW.js +0 -1
  208. package/.next/standalone/public/vs/css-CaeNmE3S.js +0 -3
  209. package/.next/standalone/public/vs/cssMode-CjiAH6dQ.js +0 -1
  210. package/.next/standalone/public/vs/cypher-DVThT8BS.js +0 -1
  211. package/.next/standalone/public/vs/dart-CmGfCvrO.js +0 -1
  212. package/.next/standalone/public/vs/dockerfile-CZqqYdch.js +0 -1
  213. package/.next/standalone/public/vs/ecl-30fUercY.js +0 -1
  214. package/.next/standalone/public/vs/editor/editor.main.css +0 -1
  215. package/.next/standalone/public/vs/editor/editor.main.js +0 -5
  216. package/.next/standalone/public/vs/editor.api-CalNCsUg.js +0 -903
  217. package/.next/standalone/public/vs/elixir-xjPaIfzF.js +0 -1
  218. package/.next/standalone/public/vs/flow9-DqtmStfK.js +0 -1
  219. package/.next/standalone/public/vs/freemarker2-Cz_sV6Md.js +0 -3
  220. package/.next/standalone/public/vs/fsharp-BOMdg4U1.js +0 -1
  221. package/.next/standalone/public/vs/go-D_hbi-Jt.js +0 -1
  222. package/.next/standalone/public/vs/graphql-CKUU4kLG.js +0 -1
  223. package/.next/standalone/public/vs/handlebars-OwglfO-1.js +0 -1
  224. package/.next/standalone/public/vs/hcl-DTaboeZW.js +0 -1
  225. package/.next/standalone/public/vs/html-Pa1xEWsY.js +0 -1
  226. package/.next/standalone/public/vs/htmlMode-Bz67EXwp.js +0 -1
  227. package/.next/standalone/public/vs/ini-CsNwO04R.js +0 -1
  228. package/.next/standalone/public/vs/java-CI4ZMsH9.js +0 -1
  229. package/.next/standalone/public/vs/javascript-PczUCGdz.js +0 -1
  230. package/.next/standalone/public/vs/jsonMode-DULH5oaX.js +0 -7
  231. package/.next/standalone/public/vs/julia-BwzEvaQw.js +0 -1
  232. package/.next/standalone/public/vs/kotlin-IUYPiTV8.js +0 -1
  233. package/.next/standalone/public/vs/language/css/monaco.contribution.js +0 -1
  234. package/.next/standalone/public/vs/language/html/monaco.contribution.js +0 -1
  235. package/.next/standalone/public/vs/language/json/monaco.contribution.js +0 -1
  236. package/.next/standalone/public/vs/language/typescript/monaco.contribution.js +0 -1
  237. package/.next/standalone/public/vs/less-C0eDYdqa.js +0 -2
  238. package/.next/standalone/public/vs/lexon-iON-Kj97.js +0 -1
  239. package/.next/standalone/public/vs/liquid-DqKjdPGy.js +0 -1
  240. package/.next/standalone/public/vs/loader.js +0 -1368
  241. package/.next/standalone/public/vs/lspLanguageFeatures-kM9O9rjY.js +0 -4
  242. package/.next/standalone/public/vs/lua-DtygF91M.js +0 -1
  243. package/.next/standalone/public/vs/m3-CsR4AuFi.js +0 -1
  244. package/.next/standalone/public/vs/markdown-C_rD0bIw.js +0 -1
  245. package/.next/standalone/public/vs/mdx-DEWtB1K5.js +0 -1
  246. package/.next/standalone/public/vs/mips-CiYP61RB.js +0 -1
  247. package/.next/standalone/public/vs/monaco.contribution-D2OdxNBt.js +0 -1
  248. package/.next/standalone/public/vs/monaco.contribution-DO3azKX8.js +0 -1
  249. package/.next/standalone/public/vs/monaco.contribution-EcChJV6a.js +0 -1
  250. package/.next/standalone/public/vs/monaco.contribution-qLAYrEOP.js +0 -1
  251. package/.next/standalone/public/vs/msdax-C38-sJlp.js +0 -1
  252. package/.next/standalone/public/vs/mysql-CdtbpvbG.js +0 -1
  253. package/.next/standalone/public/vs/nls.messages-loader.js +0 -1
  254. package/.next/standalone/public/vs/nls.messages.cs.js.js +0 -17
  255. package/.next/standalone/public/vs/nls.messages.de.js.js +0 -17
  256. package/.next/standalone/public/vs/nls.messages.es.js.js +0 -17
  257. package/.next/standalone/public/vs/nls.messages.fr.js.js +0 -15
  258. package/.next/standalone/public/vs/nls.messages.it.js.js +0 -15
  259. package/.next/standalone/public/vs/nls.messages.ja.js.js +0 -17
  260. package/.next/standalone/public/vs/nls.messages.js.js +0 -10
  261. package/.next/standalone/public/vs/nls.messages.ko.js.js +0 -25
  262. package/.next/standalone/public/vs/nls.messages.pl.js.js +0 -17
  263. package/.next/standalone/public/vs/nls.messages.pt-br.js.js +0 -6
  264. package/.next/standalone/public/vs/nls.messages.ru.js.js +0 -17
  265. package/.next/standalone/public/vs/nls.messages.tr.js.js +0 -15
  266. package/.next/standalone/public/vs/nls.messages.zh-cn.js.js +0 -17
  267. package/.next/standalone/public/vs/nls.messages.zh-tw.js.js +0 -15
  268. package/.next/standalone/public/vs/objective-c-CntZFaHX.js +0 -1
  269. package/.next/standalone/public/vs/pascal-r6kuqfl_.js +0 -1
  270. package/.next/standalone/public/vs/pascaligo-BiXoTmXh.js +0 -1
  271. package/.next/standalone/public/vs/perl-DABw_TcH.js +0 -1
  272. package/.next/standalone/public/vs/pgsql-me_jFXeX.js +0 -1
  273. package/.next/standalone/public/vs/php-D_kh-9LK.js +0 -1
  274. package/.next/standalone/public/vs/pla-VfZjczW0.js +0 -1
  275. package/.next/standalone/public/vs/postiats-BBSzz8Pk.js +0 -1
  276. package/.next/standalone/public/vs/powerquery-Dt-g_2cc.js +0 -1
  277. package/.next/standalone/public/vs/powershell-B-7ap1zc.js +0 -1
  278. package/.next/standalone/public/vs/protobuf-BmtuEB1A.js +0 -2
  279. package/.next/standalone/public/vs/pug-BRpRNeEb.js +0 -1
  280. package/.next/standalone/public/vs/python-Cr0UkIbn.js +0 -1
  281. package/.next/standalone/public/vs/qsharp-BzsFaUU9.js +0 -1
  282. package/.next/standalone/public/vs/r-f8dDdrp4.js +0 -1
  283. package/.next/standalone/public/vs/razor-BYAHOTkz.js +0 -1
  284. package/.next/standalone/public/vs/redis-fvZQY4PI.js +0 -1
  285. package/.next/standalone/public/vs/redshift-45Et0LQi.js +0 -1
  286. package/.next/standalone/public/vs/restructuredtext-C7UUFKFD.js +0 -1
  287. package/.next/standalone/public/vs/ruby-CZO8zYTz.js +0 -1
  288. package/.next/standalone/public/vs/rust-Bfetafyc.js +0 -1
  289. package/.next/standalone/public/vs/sb-3GYllVck.js +0 -1
  290. package/.next/standalone/public/vs/scala-foMgrKo1.js +0 -1
  291. package/.next/standalone/public/vs/scheme-CHdMtr7p.js +0 -1
  292. package/.next/standalone/public/vs/scss-C1cmLt9V.js +0 -3
  293. package/.next/standalone/public/vs/shell-ClXCKCEW.js +0 -1
  294. package/.next/standalone/public/vs/solidity-MZ6ExpPy.js +0 -1
  295. package/.next/standalone/public/vs/sophia-DWkuSsPQ.js +0 -1
  296. package/.next/standalone/public/vs/sparql-AUGFYSyk.js +0 -1
  297. package/.next/standalone/public/vs/sql-32GpJSV2.js +0 -1
  298. package/.next/standalone/public/vs/st-CuDFIVZ_.js +0 -1
  299. package/.next/standalone/public/vs/swift-n-2HociN.js +0 -3
  300. package/.next/standalone/public/vs/systemverilog-Ch4vA8Yt.js +0 -1
  301. package/.next/standalone/public/vs/tcl-D74tq1nH.js +0 -1
  302. package/.next/standalone/public/vs/tsMode-CZz1Umrk.js +0 -11
  303. package/.next/standalone/public/vs/twig-C6taOxMV.js +0 -1
  304. package/.next/standalone/public/vs/typescript-DfOrAzoV.js +0 -1
  305. package/.next/standalone/public/vs/typespec-D-PIh9Xw.js +0 -1
  306. package/.next/standalone/public/vs/vb-Dyb2648j.js +0 -1
  307. package/.next/standalone/public/vs/wgsl-BhLXMOR0.js +0 -298
  308. package/.next/standalone/public/vs/workers-DcJshg-q.js +0 -1
  309. package/.next/standalone/public/vs/xml-CdsdnY8S.js +0 -1
  310. package/.next/standalone/public/vs/yaml-DYGvmE88.js +0 -1
  311. /package/.next/standalone/.next/static/{FtpP5GCK_d3Uyl_Nv27vk → bsDbMwBy2C86ts1SYFIbc}/_buildManifest.js +0 -0
  312. /package/.next/standalone/.next/static/{FtpP5GCK_d3Uyl_Nv27vk → bsDbMwBy2C86ts1SYFIbc}/_clientMiddlewareManifest.js +0 -0
  313. /package/.next/standalone/.next/static/{FtpP5GCK_d3Uyl_Nv27vk → bsDbMwBy2C86ts1SYFIbc}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
1
  globalThis.__RSC_MANIFEST = globalThis.__RSC_MANIFEST || {};
2
- globalThis.__RSC_MANIFEST["/workspaces/page"] = {"moduleLoading":{"prefix":"","crossOrigin":null},"clientModules":{"[project]/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/esm/client/components/layout-router.js <module evaluation>":{"id":680695,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/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/esm/client/components/layout-router.js":{"id":680695,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/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/esm/client/components/render-from-template-context.js <module evaluation>":{"id":484878,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/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/esm/client/components/render-from-template-context.js":{"id":484878,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/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/esm/client/components/client-page.js <module evaluation>":{"id":516578,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/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/esm/client/components/client-page.js":{"id":516578,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/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/esm/client/components/client-segment.js <module evaluation>":{"id":90678,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/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/esm/client/components/client-segment.js":{"id":90678,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/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/esm/client/components/http-access-fallback/error-boundary.js <module evaluation>":{"id":744050,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/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/esm/client/components/http-access-fallback/error-boundary.js":{"id":744050,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/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/esm/lib/framework/boundary-components.js <module evaluation>":{"id":834225,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/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/esm/lib/framework/boundary-components.js":{"id":834225,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/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/esm/lib/metadata/generate/icon-mark.js <module evaluation>":{"id":782626,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/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/esm/lib/metadata/generate/icon-mark.js":{"id":782626,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/src/components/ui/tooltip.tsx <module evaluation>":{"id":746798,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/src/components/ui/tooltip.tsx":{"id":746798,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/src/components/layout/layout-client.tsx <module evaluation>":{"id":914935,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/src/components/layout/layout-client.tsx":{"id":914935,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/src/lib/i18n.tsx <module evaluation>":{"id":533499,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/src/lib/i18n.tsx":{"id":533499,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/src/components/providers/theme-provider.tsx <module evaluation>":{"id":782406,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/src/components/providers/theme-provider.tsx":{"id":782406,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/src/lib/extensions/context.tsx <module evaluation>":{"id":770303,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/src/lib/extensions/context.tsx":{"id":770303,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/src/components/ui/sonner.tsx <module evaluation>":{"id":713354,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/src/components/ui/sonner.tsx":{"id":713354,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/node_modules/.pnpm/lucide-react@1.6.0_react@19.2.4/node_modules/lucide-react/dist/esm/Icon.js <module evaluation>":{"id":458464,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/node_modules/.pnpm/lucide-react@1.6.0_react@19.2.4/node_modules/lucide-react/dist/esm/Icon.js":{"id":458464,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/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 <module evaluation>":{"id":135230,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false},"[project]/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":{"id":135230,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0or9.9pzi219d.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0st82i900mv~i.js"],"async":false}},"ssrModuleMapping":{"680695":{"*":{"id":449225,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0bh367k._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"484878":{"*":{"id":784784,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0bh367k._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"516578":{"*":{"id":916393,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0bh367k._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"90678":{"*":{"id":614964,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0bh367k._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"744050":{"*":{"id":814840,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0bh367k._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"834225":{"*":{"id":38071,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0bh367k._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"782626":{"*":{"id":208382,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0bh367k._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"746798":{"*":{"id":785259,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0bh367k._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"914935":{"*":{"id":607884,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0bh367k._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"533499":{"*":{"id":951192,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0bh367k._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"782406":{"*":{"id":3896,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0bh367k._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"770303":{"*":{"id":87309,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0bh367k._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"713354":{"*":{"id":426419,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0bh367k._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"458464":{"*":{"id":392223,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0bh367k._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"135230":{"*":{"id":424746,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0bh367k._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js","server/chunks/ssr/0se9_next_dist_client_components_0uod4qi._.js"],"async":false}}},"edgeSSRModuleMapping":{},"rscModuleMapping":{"680695":{"*":{"id":691495,"name":"*","chunks":[],"async":false}},"484878":{"*":{"id":533183,"name":"*","chunks":[],"async":false}},"516578":{"*":{"id":412747,"name":"*","chunks":[],"async":false}},"90678":{"*":{"id":99895,"name":"*","chunks":[],"async":false}},"744050":{"*":{"id":502387,"name":"*","chunks":[],"async":false}},"834225":{"*":{"id":426094,"name":"*","chunks":[],"async":false}},"782626":{"*":{"id":242624,"name":"*","chunks":[],"async":false}},"746798":{"*":{"id":480581,"name":"*","chunks":[],"async":false}},"914935":{"*":{"id":890170,"name":"*","chunks":[],"async":false}},"533499":{"*":{"id":604483,"name":"*","chunks":[],"async":false}},"782406":{"*":{"id":718127,"name":"*","chunks":[],"async":false}},"770303":{"*":{"id":948109,"name":"*","chunks":[],"async":false}},"713354":{"*":{"id":324257,"name":"*","chunks":[],"async":false}},"458464":{"*":{"id":857188,"name":"*","chunks":[],"async":false}},"135230":{"*":{"id":764823,"name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{},"entryCSSFiles":{"[project]/src/app/layout":[{"path":"static/chunks/123doanyjnwwq.css","inlined":false},{"path":"static/chunks/0o~~t9_9pm-0e.css","inlined":false}],"[project]/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":[{"path":"static/chunks/123doanyjnwwq.css","inlined":false},{"path":"static/chunks/0o~~t9_9pm-0e.css","inlined":false}]},"entryJSFiles":{"[project]/src/app/layout":["static/chunks/076x3dc258jv8.js","static/chunks/0y4t-yk9428ag.js","static/chunks/0r6_if_1hvz-u.js","static/chunks/0n52vvco8hy2h.js","static/chunks/0b2yknsc68f2a.js","static/chunks/13.pi0v53g-4n.js","static/chunks/0v8apmh_d7lz3.js","static/chunks/0or9.9pzi219d.js","static/chunks/16nn-au~pxlvy.js","static/chunks/0wyjnhk_5g3.8.js","static/chunks/0st82i900mv~i.js"],"[project]/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":["static/chunks/076x3dc258jv8.js","static/chunks/0y4t-yk9428ag.js","static/chunks/0r6_if_1hvz-u.js","static/chunks/0n52vvco8hy2h.js","static/chunks/0b2yknsc68f2a.js","static/chunks/13.pi0v53g-4n.js","static/chunks/0v8apmh_d7lz3.js","static/chunks/0or9.9pzi219d.js","static/chunks/16nn-au~pxlvy.js","static/chunks/0wyjnhk_5g3.8.js","static/chunks/0st82i900mv~i.js"]}};
2
+ globalThis.__RSC_MANIFEST["/workspaces/page"] = {"moduleLoading":{"prefix":"","crossOrigin":null},"clientModules":{"[project]/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/esm/client/components/layout-router.js <module evaluation>":{"id":680695,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/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/esm/client/components/layout-router.js":{"id":680695,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/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/esm/client/components/render-from-template-context.js <module evaluation>":{"id":484878,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/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/esm/client/components/render-from-template-context.js":{"id":484878,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/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/esm/client/components/client-page.js <module evaluation>":{"id":516578,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/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/esm/client/components/client-page.js":{"id":516578,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/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/esm/client/components/client-segment.js <module evaluation>":{"id":90678,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/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/esm/client/components/client-segment.js":{"id":90678,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/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/esm/client/components/http-access-fallback/error-boundary.js <module evaluation>":{"id":744050,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/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/esm/client/components/http-access-fallback/error-boundary.js":{"id":744050,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/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/esm/lib/framework/boundary-components.js <module evaluation>":{"id":834225,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/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/esm/lib/framework/boundary-components.js":{"id":834225,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/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/esm/lib/metadata/generate/icon-mark.js <module evaluation>":{"id":782626,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/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/esm/lib/metadata/generate/icon-mark.js":{"id":782626,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/src/components/ui/tooltip.tsx <module evaluation>":{"id":746798,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/src/components/ui/tooltip.tsx":{"id":746798,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/src/components/layout/layout-client.tsx <module evaluation>":{"id":914935,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/src/components/layout/layout-client.tsx":{"id":914935,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/src/lib/i18n.tsx <module evaluation>":{"id":533499,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/src/lib/i18n.tsx":{"id":533499,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/src/components/providers/theme-provider.tsx <module evaluation>":{"id":782406,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/src/components/providers/theme-provider.tsx":{"id":782406,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/src/lib/extensions/context.tsx <module evaluation>":{"id":770303,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/src/lib/extensions/context.tsx":{"id":770303,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/src/components/ui/sonner.tsx <module evaluation>":{"id":713354,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/src/components/ui/sonner.tsx":{"id":713354,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/node_modules/.pnpm/lucide-react@1.6.0_react@19.2.4/node_modules/lucide-react/dist/esm/Icon.js <module evaluation>":{"id":458464,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/node_modules/.pnpm/lucide-react@1.6.0_react@19.2.4/node_modules/lucide-react/dist/esm/Icon.js":{"id":458464,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/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 <module evaluation>":{"id":135230,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false},"[project]/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":{"id":135230,"name":"*","chunks":["/_next/static/chunks/076x3dc258jv8.js","/_next/static/chunks/0y4t-yk9428ag.js","/_next/static/chunks/0r6_if_1hvz-u.js","/_next/static/chunks/0n52vvco8hy2h.js","/_next/static/chunks/0b2yknsc68f2a.js","/_next/static/chunks/13.pi0v53g-4n.js","/_next/static/chunks/0v8apmh_d7lz3.js","/_next/static/chunks/0j4paoaosyl0v.js","/_next/static/chunks/16nn-au~pxlvy.js","/_next/static/chunks/0wyjnhk_5g3.8.js","/_next/static/chunks/0_kc-bjg9mw6h.js"],"async":false}},"ssrModuleMapping":{"680695":{"*":{"id":449225,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0vbi.98._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"484878":{"*":{"id":784784,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0vbi.98._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"516578":{"*":{"id":916393,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0vbi.98._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"90678":{"*":{"id":614964,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0vbi.98._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"744050":{"*":{"id":814840,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0vbi.98._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"834225":{"*":{"id":38071,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0vbi.98._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"782626":{"*":{"id":208382,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0vbi.98._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"746798":{"*":{"id":785259,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0vbi.98._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"914935":{"*":{"id":607884,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0vbi.98._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"533499":{"*":{"id":951192,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0vbi.98._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"782406":{"*":{"id":3896,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0vbi.98._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"770303":{"*":{"id":87309,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0vbi.98._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"713354":{"*":{"id":426419,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0vbi.98._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"458464":{"*":{"id":392223,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0vbi.98._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js"],"async":false}},"135230":{"*":{"id":424746,"name":"*","chunks":["server/chunks/ssr/_0i8t39l._.js","server/chunks/ssr/node_modules__pnpm_0lqfvhm._.js","server/chunks/ssr/[root-of-the-server]__0vbi.98._.js","server/chunks/ssr/12k._sonner_dist_index_mjs_0-vmpk5._.js","server/chunks/ssr/_057su-q._.js","server/chunks/ssr/0r3._clsx_dist_clsx_mjs_0e0diqb._.js","server/chunks/ssr/_0ecu98s._.js","server/chunks/ssr/0se9_next_dist_13c3rbd._.js","server/chunks/ssr/0se9_next_dist_0c0msz0._.js","server/chunks/ssr/_0ueyys5._.js","server/chunks/ssr/_0cj9a7y._.js","server/chunks/ssr/_0fuoov5._.js","server/chunks/ssr/0se9_next_dist_client_components_0uod4qi._.js"],"async":false}}},"edgeSSRModuleMapping":{},"rscModuleMapping":{"680695":{"*":{"id":691495,"name":"*","chunks":[],"async":false}},"484878":{"*":{"id":533183,"name":"*","chunks":[],"async":false}},"516578":{"*":{"id":412747,"name":"*","chunks":[],"async":false}},"90678":{"*":{"id":99895,"name":"*","chunks":[],"async":false}},"744050":{"*":{"id":502387,"name":"*","chunks":[],"async":false}},"834225":{"*":{"id":426094,"name":"*","chunks":[],"async":false}},"782626":{"*":{"id":242624,"name":"*","chunks":[],"async":false}},"746798":{"*":{"id":480581,"name":"*","chunks":[],"async":false}},"914935":{"*":{"id":890170,"name":"*","chunks":[],"async":false}},"533499":{"*":{"id":604483,"name":"*","chunks":[],"async":false}},"782406":{"*":{"id":718127,"name":"*","chunks":[],"async":false}},"770303":{"*":{"id":948109,"name":"*","chunks":[],"async":false}},"713354":{"*":{"id":324257,"name":"*","chunks":[],"async":false}},"458464":{"*":{"id":857188,"name":"*","chunks":[],"async":false}},"135230":{"*":{"id":764823,"name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{},"entryCSSFiles":{"[project]/src/app/layout":[{"path":"static/chunks/123doanyjnwwq.css","inlined":false},{"path":"static/chunks/0o~~t9_9pm-0e.css","inlined":false}],"[project]/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":[{"path":"static/chunks/123doanyjnwwq.css","inlined":false},{"path":"static/chunks/0o~~t9_9pm-0e.css","inlined":false}]},"entryJSFiles":{"[project]/src/app/layout":["static/chunks/076x3dc258jv8.js","static/chunks/0y4t-yk9428ag.js","static/chunks/0r6_if_1hvz-u.js","static/chunks/0n52vvco8hy2h.js","static/chunks/0b2yknsc68f2a.js","static/chunks/13.pi0v53g-4n.js","static/chunks/0v8apmh_d7lz3.js","static/chunks/0j4paoaosyl0v.js","static/chunks/16nn-au~pxlvy.js","static/chunks/0wyjnhk_5g3.8.js","static/chunks/0_kc-bjg9mw6h.js"],"[project]/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":["static/chunks/076x3dc258jv8.js","static/chunks/0y4t-yk9428ag.js","static/chunks/0r6_if_1hvz-u.js","static/chunks/0n52vvco8hy2h.js","static/chunks/0b2yknsc68f2a.js","static/chunks/13.pi0v53g-4n.js","static/chunks/0v8apmh_d7lz3.js","static/chunks/0j4paoaosyl0v.js","static/chunks/16nn-au~pxlvy.js","static/chunks/0wyjnhk_5g3.8.js","static/chunks/0_kc-bjg9mw6h.js"]}};
3
3
 
@@ -1,4 +1,4 @@
1
1
  module.exports=[550972,e=>{"use strict";var t=e.i(765876),a=e.i(675896),r=e.i(959160),i=e.i(97944),n=e.i(86757),s=e.i(204144),o=e.i(273436),d=e.i(743641),l=e.i(813766),c=e.i(840884),u=e.i(498814),p=e.i(780006),w=e.i(544432),h=e.i(772005),f=e.i(450223),k=e.i(193695);e.i(628400);var E=e.i(800071),b=e.i(855104),v=e.i(78091),m=e.i(198840),R=e.i(921675),g=e.i(843793),P=e.i(195158),A=e.i(248434),I=e.i(83721),N=e.i(50377),x=e.i(572173),y=e.i(89428),S=e.i(924868),j=e.i(446786),C=e.i(814747),T=e.i(86708);let D=N.logger.create("agent-actions"),U=(0,C.join)((0,j.tmpdir)(),"tower-signals");async function O(e,t){try{await (0,S.mkdir)(U,{recursive:!0,mode:448}),await (0,S.writeFile)((0,C.join)(U,`exit-${e}`),String(t),{mode:384})}catch{}}async function M(e,t){let a=await g.db.taskMessage.create({data:{role:"USER",content:t,taskId:e}});return(0,P.revalidatePath)("/workspaces"),{userMessage:a}}async function _(e){return g.db.taskMessage.findMany({where:{taskId:e},orderBy:{createdAt:"asc"}})}async function F(e,t="CLAUDE_CODE",a,r){let i=await g.db.taskExecution.create({data:{taskId:e,agent:t,status:"RUNNING",startedAt:new Date,worktreePath:a??null,worktreeBranch:r??null}});return await g.db.task.update({where:{id:e},data:{status:"IN_PROGRESS"}}),(0,P.revalidatePath)("/workspaces"),i}async function q(e,t="FAILED"){let a=await g.db.taskExecution.update({where:{id:e},data:{status:t,endedAt:new Date}});return(0,P.revalidatePath)("/workspaces"),a}async function L(t){let{destroySession:a,getSession:r}=await e.A(217260),i=r(t),n=i?.getBuffer()??"",s=await g.db.taskExecution.findFirst({where:{taskId:t,status:"RUNNING"},orderBy:{createdAt:"desc"}}),o=await g.db.task.findUnique({where:{id:t},include:{project:{select:{localPath:!0}}}});if(a(t),s){await g.db.taskExecution.update({where:{id:s.id},data:{status:"COMPLETED",endedAt:new Date}}),await g.db.task.update({where:{id:t},data:{status:"IN_REVIEW"}});let a=s.worktreePath||o?.project?.localPath||null,{captureExecutionSummary:r}=await e.A(507603);await r(s.id,t,0,n,a)}(0,P.revalidatePath)("/workspaces")}async function B(e){return g.db.taskExecution.findMany({where:{taskId:e},orderBy:{createdAt:"desc"},include:{insightNote:{select:{id:!0,title:!0,content:!0}}}})}async function $(t,a){let r=await g.db.task.findUnique({where:{id:t},include:{project:!0}});if(!r)throw Error("Task not found");if(!r.project?.localPath)throw Error("Project has no local path configured");await g.db.taskExecution.updateMany({where:{taskId:t,status:"RUNNING",NOT:{sessionId:a}},data:{status:"FAILED",endedAt:new Date}});let i=await g.db.taskExecution.findFirst({where:{taskId:t,sessionId:a},orderBy:{createdAt:"desc"}});if(!i)throw Error("Previous execution not found");let n=i.worktreePath??r.project.localPath,s=r.subPath?(0,C.join)(n,r.subPath):n,o=await (0,x.readConfigValue)("terminal.idleTimeoutSec",180),{adapter:d}=await (0,y.resolveCliAdapter)("terminal"),l=d.buildEnvOverrides({taskId:t,taskTitle:r.title,apiUrl:`http://localhost:${process.env.PORT||"3000"}`,callbackUrl:i.callbackUrl??void 0}),c=await g.db.taskExecution.update({where:{id:i.id},data:{status:"RUNNING",endedAt:null}});await g.db.task.update({where:{id:t},data:{status:"IN_PROGRESS"}}),(0,P.revalidatePath)("/workspaces");let u=await (0,x.readConfigValue)("onboarding.username",""),p=d.buildSpawnArgs({taskId:t,prompt:"",cwd:s,resumeSessionId:a,extraArgs:[...u?["--append-system-prompt",`The user's name is ${u}.`]:[]],envOverrides:l}),w=/no conversation found with session id|unknown session|session .* not found/i;return(0,I.createSession)(t,p.command,p.args,s,()=>{},async n=>{await O(t,n);let s=await g.db.taskExecution.findUnique({where:{id:c.id}});if(s?.status!=="RUNNING")return;let{getSession:o}=await e.A(217260),d=o(t),l=d?.getBuffer()??"";if(0!==n&&w.test(l)){D.info("Session resume failed — retrying with fresh execution",{taskId:t,previousSessionId:a}),await g.db.taskExecution.update({where:{id:c.id},data:{status:"FAILED",endedAt:new Date}}).catch(()=>{});try{await H(t,r.title)}catch(e){D.error("Fresh execution retry also failed",e,{taskId:t})}return}await g.db.taskExecution.update({where:{id:c.id},data:{status:0===n?"COMPLETED":"FAILED",endedAt:new Date}}).catch(()=>{});let u=i.worktreePath||r.project.localPath,{captureExecutionSummary:p}=await e.A(507603);await p(c.id,t,n,l,u);let{dispatchTaskCompletionEvent:h}=await e.A(136565);await h({taskId:t,taskTitle:r.title,status:0===n?"COMPLETED":"FAILED",executionId:c.id,workspaceId:r.project.workspaceId}),0===n&&await g.db.task.update({where:{id:t},data:{status:"IN_REVIEW"}}).catch(()=>{})},p.env,void 0,1e3*o),{executionId:c.id,worktreePath:i.worktreePath??n??null}}async function G(t){let a=await g.db.task.findUnique({where:{id:t},include:{project:!0}});if(!a)throw Error("Task not found");if(!a.project?.localPath)throw Error("Project has no local path configured");let r=await g.db.taskExecution.findFirst({where:{taskId:t},orderBy:{createdAt:"desc"}}),{destroySession:i}=await e.A(217260);i(t),await g.db.taskExecution.updateMany({where:{taskId:t,status:"RUNNING"},data:{status:"FAILED",endedAt:new Date}});let n=r?.worktreePath??a.project.localPath,s=a.subPath?(0,C.join)(n,a.subPath):n,o=await (0,x.readConfigValue)("terminal.idleTimeoutSec",180),{adapter:d,provider:l}=await (0,y.resolveCliAdapter)("terminal"),c=d.buildEnvOverrides({taskId:t,taskTitle:a.title,apiUrl:`http://localhost:${process.env.PORT||"3000"}`}),u=await g.db.taskExecution.create({data:{taskId:t,agent:l.agentFieldValue,status:"RUNNING",startedAt:new Date,worktreePath:r?.worktreePath??null,worktreeBranch:r?.worktreeBranch??null}});await g.db.task.update({where:{id:t},data:{status:"IN_PROGRESS"}}),(0,P.revalidatePath)("/workspaces");let p=await (0,x.readConfigValue)("onboarding.username",""),w=d.buildSpawnArgs({taskId:t,prompt:"",cwd:s,continueLatest:!0,extraArgs:[...p?["--append-system-prompt",`The user's name is ${p}.`]:[]],envOverrides:c});return(0,I.createSession)(t,w.command,w.args,s,()=>{},async i=>{await O(t,i);let n=await g.db.taskExecution.findUnique({where:{id:u.id}});if(n?.status!=="RUNNING")return;let{getSession:s}=await e.A(217260),o=s(t),d=o?.getBuffer()??"";await g.db.taskExecution.update({where:{id:u.id},data:{status:0===i?"COMPLETED":"FAILED",endedAt:new Date}}).catch(()=>{});let l=r?.worktreePath||a.project.localPath,{captureExecutionSummary:c}=await e.A(507603);await c(u.id,t,i,d,l);let{dispatchTaskCompletionEvent:p}=await e.A(136565);await p({taskId:t,taskTitle:a.title,status:0===i?"COMPLETED":"FAILED",executionId:u.id,workspaceId:a.project.workspaceId}),0===i&&await g.db.task.update({where:{id:t},data:{status:"IN_REVIEW"}}).catch(()=>{})},w.env,void 0,1e3*o),{executionId:u.id,worktreePath:r?.worktreePath??n??null}}async function H(t,a,r,i,n){let s,o,d=await g.db.task.findUnique({where:{id:t},include:{project:!0}});if(!d)throw Error("Task not found");if(!d.project?.localPath)throw Error("Project has no local path configured");let l=await (0,x.readConfigValue)("system.maxConcurrentExecutions",20);if(await g.db.taskExecution.count({where:{status:"RUNNING"}})>=l)throw Error(`已达并发上限(${l}),请等待其他任务完成后再启动`);let c=await (0,x.readConfigValue)("terminal.idleTimeoutSec",180),{adapter:u,provider:p,model:w}=await (0,y.resolveCliAdapter)("terminal");await g.db.taskExecution.updateMany({where:{taskId:t,status:"RUNNING"},data:{status:"FAILED",endedAt:new Date}}),"IN_PROGRESS"!==d.status&&(await g.db.task.update({where:{id:t},data:{status:"IN_PROGRESS"}}),(0,P.revalidatePath)("/workspaces"));let h="";if(!n){let e=await g.db.taskMessage.findMany({where:{taskId:t},orderBy:{createdAt:"desc"},take:10});h=[`Task: ${d.title}`,d.description?`Description: ${d.description}`:"",e.length>0?`Recent conversation:
2
- ${e.reverse().map(e=>`${e.role}: ${e.content}`).join("\n")}`:"",a.trim()?`User message: ${a}`:""].filter(Boolean).join("\n\n")}let f=r??d.promptId;if(f){let e=await g.db.agentPrompt.findUnique({where:{id:f}});e?.content&&(o=await (0,S.mkdtemp)((0,C.join)((0,j.tmpdir)(),"tower-pty-")),s=(0,C.join)(o,"instructions.md"),await (0,S.writeFile)(s,e.content,"utf-8"))}let k=null,E=null;if(d.baseBranch&&d.project.localPath){let{worktreePath:e,worktreeBranch:a}=await (0,A.createWorktree)(d.project.localPath,t,d.baseBranch,d.subPath);k=e,E=a}let b=k??d.project.localPath,v=d.subPath?(0,C.join)(b,d.subPath):b,m=await g.db.taskExecution.create({data:{taskId:t,agent:p.agentFieldValue,status:"RUNNING",startedAt:new Date,worktreePath:k??null,worktreeBranch:E??null,callbackUrl:i??null}});if(d.project.localPath)try{let t,{execFileSync:a}=await e.A(144264);(t=k&&d.baseBranch?a("git",["merge-base",d.baseBranch,"HEAD"],{cwd:k,encoding:"utf-8",timeout:5e3}).trim():a("git",["rev-parse","HEAD"],{cwd:d.project.localPath,encoding:"utf-8",timeout:5e3}).trim())&&await g.db.taskExecution.update({where:{id:m.id},data:{forkCommit:t}})}catch{}let R="";if(s){let{readFile:t}=await e.A(260815);R+=await t(s,"utf-8")}let N=await (0,x.readConfigValue)("onboarding.username","");N&&(R+=(R?"\n":"")+`The user's name is ${N}.`);let T=u.buildSpawnArgs({taskId:t,prompt:h,cwd:v,extraArgs:[...R?["--append-system-prompt",R]:[],...w?["--model",w]:[]],envOverrides:u.buildEnvOverrides({taskId:t,taskTitle:d.title,apiUrl:`http://localhost:${process.env.PORT||"3000"}`,callbackUrl:i??void 0})});return(0,I.createSession)(t,T.command,T.args,v,()=>{},async a=>{await O(t,a);let r=await g.db.taskExecution.findUnique({where:{id:m.id}});if(r?.status!=="RUNNING")return;let{getSession:i}=await e.A(217260),n=i(t),s=n?.getBuffer()??"";await g.db.taskExecution.update({where:{id:m.id},data:{status:0===a?"COMPLETED":"FAILED",endedAt:new Date}}).catch(e=>{D.error("Failed to update execution status",e)});let l=k||d.project.localPath,{captureExecutionSummary:c}=await e.A(507603);await c(m.id,t,a,s,l);let{dispatchTaskCompletionEvent:u}=await e.A(136565);await u({taskId:t,taskTitle:d.title,status:0===a?"COMPLETED":"FAILED",executionId:m.id,workspaceId:d.project.workspaceId}),0===a&&await g.db.task.update({where:{id:t},data:{status:"IN_REVIEW"}}).catch(e=>{D.error("Failed to update task status",e)}),o&&await (0,S.rm)(o,{recursive:!0,force:!0}).catch(()=>{})},T.env,void 0,1e3*c),{executionId:m.id,worktreePath:k??b??null}}async function V(){return(await g.db.taskExecution.findMany({where:{status:"RUNNING"},orderBy:{startedAt:"asc"},include:{task:{include:{project:{include:{workspace:!0}}}}}})).map(e=>({executionId:e.id,taskId:e.taskId,taskTitle:e.task.title,projectId:e.task.project.id,projectName:e.task.project.name,projectAlias:e.task.project.alias,projectLocalPath:e.task.project.localPath,workspaceId:e.task.project.workspace.id,workspaceName:e.task.project.workspace.name,worktreePath:e.worktreePath,startedAt:e.startedAt?.toISOString()??null}))}(0,T.ensureServerEntryExports)([M,_,F,q,L,B,$,G,H,V]),(0,R.registerServerReference)(M,"601b11829ae56cbeac92821faf79054d8cd34348b8",null),(0,R.registerServerReference)(_,"40b6f7ad6f1a2331af58f58a1397519955b9693570",null),(0,R.registerServerReference)(F,"78109d59ed224dce27aedb154149e9a949c92d8755",null),(0,R.registerServerReference)(q,"6033e962134d9e4d90fccdf55b9fbdc60902f4db6f",null),(0,R.registerServerReference)(L,"400adb6a25b46b95abd1a9a6bf97bf19fcc501319d",null),(0,R.registerServerReference)(B,"40fec3986343d37b4f5f1d314f2eac812ad17b03e0",null),(0,R.registerServerReference)($,"606f0a859e7244ee2f67735c9d9b06bb0ab543ca16",null),(0,R.registerServerReference)(G,"400577765d4ce09db9df2805da9712df382c5d3389",null),(0,R.registerServerReference)(H,"7c98b6df087bff0719be43ca8a2ba556abfdc10d02",null),(0,R.registerServerReference)(V,"00faa04fe3cc437cdcbafafdc213c2051052490816",null);let K=v.z.object({prompt:v.z.string().optional().default("")});async function W(e,{params:t}){let a=(0,m.requireLocalhost)(e);if(a)return a;let{taskId:r}=await t,i=(0,m.validateTaskId)(r);if(i)return i;try{let t=await e.json(),a=K.safeParse(t);if(!a.success)return b.NextResponse.json({error:"Invalid body"},{status:400});let i=await H(r,a.data.prompt);return b.NextResponse.json(i)}catch(t){let e=t instanceof Error?t.message:String(t);return b.NextResponse.json({error:e},{status:500})}}e.s(["POST",0,W,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],499090);var z=e.i(499090);let X=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/internal/terminal/[taskId]/start/route",pathname:"/api/internal/terminal/[taskId]/start",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/internal/terminal/[taskId]/start/route.ts",nextConfigOutput:"standalone",userland:z}),{workAsyncStorage:Z,workUnitAsyncStorage:J,serverHooks:Q}=X;async function Y(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),X.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let b="/api/internal/terminal/[taskId]/start/route";b=b.replace(/\/index$/,"")||"/";let v=await X.prepare(e,t,{srcPage:b,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:m,params:R,nextConfig:g,parsedUrl:P,isDraftMode:A,prerenderManifest:I,routerServerContext:N,isOnDemandRevalidate:x,revalidateOnlyGenerated:y,resolvedPathname:S,clientReferenceManifest:j,serverActionsManifest:C}=v,T=(0,o.normalizeAppPath)(b),D=!!(I.dynamicRoutes[T]||I.routes[S]),U=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,P,!1):t.end("This page could not be found"),null);if(D&&!A){let e=!!I.routes[S],t=I.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(g.adapterPath)return await U();throw new k.NoFallbackError}}let O=null;!D||X.isDev||A||(O="/index"===(O=S)?"/":O);let M=!0===X.isDev||!D,_=D&&!M;C&&j&&(0,s.setManifestsSingleton)({page:b,clientReferenceManifest:j,serverActionsManifest:C});let F=e.method||"GET",q=(0,n.getTracer)(),L=q.getActiveScopeSpan(),B=!!(null==N?void 0:N.isWrappedByNextServer),$=!!(0,i.getRequestMeta)(e,"minimalMode"),G=(0,i.getRequestMeta)(e,"incrementalCache")||await X.getIncrementalCache(e,g,I,$);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let H={params:R,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!g.experimental.authInterrupts},cacheComponents:!!g.cacheComponents,supportsDynamicResponse:M,incrementalCache:G,cacheLifeProfiles:g.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,i)=>X.onRequestError(e,t,r,i,N)},sharedContext:{buildId:m}},V=new d.NodeNextRequest(e),K=new d.NodeNextResponse(t),W=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(t));try{let i,s=async e=>X.handle(W,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=q.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${F} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",r),i.updateName(t))}else e.updateName(`${F} ${b}`)}),o=async i=>{var n,o;let d=async({previousCacheEntry:a})=>{try{if(!$&&x&&y&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await s(i);e.fetchMetrics=H.renderOpts.fetchMetrics;let o=H.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let d=H.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(V,K,n,H.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[f.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,r=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:H.renderOpts.collectedExpire;return{value:{kind:E.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await X.onRequestError(e,t,{routerKind:"App Router",routePath:b,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:_,isOnDemandRevalidate:x})},!1,N),t}},l=await X.handleResponse({req:e,nextConfig:g,cacheKey:O,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:x,revalidateOnlyGenerated:y,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:$});if(!D)return null;if((null==l||null==(n=l.value)?void 0:n.kind)!==E.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(o=l.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});$||t.setHeader("x-nextjs-cache",x?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,w.fromNodeOutgoingHttpHeaders)(l.value.headers);return $&&D||c.delete(f.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,h.getCacheControlHeader)(l.cacheControl)),await (0,p.sendResponse)(V,K,new Response(l.value.body,{headers:c,status:l.value.status||200})),null};B&&L?await o(L):(i=q.getActiveScopeSpan(),await q.withPropagatedContext(e.headers,()=>q.trace(c.BaseServerSpan.handleRequest,{spanName:`${F} ${b}`,kind:n.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},o),void 0,!B))}catch(t){if(t instanceof k.NoFallbackError||await X.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:_,isOnDemandRevalidate:x})},!1,N),D)throw t;return await (0,p.sendResponse)(V,K,new Response(null,{status:500})),null}}e.s(["handler",0,Y,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:Z,workUnitAsyncStorage:J})},"routeModule",0,X,"serverHooks",0,Q,"workAsyncStorage",0,Z,"workUnitAsyncStorage",0,J],550972)}];
2
+ ${e.reverse().map(e=>`${e.role}: ${e.content}`).join("\n")}`:"",a.trim()?`User message: ${a}`:""].filter(Boolean).join("\n\n")}let f=r??d.promptId;if(f){let e=await g.db.agentPrompt.findUnique({where:{id:f}});e?.content&&(o=await (0,S.mkdtemp)((0,C.join)((0,j.tmpdir)(),"tower-pty-")),s=(0,C.join)(o,"instructions.md"),await (0,S.writeFile)(s,e.content,"utf-8"))}let k=null,E=null;if(d.baseBranch&&d.project.localPath){let{worktreePath:e,worktreeBranch:a}=await (0,A.createWorktree)(d.project.localPath,t,d.baseBranch,d.subPath);k=e,E=a}let b=k??d.project.localPath,v=d.subPath?(0,C.join)(b,d.subPath):b,m=await g.db.taskExecution.create({data:{taskId:t,agent:p.agentFieldValue,status:"RUNNING",startedAt:new Date,worktreePath:k??null,worktreeBranch:E??null,callbackUrl:i??null}});if(d.project.localPath)try{let t,{execFileSync:a}=await e.A(144264);(t=k&&d.baseBranch?a("git",["merge-base",d.baseBranch,"HEAD"],{cwd:k,encoding:"utf-8",timeout:5e3}).trim():a("git",["rev-parse","HEAD"],{cwd:d.project.localPath,encoding:"utf-8",timeout:5e3}).trim())&&await g.db.taskExecution.update({where:{id:m.id},data:{forkCommit:t}})}catch{}let R="";if(s){let{readFile:t}=await e.A(260815);R+=await t(s,"utf-8")}let N=await (0,x.readConfigValue)("onboarding.username","");N&&(R+=(R?"\n":"")+`The user's name is ${N}.`);let T=u.buildSpawnArgs({taskId:t,prompt:h,cwd:v,extraArgs:[...R?["--append-system-prompt",R]:[],...w?["--model",w]:[]],envOverrides:u.buildEnvOverrides({taskId:t,taskTitle:d.title,apiUrl:`http://localhost:${process.env.PORT||"3000"}`,callbackUrl:i??void 0})});return(0,I.createSession)(t,T.command,T.args,v,()=>{},async a=>{await O(t,a);let r=await g.db.taskExecution.findUnique({where:{id:m.id}});if(r?.status!=="RUNNING")return;let{getSession:i}=await e.A(217260),n=i(t),s=n?.getBuffer()??"";await g.db.taskExecution.update({where:{id:m.id},data:{status:0===a?"COMPLETED":"FAILED",endedAt:new Date}}).catch(e=>{D.error("Failed to update execution status",e)});let l=k||d.project.localPath,{captureExecutionSummary:c}=await e.A(507603);await c(m.id,t,a,s,l);let{dispatchTaskCompletionEvent:u}=await e.A(136565);await u({taskId:t,taskTitle:d.title,status:0===a?"COMPLETED":"FAILED",executionId:m.id,workspaceId:d.project.workspaceId}),0===a&&await g.db.task.update({where:{id:t},data:{status:"IN_REVIEW"}}).catch(e=>{D.error("Failed to update task status",e)}),o&&await (0,S.rm)(o,{recursive:!0,force:!0}).catch(()=>{})},T.env,void 0,1e3*c),{executionId:m.id,worktreePath:k??b??null}}async function V(){return(await g.db.taskExecution.findMany({where:{status:"RUNNING"},orderBy:{startedAt:"asc"},include:{task:{include:{project:{include:{workspace:!0}}}}}})).map(e=>({executionId:e.id,taskId:e.taskId,taskTitle:e.task.title,projectId:e.task.project.id,projectName:e.task.project.name,projectAlias:e.task.project.alias,projectLocalPath:e.task.project.localPath,workspaceId:e.task.project.workspace.id,workspaceName:e.task.project.workspace.name,worktreePath:e.worktreePath,startedAt:e.startedAt?.toISOString()??null}))}(0,T.ensureServerEntryExports)([M,_,F,q,L,B,$,G,H,V]),(0,R.registerServerReference)(M,"601c1d95d28d94dc98a28f4024ce728ebd2477d427",null),(0,R.registerServerReference)(_,"408b2968a4abd9ab1ae9858e8171a528498249a83f",null),(0,R.registerServerReference)(F,"78da8ed9341651fc8f170f52b5d364d2338228b8aa",null),(0,R.registerServerReference)(q,"60152675ea1ee3cbc7a79d73d3c7917c34e9528399",null),(0,R.registerServerReference)(L,"40efb922d5cc11d34084c36931337ad6960eacc007",null),(0,R.registerServerReference)(B,"4039835dda78139d9c87b9860d791313a183b0899b",null),(0,R.registerServerReference)($,"60d6c02e47b1e007cc16cc4c6c725e039efe080a89",null),(0,R.registerServerReference)(G,"4092eba543dd45158dcb22b5c531479ede0fea08f0",null),(0,R.registerServerReference)(H,"7cad1d22458db7e9c507969f8dab53fc13d035d743",null),(0,R.registerServerReference)(V,"00458206b20cb3171e6cc0a0c2705b6b585d5b7494",null);let K=v.z.object({prompt:v.z.string().optional().default("")});async function W(e,{params:t}){let a=(0,m.requireLocalhost)(e);if(a)return a;let{taskId:r}=await t,i=(0,m.validateTaskId)(r);if(i)return i;try{let t=await e.json(),a=K.safeParse(t);if(!a.success)return b.NextResponse.json({error:"Invalid body"},{status:400});let i=await H(r,a.data.prompt);return b.NextResponse.json(i)}catch(t){let e=t instanceof Error?t.message:String(t);return b.NextResponse.json({error:e},{status:500})}}e.s(["POST",0,W,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],499090);var z=e.i(499090);let X=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/internal/terminal/[taskId]/start/route",pathname:"/api/internal/terminal/[taskId]/start",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/internal/terminal/[taskId]/start/route.ts",nextConfigOutput:"standalone",userland:z}),{workAsyncStorage:Z,workUnitAsyncStorage:J,serverHooks:Q}=X;async function Y(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),X.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let b="/api/internal/terminal/[taskId]/start/route";b=b.replace(/\/index$/,"")||"/";let v=await X.prepare(e,t,{srcPage:b,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:m,params:R,nextConfig:g,parsedUrl:P,isDraftMode:A,prerenderManifest:I,routerServerContext:N,isOnDemandRevalidate:x,revalidateOnlyGenerated:y,resolvedPathname:S,clientReferenceManifest:j,serverActionsManifest:C}=v,T=(0,o.normalizeAppPath)(b),D=!!(I.dynamicRoutes[T]||I.routes[S]),U=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,P,!1):t.end("This page could not be found"),null);if(D&&!A){let e=!!I.routes[S],t=I.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(g.adapterPath)return await U();throw new k.NoFallbackError}}let O=null;!D||X.isDev||A||(O="/index"===(O=S)?"/":O);let M=!0===X.isDev||!D,_=D&&!M;C&&j&&(0,s.setManifestsSingleton)({page:b,clientReferenceManifest:j,serverActionsManifest:C});let F=e.method||"GET",q=(0,n.getTracer)(),L=q.getActiveScopeSpan(),B=!!(null==N?void 0:N.isWrappedByNextServer),$=!!(0,i.getRequestMeta)(e,"minimalMode"),G=(0,i.getRequestMeta)(e,"incrementalCache")||await X.getIncrementalCache(e,g,I,$);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let H={params:R,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!g.experimental.authInterrupts},cacheComponents:!!g.cacheComponents,supportsDynamicResponse:M,incrementalCache:G,cacheLifeProfiles:g.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,i)=>X.onRequestError(e,t,r,i,N)},sharedContext:{buildId:m}},V=new d.NodeNextRequest(e),K=new d.NodeNextResponse(t),W=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(t));try{let i,s=async e=>X.handle(W,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=q.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${F} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",r),i.updateName(t))}else e.updateName(`${F} ${b}`)}),o=async i=>{var n,o;let d=async({previousCacheEntry:a})=>{try{if(!$&&x&&y&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await s(i);e.fetchMetrics=H.renderOpts.fetchMetrics;let o=H.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let d=H.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(V,K,n,H.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,w.toNodeOutgoingHttpHeaders)(n.headers);d&&(t[f.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,r=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:H.renderOpts.collectedExpire;return{value:{kind:E.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await X.onRequestError(e,t,{routerKind:"App Router",routePath:b,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:_,isOnDemandRevalidate:x})},!1,N),t}},l=await X.handleResponse({req:e,nextConfig:g,cacheKey:O,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:x,revalidateOnlyGenerated:y,responseGenerator:d,waitUntil:r.waitUntil,isMinimalMode:$});if(!D)return null;if((null==l||null==(n=l.value)?void 0:n.kind)!==E.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(o=l.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});$||t.setHeader("x-nextjs-cache",x?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,w.fromNodeOutgoingHttpHeaders)(l.value.headers);return $&&D||c.delete(f.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,h.getCacheControlHeader)(l.cacheControl)),await (0,p.sendResponse)(V,K,new Response(l.value.body,{headers:c,status:l.value.status||200})),null};B&&L?await o(L):(i=q.getActiveScopeSpan(),await q.withPropagatedContext(e.headers,()=>q.trace(c.BaseServerSpan.handleRequest,{spanName:`${F} ${b}`,kind:n.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},o),void 0,!B))}catch(t){if(t instanceof k.NoFallbackError||await X.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:_,isOnDemandRevalidate:x})},!1,N),D)throw t;return await (0,p.sendResponse)(V,K,new Response(null,{status:500})),null}}e.s(["handler",0,Y,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:Z,workUnitAsyncStorage:J})},"routeModule",0,X,"serverHooks",0,Q,"workAsyncStorage",0,Z,"workUnitAsyncStorage",0,J],550972)}];
3
3
 
4
4
  //# sourceMappingURL=0se9_next_dist_esm_build_templates_app-route_0hrprmi.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[522734,(e,r,t)=>{r.exports=e.x("fs",()=>require("fs"))},933919,(e,r,t)=>{r.exports=e.x("@prisma/client-9249dd53ac5b6a44",()=>require("@prisma/client-9249dd53ac5b6a44"))},750227,(e,r,t)=>{r.exports=e.x("node:path",()=>require("node:path"))},902157,(e,r,t)=>{r.exports=e.x("node:fs",()=>require("node:fs"))},874533,(e,r,t)=>{r.exports=e.x("node:child_process",()=>require("node:child_process"))},193695,(e,r,t)=>{r.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,r,t)=>{r.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},270406,(e,r,t)=>{r.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},324725,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},843793,e=>{"use strict";var r=e.i(933919);let t=globalThis.prisma??new r.PrismaClient({log:[]});process.on("SIGTERM",()=>{t.$disconnect().catch(()=>{})}),process.on("SIGINT",()=>{t.$disconnect().catch(()=>{})}),e.s(["db",0,t])},660526,(e,r,t)=>{r.exports=e.x("node:os",()=>require("node:os"))},192520,e=>{"use strict";let r;var t=e.i(750227),s=e.i(660526),o=e.i(902157);function i(){return r||(r=process.env.TOWER_DATA_DIR||(0,t.join)((0,s.homedir)(),".tower"),(0,o.existsSync)(r)||(0,o.mkdirSync)(r,{recursive:!0})),r}e.s(["getAssistantDir",0,function(){let e=(0,t.join)(i(),"assistant");return(0,o.existsSync)(e)||(0,o.mkdirSync)(e,{recursive:!0}),e},"getBackupsDir",0,function(){let e=(0,t.join)(i(),"backups");return(0,o.existsSync)(e)||(0,o.mkdirSync)(e,{recursive:!0}),e},"getStorageDir",0,function(){let e=(0,t.join)(i(),"storage");return(0,o.existsSync)(e)||(0,o.mkdirSync)(e,{recursive:!0}),e},"getTowerDbPath",0,function(){let e;return(0,t.join)((e=(0,t.join)(i(),"database"),(0,o.existsSync)(e)||(0,o.mkdirSync)(e,{recursive:!0}),e),"tower.db")},"getTowerDir",0,i])},173215,e=>{"use strict";var r=e.i(902157),t=e.i(660526),s=e.i(750227),o=e.i(279711),i=e.i(192520);let n="tower";function a(){let e=(0,i.getTowerDir)(),r=s.join((0,t.homedir)(),".tower");if(s.resolve(e)===s.resolve(r))return"tower";let o=s.basename(e),n=o.match(/^\.?tower-(.+)$/);return n?`tower-${l(n[1])}`:`tower-${l(o)}`}function l(e){return e.replace(/[^a-z0-9_-]/gi,"-").toLowerCase().slice(0,32)}async function c(e,l){let c,d,u,p,m=o.providerRegistry.get(e),h=m?.cli?.adapter;if(!h||!await h.isAvailable())return{provider:e,available:!1,ok:!1};let k="claude"===e?function(e={}){let o=e.homeDir??t.homedir(),i=e.repoRoot??process.cwd(),n=[];return n.push(function(e){let t=s.join(e,".claude","settings.json");if(!r.existsSync(t))return{removed:!1,path:t};try{let e=r.readFileSync(t,"utf-8"),s=JSON.parse(e),o=s.mcpServers;if("object"!=typeof o||null===o||Array.isArray(o)||!("tower"in o))return{removed:!1,path:t};let i=o.tower;return delete o.tower,0===Object.keys(o).length?delete s.mcpServers:s.mcpServers=o,r.writeFileSync(t,JSON.stringify(s,null,2)+"\n","utf-8"),{removed:!0,path:t,removedEntry:i,reason:"wrong-file"}}catch(e){return{removed:!1,path:t,error:e instanceof Error?e.message:String(e)}}}(o)),n.push(function(e,t,o){if(!r.existsSync(e))return{removed:!1,path:e};try{let i=r.readFileSync(e,"utf-8"),n=JSON.parse(i),a=n.mcpServers;if("object"!=typeof a||null===a||Array.isArray(a))return{removed:!1,path:e};let l=a.tower;if(!l)return{removed:!1,path:e};let c=function(e,t){let o,i=e.args;if(!Array.isArray(i))return"foreign-repo";for(let e of i)if("string"==typeof e&&s.isAbsolute(e)){o=e;break}return o?r.existsSync(o)?s.resolve(o).startsWith(s.resolve(t)+s.sep)?"current-repo":"foreign-repo":"missing-path":"foreign-repo"}(l,o);if("current-repo"===c)return{removed:!1,path:e,reason:"alive-current-repo"};return delete a.tower,0===Object.keys(a).length?delete n.mcpServers:n.mcpServers=a,r.writeFileSync(e,JSON.stringify(n,null,2)+"\n","utf-8"),{removed:!0,path:e,removedEntry:l,reason:`${t}:${c}`}}catch(r){return{removed:!1,path:e,error:r instanceof Error?r.message:String(r)}}}(s.join(o,".mcp.json"),"home-mcp-json",i)),{steps:n,removedAny:n.some(e=>e.removed)}}():void 0,v=(c=process.cwd().replace(/\\/g,"/"),d=process.env.DATABASE_URL||`file:${(0,i.getTowerDbPath)().replace(/\\/g,"/")}`,u=`${c}/dist/mcp-server.cjs`,p=a(),(0,r.existsSync)(u)?{name:p,command:"node",args:[u],env:{DATABASE_URL:d}}:{name:p,command:`${c}/node_modules/.bin/tsx`,args:[`${c}/src/mcp/index.ts`],env:{DATABASE_URL:d}}),g=await h.installMcp(v,{scope:"user"}),f=await h.installHooks(l),y=await h.installSkill(n,s.join(process.cwd(),"skills",n));return{provider:e,available:!0,migration:k,mcp:g,hooks:f,skill:y,ok:g.ok&&f.ok&&y.ok}}e.s(["getTowerMcpName",0,a,"installAllForProvider",0,c],173215)},482819,(e,r,t)=>{"use strict";r.exports=e.r(583981).vendored["react-rsc"].ReactServerDOMTurbopackServer},921675,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"registerServerReference",{enumerable:!0,get:function(){return s.registerServerReference}});let s=e.r(482819)},86708,(e,r,t)=>{"use strict";function s(e){for(let r=0;r<e.length;r++){let t=e[r];if("function"!=typeof t)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof t}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureServerEntryExports",{enumerable:!0,get:function(){return s}})},279711,e=>{"use strict";class r{providers=new Map;register(e){this.providers.set(e.name,e)}get(e){return this.providers.get(e)}getAll(){return Array.from(this.providers.values())}getCliAdapter(e){return this.providers.get(e)?.cli?.adapter??null}getQueryAdapter(e,r){let t=this.providers.get(e);return t?"api"===r?t.api?.adapter??null:t.cliQuery?.adapter??null:null}getAllowedCommands(){let e=[];for(let r of this.providers.values())r.cli?.command&&e.push(r.cli.command);return e}async getAvailableProviders(){let e=[];for(let r of this.providers.values()){let t=!!r.cli&&await r.cli.adapter.isAvailable(),s=t&&r.cli?await r.cli.adapter.getVersion():null,o=!!r.api&&!!process.env[r.api.keyEnvVar],i=!!r.api&&o;e.push({name:r.name,displayName:r.displayName,cli:{available:t,version:s},api:{available:i,keyConfigured:o}})}return e}}var t=e.i(472129),s=e.i(902157),o=e.i(660526),i=e.i(750227),n=e.i(769310);let a=["o4-mini","o3","gpt-4.1","gpt-4.1-mini","gpt-4.1-nano","codex-mini-latest"],l=globalThis;if(!l.__providerRegistry){let c=new r;c.register({name:"claude",displayName:"Claude Code",agentFieldValue:"CLAUDE_CODE",cli:{command:"claude",adapter:new t.ClaudeCliAdapter},models:{cli:["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"],api:[]}}),c.register({name:"codex",displayName:"Codex CLI",agentFieldValue:"CODEX_CLI",cli:{command:"codex",adapter:new class r{buildSpawnArgs(e){let r=[];e.resumeSessionId?r.push("resume",e.resumeSessionId):e.continueLatest?r.push("resume","--last"):(r.push("--full-auto"),e.extraArgs?.length&&r.push(...e.extraArgs),e.prompt&&r.push(e.prompt));let t={...e.envOverrides??{}};return{command:this.resolveCommand(),args:r,env:t}}buildEnvOverrides(e){let r={TOWER_TASK_ID:e.taskId,TOWER_TASK_TITLE:e.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:e.apiUrl};return e.callbackUrl&&(r.CALLBACK_URL=e.callbackUrl),r}async installHooks(e){try{let e=this.readHooks(),r=process.cwd().replace(/\\/g,"/"),t=!1,s=this.getHookArray(e,"SessionStart");if(!this.hasHook(s,"session-start-hook.js")){let o=i.join(r,"scripts","session-start-hook.js").replace(/\\/g,"/");s.push({hooks:[{command:`node "${o}"`,timeout:5,type:"command"}]}),e.SessionStart=s,t=!0}let o=this.getHookArray(e,"PostToolUse");if(!this.hasHook(o,"post-tool-hook.js")){let s=i.join(r,"scripts","post-tool-hook.js").replace(/\\/g,"/");o.push({hooks:[{command:`node "${s}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"}),e.PostToolUse=o,t=!0}let n=this.getHookArray(e,"Stop");if(!this.hasHook(n,"stop-hook.js")){let s=i.join(r,"scripts","stop-hook.js").replace(/\\/g,"/");n.push({hooks:[{command:`node "${s}"`,timeout:5,type:"command"}]}),e.Stop=n,t=!0}return t&&(this.writeHooks(e),this.ensureHooksFeatureEnabled()),{ok:!0,method:"file",detail:this.getHooksPath()}}catch(e){return{ok:!1,method:"file",detail:this.getHooksPath(),error:e instanceof Error?e.message:String(e)}}}async uninstallHooks(){try{let e=this.readHooks(),r=["session-start-hook.js","post-tool-hook.js","stop-hook.js"];for(let t of["SessionStart","PostToolUse","Stop"]){let s=this.getHookArray(e,t);e[t]=s.filter(e=>!e.hooks?.some(e=>r.some(r=>e.command?.includes(r))))}return this.writeHooks(e),{ok:!0,method:"file",detail:this.getHooksPath()}}catch(e){return{ok:!1,method:"file",detail:this.getHooksPath(),error:e instanceof Error?e.message:String(e)}}}async isHooksInstalled(){let e=this.readHooks(),r=this.getHookArray(e,"PostToolUse");return this.hasHook(r,"post-tool-hook.js")}async installMcp(e,r={}){let t=this.resolveCommand(),s=["mcp","add",e.name];if(e.env)for(let[r,t]of Object.entries(e.env))s.push("--env",`${r}=${t}`);s.push("--",e.command,...e.args);try{return await this.runCli(t,["mcp","remove",e.name],r.cwd).catch(()=>{}),await this.runCli(t,s,r.cwd),{ok:!0,method:"cli",detail:`${t} ${s.join(" ")}`}}catch(e){return{ok:!1,method:"cli",detail:`${t} ${s.join(" ")}`,error:e instanceof Error?e.message:String(e)}}}async uninstallMcp(e,r={}){let t=this.resolveCommand(),s=["mcp","remove",e];try{return await this.runCli(t,s,r.cwd),{ok:!0,method:"cli",detail:`${t} ${s.join(" ")}`}}catch(e){return{ok:!1,method:"cli",detail:`${t} ${s.join(" ")}`,error:e instanceof Error?e.message:String(e)}}}async isMcpInstalled(e,r={}){let t=this.resolveCommand();try{return await this.runCli(t,["mcp","get",e],r.cwd,5e3),!0}catch{return!1}}async installSkill(e,r){let t=i.join(this.getConfigDir(),"skills",e);try{if(!s.existsSync(r))return{ok:!1,method:"symlink",detail:t,error:`Source skill dir does not exist: ${r}`};s.mkdirSync(i.dirname(t),{recursive:!0});let e=await s.promises.lstat(t).catch(()=>null);if(e)if(!e.isSymbolicLink())return{ok:!1,method:"symlink",detail:t,error:`Refusing to overwrite non-symlink at ${t}`};else{let e=await s.promises.readlink(t);if(i.resolve(e)===i.resolve(r))return{ok:!0,method:"symlink",detail:`${t} → ${r} (already)`};await s.promises.unlink(t)}return await s.promises.symlink(r,t,"dir"),{ok:!0,method:"symlink",detail:`${t} → ${r}`}}catch(e){return{ok:!1,method:"symlink",detail:t,error:e instanceof Error?e.message:String(e)}}}async uninstallSkill(e){let r=i.join(this.getConfigDir(),"skills",e);try{let e=await s.promises.lstat(r).catch(()=>null);if(!e)return{ok:!0,method:"symlink",detail:`${r} (already absent)`};if(!e.isSymbolicLink())return{ok:!1,method:"symlink",detail:r,error:`Refusing to remove non-symlink at ${r}`};return await s.promises.unlink(r),{ok:!0,method:"symlink",detail:r}}catch(e){return{ok:!1,method:"symlink",detail:r,error:e instanceof Error?e.message:String(e)}}}async isSkillInstalled(e,r){let t=i.join(this.getConfigDir(),"skills",e);try{if(!(await s.promises.lstat(t)).isSymbolicLink())return!1;if(!r)return!0;let e=await s.promises.readlink(t),o=i.isAbsolute(e)?e:i.resolve(i.dirname(t),e);return i.resolve(o)===i.resolve(r)}catch{return!1}}async runCli(r,t,s,o=1e4){let{execFile:i}=await e.A(482848),{promisify:n}=await e.A(268548),a=n(i),{stdout:l}=await a(r,t,{cwd:s,timeout:o});return l}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:r}=await e.A(144264),{promisify:t}=await e.A(534777),s=t(r),o=this.resolveCommand(),{stdout:i}=await s(o,["--version"],{timeout:5e3});return i.trim()||null}catch{return null}}async getModels(){return a}getConfigDir(){return i.join(o.homedir(),".codex")}getSettingsPath(){return i.join(this.getConfigDir(),"config.toml")}getSessionsDir(){return i.join(this.getConfigDir(),"sessions")}getApiKeyInfo(){return{envVar:"OPENAI_API_KEY",required:!1}}buildHelloProbeArgs(){return{command:this.resolveCommand(),args:["exec","-"]}}resolveCommand(){return process.env.CODEX_CLI_PATH?process.env.CODEX_CLI_PATH:(0,n.resolveCommandPathSync)("codex")}getHooksPath(){return i.join(this.getConfigDir(),"hooks.json")}readHooks(){try{return JSON.parse(s.readFileSync(this.getHooksPath(),"utf-8")).hooks??{}}catch{return{}}}writeHooks(e){let r=this.getConfigDir();s.existsSync(r)||s.mkdirSync(r,{recursive:!0}),s.writeFileSync(this.getHooksPath(),JSON.stringify({hooks:e},null,2),"utf-8")}ensureHooksFeatureEnabled(){let e=this.getSettingsPath(),r="";try{r=s.readFileSync(e,"utf-8")}catch{}if(/codex_hooks\s*=\s*true/.test(r))return;/\[features\]/.test(r)?r=r.replace(/\[features\]/,"[features]\ncodex_hooks = true"):r+="\n[features]\ncodex_hooks = true\n";let t=this.getConfigDir();s.existsSync(t)||s.mkdirSync(t,{recursive:!0}),s.writeFileSync(e,r,"utf-8")}getHookArray(e,r){let t=e[r];return Array.isArray(t)?t:[]}hasHook(e,r){return e.some(e=>e.hooks?.some(e=>e.command?.includes(r)))}}},models:{cli:["o4-mini","o3","gpt-4.1","gpt-4.1-mini","gpt-4.1-nano","codex-mini-latest"],api:[]}}),l.__providerRegistry=c}let c=l.__providerRegistry;e.s(["providerRegistry",0,c],279711)},932583,e=>{"use strict";var r=e.i(921675),t=e.i(843793);async function s(e,r={}){let o=r.report,i=o?JSON.stringify(o):null;await t.db.providerConnection.upsert({where:{provider:e},create:{provider:e,lastTestedAt:new Date,testOk:!0,version:r.version??null,mcpInstalled:o?.mcp?.ok??!1,hooksInstalled:o?.hooks?.ok??!1,skillsInstalled:o?.skill?.ok??!1,installLog:i},update:{lastTestedAt:new Date,testOk:!0,version:r.version??null,mcpInstalled:o?.mcp?.ok??!1,hooksInstalled:o?.hooks?.ok??!1,skillsInstalled:o?.skill?.ok??!1,installLog:i}})}async function o(e,r={}){await t.db.providerConnection.upsert({where:{provider:e},create:{provider:e,lastTestedAt:new Date,testOk:!1,installLog:r.reason??null},update:{lastTestedAt:new Date,testOk:!1,mcpInstalled:!1,hooksInstalled:!1,skillsInstalled:!1,installLog:r.reason??null}})}async function i(e){let r=await t.db.providerConnection.findUnique({where:{provider:e}});return!!r&&r.testOk&&r.mcpInstalled&&r.hooksInstalled&&r.skillsInstalled}async function n(){return(await t.db.providerConnection.findMany({where:{testOk:!0,mcpInstalled:!0,hooksInstalled:!0,skillsInstalled:!0},select:{provider:!0},orderBy:{provider:"asc"}})).map(e=>e.provider)}async function a(){return t.db.providerConnection.findMany({select:{provider:!0,lastTestedAt:!0,testOk:!0,version:!0,mcpInstalled:!0,hooksInstalled:!0,skillsInstalled:!0,installLog:!0},orderBy:{provider:"asc"}})}(0,e.i(86708).ensureServerEntryExports)([s,o,i,n,a]),(0,r.registerServerReference)(s,"6095168ba52e7cc124178eab4b390a602fa1036185",null),(0,r.registerServerReference)(o,"6098b94415429baa09cb191540e8341cd9f15310ee",null),(0,r.registerServerReference)(i,"407ff75e51b077cd7144e4a2099da85e9949479d53",null),(0,r.registerServerReference)(n,"00f0f37b2b82744ff56773b9b56b3da0d95a04710f",null),(0,r.registerServerReference)(a,"0051e5b70851201f51bd48f19fbfe20765f1ed9bb1",null),e.s(["getConnectedProviders",0,n,"isProviderConnected",0,i,"markProviderConnected",0,s,"markProviderDisconnected",0,o])},482848,e=>{e.v(e=>Promise.resolve().then(()=>e(874533)))},268548,e=>{e.v(r=>Promise.all(["server/chunks/[externals]_node_util_0xr.y7p._.js"].map(r=>e.l(r))).then(()=>r(812057)))},144264,e=>{e.v(r=>Promise.all(["server/chunks/[externals]_child_process_0pwkpv9._.js"].map(r=>e.l(r))).then(()=>r(233405)))},534777,e=>{e.v(r=>Promise.all(["server/chunks/[externals]_util_0wtvqkc._.js"].map(r=>e.l(r))).then(()=>r(224361)))}];
1
+ module.exports=[522734,(e,r,t)=>{r.exports=e.x("fs",()=>require("fs"))},933919,(e,r,t)=>{r.exports=e.x("@prisma/client-9249dd53ac5b6a44",()=>require("@prisma/client-9249dd53ac5b6a44"))},750227,(e,r,t)=>{r.exports=e.x("node:path",()=>require("node:path"))},902157,(e,r,t)=>{r.exports=e.x("node:fs",()=>require("node:fs"))},874533,(e,r,t)=>{r.exports=e.x("node:child_process",()=>require("node:child_process"))},193695,(e,r,t)=>{r.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},918622,(e,r,t)=>{r.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},270406,(e,r,t)=>{r.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},324725,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},843793,e=>{"use strict";var r=e.i(933919);let t=globalThis.prisma??new r.PrismaClient({log:[]});process.on("SIGTERM",()=>{t.$disconnect().catch(()=>{})}),process.on("SIGINT",()=>{t.$disconnect().catch(()=>{})}),e.s(["db",0,t])},660526,(e,r,t)=>{r.exports=e.x("node:os",()=>require("node:os"))},192520,e=>{"use strict";let r;var t=e.i(750227),s=e.i(660526),o=e.i(902157);function i(){return r||(r=process.env.TOWER_DATA_DIR||(0,t.join)((0,s.homedir)(),".tower"),(0,o.existsSync)(r)||(0,o.mkdirSync)(r,{recursive:!0})),r}e.s(["getAssistantDir",0,function(){let e=(0,t.join)(i(),"assistant");return(0,o.existsSync)(e)||(0,o.mkdirSync)(e,{recursive:!0}),e},"getBackupsDir",0,function(){let e=(0,t.join)(i(),"backups");return(0,o.existsSync)(e)||(0,o.mkdirSync)(e,{recursive:!0}),e},"getStorageDir",0,function(){let e=(0,t.join)(i(),"storage");return(0,o.existsSync)(e)||(0,o.mkdirSync)(e,{recursive:!0}),e},"getTowerDbPath",0,function(){let e;return(0,t.join)((e=(0,t.join)(i(),"database"),(0,o.existsSync)(e)||(0,o.mkdirSync)(e,{recursive:!0}),e),"tower.db")},"getTowerDir",0,i])},173215,e=>{"use strict";var r=e.i(902157),t=e.i(660526),s=e.i(750227),o=e.i(279711),i=e.i(192520);let n="tower";function a(){let e=(0,i.getTowerDir)(),r=s.join((0,t.homedir)(),".tower");if(s.resolve(e)===s.resolve(r))return"tower";let o=s.basename(e),n=o.match(/^\.?tower-(.+)$/);return n?`tower-${l(n[1])}`:`tower-${l(o)}`}function l(e){return e.replace(/[^a-z0-9_-]/gi,"-").toLowerCase().slice(0,32)}async function c(e,l){let c,d,u,p,m=o.providerRegistry.get(e),h=m?.cli?.adapter;if(!h||!await h.isAvailable())return{provider:e,available:!1,ok:!1};let k="claude"===e?function(e={}){let o=e.homeDir??t.homedir(),i=e.repoRoot??process.cwd(),n=[];return n.push(function(e){let t=s.join(e,".claude","settings.json");if(!r.existsSync(t))return{removed:!1,path:t};try{let e=r.readFileSync(t,"utf-8"),s=JSON.parse(e),o=s.mcpServers;if("object"!=typeof o||null===o||Array.isArray(o)||!("tower"in o))return{removed:!1,path:t};let i=o.tower;return delete o.tower,0===Object.keys(o).length?delete s.mcpServers:s.mcpServers=o,r.writeFileSync(t,JSON.stringify(s,null,2)+"\n","utf-8"),{removed:!0,path:t,removedEntry:i,reason:"wrong-file"}}catch(e){return{removed:!1,path:t,error:e instanceof Error?e.message:String(e)}}}(o)),n.push(function(e,t,o){if(!r.existsSync(e))return{removed:!1,path:e};try{let i=r.readFileSync(e,"utf-8"),n=JSON.parse(i),a=n.mcpServers;if("object"!=typeof a||null===a||Array.isArray(a))return{removed:!1,path:e};let l=a.tower;if(!l)return{removed:!1,path:e};let c=function(e,t){let o,i=e.args;if(!Array.isArray(i))return"foreign-repo";for(let e of i)if("string"==typeof e&&s.isAbsolute(e)){o=e;break}return o?r.existsSync(o)?s.resolve(o).startsWith(s.resolve(t)+s.sep)?"current-repo":"foreign-repo":"missing-path":"foreign-repo"}(l,o);if("current-repo"===c)return{removed:!1,path:e,reason:"alive-current-repo"};return delete a.tower,0===Object.keys(a).length?delete n.mcpServers:n.mcpServers=a,r.writeFileSync(e,JSON.stringify(n,null,2)+"\n","utf-8"),{removed:!0,path:e,removedEntry:l,reason:`${t}:${c}`}}catch(r){return{removed:!1,path:e,error:r instanceof Error?r.message:String(r)}}}(s.join(o,".mcp.json"),"home-mcp-json",i)),{steps:n,removedAny:n.some(e=>e.removed)}}():void 0,f=(c=process.cwd().replace(/\\/g,"/"),d=process.env.DATABASE_URL||`file:${(0,i.getTowerDbPath)().replace(/\\/g,"/")}`,u=`${c}/dist/mcp-server.cjs`,p=a(),(0,r.existsSync)(u)?{name:p,command:"node",args:[u],env:{DATABASE_URL:d}}:{name:p,command:`${c}/node_modules/.bin/tsx`,args:[`${c}/src/mcp/index.ts`],env:{DATABASE_URL:d}}),v=await h.installMcp(f,{scope:"user"}),g=await h.installHooks(l),y=await h.installSkill(n,s.join(process.cwd(),"skills",n));return{provider:e,available:!0,migration:k,mcp:v,hooks:g,skill:y,ok:v.ok&&g.ok&&y.ok}}e.s(["getTowerMcpName",0,a,"installAllForProvider",0,c],173215)},482819,(e,r,t)=>{"use strict";r.exports=e.r(583981).vendored["react-rsc"].ReactServerDOMTurbopackServer},921675,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"registerServerReference",{enumerable:!0,get:function(){return s.registerServerReference}});let s=e.r(482819)},86708,(e,r,t)=>{"use strict";function s(e){for(let r=0;r<e.length;r++){let t=e[r];if("function"!=typeof t)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof t}.
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureServerEntryExports",{enumerable:!0,get:function(){return s}})},279711,e=>{"use strict";class r{providers=new Map;register(e){this.providers.set(e.name,e)}get(e){return this.providers.get(e)}getAll(){return Array.from(this.providers.values())}getCliAdapter(e){return this.providers.get(e)?.cli?.adapter??null}getQueryAdapter(e,r){let t=this.providers.get(e);return t?"api"===r?t.api?.adapter??null:t.cliQuery?.adapter??null:null}getAllowedCommands(){let e=[];for(let r of this.providers.values())r.cli?.command&&e.push(r.cli.command);return e}async getAvailableProviders(){let e=[];for(let r of this.providers.values()){let t=!!r.cli&&await r.cli.adapter.isAvailable(),s=t&&r.cli?await r.cli.adapter.getVersion():null,o=!!r.api&&!!process.env[r.api.keyEnvVar],i=!!r.api&&o;e.push({name:r.name,displayName:r.displayName,cli:{available:t,version:s},api:{available:i,keyConfigured:o}})}return e}}var t=e.i(472129),s=e.i(902157),o=e.i(660526),i=e.i(750227),n=e.i(769310);let a=["o4-mini","o3","gpt-4.1","gpt-4.1-mini","gpt-4.1-nano","codex-mini-latest"],l=globalThis;if(!l.__providerRegistry){let c=new r;c.register({name:"claude",displayName:"Claude Code",agentFieldValue:"CLAUDE_CODE",cli:{command:"claude",adapter:new t.ClaudeCliAdapter},models:{cli:["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"],api:[]}}),c.register({name:"codex",displayName:"Codex CLI",agentFieldValue:"CODEX_CLI",cli:{command:"codex",adapter:new class r{buildSpawnArgs(e){let r=[];e.resumeSessionId?r.push("resume",e.resumeSessionId):e.continueLatest?r.push("resume","--last"):(r.push("--full-auto"),e.extraArgs?.length&&r.push(...e.extraArgs),e.prompt&&r.push(e.prompt));let t={...e.envOverrides??{}};return{command:this.resolveCommand(),args:r,env:t}}buildEnvOverrides(e){let r={TOWER_TASK_ID:e.taskId,TOWER_TASK_TITLE:e.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:e.apiUrl};return e.callbackUrl&&(r.CALLBACK_URL=e.callbackUrl),r}async installHooks(e){try{let e=this.readHooks(),r=process.cwd().replace(/\\/g,"/"),t=!1,s=this.getHookArray(e,"SessionStart");if(!this.hasHook(s,"session-start-hook.js")){let o=i.join(r,"scripts","session-start-hook.js").replace(/\\/g,"/");s.push({hooks:[{command:`node "${o}"`,timeout:5,type:"command"}]}),e.SessionStart=s,t=!0}let o=this.getHookArray(e,"PostToolUse");if(!this.hasHook(o,"post-tool-hook.js")){let s=i.join(r,"scripts","post-tool-hook.js").replace(/\\/g,"/");o.push({hooks:[{command:`node "${s}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"}),e.PostToolUse=o,t=!0}let n=this.getHookArray(e,"Stop");if(!this.hasHook(n,"stop-hook.js")){let s=i.join(r,"scripts","stop-hook.js").replace(/\\/g,"/");n.push({hooks:[{command:`node "${s}"`,timeout:5,type:"command"}]}),e.Stop=n,t=!0}return t&&(this.writeHooks(e),this.ensureHooksFeatureEnabled()),{ok:!0,method:"file",detail:this.getHooksPath()}}catch(e){return{ok:!1,method:"file",detail:this.getHooksPath(),error:e instanceof Error?e.message:String(e)}}}async uninstallHooks(){try{let e=this.readHooks(),r=["session-start-hook.js","post-tool-hook.js","stop-hook.js"];for(let t of["SessionStart","PostToolUse","Stop"]){let s=this.getHookArray(e,t);e[t]=s.filter(e=>!e.hooks?.some(e=>r.some(r=>e.command?.includes(r))))}return this.writeHooks(e),{ok:!0,method:"file",detail:this.getHooksPath()}}catch(e){return{ok:!1,method:"file",detail:this.getHooksPath(),error:e instanceof Error?e.message:String(e)}}}async isHooksInstalled(){let e=this.readHooks(),r=this.getHookArray(e,"PostToolUse");return this.hasHook(r,"post-tool-hook.js")}async installMcp(e,r={}){let t=this.resolveCommand(),s=["mcp","add",e.name];if(e.env)for(let[r,t]of Object.entries(e.env))s.push("--env",`${r}=${t}`);s.push("--",e.command,...e.args);try{return await this.runCli(t,["mcp","remove",e.name],r.cwd).catch(()=>{}),await this.runCli(t,s,r.cwd),{ok:!0,method:"cli",detail:`${t} ${s.join(" ")}`}}catch(e){return{ok:!1,method:"cli",detail:`${t} ${s.join(" ")}`,error:e instanceof Error?e.message:String(e)}}}async uninstallMcp(e,r={}){let t=this.resolveCommand(),s=["mcp","remove",e];try{return await this.runCli(t,s,r.cwd),{ok:!0,method:"cli",detail:`${t} ${s.join(" ")}`}}catch(e){return{ok:!1,method:"cli",detail:`${t} ${s.join(" ")}`,error:e instanceof Error?e.message:String(e)}}}async isMcpInstalled(e,r={}){let t=this.resolveCommand();try{return await this.runCli(t,["mcp","get",e],r.cwd,5e3),!0}catch{return!1}}async installSkill(e,r){let t=i.join(this.getConfigDir(),"skills",e);try{if(!s.existsSync(r))return{ok:!1,method:"symlink",detail:t,error:`Source skill dir does not exist: ${r}`};s.mkdirSync(i.dirname(t),{recursive:!0});let e=await s.promises.lstat(t).catch(()=>null);if(e)if(!e.isSymbolicLink())return{ok:!1,method:"symlink",detail:t,error:`Refusing to overwrite non-symlink at ${t}`};else{let e=await s.promises.readlink(t);if(i.resolve(e)===i.resolve(r))return{ok:!0,method:"symlink",detail:`${t} → ${r} (already)`};await s.promises.unlink(t)}return await s.promises.symlink(r,t,"dir"),{ok:!0,method:"symlink",detail:`${t} → ${r}`}}catch(e){return{ok:!1,method:"symlink",detail:t,error:e instanceof Error?e.message:String(e)}}}async uninstallSkill(e){let r=i.join(this.getConfigDir(),"skills",e);try{let e=await s.promises.lstat(r).catch(()=>null);if(!e)return{ok:!0,method:"symlink",detail:`${r} (already absent)`};if(!e.isSymbolicLink())return{ok:!1,method:"symlink",detail:r,error:`Refusing to remove non-symlink at ${r}`};return await s.promises.unlink(r),{ok:!0,method:"symlink",detail:r}}catch(e){return{ok:!1,method:"symlink",detail:r,error:e instanceof Error?e.message:String(e)}}}async isSkillInstalled(e,r){let t=i.join(this.getConfigDir(),"skills",e);try{if(!(await s.promises.lstat(t)).isSymbolicLink())return!1;if(!r)return!0;let e=await s.promises.readlink(t),o=i.isAbsolute(e)?e:i.resolve(i.dirname(t),e);return i.resolve(o)===i.resolve(r)}catch{return!1}}async runCli(r,t,s,o=1e4){let{execFile:i}=await e.A(482848),{promisify:n}=await e.A(268548),a=n(i),{stdout:l}=await a(r,t,{cwd:s,timeout:o});return l}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:r}=await e.A(144264),{promisify:t}=await e.A(534777),s=t(r),o=this.resolveCommand(),{stdout:i}=await s(o,["--version"],{timeout:5e3});return i.trim()||null}catch{return null}}async getModels(){return a}getConfigDir(){return i.join(o.homedir(),".codex")}getSettingsPath(){return i.join(this.getConfigDir(),"config.toml")}getSessionsDir(){return i.join(this.getConfigDir(),"sessions")}getApiKeyInfo(){return{envVar:"OPENAI_API_KEY",required:!1}}buildHelloProbeArgs(){return{command:this.resolveCommand(),args:["exec","-"]}}resolveCommand(){return process.env.CODEX_CLI_PATH?process.env.CODEX_CLI_PATH:(0,n.resolveCommandPathSync)("codex")}getHooksPath(){return i.join(this.getConfigDir(),"hooks.json")}readHooks(){try{return JSON.parse(s.readFileSync(this.getHooksPath(),"utf-8")).hooks??{}}catch{return{}}}writeHooks(e){let r=this.getConfigDir();s.existsSync(r)||s.mkdirSync(r,{recursive:!0}),s.writeFileSync(this.getHooksPath(),JSON.stringify({hooks:e},null,2),"utf-8")}ensureHooksFeatureEnabled(){let e=this.getSettingsPath(),r="";try{r=s.readFileSync(e,"utf-8")}catch{}if(/codex_hooks\s*=\s*true/.test(r))return;/\[features\]/.test(r)?r=r.replace(/\[features\]/,"[features]\ncodex_hooks = true"):r+="\n[features]\ncodex_hooks = true\n";let t=this.getConfigDir();s.existsSync(t)||s.mkdirSync(t,{recursive:!0}),s.writeFileSync(e,r,"utf-8")}getHookArray(e,r){let t=e[r];return Array.isArray(t)?t:[]}hasHook(e,r){return e.some(e=>e.hooks?.some(e=>e.command?.includes(r)))}}},models:{cli:["o4-mini","o3","gpt-4.1","gpt-4.1-mini","gpt-4.1-nano","codex-mini-latest"],api:[]}}),l.__providerRegistry=c}let c=l.__providerRegistry;e.s(["providerRegistry",0,c],279711)},932583,e=>{"use strict";var r=e.i(921675),t=e.i(843793);async function s(e,r={}){let o=r.report,i=o?JSON.stringify(o):null;await t.db.providerConnection.upsert({where:{provider:e},create:{provider:e,lastTestedAt:new Date,testOk:!0,version:r.version??null,mcpInstalled:o?.mcp?.ok??!1,hooksInstalled:o?.hooks?.ok??!1,skillsInstalled:o?.skill?.ok??!1,installLog:i},update:{lastTestedAt:new Date,testOk:!0,version:r.version??null,mcpInstalled:o?.mcp?.ok??!1,hooksInstalled:o?.hooks?.ok??!1,skillsInstalled:o?.skill?.ok??!1,installLog:i}})}async function o(e,r={}){await t.db.providerConnection.upsert({where:{provider:e},create:{provider:e,lastTestedAt:new Date,testOk:!1,installLog:r.reason??null},update:{lastTestedAt:new Date,testOk:!1,mcpInstalled:!1,hooksInstalled:!1,skillsInstalled:!1,installLog:r.reason??null}})}async function i(e){let r=await t.db.providerConnection.findUnique({where:{provider:e}});return!!r&&r.testOk&&r.mcpInstalled&&r.hooksInstalled&&r.skillsInstalled}async function n(){return(await t.db.providerConnection.findMany({where:{testOk:!0,mcpInstalled:!0,hooksInstalled:!0,skillsInstalled:!0},select:{provider:!0},orderBy:{provider:"asc"}})).map(e=>e.provider)}async function a(){return t.db.providerConnection.findMany({select:{provider:!0,lastTestedAt:!0,testOk:!0,version:!0,mcpInstalled:!0,hooksInstalled:!0,skillsInstalled:!0,installLog:!0},orderBy:{provider:"asc"}})}(0,e.i(86708).ensureServerEntryExports)([s,o,i,n,a]),(0,r.registerServerReference)(s,"60ff32f68343feef06ebb82a425bbc8e22ed2f43f7",null),(0,r.registerServerReference)(o,"605b0ceb3ef368d6e91f690e22cbcf81dfd078c3dc",null),(0,r.registerServerReference)(i,"40e4fba1c1da8e4383a4cf866e7ab1f4d58634e5ad",null),(0,r.registerServerReference)(n,"00e0f690f4db230a1c2f40af32fc04f9391ca14917",null),(0,r.registerServerReference)(a,"00525db572e8c519e4d8a165a7cdf11e574562604c",null),e.s(["getConnectedProviders",0,n,"isProviderConnected",0,i,"markProviderConnected",0,s,"markProviderDisconnected",0,o])},482848,e=>{e.v(e=>Promise.resolve().then(()=>e(874533)))},268548,e=>{e.v(r=>Promise.all(["server/chunks/[externals]_node_util_0xr.y7p._.js"].map(r=>e.l(r))).then(()=>r(812057)))},144264,e=>{e.v(r=>Promise.all(["server/chunks/[externals]_child_process_0pwkpv9._.js"].map(r=>e.l(r))).then(()=>r(233405)))},534777,e=>{e.v(r=>Promise.all(["server/chunks/[externals]_util_0wtvqkc._.js"].map(r=>e.l(r))).then(()=>r(224361)))}];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__0-eibah._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},980738,(e,t,r)=>{t.exports=e.x("node-pty-c710df912a232c01",()=>require("node-pty-c710df912a232c01"))},433541,e=>e.a(async(t,r)=>{try{let t=await e.y("ws-4df7fc762dfa9a52");e.n(t),r()}catch(e){r(e)}},!0),504446,(e,t,r)=>{t.exports=e.x("net",()=>require("net"))},933919,(e,t,r)=>{t.exports=e.x("@prisma/client-9249dd53ac5b6a44",()=>require("@prisma/client-9249dd53ac5b6a44"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},912714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},192520,e=>{"use strict";let t;var r=e.i(750227),n=e.i(660526),a=e.i(902157);function s(){return t||(t=process.env.TOWER_DATA_DIR||(0,r.join)((0,n.homedir)(),".tower"),(0,a.existsSync)(t)||(0,a.mkdirSync)(t,{recursive:!0})),t}e.s(["getAssistantDir",0,function(){let e=(0,r.join)(s(),"assistant");return(0,a.existsSync)(e)||(0,a.mkdirSync)(e,{recursive:!0}),e},"getBackupsDir",0,function(){let e=(0,r.join)(s(),"backups");return(0,a.existsSync)(e)||(0,a.mkdirSync)(e,{recursive:!0}),e},"getStorageDir",0,function(){let e=(0,r.join)(s(),"storage");return(0,a.existsSync)(e)||(0,a.mkdirSync)(e,{recursive:!0}),e},"getTowerDbPath",0,function(){let e;return(0,r.join)((e=(0,r.join)(s(),"database"),(0,a.existsSync)(e)||(0,a.mkdirSync)(e,{recursive:!0}),e),"tower.db")},"getTowerDir",0,s])},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},482819,(e,t,r)=>{"use strict";t.exports=e.r(583981).vendored["react-rsc"].ReactServerDOMTurbopackServer},921675,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"registerServerReference",{enumerable:!0,get:function(){return n.registerServerReference}});let n=e.r(482819)},86708,(e,t,r)=>{"use strict";function n(e){for(let t=0;t<e.length;t++){let r=e[t];if("function"!=typeof r)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof r}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ensureServerEntryExports",{enumerable:!0,get:function(){return n}})},843793,e=>{"use strict";var t=e.i(933919);let r=globalThis.prisma??new t.PrismaClient({log:[]});process.on("SIGTERM",()=>{r.$disconnect().catch(()=>{})}),process.on("SIGINT",()=>{r.$disconnect().catch(()=>{})}),e.s(["db",0,r])},572173,e=>{"use strict";var t=e.i(843793);async function r(e,r){let n=await t.db.systemConfig.findUnique({where:{key:e}});if(!n)return r;try{return JSON.parse(n.value)}catch{return r}}e.s(["readConfigValue",0,r])},658053,e=>{"use strict";e.s(["ASSISTANT_SESSION_KEY",0,"__assistant__"])},427699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},687769,(e,t,r)=>{t.exports=e.x("node:events",()=>require("node:events"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},899871,(e,t,r)=>{t.exports=e.x("node:string_decoder",()=>require("node:string_decoder"))},449719,(e,t,r)=>{t.exports=e.x("assert",()=>require("assert"))},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},406461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},57328,(e,t,r)=>{t.exports=e.x("node:assert",()=>require("node:assert"))},276534,e=>{"use strict";e.s(["CONFIG_DEFAULTS",0,{"git.pathMappingRules":{defaultValue:[],type:"object",label:"Git Path Mapping Rules"},"system.maxUploadBytes":{defaultValue:0x3200000,type:"number",label:"Max Upload Size (bytes)"},"system.maxConcurrentExecutions":{defaultValue:20,type:"number",label:"Max Concurrent Executions"},"system.maxReadableFileBytes":{defaultValue:5242880,type:"number",label:"Max Readable File Size (bytes)"},"system.backupDir":{defaultValue:"",type:"string",label:"Backup Directory"},"git.timeoutSec":{defaultValue:30,type:"number",label:"Git Operation Timeout (seconds)"},"search.resultLimit":{defaultValue:20,type:"number",label:"Search Result Limit"},"search.allModeCap":{defaultValue:5,type:"number",label:"All-Mode Per-Type Cap"},"search.debounceMs":{defaultValue:250,type:"number",label:"Search Debounce (ms)"},"search.snippetLength":{defaultValue:80,type:"number",label:"Snippet Length (characters)"},"search.codeTimeoutSec":{defaultValue:30,type:"number",label:"Code Search Timeout (seconds)"},"missions.grid.minCols":{defaultValue:1,type:"number",label:"Grid Min Columns"},"missions.grid.maxCols":{defaultValue:5,type:"number",label:"Grid Max Columns"},"missions.grid.minRows":{defaultValue:1,type:"number",label:"Grid Min Rows"},"missions.grid.maxRows":{defaultValue:5,type:"number",label:"Grid Max Rows"},"terminal.app":{defaultValue:"Terminal",type:"string",label:"Default Terminal App"},"terminal.wsPort":{defaultValue:3001,type:"number",label:"WebSocket Port"},"terminal.idleTimeoutSec":{defaultValue:180,type:"number",label:"Idle Timeout (seconds)"},"assistant.systemPrompt":{defaultValue:'You are Tower Assistant — the built-in AI operator for the Tower task management platform.\n\n## Identity\n- You are a task management operator, NOT a coding assistant.\n- You can ONLY use Tower MCP tools. You CANNOT read files, edit code, run shell commands, or search the web.\n- Always respond in the same language the user uses.\n\n## Capabilities\nWhen users ask what you can do, respond with EXACTLY these 6 groups. Translate to the user\'s language.\n\n1. **Workspace & Project** — View, create, update, delete workspaces and projects. Search projects and repositories.\n2. **Task Management** — Create tasks (priority, labels, worktree branch isolation, sub-path, auto-start). Move task status (TODO → IN_PROGRESS → IN_REVIEW → DONE / CANCELLED). Update task info and labels.\n3. **Execution Monitor** — Start task execution, check execution status, get terminal output, send commands to running terminals.\n4. **Daily Report & Todo** — Generate daily work summary (completed + in-progress). View pending task list sorted by priority.\n5. **Labels & Notes & Assets** — Manage workspace labels, project notes, and file attachments.\n6. **Global Search** — Search tasks, projects, repositories, notes, and assets by keyword.\n\nDo NOT list any capabilities beyond the above. Do NOT mention code editing, debugging, testing, git operations, or any development capabilities.\n\n## Scope Boundary\nIf the user asks you to write code, explain code, debug, search the web, read/write files, or anything outside Tower task management, reply:\n"抱歉,我只能帮你管理工作区、项目和任务。编码、调试等操作请在任务终端中完成。"',type:"string",label:"Assistant System Prompt"},"assistant.displayMode":{defaultValue:"sidebar",type:"string",label:"Assistant Display Mode"},"assistant.communicationMode":{defaultValue:"chat",type:"string",label:"Assistant Communication Mode"}}])},61920,e=>{"use strict";var t=e.i(446786),r=e.i(814747);function n(e){return e.startsWith("~/")?r.default.join(t.default.homedir(),e.slice(2)):e}function a(e){let t,r=e.match(/^git@([^:]+):(.+)$/);if(r)return{host:r[1],pathSegments:s(r[2]).split("/").filter(Boolean)};try{t=new URL(e)}catch{return null}return{host:t.hostname,pathSegments:s(decodeURIComponent(t.pathname)).split("/").filter(Boolean)}}function s(e){return e.replace(/\.git\/?$/,"")}e.s(["gitUrlToLocalPath",0,function(e){let t=e.trim();if(!t)return"";try{let e=a(t);if(!e)return"";let{host:s,pathSegments:i}=e;if("code.iflytek.com"===s){let e,t;return n((e=[...i],"osc"===e[0]&&"_source"===e[1]&&(e=e.slice(2)),((t=e.indexOf("-"))>0&&(e=e.slice(0,t)),0===e.length)?"":`~/company/${e.join("/")}`))}if("github.com"===s){var r;let e,t;return n((e=(r=i)[0],t=r[1],e&&t?`${"jp-liu"===e?"~/project/i":"~/project/f"}/${t}`:""))}let o=i[i.length-1];return o?n(`~/project/f/${o}`):""}catch{return""}},"matchGitPathRule",0,function(e,t){if(!t.length)return"";let r=e.trim();if(!r)return"";let s=a(r);if(!s)return"";let{host:i,pathSegments:o}=s,l=o[0]??"",u=o[o.length-1]??"",c=[...t].sort((e,t)=>{let r=+("*"===e.ownerMatch),n=+("*"===t.ownerMatch);return r!==n?r-n:e.priority-t.priority}),d=o.join("/");for(let e of c){if(e.host!==i||"*"!==e.ownerMatch&&e.ownerMatch!==l)continue;let t=e.localPathTemplate;if(t.includes("{path}"))return n(t.replace("{path}",d).replace("{owner}",l).replace("{repo}",u).replace(/\/+$/,""));let r=t.replace("{owner}",l).replace("{repo}","").replace(/\/+$/,"");return n(`${r}/${u}`)}return""}])},22569,e=>e.a(async(t,r)=>{try{var n=e.i(921675),a=e.i(843793),s=e.i(276534),i=e.i(61920),o=e.i(769310),l=e.i(721390),u=e.i(86708),c=t([l]);async function d(e,t){let r=await a.db.systemConfig.findUnique({where:{key:e}});if(!r)return t;try{return JSON.parse(r.value)}catch{return t}}async function p(e,t){await a.db.systemConfig.upsert({where:{key:e},create:{key:e,value:JSON.stringify(t)},update:{value:JSON.stringify(t)}})}async function f(e){let t=e.trim();if(!t)return"";try{let e=await d("git.pathMappingRules",[]),r=(0,i.matchGitPathRule)(t,e);if(r)return r;return(0,i.gitUrlToLocalPath)(t)}catch{return(0,i.gitUrlToLocalPath)(t)}}async function m(e){let t=await a.db.systemConfig.findMany({where:{key:{in:e}}}),r=Object.fromEntries(t.map(e=>{try{return[e.key,JSON.parse(e.value)]}catch{return[e.key,null]}})),n={};for(let t of e)n[t]=t in r?r[t]:s.CONFIG_DEFAULTS[t]?.defaultValue??null;return n}async function y(){return(0,o.detectShells)()}async function b(){return(0,o.detectTerminalApps)()}async function g(){return{platform:process.platform}}async function x(){let e=(0,l.getActiveWsPort)();if(null!==e)return e;let t=parseInt(process.env.PORT||"3000",10);return d("terminal.wsPort",t+1)}[l]=c.then?(await c)():c,(0,u.ensureServerEntryExports)([d,p,f,m,y,b,g,x]),(0,n.registerServerReference)(d,"603d675433978a7ae4d2a59f99c66cf09a54096a83",null),(0,n.registerServerReference)(p,"60a127407a6141b1e1f9d413130a8532fa269d017f",null),(0,n.registerServerReference)(f,"4055716f872485578df87c100e3a288cd6d318f878",null),(0,n.registerServerReference)(m,"4047e57c3424bde0a8e162aaf7d82ede4be397acd2",null),(0,n.registerServerReference)(y,"00fe249d18449838a4d6e1863e9a3380124205aed5",null),(0,n.registerServerReference)(b,"007ec11837fc684b7346d9d3f6f175dd93b63b34e3",null),(0,n.registerServerReference)(g,"00787977199b4a2f5f7ab02306590275a426b70fda",null),(0,n.registerServerReference)(x,"000db8d7997ba5527b37fac70bacf65b4212e12af3",null),e.s(["getConfigValue",0,d]),r()}catch(e){r(e)}},!1)];
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ensureServerEntryExports",{enumerable:!0,get:function(){return n}})},843793,e=>{"use strict";var t=e.i(933919);let r=globalThis.prisma??new t.PrismaClient({log:[]});process.on("SIGTERM",()=>{r.$disconnect().catch(()=>{})}),process.on("SIGINT",()=>{r.$disconnect().catch(()=>{})}),e.s(["db",0,r])},572173,e=>{"use strict";var t=e.i(843793);async function r(e,r){let n=await t.db.systemConfig.findUnique({where:{key:e}});if(!n)return r;try{return JSON.parse(n.value)}catch{return r}}e.s(["readConfigValue",0,r])},658053,e=>{"use strict";e.s(["ASSISTANT_SESSION_KEY",0,"__assistant__"])},427699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},687769,(e,t,r)=>{t.exports=e.x("node:events",()=>require("node:events"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},899871,(e,t,r)=>{t.exports=e.x("node:string_decoder",()=>require("node:string_decoder"))},449719,(e,t,r)=>{t.exports=e.x("assert",()=>require("assert"))},500874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},406461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},57328,(e,t,r)=>{t.exports=e.x("node:assert",()=>require("node:assert"))},276534,e=>{"use strict";e.s(["CONFIG_DEFAULTS",0,{"git.pathMappingRules":{defaultValue:[],type:"object",label:"Git Path Mapping Rules"},"system.maxUploadBytes":{defaultValue:0x3200000,type:"number",label:"Max Upload Size (bytes)"},"system.maxConcurrentExecutions":{defaultValue:20,type:"number",label:"Max Concurrent Executions"},"system.maxReadableFileBytes":{defaultValue:5242880,type:"number",label:"Max Readable File Size (bytes)"},"system.backupDir":{defaultValue:"",type:"string",label:"Backup Directory"},"git.timeoutSec":{defaultValue:30,type:"number",label:"Git Operation Timeout (seconds)"},"search.resultLimit":{defaultValue:20,type:"number",label:"Search Result Limit"},"search.allModeCap":{defaultValue:5,type:"number",label:"All-Mode Per-Type Cap"},"search.debounceMs":{defaultValue:250,type:"number",label:"Search Debounce (ms)"},"search.snippetLength":{defaultValue:80,type:"number",label:"Snippet Length (characters)"},"search.codeTimeoutSec":{defaultValue:30,type:"number",label:"Code Search Timeout (seconds)"},"missions.grid.minCols":{defaultValue:1,type:"number",label:"Grid Min Columns"},"missions.grid.maxCols":{defaultValue:5,type:"number",label:"Grid Max Columns"},"missions.grid.minRows":{defaultValue:1,type:"number",label:"Grid Min Rows"},"missions.grid.maxRows":{defaultValue:5,type:"number",label:"Grid Max Rows"},"terminal.app":{defaultValue:"Terminal",type:"string",label:"Default Terminal App"},"terminal.wsPort":{defaultValue:3001,type:"number",label:"WebSocket Port"},"terminal.idleTimeoutSec":{defaultValue:180,type:"number",label:"Idle Timeout (seconds)"},"assistant.systemPrompt":{defaultValue:'You are Tower Assistant — the built-in AI operator for the Tower task management platform.\n\n## Identity\n- You are a task management operator, NOT a coding assistant.\n- You can ONLY use Tower MCP tools. You CANNOT read files, edit code, run shell commands, or search the web.\n- Always respond in the same language the user uses.\n\n## Capabilities\nWhen users ask what you can do, respond with EXACTLY these 6 groups. Translate to the user\'s language.\n\n1. **Workspace & Project** — View, create, update, delete workspaces and projects. Search projects and repositories.\n2. **Task Management** — Create tasks (priority, labels, worktree branch isolation, sub-path, auto-start). Move task status (TODO → IN_PROGRESS → IN_REVIEW → DONE / CANCELLED). Update task info and labels.\n3. **Execution Monitor** — Start task execution, check execution status, get terminal output, send commands to running terminals.\n4. **Daily Report & Todo** — Generate daily work summary (completed + in-progress). View pending task list sorted by priority.\n5. **Labels & Notes & Assets** — Manage workspace labels, project notes, and file attachments.\n6. **Global Search** — Search tasks, projects, repositories, notes, and assets by keyword.\n\nDo NOT list any capabilities beyond the above. Do NOT mention code editing, debugging, testing, git operations, or any development capabilities.\n\n## Scope Boundary\nIf the user asks you to write code, explain code, debug, search the web, read/write files, or anything outside Tower task management, reply:\n"抱歉,我只能帮你管理工作区、项目和任务。编码、调试等操作请在任务终端中完成。"',type:"string",label:"Assistant System Prompt"},"assistant.displayMode":{defaultValue:"sidebar",type:"string",label:"Assistant Display Mode"},"assistant.communicationMode":{defaultValue:"chat",type:"string",label:"Assistant Communication Mode"}}])},61920,e=>{"use strict";var t=e.i(446786),r=e.i(814747);function n(e){return e.startsWith("~/")?r.default.join(t.default.homedir(),e.slice(2)):e}function a(e){let t,r=e.match(/^git@([^:]+):(.+)$/);if(r)return{host:r[1],pathSegments:s(r[2]).split("/").filter(Boolean)};try{t=new URL(e)}catch{return null}return{host:t.hostname,pathSegments:s(decodeURIComponent(t.pathname)).split("/").filter(Boolean)}}function s(e){return e.replace(/\.git\/?$/,"")}e.s(["gitUrlToLocalPath",0,function(e){let t=e.trim();if(!t)return"";try{let e=a(t);if(!e)return"";let{host:s,pathSegments:i}=e;if("code.iflytek.com"===s){let e,t;return n((e=[...i],"osc"===e[0]&&"_source"===e[1]&&(e=e.slice(2)),((t=e.indexOf("-"))>0&&(e=e.slice(0,t)),0===e.length)?"":`~/company/${e.join("/")}`))}if("github.com"===s){var r;let e,t;return n((e=(r=i)[0],t=r[1],e&&t?`${"jp-liu"===e?"~/project/i":"~/project/f"}/${t}`:""))}let o=i[i.length-1];return o?n(`~/project/f/${o}`):""}catch{return""}},"matchGitPathRule",0,function(e,t){if(!t.length)return"";let r=e.trim();if(!r)return"";let s=a(r);if(!s)return"";let{host:i,pathSegments:o}=s,l=o[0]??"",u=o[o.length-1]??"",c=[...t].sort((e,t)=>{let r=+("*"===e.ownerMatch),n=+("*"===t.ownerMatch);return r!==n?r-n:e.priority-t.priority}),p=o.join("/");for(let e of c){if(e.host!==i||"*"!==e.ownerMatch&&e.ownerMatch!==l)continue;let t=e.localPathTemplate;if(t.includes("{path}"))return n(t.replace("{path}",p).replace("{owner}",l).replace("{repo}",u).replace(/\/+$/,""));let r=t.replace("{owner}",l).replace("{repo}","").replace(/\/+$/,"");return n(`${r}/${u}`)}return""}])},22569,e=>e.a(async(t,r)=>{try{var n=e.i(921675),a=e.i(843793),s=e.i(276534),i=e.i(61920),o=e.i(769310),l=e.i(721390),u=e.i(86708),c=t([l]);async function p(e,t){let r=await a.db.systemConfig.findUnique({where:{key:e}});if(!r)return t;try{return JSON.parse(r.value)}catch{return t}}async function d(e,t){await a.db.systemConfig.upsert({where:{key:e},create:{key:e,value:JSON.stringify(t)},update:{value:JSON.stringify(t)}})}async function f(e){let t=e.trim();if(!t)return"";try{let e=await p("git.pathMappingRules",[]),r=(0,i.matchGitPathRule)(t,e);if(r)return r;return(0,i.gitUrlToLocalPath)(t)}catch{return(0,i.gitUrlToLocalPath)(t)}}async function m(e){let t=await a.db.systemConfig.findMany({where:{key:{in:e}}}),r=Object.fromEntries(t.map(e=>{try{return[e.key,JSON.parse(e.value)]}catch{return[e.key,null]}})),n={};for(let t of e)n[t]=t in r?r[t]:s.CONFIG_DEFAULTS[t]?.defaultValue??null;return n}async function b(){return(0,o.detectShells)()}async function y(){return(0,o.detectTerminalApps)()}async function g(){return{platform:process.platform}}async function x(){let e=(0,l.getActiveWsPort)();if(null!==e)return e;let t=parseInt(process.env.PORT||"3000",10);return p("terminal.wsPort",t+1)}[l]=c.then?(await c)():c,(0,u.ensureServerEntryExports)([p,d,f,m,b,y,g,x]),(0,n.registerServerReference)(p,"6008a463acb60e7be7ed9a47b859b5387bfb1ebccb",null),(0,n.registerServerReference)(d,"60aea0c73d4b02730adfe0f93c2b7144aef300fbe7",null),(0,n.registerServerReference)(f,"40f432bb83d1b77e7429dec7a3b367593e96d45258",null),(0,n.registerServerReference)(m,"40087cad1f2b620d6529fec30f618aa34de928ce74",null),(0,n.registerServerReference)(b,"00fdbc78f08e0146d907de8f6b3906f2d8281b11e6",null),(0,n.registerServerReference)(y,"002f6f5b2fea582b60ae310bc49a6ca7a545917c5b",null),(0,n.registerServerReference)(g,"00226c339b1a1a8e6c25619d4607b3a86078bd8c8f",null),(0,n.registerServerReference)(x,"0066cb0d00ac06929b87f5de43d3692894d555e5f9",null),e.s(["getConfigValue",0,p]),r()}catch(e){r(e)}},!1)];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__0.9mj3v._.js.map
@@ -1,4 +1,4 @@
1
1
  module.exports=[324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},933919,(e,t,r)=>{t.exports=e.x("@prisma/client-9249dd53ac5b6a44",()=>require("@prisma/client-9249dd53ac5b6a44"))},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},980738,(e,t,r)=>{t.exports=e.x("node-pty-c710df912a232c01",()=>require("node-pty-c710df912a232c01"))},433541,e=>e.a(async(t,r)=>{try{let t=await e.y("ws-4df7fc762dfa9a52");e.n(t),r()}catch(e){r(e)}},!0),504446,(e,t,r)=>{t.exports=e.x("net",()=>require("net"))},660526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},192520,e=>{"use strict";let t;var r=e.i(750227),a=e.i(660526),n=e.i(902157);function s(){return t||(t=process.env.TOWER_DATA_DIR||(0,r.join)((0,a.homedir)(),".tower"),(0,n.existsSync)(t)||(0,n.mkdirSync)(t,{recursive:!0})),t}e.s(["getAssistantDir",0,function(){let e=(0,r.join)(s(),"assistant");return(0,n.existsSync)(e)||(0,n.mkdirSync)(e,{recursive:!0}),e},"getBackupsDir",0,function(){let e=(0,r.join)(s(),"backups");return(0,n.existsSync)(e)||(0,n.mkdirSync)(e,{recursive:!0}),e},"getStorageDir",0,function(){let e=(0,r.join)(s(),"storage");return(0,n.existsSync)(e)||(0,n.mkdirSync)(e,{recursive:!0}),e},"getTowerDbPath",0,function(){let e;return(0,r.join)((e=(0,r.join)(s(),"database"),(0,n.existsSync)(e)||(0,n.mkdirSync)(e,{recursive:!0}),e),"tower.db")},"getTowerDir",0,s])},482819,(e,t,r)=>{"use strict";t.exports=e.r(583981).vendored["react-rsc"].ReactServerDOMTurbopackServer},921675,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"registerServerReference",{enumerable:!0,get:function(){return a.registerServerReference}});let a=e.r(482819)},86708,(e,t,r)=>{"use strict";function a(e){for(let t=0;t<e.length;t++){let r=e[t];if("function"!=typeof r)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof r}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ensureServerEntryExports",{enumerable:!0,get:function(){return a}})},843793,e=>{"use strict";var t=e.i(933919);let r=globalThis.prisma??new t.PrismaClient({log:[]});process.on("SIGTERM",()=>{r.$disconnect().catch(()=>{})}),process.on("SIGINT",()=>{r.$disconnect().catch(()=>{})}),e.s(["db",0,r])},572173,e=>{"use strict";var t=e.i(843793);async function r(e,r){let a=await t.db.systemConfig.findUnique({where:{key:e}});if(!a)return r;try{return JSON.parse(a.value)}catch{return r}}e.s(["readConfigValue",0,r])},658053,e=>{"use strict";e.s(["ASSISTANT_SESSION_KEY",0,"__assistant__"])},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},341291,e=>{"use strict";var t=e.i(666680),r=e.i(902157),a=e.i(750227);let n=(0,e.i(192520).getStorageDir)();function s(e){if(!e.startsWith(n+a.sep))throw Error("Path traversal detected")}let i=new Set(["image","screenshot","img","photo","picture","clipboard","paste","untitled"]);e.s(["buildCacheFilename",0,function(e,r){let n=a.basename(e,a.extname(e)),s=t.randomUUID().replace(/-/g,"").slice(0,8),o=n.toLowerCase();if(!n||i.has(o)||/^screenshot[\s_\-]/i.test(n))return`tower_image-${s}${r}`;let l=n.replace(/[^\p{L}\p{N}]/gu,"_").replace(/_+/g,"_").replace(/^_+|_+$/g,"");return`${l||"file"}-${s}${r}`},"ensureAssetsDir",0,function(e){let t,i=(s(t=a.join(n,"assets",e)),t);return r.mkdirSync(i,{recursive:!0}),i},"getAssistantCacheDir",0,function(e="images"){let t=new Date,i=`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}`,o=a.join(n,"cache","assistant",i,e);return s(o),r.mkdirSync(o,{recursive:!0}),o},"getAssistantCacheRoot",0,function(){let e=a.join(n,"cache","assistant");return s(e),e}])},634712,e=>{"use strict";let t=["jpg","jpeg","png","gif","webp"],r=["md","txt","json","csv"],a=[...t,...r].join("|"),n=RegExp(`^\\d{4}-\\d{2}/(images|files)/[^/]+\\.(${a})$`,"i");function s(e){let a=e.replace(/^\./,"").toLowerCase();return t.includes(a)?"image":r.includes(a)?"text":null}[...t.map(e=>`.${e}`),...r.map(e=>`.${e}`),"image/*"].join(","),e.s(["ALLOWED_TEXT_EXTS",0,r,"ATTACHMENT_SUBPATH_RE",0,n,"MAX_ATTACHMENTS",0,10,"classifyAttachmentExt",0,s,"classifyAttachmentSubPath",0,function(e){if(!n.test(e))return null;let t=e.lastIndexOf(".");return t<0?null:s(e.slice(t+1))}])},276534,e=>{"use strict";e.s(["CONFIG_DEFAULTS",0,{"git.pathMappingRules":{defaultValue:[],type:"object",label:"Git Path Mapping Rules"},"system.maxUploadBytes":{defaultValue:0x3200000,type:"number",label:"Max Upload Size (bytes)"},"system.maxConcurrentExecutions":{defaultValue:20,type:"number",label:"Max Concurrent Executions"},"system.maxReadableFileBytes":{defaultValue:5242880,type:"number",label:"Max Readable File Size (bytes)"},"system.backupDir":{defaultValue:"",type:"string",label:"Backup Directory"},"git.timeoutSec":{defaultValue:30,type:"number",label:"Git Operation Timeout (seconds)"},"search.resultLimit":{defaultValue:20,type:"number",label:"Search Result Limit"},"search.allModeCap":{defaultValue:5,type:"number",label:"All-Mode Per-Type Cap"},"search.debounceMs":{defaultValue:250,type:"number",label:"Search Debounce (ms)"},"search.snippetLength":{defaultValue:80,type:"number",label:"Snippet Length (characters)"},"search.codeTimeoutSec":{defaultValue:30,type:"number",label:"Code Search Timeout (seconds)"},"missions.grid.minCols":{defaultValue:1,type:"number",label:"Grid Min Columns"},"missions.grid.maxCols":{defaultValue:5,type:"number",label:"Grid Max Columns"},"missions.grid.minRows":{defaultValue:1,type:"number",label:"Grid Min Rows"},"missions.grid.maxRows":{defaultValue:5,type:"number",label:"Grid Max Rows"},"terminal.app":{defaultValue:"Terminal",type:"string",label:"Default Terminal App"},"terminal.wsPort":{defaultValue:3001,type:"number",label:"WebSocket Port"},"terminal.idleTimeoutSec":{defaultValue:180,type:"number",label:"Idle Timeout (seconds)"},"assistant.systemPrompt":{defaultValue:'You are Tower Assistant — the built-in AI operator for the Tower task management platform.\n\n## Identity\n- You are a task management operator, NOT a coding assistant.\n- You can ONLY use Tower MCP tools. You CANNOT read files, edit code, run shell commands, or search the web.\n- Always respond in the same language the user uses.\n\n## Capabilities\nWhen users ask what you can do, respond with EXACTLY these 6 groups. Translate to the user\'s language.\n\n1. **Workspace & Project** — View, create, update, delete workspaces and projects. Search projects and repositories.\n2. **Task Management** — Create tasks (priority, labels, worktree branch isolation, sub-path, auto-start). Move task status (TODO → IN_PROGRESS → IN_REVIEW → DONE / CANCELLED). Update task info and labels.\n3. **Execution Monitor** — Start task execution, check execution status, get terminal output, send commands to running terminals.\n4. **Daily Report & Todo** — Generate daily work summary (completed + in-progress). View pending task list sorted by priority.\n5. **Labels & Notes & Assets** — Manage workspace labels, project notes, and file attachments.\n6. **Global Search** — Search tasks, projects, repositories, notes, and assets by keyword.\n\nDo NOT list any capabilities beyond the above. Do NOT mention code editing, debugging, testing, git operations, or any development capabilities.\n\n## Scope Boundary\nIf the user asks you to write code, explain code, debug, search the web, read/write files, or anything outside Tower task management, reply:\n"抱歉,我只能帮你管理工作区、项目和任务。编码、调试等操作请在任务终端中完成。"',type:"string",label:"Assistant System Prompt"},"assistant.displayMode":{defaultValue:"sidebar",type:"string",label:"Assistant Display Mode"},"assistant.communicationMode":{defaultValue:"chat",type:"string",label:"Assistant Communication Mode"}}])},61920,e=>{"use strict";var t=e.i(446786),r=e.i(814747);function a(e){return e.startsWith("~/")?r.default.join(t.default.homedir(),e.slice(2)):e}function n(e){let t,r=e.match(/^git@([^:]+):(.+)$/);if(r)return{host:r[1],pathSegments:s(r[2]).split("/").filter(Boolean)};try{t=new URL(e)}catch{return null}return{host:t.hostname,pathSegments:s(decodeURIComponent(t.pathname)).split("/").filter(Boolean)}}function s(e){return e.replace(/\.git\/?$/,"")}e.s(["gitUrlToLocalPath",0,function(e){let t=e.trim();if(!t)return"";try{let e=n(t);if(!e)return"";let{host:s,pathSegments:i}=e;if("code.iflytek.com"===s){let e,t;return a((e=[...i],"osc"===e[0]&&"_source"===e[1]&&(e=e.slice(2)),((t=e.indexOf("-"))>0&&(e=e.slice(0,t)),0===e.length)?"":`~/company/${e.join("/")}`))}if("github.com"===s){var r;let e,t;return a((e=(r=i)[0],t=r[1],e&&t?`${"jp-liu"===e?"~/project/i":"~/project/f"}/${t}`:""))}let o=i[i.length-1];return o?a(`~/project/f/${o}`):""}catch{return""}},"matchGitPathRule",0,function(e,t){if(!t.length)return"";let r=e.trim();if(!r)return"";let s=n(r);if(!s)return"";let{host:i,pathSegments:o}=s,l=o[0]??"",u=o[o.length-1]??"",c=[...t].sort((e,t)=>{let r=+("*"===e.ownerMatch),a=+("*"===t.ownerMatch);return r!==a?r-a:e.priority-t.priority}),d=o.join("/");for(let e of c){if(e.host!==i||"*"!==e.ownerMatch&&e.ownerMatch!==l)continue;let t=e.localPathTemplate;if(t.includes("{path}"))return a(t.replace("{path}",d).replace("{owner}",l).replace("{repo}",u).replace(/\/+$/,""));let r=t.replace("{owner}",l).replace("{repo}","").replace(/\/+$/,"");return a(`${r}/${u}`)}return""}])},22569,e=>e.a(async(t,r)=>{try{var a=e.i(921675),n=e.i(843793),s=e.i(276534),i=e.i(61920),o=e.i(769310),l=e.i(721390),u=e.i(86708),c=t([l]);async function d(e,t){let r=await n.db.systemConfig.findUnique({where:{key:e}});if(!r)return t;try{return JSON.parse(r.value)}catch{return t}}async function p(e,t){await n.db.systemConfig.upsert({where:{key:e},create:{key:e,value:JSON.stringify(t)},update:{value:JSON.stringify(t)}})}async function f(e){let t=e.trim();if(!t)return"";try{let e=await d("git.pathMappingRules",[]),r=(0,i.matchGitPathRule)(t,e);if(r)return r;return(0,i.gitUrlToLocalPath)(t)}catch{return(0,i.gitUrlToLocalPath)(t)}}async function m(e){let t=await n.db.systemConfig.findMany({where:{key:{in:e}}}),r=Object.fromEntries(t.map(e=>{try{return[e.key,JSON.parse(e.value)]}catch{return[e.key,null]}})),a={};for(let t of e)a[t]=t in r?r[t]:s.CONFIG_DEFAULTS[t]?.defaultValue??null;return a}async function h(){return(0,o.detectShells)()}async function g(){return(0,o.detectTerminalApps)()}async function y(){return{platform:process.platform}}async function b(){let e=(0,l.getActiveWsPort)();if(null!==e)return e;let t=parseInt(process.env.PORT||"3000",10);return d("terminal.wsPort",t+1)}[l]=c.then?(await c)():c,(0,u.ensureServerEntryExports)([d,p,f,m,h,g,y,b]),(0,a.registerServerReference)(d,"603d675433978a7ae4d2a59f99c66cf09a54096a83",null),(0,a.registerServerReference)(p,"60a127407a6141b1e1f9d413130a8532fa269d017f",null),(0,a.registerServerReference)(f,"4055716f872485578df87c100e3a288cd6d318f878",null),(0,a.registerServerReference)(m,"4047e57c3424bde0a8e162aaf7d82ede4be397acd2",null),(0,a.registerServerReference)(h,"00fe249d18449838a4d6e1863e9a3380124205aed5",null),(0,a.registerServerReference)(g,"007ec11837fc684b7346d9d3f6f175dd93b63b34e3",null),(0,a.registerServerReference)(y,"00787977199b4a2f5f7ab02306590275a426b70fda",null),(0,a.registerServerReference)(b,"000db8d7997ba5527b37fac70bacf65b4212e12af3",null),e.s(["getConfigValue",0,d]),r()}catch(e){r(e)}},!1),437513,e=>{"use strict";let t=[{mime:"image/jpeg",check:e=>255===e[0]&&216===e[1]&&255===e[2]},{mime:"image/png",check:e=>137===e[0]&&80===e[1]&&78===e[2]&&71===e[3]},{mime:"image/gif",check:e=>71===e[0]&&73===e[1]&&70===e[2]},{mime:"image/webp",check:e=>82===e[0]&&73===e[1]&&70===e[2]&&70===e[3]&&87===e[8]&&69===e[9]&&66===e[10]&&80===e[11]}];e.s(["MIME_TO_EXT",0,{"image/jpeg":".jpg","image/png":".png","image/gif":".gif","image/webp":".webp"},"TEXT_EXT_TO_MIME",0,{".md":"text/markdown",".txt":"text/plain",".json":"application/json",".csv":"text/csv"},"detectImageMime",0,function(e){if(e.length<12)return null;for(let r of t)if(r.check(e))return r.mime;return null},"isLikelyTextFile",0,function(e){if(0===e.length)return!0;let t=Math.min(e.length,8192);for(let r=0;r<t;r++)if(0===e[r])return!1;return!0}])},648834,e=>e.a(async(t,r)=>{try{var a=e.i(750227),n=e.i(902157),s=e.i(855104),i=e.i(198840),o=e.i(437513),l=e.i(341291),u=e.i(22569),c=e.i(634712),d=t([u]);async function p(e){let t,r,d,p=(0,i.requireLocalhost)(e);if(p)return p;let f=(await e.formData()).get("file");if(!f)return s.NextResponse.json({error:"Missing file field"},{status:400});let m=await (0,u.getConfigValue)("system.maxUploadBytes",0x3200000);if(f.size>m)return s.NextResponse.json({error:"File too large"},{status:400});let h=Buffer.from(await f.arrayBuffer()),g=a.extname(f.name),y=(0,c.classifyAttachmentExt)(g);if(!y)return s.NextResponse.json({error:"Unsupported file type"},{status:400});if("image"===y){let e=(0,o.detectImageMime)(h);if(!e)return s.NextResponse.json({error:"Invalid image content"},{status:400});r=e,t=o.MIME_TO_EXT[e],d=(0,l.getAssistantCacheDir)("images")}else{if(!(0,o.isLikelyTextFile)(h))return s.NextResponse.json({error:"File appears to be binary, not text"},{status:400});let e=g.toLowerCase();if(!c.ALLOWED_TEXT_EXTS.includes(e.replace(/^\./,"")))return s.NextResponse.json({error:"Unsupported text type"},{status:400});t=e,r=o.TEXT_EXT_TO_MIME[e]??"text/plain",d=(0,l.getAssistantCacheDir)("files")}let b=(0,l.buildCacheFilename)(f.name,t),x=a.join(d,b);if(!x.startsWith(d+a.sep)&&x!==d)return s.NextResponse.json({error:"Invalid path"},{status:400});await n.promises.writeFile(x,h);let v=a.relative((0,l.getAssistantCacheRoot)(),x);return s.NextResponse.json({filename:v,mimeType:r,kind:y})}[u]=d.then?(await d)():d,e.s(["POST",0,p,"dynamic",0,"force-dynamic","runtime",0,"nodejs"]),r()}catch(e){r(e)}},!1),122166,e=>e.a(async(t,r)=>{try{var a=e.i(765876),n=e.i(675896),s=e.i(959160),i=e.i(97944),o=e.i(86757),l=e.i(204144),u=e.i(273436),c=e.i(743641),d=e.i(813766),p=e.i(840884),f=e.i(498814),m=e.i(780006),h=e.i(544432),g=e.i(772005),y=e.i(450223),b=e.i(193695);e.i(628400);var x=e.i(800071),v=e.i(648834),w=t([v]);[v]=w.then?(await w)():w;let S=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/internal/assistant/attachments/route",pathname:"/api/internal/assistant/attachments",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/internal/assistant/attachments/route.ts",nextConfigOutput:"standalone",userland:v}),{workAsyncStorage:T,workUnitAsyncStorage:E,serverHooks:C}=S;async function R(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),S.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/internal/assistant/attachments/route";a=a.replace(/\/index$/,"")||"/";let s=await S.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:v,params:w,nextConfig:R,parsedUrl:T,isDraftMode:E,prerenderManifest:C,routerServerContext:A,isOnDemandRevalidate:_,revalidateOnlyGenerated:j,resolvedPathname:k,clientReferenceManifest:M,serverActionsManifest:O}=s,N=(0,u.normalizeAppPath)(a),P=!!(C.dynamicRoutes[N]||C.routes[k]),D=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,T,!1):t.end("This page could not be found"),null);if(P&&!E){let e=!!C.routes[k],t=C.dynamicRoutes[N];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await D();throw new b.NoFallbackError}}let I=null;!P||S.isDev||E||(I=k,I="/index"===I?"/":I);let q=!0===S.isDev||!P,U=P&&!q;O&&M&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:M,serverActionsManifest:O});let $=e.method||"GET",L=(0,o.getTracer)(),V=L.getActiveScopeSpan(),F=!!(null==A?void 0:A.isWrappedByNextServer),H=!!(0,i.getRequestMeta)(e,"minimalMode"),G=(0,i.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,R,C,H);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let B={params:w,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:q,incrementalCache:G,cacheLifeProfiles:R.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>S.onRequestError(e,t,a,n,A)},sharedContext:{buildId:v}},X=new c.NodeNextRequest(e),W=new c.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest(X,(0,d.signalFromNodeResponse)(t));try{let s,i=async e=>S.handle(K,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${$} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",n),s.updateName(t))}else e.updateName(`${$} ${a}`)}),l=async s=>{var o,l;let u=async({previousCacheEntry:n})=>{try{if(!H&&_&&j&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(s);e.fetchMetrics=B.renderOpts.fetchMetrics;let o=B.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=B.renderOpts.collectedTags;if(!P)return await (0,m.sendResponse)(X,W,a,B.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[y.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,n=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:_})},!1,A),t}},c=await S.handleResponse({req:e,nextConfig:R,cacheKey:I,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:j,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:H});if(!P)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});H||t.setHeader("x-nextjs-cache",_?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return H&&P||d.delete(y.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,m.sendResponse)(X,W,new Response(c.value.body,{headers:d,status:c.value.status||200})),null};F&&V?await l(V):(s=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.trace(p.BaseServerSpan.handleRequest,{spanName:`${$} ${a}`,kind:o.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},l),void 0,!F))}catch(t){if(t instanceof b.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:_})},!1,A),P)throw t;return await (0,m.sendResponse)(X,W,new Response(null,{status:500})),null}}e.s(["handler",0,R,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:E})},"routeModule",0,S,"serverHooks",0,C,"workAsyncStorage",0,T,"workUnitAsyncStorage",0,E]),r()}catch(e){r(e)}},!1)];
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ensureServerEntryExports",{enumerable:!0,get:function(){return a}})},843793,e=>{"use strict";var t=e.i(933919);let r=globalThis.prisma??new t.PrismaClient({log:[]});process.on("SIGTERM",()=>{r.$disconnect().catch(()=>{})}),process.on("SIGINT",()=>{r.$disconnect().catch(()=>{})}),e.s(["db",0,r])},572173,e=>{"use strict";var t=e.i(843793);async function r(e,r){let a=await t.db.systemConfig.findUnique({where:{key:e}});if(!a)return r;try{return JSON.parse(a.value)}catch{return r}}e.s(["readConfigValue",0,r])},658053,e=>{"use strict";e.s(["ASSISTANT_SESSION_KEY",0,"__assistant__"])},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},341291,e=>{"use strict";var t=e.i(666680),r=e.i(902157),a=e.i(750227);let n=(0,e.i(192520).getStorageDir)();function s(e){if(!e.startsWith(n+a.sep))throw Error("Path traversal detected")}let i=new Set(["image","screenshot","img","photo","picture","clipboard","paste","untitled"]);e.s(["buildCacheFilename",0,function(e,r){let n=a.basename(e,a.extname(e)),s=t.randomUUID().replace(/-/g,"").slice(0,8),o=n.toLowerCase();if(!n||i.has(o)||/^screenshot[\s_\-]/i.test(n))return`tower_image-${s}${r}`;let l=n.replace(/[^\p{L}\p{N}]/gu,"_").replace(/_+/g,"_").replace(/^_+|_+$/g,"");return`${l||"file"}-${s}${r}`},"ensureAssetsDir",0,function(e){let t,i=(s(t=a.join(n,"assets",e)),t);return r.mkdirSync(i,{recursive:!0}),i},"getAssistantCacheDir",0,function(e="images"){let t=new Date,i=`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}`,o=a.join(n,"cache","assistant",i,e);return s(o),r.mkdirSync(o,{recursive:!0}),o},"getAssistantCacheRoot",0,function(){let e=a.join(n,"cache","assistant");return s(e),e}])},634712,e=>{"use strict";let t=["jpg","jpeg","png","gif","webp"],r=["md","txt","json","csv"],a=[...t,...r].join("|"),n=RegExp(`^\\d{4}-\\d{2}/(images|files)/[^/]+\\.(${a})$`,"i");function s(e){let a=e.replace(/^\./,"").toLowerCase();return t.includes(a)?"image":r.includes(a)?"text":null}[...t.map(e=>`.${e}`),...r.map(e=>`.${e}`),"image/*"].join(","),e.s(["ALLOWED_TEXT_EXTS",0,r,"ATTACHMENT_SUBPATH_RE",0,n,"MAX_ATTACHMENTS",0,10,"classifyAttachmentExt",0,s,"classifyAttachmentSubPath",0,function(e){if(!n.test(e))return null;let t=e.lastIndexOf(".");return t<0?null:s(e.slice(t+1))}])},276534,e=>{"use strict";e.s(["CONFIG_DEFAULTS",0,{"git.pathMappingRules":{defaultValue:[],type:"object",label:"Git Path Mapping Rules"},"system.maxUploadBytes":{defaultValue:0x3200000,type:"number",label:"Max Upload Size (bytes)"},"system.maxConcurrentExecutions":{defaultValue:20,type:"number",label:"Max Concurrent Executions"},"system.maxReadableFileBytes":{defaultValue:5242880,type:"number",label:"Max Readable File Size (bytes)"},"system.backupDir":{defaultValue:"",type:"string",label:"Backup Directory"},"git.timeoutSec":{defaultValue:30,type:"number",label:"Git Operation Timeout (seconds)"},"search.resultLimit":{defaultValue:20,type:"number",label:"Search Result Limit"},"search.allModeCap":{defaultValue:5,type:"number",label:"All-Mode Per-Type Cap"},"search.debounceMs":{defaultValue:250,type:"number",label:"Search Debounce (ms)"},"search.snippetLength":{defaultValue:80,type:"number",label:"Snippet Length (characters)"},"search.codeTimeoutSec":{defaultValue:30,type:"number",label:"Code Search Timeout (seconds)"},"missions.grid.minCols":{defaultValue:1,type:"number",label:"Grid Min Columns"},"missions.grid.maxCols":{defaultValue:5,type:"number",label:"Grid Max Columns"},"missions.grid.minRows":{defaultValue:1,type:"number",label:"Grid Min Rows"},"missions.grid.maxRows":{defaultValue:5,type:"number",label:"Grid Max Rows"},"terminal.app":{defaultValue:"Terminal",type:"string",label:"Default Terminal App"},"terminal.wsPort":{defaultValue:3001,type:"number",label:"WebSocket Port"},"terminal.idleTimeoutSec":{defaultValue:180,type:"number",label:"Idle Timeout (seconds)"},"assistant.systemPrompt":{defaultValue:'You are Tower Assistant — the built-in AI operator for the Tower task management platform.\n\n## Identity\n- You are a task management operator, NOT a coding assistant.\n- You can ONLY use Tower MCP tools. You CANNOT read files, edit code, run shell commands, or search the web.\n- Always respond in the same language the user uses.\n\n## Capabilities\nWhen users ask what you can do, respond with EXACTLY these 6 groups. Translate to the user\'s language.\n\n1. **Workspace & Project** — View, create, update, delete workspaces and projects. Search projects and repositories.\n2. **Task Management** — Create tasks (priority, labels, worktree branch isolation, sub-path, auto-start). Move task status (TODO → IN_PROGRESS → IN_REVIEW → DONE / CANCELLED). Update task info and labels.\n3. **Execution Monitor** — Start task execution, check execution status, get terminal output, send commands to running terminals.\n4. **Daily Report & Todo** — Generate daily work summary (completed + in-progress). View pending task list sorted by priority.\n5. **Labels & Notes & Assets** — Manage workspace labels, project notes, and file attachments.\n6. **Global Search** — Search tasks, projects, repositories, notes, and assets by keyword.\n\nDo NOT list any capabilities beyond the above. Do NOT mention code editing, debugging, testing, git operations, or any development capabilities.\n\n## Scope Boundary\nIf the user asks you to write code, explain code, debug, search the web, read/write files, or anything outside Tower task management, reply:\n"抱歉,我只能帮你管理工作区、项目和任务。编码、调试等操作请在任务终端中完成。"',type:"string",label:"Assistant System Prompt"},"assistant.displayMode":{defaultValue:"sidebar",type:"string",label:"Assistant Display Mode"},"assistant.communicationMode":{defaultValue:"chat",type:"string",label:"Assistant Communication Mode"}}])},61920,e=>{"use strict";var t=e.i(446786),r=e.i(814747);function a(e){return e.startsWith("~/")?r.default.join(t.default.homedir(),e.slice(2)):e}function n(e){let t,r=e.match(/^git@([^:]+):(.+)$/);if(r)return{host:r[1],pathSegments:s(r[2]).split("/").filter(Boolean)};try{t=new URL(e)}catch{return null}return{host:t.hostname,pathSegments:s(decodeURIComponent(t.pathname)).split("/").filter(Boolean)}}function s(e){return e.replace(/\.git\/?$/,"")}e.s(["gitUrlToLocalPath",0,function(e){let t=e.trim();if(!t)return"";try{let e=n(t);if(!e)return"";let{host:s,pathSegments:i}=e;if("code.iflytek.com"===s){let e,t;return a((e=[...i],"osc"===e[0]&&"_source"===e[1]&&(e=e.slice(2)),((t=e.indexOf("-"))>0&&(e=e.slice(0,t)),0===e.length)?"":`~/company/${e.join("/")}`))}if("github.com"===s){var r;let e,t;return a((e=(r=i)[0],t=r[1],e&&t?`${"jp-liu"===e?"~/project/i":"~/project/f"}/${t}`:""))}let o=i[i.length-1];return o?a(`~/project/f/${o}`):""}catch{return""}},"matchGitPathRule",0,function(e,t){if(!t.length)return"";let r=e.trim();if(!r)return"";let s=n(r);if(!s)return"";let{host:i,pathSegments:o}=s,l=o[0]??"",u=o[o.length-1]??"",c=[...t].sort((e,t)=>{let r=+("*"===e.ownerMatch),a=+("*"===t.ownerMatch);return r!==a?r-a:e.priority-t.priority}),p=o.join("/");for(let e of c){if(e.host!==i||"*"!==e.ownerMatch&&e.ownerMatch!==l)continue;let t=e.localPathTemplate;if(t.includes("{path}"))return a(t.replace("{path}",p).replace("{owner}",l).replace("{repo}",u).replace(/\/+$/,""));let r=t.replace("{owner}",l).replace("{repo}","").replace(/\/+$/,"");return a(`${r}/${u}`)}return""}])},22569,e=>e.a(async(t,r)=>{try{var a=e.i(921675),n=e.i(843793),s=e.i(276534),i=e.i(61920),o=e.i(769310),l=e.i(721390),u=e.i(86708),c=t([l]);async function p(e,t){let r=await n.db.systemConfig.findUnique({where:{key:e}});if(!r)return t;try{return JSON.parse(r.value)}catch{return t}}async function d(e,t){await n.db.systemConfig.upsert({where:{key:e},create:{key:e,value:JSON.stringify(t)},update:{value:JSON.stringify(t)}})}async function f(e){let t=e.trim();if(!t)return"";try{let e=await p("git.pathMappingRules",[]),r=(0,i.matchGitPathRule)(t,e);if(r)return r;return(0,i.gitUrlToLocalPath)(t)}catch{return(0,i.gitUrlToLocalPath)(t)}}async function m(e){let t=await n.db.systemConfig.findMany({where:{key:{in:e}}}),r=Object.fromEntries(t.map(e=>{try{return[e.key,JSON.parse(e.value)]}catch{return[e.key,null]}})),a={};for(let t of e)a[t]=t in r?r[t]:s.CONFIG_DEFAULTS[t]?.defaultValue??null;return a}async function h(){return(0,o.detectShells)()}async function g(){return(0,o.detectTerminalApps)()}async function y(){return{platform:process.platform}}async function b(){let e=(0,l.getActiveWsPort)();if(null!==e)return e;let t=parseInt(process.env.PORT||"3000",10);return p("terminal.wsPort",t+1)}[l]=c.then?(await c)():c,(0,u.ensureServerEntryExports)([p,d,f,m,h,g,y,b]),(0,a.registerServerReference)(p,"6008a463acb60e7be7ed9a47b859b5387bfb1ebccb",null),(0,a.registerServerReference)(d,"60aea0c73d4b02730adfe0f93c2b7144aef300fbe7",null),(0,a.registerServerReference)(f,"40f432bb83d1b77e7429dec7a3b367593e96d45258",null),(0,a.registerServerReference)(m,"40087cad1f2b620d6529fec30f618aa34de928ce74",null),(0,a.registerServerReference)(h,"00fdbc78f08e0146d907de8f6b3906f2d8281b11e6",null),(0,a.registerServerReference)(g,"002f6f5b2fea582b60ae310bc49a6ca7a545917c5b",null),(0,a.registerServerReference)(y,"00226c339b1a1a8e6c25619d4607b3a86078bd8c8f",null),(0,a.registerServerReference)(b,"0066cb0d00ac06929b87f5de43d3692894d555e5f9",null),e.s(["getConfigValue",0,p]),r()}catch(e){r(e)}},!1),437513,e=>{"use strict";let t=[{mime:"image/jpeg",check:e=>255===e[0]&&216===e[1]&&255===e[2]},{mime:"image/png",check:e=>137===e[0]&&80===e[1]&&78===e[2]&&71===e[3]},{mime:"image/gif",check:e=>71===e[0]&&73===e[1]&&70===e[2]},{mime:"image/webp",check:e=>82===e[0]&&73===e[1]&&70===e[2]&&70===e[3]&&87===e[8]&&69===e[9]&&66===e[10]&&80===e[11]}];e.s(["MIME_TO_EXT",0,{"image/jpeg":".jpg","image/png":".png","image/gif":".gif","image/webp":".webp"},"TEXT_EXT_TO_MIME",0,{".md":"text/markdown",".txt":"text/plain",".json":"application/json",".csv":"text/csv"},"detectImageMime",0,function(e){if(e.length<12)return null;for(let r of t)if(r.check(e))return r.mime;return null},"isLikelyTextFile",0,function(e){if(0===e.length)return!0;let t=Math.min(e.length,8192);for(let r=0;r<t;r++)if(0===e[r])return!1;return!0}])},648834,e=>e.a(async(t,r)=>{try{var a=e.i(750227),n=e.i(902157),s=e.i(855104),i=e.i(198840),o=e.i(437513),l=e.i(341291),u=e.i(22569),c=e.i(634712),p=t([u]);async function d(e){let t,r,p,d=(0,i.requireLocalhost)(e);if(d)return d;let f=(await e.formData()).get("file");if(!f)return s.NextResponse.json({error:"Missing file field"},{status:400});let m=await (0,u.getConfigValue)("system.maxUploadBytes",0x3200000);if(f.size>m)return s.NextResponse.json({error:"File too large"},{status:400});let h=Buffer.from(await f.arrayBuffer()),g=a.extname(f.name),y=(0,c.classifyAttachmentExt)(g);if(!y)return s.NextResponse.json({error:"Unsupported file type"},{status:400});if("image"===y){let e=(0,o.detectImageMime)(h);if(!e)return s.NextResponse.json({error:"Invalid image content"},{status:400});r=e,t=o.MIME_TO_EXT[e],p=(0,l.getAssistantCacheDir)("images")}else{if(!(0,o.isLikelyTextFile)(h))return s.NextResponse.json({error:"File appears to be binary, not text"},{status:400});let e=g.toLowerCase();if(!c.ALLOWED_TEXT_EXTS.includes(e.replace(/^\./,"")))return s.NextResponse.json({error:"Unsupported text type"},{status:400});t=e,r=o.TEXT_EXT_TO_MIME[e]??"text/plain",p=(0,l.getAssistantCacheDir)("files")}let b=(0,l.buildCacheFilename)(f.name,t),x=a.join(p,b);if(!x.startsWith(p+a.sep)&&x!==p)return s.NextResponse.json({error:"Invalid path"},{status:400});await n.promises.writeFile(x,h);let v=a.relative((0,l.getAssistantCacheRoot)(),x);return s.NextResponse.json({filename:v,mimeType:r,kind:y})}[u]=p.then?(await p)():p,e.s(["POST",0,d,"dynamic",0,"force-dynamic","runtime",0,"nodejs"]),r()}catch(e){r(e)}},!1),122166,e=>e.a(async(t,r)=>{try{var a=e.i(765876),n=e.i(675896),s=e.i(959160),i=e.i(97944),o=e.i(86757),l=e.i(204144),u=e.i(273436),c=e.i(743641),p=e.i(813766),d=e.i(840884),f=e.i(498814),m=e.i(780006),h=e.i(544432),g=e.i(772005),y=e.i(450223),b=e.i(193695);e.i(628400);var x=e.i(800071),v=e.i(648834),w=t([v]);[v]=w.then?(await w)():w;let S=new a.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/internal/assistant/attachments/route",pathname:"/api/internal/assistant/attachments",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/internal/assistant/attachments/route.ts",nextConfigOutput:"standalone",userland:v}),{workAsyncStorage:T,workUnitAsyncStorage:E,serverHooks:C}=S;async function R(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),S.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let a="/api/internal/assistant/attachments/route";a=a.replace(/\/index$/,"")||"/";let s=await S.prepare(e,t,{srcPage:a,multiZoneDraftMode:!1});if(!s)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:v,params:w,nextConfig:R,parsedUrl:T,isDraftMode:E,prerenderManifest:C,routerServerContext:A,isOnDemandRevalidate:_,revalidateOnlyGenerated:j,resolvedPathname:k,clientReferenceManifest:M,serverActionsManifest:O}=s,N=(0,u.normalizeAppPath)(a),P=!!(C.dynamicRoutes[N]||C.routes[k]),D=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,T,!1):t.end("This page could not be found"),null);if(P&&!E){let e=!!C.routes[k],t=C.dynamicRoutes[N];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await D();throw new b.NoFallbackError}}let I=null;!P||S.isDev||E||(I=k,I="/index"===I?"/":I);let q=!0===S.isDev||!P,U=P&&!q;O&&M&&(0,l.setManifestsSingleton)({page:a,clientReferenceManifest:M,serverActionsManifest:O});let $=e.method||"GET",L=(0,o.getTracer)(),V=L.getActiveScopeSpan(),F=!!(null==A?void 0:A.isWrappedByNextServer),H=!!(0,i.getRequestMeta)(e,"minimalMode"),G=(0,i.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,R,C,H);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let B={params:w,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:q,incrementalCache:G,cacheLifeProfiles:R.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>S.onRequestError(e,t,a,n,A)},sharedContext:{buildId:v}},X=new c.NodeNextRequest(e),W=new c.NodeNextResponse(t),K=p.NextRequestAdapter.fromNodeNextRequest(X,(0,p.signalFromNodeResponse)(t));try{let s,i=async e=>S.handle(K,B).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${$} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",n),s.updateName(t))}else e.updateName(`${$} ${a}`)}),l=async s=>{var o,l;let u=async({previousCacheEntry:n})=>{try{if(!H&&_&&j&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(s);e.fetchMetrics=B.renderOpts.fetchMetrics;let o=B.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=B.renderOpts.collectedTags;if(!P)return await (0,m.sendResponse)(X,W,a,B.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[y.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,n=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:B.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==n?void 0:n.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:a,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:_})},!1,A),t}},c=await S.handleResponse({req:e,nextConfig:R,cacheKey:I,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:j,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:H});if(!P)return null;if((null==c||null==(o=c.value)?void 0:o.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});H||t.setHeader("x-nextjs-cache",_?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let p=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return H&&P||p.delete(y.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||p.get("Cache-Control")||p.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,m.sendResponse)(X,W,new Response(c.value.body,{headers:p,status:c.value.status||200})),null};F&&V?await l(V):(s=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.trace(d.BaseServerSpan.handleRequest,{spanName:`${$} ${a}`,kind:o.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},l),void 0,!F))}catch(t){if(t instanceof b.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,f.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:_})},!1,A),P)throw t;return await (0,m.sendResponse)(X,W,new Response(null,{status:500})),null}}e.s(["handler",0,R,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:E})},"routeModule",0,S,"serverHooks",0,C,"workAsyncStorage",0,T,"workUnitAsyncStorage",0,E]),r()}catch(e){r(e)}},!1)];
3
3
 
4
4
  //# sourceMappingURL=%5Broot-of-the-server%5D__05353yb._.js.map