tower-studio 0.2.16 → 0.2.19
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 -100
- 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/next-font-manifest.json +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 +40 -28
- package/.next/standalone/.next/server/app/_not-found/page.js +6 -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/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/missions/page/next-font-manifest.json +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 +87 -63
- package/.next/standalone/.next/server/app/missions/page.js +9 -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/next-font-manifest.json +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 +40 -28
- package/.next/standalone/.next/server/app/onboarding/page.js +6 -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/page/next-font-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +40 -28
- package/.next/standalone/.next/server/app/page.js +6 -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/next-font-manifest.json +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 +67 -43
- package/.next/standalone/.next/server/app/settings/page.js +7 -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/workspaces/[workspaceId]/archive/page/next-font-manifest.json +1 -1
- 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 +186 -138
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js +8 -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/next-font-manifest.json +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 +184 -124
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js +8 -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/next-font-manifest.json +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 +74 -62
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js +6 -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/next-font-manifest.json +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 +174 -114
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js +9 -7
- 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/next-font-manifest.json +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 +40 -28
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js +7 -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/next-font-manifest.json +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 +158 -110
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js +8 -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/next-font-manifest.json +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 +126 -78
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js +10 -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/next-font-manifest.json +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 +60 -48
- package/.next/standalone/.next/server/app/workspaces/page.js +6 -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 +3 -3
- 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/[externals]_@vscode_ripgrep_0m7itqb._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0vx7inx._.js → [root-of-the-server]__01evhhc._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__063j5j2._.js → [root-of-the-server]__0261~vp._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0313pct._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0o4yodb._.js → [root-of-the-server]__07ns1z8._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__08xomvf._.js +47 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0lhroxu._.js → [root-of-the-server]__09rts_e._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0b.ej5q._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0c7x0o9._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e82_jw._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__09n4g~p._.js → [root-of-the-server]__0eea3ta._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0qy_98o._.js → [root-of-the-server]__0la1659._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__08g-39i._.js → [root-of-the-server]__0m1tg3c._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__057bwkf._.js → [root-of-the-server]__0oqhxfb._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0wabw~r._.js → [root-of-the-server]__0qy0o3-._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0sc_a_d._.js +30 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0-pzjth._.js → [root-of-the-server]__0sdd0qu._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0sdt1y5._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0sk.itb._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__00l2th1._.js → [root-of-the-server]__0th0_fo._.js} +4 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ty1ao1._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0vicp7s._.js → [root-of-the-server]__0v7p~3.._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wjuu0z._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wt83kv._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0y.s5ax._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0y5wu~l._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0y.2qv_._.js → [root-of-the-server]__0z7je5_._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0zq.n2w._.js +30 -0
- 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]__0zgzcl5._.js → [root-of-the-server]__12ktvsa._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__13i_x1.._.js → [root-of-the-server]__13374-3._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__134_xv.._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0hj6ykf._.js → _0-ez10.._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_01e47s2._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/_01yg50d._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0jis7fv._.js → _0574rlr._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_05l656y._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_06-jig2._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0u6n.gw._.js → _08z-g~5._.js} +4 -4
- package/.next/standalone/.next/server/chunks/ssr/_09qgmwg._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0_7d5_7._.js +7 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0l0n0gc._.js → _0_vjay8._.js} +4 -4
- package/.next/standalone/.next/server/chunks/ssr/_0_zfpwh._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0cj9a7y._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0djgo-u._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0dvltcf._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0gv9sv3._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0jg.s-g._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0jz8fv8._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0b9lr.2._.js → _0kef0v6._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0n.xiu5._.js +7 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0_in9ut._.js → _0nbufo.._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0ng0eku._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0~~v0og._.js → _0qkxdkn._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0bijc0.._.js → _0r6gweb._.js} +4 -4
- package/.next/standalone/.next/server/chunks/ssr/_0rdyrfd._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_08j7--7._.js → _0rqf5w7._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0st9b1_._.js → _0rt8jf_._.js} +4 -4
- package/.next/standalone/.next/server/chunks/ssr/{_0ds16oj._.js → _0sbxdnc._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0ueyys5._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0unw1fq._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0i2m-0~._.js → _0uuzh5m._.js} +4 -4
- package/.next/standalone/.next/server/chunks/ssr/{_11ixey~._.js → _0~aon4t._.js} +4 -4
- package/.next/standalone/.next/server/chunks/ssr/_10ogq8w._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_13esy08._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_13kwp85._.js +7 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules__pnpm_0hhlpw6._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_075s.rk._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_0djxlqx._.js +3 -0
- 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_00tdjs9._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_09ajdu_._.js → src_lib_0153vha._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_05wgz5w._.js → src_lib_07bxr4y._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_078780e._.js → src_lib_0dnn~ft._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0e.v07~._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0haj7_-._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0vp4mgz._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0wd-1.k._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0yvdojq._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0zfjhu1._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0~cwhiw._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_127qa83._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_12h5txa._.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/chunks/ssr/src_lib_worktree_ts_06cucy3._.js +1 -1
- package/.next/standalone/.next/server/functions-config-manifest.json +10 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/next-font-manifest.js +1 -1
- package/.next/standalone/.next/server/next-font-manifest.json +13 -13
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/pages-manifest.json +0 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +678 -456
- package/.next/standalone/.next/static/chunks/0._824vjqa-9k.js +5 -0
- package/.next/standalone/.next/static/chunks/{0e8wfpfgivr6t.js → 03og02bu96n.e.js} +1 -1
- package/.next/standalone/.next/static/chunks/{07idrdtj1o8zu.js → 04wsku4m5~s1q.js} +1 -1
- package/.next/standalone/.next/static/chunks/{123doanyjnwwq.css → 066jf0nk75nic.css} +1 -1
- package/.next/standalone/.next/static/chunks/06qwj~g0qwhey.js +5 -0
- package/.next/standalone/.next/static/chunks/08rokhw7bg_zn.js +1 -0
- package/.next/standalone/.next/static/chunks/08~85j56saf6q.js +1 -0
- package/.next/standalone/.next/static/chunks/096ysbmoa9qsb.js +1 -0
- package/.next/standalone/.next/static/chunks/0b6zhezopdbs2.js +1 -0
- package/.next/standalone/.next/static/chunks/0c7b_.6i4jef8.js +1 -0
- package/.next/standalone/.next/static/chunks/0esvyij44lvt6.js +1 -0
- package/.next/standalone/.next/static/chunks/0hniqlgz6waea.js +2 -0
- package/.next/standalone/.next/static/chunks/0hseznii2u-4n.js +5 -0
- package/.next/standalone/.next/static/chunks/0izukvmui9f8m.js +1 -0
- package/.next/standalone/.next/static/chunks/0kycb80.t-7_-.js +1 -0
- package/.next/standalone/.next/static/chunks/0lv0zqg.f66eu.js +1 -0
- package/.next/standalone/.next/static/chunks/0njf5husn6ovd.js +1 -0
- package/.next/standalone/.next/static/chunks/0okjtk-a.5lz0.css +1 -0
- package/.next/standalone/.next/static/chunks/0p7hamd-yspky.js +2 -0
- package/.next/standalone/.next/static/chunks/0s6ygn-alcm2d.js +1 -0
- package/.next/standalone/.next/static/chunks/0v66~34w9t3gz.js +5 -0
- package/.next/standalone/.next/static/chunks/0v_nmghra_n2q.js +1 -0
- package/.next/standalone/.next/static/chunks/{0vyurjgr0u8aw.js → 0vu_cifxk7vfu.js} +1 -1
- package/.next/standalone/.next/static/chunks/0zf35xwv.l3l7.js +1 -0
- package/.next/standalone/.next/static/chunks/{0_t7890~b8s.q.js → 10ght~j9wl9ab.js} +1 -1
- package/.next/standalone/.next/static/chunks/11.t9_o8cox8t.js +1 -0
- package/.next/standalone/.next/static/chunks/1124-9qfcr70v.js +1 -0
- package/.next/standalone/.next/static/chunks/116ssnh5k8ad9.js +1 -0
- package/.next/standalone/.next/static/chunks/162ec9.32dj73.js +1 -0
- package/.next/standalone/.next/static/media/4fa387ec64143e14-s.0wkzw~je483f-.woff2 +0 -0
- package/.next/standalone/.next/static/media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2 +0 -0
- package/.next/standalone/.next/static/media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2 +0 -0
- package/.next/standalone/.next/static/media/797e433ab948586e-s.p.08e28id.o-okb.woff2 +0 -0
- package/.next/standalone/.next/static/media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2 +0 -0
- package/.next/standalone/.next/static/media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2 +0 -0
- package/.next/standalone/package.json +2 -1
- package/dist/mcp-server.cjs +139 -31
- package/package.json +2 -1
- package/prisma/schema.prisma +1 -0
- package/scripts/fix-native-permissions.js +7 -0
- package/skills/tower/SKILL.md +12 -5
- package/.next/standalone/.next/server/app/_not-found.html +0 -1
- package/.next/standalone/.next/server/app/_not-found.meta +0 -16
- package/.next/standalone/.next/server/app/_not-found.rsc +0 -25
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +0 -25
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +0 -13
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +0 -5
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +0 -5
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +0 -4
- package/.next/standalone/.next/server/app/index.html +0 -1
- package/.next/standalone/.next/server/app/index.meta +0 -16
- package/.next/standalone/.next/server/app/index.rsc +0 -26
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +0 -26
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +0 -13
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/onboarding.html +0 -1
- package/.next/standalone/.next/server/app/onboarding.meta +0 -15
- package/.next/standalone/.next/server/app/onboarding.rsc +0 -31
- package/.next/standalone/.next/server/app/onboarding.segments/_full.segment.rsc +0 -31
- package/.next/standalone/.next/server/app/onboarding.segments/_head.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/onboarding.segments/_index.segment.rsc +0 -13
- package/.next/standalone/.next/server/app/onboarding.segments/_tree.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +0 -9
- package/.next/standalone/.next/server/app/onboarding.segments/onboarding.segment.rsc +0 -5
- package/.next/standalone/.next/server/app/settings.html +0 -1
- package/.next/standalone/.next/server/app/settings.meta +0 -15
- package/.next/standalone/.next/server/app/settings.rsc +0 -31
- package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +0 -31
- package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +0 -13
- package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +0 -9
- package/.next/standalone/.next/server/app/settings.segments/settings.segment.rsc +0 -5
- 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]__07l.j.t._.js +0 -3
- 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]__0s9retv._.js +0 -3
- 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/_00_enfv._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_02yhivm._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_06d.l~y._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0_g2k44._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0gk9bhq._.js +0 -7
- package/.next/standalone/.next/server/chunks/ssr/_0i8t39l._.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/_0p~.jo1._.js +0 -7
- 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/_0x_nujv._.js +0 -7
- package/.next/standalone/.next/server/chunks/ssr/_0xlxdv6._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0~fk6kp._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules__pnpm_0lqfvhm._.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/server/pages/404.html +0 -1
- 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/0c5ct~fi6oo0x.js +0 -5
- package/.next/standalone/.next/static/chunks/0d.9mkqrf._kj.js +0 -5
- 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/0m_mrbcxwb.xb.js +0 -1
- package/.next/standalone/.next/static/chunks/0mzr~d4ax.~nx.js +0 -5
- 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/chunks/0y4t-yk9428ag.js +0 -1
- package/.next/standalone/.next/static/chunks/0yrq3rjju-3um.js +0 -1
- package/.next/standalone/.next/static/chunks/0~8mebeyo5uub.css +0 -1
- package/.next/standalone/.next/static/chunks/10~egz2-vj..3.js +0 -5
- package/.next/standalone/.next/static/media/4fa387ec64143e14-s.0.qu-9752pffj.woff2 +0 -0
- package/.next/standalone/.next/static/media/5ce348bf30bf5439-s.0ee55_hj9qcer.woff2 +0 -0
- package/.next/standalone/.next/static/media/6306c77e7c8268e4-s.0mao5jbfbduzp.woff2 +0 -0
- package/.next/standalone/.next/static/media/797e433ab948586e-s.p.09zddjkbdep5a.woff2 +0 -0
- package/.next/standalone/.next/static/media/7d817b4c03b0c5f1-s.0uzt.a6d44yda.woff2 +0 -0
- package/.next/standalone/.next/static/media/bbc41e54d2fcbd21-s.0mvwgmnhv29no.woff2 +0 -0
- /package/.next/standalone/.next/static/{Kff31mi-mF0Jr_em-2NTJ → mLQP8o4ghKE2DGln7fL34}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{Kff31mi-mF0Jr_em-2NTJ → mLQP8o4ghKE2DGln7fL34}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{Kff31mi-mF0Jr_em-2NTJ → mLQP8o4ghKE2DGln7fL34}/_ssgManifest.js +0 -0
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[427756,(a,b,c)=>{"use strict";let d;Object.defineProperty(c,"__esModule",{value:!0});var e={getAssetToken:function(){return i},getAssetTokenQuery:function(){return j},getDeploymentId:function(){return g},getDeploymentIdQuery:function(){return h}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});function g(){return d}function h(a=!1){return d?`${a?"&":"?"}dpl=${d}`:""}function i(){return!1}function j(a=!1){return""}d=void 0},241121,a=>{"use strict";var b=a.i(374637);let c=b.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},elementsRef:{current:[]},nextIndexRef:{current:0}});a.s(["CompositeListContext",0,c,"useCompositeListContext",0,function(){return b.useContext(c)}])},271214,a=>{"use strict";var b,c=a.i(374637),d=a.i(830067),e=a.i(241121);let f=((b={})[b.None=0]="None",b[b.GuessFromOrder=1]="GuessFromOrder",b);a.s(["IndexGuessBehavior",0,f,"useCompositeListItem",0,function(a={}){let{label:b,metadata:g,textRef:h,indexGuessBehavior:i,index:j}=a,{register:k,unregister:l,subscribeMapChange:m,elementsRef:n,labelsRef:o,nextIndexRef:p}=(0,e.useCompositeListContext)(),q=c.useRef(-1),[r,s]=c.useState(j??(i===f.GuessFromOrder?()=>{if(-1===q.current){let a=p.current;p.current+=1,q.current=a}return q.current}:-1)),t=c.useRef(null),u=c.useCallback(a=>{if(t.current=a,-1!==r&&null!==a&&(n.current[r]=a,o)){let c=void 0!==b;o.current[r]=c?b:h?.current?.textContent??a.textContent}},[r,n,o,b,h]);return(0,d.useIsoLayoutEffect)(()=>{if(null!=j)return;let a=t.current;if(a)return k(a,g),()=>{l(a)}},[j,k,l,g]),(0,d.useIsoLayoutEffect)(()=>{if(null==j)return m(a=>{let b=t.current?a.get(t.current)?.index:null;null!=b&&s(b)})},[j,m,s]),c.useMemo(()=>({ref:u,index:r}),[r,u])}])},668556,a=>{"use strict";var b=a.i(862306),c=a.i(374637);let d=c.createContext(void 0);a.s(["useToolbarRootContext",0,function(a){let e=c.useContext(d);if(void 0===e&&!a)throw Error((0,b.default)(69));return e}])},47801,a=>{"use strict";var b=a.i(374637),c=a.i(196692),d=a.i(74686),e=a.i(830067),f=a.i(241121),g=a.i(728778);function h(){return new Map}function i(){return new Set}function j(a,b){let c=a.compareDocumentPosition(b);return c&Node.DOCUMENT_POSITION_FOLLOWING||c&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:c&Node.DOCUMENT_POSITION_PRECEDING||c&Node.DOCUMENT_POSITION_CONTAINS?1:0}a.s(["CompositeList",0,function(a){let{children:k,elementsRef:l,labelsRef:m,onMapChange:n}=a,o=(0,d.useStableCallback)(n),p=b.useRef(0),q=(0,c.useRefWithInit)(i).current,r=(0,c.useRefWithInit)(h).current,[s,t]=b.useState(0),u=b.useRef(s),v=(0,d.useStableCallback)((a,b)=>{r.set(a,b??null),u.current+=1,t(u.current)}),w=(0,d.useStableCallback)(a=>{r.delete(a),u.current+=1,t(u.current)}),x=b.useMemo(()=>{let a=new Map;return Array.from(r.keys()).filter(a=>a.isConnected).sort(j).forEach((b,c)=>{let d=r.get(b)??{};a.set(b,{...d,index:c})}),a},[r,s]);(0,e.useIsoLayoutEffect)(()=>{if("function"!=typeof MutationObserver||0===x.size)return;let a=new MutationObserver(a=>{let b=new Set,c=a=>b.has(a)?b.delete(a):b.add(a);a.forEach(a=>{a.removedNodes.forEach(c),a.addedNodes.forEach(c)}),0===b.size&&(u.current+=1,t(u.current))});return x.forEach((b,c)=>{c.parentElement&&a.observe(c.parentElement,{childList:!0})}),()=>{a.disconnect()}},[x]),(0,e.useIsoLayoutEffect)(()=>{u.current===s&&(l.current.length!==x.size&&(l.current.length=x.size),m&&m.current.length!==x.size&&(m.current.length=x.size),p.current=x.size),o(x)},[o,x,l,m,s]),(0,e.useIsoLayoutEffect)(()=>()=>{l.current=[]},[l]),(0,e.useIsoLayoutEffect)(()=>()=>{m&&(m.current=[])},[m]);let y=(0,d.useStableCallback)(a=>(q.add(a),()=>{q.delete(a)}));(0,e.useIsoLayoutEffect)(()=>{q.forEach(a=>a(x))},[q,x]);let z=b.useMemo(()=>({register:v,unregister:w,subscribeMapChange:y,elementsRef:l,labelsRef:m,nextIndexRef:p}),[v,w,y,l,m,p]);return(0,g.jsx)(f.CompositeListContext.Provider,{value:z,children:k})}])},141156,783653,998833,a=>{"use strict";var b=a.i(374637),c=a.i(95133),d=a.i(921097),e=a.i(74686),f=a.i(830067),g=a.i(18536),h=a.i(606914),i=a.i(756700),j=a.i(682563),k=a.i(719084),l=a.i(622047),m=a.i(100737),n=a.i(397315),o=a.i(730188);function p(a,b,c){switch(a){case"vertical":return b;case"horizontal":return c;default:return b||c}}function q(a,b){return p(b,a===o.ARROW_UP||a===o.ARROW_DOWN,a===o.ARROW_LEFT||a===o.ARROW_RIGHT)}function r(a,b,c){return p(b,a===o.ARROW_DOWN,c?a===o.ARROW_LEFT:a===o.ARROW_RIGHT)||"Enter"===a||" "===a||""===a}a.s(["useListNavigation",0,function(a,s){let t="rootStore"in a?a.rootStore:a,u=t.useState("open"),v=t.useState("floatingElement"),w=t.useState("domReferenceElement"),x=t.context.dataRef,{listRef:y,activeIndex:z,onNavigate:A=()=>{},enabled:B=!0,selectedIndex:C=null,allowEscape:D=!1,loopFocus:E=!1,nested:F=!1,rtl:G=!1,virtual:H=!1,focusItemOnOpen:I="auto",focusItemOnHover:J=!0,openOnArrowKeyDown:K=!0,disabledIndices:L,orientation:M="vertical",parentOrientation:N,cols:O=1,id:P,resetOnPointerLeave:Q=!0,externalTree:R}=s,S=(0,h.getFloatingFocusElement)(v),T=(0,d.useValueAsRef)(S),U=(0,k.useFloatingParentNodeId)(),V=(0,k.useFloatingTree)(R);(0,f.useIsoLayoutEffect)(()=>{x.current.orientation=M},[x,M]);let W=(0,h.isTypeableCombobox)(w),X=b.useRef(I),Y=b.useRef(C??-1),Z=b.useRef(null),$=b.useRef(!0),_=(0,e.useStableCallback)(a=>{A(-1===Y.current?null:Y.current,a)}),aa=b.useRef(_),ab=b.useRef(!!v),ac=b.useRef(u),ad=b.useRef(!1),ae=b.useRef(!1),af=(0,d.useValueAsRef)(L),ag=(0,d.useValueAsRef)(u),ah=(0,d.useValueAsRef)(C),ai=(0,d.useValueAsRef)(Q),aj=(0,e.useStableCallback)(()=>{function a(a){H?V?.events.emit("virtualfocus",a):(0,n.enqueueFocus)(a,{sync:ad.current,preventScroll:!0})}let b=y.current[Y.current],c=ae.current;b&&a(b),(ad.current?a=>a():requestAnimationFrame)(()=>{let d=y.current[Y.current]||b;!d||(b||a(d),al&&(c||!$.current)&&d.scrollIntoView?.({block:"nearest",inline:"nearest"}))})});(0,f.useIsoLayoutEffect)(()=>{B&&(u&&v?(Y.current=C??-1,X.current&&null!=C&&(ae.current=!0,_())):ab.current&&(Y.current=-1,aa.current()))},[B,u,v,C,_]),(0,f.useIsoLayoutEffect)(()=>{if(B){if(!u){ad.current=!1;return}if(v)if(null==z){if(ad.current=!1,null!=ah.current)return;if(ab.current&&(Y.current=-1,aj()),(!ac.current||!ab.current)&&X.current&&(null!=Z.current||!0===X.current&&null==Z.current)){let a=0,b=()=>{null==y.current[0]?(a<2&&(a?requestAnimationFrame:queueMicrotask)(b),a+=1):(Y.current=null==Z.current||r(Z.current,M,G)||F?(0,j.getMinListIndex)(y):(0,j.getMaxListIndex)(y),Z.current=null,_())};b()}}else(0,j.isIndexOutOfListBounds)(y,z)||(Y.current=z,aj(),ae.current=!1)}},[B,u,v,z,ah,F,y,M,G,_,aj,af]),(0,f.useIsoLayoutEffect)(()=>{if(!B||v||!V||H||!ab.current)return;let a=V.nodesRef.current,b=a.find(a=>a.id===U)?.context?.elements.floating,c=(0,h.activeElement)((0,g.ownerDocument)(v)),d=a.some(a=>a.context&&(0,h.contains)(a.context.elements.floating,c));b&&!d&&$.current&&b.focus({preventScroll:!0})},[B,v,V,U,H]),(0,f.useIsoLayoutEffect)(()=>{aa.current=_,ac.current=u,ab.current=!!v}),(0,f.useIsoLayoutEffect)(()=>{u||(Z.current=null,X.current=I)},[u,I]);let ak=null!=z,al=b.useMemo(()=>{function a(a){if(!ag.current)return;let b=y.current.indexOf(a.currentTarget);-1!==b&&Y.current!==b&&(Y.current=b,_(a))}return{onFocus(b){ad.current=!0,a(b)},onClick:({currentTarget:a})=>a.focus({preventScroll:!0}),onMouseMove(b){ad.current=!0,ae.current=!1,J&&a(b)},onPointerLeave(a){if(!ag.current||!$.current||"touch"===a.pointerType)return;ad.current=!0;let b=a.relatedTarget;if(!(!J||y.current.includes(b))&&ai.current&&((0,n.enqueueFocus)(null,{sync:!0}),Y.current=-1,_(a),!H)){let a=T.current,b=(0,h.activeElement)((0,g.ownerDocument)(a));a&&(0,h.contains)(a,b)&&a.focus({preventScroll:!0})}}}},[ag,T,J,y,_,ai,H]),am=b.useCallback(()=>N??V?.nodesRef.current.find(a=>a.id===U)?.context?.dataRef?.current.orientation,[U,V,N]),an=(0,e.useStableCallback)(a=>{var b;let d,e;if($.current=!1,ad.current=!0,229===a.which||!ag.current&&a.currentTarget===T.current)return;if(F&&(b=a.key,d=G?b===o.ARROW_RIGHT:b===o.ARROW_LEFT,e=b===o.ARROW_UP,"both"===M||"horizontal"===M&&O&&O>1?"Escape"===b:p(M,d,e))){q(a.key,am())||(0,i.stopEvent)(a),t.setOpen(!1,(0,l.createChangeEventDetails)(m.REASONS.listNavigation,a.nativeEvent)),(0,c.isHTMLElement)(w)&&(H?V?.events.emit("virtualfocus",w):w.focus());return}let f=Y.current,g=(0,j.getMinListIndex)(y,L),k=(0,j.getMaxListIndex)(y,L);if(W||("Home"===a.key&&((0,i.stopEvent)(a),Y.current=g,_(a)),"End"===a.key&&((0,i.stopEvent)(a),Y.current=k,_(a))),O>1){let b=Array.from({length:y.current.length},()=>({width:1,height:1})),c=(0,j.createGridCellMap)(b,O,!1),d=c.findIndex(a=>null!=a&&!(0,j.isListIndexDisabled)(y,a,L)),e=c.reduce((a,b,c)=>null==b||(0,j.isListIndexDisabled)(y,b,L)?a:c,-1),f=c[(0,j.getGridNavigatedIndex)({current:c.map(a=>null!=a?y.current[a]:null)},{event:a,orientation:M,loopFocus:E,rtl:G,cols:O,disabledIndices:(0,j.getGridCellIndices)([...("function"!=typeof L?L:null)||y.current.map((a,b)=>(0,j.isListIndexDisabled)(y,b,L)?b:void 0),void 0],c),minIndex:d,maxIndex:e,prevIndex:(0,j.getGridCellIndexOfCorner)(Y.current>k?g:Y.current,b,c,O,a.key===o.ARROW_DOWN?"bl":a.key===(G?o.ARROW_LEFT:o.ARROW_RIGHT)?"tr":"tl"),stopEvent:!0})];if(null!=f&&(Y.current=f,_(a)),"both"===M)return}if(q(a.key,M)){if((0,i.stopEvent)(a),u&&!H&&(0,h.activeElement)(a.currentTarget.ownerDocument)===a.currentTarget){Y.current=r(a.key,M,G)?g:k,_(a);return}r(a.key,M,G)?E?f>=k?D&&f!==y.current.length?Y.current=-1:(ad.current=!1,Y.current=g):Y.current=(0,j.findNonDisabledListIndex)(y,{startingIndex:f,disabledIndices:L}):Y.current=Math.min(k,(0,j.findNonDisabledListIndex)(y,{startingIndex:f,disabledIndices:L})):E?f<=g?D&&-1!==f?Y.current=y.current.length:(ad.current=!1,Y.current=k):Y.current=(0,j.findNonDisabledListIndex)(y,{startingIndex:f,decrement:!0,disabledIndices:L}):Y.current=Math.max(g,(0,j.findNonDisabledListIndex)(y,{startingIndex:f,decrement:!0,disabledIndices:L})),(0,j.isIndexOutOfListBounds)(y,Y.current)&&(Y.current=-1),_(a)}}),ao=b.useMemo(()=>H&&u&&ak&&{"aria-activedescendant":`${P}-${z}`},[H,u,ak,P,z]),ap=b.useMemo(()=>({"aria-orientation":"both"===M?void 0:M,...!W?ao:{},onKeyDown(a){if("Tab"===a.key&&a.shiftKey&&u&&!H){let b=(0,h.getTarget)(a.nativeEvent);if(b&&!(0,h.contains)(T.current,b))return;(0,i.stopEvent)(a),t.setOpen(!1,(0,l.createChangeEventDetails)(m.REASONS.focusOut,a.nativeEvent)),(0,c.isHTMLElement)(w)&&w.focus();return}an(a)},onPointerMove(){$.current=!0}}),[ao,an,T,M,W,t,u,H,w]),aq=b.useMemo(()=>{function a(a){"auto"===I&&(0,i.isVirtualClick)(a.nativeEvent)&&(X.current=!H)}function b(a){X.current=I,"auto"===I&&(0,i.isVirtualPointerEvent)(a.nativeEvent)&&(X.current=!0)}return{onKeyDown(a){var b,c;let d=t.select("open");$.current=!1;let e=a.key.startsWith("Arrow"),f=(b=a.key,c=am(),p(c,G?b===o.ARROW_LEFT:b===o.ARROW_RIGHT,b===o.ARROW_DOWN)),g=q(a.key,M),h=(F?f:g)||"Enter"===a.key||""===a.key.trim();if(H&&d)return an(a);if(d||K||!e){if(h){let b=q(a.key,am());Z.current=F&&b?null:a.key}if(F){f&&((0,i.stopEvent)(a),d?(Y.current=(0,j.getMinListIndex)(y,af.current),_(a)):t.setOpen(!0,(0,l.createChangeEventDetails)(m.REASONS.listNavigation,a.nativeEvent,a.currentTarget)));return}g&&(null!=ah.current&&(Y.current=ah.current),(0,i.stopEvent)(a),!d&&K?t.setOpen(!0,(0,l.createChangeEventDetails)(m.REASONS.listNavigation,a.nativeEvent,a.currentTarget)):an(a),d&&_(a))}},onFocus(a){t.select("open")&&!H&&(Y.current=-1,_(a))},onPointerDown:b,onPointerEnter:b,onMouseDown:a,onClick:a}},[an,af,I,y,F,_,t,K,M,am,G,ah,H]),ar=b.useMemo(()=>({...ao,...aq}),[ao,aq]);return b.useMemo(()=>B?{reference:ar,floating:ap,item:al,trigger:aq}:{},[B,ar,ap,aq,al])}],141156);var s=a.i(102934);a.s(["useTypeahead",0,function(a,c){let d="rootStore"in a?a.rootStore:a,g=d.context.dataRef,k=d.useState("open"),{listRef:l,elementsRef:m,activeIndex:n,onMatch:o,onTypingChange:p,enabled:q=!0,resetMs:r=750,selectedIndex:t=null}=c,u=(0,s.useTimeout)(),v=b.useRef(""),w=b.useRef(t??n??-1),x=b.useRef(null);(0,f.useIsoLayoutEffect)(()=>{(k||null===t)&&(u.clear(),x.current=null,""!==v.current&&(v.current=""))},[k,t,u]),(0,f.useIsoLayoutEffect)(()=>{k&&""===v.current&&(w.current=t??n??-1)},[k,t,n]);let y=(0,e.useStableCallback)(a=>{a?g.current.typing||(g.current.typing=a,p?.(a)):g.current.typing&&(g.current.typing=a,p?.(a))}),z=(0,e.useStableCallback)(a=>{function b(a,c,d=0){if(0===a.length)return -1;let e=(d%a.length+a.length)%a.length,f=c.toLocaleLowerCase();for(let b=0;b<a.length;b+=1){let c=(e+b)%a.length,d=a[c];if(d?.toLocaleLowerCase().startsWith(f)&&function(a){let b=m?.current[a];return!b||(0,j.isElementVisible)(b)}(c))return c}return -1}let c=l.current;if(v.current.length>0&&" "===a.key&&((0,i.stopEvent)(a),y(!0)),v.current.length>0&&" "!==v.current[0]&&-1===b(c,v.current)&&" "!==a.key&&y(!1),null==c||1!==a.key.length||a.ctrlKey||a.metaKey||a.altKey)return;k&&" "!==a.key&&((0,i.stopEvent)(a),y(!0));let d=""===v.current;d&&(w.current=t??n??-1),c.every(a=>!a||a[0]?.toLocaleLowerCase()!==a[1]?.toLocaleLowerCase())&&v.current===a.key&&(v.current="",w.current=x.current),v.current+=a.key,u.start(r,()=>{v.current="",w.current=x.current,y(!1)});let e=d?t??n??-1:w.current,f=b(c,v.current,(e??0)+1);-1!==f?(o?.(f),x.current=f):" "!==a.key&&(v.current="",y(!1))}),A=(0,e.useStableCallback)(a=>{let b=a.relatedTarget,c=d.select("domReferenceElement"),e=d.select("floatingElement"),f=(0,h.contains)(c,b),g=(0,h.contains)(e,b);f||g||(u.clear(),v.current="",w.current=x.current,y(!1))}),B=b.useMemo(()=>({onKeyDown:z,onBlur:A}),[z,A]),C=b.useMemo(()=>({onKeyDown:z,onBlur:A}),[z,A]);return b.useMemo(()=>q?{reference:B,floating:C}:{},[q,B,C])}],783653),a.s(["getPseudoElementBounds",0,function(a){let b=a.getBoundingClientRect(),c=window.getComputedStyle(a,"::before"),d=window.getComputedStyle(a,"::after");if("none"===c.content&&"none"===d.content)return b;let e=parseFloat(c.width)||0,f=parseFloat(c.height)||0,g=parseFloat(d.width)||0,h=parseFloat(d.height)||0,i=Math.max(b.width,e,g),j=Math.max(b.height,f,h),k=i-b.width,l=j-b.height;return{left:b.left-k/2,right:b.right+k/2,top:b.top-l/2,bottom:b.bottom+l/2}}],998833)},33162,a=>{"use strict";var b=a.i(374637),c=a.i(213200);let d=b.forwardRef(function(a,b){let{className:d,render:e,orientation:f="horizontal",...g}=a;return(0,c.useRenderElement)("div",a,{state:{orientation:f},ref:b,props:[{role:"separator","aria-orientation":f},g]})});a.s(["Separator",0,d])},706738,a=>{"use strict";var b=a.i(29715);a.s(["CheckIcon",()=>b.default])},688905,a=>{"use strict";let b=(0,a.i(711796).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);a.s(["default",0,b])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=node_modules__pnpm_0lqfvhm._.js.map
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
module.exports=[495370,a=>{"use strict";var b=a.i(815429),c=a.i(761469),d=a.i(188139),e=a.i(496877);async function f(a){return c.db.label.findMany({where:{OR:[{isBuiltin:!0},{workspaceId:a}]},orderBy:[{isBuiltin:"desc"},{name:"asc"}]})}async function g(a){let b=e.createLabelSchema.parse(a),f=await c.db.label.create({data:{name:b.name,color:b.color,workspaceId:b.workspaceId}});return(0,d.revalidatePath)("/workspaces"),f}async function h(a){let b=await c.db.label.findUnique({where:{id:a}});if(!b)throw Error("Label not found");if(b.isBuiltin)throw Error("Cannot delete builtin labels");await c.db.label.delete({where:{id:a}}),(0,d.revalidatePath)("/workspaces")}async function i(a,b){await c.db.$transaction(async c=>{await c.taskLabel.deleteMany({where:{taskId:a}}),b.length>0&&await c.taskLabel.createMany({data:b.map(b=>({taskId:a,labelId:b}))})}),(0,d.revalidatePath)("/workspaces")}async function j(a){return(await c.db.taskLabel.findMany({where:{taskId:a},include:{label:!0}})).map(a=>a.label)}(0,a.i(630048).ensureServerEntryExports)([f,g,h,i,j]),(0,b.registerServerReference)(f,"402d3bd275eb0191875df81cd0a65a84b7f034b329",null),(0,b.registerServerReference)(g,"40317a4f62ec0768b659980df2b8cfe8f0e143d69b",null),(0,b.registerServerReference)(h,"40663ecf3869e276bb6158bbf1032cb631b49f4dfa",null),(0,b.registerServerReference)(i,"604702638de73d6356c05b71593515165d13f2d635",null),(0,b.registerServerReference)(j,"40a6ebb524fb0864532123bea0b2138d6ef545a062",null),a.s(["createLabel",0,g,"deleteLabel",0,h,"getLabelsForWorkspace",0,f,"getTaskLabels",0,j,"setTaskLabels",0,i])},287068,a=>{"use strict";var b=a.i(761469);function c(a,b){return{id:a.note_id,type:"note",title:a.title,subtitle:`${a.workspace_name} / ${a.project_name}`,navigateTo:`/workspaces/${a.workspaceId}/notes?projectId=${a.projectId}`,snippet:a.content?a.content.slice(0,b):void 0}}async function d(a,e="task",f){if(!a.trim())return[];let g=a.trim(),{resultLimit:h,allModeCap:i,snippetLength:j}=f;if("all"===e){let[a,b,c,e,h]=await Promise.allSettled([d(g,"task",f),d(g,"project",f),d(g,"repository",f),d(g,"note",f),d(g,"asset",f)]),j=a=>"fulfilled"===a.status?a.value.slice(0,i):[];return[...j(a),...j(b),...j(c),...j(e),...j(h)]}if("task"===e)return(await b.db.task.findMany({where:{OR:[{title:{contains:g}},{description:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h,orderBy:{updatedAt:"desc"}})).map(a=>{let b="DONE"===a.status||"CANCELLED"===a.status,c=a.project.workspaceId;return{id:a.id,type:"task",title:a.title,subtitle:`${a.project.workspace.name} / ${a.project.name}`,navigateTo:b?`/workspaces/${c}/archive?projectId=${a.projectId}`:`/workspaces/${c}?projectId=${a.projectId}`}});if("project"===e)return(await b.db.project.findMany({where:{OR:[{name:{contains:g}},{alias:{contains:g}},{description:{contains:g}}]},include:{workspace:!0},take:h,orderBy:{updatedAt:"desc"}})).map(a=>({id:a.id,type:"project",title:a.alias?`${a.name} (${a.alias})`:a.name,subtitle:a.workspace.name,navigateTo:`/workspaces/${a.workspaceId}?projectId=${a.id}`}));if("repository"===e)return(await b.db.repository.findMany({where:{OR:[{name:{contains:g}},{path:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h})).map(a=>({id:a.id,type:"repository",title:a.name,subtitle:`${a.project.workspace.name} / ${a.project.name} \xb7 ${a.branch}`,navigateTo:`/workspaces/${a.project.workspaceId}?projectId=${a.projectId}`}));if("note"===e){if(g.length<3)return(await b.db.$queryRawUnsafe(`SELECT n.id as note_id, n.title, n.content,
|
|
2
|
-
n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
|
|
3
|
-
FROM "ProjectNote" n
|
|
4
|
-
JOIN "Project" p ON p.id = n."projectId"
|
|
5
|
-
JOIN "Workspace" w ON w.id = p."workspaceId"
|
|
6
|
-
WHERE n.title LIKE ? OR n.content LIKE ?
|
|
7
|
-
LIMIT ?`,`%${g}%`,`%${g}%`,h)).map(a=>c(a,j));try{return(await b.db.$queryRawUnsafe(`SELECT f.note_id, f.title, f.content,
|
|
8
|
-
n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
|
|
9
|
-
FROM notes_fts f
|
|
10
|
-
JOIN "ProjectNote" n ON n.id = f.note_id
|
|
11
|
-
JOIN "Project" p ON p.id = n."projectId"
|
|
12
|
-
JOIN "Workspace" w ON w.id = p."workspaceId"
|
|
13
|
-
WHERE f.notes_fts MATCH ?
|
|
14
|
-
ORDER BY rank
|
|
15
|
-
LIMIT ?`,g,h)).map(a=>c(a,j))}catch{return(await b.db.$queryRawUnsafe(`SELECT n.id as note_id, n.title, n.content,
|
|
16
|
-
n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
|
|
17
|
-
FROM "ProjectNote" n
|
|
18
|
-
JOIN "Project" p ON p.id = n."projectId"
|
|
19
|
-
JOIN "Workspace" w ON w.id = p."workspaceId"
|
|
20
|
-
WHERE n.title LIKE ? OR n.content LIKE ?
|
|
21
|
-
LIMIT ?`,`%${g}%`,`%${g}%`,h)).map(a=>c(a,j))}}return"asset"===e?(await b.db.projectAsset.findMany({where:{OR:[{filename:{contains:g}},{description:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h,orderBy:{createdAt:"desc"}})).map(a=>({id:a.id,type:"asset",title:a.filename,subtitle:`${a.project.workspace.name} / ${a.project.name}`,navigateTo:`/workspaces/${a.project.workspaceId}/assets?projectId=${a.projectId}`,snippet:a.description||void 0})):[]}a.s(["search",0,d])},396904,a=>a.a(async(b,c)=>{try{var d=a.i(815429),e=a.i(287068),f=a.i(980999),g=a.i(630048),h=b([f]);async function i(a,b="task"){let c=await (0,f.getConfigValues)(["search.resultLimit","search.allModeCap","search.snippetLength"]);return(0,e.search)(a,b,{resultLimit:c["search.resultLimit"]??20,allModeCap:c["search.allModeCap"]??5,snippetLength:c["search.snippetLength"]??80})}[f]=h.then?(await h)():h,(0,g.ensureServerEntryExports)([i]),(0,d.registerServerReference)(i,"602166a0d2a6b776ba57c4e0c1d2ee7847cfe4448e",null),a.s(["globalSearch",0,i]),c()}catch(a){c(a)}},!1),101844,a=>{"use strict";var b=a.i(815429),c=a.i(924868),d=a.i(522734),e=a.i(814747),f=a.i(761469),g=a.i(188139),h=a.i(630048);async function i(b){if(!b||"string"!=typeof b)return{safe:!1,reason:"无效的项目 ID"};let g=await f.db.project.findUnique({where:{id:b}});if(!g||!g.localPath)return{safe:!1,reason:"项目不存在或未设置本地路径"};if((await f.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{safe:!1,reason:"该项目有正在运行的任务执行,请先停止所有执行"};let h=await f.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:i}=await a.A(98813);for(let a of h)if(void 0!==i(a.id))return{safe:!1,reason:"该项目有活跃的终端会话,请先关闭"};let j=e.default.join(g.localPath,".worktrees");if((0,d.existsSync)(j))try{if((await (0,c.readdir)(j)).length>0)return{safe:!1,reason:"该项目有活跃的 Git Worktree,请先清理"}}catch{}return{safe:!0}}async function j(b,h){if(!b||"string"!=typeof b)return{success:!1,error:"无效的项目 ID"};if(!h||"string"!=typeof h||!e.default.isAbsolute(h))return{success:!1,error:"目标路径必须是非空的绝对路径"};let i=await f.db.project.findUnique({where:{id:b}});if(!i||!i.localPath)return{success:!1,error:"项目不存在或未设置本地路径"};let j=i.localPath;if(h===j)return{success:!1,error:"源路径和目标路径相同"};if((await f.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{success:!1,error:"该项目有正在运行的任务执行,请先停止所有执行"};let k=await f.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:l}=await a.A(98813);for(let a of k)if(void 0!==l(a.id))return{success:!1,error:"该项目有活跃的终端会话,请先关闭"};let m=e.default.join(j,".worktrees");if((0,d.existsSync)(m))try{if((await (0,c.readdir)(m)).length>0)return{success:!1,error:"该项目有活跃的 Git Worktree,请先清理"}}catch{}if((0,d.existsSync)(h))try{if((await (0,c.readdir)(h)).length>0)return{success:!1,error:"目标路径已存在且不为空"}}catch{return{success:!1,error:"目标路径已存在且不为空"}}let n=e.default.dirname(h);try{await (0,c.mkdir)(n,{recursive:!0})}catch(a){if("EACCES"===a.code||"EPERM"===a.code)return{success:!1,error:`无权限创建父目录 ${n} — 请检查 Git 路径映射规则的模板是否漏了 "~/" 前缀`};if("EROFS"===a.code)return{success:!1,error:`父目录所在文件系统只读:${n}`};return{success:!1,error:`创建父目录失败:${a.message||a.code||"未知错误"}`}}try{await (0,c.rename)(j,h)}catch(a){if("EXDEV"===a.code)return{success:!1,error:"源路径和目标路径不在同一文件系统,不支持跨设备迁移"};if("EACCES"===a.code||"EPERM"===a.code)return{success:!1,error:`无权限移动到 ${h}`};return{success:!1,error:a.message||"文件系统操作失败"}}return await f.db.project.update({where:{id:b},data:{localPath:h}}),(0,g.revalidatePath)("/workspaces"),{success:!0}}let k=`分析这个项目目录,生成一段简短的 Markdown 项目描述。
|
|
22
|
-
|
|
23
|
-
读取 package.json、README.md 等关键文件,然后概括:
|
|
24
|
-
|
|
25
|
-
**技术栈:** 一句话列出主要语言、框架、关键库
|
|
26
|
-
**定位:** 一句话说明项目是什么
|
|
27
|
-
**核心模块:** 2-3 个关键模块,每个一句话
|
|
28
|
-
|
|
29
|
-
要求:
|
|
30
|
-
- 总字数不超过 500 字
|
|
31
|
-
- 用简洁的 Markdown(加粗标签 + 短句),不要用 ## 大标题和表格
|
|
32
|
-
- 不要罗列每个文件/目录,只说关键信息
|
|
33
|
-
- 中文输出`,l=`Analyze this project directory and generate a brief Markdown project description.
|
|
34
|
-
|
|
35
|
-
Read package.json, README.md and other key files, then summarize:
|
|
36
|
-
|
|
37
|
-
**Tech Stack:** One sentence listing primary languages, frameworks, and key libraries
|
|
38
|
-
**Overview:** One sentence describing what this project is
|
|
39
|
-
**Core Modules:** 2-3 key modules, one sentence each
|
|
40
|
-
|
|
41
|
-
Requirements:
|
|
42
|
-
- Keep it under 1000 words
|
|
43
|
-
- Use concise Markdown (bold labels + short sentences), no ## headings or tables
|
|
44
|
-
- Don't list every file/directory, only key information
|
|
45
|
-
- Output in English`;async function m(b,c="zh"){if(!b||"string"!=typeof b)throw Error("无效的本地路径");if(b.startsWith("~"))throw Error("不支持 ~ 别名,请提供绝对路径");if(!e.default.isAbsolute(b))throw Error("本地路径必须为绝对路径");let{aiQuery:d}=await a.A(752453),f=await d("en"===c?l:k,b,{maxTurns:10,tools:["Read","Glob"],allowedTools:["Read","Glob"]});if(!f)throw Error("AI 分析未返回结果");return f.length>2e3?f.slice(0,2e3).trimEnd()+"\n\n...":f}(0,h.ensureServerEntryExports)([i,j,m]),(0,b.registerServerReference)(i,"40fd68ec39f8d8d0a38f616939b2db6d7754e60fa4",null),(0,b.registerServerReference)(j,"60de51970574bd5be99233aa38c312507839dae1f7",null),(0,b.registerServerReference)(m,"608fddbc25e815219b0fa0216ec84ab23068bd7764",null),a.s(["analyzeProjectDirectory",0,m,"checkMigrationSafety",0,i,"migrateProjectPath",0,j])},845427,a=>{"use strict";var b=a.i(233405),c=a.i(522734),d=a.i(924868),e=a.i(814747),f=a.i(446786),g=a.i(26683);function h(a){return a.startsWith("~/")||"~"===a?e.default.join(f.default.homedir(),a.slice(1)):a}async function i(a,f,i,j){let k=h(a),l=e.default.join(k,".worktrees","task-"+f),m="task/"+f;await (0,d.mkdir)(e.default.join(k,".worktrees"),{recursive:!0});let n=(0,b.execFileSync)("git",["worktree","list","--porcelain"],{cwd:k,encoding:"utf-8",timeout:1e4}),o=e.default.normalize(l).replace(/\\/g,"/");if(n.split("\n").some(a=>a.startsWith("worktree ")&&a.slice(9).replace(/\\/g,"/")===o))return{worktreePath:l,worktreeBranch:m};if((0,c.existsSync)(l)&&(g.logger.warn(`[worktree] Directory exists but not tracked by git, removing: ${l}`),(0,b.execFileSync)("git",["worktree","remove",l,"--force"],{cwd:k,encoding:"utf-8",timeout:3e4})),(0,b.execFileSync)("git",["branch","--list",m],{cwd:k,encoding:"utf-8",timeout:5e3}).trim())(0,b.execFileSync)("git",["worktree","add",l,m],{cwd:k,encoding:"utf-8",timeout:3e4});else{let a=i;try{(0,b.execFileSync)("git",["rev-parse","--verify",i],{cwd:k,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]})}catch{try{(0,b.execFileSync)("git",["rev-parse","--verify",`origin/${i}`],{cwd:k,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]}),a=`origin/${i}`}catch{throw Error(`Base branch '${i}' does not exist locally or on remote. Available branches: `+(0,b.execFileSync)("git",["branch","-a","--format=%(refname:short)"],{cwd:k,encoding:"utf-8",timeout:5e3}).trim().split("\n").join(", "))}}(0,b.execFileSync)("git",["worktree","add","-b",m,l,a],{cwd:k,encoding:"utf-8",timeout:3e4})}return function(a,b,d){let f=g.logger.create("worktree"),h=["node_modules",".next"];for(let g of d?["",d]:[""])if((0,c.existsSync)(e.default.join(a,g,"package.json")))for(let d of h){let h=g?e.default.join(g,d):d,i=e.default.join(a,h),j=e.default.join(b,h);if((0,c.existsSync)(i)){try{(0,c.lstatSync)(j);continue}catch{}try{(0,c.symlinkSync)(i,j,"junction"),f.info(`Symlinked ${h}`,{from:i,to:j})}catch(a){f.warn(`Failed to symlink ${h}`,{error:String(a)})}}}}(k,l,j),{worktreePath:l,worktreeBranch:m}}async function j(a,d){let f=h(a),g=e.default.join(f,".worktrees","task-"+d),i="task/"+d;(0,c.existsSync)(g)&&(0,b.execFileSync)("git",["worktree","remove",g,"--force"],{cwd:f,encoding:"utf-8",timeout:3e4}),(0,b.execFileSync)("git",["branch","--list",i],{cwd:f,encoding:"utf-8",timeout:5e3}).trim()&&(0,b.execFileSync)("git",["branch","-D",i],{cwd:f,encoding:"utf-8",timeout:5e3})}a.s(["createWorktree",0,i,"removeWorktree",0,j])},689171,a=>{"use strict";var b=a.i(815429),c=a.i(761469),d=a.i(188139),e=a.i(495370),f=a.i(845427),g=a.i(75681),h=a.i(496877),i=a.i(26683),j=a.i(630048);let k=i.logger.create("task-actions");async function l(a){let b=h.createTaskSchema.parse(a),e=await c.db.task.create({data:{title:b.title,description:b.description,projectId:b.projectId,priority:b.priority??"MEDIUM",status:b.status??"TODO",baseBranch:b.baseBranch??null,subPath:b.subPath??null,versionId:b.versionId??null}});return b.labelIds&&b.labelIds.length>0&&await c.db.taskLabel.createMany({data:b.labelIds.map(a=>({taskId:e.id,labelId:a}))}),(0,d.revalidatePath)("/workspaces"),e}async function m(b,e){h.taskStatusSchema.parse(e);let g=await c.db.task.update({where:{id:b},data:{status:e},include:{project:!0}});if("DONE"===e&&!g.baseBranch&&g.project?.localPath)try{let{execFileSync:d}=await a.A(144264),e=d("git",["rev-parse","HEAD"],{cwd:g.project.localPath,encoding:"utf-8",timeout:5e3}).trim();if(e){let a=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});a&&await c.db.taskExecution.update({where:{id:a.id},data:{mergeCommit:e}})}}catch{}if("DONE"===e&&a.A(662330).then(({captureTaskDreaming:a})=>{a(b).catch(()=>{})}).catch(()=>{}),"CANCELLED"===e&&g.project?.localPath)try{await (0,f.removeWorktree)(g.project.localPath,b)}catch(a){k.error("Worktree cleanup failed",a,{taskId:b})}return(0,d.revalidatePath)("/workspaces"),g}async function n(a,b){let{labelIds:f,...g}=h.updateTaskSchema.parse(b),i=await c.db.task.update({where:{id:a},data:g});return void 0!==f&&await (0,e.setTaskLabels)(a,f),(0,d.revalidatePath)("/workspaces"),i}async function o(a){g.z.string().cuid().parse(a);let b=await c.db.task.findUniqueOrThrow({where:{id:a},select:{pinned:!0}}),e=await c.db.task.update({where:{id:a},data:{pinned:!b.pinned}});return(0,d.revalidatePath)("/workspaces"),e}async function p(b){let e=await c.db.task.findUnique({where:{id:b},include:{project:!0}});if(e?.project?.localPath)try{await (0,f.removeWorktree)(e.project.localPath,b)}catch{}try{let{destroySession:c}=await a.A(98813);c(b)}catch{}await c.db.task.delete({where:{id:b}}),(0,d.revalidatePath)("/workspaces")}async function q(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,OR:[{status:{notIn:["DONE","CANCELLED"]}},{status:{in:["DONE","CANCELLED"]},updatedAt:{gte:b}}]},orderBy:[{pinned:"desc"},{order:"asc"},{createdAt:"desc"}]})}async function r(a){return a.trim()?c.db.task.findMany({where:{OR:[{title:{contains:a}},{description:{contains:a}}]},include:{project:{include:{workspace:!0}}},take:20,orderBy:{updatedAt:"desc"}}):[]}async function s(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1}},orderBy:{updatedAt:"desc"}})}async function t(b){let{execFileSync:d}=await a.A(144264),{existsSync:e}=await a.A(323970),f=await c.db.task.findUnique({where:{id:b}}),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!e(g.worktreePath))return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!1};let h=g.worktreePath,i=f?.baseBranch||"main";try{let a=d("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=a?a.split("\n").map(a=>a.trim()).filter(Boolean):[],c=0===b.length,e=!1,f=null,g=[];try{let a=d("git",["merge-base",i,"HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=d("git",["rev-list","--count",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();if(e=parseInt(b,10)>0){f=d("git",["log","-1","--format=%B"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();let b=d("git",["log","--oneline",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();g=b?b.split("\n").filter(Boolean):[]}}catch{}return{clean:c,files:b,hasCommits:e,lastCommitMessage:f,commitLog:g,hasWorktree:!0}}catch{return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!0}}}async function u(b,d){let{execFileSync:e}=await a.A(144264),{existsSync:f}=await a.A(323970),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!f(g.worktreePath))throw Error("No active worktree for this task");let h=g.worktreePath;if(e("git",["add","-A"],{cwd:h,timeout:1e4}),!e("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim())throw Error("No changes to commit");return e("git",["commit","-m",d],{cwd:h,encoding:"utf-8",timeout:15e3}),{hash:e("git",["rev-parse","--short","HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim()}}async function v(a){return/^c[a-z0-9]{20,30}$/.test(a)?c.db.task.findUnique({where:{id:a},include:{labels:{include:{label:!0}},project:{select:{id:!0,name:!0,type:!0,localPath:!0,workspaceId:!0}},executions:{orderBy:{createdAt:"desc"},take:1,select:{summary:!0,status:!0,endedAt:!0,gitStats:!0}},_count:{select:{assets:!0}}}}):null}async function w(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.count({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}}})}(0,j.ensureServerEntryExports)([l,m,n,o,p,q,r,s,t,u,v,w]),(0,b.registerServerReference)(l,"409f5d8b89c2a6ea196db754abe35c584880c3f88a",null),(0,b.registerServerReference)(m,"600ef54ca10fd7bb666b08cd8d5bf227ccca58da4e",null),(0,b.registerServerReference)(n,"603219315ec2c04de4bd8822f5ac8f28fe73c94774",null),(0,b.registerServerReference)(o,"40bd98dde4c1ef5955329b927d0ca663fa200662bf",null),(0,b.registerServerReference)(p,"400f4839dc0b1bf785aefc73abeeafd2d918c21e91",null),(0,b.registerServerReference)(q,"40ed5a2e1ecede4bb689e84d768d03617f8e0f9a17",null),(0,b.registerServerReference)(r,"407e50bccd4fcd9f20355a0f5a1042b8e2f0590edc",null),(0,b.registerServerReference)(s,"40c292454cbbb64a070617d382d0c0faeb6d120054",null),(0,b.registerServerReference)(t,"403f8c0c7f02e64f5f4387dc8daa4186b455500a03",null),(0,b.registerServerReference)(u,"60274d75e15f6a4ed99e68cce68579183de3dbdeae",null),(0,b.registerServerReference)(v,"40a3a1d767fac8a4ebc7b3842ff740480168ee74a4",null),(0,b.registerServerReference)(w,"407ba69ce87e411215b763c5ba134766bcc1643968",null),a.s(["checkWorktreeClean",0,t,"commitWorktreeChanges",0,u,"createTask",0,l,"deleteTask",0,p,"getArchivedTaskCount",0,w,"getArchivedTasks",0,s,"getProjectTasks",0,q,"getTaskOverview",0,v,"searchTasks",0,r,"toggleTaskPinned",0,o,"updateTask",0,n,"updateTaskStatus",0,m])}];
|
|
46
|
-
|
|
47
|
-
//# sourceMappingURL=src_0r5zto-._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[492067,a=>{"use strict";a.i(233405);var b=a.i(761469);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(765789),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(26683).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},765789,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_constants_ts_0_7xt06._.js"].map(b=>a.l(b))).then(()=>b(103071)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=src_lib_0ffqwve._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[492067,a=>{"use strict";a.i(233405);var b=a.i(761469);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(765789),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(26683).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},765789,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_constants_ts_0_7xt06._.js"].map(b=>a.l(b))).then(()=>b(103071)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=src_lib_0i-k~x7._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[492067,a=>{"use strict";a.i(233405);var b=a.i(761469);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(765789),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(26683).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},765789,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_constants_ts_0_7xt06._.js"].map(b=>a.l(b))).then(()=>b(103071)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=src_lib_0jzfhds._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[492067,a=>{"use strict";a.i(233405);var b=a.i(761469);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(765789),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(26683).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},765789,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_constants_ts_0_7xt06._.js"].map(b=>a.l(b))).then(()=>b(103071)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=src_lib_0kjj12q._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[492067,a=>{"use strict";a.i(233405);var b=a.i(761469);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(765789),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(26683).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},765789,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_constants_ts_0_7xt06._.js"].map(b=>a.l(b))).then(()=>b(103071)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=src_lib_0lve.hi._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[492067,a=>{"use strict";a.i(233405);var b=a.i(761469);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(765789),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(26683).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},765789,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_constants_ts_0_7xt06._.js"].map(b=>a.l(b))).then(()=>b(103071)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=src_lib_0pywvqu._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[492067,a=>{"use strict";a.i(233405);var b=a.i(761469);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(765789),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(26683).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},765789,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_constants_ts_0_7xt06._.js"].map(b=>a.l(b))).then(()=>b(103071)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=src_lib_0tp-g~8._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[492067,a=>{"use strict";a.i(233405);var b=a.i(761469);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(765789),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(26683).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},765789,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_constants_ts_0_7xt06._.js"].map(b=>a.l(b))).then(()=>b(103071)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=src_lib_0vnqpwi._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[492067,a=>{"use strict";a.i(233405);var b=a.i(761469);async function c(c,d){let{TOWER_LABEL_NAME:e}=await a.A(765789),f=await b.db.task.findFirst({where:{projectId:c,labels:{some:{label:{name:e,isBuiltin:!0}}}},select:{id:!0}});if(f)return f.id;let g=await b.db.label.findFirst({where:{name:e,isBuiltin:!0}});return(await b.db.task.create({data:{title:`${d}-Tower`,description:`Project workbench for ${d}`,projectId:c,status:"TODO",priority:"LOW",order:0,...g?{labels:{create:{labelId:g.id}}}:{}},select:{id:!0}})).id}a.i(26683).logger.create("instrumentation"),a.s(["ensureTowerTask",0,c])},765789,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_constants_ts_0_7xt06._.js"].map(b=>a.l(b))).then(()=>b(103071)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=src_lib_0w9nhfj._.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/logo.png"/><link rel="stylesheet" href="/_next/static/chunks/123doanyjnwwq.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/0~8mebeyo5uub.css" data-precedence="next"/><style data-precedence="base-ui:low" data-href="base-ui-disable-scrollbar">.base-ui-disable-scrollbar{scrollbar-width:none}.base-ui-disable-scrollbar::-webkit-scrollbar{display:none}</style><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0wcyolcg1ve73.js"/><script src="/_next/static/chunks/0g2f3gfbw74_l.js" async=""></script><script src="/_next/static/chunks/06o_v9w9rlnhw.js" async=""></script><script src="/_next/static/chunks/0xx3nm8lmhwj_.js" async=""></script><script src="/_next/static/chunks/135ugbvs32qv_.js" async=""></script><script src="/_next/static/chunks/turbopack-14tk3atxl28.e.js" async=""></script><script src="/_next/static/chunks/076x3dc258jv8.js" async=""></script><script src="/_next/static/chunks/0y4t-yk9428ag.js" async=""></script><script src="/_next/static/chunks/04a2asn0hyy9c.js" async=""></script><script src="/_next/static/chunks/0n52vvco8hy2h.js" async=""></script><script src="/_next/static/chunks/0b2yknsc68f2a.js" async=""></script><script src="/_next/static/chunks/13.pi0v53g-4n.js" async=""></script><script src="/_next/static/chunks/0v8apmh_d7lz3.js" async=""></script><script src="/_next/static/chunks/0c5ct~fi6oo0x.js" async=""></script><script src="/_next/static/chunks/16nn-au~pxlvy.js" async=""></script><script src="/_next/static/chunks/0wyjnhk_5g3.8.js" async=""></script><script src="/_next/static/chunks/0e8wfpfgivr6t.js" async=""></script><link rel="preload" href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300..700;1,9..40,300..700&family=JetBrains+Mono:wght@400;500;600&display=swap" as="style"/><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>AI Task Platform - Tower</title><meta name="description" content="AI task orchestration and multi-project management platform"/><link rel="manifest" href="/manifest.json"/><link rel="icon" href="/favicon.ico?favicon.0y2d6j9cou~8p.ico" sizes="48x48" type="image/x-icon"/><link rel="icon" href="/icon1.png?icon1.04ux133882seb.png" sizes="96x96" type="image/png"/><link rel="apple-touch-icon" href="/apple-icon.png?apple-icon.16aocl-s-v2qz.png" sizes="180x180" type="image/png"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><title>404: This page could not be found.</title><link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300..700;1,9..40,300..700&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet"/><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div class="flex h-screen overflow-hidden"><aside class="noise relative flex h-screen w-56 flex-col border-r border-border bg-sidebar"><div class="relative z-10 flex items-center gap-3 px-4 py-4"><img src="/logo.png" alt="Tower" class="h-9 w-9 rounded-lg"/><div class="flex-1"><div class="text-sm font-semibold tracking-tight text-foreground">Tower</div><div class="text-[10px] font-medium uppercase tracking-widest text-muted-foreground">Studio</div></div><button type="button" tabindex="0" data-slot="button" title="折叠侧边栏" class="group/button inline-flex shrink-0 items-center justify-center border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 hover:bg-accent hover:text-foreground aria-expanded:bg-accent aria-expanded:text-foreground size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3 text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevrons-left h-4 w-4" aria-hidden="true"><path d="m11 17-5-5 5-5"></path><path d="m18 17-5-5 5-5"></path></svg></button></div><div class="relative z-10 flex items-center justify-between px-4 py-2"><span class="text-[11px] font-semibold uppercase tracking-wider text-muted-foreground">工作空间</span><button type="button" tabindex="0" data-slot="button" data-tour="create-workspace" title="新建工作空间" class="group/button inline-flex shrink-0 items-center justify-center border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 hover:bg-accent hover:text-foreground aria-expanded:bg-accent aria-expanded:text-foreground size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus h-3.5 w-3.5" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg></button></div><div role="presentation" style="position:relative;--scroll-area-corner-height:0px;--scroll-area-corner-width:0px" data-slot="scroll-area" class="group/scroll relative z-10 mt-2 flex-1 min-h-0"><div role="presentation" data-id="base-ui-_R_1l5lb_-viewport" tabindex="-1" class="size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 base-ui-disable-scrollbar" style="overflow:scroll" data-slot="scroll-area-viewport"><div class="px-2 py-1"><div class="group relative flex items-center rounded-lg transition-all hover:bg-accent/60"><button class="flex flex-1 items-center gap-2.5 px-3 py-2.5 text-left cursor-pointer"><span class="flex h-7 w-7 items-center justify-center rounded-md bg-muted text-sm"><span class="text-xs font-semibold text-muted-foreground">D</span></span><div class="flex-1 min-w-0"><div class="truncate text-sm font-medium text-secondary-foreground">Default Workspace</div><div class="text-[11px] text-muted-foreground">12d ago</div></div></button><button class="mr-2 rounded-md p-1 text-muted-foreground opacity-0 transition-all hover:bg-background hover:text-foreground group-hover:opacity-100" type="button" tabindex="0" aria-haspopup="menu" id="base-ui-_R_7b9l5lb_" data-slot="dropdown-menu-trigger"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-ellipsis h-3.5 w-3.5" aria-hidden="true"><circle cx="12" cy="12" r="1"></circle><circle cx="19" cy="12" r="1"></circle><circle cx="5" cy="12" r="1"></circle></svg></button></div></div></div></div><a class="relative z-10 flex items-center gap-2 border-t border-border px-4 py-3 text-[11px] cursor-pointer transition-colors text-muted-foreground hover:text-foreground" href="/missions"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-gauge h-3.5 w-3.5" aria-hidden="true"><path d="m12 14 4-4"></path><path d="M3.34 19a10 10 0 1 1 17.32 0"></path></svg><span>任务控制台</span></a><a class="relative z-10 flex items-center gap-2 border-t border-border px-4 py-3 text-[11px] text-muted-foreground cursor-pointer hover:text-foreground transition-colors" href="/workspaces/cmp9579zj0001clpwxip07rm6/notes"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text h-3.5 w-3.5" aria-hidden="true"><path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"></path><path d="M14 2v5a1 1 0 0 0 1 1h5"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg><span>笔记</span></a><a class="relative z-10 flex items-center gap-2 px-4 py-3 text-[11px] text-muted-foreground cursor-pointer hover:text-foreground transition-colors" href="/workspaces/cmp9579zj0001clpwxip07rm6/assets"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-open h-3.5 w-3.5" aria-hidden="true"><path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"></path></svg><span>资源</span></a><a class="relative z-10 flex items-center gap-2 px-4 py-3 text-[11px] text-muted-foreground cursor-pointer hover:text-foreground transition-colors" href="/workspaces/cmp9579zj0001clpwxip07rm6/archive"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-archive h-3.5 w-3.5" aria-hidden="true"><rect width="20" height="5" x="2" y="3" rx="1"></rect><path d="M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8"></path><path d="M10 12h4"></path></svg><span>归档</span></a></aside><div class="flex flex-1 flex-col overflow-hidden"><header class="flex h-12 items-center justify-between border-b border-border bg-background/80 px-5 backdrop-blur-sm"><div class="w-40"></div><div class="flex items-center gap-2"><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center rounded-lg border bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 border-border hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 h-8 w-[400px] justify-start gap-2 bg-muted/50 text-muted-foreground hover:bg-muted"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search h-3.5 w-3.5" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg><span class="flex-1 text-left">搜索任务、项目、仓库、笔记、资源...</span><kbd class="mr-1 flex items-center gap-0.5 rounded border border-border bg-background px-1.5 py-0.5 text-[10px] font-mono"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-command h-2.5 w-2.5" aria-hidden="true"><path d="M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3"></path></svg>K</kbd></button><button data-tour="open-assistant" aria-label="助手" class="cursor-pointer rounded-lg p-2 text-muted-foreground transition-colors hover:bg-accent hover:text-foreground " id="base-ui-_R_t2p5lb_" data-slot="tooltip-trigger"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bot h-4 w-4" aria-hidden="true"><path d="M12 8V4H8"></path><rect width="16" height="12" x="4" y="8" rx="2"></rect><path d="M2 14h2"></path><path d="M20 14h2"></path><path d="M15 13v2"></path><path d="M9 13v2"></path></svg></button></div><div class="flex items-center gap-1.5"><button type="button" tabindex="0" data-slot="tooltip-trigger" id="base-ui-_R_1jip5lb_" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 hover:bg-accent hover:text-foreground aria-expanded:bg-accent aria-expanded:text-foreground h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe h-3.5 w-3.5" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg><span class="text-[11px] font-semibold">EN</span></button><button type="button" tabindex="0" data-slot="tooltip-trigger" id="base-ui-_R_1lip5lb_" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 hover:bg-accent hover:text-foreground aria-expanded:bg-accent aria-expanded:text-foreground size-8 text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon h-4 w-4" aria-hidden="true"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg></button><div class="h-4 w-px bg-border"></div><button type="button" tabindex="0" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 border-border bg-background hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 h-8 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 gap-1.5 ring-1 ring-border hover:bg-accent"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-open h-3.5 w-3.5" aria-hidden="true"><path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"></path></svg>导入项目</button><button type="button" tabindex="0" data-slot="button" data-tour="create-project" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [a]:hover:bg-primary/80 h-8 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 gap-1.5 bg-primary/10 text-primary ring-1 ring-primary/25 hover:bg-primary/20"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus h-3.5 w-3.5" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg>新建项目</button><button class="ml-0.5 flex cursor-pointer items-center gap-1.5 rounded-lg px-2.5 py-1 transition-colors hover:bg-accent" type="button" tabindex="0" aria-haspopup="menu" id="base-ui-_R_1tip5lb_" data-slot="dropdown-menu-trigger"><span class="max-w-[80px] truncate text-xs text-muted-foreground">刘俊平</span><span data-slot="avatar" data-size="default" class="group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten h-7 w-7 ring-1 ring-border"><span data-slot="avatar-fallback" class="flex size-full items-center justify-center rounded-full group-data-[size=sm]/avatar:text-xs bg-emerald-500/20 text-emerald-400 text-[10px] font-semibold">刘</span></span></button></div></header><div class="flex flex-1 overflow-hidden"><main class="flex-1 overflow-auto bg-background"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--></main></div></div></div><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script src="/_next/static/chunks/0wcyolcg1ve73.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n3:I[680695,[\"/_next/static/chunks/076x3dc258jv8.js\",\"/_next/static/chunks/0y4t-yk9428ag.js\",\"/_next/static/chunks/04a2asn0hyy9c.js\",\"/_next/static/chunks/0n52vvco8hy2h.js\",\"/_next/static/chunks/0b2yknsc68f2a.js\",\"/_next/static/chunks/13.pi0v53g-4n.js\",\"/_next/static/chunks/0v8apmh_d7lz3.js\",\"/_next/static/chunks/0c5ct~fi6oo0x.js\",\"/_next/static/chunks/16nn-au~pxlvy.js\",\"/_next/static/chunks/0wyjnhk_5g3.8.js\",\"/_next/static/chunks/0e8wfpfgivr6t.js\"],\"default\"]\n4:I[484878,[\"/_next/static/chunks/076x3dc258jv8.js\",\"/_next/static/chunks/0y4t-yk9428ag.js\",\"/_next/static/chunks/04a2asn0hyy9c.js\",\"/_next/static/chunks/0n52vvco8hy2h.js\",\"/_next/static/chunks/0b2yknsc68f2a.js\",\"/_next/static/chunks/13.pi0v53g-4n.js\",\"/_next/static/chunks/0v8apmh_d7lz3.js\",\"/_next/static/chunks/0c5ct~fi6oo0x.js\",\"/_next/static/chunks/16nn-au~pxlvy.js\",\"/_next/static/chunks/0wyjnhk_5g3.8.js\",\"/_next/static/chunks/0e8wfpfgivr6t.js\"],\"default\"]\n5:I[834225,[\"/_next/static/chunks/076x3dc258jv8.js\",\"/_next/static/chunks/0y4t-yk9428ag.js\",\"/_next/static/chunks/04a2asn0hyy9c.js\",\"/_next/static/chunks/0n52vvco8hy2h.js\",\"/_next/static/chunks/0b2yknsc68f2a.js\",\"/_next/static/chunks/13.pi0v53g-4n.js\",\"/_next/static/chunks/0v8apmh_d7lz3.js\",\"/_next/static/chunks/0c5ct~fi6oo0x.js\",\"/_next/static/chunks/16nn-au~pxlvy.js\",\"/_next/static/chunks/0wyjnhk_5g3.8.js\",\"/_next/static/chunks/0e8wfpfgivr6t.js\"],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n9:I[834225,[\"/_next/static/chunks/076x3dc258jv8.js\",\"/_next/static/chunks/0y4t-yk9428ag.js\",\"/_next/static/chunks/04a2asn0hyy9c.js\",\"/_next/static/chunks/0n52vvco8hy2h.js\",\"/_next/static/chunks/0b2yknsc68f2a.js\",\"/_next/static/chunks/13.pi0v53g-4n.js\",\"/_next/static/chunks/0v8apmh_d7lz3.js\",\"/_next/static/chunks/0c5ct~fi6oo0x.js\",\"/_next/static/chunks/16nn-au~pxlvy.js\",\"/_next/static/chunks/0wyjnhk_5g3.8.js\",\"/_next/static/chunks/0e8wfpfgivr6t.js\"],\"ViewportBoundary\"]\nb:I[834225,[\"/_next/static/chunks/076x3dc258jv8.js\",\"/_next/static/chunks/0y4t-yk9428ag.js\",\"/_next/static/chunks/04a2asn0hyy9c.js\",\"/_next/static/chunks/0n52vvco8hy2h.js\",\"/_next/static/chunks/0b2yknsc68f2a.js\",\"/_next/static/chunks/13.pi0v53g-4n.js\",\"/_next/static/chunks/0v8apmh_d7lz3.js\",\"/_next/static/chunks/0c5ct~fi6oo0x.js\",\"/_next/static/chunks/16nn-au~pxlvy.js\",\"/_next/static/chunks/0wyjnhk_5g3.8.js\",\"/_next/static/chunks/0e8wfpfgivr6t.js\"],\"MetadataBoundary\"]\nd:I[135230,[\"/_next/static/chunks/076x3dc258jv8.js\",\"/_next/static/chunks/0y4t-yk9428ag.js\",\"/_next/static/chunks/04a2asn0hyy9c.js\",\"/_next/static/chunks/0n52vvco8hy2h.js\",\"/_next/static/chunks/0b2yknsc68f2a.js\",\"/_next/static/chunks/13.pi0v53g-4n.js\",\"/_next/static/chunks/0v8apmh_d7lz3.js\",\"/_next/static/chunks/0c5ct~fi6oo0x.js\",\"/_next/static/chunks/16nn-au~pxlvy.js\",\"/_next/static/chunks/0wyjnhk_5g3.8.js\",\"/_next/static/chunks/0e8wfpfgivr6t.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/123doanyjnwwq.css\",\"style\"]\n:HL[\"/_next/static/chunks/0~8mebeyo5uub.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/123doanyjnwwq.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0~8mebeyo5uub.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/076x3dc258jv8.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0y4t-yk9428ag.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/04a2asn0hyy9c.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/0n52vvco8hy2h.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/_next/static/chunks/0b2yknsc68f2a.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/_next/static/chunks/13.pi0v53g-4n.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-6\",{\"src\":\"/_next/static/chunks/0v8apmh_d7lz3.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-7\",{\"src\":\"/_next/static/chunks/0c5ct~fi6oo0x.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-8\",{\"src\":\"/_next/static/chunks/16nn-au~pxlvy.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-9\",{\"src\":\"/_next/static/chunks/0wyjnhk_5g3.8.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-10\",{\"src\":\"/_next/static/chunks/0e8wfpfgivr6t.js\",\"async\":true,\"nonce\":\"$undefined\"}]],\"$L2\"]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,null]},null,false,\"$@8\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/123doanyjnwwq.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0~8mebeyo5uub.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"Kff31mi-mF0Jr_em-2NTJ\"}\n"])</script><script>self.__next_f.push([1,"e:[]\n8:\"$We\"\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"f:I[782626,[\"/_next/static/chunks/076x3dc258jv8.js\",\"/_next/static/chunks/0y4t-yk9428ag.js\",\"/_next/static/chunks/04a2asn0hyy9c.js\",\"/_next/static/chunks/0n52vvco8hy2h.js\",\"/_next/static/chunks/0b2yknsc68f2a.js\",\"/_next/static/chunks/13.pi0v53g-4n.js\",\"/_next/static/chunks/0v8apmh_d7lz3.js\",\"/_next/static/chunks/0c5ct~fi6oo0x.js\",\"/_next/static/chunks/16nn-au~pxlvy.js\",\"/_next/static/chunks/0wyjnhk_5g3.8.js\",\"/_next/static/chunks/0e8wfpfgivr6t.js\"],\"IconMark\"]\n7:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"AI Task Platform - Tower\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"AI task orchestration and multi-project management platform\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.json\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0y2d6j9cou~8p.ico\",\"sizes\":\"48x48\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/icon1.png?icon1.04ux133882seb.png\",\"sizes\":\"96x96\",\"type\":\"image/png\"}],[\"$\",\"link\",\"5\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?apple-icon.16aocl-s-v2qz.png\",\"sizes\":\"180x180\",\"type\":\"image/png\"}],[\"$\",\"$Lf\",\"6\",{}]]\n"])</script><script>self.__next_f.push([1,"10:I[782406,[\"/_next/static/chunks/076x3dc258jv8.js\",\"/_next/static/chunks/0y4t-yk9428ag.js\",\"/_next/static/chunks/04a2asn0hyy9c.js\",\"/_next/static/chunks/0n52vvco8hy2h.js\",\"/_next/static/chunks/0b2yknsc68f2a.js\",\"/_next/static/chunks/13.pi0v53g-4n.js\",\"/_next/static/chunks/0v8apmh_d7lz3.js\",\"/_next/static/chunks/0c5ct~fi6oo0x.js\",\"/_next/static/chunks/16nn-au~pxlvy.js\",\"/_next/static/chunks/0wyjnhk_5g3.8.js\",\"/_next/static/chunks/0e8wfpfgivr6t.js\"],\"ThemeProvider\"]\n11:I[746798,[\"/_next/static/chunks/076x3dc258jv8.js\",\"/_next/static/chunks/0y4t-yk9428ag.js\",\"/_next/static/chunks/04a2asn0hyy9c.js\",\"/_next/static/chunks/0n52vvco8hy2h.js\",\"/_next/static/chunks/0b2yknsc68f2a.js\",\"/_next/static/chunks/13.pi0v53g-4n.js\",\"/_next/static/chunks/0v8apmh_d7lz3.js\",\"/_next/static/chunks/0c5ct~fi6oo0x.js\",\"/_next/static/chunks/16nn-au~pxlvy.js\",\"/_next/static/chunks/0wyjnhk_5g3.8.js\",\"/_next/static/chunks/0e8wfpfgivr6t.js\"],\"TooltipProvider\"]\n12:I[533499,[\"/_next/static/chunks/076x3dc258jv8.js\",\"/_next/static/chunks/0y4t-yk9428ag.js\",\"/_next/static/chunks/04a2asn0hyy9c.js\",\"/_next/static/chunks/0n52vvco8hy2h.js\",\"/_next/static/chunks/0b2yknsc68f2a.js\",\"/_next/static/chunks/13.pi0v53g-4n.js\",\"/_next/static/chunks/0v8apmh_d7lz3.js\",\"/_next/static/chunks/0c5ct~fi6oo0x.js\",\"/_next/static/chunks/16nn-au~pxlvy.js\",\"/_next/static/chunks/0wyjnhk_5g3.8.js\",\"/_next/static/chunks/0e8wfpfgivr6t.js\"],\"I18nProvider\"]\n13:I[770303,[\"/_next/static/chunks/076x3dc258jv8.js\",\"/_next/static/chunks/0y4t-yk9428ag.js\",\"/_next/static/chunks/04a2asn0hyy9c.js\",\"/_next/static/chunks/0n52vvco8hy2h.js\",\"/_next/static/chunks/0b2yknsc68f2a.js\",\"/_next/static/chunks/13.pi0v53g-4n.js\",\"/_next/static/chunks/0v8apmh_d7lz3.js\",\"/_next/static/chunks/0c5ct~fi6oo0x.js\",\"/_next/static/chunks/16nn-au~pxlvy.js\",\"/_next/static/chunks/0wyjnhk_5g3.8.js\",\"/_next/static/chunks/0e8wfpfgivr6t.js\"],\"ExtensionProvider\"]\n14:I[914935,[\"/_next/static/chunks/076x3dc258jv8.js\",\"/_next/static/chunks/0y4t-yk9428ag.js\",\"/_next/static/chunks/04a2asn0hyy9c.js\",\"/_next/static/chunks/0n52vvco8hy2h.js\",\"/_next/static/chunks/0b2yknsc68f2a.js\",\"/_next/static/chunks/13.pi0v53g-4n.js\",\"/_next/static/chunks/0v8apmh_d7lz3.js\",\"/_next/static/chunks/0c5ct~fi6oo0x.js\",\"/_next/static/chunks/16nn-au~pxlvy.js\",\"/_next/static/chunks/0wyjnhk_5g3.8.js\",\"/_next/static/chunks/0e8wfpfgivr6t.js\"],\"LayoutClient\"]\n15:I[713354,[\"/_next/static/chunks/076x3dc258jv8.js\",\"/_next/static/chunks/0y4t-yk9428ag.js\",\"/_next/static/chunks/04a2asn0hyy9c.js\",\"/_next/static/chunks/0n52vvco8hy2h.js\",\"/_next/static/chunks/0b2yknsc68f2a.js\",\"/_next/static/chunks/13.pi0v53g-4n.js\",\"/_next/static/chunks/0v8apmh_d7lz3.js\",\"/_next/static/chunks/0c5ct~fi6oo0x.js\",\"/_next/static/chunks/16nn-au~pxlvy.js\",\"/_next/static/chunks/0wyjnhk_5g3.8.js\",\"/_next/static/chunks/0e8wfpfgivr6t.js\"],\"Toaster\"]\n:HL[\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300..700;1,9..40,300..700\u0026family=JetBrains+Mono:wght@400;500;600\u0026display=swap\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:[\"$\",\"html\",null,{\"lang\":\"zh-CN\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.googleapis.com\"}],[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.gstatic.com\",\"crossOrigin\":\"anonymous\"}],[\"$\",\"link\",null,{\"href\":\"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300..700;1,9..40,300..700\u0026family=JetBrains+Mono:wght@400;500;600\u0026display=swap\",\"rel\":\"stylesheet\"}]]}],[\"$\",\"body\",null,{\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable antialiased\",\"children\":[\"$\",\"$L10\",null,{\"attribute\":\"class\",\"defaultTheme\":\"system\",\"enableSystem\":true,\"children\":[\"$\",\"$L11\",null,{\"children\":[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$L13\",null,{\"initialStatus\":{\"rg\":{\"installed\":true,\"path\":\"/opt/homebrew/bin/rg\",\"version\":\"15.1.0\"},\"monaco\":{\"installed\":false}},\"children\":[[\"$\",\"$L14\",null,{\"workspaces\":[{\"id\":\"cmp9579zj0001clpwxip07rm6\",\"name\":\"Default Workspace\",\"description\":null,\"updatedAt\":\"$D2026-05-17T02:15:01.712Z\"}],\"isFirstRun\":false,\"username\":\"刘俊平\",\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:1:children:1:children:0:props:children:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:1:children:1:children:0:props:children:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:1:children:1:children:0:props:children:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:1:children:1:children:0:props:children:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"$L15\",null,{\"richColors\":true,\"position\":\"top-right\"}]]}]}]}]}]}]]}]\n"])</script></body></html>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,487976,e=>{"use strict";var r=e.i(289721),t=e.i(965652),n=e.i(946822),l=e.i(40448),a=e.i(821957),o=e.i(67286),c=e.i(461526);e.s(["PreviewLogTerminal",0,function({previewKey:e,taskId:i}){let{resolvedTheme:u}=(0,a.useTheme)(),s=(0,t.useRef)(null),d=(0,t.useRef)(null),f=(0,t.useRef)(null),m=(0,t.useRef)(null);return(0,t.useEffect)(()=>{if(!s.current)return;let r="light"!==u,t=new n.Terminal({fontFamily:"Menlo, Monaco, 'Courier New', monospace",fontSize:12,scrollback:5e3,cursorBlink:!1,disableStdin:!0,allowTransparency:!1,convertEol:!0,theme:r?{background:"#0a0a0a",foreground:"#e5e5e5"}:{background:"#fafafa",foreground:"#171717"}}),a=new l.FitAddon;t.loadAddon(a),t.open(s.current);let w=s.current.querySelector(".xterm-helper-textarea");w&&(w.style.opacity="0"),d.current=t,m.current=a;try{a.fit()}catch{}let y=!1,g=null;(async()=>{let r=await (0,o.getActualWsPort)();if(y)return;let n=new URLSearchParams({taskId:c.PREVIEW_TASK_ID,role:"terminal",previewKey:e,connectionId:crypto.randomUUID(),clientTaskId:i});(g=new WebSocket(`ws://localhost:${r}/?${n.toString()}`)).binaryType="arraybuffer",f.current=g,g.onmessage=e=>{let r="string"==typeof e.data?e.data:new TextDecoder().decode(e.data);t.write(r)}})();let b=()=>{try{m.current?.fit()}catch{}};return window.addEventListener("resize",b),()=>{y=!0,window.removeEventListener("resize",b),f.current?.close(),f.current=null,d.current&&(d.current.dispose(),d.current=null),m.current=null}},[e,i,u]),(0,r.jsx)("div",{ref:s,className:"size-full bg-black"})}])},461834,e=>{e.n(e.i(487976))}]);
|