tower-studio 0.2.45 → 0.2.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +1 -0
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/routes-manifest.json +8 -0
- package/.next/standalone/.next/server/app/_global-error/page.js +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +149 -89
- package/.next/standalone/.next/server/app/_not-found/page.js +8 -8
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/adapters/test/route.js +2 -2
- package/.next/standalone/.next/server/app/api/adapters/test/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/browse-fs/route.js +1 -1
- package/.next/standalone/.next/server/app/api/browse-fs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/files/assets/[projectId]/[filename]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/git/route.js +1 -1
- package/.next/standalone/.next/server/app/api/git/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assets/[projectId]/[filename]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assets/reveal/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js +2 -4
- package/.next/standalone/.next/server/app/api/internal/assistant/attachments/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js +2 -2
- package/.next/standalone/.next/server/app/api/internal/assistant/chat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assistant/route.js +5 -4
- package/.next/standalone/.next/server/app/api/internal/assistant/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/assistant/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/backup/import/route.js +3 -5
- package/.next/standalone/.next/server/app/api/internal/backup/import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/cache/[...segments]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/harness/ask/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/harness/notify/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/harness/pending/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/harness/reply/route.js +4 -4
- package/.next/standalone/.next/server/app/api/internal/harness/reply/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/hooks/install/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/hooks/session/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/hooks/stop/route.js +1 -1
- package/.next/standalone/.next/server/app/api/internal/hooks/stop/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/hooks/upload/route.js +1 -1
- package/.next/standalone/.next/server/app/api/internal/hooks/upload/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/monaco/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js +1 -1
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/buffer/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/input/route.js +1 -1
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/input/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/paste-image/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/resume/route.js +4 -4
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/resume/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js +4 -4
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/start/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/stop/route.js +4 -4
- package/.next/standalone/.next/server/app/api/internal/terminal/[taskId]/stop/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff-patch/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[taskId]/diff-patch/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js +5 -3
- package/.next/standalone/.next/server/app/api/tasks/[taskId]/merge/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/harness/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/harness/page/server-reference-manifest.json +172 -112
- package/.next/standalone/.next/server/app/harness/page.js +8 -8
- package/.next/standalone/.next/server/app/harness/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/harness/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/missions/page/react-loadable-manifest.json +3 -2
- package/.next/standalone/.next/server/app/missions/page/server-reference-manifest.json +254 -158
- package/.next/standalone/.next/server/app/missions/page.js +10 -9
- package/.next/standalone/.next/server/app/missions/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/missions/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/onboarding/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/onboarding/page/server-reference-manifest.json +149 -89
- package/.next/standalone/.next/server/app/onboarding/page.js +8 -8
- package/.next/standalone/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +149 -89
- package/.next/standalone/.next/server/app/page.js +8 -8
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +245 -149
- package/.next/standalone/.next/server/app/settings/page.js +10 -11
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +286 -238
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js +9 -9
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +251 -203
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js +9 -9
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page/build-manifest.json +18 -0
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page/react-loadable-manifest.json +18 -0
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page/server-reference-manifest.json +413 -0
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page.js +25 -0
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/groups/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +228 -180
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js +9 -9
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +266 -218
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js +10 -11
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +149 -89
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js +9 -9
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page/server-reference-manifest.json +226 -178
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js +9 -9
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/versions/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +4 -4
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +293 -233
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js +11 -12
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspaces/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/workspaces/page/server-reference-manifest.json +177 -129
- package/.next/standalone/.next/server/app/workspaces/page.js +8 -8
- package/.next/standalone/.next/server/app/workspaces/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +1 -0
- package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_09ikw5j.js +5 -0
- package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0eh8dj_.js +9 -5
- package/.next/standalone/.next/server/chunks/0se9_next_dist_esm_build_templates_app-route_0gr2wxq.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-1~xqo._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.3n3t.._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.wsvr6._.js +4 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0y3adwk._.js → [root-of-the-server]__0.yf1mx._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0o6i1wy._.js → [root-of-the-server]__00xe-t8._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0vh3112._.js → [root-of-the-server]__02yvm55._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__09arklv._.js → [root-of-the-server]__04-ty51._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0v98a~t._.js → [root-of-the-server]__065hi6e._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0k9rz_z._.js → [root-of-the-server]__06iuq17._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__06x1zwj._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__06~wmlx._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__092475e._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0atap--._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0c3je91._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0dz.knv._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ehwsa1._.js +4 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0esywxf._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0fd9z.r._.js +30 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0gcg7i.._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0iyp~.k._.js +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__07xsu6m._.js → [root-of-the-server]__0j7565a._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kkrbn-._.js +4 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0m8t3vi._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0nv83.p._.js +4 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0squ613._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0u8tl88._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wugb-9._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0yeg1kp._.js +4 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0zchqv1._.js +43 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0_~s0z4._.js → [root-of-the-server]__0zcy11y._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~1-i5h._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0~ju4-d._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__10qclz-._.js +3 -0
- package/.next/standalone/.next/server/chunks/_02hac5p._.js +25 -2
- package/.next/standalone/.next/server/chunks/_0_w835g._.js +4 -0
- package/.next/standalone/.next/server/chunks/_0je3dz2._.js +25 -2
- package/.next/standalone/.next/server/chunks/_0tidm8l._.js +25 -2
- package/.next/standalone/.next/server/chunks/_0zok2an._.js +25 -2
- package/.next/standalone/.next/server/chunks/src_05balzk._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_0aygchu._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_0gif-f5._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_0pg9w-x._.js +3 -0
- package/.next/standalone/.next/server/chunks/src_0vp6.co._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_11k6i~l._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_actions_agent-actions_ts_10q9r5b._.js +3 -3
- package/.next/standalone/.next/server/chunks/src_lib_0d~1~wz._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_0ylel_1._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_ai_0xx6y51._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_ai_providers_index_ts_0.y.3vp._.js +1 -1
- package/.next/standalone/.next/server/chunks/src_lib_config-defaults_ts_10ayktg._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/0iu._[workspaceId]_projects_[projectId]_versions_version-timeline-client_tsx_07o_kyi._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/0se9_next_dist_0i5qmqd._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/0se9_next_dist_esm_build_templates_app-page_04~dhws.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/{0ws9_lucide-react_dist_esm_icons_0r~ty--._.js → 0ws9_lucide-react_dist_esm_icons_0gv_cwy._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__00qdvw7._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01bz3_g._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__051tpij._.js → [root-of-the-server]__0282989._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0dfqa5a._.js → [root-of-the-server]__03jikql._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0ixgha6._.js → [root-of-the-server]__04dod9d._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__05tx27l._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0fl0l82._.js → [root-of-the-server]__07ha-7q._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__07~giyb._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0872sqe._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__090y_.y._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__096w7g2._.js → [root-of-the-server]__09qoc8v._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0b.ej5q._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0dmjt7o._.js → [root-of-the-server]__0bl842b._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0lau3k_._.js → [root-of-the-server]__0c81jqz._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0dh0alq._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e79g0v._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0t_zq~v._.js → [root-of-the-server]__0fy8mj6._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0g2wrd2._.js → [root-of-the-server]__0gsk~9d._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h4ltpn._.js +5 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0hx2p17._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0iaw1ms._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ie8~g5._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0~s8otw._.js → [root-of-the-server]__0j1w7ro._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0i0k_zi._.js → [root-of-the-server]__0jxfeb6._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0jymb~t._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0l0~scn._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0tb.1li._.js → [root-of-the-server]__0mi.v4q._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0vi-5xg._.js → [root-of-the-server]__0nell0t._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0odoa97._.js +30 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0o9jkew._.js → [root-of-the-server]__0q8o5us._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0dv.-zu._.js → [root-of-the-server]__0qjjy1r._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0rg73f.._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0s~4y3y._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0s~ak20._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0t3q30a._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0tpho3f._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__08etd~v._.js → [root-of-the-server]__0tusyj0._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__06s-_gx._.js → [root-of-the-server]__0x6eyvj._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0xftcya._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0xiiocg._.js +30 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0xnuz05._.js +5 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0znl9us._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0zsnp~d._.js +5 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0~fdua7._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11fp64w._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1290yo~._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12s3kky._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0ydiu_y._.js → [root-of-the-server]__136sh9u._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0dye20y._.js → _0-wp_zu._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0-~9em3._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0.-.0zk._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0..h3hk._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_09rq08e._.js → _0111pr2._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_0~6pqk.._.js → _029yl-g._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_02mcoex._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_02p-udo._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_02t7f2_._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_04brhyt._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_08b3kyv._.js +43 -0
- package/.next/standalone/.next/server/chunks/ssr/_0a___34._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0ljrvyt._.js → _0b4v~ls._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0bdyusg._.js +6 -0
- package/.next/standalone/.next/server/chunks/ssr/_0c8-9m9._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0xnn~jq._.js → _0gcox_6._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_01fdzzv._.js → _0gte_c4._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0hyn4md._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_13_b8hh._.js → _0lqjtwo._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0noar.v._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0os43sb._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0rilhs1._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_078cdw~._.js → _0sbkase._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/{_08bq4g8._.js → _0t-0.1o._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0wbcp88._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0w~~xn0._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_12la163._.js → _0xexuoi._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0xu906p._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/_0z-z415._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0z5~opf._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0zx1ubq._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0~2k74h._.js +43 -0
- package/.next/standalone/.next/server/chunks/ssr/_0~rpgs_._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_10a_vqn._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0h0b46r._.js → _10or.ne._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_09z-55_._.js → _10q2mbe._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_11.knhq._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0ytcm0j._.js → _124j7aj._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_13yv8at._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_11j0qlp._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_actions_07_wts6._.js +47 -0
- package/.next/standalone/.next/server/chunks/ssr/src_actions_agent-actions_ts_0~wc.sy._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_actions_file-actions_ts_0gcvqwm._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_missions_missions-client_tsx_11429lj._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_onboarding_page_tsx_0xf7hpz._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_settings_page_tsx_0h9v7dr._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0wyzpam._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_board-page-client_tsx_0gips66._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_notes_notes-page-client_tsx_10gyo3v._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_02t7blt._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_components_0rowjw~._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_0bndp1~._.js → src_components_ui_popover_tsx_0a78wqo._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_03xtona._.js → src_lib_0-3zx.v._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/src_lib_00ial55._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_01-0ix1._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_01d~ml9._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_04y-65j._.js → src_lib_0278czx._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_lib_07o.0r6._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_09jpiip._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0bmg7ix._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0cb~2g1._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0fdsvpu._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0fyrfen._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_0-x.wbd._.js → src_lib_0gqe-g3._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0ixnmd0._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0lpxsj~._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0pgz5n6._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{src_lib_00p-ir2._.js → src_lib_0tq69ek._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0y5zzg-._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_pty_11~ojr2._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_lib_pty_orphan-reaper_ts_0a0qmlo._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0ng0eku._.js → src_lib_schemas_ts_0ph~1ak._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_worktree_ts_06cucy3._.js +1 -1
- package/.next/standalone/.next/server/functions-config-manifest.json +1 -0
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/next-font-manifest.js +1 -1
- package/.next/standalone/.next/server/next-font-manifest.json +4 -0
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +2308 -1642
- package/.next/standalone/.next/static/chunks/0.2y9uc38xso-.js +1 -0
- package/.next/standalone/.next/static/chunks/00agq5_c-.llc.js +1 -0
- package/.next/standalone/.next/static/chunks/015i97g3voot2.js +2 -0
- package/.next/standalone/.next/static/chunks/01wvj~s3skc-5.js +1 -0
- package/.next/standalone/.next/static/chunks/{0c4-6qdhi645s.js → 031br6.h-zycv.js} +1 -1
- package/.next/standalone/.next/static/chunks/04.2m8l~ws19v.js +1 -0
- package/.next/standalone/.next/static/chunks/054ztat09k8d8.js +1 -0
- package/.next/standalone/.next/static/chunks/07c4b1kp_85qg.js +1 -0
- package/.next/standalone/.next/static/chunks/07f592yv~pptf.js +1 -0
- package/.next/standalone/.next/static/chunks/{0bvhkgitn__gl.js → 08j4ettv1zbmn.js} +1 -1
- package/.next/standalone/.next/static/chunks/08kc0~d-bpqxd.js +1 -0
- package/.next/standalone/.next/static/chunks/{0c.t.evwah_m4.js → 08s_oyki61yjf.js} +1 -1
- package/.next/standalone/.next/static/chunks/09bc_~h466~tj.js +1 -0
- package/.next/standalone/.next/static/chunks/0_hj_1l73v-on.js +1 -0
- package/.next/standalone/.next/static/chunks/0a54zbhpg7-ql.js +1 -0
- package/.next/standalone/.next/static/chunks/0c2po53wqe-op.js +1 -0
- package/.next/standalone/.next/static/chunks/0clhvl~13pwv2.js +1 -0
- package/.next/standalone/.next/static/chunks/0fi1kdxrc9m~d.js +1 -0
- package/.next/standalone/.next/static/chunks/0ix28r65.7o_r.js +12 -0
- package/.next/standalone/.next/static/chunks/0j56_.0_wup.m.js +1 -0
- package/.next/standalone/.next/static/chunks/0lokkque~1fox.js +1 -0
- package/.next/standalone/.next/static/chunks/0m5k~sgt78d8a.js +1 -0
- package/.next/standalone/.next/static/chunks/0mzzaly9-cwhd.js +5 -0
- package/.next/standalone/.next/static/chunks/0ov_akpudbv96.js +5 -0
- package/.next/standalone/.next/static/chunks/0pg~fc3o64-u0.js +1 -0
- package/.next/standalone/.next/static/chunks/0pvc93qomwhkq.js +1 -0
- package/.next/standalone/.next/static/chunks/0seo-lerjdkbn.js +1 -0
- package/.next/standalone/.next/static/chunks/0smoiulyzysrc.js +2 -0
- package/.next/standalone/.next/static/chunks/0ufatfbq87c84.js +1 -0
- package/.next/standalone/.next/static/chunks/{09bezwcb__18t.js → 0ujznvfinjpzn.js} +1 -1
- package/.next/standalone/.next/static/chunks/{02xqrfqu.s8-i.js → 0ux~8zee88x-j.js} +1 -1
- package/.next/standalone/.next/static/chunks/0vy01_a6xhhrr.js +1 -0
- package/.next/standalone/.next/static/chunks/0wl8cpmvyhv0l.js +1 -0
- package/.next/standalone/.next/static/chunks/0xd_tk4asn0qj.js +1 -0
- package/.next/standalone/.next/static/chunks/0~l470bpaoz9f.js +1 -0
- package/.next/standalone/.next/static/chunks/118j.0w2pbdea.js +1 -0
- package/.next/standalone/.next/static/chunks/11yhe31en~dvt.js +1 -0
- package/.next/standalone/.next/static/chunks/13yfli6~6o4z~.js +1 -0
- package/.next/standalone/.next/static/chunks/14fch6~swodjf.css +1 -0
- package/.next/standalone/.next/static/chunks/15rlbf5rw1dd..js +1 -0
- package/.next/standalone/package.json +1 -2
- package/dist/mcp-server.cjs +1205 -4330
- package/package.json +1 -2
- package/prisma/schema.prisma +46 -5
- package/scripts/migrations/0006-project-knowledge.ts +58 -0
- package/scripts/migrations/0007-product-group.ts +67 -0
- package/skills/tower/SKILL.md +22 -92
- package/skills/tower/references/task-source.md +80 -0
- package/.next/standalone/.next/server/chunks/[externals]__0x_wqa7._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__034jopu._.js +0 -4
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__08-s.nv._.js +0 -4
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__098.3z2._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ehx6q.._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0iggiij._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0pmamzv._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0pzyjqf._.js +0 -20
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0tplo5s._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0tpzojh._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xasom7._.js +0 -4
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xy1t4x._.js +0 -4
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0y~y6sh._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__10jnn26._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__116v_bx._.js +0 -4
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__119rbly._.js +0 -3
- package/.next/standalone/.next/server/chunks/_0qk_esg._.js +0 -4
- package/.next/standalone/.next/server/chunks/_0t31z6q._.js +0 -5
- package/.next/standalone/.next/server/chunks/src_0aqjfcv._.js +0 -3
- package/.next/standalone/.next/server/chunks/src_lib_0nw5n~t._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0.q~~2p._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__01zrinc._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__03x8axh._.js +0 -47
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__04wbr9x._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__05xg05r._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__06t.cx~._.js +0 -47
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0__klx0._.js +0 -47
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ccy_gg._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0cjmeyl._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0dx9sp-._.js +0 -47
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0f57j8r._.js +0 -47
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0j1dx6p._.js +0 -47
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0kn~asi._.js +0 -47
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0m.hayd._.js +0 -47
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0mpjat-._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0sg4fde._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w24qox._.js +0 -47
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wq~4aj._.js +0 -30
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0yihqy6._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0z7je5_._.js +0 -5
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0zouyfp._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1184s~q._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0.iq8t8._.js +0 -4
- package/.next/standalone/.next/server/chunks/ssr/_00.myc6._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_00eymu8._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_03-we0p._.js +0 -47
- package/.next/standalone/.next/server/chunks/ssr/_04szgc6._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0kd_tda._.js +0 -47
- package/.next/standalone/.next/server/chunks/ssr/_0ktexki._.js +0 -47
- package/.next/standalone/.next/server/chunks/ssr/_0lo1nei._.js +0 -6
- package/.next/standalone/.next/server/chunks/ssr/_0mdd702._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0n0q6~9._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0pab_al._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0pg6-.y._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0pvp63a._.js +0 -47
- package/.next/standalone/.next/server/chunks/ssr/_0qi4x-5._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0qnobd-._.js +0 -43
- package/.next/standalone/.next/server/chunks/ssr/_0rdyrfd._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0ts~td3._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0y0_4zs._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0yva1-.._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0yz5dmq._.js +0 -47
- package/.next/standalone/.next/server/chunks/ssr/_11w13--._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules__pnpm_09eeb85._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_0djxlqx._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_0eufeyj._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_0vv366l._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_03x1i~1._.js +0 -5
- package/.next/standalone/.next/server/chunks/ssr/src_lib_08gthaz._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_090~6pq._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0k8dkbn._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0knbpxk._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0p_iehl._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0qve1ri._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0s35u~4._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0x2ui80._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_0ypc5_d._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_lib_10jh2mz._.js +0 -3
- package/.next/standalone/.next/static/chunks/0-nppzqp-r.9c.js +0 -1
- package/.next/standalone/.next/static/chunks/0-te2tg6~a23u.js +0 -1
- package/.next/standalone/.next/static/chunks/0.64.6c1mh7d2.js +0 -1
- package/.next/standalone/.next/static/chunks/0.8n1ce9lggg4.js +0 -1
- package/.next/standalone/.next/static/chunks/0.nsmn6shzidu.js +0 -2
- package/.next/standalone/.next/static/chunks/0.zgqz~m3sjej.js +0 -1
- package/.next/standalone/.next/static/chunks/00.eotegra08r.js +0 -1
- package/.next/standalone/.next/static/chunks/01j9m895w64zn.js +0 -1
- package/.next/standalone/.next/static/chunks/03y272e6e9o8i.js +0 -1
- package/.next/standalone/.next/static/chunks/08eyd7sq064r0.js +0 -1
- package/.next/standalone/.next/static/chunks/09b33znj4m__c.js +0 -1
- package/.next/standalone/.next/static/chunks/0d0zm8viq3ol4.js +0 -12
- package/.next/standalone/.next/static/chunks/0dktl5t_dtxu..js +0 -1
- package/.next/standalone/.next/static/chunks/0e5~nzt657k92.js +0 -1
- package/.next/standalone/.next/static/chunks/0erwxvpb9w29_.js +0 -1
- package/.next/standalone/.next/static/chunks/0gf~0e3xpa0fj.js +0 -5
- package/.next/standalone/.next/static/chunks/0gy79dfi~lnig.js +0 -1
- package/.next/standalone/.next/static/chunks/0gz3xwb5_8xwv.js +0 -1
- package/.next/standalone/.next/static/chunks/0i75~pu.bp20..js +0 -1
- package/.next/standalone/.next/static/chunks/0jn_w5b9r~beu.js +0 -1
- package/.next/standalone/.next/static/chunks/0l59z2mf1ouxu.js +0 -1
- package/.next/standalone/.next/static/chunks/0m4xd-ie7j.hx.js +0 -1
- package/.next/standalone/.next/static/chunks/0mx9ebe6we4z0.js +0 -1
- package/.next/standalone/.next/static/chunks/0nsggimu5je3g.js +0 -1
- package/.next/standalone/.next/static/chunks/0nw8nx8kafy79.js +0 -1
- package/.next/standalone/.next/static/chunks/0pzjryav9pm7p.js +0 -1
- package/.next/standalone/.next/static/chunks/0q-rl50zskr35.js +0 -1
- package/.next/standalone/.next/static/chunks/0qqy2x-fsmmmx.js +0 -1
- package/.next/standalone/.next/static/chunks/0t59wpux0g1~l.js +0 -1
- package/.next/standalone/.next/static/chunks/0uezq8wiwkq8d.js +0 -1
- package/.next/standalone/.next/static/chunks/0vrc~7m1_cuvl.js +0 -1
- package/.next/standalone/.next/static/chunks/0xbh24-hxrt~m.css +0 -1
- package/.next/standalone/.next/static/chunks/0xkkmruo8p.l_.js +0 -1
- package/.next/standalone/.next/static/chunks/0xx0pe_j2kmr9.js +0 -2
- package/.next/standalone/.next/static/chunks/0zqjqiqmorenw.js +0 -5
- package/.next/standalone/.next/static/chunks/136l78utn~v08.js +0 -1
- package/.next/standalone/.next/static/chunks/171x9kw9wcyk4.js +0 -1
- package/.next/standalone/.next/static/chunks/17m4o~gdsvuo3.js +0 -1
- package/next.config.ts +0 -18
- /package/.next/standalone/.next/static/{f1860bJqnbYj-1WLMj7F- → dFewkdixeBoRBY6Fvw11J}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{f1860bJqnbYj-1WLMj7F- → dFewkdixeBoRBY6Fvw11J}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{f1860bJqnbYj-1WLMj7F- → dFewkdixeBoRBY6Fvw11J}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,912505,e=>{"use strict";var t=e.i(289721),s=e.i(975157);e.s(["EmptyState",0,function({icon:e,title:a,description:r,action:i,className:n}){return(0,t.jsxs)("div",{className:(0,s.cn)("flex h-48 flex-col items-center justify-center gap-2 text-center",n),children:[e&&(0,t.jsx)(e,{className:"h-10 w-10 text-muted-foreground/40"}),(0,t.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:a}),r&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground/60",children:r}),i&&(0,t.jsx)("div",{className:"mt-2",children:i})]})}])},236967,e=>{"use strict";var t=e.i(289721),s=e.i(210702),a=e.i(538059),r=e.i(259846),i=e.i(645378),n=e.i(453889),l=e.i(487278),o=e.i(911219),d=e.i(533499);let c=[{key:"notes",icon:i.FileText},{key:"assets",icon:n.FolderOpen},{key:"archive",icon:l.Archive},{key:"groups",icon:o.Boxes}];e.s(["SubPageNav",0,function({workspaceId:e}){let{t:i}=(0,d.useI18n)(),n=(0,a.usePathname)(),l=c.find(e=>n.includes(`/${e.key}`))?.key;return(0,t.jsxs)("div",{className:"header-sm flex items-center gap-1 px-4",children:[(0,t.jsxs)(s.default,{href:`/workspaces/${e}`,className:"mr-2 inline-flex h-8 items-center gap-1.5 rounded-md px-2 text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:[(0,t.jsx)(r.ArrowLeft,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{children:i("archive.backToBoard")})]}),(0,t.jsx)("span",{className:"mr-2 h-4 w-px bg-border"}),c.map(a=>{let r=a.icon,n=l===a.key;return(0,t.jsxs)(s.default,{href:`/workspaces/${e}/${a.key}`,className:`inline-flex h-8 items-center gap-1.5 rounded-md px-3 text-xs font-medium transition-colors ${n?"bg-accent text-foreground":"text-muted-foreground hover:bg-accent/50 hover:text-foreground"}`,children:[(0,t.jsx)(r,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{children:i(`sidebar.${a.key}`)})]},a.key)})]})}])},245697,e=>{"use strict";let t=(0,e.i(572989).default)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);e.s(["Package",0,t],245697)},980376,82183,e=>{"use strict";var t=e.i(289721),s=e.i(225061),a=e.i(975157),r=e.i(519455),i=e.i(670123);function n({...e}){return(0,t.jsx)(s.Dialog.Portal,{"data-slot":"sheet-portal",...e})}function l({className:e,...r}){return(0,t.jsx)(s.Dialog.Backdrop,{"data-slot":"sheet-overlay",className:(0,a.cn)("fixed inset-0 z-50 bg-black/10 transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:backdrop-blur-xs",e),...r})}e.s(["Sheet",0,function({...e}){return(0,t.jsx)(s.Dialog.Root,{"data-slot":"sheet",...e})},"SheetContent",0,function({className:e,children:o,side:d="right",showCloseButton:c=!0,...m}){return(0,t.jsxs)(n,{children:[(0,t.jsx)(l,{}),(0,t.jsxs)(s.Dialog.Popup,{"data-slot":"sheet-content","data-side":d,className:(0,a.cn)("fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm",e),...m,children:[o,c&&(0,t.jsxs)(s.Dialog.Close,{"data-slot":"sheet-close",render:(0,t.jsx)(r.Button,{variant:"ghost",className:"absolute top-3 right-3",size:"icon-sm"}),children:[(0,t.jsx)(i.XIcon,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"SheetDescription",0,function({className:e,...r}){return(0,t.jsx)(s.Dialog.Description,{"data-slot":"sheet-description",className:(0,a.cn)("text-sm text-muted-foreground",e),...r})},"SheetHeader",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"sheet-header",className:(0,a.cn)("flex flex-col gap-0.5 p-4",e),...s})},"SheetTitle",0,function({className:e,...r}){return(0,t.jsx)(s.Dialog.Title,{"data-slot":"sheet-title",className:(0,a.cn)("font-heading text-base font-medium text-foreground",e),...r})}],980376);var o=e.i(514798);let d=(0,o.createServerReference)("40ad76444bdce5a0f73e5fd0d5a73d883dcdf75708",o.callServer,void 0,o.findSourceMapURL,"getTaskOverview");e.s(["getTaskOverview",0,d],82183)},606393,e=>{"use strict";let t=(0,e.i(572989).default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);e.s(["Calendar",0,t],606393)},605005,e=>{"use strict";var t=e.i(289721),s=e.i(965652),a=e.i(980376),r=e.i(759684),i=e.i(487486),n=e.i(519455),l=e.i(533499),o=e.i(569634),d=e.i(82183),c=e.i(334023),m=e.i(706429),x=e.i(108131),u=e.i(690027),h=e.i(415601),p=e.i(405367),f=e.i(744798),g=e.i(997025),j=e.i(235357),v=e.i(144640),b=e.i(937304),N=e.i(685149),y=e.i(606393),k=e.i(875840),w=e.i(245697),S=e.i(12659),C=e.i(736061),T=e.i(460707),I=e.i(567860),D=e.i(645378),P=e.i(867533),B=e.i(297338),F=e.i(453889);function $({added:e,removed:s}){let{t:a}=(0,l.useI18n)();return(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs text-gray-500",children:[(0,t.jsx)("span",{children:a("diff.filesChanged",{count:String(e+s)})}),e>0&&(0,t.jsxs)("span",{className:"text-green-500",children:["+",e]}),s>0&&(0,t.jsxs)("span",{className:"text-red-500",children:["-",s]})]})}var A=e.i(35967),O=e.i(360112);let z=/\.(txt|md|json)$/i;function M({text:e}){let{t:a}=(0,l.useI18n)(),[r,i]=(0,s.useState)(!1),[n,o]=(0,s.useState)(!1),d=(0,s.useRef)(null);return(0,s.useEffect)(()=>{let e=d.current;e&&o(e.scrollHeight>e.clientHeight+1)},[]),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{ref:d,className:`text-sm text-foreground whitespace-pre-wrap ${r?"":"line-clamp-5"}`,children:e}),n&&(0,t.jsx)("button",{type:"button",onClick:()=>i(e=>!e),className:"mt-1 text-xs font-medium text-sky-600 hover:underline dark:text-sky-400",children:a(r?"taskDrawer.collapseDescription":"taskDrawer.expandDescription")})]})}e.s(["TaskOverviewDrawer",0,function({open:e,onOpenChange:R,taskId:U,hideEnvActions:L=!1}){let{t:E}=(0,l.useI18n)(),[H,V]=(0,s.useState)(null),[_,K]=(0,s.useTransition)(),[J,W]=(0,s.useState)(!1),[q,G]=(0,s.useState)([]),[X,Y]=(0,s.useState)([]),[Q,Z]=(0,s.useState)(null),[ee,et]=(0,s.useState)([]),[es,ea]=(0,s.useState)(null);(0,s.useEffect)(()=>{if(!U||!e){V(null),Y([]),et([]);return}(0,m.getTaskNotes)(U).then(e=>Y(e.map(e=>({id:e.id,title:e.title,content:e.content,category:e.category})))).catch(()=>Y([])),(0,x.getTaskAssets)(U).then(e=>et(e.map(e=>({id:e.id,filename:e.filename,path:e.path,mimeType:e.mimeType,size:e.size})))).catch(()=>et([])),K(async()=>{let e=await (0,d.getTaskOverview)(U);e&&(V(e),e.project?.workspaceId&&(0,c.getLabelsForWorkspace)(e.project.workspaceId).then(e=>{G(e.map(e=>({id:e.id,name:e.name,color:e.color,isBuiltin:e.isBuiltin})))}).catch(()=>G([])))})},[U,e]);let er=H?N.BOARD_COLUMNS.find(e=>e.id===H.status):null,ei=H?N.PRIORITY_CONFIG[H.priority]:null,en=H?.executions?.[0]??null,el=(()=>{if(en?.worktreePath)return en.worktreePath;let e=H?.project?.localPath;return e?H?.subPath?`${e}/${H.subPath}`:e:null})(),eo=(()=>{let e=en?.gitStats;if(!e)return null;try{let t=JSON.parse(e);return{added:t.insertions??0,removed:t.deletions??0}}catch{return null}})(),ed=e=>(0,b.isImageAsset)(e.filename,e.mimeType)||z.test(e.filename),ec=e=>{ed(e)?ea(e):O.toast.info(E("assets.previewNotSupported"))},em=async e=>{try{let t=await fetch("/api/internal/assets/reveal",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e.path})});if(!t.ok){let e=await t.json().catch(()=>({}));O.toast.error(e.error||E("git.openInFileManagerFailed"))}}catch{O.toast.error(E("git.openInFileManagerFailed"))}},ex=es?(0,b.isImageAsset)(es.filename,es.mimeType)?"image":z.test(es.filename)?"text":null:null,eu=ee.filter(e=>(0,b.isImageAsset)(e.filename,e.mimeType)).map(e=>({id:e.id,url:(0,b.localPathToApiUrl)(e.path),filename:e.filename})),eh=es?eu.findIndex(e=>e.id===es.id):-1,ep=async e=>{if(H?.project)try{let{autoStart:t,...s}=e;await (0,o.createTask)({...s,projectId:H.project.id}),O.toast.success(E("taskDrawer.duplicateSuccess")),W(!1),R(!1)}catch{O.toast.error(E("taskDrawer.duplicateFailed"))}};return(0,t.jsxs)(a.Sheet,{open:e,onOpenChange:R,children:[(0,t.jsxs)(a.SheetContent,{side:"right",className:"w-[380px] sm:max-w-[380px] p-0",children:[(0,t.jsxs)(a.SheetHeader,{className:"px-4 pt-4 pb-3 border-b border-border",children:[(0,t.jsx)(a.SheetTitle,{className:"text-base font-semibold leading-tight pr-8",children:H?.title??""}),(0,t.jsx)(a.SheetDescription,{className:"sr-only",children:E("taskDrawer.title")}),H&&(0,t.jsxs)("div",{className:"flex items-center gap-2 mt-2",children:[er&&(0,t.jsxs)(i.Badge,{variant:"secondary",className:"text-xs",children:[(0,t.jsx)("span",{className:`inline-block w-2 h-2 rounded-full mr-1.5 ${er.color}`}),er.label]}),ei&&(0,t.jsx)(i.Badge,{variant:"secondary",className:`text-xs ${ei.color}`,children:ei.label}),H.version&&(0,t.jsx)(A.TaskVersionTag,{number:H.version.number,name:H.version.name,showName:!0})]})]}),(0,t.jsx)(r.ScrollArea,{className:"flex-1 h-[calc(100%-80px)]",children:_&&!H?(0,t.jsx)("div",{className:"flex items-center justify-center h-32 text-sm text-muted-foreground",children:E("assets.loading")}):H?(0,t.jsxs)("div",{className:"p-4 pb-8 space-y-4",children:[(0,t.jsxs)("section",{children:[(0,t.jsx)("h4",{className:"text-xs font-medium text-muted-foreground mb-1",children:E("taskDrawer.description")}),H.description?(0,t.jsx)(M,{text:H.description},H.id):(0,t.jsx)("p",{className:"text-sm text-foreground whitespace-pre-wrap",children:E("taskDrawer.noDescription")})]}),H.labels.length>0&&(0,t.jsxs)("section",{children:[(0,t.jsx)("h4",{className:"text-xs font-medium text-muted-foreground mb-1.5",children:E("taskDrawer.labels")}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:H.labels.map(e=>(0,t.jsx)(i.Badge,{variant:"secondary",className:"text-xs",style:{backgroundColor:`${e.label.color}20`,color:e.label.color,borderColor:`${e.label.color}40`},children:e.label.name},e.label.id))})]}),(0,t.jsxs)("section",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,t.jsx)(y.Calendar,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{children:E("taskDrawer.createdAt")}),(0,t.jsx)("span",{className:"text-foreground",children:new Date(H.createdAt).toLocaleDateString()})]}),(0,t.jsxs)("section",{children:[(0,t.jsxs)("h4",{className:"text-xs font-medium text-muted-foreground mb-1.5 flex items-center gap-1.5",children:[(0,t.jsx)(w.Package,{className:"h-3.5 w-3.5"}),E("taskDrawer.resources"),(0,t.jsx)("span",{className:"text-foreground",children:H._count.assets})]}),ee.length>0?(0,t.jsx)("div",{className:"space-y-1.5",children:ee.map(e=>{var s;let a=ed(e);return(0,t.jsxs)("div",{className:"flex items-center gap-2 rounded-md border border-border px-2 py-1.5",children:[(0,t.jsx)(B.Paperclip,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,t.jsx)("button",{type:"button",onClick:()=>ec(e),disabled:!a,className:`min-w-0 flex-1 truncate text-left text-sm ${a?"cursor-pointer hover:underline":"cursor-default"}`,title:a?E("assets.preview"):e.filename,children:e.filename}),(0,t.jsx)("span",{className:"shrink-0 text-[10px] text-muted-foreground",children:(s=e.size)?s<1024?`${s} B`:s<1048576?`${(s/1024).toFixed(1)} KB`:`${(s/1024/1024).toFixed(1)} MB`:""}),(0,t.jsxs)("div",{className:"flex items-center gap-0.5",children:[a&&(0,t.jsx)(n.Button,{variant:"ghost",size:"icon-xs",onClick:()=>ec(e),className:"shrink-0 text-muted-foreground hover:bg-accent",title:E("assets.preview"),children:(0,t.jsx)(P.Eye,{className:"h-3 w-3"})}),(0,t.jsx)(n.Button,{variant:"ghost",size:"icon-xs",onClick:()=>em(e),className:"shrink-0 text-muted-foreground hover:bg-accent",title:E("assets.revealInFinder"),children:(0,t.jsx)(F.FolderOpen,{className:"h-3 w-3"})})]})]},e.id)})}):(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:E("taskDrawer.noResources")})]}),(0,t.jsxs)("section",{children:[(0,t.jsxs)("h4",{className:"text-xs font-medium text-muted-foreground mb-1.5 flex items-center gap-1.5",children:[(0,t.jsx)(D.FileText,{className:"h-3.5 w-3.5"}),E("taskDrawer.notes")]}),X.length>0?(0,t.jsx)("div",{className:"space-y-1.5",children:X.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>Z(e),className:"group/note flex w-full items-start gap-2 rounded-md border border-border p-2 text-left transition-colors hover:bg-accent/40",title:E("taskDrawer.previewNote"),children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("p",{className:"truncate text-sm font-medium",children:e.title}),e.content&&(0,t.jsx)("p",{className:"mt-0.5 line-clamp-2 whitespace-pre-wrap text-xs text-muted-foreground",children:e.content})]}),(0,t.jsx)(P.Eye,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-muted-foreground opacity-0 transition-opacity group-hover/note:opacity-100"})]},e.id))}):(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:E("taskDrawer.noNotes")})]}),(0,t.jsxs)("section",{children:[(0,t.jsx)("h4",{className:"text-xs font-medium text-muted-foreground mb-1.5",children:E("taskDrawer.fileChanges")}),eo?(0,t.jsx)($,{added:eo.added,removed:eo.removed}):(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:E("taskDrawer.noFileChanges")})]}),(0,t.jsxs)("section",{children:[(0,t.jsxs)("h4",{className:"text-xs font-medium text-muted-foreground mb-1.5 flex items-center gap-1.5",children:[(0,t.jsx)(S.PlayCircle,{className:"h-3.5 w-3.5"}),E("taskDrawer.lastExecution")]}),en?(0,t.jsxs)("div",{className:"rounded-md border border-border p-2.5 text-sm",children:[(0,t.jsx)(i.Badge,{variant:"secondary",className:"text-xs mb-1.5",children:en.status}),en.summary&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-4",children:en.summary.slice(0,200)})]}):(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:E("taskDrawer.noExecution")})]}),el&&!L&&(0,t.jsxs)("section",{className:"flex flex-col",children:[(0,t.jsxs)(n.Button,{variant:"ghost",className:"w-full h-8 justify-start gap-2 px-2 text-xs text-muted-foreground",onClick:async()=>{try{await (0,u.openInFileManager)(el)}catch(e){console.error("openInFileManager failed:",e),O.toast.error(E("git.openInFileManagerFailed"))}},children:[(0,t.jsx)(C.FolderSearch,{className:"h-3.5 w-3.5 shrink-0"}),E("git.openInFileManager")]}),(0,t.jsxs)(n.Button,{variant:"ghost",className:"w-full h-8 justify-start gap-2 px-2 text-xs text-muted-foreground",onClick:async()=>{try{await (0,h.openInEditor)(el)}catch(e){console.error("openInEditor failed:",e),O.toast.error(E("git.openInEditorFailed"))}},children:[(0,t.jsx)(T.Code,{className:"h-3.5 w-3.5 shrink-0"}),E("git.openInEditor")]}),(0,t.jsxs)(n.Button,{variant:"ghost",className:"w-full h-8 justify-start gap-2 px-2 text-xs text-muted-foreground",onClick:async()=>{try{await (0,p.openInTerminal)(el)}catch(e){console.error("openInTerminal failed:",e),O.toast.error(E("git.openInTerminalFailed"))}},children:[(0,t.jsx)(I.Terminal,{className:"h-3.5 w-3.5 shrink-0"}),E("git.openInTerminal")]})]}),(0,t.jsx)("section",{children:(0,t.jsxs)(n.Button,{variant:"default",className:"w-full",onClick:()=>{H&&W(!0)},disabled:!H,children:[(0,t.jsx)(k.Copy,{className:"h-4 w-4"}),E("taskDrawer.duplicate")]})})]}):null})]}),H?.project&&(0,t.jsx)(f.CreateTaskDialog,{open:J,onOpenChange:W,onSubmit:ep,labels:q,projectType:H.project.type,projectLocalPath:H.project.localPath,prefillFromTask:{title:H.title,description:H.description,priority:H.priority,subPath:H.subPath,labelIds:H.labels.map(e=>e.label.id),baseBranch:H.baseBranch}}),(0,t.jsx)(g.NotePreviewDialog,{note:Q,open:null!==Q,onOpenChange:e=>{e||Z(null)}}),(0,t.jsx)(j.ImageLightbox,{imageUrl:"image"===ex&&eh>=0?eu[eh].url:null,filename:"image"===ex&&eh>=0?eu[eh].filename:"",open:"image"===ex,onOpenChange:e=>{e||ea(null)},assets:eu.map(({url:e,filename:t})=>({url:e,filename:t})),currentIndex:eh>=0?eh:void 0,onIndexChange:e=>{let t=eu[e];if(!t)return;let s=ee.find(e=>e.id===t.id);s&&ea(s)}}),(0,t.jsx)(v.TextPreviewDialog,{url:"text"===ex&&es?(0,b.localPathToApiUrl)(es.path):null,filename:es?.filename??"",open:"text"===ex,onOpenChange:e=>{e||ea(null)}})]})}],605005)},631675,e=>{"use strict";let t=(0,e.i(572989).default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);e.s(["Upload",0,t],631675)},903024,e=>{"use strict";var t=e.i(514798);let s=(0,t.createServerReference)("40d2094f068b02f8aae5f379b4a3b82ef6fd0a0918",t.callServer,void 0,t.findSourceMapURL,"deleteAsset");e.s(["deleteAsset",0,s])},237842,e=>{"use strict";var t=e.i(514798);let s=(0,t.createServerReference)("408e28964e855b7940574a52de6b1ebbe3b9a57795",t.callServer,void 0,t.findSourceMapURL,"uploadAsset");e.s(["uploadAsset",0,s])},734525,e=>{"use strict";var t=e.i(289721),s=e.i(965652),a=e.i(400355),r=e.i(738690),i=e.i(236967),n=e.i(533499),l=e.i(903024),o=e.i(514798);let d=(0,o.createServerReference)("402c2ce49d4fc257c38ef6e18bbf0535ca5f9b791e",o.callServer,void 0,o.findSourceMapURL,"getProjectAssets");var c=e.i(453889),m=e.i(912505),x=e.i(645378),u=e.i(867533),h=e.i(998626),p=e.i(519455),f=e.i(937304);function g({asset:e,onPreview:s,onReveal:a,onDelete:r,onTaskClick:i}){var l;let{t:o}=(0,n.useI18n)(),d=(0,f.localPathToApiUrl)(e.path),m=(0,f.isImageAsset)(e.filename,e.mimeType);return(0,t.jsxs)("div",{className:"flex items-center gap-4 rounded-lg border border-border bg-card px-4 py-3 transition-colors hover:bg-accent/20",children:[(0,t.jsx)(p.Button,{variant:"ghost",onClick:()=>s(e),className:"flex-shrink-0 cursor-pointer p-0 h-auto",children:m?(0,t.jsx)("img",{src:d,alt:e.filename,className:"h-12 w-12 rounded object-cover border border-border"}):(0,t.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded border border-border bg-muted",children:(0,t.jsx)(x.FileText,{className:"h-6 w-6 text-muted-foreground"})})}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("p",{className:"truncate text-sm font-medium text-foreground",children:e.filename}),e.taskTitle&&e.taskId&&(0,t.jsx)(p.Button,{variant:"ghost",onClick:t=>{t.stopPropagation(),i?.(e.taskId)},className:"flex-shrink-0 bg-blue-500/10 text-blue-600 dark:text-blue-400 text-xs px-1.5 py-0.5 rounded cursor-pointer hover:bg-blue-500/20 transition-colors h-auto",children:e.taskTitle.length>20?`[任务: ${e.taskTitle.slice(0,20)}...]`:`[任务: ${e.taskTitle}]`})]}),e.description&&(0,t.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground truncate",children:e.description}),(0,t.jsxs)("div",{className:"mt-0.5 flex items-center gap-3 text-xs text-muted-foreground",children:[(0,t.jsx)("span",{children:null===(l=e.size)?"-":l<1024?`${l} B`:l<1048576?`${(l/1024).toFixed(1)} KB`:l<0x40000000?`${(l/1048576).toFixed(1)} MB`:`${(l/0x40000000).toFixed(1)} GB`}),(0,t.jsx)("span",{children:new Date(e.createdAt).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1 flex-shrink-0",children:[(0,t.jsx)(p.Button,{variant:"ghost",size:"icon",onClick:()=>s(e),className:"text-muted-foreground","aria-label":o("assets.preview"),children:(0,t.jsx)(u.Eye,{className:"h-4 w-4"})}),(0,t.jsx)(p.Button,{variant:"ghost",size:"icon",onClick:()=>a(e),className:"text-muted-foreground","aria-label":o("assets.revealInFinder"),children:(0,t.jsx)(c.FolderOpen,{className:"h-4 w-4"})}),(0,t.jsx)(p.Button,{variant:"ghost",size:"icon",onClick:()=>r(e.id),className:"text-muted-foreground hover:text-rose-400","aria-label":o("assets.delete"),children:(0,t.jsx)(h.Trash2,{className:"h-4 w-4"})})]})]})}function j({assets:e,onPreview:s,onReveal:a,onDelete:r,onTaskClick:i}){let{t:l}=(0,n.useI18n)();return 0===e.length?(0,t.jsx)(m.EmptyState,{icon:c.FolderOpen,title:l("assets.empty"),description:l("assets.emptyHint")}):(0,t.jsx)("div",{className:"flex flex-col gap-3",children:e.map(e=>(0,t.jsx)(g,{asset:e,onPreview:s,onReveal:a,onDelete:r,onTaskClick:i},e.id))})}var v=e.i(631675),b=e.i(657153),N=e.i(237842),y=e.i(624687),k=e.i(967489);function w({allWorkspaces:e,initialWsId:a,initialProjectId:r,onUploaded:i}){let{t:l}=(0,n.useI18n)(),o=(0,s.useRef)(null),[d,c]=(0,s.useState)(!1),[m,x]=(0,s.useState)(!1),[u,h]=(0,s.useState)(null),[f,g]=(0,s.useState)(a),[j,S]=(0,s.useState)(r),[C,T]=(0,s.useState)(""),I=e.find(e=>e.id===f),D=I?.projects??[],P=D.find(e=>e.id===j),B=P?P.alias?`${P.name} (${P.alias})`:P.name:j??"",F=()=>{c(!1),h(null),o.current&&(o.current.value="")},$=async()=>{if(u&&j){x(!0);try{let e=new FormData;e.append("file",u),e.append("projectId",j),e.append("description",C.trim()),await (0,N.uploadAsset)(e),i(j),F()}finally{x(!1)}}};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(p.Button,{onClick:()=>{g(a),S(r),h(null),T(""),c(!0)},className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:[(0,t.jsx)(v.Upload,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{children:l("assets.upload")})]}),d&&(0,t.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-black/50",onClick:F}),(0,t.jsxs)("div",{className:"relative w-full max-w-md rounded-lg border border-border bg-card p-6 shadow-lg",children:[(0,t.jsx)(p.Button,{variant:"ghost",size:"icon-xs",onClick:F,className:"absolute right-3 top-3 text-muted-foreground",children:(0,t.jsx)(b.X,{className:"h-4 w-4"})}),(0,t.jsx)("h3",{className:"text-sm font-semibold text-foreground mb-4",children:l("assets.uploadTitle")}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("label",{className:"text-xs text-muted-foreground w-16 shrink-0",children:l("assets.workspace")}),(0,t.jsxs)(k.Select,{value:f,onValueChange:t=>{var s;let a;return g(s=t??""),a=e.find(e=>e.id===s),void S(a?.projects[0]?.id??null)},children:[(0,t.jsx)(k.SelectTrigger,{className:"flex-1 min-w-0 text-xs",children:(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-left",title:I?.name??f,children:I?.name??f})}),(0,t.jsx)(k.SelectContent,{className:"max-w-[var(--anchor-width)]",children:e.map(e=>(0,t.jsx)(k.SelectItem,{value:e.id,title:e.name,children:(0,t.jsx)("span",{className:"block truncate",children:e.name})},e.id))})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("label",{className:"text-xs text-muted-foreground w-16 shrink-0",children:l("assets.project")}),D.length>0?(0,t.jsxs)(k.Select,{value:j??"",onValueChange:e=>S(e??""),children:[(0,t.jsx)(k.SelectTrigger,{className:"flex-1 min-w-0 text-xs",children:(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-left",title:B,children:B})}),(0,t.jsx)(k.SelectContent,{className:"max-w-[var(--anchor-width)]",children:D.map(e=>{let s=e.alias?`${e.name} (${e.alias})`:e.name;return(0,t.jsx)(k.SelectItem,{value:e.id,title:s,children:(0,t.jsx)("span",{className:"block truncate",children:s})},e.id)})})]}):(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:l("assets.noProject")})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("label",{className:"text-xs text-muted-foreground w-16 shrink-0",children:l("assets.file")}),(0,t.jsx)("input",{type:"file",ref:o,onChange:e=>{h(e.target.files?.[0]??null)},className:"hidden"}),(0,t.jsx)(p.Button,{variant:"outline",onClick:()=>{o.current?.click()},className:"flex-1 border-dashed bg-background px-3 py-2 text-xs text-muted-foreground hover:border-primary/50 hover:text-foreground transition-colors text-left justify-start",children:u?u.name:l("assets.selectFile")})]}),(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)("label",{className:"text-xs text-muted-foreground w-16 shrink-0 pt-1.5",children:l("assets.description")}),(0,t.jsx)(y.Textarea,{value:C,onChange:e=>T(e.target.value),placeholder:l("assets.descriptionPlaceholder"),className:"flex-1 rounded-md border border-border bg-background px-3 py-2 text-xs text-foreground focus:outline-none focus:ring-1 focus:ring-ring resize-none h-20"})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 justify-end mt-6",children:[(0,t.jsx)(p.Button,{variant:"outline",onClick:F,children:l("notes.cancel")}),(0,t.jsx)(p.Button,{onClick:$,disabled:!u||!j||!C.trim()||m,className:"bg-primary/10 text-primary ring-1 ring-primary/20 hover:bg-primary/15",children:l(m?"assets.uploading":"assets.upload")})]})]})]})]})}var S=e.i(235357),C=e.i(144640),T=e.i(605005),I=e.i(360112);e.s(["AssetsPageClient",0,function({allWorkspaces:e,initialWorkspaceId:o,initialProjectId:c,initialAssets:m}){let x,{t:u}=(0,n.useI18n)(),[h,p]=(0,s.useTransition)(),[g,v]=(0,s.useState)(o),[b,N]=(0,s.useState)(c),[y,D]=(0,s.useState)(m),[P,B]=(0,s.useState)(""),[F,$]=(0,s.useState)(null),A=e.find(e=>e.id===g),O=A?.projects??[],z=(0,s.useCallback)(e=>{e?p(async()=>{D(await d(e))}):D([])},[p]),[M,R]=(0,s.useState)(null),U=M?(0,f.isImageAsset)(M.filename,M.mimeType)?"image":/\.(txt|md|json)$/i.test(M.filename)?"text":null:null,L=P.trim().toLowerCase(),E=L?y.filter(e=>e.filename.toLowerCase().includes(L)):y,H=E.filter(e=>(0,f.isImageAsset)(e.filename,e.mimeType)).map(e=>({id:e.id,url:(0,f.localPathToApiUrl)(e.path),filename:e.filename})),V=M?H.findIndex(e=>e.id===M.id):-1,_=async e=>{try{let t=await fetch("/api/internal/assets/reveal",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e.path})});if(!t.ok){let e=await t.json().catch(()=>({}));I.toast.error(e.error||"Failed to reveal file")}}catch{I.toast.error("Failed to reveal file")}},K=async e=>{let t=y.find(t=>t.id===e);confirm(u("assets.deleteConfirm",{filename:t?.filename??e}))&&(await (0,l.deleteAsset)(e),z(b))};return(0,t.jsxs)("div",{className:"flex h-full flex-col overflow-hidden",children:[(0,t.jsx)(i.SubPageNav,{workspaceId:g}),(0,t.jsxs)("div",{className:"header-sm flex items-center gap-3 px-6 py-2",children:[(0,t.jsxs)(k.Select,{value:g,onValueChange:t=>t&&(t=>{if(t===g)return;v(t);let s=e.find(e=>e.id===t),a=s?.projects[0]??null;N(a?.id??null),z(a?.id??null)})(t),children:[(0,t.jsx)(k.SelectTrigger,{className:"h-8 w-auto min-w-[120px]",children:(0,t.jsx)("span",{className:"truncate",children:e.find(e=>e.id===g)?.name??g})}),(0,t.jsx)(k.SelectContent,{children:e.map(e=>(0,t.jsx)(k.SelectItem,{value:e.id,children:e.name},e.id))})]}),O.length>0&&(0,t.jsxs)(k.Select,{value:b??"",onValueChange:e=>e&&void(e!==b&&(N(e),z(e))),children:[(0,t.jsx)(k.SelectTrigger,{className:"h-8 w-auto min-w-[140px]",children:(0,t.jsx)("span",{className:"truncate",children:(x=O.find(e=>e.id===b))?x.alias?`${x.name} (${x.alias})`:x.name:""})}),(0,t.jsx)(k.SelectContent,{children:O.map(e=>(0,t.jsxs)(k.SelectItem,{value:e.id,children:[e.name,e.alias?` (${e.alias})`:""]},e.id))})]}),(0,t.jsxs)("div",{className:"relative ml-auto",children:[(0,t.jsx)(r.Search,{className:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),(0,t.jsx)("input",{type:"text",value:P,onChange:e=>B(e.target.value),placeholder:u("assets.searchPlaceholder"),className:"h-8 w-48 rounded-md border border-border bg-background pl-8 pr-3 text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring"})]}),(0,t.jsx)(w,{allWorkspaces:e,initialWsId:g,initialProjectId:b,onUploaded:e=>{e===b&&z(b)}})]}),(0,t.jsx)("div",{className:"flex-1 overflow-auto px-6 py-4",children:(0,t.jsxs)("div",{className:`relative ${h?"opacity-40 pointer-events-none":""} transition-opacity`,children:[h&&(0,t.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center",children:(0,t.jsx)(a.Loader2,{className:"size-5 animate-spin text-muted-foreground"})}),0===O.length?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center gap-2 py-16 text-center",children:[(0,t.jsx)("p",{className:"text-sm font-medium text-muted-foreground",children:u("assets.noProject")}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground/60",children:u("assets.noProjectHint")})]}):(0,t.jsx)(j,{assets:E.map(e=>({...e,taskId:e.task?.id??null,taskTitle:e.task?.title??null})),onPreview:e=>{let t=(0,f.isImageAsset)(e.filename,e.mimeType),s=/\.(txt|md|json)$/i.test(e.filename);(t||s)&&R(e)},onReveal:_,onDelete:K,onTaskClick:$})]})}),(0,t.jsx)(S.ImageLightbox,{imageUrl:"image"===U&&V>=0?H[V].url:null,filename:"image"===U&&V>=0?H[V].filename:"",open:"image"===U,onOpenChange:e=>{e||R(null)},assets:H.map(({url:e,filename:t})=>({url:e,filename:t})),currentIndex:V>=0?V:void 0,onIndexChange:e=>{let t=H[e];if(!t)return;let s=y.find(e=>e.id===t.id);s&&R({...s,taskId:s.task?.id??null,taskTitle:s.task?.title??null})}}),(0,t.jsx)(C.TextPreviewDialog,{url:"text"===U&&M?(0,f.localPathToApiUrl)(M.path):null,filename:M?.filename??"",open:"text"===U,onOpenChange:e=>{e||R(null)}}),(0,t.jsx)(T.TaskOverviewDrawer,{open:!!F,onOpenChange:e=>{e||$(null)},taskId:F})]})}],734525)},244455,e=>{e.v(t=>Promise.all(["static/chunks/075e-zs_kgc_g.js"].map(t=>e.l(t))).then(()=>t(629495)))},800307,e=>{e.v(t=>Promise.all(["static/chunks/0zm4fvu.lntrp.js"].map(t=>e.l(t))).then(()=>t(267483)))}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,449636,e=>{"use strict";var t=e.i(289721),s=e.i(965652),r=e.i(533499),a=e.i(514798);let n=(0,a.createServerReference)("005d3675a84fb558c43c5e91c75319e00ce3a65f7a",a.callServer,void 0,a.findSourceMapURL,"getActiveExecutionsAcrossWorkspaces");var i=e.i(743067),l=e.i(907059),o=e.i(82192),c=e.i(865514),d=e.i(776639),m=e.i(624687),u=e.i(519455),x=e.i(400355),h=e.i(360112),p=e.i(208228);function g({open:e,onOpenChange:a,taskId:n,files:i,onCommitted:l}){let{t:o}=(0,r.useI18n)(),[c,f]=(0,s.useState)(""),[j,b]=(0,s.useState)(!1);(0,s.useEffect)(()=>{e&&f("")},[e]);let k=async()=>{if(c.trim()){b(!0);try{await (0,p.commitWorktreeChanges)(n,c.trim()),a(!1),l()}catch(e){h.toast.error(e instanceof Error?e.message:String(e))}finally{b(!1)}}};return(0,t.jsx)(d.Dialog,{open:e,onOpenChange:a,children:(0,t.jsxs)(d.DialogContent,{className:"sm:max-w-md",children:[(0,t.jsx)(d.DialogHeader,{children:(0,t.jsx)(d.DialogTitle,{children:o("missions.completeCommitTitle")})}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:o("missions.completeCommitDesc",{count:String(i.length)})}),(0,t.jsx)("div",{className:"max-h-32 overflow-y-auto rounded-lg border border-border bg-muted/30 p-2",children:i.map(e=>(0,t.jsx)("code",{className:"block truncate text-xs text-muted-foreground",children:e},e))}),(0,t.jsx)(m.Textarea,{value:c,onChange:e=>f(e.target.value),placeholder:o("missions.completeCommitPlaceholder"),rows:3,autoFocus:!0}),(0,t.jsxs)(d.DialogFooter,{children:[(0,t.jsx)(u.Button,{variant:"ghost",onClick:()=>a(!1),disabled:j,children:o("common.cancel")}),(0,t.jsxs)(u.Button,{onClick:k,disabled:j||!c.trim(),children:[j&&(0,t.jsx)(x.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),o("missions.completeCommitSubmit")]})]})]})})}let f=[{id:"1x1",label:"1×1",cols:1,rows:1,minHeight:"480px",desc:"Focus mode"},{id:"2x1",label:"2×1",cols:2,rows:1,minHeight:"480px",desc:"Side by side"},{id:"3x2",label:"3×2",cols:3,rows:2,minHeight:"300px",desc:"Default"},{id:"2x2",label:"2×2",cols:2,rows:2,minHeight:"300px",desc:"Balanced"},{id:"4x2",label:"4×2",cols:4,rows:2,minHeight:"240px",desc:"Wide monitor"},{id:"3x3",label:"3×3",cols:3,rows:3,minHeight:"240px",desc:"Max overview"}];var j=e.i(967489),b=e.i(912505),k=e.i(572989);let v=(0,k.default)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]);var w=e.i(360325),N=e.i(746798),y=e.i(912078);function C({cols:e,rows:s,active:r}){let a=Array.from({length:e*s});return(0,t.jsx)("div",{className:`grid gap-[1px] w-7 h-5 p-[3px] rounded-sm border shrink-0 ${r?"border-primary bg-primary/10":"border-border bg-muted"}`,style:{gridTemplateColumns:`repeat(${e}, 1fr)`,gridTemplateRows:`repeat(${s}, 1fr)`},children:a.map((e,s)=>(0,t.jsx)("div",{className:`rounded-[1px] min-w-0 min-h-0 ${r?"bg-primary":"bg-muted-foreground/40"}`},s))})}let S="custom";function I({value:e,customValue:a,onChange:n}){let{t:i}=(0,r.useI18n)(),[l,o]=(0,s.useState)(!1),c=(0,s.useRef)(null),d=e===S,m=d?null:f.find(t=>t.id===e)??f[2],[x,h]=(0,s.useState)(a?.cols??2),[p,g]=(0,s.useState)(a?.rows??2),[j,b]=(0,s.useState)({minCols:1,maxCols:5,minRows:1,maxRows:5});(0,s.useEffect)(()=>{(0,y.getConfigValues)(["missions.grid.minCols","missions.grid.maxCols","missions.grid.minRows","missions.grid.maxRows"]).then(e=>{b({minCols:e["missions.grid.minCols"]??1,maxCols:e["missions.grid.maxCols"]??5,minRows:e["missions.grid.minRows"]??1,maxRows:e["missions.grid.maxRows"]??5})})},[]),(0,s.useEffect)(()=>{a&&(h(a.cols),g(a.rows))},[a?.cols,a?.rows]),(0,s.useEffect)(()=>{if(l)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e);function e(e){c.current&&!c.current.contains(e.target)&&o(!1)}},[l]);let k=(e,t,s)=>Math.max(t,Math.min(s,e)),v=d?x:m?.cols??2,w=d?p:m?.rows??2,N=d?`${x}\xd7${p}`:m?.label??"";return(0,t.jsxs)("div",{ref:c,className:"relative",children:[(0,t.jsxs)(u.Button,{variant:"outline",onClick:()=>o(e=>!e),className:"gap-2",children:[(0,t.jsx)(C,{cols:v,rows:w,active:!1}),(0,t.jsx)("span",{children:N}),(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground",children:"▼"})]}),l&&(0,t.jsxs)("div",{className:"absolute right-0 z-50 mt-1 w-72 rounded-lg border border-border bg-popover shadow-xl p-3",children:[(0,t.jsx)("h5",{className:"text-sm font-semibold text-foreground mb-3",children:i("missions.gridPreset")}),(0,t.jsxs)("div",{className:"flex flex-col gap-0.5",children:[f.map(s=>{let r=s.id===e;return(0,t.jsxs)("button",{onClick:()=>{n(s.id),o(!1)},className:`flex items-center gap-3 px-3 py-2.5 rounded-lg transition-colors ${r?"bg-primary/10":"hover:bg-accent"}`,children:[(0,t.jsx)(C,{cols:s.cols,rows:s.rows,active:r}),(0,t.jsx)("span",{className:`text-sm font-medium flex-1 text-left ${r?"text-primary":"text-foreground"}`,children:s.label}),(0,t.jsx)("span",{className:`text-xs ${r?"text-primary/60":"text-muted-foreground"}`,children:s.desc})]},s.id)}),(0,t.jsxs)("div",{className:"mt-1 border-t border-border pt-2",children:[(0,t.jsxs)("button",{onClick:()=>{d||n(S,{cols:x,rows:p})},className:`flex items-center gap-3 px-3 py-2.5 rounded-lg transition-colors w-full ${d?"bg-primary/10":"hover:bg-accent"}`,children:[(0,t.jsx)(C,{cols:x,rows:p,active:d}),(0,t.jsx)("span",{className:`text-sm font-medium flex-1 text-left ${d?"text-primary":"text-foreground"}`,children:i("missions.gridCustom")}),(0,t.jsxs)("span",{className:`text-xs ${d?"text-primary/60":"text-muted-foreground"}`,children:[x,"×",p]})]}),d&&(0,t.jsxs)("div",{className:"flex items-center gap-3 px-3 py-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("label",{className:"text-xs text-muted-foreground",children:i("missions.gridCols")}),(0,t.jsx)("input",{type:"number",min:j.minCols,max:j.maxCols,value:x,onChange:e=>{let t;h(t=k(Number(e.target.value),j.minCols,j.maxCols)),n(S,{cols:t,rows:p})},className:"h-7 w-14 rounded-md border border-border bg-background px-2 text-sm text-center"})]}),(0,t.jsx)("span",{className:"text-muted-foreground",children:"×"}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("label",{className:"text-xs text-muted-foreground",children:i("missions.gridRows")}),(0,t.jsx)("input",{type:"number",min:j.minRows,max:j.maxRows,value:p,onChange:e=>{let t;g(t=k(Number(e.target.value),j.minRows,j.maxRows)),n(S,{cols:x,rows:t})},className:"h-7 w-14 rounded-md border border-border bg-background px-2 text-sm text-center"})]})]})]})]})]})]})}var T=e.i(585012),R=e.i(670123),M=e.i(759684);let E="123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";function A(e,t,s){return t<=0?0:((e+s)%t+t)%t}function L({open:e,panes:a,selectedIndex:n,onSelect:i,onClose:l}){let{t:o}=(0,r.useI18n)();return((0,s.useEffect)(()=>{if(e)return window.addEventListener("keydown",t,{capture:!0}),()=>window.removeEventListener("keydown",t,{capture:!0});function t(e){if("Escape"===e.key){e.preventDefault(),e.stopPropagation(),l();return}if(e.metaKey||e.ctrlKey||e.altKey||/^[0-9]$/.test(e.key))return;let t=function(e){if(1!==e.length)return null;let t=E.indexOf(e.toUpperCase());return -1===t?null:t}(e.key);null===t||t>=a.length||(e.preventDefault(),e.stopPropagation(),i(t))}},[e,a.length,i,l]),!e||"u"<typeof document)?null:(0,T.createPortal)((0,t.jsxs)("div",{className:"fixed inset-0 z-50",children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-black/10 supports-backdrop-filter:backdrop-blur-xs",onClick:l}),(0,t.jsxs)("div",{role:"dialog","aria-modal":"true",className:"fixed top-1/2 left-1/2 z-50 w-full max-w-[calc(100%-2rem)] sm:max-w-5xl -translate-x-1/2 -translate-y-1/2 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 outline-none",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 pr-8",children:[(0,t.jsx)("span",{className:"font-heading text-base font-medium leading-none",children:o("missions.selector.title")}),(0,t.jsx)("span",{className:"rounded-md bg-muted px-1.5 py-0.5 text-xs font-mono font-medium text-muted-foreground",children:a.length}),(0,t.jsx)("span",{className:"ml-1 truncate text-xs text-muted-foreground",children:o("missions.selector.hint")})]}),(0,t.jsx)(u.Button,{variant:"ghost",size:"icon-sm",className:"absolute top-2 right-2",onClick:l,"aria-label":o("missions.launcher.cancel"),children:(0,t.jsx)(R.XIcon,{})}),(0,t.jsx)(M.ScrollArea,{className:"mt-4 max-h-[60vh]",children:(0,t.jsx)("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-3 pr-3",children:a.map((e,s)=>{let r=s<0||s>=E.length?null:E[s],a=s===n;return(0,t.jsxs)("button",{type:"button",onClick:()=>i(s),className:["flex flex-col gap-2 rounded-lg border bg-card p-3 text-left transition-all hover:border-primary/40 hover:bg-accent/50",a?"border-primary ring-2 ring-inset ring-primary":"border-border"].join(" "),children:[(0,t.jsxs)("span",{className:"block w-full truncate text-[11px] text-muted-foreground",title:`${e.workspaceName} › ${e.projectAlias||e.projectName}`,children:[e.workspaceName," ›"," ",e.projectAlias||e.projectName]}),(0,t.jsx)("div",{className:"flex items-center justify-center py-2",children:(0,t.jsx)("span",{className:["flex h-12 w-12 items-center justify-center rounded-md border text-2xl font-semibold tabular-nums",a?"bg-primary text-primary-foreground border-primary":"bg-muted/80 text-foreground border-border"].join(" "),children:r??"·"})}),(0,t.jsx)("span",{className:"line-clamp-2 text-sm font-medium text-foreground",children:e.taskTitle})]},e.executionId)})})})]})]}),document.body)}var P=e.i(720247),B=e.i(775712),D=e.i(538059),$=e.i(67013);let O=(0,k.default)("grip-vertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]),z=(0,k.default)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var H=e.i(657153);let W=(0,k.default)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);var F=e.i(597746),U=e.i(487486),V=e.i(405367),K=e.i(83434);function _({startedAt:e,paused:r}){let[a,n]=(0,s.useState)(()=>e?Math.floor((Date.now()-new Date(e).getTime())/1e3):0);(0,s.useEffect)(()=>{if(r)return;let t=setInterval(()=>{n(e?Math.floor((Date.now()-new Date(e).getTime())/1e3):0)},1e3);return()=>clearInterval(t)},[e,r]);let i=Math.floor(a/60);return(0,t.jsxs)("span",{className:"text-[11px] text-muted-foreground ml-1 shrink-0",children:[i,"m ",a%60,"s"]})}function G({execution:e,isRemoving:s,removeReason:a,onStop:n,onComplete:i,onSessionEnd:l,index:o,onRegisterControls:c}){let{t:d}=(0,r.useI18n)(),m=(0,D.useRouter)(),{attributes:x,listeners:p,setNodeRef:g,transform:f,transition:j}=(0,B.useSortable)({id:e.executionId}),b={transform:$.CSS.Transform.toString(f),transition:j,opacity:+!s};async function k(){let t=e.worktreePath??e.projectLocalPath;if(!t)return;let s=e.subPath?`${t}/${e.subPath}`:t;try{await (0,V.openInTerminal)(s)}catch{h.toast.error(d("preview.terminalError"))}}return(0,t.jsxs)("div",{ref:g,style:b,"data-pane-index":o,className:"border border-border rounded-lg overflow-hidden flex flex-col transition-opacity duration-300",...x,children:[(0,t.jsxs)("div",{className:"h-10 px-3 flex items-center gap-1 border-b border-border bg-card shrink-0",children:[(0,t.jsx)("button",{...p,"aria-label":d("missions.dragHandle"),"aria-roledescription":"sortable",className:"cursor-grab text-muted-foreground hover:text-foreground mr-1",children:(0,t.jsx)(O,{className:"h-3.5 w-3.5"})}),(0,t.jsxs)("div",{className:"flex items-center gap-1 min-w-0 flex-1 text-[11px] text-muted-foreground",children:[(0,t.jsxs)("span",{className:"truncate max-w-[45%] shrink-0",title:`${e.workspaceName} › ${e.projectAlias||e.projectName}`,children:[e.workspaceName," ›"," ",e.projectAlias||e.projectName]}),(0,t.jsx)("span",{className:"shrink-0",children:"›"}),(0,t.jsx)("span",{className:"text-foreground font-semibold truncate min-w-0 flex-1",title:e.taskTitle,children:e.taskTitle})]}),s?(0,t.jsx)(U.Badge,{variant:"outline",className:"text-[11px] text-muted-foreground bg-muted ml-1 shrink-0",children:"stopped"===a?d("missions.statusStopped"):d("missions.statusCompleted")}):(0,t.jsx)(U.Badge,{variant:"outline",className:"text-[11px] text-primary border-primary/30 bg-primary/10 ml-1 shrink-0",children:d("missions.statusRunning")}),(0,t.jsx)(_,{startedAt:e.startedAt,paused:s}),e.projectLocalPath&&(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{render:(0,t.jsx)(u.Button,{variant:"ghost",size:"icon",className:"ml-1 shrink-0 text-muted-foreground",onClick:k}),children:(0,t.jsx)(W,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(N.TooltipContent,{children:d("missions.openInTerminal")})]}),(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{render:(0,t.jsx)(u.Button,{variant:"ghost",size:"icon",className:"ml-1 shrink-0 text-muted-foreground",onClick:()=>m.push(`/workspaces/${e.workspaceId}/tasks/${e.taskId}`)}),children:(0,t.jsx)(z,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(N.TooltipContent,{children:d("missions.openFullView")})]}),(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{render:(0,t.jsx)(u.Button,{variant:"ghost",size:"icon",className:"ml-1 shrink-0 text-emerald-500 hover:text-emerald-500",onClick:()=>i(e),disabled:s}),children:(0,t.jsx)(F.Check,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(N.TooltipContent,{children:d("missions.completeTask")})]}),(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsx)(N.TooltipTrigger,{render:(0,t.jsx)(u.Button,{variant:"destructive",size:"icon",className:"ml-1 shrink-0",onClick:()=>n(e.taskId),disabled:s}),children:(0,t.jsx)(H.X,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(N.TooltipContent,{children:d("missions.stopTask")})]})]}),(0,t.jsx)("div",{className:"relative flex-1 overflow-hidden",children:(0,t.jsx)(K.TerminalOutlet,{taskId:e.taskId,worktreePath:e.worktreePath??e.projectLocalPath??"",onSessionEnd:t=>l?.(e.taskId,t),onReady:t=>c(e.taskId,t)})})]})}var X=e.i(169751);let q=(0,a.createServerReference)("00dfb0119b4ff56d4a7c020b1358ee80ed183d110c",a.callServer,void 0,a.findSourceMapURL,"getWorkspacesWithActiveTasks");var J=e.i(720580),Q=e.i(335578),Y=e.i(793479),Z=e.i(232280),ee=e.i(19671),et=e.i(368490);let es=(0,k.default)("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]),er=(0,k.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);var ea=e.i(922541),en=e.i(738690);function ei(e){return(e.labels?.length??0)>0}let el={TODO:"TODO",IN_PROGRESS:"Running",IN_REVIEW:"Review"},eo={LOW:"Low",MEDIUM:"Med",HIGH:"High",CRITICAL:"Crit"};function ec({status:e}){return(0,t.jsx)("span",{className:`text-[10px] px-1.5 py-0.5 rounded font-medium ${{TODO:"bg-slate-100 text-slate-600 dark:bg-slate-800 dark:text-slate-400",IN_PROGRESS:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400",IN_REVIEW:"bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400"}[e]??"bg-slate-100 text-slate-600"}`,children:el[e]??e})}function ed({task:e,isRunning:s,launchingId:r,onLaunchNew:a,onResume:n,t:i}){let l=e.executions?.[0]?.sessionId,o=r===e.id;return(0,t.jsxs)("div",{className:"group/task grid grid-cols-[minmax(0,1fr)_auto] items-center gap-2 px-3 py-1.5 hover:bg-accent/50 cursor-default",children:[(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("p",{className:`text-sm truncate ${s?"italic text-muted-foreground":""}`,children:e.title}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5 mt-0.5",children:[(0,t.jsx)(ec,{status:e.status}),(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground",children:eo[e.priority]??e.priority})]})]}),s?(0,t.jsx)("span",{className:"text-[10px] italic text-muted-foreground",children:i("missions.alreadyMonitored")}):(0,t.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover/task:opacity-100 transition-opacity",children:[l&&(0,t.jsxs)(u.Button,{variant:"outline",className:"h-6 px-2 text-xs",onClick:()=>n(e.id,l),disabled:o,title:i("missions.continueSession"),children:[(0,t.jsx)(ea.RotateCcw,{className:"h-3 w-3 mr-1"}),i("missions.continueLabel")]}),(0,t.jsxs)(u.Button,{variant:"outline",className:"h-6 px-2 text-xs",onClick:()=>a(e.id),disabled:o,title:i("missions.launchNew"),children:[(0,t.jsx)(er,{className:"h-3 w-3 mr-1"}),o?"...":i("missions.launchNewLabel")]})]})]})}function em({task:e,isRunning:s,launchingId:r,onLaunchNew:a,onResume:n,t:i}){let l=e.executions?.[0]?.sessionId,o=r===e.id;return(0,t.jsx)("div",{className:"shrink-0 border-b bg-muted/40 px-3 py-2",children:(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5",children:[(0,t.jsx)(es,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"truncate text-xs font-medium",children:i("missions.workbench.title")})]}),s?(0,t.jsx)("span",{className:"text-[10px] italic text-muted-foreground",children:i("missions.alreadyMonitored")}):(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[l&&(0,t.jsxs)(u.Button,{variant:"outline",className:"h-6 px-2 text-xs",onClick:()=>n(e.id,l),disabled:o,title:i("missions.continueSession"),children:[(0,t.jsx)(ea.RotateCcw,{className:"h-3 w-3 mr-1"}),i("missions.continueLabel")]}),(0,t.jsxs)(u.Button,{variant:"outline",className:"h-6 px-2 text-xs",onClick:()=>a(e.id),disabled:o,title:i("missions.launchNew"),children:[(0,t.jsx)(er,{className:"h-3 w-3 mr-1"}),o?"...":i("missions.launchNewLabel")]})]})]})})}function eu({open:e,onOpenChange:a,onLaunched:n,runningTaskIds:i=new Set}){let{t:l}=(0,r.useI18n)(),[o,c]=(0,s.useState)([]),[m,p]=(0,s.useState)(!1),[g,f]=(0,s.useState)(null),[j,b]=(0,s.useState)(""),[k,v]=(0,s.useState)(new Set),[w,N]=(0,s.useState)(""),[y,C]=(0,s.useState)(0),S=(0,s.useMemo)(()=>o.map(e=>({...e,projects:e.projects.filter(e=>e.tasks.length>0)})).filter(e=>e.projects.length>0),[o]);(0,s.useEffect)(()=>{e&&(p(!0),b(""),C(0),q().then(e=>{c(e);let t=e.map(e=>({...e,projects:e.projects.filter(e=>e.tasks.length>0)})).find(e=>e.projects.length>0);v(t?new Set([t.id]):new Set),N(t?.projects[0]?.id??"")}).catch(()=>h.toast.error(l("missions.error.launchFailed"))).finally(()=>p(!1)))},[e,l]);let I=(0,s.useCallback)(e=>{v(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})},[]),T=(0,s.useCallback)(e=>{N(e),C(0)},[]),R=(0,s.useMemo)(()=>{let e=[];for(let t of S)for(let s of t.projects)for(let r of s.tasks)e.push({task:r,workspaceName:t.name,projectName:s.alias??s.name,projectId:s.id});return e},[S]),E=(0,s.useMemo)(()=>new X.default(R,{keys:["task.title"],threshold:.4,distance:200}),[R]),A=j.trim().length>0,L=(0,s.useMemo)(()=>{let e=j.trim();if(!e)return[];let t=E.search(e).map(e=>e.item),s=[],r=new Map;for(let e of t){let t=r.get(e.projectId);t||(t={workspaceName:e.workspaceName,projectName:e.projectName,tasks:[]},r.set(e.projectId,t),s.push(e.projectId)),t.tasks.push(e.task)}return s.map(e=>({id:e,...r.get(e)}))},[E,j]),P=(0,s.useMemo)(()=>R.length?S.flatMap(e=>e.projects).find(e=>e.id===w):void 0,[S,w,R.length]),B=(0,s.useMemo)(()=>P?.tasks.find(ei),[P]),D=(0,s.useMemo)(()=>P?.tasks.filter(e=>!ei(e))??[],[P]),$=Math.max(1,Math.ceil(D.length/10)),O=Math.min(y,$-1),z=D.slice(10*O,10*O+10),W=(0,s.useCallback)(async e=>{try{f(e),await (0,J.startPtyExecution)(e,""),n(e),a(!1)}catch{h.toast.error(l("missions.error.launchFailed"))}finally{f(null)}},[n,a,l]),F=(0,s.useCallback)(async(e,t)=>{try{f(e),await (0,Q.resumePtyExecution)(e,t),n(e),a(!1)}catch{h.toast.error(l("missions.error.launchFailed"))}finally{f(null)}},[n,a,l]);return(0,t.jsx)(d.Dialog,{open:e,onOpenChange:a,children:(0,t.jsxs)(d.DialogContent,{className:"sm:max-w-3xl flex h-[80vh] max-h-[640px] flex-col gap-0 overflow-hidden p-0",children:[(0,t.jsx)(d.DialogHeader,{className:"shrink-0 border-b px-4 py-3",children:(0,t.jsx)(d.DialogTitle,{children:l("missions.launchTask")})}),(0,t.jsx)("div",{className:"shrink-0 border-b px-4 py-3",children:(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(en.Search,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),(0,t.jsx)(Y.Input,{value:j,onChange:e=>b(e.target.value),placeholder:l("missions.fullPicker.searchPlaceholder"),className:"pl-8 pr-8 h-8"}),j&&(0,t.jsx)(u.Button,{type:"button",variant:"ghost",size:"icon",className:"absolute right-1 top-1/2 -translate-y-1/2 h-6 w-6",onClick:()=>b(""),"aria-label":l("missions.fullPicker.clearSearch"),children:(0,t.jsx)(H.X,{className:"h-3.5 w-3.5"})})]})}),m?(0,t.jsx)("div",{className:"flex flex-1 items-center justify-center text-muted-foreground",children:(0,t.jsx)(x.Loader2,{className:"h-5 w-5 animate-spin"})}):0===S.length?(0,t.jsx)("div",{className:"flex flex-1 items-center justify-center text-sm text-muted-foreground",children:l("missions.noAvailableTasks")}):A?(0,t.jsx)(M.ScrollArea,{className:"flex-1 min-h-0",children:0===L.length?(0,t.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:l("missions.fullPicker.noSearchResults")}):(0,t.jsx)("div",{className:"py-1",children:L.map(e=>(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"px-3 pt-2 pb-1 text-[11px] font-medium text-muted-foreground",children:[e.workspaceName," · ",e.projectName]}),e.tasks.map(e=>(0,t.jsx)(ed,{task:e,isRunning:i.has(e.id),launchingId:g,onLaunchNew:W,onResume:F,t:l},e.id))]},e.id))})}):(0,t.jsxs)("div",{className:"flex flex-1 min-h-0",children:[(0,t.jsx)("aside",{className:"w-52 shrink-0 border-r",children:(0,t.jsx)(M.ScrollArea,{className:"h-full",children:(0,t.jsx)("div",{className:"py-1",children:S.map(e=>{let s=k.has(e.id);return(0,t.jsxs)("div",{children:[(0,t.jsxs)(u.Button,{variant:"ghost",onClick:()=>I(e.id),className:"flex h-auto w-full justify-start gap-1 rounded-none px-2 py-1.5 hover:bg-accent",children:[s?(0,t.jsx)(Z.ChevronDown,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}):(0,t.jsx)(et.ChevronRight,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"truncate text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:e.name})]}),s&&e.projects.map(e=>{let s=e.id===w;return(0,t.jsxs)(u.Button,{variant:"ghost",onClick:()=>T(e.id),className:`flex h-auto w-full justify-start gap-2 rounded-none py-1.5 pl-7 pr-2 hover:bg-accent ${s?"bg-accent":""}`,children:[(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-left text-xs font-medium",children:e.alias??e.name}),(0,t.jsx)("span",{className:"shrink-0 text-[10px] text-muted-foreground",children:e._count.tasks})]},e.id)})]},e.id)})})})}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[B&&(0,t.jsx)(em,{task:B,isRunning:i.has(B.id),launchingId:g,onLaunchNew:W,onResume:F,t:l}),(0,t.jsx)(M.ScrollArea,{className:"flex-1 min-h-0",children:0===z.length?(0,t.jsx)("p",{className:"text-sm text-muted-foreground text-center py-8",children:l("missions.launcher.noTasks")}):(0,t.jsx)("div",{className:"py-1",children:z.map(e=>(0,t.jsx)(ed,{task:e,isRunning:i.has(e.id),launchingId:g,onLaunchNew:W,onResume:F,t:l},e.id))})}),D.length>0&&(0,t.jsxs)("div",{className:"flex shrink-0 items-center justify-center gap-3 border-t px-3 py-2",children:[(0,t.jsx)(u.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>C(e=>Math.max(0,e-1)),disabled:O<=0,"aria-label":l("missions.picker.prevPage"),children:(0,t.jsx)(ee.ChevronLeft,{className:"h-4 w-4"})}),(0,t.jsxs)("span",{className:"text-xs text-muted-foreground tabular-nums",children:[O+1," / ",$]}),(0,t.jsx)(u.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>C(e=>Math.min($-1,e+1)),disabled:O>=$-1,"aria-label":l("missions.picker.nextPage"),children:(0,t.jsx)(et.ChevronRight,{className:"h-4 w-4"})})]})]})]})]})})}e.i(508271);var ex=e.i(841359);e.s(["MissionsClient",0,function({initialExecutions:e}){let{t:a}=(0,r.useI18n)(),{removePortal:d}=(0,K.useTerminalPortal)(),[m,x]=(0,s.useState)(e),[p,k]=(0,s.useState)(()=>localStorage.getItem("missions-grid-preset")??"3x2"),[y,C]=(0,s.useState)(()=>{try{let e=localStorage.getItem("missions-grid-custom");if(e){let t=JSON.parse(e);if("number"==typeof t?.cols&&"number"==typeof t?.rows)return{cols:Math.max(1,Math.min(10,t.cols)),rows:Math.max(1,Math.min(10,t.rows))}}}catch{}return{cols:2,rows:2}}),[S,T]=(0,s.useState)(!1),[R,M]=(0,s.useState)(""),[E,D]=(0,s.useState)("input"),[$,O]=(0,s.useState)(0),z=(0,s.useRef)(new Map),H=(0,s.useRef)([]),W=(0,s.useRef)(2),F=(0,s.useRef)($);F.current=$;let U=(0,s.useCallback)((e,t)=>{t?z.current.set(e,t):z.current.delete(e)},[]),[V,_]=(0,s.useState)(new Map),[X,q]=(0,s.useState)(null),[J,Q]=(0,s.useState)(null),Y=(0,s.useRef)(V);(0,s.useEffect)(()=>{Y.current=V},[V]);let Z=(0,s.useRef)(m);(0,s.useEffect)(()=>{Z.current=m},[m]);let ee=(0,s.useRef)(new Map),et=f.find(e=>e.id===p)??f[2],es="custom"===p?y.cols:et.cols,er="custom"===p?y.rows:et.rows,ea=(0,s.useRef)(null),[en,ei]=(0,s.useState)("480px");(0,s.useEffect)(()=>{let e=ea.current;if(!e)return;let t=()=>{let t=(e.clientHeight-32-16*(er-1))/er;ei(`${Math.max(t,200)}px`)};t();let s=new ResizeObserver(t);return s.observe(e),()=>s.disconnect()},[er]);let el=(0,s.useCallback)((e,t)=>{e&&(k(e),localStorage.setItem("missions-grid-preset",e),"custom"===e&&t&&(C(t),localStorage.setItem("missions-grid-custom",JSON.stringify(t))))},[]),eo=(0,P.useSensors)((0,P.useSensor)(P.PointerSensor,{activationConstraint:{distance:8}})),ec=(0,s.useCallback)(e=>{let{active:t,over:s}=e;s&&t.id!==s.id&&x(e=>{let r=e.findIndex(e=>e.executionId===t.id),a=e.findIndex(e=>e.executionId===s.id);return(0,B.arrayMove)(e,r,a)})},[]),ed=(0,s.useCallback)((e,t)=>{if(Y.current.has(e))return;_(s=>new Map([...s,[e,t]]));let s=setTimeout(()=>{let t=Z.current.find(t=>t.executionId===e);t&&d(t.taskId),x(t=>t.filter(t=>t.executionId!==e)),_(t=>{let s=new Map(t);return s.delete(e),s}),ee.current.delete(e)},500);ee.current.set(e,s)},[d]);(0,s.useEffect)(()=>{let e=setInterval(async()=>{try{let e=await n();x(t=>{let s=Y.current,{merged:r,goneIds:a}=function({prev:e,fresh:t,removingIds:s}){let r=new Set(t.map(e=>e.executionId)),a=[];e.forEach(e=>{r.has(e.executionId)||s.has(e.executionId)||a.push(e.executionId)});let n=e.filter(e=>r.has(e.executionId)||s.has(e.executionId)),i=new Set(e.map(e=>e.executionId));return{merged:[...n,...t.filter(e=>!i.has(e.executionId))],goneIds:a}}({prev:t,fresh:e,removingIds:new Set(s.keys())});return a.forEach(e=>ed(e,"completed")),r})}catch{}},4e3);return()=>clearInterval(e)},[ed]),(0,s.useEffect)(()=>{let e=ee.current;return()=>{e.forEach(e=>clearTimeout(e))}},[]);let em=(0,s.useCallback)(async e=>{try{await (0,i.stopPtyExecution)(e),x(t=>{let s=t.find(t=>t.taskId===e);return s&&ed(s.executionId,"stopped"),t})}catch{h.toast.error(a("missions.error.stopFailed"))}},[ed,a]),eh=(0,s.useCallback)(async e=>{let t=e.taskId;try{let s=await (0,l.checkWorktreeClean)(t);if(s.hasWorktree&&!s.clean)return void Q({execution:e,files:s.files});if(s.hasWorktree&&s.clean&&!s.hasCommits)return void h.toast.error(a("taskPage.noChangesToComplete"),{action:{label:a("taskPage.markAsCancelled"),onClick:()=>{(0,o.updateTaskStatus)(t,"CANCELLED").then(()=>{ed(e.executionId,"stopped"),h.toast.success(a("taskPage.taskCancelled"))}).catch(()=>h.toast.error(a("missions.error.stopFailed")))}}});if(s.hasWorktree&&s.hasCommits)return void q({execution:e,commitLog:s.commitLog,commitCount:s.commitLog.length,baseBranch:s.baseBranch});await (0,o.updateTaskStatus)(t,"DONE"),ed(e.executionId,"completed"),h.toast.success(a("taskPage.taskCompleted"))}catch{h.toast.error(a("missions.error.completeFailed"))}},[ed,a]),ep=(0,s.useCallback)((e,t)=>{x(t=>{let s=t.find(t=>t.taskId===e);return s&&ed(s.executionId,"completed"),t})},[ed]),eg=(0,s.useCallback)(e=>{n().then(e=>{x(t=>{let s=new Set(t.map(e=>e.executionId));return[...t,...e.filter(e=>!s.has(e.executionId))]})}).catch(()=>{})},[]),ef=(0,s.useCallback)(e=>{let t=H.current;e<0||e>=t.length||(t[e]?.focus(),O(e),D("input"),ea.current?.querySelector(`[data-pane-index="${e}"]`)?.scrollIntoView({block:"nearest",inline:"nearest",behavior:"instant"}))},[]),ej=(0,s.useCallback)(()=>{let e=document.activeElement;e instanceof HTMLElement&&e.blur(),H.current[F.current]?.blur(),D("nav")},[]),eb=(0,s.useCallback)(()=>{ef(F.current)},[ef]),ek=(0,s.useCallback)(()=>{"input"===E?ej():eb()},[E,ej,eb]),ev=(0,s.useCallback)(()=>{let e=H.current.length;0!==e&&ef(A(F.current,e,1))},[ef]),ew=(0,s.useCallback)(()=>{let e=H.current.length;0!==e&&ef(A(F.current,e,-1))},[ef]),eN=(0,s.useCallback)(e=>{let t=H.current.length;0!==t&&(D("nav"),O(s=>(function(e,t,s,r){if(s<=0)return 0;let a=Math.max(1,t);switch(r){case"left":return A(e,s,-1);case"right":return A(e,s,1);case"up":{let t=e-a;return t<0?e:t}case"down":{let t=e+a;return t>=s?e:t}default:return e}})(s,W.current,t,e)))},[]),ey=(0,s.useCallback)(e=>{let t=H.current.length;0!==t&&(D("nav"),O(s=>A(s,t,e)))},[]);(0,ex.useActionShortcut)("missions.jump",e=>{let t=Number(e.key);Number.isInteger(t)&&t>=1&&ef(t-1)}),(0,ex.useActionShortcut)("missions.moveSelection",e=>{eN("ArrowUp"===e.key?"up":"ArrowDown"===e.key?"down":"ArrowLeft"===e.key?"left":"right")}),(0,ex.useActionShortcut)("missions.cycle",()=>ey(1)),(0,ex.useActionShortcut)("missions.cycleBack",()=>ey(-1)),(0,ex.useActionShortcut)("missions.focus",()=>eb()),(0,ex.useActionShortcut)("missions.next",()=>ev()),(0,ex.useActionShortcut)("missions.prev",()=>ew()),(0,ex.useActionShortcut)("missions.exit",()=>ej()),(0,s.useEffect)(()=>{let e=ea.current;if(!e)return;let t=e=>{let t=e.target,s=t?.closest("[data-pane-index]");if(!s)return;let r=Number(s.dataset.paneIndex);Number.isInteger(r)&&(O(r),D("input"))};return e.addEventListener("focusin",t),()=>e.removeEventListener("focusin",t)},[]);let eC=Array.from(new Map(m.map(e=>[e.workspaceId,e.workspaceName])).entries()).map(([e,t])=>({id:e,name:t})),eS=R?m.filter(e=>e.workspaceId===R):m;H.current=eS.map(e=>z.current.get(e.taskId)).filter(e=>!!e),W.current=es,(0,s.useEffect)(()=>{O(e=>{let t=eS.length;return 0===t?0:Math.min(e,t-1)})},[eS.length]);let eI=new Set(m.map(e=>e.taskId));return(0,t.jsxs)("div",{className:"flex h-full flex-col",children:[(0,t.jsxs)("div",{className:"header-sm shrink-0 px-4 flex items-center gap-3",children:[(0,t.jsx)("h1",{className:"text-base font-semibold",children:a("missions.pageTitle")}),(0,t.jsxs)(N.Tooltip,{children:[(0,t.jsxs)(N.TooltipTrigger,{render:(0,t.jsx)(u.Button,{variant:"ghost",className:`h-7 gap-1.5 px-2 shrink-0 text-xs font-medium text-muted-foreground ${"nav"===E?"bg-accent text-foreground":""}`,onClick:ek,disabled:0===eS.length}),children:[(0,t.jsx)(w.Keyboard,{className:"h-3.5 w-3.5"}),"input"===E?a("missions.mode.input"):a("missions.mode.nav")]}),(0,t.jsx)(N.TooltipContent,{className:"max-w-xs",children:a("missions.mode.toggleHint")})]}),(0,t.jsxs)(j.Select,{value:R,onValueChange:e=>M(e??""),children:[(0,t.jsx)(j.SelectTrigger,{className:"w-36 h-8",children:(0,t.jsx)("span",{className:"truncate",children:R?eC.find(e=>e.id===R)?.name??a("missions.filterAll"):a("missions.filterAll")})}),(0,t.jsxs)(j.SelectContent,{children:[(0,t.jsx)(j.SelectItem,{value:"",children:a("missions.filterAll")}),eC.map(e=>(0,t.jsx)(j.SelectItem,{value:e.id,children:e.name},e.id))]})]}),(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsx)(I,{value:p,customValue:y,onChange:el}),(0,t.jsx)(u.Button,{onClick:()=>T(!0),children:a("missions.launchTask")}),(0,t.jsx)(eu,{open:S,onOpenChange:T,onLaunched:eg,runningTaskIds:eI})]}),(0,t.jsx)("div",{ref:ea,className:"flex-1 overflow-auto min-h-0 p-4",children:0===eS.length&&0===V.size?(0,t.jsx)(b.EmptyState,{icon:v,title:a("missions.emptyTitle"),description:a("missions.emptyDesc"),className:"h-full",action:(0,t.jsx)(u.Button,{onClick:()=>T(!0),children:a("missions.launchTask")})}):(0,t.jsx)(P.DndContext,{id:"missions-dnd",sensors:eo,collisionDetection:P.closestCenter,onDragEnd:ec,children:(0,t.jsx)(B.SortableContext,{items:eS.map(e=>e.executionId),strategy:B.rectSortingStrategy,children:(0,t.jsx)("div",{className:"grid gap-4",style:{gridTemplateColumns:`repeat(${es}, 1fr)`,gridAutoRows:en},children:eS.map((e,s)=>(0,t.jsx)(G,{execution:e,isRemoving:V.has(e.executionId),removeReason:V.get(e.executionId),onStop:em,onComplete:eh,onSessionEnd:ep,index:s,onRegisterControls:U},e.executionId))})})})}),(0,t.jsx)(L,{open:"nav"===E,panes:eS,selectedIndex:$,onSelect:ef,onClose:eb}),J&&(0,t.jsx)(g,{open:!0,onOpenChange:e=>{e||Q(null)},taskId:J.execution.taskId,files:J.files,onCommitted:()=>{let e=J.execution;Q(null),eh(e)}}),X&&(0,t.jsx)(c.TaskMergeConfirmDialog,{open:!0,onOpenChange:e=>{e||q(null)},taskId:X.execution.taskId,taskTitle:X.execution.taskTitle,baseBranch:X.baseBranch,fileCount:0,commitCount:X.commitCount,commitLog:X.commitLog,onMergeComplete:()=>{ed(X.execution.executionId,"completed"),q(null),h.toast.success(a("taskPage.taskCompleted"))}})]})}],449636)}]);
|