tower-studio 0.2.16 → 0.2.18
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.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +24 -24
- package/.next/standalone/.next/server/app/_not-found/page.js +5 -5
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +14 -14
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +9 -9
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/api/adapters/test/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/browse-fs/route.js +1 -1
- package/.next/standalone/.next/server/app/api/browse-fs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/files/assets/[projectId]/[filename]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/git/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assets/reveal/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assistant/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/backup/import/route.js +1 -1
- package/.next/standalone/.next/server/app/api/internal/backup/import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/cache/[...segments]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/hooks/install/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/hooks/stop/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/hooks/upload/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/monaco/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/input/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +14 -14
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +9 -9
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/missions/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/missions/page/server-reference-manifest.json +61 -61
- package/.next/standalone/.next/server/app/missions/page.js +7 -7
- package/.next/standalone/.next/server/app/missions/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/onboarding/page/server-reference-manifest.json +24 -24
- package/.next/standalone/.next/server/app/onboarding/page.js +5 -5
- package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding.html +1 -1
- package/.next/standalone/.next/server/app/onboarding.rsc +16 -16
- package/.next/standalone/.next/server/app/onboarding.segments/_full.segment.rsc +16 -16
- package/.next/standalone/.next/server/app/onboarding.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/onboarding.segments/_index.segment.rsc +9 -9
- package/.next/standalone/.next/server/app/onboarding.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/onboarding.segments/onboarding.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +24 -24
- package/.next/standalone/.next/server/app/page.js +5 -5
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +51 -39
- package/.next/standalone/.next/server/app/settings/page.js +6 -6
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +16 -16
- package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +16 -16
- package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +9 -9
- package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings.segments/settings.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +166 -130
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js +6 -6
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +162 -114
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js +6 -6
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +54 -54
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js +5 -5
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +144 -108
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js +6 -6
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +24 -24
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js +6 -6
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/server-reference-manifest.json +130 -94
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js +6 -6
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +100 -76
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js +8 -8
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/page/server-reference-manifest.json +40 -40
- package/.next/standalone/.next/server/app/workspaces/page.js +5 -5
- package/.next/standalone/.next/server/app/workspaces/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0hrprmi.js +2 -2
- package/.next/standalone/.next/server/chunks/[externals]__0m5smhl._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-0gs-6._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__03j20vp._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__05se6yk._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__06m1r8x._.js +4 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__09p152b._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0_6swdz._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b-ib~7._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0gmwjkc._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o3ggen._.js +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0.0.jeg._.js → [root-of-the-server]__0sy6lau._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wuzc5o._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~rm9q.._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__12c9noi._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_0bkvm8c._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_0aowbzy._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/0iu._[workspaceId]_projects_[projectId]_versions_version-timeline-client_tsx_07o_kyi._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{0ws9_lucide-react_dist_esm_icons_0dv2bel._.js → 0ws9_lucide-react_dist_esm_icons_0odx0ph._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_10.d8~a._.js → 0yzm_fuse_js_dist_fuse_mjs_0t4upxy._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__09n4g~p._.js → [root-of-the-server]__01vzmbg._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__06.muv_._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0-pzjth._.js → [root-of-the-server]__06lecy.._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__083ia54._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0qy_98o._.js → [root-of-the-server]__0_0box3._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ad6qqx._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0vx7inx._.js → [root-of-the-server]__0b~c--d._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0cylhkc._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0edxb4j._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0o4yodb._.js → [root-of-the-server]__0eql-bn._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__13i_x1.._.js → [root-of-the-server]__0fvk61p._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0s9retv._.js → [root-of-the-server]__0hv-2bi._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0hvqdy.._.js +47 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0jg4u05._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__08g-39i._.js → [root-of-the-server]__0jvh8f3._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0k.hmw2._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0wabw~r._.js → [root-of-the-server]__0lxcgi4._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__063j5j2._.js → [root-of-the-server]__0p4-t7d._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0lhroxu._.js → [root-of-the-server]__0p_3kgh._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__057bwkf._.js → [root-of-the-server]__0t46zla._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__07l.j.t._.js → [root-of-the-server]__0ugi0gk._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0y.2qv_._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0z50.82._.js +30 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0zgzcl5._.js → [root-of-the-server]__0zhkbm~._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__00l2th1._.js → [root-of-the-server]__10t-oa1._.js} +4 -4
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0vicp7s._.js → [root-of-the-server]__11_h9vs._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11zjs~k._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12so59v._.js +30 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0hj6ykf._.js → _0-m6pij._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0.3p35c._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0bijc0.._.js → _00vtpb1._.js} +4 -4
- package/.next/standalone/.next/server/chunks/ssr/{_00_enfv._.js → _059-b~p._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0l0n0gc._.js → _05qfznq._.js} +4 -4
- package/.next/standalone/.next/server/chunks/ssr/_0_z.pz4._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0acdkk1._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/_0cj9a7y._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0~~v0og._.js → _0f2quba._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0jis7fv._.js → _0gy-1oc._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0p~.jo1._.js → _0j7t3m6._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/_0jg.s-g._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0st9b1_._.js → _0lgx4c3._.js} +4 -4
- package/.next/standalone/.next/server/chunks/ssr/{_0~fk6kp._.js → _0lwcwkm._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_11ixey~._.js → _0m2o_3.._.js} +4 -4
- package/.next/standalone/.next/server/chunks/ssr/{_0b9lr.2._.js → _0mg_44.._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0_in9ut._.js → _0r2el9k._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0x_nujv._.js → _0rb.w9u._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/_0rdyrfd._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0ds16oj._.js → _0s58zbp._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0tr1l6m._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0ueyys5._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0uj61lm._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0unw1fq._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0u6n.gw._.js → _0wk5s-y._.js} +4 -4
- package/.next/standalone/.next/server/chunks/ssr/{_0i2m-0~._.js → _0y3bnq6._.js} +4 -4
- package/.next/standalone/.next/server/chunks/ssr/{_0gk9bhq._.js → _0yt~8-p._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/{_08j7--7._.js → _0~dc49z._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_06d.l~y._.js → _112.xs5._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/src_0eufeyj._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_actions_agent-actions_ts_0~wc.sy._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_actions_file-actions_ts_0gcvqwm._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_missions_missions-client_tsx_11429lj._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_onboarding_page_tsx_0xf7hpz._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_settings_page_tsx_0h9v7dr._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0wyzpam._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_board-page-client_tsx_0gips66._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_02t7blt._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_0f4q-6w._.js → src_lib_0.e1lk4._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_09ajdu_._.js → src_lib_08rw1cx._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_05wgz5w._.js → src_lib_0a3sg-k._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_078780e._.js → src_lib_0hddinr._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0hysyqq._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0mre0hs._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0nokg1l._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0occbql._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0q1is-3._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0s.1_50._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0uof9w0._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0y99vkm._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_119inue._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_open-targets_ts_12a-_~u._.js +3 -0
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +524 -410
- package/.next/standalone/.next/static/chunks/{0mzr~d4ax.~nx.js → 0-7jzlr9x_qsk.js} +2 -2
- package/.next/standalone/.next/static/chunks/{0yrq3rjju-3um.js → 0.rmtqo0qf0kf.js} +1 -1
- package/.next/standalone/.next/static/chunks/00nc85hwc2xj-.js +1 -0
- package/.next/standalone/.next/static/chunks/02rmsyvjctps8.js +1 -0
- package/.next/standalone/.next/static/chunks/{0m_mrbcxwb.xb.js → 03pleaq9wzi71.js} +1 -1
- package/.next/standalone/.next/static/chunks/053~sxv8~uet5.js +1 -0
- package/.next/standalone/.next/static/chunks/0_._lea4kj-kf.js +1 -0
- package/.next/standalone/.next/static/chunks/0_we-0tskn.or.js +1 -0
- package/.next/standalone/.next/static/chunks/{0vyurjgr0u8aw.js → 0gs_-avkejs0n.js} +1 -1
- package/.next/standalone/.next/static/chunks/0k65.io~ia9.a.js +2 -0
- package/.next/standalone/.next/static/chunks/{0d.9mkqrf._kj.js → 0m-4oc7p23~5d.js} +2 -2
- package/.next/standalone/.next/static/chunks/0o11wn9vopcqg.js +1 -0
- package/.next/standalone/.next/static/chunks/0qc~i8~pr2lr_.js +2 -0
- package/.next/standalone/.next/static/chunks/0v_-pz~6z5kwy.js +1 -0
- package/.next/standalone/.next/static/chunks/0y42pxoc9pqth.js +1 -0
- package/.next/standalone/.next/static/chunks/0z.p-s6d729o-.js +1 -0
- package/.next/standalone/.next/static/chunks/10_jn899omgp~.js +1 -0
- package/.next/standalone/.next/static/chunks/{10~egz2-vj..3.js → 142u31.7x80ux.js} +2 -2
- package/.next/standalone/.next/static/chunks/{0c5ct~fi6oo0x.js → 14ffa1fe.zktf.js} +2 -2
- package/.next/standalone/.next/static/chunks/{0_t7890~b8s.q.js → 15ugy0vmnfdus.js} +1 -1
- package/.next/standalone/.next/static/chunks/{07idrdtj1o8zu.js → 1634ulzz-40pw.js} +1 -1
- package/.next/standalone/.next/static/chunks/187ga_8mny0dq.js +1 -0
- package/.next/standalone/package.json +1 -1
- package/dist/mcp-server.cjs +62 -7
- package/package.json +1 -1
- package/.next/standalone/.next/server/chunks/[externals]__12mj_bs._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0hclpb.._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0mizcpa._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e215_h._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0hc2ab0._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0n9e~0j._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0p_09im._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0qyxluw._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0r54_2f._.js +0 -30
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0vyqspt._.js +0 -30
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__10xwsl4._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12c826b._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_02yhivm._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0_g2k44._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0kdx-ix._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0ny8sre._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/_0tj4yhj._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0wxgq36._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0xlxdv6._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_0r5zto-._.js +0 -47
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0ffqwve._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0i-k~x7._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0jzfhds._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0kjj12q._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0lve.hi._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0pywvqu._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0tp-g~8._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0vnqpwi._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0w9nhfj._.js +0 -3
- package/.next/standalone/.next/static/chunks/0.oy-y0w05vbq.js +0 -1
- package/.next/standalone/.next/static/chunks/04a2asn0hyy9c.js +0 -1
- package/.next/standalone/.next/static/chunks/06uk3fb5mkz5c.js +0 -1
- package/.next/standalone/.next/static/chunks/0e8wfpfgivr6t.js +0 -1
- package/.next/standalone/.next/static/chunks/0eup3utxhd.9w.js +0 -2
- package/.next/standalone/.next/static/chunks/0fysbcldn.s~5.js +0 -1
- package/.next/standalone/.next/static/chunks/0husw1q436czh.js +0 -1
- package/.next/standalone/.next/static/chunks/0ibjmvk~1lgfl.js +0 -2
- package/.next/standalone/.next/static/chunks/0q4_3y9etuu46.js +0 -1
- package/.next/standalone/.next/static/chunks/0qxmfi3_hxoj8.js +0 -1
- package/.next/standalone/.next/static/chunks/0xbblu1dqxput.js +0 -1
- package/.next/standalone/.next/static/chunks/0xu8d3uoqrmjl.js +0 -1
- package/.next/standalone/.next/static/chunks/0xx_wtcnk0sf7.js +0 -1
- /package/.next/standalone/.next/static/{Kff31mi-mF0Jr_em-2NTJ → dUfkElN2NF1kYx7TqxHtX}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{Kff31mi-mF0Jr_em-2NTJ → dUfkElN2NF1kYx7TqxHtX}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{Kff31mi-mF0Jr_em-2NTJ → dUfkElN2NF1kYx7TqxHtX}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,487486,e=>{"use strict";var t=e.i(565455),r=e.i(581263),s=e.i(294237),a=e.i(975157);let i=(0,s.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});e.s(["Badge",0,function({className:e,variant:s="default",render:n,...l}){var o;return o={defaultTagName:"span",props:(0,t.mergeProps)({className:(0,a.cn)(i({variant:s}),e)},l),render:n,state:{slot:"badge",variant:s}},(0,r.useRenderElement)(o.defaultTagName??"div",o,o)}],487486)},199173,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("406dc3f99498d87626a282586e9bda477cf5391981",t.callServer,void 0,t.findSourceMapURL,"getConfigValues");e.s(["getConfigValues",0,r])},110204,e=>{"use strict";var t=e.i(289721),r=e.i(975157);e.s(["Label",0,function({className:e,...s}){return(0,t.jsx)("label",{"data-slot":"label",className:(0,r.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...s})}])},259846,e=>{"use strict";let t=(0,e.i(572989).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,t],259846)},12659,e=>{"use strict";let t=(0,e.i(572989).default)("circle-play",[["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["PlayCircle",0,t],12659)},875840,e=>{"use strict";let t=(0,e.i(572989).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",0,t],875840)},685149,e=>{"use strict";e.s(["BOARD_COLUMNS",0,[{id:"TODO",label:"To Do",color:"bg-slate-400"},{id:"IN_PROGRESS",label:"In Progress",color:"bg-amber-400"},{id:"IN_REVIEW",label:"In Review",color:"bg-sky-400"},{id:"DONE",label:"Done",color:"bg-emerald-400"},{id:"CANCELLED",label:"Cancelled",color:"bg-rose-400"}],"NOTE_CATEGORIES_PRESET",0,["账号","环境","需求","备忘"],"PRIORITY_CONFIG",0,{LOW:{label:"低",color:"bg-slate-500/20 text-slate-300 border border-slate-500/30"},MEDIUM:{label:"中",color:"bg-amber-500/20 text-amber-300 border border-amber-500/30"},HIGH:{label:"高",color:"bg-orange-500/20 text-orange-300 border border-orange-500/30"},CRITICAL:{label:"紧急",color:"bg-rose-500/20 text-rose-300 border border-rose-500/30"}},"TOWER_LABEL_NAME",0,"Tower"])},301348,181209,e=>{"use strict";var t=e.i(59737);e.s(["CheckCircle2",()=>t.default],301348);let r=(0,e.i(572989).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["XCircle",0,r],181209)},475958,e=>{"use strict";let t=(0,e.i(572989).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",0,t],475958)},291756,964461,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("404e72b617fe07a7cef254913e34d311773f51dbde",t.callServer,void 0,t.findSourceMapURL,"createNote");e.s(["createNote",0,r],291756);let s=(0,t.createServerReference)("403fcb34b2c719802c0d7fb9cab6857853a7ba32c8",t.callServer,void 0,t.findSourceMapURL,"deleteNote");e.s(["deleteNote",0,s],964461)},313029,e=>{"use strict";let t=(0,e.i(572989).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",0,t],313029)},340966,e=>{"use strict";let t=(0,e.i(572989).default)("clipboard-list",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]]);e.s(["ClipboardList",0,t],340966)},631675,e=>{"use strict";let t=(0,e.i(572989).default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);e.s(["Upload",0,t],631675)},19671,e=>{"use strict";let t=(0,e.i(572989).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",0,t],19671)},316979,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("409b628dae5579615784ebfc980e018c3f37c9a692",t.callServer,void 0,t.findSourceMapURL,"uploadAsset");e.s(["uploadAsset",0,r])},321587,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("406648ac35b025c6878aaa66221c8c9406967ff9ab",t.callServer,void 0,t.findSourceMapURL,"deleteAsset");e.s(["deleteAsset",0,r])},368490,e=>{"use strict";var t=e.i(776405);e.s(["ChevronRight",()=>t.default])},922541,e=>{"use strict";let t=(0,e.i(572989).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",0,t],922541)},912505,e=>{"use strict";var t=e.i(289721),r=e.i(975157);e.s(["EmptyState",0,function({icon:e,title:s,description:a,action:i,className:n}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex h-48 flex-col items-center justify-center gap-2 text-center",n),children:[e&&(0,t.jsx)(e,{className:"h-10 w-10 text-muted-foreground/40"}),(0,t.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:s}),a&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground/60",children:a}),i&&(0,t.jsx)("div",{className:"mt-2",children:i})]})}])},404249,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("7c53fc84f53dd471d76e1145973b2811dacacc0bfd",t.callServer,void 0,t.findSourceMapURL,"startPtyExecution");e.s(["startPtyExecution",0,r])},738955,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("4038e6c9a9711b2c84bb0df8d57b2d77a7f04c0e21",t.callServer,void 0,t.findSourceMapURL,"stopPtyExecution");e.s(["stopPtyExecution",0,r])},89140,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("60b5941d6b8afb66ad24c93e15e3de4c2b173e2f25",t.callServer,void 0,t.findSourceMapURL,"resumePtyExecution");e.s(["resumePtyExecution",0,r])},960518,e=>{"use strict";let t=(0,e.i(572989).default)("git-compare",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["path",{d:"M11 18H8a2 2 0 0 1-2-2V9",key:"19pyzm"}]]);e.s(["GitCompare",0,t],960518)},340873,e=>{"use strict";let t=(0,e.i(572989).default)("git-commit-horizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);e.s(["GitCommitHorizontal",0,t],340873)},759686,e=>{"use strict";var t=e.i(567098);e.s(["AlertTriangle",()=>t.default])},765240,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("4072608e03401239d8f24351d7816abddd8f123151",t.callServer,void 0,t.findSourceMapURL,"getPrompts");e.s(["getPrompts",0,r])},567860,e=>{"use strict";let t=(0,e.i(572989).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",0,t],567860)},486077,e=>{"use strict";let t=(0,e.i(572989).default)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);e.s(["Lightbulb",0,t],486077)},711554,e=>{"use strict";var t=e.i(289721),r=e.i(965652),s=e.i(226145),a=e.i(232280),i=e.i(738690),n=e.i(597746),l=e.i(400355),o=e.i(776639),c=e.i(519455),d=e.i(793479),u=e.i(624687),x=e.i(533499);e.s(["CreateBranchDialog",0,function({open:e,onOpenChange:m,branches:h,currentBranch:f,localPath:p,onCreated:g,onError:b}){let{t:v}=(0,x.useI18n)(),[y,j]=(0,r.useState)(""),[N,k]=(0,r.useState)(f),[w,C]=(0,r.useState)(""),[S,M]=(0,r.useState)(!1),[L,R]=(0,r.useState)(""),[T,E]=(0,r.useState)(!1);(0,r.useEffect)(()=>{e&&(j(""),k(f),C(""),R(""))},[e,f]);let D=[...new Set(h)].filter(e=>e.toLowerCase().includes(L.toLowerCase())),I=async()=>{if(y.trim()){M(!0);try{let e=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"create-branch",path:p,branch:y.trim(),baseBranch:N})});if(e.ok)m(!1),g();else{let t=await e.json();b(t.error||"Unknown error")}}catch{b("Network error")}finally{M(!1)}}};return(0,t.jsx)(o.Dialog,{open:e,onOpenChange:m,children:(0,t.jsxs)(o.DialogContent,{className:"sm:max-w-sm",children:[(0,t.jsx)(o.DialogHeader,{children:(0,t.jsx)(o.DialogTitle,{children:v("git.createBranch")})}),(0,t.jsxs)("div",{className:"space-y-3 py-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:v("git.branchName")}),(0,t.jsx)(d.Input,{value:y,onChange:e=>j(e.target.value),placeholder:v("git.branchNamePlaceholder"),className:"mt-1.5 font-mono text-xs",onKeyDown:e=>"Enter"===e.key&&I()})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:v("git.baseBranch")}),(0,t.jsxs)("div",{className:"relative mt-1.5",children:[(0,t.jsxs)("button",{onClick:()=>E(!T),className:"flex w-full items-center justify-between rounded-lg border border-border bg-muted/50 px-3 py-2 text-left transition-colors hover:bg-accent",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,t.jsx)(s.GitBranch,{className:"h-3 w-3 shrink-0 text-emerald-400"}),(0,t.jsx)("span",{className:"truncate font-mono text-xs text-foreground",title:N,children:N})]}),(0,t.jsx)(a.ChevronDown,{className:`h-3 w-3 text-muted-foreground transition-transform ${T?"rotate-180":""}`})]}),T&&(0,t.jsxs)("div",{className:"absolute left-0 right-0 top-full z-20 mt-1 rounded-lg border border-border bg-popover shadow-xl",children:[(0,t.jsx)("div",{className:"border-b border-border p-1.5",children:(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(i.Search,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-3 w-3 text-muted-foreground"}),(0,t.jsx)("input",{value:L,onChange:e=>R(e.target.value),placeholder:"Filter...",autoFocus:!0,className:"h-7 w-full rounded-md bg-muted/50 pl-7 pr-2 text-xs text-foreground placeholder-muted-foreground outline-none focus:ring-1 focus:ring-ring"})]})}),(0,t.jsx)("div",{className:"max-h-40 overflow-auto py-1",children:D.map(e=>(0,t.jsxs)("button",{onClick:()=>{k(e),E(!1)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left transition-colors ${e===N?"bg-emerald-500/10 text-emerald-400":"text-secondary-foreground hover:bg-accent"}`,children:[(0,t.jsx)(s.GitBranch,{className:"h-3 w-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate font-mono text-xs",title:e,children:e}),e===N&&(0,t.jsx)(n.Check,{className:"h-3 w-3 ml-auto shrink-0"})]},e))})]})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:v("git.branchDesc")}),(0,t.jsx)(u.Textarea,{value:w,onChange:e=>C(e.target.value),placeholder:v("git.branchDescPlaceholder"),rows:2,className:"mt-1.5 w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none transition-colors focus:border-ring focus:ring-1 focus:ring-ring resize-none"})]})]}),(0,t.jsxs)(o.DialogFooter,{children:[(0,t.jsx)(c.Button,{variant:"outline",onClick:()=>m(!1),children:v("common.cancel")}),(0,t.jsxs)(c.Button,{onClick:I,disabled:!y.trim()||S,className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:[S?(0,t.jsx)(l.Loader2,{className:"h-3 w-3 animate-spin mr-1"}):null,v("common.create")]})]})]})})}])},375306,e=>{"use strict";let t=(0,e.i(572989).default)("arrow-up-from-line",[["path",{d:"m18 9-6-6-6 6",key:"kcunyi"}],["path",{d:"M12 3v14",key:"7cf3v8"}],["path",{d:"M5 21h14",key:"11awu3"}]]);e.s(["ArrowUpFromLine",0,t],375306)},244354,e=>{"use strict";async function t(e,r,s={}){let a=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:r,path:e,...s})});if(!a.ok)throw Error((await a.json()).error||`${r} failed`);return a.json()}e.s(["gitAction",0,t])},14842,865514,e=>{"use strict";var t=e.i(289721),r=e.i(965652),s=e.i(368490),a=e.i(232280),i=e.i(759686),n=e.i(960518),l=e.i(340873),o=e.i(400355),c=e.i(519455),d=e.i(912505),u=e.i(487486),x=e.i(776639),m=e.i(624687),h=e.i(533499);function f({patchState:e,isLargeFold:r,onLoad:s}){let{t:a}=(0,h.useI18n)();return r?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center gap-1 py-6",children:[(0,t.jsx)(c.Button,{variant:"link",onClick:s,className:"h-auto p-0 text-sm",children:a("diff.loadDiff")}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:a("diff.foldedLarge")})]}):e&&"loading"!==e.kind?"error"===e.kind?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center gap-2 py-6 text-sm text-muted-foreground",children:[(0,t.jsx)("span",{children:a("diff.loadFailed")}),(0,t.jsx)(c.Button,{variant:"ghost",onClick:s,children:a("diff.retry")})]}):"binary"===e.kind?(0,t.jsx)("div",{className:"flex items-center justify-center py-6 text-sm text-muted-foreground",children:a("diff.binaryNotShown")}):"empty"===e.kind?(0,t.jsx)("div",{className:"flex items-center justify-center py-6 text-sm text-muted-foreground",children:a("diff.noChanges")}):(0,t.jsx)(p,{patch:e.patch??""}):(0,t.jsx)("div",{className:"flex items-center justify-center py-6",children:(0,t.jsx)(o.Loader2,{className:"h-5 w-5 animate-spin text-muted-foreground"})})}function p({patch:e}){let{t:r}=(0,h.useI18n)(),s=e.split("\n"),a=s.length>500,i=a?s.slice(0,500):s;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("pre",{className:"overflow-x-auto p-0 text-xs font-mono leading-5",children:i.map((e,r)=>{let s=e.startsWith("+++")||e.startsWith("---")?"px-4 block text-muted-foreground":e.startsWith("+")?"px-4 block bg-green-500/10 text-green-400":e.startsWith("-")?"px-4 block bg-red-500/10 text-red-400":e.startsWith("@@")?"px-4 block bg-blue-500/10 text-blue-300":"px-4 block text-muted-foreground";return(0,t.jsx)("span",{className:s,children:e||" "},r)})}),a&&(0,t.jsx)("div",{className:"px-4 py-2 text-xs text-muted-foreground border-t border-border",children:r("diff.patchTruncated",{n:String(500),total:String(s.length)})})]})}e.s(["TaskDiffView",0,function({taskId:e,files:o,totalAdded:p,totalRemoved:g,hasConflicts:b,conflictFiles:v,onCommit:y,hasUncommitted:j}){let{t:N}=(0,h.useI18n)(),[k,w]=(0,r.useState)(new Set),[C,S]=(0,r.useState)(new Map),[M,L]=(0,r.useState)(!1),[R,T]=(0,r.useState)(""),[E,D]=(0,r.useState)(!1),I=t=>{S(e=>new Map(e).set(t,{kind:"loading"})),fetch(`/api/tasks/${e}/diff-patch?file=${encodeURIComponent(t)}`).then(e=>e.ok?e.json():Promise.reject(Error(`HTTP ${e.status}`))).then(e=>{S(r=>{let s=new Map(r);return"binary"===e.kind?s.set(t,{kind:"binary"}):"empty"===e.kind?s.set(t,{kind:"empty"}):s.set(t,{kind:"ready",patch:e.patch??""}),s})}).catch(()=>{S(e=>new Map(e).set(t,{kind:"error"}))})};return(0,t.jsxs)("div",{className:"flex flex-col h-full",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-3 flex-shrink-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 text-sm text-muted-foreground",children:[(0,t.jsxs)("span",{className:"font-medium text-foreground",children:[o.length," files changed"]}),(0,t.jsxs)("span",{className:"text-green-400 font-mono text-xs",children:["+",p]}),(0,t.jsxs)("span",{className:"text-red-400 font-mono text-xs",children:["-",g]})]}),(0,t.jsx)("div",{className:"flex items-center gap-2",children:j&&y&&(0,t.jsxs)(c.Button,{variant:"outline",onClick:()=>L(!0),className:"gap-2",children:[(0,t.jsx)(l.GitCommitHorizontal,{className:"h-4 w-4"}),N("diff.commit")]})})]}),b&&(0,t.jsxs)("div",{className:"flex flex-col gap-2 border-b border-border bg-amber-500/5 px-4 py-3 flex-shrink-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-amber-400",children:[(0,t.jsx)(i.AlertTriangle,{className:"h-4 w-4 flex-shrink-0"}),(0,t.jsxs)("span",{className:"text-sm font-medium",children:["Merge blocked: ",v.length," conflicting file",1!==v.length?"s":""]})]}),(0,t.jsx)("ul",{className:"ml-6 space-y-1",children:v.map(e=>(0,t.jsx)("li",{className:"text-xs font-mono text-amber-300/80",children:e},e))})]}),(0,t.jsx)("div",{className:"flex-1 overflow-auto",children:0===o.length?(0,t.jsx)(d.EmptyState,{icon:n.GitCompare,title:N("diff.noChanges"),className:"h-full"}):(0,t.jsx)("div",{className:"divide-y divide-border",children:o.map(e=>{let r=k.has(e.filename),i=C.get(e.filename),n=e.added+e.removed;return(0,t.jsxs)("div",{children:[(0,t.jsxs)(c.Button,{variant:"ghost",type:"button",onClick:()=>{let t;return t=k.has(e.filename),void(w(t=>{let r=new Set(t);return r.has(e.filename)?r.delete(e.filename):r.add(e.filename),r}),t||e.isBinary||C.has(e.filename)||e.added+e.removed<=200&&I(e.filename))},className:"flex w-full items-center gap-2 px-4 py-2.5 text-left hover:bg-accent/50 transition-colors rounded-none h-auto",children:[r?(0,t.jsx)(a.ChevronDown,{className:"h-3.5 w-3.5 flex-shrink-0 text-muted-foreground"}):(0,t.jsx)(s.ChevronRight,{className:"h-3.5 w-3.5 flex-shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"flex-1 truncate text-sm font-mono text-foreground",children:e.filename}),e.isBinary?(0,t.jsx)(u.Badge,{variant:"secondary",className:"text-[10px] bg-muted text-muted-foreground border border-border",children:N("diff.binary")}):(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsxs)("span",{className:"text-xs font-mono text-green-400",children:["+",e.added]}),(0,t.jsxs)("span",{className:"text-xs font-mono text-red-400",children:["-",e.removed]})]})]}),r&&!e.isBinary&&(0,t.jsx)("div",{className:"border-t border-border bg-background",children:(0,t.jsx)(f,{filename:e.filename,patchState:i,isLargeFold:!i&&n>200,onLoad:()=>I(e.filename)})})]},e.filename)})})}),(0,t.jsx)(x.Dialog,{open:M,onOpenChange:L,children:(0,t.jsxs)(x.DialogContent,{className:"max-w-md",children:[(0,t.jsx)(x.DialogHeader,{children:(0,t.jsx)(x.DialogTitle,{children:N("diff.commitChanges")})}),(0,t.jsx)("div",{className:"flex flex-col gap-3",children:(0,t.jsx)(m.Textarea,{value:R,onChange:e=>T(e.target.value),placeholder:N("diff.commitMessagePlaceholder"),rows:5,className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none resize-y min-h-[80px]"})}),(0,t.jsxs)(x.DialogFooter,{children:[(0,t.jsx)(c.Button,{variant:"ghost",onClick:()=>L(!1),children:N("common.cancel")}),(0,t.jsx)(c.Button,{onClick:async()=>{if(R.trim()&&y){D(!0);try{await y(R.trim()),T(""),L(!1)}finally{D(!1)}}},disabled:!R.trim()||E,children:E?"...":N("diff.commit")})]})]})})]})}],14842);var g=e.i(538059);let b=(0,e.i(572989).default)("git-merge",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]]);e.s(["TaskMergeConfirmDialog",0,function({open:e,onOpenChange:s,taskId:a,taskTitle:i,baseBranch:n,fileCount:l,commitCount:d,commitLog:u=[],onMergeComplete:m}){let h=(0,g.useRouter)(),[f,p]=(0,r.useState)(!1),[v,y]=(0,r.useState)(null),j=async()=>{p(!0),y(null);try{let e=await fetch(`/api/tasks/${a}/merge`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(e.ok){s(!1),m(),h.refresh();return}let t=await e.json().catch(()=>({error:"Merge failed"}));409===e.status?y(`Merge conflicts detected: ${Array.isArray(t.conflictFiles)?t.conflictFiles.join(", "):"unknown files"}`):y(t.error??"Merge failed")}catch{y("Network error — merge failed")}finally{p(!1)}};return(0,t.jsx)(x.Dialog,{open:e,onOpenChange:s,children:(0,t.jsxs)(x.DialogContent,{showCloseButton:!0,className:"sm:max-w-md",children:[(0,t.jsx)(x.DialogHeader,{children:(0,t.jsxs)(x.DialogTitle,{className:"flex items-center gap-2",children:[(0,t.jsx)(b,{className:"h-4 w-4 text-emerald-400"}),"Confirm Merge"]})}),(0,t.jsxs)("div",{className:"space-y-3 py-2",children:[(0,t.jsxs)("div",{className:"rounded-lg border border-border bg-muted/30 p-3 space-y-2.5",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Target branch"}),(0,t.jsx)("code",{className:"text-xs font-mono bg-muted px-2 py-0.5 rounded text-foreground",children:n})]}),(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Changed files"}),(0,t.jsx)("span",{className:"text-xs font-medium text-foreground",children:l})]}),(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Commits"}),(0,t.jsx)("span",{className:"text-xs font-medium text-foreground",children:d})]})]}),u.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground mb-1 block",children:"Commits"}),(0,t.jsx)("div",{className:"rounded-md border border-border bg-muted/30 p-2 space-y-1 max-h-32 overflow-y-auto",children:u.map((e,r)=>(0,t.jsx)("div",{className:"text-xs font-mono text-foreground/80",children:e},r))})]}),v&&(0,t.jsx)("div",{className:"rounded-lg border border-red-500/20 bg-red-500/10 px-3 py-2",children:(0,t.jsx)("p",{className:"text-xs text-red-400",children:v})})]}),(0,t.jsxs)(x.DialogFooter,{children:[(0,t.jsx)(c.Button,{variant:"outline",onClick:()=>s(!1),disabled:f,children:"Cancel"}),(0,t.jsx)(c.Button,{onClick:j,disabled:f,className:"gap-2",children:f?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.Loader2,{className:"h-4 w-4 animate-spin"}),"Merging..."]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(b,{className:"h-4 w-4"}),"Confirm Merge"]})})]})]})})}],865514)},671325,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("407385c9b367d374f6871bd8c2e935c41e8af5ffd6",t.callServer,void 0,t.findSourceMapURL,"getTaskExecutions");e.s(["getTaskExecutions",0,r])},313327,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("4097d2e1bbbcd60259598ab48d64bea0e0e25a02fa",t.callServer,void 0,t.findSourceMapURL,"continueLatestPtyExecution");e.s(["continueLatestPtyExecution",0,r])},605362,761292,130098,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("600ef54ca10fd7bb666b08cd8d5bf227ccca58da4e",t.callServer,void 0,t.findSourceMapURL,"updateTaskStatus");e.s(["updateTaskStatus",0,r],605362);let s=(0,t.createServerReference)("403f8c0c7f02e64f5f4387dc8daa4186b455500a03",t.callServer,void 0,t.findSourceMapURL,"checkWorktreeClean");e.s(["checkWorktreeClean",0,s],761292);let a=(0,t.createServerReference)("60274d75e15f6a4ed99e68cce68579183de3dbdeae",t.callServer,void 0,t.findSourceMapURL,"commitWorktreeChanges");e.s(["commitWorktreeChanges",0,a],130098)},989383,769824,e=>{"use strict";var t=e.i(572989);let r=(0,t.default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);e.s(["Clock",0,r],989383);let s=(0,t.default)("history",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);e.s(["History",0,s],769824)},326883,e=>{"use strict";var t=e.i(289721),r=e.i(965652),s=e.i(232280),a=e.i(472074),i=e.i(301348),n=e.i(181209),l=e.i(400355),o=e.i(989383),c=e.i(12659),d=e.i(922541),u=e.i(486077),x=e.i(769824),m=e.i(519455),h=e.i(912505),f=e.i(533499);function p({status:e}){switch(e){case"COMPLETED":return(0,t.jsx)(i.CheckCircle2,{className:"h-4 w-4 text-emerald-400"});case"FAILED":return(0,t.jsx)(n.XCircle,{className:"h-4 w-4 text-red-400"});case"RUNNING":return(0,t.jsx)(l.Loader2,{className:"h-4 w-4 text-blue-400 animate-spin"});default:return(0,t.jsx)(o.Clock,{className:"h-4 w-4 text-neutral-500"})}}e.s(["ExecutionTimeline",0,function({executions:e,onResume:i,onContinueLatest:n}){let{t:l,locale:o}=(0,f.useI18n)(),[g,b]=(0,r.useState)(null),[v,y]=(0,r.useState)(null);return 0===e.length?(0,t.jsx)(h.EmptyState,{icon:x.History,title:l("execution.noHistory")}):(0,t.jsxs)("div",{className:"space-y-2 p-3",children:[(0,t.jsx)("p",{className:"px-1 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:l("execution.history")}),e.map(r=>{let x=function(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}(r.gitStats??null),h=function(e,t){if(!e||!t)return"";let r=new Date(t).getTime()-new Date(e).getTime();if(r<0)return"";let s=Math.floor(r/1e3);if(s<60)return`${s}s`;let a=Math.floor(s/60);if(a<60)return`${a}m ${s%60}s`;let i=Math.floor(a/60);return`${i}h ${a%60}m`}(r.startedAt??null,r.endedAt??null),f=g===r.id;return(0,t.jsxs)("div",{className:"rounded-lg border border-border bg-background/50 overflow-hidden",children:[(0,t.jsxs)("div",{className:"p-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)(p,{status:r.status}),(0,t.jsx)("span",{className:`font-medium ${function(e){switch(e){case"COMPLETED":return"text-emerald-400";case"FAILED":return"text-red-400";case"RUNNING":return"text-blue-400";default:return"text-neutral-400"}}(r.status)}`,children:function(e,t){switch(e){case"COMPLETED":return t("execution.success");case"FAILED":return t("execution.failed");case"RUNNING":return t("execution.running");default:return e}}(r.status,l)}),(0,t.jsx)("span",{className:"text-muted-foreground",children:function(e,t="zh"){if(!e)return"";let r=new Date(e),s=Math.floor((new Date().getTime()-r.getTime())/864e5),a="zh"===t?"zh-CN":"en-US",i=r.toLocaleTimeString(a,{hour:"2-digit",minute:"2-digit"});return 0===s?i:1===s?"zh"===t?`昨天 ${i}`:`Yesterday ${i}`:s<7?"zh"===t?`${s}天前 ${i}`:`${s}d ago ${i}`:r.toLocaleDateString(a,{month:"2-digit",day:"2-digit"})+" "+i}(r.startedAt??null,o)}),h&&(0,t.jsxs)("span",{className:"text-muted-foreground/60",children:["(",h,")"]})]}),(0,t.jsx)("p",{className:"mt-1.5 text-sm text-foreground/80 line-clamp-2",children:r.summary||l("execution.noSummary")}),x&&(x.commits||x.filesChanged)&&(0,t.jsxs)("div",{className:"mt-1.5 flex items-center gap-2 text-[11px] text-muted-foreground font-mono",children:[x.commits?(0,t.jsxs)("span",{children:[x.commits," ",l("execution.commits")]}):null,x.filesChanged?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"·"}),(0,t.jsxs)("span",{children:[x.filesChanged," ",l("execution.files")]})]}):null,x.insertions||x.deletions?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"·"}),x.insertions?(0,t.jsxs)("span",{className:"text-emerald-500",children:["+",x.insertions]}):null,x.deletions?(0,t.jsxs)("span",{className:"text-red-400",children:["-",x.deletions]}):null]}):null]}),r.insightNote&&(0,t.jsxs)("div",{className:"mt-2",children:[(0,t.jsxs)("button",{onClick:()=>y(v===r.id?null:r.id),className:"flex items-center gap-1.5 text-xs text-primary/90 hover:text-primary transition-colors",children:[(0,t.jsx)(u.Lightbulb,{className:"h-3.5 w-3.5"}),(0,t.jsxs)("span",{className:"font-medium",children:[l("execution.insight"),":"]}),(0,t.jsx)("span",{className:"text-foreground/70 truncate max-w-[200px]",children:r.insightNote.title}),v===r.id?(0,t.jsx)(a.ChevronUp,{className:"h-3 w-3"}):(0,t.jsx)(s.ChevronDown,{className:"h-3 w-3"})]}),v===r.id&&(0,t.jsx)("div",{className:"mt-2 rounded-md bg-primary/[0.06] border border-primary/10 p-3 text-xs text-foreground/80 whitespace-pre-wrap",children:r.insightNote.content})]}),(0,t.jsxs)("div",{className:"mt-2.5 flex items-center gap-2",children:[r.sessionId&&i?(0,t.jsxs)(m.Button,{size:"sm",onClick:()=>i(r.sessionId),className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:[(0,t.jsx)(c.PlayCircle,{className:"h-3.5 w-3.5"}),l("execution.resume")]}):!r.sessionId&&"FAILED"===r.status&&r.id===e[0]?.id&&n?(0,t.jsxs)(m.Button,{size:"sm",onClick:n,className:"bg-blue-500/15 text-blue-300 ring-1 ring-blue-500/20 hover:bg-blue-500/25",children:[(0,t.jsx)(d.RotateCcw,{className:"h-3.5 w-3.5"}),l("execution.tryRecover")]}):null,(0,t.jsxs)(m.Button,{variant:"ghost",size:"sm",onClick:()=>b(f?null:r.id),className:"bg-muted text-muted-foreground",children:[f?(0,t.jsx)(a.ChevronUp,{className:"h-3.5 w-3.5"}):(0,t.jsx)(s.ChevronDown,{className:"h-3.5 w-3.5"}),f?l("execution.collapse"):l("execution.details")]})]})]}),f&&(0,t.jsxs)("div",{className:"border-t border-border px-3 pb-3 space-y-3",children:[r.gitLog&&(0,t.jsxs)("div",{className:"mt-3",children:[(0,t.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground mb-1.5",children:l("execution.gitLog")}),(0,t.jsx)("pre",{className:"rounded-md bg-muted/50 p-2.5 text-xs font-mono text-foreground/70 overflow-x-auto whitespace-pre-wrap",children:r.gitLog.split("\n").slice(0,3).join("\n")})]}),r.terminalLog&&(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground mb-1.5",children:l("execution.terminalOutput")}),(0,t.jsx)("pre",{className:"rounded-md bg-[#0f1419] p-2.5 text-xs font-mono text-neutral-300 overflow-x-auto max-h-48 overflow-y-auto whitespace-pre-wrap",children:r.terminalLog})]}),"FAILED"===r.status&&null!=r.exitCode&&(0,t.jsxs)("p",{className:"text-xs text-red-400/70",children:["Exit code: ",r.exitCode]})]})]},r.id)})]})}])},256317,e=>{"use strict";var t=e.i(514798);let r=(0,t.createServerReference)("603219315ec2c04de4bd8822f5ac8f28fe73c94774",t.callServer,void 0,t.findSourceMapURL,"updateTask");e.s(["updateTask",0,r])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,783426,e=>{"use strict";var t=e.i(289721),s=e.i(965652),a=e.i(538059),r=e.i(340966),l=e.i(572989);let n=(0,l.default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);var i=e.i(486077),o=e.i(533499);function c({totalTasks:e,runningTasks:s}){let{t:a}=(0,o.useI18n)();return(0,t.jsxs)("div",{className:"grid grid-cols-3 gap-3 px-6 py-4",children:[(0,t.jsx)("div",{className:"rounded-xl border border-border bg-card p-4",children:(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("div",{className:"rounded-lg bg-sky-500/10 p-2 ring-1 ring-sky-500/20",children:(0,t.jsx)(r.ClipboardList,{className:"h-4 w-4 text-sky-400"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-[11px] font-medium uppercase tracking-wider text-muted-foreground",children:a("board.overview")}),(0,t.jsx)("p",{className:"text-2xl font-bold font-mono tracking-tight text-foreground",children:e})]})]})}),(0,t.jsx)("div",{className:"rounded-xl border border-border bg-card p-4",children:(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("div",{className:"rounded-lg bg-primary/10 p-2 ring-1 ring-primary/20",children:(0,t.jsx)(n,{className:"h-4 w-4 text-primary"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-[11px] font-medium uppercase tracking-wider text-muted-foreground",children:a("board.running")}),(0,t.jsx)("p",{className:"text-2xl font-bold font-mono tracking-tight text-foreground",children:s})]})]})}),(0,t.jsx)("div",{className:"rounded-xl border border-border bg-card p-4",children:(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("div",{className:"rounded-lg bg-emerald-500/10 p-2 ring-1 ring-emerald-500/20",children:(0,t.jsx)(i.Lightbulb,{className:"h-4 w-4 text-emerald-400"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-[11px] font-medium uppercase tracking-wider text-muted-foreground",children:a("board.tip")}),(0,t.jsx)("p",{className:"text-xs font-medium text-foreground/80",children:a("board.tipText")})]})]})})]})}var d=e.i(210702),x=e.i(232545),m=e.i(738690),u=e.i(226145),h=e.i(519455),p=e.i(793479),f=e.i(918385);function g({searchQuery:e,onSearchChange:s,versions:a=[],versionFilter:r="all",onVersionFilterChange:l,versionsHref:n,onCreateTask:i}){let c,{t:j}=(0,o.useI18n)(),b="all"===r?j("board.allVersions"):"backlog"===r?j("board.backlogFilter"):(c=a.find(e=>e.id===r))?`${c.number} ${c.name}`:j("board.allVersions");return(0,t.jsxs)("div",{className:"flex items-center gap-2 px-6 py-2",children:[l&&(0,t.jsxs)(f.Select,{value:r,onValueChange:e=>l(e||"all"),children:[(0,t.jsxs)(f.SelectTrigger,{className:"h-8 w-44 shrink-0 gap-1.5 text-xs text-muted-foreground",children:[(0,t.jsx)(u.GitBranch,{className:"h-3.5 w-3.5 shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:b})]}),(0,t.jsxs)(f.SelectContent,{children:[(0,t.jsx)(f.SelectItem,{value:"all",children:j("board.allVersions")}),(0,t.jsx)(f.SelectItem,{value:"backlog",children:j("board.backlogFilter")}),a.map(e=>(0,t.jsxs)(f.SelectItem,{value:e.id,children:[(0,t.jsx)("span",{className:"font-mono",children:e.number})," ",e.name]},e.id))]})]}),(0,t.jsxs)("div",{className:"relative flex-1 max-w-xs",children:[(0,t.jsx)(m.Search,{className:"absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),(0,t.jsx)(p.Input,{type:"text",value:e,onChange:e=>s(e.target.value),placeholder:j("board.searchPlaceholder"),className:"pl-8 pr-3 text-xs"})]}),(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[n&&(0,t.jsx)(d.default,{href:n,children:(0,t.jsxs)(h.Button,{variant:"outline",className:"h-8 gap-1.5 text-xs text-muted-foreground",children:[(0,t.jsx)(u.GitBranch,{className:"h-3.5 w-3.5"}),j("version.timeline")]})}),(0,t.jsxs)(h.Button,{"data-tour":"create-task",variant:"outline",className:"gap-1.5 border-border text-xs text-muted-foreground hover:border-primary/30 hover:text-primary",onClick:i,children:[(0,t.jsx)(x.Plus,{className:"h-3.5 w-3.5"}),j("board.newTask")]})]})]})}var j=e.i(585012),b=e.i(597746),N=e.i(685149);function v({x:e,y:r,taskId:l,currentStatus:n,hasExecutions:i,workspaceId:c,onClose:d,onStatusChange:x,onLaunch:m}){let{t:u}=(0,o.useI18n)(),h=(0,a.useRouter)(),p=(0,s.useRef)(null);(0,s.useEffect)(()=>{let e=e=>{p.current&&!p.current.contains(e.target)&&d()},t=e=>{"Escape"===e.key&&d()};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[d]);let f="flex items-center px-3 py-1.5 text-xs cursor-pointer hover:bg-accent rounded-sm w-full text-left",g=(0,t.jsxs)("div",{ref:p,style:{position:"fixed",top:r,left:e,zIndex:9999},className:"bg-popover border border-border rounded-md shadow-md py-1 min-w-[180px]",children:[(0,t.jsx)("div",{className:"px-3 py-1 text-[10px] text-muted-foreground uppercase tracking-wider",children:u("board.contextMenu.changeStatus")}),N.BOARD_COLUMNS.map(e=>(0,t.jsxs)("button",{type:"button",className:f,onClick:()=>{x(l,e.id),d()},children:[n===e.id?(0,t.jsx)(b.Check,{className:"h-3 w-3 mr-2 flex-shrink-0"}):(0,t.jsx)("span",{className:"w-5 flex-shrink-0"}),e.label]},e.id)),(0,t.jsx)("hr",{className:"my-1 border-border"}),(0,t.jsx)("button",{type:"button",className:`${f} ${i?"opacity-50 cursor-not-allowed":""}`,disabled:i,onClick:()=>{i||(m(l),d())},children:u("board.contextMenu.launch")}),"DONE"!==n&&"CANCELLED"!==n&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("hr",{className:"my-1 border-border"}),(0,t.jsx)("button",{type:"button",className:f,onClick:()=>{h.push(`/workspaces/${c}/tasks/${l}`),d()},children:u("board.contextMenu.goToDetail")})]})]});return"u"<typeof document?null:(0,j.createPortal)(g,document.body)}var y=e.i(720247),k=e.i(775712);let w=(0,l.default)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);var C=e.i(67013),S=e.i(49007),P=e.i(464249),T=e.i(998626);let E=(0,l.default)("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]);var D=e.i(487486),I=e.i(755146);function B({task:e,onClick:s,onEdit:a,onDelete:r,onTogglePin:l,onContextMenu:n}){let{t:i}=(0,o.useI18n)(),{attributes:c,listeners:d,setNodeRef:x,transform:m,transition:u,isDragging:p}=(0,k.useSortable)({id:e.id,data:{type:"task",task:e}}),f={transform:C.CSS.Transform.toString(m),transition:u,opacity:p?.4:1},g=N.PRIORITY_CONFIG[e.priority];return(0,t.jsxs)("div",{ref:x,style:f,...c,...d,className:"group cursor-grab rounded-lg border border-border bg-card p-3 transition-all hover:border-primary/20 hover:bg-accent/50 active:cursor-grabbing",onClick:s,onContextMenu:t=>{t.preventDefault(),t.stopPropagation(),n?.(e,t.clientX,t.clientY)},"data-testid":"task-card",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between",children:[(0,t.jsx)("h4",{className:"text-sm font-medium text-foreground",children:e.title}),(0,t.jsxs)("div",{className:"flex items-center gap-0.5 shrink-0",children:[(0,t.jsx)(h.Button,{variant:"ghost",size:"icon-xs",className:`transition-all ${e.pinned?"text-primary opacity-100":"text-muted-foreground opacity-0 group-hover:opacity-100"}`,onClick:t=>{t.stopPropagation(),l?.(e.id)},"aria-label":i(e.pinned?"board.unpin":"board.pin"),children:(0,t.jsx)(E,{className:`h-3.5 w-3.5 ${e.pinned?"-rotate-45":""}`})}),(0,t.jsxs)(I.DropdownMenu,{children:[(0,t.jsx)(I.DropdownMenuTrigger,{render:(0,t.jsx)("button",{className:"rounded-md p-0.5 text-muted-foreground opacity-0 transition-all hover:bg-background hover:text-foreground group-hover:opacity-100",onClick:e=>e.stopPropagation()}),children:(0,t.jsx)(S.MoreHorizontal,{className:"h-4 w-4"})}),(0,t.jsxs)(I.DropdownMenuContent,{align:"end",children:[(0,t.jsxs)(I.DropdownMenuItem,{onClick:t=>{t.stopPropagation(),a?.(e)},children:[(0,t.jsx)(P.Pencil,{className:"mr-2 h-3.5 w-3.5"}),i("common.edit")]}),(0,t.jsxs)(I.DropdownMenuItem,{className:"text-rose-400",onClick:t=>{t.stopPropagation(),r?.(e.id)},children:[(0,t.jsx)(T.Trash2,{className:"mr-2 h-3.5 w-3.5"}),i("common.delete")]})]})]})]})]}),e.description&&(0,t.jsx)("p",{className:"mt-1.5 line-clamp-3 text-xs leading-relaxed text-muted-foreground",children:e.description}),(0,t.jsx)("div",{className:"mt-2.5",children:(0,t.jsx)(D.Badge,{variant:"secondary",className:`text-[10px] font-semibold ${g.color}`,children:g.label})}),e.labels&&e.labels.length>0&&(0,t.jsx)("div",{className:"mt-1.5 flex flex-wrap gap-1",children:e.labels.map(e=>(0,t.jsx)("span",{className:"rounded-full px-1.5 py-0.5 text-[10px] font-medium",style:{backgroundColor:e.label.color+"20",color:e.label.color},children:e.label.name},e.label.id))})]})}var R=e.i(776639),L=e.i(759684);function $({open:e,onOpenChange:s,columnLabel:a,columnColor:r,tasks:l,onTaskClick:n}){let{t:i}=(0,o.useI18n)();return(0,t.jsx)(R.Dialog,{open:e,onOpenChange:s,children:(0,t.jsxs)(R.DialogContent,{className:"sm:max-w-6xl max-h-[80vh]",children:[(0,t.jsx)(R.DialogHeader,{children:(0,t.jsxs)(R.DialogTitle,{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:`h-2.5 w-2.5 rounded-full ${r}`}),(0,t.jsx)("span",{children:a}),(0,t.jsx)("span",{className:"rounded-md bg-muted px-1.5 py-0.5 text-xs font-mono font-medium text-muted-foreground",children:l.length})]})}),(0,t.jsx)(L.ScrollArea,{className:"max-h-[680px]",children:(0,t.jsxs)("div",{className:"grid grid-cols-4 gap-3 pr-3",children:[l.map(e=>{let a=N.PRIORITY_CONFIG[e.priority];return(0,t.jsxs)("div",{className:"cursor-pointer rounded-lg border border-border bg-card p-3 transition-all hover:border-primary/20 hover:bg-accent/50",onClick:()=>{n?.(e),s(!1)},children:[(0,t.jsx)("h4",{className:"text-sm font-medium text-foreground line-clamp-2",children:e.title}),e.description&&(0,t.jsx)("p",{className:"mt-1.5 line-clamp-2 text-xs leading-relaxed text-muted-foreground",children:e.description}),(0,t.jsxs)("div",{className:"mt-2 flex items-center gap-1.5 flex-wrap",children:[(0,t.jsx)(D.Badge,{variant:"secondary",className:`text-[10px] font-semibold ${a.color}`,children:a.label}),e.labels?.map(e=>(0,t.jsx)("span",{className:"rounded-full px-1.5 py-0.5 text-[10px] font-medium",style:{backgroundColor:e.label.color+"20",color:e.label.color},children:e.label.name},e.label.id))]})]},e.id)}),0===l.length&&(0,t.jsx)("div",{className:"col-span-4 py-8 text-center text-sm text-muted-foreground",children:i("board.noTasks")})]})})]})})}function O({id:e,label:a,color:r,tasks:l,onTaskClick:n,onEditTask:i,onAddTask:c,onDeleteTask:d,onTogglePin:m,onContextMenu:u}){let{setNodeRef:p,isOver:f}=(0,y.useDroppable)({id:e}),[g,j]=(0,s.useState)(!1),{t:b}=(0,o.useI18n)();return(0,t.jsxs)("div",{className:`flex w-0 min-w-[220px] flex-1 flex-col min-h-0 border-r border-border/50 last:border-r-0 transition-colors ${f?"bg-primary/[0.06]":""}`,children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-3 py-2.5 border-b border-border/30",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:`h-2 w-2 rounded-full ${r}`}),(0,t.jsx)("span",{className:"text-xs font-semibold tracking-wide text-secondary-foreground",children:a}),(0,t.jsx)("span",{className:"rounded-md bg-muted px-1.5 py-0.5 text-[10px] font-mono font-medium text-muted-foreground",children:l.length})]}),(0,t.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,t.jsx)(h.Button,{variant:"ghost",size:"icon-xs",onClick:()=>j(!0),className:"text-muted-foreground","aria-label":b("board.viewAll"),children:(0,t.jsx)(w,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(h.Button,{variant:"ghost",size:"icon-xs",onClick:c,className:"text-muted-foreground","aria-label":"add",children:(0,t.jsx)(x.Plus,{className:"h-3.5 w-3.5"})})]})]}),(0,t.jsx)($,{open:g,onOpenChange:j,columnLabel:a,columnColor:r,tasks:l,onTaskClick:n}),(0,t.jsx)(L.ScrollArea,{className:"flex-1 min-h-0",children:(0,t.jsx)("div",{ref:p,className:"flex flex-col gap-2 p-2",children:(0,t.jsx)(k.SortableContext,{items:l.map(e=>e.id),strategy:k.verticalListSortingStrategy,children:l.map(e=>(0,t.jsx)(B,{task:e,onClick:()=>n?.(e),onEdit:i,onDelete:d,onTogglePin:m,onContextMenu:u},e.id))})})})]})}function A({initialTasks:e,onTaskMove:a,onTaskClick:r,onEditTask:l,onAddTask:n,onDeleteTask:i,onTogglePin:o,onContextMenuStatusChange:c,onContextMenuLaunch:d,workspaceId:x}){let[m,u]=(0,s.useState)(e),[h,p]=(0,s.useState)(null),[f,g]=(0,s.useState)(null);(0,s.useEffect)(()=>{u(e)},[e]);let j=(0,y.useSensors)((0,y.useSensor)(y.PointerSensor,{activationConstraint:{distance:8}})),b=(0,s.useCallback)((e,t,s)=>{g({task:e,x:t,y:s})},[]),k=(0,s.useCallback)(e=>{let t=m.find(t=>t.id===e.active.id);t&&p(t)},[m]),w=(0,s.useCallback)(e=>{let t,{active:s,over:r}=e;if(p(null),!r)return;let l=s.id,n=r.id;if(N.BOARD_COLUMNS.some(e=>e.id===n))t=n;else{let e=m.find(e=>e.id===n);t=e?.status}t&&(u(e=>e.map(e=>e.id===l?{...e,status:t}:e)),a?.(l,t))},[m,a]);return(0,t.jsxs)(y.DndContext,{id:"kanban-board",sensors:j,collisionDetection:y.closestCorners,onDragStart:k,onDragEnd:w,children:[(0,t.jsx)("div",{className:"mx-2 flex h-full overflow-x-auto rounded-xl border border-border bg-card/50",children:N.BOARD_COLUMNS.map(e=>(0,t.jsx)(O,{id:e.id,label:e.label,color:e.color,tasks:m.filter(t=>t.status===e.id),onTaskClick:r,onEditTask:l,onAddTask:()=>n?.(e.id),onDeleteTask:i,onTogglePin:o,onContextMenu:b},e.id))}),(0,t.jsx)(y.DragOverlay,{children:h?(0,t.jsx)("div",{className:"rotate-3 scale-105",children:(0,t.jsx)(B,{task:h})}):null}),f&&(0,t.jsx)(v,{x:f.x,y:f.y,taskId:f.task.id,currentStatus:f.task.status,hasExecutions:(f.task._count?.executions??0)>0,workspaceId:x??"",onClose:()=>g(null),onStatusChange:(e,t)=>{c?.(e,t),g(null)},onLaunch:e=>{d?.(e),g(null)}})]})}var F=e.i(744798),M=e.i(232280),z=e.i(368490),U=e.i(242941),G=e.i(645378),_=e.i(453889);let V=(0,l.default)("git-commit-vertical",[["path",{d:"M12 3v6",key:"1holv5"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"M12 15v6",key:"a9ows0"}]]);var W=e.i(938499),H=e.i(400355),K=e.i(233274),J=e.i(194358),Y=e.i(624687),q=e.i(514798);let X=(0,q.createServerReference)("60429a4e9875cb1ba311d3fdd5520ef687af2c6923",q.callServer,void 0,q.findSourceMapURL,"updateProject");var Q=e.i(803626);let Z=(0,q.createServerReference)("403a0027977cd8f70b1151c86b0b5345142f02c6a1",q.callServer,void 0,q.findSourceMapURL,"deleteProject"),ee=(0,q.createServerReference)("40ce28df39bdbb649df6405ddfcae36041475b1c01",q.callServer,void 0,q.findSourceMapURL,"getRecentLocalProjects"),et=(0,q.createServerReference)("40aa636a36ed4e998d2a68397fd2a529466fa54d75",q.callServer,void 0,q.findSourceMapURL,"getOrCreateTowerTaskId");var es=e.i(520477),ea=e.i(360112),er=e.i(224277),el=e.i(905455),en=e.i(711554),ei=e.i(875840);function eo({commits:e}){let{t:a}=(0,o.useI18n)(),[r,l]=(0,s.useState)(!1);return 0===e.length?null:(0,t.jsxs)("div",{children:[(0,t.jsxs)("button",{onClick:()=>l(!r),className:"flex w-full items-center justify-between py-1",children:[(0,t.jsx)("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-muted-foreground",children:a("git.commitLog")}),r?(0,t.jsx)(M.ChevronDown,{className:"h-3 w-3 text-muted-foreground"}):(0,t.jsx)(z.ChevronRight,{className:"h-3 w-3 text-muted-foreground"})]}),r&&(0,t.jsx)("div",{className:"mt-1.5 space-y-0.5 max-h-64 overflow-y-auto",children:e.map(e=>(0,t.jsxs)("div",{className:"group flex items-start gap-2 rounded-md px-2 py-1.5 hover:bg-accent transition-colors",children:[(0,t.jsx)(V,{className:"h-3 w-3 shrink-0 text-muted-foreground mt-0.5"}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("p",{className:"text-xs text-foreground line-clamp-1",children:e.message}),(0,t.jsxs)("div",{className:"flex items-center gap-2 mt-0.5",children:[(0,t.jsxs)("button",{onClick:()=>{navigator.clipboard.writeText(e.shortHash),ea.toast.success(`Copied ${e.shortHash}`)},className:"flex items-center gap-0.5 font-mono text-[10px] text-primary/70 hover:text-primary transition-colors",children:[e.shortHash,(0,t.jsx)(ei.Copy,{className:"h-2.5 w-2.5 opacity-0 group-hover:opacity-100 transition-opacity"})]}),(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground",children:e.author}),(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground",children:function(e){let t=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(t<1)return"just now";if(t<60)return`${t}m`;let s=Math.floor(t/60);if(s<24)return`${s}h`;let a=Math.floor(s/24);return a<30?`${a}d`:`${Math.floor(a/30)}mo`}(e.date)})]})]})]},e.hash))})]})}var ec=e.i(487278),ed=e.i(375306),ex=e.i(244354);function em({localPath:e,stashes:a,hasChanges:r,onRefresh:l}){let{t:n}=(0,o.useI18n)(),[i,c]=(0,s.useState)(!1),[d,x]=(0,s.useState)(!1),[m,u]=(0,s.useState)(""),[f,g]=(0,s.useState)(null),j=async()=>{x(!0);try{await (0,ex.gitAction)(e,"stash-save",{message:m}),u(""),ea.toast.success(n("git.stashSaved")),await l()}catch(e){ea.toast.error(e instanceof Error?e.message:String(e))}finally{x(!1)}},b=async t=>{g(t);try{await (0,ex.gitAction)(e,"stash-pop",{index:t}),ea.toast.success(n("git.stashApplied")),await l()}catch(e){ea.toast.error(e instanceof Error?e.message:String(e))}finally{g(null)}},N=async t=>{g(t);try{await (0,ex.gitAction)(e,"stash-drop",{index:t}),ea.toast.success(n("git.stashDropped")),await l()}catch(e){ea.toast.error(e instanceof Error?e.message:String(e))}finally{g(null)}};return r||0!==a.length?(0,t.jsxs)("div",{children:[(0,t.jsxs)("button",{onClick:()=>c(!i),className:"flex w-full items-center justify-between py-1",children:[(0,t.jsxs)("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-muted-foreground",children:[n("git.stash")," ",a.length>0&&`(${a.length})`]}),i?(0,t.jsx)(M.ChevronDown,{className:"h-3 w-3 text-muted-foreground"}):(0,t.jsx)(z.ChevronRight,{className:"h-3 w-3 text-muted-foreground"})]}),i&&(0,t.jsxs)("div",{className:"mt-1.5 space-y-2",children:[r&&(0,t.jsxs)("div",{className:"flex gap-1.5",children:[(0,t.jsx)(p.Input,{value:m,onChange:e=>u(e.target.value),placeholder:n("git.stashMsgPlaceholder"),className:"h-7 text-xs flex-1",onKeyDown:e=>"Enter"===e.key&&j()}),(0,t.jsx)(h.Button,{variant:"outline",size:"icon-sm",onClick:j,disabled:d,className:"shrink-0",children:d?(0,t.jsx)(H.Loader2,{className:"h-3 w-3 animate-spin"}):(0,t.jsx)(ec.Archive,{className:"h-3 w-3"})})]}),a.length>0&&(0,t.jsx)("div",{className:"space-y-0.5",children:a.map(e=>(0,t.jsxs)("div",{className:"group flex items-center gap-2 rounded-md px-2 py-1.5 hover:bg-accent transition-colors",children:[(0,t.jsx)(ec.Archive,{className:"h-3 w-3 shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"flex-1 min-w-0 truncate text-xs text-foreground",children:e.message||`stash@{${e.index}}`}),(0,t.jsxs)("div",{className:"flex items-center gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,t.jsx)(h.Button,{variant:"ghost",size:"icon-xs",onClick:()=>b(e.index),disabled:f===e.index,className:"text-muted-foreground","aria-label":n("git.stashApply"),children:f===e.index?(0,t.jsx)(H.Loader2,{className:"h-3 w-3 animate-spin"}):(0,t.jsx)(ed.ArrowUpFromLine,{className:"h-3 w-3"})}),(0,t.jsx)(h.Button,{variant:"ghost",size:"icon-xs",onClick:()=>N(e.index),disabled:f===e.index,className:"text-rose-400","aria-label":n("git.stashDrop"),children:(0,t.jsx)(T.Trash2,{className:"h-3 w-3"})})]})]},e.index))})]})]}):null}function eu({project:e,workspaceId:r}){let{t:l,locale:n}=(0,o.useI18n)(),i=(0,a.useRouter)(),[c,d]=(0,s.useState)(!0),[x,m]=(0,s.useState)(!0),[f,g]=(0,s.useState)(!1),[j,b]=(0,s.useState)(!1),[N,v]=(0,s.useState)(""),[y,k]=(0,s.useState)(!1),[w,C]=(0,s.useState)(!1),[S,E]=(0,s.useState)(!1),[D,I]=(0,s.useState)(e.name),[B,L]=(0,s.useState)(e.alias??""),[$,O]=(0,s.useState)(e.description??""),[A,F]=(0,s.useState)(e.localPath??""),[J,q]=(0,s.useState)(e.projectType??"FRONTEND"),[ei,ec]=(0,s.useState)([]);(0,s.useEffect)(()=>{ee(100).then(ec)},[]);let[ed,ex]=(0,s.useState)(!1),[ep,ef]=(0,s.useState)(""),[eg,ej]=(0,s.useState)(""),[eb,eN]=(0,s.useState)(""),[ev,ey]=(0,s.useState)(""),[ek,ew]=(0,s.useState)("FRONTEND"),[eC,eS]=(0,s.useState)(!1),[eP,eT]=(0,s.useState)(!1),[eE,eD]=(0,s.useState)(null),[eI,eB]=(0,s.useState)(!1),[eR,eL]=(0,s.useState)(!1),[e$,eO]=(0,s.useState)(!1),eA=e=>{ea.toast.info(e)},eF=(0,s.useCallback)(async()=>{if(e.localPath){eB(!0);try{let t=await fetch(`/api/git?path=${encodeURIComponent(e.localPath)}`);t.ok&&eD(await t.json())}catch{}finally{eB(!1)}}},[e.localPath]);(0,s.useEffect)(()=>{eF()},[eF]);let eM=async()=>{if(e.localPath){eL(!0);try{(await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"init",path:e.localPath})})).ok?(eA(l("git.initSuccess")),await eF()):eA(l("git.initFailed"))}catch{eA(l("git.initFailed"))}finally{eL(!1)}}},ez=async t=>{if(e.localPath)try{let s=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"checkout",path:e.localPath,branch:t})});if(s.ok)eA(`${l("git.switchSuccess")} ${t}`),await eF();else{let e=await s.json();eA(`${l("git.switchFailed")}: ${e.error}`)}}catch{eA(l("git.switchFailed"))}},eU=(e,t)=>{i.push(`/workspaces/${e}?projectId=${t}`,{scroll:!1}),i.refresh()},eG=async()=>{if(eg.trim()){eS(!0);try{let e=await (0,Q.createProject)({name:eg.trim(),alias:eb.trim()||void 0,description:ev.trim()||void 0,localPath:ep,projectType:ek,workspaceId:r});ex(!1),eU(r,e.id)}catch(e){ea.toast.error(e instanceof Error?e.message:String(e))}finally{eS(!1)}}},e_=async()=>{if(A&&!eP){eT(!0);try{let e=await (0,es.analyzeProjectDirectory)(A.trim(),n);O(e)}catch{ea.toast.error(l("project.analyzeError"))}finally{eT(!1)}}},eV=async()=>{try{await X(e.id,{name:D.trim(),alias:B.trim()||void 0,description:$.trim()||void 0,localPath:A.trim()||void 0,projectType:J}),i.refresh(),g(!1)}catch(e){ea.toast.error(e instanceof Error?e.message:String(e))}};return(0,t.jsxs)("aside",{className:"relative w-72 flex-shrink-0 overflow-y-auto border-l border-border bg-sidebar",children:[(0,t.jsxs)("div",{className:"border-b border-border p-4",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("h2",{className:"text-base font-semibold text-foreground",children:e.name}),e.alias&&(0,t.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:e.alias})]}),(0,t.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,t.jsx)(h.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{I(e.name),L(e.alias??""),O(e.description??""),F(e.localPath??""),g(!0)},className:"text-muted-foreground",children:(0,t.jsx)(P.Pencil,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(h.Button,{variant:"ghost",size:"icon-sm",onClick:()=>{v(""),b(!0)},className:"text-muted-foreground hover:text-rose-400",children:(0,t.jsx)(T.Trash2,{className:"h-3.5 w-3.5"})})]})]}),e.description&&(0,t.jsx)("p",{className:"mt-2 text-sm text-secondary-foreground leading-relaxed line-clamp-4",children:e.description}),(0,t.jsx)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:(0,t.jsx)("span",{className:`inline-flex items-center gap-1 rounded-md px-2 py-0.5 text-[11px] font-medium ${"GIT"===e.type?"bg-sky-500/15 text-sky-300 ring-1 ring-sky-500/20":"bg-muted text-muted-foreground ring-1 ring-border"}`,children:"GIT"===e.type?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(u.GitBranch,{className:"h-3 w-3"}),l("sidebar.right.gitType")]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(G.FileText,{className:"h-3 w-3"}),l("sidebar.right.normalType")]})})}),e.localPath&&(0,t.jsxs)("div",{className:"mt-3 flex items-start gap-2 rounded-md bg-muted/50 px-2.5 py-2 text-xs",children:[(0,t.jsx)(_.FolderOpen,{className:"mt-0.5 h-3 w-3 shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"break-all font-mono text-secondary-foreground",children:e.localPath})]}),e.gitUrl&&(0,t.jsxs)("div",{className:"mt-2 flex items-start gap-2 rounded-md bg-muted/50 px-2.5 py-2 text-xs",children:[(0,t.jsx)(U.Globe,{className:"mt-0.5 h-3 w-3 shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"break-all text-secondary-foreground",children:e.gitUrl})]}),e.localPath&&(0,t.jsxs)(h.Button,{variant:"outline",className:"mt-3 w-full h-8 gap-1.5 text-xs",disabled:w,onClick:async()=>{C(!0);try{let t=await et(e.id);i.push(`/workspaces/${r}/tasks/${t}`)}catch{ea.toast.error(l("git.openStudioFailed"))}finally{C(!1)}},children:[w?(0,t.jsx)(H.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(_.FolderOpen,{className:"h-3.5 w-3.5"}),l("git.openStudio")]})]}),(0,t.jsxs)("div",{className:"border-b border-border p-4",children:[(0,t.jsxs)(h.Button,{variant:"ghost",onClick:()=>d(!c),className:"flex w-full cursor-pointer justify-between px-2 py-2",children:[(0,t.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:l("git.section")}),c?(0,t.jsx)(M.ChevronDown,{className:"h-3.5 w-3.5 text-muted-foreground"}):(0,t.jsx)(z.ChevronRight,{className:"h-3.5 w-3.5 text-muted-foreground"})]}),c&&(0,t.jsx)("div",{className:"mt-3",children:e.localPath?eI?(0,t.jsxs)("div",{className:"flex items-center justify-center py-4 text-muted-foreground",children:[(0,t.jsx)(H.Loader2,{className:"h-4 w-4 animate-spin"}),(0,t.jsx)("span",{className:"ml-2 text-xs",children:l("git.loading")})]}):eE&&!eE.isGit?(0,t.jsxs)("div",{className:"rounded-lg border border-border bg-muted/50 p-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,t.jsx)(W.AlertCircle,{className:"h-3.5 w-3.5"}),(0,t.jsx)("p",{className:"text-xs",children:l("git.notInitialized")})]}),(0,t.jsxs)(h.Button,{className:"mt-3 h-7 w-full gap-1.5 bg-primary/10 text-xs text-primary ring-1 ring-primary/20 hover:bg-primary/15",onClick:eM,disabled:eR,children:[eR?(0,t.jsx)(H.Loader2,{className:"h-3 w-3 animate-spin"}):(0,t.jsx)(V,{className:"h-3 w-3"}),l("git.initRepo")]})]}):eE?.isGit?(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(eh,{localBranches:eE.branches??[],remoteBranches:(eE.remoteBranches??[]).filter(e=>!eE.branches?.includes(e)),currentBranch:eE.currentBranch??"",onSwitch:ez,onFetch:async()=>{e.localPath&&(await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"fetch",path:e.localPath})}),await eF())},onCreateBranch:()=>eO(!0)}),(0,t.jsx)(eo,{commits:eE.commits??[]}),(0,t.jsx)(em,{localPath:e.localPath,stashes:eE.stashes??[],hasChanges:(eE.changedFiles??[]).length>0,onRefresh:eF})]}):null:(0,t.jsx)("div",{className:"rounded-lg border border-border bg-muted/50 p-3",children:(0,t.jsxs)("div",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,t.jsx)(W.AlertCircle,{className:"h-3.5 w-3.5"}),(0,t.jsx)("p",{className:"text-xs",children:l("git.noLocalPath")})]})})})]}),(0,t.jsxs)("div",{className:"p-4",children:[(0,t.jsxs)(h.Button,{variant:"ghost",onClick:()=>m(!x),className:"flex w-full cursor-pointer justify-between px-2 py-2",children:[(0,t.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:l("sidebar.right.browseRepo")}),x?(0,t.jsx)(M.ChevronDown,{className:"h-3.5 w-3.5 text-muted-foreground"}):(0,t.jsx)(z.ChevronRight,{className:"h-3.5 w-3.5 text-muted-foreground"})]}),x&&(0,t.jsxs)("div",{className:"mt-3 space-y-3",children:[(0,t.jsxs)(h.Button,{variant:"outline",className:"w-full h-8 gap-1.5 text-xs",onClick:()=>E(!0),children:[(0,t.jsx)(_.FolderOpen,{className:"h-3.5 w-3.5"}),l("sidebar.right.browseRepo")]}),ei.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-muted-foreground mb-1.5 px-1",children:l("sidebar.right.recent")}),(0,t.jsx)("div",{className:"space-y-0.5",children:ei.map(s=>(0,t.jsxs)("button",{onClick:()=>{s.id!==e.id&&eU(s.workspaceId,s.id)},className:`flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left transition-colors ${s.id===e.id?"bg-primary/10 text-primary cursor-default":"hover:bg-accent cursor-pointer"}`,children:["GIT"===s.type?(0,t.jsx)(u.GitBranch,{className:"h-3 w-3 shrink-0 text-emerald-400"}):(0,t.jsx)(_.FolderOpen,{className:"h-3 w-3 shrink-0 text-primary/70"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("p",{className:"truncate text-xs font-medium text-foreground",children:s.name}),s.localPath&&(0,t.jsx)("p",{className:"truncate text-[10px] font-mono text-muted-foreground",children:s.localPath})]})]},s.id))})]})]})]}),(0,t.jsx)(R.Dialog,{open:f,onOpenChange:g,children:(0,t.jsxs)(R.DialogContent,{style:{maxWidth:"32rem"},children:[(0,t.jsx)(R.DialogHeader,{children:(0,t.jsx)(R.DialogTitle,{children:l("project.edit")})}),(0,t.jsxs)("div",{className:"space-y-3 py-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:l("project.name")}),(0,t.jsx)(p.Input,{value:D,onChange:e=>I(e.target.value),className:"mt-1.5"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:l("project.type.label")}),(0,t.jsx)("div",{className:"mt-1.5",children:(0,t.jsx)(el.SegmentedControl,{options:[{value:"FRONTEND",label:l("project.type.frontend")},{value:"BACKEND",label:l("project.type.backend")}],value:J,onChange:q})})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:l("project.alias")}),(0,t.jsx)(p.Input,{value:B,onChange:e=>L(e.target.value),className:"mt-1.5"})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:l("project.description")}),(0,t.jsxs)(h.Button,{type:"button",variant:"ghost",onClick:e_,className:`h-6 gap-1 px-2 text-[11px] text-muted-foreground hover:text-foreground ${!A||eP?"opacity-50":""}`,children:[eP?(0,t.jsx)(H.Loader2,{className:"h-3 w-3 animate-spin"}):(0,t.jsx)(K.Sparkles,{className:"h-3 w-3"}),eP?l("project.analyzing"):l("project.genDesc")]})]}),(0,t.jsx)(Y.Textarea,{value:$,onChange:e=>O(e.target.value),rows:2,className:"mt-1.5 w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none transition-colors focus:border-ring focus:ring-1 focus:ring-ring resize-none max-h-[200px] overflow-y-auto"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:l("project.localPath")}),(0,t.jsxs)("div",{className:"mt-1.5 flex gap-2",children:[(0,t.jsx)(p.Input,{value:A,onChange:e=>F(e.target.value),placeholder:l("project.localPathPlaceholder"),className:"flex-1 font-mono text-xs"}),(0,t.jsx)(h.Button,{variant:"outline",onClick:()=>E(!0),className:"h-8 shrink-0",children:l("folder.browse")})]})]})]}),(0,t.jsxs)(R.DialogFooter,{children:[(0,t.jsx)(h.Button,{variant:"outline",onClick:()=>g(!1),children:l("common.cancel")}),(0,t.jsx)(h.Button,{onClick:eV,disabled:!D.trim()||eP,className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:l("common.save")})]})]})}),(0,t.jsx)(er.FolderBrowserDialog,{open:S,onOpenChange:E,onSelect:e=>{f?F(e):(e=>{let t=ei.find(t=>t.localPath===e);if(t)return eU(t.workspaceId,t.id);let s=e.split("/").filter(Boolean).pop()??"";ef(e),ej(s),eN(""),ey(""),ex(!0)})(e)}}),(0,t.jsx)(R.Dialog,{open:ed,onOpenChange:ex,children:(0,t.jsxs)(R.DialogContent,{className:"sm:max-w-md",children:[(0,t.jsx)(R.DialogHeader,{children:(0,t.jsx)(R.DialogTitle,{children:l("topbar.newProject")})}),(0,t.jsxs)("div",{className:"space-y-3 py-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:l("project.localPath")}),(0,t.jsx)("div",{className:"mt-1.5 rounded-md border border-border bg-muted/50 px-3 py-2 font-mono text-xs text-muted-foreground",children:ep})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:l("project.name")}),(0,t.jsx)(p.Input,{value:eg,onChange:e=>ej(e.target.value),placeholder:l("project.namePlaceholder"),className:"mt-1.5"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:l("project.type.label")}),(0,t.jsx)("div",{className:"mt-1.5",children:(0,t.jsx)(el.SegmentedControl,{options:[{value:"FRONTEND",label:l("project.type.frontend")},{value:"BACKEND",label:l("project.type.backend")}],value:ek,onChange:ew})})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:l("project.alias")}),(0,t.jsx)(p.Input,{value:eb,onChange:e=>eN(e.target.value),placeholder:l("project.aliasPlaceholder"),className:"mt-1.5"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:l("project.description")}),(0,t.jsx)(Y.Textarea,{value:ev,onChange:e=>ey(e.target.value),placeholder:l("project.descPlaceholder"),rows:2,className:"mt-1.5 w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none transition-colors focus:border-ring focus:ring-1 focus:ring-ring resize-none"})]})]}),(0,t.jsxs)(R.DialogFooter,{children:[(0,t.jsx)(h.Button,{variant:"outline",onClick:()=>ex(!1),children:l("common.cancel")}),(0,t.jsxs)(h.Button,{onClick:eG,disabled:!eg.trim()||eC,className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:[eC?(0,t.jsx)(H.Loader2,{className:"h-3 w-3 animate-spin mr-1"}):null,l("common.create")]})]})]})}),eE?.isGit&&(0,t.jsx)(en.CreateBranchDialog,{open:e$,onOpenChange:eO,branches:eE.branches??[],currentBranch:eE.currentBranch??"",localPath:e.localPath,onCreated:async()=>{await eF(),eA(l("git.createSuccess"))},onError:e=>eA(`${l("git.createFailed")}: ${e}`)}),(0,t.jsx)(R.Dialog,{open:j,onOpenChange:e=>{b(e),e||v("")},children:(0,t.jsxs)(R.DialogContent,{className:"sm:max-w-md",children:[(0,t.jsx)(R.DialogHeader,{children:(0,t.jsx)(R.DialogTitle,{className:"text-rose-400",children:l("project.deleteTitle")})}),(0,t.jsxs)("div",{className:"space-y-3 py-2",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:l("project.deleteWarning",{name:e.name})}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:l("project.deleteIrreversible")}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:l("project.deleteConfirmLabel")}),(0,t.jsx)(p.Input,{value:N,onChange:e=>v(e.target.value),placeholder:l("project.deleteConfirmPlaceholder"),className:"mt-1.5",autoFocus:!0})]})]}),(0,t.jsxs)(R.DialogFooter,{children:[(0,t.jsx)(h.Button,{variant:"outline",onClick:()=>b(!1),children:l("common.cancel")}),(0,t.jsxs)(h.Button,{variant:"destructive",disabled:N!==l("project.deleteConfirmText")||y,onClick:async()=>{k(!0);try{await Z(e.id),ea.toast.success(l("project.deleteSuccess")),i.push(`/workspaces/${r}`)}catch{ea.toast.error(l("project.deleteFailed"))}finally{k(!1),b(!1)}},children:[y&&(0,t.jsx)(H.Loader2,{className:"h-3 w-3 animate-spin mr-1"}),l("project.deleteButton")]})]})]})})]})}function eh({localBranches:e,remoteBranches:a,currentBranch:r,onSwitch:l,onFetch:n,onCreateBranch:i}){let{t:c}=(0,o.useI18n)(),[d,p]=(0,s.useState)(!1),[f,g]=(0,s.useState)(""),[j,N]=(0,s.useState)(!1),v=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(d)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e);function e(e){v.current&&!v.current.contains(e.target)&&p(!1)}},[d]);let y=f.toLowerCase(),k=e.filter(e=>e.toLowerCase().includes(y)),w=a.filter(e=>e.toLowerCase().includes(y)),C=k.length>0||w.length>0,S=async()=>{N(!0);try{await n()}finally{N(!1)}};return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-1.5",children:[(0,t.jsx)("p",{className:"text-[10px] font-semibold uppercase tracking-wider text-muted-foreground",children:c("git.currentBranch")}),(0,t.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,t.jsx)(h.Button,{variant:"ghost",size:"icon-xs",onClick:S,disabled:j,className:"text-muted-foreground","aria-label":"Fetch",children:(0,t.jsx)(J.RefreshCw,{className:`h-3 w-3 ${j?"animate-spin":""}`})}),(0,t.jsx)(h.Button,{variant:"ghost",size:"icon-xs",onClick:i,className:"text-muted-foreground","aria-label":c("git.createBranch"),children:(0,t.jsx)(x.Plus,{className:"h-3 w-3"})})]})]}),(0,t.jsxs)("div",{className:"relative",ref:v,children:[(0,t.jsxs)("button",{onClick:()=>{p(!d),g("")},className:"flex w-full items-center justify-between rounded-lg border border-border bg-muted/50 px-3 py-2 text-left transition-colors hover:bg-accent",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,t.jsx)(u.GitBranch,{className:"h-3 w-3 shrink-0 text-emerald-400"}),(0,t.jsx)("span",{className:"truncate font-mono text-xs text-foreground",title:r||void 0,children:r||"—"})]}),(0,t.jsx)(M.ChevronDown,{className:`h-3 w-3 shrink-0 text-muted-foreground transition-transform ${d?"rotate-180":""}`})]}),d&&(0,t.jsxs)("div",{className:"absolute left-0 right-0 top-full z-20 mt-1 rounded-lg border border-border bg-popover shadow-xl",children:[(0,t.jsx)("div",{className:"border-b border-border p-1.5",children:(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(m.Search,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-3 w-3 text-muted-foreground"}),(0,t.jsx)("input",{value:f,onChange:e=>g(e.target.value),placeholder:"Filter...",autoFocus:!0,className:"h-7 w-full rounded-md bg-muted/50 pl-7 pr-2 text-xs text-foreground placeholder-muted-foreground outline-none focus:ring-1 focus:ring-ring"})]})}),(0,t.jsxs)("div",{className:"max-h-60 overflow-auto py-1",children:[!C&&(0,t.jsx)("p",{className:"px-3 py-2 text-xs text-muted-foreground",children:"No branches found"}),k.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"px-3 pt-1.5 pb-1 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground",children:c("git.localBranches")}),k.map(e=>{let s=e===r;return(0,t.jsxs)("button",{onClick:()=>{s||l(e),p(!1)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left transition-colors ${s?"bg-emerald-500/10 text-emerald-400":"text-secondary-foreground hover:bg-accent"}`,children:[(0,t.jsx)(u.GitBranch,{className:"h-3 w-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate font-mono text-xs",title:e,children:e}),s&&(0,t.jsx)(b.Check,{className:"h-3 w-3 ml-auto shrink-0"})]},`local-${e}`)})]}),w.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"px-3 pt-2.5 pb-1 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground",children:c("git.remoteBranches")}),w.map(e=>(0,t.jsxs)("button",{onClick:()=>{l(e),p(!1)},className:"flex w-full items-center gap-2 px-3 py-1.5 text-left text-secondary-foreground transition-colors hover:bg-accent",children:[(0,t.jsx)(U.Globe,{className:"h-3 w-3 shrink-0 text-sky-400"}),(0,t.jsx)("span",{className:"truncate font-mono text-xs",title:e,children:e})]},`remote-${e}`))]})]})]})]})]})}var ep=e.i(475958),ef=e.i(567860),eg=e.i(313029),ej=e.i(301348),eb=e.i(746798),eN=e.i(259846),ev=e.i(975157);function ey({title:e,description:s,branch:a,baseBranch:r,hasConversation:l,updatedAt:n,onBack:i}){let{t:c}=(0,o.useI18n)();return(0,t.jsxs)("div",{className:"border-b border-border px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(K.Sparkles,{className:"h-3.5 w-3.5 text-primary"}),(0,t.jsx)("span",{className:"text-xs font-semibold text-primary",children:c("taskDetail.title")})]}),(0,t.jsxs)(h.Button,{variant:"ghost",onClick:i,className:"flex items-center gap-1 text-xs text-muted-foreground transition-colors hover:text-foreground h-auto px-2 py-1",children:[(0,t.jsx)(eN.ArrowLeft,{className:"h-3.5 w-3.5"}),c("taskDetail.back")]})]}),(0,t.jsx)("h2",{className:"mt-2.5 text-lg font-bold tracking-tight text-foreground",children:e}),s&&(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground line-clamp-2",children:s}),(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[r?(0,t.jsxs)(D.Badge,{variant:"secondary",className:"bg-muted text-muted-foreground text-[10px] font-mono border border-border",children:[(0,t.jsx)(u.GitBranch,{className:"mr-1 h-3 w-3"}),r," · worktree"]}):a?(0,t.jsx)(D.Badge,{variant:"secondary",className:"bg-muted text-muted-foreground text-[10px] font-mono border border-border",children:c("taskDetail.directMode")}):null,l&&(0,t.jsx)(D.Badge,{variant:"secondary",className:"bg-emerald-500/10 text-emerald-400 text-[10px] border border-emerald-500/20",children:c("taskDetail.hasConversation")}),(0,t.jsxs)("span",{className:"text-[11px] text-muted-foreground",children:[c("taskDetail.updatedAt")," ",(0,ev.formatRelativeTime)(n)]})]})]})}var ek=e.i(14842),ew=e.i(865514),eC=e.i(83434),eS=e.i(671325),eP=e.i(404249),eT=e.i(738955),eE=e.i(89140),eD=e.i(313327),eI=e.i(605362),eB=e.i(761292),eR=e.i(130098),eL=e.i(765240),e$=e.i(326883),eO=e.i(631675);let eA=(0,l.default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);var eF=e.i(657153),eM=e.i(291756);let ez=(0,q.createServerReference)("407a60504b146770beb7c549b38414f582b2045a5e",q.callServer,void 0,q.findSourceMapURL,"getTaskNotes");var eU=e.i(964461);let eG=(0,q.createServerReference)("4092ed1337cd78627067b9031aa4c4a530da8400b0",q.callServer,void 0,q.findSourceMapURL,"getTaskAssets");var e_=e.i(316979),eV=e.i(321587);function eW({taskId:e,projectId:a}){let{t:r}=(0,o.useI18n)(),l=(0,s.useRef)(null),[n,i]=(0,s.useState)([]),[c,d]=(0,s.useState)([]),[m,u]=(0,s.useState)(!1),[p,f]=(0,s.useState)(""),[g,j]=(0,s.useState)(""),[b,N]=(0,s.useState)(!1);async function v(){p.trim()&&(await (0,eM.createNote)({title:p.trim(),content:g.trim(),projectId:a,taskId:e,category:"task"}),f(""),j(""),u(!1),ez(e).then(i))}async function y(e){await (0,eU.deleteNote)(e),i(t=>t.filter(t=>t.id!==e))}async function k(t){let s=t.target.files?.[0];if(s){N(!0);try{let t=new FormData;t.set("file",s),t.set("projectId",a),t.set("taskId",e),await (0,e_.uploadAsset)(t),eG(e).then(d)}finally{N(!1),l.current&&(l.current.value="")}}}async function w(e){await (0,eV.deleteAsset)(e),d(t=>t.filter(t=>t.id!==e))}return(0,s.useEffect)(()=>{ez(e).then(i),eG(e).then(d)},[e]),(0,t.jsx)(L.ScrollArea,{className:"h-full",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsxs)("div",{className:"border-b border-border px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("h3",{className:"flex items-center gap-1.5 text-xs font-semibold uppercase tracking-wider text-muted-foreground",children:[(0,t.jsx)(G.FileText,{className:"h-3.5 w-3.5"}),r("taskPage.notes")]}),(0,t.jsxs)(h.Button,{variant:"ghost",className:"h-6 gap-1 px-2 text-xs",onClick:()=>u(!m),children:[m?(0,t.jsx)(eF.X,{className:"h-3 w-3"}):(0,t.jsx)(x.Plus,{className:"h-3 w-3"}),m?"":r("taskPage.addNote")]})]}),m&&(0,t.jsxs)("div",{className:"mt-3 space-y-2",children:[(0,t.jsx)("input",{type:"text",value:p,onChange:e=>f(e.target.value),placeholder:r("taskPage.noteTitle"),className:"h-8 w-full rounded-md border border-border bg-background px-3 text-sm focus:outline-none focus:ring-1 focus:ring-primary",autoFocus:!0}),(0,t.jsx)("textarea",{value:g,onChange:e=>j(e.target.value),placeholder:r("taskPage.noteContent"),rows:3,className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm focus:outline-none focus:ring-1 focus:ring-primary resize-none"}),(0,t.jsx)(h.Button,{className:"text-xs",onClick:v,disabled:!p.trim(),children:r("taskPage.addNote")})]}),(0,t.jsxs)("div",{className:"mt-2 space-y-2",children:[0===n.length&&!m&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground py-2",children:r("taskPage.noNotes")}),n.map(e=>(0,t.jsx)("div",{className:"group rounded-md border border-border bg-card p-3",children:(0,t.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("h4",{className:"text-sm font-medium truncate",children:e.title}),e.content&&(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground line-clamp-3 whitespace-pre-wrap",children:e.content}),(0,t.jsx)("p",{className:"mt-1 text-[10px] text-muted-foreground",children:new Date(e.createdAt).toLocaleString()})]}),(0,t.jsx)(h.Button,{variant:"ghost",size:"icon-xs",onClick:()=>y(e.id),className:"shrink-0 text-muted-foreground opacity-0 hover:bg-destructive/10 hover:text-destructive group-hover:opacity-100",title:r("taskPage.deleteNote"),children:(0,t.jsx)(T.Trash2,{className:"h-3.5 w-3.5"})})]})},e.id))]})]}),(0,t.jsxs)("div",{className:"px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("h3",{className:"flex items-center gap-1.5 text-xs font-semibold uppercase tracking-wider text-muted-foreground",children:[(0,t.jsx)(eA,{className:"h-3.5 w-3.5"}),r("taskPage.attachments")]}),(0,t.jsxs)(h.Button,{variant:"ghost",className:"h-6 gap-1 px-2 text-xs",onClick:()=>l.current?.click(),disabled:b,children:[(0,t.jsx)(eO.Upload,{className:"h-3 w-3"}),r("taskPage.uploadFile")]}),(0,t.jsx)("input",{ref:l,type:"file",className:"hidden",onChange:k})]}),(0,t.jsxs)("div",{className:"mt-2 space-y-1.5",children:[0===c.length&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground py-2",children:r("taskPage.noAttachments")}),c.map(e=>{var s;return(0,t.jsxs)("div",{className:"group flex items-center gap-2 rounded-md border border-border bg-card px-3 py-2",children:[(0,t.jsx)(eA,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"flex-1 truncate text-sm",children:e.filename}),(0,t.jsx)("span",{className:"shrink-0 text-[10px] text-muted-foreground",children:(s=e.size)?s<1024?`${s} B`:s<1048576?`${(s/1024).toFixed(1)} KB`:`${(s/1024/1024).toFixed(1)} MB`:""}),(0,t.jsx)(h.Button,{variant:"ghost",size:"icon-xs",onClick:()=>w(e.id),className:"shrink-0 text-muted-foreground opacity-0 hover:bg-destructive/10 hover:text-destructive group-hover:opacity-100",title:r("taskPage.deleteAttachment"),children:(0,t.jsx)(T.Trash2,{className:"h-3 w-3"})})]},e.id)})]})]})]})})}function eH({task:e,workspaceId:r,projectLocalPath:l,onClose:n}){let{t:i}=(0,o.useI18n)(),c=(0,a.useRouter)(),{removePortal:d}=(0,eC.useTerminalPortal)(),[x,m]=(0,s.useState)("terminal"),[u,p]=(0,s.useState)(null),[g,j]=(0,s.useState)(!1),[b,N]=(0,s.useState)(e.status);(0,s.useEffect)(()=>{N(e.status)},[e.status]);let[v,y]=(0,s.useState)(null),[k,w]=(0,s.useState)(!1),[C,S]=(0,s.useState)(!1),[P,T]=(0,s.useState)([]);(0,s.useEffect)(()=>{y(null),w(!1),S(!1),T([]),p(null),m("terminal")},[e.id]);let[E,D]=(0,s.useState)([]),[I,B]=(0,s.useState)(null);(0,s.useEffect)(()=>{let e=!1;return(0,eL.getPrompts)().then(t=>{if(e)return;D(t.map(e=>({id:e.id,name:e.name,isDefault:e.isDefault})));let s=t.find(e=>e.isDefault);s&&B(s.id)}),()=>{e=!0}},[]),(0,s.useEffect)(()=>{y(null),S(!1);let t=!1;return(0,eS.getTaskExecutions)(e.id).then(e=>{if(t)return;let s=e[0];if(s?.status==="RUNNING"){let e=s.worktreePath||l||null;e&&y(e)}T(e.filter(e=>"RUNNING"!==e.status)),S(!0)}),()=>{t=!0}},[e.id]),(0,s.useEffect)(()=>{if("changes"!==x||"TODO"===b||"CANCELLED"===b)return;let t=!1;return j(!0),fetch(`/api/tasks/${e.id}/diff`).then(e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);return e.json()}).then(e=>{t||p(e?.files||e?.branchDeleted?e:null)}).catch(()=>{t||p(null)}).finally(()=>{t||j(!1)}),()=>{t=!0}},[x,b,e.id]);let R=(0,s.useCallback)(async()=>{if(!k){w(!0),d(e.id);try{let{worktreePath:t}=await (0,eP.startPtyExecution)(e.id,"",I);y(t),N("IN_PROGRESS")}catch(e){w(!1),ea.toast.error(e instanceof Error?e.message:String(e))}}},[e.id,k,I]),$=(0,s.useCallback)(t=>{w(!1),y(null),d(e.id),0===t&&N("IN_REVIEW"),(0,eS.getTaskExecutions)(e.id).then(e=>{T(e.filter(e=>"RUNNING"!==e.status))}),c.refresh()},[c,e.id]),O=(0,s.useCallback)(async()=>{await (0,eT.stopPtyExecution)(e.id),w(!1),d(e.id),y(null),N("IN_REVIEW"),(0,eS.getTaskExecutions)(e.id).then(e=>{T(e.filter(e=>"RUNNING"!==e.status))}),c.refresh()},[e.id,c]),A=(0,s.useCallback)(async t=>{w(!0),d(e.id),y(null);try{let{worktreePath:s}=await (0,eE.resumePtyExecution)(e.id,t);y(s),N("IN_PROGRESS")}catch{w(!1)}},[e.id,d]),F=(0,s.useCallback)(async()=>{w(!0),d(e.id),y(null);try{let{worktreePath:t}=await (0,eD.continueLatestPtyExecution)(e.id);y(t),N("IN_PROGRESS")}catch(e){w(!1),ea.toast.error(e instanceof Error?e.message:String(e))}},[e.id,d]),[M,z]=(0,s.useState)(!1),[U,_]=(0,s.useState)([]),V=(0,s.useCallback)(async()=>{try{let t=await (0,eB.checkWorktreeClean)(e.id);if(t.hasWorktree&&!t.clean)return void ea.toast.error(i("taskPage.uncommittedChanges",{count:String(t.files.length)}));if(t.hasWorktree&&t.clean&&!t.hasCommits)return void ea.toast.error(i("taskPage.noChangesToComplete"));if(t.hasWorktree&&t.hasCommits){_(t.commitLog),z(!0);return}await (0,eI.updateTaskStatus)(e.id,"DONE"),N("DONE"),ea.toast.success(i("taskPage.taskCompleted")),c.refresh()}catch{ea.toast.error("Failed to complete task")}},[e.id,c,i]),W=(0,s.useCallback)(()=>{N("DONE"),z(!1),ea.toast.success(i("taskPage.taskCompleted")),c.refresh()},[c,i]),K=(0,s.useCallback)(async t=>{try{let{hash:s}=await (0,eR.commitWorktreeChanges)(e.id,t);ea.toast.success(i("diff.commitSuccess",{hash:s})),c.refresh();let a=await fetch(`/api/tasks/${e.id}/diff`);if(a.ok){let e=await a.json();p(e?.files?e:null)}}catch(e){ea.toast.error(e instanceof Error?e.message:"Commit failed")}},[e.id,c,i]);return(0,t.jsxs)("div",{className:"flex h-full w-[600px] flex-shrink-0 flex-col border-l border-border bg-sidebar","data-testid":"task-detail-panel",children:[(0,t.jsx)(ey,{title:e.title,description:i("taskDetail.panelDescription"),branch:`task/${e.id}`,baseBranch:e.baseBranch,hasConversation:!1,updatedAt:e.updatedAt,onBack:n}),(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-2",children:[(0,t.jsxs)("div",{className:"flex gap-1",children:[(0,t.jsxs)("button",{onClick:()=>m("terminal"),className:`flex items-center gap-1.5 px-3 py-1 text-xs font-medium rounded-md ${"terminal"===x?"bg-muted text-foreground":"text-muted-foreground hover:text-foreground"}`,children:[(0,t.jsx)(ef.Terminal,{className:"h-3 w-3"}),i("terminal.execute")]}),(0,t.jsx)("button",{onClick:()=>m("changes"),className:`px-3 py-1 text-xs font-medium rounded-md ${"changes"===x?"bg-muted text-foreground":"text-muted-foreground hover:text-foreground"}`,children:i("taskPage.changes")}),(0,t.jsxs)("button",{onClick:()=>m("notes"),className:`flex items-center gap-1.5 px-3 py-1 text-xs font-medium rounded-md ${"notes"===x?"bg-muted text-foreground":"text-muted-foreground hover:text-foreground"}`,children:[(0,t.jsx)(G.FileText,{className:"h-3 w-3"}),i("taskPage.notes")]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:["IN_REVIEW"===b&&(0,t.jsxs)(h.Button,{size:"sm",onClick:V,className:"bg-emerald-500/15 text-emerald-400 ring-1 ring-emerald-500/20 hover:bg-emerald-500/25",children:[(0,t.jsx)(ej.CheckCircle2,{className:"h-3 w-3"}),i("taskPage.completeTask")]}),"DONE"!==b&&"CANCELLED"!==b&&(0,t.jsxs)(h.Button,{variant:"ghost",size:"sm",onClick:()=>c.push(`/workspaces/${r}/tasks/${e.id}`),className:"text-muted-foreground",children:[(0,t.jsx)(ep.ExternalLink,{className:"h-3 w-3"}),i("taskPage.viewDetails")]})]})]}),"terminal"===x?(0,t.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden",children:C?v?(0,t.jsxs)("div",{className:"flex h-full flex-col overflow-hidden",children:[(0,t.jsxs)("div",{className:"shrink-0 flex items-center justify-between border-b border-neutral-800 px-3 py-2 bg-[#0f1419]",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1.5 text-xs text-emerald-400",children:[(0,t.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-400 animate-pulse"}),i("execution.running")]}),(0,t.jsxs)(eb.Tooltip,{children:[(0,t.jsxs)(eb.TooltipTrigger,{onClick:O,className:"flex items-center gap-1.5 rounded-md bg-red-500/15 px-3 py-1 text-xs font-medium text-red-400 hover:bg-red-500/25 transition-colors",children:[(0,t.jsx)(eg.Square,{className:"h-3 w-3"}),i("terminal.stopExecution")]}),(0,t.jsx)(eb.TooltipContent,{side:"bottom",children:i("terminal.stopHint")})]})]}),(0,t.jsx)("div",{className:"flex-1 min-h-0",children:(0,t.jsx)(eC.TerminalOutlet,{taskId:e.id,worktreePath:v,onSessionEnd:$})})]}):"DONE"===b||"CANCELLED"===b?(0,t.jsx)("div",{className:"flex h-full flex-col overflow-hidden",children:(0,t.jsx)(L.ScrollArea,{className:"flex-1 min-h-0",children:(0,t.jsx)(e$.ExecutionTimeline,{executions:P})})}):(0,t.jsxs)("div",{className:"flex h-full flex-col overflow-hidden",children:[(0,t.jsxs)("div",{className:"shrink-0 flex items-center gap-2 border-b border-border px-4 py-3",children:[E.length>0&&(0,t.jsxs)(f.Select,{defaultValue:I??"none",onValueChange:e=>B("none"===e?null:e),children:[(0,t.jsx)(f.SelectTrigger,{size:"sm",className:"min-w-[120px]",children:(0,t.jsx)("span",{className:"text-left truncate",children:I?E.find(e=>e.id===I)?.name??i("terminal.noPrompt"):i("terminal.noPrompt")})}),(0,t.jsxs)(f.SelectContent,{className:"min-w-[200px]",children:[(0,t.jsx)(f.SelectItem,{value:"none",children:i("terminal.noPrompt")}),E.map(e=>(0,t.jsxs)(f.SelectItem,{value:e.id,children:[e.name,e.isDefault?" ★":""]},e.id))]})]},`prompt-${E.length}`),(0,t.jsxs)(h.Button,{onClick:R,disabled:k,size:"sm",className:"gap-2 px-4",children:[k?(0,t.jsx)(H.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(ef.Terminal,{className:"h-3.5 w-3.5"}),k?i("terminal.executing"):i("terminal.launch")]})]}),(0,t.jsx)(L.ScrollArea,{className:"flex-1 min-h-0",children:(0,t.jsx)(e$.ExecutionTimeline,{executions:P,onResume:A,onContinueLatest:F})})]}):(0,t.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 bg-[#0f1419]",children:[(0,t.jsx)(H.Loader2,{className:"size-5 animate-spin text-neutral-500"}),(0,t.jsx)("span",{className:"text-xs text-neutral-500",children:i("execution.loading")})]})}):"changes"===x?(0,t.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden",children:g?(0,t.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:i("taskPage.loadingDiff")})}):u?.branchDeleted?(0,t.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:i("taskPage.branchDeleted")})}):u?(0,t.jsx)(ek.TaskDiffView,{taskId:e.id,files:u.files,totalAdded:u.totalAdded,totalRemoved:u.totalRemoved,hasConflicts:u.hasConflicts,conflictFiles:u.conflictFiles,onCommit:K,hasUncommitted:u.hasUncommitted}):(0,t.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:i("taskPage.noChanges")})})}):"notes"===x?(0,t.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden",children:(0,t.jsx)(eW,{taskId:e.id,projectId:e.projectId})}):null,(0,t.jsx)(ew.TaskMergeConfirmDialog,{open:M,onOpenChange:z,taskId:e.id,taskTitle:e.title,baseBranch:e.baseBranch??"main",fileCount:u?.files?.length??0,commitCount:u?.commitCount??0,commitLog:U,onMergeComplete:W})]})}var eK=e.i(812426),eJ=e.i(256317);let eY=(0,q.createServerReference)("400f4839dc0b1bf785aefc73abeeafd2d918c21e91",q.callServer,void 0,q.findSourceMapURL,"deleteTask"),eq=(0,q.createServerReference)("40bd98dde4c1ef5955329b927d0ca663fa200662bf",q.callServer,void 0,q.findSourceMapURL,"toggleTaskPinned"),eX=(0,q.createServerReference)("40d9f09adb6eab35a2451b08187e38498346dbf55b",q.callServer,void 0,q.findSourceMapURL,"getVersionsForPicker");var eQ=e.i(19671);function eZ({projects:e,activeProjectId:a,onSelect:r}){let l=(0,s.useRef)(null),[n,i]=(0,s.useState)(!1),[o,c]=(0,s.useState)(!1),d=()=>{let e=l.current;e&&(i(e.scrollLeft>0),c(e.scrollLeft<e.scrollWidth-e.clientWidth-1))};(0,s.useEffect)(()=>{d();let e=l.current;if(e){e.addEventListener("scroll",d);let t=new ResizeObserver(d);return t.observe(e),()=>{e.removeEventListener("scroll",d),t.disconnect()}}},[e]);let x=e=>{let t=l.current;t&&t.scrollBy({left:"left"===e?-150:150,behavior:"smooth"})};return(0,t.jsxs)("div",{className:"relative flex items-center",children:[n&&(0,t.jsx)("button",{onClick:()=>x("left"),className:"absolute left-0 z-10 flex h-8 w-8 items-center justify-center rounded-md bg-background/90 text-muted-foreground shadow-sm ring-1 ring-border backdrop-blur-sm transition-colors hover:text-foreground",children:(0,t.jsx)(eQ.ChevronLeft,{className:"h-4 w-4"})}),(0,t.jsx)("div",{ref:l,className:"flex items-center gap-1.5 overflow-x-auto scrollbar-none px-1 py-1",style:{scrollbarWidth:"none",msOverflowStyle:"none"},children:e.map(e=>{let s=a===e.id;return(0,t.jsxs)("button",{onClick:()=>{s||r(e.id)},className:`shrink-0 rounded-lg border-b-2 px-4 py-2 text-sm font-medium transition-colors ${s?"border-primary bg-primary/10 text-primary ring-1 ring-primary/20 cursor-default":"border-transparent text-muted-foreground hover:bg-accent hover:text-foreground cursor-pointer"}`,children:[(0,t.jsx)("span",{children:e.name}),e.alias&&(0,t.jsx)("span",{className:"ml-1.5 text-xs text-muted-foreground font-normal",children:e.alias})]},e.id)})}),o&&(0,t.jsx)("button",{onClick:()=>x("right"),className:"absolute right-0 z-10 flex h-8 w-8 items-center justify-center rounded-md bg-background/90 text-muted-foreground shadow-sm ring-1 ring-border backdrop-blur-sm transition-colors hover:text-foreground",children:(0,t.jsx)(z.ChevronRight,{className:"h-4 w-4"})})]})}e.s(["BoardPageClient",0,function({workspaceId:e,projectId:r,project:l,projects:n,initialTasks:i,labels:o,openTaskId:d}){let x=(0,a.useRouter)(),[,m]=(0,s.useTransition)(),[u,h]=(0,s.useState)(""),[p,f]=(0,s.useState)("all"),[j,b]=(0,s.useState)(!1),[v,y]=(0,s.useState)("TODO"),[k,w]=(0,s.useState)(d??null),[C,S]=(0,s.useState)([]),P=k?i.find(e=>e.id===k)??null:null,[T,E]=(0,s.useState)(null);(0,s.useEffect)(()=>{eX(r).then(S).catch(()=>S([]))},[r]);let D=C.find(e=>e.isCurrent)?.id??null,I=(0,s.useCallback)(()=>{m(()=>{x.refresh()})},[x]);(0,s.useEffect)(()=>{if(j)return;let e=setInterval(()=>{m(()=>{x.refresh()})},5e3);return()=>clearInterval(e)},[x,j]);let B=(0,s.useCallback)(e=>{h(e)},[]),R=(0,s.useCallback)(async(e,t)=>{await (0,eI.updateTaskStatus)(e,t),I()},[I]),L=(0,s.useCallback)(async t=>{let s=await (0,eK.createTask)({title:t.title,description:t.description,projectId:r,priority:t.priority,status:t.status,labelIds:t.labelIds,baseBranch:t.baseBranch,subPath:t.subPath,versionId:t.versionId??void 0});if(I(),t.autoStart&&s?.id)try{await (0,eP.startPtyExecution)(s.id,""),x.push(`/workspaces/${e}/tasks/${s.id}`)}catch(e){ea.toast.error(e instanceof Error?e.message:String(e))}},[r,I,x,e]),$=(0,s.useCallback)(async(e,t)=>{await (0,eJ.updateTask)(e,{...t,labelIds:t.labelIds}),E(null),I()},[I]),O=(0,s.useCallback)(async e=>{await eY(e),k===e&&w(null),I()},[I,k]),M=(0,s.useCallback)(async e=>{await eq(e),I()},[I]),z=(0,s.useCallback)(async t=>{try{await (0,eP.startPtyExecution)(t,"")}catch(e){ea.toast.error(e instanceof Error?e.message:String(e))}x.push(`/workspaces/${e}/tasks/${t}`)},[x,e]),U=(0,s.useCallback)(async(e,t)=>{await (0,eI.updateTaskStatus)(e,t),I()},[I]),G=(0,s.useCallback)(e=>{y(e),E(null),b(!0)},[]),_=(0,s.useCallback)(e=>{E(e),b(!0)},[]),V=i.filter(e=>!e.labels?.some(e=>e.label.name===N.TOWER_LABEL_NAME&&e.label.isBuiltin)),W=V.filter(e=>{if("backlog"===p){if(e.versionId)return!1}else if("all"!==p&&e.versionId!==p)return!1;if(u.trim()){let t=u.toLowerCase();if(!e.title.toLowerCase().includes(t)&&!e.description?.toLowerCase().includes(t))return!1}return!0});return(0,t.jsxs)("div",{className:"flex h-full",children:[(0,t.jsxs)("div",{className:"flex flex-1 flex-col overflow-hidden",children:[(0,t.jsx)("div",{className:"px-6 pt-3 pb-1",children:(0,t.jsx)(eZ,{projects:n,activeProjectId:r,onSelect:t=>x.push(`/workspaces/${e}?projectId=${t}`,{scroll:!1})})}),(0,t.jsx)(c,{totalTasks:V.length,runningTasks:V.filter(e=>"IN_PROGRESS"===e.status).length}),(0,t.jsx)(g,{searchQuery:u,onSearchChange:B,versions:C,versionFilter:p,onVersionFilterChange:f,versionsHref:`/workspaces/${e}/projects/${r}/versions`,onCreateTask:()=>{E(null),b(!0)}}),(0,t.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden p-4",children:(0,t.jsx)(A,{initialTasks:W,onTaskMove:R,onTaskClick:e=>{w(e.id)},onEditTask:_,onAddTask:G,onDeleteTask:O,onTogglePin:M,workspaceId:e,onContextMenuStatusChange:U,onContextMenuLaunch:z})}),(0,t.jsx)(F.CreateTaskDialog,{open:j,onOpenChange:e=>{b(e),e||E(null)},onSubmit:L,onUpdate:$,defaultStatus:v,editTask:T,editTaskLabelIds:T?.labels?T.labels.map(e=>e.labelId):[],labels:o.filter(e=>!(e.name===N.TOWER_LABEL_NAME&&e.isBuiltin)),projectType:l.type,projectLocalPath:l.localPath,versions:C,defaultVersionId:D})]}),P?(0,t.jsx)(eH,{task:P,workspaceId:e,projectLocalPath:l.localPath,onClose:()=>w(null)}):(0,t.jsx)(eu,{project:l,workspaceId:e})]})}],783426)}]);
|