tower-studio 0.2.46 → 0.2.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +82 -70
- package/.next/standalone/.next/server/app/_not-found/page.js +2 -1
- 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/browse-fs/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/tasks/[taskId]/merge/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/harness/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/harness/page/server-reference-manifest.json +92 -80
- package/.next/standalone/.next/server/app/harness/page.js +2 -1
- package/.next/standalone/.next/server/app/harness/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/harness/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/missions/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/missions/page/server-reference-manifest.json +150 -138
- package/.next/standalone/.next/server/app/missions/page.js +5 -4
- package/.next/standalone/.next/server/app/missions/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/onboarding/page/server-reference-manifest.json +82 -70
- package/.next/standalone/.next/server/app/onboarding/page.js +2 -1
- 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/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +82 -70
- package/.next/standalone/.next/server/app/page.js +2 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +128 -116
- package/.next/standalone/.next/server/app/settings/page.js +4 -3
- 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/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +190 -178
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js +3 -2
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +166 -154
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js +3 -2
- 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]/groups/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page/server-reference-manifest.json +86 -74
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page.js +2 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +150 -138
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js +3 -2
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +162 -162
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js +4 -3
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +82 -70
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js +3 -2
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/server-reference-manifest.json +140 -140
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js +3 -2
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +4 -4
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +182 -170
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js +6 -5
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/workspaces/page/server-reference-manifest.json +108 -96
- package/.next/standalone/.next/server/app/workspaces/page.js +2 -1
- 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_0eh8dj_.js +7 -7
- package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0gr2wxq.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0esywxf._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kkrbn-._.js +1 -1
- package/.next/standalone/.next/server/chunks/_0_w835g._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_05balzk._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_0gif-f5._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_0pg9w-x._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_0vp6.co._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_11k6i~l._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_actions_agent-actions_ts_10q9r5b._.js +3 -3
- 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/[root-of-the-server]__00qdvw7._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__07rk6ic._.js → [root-of-the-server]__0282989._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0hzwoy5._.js → [root-of-the-server]__03jikql._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0trmndk._.js → [root-of-the-server]__04dod9d._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__05tx27l._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0m8m7vc._.js → [root-of-the-server]__07ha-7q._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__07~giyb._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0bx_h2u._.js → [root-of-the-server]__0872sqe._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__090y_.y._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0b6hugs._.js → [root-of-the-server]__09qoc8v._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0.0m12b._.js → [root-of-the-server]__0bl842b._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0br5e7w._.js → [root-of-the-server]__0c81jqz._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0dh0alq._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0u3~-.g._.js → [root-of-the-server]__0fy8mj6._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0kqp70x._.js → [root-of-the-server]__0gsk~9d._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h4ltpn._.js +5 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0hx2p17._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ie8~g5._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0n02kfa._.js → [root-of-the-server]__0j1w7ro._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0esg88l._.js → [root-of-the-server]__0jxfeb6._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0jymb~t._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__00qzvly._.js → [root-of-the-server]__0mi.v4q._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__06sew6r._.js → [root-of-the-server]__0nell0t._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0odoa97._.js +30 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__12viys4._.js → [root-of-the-server]__0q8o5us._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0b6fbjv._.js → [root-of-the-server]__0qjjy1r._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0rg73f.._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0t3q30a._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0tpho3f._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0dhq_gl._.js → [root-of-the-server]__0tusyj0._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0~edc3d._.js → [root-of-the-server]__0x6eyvj._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0n3uc.v._.js → [root-of-the-server]__0xftcya._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0xiiocg._.js +30 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0x7br99._.js → [root-of-the-server]__0znl9us._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0zsnp~d._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0~fdua7._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11fp64w._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0vyl8to._.js → [root-of-the-server]__1290yo~._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12s3kky._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0s_q09t._.js → [root-of-the-server]__136sh9u._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0-~9em3._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0.-.0zk._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0..h3hk._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0b660g4._.js → _0111pr2._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0czsddm._.js → _029yl-g._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0q2pep_._.js → _02mcoex._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_02t7f2_._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0gomvsp._.js → _04brhyt._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_1118hto._.js → _08b3kyv._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0-5.hgb._.js → _0a___34._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0ami9yt._.js → _0b4v~ls._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0bdyusg._.js +6 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0hsuip_._.js → _0c8-9m9._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0j7m~u6._.js → _0gcox_6._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0snv7nt._.js → _0gte_c4._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0g~p9_x._.js → _0hyn4md._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0l6byg1._.js → _0lqjtwo._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0noar.v._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0os43sb._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0o_c3b2._.js → _0rilhs1._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0ak77.u._.js → _0sbkase._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_00_h2nx._.js → _0t-0.1o._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0wbcp88._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0mmy~98._.js → _0w~~xn0._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0awn2mm._.js → _0xexuoi._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0xu906p._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/_0z-z415._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0zx1ubq._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0ty4xe6._.js → _0~2k74h._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0hx2o_8._.js → _0~rpgs_._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_10a_vqn._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0p5ft59._.js → _10or.ne._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_11.knhq._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_12s8n8g._.js → _124j7aj._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_13yv8at._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_11j0qlp._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_actions_07_wts6._.js +47 -0
- 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]_notes_notes-page-client_tsx_10gyo3v._.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_components_0rowjw~._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_0cld9rt._.js → src_lib_0-3zx.v._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_0_px2pz._.js → src_lib_00ial55._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_0a.zy31._.js → src_lib_01-0ix1._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_0b73q0a._.js → src_lib_01d~ml9._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_04nzvfd._.js → src_lib_0278czx._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_lib_07o.0r6._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_09jpiip._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0bmg7ix._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0cb~2g1._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0fdsvpu._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0fyrfen._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_0dbf2qa._.js → src_lib_0gqe-g3._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0ixnmd0._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0lpxsj~._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0pgz5n6._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_0h2u7a0._.js → src_lib_0tq69ek._.js} +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1146 -1068
- package/.next/standalone/.next/static/chunks/{0oyskd~8~j.j7.js → 00agq5_c-.llc.js} +1 -1
- package/.next/standalone/.next/static/chunks/015i97g3voot2.js +2 -0
- package/.next/standalone/.next/static/chunks/{02v-9v~885t9c.js → 01wvj~s3skc-5.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0.gedys.tq.~k.js → 031br6.h-zycv.js} +1 -1
- package/.next/standalone/.next/static/chunks/{07qijq9o5jccu.js → 054ztat09k8d8.js} +1 -1
- package/.next/standalone/.next/static/chunks/07f592yv~pptf.js +1 -0
- package/.next/standalone/.next/static/chunks/{06x7oq8_iu~9d.js → 08j4ettv1zbmn.js} +1 -1
- package/.next/standalone/.next/static/chunks/{03uix~1ru.ovv.js → 08kc0~d-bpqxd.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0j5olwb~d3~3j.js → 08s_oyki61yjf.js} +1 -1
- package/.next/standalone/.next/static/chunks/09bc_~h466~tj.js +1 -0
- package/.next/standalone/.next/static/chunks/{0q1872yhybt55.js → 0_hj_1l73v-on.js} +1 -1
- package/.next/standalone/.next/static/chunks/{00o_eiv12t~.1.js → 0a54zbhpg7-ql.js} +1 -1
- package/.next/standalone/.next/static/chunks/0c2po53wqe-op.js +1 -0
- package/.next/standalone/.next/static/chunks/0clhvl~13pwv2.js +1 -0
- package/.next/standalone/.next/static/chunks/0fi1kdxrc9m~d.js +1 -0
- package/.next/standalone/.next/static/chunks/0j56_.0_wup.m.js +1 -0
- package/.next/standalone/.next/static/chunks/{17z9uivez~kp3.js → 0lokkque~1fox.js} +1 -1
- package/.next/standalone/.next/static/chunks/0m5k~sgt78d8a.js +1 -0
- package/.next/standalone/.next/static/chunks/{0d9u2xspag~4h.js → 0mzzaly9-cwhd.js} +1 -1
- package/.next/standalone/.next/static/chunks/0pg~fc3o64-u0.js +1 -0
- package/.next/standalone/.next/static/chunks/{0-kkc.ibted8y.js → 0pvc93qomwhkq.js} +1 -1
- package/.next/standalone/.next/static/chunks/0smoiulyzysrc.js +2 -0
- package/.next/standalone/.next/static/chunks/0ufatfbq87c84.js +1 -0
- package/.next/standalone/.next/static/chunks/{09om2gfwimh7k.js → 0ujznvfinjpzn.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0cf7e1scao3zk.js → 0ux~8zee88x-j.js} +1 -1
- package/.next/standalone/.next/static/chunks/0vy01_a6xhhrr.js +1 -0
- package/.next/standalone/.next/static/chunks/0xd_tk4asn0qj.js +1 -0
- package/.next/standalone/.next/static/chunks/{12-mlz2vukuga.js → 0~l470bpaoz9f.js} +1 -1
- package/.next/standalone/.next/static/chunks/118j.0w2pbdea.js +1 -0
- package/.next/standalone/.next/static/chunks/13yfli6~6o4z~.js +1 -0
- package/.next/standalone/.next/static/chunks/{0t1awv68pnn-e.js → 15rlbf5rw1dd..js} +1 -1
- package/.next/standalone/package.json +1 -1
- package/dist/mcp-server.cjs +6 -0
- package/package.json +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0-geq20._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__02~hdzx._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h_pt4a._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0idkp76._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0j4m.1s._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0kmonje._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0lh3mlq._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0muf4wq._.js +0 -49
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0o5ohqy._.js +0 -47
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ta_mpj._.js +0 -30
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ws0_c1._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0~mhv4m._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1013v_g._.js +0 -47
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__123rmn-._.js +0 -30
- package/.next/standalone/.next/server/chunks/ssr/_05~lqg-._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/_0771b4a._.js +0 -47
- package/.next/standalone/.next/server/chunks/ssr/_0fmko25._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0hg~.4w._.js +0 -6
- package/.next/standalone/.next/server/chunks/ssr/_0nrxhfb._.js +0 -47
- package/.next/standalone/.next/server/chunks/ssr/_0vkl7.h._.js +0 -47
- package/.next/standalone/.next/server/chunks/ssr/_0x09t_o._.js +0 -47
- package/.next/standalone/.next/server/chunks/ssr/_0zn.4bi._.js +0 -47
- package/.next/standalone/.next/server/chunks/ssr/_1086w4p._.js +0 -47
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0er7rzd._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0f0v8_~._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0fr6fzy._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0k04rl3._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0sq6aqm._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0ui-~7g._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0z-gn78._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_13c4a4g._.js +0 -3
- package/.next/standalone/.next/static/chunks/00g58.es_hxli.js +0 -1
- package/.next/standalone/.next/static/chunks/01qtgj0xv1fsm.js +0 -2
- package/.next/standalone/.next/static/chunks/024euw7po0d0w.js +0 -1
- package/.next/standalone/.next/static/chunks/03ct4d8znb7tp.js +0 -1
- package/.next/standalone/.next/static/chunks/0alhq.h4~iogi.js +0 -1
- package/.next/standalone/.next/static/chunks/0ck~sr0nkabl~.js +0 -1
- package/.next/standalone/.next/static/chunks/0d1ok-v-u-xe~.js +0 -1
- package/.next/standalone/.next/static/chunks/0ftptcpntzaux.js +0 -1
- package/.next/standalone/.next/static/chunks/0gk~m5bwgoafi.js +0 -1
- package/.next/standalone/.next/static/chunks/0in_7s8n4lmfr.js +0 -1
- package/.next/standalone/.next/static/chunks/0mtrtl-jl46in.js +0 -2
- package/.next/standalone/.next/static/chunks/0~2l3wz-gxs2j.js +0 -1
- package/.next/standalone/.next/static/chunks/0~7h_a_dofg-4.js +0 -1
- package/.next/standalone/.next/static/chunks/15gztq9f12uhe.js +0 -1
- package/.next/standalone/.next/static/chunks/15ue90qe1sh-9.js +0 -1
- /package/.next/standalone/.next/static/{Pf_z-PYy0CJhvcyPEi-LM → dFewkdixeBoRBY6Fvw11J}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{Pf_z-PYy0CJhvcyPEi-LM → dFewkdixeBoRBY6Fvw11J}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{Pf_z-PYy0CJhvcyPEi-LM → dFewkdixeBoRBY6Fvw11J}/_ssgManifest.js +0 -0
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
module.exports=[491890,a=>{"use strict";var b=a.i(815429),c=a.i(761469),d=a.i(188139),e=a.i(933919);async function f(a){return c.db.productGroup.findMany({where:{workspaceId:a},orderBy:{name:"asc"},include:{projects:{select:{id:!0,name:!0,alias:!0},orderBy:{createdAt:"asc"}}}})}async function g(a){let b=a.name.trim();if(!b)throw Error("分组名称不能为空");if(!a.workspaceId)throw Error("缺少工作区");try{let e=await c.db.productGroup.create({data:{name:b,description:a.description?.trim()||null,workspaceId:a.workspaceId}});return(0,d.revalidatePath)("/workspaces"),e}catch(a){if(a instanceof e.Prisma.PrismaClientKnownRequestError&&"P2002"===a.code)throw Error(`分组「${b}」在该工作区已存在`);throw a}}async function h(a,b){let f={};if(void 0!==b.name){let a=b.name.trim();if(!a)throw Error("分组名称不能为空");f.name=a}void 0!==b.description&&(f.description=b.description?.trim()||null);try{let b=await c.db.productGroup.update({where:{id:a},data:f});return(0,d.revalidatePath)("/workspaces"),b}catch(a){if(a instanceof e.Prisma.PrismaClientKnownRequestError){if("P2002"===a.code)throw Error("同工作区已有同名分组");if("P2025"===a.code)throw Error("分组不存在")}throw a}}async function i(a){try{await c.db.$transaction([c.db.project.updateMany({where:{groupId:a},data:{groupId:null}}),c.db.productGroup.delete({where:{id:a}})]),(0,d.revalidatePath)("/workspaces")}catch(a){if(a instanceof e.Prisma.PrismaClientKnownRequestError&&"P2025"===a.code)throw Error("分组不存在");throw a}}async function j(a,b){if(b){let[d,e]=await Promise.all([c.db.project.findUnique({where:{id:a},select:{workspaceId:!0}}),c.db.productGroup.findUnique({where:{id:b},select:{workspaceId:!0}})]);if(!d)throw Error("项目不存在");if(!e)throw Error("分组不存在");if(e.workspaceId!==d.workspaceId)throw Error("分组与项目不在同一工作区,不能跨区分组")}try{let e=await c.db.project.update({where:{id:a},data:{groupId:b}});return(0,d.revalidatePath)("/workspaces"),e}catch(a){if(a instanceof e.Prisma.PrismaClientKnownRequestError&&"P2025"===a.code)throw Error("项目不存在");throw a}}(0,a.i(630048).ensureServerEntryExports)([f,g,h,i,j]),(0,b.registerServerReference)(f,"40ff151b677eeaf0636f04e8d87327f4046c314c92",null),(0,b.registerServerReference)(g,"40e3cf8e78797104c14a8e7539e4e904ca54efa90c",null),(0,b.registerServerReference)(h,"609ab0a0753de43d84bbace4355456cf5a948698d4",null),(0,b.registerServerReference)(i,"409ed0c82178d1e7f500225d0089b30cd36284f589",null),(0,b.registerServerReference)(j,"609f47ef812de3d5f05ec0e95d0b9bc0490c684bdc",null),a.s(["createProductGroup",0,g,"deleteProductGroup",0,i,"getProductGroups",0,f,"setProjectGroup",0,j,"updateProductGroup",0,h])},396904,101844,a=>{"use strict";var b=a.i(815429),c=a.i(761469);function d(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 e(a,b="task",f){if(!a.trim())return[];let g=a.trim(),{resultLimit:h,allModeCap:i,snippetLength:j}=f;if("all"===b){let[a,b,c,d,h]=await Promise.allSettled([e(g,"task",f),e(g,"project",f),e(g,"repository",f),e(g,"note",f),e(g,"asset",f)]),j=a=>"fulfilled"===a.status?a.value.slice(0,i):[];return[...j(a),...j(b),...j(c),...j(d),...j(h)]}if("task"===b)return(await c.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"===b)return(await c.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"===b)return(await c.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"===b){if(g.length<3)return(await c.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=>d(a,j));try{return(await c.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=>d(a,j))}catch{return(await c.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=>d(a,j))}}return"asset"===b?(await c.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})):[]}var f=a.i(980999),g=a.i(630048);async function h(a,b="task"){let c=await (0,f.getConfigValues)(["search.resultLimit","search.allModeCap","search.snippetLength"]);return e(a,b,{resultLimit:c["search.resultLimit"]??20,allModeCap:c["search.allModeCap"]??5,snippetLength:c["search.snippetLength"]??80})}(0,g.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"60307d44ba04bf0330743c985bf6cc4ce0876e8b49",null),a.s(["globalSearch",0,h],396904);var i=a.i(924868),j=a.i(522734),k=a.i(814747),l=a.i(188139);async function m(b){if(!b||"string"!=typeof b)return{safe:!1,reason:"无效的项目 ID"};let d=await c.db.project.findUnique({where:{id:b}});if(!d||!d.localPath)return{safe:!1,reason:"项目不存在或未设置本地路径"};if((await c.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{safe:!1,reason:"该项目有正在运行的任务执行,请先停止所有执行"};let e=await c.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:f}=await a.A(98813);for(let a of e)if(void 0!==f(a.id))return{safe:!1,reason:"该项目有活跃的终端会话,请先关闭"};let g=k.default.join(d.localPath,".worktrees");if((0,j.existsSync)(g))try{if((await (0,i.readdir)(g)).length>0)return{safe:!1,reason:"该项目有活跃的 Git Worktree,请先清理"}}catch{}return{safe:!0}}async function n(b,d){if(!b||"string"!=typeof b)return{success:!1,error:"无效的项目 ID"};if(!d||"string"!=typeof d||!k.default.isAbsolute(d))return{success:!1,error:"目标路径必须是非空的绝对路径"};let e=await c.db.project.findUnique({where:{id:b}});if(!e||!e.localPath)return{success:!1,error:"项目不存在或未设置本地路径"};let f=e.localPath;if(d===f)return{success:!1,error:"源路径和目标路径相同"};if((await c.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{success:!1,error:"该项目有正在运行的任务执行,请先停止所有执行"};let g=await c.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:h}=await a.A(98813);for(let a of g)if(void 0!==h(a.id))return{success:!1,error:"该项目有活跃的终端会话,请先关闭"};let m=k.default.join(f,".worktrees");if((0,j.existsSync)(m))try{if((await (0,i.readdir)(m)).length>0)return{success:!1,error:"该项目有活跃的 Git Worktree,请先清理"}}catch{}if((0,j.existsSync)(d))try{if((await (0,i.readdir)(d)).length>0)return{success:!1,error:"目标路径已存在且不为空"}}catch{return{success:!1,error:"目标路径已存在且不为空"}}let n=k.default.dirname(d);try{await (0,i.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,i.rename)(f,d)}catch(a){if("EXDEV"===a.code)return{success:!1,error:"源路径和目标路径不在同一文件系统,不支持跨设备迁移"};if("EACCES"===a.code||"EPERM"===a.code)return{success:!1,error:`无权限移动到 ${d}`};return{success:!1,error:a.message||"文件系统操作失败"}}return await c.db.project.update({where:{id:b},data:{localPath:d}}),(0,l.revalidatePath)("/workspaces"),{success:!0}}let o=`分析这个项目目录,生成一段简短的 Markdown 项目描述。
|
|
22
|
-
|
|
23
|
-
读取 package.json、README.md 等关键文件,然后概括:
|
|
24
|
-
|
|
25
|
-
**技术栈:** 一句话列出主要语言、框架、关键库
|
|
26
|
-
**定位:** 一句话说明项目是什么
|
|
27
|
-
**核心模块:** 2-3 个关键模块,每个一句话
|
|
28
|
-
|
|
29
|
-
要求:
|
|
30
|
-
- 总字数不超过 500 字
|
|
31
|
-
- 用简洁的 Markdown(加粗标签 + 短句),不要用 ## 大标题和表格
|
|
32
|
-
- 不要罗列每个文件/目录,只说关键信息
|
|
33
|
-
- 中文输出`,p=`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 q(b,c="zh"){if(!b||"string"!=typeof b)throw Error("无效的本地路径");if(b.startsWith("~"))throw Error("不支持 ~ 别名,请提供绝对路径");if(!k.default.isAbsolute(b))throw Error("本地路径必须为绝对路径");let{aiQuery:d}=await a.A(752453),e=await d("en"===c?p:o,b,{maxTurns:10,tools:["Read","Glob"],allowedTools:["Read","Glob"]});if(!e)throw Error("AI 分析未返回结果");return e.length>2e3?e.slice(0,2e3).trimEnd()+"\n\n...":e}(0,g.ensureServerEntryExports)([m,n,q]),(0,b.registerServerReference)(m,"4064146185600ce222e9bc8e2316f49c9603a85346",null),(0,b.registerServerReference)(n,"609c9417a5d51517e959d27ee390da88a7c0542bbc",null),(0,b.registerServerReference)(q,"6036f5d613735f83ba2f8cc49ca9b64fd1c0c0beab",null),a.s(["analyzeProjectDirectory",0,q,"checkMigrationSafety",0,m,"migrateProjectPath",0,n],101844)},625636,a=>{"use strict";var b=a.i(761469);async function c(a){let c="ask"===a.kind?"OPEN":"CLOSED";return{messageId:(await b.db.harnessMessage.create({data:{taskId:a.taskId,executionId:a.executionId??null,kind:a.kind,content:a.content,state:c}})).id}}async function d(a){return(await b.db.harnessMessage.updateMany({where:{id:a,kind:"ask",state:"OPEN"},data:{state:"IGNORED"}})).count>0}async function e(a){return(await b.db.harnessMessage.updateMany({where:{taskId:a,kind:"ask",state:"OPEN"},data:{state:"CANCELLED"}})).count}async function f(a){await b.db.harnessMessage.delete({where:{id:a}})}async function g(a={}){let c=a.view??"pending";return b.db.harnessMessage.findMany({where:"pending"===c?{kind:"ask",state:"OPEN"}:"answered"===c?{kind:"ask",state:"ANSWERED"}:{},orderBy:{createdAt:"desc"},take:a.limit??200,include:{task:{select:{id:!0,title:!0}}}})}a.s(["cancelOpenAsks",0,e,"dismissMessage",0,f,"ignoreAsk",0,d,"listHarnessMessages",0,g,"recordHarnessMessage",0,c])},333500,a=>{"use strict";var b=a.i(815429),c=a.i(188139),d=a.i(625636);async function e(a="pending"){return(await (0,d.listHarnessMessages)({view:a})).map(a=>({id:a.id,taskId:a.taskId,taskTitle:a.task?.title??"",kind:a.kind,content:a.content,state:a.state,replyText:a.replyText,repliedAt:a.repliedAt?a.repliedAt.toISOString():null,createdAt:a.createdAt.toISOString()}))}async function f(a,b){let d=process.env.PORT??"3000";try{let e=await fetch(`http://localhost:${d}/api/internal/harness/reply`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({taskId:a,text:b})}),f=await e.json().catch(()=>({}));if((0,c.revalidatePath)("/harness"),!e.ok)return{ok:!1,error:f.error??"reply failed"};return{ok:!0,mode:f.mode,injected:f.injected}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function g(b){let c=b.dest?.trim();if(!c)return{ok:!1,output:"缺少测试目的地"};let{getTowerDir:d}=await a.A(371711),{resolveCommandPathSync:e}=await a.A(889618),{execFile:f}=await a.A(482848),{promisify:g}=await a.A(268548),h=g(f),i=b.downstream?`通过「${b.downstream}」`:"",j=`这是一次通知渠道连通性测试。请用「${b.gateway}」网关${i},给「${c}」发送一条测试消息:「✅ Tower 通知渠道测试,收到请忽略」。收件人「${c}」可能是名称而非 id(如某个人名或群名)—— 若不是现成 id,先用对应平台的 MCP 工具按名称查找该群/人拿到 id,再发送。只做这一件事。发送成功只回复 SENT,失败只回复 FAILED 加简短原因。`,k=process.env.CLAUDE_CODE_PATH||e("claude");try{let{stdout:a}=await h(k,["--print",j,"--permission-mode","bypassPermissions"],{cwd:d(),timeout:12e4,maxBuffer:1048576,env:process.env}),b=(a||"").trim();return{ok:/\bSENT\b/i.test(b)&&!/\bFAIL/i.test(b),output:b||"(无输出)"}}catch(a){return{ok:!1,output:(a.stdout||a.stderr||a.message||String(a)).trim().slice(0,2e3)}}}async function h(a){let b=await (0,d.ignoreAsk)(a);return(0,c.revalidatePath)("/harness"),{ok:b}}async function i(a){return await (0,d.dismissMessage)(a),(0,c.revalidatePath)("/harness"),{ok:!0}}(0,a.i(630048).ensureServerEntryExports)([e,f,g,h,i]),(0,b.registerServerReference)(e,"40eb2e17b12a4365beee5c57c9b5534f3ef6558a2d",null),(0,b.registerServerReference)(f,"60446c5198ebeed1273c32fd2cc0e5c3704123f6e5",null),(0,b.registerServerReference)(g,"40dc9fc2c9c0b69d14fc779a0bb51b34232d5f18d5",null),(0,b.registerServerReference)(h,"405ffc4d2a36ada45d8f20a5c110910625bba0ffeb",null),(0,b.registerServerReference)(i,"40d082281edf0f7744acdbecc71cddd73868edd2a8",null),a.s(["dismissHarnessMessage",0,i,"getHarnessMessages",0,e,"ignoreHarnessAsk",0,h,"replyHarnessAsk",0,f,"testHarnessTarget",0,g])},540608,a=>{"use strict";var b=a.i(244256),c=a.i(495370),d=a.i(396904),e=a.i(980999),f=a.i(101844),g=a.i(491890),h=a.i(563736),i=a.i(4634),j=a.i(333500);a.s([],456535),a.i(456535),a.s(["00106d4fcb4d66916535f592a22f2432e998f5c560",()=>e.getActualWsPort,"001de1e475f046aa339c23ec372c92b714d1f9a6f5",()=>i.getOnboardingStatus,"0069b845452752e9c446565ecc887751ceb88f8302",()=>b.getWorkspacesWithProjects,"00abe22e017185b0aac474fd740ae59ad8cbff33a3",()=>h.listAllExtensionStatus,"40107191906b7bd9007e9c955d43addd4eb4a5a687",()=>i.setOnboardingProgress,"403508781c13bf9d40b2fa51d399f5ca275af8be45",()=>c.createLabel,"4036232b529af0e5d065629d1878dc1a6e82f9ab45",()=>b.createWorkspace,"403629f8c3d76ad7fbefdd04b8cdbe84c9ffc95758",()=>c.deleteLabel,"4036f95ed5dc32f339eacad6c635ee66f9e026db46",()=>h.checkExtension,"4047d8634587ecb96fe8459ea07f040d7d207f1c96",()=>i.dispatchTaskCompletionEvent,"404b88257c253f72e32b690fbfdc864cdbe54233e3",()=>e.resolveGitLocalPath,"404f73addc943bb8455a63e7ceecb59ca89b3e445c",()=>b.deleteWorkspace,"405ffc4d2a36ada45d8f20a5c110910625bba0ffeb",()=>j.ignoreHarnessAsk,"4064146185600ce222e9bc8e2316f49c9603a85346",()=>f.checkMigrationSafety,"406b9ebf02d3183f04e594426f6a5ebe41a65dee0d",()=>h.installExtension,"4075ec4df24bd89711034f15cca9eb240df9f3f473",()=>e.getConfigValues,"40a4ee923ff0b325baafa490ce673265b4bf3061a2",()=>c.getLabelsForWorkspace,"40adbba8c12c1bdb8072b324eb5ae7afff35a67271",()=>e.resolveGitLocalPathWithSource,"40b03ac97723fe879d9efe21b71e56c5a984151d22",()=>b.createProject,"40b59a54ce49a5ad9953b31159f64bfd2ee911e145",()=>h.uninstallExtension,"40d082281edf0f7744acdbecc71cddd73868edd2a8",()=>j.dismissHarnessMessage,"40da1ea17360e58bedf2e6bf6d1f53246b673da623",()=>b.reorderWorkspaces,"40dc9fc2c9c0b69d14fc779a0bb51b34232d5f18d5",()=>j.testHarnessTarget,"40e3cf8e78797104c14a8e7539e4e904ca54efa90c",()=>g.createProductGroup,"40eb2e17b12a4365beee5c57c9b5534f3ef6558a2d",()=>j.getHarnessMessages,"40ff151b677eeaf0636f04e8d87327f4046c314c92",()=>g.getProductGroups,"60307d44ba04bf0330743c985bf6cc4ce0876e8b49",()=>d.globalSearch,"6036f5d613735f83ba2f8cc49ca9b64fd1c0c0beab",()=>f.analyzeProjectDirectory,"603aca60338da224813e09368e73f008feefa9a4fe",()=>i.completeOnboarding,"60446c5198ebeed1273c32fd2cc0e5c3704123f6e5",()=>j.replyHarnessAsk,"609c9417a5d51517e959d27ee390da88a7c0542bbc",()=>f.migrateProjectPath,"609f47ef812de3d5f05ec0e95d0b9bc0490c684bdc",()=>g.setProjectGroup,"60abd5e499bef8cd1d081b74113f0e817026a864e7",()=>e.getConfigValue,"60bc9436cec7b2f26cf49b181625cda9710fd3e4cc",()=>b.updateWorkspace,"60cfe2e76434418decb73fd3d25bf587d7b5ad1695",()=>e.setConfigValue,"60d98f261d5da4342103e4c5be854bfdc7b172158c",()=>i.setOnboardingExtensions],540608)},76052,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_0z-gn78._.js"].map(b=>a.l(b))).then(()=>b(492067)))},98813,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0e79g0v._.js"].map(b=>a.l(b))).then(()=>b(962620)))},507502,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_worktree_ts_06cucy3._.js"].map(b=>a.l(b))).then(()=>b(845427)))},752453,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0s_q09t._.js"].map(b=>a.l(b))).then(()=>b(897667)))},371711,a=>{a.v(a=>Promise.resolve().then(()=>a(319997)))},889618,a=>{a.v(a=>Promise.resolve().then(()=>a(163812)))},482848,a=>{a.v(a=>Promise.resolve().then(()=>a(874533)))},268548,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_util_0xr.y7p._.js"].map(b=>a.l(b))).then(()=>b(812057)))}];
|
|
46
|
-
|
|
47
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0o5ohqy._.js.map
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
module.exports=[52350,562278,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(163812);function f(){return process.env.TOWER_PACKAGE_ROOT||process.cwd()}a.s(["getPackageRoot",0,f],562278);let g=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=["--dangerously-skip-permissions"];a.extraArgs?.length&&b.push(...a.extraArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...a.envOverrides??{}};return{command:this.resolveCommand(),args:b,env:c}}buildEnvOverrides(a){let b={TOWER_TASK_ID:a.taskId,TOWER_TASK_TITLE:a.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:a.apiUrl};return a.callbackUrl&&(b.CALLBACK_URL=a.callbackUrl),b}async installHooks(a){try{let a=this.readSettings(),b=a.hooks??{},c=f().replace(/\\/g,"/"),e=d.join(c,"scripts","tower-session-start-hook.js").replace(/\\/g,"/"),g=d.join(c,"scripts","tower-post-tool-hook.js").replace(/\\/g,"/"),h=d.join(c,"scripts","tower-stop-hook.js").replace(/\\/g,"/"),i=!1;return i=this.upsertHook(b,"SessionStart","session-start-hook.js",{hooks:[{command:`node "${e}"`,timeout:5,type:"command"}]})||i,i=this.upsertHook(b,"PostToolUse","post-tool-hook.js",{hooks:[{command:`node "${g}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"})||i,(i=this.upsertHook(b,"Stop","stop-hook.js",{hooks:[{command:`node "${h}"`,timeout:5,type:"command"}]})||i)&&(a.hooks=b,this.writeSettings(a)),{ok:!0,method:"file",detail:this.getSettingsPath()}}catch(a){return{ok:!1,method:"file",detail:this.getSettingsPath(),error:a instanceof Error?a.message:String(a)}}}async repairHookPaths(){try{let a=this.readSettings(),b=a.hooks??{},c=f().replace(/\\/g,"/"),e=!1;for(let[a,f,g]of[["SessionStart","session-start-hook.js","tower-session-start-hook.js"],["PostToolUse","post-tool-hook.js","tower-post-tool-hook.js"],["Stop","stop-hook.js","tower-stop-hook.js"]]){let h=this.getHookArray(b,a),i=h.findIndex(a=>a?.hooks?.some?.(a=>a.command?.includes(f)));if(i<0)continue;let j=d.join(c,"scripts",g).replace(/\\/g,"/"),k=`node "${j}"`,l=h[i]?.hooks?.[0];l&&l.command!==k&&(l.command=k,b[a]=h,e=!0)}e&&(a.hooks=b,this.writeSettings(a))}catch{}}upsertHook(a,b,c,d){let e=this.getHookArray(a,b),f=d?.hooks?.[0]?.command,g=e.findIndex(a=>a?.hooks?.some?.(a=>a.command?.includes(c)));if(g>=0){if(e[g]?.hooks?.[0]?.command===f)return!1;e.splice(g,1)}return e.push(d),a[b]=e,!0}async uninstallHooks(){try{let a=this.readSettings(),b=a.hooks??{},c=["session-start-hook.js","post-tool-hook.js","stop-hook.js"];for(let a of["SessionStart","PostToolUse","Stop"]){let d=this.getHookArray(b,a);b[a]=d.filter(a=>!a.hooks?.some(a=>c.some(b=>a.command?.includes(b))))}return a.hooks=b,this.writeSettings(a),{ok:!0,method:"file",detail:this.getSettingsPath()}}catch(a){return{ok:!1,method:"file",detail:this.getSettingsPath(),error:a instanceof Error?a.message:String(a)}}}async isHooksInstalled(){let a=this.readSettings().hooks??{},b=this.getHookArray(a,"PostToolUse");return this.hasHook(b,"post-tool-hook.js")}async installMcp(a,b={}){let c=b.scope??"user",d={command:a.command,args:a.args};a.env&&Object.keys(a.env).length>0&&(d.env=a.env);let e=this.resolveCommand(),f=["mcp","add-json","-s",c,a.name,JSON.stringify(d)];try{return await this.runCli(e,["mcp","remove","-s",c,a.name],b.cwd).catch(()=>{}),await this.runCli(e,f,b.cwd),{ok:!0,method:"cli",detail:`${e} ${f.join(" ")}`}}catch(a){return{ok:!1,method:"cli",detail:`${e} ${f.join(" ")}`,error:a instanceof Error?a.message:String(a)}}}async uninstallMcp(a,b={}){let c=b.scope??"user",d=this.resolveCommand(),e=["mcp","remove","-s",c,a];try{return await this.runCli(d,e,b.cwd),{ok:!0,method:"cli",detail:`${d} ${e.join(" ")}`}}catch(a){return{ok:!1,method:"cli",detail:`${d} ${e.join(" ")}`,error:a instanceof Error?a.message:String(a)}}}async isMcpInstalled(a,b={}){let c=this.resolveCommand();try{return await this.runCli(c,["mcp","get",a],b.cwd,5e3),!0}catch{return!1}}async installSkill(a,c){let f=d.join(this.getConfigDir(),"skills",a);try{if(!b.existsSync(c))return{ok:!1,method:"symlink",detail:f,error:`Source skill dir does not exist: ${c}`};b.mkdirSync(d.dirname(f),{recursive:!0});let a=await b.promises.lstat(f).catch(()=>null);if(a)if(!(a.isSymbolicLink()||(0,e.isWindows)()&&a.isDirectory()))return{ok:!1,method:"symlink",detail:f,error:`Refusing to overwrite non-symlink at ${f}`};else try{let a=await b.promises.readlink(f);if(d.resolve(a)===d.resolve(c))return{ok:!0,method:"symlink",detail:`${f} → ${c} (already)`};await b.promises.unlink(f)}catch{if(!a.isSymbolicLink())return{ok:!1,method:"symlink",detail:f,error:`Refusing to overwrite non-symlink at ${f}`}}let g=(0,e.isWindows)()?"junction":"dir";return await b.promises.symlink(c,f,g),{ok:!0,method:"symlink",detail:`${f} → ${c}`}}catch(a){return{ok:!1,method:"symlink",detail:f,error:a instanceof Error?a.message:String(a)}}}async uninstallSkill(a){let c=d.join(this.getConfigDir(),"skills",a);try{let a=await b.promises.lstat(c).catch(()=>null);if(!a)return{ok:!0,method:"symlink",detail:`${c} (already absent)`};if(!a.isSymbolicLink())return{ok:!1,method:"symlink",detail:c,error:`Refusing to remove non-symlink at ${c}`};return await b.promises.unlink(c),{ok:!0,method:"symlink",detail:c}}catch(a){return{ok:!1,method:"symlink",detail:c,error:a instanceof Error?a.message:String(a)}}}async isSkillInstalled(a,c){let e=d.join(this.getConfigDir(),"skills",a);try{if(!(await b.promises.lstat(e)).isSymbolicLink())return!1;if(!c)return!0;let a=await b.promises.readlink(e),f=d.isAbsolute(a)?a:d.resolve(d.dirname(e),a);return d.resolve(f)===d.resolve(c)}catch{return!1}}async runCli(b,c,d,e=1e4){let{execFile:f}=await a.A(482848),{promisify:g}=await a.A(268548),h=g(f),{stdout:i}=await h(b,c,{cwd:d,timeout:e});return i}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),{resolveSpawnTarget:d}=await a.A(889618),e=c(b),f=await d(this.resolveCommand(),["--version"]),{stdout:g}=await e(f.command,f.args,{timeout:5e3});return g.trim()||null}catch{return null}}async getModels(){return g}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}getApiKeyInfo(){return{envVar:"ANTHROPIC_API_KEY",required:!1}}buildHelloProbeArgs(a){return{command:this.resolveCommand(),args:["--print",a,"--output-format","stream-json","--verbose"]}}resolveCommand(){if(process.env.CLAUDE_CODE_PATH)return process.env.CLAUDE_CODE_PATH;if((0,e.isWindows)()){let a=(0,e.resolveCommandPathSync)("claude-code");if("claude-code"!==a)return a}return(0,e.resolveCommandPathSync)("claude")}readSettings(){try{return JSON.parse(b.readFileSync(this.getSettingsPath(),"utf-8"))}catch{return{}}}writeSettings(a){let c=this.getConfigDir();b.existsSync(c)||b.mkdirSync(c,{recursive:!0}),b.writeFileSync(this.getSettingsPath(),JSON.stringify(a,null,2),"utf-8")}getHookArray(a,b){let c=a[b];return Array.isArray(c)?c:[]}hasHook(a,b){return a.some(a=>a.hooks?.some(a=>a.command?.includes(b)))}}],52350)},897667,a=>{"use strict";let b=new(a.i(52350)).ClaudeCliAdapter;async function c(d,e,f={}){let g="";try{let{query:c}=await a.A(719041),h=b.resolveCommand();for await(let a of c({prompt:d,options:{tools:f.tools??[],allowedTools:f.allowedTools??[],maxTurns:f.maxTurns??1,cwd:e,pathToClaudeCodeExecutable:h,sessionPersistence:!1}}))if("assistant"===a.type){let b=a.message.content.filter(a=>"text"===a.type);g+=b.map(a=>a.text??"").join("")}else if("result"===a.type){let b="string"==typeof a.result?a.result:"";b&&!g&&(g=b)}return g.trim()||null}catch(a){if(a.message?.includes("maximum number of turns")&&g.trim())return g.trim();return console.error("[aiQuery] Failed:",a.message,a.stack?.slice(0,300)),null}}async function d(a,b){let d=`以下是一次AI编程助手的终端会话记录。请用一句简短的中文总结这次会话做了什么(不超过50字,只回答总结内容,不要加引号或前缀):
|
|
2
|
-
|
|
3
|
-
\`\`\`
|
|
4
|
-
${a.slice(-5e3)}
|
|
5
|
-
\`\`\``,e=await c(d,b);return e&&e.replace(/^[#*\->"'\s]+/,"").trim()||null}async function e(a,b,d){let e=a.slice(-8e3),f=d?`
|
|
6
|
-
Session summary: ${d}`:"",g=`You are analyzing a completed AI coding session. Extract reusable insights.
|
|
7
|
-
${f}
|
|
8
|
-
|
|
9
|
-
Terminal log (last 8000 chars):
|
|
10
|
-
\`\`\`
|
|
11
|
-
${e}
|
|
12
|
-
\`\`\`
|
|
13
|
-
|
|
14
|
-
Respond ONLY with valid JSON matching this schema (no markdown, no explanation):
|
|
15
|
-
{
|
|
16
|
-
"summary": "one-sentence summary of what was accomplished",
|
|
17
|
-
"insights": [
|
|
18
|
-
{ "type": "pattern|pitfall|decision|tool|reference", "content": "description" }
|
|
19
|
-
],
|
|
20
|
-
"shouldCreateNote": true/false,
|
|
21
|
-
"noteTitle": "short title for the note (only if shouldCreateNote is true)"
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
Rules:
|
|
25
|
-
- Set shouldCreateNote=true ONLY if there are genuinely reusable insights (architectural decisions, non-obvious pitfalls, useful patterns, important tool discoveries)
|
|
26
|
-
- Trivial sessions (simple formatting, single-line edits, routine commits) should have shouldCreateNote=false
|
|
27
|
-
- insights array can be empty if nothing notable
|
|
28
|
-
- Keep each insight concise (1-2 sentences)`,h=await c(g,b);if(!h)return null;try{let a=h,b=a.match(/\{[\s\S]*\}/);b&&(a=b[0]);let c=JSON.parse(a);if("string"!=typeof c.summary||"boolean"!=typeof c.shouldCreateNote)return console.error("[generateDreamingInsight] Invalid response structure"),null;return c}catch(a){return console.error("[generateDreamingInsight] JSON parse failed:",a.message),null}}a.s(["aiQuery",0,c,"generateDreamingInsight",0,e,"generateSummaryFromLog",0,d])},482848,a=>{a.v(a=>Promise.resolve().then(()=>a(874533)))},268548,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_util_0xr.y7p._.js"].map(b=>a.l(b))).then(()=>b(812057)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},889618,a=>{a.v(a=>Promise.resolve().then(()=>a(163812)))},719041,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0ti8vng._.js","server/chunks/ssr/07-d_@anthropic-ai_claude-agent-sdk_sdk_mjs_0myippv._.js"].map(b=>a.l(b))).then(()=>b(845454)))}];
|
|
29
|
-
|
|
30
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0ta_mpj._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},10390,a=>{"use strict";var b=a.i(421992);a.s(["ChevronRight",()=>b.default])},912868,a=>{"use strict";let b=(0,a.i(711796).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",0,b],912868)},111699,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("4075ec4df24bd89711034f15cca9eb240df9f3f473",b.callServer,void 0,b.findSourceMapURL,"getConfigValues");a.s(["getConfigValues",0,c])},648512,a=>{"use strict";let b=(0,a.i(711796).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",0,b],648512)},509405,a=>{"use strict";let b=(0,a.i(711796).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Eye",0,b],509405)},412783,22761,a=>{"use strict";var b=a.i(728778),c=a.i(368114);a.s(["Label",0,function({className:a,...d}){return(0,b.jsx)("label",{"data-slot":"label",className:(0,c.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...d})}],412783);let d=(0,a.i(711796).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);a.s(["Copy",0,d],22761)},786304,a=>{"use strict";var b=a.i(475295),c=a.i(213200),d=a.i(142261),e=a.i(368114);let f=(0,d.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});a.s(["Badge",0,function({className:a,variant:d="default",render:g,...h}){var i;return i={defaultTagName:"span",props:(0,b.mergeProps)({className:(0,e.cn)(f({variant:d}),a)},h),render:g,state:{slot:"badge",variant:d}},(0,c.useRenderElement)(i.defaultTagName??"div",i,i)}],786304)},161664,a=>{"use strict";let b=(0,a.i(711796).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);a.s(["RotateCcw",0,b],161664)},816282,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("404c5f6bb80cc0d10b604e5640d83816a765fc59f3",b.callServer,void 0,b.findSourceMapURL,"openInTerminal");a.s(["openInTerminal",0,c])},269280,a=>{"use strict";let b=(0,a.i(711796).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],269280)},551578,a=>{"use strict";var b=a.i(728778);let c=(0,a.i(711796).default)("milestone",[["path",{d:"M12 13v8",key:"1l5pq0"}],["path",{d:"M12 3v3",key:"1n5kay"}],["path",{d:"M18.172 6a2 2 0 0 1 1.414.586l2.06 2.06a1.207 1.207 0 0 1 0 1.708l-2.06 2.06a2 2 0 0 1-1.414.586H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1z",key:"8gz4t4"}]]);var d=a.i(951192);let e=["bg-sky-500/20 text-sky-300 border border-sky-500/30","bg-amber-500/20 text-amber-300 border border-amber-500/30","bg-violet-500/20 text-violet-300 border border-violet-500/30","bg-emerald-500/20 text-emerald-300 border border-emerald-500/30","bg-rose-500/20 text-rose-300 border border-rose-500/30","bg-cyan-500/20 text-cyan-300 border border-cyan-500/30","bg-indigo-500/20 text-indigo-300 border border-indigo-500/30"];function f(a){return e[function(a){let b=0;for(let c=0;c<a.length;c++)b=31*b+a.charCodeAt(c)>>>0;return b}(a)%e.length]}let g={PLANNED:"bg-slate-500/20 text-slate-300 border border-slate-500/30",ACTIVE:"bg-emerald-500/20 text-emerald-300 border border-emerald-500/30",RELEASED:"bg-zinc-500/20 text-zinc-400 border border-zinc-500/30"};a.s(["TaskVersionTag",0,function({number:a,name:d,showName:e=!1,className:f="",title:g}){return(0,b.jsxs)("span",{className:`inline-flex items-center gap-1 rounded-md border border-border bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground ${f}`,title:g??(d?`${a} \xb7 ${d}`:a),children:[(0,b.jsx)(c,{className:"h-2.5 w-2.5 shrink-0"}),(0,b.jsx)("span",{className:"font-mono",children:a}),e&&d?(0,b.jsx)("span",{className:"max-w-[140px] truncate",children:d}):null]})},"VersionStatusBadge",0,function({status:a}){let{t:c}=(0,d.useI18n)();return(0,b.jsx)("span",{className:`inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium ${g[a]}`,children:c(`version.status.${a}`)})},"VersionTypeBadge",0,function({name:a}){let{t:c}=(0,d.useI18n)();return a?(0,b.jsx)("span",{className:`inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium ${f(a)}`,children:a}):(0,b.jsx)("span",{className:"inline-flex items-center rounded-full border border-border bg-muted/40 px-2 py-0.5 text-xs font-medium text-muted-foreground",children:c("version.type.uncategorized")})},"typeBadgeColor",0,f],551578)},625892,939859,a=>{"use strict";var b=a.i(711796);let c=(0,b.default)("folder-search",[["path",{d:"M10.7 20H4a2 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.9H20a2 2 0 0 1 2 2v4.1",key:"1bw5m7"}],["path",{d:"m21 21-1.9-1.9",key:"1g2n9r"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}]]);a.s(["FolderSearch",0,c],625892);let d=(0,b.default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);a.s(["Code",0,d],939859)},267540,123089,165614,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("408215e48e1a623e4bbb685a78e3a3ada2ed9a5e8a",b.callServer,void 0,b.findSourceMapURL,"openInFileManager");a.s(["openInFileManager",0,c],267540);let d=(0,b.createServerReference)("40a305711044d42074dc8b719a62360ee159d7fe96",b.callServer,void 0,b.findSourceMapURL,"openInEditor");a.s(["openInEditor",0,d],123089);let e=(0,a.i(711796).default)("circle-play",[["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["PlayCircle",0,e],165614)},283857,a=>{"use strict";let b=(0,a.i(711796).default)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);a.s(["Lightbulb",0,b],283857)},394869,a=>{"use strict";let b=(0,a.i(711796).default)("git-compare",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["path",{d:"M11 18H8a2 2 0 0 1-2-2V9",key:"19pyzm"}]]);a.s(["GitCompare",0,b],394869)},207339,a=>{"use strict";let b=(0,a.i(711796).default)("git-commit-horizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);a.s(["GitCommitHorizontal",0,b],207339)},428676,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("404cb0cdb388fc63f10c22dc497e72b00bb5c78d42",b.callServer,void 0,b.findSourceMapURL,"uploadAsset");a.s(["uploadAsset",0,c])},464417,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("40423169aa2508c9cd2bada9f65d9397112c0ea175",b.callServer,void 0,b.findSourceMapURL,"deleteAsset");a.s(["deleteAsset",0,c])},555445,678518,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("4021cffd826ce36203d99f6565f58863b9bc8a2727",b.callServer,void 0,b.findSourceMapURL,"createNote");a.s(["createNote",0,c],555445);let d=(0,b.createServerReference)("40006718afe159ee057487702c0cb12c23f6bac540",b.callServer,void 0,b.findSourceMapURL,"deleteNote");a.s(["deleteNote",0,d],678518)},913284,761818,468862,a=>{"use strict";var b=a.i(884664);a.s(["CheckCircle2",()=>b.default],913284);let c=(0,a.i(711796).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["default",0,c],761818),a.s(["XCircle",0,c],468862)},811344,a=>{"use strict";var b=a.i(622945);a.s(["AlertTriangle",()=>b.default])},836856,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("404cffeebf9cd5b11929ed56c5dbcb3e79b820450e",b.callServer,void 0,b.findSourceMapURL,"getPrompts");a.s(["getPrompts",0,c])},963326,a=>{"use strict";let b=(0,a.i(711796).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);a.s(["ExternalLink",0,b],963326)},324954,a=>{"use strict";let b=(0,a.i(711796).default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);a.s(["Upload",0,b],324954)},268317,a=>{"use strict";var b=a.i(374637);a.s(["useScrollOverflow",0,function(a,c=[]){let[d,e]=(0,b.useState)({canScrollLeft:!1,canScrollRight:!1}),f=(0,b.useCallback)(()=>{let b=a.current;b&&e({canScrollLeft:b.scrollLeft>0,canScrollRight:b.scrollLeft<b.scrollWidth-b.clientWidth-1})},[a]);return(0,b.useEffect)(()=>{let b=a.current;if(!b)return;f(),b.addEventListener("scroll",f);let c=new ResizeObserver(f);return c.observe(b),window.addEventListener("resize",f),()=>{b.removeEventListener("scroll",f),c.disconnect(),window.removeEventListener("resize",f)}},[f,...c]),d}])},579834,a=>{"use strict";var b=a.i(728778),c=a.i(368114);a.s(["EmptyState",0,function({icon:a,title:d,description:e,action:f,className:g}){return(0,b.jsxs)("div",{className:(0,c.cn)("flex h-48 flex-col items-center justify-center gap-2 text-center",g),children:[a&&(0,b.jsx)(a,{className:"h-10 w-10 text-muted-foreground/40"}),(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:d}),e&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:e}),f&&(0,b.jsx)("div",{className:"mt-2",children:f})]})}])},88757,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(553798),e=a.i(814574),f=a.i(699570);let g=(0,a.i(711796).default)("git-merge",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]]);var h=a.i(704494);a.s(["TaskMergeConfirmDialog",0,function({open:a,onOpenChange:i,taskId:j,taskTitle:k,baseBranch:l,fileCount:m,commitCount:n,commitLog:o=[],onMergeComplete:p}){let q=(0,d.useRouter)(),[r,s]=(0,c.useState)(!1),[t,u]=(0,c.useState)(null),v=async()=>{s(!0),u(null);try{let a=await fetch(`/api/tasks/${j}/merge`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(a.ok){i(!1),p(),q.refresh();return}let b=await a.json().catch(()=>({error:"Merge failed"}));409===a.status?u(`Merge conflicts detected: ${Array.isArray(b.conflictFiles)?b.conflictFiles.join(", "):"unknown files"}`):u(b.error??"Merge failed")}catch{u("Network error — merge failed")}finally{s(!1)}};return(0,b.jsx)(e.Dialog,{open:a,onOpenChange:i,children:(0,b.jsxs)(e.DialogContent,{showCloseButton:!0,className:"sm:max-w-md",children:[(0,b.jsx)(e.DialogHeader,{children:(0,b.jsxs)(e.DialogTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)(g,{className:"h-4 w-4 text-emerald-400"}),"Confirm Merge"]})}),(0,b.jsxs)("div",{className:"space-y-3 py-2",children:[(0,b.jsxs)("div",{className:"rounded-lg border border-border bg-muted/30 p-3 space-y-2.5",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Target branch"}),(0,b.jsx)("code",{className:"text-xs font-mono bg-muted px-2 py-0.5 rounded text-foreground",children:l})]}),(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Changed files"}),(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:m})]}),(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Commits"}),(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:n})]})]}),o.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground mb-1 block",children:"Commits"}),(0,b.jsx)("div",{className:"rounded-md border border-border bg-muted/30 p-2 space-y-1 max-h-32 overflow-y-auto",children:o.map((a,c)=>(0,b.jsx)("div",{className:"text-xs font-mono text-foreground/80",children:a},c))})]}),t&&(0,b.jsx)("div",{className:"rounded-lg border border-red-500/20 bg-red-500/10 px-3 py-2",children:(0,b.jsx)("p",{className:"text-xs text-red-400",children:t})})]}),(0,b.jsxs)(e.DialogFooter,{children:[(0,b.jsx)(f.Button,{variant:"outline",onClick:()=>i(!1),disabled:r,children:"Cancel"}),(0,b.jsx)(f.Button,{onClick:v,disabled:r,className:"gap-2",children:r?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(h.Loader2,{className:"h-4 w-4 animate-spin"}),"Merging..."]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g,{className:"h-4 w-4"}),"Confirm Merge"]})})]})]})})}],88757)},778199,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("4062d13cdbe45c1cfb8386e810495e72befcfbec91",b.callServer,void 0,b.findSourceMapURL,"stopPtyExecution");a.s(["stopPtyExecution",0,c])},12306,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("60efa135082b65911a52ff807ef8c96f9c3585f6a1",b.callServer,void 0,b.findSourceMapURL,"resumePtyExecution");a.s(["resumePtyExecution",0,c])},367082,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("60e4b2ed8000953c03639b7e7fbc5233720fd9370a",b.callServer,void 0,b.findSourceMapURL,"updateTaskStatus");a.s(["updateTaskStatus",0,c])},789369,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("401acf2b7191c3fbfd39c3f254a5628d15465f16bb",b.callServer,void 0,b.findSourceMapURL,"checkWorktreeClean");a.s(["checkWorktreeClean",0,c])},974957,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("6031d4644cd423486c800f9dcad4ed01df4562a880",b.callServer,void 0,b.findSourceMapURL,"commitWorktreeChanges");a.s(["commitWorktreeChanges",0,c])},957930,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("7c3d6cd7e5e687f4f77510e3a770d804bec50e4336",b.callServer,void 0,b.findSourceMapURL,"startPtyExecution");a.s(["startPtyExecution",0,c])},574046,a=>{a.v(b=>Promise.all(["server/chunks/ssr/04y0_streamdown_dist_highlighted-body-OFNGDK62_0dm8t_v.js"].map(b=>a.l(b))).then(()=>b(514138)))},170967,a=>{a.v(b=>Promise.all(["server/chunks/ssr/04y0_streamdown_dist_mermaid-GHXKKRXX_0oxtju0.js"].map(b=>a.l(b))).then(()=>b(729004)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0ws0_c1._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},913284,761818,468862,a=>{"use strict";var b=a.i(884664);a.s(["CheckCircle2",()=>b.default],913284);let c=(0,a.i(711796).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["default",0,c],761818),a.s(["XCircle",0,c],468862)},865011,a=>{"use strict";var b=a.i(728778),c=a.i(634910),d=a.i(553798),e=a.i(269280),f=a.i(350739),g=a.i(347165),h=a.i(607219),i=a.i(273364),j=a.i(951192);let k=[{key:"notes",icon:f.FileText},{key:"assets",icon:g.FolderOpen},{key:"archive",icon:h.Archive},{key:"groups",icon:i.Boxes}];a.s(["SubPageNav",0,function({workspaceId:a}){let{t:f}=(0,j.useI18n)(),g=(0,d.usePathname)(),h=k.find(a=>g.includes(`/${a.key}`))?.key;return(0,b.jsxs)("div",{className:"header-sm flex items-center gap-1 px-4",children:[(0,b.jsxs)(c.default,{href:`/workspaces/${a}`,className:"mr-2 inline-flex h-8 items-center gap-1.5 rounded-md px-2 text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:[(0,b.jsx)(e.ArrowLeft,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:f("archive.backToBoard")})]}),(0,b.jsx)("span",{className:"mr-2 h-4 w-px bg-border"}),k.map(d=>{let e=d.icon,g=h===d.key;return(0,b.jsxs)(c.default,{href:`/workspaces/${a}/${d.key}`,className:`inline-flex h-8 items-center gap-1.5 rounded-md px-3 text-xs font-medium transition-colors ${g?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"}`,children:[(0,b.jsx)(e,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:f(`sidebar.${d.key}`)})]},d.key)})]})}])},786304,a=>{"use strict";var b=a.i(475295),c=a.i(213200),d=a.i(142261),e=a.i(368114);let f=(0,d.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});a.s(["Badge",0,function({className:a,variant:d="default",render:g,...h}){var i;return i={defaultTagName:"span",props:(0,b.mergeProps)({className:(0,e.cn)(f({variant:d}),a)},h),render:g,state:{slot:"badge",variant:d}},(0,c.useRenderElement)(i.defaultTagName??"div",i,i)}],786304)},161664,a=>{"use strict";let b=(0,a.i(711796).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);a.s(["RotateCcw",0,b],161664)},816282,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("404c5f6bb80cc0d10b604e5640d83816a765fc59f3",b.callServer,void 0,b.findSourceMapURL,"openInTerminal");a.s(["openInTerminal",0,c])},269280,a=>{"use strict";let b=(0,a.i(711796).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],269280)},267540,123089,165614,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("408215e48e1a623e4bbb685a78e3a3ada2ed9a5e8a",b.callServer,void 0,b.findSourceMapURL,"openInFileManager");a.s(["openInFileManager",0,c],267540);let d=(0,b.createServerReference)("40a305711044d42074dc8b719a62360ee159d7fe96",b.callServer,void 0,b.findSourceMapURL,"openInEditor");a.s(["openInEditor",0,d],123089);let e=(0,a.i(711796).default)("circle-play",[["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["PlayCircle",0,e],165614)},625892,939859,a=>{"use strict";var b=a.i(711796);let c=(0,b.default)("folder-search",[["path",{d:"M10.7 20H4a2 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.9H20a2 2 0 0 1 2 2v4.1",key:"1bw5m7"}],["path",{d:"m21 21-1.9-1.9",key:"1g2n9r"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}]]);a.s(["FolderSearch",0,c],625892);let d=(0,b.default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);a.s(["Code",0,d],939859)},551578,a=>{"use strict";var b=a.i(728778);let c=(0,a.i(711796).default)("milestone",[["path",{d:"M12 13v8",key:"1l5pq0"}],["path",{d:"M12 3v3",key:"1n5kay"}],["path",{d:"M18.172 6a2 2 0 0 1 1.414.586l2.06 2.06a1.207 1.207 0 0 1 0 1.708l-2.06 2.06a2 2 0 0 1-1.414.586H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1z",key:"8gz4t4"}]]);var d=a.i(951192);let e=["bg-sky-500/20 text-sky-300 border border-sky-500/30","bg-amber-500/20 text-amber-300 border border-amber-500/30","bg-violet-500/20 text-violet-300 border border-violet-500/30","bg-emerald-500/20 text-emerald-300 border border-emerald-500/30","bg-rose-500/20 text-rose-300 border border-rose-500/30","bg-cyan-500/20 text-cyan-300 border border-cyan-500/30","bg-indigo-500/20 text-indigo-300 border border-indigo-500/30"];function f(a){return e[function(a){let b=0;for(let c=0;c<a.length;c++)b=31*b+a.charCodeAt(c)>>>0;return b}(a)%e.length]}let g={PLANNED:"bg-slate-500/20 text-slate-300 border border-slate-500/30",ACTIVE:"bg-emerald-500/20 text-emerald-300 border border-emerald-500/30",RELEASED:"bg-zinc-500/20 text-zinc-400 border border-zinc-500/30"};a.s(["TaskVersionTag",0,function({number:a,name:d,showName:e=!1,className:f="",title:g}){return(0,b.jsxs)("span",{className:`inline-flex items-center gap-1 rounded-md border border-border bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground ${f}`,title:g??(d?`${a} \xb7 ${d}`:a),children:[(0,b.jsx)(c,{className:"h-2.5 w-2.5 shrink-0"}),(0,b.jsx)("span",{className:"font-mono",children:a}),e&&d?(0,b.jsx)("span",{className:"max-w-[140px] truncate",children:d}):null]})},"VersionStatusBadge",0,function({status:a}){let{t:c}=(0,d.useI18n)();return(0,b.jsx)("span",{className:`inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium ${g[a]}`,children:c(`version.status.${a}`)})},"VersionTypeBadge",0,function({name:a}){let{t:c}=(0,d.useI18n)();return a?(0,b.jsx)("span",{className:`inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium ${f(a)}`,children:a}):(0,b.jsx)("span",{className:"inline-flex items-center rounded-full border border-border bg-muted/40 px-2 py-0.5 text-xs font-medium text-muted-foreground",children:c("version.type.uncategorized")})},"typeBadgeColor",0,f],551578)},264589,a=>{"use strict";let b=(0,a.i(711796).default)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);a.s(["Package",0,b],264589)},648512,a=>{"use strict";let b=(0,a.i(711796).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",0,b],648512)},509405,a=>{"use strict";let b=(0,a.i(711796).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Eye",0,b],509405)},10390,a=>{"use strict";var b=a.i(421992);a.s(["ChevronRight",()=>b.default])},912868,a=>{"use strict";let b=(0,a.i(711796).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",0,b],912868)},111699,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("4075ec4df24bd89711034f15cca9eb240df9f3f473",b.callServer,void 0,b.findSourceMapURL,"getConfigValues");a.s(["getConfigValues",0,c])},412783,22761,a=>{"use strict";var b=a.i(728778),c=a.i(368114);a.s(["Label",0,function({className:a,...d}){return(0,b.jsx)("label",{"data-slot":"label",className:(0,c.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...d})}],412783);let d=(0,a.i(711796).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);a.s(["Copy",0,d],22761)},149234,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(607219),e=a.i(913284),f=a.i(468862),g=a.i(704494),h=a.i(573242),i=a.i(580701),j=a.i(951192),k=a.i(865011),l=a.i(780410);let m=(0,l.createServerReference)("402ad17793fc99949e1a4d611602a7fc06c5ad0fb5",l.callServer,void 0,l.findSourceMapURL,"getArchivedTasks");var n=a.i(972420),o=a.i(551578);function p(a){return new Date(a).toLocaleDateString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}function q({priority:a}){return(0,b.jsx)("span",{className:`inline-block h-1.5 w-1.5 rounded-full ${{LOW:"bg-slate-400",MEDIUM:"bg-amber-400",HIGH:"bg-orange-500",CRITICAL:"bg-rose-500"}[a]??"bg-slate-400"}`})}a.s(["ArchivePageClient",0,function({allWorkspaces:a,initialWorkspaceId:l,initialProjectId:r,initialTasks:s}){let t,{t:u}=(0,j.useI18n)(),[v,w]=(0,c.useTransition)(),[x,y]=(0,c.useState)(l),[z,A]=(0,c.useState)(r),[B,C]=(0,c.useState)(s),[D,E]=(0,c.useState)(null),[F,G]=(0,c.useState)(""),H=a.find(a=>a.id===x),I=H?.projects??[],J=F.trim().toLowerCase(),K=J?B.filter(a=>a.title.toLowerCase().includes(J)):B,L=(0,c.useCallback)(a=>{a?w(async()=>{C(await m(a))}):C([])},[w]);return(0,b.jsxs)("div",{className:"flex h-full flex-col overflow-hidden",children:[(0,b.jsx)(k.SubPageNav,{workspaceId:x}),(0,b.jsxs)("div",{className:"header-sm flex items-center gap-3 px-6 py-2",children:[(0,b.jsxs)(i.Select,{value:x,onValueChange:b=>b&&(b=>{if(b===x)return;y(b);let c=a.find(a=>a.id===b),d=c?.projects[0]??null;A(d?.id??null),L(d?.id??null)})(b),children:[(0,b.jsx)(i.SelectTrigger,{className:"h-8 w-auto min-w-[120px]",children:(0,b.jsx)("span",{className:"truncate",children:H?.name??x})}),(0,b.jsx)(i.SelectContent,{children:a.map(a=>(0,b.jsx)(i.SelectItem,{value:a.id,children:a.name},a.id))})]}),I.length>0&&(0,b.jsxs)(i.Select,{value:z??"",onValueChange:a=>a&&void(a!==z&&(A(a),L(a))),children:[(0,b.jsx)(i.SelectTrigger,{className:"h-8 w-auto min-w-[140px]",children:(0,b.jsx)("span",{className:"truncate",children:(t=I.find(a=>a.id===z))?t.alias?`${t.name} (${t.alias})`:t.name:""})}),(0,b.jsx)(i.SelectContent,{children:I.map(a=>(0,b.jsxs)(i.SelectItem,{value:a.id,children:[a.name,a.alias?` (${a.alias})`:""]},a.id))})]}),(0,b.jsxs)("div",{className:"relative ml-auto",children:[(0,b.jsx)(h.Search,{className:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),(0,b.jsx)("input",{type:"text",value:F,onChange:a=>G(a.target.value),placeholder:u("archive.searchPlaceholder"),className:"h-8 w-48 rounded-md border border-border bg-background pl-8 pr-3 text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring"})]}),(0,b.jsxs)("span",{className:"rounded-full bg-muted px-2.5 py-0.5 text-[11px] text-muted-foreground",children:[K.length," ",u("archive.tasksCount")]})]}),(0,b.jsx)("div",{className:"flex-1 overflow-auto px-6 py-4",children:(0,b.jsxs)("div",{className:`relative ${v?"opacity-40 pointer-events-none":""} transition-opacity`,children:[v&&(0,b.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center",children:(0,b.jsx)(g.Loader2,{className:"size-5 animate-spin text-muted-foreground"})}),0===K.length?(0,b.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 py-16 text-center",children:[(0,b.jsx)(d.Archive,{className:"h-10 w-10 text-muted-foreground/30"}),(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:J?u("archive.noSearchResults"):u("archive.noTasks")}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:J?u("archive.noSearchResultsDesc"):u("archive.noTasksDesc")})]}):(0,b.jsx)("div",{className:"space-y-2",children:K.map(a=>{let c="DONE"===a.status,d=a.executions[0];return(0,b.jsx)("div",{role:"button",tabIndex:0,onClick:()=>E(a.id),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.preventDefault(),E(a.id))},className:"group cursor-pointer rounded-lg border border-border bg-card px-4 py-3 transition-colors hover:border-border/80 hover:bg-accent/30 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:ring-offset-background",children:(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)("div",{className:"mt-0.5 shrink-0",children:c?(0,b.jsx)(e.CheckCircle2,{className:"h-4 w-4 text-emerald-500"}):(0,b.jsx)(f.XCircle,{className:"h-4 w-4 text-rose-500"})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(q,{priority:a.priority}),(0,b.jsx)("span",{className:"truncate text-sm font-medium text-foreground",children:a.title}),(0,b.jsx)("span",{className:`ml-1 shrink-0 rounded-full px-2 py-0.5 text-[10px] font-medium ${c?"bg-emerald-500/10 text-emerald-400 ring-1 ring-emerald-500/20":"bg-rose-500/10 text-rose-400 ring-1 ring-rose-500/20"}`,children:c?u("archive.status.done"):u("archive.status.cancelled")}),a.version&&(0,b.jsx)(o.TaskVersionTag,{number:a.version.number,name:a.version.name,showName:!0,className:"shrink-0"})]}),a.labels.length>0&&(0,b.jsx)("div",{className:"mt-1.5 flex flex-wrap gap-1",children:a.labels.map(a=>(0,b.jsx)("span",{className:"rounded-full px-1.5 py-0.5 text-[10px] font-medium",style:{backgroundColor:`${a.label.color}20`,color:a.label.color,outline:`1px solid ${a.label.color}40`},children:a.label.name},a.label.id))}),(0,b.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-3 text-[11px] text-muted-foreground",children:[(0,b.jsxs)("span",{children:[u("archive.createdAt"),": ",p(a.createdAt)]}),(0,b.jsxs)("span",{children:[c?u("archive.completedAt"):u("archive.cancelledAt"),": ",p(a.updatedAt)]}),d&&(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[u("archive.lastExecution"),":"," ",(0,b.jsx)("span",{className:`rounded px-1 py-0.5 font-mono text-[10px] ${"COMPLETED"===d.status?"bg-emerald-500/10 text-emerald-400":"FAILED"===d.status?"bg-rose-500/10 text-rose-400":"bg-amber-500/10 text-amber-400"}`,children:d.status})]})]})]})]})},a.id)})})]})}),(0,b.jsx)(n.TaskOverviewDrawer,{open:!!D,onOpenChange:a=>{a||E(null)},taskId:D,hideEnvActions:!0})]})}],149234)},574046,a=>{a.v(b=>Promise.all(["server/chunks/ssr/04y0_streamdown_dist_highlighted-body-OFNGDK62_0dm8t_v.js"].map(b=>a.l(b))).then(()=>b(514138)))},170967,a=>{a.v(b=>Promise.all(["server/chunks/ssr/04y0_streamdown_dist_mermaid-GHXKKRXX_0oxtju0.js"].map(b=>a.l(b))).then(()=>b(729004)))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0~mhv4m._.js.map
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
module.exports=[491890,a=>{"use strict";var b=a.i(815429),c=a.i(761469),d=a.i(188139),e=a.i(933919);async function f(a){return c.db.productGroup.findMany({where:{workspaceId:a},orderBy:{name:"asc"},include:{projects:{select:{id:!0,name:!0,alias:!0},orderBy:{createdAt:"asc"}}}})}async function g(a){let b=a.name.trim();if(!b)throw Error("分组名称不能为空");if(!a.workspaceId)throw Error("缺少工作区");try{let e=await c.db.productGroup.create({data:{name:b,description:a.description?.trim()||null,workspaceId:a.workspaceId}});return(0,d.revalidatePath)("/workspaces"),e}catch(a){if(a instanceof e.Prisma.PrismaClientKnownRequestError&&"P2002"===a.code)throw Error(`分组「${b}」在该工作区已存在`);throw a}}async function h(a,b){let f={};if(void 0!==b.name){let a=b.name.trim();if(!a)throw Error("分组名称不能为空");f.name=a}void 0!==b.description&&(f.description=b.description?.trim()||null);try{let b=await c.db.productGroup.update({where:{id:a},data:f});return(0,d.revalidatePath)("/workspaces"),b}catch(a){if(a instanceof e.Prisma.PrismaClientKnownRequestError){if("P2002"===a.code)throw Error("同工作区已有同名分组");if("P2025"===a.code)throw Error("分组不存在")}throw a}}async function i(a){try{await c.db.$transaction([c.db.project.updateMany({where:{groupId:a},data:{groupId:null}}),c.db.productGroup.delete({where:{id:a}})]),(0,d.revalidatePath)("/workspaces")}catch(a){if(a instanceof e.Prisma.PrismaClientKnownRequestError&&"P2025"===a.code)throw Error("分组不存在");throw a}}async function j(a,b){if(b){let[d,e]=await Promise.all([c.db.project.findUnique({where:{id:a},select:{workspaceId:!0}}),c.db.productGroup.findUnique({where:{id:b},select:{workspaceId:!0}})]);if(!d)throw Error("项目不存在");if(!e)throw Error("分组不存在");if(e.workspaceId!==d.workspaceId)throw Error("分组与项目不在同一工作区,不能跨区分组")}try{let e=await c.db.project.update({where:{id:a},data:{groupId:b}});return(0,d.revalidatePath)("/workspaces"),e}catch(a){if(a instanceof e.Prisma.PrismaClientKnownRequestError&&"P2025"===a.code)throw Error("项目不存在");throw a}}(0,a.i(630048).ensureServerEntryExports)([f,g,h,i,j]),(0,b.registerServerReference)(f,"40ff151b677eeaf0636f04e8d87327f4046c314c92",null),(0,b.registerServerReference)(g,"40e3cf8e78797104c14a8e7539e4e904ca54efa90c",null),(0,b.registerServerReference)(h,"609ab0a0753de43d84bbace4355456cf5a948698d4",null),(0,b.registerServerReference)(i,"409ed0c82178d1e7f500225d0089b30cd36284f589",null),(0,b.registerServerReference)(j,"609f47ef812de3d5f05ec0e95d0b9bc0490c684bdc",null),a.s(["createProductGroup",0,g,"deleteProductGroup",0,i,"getProductGroups",0,f,"setProjectGroup",0,j,"updateProductGroup",0,h])},396904,101844,a=>{"use strict";var b=a.i(815429),c=a.i(761469);function d(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 e(a,b="task",f){if(!a.trim())return[];let g=a.trim(),{resultLimit:h,allModeCap:i,snippetLength:j}=f;if("all"===b){let[a,b,c,d,h]=await Promise.allSettled([e(g,"task",f),e(g,"project",f),e(g,"repository",f),e(g,"note",f),e(g,"asset",f)]),j=a=>"fulfilled"===a.status?a.value.slice(0,i):[];return[...j(a),...j(b),...j(c),...j(d),...j(h)]}if("task"===b)return(await c.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"===b)return(await c.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"===b)return(await c.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"===b){if(g.length<3)return(await c.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=>d(a,j));try{return(await c.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=>d(a,j))}catch{return(await c.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=>d(a,j))}}return"asset"===b?(await c.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})):[]}var f=a.i(980999),g=a.i(630048);async function h(a,b="task"){let c=await (0,f.getConfigValues)(["search.resultLimit","search.allModeCap","search.snippetLength"]);return e(a,b,{resultLimit:c["search.resultLimit"]??20,allModeCap:c["search.allModeCap"]??5,snippetLength:c["search.snippetLength"]??80})}(0,g.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"60307d44ba04bf0330743c985bf6cc4ce0876e8b49",null),a.s(["globalSearch",0,h],396904);var i=a.i(924868),j=a.i(522734),k=a.i(814747),l=a.i(188139);async function m(b){if(!b||"string"!=typeof b)return{safe:!1,reason:"无效的项目 ID"};let d=await c.db.project.findUnique({where:{id:b}});if(!d||!d.localPath)return{safe:!1,reason:"项目不存在或未设置本地路径"};if((await c.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{safe:!1,reason:"该项目有正在运行的任务执行,请先停止所有执行"};let e=await c.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:f}=await a.A(98813);for(let a of e)if(void 0!==f(a.id))return{safe:!1,reason:"该项目有活跃的终端会话,请先关闭"};let g=k.default.join(d.localPath,".worktrees");if((0,j.existsSync)(g))try{if((await (0,i.readdir)(g)).length>0)return{safe:!1,reason:"该项目有活跃的 Git Worktree,请先清理"}}catch{}return{safe:!0}}async function n(b,d){if(!b||"string"!=typeof b)return{success:!1,error:"无效的项目 ID"};if(!d||"string"!=typeof d||!k.default.isAbsolute(d))return{success:!1,error:"目标路径必须是非空的绝对路径"};let e=await c.db.project.findUnique({where:{id:b}});if(!e||!e.localPath)return{success:!1,error:"项目不存在或未设置本地路径"};let f=e.localPath;if(d===f)return{success:!1,error:"源路径和目标路径相同"};if((await c.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{success:!1,error:"该项目有正在运行的任务执行,请先停止所有执行"};let g=await c.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:h}=await a.A(98813);for(let a of g)if(void 0!==h(a.id))return{success:!1,error:"该项目有活跃的终端会话,请先关闭"};let m=k.default.join(f,".worktrees");if((0,j.existsSync)(m))try{if((await (0,i.readdir)(m)).length>0)return{success:!1,error:"该项目有活跃的 Git Worktree,请先清理"}}catch{}if((0,j.existsSync)(d))try{if((await (0,i.readdir)(d)).length>0)return{success:!1,error:"目标路径已存在且不为空"}}catch{return{success:!1,error:"目标路径已存在且不为空"}}let n=k.default.dirname(d);try{await (0,i.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,i.rename)(f,d)}catch(a){if("EXDEV"===a.code)return{success:!1,error:"源路径和目标路径不在同一文件系统,不支持跨设备迁移"};if("EACCES"===a.code||"EPERM"===a.code)return{success:!1,error:`无权限移动到 ${d}`};return{success:!1,error:a.message||"文件系统操作失败"}}return await c.db.project.update({where:{id:b},data:{localPath:d}}),(0,l.revalidatePath)("/workspaces"),{success:!0}}let o=`分析这个项目目录,生成一段简短的 Markdown 项目描述。
|
|
22
|
-
|
|
23
|
-
读取 package.json、README.md 等关键文件,然后概括:
|
|
24
|
-
|
|
25
|
-
**技术栈:** 一句话列出主要语言、框架、关键库
|
|
26
|
-
**定位:** 一句话说明项目是什么
|
|
27
|
-
**核心模块:** 2-3 个关键模块,每个一句话
|
|
28
|
-
|
|
29
|
-
要求:
|
|
30
|
-
- 总字数不超过 500 字
|
|
31
|
-
- 用简洁的 Markdown(加粗标签 + 短句),不要用 ## 大标题和表格
|
|
32
|
-
- 不要罗列每个文件/目录,只说关键信息
|
|
33
|
-
- 中文输出`,p=`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 q(b,c="zh"){if(!b||"string"!=typeof b)throw Error("无效的本地路径");if(b.startsWith("~"))throw Error("不支持 ~ 别名,请提供绝对路径");if(!k.default.isAbsolute(b))throw Error("本地路径必须为绝对路径");let{aiQuery:d}=await a.A(752453),e=await d("en"===c?p:o,b,{maxTurns:10,tools:["Read","Glob"],allowedTools:["Read","Glob"]});if(!e)throw Error("AI 分析未返回结果");return e.length>2e3?e.slice(0,2e3).trimEnd()+"\n\n...":e}(0,g.ensureServerEntryExports)([m,n,q]),(0,b.registerServerReference)(m,"4064146185600ce222e9bc8e2316f49c9603a85346",null),(0,b.registerServerReference)(n,"609c9417a5d51517e959d27ee390da88a7c0542bbc",null),(0,b.registerServerReference)(q,"6036f5d613735f83ba2f8cc49ca9b64fd1c0c0beab",null),a.s(["analyzeProjectDirectory",0,q,"checkMigrationSafety",0,m,"migrateProjectPath",0,n],101844)},333500,a=>{"use strict";var b=a.i(815429),c=a.i(188139),d=a.i(625636);async function e(a="pending"){return(await (0,d.listHarnessMessages)({view:a})).map(a=>({id:a.id,taskId:a.taskId,taskTitle:a.task?.title??"",kind:a.kind,content:a.content,state:a.state,replyText:a.replyText,repliedAt:a.repliedAt?a.repliedAt.toISOString():null,createdAt:a.createdAt.toISOString()}))}async function f(a,b){let d=process.env.PORT??"3000";try{let e=await fetch(`http://localhost:${d}/api/internal/harness/reply`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({taskId:a,text:b})}),f=await e.json().catch(()=>({}));if((0,c.revalidatePath)("/harness"),!e.ok)return{ok:!1,error:f.error??"reply failed"};return{ok:!0,mode:f.mode,injected:f.injected}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function g(b){let c=b.dest?.trim();if(!c)return{ok:!1,output:"缺少测试目的地"};let{getTowerDir:d}=await a.A(371711),{resolveCommandPathSync:e}=await a.A(889618),{execFile:f}=await a.A(482848),{promisify:g}=await a.A(268548),h=g(f),i=b.downstream?`通过「${b.downstream}」`:"",j=`这是一次通知渠道连通性测试。请用「${b.gateway}」网关${i},给「${c}」发送一条测试消息:「✅ Tower 通知渠道测试,收到请忽略」。收件人「${c}」可能是名称而非 id(如某个人名或群名)—— 若不是现成 id,先用对应平台的 MCP 工具按名称查找该群/人拿到 id,再发送。只做这一件事。发送成功只回复 SENT,失败只回复 FAILED 加简短原因。`,k=process.env.CLAUDE_CODE_PATH||e("claude");try{let{stdout:a}=await h(k,["--print",j,"--permission-mode","bypassPermissions"],{cwd:d(),timeout:12e4,maxBuffer:1048576,env:process.env}),b=(a||"").trim();return{ok:/\bSENT\b/i.test(b)&&!/\bFAIL/i.test(b),output:b||"(无输出)"}}catch(a){return{ok:!1,output:(a.stdout||a.stderr||a.message||String(a)).trim().slice(0,2e3)}}}async function h(a){let b=await (0,d.ignoreAsk)(a);return(0,c.revalidatePath)("/harness"),{ok:b}}async function i(a){return await (0,d.dismissMessage)(a),(0,c.revalidatePath)("/harness"),{ok:!0}}(0,a.i(630048).ensureServerEntryExports)([e,f,g,h,i]),(0,b.registerServerReference)(e,"40eb2e17b12a4365beee5c57c9b5534f3ef6558a2d",null),(0,b.registerServerReference)(f,"60446c5198ebeed1273c32fd2cc0e5c3704123f6e5",null),(0,b.registerServerReference)(g,"40dc9fc2c9c0b69d14fc779a0bb51b34232d5f18d5",null),(0,b.registerServerReference)(h,"405ffc4d2a36ada45d8f20a5c110910625bba0ffeb",null),(0,b.registerServerReference)(i,"40d082281edf0f7744acdbecc71cddd73868edd2a8",null),a.s(["dismissHarnessMessage",0,i,"getHarnessMessages",0,e,"ignoreHarnessAsk",0,h,"replyHarnessAsk",0,f,"testHarnessTarget",0,g])},925886,a=>{"use strict";var b=a.i(815429),c=a.i(761469),d=a.i(188139);async function e(a){return c.db.agentPrompt.findMany({where:a?{OR:[{workspaceId:a},{workspaceId:null}]}:{},orderBy:[{isDefault:"desc"},{name:"asc"}]})}async function f(a){return c.db.agentPrompt.findUnique({where:{id:a}})}async function g(a){if(a.content.length>1e5)throw Error("Prompt content exceeds maximum length of 100000 characters");let b=await c.db.agentPrompt.create({data:a});return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),b}async function h(a,b){if(void 0!==b.content&&b.content.length>1e5)throw Error("Prompt content exceeds maximum length of 100000 characters");let e=await c.db.agentPrompt.update({where:{id:a},data:b});return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),e}async function i(a){await c.db.agentPrompt.delete({where:{id:a}}),(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings")}async function j(a,b){let e=await c.db.$transaction(async c=>(await c.agentPrompt.updateMany({where:b?{workspaceId:b,isDefault:!0}:{isDefault:!0},data:{isDefault:!1}}),c.agentPrompt.update({where:{id:a},data:{isDefault:!0}})));return(0,d.revalidatePath)("/workspaces"),(0,d.revalidatePath)("/settings"),e}(0,a.i(630048).ensureServerEntryExports)([e,f,g,h,i,j]),(0,b.registerServerReference)(e,"404cffeebf9cd5b11929ed56c5dbcb3e79b820450e",null),(0,b.registerServerReference)(f,"4095cdaa3938b40c0ea0a88b6eb9f0bcfc7c31aa37",null),(0,b.registerServerReference)(g,"40e19466379d9cfbf66fdbf7fcc53b5b163b8ff584",null),(0,b.registerServerReference)(h,"609e6d93185ca81f068f317bfa22b1a7fe0845458e",null),(0,b.registerServerReference)(i,"40f8a1d8e3cecafa1c8b48ae6239f0bdcedae2a59f",null),(0,b.registerServerReference)(j,"60419f442541ca1e5356a8b7b4b672f72e79d4c100",null),a.s(["createPrompt",0,g,"deletePrompt",0,i,"getPrompts",0,e,"updatePrompt",0,h])},76052,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_13c4a4g._.js"].map(b=>a.l(b))).then(()=>b(492067)))},98813,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0e79g0v._.js"].map(b=>a.l(b))).then(()=>b(962620)))},507502,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_worktree_ts_06cucy3._.js"].map(b=>a.l(b))).then(()=>b(845427)))},752453,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_0b660g4._.js"].map(b=>a.l(b))).then(()=>b(897667)))},482848,a=>{a.v(a=>Promise.resolve().then(()=>a(874533)))},268548,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_util_0xr.y7p._.js"].map(b=>a.l(b))).then(()=>b(812057)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},889618,a=>{a.v(a=>Promise.resolve().then(()=>a(163812)))},195404,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_fts_ts_01m1thq._.js"].map(b=>a.l(b))).then(()=>b(835032)))},371711,a=>{a.v(a=>Promise.resolve().then(()=>a(319997)))}];
|
|
46
|
-
|
|
47
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__1013v_g._.js.map
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
module.exports=[52350,562278,a=>{"use strict";var b=a.i(902157),c=a.i(660526),d=a.i(750227),e=a.i(163812);function f(){return process.env.TOWER_PACKAGE_ROOT||process.cwd()}a.s(["getPackageRoot",0,f],562278);let g=["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"];a.s(["ClaudeCliAdapter",0,class{buildSpawnArgs(a){let b=["--dangerously-skip-permissions"];a.extraArgs?.length&&b.push(...a.extraArgs),a.resumeSessionId?b.push("--resume",a.resumeSessionId):a.continueLatest?b.push("--continue"):a.prompt&&b.push(a.prompt);let c={...a.envOverrides??{}};return{command:this.resolveCommand(),args:b,env:c}}buildEnvOverrides(a){let b={TOWER_TASK_ID:a.taskId,TOWER_TASK_TITLE:a.taskTitle,TOWER_STARTED_AT:new Date().toISOString(),TOWER_API_URL:a.apiUrl};return a.callbackUrl&&(b.CALLBACK_URL=a.callbackUrl),b}async installHooks(a){try{let a=this.readSettings(),b=a.hooks??{},c=f().replace(/\\/g,"/"),e=d.join(c,"scripts","tower-session-start-hook.js").replace(/\\/g,"/"),g=d.join(c,"scripts","tower-post-tool-hook.js").replace(/\\/g,"/"),h=d.join(c,"scripts","tower-stop-hook.js").replace(/\\/g,"/"),i=!1;return i=this.upsertHook(b,"SessionStart","session-start-hook.js",{hooks:[{command:`node "${e}"`,timeout:5,type:"command"}]})||i,i=this.upsertHook(b,"PostToolUse","post-tool-hook.js",{hooks:[{command:`node "${g}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"})||i,(i=this.upsertHook(b,"Stop","stop-hook.js",{hooks:[{command:`node "${h}"`,timeout:5,type:"command"}]})||i)&&(a.hooks=b,this.writeSettings(a)),{ok:!0,method:"file",detail:this.getSettingsPath()}}catch(a){return{ok:!1,method:"file",detail:this.getSettingsPath(),error:a instanceof Error?a.message:String(a)}}}async repairHookPaths(){try{let a=this.readSettings(),b=a.hooks??{},c=f().replace(/\\/g,"/"),e=!1;for(let[a,f,g]of[["SessionStart","session-start-hook.js","tower-session-start-hook.js"],["PostToolUse","post-tool-hook.js","tower-post-tool-hook.js"],["Stop","stop-hook.js","tower-stop-hook.js"]]){let h=this.getHookArray(b,a),i=h.findIndex(a=>a?.hooks?.some?.(a=>a.command?.includes(f)));if(i<0)continue;let j=d.join(c,"scripts",g).replace(/\\/g,"/"),k=`node "${j}"`,l=h[i]?.hooks?.[0];l&&l.command!==k&&(l.command=k,b[a]=h,e=!0)}e&&(a.hooks=b,this.writeSettings(a))}catch{}}upsertHook(a,b,c,d){let e=this.getHookArray(a,b),f=d?.hooks?.[0]?.command,g=e.findIndex(a=>a?.hooks?.some?.(a=>a.command?.includes(c)));if(g>=0){if(e[g]?.hooks?.[0]?.command===f)return!1;e.splice(g,1)}return e.push(d),a[b]=e,!0}async uninstallHooks(){try{let a=this.readSettings(),b=a.hooks??{},c=["session-start-hook.js","post-tool-hook.js","stop-hook.js"];for(let a of["SessionStart","PostToolUse","Stop"]){let d=this.getHookArray(b,a);b[a]=d.filter(a=>!a.hooks?.some(a=>c.some(b=>a.command?.includes(b))))}return a.hooks=b,this.writeSettings(a),{ok:!0,method:"file",detail:this.getSettingsPath()}}catch(a){return{ok:!1,method:"file",detail:this.getSettingsPath(),error:a instanceof Error?a.message:String(a)}}}async isHooksInstalled(){let a=this.readSettings().hooks??{},b=this.getHookArray(a,"PostToolUse");return this.hasHook(b,"post-tool-hook.js")}async installMcp(a,b={}){let c=b.scope??"user",d={command:a.command,args:a.args};a.env&&Object.keys(a.env).length>0&&(d.env=a.env);let e=this.resolveCommand(),f=["mcp","add-json","-s",c,a.name,JSON.stringify(d)];try{return await this.runCli(e,["mcp","remove","-s",c,a.name],b.cwd).catch(()=>{}),await this.runCli(e,f,b.cwd),{ok:!0,method:"cli",detail:`${e} ${f.join(" ")}`}}catch(a){return{ok:!1,method:"cli",detail:`${e} ${f.join(" ")}`,error:a instanceof Error?a.message:String(a)}}}async uninstallMcp(a,b={}){let c=b.scope??"user",d=this.resolveCommand(),e=["mcp","remove","-s",c,a];try{return await this.runCli(d,e,b.cwd),{ok:!0,method:"cli",detail:`${d} ${e.join(" ")}`}}catch(a){return{ok:!1,method:"cli",detail:`${d} ${e.join(" ")}`,error:a instanceof Error?a.message:String(a)}}}async isMcpInstalled(a,b={}){let c=this.resolveCommand();try{return await this.runCli(c,["mcp","get",a],b.cwd,5e3),!0}catch{return!1}}async installSkill(a,c){let f=d.join(this.getConfigDir(),"skills",a);try{if(!b.existsSync(c))return{ok:!1,method:"symlink",detail:f,error:`Source skill dir does not exist: ${c}`};b.mkdirSync(d.dirname(f),{recursive:!0});let a=await b.promises.lstat(f).catch(()=>null);if(a)if(!(a.isSymbolicLink()||(0,e.isWindows)()&&a.isDirectory()))return{ok:!1,method:"symlink",detail:f,error:`Refusing to overwrite non-symlink at ${f}`};else try{let a=await b.promises.readlink(f);if(d.resolve(a)===d.resolve(c))return{ok:!0,method:"symlink",detail:`${f} → ${c} (already)`};await b.promises.unlink(f)}catch{if(!a.isSymbolicLink())return{ok:!1,method:"symlink",detail:f,error:`Refusing to overwrite non-symlink at ${f}`}}let g=(0,e.isWindows)()?"junction":"dir";return await b.promises.symlink(c,f,g),{ok:!0,method:"symlink",detail:`${f} → ${c}`}}catch(a){return{ok:!1,method:"symlink",detail:f,error:a instanceof Error?a.message:String(a)}}}async uninstallSkill(a){let c=d.join(this.getConfigDir(),"skills",a);try{let a=await b.promises.lstat(c).catch(()=>null);if(!a)return{ok:!0,method:"symlink",detail:`${c} (already absent)`};if(!a.isSymbolicLink())return{ok:!1,method:"symlink",detail:c,error:`Refusing to remove non-symlink at ${c}`};return await b.promises.unlink(c),{ok:!0,method:"symlink",detail:c}}catch(a){return{ok:!1,method:"symlink",detail:c,error:a instanceof Error?a.message:String(a)}}}async isSkillInstalled(a,c){let e=d.join(this.getConfigDir(),"skills",a);try{if(!(await b.promises.lstat(e)).isSymbolicLink())return!1;if(!c)return!0;let a=await b.promises.readlink(e),f=d.isAbsolute(a)?a:d.resolve(d.dirname(e),a);return d.resolve(f)===d.resolve(c)}catch{return!1}}async runCli(b,c,d,e=1e4){let{execFile:f}=await a.A(482848),{promisify:g}=await a.A(268548),h=g(f),{stdout:i}=await h(b,c,{cwd:d,timeout:e});return i}async isAvailable(){return null!==await this.getVersion()}async getVersion(){try{let{execFile:b}=await a.A(144264),{promisify:c}=await a.A(534777),{resolveSpawnTarget:d}=await a.A(889618),e=c(b),f=await d(this.resolveCommand(),["--version"]),{stdout:g}=await e(f.command,f.args,{timeout:5e3});return g.trim()||null}catch{return null}}async getModels(){return g}getConfigDir(){return d.join(c.homedir(),".claude")}getSettingsPath(){return d.join(this.getConfigDir(),"settings.json")}getSessionsDir(){return d.join(this.getConfigDir(),"projects")}getApiKeyInfo(){return{envVar:"ANTHROPIC_API_KEY",required:!1}}buildHelloProbeArgs(a){return{command:this.resolveCommand(),args:["--print",a,"--output-format","stream-json","--verbose"]}}resolveCommand(){if(process.env.CLAUDE_CODE_PATH)return process.env.CLAUDE_CODE_PATH;if((0,e.isWindows)()){let a=(0,e.resolveCommandPathSync)("claude-code");if("claude-code"!==a)return a}return(0,e.resolveCommandPathSync)("claude")}readSettings(){try{return JSON.parse(b.readFileSync(this.getSettingsPath(),"utf-8"))}catch{return{}}}writeSettings(a){let c=this.getConfigDir();b.existsSync(c)||b.mkdirSync(c,{recursive:!0}),b.writeFileSync(this.getSettingsPath(),JSON.stringify(a,null,2),"utf-8")}getHookArray(a,b){let c=a[b];return Array.isArray(c)?c:[]}hasHook(a,b){return a.some(a=>a.hooks?.some(a=>a.command?.includes(b)))}}],52350)},897667,a=>{"use strict";let b=new(a.i(52350)).ClaudeCliAdapter;async function c(d,e,f={}){let g="";try{let{query:c}=await a.A(719041),h=b.resolveCommand();for await(let a of c({prompt:d,options:{tools:f.tools??[],allowedTools:f.allowedTools??[],maxTurns:f.maxTurns??1,cwd:e,pathToClaudeCodeExecutable:h,sessionPersistence:!1}}))if("assistant"===a.type){let b=a.message.content.filter(a=>"text"===a.type);g+=b.map(a=>a.text??"").join("")}else if("result"===a.type){let b="string"==typeof a.result?a.result:"";b&&!g&&(g=b)}return g.trim()||null}catch(a){if(a.message?.includes("maximum number of turns")&&g.trim())return g.trim();return console.error("[aiQuery] Failed:",a.message,a.stack?.slice(0,300)),null}}async function d(a,b){let d=`以下是一次AI编程助手的终端会话记录。请用一句简短的中文总结这次会话做了什么(不超过50字,只回答总结内容,不要加引号或前缀):
|
|
2
|
-
|
|
3
|
-
\`\`\`
|
|
4
|
-
${a.slice(-5e3)}
|
|
5
|
-
\`\`\``,e=await c(d,b);return e&&e.replace(/^[#*\->"'\s]+/,"").trim()||null}async function e(a,b,d){let e=a.slice(-8e3),f=d?`
|
|
6
|
-
Session summary: ${d}`:"",g=`You are analyzing a completed AI coding session. Extract reusable insights.
|
|
7
|
-
${f}
|
|
8
|
-
|
|
9
|
-
Terminal log (last 8000 chars):
|
|
10
|
-
\`\`\`
|
|
11
|
-
${e}
|
|
12
|
-
\`\`\`
|
|
13
|
-
|
|
14
|
-
Respond ONLY with valid JSON matching this schema (no markdown, no explanation):
|
|
15
|
-
{
|
|
16
|
-
"summary": "one-sentence summary of what was accomplished",
|
|
17
|
-
"insights": [
|
|
18
|
-
{ "type": "pattern|pitfall|decision|tool|reference", "content": "description" }
|
|
19
|
-
],
|
|
20
|
-
"shouldCreateNote": true/false,
|
|
21
|
-
"noteTitle": "short title for the note (only if shouldCreateNote is true)"
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
Rules:
|
|
25
|
-
- Set shouldCreateNote=true ONLY if there are genuinely reusable insights (architectural decisions, non-obvious pitfalls, useful patterns, important tool discoveries)
|
|
26
|
-
- Trivial sessions (simple formatting, single-line edits, routine commits) should have shouldCreateNote=false
|
|
27
|
-
- insights array can be empty if nothing notable
|
|
28
|
-
- Keep each insight concise (1-2 sentences)`,h=await c(g,b);if(!h)return null;try{let a=h,b=a.match(/\{[\s\S]*\}/);b&&(a=b[0]);let c=JSON.parse(a);if("string"!=typeof c.summary||"boolean"!=typeof c.shouldCreateNote)return console.error("[generateDreamingInsight] Invalid response structure"),null;return c}catch(a){return console.error("[generateDreamingInsight] JSON parse failed:",a.message),null}}a.s(["aiQuery",0,c,"generateDreamingInsight",0,e,"generateSummaryFromLog",0,d])},482848,a=>{a.v(a=>Promise.resolve().then(()=>a(874533)))},268548,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_util_0xr.y7p._.js"].map(b=>a.l(b))).then(()=>b(812057)))},144264,a=>{a.v(a=>Promise.resolve().then(()=>a(233405)))},534777,a=>{a.v(a=>Promise.resolve().then(()=>a(224361)))},889618,a=>{a.v(a=>Promise.resolve().then(()=>a(163812)))},719041,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]__0ti8vng._.js","server/chunks/ssr/07-d_@anthropic-ai_claude-agent-sdk_sdk_mjs_0myippv._.js"].map(b=>a.l(b))).then(()=>b(845454)))}];
|
|
29
|
-
|
|
30
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__123rmn-._.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
module.exports=[786304,a=>{"use strict";var b=a.i(475295),c=a.i(213200),d=a.i(142261),e=a.i(368114);let f=(0,d.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});a.s(["Badge",0,function({className:a,variant:d="default",render:g,...h}){var i;return i={defaultTagName:"span",props:(0,b.mergeProps)({className:(0,e.cn)(f({variant:d}),a)},h),render:g,state:{slot:"badge",variant:d}},(0,c.useRenderElement)(i.defaultTagName??"div",i,i)}],786304)},161664,a=>{"use strict";let b=(0,a.i(711796).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);a.s(["RotateCcw",0,b],161664)},816282,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("404c5f6bb80cc0d10b604e5640d83816a765fc59f3",b.callServer,void 0,b.findSourceMapURL,"openInTerminal");a.s(["openInTerminal",0,c])},10390,a=>{"use strict";var b=a.i(421992);a.s(["ChevronRight",()=>b.default])},648512,a=>{"use strict";let b=(0,a.i(711796).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",0,b],648512)},509405,a=>{"use strict";let b=(0,a.i(711796).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Eye",0,b],509405)},269280,a=>{"use strict";let b=(0,a.i(711796).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",0,b],269280)},625892,939859,a=>{"use strict";var b=a.i(711796);let c=(0,b.default)("folder-search",[["path",{d:"M10.7 20H4a2 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.9H20a2 2 0 0 1 2 2v4.1",key:"1bw5m7"}],["path",{d:"m21 21-1.9-1.9",key:"1g2n9r"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}]]);a.s(["FolderSearch",0,c],625892);let d=(0,b.default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);a.s(["Code",0,d],939859)},551578,a=>{"use strict";var b=a.i(728778);let c=(0,a.i(711796).default)("milestone",[["path",{d:"M12 13v8",key:"1l5pq0"}],["path",{d:"M12 3v3",key:"1n5kay"}],["path",{d:"M18.172 6a2 2 0 0 1 1.414.586l2.06 2.06a1.207 1.207 0 0 1 0 1.708l-2.06 2.06a2 2 0 0 1-1.414.586H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1z",key:"8gz4t4"}]]);var d=a.i(951192);let e=["bg-sky-500/20 text-sky-300 border border-sky-500/30","bg-amber-500/20 text-amber-300 border border-amber-500/30","bg-violet-500/20 text-violet-300 border border-violet-500/30","bg-emerald-500/20 text-emerald-300 border border-emerald-500/30","bg-rose-500/20 text-rose-300 border border-rose-500/30","bg-cyan-500/20 text-cyan-300 border border-cyan-500/30","bg-indigo-500/20 text-indigo-300 border border-indigo-500/30"];function f(a){return e[function(a){let b=0;for(let c=0;c<a.length;c++)b=31*b+a.charCodeAt(c)>>>0;return b}(a)%e.length]}let g={PLANNED:"bg-slate-500/20 text-slate-300 border border-slate-500/30",ACTIVE:"bg-emerald-500/20 text-emerald-300 border border-emerald-500/30",RELEASED:"bg-zinc-500/20 text-zinc-400 border border-zinc-500/30"};a.s(["TaskVersionTag",0,function({number:a,name:d,showName:e=!1,className:f="",title:g}){return(0,b.jsxs)("span",{className:`inline-flex items-center gap-1 rounded-md border border-border bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground ${f}`,title:g??(d?`${a} \xb7 ${d}`:a),children:[(0,b.jsx)(c,{className:"h-2.5 w-2.5 shrink-0"}),(0,b.jsx)("span",{className:"font-mono",children:a}),e&&d?(0,b.jsx)("span",{className:"max-w-[140px] truncate",children:d}):null]})},"VersionStatusBadge",0,function({status:a}){let{t:c}=(0,d.useI18n)();return(0,b.jsx)("span",{className:`inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium ${g[a]}`,children:c(`version.status.${a}`)})},"VersionTypeBadge",0,function({name:a}){let{t:c}=(0,d.useI18n)();return a?(0,b.jsx)("span",{className:`inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium ${f(a)}`,children:a}):(0,b.jsx)("span",{className:"inline-flex items-center rounded-full border border-border bg-muted/40 px-2 py-0.5 text-xs font-medium text-muted-foreground",children:c("version.type.uncategorized")})},"typeBadgeColor",0,f],551578)},267540,123089,165614,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("408215e48e1a623e4bbb685a78e3a3ada2ed9a5e8a",b.callServer,void 0,b.findSourceMapURL,"openInFileManager");a.s(["openInFileManager",0,c],267540);let d=(0,b.createServerReference)("40a305711044d42074dc8b719a62360ee159d7fe96",b.callServer,void 0,b.findSourceMapURL,"openInEditor");a.s(["openInEditor",0,d],123089);let e=(0,a.i(711796).default)("circle-play",[["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["PlayCircle",0,e],165614)},579834,a=>{"use strict";var b=a.i(728778),c=a.i(368114);a.s(["EmptyState",0,function({icon:a,title:d,description:e,action:f,className:g}){return(0,b.jsxs)("div",{className:(0,c.cn)("flex h-48 flex-col items-center justify-center gap-2 text-center",g),children:[a&&(0,b.jsx)(a,{className:"h-10 w-10 text-muted-foreground/40"}),(0,b.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:d}),e&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground/60",children:e}),f&&(0,b.jsx)("div",{className:"mt-2",children:f})]})}])},283857,a=>{"use strict";let b=(0,a.i(711796).default)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);a.s(["Lightbulb",0,b],283857)},88757,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(553798),e=a.i(814574),f=a.i(699570);let g=(0,a.i(711796).default)("git-merge",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]]);var h=a.i(704494);a.s(["TaskMergeConfirmDialog",0,function({open:a,onOpenChange:i,taskId:j,taskTitle:k,baseBranch:l,fileCount:m,commitCount:n,commitLog:o=[],onMergeComplete:p}){let q=(0,d.useRouter)(),[r,s]=(0,c.useState)(!1),[t,u]=(0,c.useState)(null),v=async()=>{s(!0),u(null);try{let a=await fetch(`/api/tasks/${j}/merge`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(a.ok){i(!1),p(),q.refresh();return}let b=await a.json().catch(()=>({error:"Merge failed"}));409===a.status?u(`Merge conflicts detected: ${Array.isArray(b.conflictFiles)?b.conflictFiles.join(", "):"unknown files"}`):u(b.error??"Merge failed")}catch{u("Network error — merge failed")}finally{s(!1)}};return(0,b.jsx)(e.Dialog,{open:a,onOpenChange:i,children:(0,b.jsxs)(e.DialogContent,{showCloseButton:!0,className:"sm:max-w-md",children:[(0,b.jsx)(e.DialogHeader,{children:(0,b.jsxs)(e.DialogTitle,{className:"flex items-center gap-2",children:[(0,b.jsx)(g,{className:"h-4 w-4 text-emerald-400"}),"Confirm Merge"]})}),(0,b.jsxs)("div",{className:"space-y-3 py-2",children:[(0,b.jsxs)("div",{className:"rounded-lg border border-border bg-muted/30 p-3 space-y-2.5",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Target branch"}),(0,b.jsx)("code",{className:"text-xs font-mono bg-muted px-2 py-0.5 rounded text-foreground",children:l})]}),(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Changed files"}),(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:m})]}),(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Commits"}),(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:n})]})]}),o.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-xs text-muted-foreground mb-1 block",children:"Commits"}),(0,b.jsx)("div",{className:"rounded-md border border-border bg-muted/30 p-2 space-y-1 max-h-32 overflow-y-auto",children:o.map((a,c)=>(0,b.jsx)("div",{className:"text-xs font-mono text-foreground/80",children:a},c))})]}),t&&(0,b.jsx)("div",{className:"rounded-lg border border-red-500/20 bg-red-500/10 px-3 py-2",children:(0,b.jsx)("p",{className:"text-xs text-red-400",children:t})})]}),(0,b.jsxs)(e.DialogFooter,{children:[(0,b.jsx)(f.Button,{variant:"outline",onClick:()=>i(!1),disabled:r,children:"Cancel"}),(0,b.jsx)(f.Button,{onClick:v,disabled:r,className:"gap-2",children:r?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(h.Loader2,{className:"h-4 w-4 animate-spin"}),"Merging..."]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g,{className:"h-4 w-4"}),"Confirm Merge"]})})]})]})})}],88757)},778199,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("4062d13cdbe45c1cfb8386e810495e72befcfbec91",b.callServer,void 0,b.findSourceMapURL,"stopPtyExecution");a.s(["stopPtyExecution",0,c])},12306,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("60efa135082b65911a52ff807ef8c96f9c3585f6a1",b.callServer,void 0,b.findSourceMapURL,"resumePtyExecution");a.s(["resumePtyExecution",0,c])},367082,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("60e4b2ed8000953c03639b7e7fbc5233720fd9370a",b.callServer,void 0,b.findSourceMapURL,"updateTaskStatus");a.s(["updateTaskStatus",0,c])},789369,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("401acf2b7191c3fbfd39c3f254a5628d15465f16bb",b.callServer,void 0,b.findSourceMapURL,"checkWorktreeClean");a.s(["checkWorktreeClean",0,c])},974957,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("6031d4644cd423486c800f9dcad4ed01df4562a880",b.callServer,void 0,b.findSourceMapURL,"commitWorktreeChanges");a.s(["commitWorktreeChanges",0,c])},913284,761818,468862,a=>{"use strict";var b=a.i(884664);a.s(["CheckCircle2",()=>b.default],913284);let c=(0,a.i(711796).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["default",0,c],761818),a.s(["XCircle",0,c],468862)},811344,a=>{"use strict";var b=a.i(622945);a.s(["AlertTriangle",()=>b.default])},836856,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("404cffeebf9cd5b11929ed56c5dbcb3e79b820450e",b.callServer,void 0,b.findSourceMapURL,"getPrompts");a.s(["getPrompts",0,c])},627141,a=>{"use strict";var b=a.i(374637),c=a.i(87309);a.s(["useExtension",0,function(a){let d=(0,b.useContext)(c.ExtensionContext);if(!d)throw Error("useExtension must be used inside <ExtensionProvider>");return{status:d.statusMap[a],loading:d.loading,isInstalling:d.installing.has(a),install:()=>d.install(a),uninstall:()=>d.uninstall(a),refresh:()=>d.refresh(a)}}])},394869,a=>{"use strict";let b=(0,a.i(711796).default)("git-compare",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["path",{d:"M11 18H8a2 2 0 0 1-2-2V9",key:"19pyzm"}]]);a.s(["GitCompare",0,b],394869)},207339,a=>{"use strict";let b=(0,a.i(711796).default)("git-commit-horizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);a.s(["GitCommitHorizontal",0,b],207339)},945513,(a,b,c)=>{b.exports=a=>{if(!a||"string"!=typeof a||a.match(/^\s+$/))return[];let b=a.split(`
|
|
2
|
-
`);if(0===b.length)return[];let c=[],d=null,e=null,g=0,i=0,j=null,k=a=>{let[b,e]=f(a)??[];d={chunks:[],deletions:0,additions:0,from:b,to:e},c.push(d)},l=()=>{(!d||d.chunks.length)&&k()},m=a=>{if(!e)return;let[b]=e.changes.slice(-1);e.changes.push({type:b.type,[b.type]:!0,ln1:b.ln1,ln2:b.ln2,ln:b.ln,content:a})},n=[[/^diff\s/,k],[/^new file mode (\d+)$/,(a,b)=>{l(),d.new=!0,d.newMode=b[1],d.from="/dev/null"}],[/^deleted file mode (\d+)$/,(a,b)=>{l(),d.deleted=!0,d.oldMode=b[1],d.to="/dev/null"}],[/^old mode (\d+)$/,(a,b)=>{l(),d.oldMode=b[1]}],[/^new mode (\d+)$/,(a,b)=>{l(),d.newMode=b[1]}],[/^index\s[\da-zA-Z]+\.\.[\da-zA-Z]+(\s(\d+))?$/,(a,b)=>{l(),d.index=a.split(" ").slice(1),b[1]&&(d.oldMode=d.newMode=b[1].trim())}],[/^---\s/,a=>{l(),d.from=h(a)}],[/^\+\+\+\s/,a=>{l(),d.to=h(a)}],[/^@@\s+-(\d+),?(\d+)?\s+\+(\d+),?(\d+)?\s@@/,(a,b)=>{d||k(a);let[c,f,h,l]=b.slice(1);g=+c,i=+h,e={content:a,changes:[],oldStart:+c,oldLines:+(f||1),newStart:+h,newLines:+(l||1)},j={oldLines:+(f||1),newLines:+(l||1)},d.chunks.push(e)}],[/^\$/,m]],o=[[/^\$/,m],[/^-/,a=>{e&&(e.changes.push({type:"del",del:!0,ln:g++,content:a}),d.deletions++,j.oldLines--)}],[/^\+/,a=>{e&&(e.changes.push({type:"add",add:!0,ln:i++,content:a}),d.additions++,j.newLines--)}],[/^\s*/,a=>{e?.changes.push({type:"normal",normal:!0,ln1:g++,ln2:i++,content:a}),j.oldLines--,j.newLines--}]],p=a=>{j?(a=>{for(let[b,c]of o){let d=a.match(b);if(d){c(a,d);break}}0===j.oldLines&&0===j.newLines&&(j=null)})(a):(a=>{for(let[b,c]of n){let d=a.match(b);if(d){c(a,d);break}}})(a)};for(let a of b)p(a);return c};let d=/(a|i|w|c|o|1|2)\/.*(?=["']? ["']?(b|i|w|c|o|1|2)\/)|(b|i|w|c|o|1|2)\/.*$/g,e=/^(a|b|i|w|c|o|1|2)\//,f=a=>a?.match(d)?.map(a=>a.replace(e,"").replace(/("|')$/,"")),g=/^\\?['"]|\\?['"]$/g,h=a=>{let b=i(a,"-+").trim();return(b=k(b)).replace(g,"").replace(e,"")},i=(a,b)=>{if(a=m(a),!b&&String.prototype.trimLeft)return a.trimLeft();let c=l(b);return a.replace(RegExp(`^${c}+`),"")},j=/\t.*|\d{4}-\d\d-\d\d\s\d\d:\d\d:\d\d(.\d+)?\s(\+|-)\d\d\d\d/,k=a=>{let b=j.exec(a);return b&&(a=a.substring(0,b.index).trim()),a},l=a=>null==a?"\\s":a instanceof RegExp?a.source:`[${m(a).replace(/([.*+?^=!:${}()|[\]/\\])/g,"\\$1")}]`,m=a=>`${a??""}`},514872,a=>{"use strict";var b=a.i(945513);function c(a){return a.replace(/\r\n/g,"\n")}a.s(["normalizeLF",0,c,"parseUnifiedDiff",0,function(a){return(0,b.default)(c(a))}])},650960,803135,541639,327821,302797,670324,825007,445691,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("6027cc49ddb74d8bded5d8ad563e66f5765ef5e95e",b.callServer,void 0,b.findSourceMapURL,"listDirectory");a.s(["listDirectory",0,c],650960);let d=(0,b.createServerReference)("70e9e765159a33c6e2ce9d4f9c9bcd967b3f07438e",b.callServer,void 0,b.findSourceMapURL,"getGitStatus");a.s(["getGitStatus",0,d],803135);let e=(0,b.createServerReference)("60615228392ec08da945787a56064cf05c79625eae",b.callServer,void 0,b.findSourceMapURL,"createFile");a.s(["createFile",0,e],541639);let f=(0,b.createServerReference)("60ad166951880d2dabc4566edb741b45f859714079",b.callServer,void 0,b.findSourceMapURL,"createDirectory");a.s(["createDirectory",0,f],327821);let g=(0,b.createServerReference)("700eba4866e7155bcb476734432fd01b072502b8d9",b.callServer,void 0,b.findSourceMapURL,"renameEntry");a.s(["renameEntry",0,g],302797);let h=(0,b.createServerReference)("6004182a3bce876e0f48dfc1200ec4dd4cd0f53b3a",b.callServer,void 0,b.findSourceMapURL,"deleteEntry");a.s(["deleteEntry",0,h],670324);let i=(0,b.createServerReference)("40494327a212cb6df25bdaa58d6730e716ad858443",b.callServer,void 0,b.findSourceMapURL,"listAllFiles");a.s(["listAllFiles",0,i],825007);let j=(0,b.createServerReference)("6062cab48aa6208df83d05e32f80e68a3dcdfed4a1",b.callServer,void 0,b.findSourceMapURL,"readFileContent");a.s(["readFileContent",0,j],445691)},769840,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("701337fd0644c7346135bfeaca5847b420e9269cc8",b.callServer,void 0,b.findSourceMapURL,"writeFileContent");a.s(["writeFileContent",0,c])},709601,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("60943bdcf93774abc1f4c5685f24da700f883d3220",b.callServer,void 0,b.findSourceMapURL,"readFileContentForce");a.s(["readFileContentForce",0,c])},742231,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_actions_file-actions_ts_0gcvqwm._.js"].map(b=>a.l(b))).then(()=>b(610024)))},672257,a=>{a.v(b=>Promise.all(["server/chunks/ssr/0pb0_@monaco-editor_react_dist_index_mjs_0dkxa~o._.js"].map(b=>a.l(b))).then(()=>b(566310)))}];
|
|
3
|
-
|
|
4
|
-
//# sourceMappingURL=_05~lqg-._.js.map
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
module.exports=[491890,a=>{"use strict";var b=a.i(815429),c=a.i(761469),d=a.i(188139),e=a.i(933919);async function f(a){return c.db.productGroup.findMany({where:{workspaceId:a},orderBy:{name:"asc"},include:{projects:{select:{id:!0,name:!0,alias:!0},orderBy:{createdAt:"asc"}}}})}async function g(a){let b=a.name.trim();if(!b)throw Error("分组名称不能为空");if(!a.workspaceId)throw Error("缺少工作区");try{let e=await c.db.productGroup.create({data:{name:b,description:a.description?.trim()||null,workspaceId:a.workspaceId}});return(0,d.revalidatePath)("/workspaces"),e}catch(a){if(a instanceof e.Prisma.PrismaClientKnownRequestError&&"P2002"===a.code)throw Error(`分组「${b}」在该工作区已存在`);throw a}}async function h(a,b){let f={};if(void 0!==b.name){let a=b.name.trim();if(!a)throw Error("分组名称不能为空");f.name=a}void 0!==b.description&&(f.description=b.description?.trim()||null);try{let b=await c.db.productGroup.update({where:{id:a},data:f});return(0,d.revalidatePath)("/workspaces"),b}catch(a){if(a instanceof e.Prisma.PrismaClientKnownRequestError){if("P2002"===a.code)throw Error("同工作区已有同名分组");if("P2025"===a.code)throw Error("分组不存在")}throw a}}async function i(a){try{await c.db.$transaction([c.db.project.updateMany({where:{groupId:a},data:{groupId:null}}),c.db.productGroup.delete({where:{id:a}})]),(0,d.revalidatePath)("/workspaces")}catch(a){if(a instanceof e.Prisma.PrismaClientKnownRequestError&&"P2025"===a.code)throw Error("分组不存在");throw a}}async function j(a,b){if(b){let[d,e]=await Promise.all([c.db.project.findUnique({where:{id:a},select:{workspaceId:!0}}),c.db.productGroup.findUnique({where:{id:b},select:{workspaceId:!0}})]);if(!d)throw Error("项目不存在");if(!e)throw Error("分组不存在");if(e.workspaceId!==d.workspaceId)throw Error("分组与项目不在同一工作区,不能跨区分组")}try{let e=await c.db.project.update({where:{id:a},data:{groupId:b}});return(0,d.revalidatePath)("/workspaces"),e}catch(a){if(a instanceof e.Prisma.PrismaClientKnownRequestError&&"P2025"===a.code)throw Error("项目不存在");throw a}}(0,a.i(630048).ensureServerEntryExports)([f,g,h,i,j]),(0,b.registerServerReference)(f,"40ff151b677eeaf0636f04e8d87327f4046c314c92",null),(0,b.registerServerReference)(g,"40e3cf8e78797104c14a8e7539e4e904ca54efa90c",null),(0,b.registerServerReference)(h,"609ab0a0753de43d84bbace4355456cf5a948698d4",null),(0,b.registerServerReference)(i,"409ed0c82178d1e7f500225d0089b30cd36284f589",null),(0,b.registerServerReference)(j,"609f47ef812de3d5f05ec0e95d0b9bc0490c684bdc",null),a.s(["createProductGroup",0,g,"deleteProductGroup",0,i,"getProductGroups",0,f,"setProjectGroup",0,j,"updateProductGroup",0,h])},396904,101844,a=>{"use strict";var b=a.i(815429),c=a.i(761469);function d(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 e(a,b="task",f){if(!a.trim())return[];let g=a.trim(),{resultLimit:h,allModeCap:i,snippetLength:j}=f;if("all"===b){let[a,b,c,d,h]=await Promise.allSettled([e(g,"task",f),e(g,"project",f),e(g,"repository",f),e(g,"note",f),e(g,"asset",f)]),j=a=>"fulfilled"===a.status?a.value.slice(0,i):[];return[...j(a),...j(b),...j(c),...j(d),...j(h)]}if("task"===b)return(await c.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"===b)return(await c.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"===b)return(await c.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"===b){if(g.length<3)return(await c.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=>d(a,j));try{return(await c.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=>d(a,j))}catch{return(await c.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=>d(a,j))}}return"asset"===b?(await c.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})):[]}var f=a.i(980999),g=a.i(630048);async function h(a,b="task"){let c=await (0,f.getConfigValues)(["search.resultLimit","search.allModeCap","search.snippetLength"]);return e(a,b,{resultLimit:c["search.resultLimit"]??20,allModeCap:c["search.allModeCap"]??5,snippetLength:c["search.snippetLength"]??80})}(0,g.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"60307d44ba04bf0330743c985bf6cc4ce0876e8b49",null),a.s(["globalSearch",0,h],396904);var i=a.i(924868),j=a.i(522734),k=a.i(814747),l=a.i(188139);async function m(b){if(!b||"string"!=typeof b)return{safe:!1,reason:"无效的项目 ID"};let d=await c.db.project.findUnique({where:{id:b}});if(!d||!d.localPath)return{safe:!1,reason:"项目不存在或未设置本地路径"};if((await c.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{safe:!1,reason:"该项目有正在运行的任务执行,请先停止所有执行"};let e=await c.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:f}=await a.A(98813);for(let a of e)if(void 0!==f(a.id))return{safe:!1,reason:"该项目有活跃的终端会话,请先关闭"};let g=k.default.join(d.localPath,".worktrees");if((0,j.existsSync)(g))try{if((await (0,i.readdir)(g)).length>0)return{safe:!1,reason:"该项目有活跃的 Git Worktree,请先清理"}}catch{}return{safe:!0}}async function n(b,d){if(!b||"string"!=typeof b)return{success:!1,error:"无效的项目 ID"};if(!d||"string"!=typeof d||!k.default.isAbsolute(d))return{success:!1,error:"目标路径必须是非空的绝对路径"};let e=await c.db.project.findUnique({where:{id:b}});if(!e||!e.localPath)return{success:!1,error:"项目不存在或未设置本地路径"};let f=e.localPath;if(d===f)return{success:!1,error:"源路径和目标路径相同"};if((await c.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{success:!1,error:"该项目有正在运行的任务执行,请先停止所有执行"};let g=await c.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:h}=await a.A(98813);for(let a of g)if(void 0!==h(a.id))return{success:!1,error:"该项目有活跃的终端会话,请先关闭"};let m=k.default.join(f,".worktrees");if((0,j.existsSync)(m))try{if((await (0,i.readdir)(m)).length>0)return{success:!1,error:"该项目有活跃的 Git Worktree,请先清理"}}catch{}if((0,j.existsSync)(d))try{if((await (0,i.readdir)(d)).length>0)return{success:!1,error:"目标路径已存在且不为空"}}catch{return{success:!1,error:"目标路径已存在且不为空"}}let n=k.default.dirname(d);try{await (0,i.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,i.rename)(f,d)}catch(a){if("EXDEV"===a.code)return{success:!1,error:"源路径和目标路径不在同一文件系统,不支持跨设备迁移"};if("EACCES"===a.code||"EPERM"===a.code)return{success:!1,error:`无权限移动到 ${d}`};return{success:!1,error:a.message||"文件系统操作失败"}}return await c.db.project.update({where:{id:b},data:{localPath:d}}),(0,l.revalidatePath)("/workspaces"),{success:!0}}let o=`分析这个项目目录,生成一段简短的 Markdown 项目描述。
|
|
22
|
-
|
|
23
|
-
读取 package.json、README.md 等关键文件,然后概括:
|
|
24
|
-
|
|
25
|
-
**技术栈:** 一句话列出主要语言、框架、关键库
|
|
26
|
-
**定位:** 一句话说明项目是什么
|
|
27
|
-
**核心模块:** 2-3 个关键模块,每个一句话
|
|
28
|
-
|
|
29
|
-
要求:
|
|
30
|
-
- 总字数不超过 500 字
|
|
31
|
-
- 用简洁的 Markdown(加粗标签 + 短句),不要用 ## 大标题和表格
|
|
32
|
-
- 不要罗列每个文件/目录,只说关键信息
|
|
33
|
-
- 中文输出`,p=`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 q(b,c="zh"){if(!b||"string"!=typeof b)throw Error("无效的本地路径");if(b.startsWith("~"))throw Error("不支持 ~ 别名,请提供绝对路径");if(!k.default.isAbsolute(b))throw Error("本地路径必须为绝对路径");let{aiQuery:d}=await a.A(752453),e=await d("en"===c?p:o,b,{maxTurns:10,tools:["Read","Glob"],allowedTools:["Read","Glob"]});if(!e)throw Error("AI 分析未返回结果");return e.length>2e3?e.slice(0,2e3).trimEnd()+"\n\n...":e}(0,g.ensureServerEntryExports)([m,n,q]),(0,b.registerServerReference)(m,"4064146185600ce222e9bc8e2316f49c9603a85346",null),(0,b.registerServerReference)(n,"609c9417a5d51517e959d27ee390da88a7c0542bbc",null),(0,b.registerServerReference)(q,"6036f5d613735f83ba2f8cc49ca9b64fd1c0c0beab",null),a.s(["analyzeProjectDirectory",0,q,"checkMigrationSafety",0,m,"migrateProjectPath",0,n],101844)},48029,a=>{"use strict";var b=a.i(244256),c=a.i(495370),d=a.i(396904),e=a.i(980999),f=a.i(101844),g=a.i(491890),h=a.i(563736),i=a.i(4634);a.s([],844471),a.i(844471),a.s(["00106d4fcb4d66916535f592a22f2432e998f5c560",()=>e.getActualWsPort,"001de1e475f046aa339c23ec372c92b714d1f9a6f5",()=>i.getOnboardingStatus,"006389a16e7883de77d87812fd40e182aee5a45e3f",()=>b.getWorkspacesWithActiveTasks,"0069b845452752e9c446565ecc887751ceb88f8302",()=>b.getWorkspacesWithProjects,"00abe22e017185b0aac474fd740ae59ad8cbff33a3",()=>h.listAllExtensionStatus,"400cf53948723e0d18f6efd6d898586f3ff0447b6d",()=>b.getOrCreateTowerTaskId,"40107191906b7bd9007e9c955d43addd4eb4a5a687",()=>i.setOnboardingProgress,"401472f5ccde34a5097af17d34e7c4b762b7f06897",()=>b.getWorkspaceById,"403508781c13bf9d40b2fa51d399f5ca275af8be45",()=>c.createLabel,"4036232b529af0e5d065629d1878dc1a6e82f9ab45",()=>b.createWorkspace,"403629f8c3d76ad7fbefdd04b8cdbe84c9ffc95758",()=>c.deleteLabel,"4036f95ed5dc32f339eacad6c635ee66f9e026db46",()=>h.checkExtension,"4047d8634587ecb96fe8459ea07f040d7d207f1c96",()=>i.dispatchTaskCompletionEvent,"404b88257c253f72e32b690fbfdc864cdbe54233e3",()=>e.resolveGitLocalPath,"404f73addc943bb8455a63e7ceecb59ca89b3e445c",()=>b.deleteWorkspace,"4064146185600ce222e9bc8e2316f49c9603a85346",()=>f.checkMigrationSafety,"406b9ebf02d3183f04e594426f6a5ebe41a65dee0d",()=>h.installExtension,"4075ec4df24bd89711034f15cca9eb240df9f3f473",()=>e.getConfigValues,"4085404f2d1faa5e8fdd79c16d85def519c2fa908b",()=>b.deleteProject,"40a4ee923ff0b325baafa490ce673265b4bf3061a2",()=>c.getLabelsForWorkspace,"40a5c16cb6d57f99e1aa8a84f5700b65bed226f706",()=>b.getWorkspacesWithRecentTasks,"40aa00cb1b7401bf7165ef056e99d7df17164ea888",()=>b.getRecentLocalProjects,"40adbba8c12c1bdb8072b324eb5ae7afff35a67271",()=>e.resolveGitLocalPathWithSource,"40b03ac97723fe879d9efe21b71e56c5a984151d22",()=>b.createProject,"40b59a54ce49a5ad9953b31159f64bfd2ee911e145",()=>h.uninstallExtension,"40da1ea17360e58bedf2e6bf6d1f53246b673da623",()=>b.reorderWorkspaces,"40e3cf8e78797104c14a8e7539e4e904ca54efa90c",()=>g.createProductGroup,"40f07f15c4e15502583cc6816b1c3602b884a639d7",()=>b.getProjectByLocalPath,"40ff151b677eeaf0636f04e8d87327f4046c314c92",()=>g.getProductGroups,"60307d44ba04bf0330743c985bf6cc4ce0876e8b49",()=>d.globalSearch,"6036f5d613735f83ba2f8cc49ca9b64fd1c0c0beab",()=>f.analyzeProjectDirectory,"603aca60338da224813e09368e73f008feefa9a4fe",()=>i.completeOnboarding,"60806208d6a0c1cf587a38272b9d04a5dc6fa482a9",()=>b.updateProject,"609c9417a5d51517e959d27ee390da88a7c0542bbc",()=>f.migrateProjectPath,"609f47ef812de3d5f05ec0e95d0b9bc0490c684bdc",()=>g.setProjectGroup,"60abd5e499bef8cd1d081b74113f0e817026a864e7",()=>e.getConfigValue,"60bc9436cec7b2f26cf49b181625cda9710fd3e4cc",()=>b.updateWorkspace,"60cfe2e76434418decb73fd3d25bf587d7b5ad1695",()=>e.setConfigValue,"60d98f261d5da4342103e4c5be854bfdc7b172158c",()=>i.setOnboardingExtensions],48029)},76052,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_0cld9rt._.js"].map(b=>a.l(b))).then(()=>b(492067)))},98813,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0e79g0v._.js"].map(b=>a.l(b))).then(()=>b(962620)))},507502,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_worktree_ts_06cucy3._.js"].map(b=>a.l(b))).then(()=>b(845427)))},752453,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0kqp70x._.js"].map(b=>a.l(b))).then(()=>b(897667)))}];
|
|
46
|
-
|
|
47
|
-
//# sourceMappingURL=_0771b4a._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[840553,(a,b,c)=>{function d(a){return Array.isArray(a)?a:[a]}let e,f=/^\s+$/,g=/(?:[^\\]|^)\\$/,h=/^\\!/,i=/^\\#/,j=/\r?\n/g,k=/^\.{0,2}\/|^\.{1,2}$/,l=/\/$/,m="node-ignore";"u">typeof Symbol&&(m=Symbol.for("node-ignore"));let n=m,o=(a,b,c)=>(Object.defineProperty(a,b,{value:c}),c),p=/([0-z])-([0-z])/g,q=()=>!1,r=[[/^\uFEFF/,()=>""],[/((?:\\\\)*?)(\\?\s+)$/,(a,b,c)=>b+(0===c.indexOf("\\")?" ":"")],[/(\\+?)\s/g,(a,b)=>{let{length:c}=b;return b.slice(0,c-c%2)+" "}],[/[\\$.|*+(){^]/g,a=>`\\${a}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(a,b,c)=>b+6<c.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(a,b,c)=>b+c.replace(/\\\*/g,"[^\\/]*")],[/\\\\\\(?=[$.|*+(){^])/g,()=>"\\"],[/\\\\/g,()=>"\\"],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(a,b,c,d,e)=>"\\"===b?`\\[${c}${(a=>{let{length:b}=a;return a.slice(0,b-b%2)})(d)}${e}`:"]"===e&&d.length%2==0?`[${c.replace(p,(a,b,c)=>b.charCodeAt(0)<=c.charCodeAt(0)?a:"")}${d}]`:"[]"],[/(?:[^*])$/,a=>/\/$/.test(a)?`${a}$`:`${a}(?=$|\\/$)`]],s=/(^|\\\/)?\\\*$/,t="regex",u="checkRegex",v={[t](a,b){let c=b?`${b}[^/]+`:"[^/]*";return`${c}(?=$|\\/$)`},[u](a,b){let c=b?`${b}[^/]*`:"[^/]*";return`${c}(?=$|\\/$)`}};class w{constructor(a,b,c,d,e,f){this.pattern=a,this.mark=b,this.negative=e,o(this,"body",c),o(this,"ignoreCase",d),o(this,"regexPrefix",f)}get regex(){let a="_"+t;return this[a]?this[a]:this._make(t,a)}get checkRegex(){let a="_"+u;return this[a]?this[a]:this._make(u,a)}_make(a,b){let c=this.regexPrefix.replace(s,v[a]);return o(this,b,this.ignoreCase?RegExp(c,"i"):new RegExp(c))}}class x{constructor(a){this._ignoreCase=a,this._rules=[]}_add(a){let b;if(a&&a[n]){this._rules=this._rules.concat(a._rules._rules),this._added=!0;return}if("string"==typeof a&&(a={pattern:a}),(b=a.pattern)&&"string"==typeof b&&!f.test(b)&&!g.test(b)&&0!==b.indexOf("#")){let b=(({pattern:a,mark:b},c)=>{let d,e=!1,f=a;0===f.indexOf("!")&&(e=!0,f=f.substr(1));let g=(d=f=f.replace(h,"!").replace(i,"#"),r.reduce((a,[b,c])=>a.replace(b,c.bind(d)),d));return new w(a,b,f,c,e,g)})(a,this._ignoreCase);this._added=!0,this._rules.push(b)}}add(a){return this._added=!1,d("string"==typeof a?a.split(j).filter(Boolean):a).forEach(this._add,this),this._added}test(a,b,c){let d,f=!1,g=!1;this._rules.forEach(h=>{let{negative:i}=h;(g!==i||f===g)&&(!i||f||g||b)&&h[c].test(a)&&(f=!i,g=i,d=i?e:h)});let h={ignored:f,unignored:g};return d&&(h.rule=d),h}}let y=(a,b)=>{throw new b(a)},z=(a,b,c)=>"string"!=typeof a?c(`path must be a string, but got \`${b}\``,TypeError):a?!z.isNotRelative(a)||c(`path should be a \`path.relative()\`d string, but got "${b}"`,RangeError):c("path must not be empty",TypeError),A=a=>k.test(a);z.isNotRelative=A,z.convert=a=>a;class B{constructor({ignorecase:a=!0,ignoreCase:b=a,allowRelativePaths:c=!1}={}){o(this,n,!0),this._rules=new x(b),this._strictPathCheck=!c,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(a){return this._rules.add(a)&&this._initCache(),this}addPattern(a){return this.add(a)}_test(a,b,c,d){let e=a&&z.convert(a);return z(e,a,this._strictPathCheck?y:q),this._t(e,b,c,d)}checkIgnore(a){if(!l.test(a))return this.test(a);let b=a.split("/").filter(Boolean);if(b.pop(),b.length){let a=this._t(b.join("/")+"/",this._testCache,!0,b);if(a.ignored)return a}return this._rules.test(a,!1,u)}_t(a,b,c,d){if(a in b)return b[a];if(d||(d=a.split("/").filter(Boolean)),d.pop(),!d.length)return b[a]=this._rules.test(a,c,t);let e=this._t(d.join("/")+"/",b,c,d);return b[a]=e.ignored?e:this._rules.test(a,c,t)}ignores(a){return this._test(a,this._ignoreCache,!1).ignored}createFilter(){return a=>!this.ignores(a)}filter(a){return d(a).filter(this.createFilter())}test(a){return this._test(a,this._testCache,!0)}}let C=a=>new B(a);b.exports=C,C.default=C,b.exports.isPathValid=a=>z(a&&z.convert(a),a,q),o(b.exports,Symbol.for("setupWindows"),()=>{z.convert=a=>/^\\\\\?\\/.test(a)||/["<>|\u0000-\u001F]+/u.test(a)?a:a.replace(/\\/g,"/");let a=/^[a-z]:\//i;z.isNotRelative=b=>a.test(b)||A(b)})},55538,a=>{"use strict";let b;var c=a.i(244256),d=a.i(495370),e=a.i(396904),f=a.i(980999),g=a.i(101844),h=a.i(491890),i=a.i(563736),j=a.i(4634),k=a.i(815429),l=a.i(924868),m=a.i(522734),n=a.i(814747),o=a.i(840553),p=a.i(233405);function q(a,b,c=n.default){let d=c.resolve(a),e=c.resolve(d,b),f=c.relative(d,e);if(".."===f||f.startsWith(`..${c.sep}`)||c.isAbsolute(f))throw Error(`Path traversal attempt: ${b}`);return e}var r=a.i(75681),s=a.i(630048);let t=r.z.object({worktreePath:r.z.string().min(1),relativePath:r.z.string().default(".")});async function u(a,b="."){t.parse({worktreePath:a,relativePath:b});let c=q(a,b),d=(0,o.default)();d.add(".git");let e=n.default.join(a,".gitignore");if((0,m.existsSync)(e)){let a=await (0,l.readFile)(e,"utf-8");d.add(a)}return(await (0,l.readdir)(c,{withFileTypes:!0})).filter(b=>{let e=n.default.relative(a,n.default.join(c,b.name));return!d.ignores(e)}).sort((a,b)=>a.isDirectory()!==b.isDirectory()?a.isDirectory()?-1:1:a.name.localeCompare(b.name)).map(b=>({name:b.name,relativePath:n.default.relative(a,n.default.join(c,b.name)),isDirectory:b.isDirectory()}))}async function v(a,b,c){try{let d;d=b&&c?(0,p.execFileSync)("git",["diff","--name-status",`${b}...${c}`],{cwd:a,encoding:"utf-8",timeout:1e4}):(0,p.execFileSync)("git",["status","--porcelain","-uall"],{cwd:a,encoding:"utf-8",timeout:1e4});let e={};if(b&&c)for(let a of d.split("\n").filter(Boolean)){let b=a.split(" "),c=b[0],d=b[1];("M"===c||"A"===c||"D"===c)&&d&&(e[d]=c)}else for(let a of d.split("\n").filter(Boolean)){let b=a.substring(0,2),c=a.substring(3);c&&(b.includes("D")?e[c]="D":"??"===b||b.includes("A")?e[c]="A":e[c]="M")}return e}catch{return{}}}async function w(a,b){r.z.object({worktreePath:r.z.string().min(1),relativePath:r.z.string().min(1)}).parse({worktreePath:a,relativePath:b});let c=q(a,b);await (0,l.writeFile)(c,"",{flag:"wx"})}async function x(a,b){r.z.object({worktreePath:r.z.string().min(1),relativePath:r.z.string().min(1)}).parse({worktreePath:a,relativePath:b});let c=q(a,b);await (0,l.mkdir)(c,{recursive:!0})}async function y(a,b,c){r.z.object({worktreePath:r.z.string().min(1),oldRelativePath:r.z.string().min(1),newRelativePath:r.z.string().min(1)}).parse({worktreePath:a,oldRelativePath:b,newRelativePath:c});let d=q(a,b),e=q(a,c);await (0,l.rename)(d,e)}async function z(a,b){if(r.z.object({worktreePath:r.z.string().min(1),relativePath:r.z.string().min(1)}).parse({worktreePath:a,relativePath:b}),".git"===n.default.basename(b))throw Error("Cannot delete .git directory");let c=q(a,b);(await (0,l.stat)(c)).isDirectory()?await (0,l.rm)(c,{recursive:!0,force:!0}):await (0,l.unlink)(c)}let A=r.z.object({worktreePath:r.z.string().min(1)});async function B(a){A.parse({worktreePath:a});let b=(0,o.default)();b.add(".git");let c=n.default.join(a,".gitignore");if((0,m.existsSync)(c)){let a=await (0,l.readFile)(c,"utf-8");b.add(a)}let d=[];async function e(c){for(let f of(await (0,l.readdir)(c,{withFileTypes:!0}))){let g=n.default.join(c,f.name),h=n.default.relative(a,g);b.ignores(h)||(f.isDirectory()?await e(g):d.push(h))}}return await e(a),d}let C=r.z.object({worktreePath:r.z.string().min(1),relativePath:r.z.string().min(1)});async function D(a,b){C.parse({worktreePath:a,relativePath:b});let c=q(a,b),d=await (0,f.getConfigValue)("system.maxReadableFileBytes",5242880),e=await (0,l.stat)(c);if(e.size>d)return{kind:"oversized",size:e.size,limit:d};let g=await (0,l.open)(c,"r");try{let a=Math.min(8192,e.size);if(a>0){let b=Buffer.alloc(a);if(await g.read(b,0,a,0),b.includes(0))return{kind:"binary",size:e.size}}}finally{await g.close()}return{kind:"text",content:await (0,l.readFile)(c,"utf-8"),size:e.size}}async function E(a,b){C.parse({worktreePath:a,relativePath:b});let c=q(a,b),d=await (0,l.stat)(c);return{content:await (0,l.readFile)(c,"utf-8"),size:d.size}}let F=r.z.object({worktreePath:r.z.string().min(1),relativePath:r.z.string().min(1),content:r.z.string()});async function G(a,b,c){F.parse({worktreePath:a,relativePath:b,content:c});let d=q(a,b);await (0,l.writeFile)(d,c,"utf-8")}async function H(b,c){let d=q(b,c),{execFile:e}=await a.A(144264);process.platform,await new Promise((a,b)=>{e("open",["-R",d],c=>c?b(c):a())})}(0,s.ensureServerEntryExports)([u,v,w,x,y,z,B,D,E,G,H]),(0,k.registerServerReference)(u,"6027cc49ddb74d8bded5d8ad563e66f5765ef5e95e",null),(0,k.registerServerReference)(v,"70e9e765159a33c6e2ce9d4f9c9bcd967b3f07438e",null),(0,k.registerServerReference)(w,"60615228392ec08da945787a56064cf05c79625eae",null),(0,k.registerServerReference)(x,"60ad166951880d2dabc4566edb741b45f859714079",null),(0,k.registerServerReference)(y,"700eba4866e7155bcb476734432fd01b072502b8d9",null),(0,k.registerServerReference)(z,"6004182a3bce876e0f48dfc1200ec4dd4cd0f53b3a",null),(0,k.registerServerReference)(B,"40494327a212cb6df25bdaa58d6730e716ad858443",null),(0,k.registerServerReference)(D,"6062cab48aa6208df83d05e32f80e68a3dcdfed4a1",null),(0,k.registerServerReference)(E,"60943bdcf93774abc1f4c5685f24da700f883d3220",null),(0,k.registerServerReference)(G,"701337fd0644c7346135bfeaca5847b420e9269cc8",null),(0,k.registerServerReference)(H,"60555989b683c5a72f2fc7fd34c0373bad439208b7",null);var I=a.i(446786),J=a.i(304162),K=a.i(163812);async function L(){let a=await (0,J.resolveBundledRgPath)();if(a)return a;let b=(0,K.isWindows)()?"where":"which";try{let a=(0,p.execFileSync)(b,["rg"],{encoding:"utf-8",timeout:3e3,stdio:["ignore","pipe","ignore"]}),c=a.split(/\r?\n/)[0]?.trim();if(c&&(0,m.existsSync)(c))return c}catch{}for(let a of function(){let a=I.default.homedir();switch(process.platform){case"darwin":return["/opt/homebrew/bin/rg","/usr/local/bin/rg","/opt/local/bin/rg",n.default.join(a,".cargo/bin/rg")];case"linux":return["/usr/bin/rg","/usr/local/bin/rg","/snap/bin/rg",n.default.join(a,".local/bin/rg"),n.default.join(a,".cargo/bin/rg")];case"win32":{let b=process.env.LOCALAPPDATA??"",c=process.env.ProgramFiles??"C:\\Program Files",d=process.env.USERPROFILE??a;return[n.default.join(b,"Microsoft","WinGet","Links","rg.exe"),n.default.join(d,"scoop","shims","rg.exe"),n.default.join(b,"Programs","scoop","shims","rg.exe"),"C:\\ProgramData\\chocolatey\\bin\\rg.exe",n.default.join(c,"ripgrep","rg.exe")]}default:return[]}}())if((0,m.existsSync)(a))return a;throw Error("ripgrep not found on PATH — install via brew/winget/apt and try again")}async function M(){return b||(b=await L()),b}async function N(){try{return await M(),{available:!0,platform:process.platform}}catch{return{available:!1,platform:process.platform}}}async function O(){b=void 0}let P=r.z.object({localPath:r.z.string().min(1),pattern:r.z.string().min(1).max(500),glob:r.z.string().max(200).optional(),maxResults:r.z.number().int().min(1).max(500).default(200)});async function Q(a,b,c,d=200,e){let g,h,i=P.safeParse({localPath:a,pattern:b,glob:c,maxResults:d});if(!i.success)return{matches:[],truncated:!1,error:`Invalid input: ${i.error.message}`};let{localPath:j,pattern:k,glob:l,maxResults:m}=i.data;if(!(j.startsWith("/")||/^[a-zA-Z]:[/\\]/.test(j)))return{matches:[],truncated:!1,error:"localPath must be an absolute path"};try{g=await M()}catch(a){return{matches:[],truncated:!1,error:a.message.slice(0,200),errorKind:"not_installed"}}let n=["--json","-n",k];l&&n.push("--glob",l),n.push(j);let o=1e3*Math.max(1,await (0,f.getConfigValue)("search.codeTimeoutSec",30)),q=e instanceof AbortSignal?e:void 0;try{var r,s;h=await (r=g,s={encoding:"utf-8",maxBuffer:0xa00000,timeout:o,signal:q},new Promise((a,b)=>{(0,p.execFile)(r,n,s,(c,d,e)=>{c?(c.stderr="string"==typeof e?e:e?.toString(),b(c)):a("string"==typeof d?d:d.toString())})}))}catch(b){if(1===b.code)return{matches:[],truncated:!1};let a=function(a){if("AbortError"===a.name)return{kind:"aborted",message:""};if(a.killed&&("SIGTERM"===a.signal||"SIGKILL"===a.signal))return{kind:"timeout",message:a.message??"search timed out"};let b=a.stderr??"",c=`${a.message??""} ${b}`.toLowerCase();return c.includes("permission denied")||c.includes("eacces")?{kind:"permission_denied",message:b||a.message||"permission denied"}:c.includes("not found")||c.includes("enoent")||c.includes("ripgrep")?{kind:"not_installed",message:b||a.message||"ripgrep not found"}:{kind:"unknown",message:(b||a.message||"unknown error").slice(0,200)}}(b);if("aborted"===a.kind)return{matches:[],truncated:!1,aborted:!0};return console.error("[searchCode] rg failed:",b),{matches:[],truncated:!1,error:a.message.slice(0,200),errorKind:a.kind}}let t=h.split("\n"),u=[];for(let a of t){let b,c=a.trim();if(!c)continue;try{b=JSON.parse(c)}catch{continue}if("match"!==b.type)continue;let d=b.data,e=d.path.text,f=j.endsWith("/")?j:j+"/",g=e.startsWith(f)?e.slice(f.length):e,h=d.lines.text.replace(/\r?\n$/,""),i=d.submatches.map(a=>({start:a.start,end:a.end}));u.push({filePath:g,lineNumber:d.line_number,lineText:h,submatches:i})}let v=u.length>m;return{matches:v?u.slice(0,m):u,truncated:v}}(0,s.ensureServerEntryExports)([N,O,Q]),(0,k.registerServerReference)(N,"00c7387587555085b5fc8b9b708807d6513a5f6825",null),(0,k.registerServerReference)(O,"0069002a33456e5430f6bd338ab482906b23bd575d",null),(0,k.registerServerReference)(Q,"7c561078fb0d6d18e8ea9de3d02d2ab96ab23fcc4c",null);var R=a.i(536960),S=a.i(689171),T=a.i(347427),U=a.i(925886),V=a.i(855806);a.s([],971217),a.i(971217),a.s(["00106d4fcb4d66916535f592a22f2432e998f5c560",()=>f.getActualWsPort,"001de1e475f046aa339c23ec372c92b714d1f9a6f5",()=>j.getOnboardingStatus,"005c435931ab272868e674f977a37a5d3a28e828aa",()=>T.getActiveExecutionsAcrossWorkspaces,"0069b845452752e9c446565ecc887751ceb88f8302",()=>c.getWorkspacesWithProjects,"009c9ba31d33414315e6ebce045ad942596592deeb",()=>V.getConnectedProviders,"00abe22e017185b0aac474fd740ae59ad8cbff33a3",()=>i.listAllExtensionStatus,"00e626dfc3e9d109a763e813c58187024be4de8c7c",()=>V.getProviderConnections,"40071bf428e8dcb0fa3849fc49ffa18d6f403df3c2",()=>T.getTaskMessages,"40107191906b7bd9007e9c955d43addd4eb4a5a687",()=>j.setOnboardingProgress,"401acf2b7191c3fbfd39c3f254a5628d15465f16bb",()=>S.checkWorktreeClean,"403508781c13bf9d40b2fa51d399f5ca275af8be45",()=>d.createLabel,"4036232b529af0e5d065629d1878dc1a6e82f9ab45",()=>c.createWorkspace,"403629f8c3d76ad7fbefdd04b8cdbe84c9ffc95758",()=>d.deleteLabel,"4036f95ed5dc32f339eacad6c635ee66f9e026db46",()=>i.checkExtension,"403a9e5f93c6264236a9b7d13e0f0d7dd3ed5eb4e9",()=>R.setProjectDefaults,"403c35c2389d293cdefc8a0b3788a1215ad7f93c68",()=>T.getTaskExecutions,"403c924ff5422048ec127c6db486e62469eea6361f",()=>R.stopPreview,"4044d6c5c594edca1f2190b98b13690c7930ebe6fb",()=>T.continueLatestPtyExecution,"4047d8634587ecb96fe8459ea07f040d7d207f1c96",()=>j.dispatchTaskCompletionEvent,"40494327a212cb6df25bdaa58d6730e716ad858443",0,B,"4049b2b8b0b65a6ece6124fb8f638f659bea54dd78",()=>R.startPreview,"404b88257c253f72e32b690fbfdc864cdbe54233e3",()=>f.resolveGitLocalPath,"404c5f6bb80cc0d10b604e5640d83816a765fc59f3",()=>R.openInTerminal,"404cffeebf9cd5b11929ed56c5dbcb3e79b820450e",()=>U.getPrompts,"404f73addc943bb8455a63e7ceecb59ca89b3e445c",()=>c.deleteWorkspace,"406292704d3384ebad259a3c76da6b557cbeec6784",()=>R.redetectPreset,"4062d13cdbe45c1cfb8386e810495e72befcfbec91",()=>T.stopPtyExecution,"4064146185600ce222e9bc8e2316f49c9603a85346",()=>g.checkMigrationSafety,"406b9ebf02d3183f04e594426f6a5ebe41a65dee0d",()=>i.installExtension,"4072642dbb7b3e87f03b0f4ed0d665a8163b45f708",()=>R.installPreviewDeps,"4075ec4df24bd89711034f15cca9eb240df9f3f473",()=>f.getConfigValues,"408215e48e1a623e4bbb685a78e3a3ada2ed9a5e8a",()=>R.openInFileManager,"4085db60872c4f89ced3fffe97e404db91c2c2614a",()=>V.isProviderConnected,"40a305711044d42074dc8b719a62360ee159d7fe96",()=>R.openInEditor,"40a4ee923ff0b325baafa490ce673265b4bf3061a2",()=>d.getLabelsForWorkspace,"40adbba8c12c1bdb8072b324eb5ae7afff35a67271",()=>f.resolveGitLocalPathWithSource,"40ae8e29de61eeb88cc3237f5c2082417cea181321",()=>R.setProjectPreset,"40b03ac97723fe879d9efe21b71e56c5a984151d22",()=>c.createProject,"40b59a54ce49a5ad9953b31159f64bfd2ee911e145",()=>i.uninstallExtension,"40ba0a6745d6e548891af11bc32b23219c32fd3e24",()=>T.continueOrStartTaskExecution,"40c1fca60b09e49b7db0276fbb8f5ff1b6af756426",()=>R.getPreviewState,"40da1ea17360e58bedf2e6bf6d1f53246b673da623",()=>c.reorderWorkspaces,"40e3cf8e78797104c14a8e7539e4e904ca54efa90c",()=>h.createProductGroup,"40ff151b677eeaf0636f04e8d87327f4046c314c92",()=>h.getProductGroups,"6004182a3bce876e0f48dfc1200ec4dd4cd0f53b3a",0,z,"6027cc49ddb74d8bded5d8ad563e66f5765ef5e95e",0,u,"6028dfd7e9e6482efd4c85897670ae11216bda0edf",()=>V.markProviderDisconnected,"602ead6626e7eefac24670b57b652c9b89f7fe7728",()=>T.sendTaskMessage,"60307d44ba04bf0330743c985bf6cc4ce0876e8b49",()=>e.globalSearch,"6031d4644cd423486c800f9dcad4ed01df4562a880",()=>S.commitWorktreeChanges,"6036f5d613735f83ba2f8cc49ca9b64fd1c0c0beab",()=>g.analyzeProjectDirectory,"603aca60338da224813e09368e73f008feefa9a4fe",()=>j.completeOnboarding,"60555989b683c5a72f2fc7fd34c0373bad439208b7",0,H,"60615228392ec08da945787a56064cf05c79625eae",0,w,"6062cab48aa6208df83d05e32f80e68a3dcdfed4a1",0,D,"607406da24c2c258cf21c458a4ea4652cda13a2a04",()=>T.stopTaskExecution,"6076bcc79f9958bb057ccdd60911f9d7b735d7a931",()=>S.updateTask,"60921a3de22dbf319f72f72748e2d0986e0d206e8b",()=>V.markProviderConnected,"60943bdcf93774abc1f4c5685f24da700f883d3220",0,E,"609c9417a5d51517e959d27ee390da88a7c0542bbc",()=>g.migrateProjectPath,"609f47ef812de3d5f05ec0e95d0b9bc0490c684bdc",()=>h.setProjectGroup,"60abd5e499bef8cd1d081b74113f0e817026a864e7",()=>f.getConfigValue,"60ad166951880d2dabc4566edb741b45f859714079",0,x,"60bc9436cec7b2f26cf49b181625cda9710fd3e4cc",()=>c.updateWorkspace,"60cfe2e76434418decb73fd3d25bf587d7b5ad1695",()=>f.setConfigValue,"60d98f261d5da4342103e4c5be854bfdc7b172158c",()=>j.setOnboardingExtensions,"60e4b2ed8000953c03639b7e7fbc5233720fd9370a",()=>S.updateTaskStatus,"60efa135082b65911a52ff807ef8c96f9c3585f6a1",()=>T.resumePtyExecution,"700eba4866e7155bcb476734432fd01b072502b8d9",0,y,"701337fd0644c7346135bfeaca5847b420e9269cc8",0,G,"70e9e765159a33c6e2ce9d4f9c9bcd967b3f07438e",0,v,"7857e0761ae324106f4d453fd1b9b2ea1ba1d19f57",()=>T.startTaskExecution,"7c3d6cd7e5e687f4f77510e3a770d804bec50e4336",()=>T.startPtyExecution,"7c561078fb0d6d18e8ea9de3d02d2ab96ab23fcc4c",0,Q,"7c636a9922893aeb4dcf2cea81b0a4c429bef4146e",()=>T.startPtyExecutionSafe],55538)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_0fmko25._.js.map
|