tower-studio 0.2.15 → 0.2.16
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/page.js +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +56 -140
- package/.next/standalone/.next/server/app/_not-found/page.js +8 -10
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/adapters/test/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/browse-fs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/files/assets/[projectId]/[filename]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/git/route.js +1 -1
- package/.next/standalone/.next/server/app/api/git/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assets/reveal/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js +1 -1
- package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js +1 -1
- package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assistant/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/backup/import/route.js +1 -1
- package/.next/standalone/.next/server/app/api/internal/backup/import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/cache/[...segments]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/internal/cache/[...segments]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/hooks/install/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/hooks/stop/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/hooks/upload/route.js +1 -1
- package/.next/standalone/.next/server/app/api/internal/hooks/upload/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/monaco/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/input/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js +1 -1
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff-patch/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff-patch/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/missions/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/missions/page/server-reference-manifest.json +118 -190
- package/.next/standalone/.next/server/app/missions/page.js +9 -10
- package/.next/standalone/.next/server/app/missions/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/onboarding/page/server-reference-manifest.json +56 -140
- package/.next/standalone/.next/server/app/onboarding/page.js +8 -10
- package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding.html +1 -1
- package/.next/standalone/.next/server/app/onboarding.rsc +17 -17
- package/.next/standalone/.next/server/app/onboarding.segments/_full.segment.rsc +17 -17
- package/.next/standalone/.next/server/app/onboarding.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/onboarding.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/onboarding.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/onboarding.segments/onboarding.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +56 -140
- package/.next/standalone/.next/server/app/page.js +8 -10
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +88 -148
- package/.next/standalone/.next/server/app/settings/page.js +9 -11
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +17 -17
- package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +17 -17
- package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings.segments/settings.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +146 -218
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js +9 -11
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +148 -184
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js +9 -11
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +102 -186
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js +8 -10
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +126 -198
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js +9 -11
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +56 -140
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js +9 -11
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/server-reference-manifest.json +120 -192
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js +9 -11
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +154 -226
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js +10 -11
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/page/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/page/server-reference-manifest.json +82 -166
- package/.next/standalone/.next/server/app/workspaces/page.js +8 -10
- package/.next/standalone/.next/server/app/workspaces/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0hrprmi.js +1 -1
- package/.next/standalone/.next/server/chunks/[externals]__0m6hc.0._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__03j20vp._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__05se6yk._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__05~g1fm._.js +1 -1
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0pg9aea._.js → [root-of-the-server]__0_6swdz._.js} +3 -3
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0sfk~2k._.js → [root-of-the-server]__0hc9vir._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0ge1~qa._.js → [root-of-the-server]__0hclpb.._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0ag-i9m._.js → [root-of-the-server]__0j8xb6s._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0mizcpa._.js +4 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0jf72nm._.js → [root-of-the-server]__0o3ggen._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__124i0i-._.js → [root-of-the-server]__0qdvear._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0g2lv9x._.js → [root-of-the-server]__0r9mscb._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wuzc5o._.js +4 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~rm9q.._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_0bkvm8c._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_0weytpz._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/0iu._[workspaceId]_projects_[projectId]_versions_version-timeline-client_tsx_07o_kyi._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{0se9_next_0agnfwf._.js → 0se9_next_11h0sx_._.js} +4 -3
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0b7rna9._.js → [root-of-the-server]__0-pzjth._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__00l2th1._.js +47 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0x81w9c._.js → [root-of-the-server]__057bwkf._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0-pcbjc._.js → [root-of-the-server]__063j5j2._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__07l.j.t._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__04nht4_._.js → [root-of-the-server]__08g-39i._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__06ci01x._.js → [root-of-the-server]__09n4g~p._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e215_h._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0hc2ab0._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0iaw1ms._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__098yytg._.js → [root-of-the-server]__0lhroxu._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0n9e~0j._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0o4yodb._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0p_09im._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__08icsmr._.js → [root-of-the-server]__0qy_98o._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0qyxluw._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0r54_2f._.js +30 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0s9retv._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0vicp7s._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0b8cn~b._.js → [root-of-the-server]__0vx7inx._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0vyqspt._.js +30 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0ss.-i7._.js → [root-of-the-server]__0wabw~r._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0y.2qv_._.js +5 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0pj4ghy._.js → [root-of-the-server]__0zgzcl5._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__10xwsl4._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12c826b._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0clm.cb._.js → [root-of-the-server]__13i_x1.._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0-sia69._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/{_05_bfrg._.js → _00_enfv._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0v53yq7._.js → _02yhivm._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_06d.l~y._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_102gd3m._.js → _08j7--7._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0_g2k44._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0q6ax60._.js → _0_in9ut._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0rk3o8h._.js → _0b9lr.2._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{src_0j_1~da._.js → _0bijc0.._.js} +4 -4
- package/.next/standalone/.next/server/chunks/ssr/_0cj9a7y._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0of7fy7._.js → _0ds16oj._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0qxei2o._.js → _0gk9bhq._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/{_0yp1dzk._.js → _0hj6ykf._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0i2m-0~._.js +47 -0
- package/.next/standalone/.next/server/chunks/ssr/_0jg.s-g._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_00-v8~4._.js → _0jis7fv._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0kdx-ix._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0l0n0gc._.js +47 -0
- package/.next/standalone/.next/server/chunks/ssr/{0t0b_zod_v4_classic_external_129tmhb.js → _0ng0eku._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0-anjz4._.js → _0ny8sre._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_06gydyh._.js → _0p~.jo1._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/_0rdyrfd._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0st9b1_._.js +47 -0
- package/.next/standalone/.next/server/chunks/ssr/_0tj4yhj._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0u6n.gw._.js +47 -0
- package/.next/standalone/.next/server/chunks/ssr/_0ueyys5._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0unw1fq._.js +6 -0
- package/.next/standalone/.next/server/chunks/ssr/_0wxgq36._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0ze9ezr._.js → _0x_nujv._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/_0xlxdv6._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0~fk6kp._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_09gfkbi._.js → _0~~v0og._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0l-ci5f._.js → _10.d8~a._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_11ixey~._.js +47 -0
- package/.next/standalone/.next/server/chunks/ssr/src_0eufeyj._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_0r5zto-._.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]_tasks_[taskId]_task-page-client_tsx_02t7blt._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_0d6br1r._.js → src_lib_05wgz5w._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_0d7-dyi._.js → src_lib_078780e._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_02~8o7n._.js → src_lib_09ajdu_._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_05._ry~._.js → src_lib_0f4q-6w._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0ffqwve._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0i-k~x7._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0jzfhds._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0kjj12q._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0lve.hi._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0pywvqu._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0tp-g~8._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0vnqpwi._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0w9nhfj._.js +3 -0
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +859 -1351
- package/.next/standalone/.next/static/chunks/0.oy-y0w05vbq.js +1 -0
- package/.next/standalone/.next/static/chunks/04a2asn0hyy9c.js +1 -0
- package/.next/standalone/.next/static/chunks/06uk3fb5mkz5c.js +1 -0
- package/.next/standalone/.next/static/chunks/{0j94ru7oloqhp.js → 07idrdtj1o8zu.js} +1 -1
- package/.next/standalone/.next/static/chunks/{078tkiwi_e..w.js → 0_t7890~b8s.q.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0m7mzooex9.cp.js → 0c5ct~fi6oo0x.js} +1 -1
- package/.next/standalone/.next/static/chunks/{040v3khsfu0lz.js → 0d.9mkqrf._kj.js} +2 -2
- package/.next/standalone/.next/static/chunks/0e8wfpfgivr6t.js +1 -0
- package/.next/standalone/.next/static/chunks/0eup3utxhd.9w.js +2 -0
- package/.next/standalone/.next/static/chunks/0fysbcldn.s~5.js +1 -0
- package/.next/standalone/.next/static/chunks/0husw1q436czh.js +1 -0
- package/.next/standalone/.next/static/chunks/0ibjmvk~1lgfl.js +2 -0
- package/.next/standalone/.next/static/chunks/{0_8g669_.94gk.js → 0m_mrbcxwb.xb.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0caf_e5zdgl2s.js → 0mzr~d4ax.~nx.js} +2 -2
- package/.next/standalone/.next/static/chunks/0q4_3y9etuu46.js +1 -0
- package/.next/standalone/.next/static/chunks/0qxmfi3_hxoj8.js +1 -0
- package/.next/standalone/.next/static/chunks/{0dbel03y5wo85.js → 0vyurjgr0u8aw.js} +1 -1
- package/.next/standalone/.next/static/chunks/0xbblu1dqxput.js +1 -0
- package/.next/standalone/.next/static/chunks/0xu8d3uoqrmjl.js +1 -0
- package/.next/standalone/.next/static/chunks/0xx_wtcnk0sf7.js +1 -0
- package/.next/standalone/.next/static/chunks/0yrq3rjju-3um.js +1 -0
- package/.next/standalone/.next/static/chunks/0~8mebeyo5uub.css +1 -0
- package/.next/standalone/.next/static/chunks/{0nsoo.df~w7ez.js → 10~egz2-vj..3.js} +2 -2
- package/.next/standalone/package.json +1 -3
- package/package.json +1 -3
- package/.next/standalone/.next/server/chunks/[externals]__12any6r._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0d1dj18._.js +0 -4
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0s__pv8._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[externals]__0u-vzb1._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0.bvw5b._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__06zyaub._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0f6jg2_._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0gaiasa._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0gzi6v8._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0n-4zp8._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0oht3x8._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ps55l6._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0snkwkk._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0vk3eou._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0vqar.7._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0xg37gu._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0yr--da._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0z1phoe._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0~8i4lj._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__10yxmur._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11einlk._.js +0 -30
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__13wezd4._.js +0 -30
- package/.next/standalone/.next/server/chunks/ssr/_05h.8a~._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_065qc4e._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_06sgp6h._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0_l8.dg._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/_0h~yckx._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0i4__mf._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0kkxrcc._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0ov6bwe._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0tb98gb._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0wvv86n._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0xrgx~o._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0~80adm._.js +0 -8
- package/.next/standalone/.next/server/chunks/ssr/_10dvolb._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_12o7r.n._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_13jha60._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_actions_search-code-actions_ts_0k9u5d~._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0iq4x_.._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0me8mly._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0ngr9__._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0qu3epc._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0r2kk28._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0v-t4im._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0v244ym._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0y0c60a._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_13f4e5p._.js +0 -3
- package/.next/standalone/.next/static/chunks/05mx9brj-f8gw.js +0 -1
- package/.next/standalone/.next/static/chunks/0600r~b6rdg~2.js +0 -1
- package/.next/standalone/.next/static/chunks/0666bg18.a5h8.js +0 -1
- package/.next/standalone/.next/static/chunks/09nbrak~rje1..js +0 -2
- package/.next/standalone/.next/static/chunks/0c.9g9ugtt_fi.js +0 -2
- package/.next/standalone/.next/static/chunks/0g62a2i4hk0pj.js +0 -1
- package/.next/standalone/.next/static/chunks/0i84hdhbjwxv3.js +0 -1
- package/.next/standalone/.next/static/chunks/0k02g-ep3ca11.js +0 -1
- package/.next/standalone/.next/static/chunks/0kqksl8_mibg1.js +0 -1
- package/.next/standalone/.next/static/chunks/0lve_d~~~n7y4.js +0 -1
- package/.next/standalone/.next/static/chunks/0my~5x9vknsv2.js +0 -1
- package/.next/standalone/.next/static/chunks/0o~~t9_9pm-0e.css +0 -1
- package/.next/standalone/.next/static/chunks/0r6_if_1hvz-u.js +0 -1
- package/.next/standalone/.next/static/chunks/0unk0vfgdc4b1.js +0 -1
- package/.next/standalone/.next/static/chunks/0xfk375kd_~b3.js +0 -1
- /package/.next/standalone/.next/static/{9NXMylL5Ks4ehg3RIDVt3 → Kff31mi-mF0Jr_em-2NTJ}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{9NXMylL5Ks4ehg3RIDVt3 → Kff31mi-mF0Jr_em-2NTJ}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{9NXMylL5Ks4ehg3RIDVt3 → Kff31mi-mF0Jr_em-2NTJ}/_ssgManifest.js +0 -0
|
@@ -25,6 +25,6 @@ Rules:
|
|
|
25
25
|
- Set shouldCreateNote=true ONLY if there are genuinely reusable insights (architectural decisions, non-obvious pitfalls, useful patterns, important tool discoveries)
|
|
26
26
|
- Trivial sessions (simple formatting, single-line edits, routine commits) should have shouldCreateNote=false
|
|
27
27
|
- insights array can be empty if nothing notable
|
|
28
|
-
- Keep each insight concise (1-2 sentences)`,h=await c(g,b);if(!h)return null;try{let a=h,b=a.match(/\{[\s\S]*\}/);b&&(a=b[0]);let c=JSON.parse(a);if("string"!=typeof c.summary||"boolean"!=typeof c.shouldCreateNote)return console.error("[generateDreamingInsight] Invalid response structure"),null;return c}catch(a){return console.error("[generateDreamingInsight] JSON parse failed:",a.message),null}}a.s(["aiQuery",0,c,"generateDreamingInsight",0,e,"generateSummaryFromLog",0,d])},818992,a=>{"use strict";var b=a.i(233405),c=a.i(522734),d=a.i(761469),e=a.i(897667);function f(a,c){return(0,b.execFileSync)("git",a,{cwd:c,timeout:1e4,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()}function g(a){for(let b of["main","master","develop"])try{return f(["merge-base","HEAD",b],a)}catch{}return null}function h(a){if(!a)return null;let b=a.split("\n").filter(Boolean);if(0===b.length)return null;let c=b[0].replace(/^[a-f0-9]+\s+/,"");return 1===b.length?c:`${b.length} commits: ${c}`}async function i(a,b,i,j,k){try{let b;console.error(`[captureExecutionSummary] Starting: exec=${a.slice(0,8)} exit=${i} buffer=${j.length}chars worktree=${k}`);let l=null,m=null,n=null;if(k&&(0,c.existsSync)(k))try{if(f(["rev-parse","--git-dir"],k),l=function(a){try{let b=g(a);if(b){let c=f(["log","--oneline",`${b}..HEAD`],a);if(c)return c}return f(["log","--oneline","-3"],a)||null}catch{return null}}(k),(m=function(a){try{let b,c=g(a);if(!(b=c?f(["diff","--stat",`${c}..HEAD`],a):f(["diff","--stat","HEAD~20","HEAD"],a)))return null;return function(a){let b=a.split("\n"),c=b[b.length-1];if(!c)return null;let d=c.match(/(\d+)\s+files?\s+changed/),e=c.match(/(\d+)\s+insertions?\(\+\)/),f=c.match(/(\d+)\s+deletions?\(-\)/);return d||e||f?{commits:0,filesChanged:d?parseInt(d[1],10):0,insertions:e?parseInt(e[1],10):0,deletions:f?parseInt(f[1],10):0}:null}(b)}catch{return null}}(k))&&l){let a=l.split("\n").filter(Boolean).length;m={...m,commits:a}}n=h(l)}catch{}let o=(b=j.replace(/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g,"").replace(/\x1b\[[0-9;?]*[A-Za-z]/g,"").replace(/\x1b[^[\]()][^\x1b]*/g,"").replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,"").replace(/\n{3,}/g,"\n\n").trim()).length<=10240?b:b.slice(b.length-10240);await d.db.taskExecution.update({where:{id:a},data:{summary:n??(l?h(l):null),gitLog:l??null,gitStats:m?JSON.stringify(m):null,exitCode:i,terminalLog:o||null}}),o&&k&&(console.error("[captureExecutionSummary] Starting background AI summary..."),(0,e.generateSummaryFromLog)(o,k).then(async b=>{b&&(console.error(`[captureExecutionSummary] AI summary ready: ${b.slice(0,80)}`),await d.db.taskExecution.update({where:{id:a},data:{summary:b}}))}).catch(a=>{console.error("[captureExecutionSummary] Background AI summary failed:",a)}))}catch(a){console.error("[captureExecutionSummary] Failed to capture summary:",a)}}async function j(a){try{let b=await d.db.task.findUnique({where:{id:a},select:{projectId:!0,executions:{orderBy:{createdAt:"desc"},select:{id:!0,terminalLog:!0,worktreePath:!0,summary:!0}}}});if(!b||0===b.executions.length)return;let c="",f=null,g=[];for(let a of b.executions)a.terminalLog&&(c+=a.terminalLog+"\n---\n"),a.summary&&g.push(a.summary),!f&&a.worktreePath&&(f=a.worktreePath);if(!(c=c.slice(-8e3)).trim())return;let h=g.join("\n"),i=f||process.cwd();console.error(`[captureTaskDreaming] Starting for task=${a.slice(0,8)}, ${b.executions.length} executions`);let j=await (0,e.generateDreamingInsight)(c,i,h);if(!j||!j.shouldCreateNote)return void console.error("[captureTaskDreaming] No note needed");let k=await d.db.projectNote.create({data:{title:j.noteTitle||j.summary.slice(0,50),content:function(a){let b=[];if(b.push("## Summary"),b.push(a.summary),b.push(""),a.insights.length>0)for(let c of(b.push("## Insights"),a.insights))b.push(`- **[${c.type}]**: ${c.content}`);return b.join("\n")}(j),category:"session-insight",projectId:b.projectId,taskId:a}}),l=b.executions[0].id;await d.db.taskExecution.update({where:{id:l},data:{insightNoteId:k.id}}),console.error(`[captureTaskDreaming] Note created: ${k.id}`)}catch(a){console.error("[captureTaskDreaming] Failed:",a)}}a.s(["captureExecutionSummary",0,i,"captureTaskDreaming",0,j])},719041,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]
|
|
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])},818992,a=>{"use strict";var b=a.i(233405),c=a.i(522734),d=a.i(761469),e=a.i(897667);function f(a,c){return(0,b.execFileSync)("git",a,{cwd:c,timeout:1e4,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()}function g(a){for(let b of["main","master","develop"])try{return f(["merge-base","HEAD",b],a)}catch{}return null}function h(a){if(!a)return null;let b=a.split("\n").filter(Boolean);if(0===b.length)return null;let c=b[0].replace(/^[a-f0-9]+\s+/,"");return 1===b.length?c:`${b.length} commits: ${c}`}async function i(a,b,i,j,k){try{let b;console.error(`[captureExecutionSummary] Starting: exec=${a.slice(0,8)} exit=${i} buffer=${j.length}chars worktree=${k}`);let l=null,m=null,n=null;if(k&&(0,c.existsSync)(k))try{if(f(["rev-parse","--git-dir"],k),l=function(a){try{let b=g(a);if(b){let c=f(["log","--oneline",`${b}..HEAD`],a);if(c)return c}return f(["log","--oneline","-3"],a)||null}catch{return null}}(k),(m=function(a){try{let b,c=g(a);if(!(b=c?f(["diff","--stat",`${c}..HEAD`],a):f(["diff","--stat","HEAD~20","HEAD"],a)))return null;return function(a){let b=a.split("\n"),c=b[b.length-1];if(!c)return null;let d=c.match(/(\d+)\s+files?\s+changed/),e=c.match(/(\d+)\s+insertions?\(\+\)/),f=c.match(/(\d+)\s+deletions?\(-\)/);return d||e||f?{commits:0,filesChanged:d?parseInt(d[1],10):0,insertions:e?parseInt(e[1],10):0,deletions:f?parseInt(f[1],10):0}:null}(b)}catch{return null}}(k))&&l){let a=l.split("\n").filter(Boolean).length;m={...m,commits:a}}n=h(l)}catch{}let o=(b=j.replace(/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g,"").replace(/\x1b\[[0-9;?]*[A-Za-z]/g,"").replace(/\x1b[^[\]()][^\x1b]*/g,"").replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,"").replace(/\n{3,}/g,"\n\n").trim()).length<=10240?b:b.slice(b.length-10240);await d.db.taskExecution.update({where:{id:a},data:{summary:n??(l?h(l):null),gitLog:l??null,gitStats:m?JSON.stringify(m):null,exitCode:i,terminalLog:o||null}}),o&&k&&(console.error("[captureExecutionSummary] Starting background AI summary..."),(0,e.generateSummaryFromLog)(o,k).then(async b=>{b&&(console.error(`[captureExecutionSummary] AI summary ready: ${b.slice(0,80)}`),await d.db.taskExecution.update({where:{id:a},data:{summary:b}}))}).catch(a=>{console.error("[captureExecutionSummary] Background AI summary failed:",a)}))}catch(a){console.error("[captureExecutionSummary] Failed to capture summary:",a)}}async function j(a){try{let b=await d.db.task.findUnique({where:{id:a},select:{projectId:!0,executions:{orderBy:{createdAt:"desc"},select:{id:!0,terminalLog:!0,worktreePath:!0,summary:!0}}}});if(!b||0===b.executions.length)return;let c="",f=null,g=[];for(let a of b.executions)a.terminalLog&&(c+=a.terminalLog+"\n---\n"),a.summary&&g.push(a.summary),!f&&a.worktreePath&&(f=a.worktreePath);if(!(c=c.slice(-8e3)).trim())return;let h=g.join("\n"),i=f||process.cwd();console.error(`[captureTaskDreaming] Starting for task=${a.slice(0,8)}, ${b.executions.length} executions`);let j=await (0,e.generateDreamingInsight)(c,i,h);if(!j||!j.shouldCreateNote)return void console.error("[captureTaskDreaming] No note needed");let k=await d.db.projectNote.create({data:{title:j.noteTitle||j.summary.slice(0,50),content:function(a){let b=[];if(b.push("## Summary"),b.push(a.summary),b.push(""),a.insights.length>0)for(let c of(b.push("## Insights"),a.insights))b.push(`- **[${c.type}]**: ${c.content}`);return b.join("\n")}(j),category:"session-insight",projectId:b.projectId,taskId:a}}),l=b.executions[0].id;await d.db.taskExecution.update({where:{id:l},data:{insightNoteId:k.id}}),console.error(`[captureTaskDreaming] Note created: ${k.id}`)}catch(a){console.error("[captureTaskDreaming] Failed:",a)}}a.s(["captureExecutionSummary",0,i,"captureTaskDreaming",0,j])},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
29
|
|
|
30
|
-
//# sourceMappingURL=
|
|
30
|
+
//# sourceMappingURL=_0~~v0og._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[594003,a=>{"use strict";function b(a){return Array.isArray?Array.isArray(a):"[object Array]"===i(a)}function c(a){return null==a?"":function(a){if("string"==typeof a)return a;if("bigint"==typeof a)return a.toString();let b=a+"";return"0"==b&&1/a==-1/0?"-0":b}(a)}function d(a){return"string"==typeof a}function e(a){return"number"==typeof a}function f(a){return"object"==typeof a}function g(a){return null!=a}function h(a){return!a.trim().length}function i(a){return null==a?void 0===a?"[object Undefined]":"[object Null]":Object.prototype.toString.call(a)}let j=Object.prototype.hasOwnProperty;class k{constructor(a){this._keys=[],this._keyMap={};let b=0;a.forEach(a=>{let c=l(a);this._keys.push(c),this._keyMap[c.id]=c,b+=c.weight}),this._keys.forEach(a=>{a.weight/=b})}get(a){return this._keyMap[a]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function l(a){let c=null,e=null,f=null,g=1,h=null;if(d(a)||b(a))f=a,c=m(a),e=n(a);else{if(!j.call(a,"name"))throw Error("Missing name property in key");let b=a.name;if(f=b,j.call(a,"weight")&&(g=a.weight)<=0)throw Error(`Property 'weight' in key '${b}' must be a positive integer`);c=m(b),e=n(b),h=a.getFn}return{path:c,id:e,weight:g,src:f,getFn:h}}function m(a){return b(a)?a:a.split(".")}function n(a){return b(a)?a.join("."):a}let o=Object.freeze({isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(a,b)=>a.score===b.score?a.idx<b.idx?-1:1:a.score<b.score?-1:1,includeMatches:!1,findAllMatches:!1,minMatchCharLength:1,location:0,threshold:.6,distance:100,useExtendedSearch:!1,useTokenSearch:!1,getFn:function(a,h){let j=[],k=!1,l=(a,h,m,n)=>{if(g(a))if(h[m]){var o,p;let q=a[h[m]];if(!g(q))return;if(m===h.length-1&&(d(q)||e(q)||!0===(o=q)||!1===o||f(p=o)&&null!==p&&"[object Boolean]"==i(o)||"bigint"==typeof q))j.push(void 0!==n?{v:c(q),i:n}:c(q));else if(b(q)){k=!0;for(let a=0,b=q.length;a<b;a+=1)l(q[a],h,m+1,a)}else h.length&&l(q,h,m+1,n)}else j.push(void 0!==n?{v:a,i:n}:a)};return l(a,d(h)?h.split("."):h,0),k?j:j[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1}),p=/[^ ]+/g;class q{constructor({getFn:a=o.getFn,fieldNormWeight:b=o.fieldNormWeight}={}){this.norm=function(a=1,b=3){let c=new Map,d=Math.pow(10,b);return{get(b){let e=b.match(p).length;if(c.has(e))return c.get(e);let f=parseFloat(Math.round(1/Math.pow(e,.5*a)*d)/d);return c.set(e,f),f},clear(){c.clear()}}}(b,3),this.getFn=a,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(a=[]){this.docs=a}setIndexRecords(a=[]){this.records=a}setKeys(a=[]){this.keys=a,this._keysMap={},a.forEach((a,b)=>{this._keysMap[a.id]=b})}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,d(this.docs[0])?this.docs.forEach((a,b)=>{this._addString(a,b)}):this.docs.forEach((a,b)=>{this._addObject(a,b)}),this.norm.clear())}add(a){let b=this.size();d(a)?this._addString(a,b):this._addObject(a,b)}removeAt(a){this.records.splice(a,1);for(let b=a,c=this.size();b<c;b+=1)this.records[b].i-=1}removeAll(a){for(let b=a.length-1;b>=0;b-=1)this.records.splice(a[b],1);for(let a=0,b=this.records.length;a<b;a+=1)this.records[a].i=a}getValueForItemAtKeyId(a,b){return a[this._keysMap[b]]}size(){return this.records.length}_addString(a,b){if(!g(a)||h(a))return;let c={v:a,i:b,n:this.norm.get(a)};this.records.push(c)}_addObject(a,e){let f={i:e,$:{}};this.keys.forEach((e,i)=>{let j=e.getFn?e.getFn(a):this.getFn(a,e.path);if(g(j)){if(b(j)){let a=[];for(let b=0,e=j.length;b<e;b+=1){let e=j[b];if(g(e)){if(d(e)){if(!h(e)){let c={v:e,i:b,n:this.norm.get(e)};a.push(c)}}else if(g(e.v)){let b=d(e.v)?e.v:c(e.v);if(!h(b)){let c={v:b,i:e.i,n:this.norm.get(b)};a.push(c)}}}}f.$[i]=a}else if(d(j)&&!h(j)){let a={v:j,n:this.norm.get(j)};f.$[i]=a}}}),this.records.push(f)}toJSON(){return{keys:this.keys.map(({getFn:a,...b})=>b),records:this.records}}}function r(a,b,{getFn:c=o.getFn,fieldNormWeight:d=o.fieldNormWeight}={}){let e=new q({getFn:c,fieldNormWeight:d});return e.setKeys(a.map(l)),e.setSources(b),e.create(),e}function s(a){if(a.length<=1)return a;a.sort((a,b)=>a[0]-b[0]||a[1]-b[1]);let b=[a[0]];for(let c=1,d=a.length;c<d;c+=1){let d=b[b.length-1],e=a[c];e[0]<=d[1]+1?d[1]=Math.max(d[1],e[1]):b.push(e)}return b}let t={ł:"l",Ł:"L",đ:"d",Đ:"D",ø:"o",Ø:"O",ħ:"h",Ħ:"H",ŧ:"t",Ŧ:"T",ı:"i",ß:"ss"},u=RegExp("["+Object.keys(t).join("")+"]","g"),v=String.prototype.normalize?a=>a.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,"").replace(u,a=>t[a]):a=>a;class w{constructor(a,{location:b=o.location,threshold:c=o.threshold,distance:d=o.distance,includeMatches:e=o.includeMatches,findAllMatches:f=o.findAllMatches,minMatchCharLength:g=o.minMatchCharLength,isCaseSensitive:h=o.isCaseSensitive,ignoreDiacritics:i=o.ignoreDiacritics,ignoreLocation:j=o.ignoreLocation}={}){if(this.options={location:b,threshold:c,distance:d,includeMatches:e,findAllMatches:f,minMatchCharLength:g,isCaseSensitive:h,ignoreDiacritics:i,ignoreLocation:j},a=h?a:a.toLowerCase(),a=i?v(a):a,this.pattern=a,this.chunks=[],!this.pattern.length)return;const k=(a,b)=>{this.chunks.push({pattern:a,alphabet:function(a){let b={};for(let c=0,d=a.length;c<d;c+=1){let e=a.charAt(c);b[e]=(b[e]||0)|1<<d-c-1}return b}(a),startIndex:b})},l=this.pattern.length;if(l>32){let a=0;const b=l%32,c=l-b;for(;a<c;)k(this.pattern.substr(a,32),a),a+=32;if(b){const a=l-32;k(this.pattern.substr(a),a)}}else k(this.pattern,0)}searchIn(a){let{isCaseSensitive:b,ignoreDiacritics:c,includeMatches:d}=this.options;if(a=b?a:a.toLowerCase(),a=c?v(a):a,this.pattern===a){let b={isMatch:!0,score:0};return d&&(b.indices=[[0,a.length-1]]),b}let{location:e,distance:f,threshold:g,findAllMatches:h,minMatchCharLength:i,ignoreLocation:j}=this.options,k=[],l=0,m=!1;this.chunks.forEach(({pattern:b,alphabet:c,startIndex:n})=>{let{isMatch:p,score:q,indices:r}=function(a,b,c,{location:d=o.location,distance:e=o.distance,threshold:f=o.threshold,findAllMatches:g=o.findAllMatches,minMatchCharLength:h=o.minMatchCharLength,includeMatches:i=o.includeMatches,ignoreLocation:j=o.ignoreLocation}={}){let k;if(b.length>32)throw Error("Pattern length exceeds max of 32.");let l=b.length,m=a.length,n=Math.max(0,Math.min(d,m)),p=f,q=n,r=(a,b)=>{let c=a/l;if(j)return c;let d=Math.abs(n-b);return e?c+d/e:d?1:c},s=h>1||i,t=s?Array(m):[];for(;(k=a.indexOf(b,q))>-1;)if(p=Math.min(r(0,k),p),q=k+l,s){let a=0;for(;a<l;)t[k+a]=1,a+=1}q=-1;let u=[],v=1,w=l+m,x=1<<l-1;for(let b=0;b<l;b+=1){let d=0,e=w;for(;d<e;)r(b,n+e)<=p?d=e:w=e,e=Math.floor((w-d)/2+d);w=e;let f=Math.max(1,n-e+1),h=g?m:Math.min(n+e,m)+l,i=Array(h+2);i[h+1]=(1<<b)-1;for(let d=h;d>=f;d-=1){let e=d-1,g=c[a[e]];if(s&&(t[e]=+!!g),i[d]=(i[d+1]<<1|1)&g,b&&(i[d]|=(u[d+1]|u[d])<<1|1|u[d+1]),i[d]&x&&(v=r(b,e))<=p){if(p=v,(q=e)<=n)break;f=Math.max(1,2*n-q)}}if(r(b+1,n)>p)break;u=i}let y={isMatch:q>=0,score:Math.max(.001,v)};if(s){let a=function(a=[],b=o.minMatchCharLength){let c=[],d=-1,e=-1,f=0;for(let g=a.length;f<g;f+=1){let g=a[f];g&&-1===d?d=f:g||-1===d||((e=f-1)-d+1>=b&&c.push([d,e]),d=-1)}return a[f-1]&&f-d>=b&&c.push([d,f-1]),c}(t,h);a.length?i&&(y.indices=a):y.isMatch=!1}return y}(a,b,c,{location:e+n,distance:f,threshold:g,findAllMatches:h,minMatchCharLength:i,includeMatches:d,ignoreLocation:j});p&&(m=!0),l+=q,p&&r&&k.push(...r)});let n={isMatch:m,score:m?l/this.chunks.length:1};return m&&d&&(n.indices=s(k)),n}}class x{constructor(a){this.pattern=a}static isMultiMatch(a){return y(a,this.multiRegex)}static isSingleMatch(a){return y(a,this.singleRegex)}search(a){return{isMatch:!1,score:1}}}function y(a,b){let c=a.match(b);return c?c[1]:null}class z extends x{constructor(a,{location:b=o.location,threshold:c=o.threshold,distance:d=o.distance,includeMatches:e=o.includeMatches,findAllMatches:f=o.findAllMatches,minMatchCharLength:g=o.minMatchCharLength,isCaseSensitive:h=o.isCaseSensitive,ignoreDiacritics:i=o.ignoreDiacritics,ignoreLocation:j=o.ignoreLocation}={}){super(a),this._bitapSearch=new w(a,{location:b,threshold:c,distance:d,includeMatches:e,findAllMatches:f,minMatchCharLength:g,isCaseSensitive:h,ignoreDiacritics:i,ignoreLocation:j})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(a){return this._bitapSearch.searchIn(a)}}class A extends x{constructor(a){super(a)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(a){let b,c=0,d=[],e=this.pattern.length;for(;(b=a.indexOf(this.pattern,c))>-1;)c=b+e,d.push([b,c-1]);let f=!!d.length;return{isMatch:f,score:+!f,indices:d}}}let B=[class extends x{constructor(a){super(a)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(a){let b=a===this.pattern;return{isMatch:b,score:+!b,indices:[0,this.pattern.length-1]}}},A,class extends x{constructor(a){super(a)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(a){let b=a.startsWith(this.pattern);return{isMatch:b,score:+!b,indices:[0,this.pattern.length-1]}}},class extends x{constructor(a){super(a)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(a){let b=!a.startsWith(this.pattern);return{isMatch:b,score:+!b,indices:[0,a.length-1]}}},class extends x{constructor(a){super(a)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(a){let b=!a.endsWith(this.pattern);return{isMatch:b,score:+!b,indices:[0,a.length-1]}}},class extends x{constructor(a){super(a)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(a){let b=a.endsWith(this.pattern);return{isMatch:b,score:+!b,indices:[a.length-this.pattern.length,a.length-1]}}},class extends x{constructor(a){super(a)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(a){let b=-1===a.indexOf(this.pattern);return{isMatch:b,score:+!b,indices:[0,a.length-1]}}},z],C=B.length,D=new Set([z.type,A.type]),E=[];function F(...a){E.push(...a)}function G(a,b){for(let c=0,d=E.length;c<d;c+=1){let d=E[c];if(d.condition(a,b))return new d(a,b)}return new w(a,b)}let H="$and",I="$path",J=a=>!!(a[H]||a.$or),K=a=>({[H]:Object.keys(a).map(b=>({[b]:a[b]}))});function L(a,c,{auto:e=!0}={}){let g=a=>{if(d(a)){let b={keyId:null,pattern:a};return e&&(b.searcher=G(a,c)),b}let h=Object.keys(a),i=!!a[I];if(!i&&h.length>1&&!J(a))return g(K(a));if(!b(a)&&f(a)&&!J(a)){let b=i?a[I]:h[0],f=i?a.$val:a[b];if(!d(f))throw Error(`Invalid value for key ${b}`);let g={keyId:n(b),pattern:f};return e&&(g.searcher=G(f,c)),g}let j={children:[],operator:h[0]};return h.forEach(c=>{let d=a[c];b(d)&&d.forEach(a=>{j.children.push(g(a))})}),j};return J(a)||(a=K(a)),g(a)}function M(a,{ignoreFieldNorm:b=o.ignoreFieldNorm}){let c=1;return a.forEach(({key:a,norm:d,score:e})=>{let f=a?a.weight:null;c*=Math.pow(0===e&&f?Number.EPSILON:e,(f||1)*(b?1:d))}),c}class N{constructor(a){this.limit=a,this.heap=[]}get size(){return this.heap.length}shouldInsert(a){return this.size<this.limit||a<this.heap[0].score}insert(a){this.size<this.limit?(this.heap.push(a),this._bubbleUp(this.size-1)):a.score<this.heap[0].score&&(this.heap[0]=a,this._sinkDown(0))}extractSorted(a){return this.heap.sort(a)}_bubbleUp(a){let b=this.heap;for(;a>0;){let c=a-1>>1;if(b[a].score<=b[c].score)break;let d=b[a];b[a]=b[c],b[c]=d,a=c}}_sinkDown(a){let b=this.heap,c=b.length,d=a;do{let e=2*(a=d)+1,f=2*a+2;if(e<c&&b[e].score>b[d].score&&(d=e),f<c&&b[f].score>b[d].score&&(d=f),d!==a){let c=b[a];b[a]=b[d],b[d]=c}}while(d!==a)}}function O(a,b){let c=a.matches;b.matches=[],g(c)&&c.forEach(a=>{if(!g(a.indices)||!a.indices.length)return;let{indices:c,value:d}=a,e={indices:c,value:d};a.key&&(e.key=a.key.src),a.idx>-1&&(e.refIndex=a.idx),b.matches.push(e)})}function P(a,b){b.score=a.score}let Q=/\b\w+\b/g;function R({isCaseSensitive:a=!1,ignoreDiacritics:b=!1}={}){return{tokenize:c=>(a||(c=c.toLowerCase()),b&&(c=v(c)),c.match(Q)||[])}}function S(a,b){for(let[c,d]of a.terms){let e=d.filter(a=>a.docIdx!==b),f=d.length-e.length;f>0&&(a.fieldCount-=f,a.df.set(c,(a.df.get(c)||0)-f),0===e.length?(a.terms.delete(c),a.df.delete(c)):a.terms.set(c,e))}}class T{constructor(a,b,c){this.options={...o,...b},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new k(this.options.keys),this._docs=a,this._myIndex=null,this._invertedIndex=null,this.setCollection(a,c),this._lastQuery=null,this._lastSearcher=null}_getSearcher(a){if(this._lastQuery===a)return this._lastSearcher;let b=G(a,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=a,this._lastSearcher=b,b}setCollection(a,b){if(this._docs=a,b&&!(b instanceof q))throw Error("Incorrect 'index' type");if(this._myIndex=b||r(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){let a=R({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics});this._invertedIndex=function(a,b,c){let d=new Map,e=new Map,f=0;function g(a,b,g,h){let i=c.tokenize(a);if(!i.length)return;f++;let j=new Map;for(let a of i)j.set(a,(j.get(a)||0)+1);for(let[a,c]of j){let f={docIdx:b,keyIdx:g,subIdx:h,tf:c},i=d.get(a);i||(i=[],d.set(a,i)),i.push(f),e.set(a,(e.get(a)||0)+1)}}for(let c of a){let{i:a,v:d,$:e}=c;if(void 0!==d){g(d,a,-1,-1);continue}if(e)for(let c=0;c<b;c++){let b=e[c];if(b)if(Array.isArray(b))for(let d of b)g(d.v,a,c,d.i??-1);else g(b.v,a,c,-1)}}return{terms:d,fieldCount:f,df:e}}(this._myIndex.records,this._myIndex.keys.length,a)}}add(a){if(g(a)&&(this._docs.push(a),this._myIndex.add(a),this._invertedIndex)){let a=this._myIndex.records[this._myIndex.records.length-1],b=R({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics});!function(a,b,c,d){let{i:e,v:f,$:g}=b;function h(b,c,f){let g=d.tokenize(b);if(!g.length)return;a.fieldCount++;let h=new Map;for(let a of g)h.set(a,(h.get(a)||0)+1);for(let[b,d]of h){let g={docIdx:e,keyIdx:c,subIdx:f,tf:d},h=a.terms.get(b);h||(h=[],a.terms.set(b,h)),h.push(g),a.df.set(b,(a.df.get(b)||0)+1)}}if(void 0!==f)return h(f,-1,-1);if(g)for(let a=0;a<c;a++){let b=g[a];if(b)if(Array.isArray(b))for(let c of b)h(c.v,a,c.i??-1);else h(b.v,a,-1)}}(this._invertedIndex,a,this._myIndex.keys.length,b)}}remove(a=()=>!1){let b=[],c=[];for(let d=0,e=this._docs.length;d<e;d+=1)a(this._docs[d],d)&&(b.push(this._docs[d]),c.push(d));if(c.length){if(this._invertedIndex)for(let a of c)S(this._invertedIndex,a);for(let a=c.length-1;a>=0;a-=1)this._docs.splice(c[a],1);this._myIndex.removeAll(c)}return b}removeAt(a){this._invertedIndex&&S(this._invertedIndex,a);let b=this._docs.splice(a,1)[0];return this._myIndex.removeAt(a),b}getIndex(){return this._myIndex}search(a,b){let c,{limit:f=-1}=b||{},{includeMatches:g,includeScore:h,shouldSort:i,sortFn:j,ignoreFieldNorm:k}=this.options;if(d(a)&&!a.trim()){let a=this._docs.map((a,b)=>({item:a,refIndex:b}));return e(f)&&f>-1&&(a=a.slice(0,f)),a}if(e(f)&&f>0&&d(a)){let b=new N(f);d(this._docs[0])?this._searchStringList(a,{heap:b,ignoreFieldNorm:k}):this._searchObjectList(a,{heap:b,ignoreFieldNorm:k}),c=b.extractSorted(j)}else!function(a,{ignoreFieldNorm:b=o.ignoreFieldNorm}){a.forEach(a=>{a.score=M(a.matches,{ignoreFieldNorm:b})})}(c=d(a)?d(this._docs[0])?this._searchStringList(a):this._searchObjectList(a):this._searchLogical(a),{ignoreFieldNorm:k}),i&&c.sort(j),e(f)&&f>-1&&(c=c.slice(0,f));return function(a,b,{includeMatches:c=o.includeMatches,includeScore:d=o.includeScore}={}){let e=[];return c&&e.push(O),d&&e.push(P),a.map(a=>{let{idx:c}=a,d={item:b[c],refIndex:c};return e.length&&e.forEach(b=>{b(a,d)}),d})}(c,this._docs,{includeMatches:g,includeScore:h})}_searchStringList(a,{heap:b,ignoreFieldNorm:c}={}){let d=this._getSearcher(a),{records:e}=this._myIndex,f=b?null:[];return e.forEach(({v:a,i:e,n:h})=>{if(!g(a))return;let{isMatch:i,score:j,indices:k}=d.searchIn(a);if(i){let d={item:a,idx:e,matches:[{score:j,value:a,norm:h,indices:k}]};b?(d.score=M(d.matches,{ignoreFieldNorm:c}),b.shouldInsert(d.score)&&b.insert(d)):f.push(d)}}),f}_searchLogical(a){let b=L(a,this.options),c=(a,b,d)=>{if(!("children"in a)){let c,{keyId:e,searcher:f}=a;return(null===e?(c=[],this._myIndex.keys.forEach((a,d)=>{c.push(...this._findMatches({key:a,value:b[d],searcher:f}))})):c=this._findMatches({key:this._keyStore.get(e),value:this._myIndex.getValueForItemAtKeyId(b,e),searcher:f}),c&&c.length)?[{idx:d,item:b,matches:c}]:[]}let{children:e,operator:f}=a,g=[];for(let a=0,h=e.length;a<h;a+=1){let h=c(e[a],b,d);if(h.length)g.push(...h);else if(f===H)return[]}return g},d=this._myIndex.records,e=new Map,f=[];return d.forEach(({$:a,i:d})=>{if(g(a)){let g=c(b,a,d);g.length&&(e.has(d)||(e.set(d,{idx:d,item:a,matches:[]}),f.push(e.get(d))),g.forEach(({matches:a})=>{e.get(d).matches.push(...a)}))}}),f}_searchObjectList(a,{heap:b,ignoreFieldNorm:c}={}){let d=this._getSearcher(a),{keys:e,records:f}=this._myIndex,h=b?null:[];return f.forEach(({$:a,i:f})=>{if(!g(a))return;let i=[],j=!1,k=!1;if(e.forEach((b,c)=>{let e=this._findMatches({key:b,value:a[c],searcher:d});e.length?(i.push(...e),e[0].hasInverse&&(k=!0)):j=!0}),(!k||!j)&&i.length){let d={idx:f,item:a,matches:i};b?(d.score=M(d.matches,{ignoreFieldNorm:c}),b.shouldInsert(d.score)&&b.insert(d)):h.push(d)}}),h}_findMatches({key:a,value:c,searcher:d}){if(!g(c))return[];let e=[];if(b(c))c.forEach(({v:b,i:c,n:f})=>{if(!g(b))return;let{isMatch:h,score:i,indices:j,hasInverse:k}=d.searchIn(b);h&&e.push({score:i,key:a,value:b,idx:c,norm:f,indices:j,hasInverse:k})});else{let{v:b,n:f}=c,{isMatch:g,score:h,indices:i,hasInverse:j}=d.searchIn(b);g&&e.push({score:h,key:a,value:b,norm:f,indices:i,hasInverse:j})}return e}}T.version="7.3.0",T.createIndex=r,T.parseIndex=function(a,{getFn:b=o.getFn,fieldNormWeight:c=o.fieldNormWeight}={}){let{keys:d,records:e}=a,f=new q({getFn:b,fieldNormWeight:c});return f.setKeys(d),f.setIndexRecords(e),f},T.config=o,T.match=function(a,b,c){return G(a,{...o,...c}).searchIn(b)},T.parseQuery=L,F(class{constructor(a,{isCaseSensitive:b=o.isCaseSensitive,ignoreDiacritics:c=o.ignoreDiacritics,includeMatches:d=o.includeMatches,minMatchCharLength:e=o.minMatchCharLength,ignoreLocation:f=o.ignoreLocation,findAllMatches:g=o.findAllMatches,location:h=o.location,threshold:i=o.threshold,distance:j=o.distance}={}){this.query=null,this.options={isCaseSensitive:b,ignoreDiacritics:c,includeMatches:d,minMatchCharLength:e,findAllMatches:g,ignoreLocation:f,location:h,threshold:i,distance:j},a=b?a:a.toLowerCase(),a=c?v(a):a,this.pattern=a,this.query=function(a,b={}){return a.replace(/\\\|/g,"\0").split("|").map(a=>{let c=(function(a){let b=[],c=a.length,d=0;for(;d<c;){for(;d<c&&" "===a[d];)d++;if(d>=c)break;let e=d;for(;e<c&&" "!==a[e]&&'"'!==a[e];)e++;if(e<c&&'"'===a[e]){for(e++;e<c;){if('"'===a[e]){let b=e+1;if(b>=c||" "===a[b]){e++;break}if("$"===a[b]&&(b+1>=c||" "===a[b+1])){e+=2;break}}e++}b.push(a.substring(d,e)),d=e}else{for(;e<c&&" "!==a[e];)e++;b.push(a.substring(d,e)),d=e}}return b})(a.replace(/\u0000/g,"|").trim()).filter(a=>a&&!!a.trim()),d=[];for(let a=0,e=c.length;a<e;a+=1){let e=c[a],f=!1,g=-1;for(;!f&&++g<C;){let a=B[g],c=a.isMultiMatch(e);c&&(d.push(new a(c,b)),f=!0)}if(!f)for(g=-1;++g<C;){let a=B[g],c=a.isSingleMatch(e);if(c){d.push(new a(c,b));break}}}return d})}(this.pattern,this.options)}static condition(a,b){return b.useExtendedSearch}searchIn(a){let b=this.query;if(!b)return{isMatch:!1,score:1};let{includeMatches:c,isCaseSensitive:d,ignoreDiacritics:e}=this.options;a=d?a:a.toLowerCase(),a=e?v(a):a;let f=0,g=[],h=0,i=!1;for(let d=0,e=b.length;d<e;d+=1){let e=b[d];g.length=0,f=0,i=!1;for(let b=0,d=e.length;b<d;b+=1){let d=e[b],{isMatch:j,indices:k,score:l}=d.search(a);if(j){f+=1,h+=l;let a=d.constructor.type;a.startsWith("inverse")&&(i=!0),c&&(D.has(a)?g.push(...k):g.push(k))}else{h=0,f=0,g.length=0,i=!1;break}}if(f){let a={isMatch:!0,score:h/f};return i&&(a.hasInverse=!0),c&&(a.indices=s(g)),a}}return{isMatch:!1,score:1}}}),F(class{static condition(a,b){return b.useTokenSearch}constructor(a,b){this.options=b,this.analyzer=R({isCaseSensitive:b.isCaseSensitive,ignoreDiacritics:b.ignoreDiacritics});const c=this.analyzer.tokenize(a),{df:d,fieldCount:e}=b._invertedIndex;for(const a of(this.termSearchers=[],this.idfWeights=[],c)){this.termSearchers.push(new w(a,{location:b.location,threshold:b.threshold,distance:b.distance,includeMatches:b.includeMatches,findAllMatches:b.findAllMatches,minMatchCharLength:b.minMatchCharLength,isCaseSensitive:b.isCaseSensitive,ignoreDiacritics:b.ignoreDiacritics,ignoreLocation:!0}));const c=d.get(a)||0,f=Math.log(1+(e-c+.5)/(c+.5));this.idfWeights.push(f)}}searchIn(a){if(!this.termSearchers.length)return{isMatch:!1,score:1};let b=[],c=0,d=0,e=0;for(let f=0;f<this.termSearchers.length;f++){let g=this.termSearchers[f].searchIn(a),h=this.idfWeights[f];d+=h,g.isMatch&&(e++,c+=h*(1-g.score),g.indices&&b.push(...g.indices))}if(0===e)return{isMatch:!1,score:1};let f={isMatch:!0,score:Math.max(.001,d>0?1-c/d:0)};return this.options.includeMatches&&b.length&&(f.indices=s(b)),f}}),T.use=function(...a){a.forEach(a=>F(a))},a.s(["default",0,T])},657797,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("40ddd4a0f55f5549d42ee31ad2cfdc1e7eae37c328",b.callServer,void 0,b.findSourceMapURL,"openInTerminal");a.s(["openInTerminal",0,c])}];
|
|
1
|
+
module.exports=[594003,a=>{"use strict";function b(a){return Array.isArray?Array.isArray(a):"[object Array]"===i(a)}function c(a){return null==a?"":function(a){if("string"==typeof a)return a;if("bigint"==typeof a)return a.toString();let b=a+"";return"0"==b&&1/a==-1/0?"-0":b}(a)}function d(a){return"string"==typeof a}function e(a){return"number"==typeof a}function f(a){return"object"==typeof a}function g(a){return null!=a}function h(a){return!a.trim().length}function i(a){return null==a?void 0===a?"[object Undefined]":"[object Null]":Object.prototype.toString.call(a)}let j=Object.prototype.hasOwnProperty;class k{constructor(a){this._keys=[],this._keyMap={};let b=0;a.forEach(a=>{let c=l(a);this._keys.push(c),this._keyMap[c.id]=c,b+=c.weight}),this._keys.forEach(a=>{a.weight/=b})}get(a){return this._keyMap[a]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function l(a){let c=null,e=null,f=null,g=1,h=null;if(d(a)||b(a))f=a,c=m(a),e=n(a);else{if(!j.call(a,"name"))throw Error("Missing name property in key");let b=a.name;if(f=b,j.call(a,"weight")&&(g=a.weight)<=0)throw Error(`Property 'weight' in key '${b}' must be a positive integer`);c=m(b),e=n(b),h=a.getFn}return{path:c,id:e,weight:g,src:f,getFn:h}}function m(a){return b(a)?a:a.split(".")}function n(a){return b(a)?a.join("."):a}let o=Object.freeze({isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(a,b)=>a.score===b.score?a.idx<b.idx?-1:1:a.score<b.score?-1:1,includeMatches:!1,findAllMatches:!1,minMatchCharLength:1,location:0,threshold:.6,distance:100,useExtendedSearch:!1,useTokenSearch:!1,getFn:function(a,h){let j=[],k=!1,l=(a,h,m,n)=>{if(g(a))if(h[m]){var o,p;let q=a[h[m]];if(!g(q))return;if(m===h.length-1&&(d(q)||e(q)||!0===(o=q)||!1===o||f(p=o)&&null!==p&&"[object Boolean]"==i(o)||"bigint"==typeof q))j.push(void 0!==n?{v:c(q),i:n}:c(q));else if(b(q)){k=!0;for(let a=0,b=q.length;a<b;a+=1)l(q[a],h,m+1,a)}else h.length&&l(q,h,m+1,n)}else j.push(void 0!==n?{v:a,i:n}:a)};return l(a,d(h)?h.split("."):h,0),k?j:j[0]},ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1}),p=/[^ ]+/g;class q{constructor({getFn:a=o.getFn,fieldNormWeight:b=o.fieldNormWeight}={}){this.norm=function(a=1,b=3){let c=new Map,d=Math.pow(10,b);return{get(b){let e=b.match(p).length;if(c.has(e))return c.get(e);let f=parseFloat(Math.round(1/Math.pow(e,.5*a)*d)/d);return c.set(e,f),f},clear(){c.clear()}}}(b,3),this.getFn=a,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(a=[]){this.docs=a}setIndexRecords(a=[]){this.records=a}setKeys(a=[]){this.keys=a,this._keysMap={},a.forEach((a,b)=>{this._keysMap[a.id]=b})}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,d(this.docs[0])?this.docs.forEach((a,b)=>{this._addString(a,b)}):this.docs.forEach((a,b)=>{this._addObject(a,b)}),this.norm.clear())}add(a){let b=this.size();d(a)?this._addString(a,b):this._addObject(a,b)}removeAt(a){this.records.splice(a,1);for(let b=a,c=this.size();b<c;b+=1)this.records[b].i-=1}removeAll(a){for(let b=a.length-1;b>=0;b-=1)this.records.splice(a[b],1);for(let a=0,b=this.records.length;a<b;a+=1)this.records[a].i=a}getValueForItemAtKeyId(a,b){return a[this._keysMap[b]]}size(){return this.records.length}_addString(a,b){if(!g(a)||h(a))return;let c={v:a,i:b,n:this.norm.get(a)};this.records.push(c)}_addObject(a,e){let f={i:e,$:{}};this.keys.forEach((e,i)=>{let j=e.getFn?e.getFn(a):this.getFn(a,e.path);if(g(j)){if(b(j)){let a=[];for(let b=0,e=j.length;b<e;b+=1){let e=j[b];if(g(e)){if(d(e)){if(!h(e)){let c={v:e,i:b,n:this.norm.get(e)};a.push(c)}}else if(g(e.v)){let b=d(e.v)?e.v:c(e.v);if(!h(b)){let c={v:b,i:e.i,n:this.norm.get(b)};a.push(c)}}}}f.$[i]=a}else if(d(j)&&!h(j)){let a={v:j,n:this.norm.get(j)};f.$[i]=a}}}),this.records.push(f)}toJSON(){return{keys:this.keys.map(({getFn:a,...b})=>b),records:this.records}}}function r(a,b,{getFn:c=o.getFn,fieldNormWeight:d=o.fieldNormWeight}={}){let e=new q({getFn:c,fieldNormWeight:d});return e.setKeys(a.map(l)),e.setSources(b),e.create(),e}function s(a){if(a.length<=1)return a;a.sort((a,b)=>a[0]-b[0]||a[1]-b[1]);let b=[a[0]];for(let c=1,d=a.length;c<d;c+=1){let d=b[b.length-1],e=a[c];e[0]<=d[1]+1?d[1]=Math.max(d[1],e[1]):b.push(e)}return b}let t={ł:"l",Ł:"L",đ:"d",Đ:"D",ø:"o",Ø:"O",ħ:"h",Ħ:"H",ŧ:"t",Ŧ:"T",ı:"i",ß:"ss"},u=RegExp("["+Object.keys(t).join("")+"]","g"),v=String.prototype.normalize?a=>a.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,"").replace(u,a=>t[a]):a=>a;class w{constructor(a,{location:b=o.location,threshold:c=o.threshold,distance:d=o.distance,includeMatches:e=o.includeMatches,findAllMatches:f=o.findAllMatches,minMatchCharLength:g=o.minMatchCharLength,isCaseSensitive:h=o.isCaseSensitive,ignoreDiacritics:i=o.ignoreDiacritics,ignoreLocation:j=o.ignoreLocation}={}){if(this.options={location:b,threshold:c,distance:d,includeMatches:e,findAllMatches:f,minMatchCharLength:g,isCaseSensitive:h,ignoreDiacritics:i,ignoreLocation:j},a=h?a:a.toLowerCase(),a=i?v(a):a,this.pattern=a,this.chunks=[],!this.pattern.length)return;const k=(a,b)=>{this.chunks.push({pattern:a,alphabet:function(a){let b={};for(let c=0,d=a.length;c<d;c+=1){let e=a.charAt(c);b[e]=(b[e]||0)|1<<d-c-1}return b}(a),startIndex:b})},l=this.pattern.length;if(l>32){let a=0;const b=l%32,c=l-b;for(;a<c;)k(this.pattern.substr(a,32),a),a+=32;if(b){const a=l-32;k(this.pattern.substr(a),a)}}else k(this.pattern,0)}searchIn(a){let{isCaseSensitive:b,ignoreDiacritics:c,includeMatches:d}=this.options;if(a=b?a:a.toLowerCase(),a=c?v(a):a,this.pattern===a){let b={isMatch:!0,score:0};return d&&(b.indices=[[0,a.length-1]]),b}let{location:e,distance:f,threshold:g,findAllMatches:h,minMatchCharLength:i,ignoreLocation:j}=this.options,k=[],l=0,m=!1;this.chunks.forEach(({pattern:b,alphabet:c,startIndex:n})=>{let{isMatch:p,score:q,indices:r}=function(a,b,c,{location:d=o.location,distance:e=o.distance,threshold:f=o.threshold,findAllMatches:g=o.findAllMatches,minMatchCharLength:h=o.minMatchCharLength,includeMatches:i=o.includeMatches,ignoreLocation:j=o.ignoreLocation}={}){let k;if(b.length>32)throw Error("Pattern length exceeds max of 32.");let l=b.length,m=a.length,n=Math.max(0,Math.min(d,m)),p=f,q=n,r=(a,b)=>{let c=a/l;if(j)return c;let d=Math.abs(n-b);return e?c+d/e:d?1:c},s=h>1||i,t=s?Array(m):[];for(;(k=a.indexOf(b,q))>-1;)if(p=Math.min(r(0,k),p),q=k+l,s){let a=0;for(;a<l;)t[k+a]=1,a+=1}q=-1;let u=[],v=1,w=l+m,x=1<<l-1;for(let b=0;b<l;b+=1){let d=0,e=w;for(;d<e;)r(b,n+e)<=p?d=e:w=e,e=Math.floor((w-d)/2+d);w=e;let f=Math.max(1,n-e+1),h=g?m:Math.min(n+e,m)+l,i=Array(h+2);i[h+1]=(1<<b)-1;for(let d=h;d>=f;d-=1){let e=d-1,g=c[a[e]];if(s&&(t[e]=+!!g),i[d]=(i[d+1]<<1|1)&g,b&&(i[d]|=(u[d+1]|u[d])<<1|1|u[d+1]),i[d]&x&&(v=r(b,e))<=p){if(p=v,(q=e)<=n)break;f=Math.max(1,2*n-q)}}if(r(b+1,n)>p)break;u=i}let y={isMatch:q>=0,score:Math.max(.001,v)};if(s){let a=function(a=[],b=o.minMatchCharLength){let c=[],d=-1,e=-1,f=0;for(let g=a.length;f<g;f+=1){let g=a[f];g&&-1===d?d=f:g||-1===d||((e=f-1)-d+1>=b&&c.push([d,e]),d=-1)}return a[f-1]&&f-d>=b&&c.push([d,f-1]),c}(t,h);a.length?i&&(y.indices=a):y.isMatch=!1}return y}(a,b,c,{location:e+n,distance:f,threshold:g,findAllMatches:h,minMatchCharLength:i,includeMatches:d,ignoreLocation:j});p&&(m=!0),l+=q,p&&r&&k.push(...r)});let n={isMatch:m,score:m?l/this.chunks.length:1};return m&&d&&(n.indices=s(k)),n}}class x{constructor(a){this.pattern=a}static isMultiMatch(a){return y(a,this.multiRegex)}static isSingleMatch(a){return y(a,this.singleRegex)}search(a){return{isMatch:!1,score:1}}}function y(a,b){let c=a.match(b);return c?c[1]:null}class z extends x{constructor(a,{location:b=o.location,threshold:c=o.threshold,distance:d=o.distance,includeMatches:e=o.includeMatches,findAllMatches:f=o.findAllMatches,minMatchCharLength:g=o.minMatchCharLength,isCaseSensitive:h=o.isCaseSensitive,ignoreDiacritics:i=o.ignoreDiacritics,ignoreLocation:j=o.ignoreLocation}={}){super(a),this._bitapSearch=new w(a,{location:b,threshold:c,distance:d,includeMatches:e,findAllMatches:f,minMatchCharLength:g,isCaseSensitive:h,ignoreDiacritics:i,ignoreLocation:j})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(a){return this._bitapSearch.searchIn(a)}}class A extends x{constructor(a){super(a)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(a){let b,c=0,d=[],e=this.pattern.length;for(;(b=a.indexOf(this.pattern,c))>-1;)c=b+e,d.push([b,c-1]);let f=!!d.length;return{isMatch:f,score:+!f,indices:d}}}let B=[class extends x{constructor(a){super(a)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(a){let b=a===this.pattern;return{isMatch:b,score:+!b,indices:[0,this.pattern.length-1]}}},A,class extends x{constructor(a){super(a)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(a){let b=a.startsWith(this.pattern);return{isMatch:b,score:+!b,indices:[0,this.pattern.length-1]}}},class extends x{constructor(a){super(a)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(a){let b=!a.startsWith(this.pattern);return{isMatch:b,score:+!b,indices:[0,a.length-1]}}},class extends x{constructor(a){super(a)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(a){let b=!a.endsWith(this.pattern);return{isMatch:b,score:+!b,indices:[0,a.length-1]}}},class extends x{constructor(a){super(a)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(a){let b=a.endsWith(this.pattern);return{isMatch:b,score:+!b,indices:[a.length-this.pattern.length,a.length-1]}}},class extends x{constructor(a){super(a)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(a){let b=-1===a.indexOf(this.pattern);return{isMatch:b,score:+!b,indices:[0,a.length-1]}}},z],C=B.length,D=new Set([z.type,A.type]),E=[];function F(...a){E.push(...a)}function G(a,b){for(let c=0,d=E.length;c<d;c+=1){let d=E[c];if(d.condition(a,b))return new d(a,b)}return new w(a,b)}let H="$and",I="$path",J=a=>!!(a[H]||a.$or),K=a=>({[H]:Object.keys(a).map(b=>({[b]:a[b]}))});function L(a,c,{auto:e=!0}={}){let g=a=>{if(d(a)){let b={keyId:null,pattern:a};return e&&(b.searcher=G(a,c)),b}let h=Object.keys(a),i=!!a[I];if(!i&&h.length>1&&!J(a))return g(K(a));if(!b(a)&&f(a)&&!J(a)){let b=i?a[I]:h[0],f=i?a.$val:a[b];if(!d(f))throw Error(`Invalid value for key ${b}`);let g={keyId:n(b),pattern:f};return e&&(g.searcher=G(f,c)),g}let j={children:[],operator:h[0]};return h.forEach(c=>{let d=a[c];b(d)&&d.forEach(a=>{j.children.push(g(a))})}),j};return J(a)||(a=K(a)),g(a)}function M(a,{ignoreFieldNorm:b=o.ignoreFieldNorm}){let c=1;return a.forEach(({key:a,norm:d,score:e})=>{let f=a?a.weight:null;c*=Math.pow(0===e&&f?Number.EPSILON:e,(f||1)*(b?1:d))}),c}class N{constructor(a){this.limit=a,this.heap=[]}get size(){return this.heap.length}shouldInsert(a){return this.size<this.limit||a<this.heap[0].score}insert(a){this.size<this.limit?(this.heap.push(a),this._bubbleUp(this.size-1)):a.score<this.heap[0].score&&(this.heap[0]=a,this._sinkDown(0))}extractSorted(a){return this.heap.sort(a)}_bubbleUp(a){let b=this.heap;for(;a>0;){let c=a-1>>1;if(b[a].score<=b[c].score)break;let d=b[a];b[a]=b[c],b[c]=d,a=c}}_sinkDown(a){let b=this.heap,c=b.length,d=a;do{let e=2*(a=d)+1,f=2*a+2;if(e<c&&b[e].score>b[d].score&&(d=e),f<c&&b[f].score>b[d].score&&(d=f),d!==a){let c=b[a];b[a]=b[d],b[d]=c}}while(d!==a)}}function O(a,b){let c=a.matches;b.matches=[],g(c)&&c.forEach(a=>{if(!g(a.indices)||!a.indices.length)return;let{indices:c,value:d}=a,e={indices:c,value:d};a.key&&(e.key=a.key.src),a.idx>-1&&(e.refIndex=a.idx),b.matches.push(e)})}function P(a,b){b.score=a.score}let Q=/\b\w+\b/g;function R({isCaseSensitive:a=!1,ignoreDiacritics:b=!1}={}){return{tokenize:c=>(a||(c=c.toLowerCase()),b&&(c=v(c)),c.match(Q)||[])}}function S(a,b){for(let[c,d]of a.terms){let e=d.filter(a=>a.docIdx!==b),f=d.length-e.length;f>0&&(a.fieldCount-=f,a.df.set(c,(a.df.get(c)||0)-f),0===e.length?(a.terms.delete(c),a.df.delete(c)):a.terms.set(c,e))}}class T{constructor(a,b,c){this.options={...o,...b},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new k(this.options.keys),this._docs=a,this._myIndex=null,this._invertedIndex=null,this.setCollection(a,c),this._lastQuery=null,this._lastSearcher=null}_getSearcher(a){if(this._lastQuery===a)return this._lastSearcher;let b=G(a,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=a,this._lastSearcher=b,b}setCollection(a,b){if(this._docs=a,b&&!(b instanceof q))throw Error("Incorrect 'index' type");if(this._myIndex=b||r(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){let a=R({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics});this._invertedIndex=function(a,b,c){let d=new Map,e=new Map,f=0;function g(a,b,g,h){let i=c.tokenize(a);if(!i.length)return;f++;let j=new Map;for(let a of i)j.set(a,(j.get(a)||0)+1);for(let[a,c]of j){let f={docIdx:b,keyIdx:g,subIdx:h,tf:c},i=d.get(a);i||(i=[],d.set(a,i)),i.push(f),e.set(a,(e.get(a)||0)+1)}}for(let c of a){let{i:a,v:d,$:e}=c;if(void 0!==d){g(d,a,-1,-1);continue}if(e)for(let c=0;c<b;c++){let b=e[c];if(b)if(Array.isArray(b))for(let d of b)g(d.v,a,c,d.i??-1);else g(b.v,a,c,-1)}}return{terms:d,fieldCount:f,df:e}}(this._myIndex.records,this._myIndex.keys.length,a)}}add(a){if(g(a)&&(this._docs.push(a),this._myIndex.add(a),this._invertedIndex)){let a=this._myIndex.records[this._myIndex.records.length-1],b=R({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics});!function(a,b,c,d){let{i:e,v:f,$:g}=b;function h(b,c,f){let g=d.tokenize(b);if(!g.length)return;a.fieldCount++;let h=new Map;for(let a of g)h.set(a,(h.get(a)||0)+1);for(let[b,d]of h){let g={docIdx:e,keyIdx:c,subIdx:f,tf:d},h=a.terms.get(b);h||(h=[],a.terms.set(b,h)),h.push(g),a.df.set(b,(a.df.get(b)||0)+1)}}if(void 0!==f)return h(f,-1,-1);if(g)for(let a=0;a<c;a++){let b=g[a];if(b)if(Array.isArray(b))for(let c of b)h(c.v,a,c.i??-1);else h(b.v,a,-1)}}(this._invertedIndex,a,this._myIndex.keys.length,b)}}remove(a=()=>!1){let b=[],c=[];for(let d=0,e=this._docs.length;d<e;d+=1)a(this._docs[d],d)&&(b.push(this._docs[d]),c.push(d));if(c.length){if(this._invertedIndex)for(let a of c)S(this._invertedIndex,a);for(let a=c.length-1;a>=0;a-=1)this._docs.splice(c[a],1);this._myIndex.removeAll(c)}return b}removeAt(a){this._invertedIndex&&S(this._invertedIndex,a);let b=this._docs.splice(a,1)[0];return this._myIndex.removeAt(a),b}getIndex(){return this._myIndex}search(a,b){let c,{limit:f=-1}=b||{},{includeMatches:g,includeScore:h,shouldSort:i,sortFn:j,ignoreFieldNorm:k}=this.options;if(d(a)&&!a.trim()){let a=this._docs.map((a,b)=>({item:a,refIndex:b}));return e(f)&&f>-1&&(a=a.slice(0,f)),a}if(e(f)&&f>0&&d(a)){let b=new N(f);d(this._docs[0])?this._searchStringList(a,{heap:b,ignoreFieldNorm:k}):this._searchObjectList(a,{heap:b,ignoreFieldNorm:k}),c=b.extractSorted(j)}else!function(a,{ignoreFieldNorm:b=o.ignoreFieldNorm}){a.forEach(a=>{a.score=M(a.matches,{ignoreFieldNorm:b})})}(c=d(a)?d(this._docs[0])?this._searchStringList(a):this._searchObjectList(a):this._searchLogical(a),{ignoreFieldNorm:k}),i&&c.sort(j),e(f)&&f>-1&&(c=c.slice(0,f));return function(a,b,{includeMatches:c=o.includeMatches,includeScore:d=o.includeScore}={}){let e=[];return c&&e.push(O),d&&e.push(P),a.map(a=>{let{idx:c}=a,d={item:b[c],refIndex:c};return e.length&&e.forEach(b=>{b(a,d)}),d})}(c,this._docs,{includeMatches:g,includeScore:h})}_searchStringList(a,{heap:b,ignoreFieldNorm:c}={}){let d=this._getSearcher(a),{records:e}=this._myIndex,f=b?null:[];return e.forEach(({v:a,i:e,n:h})=>{if(!g(a))return;let{isMatch:i,score:j,indices:k}=d.searchIn(a);if(i){let d={item:a,idx:e,matches:[{score:j,value:a,norm:h,indices:k}]};b?(d.score=M(d.matches,{ignoreFieldNorm:c}),b.shouldInsert(d.score)&&b.insert(d)):f.push(d)}}),f}_searchLogical(a){let b=L(a,this.options),c=(a,b,d)=>{if(!("children"in a)){let c,{keyId:e,searcher:f}=a;return(null===e?(c=[],this._myIndex.keys.forEach((a,d)=>{c.push(...this._findMatches({key:a,value:b[d],searcher:f}))})):c=this._findMatches({key:this._keyStore.get(e),value:this._myIndex.getValueForItemAtKeyId(b,e),searcher:f}),c&&c.length)?[{idx:d,item:b,matches:c}]:[]}let{children:e,operator:f}=a,g=[];for(let a=0,h=e.length;a<h;a+=1){let h=c(e[a],b,d);if(h.length)g.push(...h);else if(f===H)return[]}return g},d=this._myIndex.records,e=new Map,f=[];return d.forEach(({$:a,i:d})=>{if(g(a)){let g=c(b,a,d);g.length&&(e.has(d)||(e.set(d,{idx:d,item:a,matches:[]}),f.push(e.get(d))),g.forEach(({matches:a})=>{e.get(d).matches.push(...a)}))}}),f}_searchObjectList(a,{heap:b,ignoreFieldNorm:c}={}){let d=this._getSearcher(a),{keys:e,records:f}=this._myIndex,h=b?null:[];return f.forEach(({$:a,i:f})=>{if(!g(a))return;let i=[],j=!1,k=!1;if(e.forEach((b,c)=>{let e=this._findMatches({key:b,value:a[c],searcher:d});e.length?(i.push(...e),e[0].hasInverse&&(k=!0)):j=!0}),(!k||!j)&&i.length){let d={idx:f,item:a,matches:i};b?(d.score=M(d.matches,{ignoreFieldNorm:c}),b.shouldInsert(d.score)&&b.insert(d)):h.push(d)}}),h}_findMatches({key:a,value:c,searcher:d}){if(!g(c))return[];let e=[];if(b(c))c.forEach(({v:b,i:c,n:f})=>{if(!g(b))return;let{isMatch:h,score:i,indices:j,hasInverse:k}=d.searchIn(b);h&&e.push({score:i,key:a,value:b,idx:c,norm:f,indices:j,hasInverse:k})});else{let{v:b,n:f}=c,{isMatch:g,score:h,indices:i,hasInverse:j}=d.searchIn(b);g&&e.push({score:h,key:a,value:b,norm:f,indices:i,hasInverse:j})}return e}}T.version="7.3.0",T.createIndex=r,T.parseIndex=function(a,{getFn:b=o.getFn,fieldNormWeight:c=o.fieldNormWeight}={}){let{keys:d,records:e}=a,f=new q({getFn:b,fieldNormWeight:c});return f.setKeys(d),f.setIndexRecords(e),f},T.config=o,T.match=function(a,b,c){return G(a,{...o,...c}).searchIn(b)},T.parseQuery=L,F(class{constructor(a,{isCaseSensitive:b=o.isCaseSensitive,ignoreDiacritics:c=o.ignoreDiacritics,includeMatches:d=o.includeMatches,minMatchCharLength:e=o.minMatchCharLength,ignoreLocation:f=o.ignoreLocation,findAllMatches:g=o.findAllMatches,location:h=o.location,threshold:i=o.threshold,distance:j=o.distance}={}){this.query=null,this.options={isCaseSensitive:b,ignoreDiacritics:c,includeMatches:d,minMatchCharLength:e,findAllMatches:g,ignoreLocation:f,location:h,threshold:i,distance:j},a=b?a:a.toLowerCase(),a=c?v(a):a,this.pattern=a,this.query=function(a,b={}){return a.replace(/\\\|/g,"\0").split("|").map(a=>{let c=(function(a){let b=[],c=a.length,d=0;for(;d<c;){for(;d<c&&" "===a[d];)d++;if(d>=c)break;let e=d;for(;e<c&&" "!==a[e]&&'"'!==a[e];)e++;if(e<c&&'"'===a[e]){for(e++;e<c;){if('"'===a[e]){let b=e+1;if(b>=c||" "===a[b]){e++;break}if("$"===a[b]&&(b+1>=c||" "===a[b+1])){e+=2;break}}e++}b.push(a.substring(d,e)),d=e}else{for(;e<c&&" "!==a[e];)e++;b.push(a.substring(d,e)),d=e}}return b})(a.replace(/\u0000/g,"|").trim()).filter(a=>a&&!!a.trim()),d=[];for(let a=0,e=c.length;a<e;a+=1){let e=c[a],f=!1,g=-1;for(;!f&&++g<C;){let a=B[g],c=a.isMultiMatch(e);c&&(d.push(new a(c,b)),f=!0)}if(!f)for(g=-1;++g<C;){let a=B[g],c=a.isSingleMatch(e);if(c){d.push(new a(c,b));break}}}return d})}(this.pattern,this.options)}static condition(a,b){return b.useExtendedSearch}searchIn(a){let b=this.query;if(!b)return{isMatch:!1,score:1};let{includeMatches:c,isCaseSensitive:d,ignoreDiacritics:e}=this.options;a=d?a:a.toLowerCase(),a=e?v(a):a;let f=0,g=[],h=0,i=!1;for(let d=0,e=b.length;d<e;d+=1){let e=b[d];g.length=0,f=0,i=!1;for(let b=0,d=e.length;b<d;b+=1){let d=e[b],{isMatch:j,indices:k,score:l}=d.search(a);if(j){f+=1,h+=l;let a=d.constructor.type;a.startsWith("inverse")&&(i=!0),c&&(D.has(a)?g.push(...k):g.push(k))}else{h=0,f=0,g.length=0,i=!1;break}}if(f){let a={isMatch:!0,score:h/f};return i&&(a.hasInverse=!0),c&&(a.indices=s(g)),a}}return{isMatch:!1,score:1}}}),F(class{static condition(a,b){return b.useTokenSearch}constructor(a,b){this.options=b,this.analyzer=R({isCaseSensitive:b.isCaseSensitive,ignoreDiacritics:b.ignoreDiacritics});const c=this.analyzer.tokenize(a),{df:d,fieldCount:e}=b._invertedIndex;for(const a of(this.termSearchers=[],this.idfWeights=[],c)){this.termSearchers.push(new w(a,{location:b.location,threshold:b.threshold,distance:b.distance,includeMatches:b.includeMatches,findAllMatches:b.findAllMatches,minMatchCharLength:b.minMatchCharLength,isCaseSensitive:b.isCaseSensitive,ignoreDiacritics:b.ignoreDiacritics,ignoreLocation:!0}));const c=d.get(a)||0,f=Math.log(1+(e-c+.5)/(c+.5));this.idfWeights.push(f)}}searchIn(a){if(!this.termSearchers.length)return{isMatch:!1,score:1};let b=[],c=0,d=0,e=0;for(let f=0;f<this.termSearchers.length;f++){let g=this.termSearchers[f].searchIn(a),h=this.idfWeights[f];d+=h,g.isMatch&&(e++,c+=h*(1-g.score),g.indices&&b.push(...g.indices))}if(0===e)return{isMatch:!1,score:1};let f={isMatch:!0,score:Math.max(.001,d>0?1-c/d:0)};return this.options.includeMatches&&b.length&&(f.indices=s(b)),f}}),T.use=function(...a){a.forEach(a=>F(a))},a.s(["default",0,T])},435357,a=>{"use strict";var b=a.i(780410);let c=(0,b.createServerReference)("400a6e531e6461cf5230ce13e39ef0cad9b13b5d8c",b.callServer,void 0,b.findSourceMapURL,"openInTerminal");a.s(["openInTerminal",0,c])}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=_10.d8~a._.js.map
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
module.exports=[495370,a=>{"use strict";var b=a.i(815429),c=a.i(761469),d=a.i(188139),e=a.i(496877);async function f(a){return c.db.label.findMany({where:{OR:[{isBuiltin:!0},{workspaceId:a}]},orderBy:[{isBuiltin:"desc"},{name:"asc"}]})}async function g(a){let b=e.createLabelSchema.parse(a),f=await c.db.label.create({data:{name:b.name,color:b.color,workspaceId:b.workspaceId}});return(0,d.revalidatePath)("/workspaces"),f}async function h(a){let b=await c.db.label.findUnique({where:{id:a}});if(!b)throw Error("Label not found");if(b.isBuiltin)throw Error("Cannot delete builtin labels");await c.db.label.delete({where:{id:a}}),(0,d.revalidatePath)("/workspaces")}async function i(a,b){await c.db.$transaction(async c=>{await c.taskLabel.deleteMany({where:{taskId:a}}),b.length>0&&await c.taskLabel.createMany({data:b.map(b=>({taskId:a,labelId:b}))})}),(0,d.revalidatePath)("/workspaces")}async function j(a){return(await c.db.taskLabel.findMany({where:{taskId:a},include:{label:!0}})).map(a=>a.label)}(0,a.i(630048).ensureServerEntryExports)([f,g,h,i,j]),(0,b.registerServerReference)(f,"402d3bd275eb0191875df81cd0a65a84b7f034b329",null),(0,b.registerServerReference)(g,"40317a4f62ec0768b659980df2b8cfe8f0e143d69b",null),(0,b.registerServerReference)(h,"40663ecf3869e276bb6158bbf1032cb631b49f4dfa",null),(0,b.registerServerReference)(i,"604702638de73d6356c05b71593515165d13f2d635",null),(0,b.registerServerReference)(j,"40a6ebb524fb0864532123bea0b2138d6ef545a062",null),a.s(["createLabel",0,g,"deleteLabel",0,h,"getLabelsForWorkspace",0,f,"getTaskLabels",0,j,"setTaskLabels",0,i])},287068,a=>{"use strict";var b=a.i(761469);function c(a,b){return{id:a.note_id,type:"note",title:a.title,subtitle:`${a.workspace_name} / ${a.project_name}`,navigateTo:`/workspaces/${a.workspaceId}/notes?projectId=${a.projectId}`,snippet:a.content?a.content.slice(0,b):void 0}}async function d(a,e="task",f){if(!a.trim())return[];let g=a.trim(),{resultLimit:h,allModeCap:i,snippetLength:j}=f;if("all"===e){let[a,b,c,e,h]=await Promise.allSettled([d(g,"task",f),d(g,"project",f),d(g,"repository",f),d(g,"note",f),d(g,"asset",f)]),j=a=>"fulfilled"===a.status?a.value.slice(0,i):[];return[...j(a),...j(b),...j(c),...j(e),...j(h)]}if("task"===e)return(await b.db.task.findMany({where:{OR:[{title:{contains:g}},{description:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h,orderBy:{updatedAt:"desc"}})).map(a=>{let b="DONE"===a.status||"CANCELLED"===a.status,c=a.project.workspaceId;return{id:a.id,type:"task",title:a.title,subtitle:`${a.project.workspace.name} / ${a.project.name}`,navigateTo:b?`/workspaces/${c}/archive?projectId=${a.projectId}`:`/workspaces/${c}?projectId=${a.projectId}`}});if("project"===e)return(await b.db.project.findMany({where:{OR:[{name:{contains:g}},{alias:{contains:g}},{description:{contains:g}}]},include:{workspace:!0},take:h,orderBy:{updatedAt:"desc"}})).map(a=>({id:a.id,type:"project",title:a.alias?`${a.name} (${a.alias})`:a.name,subtitle:a.workspace.name,navigateTo:`/workspaces/${a.workspaceId}?projectId=${a.id}`}));if("repository"===e)return(await b.db.repository.findMany({where:{OR:[{name:{contains:g}},{path:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h})).map(a=>({id:a.id,type:"repository",title:a.name,subtitle:`${a.project.workspace.name} / ${a.project.name} \xb7 ${a.branch}`,navigateTo:`/workspaces/${a.project.workspaceId}?projectId=${a.projectId}`}));if("note"===e){if(g.length<3)return(await b.db.$queryRawUnsafe(`SELECT n.id as note_id, n.title, n.content,
|
|
2
|
+
n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
|
|
3
|
+
FROM "ProjectNote" n
|
|
4
|
+
JOIN "Project" p ON p.id = n."projectId"
|
|
5
|
+
JOIN "Workspace" w ON w.id = p."workspaceId"
|
|
6
|
+
WHERE n.title LIKE ? OR n.content LIKE ?
|
|
7
|
+
LIMIT ?`,`%${g}%`,`%${g}%`,h)).map(a=>c(a,j));try{return(await b.db.$queryRawUnsafe(`SELECT f.note_id, f.title, f.content,
|
|
8
|
+
n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
|
|
9
|
+
FROM notes_fts f
|
|
10
|
+
JOIN "ProjectNote" n ON n.id = f.note_id
|
|
11
|
+
JOIN "Project" p ON p.id = n."projectId"
|
|
12
|
+
JOIN "Workspace" w ON w.id = p."workspaceId"
|
|
13
|
+
WHERE f.notes_fts MATCH ?
|
|
14
|
+
ORDER BY rank
|
|
15
|
+
LIMIT ?`,g,h)).map(a=>c(a,j))}catch{return(await b.db.$queryRawUnsafe(`SELECT n.id as note_id, n.title, n.content,
|
|
16
|
+
n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
|
|
17
|
+
FROM "ProjectNote" n
|
|
18
|
+
JOIN "Project" p ON p.id = n."projectId"
|
|
19
|
+
JOIN "Workspace" w ON w.id = p."workspaceId"
|
|
20
|
+
WHERE n.title LIKE ? OR n.content LIKE ?
|
|
21
|
+
LIMIT ?`,`%${g}%`,`%${g}%`,h)).map(a=>c(a,j))}}return"asset"===e?(await b.db.projectAsset.findMany({where:{OR:[{filename:{contains:g}},{description:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h,orderBy:{createdAt:"desc"}})).map(a=>({id:a.id,type:"asset",title:a.filename,subtitle:`${a.project.workspace.name} / ${a.project.name}`,navigateTo:`/workspaces/${a.project.workspaceId}/assets?projectId=${a.projectId}`,snippet:a.description||void 0})):[]}a.s(["search",0,d])},396904,a=>a.a(async(b,c)=>{try{var d=a.i(815429),e=a.i(287068),f=a.i(980999),g=a.i(630048),h=b([f]);async function i(a,b="task"){let c=await (0,f.getConfigValues)(["search.resultLimit","search.allModeCap","search.snippetLength"]);return(0,e.search)(a,b,{resultLimit:c["search.resultLimit"]??20,allModeCap:c["search.allModeCap"]??5,snippetLength:c["search.snippetLength"]??80})}[f]=h.then?(await h)():h,(0,g.ensureServerEntryExports)([i]),(0,d.registerServerReference)(i,"602166a0d2a6b776ba57c4e0c1d2ee7847cfe4448e",null),a.s(["globalSearch",0,i]),c()}catch(a){c(a)}},!1),101844,a=>{"use strict";var b=a.i(815429),c=a.i(924868),d=a.i(522734),e=a.i(814747),f=a.i(761469),g=a.i(188139),h=a.i(630048);async function i(b){if(!b||"string"!=typeof b)return{safe:!1,reason:"无效的项目 ID"};let g=await f.db.project.findUnique({where:{id:b}});if(!g||!g.localPath)return{safe:!1,reason:"项目不存在或未设置本地路径"};if((await f.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{safe:!1,reason:"该项目有正在运行的任务执行,请先停止所有执行"};let h=await f.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:i}=await a.A(98813);for(let a of h)if(void 0!==i(a.id))return{safe:!1,reason:"该项目有活跃的终端会话,请先关闭"};let j=e.default.join(g.localPath,".worktrees");if((0,d.existsSync)(j))try{if((await (0,c.readdir)(j)).length>0)return{safe:!1,reason:"该项目有活跃的 Git Worktree,请先清理"}}catch{}return{safe:!0}}async function j(b,h){if(!b||"string"!=typeof b)return{success:!1,error:"无效的项目 ID"};if(!h||"string"!=typeof h||!e.default.isAbsolute(h))return{success:!1,error:"目标路径必须是非空的绝对路径"};let i=await f.db.project.findUnique({where:{id:b}});if(!i||!i.localPath)return{success:!1,error:"项目不存在或未设置本地路径"};let j=i.localPath;if(h===j)return{success:!1,error:"源路径和目标路径相同"};if((await f.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{success:!1,error:"该项目有正在运行的任务执行,请先停止所有执行"};let k=await f.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:l}=await a.A(98813);for(let a of k)if(void 0!==l(a.id))return{success:!1,error:"该项目有活跃的终端会话,请先关闭"};let m=e.default.join(j,".worktrees");if((0,d.existsSync)(m))try{if((await (0,c.readdir)(m)).length>0)return{success:!1,error:"该项目有活跃的 Git Worktree,请先清理"}}catch{}if((0,d.existsSync)(h))try{if((await (0,c.readdir)(h)).length>0)return{success:!1,error:"目标路径已存在且不为空"}}catch{return{success:!1,error:"目标路径已存在且不为空"}}let n=e.default.dirname(h);try{await (0,c.mkdir)(n,{recursive:!0})}catch(a){if("EACCES"===a.code||"EPERM"===a.code)return{success:!1,error:`无权限创建父目录 ${n} — 请检查 Git 路径映射规则的模板是否漏了 "~/" 前缀`};if("EROFS"===a.code)return{success:!1,error:`父目录所在文件系统只读:${n}`};return{success:!1,error:`创建父目录失败:${a.message||a.code||"未知错误"}`}}try{await (0,c.rename)(j,h)}catch(a){if("EXDEV"===a.code)return{success:!1,error:"源路径和目标路径不在同一文件系统,不支持跨设备迁移"};if("EACCES"===a.code||"EPERM"===a.code)return{success:!1,error:`无权限移动到 ${h}`};return{success:!1,error:a.message||"文件系统操作失败"}}return await f.db.project.update({where:{id:b},data:{localPath:h}}),(0,g.revalidatePath)("/workspaces"),{success:!0}}let k=`分析这个项目目录,生成一段简短的 Markdown 项目描述。
|
|
22
|
+
|
|
23
|
+
读取 package.json、README.md 等关键文件,然后概括:
|
|
24
|
+
|
|
25
|
+
**技术栈:** 一句话列出主要语言、框架、关键库
|
|
26
|
+
**定位:** 一句话说明项目是什么
|
|
27
|
+
**核心模块:** 2-3 个关键模块,每个一句话
|
|
28
|
+
|
|
29
|
+
要求:
|
|
30
|
+
- 总字数不超过 500 字
|
|
31
|
+
- 用简洁的 Markdown(加粗标签 + 短句),不要用 ## 大标题和表格
|
|
32
|
+
- 不要罗列每个文件/目录,只说关键信息
|
|
33
|
+
- 中文输出`,l=`Analyze this project directory and generate a brief Markdown project description.
|
|
34
|
+
|
|
35
|
+
Read package.json, README.md and other key files, then summarize:
|
|
36
|
+
|
|
37
|
+
**Tech Stack:** One sentence listing primary languages, frameworks, and key libraries
|
|
38
|
+
**Overview:** One sentence describing what this project is
|
|
39
|
+
**Core Modules:** 2-3 key modules, one sentence each
|
|
40
|
+
|
|
41
|
+
Requirements:
|
|
42
|
+
- Keep it under 1000 words
|
|
43
|
+
- Use concise Markdown (bold labels + short sentences), no ## headings or tables
|
|
44
|
+
- Don't list every file/directory, only key information
|
|
45
|
+
- Output in English`;async function m(b,c="zh"){if(!b||"string"!=typeof b)throw Error("无效的本地路径");if(b.startsWith("~"))throw Error("不支持 ~ 别名,请提供绝对路径");if(!e.default.isAbsolute(b))throw Error("本地路径必须为绝对路径");let{aiQuery:d}=await a.A(752453),f=await d("en"===c?l:k,b,{maxTurns:10,tools:["Read","Glob"],allowedTools:["Read","Glob"]});if(!f)throw Error("AI 分析未返回结果");return f.length>2e3?f.slice(0,2e3).trimEnd()+"\n\n...":f}(0,h.ensureServerEntryExports)([i,j,m]),(0,b.registerServerReference)(i,"40fd68ec39f8d8d0a38f616939b2db6d7754e60fa4",null),(0,b.registerServerReference)(j,"60de51970574bd5be99233aa38c312507839dae1f7",null),(0,b.registerServerReference)(m,"608fddbc25e815219b0fa0216ec84ab23068bd7764",null),a.s(["analyzeProjectDirectory",0,m,"checkMigrationSafety",0,i,"migrateProjectPath",0,j])},42344,a=>a.a(async(b,c)=>{try{a.i(244256),a.i(495370);var d=a.i(396904),e=a.i(980999);a.i(101844),a.i(563736),a.i(4634);var f=b([d,e]);[d,e]=f.then?(await f)():f,a.s([]),c()}catch(a){c(a)}},!1),413773,a=>a.a(async(b,c)=>{try{var d=a.i(42344),e=a.i(244256),f=a.i(495370),g=a.i(396904),h=a.i(980999),i=a.i(101844),j=a.i(563736),k=a.i(4634),l=b([d,g,h]);[d,g,h]=l.then?(await l)():l,a.s(["004d43d192d0180c224c33eb5b418a5a709da7555a",()=>h.getActualWsPort,"006c666e916f59e22a38e9528d116948fdbc8d8ca9",()=>j.listAllExtensionStatus,"00eea69a5b22afcfbe960c70dea538935b2863f795",()=>k.getOnboardingStatus,"4024452111d15a2e855b738d309133da0b0571c2c3",()=>j.installExtension,"402d3bd275eb0191875df81cd0a65a84b7f034b329",()=>f.getLabelsForWorkspace,"40317a4f62ec0768b659980df2b8cfe8f0e143d69b",()=>f.createLabel,"40663ecf3869e276bb6158bbf1032cb631b49f4dfa",()=>f.deleteLabel,"406c9374f814d0ca7f2626ef9e630b8e84e532f88d",()=>j.uninstallExtension,"407af6b4a48c3827d2bdfcb795292fc17bed64cccb",()=>e.deleteWorkspace,"4092d11cb94d2db13154b00d1eea1ab3983f617340",()=>j.checkExtension,"409c78549bf7daacd072fe9dbf13e12889c949c71e",()=>h.resolveGitLocalPath,"409ebfda562b7b663fc21cfa6b4cd03c09ba17a670",()=>e.createWorkspace,"40a98af4ec30b8ddfad3d718542ac69e9ac0c38679",()=>k.setOnboardingProgress,"40c1f33c1e6008fa3a0b5c45874fef76c22003fc6b",()=>k.dispatchTaskCompletionEvent,"40cdc8bd5dd8fdfeb094aba213eea161387938dcf7",()=>e.createProject,"40fd68ec39f8d8d0a38f616939b2db6d7754e60fa4",()=>i.checkMigrationSafety,"600446c2d324369afae9a761d53fd26a051a8e9a3f",()=>h.getConfigValue,"602166a0d2a6b776ba57c4e0c1d2ee7847cfe4448e",()=>g.globalSearch,"6061d496c04ac030637906ceff7691ae8c584c45b9",()=>k.completeOnboarding,"606f204ad25cb79bb19f73adf1e96d32c3cbd40ca0",()=>k.setOnboardingExtensions,"60840f265b75830fa1b1af816bc5afafc353df88f7",()=>e.updateWorkspace,"608fddbc25e815219b0fa0216ec84ab23068bd7764",()=>i.analyzeProjectDirectory,"60cfa11975b098830fba787eff048926e66b6c8bac",()=>h.setConfigValue,"60de51970574bd5be99233aa38c312507839dae1f7",()=>i.migrateProjectPath]),c()}catch(a){c(a)}},!1),76052,a=>{a.v(b=>Promise.all(["server/chunks/ssr/src_lib_0kjj12q._.js"].map(b=>a.l(b))).then(()=>b(492067)))},98813,a=>{a.v(a=>Promise.resolve().then(()=>a(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]__0vyqspt._.js"].map(b=>a.l(b))).then(()=>b(897667)))}];
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=_11ixey~._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[378322,a=>{"use strict";class b{providers=new Map;register(a){this.providers.set(a.name,a)}get(a){return this.providers.get(a)}getAll(){return Array.from(this.providers.values())}getCliAdapter(a){return this.providers.get(a)?.cli?.adapter??null}getQueryAdapter(a,b){let c=this.providers.get(a);return c?"api"===b?c.api?.adapter??null:c.cliQuery?.adapter??null:null}getAllowedCommands(){let a=[];for(let b of this.providers.values())b.cli?.command&&a.push(b.cli.command);return a}async getAvailableProviders(){let a=[];for(let b of this.providers.values()){let c=!!b.cli&&await b.cli.adapter.isAvailable(),d=c&&b.cli?await b.cli.adapter.getVersion():null,e=!!b.api&&!!process.env[b.api.keyEnvVar],f=!!b.api&&e;a.push({name:b.name,displayName:b.displayName,cli:{available:c,version:d},api:{available:f,keyConfigured:e}})}return a}}var c=a.i(52350),d=a.i(902157),e=a.i(660526),f=a.i(750227),g=a.i(163812),h=a.i(562278);let i=["o4-mini","o3","gpt-4.1","gpt-4.1-mini","gpt-4.1-nano","codex-mini-latest"],j=globalThis;if(!j.__providerRegistry){let k=new b;k.register({name:"claude",displayName:"Claude Code",agentFieldValue:"CLAUDE_CODE",cli:{command:"claude",adapter:new c.ClaudeCliAdapter},models:{cli:["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"],api:[]}}),k.register({name:"codex",displayName:"Codex CLI",agentFieldValue:"CODEX_CLI",cli:{command:"codex",adapter:new class b{buildSpawnArgs(a){let b=[];a.resumeSessionId?b.push("resume",a.resumeSessionId):a.continueLatest?b.push("resume","--last"):(b.push("--full-auto"),a.extraArgs?.length&&b.push(...a.extraArgs),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.readHooks(),b=(0,h.getPackageRoot)().replace(/\\/g,"/"),c=f.join(b,"scripts","session-start-hook.js").replace(/\\/g,"/"),d=f.join(b,"scripts","post-tool-hook.js").replace(/\\/g,"/"),e=f.join(b,"scripts","stop-hook.js").replace(/\\/g,"/"),g=!1;return g=this.upsertHook(a,"SessionStart","session-start-hook.js",{hooks:[{command:`node "${c}"`,timeout:5,type:"command"}]})||g,g=this.upsertHook(a,"PostToolUse","post-tool-hook.js",{hooks:[{command:`node "${d}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"})||g,(g=this.upsertHook(a,"Stop","stop-hook.js",{hooks:[{command:`node "${e}"`,timeout:5,type:"command"}]})||g)&&(this.writeHooks(a),this.ensureHooksFeatureEnabled()),{ok:!0,method:"file",detail:this.getHooksPath()}}catch(a){return{ok:!1,method:"file",detail:this.getHooksPath(),error:a instanceof Error?a.message:String(a)}}}async repairHookPaths(){try{let a=this.readHooks(),b=(0,h.getPackageRoot)().replace(/\\/g,"/"),c=!1;for(let[d,e]of[["SessionStart","session-start-hook.js"],["PostToolUse","post-tool-hook.js"],["Stop","stop-hook.js"]]){let g=this.getHookArray(a,d),h=g.findIndex(a=>a?.hooks?.some?.(a=>a.command?.includes(e)));if(h<0)continue;let i=f.join(b,"scripts",e).replace(/\\/g,"/"),j=`node "${i}"`,k=g[h]?.hooks?.[0];k&&k.command!==j&&(k.command=j,a[d]=g,c=!0)}c&&(this.writeHooks(a),this.ensureHooksFeatureEnabled())}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.readHooks(),b=["session-start-hook.js","post-tool-hook.js","stop-hook.js"];for(let c of["SessionStart","PostToolUse","Stop"]){let d=this.getHookArray(a,c);a[c]=d.filter(a=>!a.hooks?.some(a=>b.some(b=>a.command?.includes(b))))}return this.writeHooks(a),{ok:!0,method:"file",detail:this.getHooksPath()}}catch(a){return{ok:!1,method:"file",detail:this.getHooksPath(),error:a instanceof Error?a.message:String(a)}}}async isHooksInstalled(){let a=this.readHooks(),b=this.getHookArray(a,"PostToolUse");return this.hasHook(b,"post-tool-hook.js")}async installMcp(a,b={}){let c=this.resolveCommand(),d=["mcp","add",a.name];if(a.env)for(let[b,c]of Object.entries(a.env))d.push("--env",`${b}=${c}`);d.push("--",a.command,...a.args);try{return await this.runCli(c,["mcp","remove",a.name],b.cwd).catch(()=>{}),await this.runCli(c,d,b.cwd),{ok:!0,method:"cli",detail:`${c} ${d.join(" ")}`}}catch(a){return{ok:!1,method:"cli",detail:`${c} ${d.join(" ")}`,error:a instanceof Error?a.message:String(a)}}}async uninstallMcp(a,b={}){let c=this.resolveCommand(),d=["mcp","remove",a];try{return await this.runCli(c,d,b.cwd),{ok:!0,method:"cli",detail:`${c} ${d.join(" ")}`}}catch(a){return{ok:!1,method:"cli",detail:`${c} ${d.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,b){let c=f.join(this.getConfigDir(),"skills",a);try{if(!d.existsSync(b))return{ok:!1,method:"symlink",detail:c,error:`Source skill dir does not exist: ${b}`};d.mkdirSync(f.dirname(c),{recursive:!0});let a=await d.promises.lstat(c).catch(()=>null);if(a)if(!(a.isSymbolicLink()||"win32"===process.platform&&a.isDirectory()))return{ok:!1,method:"symlink",detail:c,error:`Refusing to overwrite non-symlink at ${c}`};else try{let a=await d.promises.readlink(c);if(f.resolve(a)===f.resolve(b))return{ok:!0,method:"symlink",detail:`${c} → ${b} (already)`};await d.promises.unlink(c)}catch{if(!a.isSymbolicLink())return{ok:!1,method:"symlink",detail:c,error:`Refusing to overwrite non-symlink at ${c}`}}return await d.promises.symlink(b,c,"dir"),{ok:!0,method:"symlink",detail:`${c} → ${b}`}}catch(a){return{ok:!1,method:"symlink",detail:c,error:a instanceof Error?a.message:String(a)}}}async uninstallSkill(a){let b=f.join(this.getConfigDir(),"skills",a);try{let a=await d.promises.lstat(b).catch(()=>null);if(!a)return{ok:!0,method:"symlink",detail:`${b} (already absent)`};if(!a.isSymbolicLink())return{ok:!1,method:"symlink",detail:b,error:`Refusing to remove non-symlink at ${b}`};return await d.promises.unlink(b),{ok:!0,method:"symlink",detail:b}}catch(a){return{ok:!1,method:"symlink",detail:b,error:a instanceof Error?a.message:String(a)}}}async isSkillInstalled(a,b){let c=f.join(this.getConfigDir(),"skills",a);try{if(!(await d.promises.lstat(c)).isSymbolicLink())return!1;if(!b)return!0;let a=await d.promises.readlink(c),e=f.isAbsolute(a)?a:f.resolve(f.dirname(c),a);return f.resolve(e)===f.resolve(b)}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 i}getConfigDir(){return f.join(e.homedir(),".codex")}getSettingsPath(){return f.join(this.getConfigDir(),"config.toml")}getSessionsDir(){return f.join(this.getConfigDir(),"sessions")}getApiKeyInfo(){return{envVar:"OPENAI_API_KEY",required:!1}}buildHelloProbeArgs(a){return{command:this.resolveCommand(),args:["exec",a]}}resolveCommand(){return process.env.CODEX_CLI_PATH?process.env.CODEX_CLI_PATH:(0,g.resolveCommandPathSync)("codex")}getHooksPath(){return f.join(this.getConfigDir(),"hooks.json")}readHooks(){try{return JSON.parse(d.readFileSync(this.getHooksPath(),"utf-8")).hooks??{}}catch{return{}}}writeHooks(a){let b=this.getConfigDir();d.existsSync(b)||d.mkdirSync(b,{recursive:!0}),d.writeFileSync(this.getHooksPath(),JSON.stringify({hooks:a},null,2),"utf-8")}ensureHooksFeatureEnabled(){let a=this.getSettingsPath(),b="";try{b=d.readFileSync(a,"utf-8")}catch{}if(/codex_hooks\s*=\s*true/.test(b))return;/\[features\]/.test(b)?b=b.replace(/\[features\]/,"[features]\ncodex_hooks = true"):b+="\n[features]\ncodex_hooks = true\n";let c=this.getConfigDir();d.existsSync(c)||d.mkdirSync(c,{recursive:!0}),d.writeFileSync(a,b,"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)))}}},models:{cli:["o4-mini","o3","gpt-4.1","gpt-4.1-mini","gpt-4.1-nano","codex-mini-latest"],api:[]}}),j.__providerRegistry=k}let k=j.__providerRegistry;a.s(["providerRegistry",0,k],378322)},855806,a=>{"use strict";var b=a.i(815429),c=a.i(761469);async function d(a,b={}){let e=b.report,f=e?JSON.stringify(e):null;await c.db.providerConnection.upsert({where:{provider:a},create:{provider:a,lastTestedAt:new Date,testOk:!0,version:b.version??null,mcpInstalled:e?.mcp?.ok??!1,hooksInstalled:e?.hooks?.ok??!1,skillsInstalled:e?.skill?.ok??!1,installLog:f},update:{lastTestedAt:new Date,testOk:!0,version:b.version??null,mcpInstalled:e?.mcp?.ok??!1,hooksInstalled:e?.hooks?.ok??!1,skillsInstalled:e?.skill?.ok??!1,installLog:f}})}async function e(a,b={}){await c.db.providerConnection.upsert({where:{provider:a},create:{provider:a,lastTestedAt:new Date,testOk:!1,installLog:b.reason??null},update:{lastTestedAt:new Date,testOk:!1,mcpInstalled:!1,hooksInstalled:!1,skillsInstalled:!1,installLog:b.reason??null}})}async function f(a){let b=await c.db.providerConnection.findUnique({where:{provider:a}});return!!b&&b.testOk}async function g(){return(await c.db.providerConnection.findMany({where:{testOk:!0},select:{provider:!0},orderBy:{provider:"asc"}})).map(a=>a.provider)}async function h(){return c.db.providerConnection.findMany({select:{provider:!0,lastTestedAt:!0,testOk:!0,version:!0,mcpInstalled:!0,hooksInstalled:!0,skillsInstalled:!0,installLog:!0},orderBy:{provider:"asc"}})}(0,a.i(630048).ensureServerEntryExports)([d,e,f,g,h]),(0,b.registerServerReference)(d,"60bfaf670a842cb6819575eb5e0e604930609ea8eb",null),(0,b.registerServerReference)(e,"60bbddfe5f61c5c44bdf112ad941edc63c000ae8f9",null),(0,b.registerServerReference)(f,"40aee891935788dae0a63b889c07f6f21b13125c0d",null),(0,b.registerServerReference)(g,"00a6bc688a494cb5e2b87618a6d9a4fb8acbc0b512",null),(0,b.registerServerReference)(h,"00833c642293f6389241a7f528f0ca861214c37347",null),a.s(["getConnectedProviders",0,g,"getProviderConnections",0,h,"isProviderConnected",0,f,"markProviderConnected",0,d,"markProviderDisconnected",0,e])}];
|
|
1
|
+
module.exports=[378322,a=>{"use strict";class b{providers=new Map;register(a){this.providers.set(a.name,a)}get(a){return this.providers.get(a)}getAll(){return Array.from(this.providers.values())}getCliAdapter(a){return this.providers.get(a)?.cli?.adapter??null}getQueryAdapter(a,b){let c=this.providers.get(a);return c?"api"===b?c.api?.adapter??null:c.cliQuery?.adapter??null:null}getAllowedCommands(){let a=[];for(let b of this.providers.values())b.cli?.command&&a.push(b.cli.command);return a}async getAvailableProviders(){let a=[];for(let b of this.providers.values()){let c=!!b.cli&&await b.cli.adapter.isAvailable(),d=c&&b.cli?await b.cli.adapter.getVersion():null,e=!!b.api&&!!process.env[b.api.keyEnvVar],f=!!b.api&&e;a.push({name:b.name,displayName:b.displayName,cli:{available:c,version:d},api:{available:f,keyConfigured:e}})}return a}}var c=a.i(52350),d=a.i(902157),e=a.i(660526),f=a.i(750227),g=a.i(163812),h=a.i(562278);let i=["o4-mini","o3","gpt-4.1","gpt-4.1-mini","gpt-4.1-nano","codex-mini-latest"],j=globalThis;if(!j.__providerRegistry){let k=new b;k.register({name:"claude",displayName:"Claude Code",agentFieldValue:"CLAUDE_CODE",cli:{command:"claude",adapter:new c.ClaudeCliAdapter},models:{cli:["sonnet","opus","haiku","claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5-20251001"],api:[]}}),k.register({name:"codex",displayName:"Codex CLI",agentFieldValue:"CODEX_CLI",cli:{command:"codex",adapter:new class b{buildSpawnArgs(a){let b=[];a.resumeSessionId?b.push("resume",a.resumeSessionId):a.continueLatest?b.push("resume","--last"):(b.push("--full-auto"),a.extraArgs?.length&&b.push(...a.extraArgs),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.readHooks(),b=(0,h.getPackageRoot)().replace(/\\/g,"/"),c=f.join(b,"scripts","session-start-hook.js").replace(/\\/g,"/"),d=f.join(b,"scripts","post-tool-hook.js").replace(/\\/g,"/"),e=f.join(b,"scripts","stop-hook.js").replace(/\\/g,"/"),g=!1;return g=this.upsertHook(a,"SessionStart","session-start-hook.js",{hooks:[{command:`node "${c}"`,timeout:5,type:"command"}]})||g,g=this.upsertHook(a,"PostToolUse","post-tool-hook.js",{hooks:[{command:`node "${d}"`,timeout:10,type:"command"}],matcher:"Write|Edit|MultiEdit"})||g,(g=this.upsertHook(a,"Stop","stop-hook.js",{hooks:[{command:`node "${e}"`,timeout:5,type:"command"}]})||g)&&(this.writeHooks(a),this.ensureHooksFeatureEnabled()),{ok:!0,method:"file",detail:this.getHooksPath()}}catch(a){return{ok:!1,method:"file",detail:this.getHooksPath(),error:a instanceof Error?a.message:String(a)}}}async repairHookPaths(){try{let a=this.readHooks(),b=(0,h.getPackageRoot)().replace(/\\/g,"/"),c=!1;for(let[d,e]of[["SessionStart","session-start-hook.js"],["PostToolUse","post-tool-hook.js"],["Stop","stop-hook.js"]]){let g=this.getHookArray(a,d),h=g.findIndex(a=>a?.hooks?.some?.(a=>a.command?.includes(e)));if(h<0)continue;let i=f.join(b,"scripts",e).replace(/\\/g,"/"),j=`node "${i}"`,k=g[h]?.hooks?.[0];k&&k.command!==j&&(k.command=j,a[d]=g,c=!0)}c&&(this.writeHooks(a),this.ensureHooksFeatureEnabled())}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.readHooks(),b=["session-start-hook.js","post-tool-hook.js","stop-hook.js"];for(let c of["SessionStart","PostToolUse","Stop"]){let d=this.getHookArray(a,c);a[c]=d.filter(a=>!a.hooks?.some(a=>b.some(b=>a.command?.includes(b))))}return this.writeHooks(a),{ok:!0,method:"file",detail:this.getHooksPath()}}catch(a){return{ok:!1,method:"file",detail:this.getHooksPath(),error:a instanceof Error?a.message:String(a)}}}async isHooksInstalled(){let a=this.readHooks(),b=this.getHookArray(a,"PostToolUse");return this.hasHook(b,"post-tool-hook.js")}async installMcp(a,b={}){let c=this.resolveCommand(),d=["mcp","add",a.name];if(a.env)for(let[b,c]of Object.entries(a.env))d.push("--env",`${b}=${c}`);d.push("--",a.command,...a.args);try{return await this.runCli(c,["mcp","remove",a.name],b.cwd).catch(()=>{}),await this.runCli(c,d,b.cwd),{ok:!0,method:"cli",detail:`${c} ${d.join(" ")}`}}catch(a){return{ok:!1,method:"cli",detail:`${c} ${d.join(" ")}`,error:a instanceof Error?a.message:String(a)}}}async uninstallMcp(a,b={}){let c=this.resolveCommand(),d=["mcp","remove",a];try{return await this.runCli(c,d,b.cwd),{ok:!0,method:"cli",detail:`${c} ${d.join(" ")}`}}catch(a){return{ok:!1,method:"cli",detail:`${c} ${d.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,b){let c=f.join(this.getConfigDir(),"skills",a);try{if(!d.existsSync(b))return{ok:!1,method:"symlink",detail:c,error:`Source skill dir does not exist: ${b}`};d.mkdirSync(f.dirname(c),{recursive:!0});let a=await d.promises.lstat(c).catch(()=>null);if(a)if(!(a.isSymbolicLink()||"win32"===process.platform&&a.isDirectory()))return{ok:!1,method:"symlink",detail:c,error:`Refusing to overwrite non-symlink at ${c}`};else try{let a=await d.promises.readlink(c);if(f.resolve(a)===f.resolve(b))return{ok:!0,method:"symlink",detail:`${c} → ${b} (already)`};await d.promises.unlink(c)}catch{if(!a.isSymbolicLink())return{ok:!1,method:"symlink",detail:c,error:`Refusing to overwrite non-symlink at ${c}`}}return await d.promises.symlink(b,c,"dir"),{ok:!0,method:"symlink",detail:`${c} → ${b}`}}catch(a){return{ok:!1,method:"symlink",detail:c,error:a instanceof Error?a.message:String(a)}}}async uninstallSkill(a){let b=f.join(this.getConfigDir(),"skills",a);try{let a=await d.promises.lstat(b).catch(()=>null);if(!a)return{ok:!0,method:"symlink",detail:`${b} (already absent)`};if(!a.isSymbolicLink())return{ok:!1,method:"symlink",detail:b,error:`Refusing to remove non-symlink at ${b}`};return await d.promises.unlink(b),{ok:!0,method:"symlink",detail:b}}catch(a){return{ok:!1,method:"symlink",detail:b,error:a instanceof Error?a.message:String(a)}}}async isSkillInstalled(a,b){let c=f.join(this.getConfigDir(),"skills",a);try{if(!(await d.promises.lstat(c)).isSymbolicLink())return!1;if(!b)return!0;let a=await d.promises.readlink(c),e=f.isAbsolute(a)?a:f.resolve(f.dirname(c),a);return f.resolve(e)===f.resolve(b)}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 i}getConfigDir(){return f.join(e.homedir(),".codex")}getSettingsPath(){return f.join(this.getConfigDir(),"config.toml")}getSessionsDir(){return f.join(this.getConfigDir(),"sessions")}getApiKeyInfo(){return{envVar:"OPENAI_API_KEY",required:!1}}buildHelloProbeArgs(a){return{command:this.resolveCommand(),args:["exec",a]}}resolveCommand(){return process.env.CODEX_CLI_PATH?process.env.CODEX_CLI_PATH:(0,g.resolveCommandPathSync)("codex")}getHooksPath(){return f.join(this.getConfigDir(),"hooks.json")}readHooks(){try{return JSON.parse(d.readFileSync(this.getHooksPath(),"utf-8")).hooks??{}}catch{return{}}}writeHooks(a){let b=this.getConfigDir();d.existsSync(b)||d.mkdirSync(b,{recursive:!0}),d.writeFileSync(this.getHooksPath(),JSON.stringify({hooks:a},null,2),"utf-8")}ensureHooksFeatureEnabled(){let a=this.getSettingsPath(),b="";try{b=d.readFileSync(a,"utf-8")}catch{}if(/codex_hooks\s*=\s*true/.test(b))return;/\[features\]/.test(b)?b=b.replace(/\[features\]/,"[features]\ncodex_hooks = true"):b+="\n[features]\ncodex_hooks = true\n";let c=this.getConfigDir();d.existsSync(c)||d.mkdirSync(c,{recursive:!0}),d.writeFileSync(a,b,"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)))}}},models:{cli:["o4-mini","o3","gpt-4.1","gpt-4.1-mini","gpt-4.1-nano","codex-mini-latest"],api:[]}}),j.__providerRegistry=k}let k=j.__providerRegistry;a.s(["providerRegistry",0,k],378322)},855806,a=>{"use strict";var b=a.i(815429),c=a.i(761469);async function d(a,b={}){let e=b.report,f=e?JSON.stringify(e):null;await c.db.providerConnection.upsert({where:{provider:a},create:{provider:a,lastTestedAt:new Date,testOk:!0,version:b.version??null,mcpInstalled:e?.mcp?.ok??!1,hooksInstalled:e?.hooks?.ok??!1,skillsInstalled:e?.skill?.ok??!1,installLog:f},update:{lastTestedAt:new Date,testOk:!0,version:b.version??null,mcpInstalled:e?.mcp?.ok??!1,hooksInstalled:e?.hooks?.ok??!1,skillsInstalled:e?.skill?.ok??!1,installLog:f}})}async function e(a,b={}){await c.db.providerConnection.upsert({where:{provider:a},create:{provider:a,lastTestedAt:new Date,testOk:!1,installLog:b.reason??null},update:{lastTestedAt:new Date,testOk:!1,mcpInstalled:!1,hooksInstalled:!1,skillsInstalled:!1,installLog:b.reason??null}})}async function f(a){let b=await c.db.providerConnection.findUnique({where:{provider:a}});return!!b&&b.testOk}async function g(){return(await c.db.providerConnection.findMany({where:{testOk:!0},select:{provider:!0},orderBy:{provider:"asc"}})).map(a=>a.provider)}async function h(){return c.db.providerConnection.findMany({select:{provider:!0,lastTestedAt:!0,testOk:!0,version:!0,mcpInstalled:!0,hooksInstalled:!0,skillsInstalled:!0,installLog:!0},orderBy:{provider:"asc"}})}(0,a.i(630048).ensureServerEntryExports)([d,e,f,g,h]),(0,b.registerServerReference)(d,"60b6186cc67cab78545a1eb443eef55ecd5429e39b",null),(0,b.registerServerReference)(e,"6014f51da7e56501675207fbf48093774dd777c67c",null),(0,b.registerServerReference)(f,"40c0f643954394ccc2db1a51091e20c346259ad07c",null),(0,b.registerServerReference)(g,"003ebbfa7a54aa80cd3e1b709a22efef4584ad6c29",null),(0,b.registerServerReference)(h,"0070125726fff5f9ef4e4d9dd1551d16775c49ec38",null),a.s(["getConnectedProviders",0,g,"getProviderConnections",0,h,"isProviderConnected",0,f,"markProviderConnected",0,d,"markProviderDisconnected",0,e])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_0eufeyj._.js.map
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
module.exports=[495370,a=>{"use strict";var b=a.i(815429),c=a.i(761469),d=a.i(188139),e=a.i(496877);async function f(a){return c.db.label.findMany({where:{OR:[{isBuiltin:!0},{workspaceId:a}]},orderBy:[{isBuiltin:"desc"},{name:"asc"}]})}async function g(a){let b=e.createLabelSchema.parse(a),f=await c.db.label.create({data:{name:b.name,color:b.color,workspaceId:b.workspaceId}});return(0,d.revalidatePath)("/workspaces"),f}async function h(a){let b=await c.db.label.findUnique({where:{id:a}});if(!b)throw Error("Label not found");if(b.isBuiltin)throw Error("Cannot delete builtin labels");await c.db.label.delete({where:{id:a}}),(0,d.revalidatePath)("/workspaces")}async function i(a,b){await c.db.$transaction(async c=>{await c.taskLabel.deleteMany({where:{taskId:a}}),b.length>0&&await c.taskLabel.createMany({data:b.map(b=>({taskId:a,labelId:b}))})}),(0,d.revalidatePath)("/workspaces")}async function j(a){return(await c.db.taskLabel.findMany({where:{taskId:a},include:{label:!0}})).map(a=>a.label)}(0,a.i(630048).ensureServerEntryExports)([f,g,h,i,j]),(0,b.registerServerReference)(f,"402d3bd275eb0191875df81cd0a65a84b7f034b329",null),(0,b.registerServerReference)(g,"40317a4f62ec0768b659980df2b8cfe8f0e143d69b",null),(0,b.registerServerReference)(h,"40663ecf3869e276bb6158bbf1032cb631b49f4dfa",null),(0,b.registerServerReference)(i,"604702638de73d6356c05b71593515165d13f2d635",null),(0,b.registerServerReference)(j,"40a6ebb524fb0864532123bea0b2138d6ef545a062",null),a.s(["createLabel",0,g,"deleteLabel",0,h,"getLabelsForWorkspace",0,f,"getTaskLabels",0,j,"setTaskLabels",0,i])},287068,a=>{"use strict";var b=a.i(761469);function c(a,b){return{id:a.note_id,type:"note",title:a.title,subtitle:`${a.workspace_name} / ${a.project_name}`,navigateTo:`/workspaces/${a.workspaceId}/notes?projectId=${a.projectId}`,snippet:a.content?a.content.slice(0,b):void 0}}async function d(a,e="task",f){if(!a.trim())return[];let g=a.trim(),{resultLimit:h,allModeCap:i,snippetLength:j}=f;if("all"===e){let[a,b,c,e,h]=await Promise.allSettled([d(g,"task",f),d(g,"project",f),d(g,"repository",f),d(g,"note",f),d(g,"asset",f)]),j=a=>"fulfilled"===a.status?a.value.slice(0,i):[];return[...j(a),...j(b),...j(c),...j(e),...j(h)]}if("task"===e)return(await b.db.task.findMany({where:{OR:[{title:{contains:g}},{description:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h,orderBy:{updatedAt:"desc"}})).map(a=>{let b="DONE"===a.status||"CANCELLED"===a.status,c=a.project.workspaceId;return{id:a.id,type:"task",title:a.title,subtitle:`${a.project.workspace.name} / ${a.project.name}`,navigateTo:b?`/workspaces/${c}/archive?projectId=${a.projectId}`:`/workspaces/${c}?projectId=${a.projectId}`}});if("project"===e)return(await b.db.project.findMany({where:{OR:[{name:{contains:g}},{alias:{contains:g}},{description:{contains:g}}]},include:{workspace:!0},take:h,orderBy:{updatedAt:"desc"}})).map(a=>({id:a.id,type:"project",title:a.alias?`${a.name} (${a.alias})`:a.name,subtitle:a.workspace.name,navigateTo:`/workspaces/${a.workspaceId}?projectId=${a.id}`}));if("repository"===e)return(await b.db.repository.findMany({where:{OR:[{name:{contains:g}},{path:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h})).map(a=>({id:a.id,type:"repository",title:a.name,subtitle:`${a.project.workspace.name} / ${a.project.name} \xb7 ${a.branch}`,navigateTo:`/workspaces/${a.project.workspaceId}?projectId=${a.projectId}`}));if("note"===e){if(g.length<3)return(await b.db.$queryRawUnsafe(`SELECT n.id as note_id, n.title, n.content,
|
|
2
|
+
n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
|
|
3
|
+
FROM "ProjectNote" n
|
|
4
|
+
JOIN "Project" p ON p.id = n."projectId"
|
|
5
|
+
JOIN "Workspace" w ON w.id = p."workspaceId"
|
|
6
|
+
WHERE n.title LIKE ? OR n.content LIKE ?
|
|
7
|
+
LIMIT ?`,`%${g}%`,`%${g}%`,h)).map(a=>c(a,j));try{return(await b.db.$queryRawUnsafe(`SELECT f.note_id, f.title, f.content,
|
|
8
|
+
n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
|
|
9
|
+
FROM notes_fts f
|
|
10
|
+
JOIN "ProjectNote" n ON n.id = f.note_id
|
|
11
|
+
JOIN "Project" p ON p.id = n."projectId"
|
|
12
|
+
JOIN "Workspace" w ON w.id = p."workspaceId"
|
|
13
|
+
WHERE f.notes_fts MATCH ?
|
|
14
|
+
ORDER BY rank
|
|
15
|
+
LIMIT ?`,g,h)).map(a=>c(a,j))}catch{return(await b.db.$queryRawUnsafe(`SELECT n.id as note_id, n.title, n.content,
|
|
16
|
+
n."projectId", p."workspaceId", p.name as project_name, w.name as workspace_name
|
|
17
|
+
FROM "ProjectNote" n
|
|
18
|
+
JOIN "Project" p ON p.id = n."projectId"
|
|
19
|
+
JOIN "Workspace" w ON w.id = p."workspaceId"
|
|
20
|
+
WHERE n.title LIKE ? OR n.content LIKE ?
|
|
21
|
+
LIMIT ?`,`%${g}%`,`%${g}%`,h)).map(a=>c(a,j))}}return"asset"===e?(await b.db.projectAsset.findMany({where:{OR:[{filename:{contains:g}},{description:{contains:g}}]},include:{project:{include:{workspace:!0}}},take:h,orderBy:{createdAt:"desc"}})).map(a=>({id:a.id,type:"asset",title:a.filename,subtitle:`${a.project.workspace.name} / ${a.project.name}`,navigateTo:`/workspaces/${a.project.workspaceId}/assets?projectId=${a.projectId}`,snippet:a.description||void 0})):[]}a.s(["search",0,d])},396904,a=>a.a(async(b,c)=>{try{var d=a.i(815429),e=a.i(287068),f=a.i(980999),g=a.i(630048),h=b([f]);async function i(a,b="task"){let c=await (0,f.getConfigValues)(["search.resultLimit","search.allModeCap","search.snippetLength"]);return(0,e.search)(a,b,{resultLimit:c["search.resultLimit"]??20,allModeCap:c["search.allModeCap"]??5,snippetLength:c["search.snippetLength"]??80})}[f]=h.then?(await h)():h,(0,g.ensureServerEntryExports)([i]),(0,d.registerServerReference)(i,"602166a0d2a6b776ba57c4e0c1d2ee7847cfe4448e",null),a.s(["globalSearch",0,i]),c()}catch(a){c(a)}},!1),101844,a=>{"use strict";var b=a.i(815429),c=a.i(924868),d=a.i(522734),e=a.i(814747),f=a.i(761469),g=a.i(188139),h=a.i(630048);async function i(b){if(!b||"string"!=typeof b)return{safe:!1,reason:"无效的项目 ID"};let g=await f.db.project.findUnique({where:{id:b}});if(!g||!g.localPath)return{safe:!1,reason:"项目不存在或未设置本地路径"};if((await f.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{safe:!1,reason:"该项目有正在运行的任务执行,请先停止所有执行"};let h=await f.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:i}=await a.A(98813);for(let a of h)if(void 0!==i(a.id))return{safe:!1,reason:"该项目有活跃的终端会话,请先关闭"};let j=e.default.join(g.localPath,".worktrees");if((0,d.existsSync)(j))try{if((await (0,c.readdir)(j)).length>0)return{safe:!1,reason:"该项目有活跃的 Git Worktree,请先清理"}}catch{}return{safe:!0}}async function j(b,h){if(!b||"string"!=typeof b)return{success:!1,error:"无效的项目 ID"};if(!h||"string"!=typeof h||!e.default.isAbsolute(h))return{success:!1,error:"目标路径必须是非空的绝对路径"};let i=await f.db.project.findUnique({where:{id:b}});if(!i||!i.localPath)return{success:!1,error:"项目不存在或未设置本地路径"};let j=i.localPath;if(h===j)return{success:!1,error:"源路径和目标路径相同"};if((await f.db.taskExecution.findMany({where:{task:{projectId:b},status:"RUNNING"},select:{id:!0}})).length>0)return{success:!1,error:"该项目有正在运行的任务执行,请先停止所有执行"};let k=await f.db.task.findMany({where:{projectId:b},select:{id:!0}}),{getSession:l}=await a.A(98813);for(let a of k)if(void 0!==l(a.id))return{success:!1,error:"该项目有活跃的终端会话,请先关闭"};let m=e.default.join(j,".worktrees");if((0,d.existsSync)(m))try{if((await (0,c.readdir)(m)).length>0)return{success:!1,error:"该项目有活跃的 Git Worktree,请先清理"}}catch{}if((0,d.existsSync)(h))try{if((await (0,c.readdir)(h)).length>0)return{success:!1,error:"目标路径已存在且不为空"}}catch{return{success:!1,error:"目标路径已存在且不为空"}}let n=e.default.dirname(h);try{await (0,c.mkdir)(n,{recursive:!0})}catch(a){if("EACCES"===a.code||"EPERM"===a.code)return{success:!1,error:`无权限创建父目录 ${n} — 请检查 Git 路径映射规则的模板是否漏了 "~/" 前缀`};if("EROFS"===a.code)return{success:!1,error:`父目录所在文件系统只读:${n}`};return{success:!1,error:`创建父目录失败:${a.message||a.code||"未知错误"}`}}try{await (0,c.rename)(j,h)}catch(a){if("EXDEV"===a.code)return{success:!1,error:"源路径和目标路径不在同一文件系统,不支持跨设备迁移"};if("EACCES"===a.code||"EPERM"===a.code)return{success:!1,error:`无权限移动到 ${h}`};return{success:!1,error:a.message||"文件系统操作失败"}}return await f.db.project.update({where:{id:b},data:{localPath:h}}),(0,g.revalidatePath)("/workspaces"),{success:!0}}let k=`分析这个项目目录,生成一段简短的 Markdown 项目描述。
|
|
22
|
+
|
|
23
|
+
读取 package.json、README.md 等关键文件,然后概括:
|
|
24
|
+
|
|
25
|
+
**技术栈:** 一句话列出主要语言、框架、关键库
|
|
26
|
+
**定位:** 一句话说明项目是什么
|
|
27
|
+
**核心模块:** 2-3 个关键模块,每个一句话
|
|
28
|
+
|
|
29
|
+
要求:
|
|
30
|
+
- 总字数不超过 500 字
|
|
31
|
+
- 用简洁的 Markdown(加粗标签 + 短句),不要用 ## 大标题和表格
|
|
32
|
+
- 不要罗列每个文件/目录,只说关键信息
|
|
33
|
+
- 中文输出`,l=`Analyze this project directory and generate a brief Markdown project description.
|
|
34
|
+
|
|
35
|
+
Read package.json, README.md and other key files, then summarize:
|
|
36
|
+
|
|
37
|
+
**Tech Stack:** One sentence listing primary languages, frameworks, and key libraries
|
|
38
|
+
**Overview:** One sentence describing what this project is
|
|
39
|
+
**Core Modules:** 2-3 key modules, one sentence each
|
|
40
|
+
|
|
41
|
+
Requirements:
|
|
42
|
+
- Keep it under 1000 words
|
|
43
|
+
- Use concise Markdown (bold labels + short sentences), no ## headings or tables
|
|
44
|
+
- Don't list every file/directory, only key information
|
|
45
|
+
- Output in English`;async function m(b,c="zh"){if(!b||"string"!=typeof b)throw Error("无效的本地路径");if(b.startsWith("~"))throw Error("不支持 ~ 别名,请提供绝对路径");if(!e.default.isAbsolute(b))throw Error("本地路径必须为绝对路径");let{aiQuery:d}=await a.A(752453),f=await d("en"===c?l:k,b,{maxTurns:10,tools:["Read","Glob"],allowedTools:["Read","Glob"]});if(!f)throw Error("AI 分析未返回结果");return f.length>2e3?f.slice(0,2e3).trimEnd()+"\n\n...":f}(0,h.ensureServerEntryExports)([i,j,m]),(0,b.registerServerReference)(i,"40fd68ec39f8d8d0a38f616939b2db6d7754e60fa4",null),(0,b.registerServerReference)(j,"60de51970574bd5be99233aa38c312507839dae1f7",null),(0,b.registerServerReference)(m,"608fddbc25e815219b0fa0216ec84ab23068bd7764",null),a.s(["analyzeProjectDirectory",0,m,"checkMigrationSafety",0,i,"migrateProjectPath",0,j])},845427,a=>{"use strict";var b=a.i(233405),c=a.i(522734),d=a.i(924868),e=a.i(814747),f=a.i(446786),g=a.i(26683);function h(a){return a.startsWith("~/")||"~"===a?e.default.join(f.default.homedir(),a.slice(1)):a}async function i(a,f,i,j){let k=h(a),l=e.default.join(k,".worktrees","task-"+f),m="task/"+f;await (0,d.mkdir)(e.default.join(k,".worktrees"),{recursive:!0});let n=(0,b.execFileSync)("git",["worktree","list","--porcelain"],{cwd:k,encoding:"utf-8",timeout:1e4}),o=e.default.normalize(l).replace(/\\/g,"/");if(n.split("\n").some(a=>a.startsWith("worktree ")&&a.slice(9).replace(/\\/g,"/")===o))return{worktreePath:l,worktreeBranch:m};if((0,c.existsSync)(l)&&(g.logger.warn(`[worktree] Directory exists but not tracked by git, removing: ${l}`),(0,b.execFileSync)("git",["worktree","remove",l,"--force"],{cwd:k,encoding:"utf-8",timeout:3e4})),(0,b.execFileSync)("git",["branch","--list",m],{cwd:k,encoding:"utf-8",timeout:5e3}).trim())(0,b.execFileSync)("git",["worktree","add",l,m],{cwd:k,encoding:"utf-8",timeout:3e4});else{let a=i;try{(0,b.execFileSync)("git",["rev-parse","--verify",i],{cwd:k,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]})}catch{try{(0,b.execFileSync)("git",["rev-parse","--verify",`origin/${i}`],{cwd:k,encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]}),a=`origin/${i}`}catch{throw Error(`Base branch '${i}' does not exist locally or on remote. Available branches: `+(0,b.execFileSync)("git",["branch","-a","--format=%(refname:short)"],{cwd:k,encoding:"utf-8",timeout:5e3}).trim().split("\n").join(", "))}}(0,b.execFileSync)("git",["worktree","add","-b",m,l,a],{cwd:k,encoding:"utf-8",timeout:3e4})}return function(a,b,d){let f=g.logger.create("worktree"),h=["node_modules",".next"];for(let g of d?["",d]:[""])if((0,c.existsSync)(e.default.join(a,g,"package.json")))for(let d of h){let h=g?e.default.join(g,d):d,i=e.default.join(a,h),j=e.default.join(b,h);if((0,c.existsSync)(i)){try{(0,c.lstatSync)(j);continue}catch{}try{(0,c.symlinkSync)(i,j,"junction"),f.info(`Symlinked ${h}`,{from:i,to:j})}catch(a){f.warn(`Failed to symlink ${h}`,{error:String(a)})}}}}(k,l,j),{worktreePath:l,worktreeBranch:m}}async function j(a,d){let f=h(a),g=e.default.join(f,".worktrees","task-"+d),i="task/"+d;(0,c.existsSync)(g)&&(0,b.execFileSync)("git",["worktree","remove",g,"--force"],{cwd:f,encoding:"utf-8",timeout:3e4}),(0,b.execFileSync)("git",["branch","--list",i],{cwd:f,encoding:"utf-8",timeout:5e3}).trim()&&(0,b.execFileSync)("git",["branch","-D",i],{cwd:f,encoding:"utf-8",timeout:5e3})}a.s(["createWorktree",0,i,"removeWorktree",0,j])},689171,a=>{"use strict";var b=a.i(815429),c=a.i(761469),d=a.i(188139),e=a.i(495370),f=a.i(845427),g=a.i(75681),h=a.i(496877),i=a.i(26683),j=a.i(630048);let k=i.logger.create("task-actions");async function l(a){let b=h.createTaskSchema.parse(a),e=await c.db.task.create({data:{title:b.title,description:b.description,projectId:b.projectId,priority:b.priority??"MEDIUM",status:b.status??"TODO",baseBranch:b.baseBranch??null,subPath:b.subPath??null,versionId:b.versionId??null}});return b.labelIds&&b.labelIds.length>0&&await c.db.taskLabel.createMany({data:b.labelIds.map(a=>({taskId:e.id,labelId:a}))}),(0,d.revalidatePath)("/workspaces"),e}async function m(b,e){h.taskStatusSchema.parse(e);let g=await c.db.task.update({where:{id:b},data:{status:e},include:{project:!0}});if("DONE"===e&&!g.baseBranch&&g.project?.localPath)try{let{execFileSync:d}=await a.A(144264),e=d("git",["rev-parse","HEAD"],{cwd:g.project.localPath,encoding:"utf-8",timeout:5e3}).trim();if(e){let a=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});a&&await c.db.taskExecution.update({where:{id:a.id},data:{mergeCommit:e}})}}catch{}if("DONE"===e&&a.A(662330).then(({captureTaskDreaming:a})=>{a(b).catch(()=>{})}).catch(()=>{}),"CANCELLED"===e&&g.project?.localPath)try{await (0,f.removeWorktree)(g.project.localPath,b)}catch(a){k.error("Worktree cleanup failed",a,{taskId:b})}return(0,d.revalidatePath)("/workspaces"),g}async function n(a,b){let{labelIds:f,...g}=h.updateTaskSchema.parse(b),i=await c.db.task.update({where:{id:a},data:g});return void 0!==f&&await (0,e.setTaskLabels)(a,f),(0,d.revalidatePath)("/workspaces"),i}async function o(a){g.z.string().cuid().parse(a);let b=await c.db.task.findUniqueOrThrow({where:{id:a},select:{pinned:!0}}),e=await c.db.task.update({where:{id:a},data:{pinned:!b.pinned}});return(0,d.revalidatePath)("/workspaces"),e}async function p(b){let e=await c.db.task.findUnique({where:{id:b},include:{project:!0}});if(e?.project?.localPath)try{await (0,f.removeWorktree)(e.project.localPath,b)}catch{}try{let{destroySession:c}=await a.A(98813);c(b)}catch{}await c.db.task.delete({where:{id:b}}),(0,d.revalidatePath)("/workspaces")}async function q(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,OR:[{status:{notIn:["DONE","CANCELLED"]}},{status:{in:["DONE","CANCELLED"]},updatedAt:{gte:b}}]},orderBy:[{pinned:"desc"},{order:"asc"},{createdAt:"desc"}]})}async function r(a){return a.trim()?c.db.task.findMany({where:{OR:[{title:{contains:a}},{description:{contains:a}}]},include:{project:{include:{workspace:!0}}},take:20,orderBy:{updatedAt:"desc"}}):[]}async function s(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.findMany({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}},include:{labels:{include:{label:!0}},executions:{orderBy:{createdAt:"desc"},take:1}},orderBy:{updatedAt:"desc"}})}async function t(b){let{execFileSync:d}=await a.A(144264),{existsSync:e}=await a.A(323970),f=await c.db.task.findUnique({where:{id:b}}),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!e(g.worktreePath))return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!1};let h=g.worktreePath,i=f?.baseBranch||"main";try{let a=d("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=a?a.split("\n").map(a=>a.trim()).filter(Boolean):[],c=0===b.length,e=!1,f=null,g=[];try{let a=d("git",["merge-base",i,"HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim(),b=d("git",["rev-list","--count",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();if(e=parseInt(b,10)>0){f=d("git",["log","-1","--format=%B"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();let b=d("git",["log","--oneline",`${a}..HEAD`],{cwd:h,encoding:"utf-8",timeout:5e3}).trim();g=b?b.split("\n").filter(Boolean):[]}}catch{}return{clean:c,files:b,hasCommits:e,lastCommitMessage:f,commitLog:g,hasWorktree:!0}}catch{return{clean:!0,files:[],hasCommits:!1,lastCommitMessage:null,commitLog:[],hasWorktree:!0}}}async function u(b,d){let{execFileSync:e}=await a.A(144264),{existsSync:f}=await a.A(323970),g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}});if(!g?.worktreePath||!f(g.worktreePath))throw Error("No active worktree for this task");let h=g.worktreePath;if(e("git",["add","-A"],{cwd:h,timeout:1e4}),!e("git",["status","--porcelain"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim())throw Error("No changes to commit");return e("git",["commit","-m",d],{cwd:h,encoding:"utf-8",timeout:15e3}),{hash:e("git",["rev-parse","--short","HEAD"],{cwd:h,encoding:"utf-8",timeout:5e3}).trim()}}async function v(a){return/^c[a-z0-9]{20,30}$/.test(a)?c.db.task.findUnique({where:{id:a},include:{labels:{include:{label:!0}},project:{select:{id:!0,name:!0,type:!0,localPath:!0,workspaceId:!0}},executions:{orderBy:{createdAt:"desc"},take:1,select:{summary:!0,status:!0,endedAt:!0,gitStats:!0}},_count:{select:{assets:!0}}}}):null}async function w(a){let b=new Date;return b.setHours(0,0,0,0),c.db.task.count({where:{projectId:a,status:{in:["DONE","CANCELLED"]},updatedAt:{lt:b}}})}(0,j.ensureServerEntryExports)([l,m,n,o,p,q,r,s,t,u,v,w]),(0,b.registerServerReference)(l,"409f5d8b89c2a6ea196db754abe35c584880c3f88a",null),(0,b.registerServerReference)(m,"600ef54ca10fd7bb666b08cd8d5bf227ccca58da4e",null),(0,b.registerServerReference)(n,"603219315ec2c04de4bd8822f5ac8f28fe73c94774",null),(0,b.registerServerReference)(o,"40bd98dde4c1ef5955329b927d0ca663fa200662bf",null),(0,b.registerServerReference)(p,"400f4839dc0b1bf785aefc73abeeafd2d918c21e91",null),(0,b.registerServerReference)(q,"40ed5a2e1ecede4bb689e84d768d03617f8e0f9a17",null),(0,b.registerServerReference)(r,"407e50bccd4fcd9f20355a0f5a1042b8e2f0590edc",null),(0,b.registerServerReference)(s,"40c292454cbbb64a070617d382d0c0faeb6d120054",null),(0,b.registerServerReference)(t,"403f8c0c7f02e64f5f4387dc8daa4186b455500a03",null),(0,b.registerServerReference)(u,"60274d75e15f6a4ed99e68cce68579183de3dbdeae",null),(0,b.registerServerReference)(v,"40a3a1d767fac8a4ebc7b3842ff740480168ee74a4",null),(0,b.registerServerReference)(w,"407ba69ce87e411215b763c5ba134766bcc1643968",null),a.s(["checkWorktreeClean",0,t,"commitWorktreeChanges",0,u,"createTask",0,l,"deleteTask",0,p,"getArchivedTaskCount",0,w,"getArchivedTasks",0,s,"getProjectTasks",0,q,"getTaskOverview",0,v,"searchTasks",0,r,"toggleTaskPinned",0,o,"updateTask",0,n,"updateTaskStatus",0,m])}];
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=src_0r5zto-._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
module.exports=[347427,a=>{"use strict";var b=a.i(815429),c=a.i(761469),d=a.i(188139),e=a.i(845427),f=a.i(962620),g=a.i(26683),h=a.i(312369),i=a.i(378322);class j extends Error{code;provider;constructor(a,b,c){super(c),this.code=a,this.provider=b,this.name="AiProviderError"}}var k=a.i(855806);let l="claude",m="请到 Settings → Test Connection 测试该 Provider 后再使用(未注入的 CLI 不能被插槽选中)";async function n(a){return c.db.aiCapabilityConfig.findUnique({where:{slot:a}})}async function o(a){if(a){if(await (0,k.isProviderConnected)(a))return a;throw new j("CLI_NOT_FOUND",a,`Provider "${a}" 未连接:${m}`)}let b=await (0,k.getConnectedProviders)();if(0===b.length)throw new j("CLI_NOT_FOUND",l,`没有任何 AI Provider 已连接:${m}`);return b.includes(l)?l:b[0]}async function p(a){let b=await n(a),c=b?.model??void 0,d=await o(b?.provider??null),e=i.providerRegistry.get(d);if(!e)throw new j("CLI_NOT_FOUND",d,`Provider "${d}" 未注册`);let f=e.cli?.adapter;if(!f)throw new j("UNSUPPORTED_MODE",d,`Provider "${d}" 不支持 CLI 模式`);return{adapter:f,provider:e,model:c}}var q=a.i(924868),r=a.i(446786),s=a.i(814747),t=a.i(630048);let u=g.logger.create("agent-actions"),v=(0,s.join)((0,r.tmpdir)(),"tower-signals");async function w(a,b){try{await (0,q.mkdir)(v,{recursive:!0,mode:448}),await (0,q.writeFile)((0,s.join)(v,`exit-${a}`),String(b),{mode:384})}catch{}}async function x(a,b){let e=await c.db.taskMessage.create({data:{role:"USER",content:b,taskId:a}});return(0,d.revalidatePath)("/workspaces"),{userMessage:e}}async function y(a){return c.db.taskMessage.findMany({where:{taskId:a},orderBy:{createdAt:"asc"}})}async function z(a,b="CLAUDE_CODE",e,f){let g=await c.db.taskExecution.create({data:{taskId:a,agent:b,status:"RUNNING",startedAt:new Date,worktreePath:e??null,worktreeBranch:f??null}});return await c.db.task.update({where:{id:a},data:{status:"IN_PROGRESS"}}),(0,d.revalidatePath)("/workspaces"),g}async function A(a,b="FAILED"){let e=await c.db.taskExecution.update({where:{id:a},data:{status:b,endedAt:new Date}});return(0,d.revalidatePath)("/workspaces"),e}async function B(b){let{destroySession:e,getSession:f}=await a.A(98813),g=f(b),h=g?.getBuffer()??"",i=await c.db.taskExecution.findFirst({where:{taskId:b,status:"RUNNING"},orderBy:{createdAt:"desc"}}),j=await c.db.task.findUnique({where:{id:b},include:{project:{select:{localPath:!0}}}});if(e(b),i){await c.db.taskExecution.update({where:{id:i.id},data:{status:"COMPLETED",endedAt:new Date}}),await c.db.task.update({where:{id:b},data:{status:"IN_REVIEW"}});let d=i.worktreePath||j?.project?.localPath||null,{captureExecutionSummary:e}=await a.A(662330);await e(i.id,b,0,h,d)}(0,d.revalidatePath)("/workspaces")}async function C(a){return c.db.taskExecution.findMany({where:{taskId:a},orderBy:{createdAt:"desc"},include:{insightNote:{select:{id:!0,title:!0,content:!0}}}})}async function D(b,e){let g=await c.db.task.findUnique({where:{id:b},include:{project:!0}});if(!g)throw Error("Task not found");if(!g.project?.localPath)throw Error("Project has no local path configured");await c.db.taskExecution.updateMany({where:{taskId:b,status:"RUNNING",NOT:{sessionId:e}},data:{status:"FAILED",endedAt:new Date}});let i=await c.db.taskExecution.findFirst({where:{taskId:b,sessionId:e},orderBy:{createdAt:"desc"}});if(!i)throw Error("Previous execution not found");let j=i.worktreePath??g.project.localPath,k=g.subPath?(0,s.join)(j,g.subPath):j,l=await (0,h.readConfigValue)("terminal.idleTimeoutSec",180),{adapter:m}=await p("terminal"),n=m.buildEnvOverrides({taskId:b,taskTitle:g.title,apiUrl:`http://localhost:${process.env.PORT||"3000"}`,callbackUrl:i.callbackUrl??void 0}),o=await c.db.taskExecution.update({where:{id:i.id},data:{status:"RUNNING",endedAt:null}});await c.db.task.update({where:{id:b},data:{status:"IN_PROGRESS"}}),(0,d.revalidatePath)("/workspaces");let q=await (0,h.readConfigValue)("onboarding.username",""),r=m.buildSpawnArgs({taskId:b,prompt:"",cwd:k,resumeSessionId:e,extraArgs:[...q?["--append-system-prompt",`The user's name is ${q}.`]:[]],envOverrides:n}),t=/no conversation found with session id|unknown session|session .* not found/i;return(0,f.createSession)(b,r.command,r.args,k,()=>{},async d=>{await w(b,d);let f=await c.db.taskExecution.findUnique({where:{id:o.id}});if(f?.status!=="RUNNING")return;let{getSession:h}=await a.A(98813),j=h(b),k=j?.getBuffer()??"";if(0!==d&&t.test(k)){u.info("Session resume failed — retrying with fresh execution",{taskId:b,previousSessionId:e}),await c.db.taskExecution.update({where:{id:o.id},data:{status:"FAILED",endedAt:new Date}}).catch(()=>{});try{await F(b,g.title)}catch(a){u.error("Fresh execution retry also failed",a,{taskId:b})}return}await c.db.taskExecution.update({where:{id:o.id},data:{status:0===d?"COMPLETED":"FAILED",endedAt:new Date}}).catch(()=>{});let l=i.worktreePath||g.project.localPath,{captureExecutionSummary:m}=await a.A(662330);await m(o.id,b,d,k,l);let{dispatchTaskCompletionEvent:n}=await a.A(610073);await n({taskId:b,taskTitle:g.title,status:0===d?"COMPLETED":"FAILED",executionId:o.id,workspaceId:g.project.workspaceId}),0===d&&await c.db.task.update({where:{id:b},data:{status:"IN_REVIEW"}}).catch(()=>{})},r.env,void 0,1e3*l),{executionId:o.id,worktreePath:i.worktreePath??j??null}}async function E(b){let e=await c.db.task.findUnique({where:{id:b},include:{project:!0}});if(!e)throw Error("Task not found");if(!e.project?.localPath)throw Error("Project has no local path configured");let g=await c.db.taskExecution.findFirst({where:{taskId:b},orderBy:{createdAt:"desc"}}),{destroySession:i}=await a.A(98813);i(b),await c.db.taskExecution.updateMany({where:{taskId:b,status:"RUNNING"},data:{status:"FAILED",endedAt:new Date}});let j=g?.worktreePath??e.project.localPath,k=e.subPath?(0,s.join)(j,e.subPath):j,l=await (0,h.readConfigValue)("terminal.idleTimeoutSec",180),{adapter:m,provider:n}=await p("terminal"),o=m.buildEnvOverrides({taskId:b,taskTitle:e.title,apiUrl:`http://localhost:${process.env.PORT||"3000"}`}),q=await c.db.taskExecution.create({data:{taskId:b,agent:n.agentFieldValue,status:"RUNNING",startedAt:new Date,worktreePath:g?.worktreePath??null,worktreeBranch:g?.worktreeBranch??null}});await c.db.task.update({where:{id:b},data:{status:"IN_PROGRESS"}}),(0,d.revalidatePath)("/workspaces");let r=await (0,h.readConfigValue)("onboarding.username",""),t=m.buildSpawnArgs({taskId:b,prompt:"",cwd:k,continueLatest:!0,extraArgs:[...r?["--append-system-prompt",`The user's name is ${r}.`]:[]],envOverrides:o});return(0,f.createSession)(b,t.command,t.args,k,()=>{},async d=>{await w(b,d);let f=await c.db.taskExecution.findUnique({where:{id:q.id}});if(f?.status!=="RUNNING")return;let{getSession:h}=await a.A(98813),i=h(b),j=i?.getBuffer()??"";await c.db.taskExecution.update({where:{id:q.id},data:{status:0===d?"COMPLETED":"FAILED",endedAt:new Date}}).catch(()=>{});let k=g?.worktreePath||e.project.localPath,{captureExecutionSummary:l}=await a.A(662330);await l(q.id,b,d,j,k);let{dispatchTaskCompletionEvent:m}=await a.A(610073);await m({taskId:b,taskTitle:e.title,status:0===d?"COMPLETED":"FAILED",executionId:q.id,workspaceId:e.project.workspaceId}),0===d&&await c.db.task.update({where:{id:b},data:{status:"IN_REVIEW"}}).catch(()=>{})},t.env,void 0,1e3*l),{executionId:q.id,worktreePath:g?.worktreePath??j??null}}async function F(b,g,i,j,k){let l,m,n=await c.db.task.findUnique({where:{id:b},include:{project:!0}});if(!n)throw Error("Task not found");if(!n.project?.localPath)throw Error("Project has no local path configured");let o=await (0,h.readConfigValue)("system.maxConcurrentExecutions",20);if(await c.db.taskExecution.count({where:{status:"RUNNING"}})>=o)throw Error(`已达并发上限(${o}),请等待其他任务完成后再启动`);let t=await (0,h.readConfigValue)("terminal.idleTimeoutSec",180),{adapter:v,provider:x,model:y}=await p("terminal");await c.db.taskExecution.updateMany({where:{taskId:b,status:"RUNNING"},data:{status:"FAILED",endedAt:new Date}}),"IN_PROGRESS"!==n.status&&(await c.db.task.update({where:{id:b},data:{status:"IN_PROGRESS"}}),(0,d.revalidatePath)("/workspaces"));let z="";if(!k){let a=await c.db.taskMessage.findMany({where:{taskId:b},orderBy:{createdAt:"desc"},take:10});z=[`Task: ${n.title}`,n.description?`Description: ${n.description}`:"",a.length>0?`Recent conversation:
|
|
2
|
-
${a.reverse().map(a=>`${a.role}: ${a.content}`).join("\n")}`:"",g.trim()?`User message: ${g}`:""].filter(Boolean).join("\n\n")}let A=i??n.promptId;if(A){let a=await c.db.agentPrompt.findUnique({where:{id:A}});a?.content&&(m=await (0,q.mkdtemp)((0,s.join)((0,r.tmpdir)(),"tower-pty-")),l=(0,s.join)(m,"instructions.md"),await (0,q.writeFile)(l,a.content,"utf-8"))}let B=null,C=null;if(n.baseBranch&&n.project.localPath){let{worktreePath:a,worktreeBranch:c}=await (0,e.createWorktree)(n.project.localPath,b,n.baseBranch,n.subPath);B=a,C=c}let D=B??n.project.localPath,E=n.subPath?(0,s.join)(D,n.subPath):D,F=await c.db.taskExecution.create({data:{taskId:b,agent:x.agentFieldValue,status:"RUNNING",startedAt:new Date,worktreePath:B??null,worktreeBranch:C??null,callbackUrl:j??null}});if(n.project.localPath)try{let b,{execFileSync:d}=await a.A(144264);(b=B&&n.baseBranch?d("git",["merge-base",n.baseBranch,"HEAD"],{cwd:B,encoding:"utf-8",timeout:5e3}).trim():d("git",["rev-parse","HEAD"],{cwd:n.project.localPath,encoding:"utf-8",timeout:5e3}).trim())&&await c.db.taskExecution.update({where:{id:F.id},data:{forkCommit:b}})}catch{}let G="";if(l){let{readFile:b}=await a.A(260815);G+=await b(l,"utf-8")}let H=await (0,h.readConfigValue)("onboarding.username","");H&&(G+=(G?"\n":"")+`The user's name is ${H}.`);let I=v.buildSpawnArgs({taskId:b,prompt:z,cwd:E,extraArgs:[...G?["--append-system-prompt",G]:[],...y?["--model",y]:[]],envOverrides:v.buildEnvOverrides({taskId:b,taskTitle:n.title,apiUrl:`http://localhost:${process.env.PORT||"3000"}`,callbackUrl:j??void 0})});return(0,f.createSession)(b,I.command,I.args,E,()=>{},async d=>{await w(b,d);let e=await c.db.taskExecution.findUnique({where:{id:F.id}});if(e?.status!=="RUNNING")return;let{getSession:f}=await a.A(98813),g=f(b),h=g?.getBuffer()??"";await c.db.taskExecution.update({where:{id:F.id},data:{status:0===d?"COMPLETED":"FAILED",endedAt:new Date}}).catch(a=>{u.error("Failed to update execution status",a)});let i=B||n.project.localPath,{captureExecutionSummary:j}=await a.A(662330);await j(F.id,b,d,h,i);let{dispatchTaskCompletionEvent:k}=await a.A(610073);await k({taskId:b,taskTitle:n.title,status:0===d?"COMPLETED":"FAILED",executionId:F.id,workspaceId:n.project.workspaceId}),0===d&&await c.db.task.update({where:{id:b},data:{status:"IN_REVIEW"}}).catch(a=>{u.error("Failed to update task status",a)}),m&&await (0,q.rm)(m,{recursive:!0,force:!0}).catch(()=>{})},I.env,void 0,1e3*t),{executionId:F.id,worktreePath:B??D??null}}async function G(){return(await c.db.taskExecution.findMany({where:{status:"RUNNING"},orderBy:{startedAt:"asc"},include:{task:{include:{project:{include:{workspace:!0}}}}}})).map(a=>({executionId:a.id,taskId:a.taskId,taskTitle:a.task.title,projectId:a.task.project.id,projectName:a.task.project.name,projectAlias:a.task.project.alias,projectLocalPath:a.task.project.localPath,workspaceId:a.task.project.workspace.id,workspaceName:a.task.project.workspace.name,worktreePath:a.worktreePath,startedAt:a.startedAt?.toISOString()??null}))}(0,t.ensureServerEntryExports)([x,y,z,A,B,C,D,E,F,G]),(0,b.registerServerReference)(x,"
|
|
2
|
+
${a.reverse().map(a=>`${a.role}: ${a.content}`).join("\n")}`:"",g.trim()?`User message: ${g}`:""].filter(Boolean).join("\n\n")}let A=i??n.promptId;if(A){let a=await c.db.agentPrompt.findUnique({where:{id:A}});a?.content&&(m=await (0,q.mkdtemp)((0,s.join)((0,r.tmpdir)(),"tower-pty-")),l=(0,s.join)(m,"instructions.md"),await (0,q.writeFile)(l,a.content,"utf-8"))}let B=null,C=null;if(n.baseBranch&&n.project.localPath){let{worktreePath:a,worktreeBranch:c}=await (0,e.createWorktree)(n.project.localPath,b,n.baseBranch,n.subPath);B=a,C=c}let D=B??n.project.localPath,E=n.subPath?(0,s.join)(D,n.subPath):D,F=await c.db.taskExecution.create({data:{taskId:b,agent:x.agentFieldValue,status:"RUNNING",startedAt:new Date,worktreePath:B??null,worktreeBranch:C??null,callbackUrl:j??null}});if(n.project.localPath)try{let b,{execFileSync:d}=await a.A(144264);(b=B&&n.baseBranch?d("git",["merge-base",n.baseBranch,"HEAD"],{cwd:B,encoding:"utf-8",timeout:5e3}).trim():d("git",["rev-parse","HEAD"],{cwd:n.project.localPath,encoding:"utf-8",timeout:5e3}).trim())&&await c.db.taskExecution.update({where:{id:F.id},data:{forkCommit:b}})}catch{}let G="";if(l){let{readFile:b}=await a.A(260815);G+=await b(l,"utf-8")}let H=await (0,h.readConfigValue)("onboarding.username","");H&&(G+=(G?"\n":"")+`The user's name is ${H}.`);let I=v.buildSpawnArgs({taskId:b,prompt:z,cwd:E,extraArgs:[...G?["--append-system-prompt",G]:[],...y?["--model",y]:[]],envOverrides:v.buildEnvOverrides({taskId:b,taskTitle:n.title,apiUrl:`http://localhost:${process.env.PORT||"3000"}`,callbackUrl:j??void 0})});return(0,f.createSession)(b,I.command,I.args,E,()=>{},async d=>{await w(b,d);let e=await c.db.taskExecution.findUnique({where:{id:F.id}});if(e?.status!=="RUNNING")return;let{getSession:f}=await a.A(98813),g=f(b),h=g?.getBuffer()??"";await c.db.taskExecution.update({where:{id:F.id},data:{status:0===d?"COMPLETED":"FAILED",endedAt:new Date}}).catch(a=>{u.error("Failed to update execution status",a)});let i=B||n.project.localPath,{captureExecutionSummary:j}=await a.A(662330);await j(F.id,b,d,h,i);let{dispatchTaskCompletionEvent:k}=await a.A(610073);await k({taskId:b,taskTitle:n.title,status:0===d?"COMPLETED":"FAILED",executionId:F.id,workspaceId:n.project.workspaceId}),0===d&&await c.db.task.update({where:{id:b},data:{status:"IN_REVIEW"}}).catch(a=>{u.error("Failed to update task status",a)}),m&&await (0,q.rm)(m,{recursive:!0,force:!0}).catch(()=>{})},I.env,void 0,1e3*t),{executionId:F.id,worktreePath:B??D??null}}async function G(){return(await c.db.taskExecution.findMany({where:{status:"RUNNING"},orderBy:{startedAt:"asc"},include:{task:{include:{project:{include:{workspace:!0}}}}}})).map(a=>({executionId:a.id,taskId:a.taskId,taskTitle:a.task.title,projectId:a.task.project.id,projectName:a.task.project.name,projectAlias:a.task.project.alias,projectLocalPath:a.task.project.localPath,workspaceId:a.task.project.workspace.id,workspaceName:a.task.project.workspace.name,worktreePath:a.worktreePath,startedAt:a.startedAt?.toISOString()??null}))}(0,t.ensureServerEntryExports)([x,y,z,A,B,C,D,E,F,G]),(0,b.registerServerReference)(x,"60d7a36e6517f2107fa5872baff69846f2e64e1321",null),(0,b.registerServerReference)(y,"40a6c56492408688f4bdba474cee16e1544e68385d",null),(0,b.registerServerReference)(z,"784e460bc25dc709610abe00163dbe5aaaa0e557ff",null),(0,b.registerServerReference)(A,"60c19eaf3b6e86151438838b3761e9e1d5ab999474",null),(0,b.registerServerReference)(B,"4038e6c9a9711b2c84bb0df8d57b2d77a7f04c0e21",null),(0,b.registerServerReference)(C,"407385c9b367d374f6871bd8c2e935c41e8af5ffd6",null),(0,b.registerServerReference)(D,"60b5941d6b8afb66ad24c93e15e3de4c2b173e2f25",null),(0,b.registerServerReference)(E,"4097d2e1bbbcd60259598ab48d64bea0e0e25a02fa",null),(0,b.registerServerReference)(F,"7c53fc84f53dd471d76e1145973b2811dacacc0bfd",null),(0,b.registerServerReference)(G,"0021de992cf1b6d173658d29b6dd158ffe97677881",null),a.s(["continueLatestPtyExecution",0,E,"getActiveExecutionsAcrossWorkspaces",0,G,"getTaskExecutions",0,C,"getTaskMessages",0,y,"resumePtyExecution",0,D,"sendTaskMessage",0,x,"startPtyExecution",0,F,"startTaskExecution",0,z,"stopPtyExecution",0,B,"stopTaskExecution",0,A],347427)}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=src_actions_agent-actions_ts_0~wc.sy._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[610024,a=>{"use strict";a.s([],784230),a.i(784230),a.i(
|
|
1
|
+
module.exports=[610024,a=>{"use strict";a.s([],784230),a.i(784230),a.i(668563),a.i(203428),a.i(311161),a.i(370656),a.i(127870),a.i(66465),a.i(225314),a.i(597457),a.i(46415),a.i(475895);var b=a.i(780410);let c=(0,b.createServerReference)("604d06cbedce6a939a8e283e643499f4aab910dfdc",b.callServer,void 0,b.findSourceMapURL,"revealInFinder");a.s(["revealInFinder",0,c],610024)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_actions_file-actions_ts_0gcvqwm._.js.map
|
package/.next/standalone/.next/server/chunks/ssr/src_app_missions_missions-client_tsx_11429lj._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[989799,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(951192),e=a.i(780410);let f=(0,e.createServerReference)("009058aab1c550c13251c783c6955a286fb3efe194",e.callServer,void 0,e.findSourceMapURL,"getActiveExecutionsAcrossWorkspaces");var g=a.i(152538);let h=[{id:"1x1",label:"1×1",cols:1,rows:1,minHeight:"480px",desc:"Focus mode"},{id:"2x1",label:"2×1",cols:2,rows:1,minHeight:"480px",desc:"Side by side"},{id:"3x2",label:"3×2",cols:3,rows:2,minHeight:"300px",desc:"Default"},{id:"2x2",label:"2×2",cols:2,rows:2,minHeight:"300px",desc:"Balanced"},{id:"4x2",label:"4×2",cols:4,rows:2,minHeight:"240px",desc:"Wide monitor"},{id:"3x3",label:"3×3",cols:3,rows:3,minHeight:"240px",desc:"Max overview"}];var i=a.i(580701),j=a.i(699570),k=a.i(579834),l=a.i(711796);let m=(0,l.default)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]);var n=a.i(929389);function o({cols:a,rows:c,active:d}){let e=Array.from({length:a*c});return(0,b.jsx)("div",{className:`grid gap-[1px] w-7 h-5 p-[3px] rounded-sm border shrink-0 ${d?"border-primary bg-primary/10":"border-border bg-muted"}`,style:{gridTemplateColumns:`repeat(${a}, 1fr)`,gridTemplateRows:`repeat(${c}, 1fr)`},children:e.map((a,c)=>(0,b.jsx)("div",{className:`rounded-[1px] min-w-0 min-h-0 ${d?"bg-primary":"bg-muted-foreground/40"}`},c))})}let p="custom";function q({value:a,customValue:e,onChange:f}){let{t:g}=(0,d.useI18n)(),[i,k]=(0,c.useState)(!1),l=(0,c.useRef)(null),m=a===p,r=m?null:h.find(b=>b.id===a)??h[2],[s,t]=(0,c.useState)(e?.cols??2),[u,v]=(0,c.useState)(e?.rows??2),[w,x]=(0,c.useState)({minCols:1,maxCols:5,minRows:1,maxRows:5});(0,c.useEffect)(()=>{(0,n.getConfigValues)(["missions.grid.minCols","missions.grid.maxCols","missions.grid.minRows","missions.grid.maxRows"]).then(a=>{x({minCols:a["missions.grid.minCols"]??1,maxCols:a["missions.grid.maxCols"]??5,minRows:a["missions.grid.minRows"]??1,maxRows:a["missions.grid.maxRows"]??5})})},[]),(0,c.useEffect)(()=>{e&&(t(e.cols),v(e.rows))},[e?.cols,e?.rows]),(0,c.useEffect)(()=>{if(i)return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a);function a(a){l.current&&!l.current.contains(a.target)&&k(!1)}},[i]);let y=(a,b,c)=>Math.max(b,Math.min(c,a)),z=m?s:r?.cols??2,A=m?u:r?.rows??2,B=m?`${s}\xd7${u}`:r?.label??"";return(0,b.jsxs)("div",{ref:l,className:"relative",children:[(0,b.jsxs)(j.Button,{variant:"outline",onClick:()=>k(a=>!a),className:"gap-2",children:[(0,b.jsx)(o,{cols:z,rows:A,active:!1}),(0,b.jsx)("span",{children:B}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground",children:"▼"})]}),i&&(0,b.jsxs)("div",{className:"absolute right-0 z-50 mt-1 w-72 rounded-lg border border-border bg-popover shadow-xl p-3",children:[(0,b.jsx)("h5",{className:"text-sm font-semibold text-foreground mb-3",children:g("missions.gridPreset")}),(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[h.map(c=>{let d=c.id===a;return(0,b.jsxs)("button",{onClick:()=>{f(c.id),k(!1)},className:`flex items-center gap-3 px-3 py-2.5 rounded-lg transition-colors ${d?"bg-primary/10":"hover:bg-accent"}`,children:[(0,b.jsx)(o,{cols:c.cols,rows:c.rows,active:d}),(0,b.jsx)("span",{className:`text-sm font-medium flex-1 text-left ${d?"text-primary":"text-foreground"}`,children:c.label}),(0,b.jsx)("span",{className:`text-xs ${d?"text-primary/60":"text-muted-foreground"}`,children:c.desc})]},c.id)}),(0,b.jsxs)("div",{className:"mt-1 border-t border-border pt-2",children:[(0,b.jsxs)("button",{onClick:()=>{m||f(p,{cols:s,rows:u})},className:`flex items-center gap-3 px-3 py-2.5 rounded-lg transition-colors w-full ${m?"bg-primary/10":"hover:bg-accent"}`,children:[(0,b.jsx)(o,{cols:s,rows:u,active:m}),(0,b.jsx)("span",{className:`text-sm font-medium flex-1 text-left ${m?"text-primary":"text-foreground"}`,children:g("missions.gridCustom")}),(0,b.jsxs)("span",{className:`text-xs ${m?"text-primary/60":"text-muted-foreground"}`,children:[s,"×",u]})]}),m&&(0,b.jsxs)("div",{className:"flex items-center gap-3 px-3 py-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground",children:g("missions.gridCols")}),(0,b.jsx)("input",{type:"number",min:w.minCols,max:w.maxCols,value:s,onChange:a=>{let b;t(b=y(Number(a.target.value),w.minCols,w.maxCols)),f(p,{cols:b,rows:u})},className:"h-7 w-14 rounded-md border border-border bg-background px-2 text-sm text-center"})]}),(0,b.jsx)("span",{className:"text-muted-foreground",children:"×"}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground",children:g("missions.gridRows")}),(0,b.jsx)("input",{type:"number",min:w.minRows,max:w.maxRows,value:u,onChange:a=>{let b;v(b=y(Number(a.target.value),w.minRows,w.maxRows)),f(p,{cols:s,rows:b})},className:"h-7 w-14 rounded-md border border-border bg-background px-2 text-sm text-center"})]})]})]})]})]})]})}var r=a.i(643228),s=a.i(859103),t=a.i(969032),u=a.i(553798),v=a.i(514126);let w=(0,l.default)("grip-vertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]),x=(0,l.default)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var y=a.i(54384);let z=(0,l.default)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);var A=a.i(785259),B=a.i(786304),C=a.i(657797),D=a.i(952313);let E=(0,t.default)(async()=>{},{loadableGenerated:{modules:[346069]},ssr:!1,loading:()=>(0,b.jsx)("div",{className:"h-full w-full bg-[#0a0a0a] animate-pulse"})});function F({execution:a,isRemoving:e,removeReason:f,onStop:g,onSessionEnd:h}){let{t:i}=(0,d.useI18n)(),k=(0,u.useRouter)(),{attributes:l,listeners:m,setNodeRef:n,transform:o,transition:p}=(0,s.useSortable)({id:a.executionId}),q={transform:v.CSS.Transform.toString(o),transition:p,opacity:+!e},[r,t]=(0,c.useState)(()=>a.startedAt?Math.floor((Date.now()-new Date(a.startedAt).getTime())/1e3):0);(0,c.useEffect)(()=>{if(e)return;let b=setInterval(()=>{t(a.startedAt?Math.floor((Date.now()-new Date(a.startedAt).getTime())/1e3):0)},1e3);return()=>clearInterval(b)},[a.startedAt,e]);let G=Math.floor(r/60),H=`${G}m ${r%60}s`;async function I(){if(a.projectLocalPath)try{await (0,C.openInTerminal)(a.projectLocalPath)}catch{D.toast.error(i("preview.terminalError"))}}return(0,b.jsxs)("div",{ref:n,style:q,className:"border border-border rounded-lg overflow-hidden flex flex-col transition-opacity duration-300",...l,children:[(0,b.jsxs)("div",{className:"h-10 px-3 flex items-center gap-1 border-b border-border bg-card shrink-0",children:[(0,b.jsx)("button",{...m,"aria-label":i("missions.dragHandle"),"aria-roledescription":"sortable",className:"cursor-grab text-muted-foreground hover:text-foreground mr-1",children:(0,b.jsx)(w,{className:"h-3.5 w-3.5"})}),(0,b.jsxs)("span",{className:"text-[11px] text-muted-foreground truncate flex-1",children:[a.workspaceName," ›"," ",a.projectAlias||a.projectName," ›"," ",(0,b.jsx)("span",{className:"text-foreground font-semibold",children:a.taskTitle})]}),e?(0,b.jsx)(B.Badge,{variant:"outline",className:"text-[11px] text-muted-foreground bg-muted ml-1 shrink-0",children:"stopped"===f?i("missions.statusStopped"):i("missions.statusCompleted")}):(0,b.jsx)(B.Badge,{variant:"outline",className:"text-[11px] text-primary border-primary/30 bg-primary/10 ml-1 shrink-0",children:i("missions.statusRunning")}),(0,b.jsx)("span",{className:"text-[11px] text-muted-foreground ml-1 shrink-0",children:H}),a.projectLocalPath&&(0,b.jsxs)(A.Tooltip,{children:[(0,b.jsx)(A.TooltipTrigger,{render:(0,b.jsx)(j.Button,{variant:"ghost",size:"icon",className:"ml-1 shrink-0 text-muted-foreground",onClick:I}),children:(0,b.jsx)(z,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(A.TooltipContent,{children:i("missions.openInTerminal")})]}),(0,b.jsxs)(A.Tooltip,{children:[(0,b.jsx)(A.TooltipTrigger,{render:(0,b.jsx)(j.Button,{variant:"ghost",size:"icon",className:"ml-1 shrink-0 text-muted-foreground",onClick:()=>k.push(`/workspaces/${a.workspaceId}/tasks/${a.taskId}`)}),children:(0,b.jsx)(x,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(A.TooltipContent,{children:i("missions.openFullView")})]}),(0,b.jsxs)(A.Tooltip,{children:[(0,b.jsx)(A.TooltipTrigger,{render:(0,b.jsx)(j.Button,{variant:"destructive",size:"icon",className:"ml-1 shrink-0",onClick:()=>g(a.taskId),disabled:e}),children:(0,b.jsx)(y.X,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(A.TooltipContent,{children:i("missions.stopTask")})]})]}),(0,b.jsx)("div",{className:"flex-1 overflow-hidden",children:(0,b.jsx)(E,{taskId:a.taskId,worktreePath:a.worktreePath??a.projectLocalPath,onSessionEnd:b=>h?.(a.taskId,b),useCanvasRenderer:!0})})]})}var G=a.i(594003);let H=(0,e.createServerReference)("40703e53ef5990a4521da3779e552894d433f3530d",e.callServer,void 0,e.findSourceMapURL,"getWorkspacesWithRecentTasks"),I=(0,e.createServerReference)("40f0937123828232c9ae97d96c72dd68ea5c9c3643",e.callServer,void 0,e.findSourceMapURL,"getProjectTasks");var J=a.i(240586),K=a.i(193433),L=a.i(866718),M=a.i(814574),N=a.i(10390);let O=(0,l.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);var P=a.i(161664),Q=a.i(573242),R=a.i(269876);let S={TODO:"TODO",IN_PROGRESS:"Running",IN_REVIEW:"Review"},T={LOW:"Low",MEDIUM:"Med",HIGH:"High",CRITICAL:"Crit"};function U({status:a}){return(0,b.jsx)("span",{className:`text-[10px] px-1.5 py-0.5 rounded font-medium ${{TODO:"bg-slate-100 text-slate-600 dark:bg-slate-800 dark:text-slate-400",IN_PROGRESS:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400",IN_REVIEW:"bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400"}[a]??"bg-slate-100 text-slate-600"}`,children:S[a]??a})}function V({task:a,isRunning:c,launchingId:d,onLaunchNew:e,onResume:f,t:g}){let h=a.executions?.[0]?.sessionId,i=d===a.id;return(0,b.jsxs)("div",{className:"group/task grid grid-cols-[minmax(0,1fr)_auto] items-center gap-2 px-3 py-1.5 hover:bg-accent/50 cursor-default",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:`text-sm truncate ${c?"italic text-muted-foreground":""}`,children:a.title}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 mt-0.5",children:[(0,b.jsx)(U,{status:a.status}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground",children:T[a.priority]??a.priority})]})]}),c?(0,b.jsx)("span",{className:"text-[10px] italic text-muted-foreground",children:g("missions.alreadyMonitored")}):(0,b.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover/task:opacity-100 transition-opacity",children:[h&&(0,b.jsxs)(j.Button,{variant:"outline",className:"h-6 px-2 text-xs",onClick:()=>f(a.id,h),disabled:i,title:g("missions.continueSession"),children:[(0,b.jsx)(P.RotateCcw,{className:"h-3 w-3 mr-1"}),g("missions.continueLabel")]}),(0,b.jsxs)(j.Button,{variant:"outline",className:"h-6 px-2 text-xs",onClick:()=>e(a.id),disabled:i,title:g("missions.launchNew"),children:[(0,b.jsx)(O,{className:"h-3 w-3 mr-1"}),i?"...":g("missions.launchNewLabel")]})]})]})}function W({open:a,onOpenChange:e,onLaunchNew:f,onResume:g,runningTaskIds:h,launchingId:k}){let{t:l}=(0,d.useI18n)(),[m,n]=(0,c.useState)([]),[o,p]=(0,c.useState)(""),[q,r]=(0,c.useState)(""),[s,t]=(0,c.useState)([]),[u,v]=(0,c.useState)("");(0,c.useEffect)(()=>{a&&(p(""),r(""),t([]),v(""),H(100).then(n).catch(()=>D.toast.error(l("missions.error.launchFailed"))))},[a,l]),(0,c.useEffect)(()=>{q?I(q).then(a=>{t(a.filter(a=>"TODO"===a.status||"IN_PROGRESS"===a.status||"IN_REVIEW"===a.status))}).catch(()=>D.toast.error(l("missions.error.launchFailed"))):t([])},[q,l]);let w=(0,c.useMemo)(()=>{let a=[];for(let b of m)for(let c of b.projects)for(let d of c.tasks)("TODO"===d.status||"IN_PROGRESS"===d.status||"IN_REVIEW"===d.status)&&a.push({task:d,workspaceName:b.name,projectName:c.alias??c.name});return a},[m]),x=(0,c.useMemo)(()=>new G.default(w,{keys:["task.title"],threshold:.4,distance:200}),[w]),z=(0,c.useMemo)(()=>{let a=u.trim();return a?x.search(a,{limit:30}).map(a=>a.item):[]},[x,u]),A=u.trim().length>0,B=m.find(a=>a.id===o),C=B?.projects??[];return(0,b.jsx)(M.Dialog,{open:a,onOpenChange:e,children:(0,b.jsxs)(M.DialogContent,{className:"sm:max-w-2xl max-h-[80vh]",children:[(0,b.jsx)(M.DialogHeader,{children:(0,b.jsx)(M.DialogTitle,{children:l("missions.fullPickerTitle")})}),(0,b.jsxs)("div",{className:"flex flex-col gap-2 shrink-0",children:[(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(Q.Search,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),(0,b.jsx)(L.Input,{value:u,onChange:a=>v(a.target.value),placeholder:l("missions.fullPicker.searchPlaceholder"),className:"pl-8 pr-8 h-8"}),u&&(0,b.jsx)(j.Button,{type:"button",variant:"ghost",size:"icon",className:"absolute right-1 top-1/2 -translate-y-1/2 h-6 w-6",onClick:()=>v(""),"aria-label":l("missions.fullPicker.clearSearch"),children:(0,b.jsx)(y.X,{className:"h-3.5 w-3.5"})})]}),!A&&(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)(i.Select,{value:o,onValueChange:a=>{p(a??""),r("")},children:[(0,b.jsx)(i.SelectTrigger,{id:"full-picker-ws",className:"w-48 h-8",children:(0,b.jsx)("span",{className:"truncate",children:m.find(a=>a.id===o)?.name??l("missions.launcher.selectWorkspace")})}),(0,b.jsx)(i.SelectContent,{children:m.map(a=>(0,b.jsx)(i.SelectItem,{value:a.id,children:a.name},a.id))})]}),(0,b.jsxs)(i.Select,{value:q,onValueChange:a=>r(a??""),disabled:!o,children:[(0,b.jsx)(i.SelectTrigger,{id:"full-picker-proj",className:"w-48 h-8",children:(0,b.jsx)("span",{className:"truncate",children:C.find(a=>a.id===q)?.name??l("missions.launcher.selectProject")})}),(0,b.jsx)(i.SelectContent,{children:C.map(a=>(0,b.jsx)(i.SelectItem,{value:a.id,children:a.alias??a.name},a.id))})]})]})]}),(0,b.jsx)(R.ScrollArea,{className:"max-h-[60vh] -mx-2",children:A?0===z.length?(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:l("missions.fullPicker.noSearchResults")}):z.map(a=>(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"px-3 pt-2 pb-0.5 text-[11px] text-muted-foreground",children:[a.workspaceName," · ",a.projectName]}),(0,b.jsx)(V,{task:a.task,isRunning:h.has(a.task.id),launchingId:k,onLaunchNew:f,onResume:g,t:l})]},a.task.id)):0===s.length&&q?(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:l("missions.launcher.noTasks")}):0===s.length?(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:l("missions.fullPickerHint")}):s.map(a=>(0,b.jsx)(V,{task:a,isRunning:h.has(a.id),launchingId:k,onLaunchNew:f,onResume:g,t:l},a.id))})]})})}function X({open:a,onOpenChange:e,onLaunched:f,runningTaskIds:g=new Set,anchorRef:h}){let{t:i}=(0,d.useI18n)(),k=(0,c.useRef)(null),[l,m]=(0,c.useState)([]),[n,o]=(0,c.useState)(!1),[p,q]=(0,c.useState)(null),[r,s]=(0,c.useState)(!1),[t,u]=(0,c.useState)(new Set);(0,c.useEffect)(()=>{a&&(o(!0),H(5).then(m).catch(()=>D.toast.error(i("missions.error.launchFailed"))).finally(()=>o(!1)))},[a,i]);let v=(0,c.useMemo)(()=>l.filter(a=>a.projects.some(a=>a._count.tasks>0)),[l]),w=(0,c.useCallback)(a=>{u(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]);(0,c.useEffect)(()=>{if(a)return document.addEventListener("mousedown",b),()=>document.removeEventListener("mousedown",b);function b(a){let b=a.target;if(k.current&&!k.current.contains(b)){if(h?.current&&h.current.contains(b))return;e(!1)}}},[a,e,h]);let x=(0,c.useCallback)(async a=>{try{q(a),await (0,J.startPtyExecution)(a,""),f(a),e(!1),s(!1)}catch{D.toast.error(i("missions.error.launchFailed"))}finally{q(null)}},[f,e,i]),y=(0,c.useCallback)(async(a,b)=>{try{q(a),await (0,K.resumePtyExecution)(a,b),f(a),e(!1),s(!1)}catch{D.toast.error(i("missions.error.launchFailed"))}finally{q(null)}},[f,e,i]),z=(0,c.useCallback)(()=>{e(!1),s(!0)},[e]);return a||r?(0,b.jsxs)(b.Fragment,{children:[a&&(0,b.jsxs)("div",{ref:k,className:"absolute right-0 z-50 mt-1 grid max-h-[480px] w-[28rem] grid-rows-[auto_minmax(0,1fr)_auto] overflow-hidden rounded-lg border border-border bg-popover shadow-xl",children:[(0,b.jsx)("div",{className:"px-3 py-2 border-b border-border",children:(0,b.jsx)("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:i("missions.pickerTitle")})}),(0,b.jsx)(R.ScrollArea,{children:n?(0,b.jsx)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:"Loading..."}):0===v.length?(0,b.jsx)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:i("missions.noAvailableTasks")}):v.map(a=>{let c=t.has(a.id),d=a.projects.filter(a=>a._count.tasks>0);return(0,b.jsxs)("div",{children:[(0,b.jsxs)(j.Button,{variant:"ghost",onClick:()=>w(a.id),className:"flex h-auto w-full justify-start gap-1.5 rounded-none border-b border-border/50 px-3 py-1.5 hover:bg-accent",children:[(0,b.jsx)(N.ChevronRight,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform ${c?"":"rotate-90"}`}),(0,b.jsx)("span",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider",children:a.name})]}),!c&&(0,b.jsx)("div",{className:"ml-[19px] mt-0.5 border-l border-border/50",children:d.map(a=>(0,b.jsxs)("div",{className:"py-0.5",children:[(0,b.jsx)("div",{className:"pl-3 pt-1.5 pb-1",children:(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:a.alias??a.name})}),(0,b.jsx)("div",{className:"pl-3",children:a.tasks.map(a=>(0,b.jsx)(V,{task:a,isRunning:g.has(a.id),launchingId:p,onLaunchNew:x,onResume:y,t:i},a.id))})]},a.id))})]},a.id)})}),(0,b.jsx)("div",{className:"border-t border-border",children:(0,b.jsx)(j.Button,{variant:"ghost",className:"w-full rounded-none text-xs text-primary font-medium",onClick:z,children:i("missions.showMoreTasks")})})]}),(0,b.jsx)(W,{open:r,onOpenChange:s,onLaunchNew:x,onResume:y,runningTaskIds:g,launchingId:p})]}):null}a.s(["MissionsClient",0,function({initialExecutions:a}){let{t:e}=(0,d.useI18n)(),[l,n]=(0,c.useState)(a),[o,p]=(0,c.useState)(()=>"3x2"),[t,u]=(0,c.useState)(()=>({cols:2,rows:2})),[v,w]=(0,c.useState)(!1),[x,y]=(0,c.useState)(""),z=(0,c.useRef)(null),[A,B]=(0,c.useState)(new Map),C=(0,c.useRef)(A);(0,c.useEffect)(()=>{C.current=A},[A]);let E=(0,c.useRef)(new Map),G=h.find(a=>a.id===o)??h[2],H="custom"===o?t.cols:G.cols,I="custom"===o?t.rows:G.rows,J=(0,c.useRef)(null),[K,L]=(0,c.useState)("480px");(0,c.useEffect)(()=>{let a=J.current;if(!a)return;let b=()=>{let b=(a.clientHeight-32-16*(I-1))/I;L(`${Math.max(b,200)}px`)};b();let c=new ResizeObserver(b);return c.observe(a),()=>c.disconnect()},[I]);let M=(0,c.useCallback)((a,b)=>{a&&(p(a),localStorage.setItem("missions-grid-preset",a),"custom"===a&&b&&(u(b),localStorage.setItem("missions-grid-custom",JSON.stringify(b))))},[]),N=(0,r.useSensors)((0,r.useSensor)(r.PointerSensor,{activationConstraint:{distance:8}})),O=(0,c.useCallback)(a=>{let{active:b,over:c}=a;c&&b.id!==c.id&&n(a=>{let d=a.findIndex(a=>a.executionId===b.id),e=a.findIndex(a=>a.executionId===c.id);return(0,s.arrayMove)(a,d,e)})},[]),P=(0,c.useCallback)((a,b)=>{if(C.current.has(a))return;B(c=>new Map([...c,[a,b]]));let c=setTimeout(()=>{n(b=>b.filter(b=>b.executionId!==a)),B(b=>{let c=new Map(b);return c.delete(a),c}),E.current.delete(a)},500);E.current.set(a,c)},[]);(0,c.useEffect)(()=>{let a=setInterval(async()=>{try{let a=await f();n(b=>{let c=C.current,{merged:d,goneIds:e}=function({prev:a,fresh:b,removingIds:c}){let d=new Set(b.map(a=>a.executionId)),e=[];a.forEach(a=>{d.has(a.executionId)||c.has(a.executionId)||e.push(a.executionId)});let f=a.filter(a=>d.has(a.executionId)||c.has(a.executionId)),g=new Set(a.map(a=>a.executionId));return{merged:[...f,...b.filter(a=>!g.has(a.executionId))],goneIds:e}}({prev:b,fresh:a,removingIds:new Set(c.keys())});return e.forEach(a=>P(a,"completed")),d})}catch{}},4e3);return()=>clearInterval(a)},[P]),(0,c.useEffect)(()=>{let a=E.current;return()=>{a.forEach(a=>clearTimeout(a))}},[]);let Q=(0,c.useCallback)(async a=>{try{await (0,g.stopPtyExecution)(a),n(b=>{let c=b.find(b=>b.taskId===a);return c&&P(c.executionId,"stopped"),b})}catch{D.toast.error(e("missions.error.stopFailed"))}},[P,e]),R=(0,c.useCallback)((a,b)=>{n(b=>{let c=b.find(b=>b.taskId===a);return c&&P(c.executionId,"completed"),b})},[P]),S=(0,c.useCallback)(a=>{f().then(a=>{n(b=>{let c=new Set(b.map(a=>a.executionId));return[...b,...a.filter(a=>!c.has(a.executionId))]})}).catch(()=>{})},[]),T=Array.from(new Map(l.map(a=>[a.workspaceId,a.workspaceName])).entries()).map(([a,b])=>({id:a,name:b})),U=x?l.filter(a=>a.workspaceId===x):l,V=new Set(l.map(a=>a.taskId));return(0,b.jsxs)("div",{className:"flex h-full flex-col",children:[(0,b.jsxs)("div",{className:"header-sm shrink-0 px-4 flex items-center gap-3",children:[(0,b.jsx)("h1",{className:"text-base font-semibold",children:e("missions.pageTitle")}),(0,b.jsxs)(i.Select,{value:x,onValueChange:a=>y(a??""),children:[(0,b.jsx)(i.SelectTrigger,{className:"w-36 h-8",children:(0,b.jsx)("span",{className:"truncate",children:x?T.find(a=>a.id===x)?.name??e("missions.filterAll"):e("missions.filterAll")})}),(0,b.jsxs)(i.SelectContent,{children:[(0,b.jsx)(i.SelectItem,{value:"",children:e("missions.filterAll")}),T.map(a=>(0,b.jsx)(i.SelectItem,{value:a.id,children:a.name},a.id))]})]}),(0,b.jsx)("div",{className:"flex-1"}),(0,b.jsx)(q,{value:o,customValue:t,onChange:M}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(j.Button,{ref:z,onClick:()=>w(a=>!a),children:e("missions.launchTask")}),(0,b.jsx)(X,{open:v,onOpenChange:w,onLaunched:S,runningTaskIds:V,anchorRef:z})]})]}),(0,b.jsx)("div",{ref:J,className:"flex-1 overflow-auto min-h-0 p-4",children:0===U.length&&0===A.size?(0,b.jsx)(k.EmptyState,{icon:m,title:e("missions.emptyTitle"),description:e("missions.emptyDesc"),className:"h-full",action:(0,b.jsx)(j.Button,{onClick:()=>w(!0),children:e("missions.launchTask")})}):(0,b.jsx)(r.DndContext,{id:"missions-dnd",sensors:N,collisionDetection:r.closestCenter,onDragEnd:O,children:(0,b.jsx)(s.SortableContext,{items:U.map(a=>a.executionId),strategy:s.rectSortingStrategy,children:(0,b.jsx)("div",{className:"grid gap-4",style:{gridTemplateColumns:`repeat(${H}, 1fr)`,gridAutoRows:K},children:U.map(a=>(0,b.jsx)(F,{execution:a,isRemoving:A.has(a.executionId),removeReason:A.get(a.executionId),onStop:Q,onSessionEnd:R},a.executionId))})})})})]})}],989799)}];
|
|
1
|
+
module.exports=[989799,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(951192),e=a.i(780410);let f=(0,e.createServerReference)("0021de992cf1b6d173658d29b6dd158ffe97677881",e.callServer,void 0,e.findSourceMapURL,"getActiveExecutionsAcrossWorkspaces");var g=a.i(768431);let h=[{id:"1x1",label:"1×1",cols:1,rows:1,minHeight:"480px",desc:"Focus mode"},{id:"2x1",label:"2×1",cols:2,rows:1,minHeight:"480px",desc:"Side by side"},{id:"3x2",label:"3×2",cols:3,rows:2,minHeight:"300px",desc:"Default"},{id:"2x2",label:"2×2",cols:2,rows:2,minHeight:"300px",desc:"Balanced"},{id:"4x2",label:"4×2",cols:4,rows:2,minHeight:"240px",desc:"Wide monitor"},{id:"3x3",label:"3×3",cols:3,rows:3,minHeight:"240px",desc:"Max overview"}];var i=a.i(580701),j=a.i(699570),k=a.i(579834),l=a.i(711796);let m=(0,l.default)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]);var n=a.i(558412);function o({cols:a,rows:c,active:d}){let e=Array.from({length:a*c});return(0,b.jsx)("div",{className:`grid gap-[1px] w-7 h-5 p-[3px] rounded-sm border shrink-0 ${d?"border-primary bg-primary/10":"border-border bg-muted"}`,style:{gridTemplateColumns:`repeat(${a}, 1fr)`,gridTemplateRows:`repeat(${c}, 1fr)`},children:e.map((a,c)=>(0,b.jsx)("div",{className:`rounded-[1px] min-w-0 min-h-0 ${d?"bg-primary":"bg-muted-foreground/40"}`},c))})}let p="custom";function q({value:a,customValue:e,onChange:f}){let{t:g}=(0,d.useI18n)(),[i,k]=(0,c.useState)(!1),l=(0,c.useRef)(null),m=a===p,r=m?null:h.find(b=>b.id===a)??h[2],[s,t]=(0,c.useState)(e?.cols??2),[u,v]=(0,c.useState)(e?.rows??2),[w,x]=(0,c.useState)({minCols:1,maxCols:5,minRows:1,maxRows:5});(0,c.useEffect)(()=>{(0,n.getConfigValues)(["missions.grid.minCols","missions.grid.maxCols","missions.grid.minRows","missions.grid.maxRows"]).then(a=>{x({minCols:a["missions.grid.minCols"]??1,maxCols:a["missions.grid.maxCols"]??5,minRows:a["missions.grid.minRows"]??1,maxRows:a["missions.grid.maxRows"]??5})})},[]),(0,c.useEffect)(()=>{e&&(t(e.cols),v(e.rows))},[e?.cols,e?.rows]),(0,c.useEffect)(()=>{if(i)return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a);function a(a){l.current&&!l.current.contains(a.target)&&k(!1)}},[i]);let y=(a,b,c)=>Math.max(b,Math.min(c,a)),z=m?s:r?.cols??2,A=m?u:r?.rows??2,B=m?`${s}\xd7${u}`:r?.label??"";return(0,b.jsxs)("div",{ref:l,className:"relative",children:[(0,b.jsxs)(j.Button,{variant:"outline",onClick:()=>k(a=>!a),className:"gap-2",children:[(0,b.jsx)(o,{cols:z,rows:A,active:!1}),(0,b.jsx)("span",{children:B}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground",children:"▼"})]}),i&&(0,b.jsxs)("div",{className:"absolute right-0 z-50 mt-1 w-72 rounded-lg border border-border bg-popover shadow-xl p-3",children:[(0,b.jsx)("h5",{className:"text-sm font-semibold text-foreground mb-3",children:g("missions.gridPreset")}),(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[h.map(c=>{let d=c.id===a;return(0,b.jsxs)("button",{onClick:()=>{f(c.id),k(!1)},className:`flex items-center gap-3 px-3 py-2.5 rounded-lg transition-colors ${d?"bg-primary/10":"hover:bg-accent"}`,children:[(0,b.jsx)(o,{cols:c.cols,rows:c.rows,active:d}),(0,b.jsx)("span",{className:`text-sm font-medium flex-1 text-left ${d?"text-primary":"text-foreground"}`,children:c.label}),(0,b.jsx)("span",{className:`text-xs ${d?"text-primary/60":"text-muted-foreground"}`,children:c.desc})]},c.id)}),(0,b.jsxs)("div",{className:"mt-1 border-t border-border pt-2",children:[(0,b.jsxs)("button",{onClick:()=>{m||f(p,{cols:s,rows:u})},className:`flex items-center gap-3 px-3 py-2.5 rounded-lg transition-colors w-full ${m?"bg-primary/10":"hover:bg-accent"}`,children:[(0,b.jsx)(o,{cols:s,rows:u,active:m}),(0,b.jsx)("span",{className:`text-sm font-medium flex-1 text-left ${m?"text-primary":"text-foreground"}`,children:g("missions.gridCustom")}),(0,b.jsxs)("span",{className:`text-xs ${m?"text-primary/60":"text-muted-foreground"}`,children:[s,"×",u]})]}),m&&(0,b.jsxs)("div",{className:"flex items-center gap-3 px-3 py-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground",children:g("missions.gridCols")}),(0,b.jsx)("input",{type:"number",min:w.minCols,max:w.maxCols,value:s,onChange:a=>{let b;t(b=y(Number(a.target.value),w.minCols,w.maxCols)),f(p,{cols:b,rows:u})},className:"h-7 w-14 rounded-md border border-border bg-background px-2 text-sm text-center"})]}),(0,b.jsx)("span",{className:"text-muted-foreground",children:"×"}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,b.jsx)("label",{className:"text-xs text-muted-foreground",children:g("missions.gridRows")}),(0,b.jsx)("input",{type:"number",min:w.minRows,max:w.maxRows,value:u,onChange:a=>{let b;v(b=y(Number(a.target.value),w.minRows,w.maxRows)),f(p,{cols:s,rows:b})},className:"h-7 w-14 rounded-md border border-border bg-background px-2 text-sm text-center"})]})]})]})]})]})]})}var r=a.i(643228),s=a.i(859103),t=a.i(969032),u=a.i(553798),v=a.i(514126);let w=(0,l.default)("grip-vertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]),x=(0,l.default)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var y=a.i(54384);let z=(0,l.default)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);var A=a.i(785259),B=a.i(786304),C=a.i(435357),D=a.i(952313);let E=(0,t.default)(async()=>{},{loadableGenerated:{modules:[346069]},ssr:!1,loading:()=>(0,b.jsx)("div",{className:"h-full w-full bg-[#0a0a0a] animate-pulse"})});function F({execution:a,isRemoving:e,removeReason:f,onStop:g,onSessionEnd:h}){let{t:i}=(0,d.useI18n)(),k=(0,u.useRouter)(),{attributes:l,listeners:m,setNodeRef:n,transform:o,transition:p}=(0,s.useSortable)({id:a.executionId}),q={transform:v.CSS.Transform.toString(o),transition:p,opacity:+!e},[r,t]=(0,c.useState)(()=>a.startedAt?Math.floor((Date.now()-new Date(a.startedAt).getTime())/1e3):0);(0,c.useEffect)(()=>{if(e)return;let b=setInterval(()=>{t(a.startedAt?Math.floor((Date.now()-new Date(a.startedAt).getTime())/1e3):0)},1e3);return()=>clearInterval(b)},[a.startedAt,e]);let G=Math.floor(r/60),H=`${G}m ${r%60}s`;async function I(){if(a.projectLocalPath)try{await (0,C.openInTerminal)(a.projectLocalPath)}catch{D.toast.error(i("preview.terminalError"))}}return(0,b.jsxs)("div",{ref:n,style:q,className:"border border-border rounded-lg overflow-hidden flex flex-col transition-opacity duration-300",...l,children:[(0,b.jsxs)("div",{className:"h-10 px-3 flex items-center gap-1 border-b border-border bg-card shrink-0",children:[(0,b.jsx)("button",{...m,"aria-label":i("missions.dragHandle"),"aria-roledescription":"sortable",className:"cursor-grab text-muted-foreground hover:text-foreground mr-1",children:(0,b.jsx)(w,{className:"h-3.5 w-3.5"})}),(0,b.jsxs)("span",{className:"text-[11px] text-muted-foreground truncate flex-1",children:[a.workspaceName," ›"," ",a.projectAlias||a.projectName," ›"," ",(0,b.jsx)("span",{className:"text-foreground font-semibold",children:a.taskTitle})]}),e?(0,b.jsx)(B.Badge,{variant:"outline",className:"text-[11px] text-muted-foreground bg-muted ml-1 shrink-0",children:"stopped"===f?i("missions.statusStopped"):i("missions.statusCompleted")}):(0,b.jsx)(B.Badge,{variant:"outline",className:"text-[11px] text-primary border-primary/30 bg-primary/10 ml-1 shrink-0",children:i("missions.statusRunning")}),(0,b.jsx)("span",{className:"text-[11px] text-muted-foreground ml-1 shrink-0",children:H}),a.projectLocalPath&&(0,b.jsxs)(A.Tooltip,{children:[(0,b.jsx)(A.TooltipTrigger,{render:(0,b.jsx)(j.Button,{variant:"ghost",size:"icon",className:"ml-1 shrink-0 text-muted-foreground",onClick:I}),children:(0,b.jsx)(z,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(A.TooltipContent,{children:i("missions.openInTerminal")})]}),(0,b.jsxs)(A.Tooltip,{children:[(0,b.jsx)(A.TooltipTrigger,{render:(0,b.jsx)(j.Button,{variant:"ghost",size:"icon",className:"ml-1 shrink-0 text-muted-foreground",onClick:()=>k.push(`/workspaces/${a.workspaceId}/tasks/${a.taskId}`)}),children:(0,b.jsx)(x,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(A.TooltipContent,{children:i("missions.openFullView")})]}),(0,b.jsxs)(A.Tooltip,{children:[(0,b.jsx)(A.TooltipTrigger,{render:(0,b.jsx)(j.Button,{variant:"destructive",size:"icon",className:"ml-1 shrink-0",onClick:()=>g(a.taskId),disabled:e}),children:(0,b.jsx)(y.X,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(A.TooltipContent,{children:i("missions.stopTask")})]})]}),(0,b.jsx)("div",{className:"flex-1 overflow-hidden",children:(0,b.jsx)(E,{taskId:a.taskId,worktreePath:a.worktreePath??a.projectLocalPath,onSessionEnd:b=>h?.(a.taskId,b),useCanvasRenderer:!0})})]})}var G=a.i(594003);let H=(0,e.createServerReference)("40f9a77c5fb0a112e2f2e4e9b23ac59900d499aa20",e.callServer,void 0,e.findSourceMapURL,"getWorkspacesWithRecentTasks"),I=(0,e.createServerReference)("40ed5a2e1ecede4bb689e84d768d03617f8e0f9a17",e.callServer,void 0,e.findSourceMapURL,"getProjectTasks");var J=a.i(128120),K=a.i(112270),L=a.i(866718),M=a.i(814574),N=a.i(10390);let O=(0,l.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);var P=a.i(161664),Q=a.i(573242),R=a.i(269876);let S={TODO:"TODO",IN_PROGRESS:"Running",IN_REVIEW:"Review"},T={LOW:"Low",MEDIUM:"Med",HIGH:"High",CRITICAL:"Crit"};function U({status:a}){return(0,b.jsx)("span",{className:`text-[10px] px-1.5 py-0.5 rounded font-medium ${{TODO:"bg-slate-100 text-slate-600 dark:bg-slate-800 dark:text-slate-400",IN_PROGRESS:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400",IN_REVIEW:"bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400"}[a]??"bg-slate-100 text-slate-600"}`,children:S[a]??a})}function V({task:a,isRunning:c,launchingId:d,onLaunchNew:e,onResume:f,t:g}){let h=a.executions?.[0]?.sessionId,i=d===a.id;return(0,b.jsxs)("div",{className:"group/task grid grid-cols-[minmax(0,1fr)_auto] items-center gap-2 px-3 py-1.5 hover:bg-accent/50 cursor-default",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:`text-sm truncate ${c?"italic text-muted-foreground":""}`,children:a.title}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 mt-0.5",children:[(0,b.jsx)(U,{status:a.status}),(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground",children:T[a.priority]??a.priority})]})]}),c?(0,b.jsx)("span",{className:"text-[10px] italic text-muted-foreground",children:g("missions.alreadyMonitored")}):(0,b.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover/task:opacity-100 transition-opacity",children:[h&&(0,b.jsxs)(j.Button,{variant:"outline",className:"h-6 px-2 text-xs",onClick:()=>f(a.id,h),disabled:i,title:g("missions.continueSession"),children:[(0,b.jsx)(P.RotateCcw,{className:"h-3 w-3 mr-1"}),g("missions.continueLabel")]}),(0,b.jsxs)(j.Button,{variant:"outline",className:"h-6 px-2 text-xs",onClick:()=>e(a.id),disabled:i,title:g("missions.launchNew"),children:[(0,b.jsx)(O,{className:"h-3 w-3 mr-1"}),i?"...":g("missions.launchNewLabel")]})]})]})}function W({open:a,onOpenChange:e,onLaunchNew:f,onResume:g,runningTaskIds:h,launchingId:k}){let{t:l}=(0,d.useI18n)(),[m,n]=(0,c.useState)([]),[o,p]=(0,c.useState)(""),[q,r]=(0,c.useState)(""),[s,t]=(0,c.useState)([]),[u,v]=(0,c.useState)("");(0,c.useEffect)(()=>{a&&(p(""),r(""),t([]),v(""),H(100).then(n).catch(()=>D.toast.error(l("missions.error.launchFailed"))))},[a,l]),(0,c.useEffect)(()=>{q?I(q).then(a=>{t(a.filter(a=>"TODO"===a.status||"IN_PROGRESS"===a.status||"IN_REVIEW"===a.status))}).catch(()=>D.toast.error(l("missions.error.launchFailed"))):t([])},[q,l]);let w=(0,c.useMemo)(()=>{let a=[];for(let b of m)for(let c of b.projects)for(let d of c.tasks)("TODO"===d.status||"IN_PROGRESS"===d.status||"IN_REVIEW"===d.status)&&a.push({task:d,workspaceName:b.name,projectName:c.alias??c.name});return a},[m]),x=(0,c.useMemo)(()=>new G.default(w,{keys:["task.title"],threshold:.4,distance:200}),[w]),z=(0,c.useMemo)(()=>{let a=u.trim();return a?x.search(a,{limit:30}).map(a=>a.item):[]},[x,u]),A=u.trim().length>0,B=m.find(a=>a.id===o),C=B?.projects??[];return(0,b.jsx)(M.Dialog,{open:a,onOpenChange:e,children:(0,b.jsxs)(M.DialogContent,{className:"sm:max-w-2xl max-h-[80vh]",children:[(0,b.jsx)(M.DialogHeader,{children:(0,b.jsx)(M.DialogTitle,{children:l("missions.fullPickerTitle")})}),(0,b.jsxs)("div",{className:"flex flex-col gap-2 shrink-0",children:[(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(Q.Search,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),(0,b.jsx)(L.Input,{value:u,onChange:a=>v(a.target.value),placeholder:l("missions.fullPicker.searchPlaceholder"),className:"pl-8 pr-8 h-8"}),u&&(0,b.jsx)(j.Button,{type:"button",variant:"ghost",size:"icon",className:"absolute right-1 top-1/2 -translate-y-1/2 h-6 w-6",onClick:()=>v(""),"aria-label":l("missions.fullPicker.clearSearch"),children:(0,b.jsx)(y.X,{className:"h-3.5 w-3.5"})})]}),!A&&(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)(i.Select,{value:o,onValueChange:a=>{p(a??""),r("")},children:[(0,b.jsx)(i.SelectTrigger,{id:"full-picker-ws",className:"w-48 h-8",children:(0,b.jsx)("span",{className:"truncate",children:m.find(a=>a.id===o)?.name??l("missions.launcher.selectWorkspace")})}),(0,b.jsx)(i.SelectContent,{children:m.map(a=>(0,b.jsx)(i.SelectItem,{value:a.id,children:a.name},a.id))})]}),(0,b.jsxs)(i.Select,{value:q,onValueChange:a=>r(a??""),disabled:!o,children:[(0,b.jsx)(i.SelectTrigger,{id:"full-picker-proj",className:"w-48 h-8",children:(0,b.jsx)("span",{className:"truncate",children:C.find(a=>a.id===q)?.name??l("missions.launcher.selectProject")})}),(0,b.jsx)(i.SelectContent,{children:C.map(a=>(0,b.jsx)(i.SelectItem,{value:a.id,children:a.alias??a.name},a.id))})]})]})]}),(0,b.jsx)(R.ScrollArea,{className:"max-h-[60vh] -mx-2",children:A?0===z.length?(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:l("missions.fullPicker.noSearchResults")}):z.map(a=>(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"px-3 pt-2 pb-0.5 text-[11px] text-muted-foreground",children:[a.workspaceName," · ",a.projectName]}),(0,b.jsx)(V,{task:a.task,isRunning:h.has(a.task.id),launchingId:k,onLaunchNew:f,onResume:g,t:l})]},a.task.id)):0===s.length&&q?(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:l("missions.launcher.noTasks")}):0===s.length?(0,b.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:l("missions.fullPickerHint")}):s.map(a=>(0,b.jsx)(V,{task:a,isRunning:h.has(a.id),launchingId:k,onLaunchNew:f,onResume:g,t:l},a.id))})]})})}function X({open:a,onOpenChange:e,onLaunched:f,runningTaskIds:g=new Set,anchorRef:h}){let{t:i}=(0,d.useI18n)(),k=(0,c.useRef)(null),[l,m]=(0,c.useState)([]),[n,o]=(0,c.useState)(!1),[p,q]=(0,c.useState)(null),[r,s]=(0,c.useState)(!1),[t,u]=(0,c.useState)(new Set);(0,c.useEffect)(()=>{a&&(o(!0),H(5).then(m).catch(()=>D.toast.error(i("missions.error.launchFailed"))).finally(()=>o(!1)))},[a,i]);let v=(0,c.useMemo)(()=>l.filter(a=>a.projects.some(a=>a._count.tasks>0)),[l]),w=(0,c.useCallback)(a=>{u(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]);(0,c.useEffect)(()=>{if(a)return document.addEventListener("mousedown",b),()=>document.removeEventListener("mousedown",b);function b(a){let b=a.target;if(k.current&&!k.current.contains(b)){if(h?.current&&h.current.contains(b))return;e(!1)}}},[a,e,h]);let x=(0,c.useCallback)(async a=>{try{q(a),await (0,J.startPtyExecution)(a,""),f(a),e(!1),s(!1)}catch{D.toast.error(i("missions.error.launchFailed"))}finally{q(null)}},[f,e,i]),y=(0,c.useCallback)(async(a,b)=>{try{q(a),await (0,K.resumePtyExecution)(a,b),f(a),e(!1),s(!1)}catch{D.toast.error(i("missions.error.launchFailed"))}finally{q(null)}},[f,e,i]),z=(0,c.useCallback)(()=>{e(!1),s(!0)},[e]);return a||r?(0,b.jsxs)(b.Fragment,{children:[a&&(0,b.jsxs)("div",{ref:k,className:"absolute right-0 z-50 mt-1 grid max-h-[480px] w-[28rem] grid-rows-[auto_minmax(0,1fr)_auto] overflow-hidden rounded-lg border border-border bg-popover shadow-xl",children:[(0,b.jsx)("div",{className:"px-3 py-2 border-b border-border",children:(0,b.jsx)("p",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:i("missions.pickerTitle")})}),(0,b.jsx)(R.ScrollArea,{children:n?(0,b.jsx)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:"Loading..."}):0===v.length?(0,b.jsx)("div",{className:"flex items-center justify-center py-8 text-sm text-muted-foreground",children:i("missions.noAvailableTasks")}):v.map(a=>{let c=t.has(a.id),d=a.projects.filter(a=>a._count.tasks>0);return(0,b.jsxs)("div",{children:[(0,b.jsxs)(j.Button,{variant:"ghost",onClick:()=>w(a.id),className:"flex h-auto w-full justify-start gap-1.5 rounded-none border-b border-border/50 px-3 py-1.5 hover:bg-accent",children:[(0,b.jsx)(N.ChevronRight,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform ${c?"":"rotate-90"}`}),(0,b.jsx)("span",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider",children:a.name})]}),!c&&(0,b.jsx)("div",{className:"ml-[19px] mt-0.5 border-l border-border/50",children:d.map(a=>(0,b.jsxs)("div",{className:"py-0.5",children:[(0,b.jsx)("div",{className:"pl-3 pt-1.5 pb-1",children:(0,b.jsx)("span",{className:"text-xs font-medium text-foreground",children:a.alias??a.name})}),(0,b.jsx)("div",{className:"pl-3",children:a.tasks.map(a=>(0,b.jsx)(V,{task:a,isRunning:g.has(a.id),launchingId:p,onLaunchNew:x,onResume:y,t:i},a.id))})]},a.id))})]},a.id)})}),(0,b.jsx)("div",{className:"border-t border-border",children:(0,b.jsx)(j.Button,{variant:"ghost",className:"w-full rounded-none text-xs text-primary font-medium",onClick:z,children:i("missions.showMoreTasks")})})]}),(0,b.jsx)(W,{open:r,onOpenChange:s,onLaunchNew:x,onResume:y,runningTaskIds:g,launchingId:p})]}):null}a.s(["MissionsClient",0,function({initialExecutions:a}){let{t:e}=(0,d.useI18n)(),[l,n]=(0,c.useState)(a),[o,p]=(0,c.useState)(()=>"3x2"),[t,u]=(0,c.useState)(()=>({cols:2,rows:2})),[v,w]=(0,c.useState)(!1),[x,y]=(0,c.useState)(""),z=(0,c.useRef)(null),[A,B]=(0,c.useState)(new Map),C=(0,c.useRef)(A);(0,c.useEffect)(()=>{C.current=A},[A]);let E=(0,c.useRef)(new Map),G=h.find(a=>a.id===o)??h[2],H="custom"===o?t.cols:G.cols,I="custom"===o?t.rows:G.rows,J=(0,c.useRef)(null),[K,L]=(0,c.useState)("480px");(0,c.useEffect)(()=>{let a=J.current;if(!a)return;let b=()=>{let b=(a.clientHeight-32-16*(I-1))/I;L(`${Math.max(b,200)}px`)};b();let c=new ResizeObserver(b);return c.observe(a),()=>c.disconnect()},[I]);let M=(0,c.useCallback)((a,b)=>{a&&(p(a),localStorage.setItem("missions-grid-preset",a),"custom"===a&&b&&(u(b),localStorage.setItem("missions-grid-custom",JSON.stringify(b))))},[]),N=(0,r.useSensors)((0,r.useSensor)(r.PointerSensor,{activationConstraint:{distance:8}})),O=(0,c.useCallback)(a=>{let{active:b,over:c}=a;c&&b.id!==c.id&&n(a=>{let d=a.findIndex(a=>a.executionId===b.id),e=a.findIndex(a=>a.executionId===c.id);return(0,s.arrayMove)(a,d,e)})},[]),P=(0,c.useCallback)((a,b)=>{if(C.current.has(a))return;B(c=>new Map([...c,[a,b]]));let c=setTimeout(()=>{n(b=>b.filter(b=>b.executionId!==a)),B(b=>{let c=new Map(b);return c.delete(a),c}),E.current.delete(a)},500);E.current.set(a,c)},[]);(0,c.useEffect)(()=>{let a=setInterval(async()=>{try{let a=await f();n(b=>{let c=C.current,{merged:d,goneIds:e}=function({prev:a,fresh:b,removingIds:c}){let d=new Set(b.map(a=>a.executionId)),e=[];a.forEach(a=>{d.has(a.executionId)||c.has(a.executionId)||e.push(a.executionId)});let f=a.filter(a=>d.has(a.executionId)||c.has(a.executionId)),g=new Set(a.map(a=>a.executionId));return{merged:[...f,...b.filter(a=>!g.has(a.executionId))],goneIds:e}}({prev:b,fresh:a,removingIds:new Set(c.keys())});return e.forEach(a=>P(a,"completed")),d})}catch{}},4e3);return()=>clearInterval(a)},[P]),(0,c.useEffect)(()=>{let a=E.current;return()=>{a.forEach(a=>clearTimeout(a))}},[]);let Q=(0,c.useCallback)(async a=>{try{await (0,g.stopPtyExecution)(a),n(b=>{let c=b.find(b=>b.taskId===a);return c&&P(c.executionId,"stopped"),b})}catch{D.toast.error(e("missions.error.stopFailed"))}},[P,e]),R=(0,c.useCallback)((a,b)=>{n(b=>{let c=b.find(b=>b.taskId===a);return c&&P(c.executionId,"completed"),b})},[P]),S=(0,c.useCallback)(a=>{f().then(a=>{n(b=>{let c=new Set(b.map(a=>a.executionId));return[...b,...a.filter(a=>!c.has(a.executionId))]})}).catch(()=>{})},[]),T=Array.from(new Map(l.map(a=>[a.workspaceId,a.workspaceName])).entries()).map(([a,b])=>({id:a,name:b})),U=x?l.filter(a=>a.workspaceId===x):l,V=new Set(l.map(a=>a.taskId));return(0,b.jsxs)("div",{className:"flex h-full flex-col",children:[(0,b.jsxs)("div",{className:"header-sm shrink-0 px-4 flex items-center gap-3",children:[(0,b.jsx)("h1",{className:"text-base font-semibold",children:e("missions.pageTitle")}),(0,b.jsxs)(i.Select,{value:x,onValueChange:a=>y(a??""),children:[(0,b.jsx)(i.SelectTrigger,{className:"w-36 h-8",children:(0,b.jsx)("span",{className:"truncate",children:x?T.find(a=>a.id===x)?.name??e("missions.filterAll"):e("missions.filterAll")})}),(0,b.jsxs)(i.SelectContent,{children:[(0,b.jsx)(i.SelectItem,{value:"",children:e("missions.filterAll")}),T.map(a=>(0,b.jsx)(i.SelectItem,{value:a.id,children:a.name},a.id))]})]}),(0,b.jsx)("div",{className:"flex-1"}),(0,b.jsx)(q,{value:o,customValue:t,onChange:M}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(j.Button,{ref:z,onClick:()=>w(a=>!a),children:e("missions.launchTask")}),(0,b.jsx)(X,{open:v,onOpenChange:w,onLaunched:S,runningTaskIds:V,anchorRef:z})]})]}),(0,b.jsx)("div",{ref:J,className:"flex-1 overflow-auto min-h-0 p-4",children:0===U.length&&0===A.size?(0,b.jsx)(k.EmptyState,{icon:m,title:e("missions.emptyTitle"),description:e("missions.emptyDesc"),className:"h-full",action:(0,b.jsx)(j.Button,{onClick:()=>w(!0),children:e("missions.launchTask")})}):(0,b.jsx)(r.DndContext,{id:"missions-dnd",sensors:N,collisionDetection:r.closestCenter,onDragEnd:O,children:(0,b.jsx)(s.SortableContext,{items:U.map(a=>a.executionId),strategy:s.rectSortingStrategy,children:(0,b.jsx)("div",{className:"grid gap-4",style:{gridTemplateColumns:`repeat(${H}, 1fr)`,gridAutoRows:K},children:U.map(a=>(0,b.jsx)(F,{execution:a,isRemoving:A.has(a.executionId),removeReason:A.get(a.executionId),onStop:Q,onSessionEnd:R},a.executionId))})})})})]})}],989799)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_app_missions_missions-client_tsx_11429lj._.js.map
|