tower-studio 0.1.10 → 0.1.12
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/BUILD_ID +1 -1
- package/.next/build/chunks/{0kjx__pnpm_05m.mc_._.js → 0-yb__pnpm_0dykqwq._.js} +167 -167
- package/.next/build/chunks/{[root-of-the-server]__13e2v6w._.js → [root-of-the-server]__01h52~y._.js} +3 -3
- package/.next/build/chunks/{[root-of-the-server]__0a5dngl._.js → [root-of-the-server]__097_v8t._.js} +7 -7
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0n5jxhz._.js +13 -0
- package/.next/build/chunks/[turbopack]_runtime.js +1 -1
- package/.next/build/postcss.js +4 -4
- package/.next/build-manifest.json +9 -9
- package/.next/cache/.previewinfo +1 -1
- package/.next/cache/.rscinfo +1 -1
- package/.next/diagnostics/route-bundle-stats.json +237 -237
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.js +3 -3
- package/.next/required-server-files.json +3 -3
- package/.next/server/app/_global-error/page/build-manifest.json +6 -6
- package/.next/server/app/_global-error/page.js +11 -11
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +8 -8
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_global-error.segments/_full.segment.rsc +8 -8
- package/.next/server/app/_global-error.segments/_head.segment.rsc +4 -4
- package/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page/build-manifest.json +6 -6
- package/.next/server/app/_not-found/page/next-font-manifest.json +1 -1
- package/.next/server/app/_not-found/page/react-loadable-manifest.json +7 -7
- package/.next/server/app/_not-found/page/server-reference-manifest.json +80 -80
- package/.next/server/app/_not-found/page.js +19 -19
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +13 -13
- package/.next/server/app/_not-found.segments/_full.segment.rsc +13 -13
- package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/server/app/_not-found.segments/_index.segment.rsc +8 -8
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/api/adapters/test/route.js +8 -8
- package/.next/server/app/api/adapters/test/route.js.nft.json +1 -1
- package/.next/server/app/api/browse-fs/route.js +6 -6
- package/.next/server/app/api/browse-fs/route.js.nft.json +1 -1
- package/.next/server/app/api/files/assets/[projectId]/[filename]/route.js +6 -6
- package/.next/server/app/api/files/assets/[projectId]/[filename]/route.js.nft.json +1 -1
- package/.next/server/app/api/git/route.js +6 -6
- package/.next/server/app/api/git/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js +6 -6
- package/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/assets/reveal/route.js +6 -6
- package/.next/server/app/api/internal/assets/reveal/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/assistant/chat/route.js +6 -6
- package/.next/server/app/api/internal/assistant/chat/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/assistant/images/route.js +8 -8
- package/.next/server/app/api/internal/assistant/images/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/assistant/route.js +6 -6
- package/.next/server/app/api/internal/assistant/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/assistant/sessions/route.js +6 -6
- package/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/cache/[...segments]/route.js +6 -6
- package/.next/server/app/api/internal/cache/[...segments]/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/hooks/install/route.js +6 -6
- package/.next/server/app/api/internal/hooks/install/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/hooks/session/route.js +6 -6
- package/.next/server/app/api/internal/hooks/session/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/hooks/stop/route.js +7 -7
- package/.next/server/app/api/internal/hooks/stop/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/hooks/upload/route.js +6 -6
- package/.next/server/app/api/internal/hooks/upload/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/notifications/pending/route.js +6 -6
- package/.next/server/app/api/internal/notifications/pending/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js +7 -7
- package/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/terminal/[taskId]/input/route.js +7 -7
- package/.next/server/app/api/internal/terminal/[taskId]/input/route.js.nft.json +1 -1
- package/.next/server/app/api/internal/terminal/[taskId]/start/route.js +9 -9
- package/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/[taskId]/diff/route.js +7 -7
- package/.next/server/app/api/tasks/[taskId]/diff/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/[taskId]/merge/route.js +8 -8
- package/.next/server/app/api/tasks/[taskId]/merge/route.js.nft.json +1 -1
- package/.next/server/app/apple-icon.png/route.js +6 -6
- package/.next/server/app/apple-icon.png/route.js.nft.json +1 -1
- package/.next/server/app/favicon.ico/route.js +6 -6
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/server/app/icon0.svg/route.js +6 -6
- package/.next/server/app/icon0.svg/route.js.nft.json +1 -1
- package/.next/server/app/icon1.png/route.js +6 -6
- package/.next/server/app/icon1.png/route.js.nft.json +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +13 -13
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +13 -13
- package/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/server/app/index.segments/_index.segment.rsc +8 -8
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/manifest.json/route.js +6 -6
- package/.next/server/app/manifest.json/route.js.nft.json +1 -1
- package/.next/server/app/missions/page/build-manifest.json +6 -6
- package/.next/server/app/missions/page/next-font-manifest.json +1 -1
- package/.next/server/app/missions/page/react-loadable-manifest.json +7 -7
- package/.next/server/app/missions/page/server-reference-manifest.json +148 -148
- package/.next/server/app/missions/page.js +21 -21
- package/.next/server/app/missions/page.js.nft.json +1 -1
- package/.next/server/app/missions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/onboarding/page/build-manifest.json +6 -6
- package/.next/server/app/onboarding/page/next-font-manifest.json +1 -1
- package/.next/server/app/onboarding/page/react-loadable-manifest.json +7 -7
- package/.next/server/app/onboarding/page/server-reference-manifest.json +80 -80
- package/.next/server/app/onboarding/page.js +20 -20
- package/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/server/app/onboarding.html +1 -1
- package/.next/server/app/onboarding.rsc +15 -15
- package/.next/server/app/onboarding.segments/_full.segment.rsc +15 -15
- package/.next/server/app/onboarding.segments/_head.segment.rsc +4 -4
- package/.next/server/app/onboarding.segments/_index.segment.rsc +8 -8
- package/.next/server/app/onboarding.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/onboarding.segments/onboarding.segment.rsc +3 -3
- package/.next/server/app/page/build-manifest.json +6 -6
- package/.next/server/app/page/next-font-manifest.json +1 -1
- package/.next/server/app/page/react-loadable-manifest.json +7 -7
- package/.next/server/app/page/server-reference-manifest.json +80 -80
- package/.next/server/app/page.js +20 -20
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page/build-manifest.json +6 -6
- package/.next/server/app/settings/page/next-font-manifest.json +1 -1
- package/.next/server/app/settings/page/react-loadable-manifest.json +7 -7
- package/.next/server/app/settings/page/server-reference-manifest.json +116 -116
- package/.next/server/app/settings/page.js +20 -20
- package/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings.html +1 -1
- package/.next/server/app/settings.rsc +15 -15
- package/.next/server/app/settings.segments/_full.segment.rsc +15 -15
- package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings.segments/_index.segment.rsc +8 -8
- package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings.segments/settings.segment.rsc +3 -3
- package/.next/server/app/workspaces/[workspaceId]/archive/page/build-manifest.json +6 -6
- package/.next/server/app/workspaces/[workspaceId]/archive/page/next-font-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +7 -7
- package/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +196 -196
- package/.next/server/app/workspaces/[workspaceId]/archive/page.js +20 -20
- package/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/[workspaceId]/assets/page/build-manifest.json +6 -6
- package/.next/server/app/workspaces/[workspaceId]/assets/page/next-font-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +7 -7
- package/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +178 -178
- package/.next/server/app/workspaces/[workspaceId]/assets/page.js +20 -20
- package/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/[workspaceId]/notes/page/build-manifest.json +6 -6
- package/.next/server/app/workspaces/[workspaceId]/notes/page/next-font-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +7 -7
- package/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +150 -150
- package/.next/server/app/workspaces/[workspaceId]/notes/page.js +20 -20
- package/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/[workspaceId]/page/build-manifest.json +6 -6
- package/.next/server/app/workspaces/[workspaceId]/page/next-font-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +7 -7
- package/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +192 -192
- package/.next/server/app/workspaces/[workspaceId]/page.js +21 -21
- package/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/build-manifest.json +6 -6
- package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/next-font-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +7 -7
- package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +80 -80
- package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js +20 -20
- package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/build-manifest.json +6 -6
- package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/next-font-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +10 -10
- package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +196 -196
- package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js +22 -22
- package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/page/build-manifest.json +6 -6
- package/.next/server/app/workspaces/page/next-font-manifest.json +1 -1
- package/.next/server/app/workspaces/page/react-loadable-manifest.json +7 -7
- package/.next/server/app/workspaces/page/server-reference-manifest.json +118 -118
- package/.next/server/app/workspaces/page.js +20 -20
- package/.next/server/app/workspaces/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
- package/.next/server/chunks/04uy__next-internal_server_app_api_internal_assets_reveal_route_actions_0znebp..js +3 -0
- package/.next/server/chunks/04uy__next-internal_server_app_api_internal_assistant_chat_route_actions_00gjtz_.js +3 -0
- package/.next/server/chunks/04uy__next-internal_server_app_api_internal_assistant_images_route_actions_0.n5t~i.js +3 -0
- package/.next/server/chunks/04uy__next-internal_server_app_api_internal_assistant_sessions_route_actions_0-fm7rx.js +3 -0
- package/.next/server/chunks/04uy__next-internal_server_app_api_internal_hooks_install_route_actions_0l972g~.js +3 -0
- package/.next/server/chunks/04uy__next-internal_server_app_api_internal_hooks_session_route_actions_0.suzi1.js +3 -0
- package/.next/server/chunks/0afp_server_app_api_files_assets_[projectId]_[filename]_route_actions_0-awt9r.js +3 -0
- package/.next/server/chunks/0afp_server_app_api_internal_assets_[projectId]_[filename]_route_actions_0t6ek0w.js +3 -0
- package/.next/server/chunks/0afp_server_app_api_internal_notifications_pending_route_actions_0f-e1l..js +3 -0
- package/.next/server/chunks/0afp_server_app_api_internal_terminal_[taskId]_buffer_route_actions_0m0i0r_.js +3 -0
- package/.next/server/chunks/0afp_server_app_api_internal_terminal_[taskId]_input_route_actions_0w_hflw.js +3 -0
- package/.next/server/chunks/0afp_server_app_api_internal_terminal_[taskId]_start_route_actions_0tci.x0.js +3 -0
- package/.next/server/chunks/{03j-_@anthropic-ai_claude-agent-sdk_sdk_mjs_04597t~._.js → 0b0n_@anthropic-ai_claude-agent-sdk_sdk_mjs_0wzx_-c._.js} +2 -2
- package/.next/server/chunks/0l2w_next-internal_server_app_api_internal_cache_[___segments]_route_actions_0s95wfk.js +3 -0
- package/.next/server/chunks/0u0h_tower__next-internal_server_app_api_internal_hooks_upload_route_actions_10hulej.js +3 -0
- package/.next/server/chunks/0u0h_tower__next-internal_server_app_api_tasks_[taskId]_merge_route_actions_02facil.js +3 -0
- package/.next/server/chunks/{10ge_next_dist_08.3req._.js → 0uz~_next_dist_0auh~z2._.js} +3 -3
- package/.next/server/chunks/{10ge_next_dist_esm_build_templates_app-route_0liabcf.js → 0uz~_next_dist_esm_build_templates_app-route_0.k256s.js} +2 -2
- package/.next/server/chunks/0uz~_next_dist_esm_build_templates_app-route_05yec2y.js +4 -0
- package/.next/server/chunks/0uz~_next_dist_esm_build_templates_app-route_06vryvz.js +3 -0
- package/.next/server/chunks/0uz~_next_dist_esm_build_templates_app-route_0q64.kc.js +3 -0
- package/.next/server/chunks/{10ge_next_dist_esm_build_templates_app-route_0jwpolf.js → 0uz~_next_dist_esm_build_templates_app-route_0s-fzhv.js} +2 -2
- package/.next/server/chunks/0uz~_next_dist_esm_build_templates_app-route_12y4scn.js +3 -0
- package/.next/server/chunks/0y0r_f_tower__next-internal_server_app_api_adapters_test_route_actions_0i51gzp.js +3 -0
- package/.next/server/chunks/0y0r_f_tower__next-internal_server_app_api_internal_assistant_route_actions_0n4kn0g.js +3 -0
- package/.next/server/chunks/0y0r_f_tower__next-internal_server_app_api_internal_hooks_stop_route_actions_0tddg8n.js +3 -0
- package/.next/server/chunks/0y0r_f_tower__next-internal_server_app_api_tasks_[taskId]_diff_route_actions_0ric8cc.js +3 -0
- package/.next/server/chunks/121__zod_v4_classic_external_0~18d66.js +39 -0
- package/.next/server/chunks/[root-of-the-server]__0.9.bkp._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__003.cao._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__11v.yk_._.js → [root-of-the-server]__02~bq0q._.js} +3 -3
- package/.next/server/chunks/[root-of-the-server]__05i_6jl._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__05mc_xk._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__06zd8x0._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__07_t6ha._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__05pxb~w._.js → [root-of-the-server]__081dmfv._.js} +3 -3
- package/.next/server/chunks/[root-of-the-server]__0axwx7g._.js +20 -0
- package/.next/server/chunks/[root-of-the-server]__0bvqbq0._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__12._zd-._.js → [root-of-the-server]__0hw3ulq._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__0sjsc63._.js → [root-of-the-server]__0i4isjs._.js} +3 -3
- package/.next/server/chunks/[root-of-the-server]__0il.3bc._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__07-am_7._.js → [root-of-the-server]__0k6_.b8._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0lg6mol._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0m31xle._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0p-9erj._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0p5iuez._.js +11 -0
- package/.next/server/chunks/[root-of-the-server]__0pe2bmo._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0sgxys4._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0t2ql2.._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__0rpqx55._.js → [root-of-the-server]__0u4~z7h._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0uvjyz~._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__0dqta7g._.js → [root-of-the-server]__0v.lagk._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0v6dx13._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0ypx5xw._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__0j3gbp7._.js → [root-of-the-server]__0ze75mm._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0~33o~m._.js +4 -0
- package/.next/server/chunks/[root-of-the-server]__0~_gk3k._.js +3 -0
- package/.next/server/chunks/[turbopack]_runtime.js +1 -1
- package/.next/server/chunks/project_f_tower_06227jx._.js +10 -0
- package/.next/server/chunks/{tower_03g~ktv._.js → project_f_tower_0ihrsvd._.js} +3 -3
- package/.next/server/chunks/project_f_tower_0n1s3ym._.js +3 -0
- package/.next/server/chunks/project_f_tower__next-internal_server_app_api_browse-fs_route_actions_0f1ms64.js +3 -0
- package/.next/server/chunks/project_f_tower__next-internal_server_app_api_git_route_actions_104q-kq.js +3 -0
- package/.next/server/chunks/project_f_tower__next-internal_server_app_apple-icon_png_route_actions_0bb5t_v.js +3 -0
- package/.next/server/chunks/project_f_tower__next-internal_server_app_favicon_ico_route_actions_0124g8-.js +3 -0
- package/.next/server/chunks/project_f_tower__next-internal_server_app_icon0_svg_route_actions_0kttj.d.js +3 -0
- package/.next/server/chunks/project_f_tower__next-internal_server_app_icon1_png_route_actions_12vfwry.js +3 -0
- package/.next/server/chunks/project_f_tower__next-internal_server_app_manifest_json_route_actions_0.~axx_.js +3 -0
- package/.next/server/chunks/project_f_tower_src_0er83xg._.js +3 -0
- package/.next/server/chunks/project_f_tower_src_11e.cv5._.js +3 -0
- package/.next/server/chunks/project_f_tower_src_lib_0p_b~77._.js +3 -0
- package/.next/server/chunks/{tower_src_lib_0uok6j3._.js → project_f_tower_src_lib_10p8sue._.js} +2 -2
- package/.next/server/chunks/project_f_tower_src_lib_constants_ts_020catz._.js +3 -0
- package/.next/server/chunks/ssr/0-yb__pnpm_072uqh4._.js +14 -0
- package/.next/server/chunks/ssr/0-yb__pnpm_0gui5y9._.js +3 -0
- package/.next/server/chunks/ssr/0-yb__pnpm_0qi3qqn._.js +3 -0
- package/.next/server/chunks/ssr/04uy_src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_01.s1p0._.js +3 -0
- package/.next/server/chunks/ssr/{03j-_@anthropic-ai_claude-agent-sdk_sdk_mjs_0kr2_y.._.js → 0b0n_@anthropic-ai_claude-agent-sdk_sdk_mjs_123v~_z._.js} +2 -2
- package/.next/server/chunks/ssr/0j~t_@monaco-editor_react_dist_index_mjs_0m1qx-m._.js +3 -0
- package/.next/server/chunks/ssr/0j~t_@monaco-editor_react_dist_index_mjs_0ni7by_._.js +3 -0
- package/.next/server/chunks/ssr/0rvf_@dnd-kit_core_dist_core_esm_0qazy~h.js +3 -0
- package/.next/server/chunks/ssr/0uz~_next_0smzj1m._.js +18 -0
- package/.next/server/chunks/ssr/0uz~_next_dist_058ju5m._.js +3 -0
- package/.next/server/chunks/ssr/0uz~_next_dist_0ot5z96._.js +19 -0
- package/.next/server/chunks/ssr/{10ge_next_dist_0pw4my6._.js → 0uz~_next_dist_0tnc.0z._.js} +2 -2
- package/.next/server/chunks/ssr/0uz~_next_dist_0viyn-6._.js +6 -0
- package/.next/server/chunks/ssr/{10ge_next_dist_0wjbiu9._.js → 0uz~_next_dist_0xqqv-_._.js} +2 -2
- package/.next/server/chunks/ssr/0uz~_next_dist_11y31c8._.js +3 -0
- package/.next/server/chunks/ssr/{10ge_next_dist_client_components_0--gzcy._.js → 0uz~_next_dist_client_components_0m_m~4r._.js} +2 -2
- package/.next/server/chunks/ssr/{10ge_next_dist_client_components_0eil7-a._.js → 0uz~_next_dist_client_components_0neff21._.js} +3 -3
- package/.next/server/chunks/ssr/0uz~_next_dist_client_components_builtin_forbidden_0kvxu2~.js +3 -0
- package/.next/server/chunks/ssr/0uz~_next_dist_client_components_builtin_global-error_0377e9o.js +3 -0
- package/.next/server/chunks/ssr/0uz~_next_dist_client_components_builtin_unauthorized_0wz-f2j.js +3 -0
- package/.next/server/chunks/ssr/{10ge_next_dist_compiled_0g45ze2._.js → 0uz~_next_dist_compiled_0m~qqw~._.js} +2 -2
- package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_01q4vlm.js +4 -0
- package/.next/server/chunks/ssr/{10ge_next_dist_esm_build_templates_app-page_0fjd2ua.js → 0uz~_next_dist_esm_build_templates_app-page_0553tiz.js} +3 -3
- package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_0as2amp.js +4 -0
- package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_0crer~s.js +4 -0
- package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_0cu4e.5.js +4 -0
- package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_0gn6gc1.js +4 -0
- package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_0h.vao6.js +4 -0
- package/.next/server/chunks/ssr/{10ge_next_dist_esm_build_templates_app-page_11pz1fw.js → 0uz~_next_dist_esm_build_templates_app-page_0k4fbs6.js} +3 -3
- package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_0n2032y.js +4 -0
- package/.next/server/chunks/ssr/{10ge_next_dist_esm_build_templates_app-page_080g02v.js → 0uz~_next_dist_esm_build_templates_app-page_0y10ld_.js} +3 -3
- package/.next/server/chunks/ssr/{10ge_next_dist_esm_build_templates_app-page_0zgisbd.js → 0uz~_next_dist_esm_build_templates_app-page_0ysuakv.js} +3 -3
- package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_136sj3a.js +4 -0
- package/.next/server/chunks/ssr/0uz~_next_dist_esm_build_templates_app-page_13jghu9.js +4 -0
- package/.next/server/chunks/ssr/0xjs_lucide-react_dist_esm_icons_0l6be37._.js +3 -0
- package/.next/server/chunks/ssr/0y0r_f_tower_src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0n4g3bn._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0.hh.2a._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0.r38oo._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__05452ke._.js → [root-of-the-server]__00.lowc._.js} +3 -3
- package/.next/server/chunks/ssr/{[root-of-the-server]__0d5p5d.._.js → [root-of-the-server]__007tg36._.js} +3 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__012ko5_._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__0i6glcp._.js → [root-of-the-server]__025.0xa._.js} +3 -3
- package/.next/server/chunks/ssr/{[root-of-the-server]__0gsj3~.._.js → [root-of-the-server]__04u4kb4._.js} +3 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__055w_hn._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__0adx8p4._.js → [root-of-the-server]__05a17ca._.js} +3 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__06qzctf._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__08meal1._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__09mr4e7._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0c1i04u._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ffdrwp._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0fkkh9j._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0fwuc5u._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__06sm5cw._.js → [root-of-the-server]__0hiekzn._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__0i4rk9v._.js +47 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0la.lch._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0m28~~t._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0mf.3xq._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0nmyvwk._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0np-y3i._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__0jux8~h._.js → [root-of-the-server]__0p_hwna._.js} +3 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0p~~40h._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0qwr~nq._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0r6gkos._.js +30 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__1223b0_._.js → [root-of-the-server]__0u26l~e._.js} +3 -3
- package/.next/server/chunks/ssr/{[root-of-the-server]__04xn50b._.js → [root-of-the-server]__0uca1bc._.js} +3 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0v7fjw6._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0v94jfv._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0vn5cvq._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__13-by9r._.js → [root-of-the-server]__0w.hk6m._.js} +3 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0w7gbe7._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0w8l-4s._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0wkjslq._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0wsvmkr._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0xe-o3g._.js +30 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0xe9b6_._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0zemnbk._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0zugnux._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__105vrk3._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__112new_._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__11j4k9o._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__13cjs8r._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__13eo85g._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__13x5mmo._.js +30 -0
- package/.next/server/chunks/ssr/[turbopack]_runtime.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_0-0bopv._.js +30 -0
- package/.next/server/chunks/ssr/project_f_tower_0.k8r5w._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_0.txwd8._.js +3 -0
- package/.next/server/chunks/ssr/{tower_0d.car1._.js → project_f_tower_02411e5._.js} +3 -3
- package/.next/server/chunks/ssr/project_f_tower_02x5vbj._.js +3 -0
- package/.next/server/chunks/ssr/{tower_0egtw-7._.js → project_f_tower_04g3~44._.js} +3 -3
- package/.next/server/chunks/ssr/project_f_tower_0c6n7oo._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_0cjk_8x._.js +30 -0
- package/.next/server/chunks/ssr/project_f_tower_0d-6.rs._.js +39 -0
- package/.next/server/chunks/ssr/project_f_tower_0dfyjgz._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_0ea6ill._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_0f0-wva._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_0hgtev9._.js +7 -0
- package/.next/server/chunks/ssr/project_f_tower_0ifpw8k._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_0ivvjwd._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_0jy~1uf._.js +3 -0
- package/.next/server/chunks/ssr/{tower_0tuq2iz._.js → project_f_tower_0knz136._.js} +3 -3
- package/.next/server/chunks/ssr/project_f_tower_0l6ssf8._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_0ntkd-l._.js +6 -0
- package/.next/server/chunks/ssr/project_f_tower_0o5.y1e._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_0p39h1r._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_0ron~f-._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_0sj3voe._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_0t0smg9._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_0u6dr5n._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_0ym-aea._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_10lk3gb._.js +30 -0
- package/.next/server/chunks/ssr/{tower_0h3r32m._.js → project_f_tower_10~x~zx._.js} +3 -3
- package/.next/server/chunks/ssr/project_f_tower__next-internal_server_app__global-error_page_actions_0r22s5i.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_src_0_g15e8._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_src_actions_agent-actions_ts_0.s4~m-._.js +4 -0
- package/.next/server/chunks/ssr/project_f_tower_src_actions_file-actions_ts_02i742t._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_src_app_missions_missions-client_tsx_0ums4qx._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_src_app_onboarding_page_tsx_0_9_yoq._.js +3 -0
- package/.next/server/chunks/ssr/{tower_src_app_settings_page_tsx_0vo5e-o._.js → project_f_tower_src_app_settings_page_tsx_0oo06~d._.js} +2 -2
- package/.next/server/chunks/ssr/project_f_tower_src_app_workspaces_[workspaceId]_board-page-client_tsx_0jmj1xz._.js +7 -0
- package/.next/server/chunks/ssr/project_f_tower_src_components_ui_select_tsx_07scqtg._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_src_lib_0-pi47a._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_src_lib_0._5zby._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_src_lib_0kwu.w7._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_src_lib_0q3t9-e._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_src_lib_11g-ixh._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_src_lib_constants_ts_0.qkxto._.js +3 -0
- package/.next/server/edge/chunks/0s6b_next_dist_esm_build_templates_edge-wrapper_0gir.8i.js +3 -0
- package/.next/server/edge/chunks/project_f_tower_0zwq2~l._.js +3 -0
- package/.next/server/instrumentation/middleware-manifest.json +2 -2
- package/.next/server/instrumentation.js +3 -3
- package/.next/server/instrumentation.js.nft.json +1 -1
- package/.next/server/middleware-build-manifest.js +9 -9
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +12 -12
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1008 -1008
- package/.next/static/chunks/0-49z0i7n9z_u.js +31 -0
- package/.next/static/chunks/0-plp~pgpcel9.js +1 -0
- package/.next/static/chunks/{16qoc.u84jlcd.js → 0.do_z22ngnjd.js} +1 -1
- package/.next/static/chunks/0.vq_m53d7t~7.js +1 -0
- package/.next/static/chunks/00atyrg-7i0hj.js +1 -0
- package/.next/static/chunks/01mymnegugktp.js +1 -0
- package/.next/static/chunks/048wsx4_3dx7m.js +1 -0
- package/.next/static/chunks/04rm7wn4pu3v9.js +1 -0
- package/.next/static/chunks/{03e.4ymu.j5wl.js → 05r51bf1-_-x4.js} +1 -1
- package/.next/static/chunks/07_bc0h5~tysp.js +1 -0
- package/.next/static/chunks/09hs9w6-77im2.js +1 -0
- package/.next/static/chunks/09hxu-k8oyivu.js +1 -0
- package/.next/static/chunks/09mkfd6kg8s2..js +1 -0
- package/.next/static/chunks/09p7-kr_vidww.js +5 -0
- package/.next/static/chunks/0ayhcszr5.75h.js +1 -0
- package/.next/static/chunks/0c49o.5w_cw8_.js +1 -0
- package/.next/static/chunks/0c5h4.yuzpzs5.js +12 -0
- package/.next/static/chunks/0d.3wv6u.2g~6.js +5 -0
- package/.next/static/chunks/0i5zk6woum~cm.js +1 -0
- package/.next/static/chunks/0im8~yii0.2mn.js +1 -0
- package/.next/static/chunks/0kbuf91gryyo2.js +1 -0
- package/.next/static/chunks/0odp5708u_28m.js +1 -0
- package/.next/static/chunks/0p~3m91-t6p91.js +1 -0
- package/.next/static/chunks/0q6i_n.rkxpn0.js +1 -0
- package/.next/static/chunks/0qnz9q6uieuv8.js +1 -0
- package/.next/static/chunks/{0xi0wi2z6otp9.js → 0qp~1_kfjklfg.js} +2 -2
- package/.next/static/chunks/0qrp0pov94ecf.js +1 -0
- package/.next/static/chunks/0sdq_svi-w4cf.js +1 -0
- package/.next/static/chunks/0smj3ii_egywx.js +1 -0
- package/.next/static/chunks/0u6p4i4aoeb4m.js +1 -0
- package/.next/static/chunks/0vs5vey5ni44t.js +1 -0
- package/.next/static/chunks/0xvn7yrj70a9v.js +1 -0
- package/.next/static/chunks/0yjtd51nb081_.js +4 -0
- package/.next/static/chunks/10_azh3_hkhxj.js +1 -0
- package/.next/static/chunks/116on53madp~2.js +2 -0
- package/.next/static/chunks/15zclhqyib88_.js +1 -0
- package/.next/static/chunks/{turbopack-0wjmrsi.z32s0.js → turbopack-12rg1oczocj42.js} +1 -1
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/bin/tower.mjs +20 -1
- package/package.json +1 -1
- package/scripts/generate-prisma-client.js +2 -17
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0y_r.ay._.js +0 -13
- package/.next/server/chunks/0cve_next-internal_server_app_api_internal_cache_[___segments]_route_actions_09n1sa3.js +0 -3
- package/.next/server/chunks/0tp-_server_app_api_files_assets_[projectId]_[filename]_route_actions_02i2urs.js +0 -3
- package/.next/server/chunks/0tp-_server_app_api_internal_assets_[projectId]_[filename]_route_actions_0kjz576.js +0 -3
- package/.next/server/chunks/0tp-_server_app_api_internal_notifications_pending_route_actions_08bx38r.js +0 -3
- package/.next/server/chunks/0tp-_server_app_api_internal_terminal_[taskId]_buffer_route_actions_0bpyf5x.js +0 -3
- package/.next/server/chunks/0tp-_server_app_api_internal_terminal_[taskId]_input_route_actions_0alu32r.js +0 -3
- package/.next/server/chunks/0tp-_server_app_api_internal_terminal_[taskId]_start_route_actions_0swqog2.js +0 -3
- package/.next/server/chunks/0w1v_zod_v4_classic_external_0m-7hz_.js +0 -39
- package/.next/server/chunks/0~.g__next-internal_server_app_api_internal_assistant_chat_route_actions_0x-qbrh.js +0 -3
- package/.next/server/chunks/0~.g__next-internal_server_app_api_internal_assistant_images_route_actions_0vws40t.js +0 -3
- package/.next/server/chunks/0~.g__next-internal_server_app_api_internal_assistant_sessions_route_actions_0p09rcp.js +0 -3
- package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_00gmiw_.js +0 -3
- package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_0z9_0_i.js +0 -3
- package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_13w3ubu.js +0 -3
- package/.next/server/chunks/10ge_next_dist_esm_build_templates_app-route_13~vb_i.js +0 -4
- package/.next/server/chunks/[root-of-the-server]__02p-gd5._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0319djr._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__043lk8~._.js +0 -4
- package/.next/server/chunks/[root-of-the-server]__053y9tf._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__09gjz6h._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0_irb2s._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0c4edwt._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0c7y1r0._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0dj34zn._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0ko_rm_._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0miy2g.._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0mt-eeb._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0n-6-hc._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0nur_ir._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0pz60q-._.js +0 -20
- package/.next/server/chunks/[root-of-the-server]__0q~5ya5._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0th.w7w._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0u..agy._.js +0 -11
- package/.next/server/chunks/[root-of-the-server]__0umzekq._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0wu61w.._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__130shf~._.js +0 -3
- package/.next/server/chunks/ssr/040e_@monaco-editor_react_dist_index_mjs_0t4i-ho._.js +0 -3
- package/.next/server/chunks/ssr/040e_@monaco-editor_react_dist_index_mjs_0z6t1fr._.js +0 -3
- package/.next/server/chunks/ssr/0kjx__pnpm_0g9g8h6._.js +0 -3
- package/.next/server/chunks/ssr/0kjx__pnpm_0l.5ii.._.js +0 -3
- package/.next/server/chunks/ssr/0kjx__pnpm_0wrn.h9._.js +0 -14
- package/.next/server/chunks/ssr/0rik_@dnd-kit_core_dist_core_esm_11giptg.js +0 -3
- package/.next/server/chunks/ssr/0~.g_src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_0bbseig._.js +0 -3
- package/.next/server/chunks/ssr/10ge_next_00.-vj.._.js +0 -18
- package/.next/server/chunks/ssr/10ge_next_dist_01n~t8z._.js +0 -6
- package/.next/server/chunks/ssr/10ge_next_dist_06_-w96._.js +0 -19
- package/.next/server/chunks/ssr/10ge_next_dist_0~ti7jc._.js +0 -3
- package/.next/server/chunks/ssr/10ge_next_dist_10.ihny._.js +0 -3
- package/.next/server/chunks/ssr/10ge_next_dist_client_components_builtin_forbidden_0nzsnb2.js +0 -3
- package/.next/server/chunks/ssr/10ge_next_dist_client_components_builtin_global-error_125sopd.js +0 -3
- package/.next/server/chunks/ssr/10ge_next_dist_client_components_builtin_unauthorized_0z93cpe.js +0 -3
- package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_08khzah.js +0 -4
- package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_09~o5q0.js +0 -4
- package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0_rj_f4.js +0 -4
- package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0c-wmj1.js +0 -4
- package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0hpuyf0.js +0 -4
- package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0knnyic.js +0 -4
- package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0oi86k6.js +0 -4
- package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_0rmwdra.js +0 -4
- package/.next/server/chunks/ssr/10ge_next_dist_esm_build_templates_app-page_12reczc.js +0 -4
- package/.next/server/chunks/ssr/119e_lucide-react_dist_esm_icons_0636jyq._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0-0j_z3._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0.8y0n9._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0.uoh7q._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__01ws4-7._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__024-5kd._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__02ipahf._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__03.14vw._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__06o5v8i._.js +0 -30
- package/.next/server/chunks/ssr/[root-of-the-server]__08_0ex9._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__09m32ch._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0_0kxz4._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0bk3s4l._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0bo1n69._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0d7u1lw._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0fg8.hp._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0ibsor_._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0j5~a_o._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0jgbj6l._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0ld6_w6._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0l~dc3x._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0n32nv5._.js +0 -30
- package/.next/server/chunks/ssr/[root-of-the-server]__0n8qufu._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0ndt9h3._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0p~u4y6._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0q.du4s._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0rs7pkn._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0sysz2q._.js +0 -47
- package/.next/server/chunks/ssr/[root-of-the-server]__0t25~v8._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0ti70do._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0uevudp._.js +0 -30
- package/.next/server/chunks/ssr/[root-of-the-server]__0wwqzmm._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0xt3-qb._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0y-lkvf._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0zvf.ro._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__11m7m-q._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__12f810l._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__13-egel._.js +0 -3
- package/.next/server/chunks/ssr/tower_0-nwtka._.js +0 -3
- package/.next/server/chunks/ssr/tower_0-omr_b._.js +0 -30
- package/.next/server/chunks/ssr/tower_01szasw._.js +0 -3
- package/.next/server/chunks/ssr/tower_035l~qv._.js +0 -3
- package/.next/server/chunks/ssr/tower_03jazku._.js +0 -3
- package/.next/server/chunks/ssr/tower_0donrdk._.js +0 -3
- package/.next/server/chunks/ssr/tower_0i9k4a6._.js +0 -3
- package/.next/server/chunks/ssr/tower_0kl_bfy._.js +0 -7
- package/.next/server/chunks/ssr/tower_0m_uudm._.js +0 -3
- package/.next/server/chunks/ssr/tower_0mn8ig7._.js +0 -3
- package/.next/server/chunks/ssr/tower_0mz4ut.._.js +0 -3
- package/.next/server/chunks/ssr/tower_0nuj.0p._.js +0 -39
- package/.next/server/chunks/ssr/tower_0pcqezm._.js +0 -3
- package/.next/server/chunks/ssr/tower_0pmey24._.js +0 -3
- package/.next/server/chunks/ssr/tower_0r7uuim._.js +0 -30
- package/.next/server/chunks/ssr/tower_0sojjnu._.js +0 -3
- package/.next/server/chunks/ssr/tower_0tc~.xl._.js +0 -30
- package/.next/server/chunks/ssr/tower_0ut7r._._.js +0 -3
- package/.next/server/chunks/ssr/tower_0wvk~r.._.js +0 -3
- package/.next/server/chunks/ssr/tower_10p15te._.js +0 -3
- package/.next/server/chunks/ssr/tower_10t13p4._.js +0 -6
- package/.next/server/chunks/ssr/tower_117pzh8._.js +0 -3
- package/.next/server/chunks/ssr/tower_11q5_.m._.js +0 -3
- package/.next/server/chunks/ssr/tower_138qlx5._.js +0 -3
- package/.next/server/chunks/ssr/tower__next-internal_server_app__global-error_page_actions_13t5~qk.js +0 -3
- package/.next/server/chunks/ssr/tower_src_077qk8s._.js +0 -3
- package/.next/server/chunks/ssr/tower_src_actions_agent-actions_ts_0j.e1tn._.js +0 -4
- package/.next/server/chunks/ssr/tower_src_actions_file-actions_ts_0424lna._.js +0 -3
- package/.next/server/chunks/ssr/tower_src_app_missions_missions-client_tsx_0a9vjyr._.js +0 -3
- package/.next/server/chunks/ssr/tower_src_app_onboarding_page_tsx_0_3krz1._.js +0 -3
- package/.next/server/chunks/ssr/tower_src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0zfgzhi._.js +0 -3
- package/.next/server/chunks/ssr/tower_src_app_workspaces_[workspaceId]_board-page-client_tsx_0kjp1u0._.js +0 -7
- package/.next/server/chunks/ssr/tower_src_components_ui_select_tsx_10ajx~2._.js +0 -3
- package/.next/server/chunks/ssr/tower_src_lib_01420_4._.js +0 -3
- package/.next/server/chunks/ssr/tower_src_lib_0i-zjpa._.js +0 -3
- package/.next/server/chunks/ssr/tower_src_lib_0ja~kdb._.js +0 -3
- package/.next/server/chunks/ssr/tower_src_lib_0obw2r8._.js +0 -3
- package/.next/server/chunks/ssr/tower_src_lib_0rgfsuf._.js +0 -3
- package/.next/server/chunks/ssr/tower_src_lib_constants_ts_0o218_c._.js +0 -3
- package/.next/server/chunks/tower_05du07.._.js +0 -10
- package/.next/server/chunks/tower_0a-x6m.._.js +0 -3
- package/.next/server/chunks/tower__next-internal_server_app_api_adapters_test_route_actions_13jw~9b.js +0 -3
- package/.next/server/chunks/tower__next-internal_server_app_api_browse-fs_route_actions_0k5p2xy.js +0 -3
- package/.next/server/chunks/tower__next-internal_server_app_api_git_route_actions_0rvpodb.js +0 -3
- package/.next/server/chunks/tower__next-internal_server_app_api_internal_assets_reveal_route_actions_0idwm6j.js +0 -3
- package/.next/server/chunks/tower__next-internal_server_app_api_internal_assistant_route_actions_0rdz1d..js +0 -3
- package/.next/server/chunks/tower__next-internal_server_app_api_internal_hooks_install_route_actions_06dxleu.js +0 -3
- package/.next/server/chunks/tower__next-internal_server_app_api_internal_hooks_session_route_actions_0wlv4lf.js +0 -3
- package/.next/server/chunks/tower__next-internal_server_app_api_internal_hooks_stop_route_actions_101_oub.js +0 -3
- package/.next/server/chunks/tower__next-internal_server_app_api_internal_hooks_upload_route_actions_0439qz_.js +0 -3
- package/.next/server/chunks/tower__next-internal_server_app_api_tasks_[taskId]_diff_route_actions_0nthc84.js +0 -3
- package/.next/server/chunks/tower__next-internal_server_app_api_tasks_[taskId]_merge_route_actions_0g.x0nb.js +0 -3
- package/.next/server/chunks/tower__next-internal_server_app_apple-icon_png_route_actions_0bni-sb.js +0 -3
- package/.next/server/chunks/tower__next-internal_server_app_favicon_ico_route_actions_0kw~xj2.js +0 -3
- package/.next/server/chunks/tower__next-internal_server_app_icon0_svg_route_actions_0nww9-e.js +0 -3
- package/.next/server/chunks/tower__next-internal_server_app_icon1_png_route_actions_09h.ywu.js +0 -3
- package/.next/server/chunks/tower__next-internal_server_app_manifest_json_route_actions_080ob~r.js +0 -3
- package/.next/server/chunks/tower_src_0..vg-t._.js +0 -3
- package/.next/server/chunks/tower_src_05rqj.1._.js +0 -3
- package/.next/server/chunks/tower_src_lib_0w8qt4s._.js +0 -3
- package/.next/server/chunks/tower_src_lib_constants_ts_0cxd4.p._.js +0 -3
- package/.next/server/edge/chunks/0y9m_next_dist_esm_build_templates_edge-wrapper_0cx_eo..js +0 -3
- package/.next/server/edge/chunks/tower_0wvfs38._.js +0 -3
- package/.next/static/chunks/0-z_mj0p3..hy.js +0 -1
- package/.next/static/chunks/00z-g3x93ngvn.js +0 -1
- package/.next/static/chunks/05-b9qqm3av9~.js +0 -1
- package/.next/static/chunks/053~3fys7om-7.js +0 -5
- package/.next/static/chunks/05~v02mkan5z..js +0 -1
- package/.next/static/chunks/0887ab.hh21q9.js +0 -1
- package/.next/static/chunks/0abtpeymj-58i.js +0 -1
- package/.next/static/chunks/0c7oqfzd78s3-.js +0 -1
- package/.next/static/chunks/0eaa2lmymh2fx.js +0 -1
- package/.next/static/chunks/0g4scpy5b3a_n.js +0 -1
- package/.next/static/chunks/0ho7y42kl8m7v.js +0 -1
- package/.next/static/chunks/0iudqcn98ftki.js +0 -1
- package/.next/static/chunks/0j9qriqni_r1..js +0 -2
- package/.next/static/chunks/0j~wmjbqds1dv.js +0 -1
- package/.next/static/chunks/0k.u8sxy~e469.js +0 -4
- package/.next/static/chunks/0lvd52mjiit6s.js +0 -1
- package/.next/static/chunks/0mq0uqbbbb1~2.js +0 -1
- package/.next/static/chunks/0mvu29h4.06~b.js +0 -1
- package/.next/static/chunks/0omj~p3uxkic-.js +0 -1
- package/.next/static/chunks/0rej~f94o9a~6.js +0 -5
- package/.next/static/chunks/0t-gr6j-c65qb.js +0 -1
- package/.next/static/chunks/0tcl81ybuob5i.js +0 -1
- package/.next/static/chunks/0uqimvsni_op~.js +0 -1
- package/.next/static/chunks/0wt3kws~_yr8z.js +0 -1
- package/.next/static/chunks/0z2bzovqhl2f5.js +0 -1
- package/.next/static/chunks/0z7bwntvfhxzi.js +0 -12
- package/.next/static/chunks/10n23t.1hpb-1.js +0 -1
- package/.next/static/chunks/14xzmrt5ly6gq.js +0 -31
- package/.next/static/chunks/151wr~6x8aclx.js +0 -1
- package/.next/static/chunks/16w-ap~msrwpj.js +0 -1
- package/.next/static/chunks/17tob96chk6i1.js +0 -1
- package/.next/static/chunks/17zywpt-0o8gl.js +0 -1
- package/.next/static/chunks/185n7s7fwb2j_.js +0 -1
- /package/.next/static/{KX5Si-44bPnjdFNmiHDRY → jMxcHfsOSldWKgvAjGnAv}/_buildManifest.js +0 -0
- /package/.next/static/{KX5Si-44bPnjdFNmiHDRY → jMxcHfsOSldWKgvAjGnAv}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{KX5Si-44bPnjdFNmiHDRY → jMxcHfsOSldWKgvAjGnAv}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,349369,e=>{"use strict";var t=e.i(430989),s=e.i(641338);let i={zh:{"sidebar.workspace":"工作空间","sidebar.newWorkspace":"新建工作空间","sidebar.collapse":"折叠侧边栏","sidebar.expand":"展开侧边栏","sidebar.rename":"重命名","sidebar.delete":"删除","sidebar.archive":"归档","sidebar.manageLabels":"管理标签","sidebar.deleteConfirm":"确认删除工作空间「{name}」?所有项目和任务将被删除。","sidebar.lastWorkspaceError":"至少需要保留一个工作空间","sidebar.settings":"配置","workspace.create":"新建工作空间","workspace.edit":"编辑工作空间","workspace.name":"名称","workspace.namePlaceholder":"输入工作空间名称","workspace.icon":"图标","common.cancel":"取消","common.create":"创建","common.save":"保存","common.delete":"删除","common.add":"添加","common.edit":"编辑","common.search":"搜索","topbar.newProject":"新建项目","topbar.importProject":"导入项目","topbar.searchPlaceholder":"搜索任务、项目、仓库、笔记、资源...","project.name":"项目名称","project.alias":"项目别名","project.description":"项目描述","project.gitUrl":"Git 仓库地址","project.gitUrlHint":"可选,输入后自动推断本地路径","project.namePlaceholder":"输入项目名称","project.aliasPlaceholder":"可选,如:前端重构","project.descPlaceholder":"可选,项目简介","project.gitPlaceholder":"https://github.com/user/repo 或 git@github.com:user/repo.git","project.localPath":"本地路径","project.localPathPlaceholder":"/Users/you/projects/my-app","project.localPathHint":"项目在本地磁盘的文件夹路径,输入 Git 地址后自动填充","project.tildeWarning":"请输入绝对路径,不支持 ~ 别名","project.importHint":"选择本地已有项目文件夹","project.autoDetected":"已自动检测 Git 远程","project.edit":"编辑项目","git.clone":"克隆到本地","git.cloning":"正在克隆...","git.cloned":"已克隆","git.cloneSuccess":"仓库克隆成功","board.kanban":"任务看板","board.overview":"概览","board.running":"执行中","board.tip":"提示","board.newTask":"新建任务","board.allFilter":"全部","board.searchPlaceholder":"搜索任务...","board.inProgressFilter":"执行中","board.inReviewFilter":"待评审","board.contextMenu.changeStatus":"更改状态","board.contextMenu.launch":"启动任务","board.contextMenu.goToDetail":"查看详情","board.pin":"置顶","board.unpin":"取消置顶","board.viewAll":"查看全部","board.noTasks":"暂无任务","task.create":"新建任务","task.edit":"编辑任务","task.title":"任务标题","task.titlePlaceholder":"输入任务标题","task.description":"描述","task.descPlaceholder":"输入任务描述 (支持 Markdown)","task.priority":"优先级","task.labels":"标签","task.priorityLow":"低","task.priorityMedium":"中","task.priorityHigh":"高","task.priorityCritical":"紧急","task.baseBranch":"基础分支","task.branchLoading":"加载分支...","task.branchNone":"未找到分支","task.branchSearch":"搜索分支...","task.branchDirect":"不使用分支隔离(直接在主仓库工作)","task.worktreeLabel":"分支隔离","task.worktreeYes":"启用","task.worktreeNo":"不启用","task.subPath":"子路径","task.subPathPlaceholder":"例如: web、packages/api","task.subPathHint":"Mono-repo 子目录,任务将在此目录下执行","taskDetail.title":"任务对话","taskDetail.back":"返回任务列表","taskDetail.hasConversation":"已有会话","taskDetail.updatedAt":"更新于","taskDetail.directMode":"直接模式","taskDetail.send":"发送","taskDetail.sending":"处理中...","taskDetail.inputPlaceholder":"输入指令...","taskDetail.emptyState":"开始对话,让 AI 代理执行任务","taskDetail.emptyHint":"输入指令后按 Enter 发送","taskDetail.sendFailed":"发送失败,请重试","taskDetail.executionFailed":"执行失败","taskDetail.executionFailedRetry":"执行失败,请重试","taskDetail.panelDescription":"聚焦当前任务的执行对话","taskDetail.filesChanged":"个文件已更改","search.placeholder":"搜索任务、项目、仓库、笔记、资源...","search.task":"任务","search.project":"项目","search.repository":"仓库","search.all":"全部","search.note":"笔记","search.asset":"资源","search.noResults":"没有找到结果","search.typeToSearch":"输入关键词开始搜索","search.results":"搜索结果","sidebar.right.projectInfo":"项目信息","sidebar.right.repo":"仓库","sidebar.right.addRepo":"添加仓库","sidebar.right.noRepo":"暂无已关联仓库","sidebar.right.addRepoHint":"点击下方添加仓库","sidebar.right.browseRepo":"浏览磁盘上的仓库","sidebar.right.createRepo":"在磁盘上创建新仓库","sidebar.right.recent":"最近","sidebar.right.other":"其他","sidebar.right.browseWip":"浏览磁盘仓库功能开发中","sidebar.right.createWip":"创建仓库功能开发中","sidebar.right.linkWip":"关联仓库功能开发中","sidebar.right.normalType":"普通项目","sidebar.right.gitType":"Git 项目","sidebar.right.edit":"编辑项目","sidebar.right.name":"项目名称","sidebar.right.aliasLabel":"别名","sidebar.right.descLabel":"描述","sidebar.right.save":"保存","sidebar.right.cancel":"取消","sidebar.right.namePlaceholder":"输入项目名称","sidebar.right.aliasPlaceholder":"可选别名","sidebar.right.descPlaceholder":"项目描述","label.manage":"管理标签","label.name":"标签名称","label.color":"颜色","label.builtin":"内置","label.add":"添加标签","label.noLabels":"暂无标签","settings.title":"配置","settings.language":"语言","settings.languageDesc":"切换界面语言","settings.general":"通用","settings.generalDesc":"主题与语言偏好","settings.theme":"主题","settings.themeDesc":"选择界面主题","settings.themeLight":"浅色","settings.themeDark":"深色","settings.themeSystem":"跟随系统","settings.prompts":"提示词","settings.promptsDesc":"管理 AI 提示词模板","settings.prompts.title":"提示词管理","settings.prompts.newPrompt":"新建提示词","settings.prompts.editPrompt":"编辑提示词","settings.prompts.promptName":"名称","settings.prompts.promptNamePlaceholder":"输入提示词名称","settings.prompts.promptDescription":"描述","settings.prompts.promptDescriptionPlaceholder":"可选,简要描述用途","settings.prompts.promptContent":"内容","settings.prompts.promptContentPlaceholder":"输入提示词内容...","settings.prompts.deleteConfirmTitle":"确认删除","settings.prompts.deleteConfirmMessage":"删除后无法恢复。","settings.prompts.setDefault":"设为默认","settings.prompts.default":"默认","settings.prompts.empty":"暂无提示词","settings.prompts.emptyHint":"点击上方按钮创建第一个提示词","settings.prompts.save":"保存","settings.prompts.cancel":"取消","settings.prompts.delete":"删除","settings.aiTools.title":"AI 工具","settings.aiTools.cliVerification":"CLI 验证","settings.aiTools.cliVerificationDesc":"验证 AI 工具命令行是否已正确安装","settings.aiTools.testConnection":"测试连接","settings.aiTools.testing":"测试中...","settings.aiTools.testPassed":"检测通过","settings.aiTools.testFailed":"部分检测未通过","settings.config":"参数配置","settings.configDesc":"系统运行参数","settings.config.empty":"暂无可配置参数 — 后续版本将添加","settings.config.git.title":"Git 路径映射规则","settings.config.git.desc":"定义 Git URL 到本地路径的映射规则,创建项目时自动填充 localPath","settings.config.git.host":"主机","settings.config.git.hostPlaceholder":"github.com","settings.config.git.ownerMatch":"Owner 匹配","settings.config.git.ownerMatchPlaceholder":"* (匹配所有)","settings.config.git.localPathTemplate":"本地基础路径","settings.config.git.localPathTemplatePlaceholder":"/Users/you/project","settings.config.git.priority":"优先级","settings.config.git.priorityHint":"数值越小优先级越高","settings.config.git.addRule":"添加规则","settings.config.git.noRules":"暂无映射规则 — 点击「添加规则」创建","settings.config.git.deleteConfirm":"确定删除此规则?","settings.config.git.deleteConfirmMessage":"此操作不可撤销。","settings.config.git.save":"保存","settings.config.git.cancel":"取消","settings.config.git.edit":"编辑","settings.config.git.delete":"删除","settings.config.git.actions":"操作","settings.config.git.templateHint":"支持 {owner} 和 {repo} 变量","settings.config.git.validationRequired":"主机和本地路径模板不能为空","settings.config.system.title":"系统参数","settings.config.system.desc":"上传限制与并发控制","settings.config.system.maxUpload":"最大上传文件大小","settings.config.system.maxUploadHint":"单个文件允许的最大上传大小","settings.config.system.maxConcurrent":"最大并发执行数","settings.config.system.maxConcurrentHint":"同时运行的 AI 任务上限","settings.config.system.saved":"系统参数已保存","settings.config.gitParams.title":"Git 参数","settings.config.gitParams.desc":"Git 操作超时","settings.config.gitParams.timeout":"Git 操作超时","settings.config.gitParams.timeoutHint":"clone/status 等操作的超时时间","settings.config.gitParams.saved":"Git 参数已保存","settings.config.search.title":"搜索参数","settings.config.search.desc":"搜索结果数量、防抖延迟与摘要长度","settings.config.search.resultLimit":"搜索结果数量","settings.config.search.resultLimitHint":"每类搜索返回的最大结果数","settings.config.search.allModeCap":"全部模式单类上限","settings.config.search.allModeCapHint":"「全部」搜索时每个类别显示的最大结果数","settings.config.search.debounceMs":"搜索防抖延迟","settings.config.search.debounceMsHint":"输入停止后等待多久执行搜索","settings.config.search.snippetLength":"摘要长度","settings.config.search.snippetLengthHint":"搜索结果预览文本的最大字符数","settings.config.search.saved":"搜索参数已保存","workspace.selectHint":"选择一个工作空间","workspace.selectDesc":"从左侧选择一个工作空间开始","workspace.createError":"创建工作区失败,请重试","board.noProject":"该工作空间没有项目,请点击顶部「新建项目」创建","board.tipText":"复用现有拖拽、详情和任务创建链路","board.tipDesc":"先把工作台入口对齐原型,再逐步补 Settings、Skills、Plugins。","folder.selectFolder":"选择文件夹","folder.selectGitRepo":"选择 Git 仓库","folder.hint":"点击文件夹名称进行导航 · 使用操作按钮进行选择","folder.manualInput":"手动输入路径:","folder.goTo":"前往","folder.searchDir":"搜索当前目录:","folder.selectCurrent":"选择当前","folder.selectPath":"选择路径","folder.empty":"此目录下没有文件夹","folder.browse":"浏览","git.section":"Git","git.currentBranch":"当前分支","git.switchBranch":"切换分支","git.localBranches":"本地分支","git.remoteBranches":"远程分支","git.modified":"已修改","git.staged":"已暂存","git.untracked":"未跟踪","git.notInitialized":"该项目尚未初始化 Git 仓库","git.initRepo":"初始化 Git 仓库","git.initSuccess":"Git 仓库初始化成功","git.initFailed":"初始化失败","git.switchSuccess":"已切换到分支","git.switchFailed":"切换分支失败","git.noLocalPath":"请先设置项目本地路径","git.loading":"加载中...","git.createBranch":"创建分支","git.branchName":"分支名称","git.branchNamePlaceholder":"feature/my-feature","git.baseBranch":"基于分支","git.branchDesc":"分支描述","git.branchDescPlaceholder":"可选,描述这个分支的用途","git.createSuccess":"分支创建成功","git.createFailed":"创建分支失败","git.fetchSuccess":"远程分支已更新","git.fetchFailed":"拉取远程分支失败","git.changes":"变更","git.stagedChanges":"已暂存","git.unstagedChanges":"未暂存","git.stageAll":"全部暂存","git.unstageAll":"全部取消","git.commit":"提交","git.commitSuccess":"提交成功","git.commitMsgPlaceholder":"提交信息 (⌘+Enter 提交)","git.pull":"拉取","git.pullSuccess":"拉取成功","git.push":"推送","git.pushSuccess":"推送成功","git.commitLog":"提交历史","git.stash":"暂存区","git.stashMsgPlaceholder":"暂存描述(可选)","git.stashSaved":"已暂存变更","git.stashApply":"恢复","git.stashApplied":"已恢复暂存","git.stashDrop":"删除","git.stashDropped":"已删除暂存","git.noChanges":"工作区干净,没有变更","git.sync":"同步","git.pullFrom":"拉取自","git.pushTo":"推送到","git.fetchAll":"获取所有远程","git.stashSave":"暂存变更","git.stashPopLatest":"恢复最近暂存","git.discardAll":"放弃所有更改","git.discardSuccess":"已放弃所有更改","git.tabLabel":"Git","git.openStudio":"打开工作台","git.openStudioFailed":"打开工作台失败","archive.title":"归档任务","archive.backToBoard":"返回看板","archive.noTasks":"暂无归档任务","archive.noTasksDesc":"已完成或已取消超过今日的任务将出现在此处","archive.completedAt":"完成于","archive.cancelledAt":"取消于","archive.createdAt":"创建于","archive.lastExecution":"最近执行","archive.status.done":"已完成","archive.status.cancelled":"已取消","archive.tasksCount":"条归档","sidebar.notes":"笔记","sidebar.assets":"资源","notes.title":"笔记","notes.newNote":"新建笔记","notes.allCategories":"全部分类","notes.category.account":"账号","notes.category.env":"环境","notes.category.requirements":"需求","notes.category.memo":"备忘","notes.edit":"编辑","notes.delete":"删除","notes.save":"保存","notes.cancel":"取消","notes.titlePlaceholder":"笔记标题","notes.contentPlaceholder":"笔记内容(支持 Markdown)","notes.categoryLabel":"分类","notes.empty":"暂无笔记","notes.emptyHint":"点击「新建笔记」创建第一条笔记","notes.deleteConfirm":"确认删除笔记「{title}」?","notes.noProject":"当前工作空间没有项目","notes.noProjectHint":"请先创建一个项目","notes.backToBoard":"返回看板","notes.loading":"加载中...","notes.workspace":"工作区","notes.project":"项目","assets.title":"资源","assets.upload":"上传文件","assets.empty":"暂无资源","assets.emptyHint":"上传文件作为项目资源","assets.filename":"文件名","assets.size":"大小","assets.uploadedAt":"上传时间","assets.preview":"预览","assets.download":"下载","assets.delete":"删除","assets.deleteConfirm":"确认删除资源「{filename}」?","assets.noProject":"当前工作空间没有项目","assets.noProjectHint":"请先创建一个项目","assets.uploading":"上传中...","assets.backToBoard":"返回看板","assets.loading":"加载中...","assets.uploadTitle":"上传资源","assets.workspace":"工作区","assets.project":"项目","assets.file":"文件","assets.selectFile":"点击选择文件...","assets.description":"描述","assets.descriptionPlaceholder":"输入资源描述(可搜索)","assets.revealInFinder":"在文件夹中显示","assets.previewNotSupported":"不支持预览此文件类型","assets.loadingPreview":"加载中...","assets.previewError":"加载预览失败","assets.fileTooLarge":"文件过大,无法预览(超过 1MB)","taskPage.title":"任务详情","taskPage.back":"返回","taskPage.backToBoard":"返回看板","taskPage.conversation":"对话","taskPage.changes":"变更","taskPage.notes":"备注","taskPage.addNote":"添加备注","taskPage.noteTitle":"标题","taskPage.noteContent":"内容","taskPage.uploadFile":"上传附件","taskPage.attachments":"附件","taskPage.noNotes":"暂无备注","taskPage.noAttachments":"暂无附件","taskPage.deleteNote":"删除","taskPage.deleteAttachment":"删除","taskPage.noteSaved":"备注已保存","taskPage.viewDetails":"查看详情","taskPage.noChanges":"暂无变更","taskPage.branchDeleted":"任务分支已删除,无法查看变更","taskPage.startExecution":"启动执行以查看变更","taskPage.loadingDiff":"加载变更中...","taskPage.noDiff":"暂无变更(需要项目配置本地路径和基础分支)","taskPage.tabFiles":"文件","taskPage.tabPreview":"预览","taskPage.tabSearch":"搜索","taskPage.tabFileTree":"文件树","taskPage.completeTask":"完成任务","taskPage.uncommittedChanges":"工作区有 {count} 个未提交的文件,请先点击 Commit 按钮提交后再完成任务","taskPage.noChangesToComplete":"没有任何改动,无法完成任务","taskPage.taskCompleted":"任务已完成","taskPage.loadDiffFailed":"加载变更失败","taskPage.fileTree.newFile":"新建文件","taskPage.fileTree.newFolder":"新建文件夹","taskPage.fileTree.rename":"重命名","taskPage.fileTree.delete":"删除","taskPage.fileTree.revealInFinder":"在文件夹中显示","taskPage.fileTree.emptyHeading":"文件树暂不可用","taskPage.fileTree.emptyBody":"启动任务执行后将在此显示 worktree 目录结构","taskPage.fileTree.emptyDir":"目录为空","taskPage.fileTree.loadError":"无法加载文件列表,请重试","taskPage.fileTree.renamePlaceholder":"输入新名称","taskPage.fileTree.newFilePlaceholder":"文件名","taskPage.fileTree.newFolderPlaceholder":"文件夹名","taskPage.fileTree.deleteConfirmHeading":"确认删除","taskPage.fileTree.deleteConfirmBody":"删除「{name}」?此操作不可撤销。","taskPage.fileTree.deleteConfirmBodyFolder":"「{name}」及其所有内容将被删除。","taskPage.fileTree.deleteConfirmAction":"删除","taskPage.fileTree.searchPlaceholder":"搜索文件…","taskPage.fileTree.searchNoResults":"无匹配文件","editor.selectFile":"选择文件以打开","editor.selectFileHint":"在左侧文件树中点击任意文件","editor.saveSuccess":"保存成功","editor.saveError":"保存失败,请重试","editor.closeTab":"关闭标签页","editor.noWorktree":"暂无工作区,请先执行任务","diff.filesChanged":"{count} 个文件更改","diff.additions":"+{count}","diff.deletions":"-{count}","diff.binary":"二进制文件","diff.truncated":"差异过大已截断","diff.conflictWarning":"合并被阻止:检测到冲突","diff.conflictFiles":"{count} 个冲突文件","diff.commitChanges":"提交更改","diff.commitMessagePlaceholder":"第一行为标题,空行后为详细描述\n\n例如:\nfeat: 添加用户认证\n\n实现 JWT token 验证和刷新机制","diff.commit":"提交","diff.noChanges":"未检测到更改","diff.commitSuccess":"已提交 ({hash})","merge.button":"合并","merge.confirmTitle":"确认 Squash 合并","merge.targetBranch":"目标分支","merge.changedFiles":"变更文件数","merge.commitsToSquash":"待压缩提交数","merge.commitMessage":"提交信息","merge.confirm":"确认合并","merge.cancel":"取消","merge.merging":"合并中...","merge.success":"合并成功","merge.conflictError":"无法合并:检测到冲突","merge.failed":"合并失败","project.type.label":"项目类型","project.type.frontend":"前端","project.type.backend":"后端","project.previewCommand":"预览启动命令","project.previewCommandPlaceholder":"例:pnpm dev","project.previewCommandDesc":"启动本地开发服务器的命令","preview.run":"运行","preview.stop":"停止","preview.openTerminal":"在终端中打开","preview.refresh":"刷新预览","preview.addressPlaceholder":"输入本地 URL,按 Enter 加载","preview.noWorktree":"预览面板不可用","preview.noWorktreeDesc":"启动任务执行后可在此预览前端页面","preview.statusStopped":"已停止","preview.statusStarting":"启动中...","preview.statusRunning":"运行中","preview.statusError":"启动失败","preview.errorDesc":"启动预览服务器时出错,请检查启动命令","preview.terminalError":"无法打开终端,请检查设置中的终端配置","preview.port":"端口","settings.shell.label":"默认 Shell","settings.shell.desc":"用于 PTY 终端和 AI CLI 测试的 Shell,使用系统已安装的 Shell 及其配置(别名、插件等)","settings.shell.winHint":"Claude Code 在 Windows 上需要 Git Bash 环境,建议选择 Git Bash","settings.terminal.label":"终端应用","settings.terminal.desc":'用于"在终端中打开"的 GUI 终端应用',"settings.terminal.placeholder":"Terminal","settings.terminal.idleTimeout":"空闲超时(秒)","settings.terminal.idleTimeoutDesc":"终端无输出多久后触发空闲检测(最低 180 秒)","settings.cliProfile.title":"CLI 配置","settings.cliProfile.desc":"配置 AI 命令行工具的执行参数","settings.cliProfile.navDesc":"CLI 执行参数配置","settings.cliProfile.command":"命令","settings.cliProfile.commandHint":"CLI 可执行文件名称或路径","settings.cliProfile.commandPlaceholder":"claude","settings.cliProfile.baseArgs":"基础参数","settings.cliProfile.baseArgsHint":"每次执行时附加的命令行参数,一行一个","settings.cliProfile.baseArgsPlaceholder":"--dangerously-skip-permissions","settings.cliProfile.envVars":"环境变量","settings.cliProfile.envVarsHint":"注入到 CLI 进程的环境变量,格式:KEY=VALUE,一行一个","settings.cliProfile.envVarsPlaceholder":"MY_VAR=value","settings.cliProfile.saved":"CLI 配置已保存","settings.cliProfile.saveError":"保存失败","settings.cliProfile.invalidJson":"参数格式无效","settings.cliProfile.noProfile":"未找到默认 CLI 配置,请运行 seed","terminal.connecting":"正在连接...","terminal.connected":"已连接","terminal.disconnected":"已断开","terminal.reconnecting":"正在重连...","terminal.noWorktree":"无工作区","terminal.noWorktreeDesc":"请先运行任务以启动终端","terminal.execute":"执行","terminal.executing":"执行中...","terminal.noPrompt":"请输入执行提示词","terminal.stopExecution":"停止执行","terminal.stopHint":"停止前建议在终端中让 AI 生成 commit","terminal.promptPlaceholder":"输入任务提示词...","terminal.launch":"启动终端","terminal.readyToLaunch":"点击启动终端开始执行任务","execution.success":"成功","execution.failed":"失败","execution.running":"运行中","execution.viewDetails":"查看详情","execution.noSummary":"暂无摘要","execution.commits":"次提交","execution.files":"个文件","execution.terminalOutput":"终端输出","execution.history":"执行历史","execution.gitLog":"Git 提交记录","execution.loading":"加载中...","execution.noHistory":"暂无执行记录","execution.resume":"恢复会话","execution.tryRecover":"尝试继续","execution.details":"详情","execution.collapse":"收起","execution.insight":"归纳","missions.navLabel":"任务控制台","missions.pageTitle":"任务控制台","missions.launchTask":"启动任务","missions.emptyTitle":"无运行中的任务","missions.emptyDesc":"点击「启动任务」开始执行","missions.gridPreset":"布局","missions.stopTask":"停止任务","missions.openFullView":"查看详情","missions.runningTime":"运行","missions.statusCompleted":"已完成","missions.statusStopped":"已停止","missions.statusRunning":"运行中","missions.dragHandle":"拖拽排序","missions.openInTerminal":"在终端打开","missions.launcher.title":"启动任务","missions.launcher.workspace":"工作空间","missions.launcher.project":"项目","missions.launcher.task":"任务","missions.launcher.selectWorkspace":"选择工作空间","missions.launcher.selectProject":"选择项目","missions.launcher.selectTask":"选择任务","missions.launcher.launch":"启动","missions.launcher.cancel":"取消","missions.launcher.noTasks":"暂无可执行任务","missions.error.launchFailed":"启动任务失败","missions.error.stopFailed":"停止任务失败","missions.filterAll":"全部工作区","missions.alreadyMonitored":"已在监控","missions.showMoreTasks":"选择其他任务...","missions.pickerTitle":"选择要启动的任务","missions.pickerFooter":"点击 Launch 启动执行","missions.noAvailableTasks":"暂无可用任务","missions.continueSession":"继续上次会话","missions.continueLabel":"继续","missions.launchNew":"启动新终端","missions.launchNewLabel":"新建","missions.fullPickerTitle":"选择任务","missions.fullPickerHint":"选择工作区和项目查看任务","missions.gridCustom":"自定义","missions.gridCols":"列","missions.gridRows":"行","settings.config.missions.title":"任务控制台布局","settings.config.missions.desc":"自定义网格布局的列数和行数范围","settings.config.missions.minCols":"最小列数","settings.config.missions.maxCols":"最大列数","settings.config.missions.minRows":"最小行数","settings.config.missions.maxRows":"最大行数","settings.config.hooks.title":"Hooks 配置","settings.config.hooks.desc":"管理 Claude Code 的 PostToolUse 钩子","settings.config.hooks.autoUploadTypes":"自动上传文件类型","settings.config.hooks.autoUploadTypesHint":"逗号分隔的文件扩展名","settings.config.hooks.install":"安装 Hook","settings.config.hooks.uninstall":"卸载 Hook","settings.config.hooks.installed":"Hook 已安装","settings.config.hooks.notInstalled":"Hook 未安装","settings.config.hooks.installHint":"安装后,Claude Code 写入匹配类型的文件时会自动上传为任务资产","assistant.title":"Tower 助手","assistant.iconLabel":"助手","assistant.starting":"启动中...","assistant.errorTitle":"会话启动失败","assistant.errorBody":"启动失败,请重试","assistant.loading":"加载中...","assistant.emptyTitle":"我能帮你做什么?","assistant.emptyBody":"输入消息以开始","assistant.copy":"复制","assistant.suggestion.createProject":"创建一个新项目","assistant.suggestion.createTask":"创建一个任务","assistant.suggestion.checkProgress":"查看任务进度","assistant.suggestion.dailySummary":"查看今日工作总结","assistant.inputPlaceholder":"输入消息,Enter 发送,Shift+Enter 换行","assistant.sendLabel":"发送消息","assistant.cancelLabel":"取消发送","assistant.thinking":"思考中","assistant.toolLabel":"工具","assistant.parseError":"解析错误","assistant.parseErrorBody":"无法解析助手输出内容","assistant.closeLabel":"关闭助手","assistant.expandTool":"展开工具调用详情","assistant.previewImage":"预览图片","assistant.removeImage":"移除图片","assistant.brokenImage":"图片不可用","assistant.imageCount":"张图片","assistant.uploadFailed":"上传失败","assistant.uploadFailedRemoveHint":"上传失败 — 点击 x 移除","assistant.closePreview":"关闭预览","assistant.inputPlaceholderWithImages":"输入消息或粘贴图片...","settings.assistant.title":"助手","settings.assistant.desc":"配置助手行为","settings.assistant.communicationMode":"通信模式","settings.assistant.communicationModeDesc":"选择与助手交互的方式","settings.assistant.modeTerminal":"终端模式","settings.assistant.modeChat":"聊天模式","assistant.newSession":"新会话","assistant.sessionList":"会话列表","assistant.deleteSession":"删除","assistant.noSessions":"暂无历史会话","project.migrate":"迁移到规范路径","project.migrateHint":"将项目文件夹移动到 Git 路径规则推导的位置","project.targetPath":"目标路径","project.migrating":"迁移中...","project.migrateSuccess":"项目已迁移到规范路径","project.migrateError":"迁移失败","project.samePathInfo":"路径已是规范路径","project.migrateSafetyWarning":"迁移前请确保没有运行中的任务","project.worktreeWarning":"该项目有活跃的 Git Worktree,迁移将被阻止","project.genDesc":"生成描述","project.analyzing":"分析中...","project.analyzeError":"分析失败,请重试","project.genDescDisabledTooltip":"请先选择路径","project.genDescNoPath":"请先输入地址","project.genDescNotCloned":"请先 clone 项目","project.genDescReady":"基于本地代码生成项目描述","project.deleteTitle":"删除项目","project.deleteWarning":"确定要删除「{name}」吗?","project.deleteIrreversible":"此操作无法撤销,所有任务和数据将被永久删除。","project.deleteConfirmLabel":"请输入「确认删除」以确认","project.deleteConfirmPlaceholder":"确认删除","project.deleteConfirmText":"确认删除","project.deleteButton":"删除项目","project.deleteSuccess":"项目已删除","project.deleteFailed":"删除失败,请重试","taskDrawer.title":"任务概览","taskDrawer.description":"描述","taskDrawer.labels":"标签","taskDrawer.createdAt":"创建时间","taskDrawer.resources":"关联资源","taskDrawer.lastExecution":"最近执行","taskDrawer.noDescription":"暂无描述","taskDrawer.noExecution":"暂无执行记录","codeSearch.patternPlaceholder":"搜索代码(支持正则)","codeSearch.globPlaceholder":"文件过滤,如 *.ts","codeSearch.noPath":"请先配置项目本地路径","codeSearch.searching":"搜索中...","codeSearch.noResults":"无匹配结果","codeSearch.truncated":"仅显示前 200 条结果","codeSearch.hint":"输入关键词后按 Enter 搜索","codeSearch.rgNotInstalled":"未找到 ripgrep (rg),请安装: brew install ripgrep","settings.notifications.title":"通知","settings.notifications.desc":"任务完成提醒","settings.notifications.navDesc":"桌面通知和 Toast 提醒","settings.notifications.enable":"任务完成通知","settings.notifications.enableDesc":"任务执行完成时显示桌面通知或 Toast 提醒","notification.permissionPrompt":"允许 Tower 在任务完成时发送桌面通知","notification.allow":"允许","notification.dismiss":"忽略","notification.taskCompleted":"任务已完成","notification.taskFailed":"任务失败","onboarding.title":"欢迎使用 Tower","onboarding.step1.title":"设置用户名","onboarding.step1.desc":"请输入您的用户名,AI 助手将使用此名称称呼您","onboarding.step1.usernamePlaceholder":"输入用户名","onboarding.step1.usernameLabel":"用户名","onboarding.step1.next":"下一步","onboarding.step2.title":"AI 连接测试","onboarding.step2.desc":"测试与 AI 适配器的连接,确保任务可以正常调度执行","onboarding.cliRequired":"需要安装并配置 Claude CLI 才能继续,请参考文档完成安装","onboarding.complete":"完成设置","onboarding.skip":"跳过","onboarding.back":"上一步","onboarding.step3.title":"配置 Git 路径规则","onboarding.step3.desc":"配置 Git 仓库地址与本地路径的映射规则,创建 Git 项目时将自动生成本地路径","onboarding.step3.addFirst":"添加第一条规则","onboarding.step3.noRules":"还没有配置规则,创建 Git 项目时需要手动填写本地路径","onboarding.step3.hostLabel":"Git 主机","onboarding.step3.hostPlaceholder":"例如 github.com","onboarding.step3.ownerLabel":"Owner 匹配","onboarding.step3.ownerPlaceholder":"* 匹配所有,或填具体用户名","onboarding.step3.pathLabel":"本地基础路径","onboarding.step3.pathPlaceholder":"例如 /Users/you/project","onboarding.step3.pathHint":"支持变量:{path}=完整路径,{owner}=第一段,{repo}=仓库名。不含变量时自动追加仓库名","onboarding.step3.pathHintRepo":"仓库名会自动追加到路径末尾","onboarding.step3.pathHintFull":"开启后保留完整子组路径(适合 GitLab 多级分组)","onboarding.step3.added":"已添加 {count} 条规则","onboarding.step3.exampleTitle":"配置示例","onboarding.step3.exampleCase1":"规则:主机 github.com,路径 ~/project → 结果 ~/project/my-app","onboarding.step3.exampleCase2":"规则:主机 gitlab.com,路径 ~/company/{path} → 结果 ~/company/team/group/my-app","onboarding.step3.exampleDesc":"创建项目输入 Git 地址时,系统自动匹配规则填充本地路径。使用 {path} 可保留完整子组路径","onboarding.step3.previewLabel":"测试预览","onboarding.step3.previewPlaceholder":"粘贴一个 Git 地址试试效果","onboarding.step3.previewNoMatch":"无法解析此地址","onboarding.stepIndicator":"步骤 {current}/{total}","onboarding.welcomeCta":"创建您的第一个工作区开始使用","onboarding.createWorkspace":"创建工作区","onboarding.defaultWorkspaceName":"我的工作区","tour.step1.title":"创建工作区","tour.step1.desc":"工作区是最顶层的组织单元。点击这里创建您的第一个工作区。","tour.step2.title":"创建项目","tour.step2.desc":"项目属于工作区。点击这里创建或导入一个项目,关联您的代码仓库。","tour.step3.title":"打开 AI 助手","tour.step3.desc":"AI 助手可以帮您管理任务和项目。点击这里随时与助手对话。","tour.skip":"跳过引导","tour.next":"下一步","tour.done":"完成","aiConfig.title":"AI 能力配置","aiConfig.description":"为每个 AI 功能场景独立配置 Provider 和模型","aiConfig.terminal":"终端执行","aiConfig.summary":"会话总结","aiConfig.dreaming":"知识沉淀","aiConfig.analysis":"项目分析","aiConfig.assistant":"助手聊天","aiConfig.provider":"Provider","aiConfig.mode":"模式","aiConfig.model":"模型","aiConfig.cli":"CLI(订阅)","aiConfig.api":"API(按量)","aiConfig.default":"默认","aiConfig.notConfigured":"未配置","aiConfig.cliNotFound":"CLI 未安装","aiConfig.apiKeyMissing":"API Key 未配置","aiConfig.saved":"已保存"},en:{"sidebar.workspace":"Workspaces","sidebar.newWorkspace":"New Workspace","sidebar.collapse":"Collapse Sidebar","sidebar.expand":"Expand Sidebar","sidebar.rename":"Rename","sidebar.delete":"Delete","sidebar.archive":"Archive","sidebar.manageLabels":"Manage Labels","sidebar.deleteConfirm":'Delete workspace "{name}"? All projects and tasks will be deleted.',"sidebar.lastWorkspaceError":"At least one workspace must be kept","sidebar.settings":"Settings","workspace.create":"New Workspace","workspace.edit":"Edit Workspace","workspace.name":"Name","workspace.namePlaceholder":"Enter workspace name","workspace.icon":"Icon","common.cancel":"Cancel","common.create":"Create","common.save":"Save","common.delete":"Delete","common.add":"Add","common.edit":"Edit","common.search":"Search","topbar.newProject":"New Project","topbar.importProject":"Import Project","topbar.searchPlaceholder":"Search tasks, projects, repos, notes, assets...","project.name":"Project Name","project.alias":"Alias","project.description":"Description","project.gitUrl":"Git Repository URL","project.gitUrlHint":"Optional, local path will be auto-inferred","project.namePlaceholder":"Enter project name","project.aliasPlaceholder":"Optional, e.g. Frontend Refactor","project.descPlaceholder":"Optional, project description","project.gitPlaceholder":"https://github.com/user/repo or git@github.com:user/repo.git","project.localPath":"Local Path","project.localPathPlaceholder":"/Users/you/projects/my-app","project.localPathHint":"Local folder path, auto-filled from Git URL","project.tildeWarning":"Use absolute path — ~ alias is not supported","project.importHint":"Select an existing local project folder","project.autoDetected":"Git remote auto-detected","project.edit":"Edit Project","git.clone":"Clone","git.cloning":"Cloning...","git.cloned":"Cloned","git.cloneSuccess":"Repository cloned successfully","board.kanban":"Task Board","board.overview":"Overview","board.running":"Running","board.tip":"Tips","board.newTask":"New Task","board.allFilter":"All","board.searchPlaceholder":"Search tasks...","board.inProgressFilter":"In Progress","board.inReviewFilter":"In Review","board.contextMenu.changeStatus":"Change Status","board.contextMenu.launch":"Launch Task","board.contextMenu.goToDetail":"Go to Detail","board.pin":"Pin to Top","board.unpin":"Unpin","board.viewAll":"View All","board.noTasks":"No tasks","task.create":"New Task","task.edit":"Edit Task","task.title":"Task Title","task.titlePlaceholder":"Enter task title","task.description":"Description","task.descPlaceholder":"Enter description (Markdown supported)","task.priority":"Priority","task.labels":"Labels","task.priorityLow":"Low","task.priorityMedium":"Med","task.priorityHigh":"High","task.priorityCritical":"Urgent","task.baseBranch":"Base Branch","task.branchLoading":"Loading branches...","task.branchNone":"No branches found","task.branchSearch":"Search branches...","task.branchDirect":"No branch isolation (work directly in main repo)","task.worktreeLabel":"Branch Isolation","task.worktreeYes":"On","task.worktreeNo":"Off","task.subPath":"Sub Path","task.subPathPlaceholder":"e.g., web, packages/api","task.subPathHint":"Mono-repo subdirectory, task executes in this directory","taskDetail.title":"Task Chat","taskDetail.back":"Back to list","taskDetail.hasConversation":"Has chat","taskDetail.updatedAt":"Updated","taskDetail.directMode":"Direct Mode","taskDetail.send":"Send","taskDetail.sending":"Sending...","taskDetail.inputPlaceholder":"Enter command...","taskDetail.emptyState":"Start a conversation to execute the task","taskDetail.emptyHint":"Press Enter to send","taskDetail.sendFailed":"Send failed, please retry","taskDetail.executionFailed":"Execution failed","taskDetail.executionFailedRetry":"Execution failed, please retry","taskDetail.panelDescription":"Task execution conversation","taskDetail.filesChanged":"files changed","search.placeholder":"Search tasks, projects, repos, notes, assets...","search.task":"Tasks","search.project":"Projects","search.repository":"Repos","search.all":"All","search.note":"Notes","search.asset":"Assets","search.noResults":"No results found","search.typeToSearch":"Type to start searching","search.results":"Search Results","sidebar.right.projectInfo":"Project Info","sidebar.right.repo":"Repository","sidebar.right.addRepo":"Add Repository","sidebar.right.noRepo":"No linked repositories","sidebar.right.addRepoHint":"Add a repository below","sidebar.right.browseRepo":"Browse local repos","sidebar.right.createRepo":"Create new repo","sidebar.right.recent":"Recent","sidebar.right.other":"Other","sidebar.right.browseWip":"Browse repos - coming soon","sidebar.right.createWip":"Create repo - coming soon","sidebar.right.linkWip":"Link repo - coming soon","sidebar.right.normalType":"Normal","sidebar.right.gitType":"Git Project","sidebar.right.edit":"Edit Project","sidebar.right.name":"Project Name","sidebar.right.aliasLabel":"Alias","sidebar.right.descLabel":"Description","sidebar.right.save":"Save","sidebar.right.cancel":"Cancel","sidebar.right.namePlaceholder":"Enter project name","sidebar.right.aliasPlaceholder":"Optional alias","sidebar.right.descPlaceholder":"Project description","label.manage":"Manage Labels","label.name":"Label name","label.color":"Color","label.builtin":"Built-in","label.add":"Add Label","label.noLabels":"No labels","settings.title":"Settings","settings.language":"Language","settings.languageDesc":"Switch interface language","settings.general":"General","settings.generalDesc":"Appearance and language preferences","settings.theme":"Theme","settings.themeDesc":"Choose interface theme","settings.themeLight":"Light","settings.themeDark":"Dark","settings.themeSystem":"System","settings.prompts":"Prompts","settings.promptsDesc":"Manage AI prompt templates","settings.prompts.title":"Prompt Management","settings.prompts.newPrompt":"New Prompt","settings.prompts.editPrompt":"Edit Prompt","settings.prompts.promptName":"Name","settings.prompts.promptNamePlaceholder":"Enter prompt name","settings.prompts.promptDescription":"Description","settings.prompts.promptDescriptionPlaceholder":"Optional, brief description","settings.prompts.promptContent":"Content","settings.prompts.promptContentPlaceholder":"Enter prompt content...","settings.prompts.deleteConfirmTitle":"Confirm Delete","settings.prompts.deleteConfirmMessage":"This cannot be undone.","settings.prompts.setDefault":"Set as Default","settings.prompts.default":"Default","settings.prompts.empty":"No prompts yet","settings.prompts.emptyHint":"Click the button above to create your first prompt","settings.prompts.save":"Save","settings.prompts.cancel":"Cancel","settings.prompts.delete":"Delete","settings.aiTools.title":"AI Tools","settings.aiTools.cliVerification":"CLI Verification","settings.aiTools.cliVerificationDesc":"Verify AI CLI tools are correctly installed","settings.aiTools.testConnection":"Test Connection","settings.aiTools.testing":"Testing...","settings.aiTools.testPassed":"All checks passed","settings.aiTools.testFailed":"Some checks failed","settings.config":"Config","settings.configDesc":"System configuration parameters","settings.config.empty":"No configurable parameters yet — coming in next phases","settings.config.git.title":"Git Path Mapping Rules","settings.config.git.desc":"Define Git URL to local path mapping rules for auto-populating localPath on project creation","settings.config.git.host":"Host","settings.config.git.hostPlaceholder":"github.com","settings.config.git.ownerMatch":"Owner Match","settings.config.git.ownerMatchPlaceholder":"* (match all)","settings.config.git.localPathTemplate":"Local Base Path","settings.config.git.localPathTemplatePlaceholder":"/Users/you/project","settings.config.git.priority":"Priority","settings.config.git.priorityHint":"Lower number = higher priority","settings.config.git.addRule":"Add Rule","settings.config.git.noRules":"No mapping rules yet — click Add Rule to create one","settings.config.git.deleteConfirm":"Delete this rule?","settings.config.git.deleteConfirmMessage":"This cannot be undone.","settings.config.git.save":"Save","settings.config.git.cancel":"Cancel","settings.config.git.edit":"Edit","settings.config.git.delete":"Delete","settings.config.git.actions":"Actions","settings.config.git.templateHint":"Supports {owner} and {repo} variables","settings.config.git.validationRequired":"Host and local path template are required","settings.config.system.title":"System Parameters","settings.config.system.desc":"Upload limits and concurrency control","settings.config.system.maxUpload":"Max Upload File Size","settings.config.system.maxUploadHint":"Maximum allowed size for a single file upload","settings.config.system.maxConcurrent":"Max Concurrent Executions","settings.config.system.maxConcurrentHint":"Maximum number of AI tasks running simultaneously","settings.config.system.saved":"System parameters saved","settings.config.gitParams.title":"Git Parameters","settings.config.gitParams.desc":"Git operation timeout","settings.config.gitParams.timeout":"Git Operation Timeout","settings.config.gitParams.timeoutHint":"Timeout for clone/status and other operations","settings.config.gitParams.saved":"Git parameters saved","settings.config.search.title":"Search Parameters","settings.config.search.desc":"Search result count, debounce delay, and snippet length","settings.config.search.resultLimit":"Search Result Limit","settings.config.search.resultLimitHint":"Maximum results returned per search category","settings.config.search.allModeCap":"All-Mode Per-Type Cap","settings.config.search.allModeCapHint":"Maximum results per category in All search mode","settings.config.search.debounceMs":"Search Debounce Delay","settings.config.search.debounceMsHint":"Wait time after typing stops before executing search","settings.config.search.snippetLength":"Snippet Length","settings.config.search.snippetLengthHint":"Maximum characters for search result preview text","settings.config.search.saved":"Search parameters saved","workspace.selectHint":"Select a workspace","workspace.selectDesc":"Choose a workspace from the sidebar","workspace.createError":"Failed to create workspace, please try again","board.noProject":'No projects yet. Click "New Project" to create one.',"board.tipText":"Reuse existing drag, detail, and task creation pipeline","board.tipDesc":"Align workspace entry with prototype first, then add Settings, Skills, Plugins.","folder.selectFolder":"Select Folder","folder.selectGitRepo":"Select Git Repository","folder.hint":"Click folder name to navigate · Use buttons to select","folder.manualInput":"Enter path manually:","folder.goTo":"Go","folder.searchDir":"Search current directory:","folder.selectCurrent":"Select Current","folder.selectPath":"Select Path","folder.empty":"No folders in this directory","folder.browse":"Browse","git.section":"Git","git.currentBranch":"Current Branch","git.switchBranch":"Switch Branch","git.localBranches":"Local","git.remoteBranches":"Remote","git.modified":"Modified","git.staged":"Staged","git.untracked":"Untracked","git.notInitialized":"Git is not initialized for this project","git.initRepo":"Initialize Git Repository","git.initSuccess":"Git repository initialized","git.initFailed":"Initialization failed","git.switchSuccess":"Switched to branch","git.switchFailed":"Branch switch failed","git.noLocalPath":"Set project local path first","git.loading":"Loading...","git.createBranch":"Create Branch","git.branchName":"Branch Name","git.branchNamePlaceholder":"feature/my-feature","git.baseBranch":"Base Branch","git.branchDesc":"Description","git.branchDescPlaceholder":"Optional, describe this branch","git.createSuccess":"Branch created successfully","git.createFailed":"Failed to create branch","git.fetchSuccess":"Remote branches updated","git.fetchFailed":"Failed to fetch remote branches","git.changes":"Changes","git.stagedChanges":"Staged","git.unstagedChanges":"Unstaged","git.stageAll":"Stage All","git.unstageAll":"Unstage All","git.commit":"Commit","git.commitSuccess":"Committed successfully","git.commitMsgPlaceholder":"Commit message (⌘+Enter to commit)","git.pull":"Pull","git.pullSuccess":"Pulled successfully","git.push":"Push","git.pushSuccess":"Pushed successfully","git.commitLog":"Commit Log","git.stash":"Stash","git.stashMsgPlaceholder":"Stash message (optional)","git.stashSaved":"Changes stashed","git.stashApply":"Apply","git.stashApplied":"Stash applied","git.stashDrop":"Drop","git.stashDropped":"Stash dropped","git.noChanges":"Working tree clean","git.sync":"Sync","git.pullFrom":"Pull from","git.pushTo":"Push to","git.fetchAll":"Fetch All Remotes","git.stashSave":"Stash Changes","git.stashPopLatest":"Pop Latest Stash","git.discardAll":"Discard All Changes","git.discardSuccess":"All changes discarded","git.tabLabel":"Git","git.openStudio":"Open Studio","git.openStudioFailed":"Failed to open studio","archive.title":"Archived Tasks","archive.backToBoard":"Back to Board","archive.noTasks":"No archived tasks","archive.noTasksDesc":"Completed or cancelled tasks older than today will appear here","archive.completedAt":"Completed","archive.cancelledAt":"Cancelled","archive.createdAt":"Created","archive.lastExecution":"Last execution","archive.status.done":"Done","archive.status.cancelled":"Cancelled","archive.tasksCount":"archived","sidebar.notes":"Notes","sidebar.assets":"Assets","notes.title":"Notes","notes.newNote":"New Note","notes.allCategories":"All","notes.category.account":"Account","notes.category.env":"Environment","notes.category.requirements":"Requirements","notes.category.memo":"Memo","notes.edit":"Edit","notes.delete":"Delete","notes.save":"Save","notes.cancel":"Cancel","notes.titlePlaceholder":"Note title","notes.contentPlaceholder":"Note content (Markdown supported)","notes.categoryLabel":"Category","notes.empty":"No notes yet","notes.emptyHint":'Click "New Note" to create your first note',"notes.deleteConfirm":'Delete note "{title}"?',"notes.noProject":"No projects in this workspace","notes.noProjectHint":"Create a project first","notes.backToBoard":"Back to Board","notes.loading":"Loading...","notes.workspace":"Workspace","notes.project":"Project","assets.title":"Assets","assets.upload":"Upload File","assets.empty":"No assets yet","assets.emptyHint":"Upload files as project assets","assets.filename":"Filename","assets.size":"Size","assets.uploadedAt":"Uploaded At","assets.preview":"Preview","assets.download":"Download","assets.delete":"Delete","assets.deleteConfirm":'Delete asset "{filename}"?',"assets.noProject":"No projects in this workspace","assets.noProjectHint":"Create a project first","assets.uploading":"Uploading...","assets.backToBoard":"Back to Board","assets.loading":"Loading...","assets.uploadTitle":"Upload Asset","assets.workspace":"Workspace","assets.project":"Project","assets.file":"File","assets.selectFile":"Click to select file...","assets.description":"Description","assets.descriptionPlaceholder":"Enter asset description (searchable)","assets.revealInFinder":"Reveal in Finder","assets.previewNotSupported":"Preview not supported for this file type","assets.loadingPreview":"Loading...","assets.previewError":"Failed to load preview","assets.fileTooLarge":"File too large to preview (over 1MB)","taskPage.title":"Task Details","taskPage.back":"Back","taskPage.backToBoard":"Back to Board","taskPage.conversation":"Conversation","taskPage.changes":"Changes","taskPage.notes":"Notes","taskPage.addNote":"Add Note","taskPage.noteTitle":"Title","taskPage.noteContent":"Content","taskPage.uploadFile":"Upload File","taskPage.attachments":"Attachments","taskPage.noNotes":"No notes yet","taskPage.noAttachments":"No attachments yet","taskPage.deleteNote":"Delete","taskPage.deleteAttachment":"Delete","taskPage.noteSaved":"Note saved","taskPage.viewDetails":"View Details","taskPage.noChanges":"No changes to display","taskPage.branchDeleted":"Task branch has been deleted, cannot view changes","taskPage.startExecution":"Start an execution to see changes","taskPage.loadingDiff":"Loading changes...","taskPage.noDiff":"No changes (project needs local path and base branch configured)","taskPage.tabFiles":"Files","taskPage.tabPreview":"Preview","taskPage.tabSearch":"Search","taskPage.tabFileTree":"Files","taskPage.completeTask":"Complete Task","taskPage.taskCompleted":"Task completed","taskPage.uncommittedChanges":"Worktree has {count} uncommitted file(s). Please click Commit button first","taskPage.noChangesToComplete":"No changes to complete — nothing was committed","taskPage.loadDiffFailed":"Failed to load changes","taskPage.fileTree.newFile":"New File","taskPage.fileTree.newFolder":"New Folder","taskPage.fileTree.rename":"Rename","taskPage.fileTree.delete":"Delete","taskPage.fileTree.revealInFinder":"Reveal in Finder","taskPage.fileTree.emptyHeading":"File tree unavailable","taskPage.fileTree.emptyBody":"Start task execution to view the worktree directory","taskPage.fileTree.emptyDir":"Empty directory","taskPage.fileTree.loadError":"Failed to load files. Try again.","taskPage.fileTree.renamePlaceholder":"Enter new name","taskPage.fileTree.newFilePlaceholder":"File name","taskPage.fileTree.newFolderPlaceholder":"Folder name","taskPage.fileTree.deleteConfirmHeading":"Confirm delete","taskPage.fileTree.deleteConfirmBody":'Delete "{name}"? This cannot be undone.',"taskPage.fileTree.deleteConfirmBodyFolder":'"{name}" and all its contents will be deleted.',"taskPage.fileTree.deleteConfirmAction":"Delete","taskPage.fileTree.searchPlaceholder":"Search files…","taskPage.fileTree.searchNoResults":"No matching files","editor.selectFile":"Select a file to open","editor.selectFileHint":"Click any file in the file tree on the left","editor.saveSuccess":"File saved","editor.saveError":"Save failed, please try again","editor.closeTab":"Close tab","editor.noWorktree":"No worktree — run the task first","diff.filesChanged":"{count} files changed","diff.additions":"+{count}","diff.deletions":"-{count}","diff.binary":"Binary","diff.truncated":"Diff truncated (too large)","diff.conflictWarning":"Merge blocked: conflicts detected","diff.conflictFiles":"{count} conflicting files","diff.commitChanges":"Commit Changes","diff.commitMessagePlaceholder":"First line is the title, blank line then description\n\ne.g.:\nfeat: add user authentication\n\nImplement JWT token verification and refresh","diff.commit":"Commit","diff.noChanges":"No changes detected","diff.commitSuccess":"Committed ({hash})","merge.button":"Merge","merge.confirmTitle":"Confirm Squash Merge","merge.targetBranch":"Target branch","merge.changedFiles":"Changed files","merge.commitsToSquash":"Commits to squash","merge.commitMessage":"Commit message","merge.confirm":"Confirm Merge","merge.cancel":"Cancel","merge.merging":"Merging...","merge.success":"Merge completed successfully","merge.conflictError":"Cannot merge: conflicts detected","merge.failed":"Merge failed","project.type.label":"Project Type","project.type.frontend":"Frontend","project.type.backend":"Backend","project.previewCommand":"Preview Start Command","project.previewCommandPlaceholder":"e.g. pnpm dev","project.previewCommandDesc":"Command to start your local dev server","preview.run":"Run","preview.stop":"Stop","preview.openTerminal":"Open in Terminal","preview.refresh":"Refresh Preview","preview.addressPlaceholder":"Enter local URL, press Enter to load","preview.noWorktree":"Preview Unavailable","preview.noWorktreeDesc":"Run a task to preview your frontend here","preview.statusStopped":"Stopped","preview.statusStarting":"Starting...","preview.statusRunning":"Running","preview.statusError":"Failed","preview.errorDesc":"Failed to start preview server. Check your start command.","preview.terminalError":"Cannot open terminal. Check terminal settings.","preview.port":"Port","settings.shell.label":"Default Shell","settings.shell.desc":"Shell for PTY terminal and AI CLI testing — uses your system shell with its aliases, plugins, etc.","settings.shell.winHint":"Claude Code requires Git Bash on Windows — select Git Bash as default","settings.terminal.label":"Terminal App","settings.terminal.desc":'GUI terminal app for "Open in Terminal"',"settings.terminal.placeholder":"Terminal","settings.terminal.idleTimeout":"Idle Timeout (seconds)","settings.terminal.idleTimeoutDesc":"How long before idle detection triggers after no terminal output (minimum 180s)","settings.cliProfile.title":"CLI Profile","settings.cliProfile.desc":"Configure AI CLI tool execution parameters","settings.cliProfile.navDesc":"CLI execution parameters","settings.cliProfile.command":"Command","settings.cliProfile.commandHint":"CLI executable name or path","settings.cliProfile.commandPlaceholder":"claude","settings.cliProfile.baseArgs":"Base Arguments","settings.cliProfile.baseArgsHint":"Arguments appended to every execution, one per line","settings.cliProfile.baseArgsPlaceholder":"--dangerously-skip-permissions","settings.cliProfile.envVars":"Environment Variables","settings.cliProfile.envVarsHint":"Environment variables injected into CLI process, format: KEY=VALUE, one per line","settings.cliProfile.envVarsPlaceholder":"MY_VAR=value","settings.cliProfile.saved":"CLI profile saved","settings.cliProfile.saveError":"Save failed","settings.cliProfile.invalidJson":"Invalid parameter format","settings.cliProfile.noProfile":"No default CLI profile found — run seed","terminal.connecting":"Connecting...","terminal.connected":"Connected","terminal.disconnected":"Disconnected","terminal.reconnecting":"Reconnecting...","terminal.noWorktree":"No Worktree","terminal.noWorktreeDesc":"Run the task first to start the terminal","terminal.execute":"Execute","terminal.executing":"Executing...","terminal.noPrompt":"Enter a prompt to execute","terminal.stopExecution":"Stop","terminal.stopHint":"Consider asking AI to commit before stopping","terminal.promptPlaceholder":"Enter task prompt...","terminal.launch":"Launch Terminal","terminal.readyToLaunch":"Click to launch terminal and start task execution","execution.success":"Success","execution.failed":"Failed","execution.running":"Running","execution.viewDetails":"Details","execution.noSummary":"No summary","execution.commits":"commits","execution.files":"files","execution.terminalOutput":"Terminal Output","execution.history":"Execution History","execution.gitLog":"Git Log","execution.loading":"Loading...","execution.noHistory":"No execution history","execution.resume":"Resume","execution.tryRecover":"Try Continue","execution.details":"Details","execution.collapse":"Collapse","execution.insight":"Insight","missions.navLabel":"Missions","missions.pageTitle":"Mission Control","missions.launchTask":"Launch Task","missions.emptyTitle":"No running tasks","missions.emptyDesc":'Click "Launch Task" to start an execution',"missions.gridPreset":"Layout","missions.stopTask":"Stop Task","missions.openFullView":"Open full view","missions.runningTime":"Running","missions.statusCompleted":"Completed","missions.statusStopped":"Stopped","missions.statusRunning":"Running","missions.dragHandle":"Drag to reorder","missions.openInTerminal":"Open in Terminal","missions.launcher.title":"Launch Task","missions.launcher.workspace":"Workspace","missions.launcher.project":"Project","missions.launcher.task":"Task","missions.launcher.selectWorkspace":"Select workspace","missions.launcher.selectProject":"Select project","missions.launcher.selectTask":"Select task","missions.launcher.launch":"Launch","missions.launcher.cancel":"Cancel","missions.launcher.noTasks":"No executable tasks","missions.error.launchFailed":"Failed to launch task","missions.error.stopFailed":"Failed to stop task","missions.filterAll":"All Workspaces","missions.alreadyMonitored":"Already monitored","missions.showMoreTasks":"Show more tasks...","missions.pickerTitle":"Select a task to launch","missions.pickerFooter":"Click Launch to start execution","missions.noAvailableTasks":"No available tasks","missions.continueSession":"Continue last session","missions.continueLabel":"Continue","missions.launchNew":"Start new terminal","missions.launchNewLabel":"New","missions.fullPickerTitle":"Select Task","missions.fullPickerHint":"Select a workspace and project to see tasks","missions.gridCustom":"Custom","missions.gridCols":"Cols","missions.gridRows":"Rows","settings.config.missions.title":"Mission Control Layout","settings.config.missions.desc":"Configure min/max range for custom grid columns and rows","settings.config.missions.minCols":"Min Columns","settings.config.missions.maxCols":"Max Columns","settings.config.missions.minRows":"Min Rows","settings.config.missions.maxRows":"Max Rows","settings.config.hooks.title":"Hook Configuration","settings.config.hooks.desc":"Manage Claude Code PostToolUse hooks","settings.config.hooks.autoUploadTypes":"Auto-upload File Types","settings.config.hooks.autoUploadTypesHint":"Comma-separated file extensions","settings.config.hooks.install":"Install Hook","settings.config.hooks.uninstall":"Uninstall Hook","settings.config.hooks.installed":"Hook installed","settings.config.hooks.notInstalled":"Hook not installed","settings.config.hooks.installHint":"Once installed, files matching the configured types written by Claude Code will be auto-uploaded as task assets","assistant.title":"Tower Assistant","assistant.iconLabel":"Assistant","assistant.starting":"Starting...","assistant.errorTitle":"Session failed","assistant.errorBody":"Failed to start. Try again.","assistant.loading":"Loading...","assistant.emptyTitle":"What can I help you with?","assistant.emptyBody":"Type a message to start","assistant.copy":"Copy","assistant.suggestion.createProject":"Create a new project","assistant.suggestion.createTask":"Create a task","assistant.suggestion.checkProgress":"Check task progress","assistant.suggestion.dailySummary":"View today's work summary","assistant.inputPlaceholder":"Type a message, Enter to send, Shift+Enter for new line","assistant.sendLabel":"Send message","assistant.cancelLabel":"Cancel","assistant.thinking":"Thinking","assistant.toolLabel":"Tool","assistant.parseError":"Parse error","assistant.parseErrorBody":"Could not parse assistant output","assistant.closeLabel":"Close assistant","assistant.expandTool":"Expand tool call details","assistant.previewImage":"Preview image","assistant.removeImage":"Remove image","assistant.brokenImage":"Image unavailable","assistant.imageCount":"image(s)","assistant.uploadFailed":"Upload failed","assistant.uploadFailedRemoveHint":"Upload failed — click x to remove","assistant.closePreview":"Close preview","assistant.inputPlaceholderWithImages":"Type a message or paste an image...","settings.assistant.title":"Assistant","settings.assistant.desc":"Configure assistant behavior","settings.assistant.communicationMode":"Communication Mode","settings.assistant.communicationModeDesc":"Choose how to interact with the assistant","settings.assistant.modeTerminal":"Terminal","settings.assistant.modeChat":"Chat","assistant.newSession":"New Session","assistant.sessionList":"Sessions","assistant.deleteSession":"Delete","assistant.noSessions":"No previous sessions","project.migrate":"Migrate to canonical path","project.migrateHint":"Move project folder to the location derived from Git path rules","project.targetPath":"Target Path","project.migrating":"Migrating...","project.migrateSuccess":"Project migrated to canonical path","project.migrateError":"Migration failed","project.samePathInfo":"Path is already canonical","project.migrateSafetyWarning":"Ensure no tasks are running before migration","project.worktreeWarning":"This project has active Git worktrees — migration will be blocked","project.genDesc":"Generate Description","project.analyzing":"Analyzing...","project.analyzeError":"Analysis failed, please retry","project.genDescDisabledTooltip":"Please select a path first","project.genDescNoPath":"Please enter an address first","project.genDescNotCloned":"Please clone the project first","project.genDescReady":"Generate description from local code","project.deleteTitle":"Delete Project","project.deleteWarning":'Are you sure you want to delete "{name}"?',"project.deleteIrreversible":"This action cannot be undone. All tasks and data will be permanently deleted.","project.deleteConfirmLabel":'Type "confirm delete" to confirm',"project.deleteConfirmPlaceholder":"confirm delete","project.deleteConfirmText":"confirm delete","project.deleteButton":"Delete Project","project.deleteSuccess":"Project deleted","project.deleteFailed":"Delete failed, please retry","taskDrawer.title":"Task Overview","taskDrawer.description":"Description","taskDrawer.labels":"Labels","taskDrawer.createdAt":"Created","taskDrawer.resources":"Resources","taskDrawer.lastExecution":"Last Execution","taskDrawer.noDescription":"No description","taskDrawer.noExecution":"No execution history","codeSearch.patternPlaceholder":"Search code (regex supported)","codeSearch.globPlaceholder":"File filter, e.g. *.ts","codeSearch.noPath":"Please configure local path first","codeSearch.searching":"Searching...","codeSearch.noResults":"No matches found","codeSearch.truncated":"Showing first 200 results","codeSearch.hint":"Type a keyword and press Enter to search","codeSearch.rgNotInstalled":"ripgrep (rg) not found, please install: brew install ripgrep","settings.notifications.title":"Notifications","settings.notifications.desc":"Task completion alerts","settings.notifications.navDesc":"Desktop and toast alerts","settings.notifications.enable":"Task Completion Notifications","settings.notifications.enableDesc":"Show a desktop notification or toast when a task finishes executing","notification.permissionPrompt":"Allow Tower to send desktop notifications when tasks complete","notification.allow":"Allow","notification.dismiss":"Dismiss","notification.taskCompleted":"Task completed","notification.taskFailed":"Task failed","onboarding.title":"Welcome to Tower","onboarding.step1.title":"Set Your Username","onboarding.step1.desc":"Enter your username — the AI assistant will address you by this name","onboarding.step1.usernamePlaceholder":"Enter username","onboarding.step1.usernameLabel":"Username","onboarding.step1.next":"Next","onboarding.step2.title":"AI Connection Test","onboarding.step2.desc":"Test connectivity with AI adapters to ensure tasks can be dispatched and executed","onboarding.cliRequired":"Claude CLI must be installed and configured to continue. Please refer to the documentation.","onboarding.complete":"Complete Setup","onboarding.skip":"Skip","onboarding.back":"Back","onboarding.step3.title":"Configure Git Path Rules","onboarding.step3.desc":"Set up mapping rules between Git repository URLs and local paths — local paths will be auto-generated when creating Git projects","onboarding.step3.addFirst":"Add First Rule","onboarding.step3.noRules":"No rules configured yet — you'll need to enter local paths manually when creating Git projects","onboarding.step3.hostLabel":"Git Host","onboarding.step3.hostPlaceholder":"e.g. github.com","onboarding.step3.ownerLabel":"Owner Match","onboarding.step3.ownerPlaceholder":"* for all, or specific username","onboarding.step3.pathLabel":"Local Base Path","onboarding.step3.pathPlaceholder":"e.g. /Users/you/project","onboarding.step3.pathHint":"Variables: {path}=full path, {owner}=first segment, {repo}=repo name. Without variables, repo name is auto-appended","onboarding.step3.pathHintRepo":"Repository name is auto-appended to the path","onboarding.step3.pathHintFull":"Preserves full subgroup path (for GitLab nested groups)","onboarding.step3.added":"{count} rule(s) added","onboarding.step3.exampleTitle":"Example","onboarding.step3.exampleCase1":"Rule: host github.com, path ~/project → result ~/project/my-app","onboarding.step3.exampleCase2":"Rule: host gitlab.com, path ~/company/{path} → result ~/company/team/group/my-app","onboarding.step3.exampleDesc":"When creating a project with a Git URL, the local path is auto-filled. Use {path} to preserve full subgroup structure.","onboarding.step3.previewLabel":"Test Preview","onboarding.step3.previewPlaceholder":"Paste a Git URL to preview the result","onboarding.step3.previewNoMatch":"Cannot parse this URL","onboarding.stepIndicator":"Step {current}/{total}","onboarding.welcomeCta":"Create your first workspace to get started","onboarding.createWorkspace":"Create Workspace","onboarding.defaultWorkspaceName":"My Workspace","tour.step1.title":"Create Workspace","tour.step1.desc":"Workspaces are the top-level organizer. Click here to create your first workspace.","tour.step2.title":"Create Project","tour.step2.desc":"Projects belong to workspaces. Click here to create or import a project linked to your code repository.","tour.step3.title":"Open AI Assistant","tour.step3.desc":"The AI assistant helps you manage tasks and projects. Click here to start a conversation anytime.","tour.skip":"Skip tour","tour.next":"Next","tour.done":"Done","aiConfig.title":"AI Capability Config","aiConfig.description":"Configure provider and model for each AI feature independently","aiConfig.terminal":"Terminal Execution","aiConfig.summary":"Session Summary","aiConfig.dreaming":"Knowledge Distillation","aiConfig.analysis":"Project Analysis","aiConfig.assistant":"Assistant Chat","aiConfig.provider":"Provider","aiConfig.mode":"Mode","aiConfig.model":"Model","aiConfig.cli":"CLI (Subscription)","aiConfig.api":"API (Pay-per-use)","aiConfig.default":"Default","aiConfig.notConfigured":"Not configured","aiConfig.cliNotFound":"CLI not installed","aiConfig.apiKeyMissing":"API key not configured","aiConfig.saved":"Saved"}},a=(0,s.createContext)(null);e.s(["I18nProvider",0,function({children:e}){let[o,n]=(0,s.useState)("zh");(0,s.useEffect)(()=>{let e=localStorage.getItem("locale");e&&e!==o&&n(e)},[]);let r=(0,s.useCallback)(e=>{n(e),localStorage.setItem("locale",e)},[]),l=(0,s.useCallback)((e,t)=>{let s=i[o][e]??e;if(t)for(let[e,i]of Object.entries(t))s=s.replace(`{${e}}`,i);return s},[o]);return(0,t.jsx)(a.Provider,{value:{locale:o,setLocale:r,t:l},children:e})},"useI18n",0,function(){let e=(0,s.useContext)(a);if(!e)throw Error("useI18n must be used within I18nProvider");return e}],349369)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,251449,302320,e=>{"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function r(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function n(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach(function(t){var r,a;r=t,a=n[t],(r=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t);if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(r))in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function s(e){return function t(){for(var r=this,n=arguments.length,a=Array(n),i=0;i<n;i++)a[i]=arguments[i];return a.length>=e.length?e.apply(this,a):function(){for(var e=arguments.length,n=Array(e),i=0;i<e;i++)n[i]=arguments[i];return t.apply(r,[].concat(a,n))}}}function o(e){return({}).toString.call(e).includes("Object")}function c(e){return"function"==typeof e}var l,u,d=s(function(e,t){throw Error(e[t]||e.default)})({initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"}),f=function(e,t){return o(t)||d("changeType"),Object.keys(t).some(function(t){return!Object.prototype.hasOwnProperty.call(e,t)})&&d("changeField"),t},m=function(e){c(e)||d("selectorType")},h=function(e){c(e)||o(e)||d("handlerType"),o(e)&&Object.values(e).some(function(e){return!c(e)})&&d("handlersType")},x=function(e){e||d("initialIsRequired"),o(e)||d("initialType"),Object.keys(e).length||d("initialContent")};function g(e,t){return c(t)?t(e.current):t}function p(e,t){return e.current=i(i({},e.current),t),t}function v(e,t,r){return c(t)?t(e.current):Object.keys(r).forEach(function(r){var n;return null==(n=t[r])?void 0:n.call(t,e.current[r])}),r}var b={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:"Deprecation warning!\n You are using deprecated way of configuration.\n\n Instead of using\n monaco.config({ urls: { monacoBase: '...' } })\n use\n monaco.config({ paths: { vs: '...' } })\n\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\n "},y=(l=function(e,t){throw Error(e[t]||e.default)},function e(){for(var t=this,r=arguments.length,n=Array(r),a=0;a<r;a++)n[a]=arguments[a];return n.length>=l.length?l.apply(this,n):function(){for(var r=arguments.length,a=Array(r),i=0;i<r;i++)a[i]=arguments[i];return e.apply(t,[].concat(n,a))}})(b),j=function(e){return(e||y("configIsRequired"),({}).toString.call(e).includes("Object")||y("configType"),e.urls)?(console.warn(b.deprecation),{paths:{vs:e.urls.monacoBase}}):e},w=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}},N={type:"cancelation",msg:"operation is manually canceled"};function k(e){var t=!1,r=new Promise(function(r,n){e.then(function(e){return t?n(N):r(e)}),e.catch(n)});return r.cancel=function(){return t=!0},r}var S=["monaco"],M=function(e){if(Array.isArray(e))return e}(u=({create:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};x(e),h(t);var r={current:e},n=s(v)(r,t),a=s(p)(r),i=s(f)(e),o=s(g)(r);return[function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(e){return e};return m(e),e(r.current)},function(e){(function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}})(n,a,i,o)(e)}]}}).create({config:{paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs"}},isInitialized:!1,resolve:null,reject:null,monaco:null}))||function(e){var t=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,n,a,i,s=[],o=!0,c=!1;try{a=(t=t.call(e)).next,!1;for(;!(o=(r=a.call(t)).done)&&(s.push(r.value),2!==s.length);o=!0);}catch(e){c=!0,n=e}finally{try{if(!o&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(c)throw n}}return s}}(u)||function(e){if(e){if("string"==typeof e)return t(e,2);var r=({}).toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,2):void 0}}(u)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),C=M[0],O=M[1];function R(e){return document.body.appendChild(e)}function E(e){var t,r,n=C(function(e){return{config:e.config,reject:e.reject}}),a=(t="".concat(n.config.paths.vs,"/loader.js"),r=document.createElement("script"),t&&(r.src=t),r);return a.onload=function(){return e()},a.onerror=n.reject,a}function P(){var e=C(function(e){return{config:e.config,resolve:e.resolve,reject:e.reject}}),t=window.require;t.config(e.config),t(["vs/editor/editor.main"],function(t){var r=t.m||t;L(r),e.resolve(r)},function(t){e.reject(t)})}function L(e){C().monaco||O({monaco:e})}var T=new Promise(function(e,t){return O({resolve:e,reject:t})}),D={config:function(e){var t=j(e),r=t.monaco,a=function(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r={};for(var n in e)if(({}).hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],-1===t.indexOf(r)&&({}).propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(t,S);O(function(e){return{config:function e(t,r){return Object.keys(r).forEach(function(n){r[n]instanceof Object&&t[n]&&Object.assign(r[n],e(t[n],r[n]))}),n(n({},t),r)}(e.config,a),monaco:r}})},init:function(){var e=C(function(e){return{monaco:e.monaco,isInitialized:e.isInitialized,resolve:e.resolve}});if(!e.isInitialized){if(O({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),k(T);if(window.monaco&&window.monaco.editor)return L(window.monaco),e.resolve(window.monaco),k(T);w(R,E)(P)}return k(T)},__getMonacoInstance:function(){return C(function(e){return e.monaco})}};e.s(["default",0,D],302320);var A=e.i(641338),I={display:"flex",position:"relative",textAlign:"initial"},U={width:"100%"},F={display:"none"},z={display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"},B=function({children:e}){return A.default.createElement("div",{style:z},e)},$=(0,A.memo)(function({width:e,height:t,isEditorReady:r,loading:n,_ref:a,className:i,wrapperProps:s}){return A.default.createElement("section",{style:{...I,width:e,height:t},...s},!r&&A.default.createElement(B,null,n),A.default.createElement("div",{ref:a,style:{...U,...!r&&F},className:i}))}),V=function(e){(0,A.useEffect)(e,[])},q=function(e,t,r=!0){let n=(0,A.useRef)(!0);(0,A.useEffect)(n.current||!r?()=>{n.current=!1}:e,t)};function G(){}function W(e,t,r,n){var a,i,s,o,c,l;return a=e,i=n,a.editor.getModel(_(a,i))||(s=e,o=t,c=r,l=n,s.editor.createModel(o,c,l?_(s,l):void 0))}function _(e,t){return e.Uri.parse(t)}var H=(0,A.memo)(function({original:e,modified:t,language:r,originalLanguage:n,modifiedLanguage:a,originalModelPath:i,modifiedModelPath:s,keepCurrentOriginalModel:o=!1,keepCurrentModifiedModel:c=!1,theme:l="light",loading:u="Loading...",options:d={},height:f="100%",width:m="100%",className:h,wrapperProps:x={},beforeMount:g=G,onMount:p=G}){let[v,b]=(0,A.useState)(!1),[y,j]=(0,A.useState)(!0),w=(0,A.useRef)(null),N=(0,A.useRef)(null),k=(0,A.useRef)(null),S=(0,A.useRef)(p),M=(0,A.useRef)(g),C=(0,A.useRef)(!1);V(()=>{let e=D.init();return e.then(e=>(N.current=e)&&j(!1)).catch(e=>e?.type!=="cancelation"&&console.error("Monaco initialization: error:",e)),()=>{let t;return w.current?(t=w.current?.getModel(),void(o||t?.original?.dispose(),c||t?.modified?.dispose(),w.current?.dispose())):e.cancel()}}),q(()=>{if(w.current&&N.current){let t=w.current.getOriginalEditor(),a=W(N.current,e||"",n||r||"text",i||"");a!==t.getModel()&&t.setModel(a)}},[i],v),q(()=>{if(w.current&&N.current){let e=w.current.getModifiedEditor(),n=W(N.current,t||"",a||r||"text",s||"");n!==e.getModel()&&e.setModel(n)}},[s],v),q(()=>{let e=w.current.getModifiedEditor();e.getOption(N.current.editor.EditorOption.readOnly)?e.setValue(t||""):t!==e.getValue()&&(e.executeEdits("",[{range:e.getModel().getFullModelRange(),text:t||"",forceMoveMarkers:!0}]),e.pushUndoStop())},[t],v),q(()=>{w.current?.getModel()?.original.setValue(e||"")},[e],v),q(()=>{let{original:e,modified:t}=w.current.getModel();N.current.editor.setModelLanguage(e,n||r||"text"),N.current.editor.setModelLanguage(t,a||r||"text")},[r,n,a],v),q(()=>{N.current?.editor.setTheme(l)},[l],v),q(()=>{w.current?.updateOptions(d)},[d],v);let O=(0,A.useCallback)(()=>{if(!N.current)return;M.current(N.current);let o=W(N.current,e||"",n||r||"text",i||""),c=W(N.current,t||"",a||r||"text",s||"");w.current?.setModel({original:o,modified:c})},[r,t,a,e,n,i,s]),R=(0,A.useCallback)(()=>{!C.current&&k.current&&(w.current=N.current.editor.createDiffEditor(k.current,{automaticLayout:!0,...d}),O(),N.current?.editor.setTheme(l),b(!0),C.current=!0)},[d,l,O]);return(0,A.useEffect)(()=>{v&&S.current(w.current,N.current)},[v]),(0,A.useEffect)(()=>{y||v||R()},[y,v,R]),A.default.createElement($,{width:m,height:f,isEditorReady:v,loading:u,_ref:k,className:h,wrapperProps:x})}),J=function(e){let t=(0,A.useRef)();return(0,A.useEffect)(()=>{t.current=e},[e]),t.current},K=new Map,X=(0,A.memo)(function({defaultValue:e,defaultLanguage:t,defaultPath:r,value:n,language:a,path:i,theme:s="light",line:o,loading:c="Loading...",options:l={},overrideServices:u={},saveViewState:d=!0,keepCurrentModel:f=!1,width:m="100%",height:h="100%",className:x,wrapperProps:g={},beforeMount:p=G,onMount:v=G,onChange:b,onValidate:y=G}){let[j,w]=(0,A.useState)(!1),[N,k]=(0,A.useState)(!0),S=(0,A.useRef)(null),M=(0,A.useRef)(null),C=(0,A.useRef)(null),O=(0,A.useRef)(v),R=(0,A.useRef)(p),E=(0,A.useRef)(void 0),P=(0,A.useRef)(n),L=J(i),T=(0,A.useRef)(!1),I=(0,A.useRef)(!1);V(()=>{let e=D.init();return e.then(e=>(S.current=e)&&k(!1)).catch(e=>e?.type!=="cancelation"&&console.error("Monaco initialization: error:",e)),()=>M.current?void(E.current?.dispose(),f?d&&K.set(i,M.current.saveViewState()):M.current.getModel()?.dispose(),M.current.dispose(),M.current=null,T.current=!1,w(!1)):e.cancel()}),q(()=>{let s=W(S.current,e||n||"",t||a||"",i||r||"");s!==M.current?.getModel()&&(d&&K.set(L,M.current?.saveViewState()),M.current?.setModel(s),d&&M.current?.restoreViewState(K.get(i)))},[i],j),q(()=>{M.current?.updateOptions(l)},[l],j),q(()=>{M.current&&void 0!==n&&(M.current.getOption(S.current.editor.EditorOption.readOnly)?M.current.setValue(n):n!==M.current.getValue()&&(I.current=!0,M.current.executeEdits("",[{range:M.current.getModel().getFullModelRange(),text:n,forceMoveMarkers:!0}]),M.current.pushUndoStop(),I.current=!1))},[n],j),q(()=>{let e=M.current?.getModel();j&&e&&a&&S.current?.editor.setModelLanguage(e,a)},[a,j],j),q(()=>{void 0!==o&&M.current?.revealLine(o)},[o],j),q(()=>{S.current?.editor.setTheme(s)},[s],j);let U=(0,A.useCallback)(()=>{if(!(!C.current||!S.current)&&!T.current){R.current(S.current);let c=i||r,f=W(S.current,n||e||"",t||a||"",c||"");M.current=S.current?.editor.create(C.current,{model:f,automaticLayout:!0,...l},u),d&&M.current.restoreViewState(K.get(c)),S.current.editor.setTheme(s),void 0!==o&&M.current.revealLine(o),w(!0),T.current=!0}},[e,t,r,n,a,i,l,u,d,s,o]);return(0,A.useEffect)(()=>{j&&O.current(M.current,S.current)},[j]),(0,A.useEffect)(()=>{N||j||U()},[N,j,U]),P.current=n,(0,A.useEffect)(()=>{j&&b&&(E.current?.dispose(),E.current=M.current?.onDidChangeModelContent(e=>{I.current||b(M.current.getValue(),e)}))},[j,b]),(0,A.useEffect)(()=>{if(j){let e=S.current.editor.onDidChangeMarkers(e=>{let t=M.current.getModel()?.uri;if(t&&e.find(e=>e.path===t.path)){let e=S.current.editor.getModelMarkers({resource:t});y?.(e)}});return()=>{e?.dispose()}}return()=>{}},[j,y]),A.default.createElement($,{width:m,height:h,isEditorReady:j,loading:c,_ref:C,className:x,wrapperProps:g})});e.s(["DiffEditor",0,H,"Editor",0,X,"default",0,X,"useMonaco",0,function(){let[e,t]=(0,A.useState)(D.__getMonacoInstance());return V(()=>{let r;return e||(r=D.init()).then(e=>{t(e)}),()=>r?.cancel()}),e}],251449)},583315,e=>{"use strict";let t=(0,e.i(258114).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,t],583315)},113205,e=>{"use strict";var t=e.i(430989),r=e.i(47816);e.s(["EmptyState",0,function({icon:e,title:n,description:a,action:i,className:s}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex h-48 flex-col items-center justify-center gap-2 text-center",s),children:[e&&(0,t.jsx)(e,{className:"h-10 w-10 text-muted-foreground/40"}),(0,t.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:n}),a&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground/60",children:a}),i&&(0,t.jsx)("div",{className:"mt-2",children:i})]})}])},2139,e=>{"use strict";let t=(0,e.i(258114).default)("circle-play",[["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["PlayCircle",0,t],2139)},653157,e=>{"use strict";let t=(0,e.i(258114).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Eye",0,t],653157)},553708,e=>{"use strict";var t=e.i(755683);let r=(0,t.createServerReference)("780fbf51c8301f404b2c4273b548d05ab19803b5ac",t.callServer,void 0,t.findSourceMapURL,"startPtyExecution");e.s(["startPtyExecution",0,r])},664676,e=>{"use strict";var t=e.i(755683);let r=(0,t.createServerReference)("40277c58c7db736b9f772aa25c27e2efec4c1ec24c",t.callServer,void 0,t.findSourceMapURL,"stopPtyExecution");e.s(["stopPtyExecution",0,r])},878262,545315,e=>{"use strict";var t=e.i(755683);let r=(0,t.createServerReference)("608a1e69db59b3af747f4194ccb8b2db70f034437c",t.callServer,void 0,t.findSourceMapURL,"resumePtyExecution");e.s(["resumePtyExecution",0,r],878262);let n=(0,e.i(258114).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",0,n],545315)},667002,e=>{"use strict";var t=e.i(755683);let r=(0,t.createServerReference)("4018b6a7fcc515b60e597ce3c1cf00952eb01c589a",t.callServer,void 0,t.findSourceMapURL,"openInTerminal");e.s(["openInTerminal",0,r])},305814,749080,598684,651285,103683,700470,748262,584395,349122,e=>{"use strict";var t=e.i(755683);let r=(0,t.createServerReference)("608944e3413e43acb63976b0781ace2d4c83b4eedd",t.callServer,void 0,t.findSourceMapURL,"listDirectory");e.s(["listDirectory",0,r],305814);let n=(0,t.createServerReference)("70f7d7e101c0daee53b8b46dce82a0a8e4cc947c03",t.callServer,void 0,t.findSourceMapURL,"getGitStatus");e.s(["getGitStatus",0,n],749080);let a=(0,t.createServerReference)("609b2453865b15304677287d490dbee63ad181cab1",t.callServer,void 0,t.findSourceMapURL,"createFile");e.s(["createFile",0,a],598684);let i=(0,t.createServerReference)("60c630002290243d30f7db1f6f35f1bac67ac80e3c",t.callServer,void 0,t.findSourceMapURL,"createDirectory");e.s(["createDirectory",0,i],651285);let s=(0,t.createServerReference)("7042ee682789a67ad14f15111574c020cf65695062",t.callServer,void 0,t.findSourceMapURL,"renameEntry");e.s(["renameEntry",0,s],103683);let o=(0,t.createServerReference)("60a817c0165eef29afa03e6a15289a6d3652251bdd",t.callServer,void 0,t.findSourceMapURL,"deleteEntry");e.s(["deleteEntry",0,o],700470);let c=(0,t.createServerReference)("4090d02fef1eae55799d9d18dfd4e4af46e5b232db",t.callServer,void 0,t.findSourceMapURL,"listAllFiles");e.s(["listAllFiles",0,c],748262);let l=(0,t.createServerReference)("6025e3b2c08ee6aa181e624b406f1e5a8ea291ebb6",t.callServer,void 0,t.findSourceMapURL,"readFileContent");e.s(["readFileContent",0,l],584395);let u=(0,t.createServerReference)("7092d95143a80c1b1f8d070b9cdd937c810aaefbb7",t.callServer,void 0,t.findSourceMapURL,"writeFileContent");e.s(["writeFileContent",0,u],349122)},174145,e=>{"use strict";var t=e.i(228202),r=e.i(703995),n=e.i(555138),a=e.i(47816);let i=(0,n.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});e.s(["Badge",0,function({className:e,variant:n="default",render:s,...o}){var c;return c={defaultTagName:"span",props:(0,t.mergeProps)({className:(0,a.cn)(i({variant:n}),e)},o),render:s,state:{slot:"badge",variant:n}},(0,r.useRenderElement)(c.defaultTagName??"div",c,c)}],174145)},170528,581511,e=>{"use strict";var t=e.i(93850);e.s(["CheckCircle2",()=>t.default],170528);let r=(0,e.i(258114).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.s(["XCircle",0,r],581511)},678978,e=>{"use strict";let t=(0,e.i(258114).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",0,t],678978)},43723,e=>{"use strict";var t=e.i(755683);let r=(0,t.createServerReference)("40b16fc79d05bc036b0b898cc5c16d7ecd20566252",t.callServer,void 0,t.findSourceMapURL,"getPrompts");e.s(["getPrompts",0,r])},597736,e=>{"use strict";var t=e.i(794097);e.s(["ChevronRight",()=>t.default])},986633,e=>{"use strict";let t=(0,e.i(258114).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",0,t],986633)},928951,e=>{"use strict";let t=(0,e.i(258114).default)("git-compare",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["path",{d:"M11 18H8a2 2 0 0 1-2-2V9",key:"19pyzm"}]]);e.s(["GitCompare",0,t],928951)},421051,e=>{"use strict";var t=e.i(860875);e.s(["AlertTriangle",()=>t.default])},246762,960732,e=>{"use strict";var t=e.i(430989),r=e.i(641338),n=e.i(597736),a=e.i(260949),i=e.i(421051),s=e.i(928951),o=e.i(258114);let c=(0,o.default)("git-commit-horizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);var l=e.i(744838),u=e.i(113205),d=e.i(174145),f=e.i(331548),m=e.i(779574),h=e.i(349369);e.s(["TaskDiffView",0,function({files:e,totalAdded:o,totalRemoved:x,hasConflicts:g,conflictFiles:p,onCommit:v,hasUncommitted:b}){let{t:y}=(0,h.useI18n)(),[j,w]=(0,r.useState)(new Set),[N,k]=(0,r.useState)(!1),[S,M]=(0,r.useState)(""),[C,O]=(0,r.useState)(!1);return(0,t.jsxs)("div",{className:"flex flex-col h-full",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-3 flex-shrink-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 text-sm text-muted-foreground",children:[(0,t.jsxs)("span",{className:"font-medium text-foreground",children:[e.length," files changed"]}),(0,t.jsxs)("span",{className:"text-green-400 font-mono text-xs",children:["+",o]}),(0,t.jsxs)("span",{className:"text-red-400 font-mono text-xs",children:["-",x]})]}),(0,t.jsx)("div",{className:"flex items-center gap-2",children:b&&v&&(0,t.jsxs)(l.Button,{variant:"outline",onClick:()=>k(!0),className:"gap-2",children:[(0,t.jsx)(c,{className:"h-4 w-4"}),y("diff.commit")]})})]}),g&&(0,t.jsxs)("div",{className:"flex flex-col gap-2 border-b border-border bg-amber-500/5 px-4 py-3 flex-shrink-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-amber-400",children:[(0,t.jsx)(i.AlertTriangle,{className:"h-4 w-4 flex-shrink-0"}),(0,t.jsxs)("span",{className:"text-sm font-medium",children:["Merge blocked: ",p.length," conflicting file",1!==p.length?"s":""]})]}),(0,t.jsx)("ul",{className:"ml-6 space-y-1",children:p.map(e=>(0,t.jsx)("li",{className:"text-xs font-mono text-amber-300/80",children:e},e))})]}),(0,t.jsx)("div",{className:"flex-1 overflow-auto",children:0===e.length?(0,t.jsx)(u.EmptyState,{icon:s.GitCompare,title:y("diff.noChanges"),className:"h-full"}):(0,t.jsx)("div",{className:"divide-y divide-border",children:e.map(e=>{let r=j.has(e.filename);return(0,t.jsxs)("div",{children:[(0,t.jsxs)(l.Button,{variant:"ghost",type:"button",onClick:()=>{var t;return t=e.filename,void w(e=>{let r=new Set(e);return r.has(t)?r.delete(t):r.add(t),r})},className:"flex w-full items-center gap-2 px-4 py-2.5 text-left hover:bg-accent/50 transition-colors rounded-none h-auto",children:[r?(0,t.jsx)(a.ChevronDown,{className:"h-3.5 w-3.5 flex-shrink-0 text-muted-foreground"}):(0,t.jsx)(n.ChevronRight,{className:"h-3.5 w-3.5 flex-shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"flex-1 truncate text-sm font-mono text-foreground",children:e.filename}),e.isBinary?(0,t.jsx)(d.Badge,{variant:"secondary",className:"text-[10px] bg-muted text-muted-foreground border border-border",children:"Binary"}):(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsxs)("span",{className:"text-xs font-mono text-green-400",children:["+",e.added]}),(0,t.jsxs)("span",{className:"text-xs font-mono text-red-400",children:["-",e.removed]})]})]}),r&&e.patch&&(0,t.jsx)("div",{className:"border-t border-border bg-background",children:(0,t.jsx)("pre",{className:"overflow-x-auto p-0 text-xs font-mono leading-5",children:e.patch.split("\n").map((e,r)=>{let n=e.startsWith("+")&&!e.startsWith("+++")?"px-4 block bg-green-500/10 text-green-400":e.startsWith("-")&&!e.startsWith("---")?"px-4 block bg-red-500/10 text-red-400":e.startsWith("@@")?"px-4 block bg-blue-500/10 text-blue-300":"px-4 block text-muted-foreground";return(0,t.jsx)("span",{className:n,children:e||" "},r)})})})]},e.filename)})})}),(0,t.jsx)(f.Dialog,{open:N,onOpenChange:k,children:(0,t.jsxs)(f.DialogContent,{className:"max-w-md",children:[(0,t.jsx)(f.DialogHeader,{children:(0,t.jsx)(f.DialogTitle,{children:y("diff.commitChanges")})}),(0,t.jsx)("div",{className:"flex flex-col gap-3",children:(0,t.jsx)(m.Textarea,{value:S,onChange:e=>M(e.target.value),placeholder:y("diff.commitMessagePlaceholder"),rows:5,className:"w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none resize-y min-h-[80px]"})}),(0,t.jsxs)(f.DialogFooter,{children:[(0,t.jsx)(l.Button,{variant:"ghost",onClick:()=>k(!1),children:y("common.cancel")}),(0,t.jsx)(l.Button,{onClick:async()=>{if(S.trim()&&v){O(!0);try{await v(S.trim()),M(""),k(!1)}finally{O(!1)}}},disabled:!S.trim()||C,children:C?"...":y("diff.commit")})]})]})})]})}],246762);var x=e.i(347880);let g=(0,o.default)("git-merge",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]]);var p=e.i(924609);e.s(["TaskMergeConfirmDialog",0,function({open:e,onOpenChange:n,taskId:a,taskTitle:i,baseBranch:s,fileCount:o,commitCount:c,commitLog:u=[],onMergeComplete:d}){let m=(0,x.useRouter)(),[h,v]=(0,r.useState)(!1),[b,y]=(0,r.useState)(null),j=async()=>{v(!0),y(null);try{let e=await fetch(`/api/tasks/${a}/merge`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(e.ok){n(!1),d(),m.refresh();return}let t=await e.json().catch(()=>({error:"Merge failed"}));409===e.status?y(`Merge conflicts detected: ${Array.isArray(t.conflictFiles)?t.conflictFiles.join(", "):"unknown files"}`):y(t.error??"Merge failed")}catch{y("Network error — merge failed")}finally{v(!1)}};return(0,t.jsx)(f.Dialog,{open:e,onOpenChange:n,children:(0,t.jsxs)(f.DialogContent,{showCloseButton:!0,className:"sm:max-w-md",children:[(0,t.jsx)(f.DialogHeader,{children:(0,t.jsxs)(f.DialogTitle,{className:"flex items-center gap-2",children:[(0,t.jsx)(g,{className:"h-4 w-4 text-emerald-400"}),"Confirm Merge"]})}),(0,t.jsxs)("div",{className:"space-y-3 py-2",children:[(0,t.jsxs)("div",{className:"rounded-lg border border-border bg-muted/30 p-3 space-y-2.5",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Target branch"}),(0,t.jsx)("code",{className:"text-xs font-mono bg-muted px-2 py-0.5 rounded text-foreground",children:s})]}),(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Changed files"}),(0,t.jsx)("span",{className:"text-xs font-medium text-foreground",children:o})]}),(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:"Commits"}),(0,t.jsx)("span",{className:"text-xs font-medium text-foreground",children:c})]})]}),u.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground mb-1 block",children:"Commits"}),(0,t.jsx)("div",{className:"rounded-md border border-border bg-muted/30 p-2 space-y-1 max-h-32 overflow-y-auto",children:u.map((e,r)=>(0,t.jsx)("div",{className:"text-xs font-mono text-foreground/80",children:e},r))})]}),b&&(0,t.jsx)("div",{className:"rounded-lg border border-red-500/20 bg-red-500/10 px-3 py-2",children:(0,t.jsx)("p",{className:"text-xs text-red-400",children:b})})]}),(0,t.jsxs)(f.DialogFooter,{children:[(0,t.jsx)(l.Button,{variant:"outline",onClick:()=>n(!1),disabled:h,children:"Cancel"}),(0,t.jsx)(l.Button,{onClick:j,disabled:h,className:"gap-2",children:h?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(p.Loader2,{className:"h-4 w-4 animate-spin"}),"Merging..."]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(g,{className:"h-4 w-4"}),"Confirm Merge"]})})]})]})})}],960732)},121505,e=>{"use strict";let t=(0,e.i(258114).default)("arrow-up-from-line",[["path",{d:"m18 9-6-6-6 6",key:"kcunyi"}],["path",{d:"M12 3v14",key:"7cf3v8"}],["path",{d:"M5 21h14",key:"11awu3"}]]);e.s(["ArrowUpFromLine",0,t],121505)},775899,e=>{"use strict";var t=e.i(430989),r=e.i(641338),n=e.i(259104),a=e.i(260949),i=e.i(811163),s=e.i(698300),o=e.i(924609),c=e.i(331548),l=e.i(744838),u=e.i(745943),d=e.i(779574),f=e.i(349369);e.s(["CreateBranchDialog",0,function({open:e,onOpenChange:m,branches:h,currentBranch:x,localPath:g,onCreated:p,onError:v}){let{t:b}=(0,f.useI18n)(),[y,j]=(0,r.useState)(""),[w,N]=(0,r.useState)(x),[k,S]=(0,r.useState)(""),[M,C]=(0,r.useState)(!1),[O,R]=(0,r.useState)(""),[E,P]=(0,r.useState)(!1);(0,r.useEffect)(()=>{e&&(j(""),N(x),S(""),R(""))},[e,x]);let L=[...new Set(h)].filter(e=>e.toLowerCase().includes(O.toLowerCase())),T=async()=>{if(y.trim()){C(!0);try{let e=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"create-branch",path:g,branch:y.trim(),baseBranch:w})});if(e.ok)m(!1),p();else{let t=await e.json();v(t.error||"Unknown error")}}catch{v("Network error")}finally{C(!1)}}};return(0,t.jsx)(c.Dialog,{open:e,onOpenChange:m,children:(0,t.jsxs)(c.DialogContent,{className:"sm:max-w-sm",children:[(0,t.jsx)(c.DialogHeader,{children:(0,t.jsx)(c.DialogTitle,{children:b("git.createBranch")})}),(0,t.jsxs)("div",{className:"space-y-3 py-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:b("git.branchName")}),(0,t.jsx)(u.Input,{value:y,onChange:e=>j(e.target.value),placeholder:b("git.branchNamePlaceholder"),className:"mt-1.5 font-mono text-xs",onKeyDown:e=>"Enter"===e.key&&T()})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:b("git.baseBranch")}),(0,t.jsxs)("div",{className:"relative mt-1.5",children:[(0,t.jsxs)("button",{onClick:()=>P(!E),className:"flex w-full items-center justify-between rounded-lg border border-border bg-muted/50 px-3 py-2 text-left transition-colors hover:bg-accent",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(n.GitBranch,{className:"h-3 w-3 text-emerald-400"}),(0,t.jsx)("span",{className:"font-mono text-xs text-foreground",children:w})]}),(0,t.jsx)(a.ChevronDown,{className:`h-3 w-3 text-muted-foreground transition-transform ${E?"rotate-180":""}`})]}),E&&(0,t.jsxs)("div",{className:"absolute left-0 right-0 top-full z-20 mt-1 rounded-lg border border-border bg-popover shadow-xl",children:[(0,t.jsx)("div",{className:"border-b border-border p-1.5",children:(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(i.Search,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-3 w-3 text-muted-foreground"}),(0,t.jsx)("input",{value:O,onChange:e=>R(e.target.value),placeholder:"Filter...",autoFocus:!0,className:"h-7 w-full rounded-md bg-muted/50 pl-7 pr-2 text-xs text-foreground placeholder-muted-foreground outline-none focus:ring-1 focus:ring-ring"})]})}),(0,t.jsx)("div",{className:"max-h-40 overflow-auto py-1",children:L.map(e=>(0,t.jsxs)("button",{onClick:()=>{N(e),P(!1)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left transition-colors ${e===w?"bg-emerald-500/10 text-emerald-400":"text-secondary-foreground hover:bg-accent"}`,children:[(0,t.jsx)(n.GitBranch,{className:"h-3 w-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate font-mono text-xs",children:e}),e===w&&(0,t.jsx)(s.Check,{className:"h-3 w-3 ml-auto shrink-0"})]},e))})]})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:b("git.branchDesc")}),(0,t.jsx)(d.Textarea,{value:k,onChange:e=>S(e.target.value),placeholder:b("git.branchDescPlaceholder"),rows:2,className:"mt-1.5 w-full rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder-muted-foreground outline-none transition-colors focus:border-ring focus:ring-1 focus:ring-ring resize-none"})]})]}),(0,t.jsxs)(c.DialogFooter,{children:[(0,t.jsx)(l.Button,{variant:"outline",onClick:()=>m(!1),children:b("common.cancel")}),(0,t.jsxs)(l.Button,{onClick:T,disabled:!y.trim()||M,className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:[M?(0,t.jsx)(o.Loader2,{className:"h-3 w-3 animate-spin mr-1"}):null,b("common.create")]})]})]})})}])},426175,e=>{"use strict";async function t(e,r,n={}){let a=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:r,path:e,...n})});if(!a.ok)throw Error((await a.json()).error||`${r} failed`);return a.json()}e.s(["gitAction",0,t])},142273,e=>{"use strict";var t=e.i(755683);let r=(0,t.createServerReference)("60481a02b04a77768d3e97a34f8ec6a44e1e7d3635",t.callServer,void 0,t.findSourceMapURL,"updateProject");e.s(["updateProject",0,r])},520309,e=>{"use strict";var t=e.i(755683);let r=(0,t.createServerReference)("409dfba5eaab2515ac1954906b83d50b3c628f1d1b",t.callServer,void 0,t.findSourceMapURL,"continueLatestPtyExecution");e.s(["continueLatestPtyExecution",0,r])},848487,e=>{"use strict";var t=e.i(755683);let r=(0,t.createServerReference)("40ed6873e031184384c0ecf15f815a13de5820bfa1",t.callServer,void 0,t.findSourceMapURL,"getTaskExecutions");e.s(["getTaskExecutions",0,r])},364617,994316,858981,43108,e=>{"use strict";var t=e.i(755683);let r=(0,t.createServerReference)("6012ff7cefee13232d9d622da5dc83381e0d715935",t.callServer,void 0,t.findSourceMapURL,"updateTaskStatus");e.s(["updateTaskStatus",0,r],364617);let n=(0,t.createServerReference)("40b2455cb970ebc4515f5b889c41bc7ce2ac6fc880",t.callServer,void 0,t.findSourceMapURL,"checkWorktreeClean");e.s(["checkWorktreeClean",0,n],994316);let a=(0,t.createServerReference)("60cf9fe71b8c158269b3ac0046840a51cc51e8b2e8",t.callServer,void 0,t.findSourceMapURL,"commitWorktreeChanges");e.s(["commitWorktreeChanges",0,a],858981);let i=(0,e.i(258114).default)("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]);e.s(["Clock",0,i],43108)},586211,e=>{"use strict";let t=(0,e.i(258114).default)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);e.s(["Lightbulb",0,t],586211)},711958,e=>{"use strict";var t=e.i(430989),r=e.i(641338),n=e.i(260949),a=e.i(569021),i=e.i(170528),s=e.i(581511),o=e.i(924609),c=e.i(43108),l=e.i(2139),u=e.i(545315),d=e.i(586211);let f=(0,e.i(258114).default)("history",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);var m=e.i(744838),h=e.i(113205),x=e.i(349369);function g({status:e}){switch(e){case"COMPLETED":return(0,t.jsx)(i.CheckCircle2,{className:"h-4 w-4 text-emerald-400"});case"FAILED":return(0,t.jsx)(s.XCircle,{className:"h-4 w-4 text-red-400"});case"RUNNING":return(0,t.jsx)(o.Loader2,{className:"h-4 w-4 text-blue-400 animate-spin"});default:return(0,t.jsx)(c.Clock,{className:"h-4 w-4 text-neutral-500"})}}e.s(["ExecutionTimeline",0,function({executions:e,onResume:i,onContinueLatest:s}){let{t:o,locale:c}=(0,x.useI18n)(),[p,v]=(0,r.useState)(null),[b,y]=(0,r.useState)(null);return 0===e.length?(0,t.jsx)(h.EmptyState,{icon:f,title:o("execution.noHistory")}):(0,t.jsxs)("div",{className:"space-y-2 p-3",children:[(0,t.jsx)("p",{className:"px-1 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:o("execution.history")}),e.map(r=>{let f=function(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}(r.gitStats??null),h=function(e,t){if(!e||!t)return"";let r=new Date(t).getTime()-new Date(e).getTime();if(r<0)return"";let n=Math.floor(r/1e3);if(n<60)return`${n}s`;let a=Math.floor(n/60);if(a<60)return`${a}m ${n%60}s`;let i=Math.floor(a/60);return`${i}h ${a%60}m`}(r.startedAt??null,r.endedAt??null),x=p===r.id;return(0,t.jsxs)("div",{className:"rounded-lg border border-border bg-background/50 overflow-hidden",children:[(0,t.jsxs)("div",{className:"p-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,t.jsx)(g,{status:r.status}),(0,t.jsx)("span",{className:`font-medium ${function(e){switch(e){case"COMPLETED":return"text-emerald-400";case"FAILED":return"text-red-400";case"RUNNING":return"text-blue-400";default:return"text-neutral-400"}}(r.status)}`,children:function(e,t){switch(e){case"COMPLETED":return t("execution.success");case"FAILED":return t("execution.failed");case"RUNNING":return t("execution.running");default:return e}}(r.status,o)}),(0,t.jsx)("span",{className:"text-muted-foreground",children:function(e,t="zh"){if(!e)return"";let r=new Date(e),n=Math.floor((new Date().getTime()-r.getTime())/864e5),a="zh"===t?"zh-CN":"en-US",i=r.toLocaleTimeString(a,{hour:"2-digit",minute:"2-digit"});return 0===n?i:1===n?"zh"===t?`昨天 ${i}`:`Yesterday ${i}`:n<7?"zh"===t?`${n}天前 ${i}`:`${n}d ago ${i}`:r.toLocaleDateString(a,{month:"2-digit",day:"2-digit"})+" "+i}(r.startedAt??null,c)}),h&&(0,t.jsxs)("span",{className:"text-muted-foreground/60",children:["(",h,")"]})]}),(0,t.jsx)("p",{className:"mt-1.5 text-sm text-foreground/80 line-clamp-2",children:r.summary||o("execution.noSummary")}),f&&(f.commits||f.filesChanged)&&(0,t.jsxs)("div",{className:"mt-1.5 flex items-center gap-2 text-[11px] text-muted-foreground font-mono",children:[f.commits?(0,t.jsxs)("span",{children:[f.commits," ",o("execution.commits")]}):null,f.filesChanged?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"·"}),(0,t.jsxs)("span",{children:[f.filesChanged," ",o("execution.files")]})]}):null,f.insertions||f.deletions?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"·"}),f.insertions?(0,t.jsxs)("span",{className:"text-emerald-500",children:["+",f.insertions]}):null,f.deletions?(0,t.jsxs)("span",{className:"text-red-400",children:["-",f.deletions]}):null]}):null]}),r.insightNote&&(0,t.jsxs)("div",{className:"mt-2",children:[(0,t.jsxs)("button",{onClick:()=>y(b===r.id?null:r.id),className:"flex items-center gap-1.5 text-xs text-primary/90 hover:text-primary transition-colors",children:[(0,t.jsx)(d.Lightbulb,{className:"h-3.5 w-3.5"}),(0,t.jsxs)("span",{className:"font-medium",children:[o("execution.insight"),":"]}),(0,t.jsx)("span",{className:"text-foreground/70 truncate max-w-[200px]",children:r.insightNote.title}),b===r.id?(0,t.jsx)(a.ChevronUp,{className:"h-3 w-3"}):(0,t.jsx)(n.ChevronDown,{className:"h-3 w-3"})]}),b===r.id&&(0,t.jsx)("div",{className:"mt-2 rounded-md bg-primary/[0.06] border border-primary/10 p-3 text-xs text-foreground/80 whitespace-pre-wrap",children:r.insightNote.content})]}),(0,t.jsxs)("div",{className:"mt-2.5 flex items-center gap-2",children:[r.sessionId&&i?(0,t.jsxs)(m.Button,{size:"sm",onClick:()=>i(r.sessionId),className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:[(0,t.jsx)(l.PlayCircle,{className:"h-3.5 w-3.5"}),o("execution.resume")]}):!r.sessionId&&"FAILED"===r.status&&r.id===e[0]?.id&&s?(0,t.jsxs)(m.Button,{size:"sm",onClick:s,className:"bg-blue-500/15 text-blue-300 ring-1 ring-blue-500/20 hover:bg-blue-500/25",children:[(0,t.jsx)(u.RotateCcw,{className:"h-3.5 w-3.5"}),o("execution.tryRecover")]}):null,(0,t.jsxs)(m.Button,{variant:"ghost",size:"sm",onClick:()=>v(x?null:r.id),className:"bg-muted text-muted-foreground",children:[x?(0,t.jsx)(a.ChevronUp,{className:"h-3.5 w-3.5"}):(0,t.jsx)(n.ChevronDown,{className:"h-3.5 w-3.5"}),x?o("execution.collapse"):o("execution.details")]})]})]}),x&&(0,t.jsxs)("div",{className:"border-t border-border px-3 pb-3 space-y-3",children:[r.gitLog&&(0,t.jsxs)("div",{className:"mt-3",children:[(0,t.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground mb-1.5",children:o("execution.gitLog")}),(0,t.jsx)("pre",{className:"rounded-md bg-muted/50 p-2.5 text-xs font-mono text-foreground/70 overflow-x-auto whitespace-pre-wrap",children:r.gitLog.split("\n").slice(0,3).join("\n")})]}),r.terminalLog&&(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground mb-1.5",children:o("execution.terminalOutput")}),(0,t.jsx)("pre",{className:"rounded-md bg-[#0f1419] p-2.5 text-xs font-mono text-neutral-300 overflow-x-auto max-h-48 overflow-y-auto whitespace-pre-wrap",children:r.terminalLog})]}),"FAILED"===r.status&&null!=r.exitCode&&(0,t.jsxs)("p",{className:"text-xs text-red-400/70",children:["Exit code: ",r.exitCode]})]})]},r.id)})]})}],711958)},555273,e=>{e.v(t=>Promise.all(["static/chunks/0c7oqfzd78s3-.js"].map(t=>e.l(t))).then(()=>t(425393)))},286723,e=>{e.v(t=>Promise.all(["static/chunks/0tcl81ybuob5i.js"].map(t=>e.l(t))).then(()=>t(466255)))},885431,e=>{e.v(t=>Promise.all(["static/chunks/16w-ap~msrwpj.js"].map(t=>e.l(t))).then(()=>t(649318)))}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,935792,e=>{"use strict";let t=(0,e.i(258114).default)("ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);e.s(["MoreHorizontal",0,t],935792)},551075,640319,807296,794751,430855,104723,390193,953806,537202,167276,302434,166339,312992,969416,739556,952646,238334,181878,157671,161791,623439,963972,665940,747606,e=>{"use strict";e.s([],551075),e.i(905022);var t,n=e.i(641338),o=e.i(855604);let r=n.createContext(void 0);function a(e){let t=n.useContext(r);if(void 0===t&&!e)throw Error((0,o.default)(33));return t}e.s(["MenuPositionerContext",0,r,"useMenuPositionerContext",0,a],640319);let i=n.createContext(void 0);function s(e){let t=n.useContext(i);if(void 0===t&&!e)throw Error((0,o.default)(36));return t}e.s(["MenuRootContext",0,i,"useMenuRootContext",0,s],807296);var u=e.i(703995),l=e.i(139797);let d=n.forwardRef(function(e,t){let{className:n,render:o,...r}=e,{store:i}=s(),{arrowRef:d,side:c,align:p,arrowUncentered:f,arrowStyles:m}=a(),g=i.useState("open");return(0,u.useRenderElement)("div",e,{ref:[d,t],stateAttributesMapping:l.popupStateMapping,state:{open:g,side:c,align:p,uncentered:f},props:{style:m,"aria-hidden":!0,...r}})});e.s(["MenuArrow",0,d],794751);var c=e.i(963195);let p=n.createContext(void 0);function f(e=!0){let t=n.useContext(p);if(void 0===t&&!e)throw Error((0,o.default)(25));return t}e.s(["useContextMenuRootContext",0,f],430855);var m=e.i(842923);let g={...l.popupStateMapping,...c.transitionStatusMapping},v=n.forwardRef(function(e,t){let{className:n,render:o,...r}=e,{store:a}=s(),i=a.useState("open"),l=a.useState("mounted"),d=a.useState("transitionStatus"),c=a.useState("lastOpenChangeReason"),p=f();return(0,u.useRenderElement)("div",e,{ref:p?.backdropRef?[t,p.backdropRef]:t,state:{open:i,transitionStatus:d},stateAttributesMapping:g,props:[{role:"presentation",hidden:!l,style:{pointerEvents:c===m.REASONS.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},r]})});e.s(["MenuBackdrop",0,v],104723);var h=e.i(288782),b=e.i(712194);let S=n.createContext(void 0);var x=e.i(205856),R=e.i(419851),y=e.i(228202),E=e.i(878298);function C(e){let{closeOnClick:t,highlighted:o,id:r,nodeId:a,store:i,typingRef:s,itemRef:u,itemMetadata:l}=e,{events:d}=i.useState("floatingTreeRoot"),c=f(!0),p=void 0!==c;return n.useMemo(()=>({id:r,role:"menuitem",tabIndex:o?0:-1,onKeyDown(e){" "===e.key&&s?.current&&e.preventDefault()},onMouseMove(e){a&&d.emit("itemhover",{nodeId:a,target:e.currentTarget})},onClick(e){t&&d.emit("close",{domEvent:e,reason:m.REASONS.itemPress})},onMouseUp(e){if(c){let t=c.initialCursorPointRef.current;if(c.initialCursorPointRef.current=null,p&&t&&1>=Math.abs(e.clientX-t.x)&&1>=Math.abs(e.clientY-t.y)||p&&!E.isMac&&2===e.button)return}u.current&&i.context.allowMouseUpTriggerRef.current&&(!p||2===e.button)&&(!l||"regular-item"===l.type)&&u.current.click()}}),[t,o,r,d,a,i,s,u,c,p,l])}let M={type:"regular-item"};function I(e){let{closeOnClick:t,disabled:o=!1,highlighted:r,id:a,store:i,typingRef:s=i.context.typingRef,nativeButton:u,itemMetadata:l,nodeId:d}=e,c=n.useRef(null),{getButtonProps:p,buttonRef:f}=(0,R.useButton)({disabled:o,focusableWhenDisabled:!0,native:u,composite:!0}),m=C({closeOnClick:t,highlighted:r,id:a,nodeId:d,store:i,typingRef:s,itemRef:c,itemMetadata:l}),g=n.useCallback(e=>(0,y.mergeProps)(m,{onMouseEnter(){"submenu-trigger"===l.type&&l.setActive()}},e,p),[m,p,l]),v=(0,x.useMergedRefs)(c,f);return n.useMemo(()=>({getItemProps:g,itemRef:v}),[g,v])}e.s(["REGULAR_ITEM",0,M,"useMenuItem",0,I],390193);var P=e.i(729824),w=e.i(718226);let T=((t={}).checked="data-checked",t.unchecked="data-unchecked",t.disabled="data-disabled",t.highlighted="data-highlighted",t),O={checked:e=>e?{[T.checked]:""}:{[T.unchecked]:""},...c.transitionStatusMapping};var k=e.i(229305),N=e.i(430989);let A=n.forwardRef(function(e,t){let{render:o,className:r,id:i,label:l,nativeButton:d=!1,disabled:c=!1,closeOnClick:p=!1,checked:f,defaultChecked:g,onCheckedChange:v,...x}=e,R=(0,P.useCompositeListItem)({label:l}),y=a(!0),E=(0,w.useBaseUiId)(i),{store:C}=s(),T=C.useState("isActive",R.index),A=C.useState("itemProps"),[D,j]=(0,b.useControlled)({controlled:f,default:g??!1,name:"MenuCheckboxItem",state:"checked"}),{getItemProps:L,itemRef:F}=I({closeOnClick:p,disabled:c,highlighted:T,id:E,store:C,nativeButton:d,nodeId:y?.nodeId,itemMetadata:M}),U=n.useMemo(()=>({disabled:c,highlighted:T,checked:D}),[c,T,D]),_=(0,h.useStableCallback)(e=>{let t={...(0,k.createChangeEventDetails)(m.REASONS.itemPress,e.nativeEvent),preventUnmountOnClose:()=>{}};v?.(!D,t),t.isCanceled||j(e=>!e)}),B=(0,u.useRenderElement)("div",e,{state:U,stateAttributesMapping:O,props:[A,{role:"menuitemcheckbox","aria-checked":D,onClick:_},x,L],ref:[F,t,R.ref]});return(0,N.jsx)(S.Provider,{value:U,children:B})});e.s(["MenuCheckboxItem",0,A],953806);var D=e.i(680765),j=e.i(762879);let L=n.forwardRef(function(e,t){let{render:r,className:a,keepMounted:i=!1,...s}=e,l=function(){let e=n.useContext(S);if(void 0===e)throw Error((0,o.default)(30));return e}(),d=n.useRef(null),{transitionStatus:c,setMounted:p}=(0,D.useTransitionStatus)(l.checked);(0,j.useOpenChangeComplete)({open:l.checked,ref:d,onComplete(){l.checked||p(!1)}});let f={checked:l.checked,disabled:l.disabled,highlighted:l.highlighted,transitionStatus:c};return(0,u.useRenderElement)("span",e,{state:f,ref:[t,d],stateAttributesMapping:O,props:{"aria-hidden":!0,...s},enabled:i||l.checked})});e.s(["MenuCheckboxItemIndicator",0,L],537202);let F=n.createContext(void 0),U=n.forwardRef(function(e,t){let{render:o,className:r,...a}=e,[i,s]=n.useState(void 0),l=n.useMemo(()=>({setLabelId:s}),[s]),d=(0,u.useRenderElement)("div",e,{ref:t,props:{role:"group","aria-labelledby":i,...a}});return(0,N.jsx)(F.Provider,{value:l,children:d})});e.s(["MenuGroup",0,U],167276);var _=e.i(239917);let B=n.forwardRef(function(e,t){let{className:r,render:a,id:i,...s}=e,l=(0,w.useBaseUiId)(i),{setLabelId:d}=function(){let e=n.useContext(F);if(void 0===e)throw Error((0,o.default)(31));return e}();return(0,_.useIsoLayoutEffect)(()=>(d(l),()=>{d(void 0)}),[d,l]),(0,u.useRenderElement)("div",e,{ref:t,props:{id:l,role:"presentation",...s}})});e.s(["MenuGroupLabel",0,B],302434);let H=n.forwardRef(function(e,t){let{render:n,className:o,id:r,label:i,nativeButton:l=!1,disabled:d=!1,closeOnClick:c=!0,...p}=e,f=(0,P.useCompositeListItem)({label:i}),m=a(!0),g=(0,w.useBaseUiId)(r),{store:v}=s(),h=v.useState("isActive",f.index),b=v.useState("itemProps"),{getItemProps:S,itemRef:x}=I({closeOnClick:c,disabled:d,highlighted:h,id:g,store:v,nativeButton:l,nodeId:m?.nodeId,itemMetadata:M});return(0,u.useRenderElement)("div",e,{state:{disabled:d,highlighted:h},props:[b,p,S],ref:[x,t,f.ref]})});e.s(["MenuItem",0,H],166339);let G=n.forwardRef(function(e,t){let{render:o,className:r,id:i,label:l,closeOnClick:d=!1,...c}=e,p=n.useRef(null),f=(0,P.useCompositeListItem)({label:l}),m=a(!0),g=m?.nodeId,v=(0,w.useBaseUiId)(i),{store:h}=s(),b=h.useState("isActive",f.index),S=h.useState("itemProps"),x=h.context.typingRef,{getButtonProps:E,buttonRef:M}=(0,R.useButton)({native:!1,composite:!0}),I=C({closeOnClick:d,highlighted:b,id:v,nodeId:g,store:h,typingRef:x,itemRef:p}),T=n.useMemo(()=>({highlighted:b}),[b]);return(0,u.useRenderElement)("a",e,{state:T,props:[S,c,function(e){return(0,y.mergeProps)(I,e,E)}],ref:[p,M,t,f.ref]})});e.s(["MenuLinkItem",0,G],312992);var V=e.i(431783),z=e.i(158691),Y=e.i(413276),K=e.i(773753),W=e.i(908577);let J={...l.popupStateMapping,...c.transitionStatusMapping},q=n.forwardRef(function(e,t){let{render:o,className:r,finalFocus:i,...l}=e,{store:d}=s(),{side:c,align:p}=a(),f=null!=(0,Y.useToolbarRootContext)(!0),g=d.useState("open"),v=d.useState("transitionStatus"),h=d.useState("popupProps"),b=d.useState("mounted"),S=d.useState("instantType"),x=d.useState("activeTriggerElement"),R=d.useState("parent"),y=d.useState("lastOpenChangeReason"),E=d.useState("rootId"),C=d.useState("floatingRootContext"),M=d.useState("floatingTreeRoot"),I=d.useState("closeDelay"),P=d.useState("activeTriggerElement"),w="context-menu"===R.type;(0,j.useOpenChangeComplete)({open:g,ref:d.context.popupRef,onComplete(){g&&d.context.onOpenChangeComplete?.(!0)}}),n.useEffect(()=>{function e(e){d.setOpen(!1,(0,k.createChangeEventDetails)(e.reason,e.domEvent))}return M.events.on("close",e),()=>{M.events.off("close",e)}},[M.events,d]);let T=d.useState("hoverEnabled"),O=d.useState("disabled");(0,z.useHoverFloatingInteraction)(C,{enabled:T&&!O&&!w&&"menubar"!==R.type,closeDelay:I});let A={transitionStatus:v,side:c,align:p,open:g,nested:"menu"===R.type,instant:S},D=n.useCallback(e=>{d.set("popupElement",e)},[d]),L=(0,u.useRenderElement)("div",e,{state:A,ref:[t,d.context.popupRef,D],stateAttributesMapping:J,props:[h,{onKeyDown(e){f&&K.COMPOSITE_KEYS.has(e.key)&&e.stopPropagation()}},(0,W.getDisabledMountTransitionStyles)(v),l,{"data-rootownerid":E}]}),F=void 0===R.type||w;return(x||"menubar"===R.type&&y!==m.REASONS.outsidePress)&&(F=!0),(0,N.jsx)(V.FloatingFocusManager,{context:C,modal:w,disabled:!b,returnFocus:void 0===i?F:i,initialFocus:"menu"!==R.type,restoreFocus:!0,externalTree:"menubar"!==R.type?M:void 0,previousFocusableElement:P,nextFocusableElement:void 0===R.type?d.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:void 0===R.type?d.context.beforeContentFocusGuardRef:void 0,children:L})});e.s(["MenuPopup",0,q],969416);var X=e.i(944910);let $=n.createContext(void 0),Z=n.forwardRef(function(e,t){let{keepMounted:n=!1,...o}=e,{store:r}=s();return r.useState("mounted")||n?(0,N.jsx)($.Provider,{value:n,children:(0,N.jsx)(X.FloatingPortal,{ref:t,...o})}):null});e.s(["MenuPortal",0,Z],739556);var Q=e.i(593328),ee=e.i(109792),et=e.i(258144),en=e.i(973255),eo=e.i(256035),er=e.i(821367),ea=e.i(620085),ei=e.i(487634),es=e.i(56279);let eu=n.forwardRef(function(e,t){let{anchor:a,positionMethod:i="absolute",className:d,render:c,side:p,align:g,sideOffset:v=0,alignOffset:h=0,collisionBoundary:b="clipping-ancestors",collisionPadding:S=5,arrowPadding:x=5,sticky:R=!1,disableAnchorTracking:y=!1,collisionAvoidance:E=ea.DROPDOWN_COLLISION_AVOIDANCE,...C}=e,{store:M}=s(),I=function(){let e=n.useContext($);if(void 0===e)throw Error((0,o.default)(32));return e}(),P=f(!0),w=M.useState("parent"),T=M.useState("floatingRootContext"),O=M.useState("floatingTreeRoot"),A=M.useState("mounted"),D=M.useState("open"),j=M.useState("modal"),L=M.useState("activeTriggerElement"),F=M.useState("transitionStatus"),U=M.useState("positionerElement"),B=M.useState("instantType"),H=M.useState("hasViewport"),G=M.useState("lastOpenChangeReason"),V=M.useState("floatingNodeId"),z=M.useState("floatingParentNodeId"),Y=T.useState("domReferenceElement"),K=n.useRef(null),J=(0,es.useAnimationsFinished)(U,!1,!1),q=a,X=v,Z=h,eu=g,el=E;"context-menu"===w.type&&(q=a??w.context?.anchor,eu=eu??"start",p||"center"===eu||(Z=e.alignOffset??2,X=e.sideOffset??-5));let ed=p,ec=eu;"menu"===w.type?(ed=ed??"inline-end",ec=ec??"start",el=e.collisionAvoidance??ea.POPUP_COLLISION_AVOIDANCE):"menubar"===w.type&&(ed=ed??"bottom",ec=ec??"start");let ep="context-menu"===w.type,ef=(0,en.useAnchorPositioning)({anchor:q,floatingRootContext:T,positionMethod:P?"fixed":i,mounted:A,side:ed,sideOffset:X,align:ec,alignOffset:Z,arrowPadding:ep?0:x,collisionBoundary:b,collisionPadding:S,sticky:R,nodeId:V,keepMounted:I,disableAnchorTracking:y,collisionAvoidance:el,shiftCrossAxis:ep&&!("side"in el&&"flip"===el.side),externalTree:O,adaptiveOrigin:H?ei.adaptiveOrigin:void 0}),em=n.useMemo(()=>{let e={};return D||(e.pointerEvents="none"),{role:"presentation",hidden:!A,style:{...ef.positionerStyles,...e}}},[D,A,ef.positionerStyles]);n.useEffect(()=>{function e(e){e.open&&(e.parentNodeId===V&&M.set("hoverEnabled",!1),e.nodeId!==V&&e.parentNodeId===M.select("floatingParentNodeId")&&M.setOpen(!1,(0,k.createChangeEventDetails)(m.REASONS.siblingOpen)))}return O.events.on("menuopenchange",e),()=>{O.events.off("menuopenchange",e)}},[M,O.events,V]),n.useEffect(()=>{if(null!=M.select("floatingParentNodeId"))return O.events.on("menuopenchange",e),()=>{O.events.off("menuopenchange",e)};function e(e){if(e.open||e.nodeId!==M.select("floatingParentNodeId"))return;let t=e.reason??m.REASONS.siblingOpen;M.setOpen(!1,(0,k.createChangeEventDetails)(t))}},[O.events,M]);let eg=(0,ee.useTimeout)();n.useEffect(()=>{D||eg.clear()},[D,eg]),n.useEffect(()=>{function e(e){if(D&&e.nodeId===M.select("floatingParentNodeId"))if(e.target&&L&&L!==e.target){let e=M.select("closeDelay");e>0?eg.isStarted()||eg.start(e,()=>{M.setOpen(!1,(0,k.createChangeEventDetails)(m.REASONS.siblingOpen))}):M.setOpen(!1,(0,k.createChangeEventDetails)(m.REASONS.siblingOpen))}else eg.clear()}return O.events.on("itemhover",e),()=>{O.events.off("itemhover",e)}},[O.events,D,L,M,eg]),n.useEffect(()=>{let e={open:D,nodeId:V,parentNodeId:z,reason:M.select("lastOpenChangeReason")};O.events.emit("menuopenchange",e)},[O.events,D,M,V,z]),(0,_.useIsoLayoutEffect)(()=>{let e=K.current;if(Y&&(K.current=Y),e&&Y&&Y!==e){M.set("instantType",void 0);let e=new AbortController;return J(()=>{M.set("instantType","trigger-change")},e.signal),()=>{e.abort()}}},[Y,J,M]);let ev={open:D,side:ef.side,align:ef.align,anchorHidden:ef.anchorHidden,nested:"menu"===w.type,instant:B},eh=n.useMemo(()=>({side:ef.side,align:ef.align,arrowRef:ef.arrowRef,arrowUncentered:ef.arrowUncentered,arrowStyles:ef.arrowStyles,nodeId:ef.context.nodeId}),[ef.side,ef.align,ef.arrowRef,ef.arrowUncentered,ef.arrowStyles,ef.context.nodeId]),eb=(0,u.useRenderElement)("div",e,{state:ev,stateAttributesMapping:l.popupStateMapping,ref:[t,M.useStateSetter("positionerElement")],props:[em,(0,W.getDisabledMountTransitionStyles)(F),C]}),eS=A&&"menu"!==w.type&&("menubar"!==w.type&&j&&G!==m.REASONS.triggerHover||"menubar"===w.type&&w.context.modal),ex=null;return"menubar"===w.type?ex=w.context.contentElement:void 0===w.type&&(ex=L),(0,N.jsxs)(r.Provider,{value:eh,children:[eS&&(0,N.jsx)(er.InternalBackdrop,{ref:"context-menu"===w.type||"nested-context-menu"===w.type?w.context.internalBackdropRef:null,inert:(0,Q.inertValue)(!D),cutout:ex}),(0,N.jsx)(et.FloatingNode,{id:V,children:(0,N.jsx)(eo.CompositeList,{elementsRef:M.context.itemDomElements,labelsRef:M.context.itemLabels,children:eb})})]})});e.s(["MenuPositioner",0,eu],952646);let el=n.createContext(void 0),ed=n.memo(n.forwardRef(function(e,t){let{render:o,className:r,value:a,defaultValue:i,onValueChange:s,disabled:l=!1,...d}=e,[c,p]=(0,b.useControlled)({controlled:a,default:i,name:"MenuRadioGroup"}),f=(0,h.useStableCallback)(s),m=(0,h.useStableCallback)((e,t)=>{f?.(e,t),t.isCanceled||p(e)}),g=(0,u.useRenderElement)("div",e,{state:{disabled:l},ref:t,props:{role:"group","aria-disabled":l||void 0,...d}}),v=n.useMemo(()=>({value:c,setValue:m,disabled:l}),[c,m,l]);return(0,N.jsx)(el.Provider,{value:v,children:g})}));e.s(["MenuRadioGroup",0,ed],238334);let ec=n.createContext(void 0),ep=n.forwardRef(function(e,t){let{render:r,className:i,id:l,label:d,nativeButton:c=!1,disabled:p=!1,closeOnClick:f=!1,value:g,...v}=e,b=(0,P.useCompositeListItem)({label:d}),S=a(!0),x=(0,w.useBaseUiId)(l),{store:R}=s(),y=R.useState("isActive",b.index),E=R.useState("itemProps"),{value:C,setValue:T,disabled:A}=function(){let e=n.useContext(el);if(void 0===e)throw Error((0,o.default)(34));return e}(),D=A||p,j=C===g,{getItemProps:L,itemRef:F}=I({closeOnClick:f,disabled:D,highlighted:y,id:x,store:R,nativeButton:c,nodeId:S?.nodeId,itemMetadata:M}),U=n.useMemo(()=>({disabled:D,highlighted:y,checked:j}),[D,y,j]),_=(0,h.useStableCallback)(e=>{T(g,{...(0,k.createChangeEventDetails)(m.REASONS.itemPress,e.nativeEvent),preventUnmountOnClose:()=>{}})}),B=(0,u.useRenderElement)("div",e,{state:U,stateAttributesMapping:O,props:[E,{role:"menuitemradio","aria-checked":j,onClick:_},v,L],ref:[F,t,b.ref]});return(0,N.jsx)(ec.Provider,{value:U,children:B})});e.s(["MenuRadioItem",0,ep],181878);let ef=n.forwardRef(function(e,t){let{render:r,className:a,keepMounted:i=!1,...s}=e,l=function(){let e=n.useContext(ec);if(void 0===e)throw Error((0,o.default)(35));return e}(),d=n.useRef(null),{transitionStatus:c,setMounted:p}=(0,D.useTransitionStatus)(l.checked);(0,j.useOpenChangeComplete)({open:l.checked,ref:d,onComplete(){l.checked||p(!1)}});let f={checked:l.checked,disabled:l.disabled,highlighted:l.highlighted,transitionStatus:c};return(0,u.useRenderElement)("span",e,{state:f,stateAttributesMapping:O,ref:[t,d],props:{"aria-hidden":!0,...s},enabled:i||l.checked})});e.s(["MenuRadioItemIndicator",0,ef],157671);var em=e.i(708350),eg=e.i(920380),ev=e.i(458028),eh=e.i(534262),eb=e.i(639744),eS=e.i(964559),ex=e.i(680),eR=e.i(461170),ey=e.i(865960),eE=e.i(477969),eC=e.i(893799);let eM=n.createContext(null);function eI(e){let t=n.useContext(eM);if(null===t&&!e)throw Error((0,o.default)(5));return t}e.s(["useMenubarContext",0,eI],161791);var eP=e.i(379672),ew=e.i(492062),eT=e.i(339576),eO=e.i(985477),ek=e.i(266586),eN=e.i(981928),eA=e.i(970463),eD=e.i(806875);let ej={...eA.popupStoreSelectors,disabled:(0,eT.createSelector)(e=>"menubar"===e.parent.type&&e.parent.context.disabled||e.disabled),modal:(0,eT.createSelector)(e=>(void 0===e.parent.type||"context-menu"===e.parent.type)&&(e.modal??!0)),allowMouseEnter:(0,eT.createSelector)(e=>e.allowMouseEnter),stickIfOpen:(0,eT.createSelector)(e=>e.stickIfOpen),parent:(0,eT.createSelector)(e=>e.parent),rootId:(0,eT.createSelector)(e=>"menu"===e.parent.type?e.parent.store.select("rootId"):void 0!==e.parent.type?e.parent.context.rootId:e.rootId),activeIndex:(0,eT.createSelector)(e=>e.activeIndex),isActive:(0,eT.createSelector)((e,t)=>e.activeIndex===t),hoverEnabled:(0,eT.createSelector)(e=>e.hoverEnabled),instantType:(0,eT.createSelector)(e=>e.instantType),lastOpenChangeReason:(0,eT.createSelector)(e=>e.openChangeReason),floatingTreeRoot:(0,eT.createSelector)(e=>"menu"===e.parent.type?e.parent.store.select("floatingTreeRoot"):e.floatingTreeRoot),floatingNodeId:(0,eT.createSelector)(e=>e.floatingNodeId),floatingParentNodeId:(0,eT.createSelector)(e=>e.floatingParentNodeId),itemProps:(0,eT.createSelector)(e=>e.itemProps),closeDelay:(0,eT.createSelector)(e=>e.closeDelay),hasViewport:(0,eT.createSelector)(e=>e.hasViewport),keyboardEventRelay:(0,eT.createSelector)(e=>e.keyboardEventRelay?e.keyboardEventRelay:"menu"===e.parent.type?e.parent.store.select("keyboardEventRelay"):void 0)};class eL extends eO.ReactStore{constructor(e){super({...{...(0,eA.createInitialPopupStoreState)(),disabled:!1,modal:!0,allowMouseEnter:!1,stickIfOpen:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new eN.FloatingTreeStore,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:eh.EMPTY_OBJECT,keyboardEventRelay:void 0,closeDelay:0,hasViewport:!1},...e},{positionerRef:n.createRef(),popupRef:n.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},allowMouseUpTriggerRef:{current:!1},triggerFocusTargetRef:n.createRef(),beforeContentFocusGuardRef:n.createRef(),onOpenChangeComplete:void 0,triggerElements:new eD.PopupTriggerMap},ej),this.unsubscribeParentListener=this.observe("parent",e=>{if(this.unsubscribeParentListener?.(),"menu"===e.type){let t=e.store.select("rootId"),n=e.store.select("floatingTreeRoot"),o=e.store.select("keyboardEventRelay");this.unsubscribeParentListener=e.store.subscribe(()=>{let r=e.store.select("rootId"),a=e.store.select("floatingTreeRoot"),i=e.store.select("keyboardEventRelay");(t!==r||n!==a||o!==i)&&(t=r,n=a,o=i,this.notifyAll())}),this.context.allowMouseUpTriggerRef=e.store.context.allowMouseUpTriggerRef;return}void 0!==e.type&&(this.context.allowMouseUpTriggerRef=e.context.allowMouseUpTriggerRef),this.unsubscribeParentListener=null})}setOpen(e,t){this.state.floatingRootContext.context.events.emit("setOpen",{open:e,eventDetails:t})}static useStore(e,t){let n=(0,ek.useRefWithInit)(()=>new eL(t)).current;return e??n}unsubscribeParentListener=null}e.s(["MenuStore",0,eL],623439);var eF=e.i(82652);let eU=n.createContext(void 0);function e_(){return n.useContext(eU)}e.s(["MenuSubmenuRootContext",0,eU,"useMenuSubmenuRootContext",0,e_],963972);let eB=(0,eb.fastComponent)(function(e){let t,o,{children:r,open:a,onOpenChange:u,onOpenChangeComplete:l,defaultOpen:d=!1,disabled:c=!1,modal:p,loopFocus:g=!0,orientation:v="vertical",actionsRef:b,closeParentOnEsc:S=!1,handle:x,triggerId:R,defaultTriggerId:E=null,highlightItemOnHover:C=!0}=e,M=f(!0),I=s(!0),P=eI(!0),w=e_(),T=n.useMemo(()=>w&&I?{type:"menu",store:I.store}:P?{type:"menubar",context:P}:M&&!I?{type:"context-menu",context:M}:{type:void 0},[M,I,P,w]),O=eL.useStore(x?.store,{open:d,openProp:a,activeTriggerId:E,triggerIdProp:R,parent:T});(0,eg.useOnFirstRender)(()=>{void 0===a&&!1===O.state.open&&!0===d&&O.update({open:!0,activeTriggerId:E})}),O.useControlledProp("openProp",a),O.useControlledProp("triggerIdProp",R),O.useContextCallback("onOpenChangeComplete",l);let A=O.useState("floatingTreeRoot"),D=(0,et.useFloatingNodeId)(A),j=(0,et.useFloatingParentNodeId)();(0,_.useIsoLayoutEffect)(()=>{M&&!I?O.update({parent:{type:"context-menu",context:M},floatingNodeId:D,floatingParentNodeId:j}):I&&O.update({floatingNodeId:D,floatingParentNodeId:j})},[M,I,D,j,O]);let L=O.useState("open"),F=O.useState("activeTriggerElement"),U=O.useState("positionerElement"),B=O.useState("hoverEnabled"),H=O.useState("modal"),G=O.useState("disabled"),V=O.useState("lastOpenChangeReason"),z=O.useState("parent"),Y=O.useState("activeIndex"),K=O.useState("payload"),W=O.useState("floatingParentNodeId"),J=n.useRef(null),q=null!=W;O.useSyncedValues({disabled:c,modal:void 0===z.type?p:void 0,rootId:(0,em.useId)()});let{openMethod:X,triggerProps:$}=(0,ew.useOpenInteractionType)(L);(0,eF.useImplicitActiveTrigger)(O);let{forceUnmount:Z}=(0,eF.useOpenStateTransitions)(L,O,()=>{O.update({allowMouseEnter:!1,stickIfOpen:!0})}),Q=n.useRef("context-menu"!==z.type),en=(0,ee.useTimeout)();n.useEffect(()=>{if(L||(J.current=null),"context-menu"===z.type){if(!L){en.clear(),Q.current=!1;return}en.start(500,()=>{Q.current=!0})}},[en,L,z.type]),(0,ev.useScrollLock)(L&&H&&V!==m.REASONS.triggerHover&&"touch"!==X,U),(0,_.useIsoLayoutEffect)(()=>{L||B||O.set("hoverEnabled",!0)},[L,B,O]);let eo=n.useRef(!0),er=(0,ee.useTimeout)(),ei=(0,h.useStableCallback)((e,n)=>{let o=n.reason;if(L===e&&n.trigger===F&&V===o||(n.preventUnmountOnClose=()=>{O.set("preventUnmountingOnClose",!0)},e||null!=n.trigger||(n.trigger=F??void 0),u?.(e,n),n.isCanceled))return;let r={open:e,nativeEvent:n.event,reason:n.reason,nested:q};t?.emit("openchange",r);let a=n.event;if(!1===e&&a?.type==="click"&&"touch"===a.pointerType&&!eo.current)return;if(!e&&null!==Y){let e=O.context.itemDomElements.current[Y];queueMicrotask(()=>{e?.setAttribute("tabindex","-1")})}e&&o===m.REASONS.triggerFocus?(eo.current=!1,er.start(300,()=>{eo.current=!0})):(eo.current=!0,er.clear());let i=(o===m.REASONS.triggerPress||o===m.REASONS.itemPress)&&0===a.detail&&a?.isTrusted,s=!e&&(o===m.REASONS.escapeKey||null==o),l={open:e,openChangeReason:o};J.current=n.event??null;let d=n.trigger?.id??null;(d||e)&&(l.activeTriggerId=d,l.activeTriggerElement=n.trigger??null),O.update(l),"menubar"===z.type&&(o===m.REASONS.triggerFocus||o===m.REASONS.focusOut||o===m.REASONS.triggerHover||o===m.REASONS.listNavigation||o===m.REASONS.siblingOpen)?O.set("instantType","group"):i||s?O.set("instantType",i?"click":"dismiss"):O.set("instantType",void 0)}),es=n.useCallback(e=>{let t=(0,k.createChangeEventDetails)(e);return t.preventUnmountOnClose=()=>{O.set("preventUnmountingOnClose",!0)},t},[O]),eu=n.useCallback(()=>{O.setOpen(!1,es(m.REASONS.imperativeAction))},[O,es]);n.useImperativeHandle(b,()=>({unmount:Z,close:eu}),[Z,eu]),"context-menu"===z.type&&(o=z.context),n.useImperativeHandle(o?.positionerRef,()=>U,[U]),n.useImperativeHandle(o?.actionsRef,()=>({setOpen:ei}),[ei]);let el=(0,eC.useSyncedFloatingRootContext)({popupStore:O,onOpenChange:ei});t=el.context.events,n.useEffect(()=>{let e=({open:e,eventDetails:t})=>ei(e,t);return t.on("setOpen",e),()=>{t?.off("setOpen",e)}},[t,ei]);let ed=(0,eS.useDismiss)(el,{enabled:!G,bubbles:{escapeKey:S&&"menu"===z.type},outsidePress:()=>"context-menu"!==z.type||J.current?.type==="contextmenu"||Q.current,externalTree:q?A:void 0}),ec=(0,ey.useRole)(el,{role:"menu"}),ep=(0,eP.useDirection)(),ef=n.useCallback(e=>{O.select("activeIndex")!==e&&O.set("activeIndex",e)},[O]),eb=(0,eR.useListNavigation)(el,{enabled:!G,listRef:O.context.itemDomElements,activeIndex:Y,nested:void 0!==z.type,loopFocus:g,orientation:v,parentOrientation:"menubar"===z.type?z.context.orientation:void 0,rtl:"rtl"===ep,disabledIndices:eh.EMPTY_ARRAY,onNavigate:ef,openOnArrowKeyDown:"context-menu"!==z.type,externalTree:q?A:void 0,focusItemOnHover:C}),eM=n.useCallback(e=>{O.context.typingRef.current=e},[O]),eT=(0,eE.useTypeahead)(el,{listRef:O.context.itemLabels,elementsRef:O.context.itemDomElements,activeIndex:Y,resetMs:ea.TYPEAHEAD_RESET_MS,onMatch:e=>{L&&e!==Y&&O.set("activeIndex",e)},onTypingChange:eM}),{getReferenceProps:eO,getFloatingProps:ek,getItemProps:eN,getTriggerProps:eA}=(0,ex.useInteractions)([ed,ec,eb,eT]),eD=n.useMemo(()=>{let e=(0,y.mergeProps)(eO(),{onMouseMove(){O.set("allowMouseEnter",!0)}},$);return delete e.role,e},[eO,O,$]),ej=n.useMemo(()=>{let e=eA();if(!e)return e;let t=(0,y.mergeProps)(e,$);return delete t.role,delete t["aria-controls"],t},[eA,$]),eU=n.useMemo(()=>ek({onMouseMove(){O.set("allowMouseEnter",!0),"menu"===z.type&&O.set("hoverEnabled",!1)},onClick(){O.select("hoverEnabled")&&O.set("hoverEnabled",!1)},onKeyDown(e){let t=O.select("keyboardEventRelay");t&&!e.isPropagationStopped()&&t(e)}}),[ek,z.type,O]),eB=n.useMemo(()=>eN(),[eN]);O.useSyncedValues({floatingRootContext:el,activeTriggerProps:eD,inactiveTriggerProps:ej,popupProps:eU,itemProps:eB});let eH=n.useMemo(()=>({store:O,parent:T}),[O,T]),eG=(0,N.jsx)(i.Provider,{value:eH,children:"function"==typeof r?r({payload:K}):r});return void 0===z.type||"context-menu"===z.type?(0,N.jsx)(et.FloatingTree,{externalTree:A,children:eG}):eG});e.s(["MenuRoot",0,eB],665940),e.s(["MenuSubmenuRoot",0,function(e){let t=s().store,o=n.useMemo(()=>({parentMenu:t}),[t]);return(0,N.jsx)(eU.Provider,{value:o,children:(0,N.jsx)(eB,{...e})})}],747606)},367950,e=>{"use strict";var t=e.i(641338),n=e.i(205856),o=e.i(59742),r=e.i(729824);e.s(["useCompositeItem",0,function(e={}){let{highlightItemOnHover:a,highlightedIndex:i,onHighlightedIndexChange:s}=(0,o.useCompositeRootContext)(),{ref:u,index:l}=(0,r.useCompositeListItem)(e),d=i===l,c=t.useRef(null),p=(0,n.useMergedRefs)(u,c);return{compositeProps:t.useMemo(()=>({tabIndex:d?0:-1,onFocus(){s(l)},onMouseMove(){let e=c.current;if(!a||!e)return;let t=e.hasAttribute("disabled")||"true"===e.ariaDisabled;d||t||e.focus()}}),[d,s,l,a]),compositeRef:p,index:l}}])},690287,e=>{"use strict";var t,n=e.i(430989);e.i(551075);var o=e.i(794751),r=e.i(104723),a=e.i(953806),i=e.i(537202),s=e.i(167276),u=e.i(302434),l=e.i(166339),d=e.i(312992),c=e.i(969416),p=e.i(739556),f=e.i(952646),m=e.i(238334),g=e.i(181878),v=e.i(157671),h=e.i(665940),b=e.i(747606);e.i(905022);var S=e.i(855604),x=e.i(641338),R=e.i(905234),y=e.i(109792),E=e.i(313987),C=e.i(639744),M=e.i(288782),I=e.i(239917),P=e.i(534262),w=e.i(721222),T=e.i(601623),O=e.i(258144),k=e.i(522541),N=e.i(224858),A=e.i(680),D=e.i(981928),j=e.i(24620),L=e.i(331763),F=e.i(807296),U=e.i(139797),_=e.i(703995),B=e.i(419851),H=e.i(63318),G=e.i(367950);function V(e){let{render:t,className:n,state:o=P.EMPTY_OBJECT,props:r=P.EMPTY_ARRAY,refs:a=P.EMPTY_ARRAY,metadata:i,stateAttributesMapping:s,tag:u="div",...l}=e,{compositeProps:d,compositeRef:c}=(0,G.useCompositeItem)({metadata:i});return(0,_.useRenderElement)(u,e,{state:o,ref:[...a,c],props:[d,...r,l],stateAttributesMapping:s})}var z=e.i(59742),Y=e.i(307030),K=e.i(82652),W=e.i(718226),J=e.i(842923),q=e.i(430855),X=e.i(161791),$=e.i(620085),Z=e.i(13653),Q=e.i(229305);let ee=(0,C.fastComponentRef)(function(e,t){let o,r,a,{render:i,className:s,disabled:u=!1,nativeButton:l=!0,id:d,openOnHover:c,delay:p=100,closeDelay:f=0,handle:m,payload:g,...v}=e,h=(0,F.useMenuRootContext)(!0),b=m?.store??h?.store;if(!b)throw Error((0,S.default)(85));let C=(0,W.useBaseUiId)(d),G=b.useState("isTriggerActive",C),ee=b.useState("floatingRootContext"),et=b.useState("isOpenedByTrigger",C),en=x.useRef(null),eo=(o=(0,q.useContextMenuRootContext)(!0),r=(0,F.useMenuRootContext)(!0),a=(0,X.useMenubarContext)(!0),x.useMemo(()=>a?{type:"menubar",context:a}:o&&!r?{type:"context-menu",context:o}:{type:void 0},[o,r,a])),er=(0,z.useCompositeRootContext)(!0),ea=(0,O.useFloatingTree)(),ei=x.useMemo(()=>ea??new D.FloatingTreeStore,[ea]),es=(0,O.useFloatingNodeId)(ei),eu=(0,O.useFloatingParentNodeId)(),{registerTrigger:el,isMountedByThisTrigger:ed}=(0,K.useTriggerDataForwarding)(C,en,b,{payload:g,closeDelay:f,parent:eo,floatingTreeRoot:ei,floatingNodeId:es,floatingParentNodeId:eu,keyboardEventRelay:er?.relayKeyboardEvent}),ec="menubar"===eo.type,ep=b.useState("disabled"),ef=u||ep||ec&&eo.context.disabled,{getButtonProps:em,buttonRef:eg}=(0,B.useButton)({disabled:ef,native:l});x.useEffect(()=>{et||void 0!==eo.type||(b.context.allowMouseUpTriggerRef.current=!1)},[b,et,eo.type]);let ev=x.useRef(null),eh=(0,y.useTimeout)(),eb=(0,M.useStableCallback)(e=>{if(!ev.current)return;eh.clear(),b.context.allowMouseUpTriggerRef.current=!1;let t=e.target;if((0,j.contains)(ev.current,t)||(0,j.contains)(b.select("positionerElement"),t)||t===ev.current||null!=t&&function e(t){return(0,Y.isHTMLElement)(t)&&t.hasAttribute("data-rootownerid")?t.getAttribute("data-rootownerid")??void 0:(0,Y.isLastTraversableNode)(t)?void 0:e((0,Y.getParentNode)(t))}(t)===b.select("rootId"))return;let n=(0,H.getPseudoElementBounds)(ev.current);e.clientX>=n.left-2&&e.clientX<=n.right+2&&e.clientY>=n.top-2&&e.clientY<=n.bottom+2||ei.events.emit("close",{domEvent:e,reason:J.REASONS.cancelOpen})});x.useEffect(()=>{et&&b.select("lastOpenChangeReason")===J.REASONS.triggerHover&&(0,E.ownerDocument)(ev.current).addEventListener("mouseup",eb,{once:!0})},[et,eb,b]);let eS=ec&&eo.context.hasSubmenuOpen,ex=c??eS,eR=(0,N.useHoverReferenceInteraction)(ee,{enabled:ex&&!ef&&"context-menu"!==eo.type&&(!ec||eS&&!ed),handleClose:(0,w.safePolygon)({blockPointerEvents:!ec}),mouseOnly:!0,move:!1,restMs:void 0===eo.type?p:void 0,delay:{close:f},triggerElementRef:en,externalTree:ei,isActiveTrigger:G}),ey=function(e,t){let n=(0,y.useTimeout)(),[o,r]=x.useState(!1);return(0,I.useIsoLayoutEffect)(()=>{e&&"trigger-hover"===t?(r(!0),n.start($.PATIENT_CLICK_THRESHOLD,()=>{r(!1)})):e||(n.clear(),r(!1))},[e,t,n]),o}(et,b.select("lastOpenChangeReason")),eE=(0,T.useClick)(ee,{enabled:!ef&&"context-menu"!==eo.type,event:et&&ec?"click":"mousedown",toggle:!0,ignoreMouse:!1,stickIfOpen:void 0===eo.type&&ey}),eC=(0,k.useFocus)(ee,{enabled:!ef&&eS}),eM=function(e){let{enabled:t=!0,mouseDownAction:n,open:o}=e,r=x.useRef(!1);return x.useMemo(()=>t?{onMouseDown:e=>{("open"===n&&!o||"close"===n&&o)&&(r.current=!0,(0,E.ownerDocument)(e.currentTarget).addEventListener("click",()=>{r.current=!1},{once:!0}))},onClick:e=>{r.current&&(r.current=!1,e.preventBaseUIHandler())}}:P.EMPTY_OBJECT,[t,n,o])}({open:et,enabled:ec,mouseDownAction:"open"}),eI=(0,A.useInteractions)([eE,eC]),eP={disabled:ef,open:et},ew=b.useState("triggerProps",ed),eT=[ev,t,eg,el,en],eO=[eI.getReferenceProps(),eR??P.EMPTY_OBJECT,ew,{"aria-haspopup":"menu",id:C,onMouseDown:e=>{b.select("open")||(eh.start(200,()=>{b.context.allowMouseUpTriggerRef.current=!0}),(0,E.ownerDocument)(e.currentTarget).addEventListener("mouseup",eb,{once:!0}))}},ec?{role:"menuitem"}:{},eM,v,em],ek=x.useRef(null),eN=(0,M.useStableCallback)(e=>{R.flushSync(()=>{b.setOpen(!1,(0,Q.createChangeEventDetails)(J.REASONS.focusOut,e.nativeEvent,e.currentTarget))});let t=(0,L.getTabbableBeforeElement)(ek.current);t?.focus()}),eA=(0,M.useStableCallback)(e=>{let t=b.select("positionerElement");if(t&&(0,L.isOutsideEvent)(e,t))b.context.beforeContentFocusGuardRef.current?.focus();else{R.flushSync(()=>{b.setOpen(!1,(0,Q.createChangeEventDetails)(J.REASONS.focusOut,e.nativeEvent,e.currentTarget))});let n=(0,L.getTabbableAfterElement)(b.context.triggerFocusTargetRef.current||en.current);for(;null!==n&&(0,j.contains)(t,n);){let e=n;if((n=(0,L.getNextTabbable)(n))===e)break}n?.focus()}}),eD=(0,_.useRenderElement)("button",e,{enabled:!ec,stateAttributesMapping:U.pressableTriggerOpenStateMapping,state:eP,ref:eT,props:eO});return ec?(0,n.jsx)(V,{tag:"button",render:i,className:s,state:eP,refs:eT,props:eO,stateAttributesMapping:U.pressableTriggerOpenStateMapping}):et?(0,n.jsxs)(x.Fragment,{children:[(0,n.jsx)(Z.FocusGuard,{ref:ek,onFocus:eN},`${C}-pre-focus-guard`),(0,n.jsx)(x.Fragment,{children:eD},C),(0,n.jsx)(Z.FocusGuard,{ref:b.context.triggerFocusTargetRef,onFocus:eA},`${C}-post-focus-guard`)]}):(0,n.jsx)(x.Fragment,{children:eD},C)});var et=e.i(640319),en=e.i(606987);let eo=((t={}).popupWidth="--popup-width",t.popupHeight="--popup-height",t),er={activationDirection:e=>e?{"data-activation-direction":e}:null},ea=x.forwardRef(function(e,t){let{render:n,className:o,children:r,...a}=e,{store:i}=(0,F.useMenuRootContext)(),{side:s}=(0,et.useMenuPositionerContext)(),u=i.useState("instantType"),{children:l,state:d}=(0,en.usePopupViewport)({store:i,side:s,cssVars:eo,children:r}),c={activationDirection:d.activationDirection,transitioning:d.transitioning,instant:u};return(0,_.useRenderElement)("div",e,{state:c,ref:t,props:[a,{children:l}],stateAttributesMapping:er})});var ei=e.i(243763),es=e.i(729824),eu=e.i(390193),el=e.i(963972);let ed=x.forwardRef(function(e,t){let{render:n,className:o,label:r,id:a,nativeButton:i=!1,openOnHover:s=!0,delay:u=100,closeDelay:l=0,disabled:d=!1,...c}=e,p=(0,es.useCompositeListItem)(),f=(0,et.useMenuPositionerContext)(),{store:m}=(0,F.useMenuRootContext)(),g=(0,W.useBaseUiId)(a),v=m.useState("open"),h=m.useState("floatingRootContext"),b=m.useState("floatingTreeRoot"),R=(0,K.useTriggerRegistration)(g,m),y=x.useCallback(e=>{let t=R(e);return null!==e&&m.select("open")&&null==m.select("activeTriggerId")&&m.update({activeTriggerId:g,activeTriggerElement:e,closeDelay:l}),t},[R,l,m,g]),E=x.useRef(null),C=x.useCallback(e=>{E.current=e,m.set("activeTriggerElement",e)},[m]),M=(0,el.useMenuSubmenuRootContext)();if(!M?.parentMenu)throw Error((0,S.default)(37));m.useSyncedValue("closeDelay",l);let I=M.parentMenu,P=I.useState("itemProps"),O=I.useState("isActive",p.index),k=x.useMemo(()=>({type:"submenu-trigger",setActive(){I.set("activeIndex",p.index)}}),[I,p.index]),D=m.useState("disabled"),j=d||D,{getItemProps:L,itemRef:B}=(0,eu.useMenuItem)({closeOnClick:!1,disabled:j,highlighted:O,id:g,store:m,typingRef:I.context.typingRef,nativeButton:i,itemMetadata:k,nodeId:f?.nodeId}),H=m.useState("hoverEnabled"),G=I.useState("allowMouseEnter"),V=(0,N.useHoverReferenceInteraction)(h,{enabled:H&&s&&!j,handleClose:(0,w.safePolygon)({blockPointerEvents:!0}),mouseOnly:!0,move:!0,restMs:u,delay:G?{open:u,close:l}:0,triggerElementRef:E,externalTree:b}),z=(0,T.useClick)(h,{enabled:!j,event:"mousedown",toggle:!s,ignoreMouse:s,stickIfOpen:!1}),Y=(0,A.useInteractions)([z]),J=m.useState("triggerProps",!0);return delete J.id,(0,_.useRenderElement)("div",e,{state:{disabled:j,highlighted:O,open:v},stateAttributesMapping:U.triggerOpenStateMapping,props:[Y.getReferenceProps(),V,J,P,{tabIndex:v||O?0:-1,onBlur(){O&&I.set("activeIndex",null)}},c,L],ref:[t,p.ref,B,y,C]})});var ec=e.i(623439);class ep{constructor(){this.store=new ec.MenuStore}open(e){let t=e?this.store.context.triggerElements.getById(e):void 0;if(e&&!t)throw Error((0,S.default)(83,e));this.store.setOpen(!0,(0,Q.createChangeEventDetails)("imperative-action",void 0,t))}close(){this.store.setOpen(!1,(0,Q.createChangeEventDetails)("imperative-action",void 0,void 0))}get isOpen(){return this.store.state.open}}e.s(["Arrow",()=>o.MenuArrow,"Backdrop",()=>r.MenuBackdrop,"CheckboxItem",()=>a.MenuCheckboxItem,"CheckboxItemIndicator",()=>i.MenuCheckboxItemIndicator,"Group",()=>s.MenuGroup,"GroupLabel",()=>u.MenuGroupLabel,"Handle",0,ep,"Item",()=>l.MenuItem,"LinkItem",()=>d.MenuLinkItem,"Popup",()=>c.MenuPopup,"Portal",()=>p.MenuPortal,"Positioner",()=>f.MenuPositioner,"RadioGroup",()=>m.MenuRadioGroup,"RadioItem",()=>g.MenuRadioItem,"RadioItemIndicator",()=>v.MenuRadioItemIndicator,"Root",()=>h.MenuRoot,"Separator",()=>ei.Separator,"SubmenuRoot",()=>b.MenuSubmenuRoot,"SubmenuTrigger",0,ed,"Trigger",0,ee,"Viewport",0,ea,"createHandle",0,function(){return new ep}],642079);var ef=e.i(642079),ef=ef,em=e.i(47816),eg=e.i(794097),eg=eg;function ev({align:e="start",alignOffset:t=0,side:o="bottom",sideOffset:r=4,className:a,...i}){return(0,n.jsx)(ef.Portal,{children:(0,n.jsx)(ef.Positioner,{className:"isolate z-50 outline-none",align:e,alignOffset:t,side:o,sideOffset:r,children:(0,n.jsx)(ef.Popup,{"data-slot":"dropdown-menu-content",className:(0,em.cn)("z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95",a),...i})})})}e.i(706079),e.s(["DropdownMenu",0,function({...e}){return(0,n.jsx)(ef.Root,{"data-slot":"dropdown-menu",...e})},"DropdownMenuContent",0,ev,"DropdownMenuGroup",0,function({...e}){return(0,n.jsx)(ef.Group,{"data-slot":"dropdown-menu-group",...e})},"DropdownMenuItem",0,function({className:e,inset:t,variant:o="default",...r}){return(0,n.jsx)(ef.Item,{"data-slot":"dropdown-menu-item","data-inset":t,"data-variant":o,className:(0,em.cn)("group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive",e),...r})},"DropdownMenuLabel",0,function({className:e,inset:t,...o}){return(0,n.jsx)(ef.GroupLabel,{"data-slot":"dropdown-menu-label","data-inset":t,className:(0,em.cn)("px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7",e),...o})},"DropdownMenuSeparator",0,function({className:e,...t}){return(0,n.jsx)(ef.Separator,{"data-slot":"dropdown-menu-separator",className:(0,em.cn)("-mx-1 my-1 h-px bg-border",e),...t})},"DropdownMenuSub",0,function({...e}){return(0,n.jsx)(ef.SubmenuRoot,{"data-slot":"dropdown-menu-sub",...e})},"DropdownMenuSubContent",0,function({align:e="start",alignOffset:t=-3,side:o="right",sideOffset:r=0,className:a,...i}){return(0,n.jsx)(ev,{"data-slot":"dropdown-menu-sub-content",className:(0,em.cn)("w-auto min-w-[96px] rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",a),align:e,alignOffset:t,side:o,sideOffset:r,...i})},"DropdownMenuSubTrigger",0,function({className:e,inset:t,children:o,...r}){return(0,n.jsxs)(ef.SubmenuTrigger,{"data-slot":"dropdown-menu-sub-trigger","data-inset":t,className:(0,em.cn)("flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-popup-open:bg-accent data-popup-open:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...r,children:[o,(0,n.jsx)(eg.default,{className:"ml-auto"})]})},"DropdownMenuTrigger",0,function({...e}){return(0,n.jsx)(ef.Trigger,{"data-slot":"dropdown-menu-trigger",...e})}],690287)},514183,e=>{"use strict";let t=(0,e.i(258114).default)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);e.s(["Globe",0,t],514183)},683020,e=>{"use strict";let t=(0,e.i(258114).default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);e.s(["Folder",0,t],683020)},569021,709545,e=>{"use strict";var t,n=e.i(333403);e.s(["ChevronUp",()=>n.default],569021);var o=e.i(430989),r=e.i(641338),a=e.i(905234),i=(t=function(e,n){return(t=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,n)},function(e,n){if("function"!=typeof n&&null!==n)throw TypeError("Class extends value "+String(n)+" is not a constructor or null");function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}),s="html",u=function(e,t){var n,o,r,a=null!=(n=e.ownerDocument)?n:document,i=null!=(r=null!=(o=a.defaultView)?o:a.parentWindow)?r:window;switch(t){case s:return e instanceof i.HTMLElement;case"svg":return e instanceof i.SVGElement;default:throw Error('Unrecognized element type "'.concat(t,'" for validateElementType.'))}},l=function(e,t){var n,o,r,a,i,l={};switch(e){case s:i=document.createElement(null!=(n=null==t?void 0:t.containerElement)?n:"div");break;case"svg":i=document.createElementNS("http://www.w3.org/2000/svg",null!=(o=null==t?void 0:t.containerElement)?o:"g");break;default:throw Error('Invalid element type "'.concat(e,'" for createPortalNode: must be "html" or "svg".'))}if(t&&"object"==typeof t&&t.attributes)for(var d=0,c=Object.entries(t.attributes);d<c.length;d++){var p=c[d],f=p[0],m=p[1];i.setAttribute(f,m)}var g={element:i,elementType:e,setPortalProps:function(e){l=e},getInitialPortalProps:function(){return l},mount:function(t,n){if(n!==a){if(g.unmount(),t!==r&&!u(t,e))throw Error('Invalid element type for portal: "'.concat(e,'" portalNodes must be used with ').concat(e," elements, but OutPortal is within <").concat(t.tagName,">."));t.replaceChild(g.element,n),r=t,a=n}},unmount:function(e){(!e||e===a)&&r&&a&&(r.replaceChild(a,g.element),r=void 0,a=void 0)}};return g},d=function(e){function t(t){var n=e.call(this,t)||this;return n.addPropsChannel=function(){Object.assign(n.props.node,{setPortalProps:function(e){n.setState({nodeProps:e})}})},n.state={nodeProps:n.props.node.getInitialPortalProps()},n}return i(t,e),t.prototype.componentDidMount=function(){this.addPropsChannel()},t.prototype.componentDidUpdate=function(){this.addPropsChannel()},t.prototype.render=function(){var e=this,t=this.props,n=t.children,o=t.node;return a.createPortal(r.Children.map(n,function(t){return r.isValidElement(t)?r.cloneElement(t,e.state.nodeProps):t}),o.element)},t}(r.PureComponent),c=function(e){function t(t){var n=e.call(this,t)||this;return n.placeholderNode=r.createRef(),n.passPropsThroughPortal(),n}return i(t,e),t.prototype.passPropsThroughPortal=function(){var e=Object.assign({},this.props,{node:void 0});this.props.node.setPortalProps(e)},t.prototype.componentDidMount=function(){var e=this.props.node;this.currentPortalNode=e;var t=this.placeholderNode.current,n=t.parentNode;e.mount(n,t),this.passPropsThroughPortal()},t.prototype.componentDidUpdate=function(){var e=this.props.node;this.currentPortalNode&&e!==this.currentPortalNode&&(this.currentPortalNode.unmount(this.placeholderNode.current),this.currentPortalNode.setPortalProps({}),this.currentPortalNode=e);var t=this.placeholderNode.current,n=t.parentNode;e.mount(n,t),this.passPropsThroughPortal()},t.prototype.componentWillUnmount=function(){var e=this.props.node;e.unmount(this.placeholderNode.current),e.setPortalProps({})},t.prototype.render=function(){var e=this.props.node.element.tagName,t=this.props.node.elementType===s?e.toLowerCase():e;return r.createElement(t,{ref:this.placeholderNode})},t}(r.PureComponent),p=l.bind(null,s);l.bind(null,"svg");let f=(0,e.i(673898).default)(()=>e.A(324987).then(e=>({default:e.TaskTerminal})),{loadableGenerated:{modules:[7468]},ssr:!1}),m=(0,r.createContext)(null);function g(){let e=(0,r.useContext)(m);if(!e)throw Error("useTerminalPortal must be used within TerminalPortalProvider");return e}e.s(["TerminalOutlet",0,function({taskId:e,worktreePath:t,onSessionEnd:n,onFileOpen:a}){let{getPortal:i,setOnSessionEnd:s,setOnFileOpen:u}=g(),[l,d]=(0,r.useState)(null);return((0,r.useEffect)(()=>(d(i(e,t)),()=>d(null)),[e,t,i]),(0,r.useEffect)(()=>(s(e,n??null),()=>s(e,null)),[e,n,s]),(0,r.useEffect)(()=>(u(e,a??null),()=>u(e,null)),[e,a,u]),l)?(0,o.jsx)(c,{node:l.portalNode}):null},"TerminalPortalProvider",0,function({children:e}){let t=(0,r.useRef)(new Map),[,n]=(0,r.useState)(0),a=(0,r.useCallback)((e,o)=>{let r=t.current.get(e);if(r)return r;let a={portalNode:p({attributes:{style:"width:100%;height:100%"}}),taskId:e,worktreePath:o,onSessionEnd:{current:null},onFileOpen:{current:null}};return t.current.set(e,a),n(e=>e+1),a},[]),i=(0,r.useCallback)(e=>{t.current.delete(e),n(e=>e+1)},[]),s=(0,r.useCallback)((e,n)=>{let o=t.current.get(e);o&&(o.onSessionEnd.current=n)},[]),u=(0,r.useCallback)((e,n)=>{let o=t.current.get(e);o&&(o.onFileOpen.current=n)},[]),l=Array.from(t.current.values()).map(e=>(0,o.jsx)(d,{node:e.portalNode,children:(0,o.jsx)(f,{taskId:e.taskId,worktreePath:e.worktreePath,onSessionEnd:t=>e.onSessionEnd.current?.(t),onFileOpen:(t,n,o)=>e.onFileOpen.current?.(t,n,o),useCanvasRenderer:!0})},e.taskId));return(0,o.jsxs)(m.Provider,{value:{getPortal:a,removePortal:i,setOnSessionEnd:s,setOnFileOpen:u},children:[e,l]})},"useTerminalPortal",0,g],709545)},232478,e=>{"use strict";let t=(0,e.i(258114).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",0,t],232478)},260949,e=>{"use strict";var t=e.i(713576);e.s(["ChevronDown",()=>t.default])},860875,e=>{"use strict";let t=(0,e.i(258114).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["default",0,t])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,425393,e=>{"use strict";e.s([],125602),e.i(125602),e.i(305814),e.i(749080),e.i(598684),e.i(651285),e.i(103683),e.i(700470),e.i(748262),e.i(584395),e.i(349122);var i=e.i(755683);let r=(0,i.createServerReference)("609314086968febbf2bd836a6ac8eb36390f44db7e",i.callServer,void 0,i.findSourceMapURL,"revealInFinder");e.s(["revealInFinder",0,r],425393)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,852665,565686,883759,e=>{"use strict";let t;var n,r,l,i,a,o,u,s,c,d,f,h,g,p,v,b,m,y,w,x=e.i(641338),D=e.i(905234);function E(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,x.useMemo)(()=>e=>{t.forEach(t=>t(e))},t)}let C="u">typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function S(e){let t=Object.prototype.toString.call(e);return"[object Window]"===t||"[object global]"===t}function M(e){return"nodeType"in e}function R(e){var t,n;return e?S(e)?e:M(e)&&null!=(t=null==(n=e.ownerDocument)?void 0:n.defaultView)?t:window:window}function O(e){let{Document:t}=R(e);return e instanceof t}function T(e){return!S(e)&&e instanceof R(e).HTMLElement}function k(e){return e instanceof R(e).SVGElement}function L(e){return e?S(e)?e.document:M(e)?O(e)?e:T(e)||k(e)?e.ownerDocument:document:document:document}let N=C?x.useLayoutEffect:x.useEffect;function I(e){let t=(0,x.useRef)(e);return N(()=>{t.current=e}),(0,x.useCallback)(function(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];return null==t.current?void 0:t.current(...n)},[])}function A(){let e=(0,x.useRef)(null);return[(0,x.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,x.useCallback)(()=>{null!==e.current&&(clearInterval(e.current),e.current=null)},[])]}function P(e,t){void 0===t&&(t=[e]);let n=(0,x.useRef)(e);return N(()=>{n.current!==e&&(n.current=e)},t),n}function B(e,t){let n=(0,x.useRef)();return(0,x.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function z(e){let t=I(e),n=(0,x.useRef)(null),r=(0,x.useCallback)(e=>{e!==n.current&&(null==t||t(e,n.current)),n.current=e},[]);return[n,r]}function F(e){let t=(0,x.useRef)();return(0,x.useEffect)(()=>{t.current=e},[e]),t.current}let U={};function X(e,t){return(0,x.useMemo)(()=>{if(t)return t;let n=null==U[e]?0:U[e]+1;return U[e]=n,e+"-"+n},[e,t])}function Y(e){return function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),l=1;l<n;l++)r[l-1]=arguments[l];return r.reduce((t,n)=>{for(let[r,l]of Object.entries(n)){let n=t[r];null!=n&&(t[r]=n+e*l)}return t},{...t})}}let j=Y(1),K=Y(-1);function W(e){if(!e)return!1;let{KeyboardEvent:t}=R(e.target);return t&&e instanceof t}function H(e){if(function(e){if(!e)return!1;let{TouchEvent:t}=R(e.target);return t&&e instanceof t}(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return"clientX"in e&&"clientY"in e?{x:e.clientX,y:e.clientY}:null}let V=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[V.Translate.toString(e),V.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),J="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function q(e){return e.matches(J)?e:e.querySelector(J)}e.s(["CSS",0,V,"add",0,j,"canUseDOM",0,C,"findFirstFocusableNode",0,q,"getEventCoordinates",0,H,"getOwnerDocument",0,L,"getWindow",0,R,"isDocument",0,O,"isHTMLElement",0,T,"isKeyboardEvent",0,W,"isNode",0,M,"isSVGElement",0,k,"isWindow",0,S,"subtract",0,K,"useCombinedRefs",0,E,"useEvent",0,I,"useInterval",0,A,"useIsomorphicLayoutEffect",0,N,"useLatestValue",0,P,"useLazyMemo",0,B,"useNodeRef",0,z,"usePrevious",0,F,"useUniqueId",0,X],565686);let _={display:"none"};function G(e){let{id:t,value:n}=e;return x.default.createElement("div",{id:t,style:_},n)}function Q(e){let{id:t,announcement:n,ariaLiveType:r="assertive"}=e;return x.default.createElement("div",{id:t,style:{position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"},role:"status","aria-live":r,"aria-atomic":!0},n)}let Z=(0,x.createContext)(null),$={draggable:"\n To pick up a draggable item, press the space bar.\n While dragging, use the arrow keys to move the item.\n Press space again to drop the item in its new position, or press escape to cancel.\n "},ee={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function et(e){var t;let n,{announcements:r=ee,container:l,hiddenTextDescribedById:i,screenReaderInstructions:a=$}=e,{announce:o,announcement:u}=function(){let[e,t]=(0,x.useState)("");return{announce:(0,x.useCallback)(e=>{null!=e&&t(e)},[]),announcement:e}}(),s=X("DndLiveRegion"),[c,d]=(0,x.useState)(!1);if((0,x.useEffect)(()=>{d(!0)},[]),t=(0,x.useMemo)(()=>({onDragStart(e){let{active:t}=e;o(r.onDragStart({active:t}))},onDragMove(e){let{active:t,over:n}=e;r.onDragMove&&o(r.onDragMove({active:t,over:n}))},onDragOver(e){let{active:t,over:n}=e;o(r.onDragOver({active:t,over:n}))},onDragEnd(e){let{active:t,over:n}=e;o(r.onDragEnd({active:t,over:n}))},onDragCancel(e){let{active:t,over:n}=e;o(r.onDragCancel({active:t,over:n}))}}),[o,r]),n=(0,x.useContext)(Z),(0,x.useEffect)(()=>{if(!n)throw Error("useDndMonitor must be used within a children of <DndContext>");return n(t)},[t,n]),!c)return null;let f=x.default.createElement(x.default.Fragment,null,x.default.createElement(G,{id:i,value:a.draggable}),x.default.createElement(Q,{id:s,announcement:u}));return l?(0,D.createPortal)(f,l):f}function en(){}(n=d||(d={})).DragStart="dragStart",n.DragMove="dragMove",n.DragEnd="dragEnd",n.DragCancel="dragCancel",n.DragOver="dragOver",n.RegisterDroppable="registerDroppable",n.SetDroppableDisabled="setDroppableDisabled",n.UnregisterDroppable="unregisterDroppable";let er=Object.freeze({x:0,y:0});function el(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function ei(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function ea(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function eo(e){let{left:t,top:n,height:r,width:l}=e;return[{x:t,y:n},{x:t+l,y:n},{x:t,y:n+r},{x:t+l,y:n+r}]}function eu(e,t){if(!e||0===e.length)return null;let[n]=e;return t?n[t]:n}function es(e,t,n){return void 0===t&&(t=e.left),void 0===n&&(n=e.top),{x:t+.5*e.width,y:n+.5*e.height}}let ec=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,l=[];for(let e of r){let{id:r}=e,i=n.get(r);if(i){let n=function(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),l=Math.min(t.left+t.width,e.left+e.width),i=Math.min(t.top+t.height,e.top+e.height);if(r<l&&n<i){let a=t.width*t.height,o=e.width*e.height,u=(l-r)*(i-n);return Number((u/(a+o-u)).toFixed(4))}return 0}(i,t);n>0&&l.push({id:r,data:{droppableContainer:e,value:n}})}}return l.sort(ea)};function ed(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:er}let ef=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return n.reduce((e,t)=>({...e,top:e.top+ +t.y,bottom:e.bottom+ +t.y,left:e.left+ +t.x,right:e.right+ +t.x}),{...e})};function eh(e){if(e.startsWith("matrix3d(")){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}if(e.startsWith("matrix(")){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}let eg={ignoreTransform:!1};function ep(e,t){void 0===t&&(t=eg);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=R(e).getComputedStyle(e);t&&(n=function(e,t,n){let r=eh(t);if(!r)return e;let{scaleX:l,scaleY:i,x:a,y:o}=r,u=e.left-a-(1-l)*parseFloat(n),s=e.top-o-(1-i)*parseFloat(n.slice(n.indexOf(" ")+1)),c=l?e.width/l:e.width,d=i?e.height/i:e.height;return{width:c,height:d,top:s,right:u+c,bottom:s+d,left:u}}(n,t,r))}let{top:r,left:l,width:i,height:a,bottom:o,right:u}=n;return{top:r,left:l,width:i,height:a,bottom:o,right:u}}function ev(e){return ep(e,{ignoreTransform:!0})}function eb(e,t){let n=[];return e?function r(l){var i,a;let o;if(null!=t&&n.length>=t||!l)return n;if(O(l)&&null!=l.scrollingElement&&!n.includes(l.scrollingElement))return n.push(l.scrollingElement),n;if(!T(l)||k(l)||n.includes(l))return n;let u=R(e).getComputedStyle(l);return(l!==e&&(void 0===(i=u)&&(i=R(l).getComputedStyle(l)),o=/(auto|scroll|overlay)/,["overflow","overflowX","overflowY"].some(e=>{let t=i[e];return"string"==typeof t&&o.test(t)}))&&n.push(l),void 0===(a=u)&&(a=R(l).getComputedStyle(l)),"fixed"===a.position)?n:r(l.parentNode)}(e):n}function em(e){let[t]=eb(e,1);return null!=t?t:null}function ey(e){return C&&e?S(e)?e:M(e)?O(e)||e===L(e).scrollingElement?window:T(e)?e:null:null:null}function ew(e){return S(e)?e.scrollX:e.scrollLeft}function ex(e){return S(e)?e.scrollY:e.scrollTop}function eD(e){return{x:ew(e),y:ex(e)}}function eE(e){return!!C&&!!e&&e===document.scrollingElement}function eC(e){let t={x:0,y:0},n=eE(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},l=e.scrollTop<=t.y,i=e.scrollLeft<=t.x;return{isTop:l,isLeft:i,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}(r=f||(f={}))[r.Forward=1]="Forward",r[r.Backward=-1]="Backward";let eS={x:.2,y:.2};function eM(e){return e.reduce((e,t)=>j(e,eD(t)),er)}function eR(e,t){if(void 0===t&&(t=ep),!e)return;let{top:n,left:r,bottom:l,right:i}=t(e);em(e)&&(l<=0||i<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}let eO=[["x",["left","right"],function(e){return e.reduce((e,t)=>e+ew(t),0)}],["y",["top","bottom"],function(e){return e.reduce((e,t)=>e+ex(t),0)}]];class eT{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const n=eb(t),r=eM(n);for(const[t,l,i]of(this.rect={...e},this.width=e.width,this.height=e.height,eO))for(const e of l)Object.defineProperty(this,e,{get:()=>{let l=i(n),a=r[t]-l;return this.rect[e]+a},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class ek{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>{var t;return null==(t=this.target)?void 0:t.removeEventListener(...e)})},this.target=e}add(e,t,n){var r;null==(r=this.target)||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}}function eL(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return"number"==typeof t?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t&&r>t.y}function eN(e){e.preventDefault()}function eI(e){e.stopPropagation()}(l=h||(h={})).Click="click",l.DragStart="dragstart",l.Keydown="keydown",l.ContextMenu="contextmenu",l.Resize="resize",l.SelectionChange="selectionchange",l.VisibilityChange="visibilitychange",(i=g||(g={})).Space="Space",i.Down="ArrowDown",i.Right="ArrowRight",i.Left="ArrowLeft",i.Up="ArrowUp",i.Esc="Escape",i.Enter="Enter",i.Tab="Tab";let eA={start:[g.Space,g.Enter],cancel:[g.Esc],end:[g.Space,g.Enter,g.Tab]},eP=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case g.Right:return{...n,x:n.x+25};case g.Left:return{...n,x:n.x-25};case g.Down:return{...n,y:n.y+25};case g.Up:return{...n,y:n.y-25}}};class eB{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;const{event:{target:t}}=e;this.props=e,this.listeners=new ek(L(t)),this.windowListeners=new ek(R(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(h.Resize,this.handleCancel),this.windowListeners.add(h.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(h.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&eR(n),t(er)}handleKeyDown(e){if(W(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:l=eA,coordinateGetter:i=eP,scrollBehavior:a="smooth"}=r,{code:o}=e;if(l.end.includes(o))return void this.handleEnd(e);if(l.cancel.includes(o))return void this.handleCancel(e);let{collisionRect:u}=n.current,s=u?{x:u.left,y:u.top}:er;this.referenceCoordinates||(this.referenceCoordinates=s);let c=i(e,{active:t,context:n.current,currentCoordinates:s});if(c){let t=K(c,s),r={x:0,y:0},{scrollableAncestors:l}=n.current;for(let n of l){let l=e.code,{isTop:i,isRight:o,isLeft:u,isBottom:s,maxScroll:d,minScroll:f}=eC(n),h=function(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:l}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:l,width:e.clientWidth,height:e.clientHeight}}(n),p={x:Math.min(l===g.Right?h.right-h.width/2:h.right,Math.max(l===g.Right?h.left:h.left+h.width/2,c.x)),y:Math.min(l===g.Down?h.bottom-h.height/2:h.bottom,Math.max(l===g.Down?h.top:h.top+h.height/2,c.y))},v=l===g.Right&&!o||l===g.Left&&!u,b=l===g.Down&&!s||l===g.Up&&!i;if(v&&p.x!==c.x){let e=n.scrollLeft+t.x,i=l===g.Right&&e<=d.x||l===g.Left&&e>=f.x;if(i&&!t.y)return void n.scrollTo({left:e,behavior:a});i?r.x=n.scrollLeft-e:r.x=l===g.Right?n.scrollLeft-d.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:a});break}if(b&&p.y!==c.y){let e=n.scrollTop+t.y,i=l===g.Down&&e<=d.y||l===g.Up&&e>=f.y;if(i&&!t.x)return void n.scrollTo({top:e,behavior:a});i?r.y=n.scrollTop-e:r.y=l===g.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:a});break}}this.handleMove(e,j(K(c,this.referenceCoordinates),r))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}function ez(e){return!!(e&&"distance"in e)}function eF(e){return!!(e&&"delay"in e)}eB.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=eA,onActivation:l}=t,{active:i}=n,{code:a}=e.nativeEvent;if(r.start.includes(a)){let t=i.activatorNode.current;return(!t||e.target===t)&&(e.preventDefault(),null==l||l({event:e.nativeEvent}),!0)}return!1}}];class eU{constructor(e,t,n){var r;void 0===n&&(n=function(e){let{EventTarget:t}=R(e);return e instanceof t?e:L(e)}(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;const{event:l}=e,{target:i}=l;this.props=e,this.events=t,this.document=L(i),this.documentListeners=new ek(this.document),this.listeners=new ek(n),this.windowListeners=new ek(R(i)),this.initialCoordinates=null!=(r=H(l))?r:er,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(h.Resize,this.handleCancel),this.windowListeners.add(h.DragStart,eN),this.windowListeners.add(h.VisibilityChange,this.handleCancel),this.windowListeners.add(h.ContextMenu,eN),this.documentListeners.add(h.Keydown,this.handleKeydown),t){if(null!=n&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(eF(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(ez(t))return void this.handlePending(t)}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),null!==this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){let{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(h.Click,eI,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(h.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){var t;let{activated:n,initialCoordinates:r,props:l}=this,{onMove:i,options:{activationConstraint:a}}=l;if(!r)return;let o=null!=(t=H(e))?t:er,u=K(r,o);if(!n&&a){if(ez(a)){if(null!=a.tolerance&&eL(u,a.tolerance))return this.handleCancel();if(eL(u,a.distance))return this.handleStart()}return eF(a)&&eL(u,a.tolerance)?this.handleCancel():void this.handlePending(a,u)}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){let{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===g.Esc&&this.handleCancel()}removeTextSelection(){var e;null==(e=this.document.getSelection())||e.removeAllRanges()}}let eX={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class eY extends eU{constructor(e){const{event:t}=e;super(e,eX,L(t.target))}}eY.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!!n.isPrimary&&0===n.button&&(null==r||r({event:n}),!0)}}];(a=p||(p={}))[a.RightClick=2]="RightClick";(o=v||(v={}))[o.Pointer=0]="Pointer",o[o.DraggableRect=1]="DraggableRect",(u=b||(b={}))[u.TreeOrder=0]="TreeOrder",u[u.ReversedTreeOrder=1]="ReversedTreeOrder";let ej={x:{[f.Backward]:!1,[f.Forward]:!1},y:{[f.Backward]:!1,[f.Forward]:!1}};(s=m||(m={}))[s.Always=0]="Always",s[s.BeforeDragging=1]="BeforeDragging",s[s.WhileDragging=2]="WhileDragging",(y||(y={})).Optimized="optimized";let eK=new Map;function eW(e,t){return B(n=>e?n||("function"==typeof t?t(e):e):null,[t,e])}function eH(e){let{callback:t,disabled:n}=e,r=I(t),l=(0,x.useMemo)(()=>{if(n||"u"<typeof window||void 0===window.ResizeObserver)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,x.useEffect)(()=>()=>null==l?void 0:l.disconnect(),[l]),l}function eV(e){return new eT(ep(e),e)}function eJ(e,t,n){void 0===t&&(t=eV);let[r,l]=(0,x.useState)(null);function i(){l(r=>{if(!e)return null;if(!1===e.isConnected){var l;return null!=(l=null!=r?r:n)?l:null}let i=t(e);return JSON.stringify(r)===JSON.stringify(i)?r:i})}let a=function(e){let{callback:t,disabled:n}=e,r=I(t),l=(0,x.useMemo)(()=>{if(n||"u"<typeof window||void 0===window.MutationObserver)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,x.useEffect)(()=>()=>null==l?void 0:l.disconnect(),[l]),l}({callback(t){if(e)for(let n of t){let{type:t,target:r}=n;if("childList"===t&&r instanceof HTMLElement&&r.contains(e)){i();break}}}}),o=eH({callback:i});return N(()=>{i(),e?(null==o||o.observe(e),null==a||a.observe(document.body,{childList:!0,subtree:!0})):(null==o||o.disconnect(),null==a||a.disconnect())},[e]),r}let eq=[];function e_(e,t){void 0===t&&(t=[]);let n=(0,x.useRef)(null);return(0,x.useEffect)(()=>{n.current=null},t),(0,x.useEffect)(()=>{let t=e!==er;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?K(e,n.current):er}function eG(e){return(0,x.useMemo)(()=>{let t,n;return e?(t=e.innerWidth,{top:0,left:0,right:t,bottom:n=e.innerHeight,width:t,height:n}):null},[e])}let eQ=[];function eZ(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return T(t)?t:e}let e$=[{sensor:eY,options:{}},{sensor:eB,options:{}}],e0={current:{}},e1={draggable:{measure:ev},droppable:{measure:ev,strategy:m.WhileDragging,frequency:y.Optimized},dragOverlay:{measure:ep}};class e2 extends Map{get(e){var t;return null!=e&&null!=(t=super.get(e))?t:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){var t,n;return null!=(t=null==(n=this.get(e))?void 0:n.node.current)?t:void 0}}let e5={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new e2,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:en},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:e1,measureDroppableContainers:en,windowRect:null,measuringScheduled:!1},e6={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:en,draggableNodes:new Map,over:null,measureDroppableContainers:en},e3=(0,x.createContext)(e6),e8=(0,x.createContext)(e5);function e9(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new e2}}}function e4(e,t){switch(t.type){case d.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case d.DragMove:if(null==e.draggable.active)return e;return{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case d.DragEnd:case d.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case d.RegisterDroppable:{let{element:n}=t,{id:r}=n,l=new e2(e.droppable.containers);return l.set(r,n),{...e,droppable:{...e.droppable,containers:l}}}case d.SetDroppableDisabled:{let{id:n,key:r,disabled:l}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new e2(e.droppable.containers);return a.set(n,{...i,disabled:l}),{...e,droppable:{...e.droppable,containers:a}}}case d.UnregisterDroppable:{let{id:n,key:r}=t,l=e.droppable.containers.get(n);if(!l||r!==l.key)return e;let i=new e2(e.droppable.containers);return i.delete(n),{...e,droppable:{...e.droppable,containers:i}}}default:return e}}function e7(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:l}=(0,x.useContext)(e3),i=F(r),a=F(null==n?void 0:n.id);return(0,x.useEffect)(()=>{if(!t&&!r&&i&&null!=a){if(!W(i)||document.activeElement===i.target)return;let e=l.get(a);if(!e)return;let{activatorNode:t,node:n}=e;(t.current||n.current)&&requestAnimationFrame(()=>{for(let e of[t.current,n.current]){if(!e)continue;let t=q(e);if(t){t.focus();break}}})}},[r,t,l,a,i]),null}function te(e,t){let{transform:n,...r}=t;return null!=e&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}let tt=(0,x.createContext)({...er,scaleX:1,scaleY:1});(c=w||(w={}))[c.Uninitialized=0]="Uninitialized",c[c.Initializing=1]="Initializing",c[c.Initialized=2]="Initialized";let tn=(0,x.memo)(function(e){var t,n,r,l,i,a,o,u;let s,c,h,g,p,y,E,S,{id:M,accessibility:O,autoScroll:k=!0,children:L,sensors:I=e$,collisionDetection:U=ec,measuring:Y,modifiers:K,...W}=e,[V,J]=(0,x.useReducer)(e4,void 0,e9),[q,_]=function(){let[e]=(0,x.useState)(()=>new Set),t=(0,x.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,x.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>{var t;return null==(t=e[n])?void 0:t.call(e,r)})},[e]),t]}(),[G,Q]=(0,x.useState)(w.Uninitialized),$=G===w.Initialized,{draggable:{active:ee,nodes:en,translate:el},droppable:{containers:ei}}=V,ea=null!=ee?en.get(ee):null,eo=(0,x.useRef)({initial:null,translated:null}),es=(0,x.useMemo)(()=>{var e;return null!=ee?{id:ee,data:null!=(e=null==ea?void 0:ea.data)?e:e0,rect:eo}:null},[ee,ea]),eh=(0,x.useRef)(null),[eg,ev]=(0,x.useState)(null),[ew,ex]=(0,x.useState)(null),eR=P(W,Object.values(W)),eO=X("DndDescribedBy",M),ek=(0,x.useMemo)(()=>ei.getEnabled(),[ei]),eL=(0,x.useMemo)(()=>({draggable:{...e1.draggable,...null==Y?void 0:Y.draggable},droppable:{...e1.droppable,...null==Y?void 0:Y.droppable},dragOverlay:{...e1.dragOverlay,...null==Y?void 0:Y.dragOverlay}}),[null==Y?void 0:Y.draggable,null==Y?void 0:Y.droppable,null==Y?void 0:Y.dragOverlay]),{droppableRects:eN,measureDroppableContainers:eI,measuringScheduled:eA}=function(e,t){let{dragging:n,dependencies:r,config:l}=t,[i,a]=(0,x.useState)(null),{frequency:o,measure:u,strategy:s}=l,c=(0,x.useRef)(e),d=function(){switch(s){case m.Always:return!1;case m.BeforeDragging:return n;default:return!n}}(),f=P(d),h=(0,x.useCallback)(function(e){void 0===e&&(e=[]),f.current||a(t=>null===t?e:t.concat(e.filter(e=>!t.includes(e))))},[f]),g=(0,x.useRef)(null),p=B(t=>{if(d&&!n)return eK;if(!t||t===eK||c.current!==e||null!=i){let t=new Map;for(let n of e){if(!n)continue;if(i&&i.length>0&&!i.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}let e=n.node.current,r=e?new eT(u(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,i,n,d,u]);return(0,x.useEffect)(()=>{c.current=e},[e]),(0,x.useEffect)(()=>{d||h()},[n,d]),(0,x.useEffect)(()=>{i&&i.length>0&&a(null)},[JSON.stringify(i)]),(0,x.useEffect)(()=>{d||"number"!=typeof o||null!==g.current||(g.current=setTimeout(()=>{h(),g.current=null},o))},[o,d,h,...r]),{droppableRects:p,measureDroppableContainers:h,measuringScheduled:null!=i}}(ek,{dragging:$,dependencies:[el.x,el.y],config:eL.droppable}),eP=B(e=>{var t;return null==ee?null:null!=(t=null!=p?p:e)?t:null},[p=(g=null!=ee?en.get(ee):void 0)?g.node.current:null,ee]),eB=(0,x.useMemo)(()=>ew?H(ew):null,[ew]),ez=(s=(null==eg?void 0:eg.autoScrollEnabled)===!1,c="object"==typeof k?!1===k.enabled:!1===k,h=$&&!s&&!c,"object"==typeof k?{...k,enabled:h}:{enabled:h}),eF=eW(eP,eL.draggable.measure);!function(e){let{activeNode:t,measure:n,initialRect:r,config:l=!0}=e,i=(0,x.useRef)(!1),{x:a,y:o}="boolean"==typeof l?{x:l,y:l}:l;N(()=>{if(!a&&!o||!t){i.current=!1;return}if(i.current||!r)return;let e=null==t?void 0:t.node.current;if(!e||!1===e.isConnected)return;let l=ed(n(e),r);if(a||(l.x=0),o||(l.y=0),i.current=!0,Math.abs(l.x)>0||Math.abs(l.y)>0){let t=em(e);t&&t.scrollBy({top:l.y,left:l.x})}},[t,a,o,r,n])}({activeNode:null!=ee?en.get(ee):null,config:ez.layoutShiftCompensation,initialRect:eF,measure:eL.draggable.measure});let eU=eJ(eP,eL.draggable.measure,eF),eX=eJ(eP?eP.parentElement:null),eY=(0,x.useRef)({activatorEvent:null,active:null,activeNode:eP,collisionRect:null,collisions:null,droppableRects:eN,draggableNodes:en,draggingNode:null,draggingNodeRect:null,droppableContainers:ei,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),eV=ei.getNodeFor(null==(t=eY.current.over)?void 0:t.id),e2=function(e){let{measure:t}=e,[n,r]=(0,x.useState)(null),l=eH({callback:(0,x.useCallback)(e=>{for(let{target:n}of e)if(T(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[i,a]=z((0,x.useCallback)(e=>{let n=eZ(e);null==l||l.disconnect(),n&&(null==l||l.observe(n)),r(n?t(n):null)},[t,l]));return(0,x.useMemo)(()=>({nodeRef:i,rect:n,setRef:a}),[n,i,a])}({measure:eL.dragOverlay.measure}),e5=null!=(n=e2.nodeRef.current)?n:eP,e6=$?null!=(r=e2.rect)?r:eU:null,tn=!!(e2.nodeRef.current&&e2.rect),tr=(y=eW(i=tn?null:eU),ed(i,y)),tl=eG(e5?R(e5):null),ti=(a=$?null!=eV?eV:eP:null,E=(0,x.useRef)(a),S=B(e=>a?e&&e!==eq&&a&&E.current&&a.parentNode===E.current.parentNode?e:eb(a):eq,[a]),(0,x.useEffect)(()=>{E.current=a},[a]),S),ta=function(e,t){void 0===t&&(t=ep);let[n]=e,r=eG(n?R(n):null),[l,i]=(0,x.useState)(eQ);function a(){i(()=>e.length?e.map(e=>eE(e)?r:new eT(t(e),e)):eQ)}let o=eH({callback:a});return N(()=>{null==o||o.disconnect(),a(),e.forEach(e=>null==o?void 0:o.observe(e))},[e]),l}(ti),to=te(K,{transform:{x:el.x-tr.x,y:el.y-tr.y,scaleX:1,scaleY:1},activatorEvent:ew,active:es,activeNodeRect:eU,containerNodeRect:eX,draggingNodeRect:e6,over:eY.current.over,overlayNodeRect:e2.rect,scrollableAncestors:ti,scrollableAncestorRects:ta,windowRect:tl}),tu=eB?j(eB,el):null,ts=function(e){let[t,n]=(0,x.useState)(null),r=(0,x.useRef)(e),l=(0,x.useCallback)(e=>{let t=ey(e.target);t&&n(e=>e?(e.set(t,eD(t)),new Map(e)):null)},[]);return(0,x.useEffect)(()=>{let t=r.current;if(e!==t){i(t);let a=e.map(e=>{let t=ey(e);return t?(t.addEventListener("scroll",l,{passive:!0}),[t,eD(t)]):null}).filter(e=>null!=e);n(a.length?new Map(a):null),r.current=e}return()=>{i(e),i(t)};function i(e){e.forEach(e=>{let t=ey(e);null==t||t.removeEventListener("scroll",l)})}},[l,e]),(0,x.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>j(e,t),er):eM(e):er,[e,t])}(ti),tc=e_(ts),td=e_(ts,[eU]),tf=j(to,tc),th=e6?ef(e6,to):null,tg=es&&th?U({active:es,collisionRect:th,droppableRects:eN,droppableContainers:ek,pointerCoordinates:tu}):null,tp=eu(tg,"id"),[tv,tb]=(0,x.useState)(null),tm=(o=tn?to:j(to,td),u=null!=(l=null==tv?void 0:tv.rect)?l:null,{...o,scaleX:u&&eU?u.width/eU.width:1,scaleY:u&&eU?u.height/eU.height:1}),ty=(0,x.useRef)(null),tw=(0,x.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(null==eh.current)return;let l=en.get(eh.current);if(!l)return;let i=e.nativeEvent,a=new n({active:eh.current,activeNode:l,event:i,options:r,context:eY,onAbort(e){if(!en.get(e))return;let{onDragAbort:t}=eR.current,n={id:e};null==t||t(n),q({type:"onDragAbort",event:n})},onPending(e,t,n,r){if(!en.get(e))return;let{onDragPending:l}=eR.current,i={id:e,constraint:t,initialCoordinates:n,offset:r};null==l||l(i),q({type:"onDragPending",event:i})},onStart(e){let t=eh.current;if(null==t)return;let n=en.get(t);if(!n)return;let{onDragStart:r}=eR.current,l={activatorEvent:i,active:{id:t,data:n.data,rect:eo}};(0,D.unstable_batchedUpdates)(()=>{null==r||r(l),Q(w.Initializing),J({type:d.DragStart,initialCoordinates:e,active:t}),q({type:"onDragStart",event:l}),ev(ty.current),ex(i)})},onMove(e){J({type:d.DragMove,coordinates:e})},onEnd:o(d.DragEnd),onCancel:o(d.DragCancel)});function o(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:l}=eY.current,a=null;if(t&&l){let{cancelDrop:o}=eR.current;a={activatorEvent:i,active:t,collisions:n,delta:l,over:r},e===d.DragEnd&&"function"==typeof o&&await Promise.resolve(o(a))&&(e=d.DragCancel)}eh.current=null,(0,D.unstable_batchedUpdates)(()=>{J({type:e}),Q(w.Uninitialized),tb(null),ev(null),ex(null),ty.current=null;let t=e===d.DragEnd?"onDragEnd":"onDragCancel";if(a){let e=eR.current[t];null==e||e(a),q({type:t,event:a})}})}}ty.current=a},[en]),tx=(0,x.useCallback)((e,t)=>(n,r)=>{let l=n.nativeEvent,i=en.get(r);null!==eh.current||!i||l.dndKit||l.defaultPrevented||!0===e(n,t.options,{active:i})&&(l.dndKit={capturedBy:t.sensor},eh.current=r,tw(n,t))},[en,tw]),tD=(0,x.useMemo)(()=>I.reduce((e,t)=>{let{sensor:n}=t;return[...e,...n.activators.map(e=>({eventName:e.eventName,handler:tx(e.handler,t)}))]},[]),[I,tx]);(0,x.useEffect)(()=>{if(!C)return;let e=I.map(e=>{let{sensor:t}=e;return null==t.setup?void 0:t.setup()});return()=>{for(let t of e)null==t||t()}},I.map(e=>{let{sensor:t}=e;return t})),N(()=>{eU&&G===w.Initializing&&Q(w.Initialized)},[eU,G]),(0,x.useEffect)(()=>{let{onDragMove:e}=eR.current,{active:t,activatorEvent:n,collisions:r,over:l}=eY.current;if(!t||!n)return;let i={active:t,activatorEvent:n,collisions:r,delta:{x:tf.x,y:tf.y},over:l};(0,D.unstable_batchedUpdates)(()=>{null==e||e(i),q({type:"onDragMove",event:i})})},[tf.x,tf.y]),(0,x.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:l}=eY.current;if(!e||null==eh.current||!t||!l)return;let{onDragOver:i}=eR.current,a=r.get(tp),o=a&&a.rect.current?{id:a.id,rect:a.rect.current,data:a.data,disabled:a.disabled}:null,u={active:e,activatorEvent:t,collisions:n,delta:{x:l.x,y:l.y},over:o};(0,D.unstable_batchedUpdates)(()=>{tb(o),null==i||i(u),q({type:"onDragOver",event:u})})},[tp]),N(()=>{eY.current={activatorEvent:ew,active:es,activeNode:eP,collisionRect:th,collisions:tg,droppableRects:eN,draggableNodes:en,draggingNode:e5,draggingNodeRect:e6,droppableContainers:ei,over:tv,scrollableAncestors:ti,scrollAdjustedTranslate:tf},eo.current={initial:e6,translated:th}},[es,eP,tg,th,en,e5,e6,eN,ei,tv,ti,tf]),function(e){let{acceleration:t,activator:n=v.Pointer,canScroll:r,draggingRect:l,enabled:i,interval:a=5,order:o=b.TreeOrder,pointerCoordinates:u,scrollableAncestors:s,scrollableAncestorRects:c,delta:d,threshold:h}=e,g=function(e){let{delta:t,disabled:n}=e,r=F(t);return B(e=>{if(n||!r||!e)return ej;let l={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[f.Backward]:e.x[f.Backward]||-1===l.x,[f.Forward]:e.x[f.Forward]||1===l.x},y:{[f.Backward]:e.y[f.Backward]||-1===l.y,[f.Forward]:e.y[f.Forward]||1===l.y}}},[n,t,r])}({delta:d,disabled:!i}),[p,m]=A(),y=(0,x.useRef)({x:0,y:0}),w=(0,x.useRef)({x:0,y:0}),D=(0,x.useMemo)(()=>{switch(n){case v.Pointer:return u?{top:u.y,bottom:u.y,left:u.x,right:u.x}:null;case v.DraggableRect:return l}},[n,l,u]),E=(0,x.useRef)(null),C=(0,x.useCallback)(()=>{let e=E.current;if(!e)return;let t=y.current.x*w.current.x,n=y.current.y*w.current.y;e.scrollBy(t,n)},[]),S=(0,x.useMemo)(()=>o===b.TreeOrder?[...s].reverse():s,[o,s]);(0,x.useEffect)(()=>{if(!i||!s.length||!D)return void m();for(let e of S){if((null==r?void 0:r(e))===!1)continue;let n=c[s.indexOf(e)];if(!n)continue;let{direction:l,speed:i}=function(e,t,n,r,l){let{top:i,left:a,right:o,bottom:u}=n;void 0===r&&(r=10),void 0===l&&(l=eS);let{isTop:s,isBottom:c,isLeft:d,isRight:h}=eC(e),g={x:0,y:0},p={x:0,y:0},v={height:t.height*l.y,width:t.width*l.x};return!s&&i<=t.top+v.height?(g.y=f.Backward,p.y=r*Math.abs((t.top+v.height-i)/v.height)):!c&&u>=t.bottom-v.height&&(g.y=f.Forward,p.y=r*Math.abs((t.bottom-v.height-u)/v.height)),!h&&o>=t.right-v.width?(g.x=f.Forward,p.x=r*Math.abs((t.right-v.width-o)/v.width)):!d&&a<=t.left+v.width&&(g.x=f.Backward,p.x=r*Math.abs((t.left+v.width-a)/v.width)),{direction:g,speed:p}}(e,n,D,t,h);for(let e of["x","y"])g[e][l[e]]||(i[e]=0,l[e]=0);if(i.x>0||i.y>0){m(),E.current=e,p(C,a),y.current=i,w.current=l;return}}y.current={x:0,y:0},w.current={x:0,y:0},m()},[t,C,r,m,i,a,JSON.stringify(D),JSON.stringify(g),p,s,S,c,JSON.stringify(h)])}({...ez,delta:el,draggingRect:th,pointerCoordinates:tu,scrollableAncestors:ti,scrollableAncestorRects:ta});let tE=(0,x.useMemo)(()=>({active:es,activeNode:eP,activeNodeRect:eU,activatorEvent:ew,collisions:tg,containerNodeRect:eX,dragOverlay:e2,draggableNodes:en,droppableContainers:ei,droppableRects:eN,over:tv,measureDroppableContainers:eI,scrollableAncestors:ti,scrollableAncestorRects:ta,measuringConfiguration:eL,measuringScheduled:eA,windowRect:tl}),[es,eP,eU,ew,tg,eX,e2,en,ei,eN,tv,eI,ti,ta,eL,eA,tl]),tC=(0,x.useMemo)(()=>({activatorEvent:ew,activators:tD,active:es,activeNodeRect:eU,ariaDescribedById:{draggable:eO},dispatch:J,draggableNodes:en,over:tv,measureDroppableContainers:eI}),[ew,tD,es,eU,J,eO,en,tv,eI]);return x.default.createElement(Z.Provider,{value:_},x.default.createElement(e3.Provider,{value:tC},x.default.createElement(e8.Provider,{value:tE},x.default.createElement(tt.Provider,{value:tm},L)),x.default.createElement(e7,{disabled:(null==O?void 0:O.restoreFocus)===!1})),x.default.createElement(et,{...O,hiddenTextDescribedById:eO}))}),tr=(0,x.createContext)(null),tl="button";function ti(e){let{id:t,data:n,disabled:r=!1,attributes:l}=e,i=X("Draggable"),{activators:a,activatorEvent:o,active:u,activeNodeRect:s,ariaDescribedById:c,draggableNodes:d,over:f}=(0,x.useContext)(e3),{role:h=tl,roleDescription:g="draggable",tabIndex:p=0}=null!=l?l:{},v=(null==u?void 0:u.id)===t,b=(0,x.useContext)(v?tt:tr),[m,y]=z(),[w,D]=z(),E=(0,x.useMemo)(()=>a.reduce((e,n)=>{let{eventName:r,handler:l}=n;return e[r]=e=>{l(e,t)},e},{}),[a,t]),C=P(n);return N(()=>(d.set(t,{id:t,key:i,node:m,activatorNode:w,data:C}),()=>{let e=d.get(t);e&&e.key===i&&d.delete(t)}),[d,t]),{active:u,activatorEvent:o,activeNodeRect:s,attributes:(0,x.useMemo)(()=>({role:h,tabIndex:p,"aria-disabled":r,"aria-pressed":!!v&&h===tl||void 0,"aria-roledescription":g,"aria-describedby":c.draggable}),[r,h,p,v,g,c.draggable]),isDragging:v,listeners:r?void 0:E,node:m,over:f,setNodeRef:y,setActivatorNodeRef:D,transform:b}}function ta(){return(0,x.useContext)(e8)}let to={timeout:25};function tu(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:l}=e,i=X("Droppable"),{active:a,dispatch:o,over:u,measureDroppableContainers:s}=(0,x.useContext)(e3),c=(0,x.useRef)({disabled:n}),f=(0,x.useRef)(!1),h=(0,x.useRef)(null),g=(0,x.useRef)(null),{disabled:p,updateMeasurementsFor:v,timeout:b}={...to,...l},m=P(null!=v?v:r),y=eH({callback:(0,x.useCallback)(()=>{if(!f.current){f.current=!0;return}null!=g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{s(Array.isArray(m.current)?m.current:[m.current]),g.current=null},b)},[b]),disabled:p||!a}),[w,D]=z((0,x.useCallback)((e,t)=>{y&&(t&&(y.unobserve(t),f.current=!1),e&&y.observe(e))},[y])),E=P(t);return(0,x.useEffect)(()=>{y&&w.current&&(y.disconnect(),f.current=!1,y.observe(w.current))},[w,y]),(0,x.useEffect)(()=>(o({type:d.RegisterDroppable,element:{id:r,key:i,disabled:n,node:w,rect:h,data:E}}),()=>o({type:d.UnregisterDroppable,key:i,id:r})),[r]),(0,x.useEffect)(()=>{n!==c.current.disabled&&(o({type:d.SetDroppableDisabled,id:r,key:i,disabled:n}),c.current.disabled=n)},[r,i,n,o]),{active:a,rect:h,isOver:(null==u?void 0:u.id)===r,node:w,over:u,setNodeRef:D}}function ts(e){let{animation:t,children:n}=e,[r,l]=(0,x.useState)(null),[i,a]=(0,x.useState)(null),o=F(n);return n||r||!o||l(o),N(()=>{if(!i)return;let e=null==r?void 0:r.key,n=null==r?void 0:r.props.id;null==e||null==n?l(null):Promise.resolve(t(n,i)).then(()=>{l(null)})},[t,r,i]),x.default.createElement(x.default.Fragment,null,n,r?(0,x.cloneElement)(r,{ref:a}):null)}let tc={x:0,y:0,scaleX:1,scaleY:1};function td(e){let{children:t}=e;return x.default.createElement(e3.Provider,{value:e6},x.default.createElement(tt.Provider,{value:tc},t))}let tf={position:"fixed",touchAction:"none"},th=e=>W(e)?"transform 250ms ease":void 0,tg=(0,x.forwardRef)((e,t)=>{let{as:n,activatorEvent:r,adjustScale:l,children:i,className:a,rect:o,style:u,transform:s,transition:c=th}=e;if(!o)return null;let d=l?s:{...s,scaleX:1,scaleY:1},f={...tf,width:o.width,height:o.height,top:o.top,left:o.left,transform:V.Transform.toString(d),transformOrigin:l&&r?function(e,t){let n=H(e);if(!n)return"0 0";let r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}(r,o):void 0,transition:"function"==typeof c?c(r):c,...u};return x.default.createElement(n,{className:a,style:f,ref:t},i)}),tp={duration:250,easing:"ease",keyframes:e=>{let{transform:{initial:t,final:n}}=e;return[{transform:V.Transform.toString(t)},{transform:V.Transform.toString(n)}]},sideEffects:(t={styles:{active:{opacity:"0"}}},e=>{let{active:n,dragOverlay:r}=e,l={},{styles:i,className:a}=t;if(null!=i&&i.active)for(let[e,t]of Object.entries(i.active))void 0!==t&&(l[e]=n.node.style.getPropertyValue(e),n.node.style.setProperty(e,t));if(null!=i&&i.dragOverlay)for(let[e,t]of Object.entries(i.dragOverlay))void 0!==t&&r.node.style.setProperty(e,t);return null!=a&&a.active&&n.node.classList.add(a.active),null!=a&&a.dragOverlay&&r.node.classList.add(a.dragOverlay),function(){for(let[e,t]of Object.entries(l))n.node.style.setProperty(e,t);null!=a&&a.active&&n.node.classList.remove(a.active)}})},tv=0,tb=x.default.memo(e=>{var t;let{adjustScale:n=!1,children:r,dropAnimation:l,style:i,transition:a,modifiers:o,wrapperElement:u="div",className:s,zIndex:c=999}=e,{activatorEvent:d,active:f,activeNodeRect:h,containerNodeRect:g,draggableNodes:p,droppableContainers:v,dragOverlay:b,over:m,measuringConfiguration:y,scrollableAncestors:w,scrollableAncestorRects:D,windowRect:E}=ta(),C=(0,x.useContext)(tt),S=(t=null==f?void 0:f.id,(0,x.useMemo)(()=>{if(null!=t)return++tv},[t])),M=te(o,{activatorEvent:d,active:f,activeNodeRect:h,containerNodeRect:g,draggingNodeRect:b.rect,over:m,overlayNodeRect:b.rect,scrollableAncestors:w,scrollableAncestorRects:D,transform:C,windowRect:E}),O=eW(h),T=function(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:l}=e;return I((e,i)=>{if(null===t)return;let a=n.get(e);if(!a)return;let o=a.node.current;if(!o)return;let u=eZ(i);if(!u)return;let{transform:s}=R(i).getComputedStyle(i),c=eh(s);if(!c)return;let d="function"==typeof t?t:function(e){let{duration:t,easing:n,sideEffects:r,keyframes:l}={...tp,...e};return e=>{let{active:i,dragOverlay:a,transform:o,...u}=e;if(!t)return;let s={x:a.rect.left-i.rect.left,y:a.rect.top-i.rect.top},c={scaleX:1!==o.scaleX?i.rect.width*o.scaleX/a.rect.width:1,scaleY:1!==o.scaleY?i.rect.height*o.scaleY/a.rect.height:1},d={x:o.x-s.x,y:o.y-s.y,...c},f=l({...u,active:i,dragOverlay:a,transform:{initial:o,final:d}}),[h]=f,g=f[f.length-1];if(JSON.stringify(h)===JSON.stringify(g))return;let p=null==r?void 0:r({active:i,dragOverlay:a,...u}),v=a.node.animate(f,{duration:t,easing:n,fill:"forwards"});return new Promise(e=>{v.onfinish=()=>{null==p||p(),e()}})}}(t);return eR(o,l.draggable.measure),d({active:{id:e,data:a.data,node:o,rect:l.draggable.measure(o)},draggableNodes:n,dragOverlay:{node:i,rect:l.dragOverlay.measure(u)},droppableContainers:r,measuringConfiguration:l,transform:c})})}({config:l,draggableNodes:p,droppableContainers:v,measuringConfiguration:y}),k=O?b.setRef:void 0;return x.default.createElement(td,null,x.default.createElement(ts,{animation:T},f&&S?x.default.createElement(tg,{key:S,id:f.id,ref:k,as:u,activatorEvent:d,adjustScale:n,className:s,transition:a,rect:O,style:{zIndex:c,...i},transform:M},r):null))});function tm(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function ty(e){return null!==e&&e>=0}e.s(["DndContext",0,tn,"DragOverlay",0,tb,"KeyboardCode",0,g,"PointerSensor",0,eY,"closestCenter",0,e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,l=es(t,t.left,t.top),i=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=el(es(r),l);i.push({id:t,data:{droppableContainer:e,value:n}})}}return i.sort(ei)},"closestCorners",0,e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,l=eo(t),i=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=eo(r),a=Number((l.reduce((e,t,r)=>e+el(n[r],t),0)/4).toFixed(4));i.push({id:t,data:{droppableContainer:e,value:a}})}}return i.sort(ei)},"getClientRect",0,ep,"getFirstCollision",0,eu,"getScrollableAncestors",0,eb,"useDndContext",0,ta,"useDraggable",0,ti,"useDroppable",0,tu,"useSensor",0,function(e,t){return(0,x.useMemo)(()=>({sensor:e,options:null!=t?t:{}}),[e,t])},"useSensors",0,function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,x.useMemo)(()=>[...t].filter(e=>null!=e),[...t])}],852665);let tw=e=>{let{rects:t,activeIndex:n,overIndex:r,index:l}=e,i=tm(t,r,n),a=t[l],o=i[l];return o&&a?{x:o.left-a.left,y:o.top-a.top,scaleX:o.width/a.width,scaleY:o.height/a.height}:null},tx={scaleX:1,scaleY:1},tD="Sortable",tE=x.default.createContext({activeIndex:-1,containerId:tD,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:tw,disabled:{draggable:!1,droppable:!1}}),tC=e=>{let{id:t,items:n,activeIndex:r,overIndex:l}=e;return tm(n,r,l).indexOf(t)},tS=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:l,items:i,newIndex:a,previousItems:o,previousContainerId:u,transition:s}=e;return!!s&&!!r&&(o===i||l!==a)&&(!!n||a!==l&&t===u)},tM={duration:200,easing:"ease"},tR="transform",tO=V.Transition.toString({property:tR,duration:0,easing:"linear"}),tT={roleDescription:"sortable"};g.Down,g.Right,g.Up,g.Left,e.s(["SortableContext",0,function(e){let{children:t,id:n,items:r,strategy:l=tw,disabled:i=!1}=e,{active:a,dragOverlay:o,droppableRects:u,over:s,measureDroppableContainers:c}=ta(),d=X(tD,n),f=null!==o.rect,h=(0,x.useMemo)(()=>r.map(e=>"object"==typeof e&&"id"in e?e.id:e),[r]),g=null!=a,p=a?h.indexOf(a.id):-1,v=s?h.indexOf(s.id):-1,b=(0,x.useRef)(h),m=!function(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}(h,b.current),y=-1!==v&&-1===p||m,w="boolean"==typeof i?{draggable:i,droppable:i}:i;N(()=>{m&&g&&c(h)},[m,h,g,c]),(0,x.useEffect)(()=>{b.current=h},[h]);let D=(0,x.useMemo)(()=>({activeIndex:p,containerId:d,disabled:w,disableTransforms:y,items:h,overIndex:v,useDragOverlay:f,sortedRects:h.reduce((e,t,n)=>{let r=u.get(t);return r&&(e[n]=r),e},Array(h.length)),strategy:l}),[p,d,w.draggable,w.droppable,y,h,v,u,f,l]);return x.default.createElement(tE.Provider,{value:D},t)},"arrayMove",0,tm,"rectSortingStrategy",0,tw,"useSortable",0,function(e){var t,n,r,l;let{animateLayoutChanges:i=tS,attributes:a,disabled:o,data:u,getNewIndex:s=tC,id:c,strategy:d,resizeObserverConfig:f,transition:h=tM}=e,{items:g,containerId:p,activeIndex:v,disabled:b,disableTransforms:m,sortedRects:y,overIndex:w,useDragOverlay:D,strategy:C}=(0,x.useContext)(tE),S=(t=o,n=b,"boolean"==typeof t?{draggable:t,droppable:!1}:{draggable:null!=(r=null==t?void 0:t.draggable)?r:n.draggable,droppable:null!=(l=null==t?void 0:t.droppable)?l:n.droppable}),M=g.indexOf(c),R=(0,x.useMemo)(()=>({sortable:{containerId:p,index:M,items:g},...u}),[p,u,M,g]),O=(0,x.useMemo)(()=>g.slice(g.indexOf(c)),[g,c]),{rect:T,node:k,isOver:L,setNodeRef:I}=tu({id:c,data:R,disabled:S.droppable,resizeObserverConfig:{updateMeasurementsFor:O,...f}}),{active:A,activatorEvent:P,activeNodeRect:B,attributes:z,setNodeRef:F,listeners:U,isDragging:X,over:Y,setActivatorNodeRef:j,transform:K}=ti({id:c,data:R,attributes:{...tT,...a},disabled:S.draggable}),H=E(I,F),J=!!A,q=J&&!m&&ty(v)&&ty(w),_=!D&&X,G=_&&q?K:null,Q=q?null!=G?G:(null!=d?d:C)({rects:y,activeNodeRect:B,activeIndex:v,overIndex:w,index:M}):null,Z=ty(v)&&ty(w)?s({id:c,items:g,activeIndex:v,overIndex:w}):M,$=null==A?void 0:A.id,ee=(0,x.useRef)({activeId:$,items:g,newIndex:Z,containerId:p}),et=g!==ee.current.items,en=i({active:A,containerId:p,isDragging:X,isSorting:J,id:c,index:M,items:g,newIndex:ee.current.newIndex,previousItems:ee.current.items,previousContainerId:ee.current.containerId,transition:h,wasDragging:null!=ee.current.activeId}),er=function(e){let{disabled:t,index:n,node:r,rect:l}=e,[i,a]=(0,x.useState)(null),o=(0,x.useRef)(n);return N(()=>{if(!t&&n!==o.current&&r.current){let e=l.current;if(e){let t=ep(r.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&a(n)}}n!==o.current&&(o.current=n)},[t,n,r,l]),(0,x.useEffect)(()=>{i&&a(null)},[i]),i}({disabled:!en,index:M,node:k,rect:T});return(0,x.useEffect)(()=>{J&&ee.current.newIndex!==Z&&(ee.current.newIndex=Z),p!==ee.current.containerId&&(ee.current.containerId=p),g!==ee.current.items&&(ee.current.items=g)},[J,Z,p,g]),(0,x.useEffect)(()=>{if($===ee.current.activeId)return;if(null!=$&&null==ee.current.activeId){ee.current.activeId=$;return}let e=setTimeout(()=>{ee.current.activeId=$},50);return()=>clearTimeout(e)},[$]),{active:A,activeIndex:v,attributes:z,data:R,rect:T,index:M,newIndex:Z,items:g,isOver:L,isSorting:J,isDragging:X,listeners:U,node:k,overIndex:w,over:Y,setNodeRef:H,setActivatorNodeRef:j,setDroppableNodeRef:I,setDraggableNodeRef:F,transform:null!=er?er:Q,transition:er||et&&ee.current.newIndex===M?tO:(!_||W(P))&&h&&(J||en)?V.Transition.toString({...h,property:tR}):void 0}},"verticalListSortingStrategy",0,e=>{var t,n,r,l;let i,a,o,{activeIndex:u,activeNodeRect:s,index:c,rects:d,overIndex:f}=e,h=null!=(t=d[u])?t:s;if(!h)return null;if(c===u){let e=d[f];return e?{x:0,y:u<f?e.top+e.height-(h.top+h.height):e.top-h.top,...tx}:null}let g=(n=d,r=c,l=u,i=n[r],a=n[r-1],o=n[r+1],i?l<r?a?i.top-(a.top+a.height):o?o.top-(i.top+i.height):0:o?o.top-(i.top+i.height):a?i.top-(a.top+a.height):0:0);return c>u&&c<=f?{x:0,y:-h.height-g,...tx}:c<u&&c>=f?{x:0,y:h.height+g,...tx}:{x:0,y:0,...tx}}],883759)}]);
|