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
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[144016,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(553798),e=a.i(634910),f=a.i(774881),g=a.i(607219),h=a.i(10390),i=a.i(269280),j=a.i(711796);let k=(0,j.default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);var l=a.i(699570),m=a.i(269876),n=a.i(157551),o=a.i(577565),p=a.i(207339),q=a.i(881107),r=a.i(394869),s=a.i(347165),t=a.i(350739);let u=(0,j.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);var v=a.i(690251);let w=(0,j.default)("package-check",[["path",{d:"M12 22V12",key:"d0xqtd"}],["path",{d:"m16 17 2 2 4-4",key:"uh5qu3"}],["path",{d:"M21 11.127V8a2 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.729l7 4a2 2 0 0 0 2 .001l1.32-.753",key:"kpkbpo"}],["path",{d:"M3.29 7 12 12l8.71-5",key:"19ckod"}],["path",{d:"m7.5 4.27 8.997 5.148",key:"9yrvtv"}]]),x=(0,j.default)("panel-right",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}]]);var y=a.i(785259),z=a.i(521007),A=a.i(551578),B=a.i(951192);function C(a){if(!a)return"";let b="string"==typeof a?new Date(a):a;if(isNaN(b.getTime()))return"";let c=String(b.getMonth()+1).padStart(2,"0"),d=String(b.getDate()).padStart(2,"0");return`${c}-${d}`}let D=Object.fromEntries(z.BOARD_COLUMNS.map(a=>[a.id,a.color]));function E({children:a,className:c}){return(0,b.jsx)("span",{className:`inline-flex items-center gap-1.5 rounded-md border border-border bg-muted/40 px-2 py-0.5 text-xs text-muted-foreground ${c??""}`,children:a})}function F({task:a,onOpenDetail:d}){let{t:e}=(0,B.useI18n)(),[f,g]=(0,c.useState)(!1),i="CANCELLED"===a.status?"text-muted-foreground line-through decoration-muted-foreground/40":"DONE"===a.status?"text-muted-foreground":"text-foreground";return(0,b.jsxs)("div",{className:"rounded-[10px]",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>g(a=>!a),className:"flex w-full items-center gap-2.5 rounded-[10px] px-2.5 py-2.5 text-left transition-colors hover:bg-muted/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,b.jsx)(h.ChevronRight,{className:`h-3.5 w-3.5 flex-none text-muted-foreground/60 transition-transform duration-150 ${f?"rotate-90":""}`}),(0,b.jsx)("span",{className:`h-2 w-2 flex-none rounded-full ${D[a.status]??"bg-slate-400"}`}),(0,b.jsx)("span",{className:`text-[13.5px] font-medium ${i}`,children:a.title}),a.labels.map(({label:a})=>(0,b.jsx)("span",{className:"rounded-full border border-border px-1.5 py-px text-[10.5px] text-muted-foreground",style:a.color?{borderColor:a.color+"55",color:a.color}:void 0,children:a.name},a.id)),(0,b.jsx)("span",{className:"flex-1"}),(0,b.jsx)("span",{className:"flex w-16 flex-none justify-center",children:(0,b.jsx)("span",{className:`rounded-[5px] px-1.5 py-px text-[10.5px] font-bold ${z.PRIORITY_CONFIG[a.priority]?.color??z.PRIORITY_CONFIG.LOW.color}`,children:a.priority})}),(0,b.jsx)("span",{className:"h-3 w-px bg-border flex-none"}),(0,b.jsxs)("span",{className:"flex w-[72px] flex-none items-center gap-1.5",children:[(0,b.jsx)("span",{className:`h-1.5 w-1.5 flex-none rounded-full ${D[a.status]??"bg-slate-400"}`}),(0,b.jsx)("span",{className:"truncate text-[10.5px] text-muted-foreground",children:e(`version.taskStatus.${a.status}`)})]}),(0,b.jsx)("span",{className:"h-3 w-px bg-border flex-none"}),(0,b.jsx)("span",{className:"flex w-6 flex-none justify-center",children:d&&(0,b.jsxs)(y.Tooltip,{children:[(0,b.jsx)(y.TooltipTrigger,{render:(0,b.jsx)(l.Button,{variant:"ghost",size:"icon",className:"h-6 w-6 text-muted-foreground",onClick:b=>{b.stopPropagation(),d(a.id)}}),children:(0,b.jsx)(x,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(y.TooltipContent,{children:e("version.detail")})]})})]}),f&&(0,b.jsxs)("div",{className:"flex flex-col gap-2.5 pb-3 pl-[30px] pr-3 pt-1",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"mb-1.5 flex items-center gap-1.5",children:[(0,b.jsx)(s.FolderOpen,{className:"h-3 w-3 text-muted-foreground/60"}),(0,b.jsx)("span",{className:"text-[11px] font-bold uppercase tracking-wide text-muted-foreground/60",children:e("version.resources")})]}),0===a.assets.length?(0,b.jsx)("p",{className:"text-[12px] italic text-muted-foreground/60",children:e("version.empty.resources")}):(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:a.assets.map(a=>{var c;let d=a.mimeType?.startsWith("image/");return(0,b.jsxs)("span",{className:"inline-flex cursor-pointer items-center gap-1.5 rounded-lg border border-border bg-background px-2.5 py-1.5 text-[12px] text-foreground shadow-sm transition-colors hover:border-primary/50",children:[d?(0,b.jsx)(u,{className:"h-3.5 w-3.5 text-muted-foreground"}):(0,b.jsx)(t.FileText,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,b.jsx)("span",{children:a.filename}),null!=a.size&&(0,b.jsx)("span",{className:"text-[11px] text-muted-foreground/60",children:(c=a.size)<1024?`${c} B`:c<1048576?`${Math.round(c/1024)} KB`:`${(c/1048576).toFixed(1)} MB`})]},a.id)})})]}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"mb-1.5 flex items-center gap-1.5",children:[(0,b.jsx)(t.FileText,{className:"h-3 w-3 text-muted-foreground/60"}),(0,b.jsx)("span",{className:"text-[11px] font-bold uppercase tracking-wide text-muted-foreground/60",children:e("version.notes")})]}),0===a.notes.length?(0,b.jsx)("p",{className:"text-[12px] italic text-muted-foreground/60",children:e("version.empty.notes")}):(0,b.jsx)("div",{className:"flex flex-col gap-1.5",children:a.notes.map(a=>(0,b.jsx)("div",{className:"rounded-lg border border-border border-l-violet-500/50 bg-background px-2.5 py-2 shadow-sm [border-left-width:3px]",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[12.5px] font-semibold text-foreground",children:a.title}),a.category&&(0,b.jsx)("span",{className:"rounded-[5px] border border-violet-500/30 bg-violet-500/15 px-1.5 py-px text-[10px] font-bold text-violet-300",children:a.category})]})},a.id))})]})]})]})}function G({version:a,diffStat:d,onEdit:e,onRelease:f,onViewDiff:g,onOpenTaskDetail:i}){var j;let k,{t:m}=(0,B.useI18n)(),[s,t]=(0,c.useState)(a.isCurrent),u="RELEASED"===a.status,x="ACTIVE"===a.status,z=a.tasks.length,D=a.tasks.filter(a=>"DONE"===a.status).length,H=!!(a.releaseCommit||d),I=(k=`${z} ${m("version.tasksCount")}`,D>0&&D<z?`${k} \xb7 ${D} ${m("version.doneCount")}`:D>0&&D===z?`${k} \xb7 ${m("version.allDone")}`:k);return(0,b.jsxs)("div",{className:["overflow-hidden rounded-[14px] border bg-card shadow-sm transition-shadow duration-150 hover:shadow-md",a.isCurrent?"border-border border-l-2 border-l-primary ring-1 ring-primary/20":"border-border",u?"opacity-[.96]":""].filter(Boolean).join(" "),children:[(0,b.jsx)("button",{type:"button",onClick:()=>t(a=>!a),className:"w-full text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:(0,b.jsxs)("div",{className:"px-4 py-3.5",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(h.ChevronRight,{className:`h-4 w-4 flex-none text-muted-foreground/60 transition-transform duration-150 ${s?"rotate-90":""}`}),(0,b.jsx)("span",{className:"font-mono text-[14.5px] font-bold text-foreground",children:a.number}),(0,b.jsx)("span",{className:"text-[14.5px] font-semibold text-foreground",children:a.name}),(0,b.jsx)(A.VersionTypeBadge,{name:a.type?.name??null}),(0,b.jsx)(A.VersionStatusBadge,{status:a.status}),a.isCurrent&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-full border border-primary/30 bg-primary/15 px-2.5 py-0.5 text-[11px] font-bold text-primary shadow-sm",children:[(0,b.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-primary opacity-90"}),m("version.current")]}),(0,b.jsx)("span",{className:"flex-1"}),z>0&&(0,b.jsx)("span",{className:"text-[11.5px] text-muted-foreground",children:I}),(0,b.jsxs)("span",{className:"flex items-center gap-1",onClick:a=>a.stopPropagation(),onKeyDown:a=>a.stopPropagation(),children:[e&&(0,b.jsxs)(y.Tooltip,{children:[(0,b.jsx)(y.TooltipTrigger,{render:(0,b.jsx)(l.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground",onClick:()=>e(a.id)}),children:(0,b.jsx)(v.Pencil,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(y.TooltipContent,{children:m("version.edit")})]}),x&&f&&(0,b.jsxs)(l.Button,{variant:"outline",className:"h-7 px-2 text-xs font-semibold",onClick:()=>f(a.id),children:[(0,b.jsx)(w,{className:"h-3.5 w-3.5"}),m("version.release")]})]})]}),(0,b.jsxs)("div",{className:"mt-2.5 flex flex-wrap items-center gap-2",children:[u&&a.releasedAt?(0,b.jsxs)(E,{children:[(0,b.jsx)(n.Calendar,{className:"h-3 w-3"}),m("version.releasedAt"),(0,b.jsx)("strong",{className:"text-foreground",children:C(a.releasedAt)})]}):a.startDate||a.targetDate?(0,b.jsxs)(E,{children:[(0,b.jsx)(n.Calendar,{className:"h-3 w-3"}),a.startDate?C(a.startDate):"—"," → ",a.targetDate?(0,b.jsx)("strong",{className:"text-foreground",children:C(a.targetDate)}):"—"]}):null,a.baseBranch&&(0,b.jsxs)(E,{children:[(0,b.jsx)(o.GitBranch,{className:"h-3 w-3"}),(0,b.jsx)("span",{className:"font-mono text-[11px] text-foreground",children:a.baseBranch})]}),a.baseCommit&&(0,b.jsxs)(E,{children:[(0,b.jsx)(p.GitCommitHorizontal,{className:"h-3 w-3"}),m("version.field.baseCommit"),(0,b.jsx)("span",{className:"font-mono text-[11px] text-foreground",children:(j=a.baseCommit)?j.slice(0,7):""})]}),u&&(0,b.jsxs)(E,{children:[(0,b.jsx)(q.Tag,{className:"h-3 w-3"}),(0,b.jsx)("span",{className:"font-mono text-[11px] text-foreground",children:a.number})]}),d&&(0,b.jsxs)(E,{children:[(0,b.jsx)(r.GitCompare,{className:"h-3 w-3"}),!u&&(0,b.jsx)("span",{className:"text-muted-foreground",children:m("version.diff.live")}),(0,b.jsxs)("span",{className:"font-bold text-emerald-400",children:["+",d.additions.toLocaleString()]}),(0,b.jsxs)("span",{className:"font-bold text-rose-400",children:["−",d.deletions.toLocaleString()]}),(0,b.jsxs)("span",{className:"text-muted-foreground",children:["· ",d.files," ",m("version.diff.files")]})]}),H&&g&&(0,b.jsxs)(l.Button,{variant:"ghost",size:"sm",className:"h-6 gap-1 px-2 text-xs text-muted-foreground",onClick:b=>{b.stopPropagation(),g(a.id)},children:[(0,b.jsx)(r.GitCompare,{className:"h-3 w-3"}),m("version.diff.view")," →"]})]}),a.description&&(0,b.jsx)("p",{className:"mt-2 text-[13px] text-muted-foreground",children:a.description})]})}),s&&z>0&&(0,b.jsx)("div",{className:"border-t border-dashed border-border bg-muted/40 px-2 pb-2 pt-1.5",children:a.tasks.map(a=>(0,b.jsx)(F,{task:a,onOpenDetail:i},a.id))})]})}var H=a.i(952313),I=a.i(668116),J=a.i(113047),K=a.i(814574),L=a.i(866718),M=a.i(412783),N=a.i(580701),O=a.i(599209),P=a.i(419622),Q=a.i(563658),R=a.i(429246),S=a.i(780410);let T=(0,S.createServerReference)("4085be16448a229feaae08c7cc7c1c8e589028276f",S.callServer,void 0,S.findSourceMapURL,"createVersion"),U=(0,S.createServerReference)("60d02dc757cf50c1e91e443c7d2324feb9ac31cef0",S.callServer,void 0,S.findSourceMapURL,"updateVersion"),V=(0,S.createServerReference)("400d03ee6a9eddfa8fae9fefe1d18e9f47de306c92",S.callServer,void 0,S.findSourceMapURL,"getVersionTypes");var W=a.i(867083),X=a.i(679799),Y=a.i(975231);let Z=(0,S.createServerReference)("40d27498ad732e19257536230ee6f2509d7320091c",S.callServer,void 0,S.findSourceMapURL,"createVersionType"),$=(0,S.createServerReference)("60e9db52192c3e093444154dd025b53368f1580173",S.callServer,void 0,S.findSourceMapURL,"updateVersionType"),_=(0,S.createServerReference)("405aaa19faceea4a5b60f695de5f03aaae40f71b13",S.callServer,void 0,S.findSourceMapURL,"deleteVersionType");function aa({open:a,onOpenChange:d,workspaceId:e,onChanged:f}){let{t:g}=(0,B.useI18n)(),[h,i]=(0,c.useState)([]),[j,k]=(0,c.useState)(""),[m,n]=(0,c.useState)({}),[o,p]=(0,c.useTransition)(),q=async()=>{let a=await V(e);i(a),n(b=>{let c={};return a.forEach(a=>{c[a.id]=a.id in b?b[a.id]:a.name}),c})};(0,c.useEffect)(()=>{a&&(q(),k(""))},[a,e]);let r=()=>{let a=j.trim();a&&p(async()=>{try{await Z({workspaceId:e,name:a}),k(""),await q(),f?.(),H.toast.success(g("version.type.add"))}catch(a){H.toast.error(a instanceof Error?a.message:String(a))}})};return(0,b.jsx)(K.Dialog,{open:a,onOpenChange:d,children:(0,b.jsxs)(K.DialogContent,{className:"sm:max-w-md",children:[(0,b.jsx)(K.DialogHeader,{children:(0,b.jsx)(K.DialogTitle,{children:g("version.manageTypes")})}),(0,b.jsxs)("div",{className:"flex flex-col gap-4 py-2",children:[(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(L.Input,{value:j,onChange:a=>k(a.target.value),placeholder:g("version.type.namePlaceholder"),disabled:o,onKeyDown:a=>{"Enter"===a.key&&r()},className:"flex-1"}),(0,b.jsx)(l.Button,{onClick:r,disabled:o||!j.trim(),children:g("version.type.add")})]}),0===h.length?(0,b.jsx)("p",{className:"text-center text-sm text-muted-foreground py-4",children:g("version.type.empty")}):(0,b.jsx)("div",{className:"flex flex-col gap-1.5",children:h.map(a=>(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-border bg-muted/30 px-3 py-2",children:[(0,b.jsx)("span",{className:`inline-flex h-2.5 w-2.5 flex-none rounded-full ${(0,A.typeBadgeColor)(m[a.id]??a.name).split(" ").filter(a=>a.startsWith("bg-"))[0]??"bg-muted"}`}),(0,b.jsx)(L.Input,{value:m[a.id]??a.name,onChange:b=>n(c=>({...c,[a.id]:b.target.value})),onBlur:()=>(a=>{let b=(m[a]??"").trim();if(!b)return;let c=h.find(b=>b.id===a);c?.name!==b&&p(async()=>{try{await $(a,{name:b}),await q(),f?.()}catch(b){H.toast.error(b instanceof Error?b.message:String(b)),n(b=>({...b,[a]:c?.name??""}))}})})(a.id),onKeyDown:a=>{"Enter"===a.key&&a.target.blur()},disabled:o,className:"h-7 flex-1 border-transparent bg-transparent shadow-none focus-visible:border-input focus-visible:bg-background focus-visible:shadow-sm"}),(0,b.jsx)(l.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 flex-none text-muted-foreground hover:text-destructive",onClick:()=>{var b;return b=a.id,void(window.confirm(g("version.type.deleteConfirm"))&&p(async()=>{try{await _(b),await q(),f?.()}catch(a){H.toast.error(a instanceof Error?a.message:String(a))}}))},disabled:o,children:(0,b.jsx)(Y.Trash2,{className:"h-3.5 w-3.5"})})]},a.id))})]})]})})}function ab(a){if(!a)return"";let b="string"==typeof a?new Date(a):a;if(isNaN(b.getTime()))return"";let c=b.getFullYear(),d=String(b.getMonth()+1).padStart(2,"0"),e=String(b.getDate()).padStart(2,"0");return`${c}-${d}-${e}`}function ac(a){if(!a)return;let b=new Date(a);return isNaN(b.getTime())?void 0:b}function ad({open:a,onOpenChange:d,projectId:e,workspaceId:f,editVersion:g,defaultBaseBranch:h,projectLocalPath:i,onSuccess:j}){let{t:k}=(0,B.useI18n)(),m=!!g,[n,p]=(0,c.useState)(""),[q,r]=(0,c.useState)(""),[s,t]=(0,c.useState)(""),[u,v]=(0,c.useState)([]),[w,x]=(0,c.useState)(!1),[y,z]=(0,c.useState)(""),[A,C]=(0,c.useState)(""),[D,E]=(0,c.useState)(""),[F,G]=(0,c.useState)(""),[S,Y]=(0,c.useState)(!1),[Z,$]=(0,c.useState)([]),[_,ae]=(0,c.useState)(!1),[af,ag]=(0,c.useState)(!1),ah=!!i,[ai,aj]=(0,c.useTransition)();return(0,c.useEffect)(()=>{a&&(g?(p(g.number),r(g.name),t(g.typeId??""),z(g.baseBranch??""),C(ab(g.startDate)),E(ab(g.targetDate)),G(g.description??"")):(p(""),r(""),t(""),z(h??""),C(""),E(""),G("")),Y(!1))},[a,g,h]),(0,c.useEffect)(()=>{a&&V(f).then(v).catch(()=>v([]))},[a,f]),(0,c.useEffect)(()=>{a&&ah?(ae(!0),(0,W.getProjectBranches)(i).then($).catch(()=>$([])).finally(()=>ae(!1)),(0,X.fetchRemoteBranches)(i).then(()=>(0,W.getProjectBranches)(i).then($)).catch(()=>{})):$([])},[a,ah,i]),(0,b.jsxs)(K.Dialog,{open:a,onOpenChange:d,children:[(0,b.jsxs)(K.DialogContent,{className:"sm:max-w-md",children:[(0,b.jsx)(K.DialogHeader,{children:(0,b.jsx)(K.DialogTitle,{children:m?k("version.edit"):k("version.new")})}),(0,b.jsxs)("div",{className:"grid gap-4 py-2",children:[(0,b.jsxs)("div",{className:"grid gap-1.5",children:[(0,b.jsxs)(M.Label,{htmlFor:"version-number",children:[k("version.field.number"),(0,b.jsx)("span",{className:"text-destructive ml-0.5",children:"*"})]}),(0,b.jsx)(L.Input,{id:"version-number",value:n,onChange:a=>p(a.target.value),placeholder:k("version.placeholder.number"),disabled:ai})]}),(0,b.jsxs)("div",{className:"grid gap-1.5",children:[(0,b.jsxs)(M.Label,{htmlFor:"version-name",children:[k("version.field.name"),(0,b.jsx)("span",{className:"text-destructive ml-0.5",children:"*"})]}),(0,b.jsx)(L.Input,{id:"version-name",value:q,onChange:a=>r(a.target.value),placeholder:k("version.placeholder.name"),disabled:ai})]}),(0,b.jsxs)("div",{className:"grid gap-1.5",children:[(0,b.jsx)(M.Label,{children:k("version.field.type")}),(0,b.jsxs)(N.Select,{value:s||"__none__",onValueChange:a=>{t(a&&"__none__"!==a?a:"")},children:[(0,b.jsx)(N.SelectTrigger,{className:"w-full",disabled:ai,children:(0,b.jsx)("span",{className:"truncate",children:s?u.find(a=>a.id===s)?.name??k("version.type.uncategorized"):k("version.type.uncategorized")})}),(0,b.jsxs)(N.SelectContent,{children:[(0,b.jsx)(N.SelectItem,{value:"__none__",children:k("version.type.uncategorized")}),u.map(a=>(0,b.jsx)(N.SelectItem,{value:a.id,children:a.name},a.id))]})]}),(0,b.jsxs)(l.Button,{type:"button",variant:"ghost",size:"sm",className:"h-auto justify-start px-0 py-0.5 text-xs text-muted-foreground hover:text-foreground",onClick:()=>x(!0),disabled:ai,children:["+ ",k("version.manageTypes")]})]}),(0,b.jsxs)("div",{className:"grid gap-1.5",children:[(0,b.jsx)(M.Label,{children:k("version.field.baseBranch")}),_?(0,b.jsx)("div",{className:"text-sm text-muted-foreground",children:k("task.branchLoading")}):ah&&Z.length>0?(0,b.jsxs)(O.Popover,{open:af,onOpenChange:ag,children:[(0,b.jsxs)(O.PopoverTrigger,{className:"flex h-8 w-full items-center gap-2 rounded-lg border border-input bg-transparent px-3 text-sm transition-colors hover:bg-accent focus:outline-none focus-visible:ring-3 focus-visible:ring-ring/50 disabled:opacity-50",disabled:ai,"data-testid":"version-branch-selector",children:[(0,b.jsx)(o.GitBranch,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:`flex-1 truncate text-left text-xs ${y?"font-mono":"text-muted-foreground"}`,title:y||void 0,children:y||k("version.field.noBranch")}),(0,b.jsx)(J.ChevronsUpDown,{className:"h-3.5 w-3.5 shrink-0 opacity-50"})]}),(0,b.jsx)(O.PopoverContent,{className:"w-[min(32rem,90vw)] p-0",align:"start",children:(0,b.jsxs)(P.Command,{children:[(0,b.jsx)(P.CommandInput,{placeholder:k("task.branchSearch")}),(0,b.jsxs)(P.CommandList,{children:[(0,b.jsx)(P.CommandEmpty,{children:k("task.branchNone")}),(0,b.jsxs)(P.CommandGroup,{children:[(0,b.jsxs)(P.CommandItem,{value:"__none__",onSelect:()=>{z(""),ag(!1)},children:[(0,b.jsx)("span",{className:"flex-1 truncate text-muted-foreground",children:k("version.field.noBranch")}),!y&&(0,b.jsx)(I.Check,{className:"ml-auto h-3 w-3 shrink-0 text-primary"})]}),Z.map(a=>(0,b.jsxs)(P.CommandItem,{value:a,onSelect:()=>{z(a),ag(!1)},children:[(0,b.jsx)(o.GitBranch,{className:"mr-2 h-3 w-3 shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"flex-1 truncate font-mono",title:a,children:a}),a===y&&(0,b.jsx)(I.Check,{className:"ml-auto h-3 w-3 shrink-0 text-primary"})]},a))]})]})]})})]}):(0,b.jsx)(L.Input,{id:"version-base-branch",value:y,onChange:a=>z(a.target.value),placeholder:"main",disabled:ai})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,b.jsxs)("div",{className:"grid gap-1.5",children:[(0,b.jsx)(M.Label,{htmlFor:"version-start-date",children:k("version.field.startDate")}),(0,b.jsx)("input",{id:"version-start-date",type:"date",value:A,onChange:a=>C(a.target.value),disabled:ai,className:"h-8 w-full rounded-lg border border-input bg-transparent px-2.5 py-1 text-sm outline-none transition-colors focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50"})]}),(0,b.jsxs)("div",{className:"grid gap-1.5",children:[(0,b.jsx)(M.Label,{htmlFor:"version-target-date",children:k("version.field.targetDate")}),(0,b.jsx)("input",{id:"version-target-date",type:"date",value:D,onChange:a=>E(a.target.value),disabled:ai,className:"h-8 w-full rounded-lg border border-input bg-transparent px-2.5 py-1 text-sm outline-none transition-colors focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50"})]})]}),(0,b.jsxs)("div",{className:"grid gap-1.5",children:[(0,b.jsx)(M.Label,{htmlFor:"version-description",children:k("version.field.description")}),(0,b.jsx)(R.Textarea,{id:"version-description",value:F,onChange:a=>G(a.target.value),rows:3,disabled:ai})]}),!m&&(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(Q.Switch,{id:"version-set-current",checked:S,onCheckedChange:Y,disabled:ai}),(0,b.jsx)(M.Label,{htmlFor:"version-set-current",className:"cursor-pointer",children:k("version.field.setCurrent")})]})]}),(0,b.jsxs)(K.DialogFooter,{children:[(0,b.jsx)(l.Button,{variant:"outline",onClick:()=>d(!1),disabled:ai,children:k("common.cancel")}),(0,b.jsx)(l.Button,{onClick:()=>{n.trim()&&q.trim()&&aj(async()=>{try{m&&g?await U(g.id,{number:n.trim(),name:q.trim(),typeId:s||null,baseBranch:y.trim()||null,startDate:ac(A)??null,targetDate:ac(D)??null,description:F.trim()||null}):await T({projectId:e,number:n.trim(),name:q.trim(),typeId:s||void 0,baseBranch:y.trim()||void 0,startDate:ac(A),targetDate:ac(D),description:F.trim()||void 0,setCurrent:S}),H.toast.success(m?k("version.edit"):k("version.new")),d(!1),j?.()}catch(a){H.toast.error(a instanceof Error?a.message:String(a))}})},disabled:ai||!n.trim()||!q.trim(),children:m?k("common.save"):k("common.create")})]})]}),(0,b.jsx)(aa,{open:w,onOpenChange:x,workspaceId:f,onChanged:()=>V(f).then(v)})]})}let ae=(0,S.createServerReference)("6081960dab5f669bf35d552dd7fb0bc160acc138fb",S.callServer,void 0,S.findSourceMapURL,"releaseVersion");function af({open:a,onOpenChange:d,version:e,candidates:f,onSuccess:g}){let{t:h}=(0,B.useI18n)(),[i,j]=(0,c.useState)(""),[k,m]=(0,c.useTransition)();(0,c.useEffect)(()=>{a&&j("")},[a,e]);let n=f.find(a=>a.id===i),o=f.length>0,p=o&&!!i&&!k;return(0,b.jsx)(K.Dialog,{open:a,onOpenChange:d,children:(0,b.jsxs)(K.DialogContent,{className:"sm:max-w-md",children:[(0,b.jsx)(K.DialogHeader,{children:(0,b.jsx)(K.DialogTitle,{children:h("version.releaseAction")})}),(0,b.jsxs)("div",{className:"grid gap-4 py-2",children:[e&&(0,b.jsxs)("p",{className:"text-sm text-muted-foreground",children:[e.number," · ",e.name]}),(0,b.jsxs)("div",{className:"text-sm",children:[(0,b.jsx)("span",{children:h("version.release.rolloverHint")}),e?.unfinishedCount!==void 0&&e.unfinishedCount>0&&(0,b.jsxs)("span",{className:"ml-1 font-medium text-foreground",children:["(",e.unfinishedCount,")"]})]}),(0,b.jsxs)("div",{className:"grid gap-1.5",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:h("version.release.nextVersion")}),o?(0,b.jsxs)(N.Select,{value:i,onValueChange:a=>{a&&j(a)},disabled:k,children:[(0,b.jsx)(N.SelectTrigger,{className:"w-full",children:(0,b.jsx)("span",{className:"truncate",children:n?`${n.number} \xb7 ${n.name}`:""})}),(0,b.jsx)(N.SelectContent,{children:f.map(a=>(0,b.jsxs)(N.SelectItem,{value:a.id,children:[a.number," · ",a.name]},a.id))})]}):(0,b.jsx)("p",{className:"text-xs text-destructive",children:h("version.release.noCandidates")})]})]}),(0,b.jsxs)(K.DialogFooter,{children:[(0,b.jsx)(l.Button,{variant:"outline",onClick:()=>d(!1),disabled:k,children:h("common.cancel")}),(0,b.jsx)(l.Button,{onClick:()=>{e&&i&&m(async()=>{try{await ae(e.id,i),H.toast.success(h("version.release")),d(!1),g?.()}catch(a){H.toast.error(a instanceof Error?a.message:String(a))}})},disabled:!p,children:h("version.release")})]})]})})}var ag=a.i(704494);let ah=(0,S.createServerReference)("400c32c013a24f81d0dfe8dc05381bfbfd92f1805d",S.callServer,void 0,S.findSourceMapURL,"getVersionDiff");var ai=a.i(514872);function aj({file:a}){let{t:d}=(0,B.useI18n)(),[e,f]=(0,c.useState)(!0),g=a.to&&"/dev/null"!==a.to?a.to:a.from??"",i=a.additions??0,j=a.deletions??0,k=[];for(let b of a.chunks)for(let a of(k.push({type:"normal",content:b.content,chunkHeader:b.content}),b.changes))k.push({type:a.type,content:a.content});let l=k.length>500,m=l?k.slice(0,500):k;return(0,b.jsxs)("div",{className:"overflow-hidden rounded-[10px] border border-border",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>f(a=>!a),className:"flex w-full items-center gap-2 bg-muted/40 px-3 py-2 text-left transition-colors hover:bg-accent/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,b.jsx)(h.ChevronRight,{className:`h-3.5 w-3.5 flex-none text-muted-foreground/60 transition-transform duration-150 ${e?"rotate-90":""}`}),(0,b.jsx)("span",{className:"flex-1 truncate font-mono text-[12px] font-medium text-foreground",children:g}),(0,b.jsxs)("span",{className:"shrink-0 font-mono text-[11px] font-bold text-emerald-400",children:["+",i]}),(0,b.jsxs)("span",{className:"shrink-0 font-mono text-[11px] font-bold text-rose-400",children:["−",j]})]}),e&&(0,b.jsxs)("div",{className:"overflow-x-auto",children:[(0,b.jsx)("pre",{className:"m-0 p-0",children:m.map((a,c)=>void 0!==a.chunkHeader?(0,b.jsx)("div",{className:"whitespace-pre px-3 py-px font-mono text-xs text-muted-foreground bg-muted/40",children:a.content},c):"add"===a.type?(0,b.jsx)("div",{className:"whitespace-pre px-3 py-px font-mono text-xs text-emerald-300 bg-emerald-500/10",children:a.content},c):"del"===a.type?(0,b.jsx)("div",{className:"whitespace-pre px-3 py-px font-mono text-xs text-rose-300 bg-rose-500/10",children:a.content},c):(0,b.jsx)("div",{className:"whitespace-pre px-3 py-px font-mono text-xs text-muted-foreground",children:a.content},c))}),l&&(0,b.jsx)("p",{className:"border-t border-border px-3 py-2 text-[11px] text-muted-foreground/70 italic",children:d("version.diff.truncated")})]})]})}function ak({open:a,onOpenChange:d,versionId:e,versionLabel:f}){let{t:g}=(0,B.useI18n)(),[h,i]=(0,c.useTransition)(),[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{a&&e&&(k(null),m(!1),i(async()=>{let a=await ah(e);if(!a)return void m(!0);let b=(0,ai.parseUnifiedDiff)(a.patch);0===b.length||""===a.patch?m(!0):k(b)}))},[a,e]),(0,b.jsx)(K.Dialog,{open:a,onOpenChange:d,children:(0,b.jsxs)(K.DialogContent,{className:"sm:max-w-3xl max-h-[80vh] overflow-auto",children:[(0,b.jsx)(K.DialogHeader,{children:(0,b.jsxs)(K.DialogTitle,{children:[g("version.diff.title"),f?` — ${f}`:""]})}),h&&(0,b.jsxs)("div",{className:"flex items-center justify-center gap-2 py-12 text-muted-foreground",children:[(0,b.jsx)(ag.Loader2,{className:"h-5 w-5 animate-spin"}),(0,b.jsx)("span",{className:"text-sm",children:g("version.diff.loading")})]}),!h&&l&&(0,b.jsx)("p",{className:"py-10 text-center text-sm text-muted-foreground",children:g("version.diff.empty")}),!h&&j&&j.length>0&&(0,b.jsx)("div",{className:"flex flex-col gap-2",children:j.map((a,c)=>(0,b.jsx)(aj,{file:a},c))})]})})}var al=a.i(972420),am=a.i(258815);function an({version:a,isFirst:c,isLast:d,dashed:e=!1,diffStat:f,onEdit:g,onRelease:h,onViewDiff:i,onOpenTaskDetail:j}){return(0,b.jsxs)("div",{className:"flex gap-4",children:[(0,b.jsxs)("div",{className:"relative flex w-5 flex-none flex-col items-center",children:[(0,b.jsx)("div",{className:["w-px flex-none",c?"h-0":"h-6",e?"bg-[repeating-linear-gradient(to_bottom,var(--border)_0_4px,transparent_4px_8px)]":"bg-border"].filter(Boolean).join(" ")}),(0,b.jsx)("div",{className:["z-10 h-3.5 w-3.5 flex-none rounded-full border-2",a.isCurrent?"border-primary bg-primary ring-2 ring-primary/30":"ACTIVE"===a.status?"border-emerald-400 bg-emerald-400":"RELEASED"===a.status?"border-zinc-500 bg-zinc-500":"border-muted-foreground/40 bg-transparent border-dashed"].join(" ")}),!d&&(0,b.jsx)("div",{className:["w-px flex-1",e?"bg-[repeating-linear-gradient(to_bottom,var(--border)_0_4px,transparent_4px_8px)]":"bg-border"].join(" ")})]}),(0,b.jsx)("div",{className:"min-w-0 flex-1 pb-5",children:(0,b.jsx)(G,{version:a,diffStat:f??null,onEdit:g,onRelease:h,onViewDiff:i,onOpenTaskDetail:j})})]})}a.s(["VersionTimelineClient",0,function({project:a,workspaceId:j,versions:n,diffStats:o,backlog:p}){let q,{t:r}=(0,B.useI18n)(),s=(0,d.useRouter)();(0,c.useEffect)(()=>{(0,am.setLastProjectId)(j,a.id)},[j,a.id]);let[t,u]=(0,c.useState)(!1),[v,w]=(0,c.useState)(null),[x,y]=(0,c.useState)(!1),[z,A]=(0,c.useState)(!1),[C,D]=(0,c.useState)(null),[E,G]=(0,c.useState)(null),[H,I]=(0,c.useState)(null),[J,K]=(0,c.useState)(!1),L=[...[...n.filter(a=>"RELEASED"!==a.status)].sort((a,b)=>{if(!a.targetDate&&!b.targetDate)return 0;if(!a.targetDate)return 1;if(!b.targetDate)return -1;let c=new Date(b.targetDate).getTime()-new Date(a.targetDate).getTime();return 0!==c?c:new Date(b.createdAt).getTime()-new Date(a.createdAt).getTime()}),...[...n.filter(a=>"RELEASED"===a.status)].sort((a,b)=>a.releasedAt||b.releasedAt?a.releasedAt?b.releasedAt?new Date(b.releasedAt).getTime()-new Date(a.releasedAt).getTime():-1:1:0)],M=a=>{let b=n.find(b=>b.id===a);b&&(w({id:b.id,number:b.number,name:b.name,typeId:b.typeId??null,baseBranch:b.baseBranch,startDate:b.startDate,targetDate:b.targetDate,description:b.description}),u(!0))},N=a=>{let b=n.find(b=>b.id===a);b&&(D(b),A(!0))},O=a=>{G(a)},P=()=>{w(null),u(!0)},Q=()=>{s.refresh()},R=C?n.filter(a=>a.id!==C.id&&("PLANNED"===a.status||"ACTIVE"===a.status)).map(a=>({id:a.id,number:a.number,name:a.name})):[],S=C?C.tasks.filter(a=>"DONE"!==a.status&&"CANCELLED"!==a.status).length:void 0;return(0,b.jsxs)("div",{className:"flex h-full flex-col overflow-hidden",children:[(0,b.jsxs)("div",{className:"header-xl flex shrink-0 items-center gap-4 border-b px-6",children:[(0,b.jsxs)(e.default,{href:`/workspaces/${j}?projectId=${a.id}`,className:"flex items-center gap-1.5 text-sm text-muted-foreground transition-colors hover:text-foreground",children:[(0,b.jsx)(i.ArrowLeft,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:r("archive.backToBoard")})]}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)("span",{className:"truncate font-medium",children:a.name}),(0,b.jsx)("span",{children:"/"}),(0,b.jsx)("span",{children:r("version.timeline")})]}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground/70",children:r("version.historyHint")})]}),(0,b.jsxs)(l.Button,{variant:"outline",onClick:()=>y(!0),children:[(0,b.jsx)(k,{className:"h-4 w-4"}),r("version.manageTypes")]}),(0,b.jsxs)(l.Button,{onClick:P,children:[(0,b.jsx)(f.Plus,{className:"h-4 w-4"}),r("version.new")]})]}),(0,b.jsx)(m.ScrollArea,{className:"min-h-0 flex-1",children:(0,b.jsx)("div",{className:"px-6 py-6",children:(0,b.jsxs)("div",{className:"mx-auto max-w-3xl",children:[0===n.length&&0===p.length&&(0,b.jsxs)("div",{className:"flex flex-col items-center gap-4 py-20 text-center text-muted-foreground",children:[(0,b.jsx)("p",{className:"text-sm",children:r("version.empty.list")}),(0,b.jsxs)(l.Button,{variant:"outline",onClick:P,children:[(0,b.jsx)(f.Plus,{className:"h-4 w-4"}),r("version.new")]})]}),L.length>0&&(0,b.jsx)("div",{className:"relative",children:L.map((a,c)=>(0,b.jsx)(an,{version:a,isFirst:0===c,isLast:c===L.length-1&&0===p.length,diffStat:o[a.id],onEdit:M,onRelease:N,onViewDiff:O,onOpenTaskDetail:I},a.id))}),p.length>0&&(0,b.jsxs)("div",{className:"flex gap-4",children:[(0,b.jsxs)("div",{className:"relative flex w-5 flex-none flex-col items-center",children:[(0,b.jsx)("div",{className:"h-6 w-px bg-[repeating-linear-gradient(to_bottom,var(--border)_0_4px,transparent_4px_8px)]"}),(0,b.jsx)("div",{className:"z-10 h-3.5 w-3.5 flex-none rounded-full border-2 border-dashed border-muted-foreground/40 bg-transparent"})]}),(0,b.jsx)("div",{className:"min-w-0 flex-1 pb-5",children:(0,b.jsxs)("div",{className:"overflow-hidden rounded-[14px] border border-dashed bg-muted/40 shadow-sm",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>K(a=>!a),className:"w-full px-4 py-3 text-left transition-colors hover:bg-accent/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,b.jsx)(h.ChevronRight,{className:`h-3.5 w-3.5 flex-none text-muted-foreground/60 transition-transform duration-150 ${J?"rotate-90":""}`}),(0,b.jsx)(g.Archive,{className:"h-4 w-4 flex-none text-muted-foreground/70"}),(0,b.jsx)("span",{className:"text-sm font-semibold text-foreground",children:r("version.history")}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:r("version.historySub")}),(0,b.jsx)("span",{className:"flex-1"}),(0,b.jsxs)("span",{className:"text-[11.5px] text-muted-foreground",children:[p.length," ",r("version.tasksCount")]})]}),(0,b.jsx)("p",{className:"mt-2 text-xs text-muted-foreground/70",children:r("version.historyHint")})]}),J&&(0,b.jsx)("div",{className:"border-t border-dashed border-border px-2 pb-2 pt-1.5",children:p.map(a=>(0,b.jsx)(F,{task:a,onOpenDetail:I},a.id))})]})})]})]})})}),(0,b.jsx)(ad,{open:t,onOpenChange:a=>{u(a),a||w(null)},projectId:a.id,workspaceId:j,editVersion:v,defaultBaseBranch:null,projectLocalPath:a.localPath,onSuccess:Q}),(0,b.jsx)(aa,{open:x,onOpenChange:y,workspaceId:j,onChanged:()=>s.refresh()}),(0,b.jsx)(af,{open:z,onOpenChange:a=>{A(a),a||D(null)},version:C?{id:C.id,number:C.number,name:C.name,unfinishedCount:S}:null,candidates:R,onSuccess:Q}),(0,b.jsx)(ak,{open:!!E,onOpenChange:a=>{a||G(null)},versionId:E,versionLabel:E&&(q=n.find(a=>a.id===E))?`${q.number} ${q.name}`:void 0}),(0,b.jsx)(al.TaskOverviewDrawer,{open:!!H,onOpenChange:a=>{a||I(null)},taskId:H})]})}],144016)}];
|
|
1
|
+
module.exports=[144016,a=>{"use strict";var b=a.i(728778),c=a.i(374637),d=a.i(553798),e=a.i(634910),f=a.i(774881),g=a.i(607219),h=a.i(10390),i=a.i(269280),j=a.i(711796);let k=(0,j.default)("settings-2",[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);var l=a.i(699570),m=a.i(269876),n=a.i(157551),o=a.i(577565),p=a.i(207339),q=a.i(881107),r=a.i(394869),s=a.i(347165),t=a.i(350739);let u=(0,j.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);var v=a.i(690251);let w=(0,j.default)("package-check",[["path",{d:"M12 22V12",key:"d0xqtd"}],["path",{d:"m16 17 2 2 4-4",key:"uh5qu3"}],["path",{d:"M21 11.127V8a2 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.729l7 4a2 2 0 0 0 2 .001l1.32-.753",key:"kpkbpo"}],["path",{d:"M3.29 7 12 12l8.71-5",key:"19ckod"}],["path",{d:"m7.5 4.27 8.997 5.148",key:"9yrvtv"}]]),x=(0,j.default)("panel-right",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}]]);var y=a.i(785259),z=a.i(521007),A=a.i(551578),B=a.i(951192);function C(a){if(!a)return"";let b="string"==typeof a?new Date(a):a;if(isNaN(b.getTime()))return"";let c=String(b.getMonth()+1).padStart(2,"0"),d=String(b.getDate()).padStart(2,"0");return`${c}-${d}`}let D=Object.fromEntries(z.BOARD_COLUMNS.map(a=>[a.id,a.color]));function E({children:a,className:c}){return(0,b.jsx)("span",{className:`inline-flex items-center gap-1.5 rounded-md border border-border bg-muted/40 px-2 py-0.5 text-xs text-muted-foreground ${c??""}`,children:a})}function F({task:a,onOpenDetail:d}){let{t:e}=(0,B.useI18n)(),[f,g]=(0,c.useState)(!1),i="CANCELLED"===a.status?"text-muted-foreground line-through decoration-muted-foreground/40":"DONE"===a.status?"text-muted-foreground":"text-foreground";return(0,b.jsxs)("div",{className:"rounded-[10px]",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>g(a=>!a),className:"flex w-full items-center gap-2.5 rounded-[10px] px-2.5 py-2.5 text-left transition-colors hover:bg-muted/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,b.jsx)(h.ChevronRight,{className:`h-3.5 w-3.5 flex-none text-muted-foreground/60 transition-transform duration-150 ${f?"rotate-90":""}`}),(0,b.jsx)("span",{className:`h-2 w-2 flex-none rounded-full ${D[a.status]??"bg-slate-400"}`}),(0,b.jsx)("span",{className:`text-[13.5px] font-medium ${i}`,children:a.title}),a.labels.map(({label:a})=>(0,b.jsx)("span",{className:"rounded-full border border-border px-1.5 py-px text-[10.5px] text-muted-foreground",style:a.color?{borderColor:a.color+"55",color:a.color}:void 0,children:a.name},a.id)),(0,b.jsx)("span",{className:"flex-1"}),(0,b.jsx)("span",{className:"flex w-16 flex-none justify-center",children:(0,b.jsx)("span",{className:`rounded-[5px] px-1.5 py-px text-[10.5px] font-bold ${z.PRIORITY_CONFIG[a.priority]?.color??z.PRIORITY_CONFIG.LOW.color}`,children:a.priority})}),(0,b.jsx)("span",{className:"h-3 w-px bg-border flex-none"}),(0,b.jsxs)("span",{className:"flex w-[72px] flex-none items-center gap-1.5",children:[(0,b.jsx)("span",{className:`h-1.5 w-1.5 flex-none rounded-full ${D[a.status]??"bg-slate-400"}`}),(0,b.jsx)("span",{className:"truncate text-[10.5px] text-muted-foreground",children:e(`version.taskStatus.${a.status}`)})]}),(0,b.jsx)("span",{className:"h-3 w-px bg-border flex-none"}),(0,b.jsx)("span",{className:"flex w-6 flex-none justify-center",children:d&&(0,b.jsxs)(y.Tooltip,{children:[(0,b.jsx)(y.TooltipTrigger,{render:(0,b.jsx)(l.Button,{variant:"ghost",size:"icon",className:"h-6 w-6 text-muted-foreground",onClick:b=>{b.stopPropagation(),d(a.id)}}),children:(0,b.jsx)(x,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(y.TooltipContent,{children:e("version.detail")})]})})]}),f&&(0,b.jsxs)("div",{className:"flex flex-col gap-2.5 pb-3 pl-[30px] pr-3 pt-1",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"mb-1.5 flex items-center gap-1.5",children:[(0,b.jsx)(s.FolderOpen,{className:"h-3 w-3 text-muted-foreground/60"}),(0,b.jsx)("span",{className:"text-[11px] font-bold uppercase tracking-wide text-muted-foreground/60",children:e("version.resources")})]}),0===a.assets.length?(0,b.jsx)("p",{className:"text-[12px] italic text-muted-foreground/60",children:e("version.empty.resources")}):(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:a.assets.map(a=>{var c;let d=a.mimeType?.startsWith("image/");return(0,b.jsxs)("span",{className:"inline-flex cursor-pointer items-center gap-1.5 rounded-lg border border-border bg-background px-2.5 py-1.5 text-[12px] text-foreground shadow-sm transition-colors hover:border-primary/50",children:[d?(0,b.jsx)(u,{className:"h-3.5 w-3.5 text-muted-foreground"}):(0,b.jsx)(t.FileText,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,b.jsx)("span",{children:a.filename}),null!=a.size&&(0,b.jsx)("span",{className:"text-[11px] text-muted-foreground/60",children:(c=a.size)<1024?`${c} B`:c<1048576?`${Math.round(c/1024)} KB`:`${(c/1048576).toFixed(1)} MB`})]},a.id)})})]}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"mb-1.5 flex items-center gap-1.5",children:[(0,b.jsx)(t.FileText,{className:"h-3 w-3 text-muted-foreground/60"}),(0,b.jsx)("span",{className:"text-[11px] font-bold uppercase tracking-wide text-muted-foreground/60",children:e("version.notes")})]}),0===a.notes.length?(0,b.jsx)("p",{className:"text-[12px] italic text-muted-foreground/60",children:e("version.empty.notes")}):(0,b.jsx)("div",{className:"flex flex-col gap-1.5",children:a.notes.map(a=>(0,b.jsx)("div",{className:"rounded-lg border border-border border-l-violet-500/50 bg-background px-2.5 py-2 shadow-sm [border-left-width:3px]",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-[12.5px] font-semibold text-foreground",children:a.title}),a.category&&(0,b.jsx)("span",{className:"rounded-[5px] border border-violet-500/30 bg-violet-500/15 px-1.5 py-px text-[10px] font-bold text-violet-300",children:a.category})]})},a.id))})]})]})]})}function G({version:a,diffStat:d,onEdit:e,onRelease:f,onViewDiff:g,onOpenTaskDetail:i}){var j;let k,{t:m}=(0,B.useI18n)(),[s,t]=(0,c.useState)(a.isCurrent),u="RELEASED"===a.status,x="ACTIVE"===a.status,z=a.tasks.length,D=a.tasks.filter(a=>"DONE"===a.status).length,H=!!(a.releaseCommit||d),I=(k=`${z} ${m("version.tasksCount")}`,D>0&&D<z?`${k} \xb7 ${D} ${m("version.doneCount")}`:D>0&&D===z?`${k} \xb7 ${m("version.allDone")}`:k);return(0,b.jsxs)("div",{className:["overflow-hidden rounded-[14px] border bg-card shadow-sm transition-shadow duration-150 hover:shadow-md",a.isCurrent?"border-border border-l-2 border-l-primary ring-1 ring-primary/20":"border-border",u?"opacity-[.96]":""].filter(Boolean).join(" "),children:[(0,b.jsx)("button",{type:"button",onClick:()=>t(a=>!a),className:"w-full text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:(0,b.jsxs)("div",{className:"px-4 py-3.5",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)(h.ChevronRight,{className:`h-4 w-4 flex-none text-muted-foreground/60 transition-transform duration-150 ${s?"rotate-90":""}`}),(0,b.jsx)("span",{className:"font-mono text-[14.5px] font-bold text-foreground",children:a.number}),(0,b.jsx)("span",{className:"text-[14.5px] font-semibold text-foreground",children:a.name}),(0,b.jsx)(A.VersionTypeBadge,{name:a.type?.name??null}),(0,b.jsx)(A.VersionStatusBadge,{status:a.status}),a.isCurrent&&(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-full border border-primary/30 bg-primary/15 px-2.5 py-0.5 text-[11px] font-bold text-primary shadow-sm",children:[(0,b.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-primary opacity-90"}),m("version.current")]}),(0,b.jsx)("span",{className:"flex-1"}),z>0&&(0,b.jsx)("span",{className:"text-[11.5px] text-muted-foreground",children:I}),(0,b.jsxs)("span",{className:"flex items-center gap-1",onClick:a=>a.stopPropagation(),onKeyDown:a=>a.stopPropagation(),children:[e&&(0,b.jsxs)(y.Tooltip,{children:[(0,b.jsx)(y.TooltipTrigger,{render:(0,b.jsx)(l.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground",onClick:()=>e(a.id)}),children:(0,b.jsx)(v.Pencil,{className:"h-3.5 w-3.5"})}),(0,b.jsx)(y.TooltipContent,{children:m("version.edit")})]}),x&&f&&(0,b.jsxs)(l.Button,{variant:"outline",className:"h-7 px-2 text-xs font-semibold",onClick:()=>f(a.id),children:[(0,b.jsx)(w,{className:"h-3.5 w-3.5"}),m("version.release")]})]})]}),(0,b.jsxs)("div",{className:"mt-2.5 flex flex-wrap items-center gap-2",children:[u&&a.releasedAt?(0,b.jsxs)(E,{children:[(0,b.jsx)(n.Calendar,{className:"h-3 w-3"}),m("version.releasedAt"),(0,b.jsx)("strong",{className:"text-foreground",children:C(a.releasedAt)})]}):a.startDate||a.targetDate?(0,b.jsxs)(E,{children:[(0,b.jsx)(n.Calendar,{className:"h-3 w-3"}),a.startDate?C(a.startDate):"—"," → ",a.targetDate?(0,b.jsx)("strong",{className:"text-foreground",children:C(a.targetDate)}):"—"]}):null,a.baseBranch&&(0,b.jsxs)(E,{children:[(0,b.jsx)(o.GitBranch,{className:"h-3 w-3"}),(0,b.jsx)("span",{className:"font-mono text-[11px] text-foreground",children:a.baseBranch})]}),a.baseCommit&&(0,b.jsxs)(E,{children:[(0,b.jsx)(p.GitCommitHorizontal,{className:"h-3 w-3"}),m("version.field.baseCommit"),(0,b.jsx)("span",{className:"font-mono text-[11px] text-foreground",children:(j=a.baseCommit)?j.slice(0,7):""})]}),u&&(0,b.jsxs)(E,{children:[(0,b.jsx)(q.Tag,{className:"h-3 w-3"}),(0,b.jsx)("span",{className:"font-mono text-[11px] text-foreground",children:a.number})]}),d&&(0,b.jsxs)(E,{children:[(0,b.jsx)(r.GitCompare,{className:"h-3 w-3"}),!u&&(0,b.jsx)("span",{className:"text-muted-foreground",children:m("version.diff.live")}),(0,b.jsxs)("span",{className:"font-bold text-emerald-400",children:["+",d.additions.toLocaleString()]}),(0,b.jsxs)("span",{className:"font-bold text-rose-400",children:["−",d.deletions.toLocaleString()]}),(0,b.jsxs)("span",{className:"text-muted-foreground",children:["· ",d.files," ",m("version.diff.files")]})]}),H&&g&&(0,b.jsxs)(l.Button,{variant:"ghost",size:"sm",className:"h-6 gap-1 px-2 text-xs text-muted-foreground",onClick:b=>{b.stopPropagation(),g(a.id)},children:[(0,b.jsx)(r.GitCompare,{className:"h-3 w-3"}),m("version.diff.view")," →"]})]}),a.description&&(0,b.jsx)("p",{className:"mt-2 text-[13px] text-muted-foreground",children:a.description})]})}),s&&z>0&&(0,b.jsx)("div",{className:"border-t border-dashed border-border bg-muted/40 px-2 pb-2 pt-1.5",children:a.tasks.map(a=>(0,b.jsx)(F,{task:a,onOpenDetail:i},a.id))})]})}var H=a.i(952313),I=a.i(668116),J=a.i(113047),K=a.i(814574),L=a.i(866718),M=a.i(412783),N=a.i(580701),O=a.i(599209),P=a.i(419622),Q=a.i(563658),R=a.i(429246),S=a.i(780410);let T=(0,S.createServerReference)("40bc3db222d18a7d1f3fe8d2bf07f32d2a262abdbf",S.callServer,void 0,S.findSourceMapURL,"createVersion"),U=(0,S.createServerReference)("60077f13f60c9afa25b48093b33d18042cb78961c0",S.callServer,void 0,S.findSourceMapURL,"updateVersion"),V=(0,S.createServerReference)("401899e36b734e820dfb4101e4f398d564a7f52ac0",S.callServer,void 0,S.findSourceMapURL,"getVersionTypes");var W=a.i(828317),X=a.i(297318),Y=a.i(975231);let Z=(0,S.createServerReference)("40a32914a1d0938e1aa55aabb97da561ccc18b6864",S.callServer,void 0,S.findSourceMapURL,"createVersionType"),$=(0,S.createServerReference)("607f3b8fe05b8bad197519b688fe874d3885aa8b39",S.callServer,void 0,S.findSourceMapURL,"updateVersionType"),_=(0,S.createServerReference)("40bfc90981d1c8cac859b71d62f449100479760781",S.callServer,void 0,S.findSourceMapURL,"deleteVersionType");function aa({open:a,onOpenChange:d,workspaceId:e,onChanged:f}){let{t:g}=(0,B.useI18n)(),[h,i]=(0,c.useState)([]),[j,k]=(0,c.useState)(""),[m,n]=(0,c.useState)({}),[o,p]=(0,c.useTransition)(),q=async()=>{let a=await V(e);i(a),n(b=>{let c={};return a.forEach(a=>{c[a.id]=a.id in b?b[a.id]:a.name}),c})};(0,c.useEffect)(()=>{a&&(q(),k(""))},[a,e]);let r=()=>{let a=j.trim();a&&p(async()=>{try{await Z({workspaceId:e,name:a}),k(""),await q(),f?.(),H.toast.success(g("version.type.add"))}catch(a){H.toast.error(a instanceof Error?a.message:String(a))}})};return(0,b.jsx)(K.Dialog,{open:a,onOpenChange:d,children:(0,b.jsxs)(K.DialogContent,{className:"sm:max-w-md",children:[(0,b.jsx)(K.DialogHeader,{children:(0,b.jsx)(K.DialogTitle,{children:g("version.manageTypes")})}),(0,b.jsxs)("div",{className:"flex flex-col gap-4 py-2",children:[(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(L.Input,{value:j,onChange:a=>k(a.target.value),placeholder:g("version.type.namePlaceholder"),disabled:o,onKeyDown:a=>{"Enter"===a.key&&r()},className:"flex-1"}),(0,b.jsx)(l.Button,{onClick:r,disabled:o||!j.trim(),children:g("version.type.add")})]}),0===h.length?(0,b.jsx)("p",{className:"text-center text-sm text-muted-foreground py-4",children:g("version.type.empty")}):(0,b.jsx)("div",{className:"flex flex-col gap-1.5",children:h.map(a=>(0,b.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-border bg-muted/30 px-3 py-2",children:[(0,b.jsx)("span",{className:`inline-flex h-2.5 w-2.5 flex-none rounded-full ${(0,A.typeBadgeColor)(m[a.id]??a.name).split(" ").filter(a=>a.startsWith("bg-"))[0]??"bg-muted"}`}),(0,b.jsx)(L.Input,{value:m[a.id]??a.name,onChange:b=>n(c=>({...c,[a.id]:b.target.value})),onBlur:()=>(a=>{let b=(m[a]??"").trim();if(!b)return;let c=h.find(b=>b.id===a);c?.name!==b&&p(async()=>{try{await $(a,{name:b}),await q(),f?.()}catch(b){H.toast.error(b instanceof Error?b.message:String(b)),n(b=>({...b,[a]:c?.name??""}))}})})(a.id),onKeyDown:a=>{"Enter"===a.key&&a.target.blur()},disabled:o,className:"h-7 flex-1 border-transparent bg-transparent shadow-none focus-visible:border-input focus-visible:bg-background focus-visible:shadow-sm"}),(0,b.jsx)(l.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 flex-none text-muted-foreground hover:text-destructive",onClick:()=>{var b;return b=a.id,void(window.confirm(g("version.type.deleteConfirm"))&&p(async()=>{try{await _(b),await q(),f?.()}catch(a){H.toast.error(a instanceof Error?a.message:String(a))}}))},disabled:o,children:(0,b.jsx)(Y.Trash2,{className:"h-3.5 w-3.5"})})]},a.id))})]})]})})}function ab(a){if(!a)return"";let b="string"==typeof a?new Date(a):a;if(isNaN(b.getTime()))return"";let c=b.getFullYear(),d=String(b.getMonth()+1).padStart(2,"0"),e=String(b.getDate()).padStart(2,"0");return`${c}-${d}-${e}`}function ac(a){if(!a)return;let b=new Date(a);return isNaN(b.getTime())?void 0:b}function ad({open:a,onOpenChange:d,projectId:e,workspaceId:f,editVersion:g,defaultBaseBranch:h,projectLocalPath:i,onSuccess:j}){let{t:k}=(0,B.useI18n)(),m=!!g,[n,p]=(0,c.useState)(""),[q,r]=(0,c.useState)(""),[s,t]=(0,c.useState)(""),[u,v]=(0,c.useState)([]),[w,x]=(0,c.useState)(!1),[y,z]=(0,c.useState)(""),[A,C]=(0,c.useState)(""),[D,E]=(0,c.useState)(""),[F,G]=(0,c.useState)(""),[S,Y]=(0,c.useState)(!1),[Z,$]=(0,c.useState)([]),[_,ae]=(0,c.useState)(!1),[af,ag]=(0,c.useState)(!1),ah=!!i,[ai,aj]=(0,c.useTransition)();return(0,c.useEffect)(()=>{a&&(g?(p(g.number),r(g.name),t(g.typeId??""),z(g.baseBranch??""),C(ab(g.startDate)),E(ab(g.targetDate)),G(g.description??"")):(p(""),r(""),t(""),z(h??""),C(""),E(""),G("")),Y(!1))},[a,g,h]),(0,c.useEffect)(()=>{a&&V(f).then(v).catch(()=>v([]))},[a,f]),(0,c.useEffect)(()=>{a&&ah?(ae(!0),(0,W.getProjectBranches)(i).then($).catch(()=>$([])).finally(()=>ae(!1)),(0,X.fetchRemoteBranches)(i).then(()=>(0,W.getProjectBranches)(i).then($)).catch(()=>{})):$([])},[a,ah,i]),(0,b.jsxs)(K.Dialog,{open:a,onOpenChange:d,children:[(0,b.jsxs)(K.DialogContent,{className:"sm:max-w-md",children:[(0,b.jsx)(K.DialogHeader,{children:(0,b.jsx)(K.DialogTitle,{children:m?k("version.edit"):k("version.new")})}),(0,b.jsxs)("div",{className:"grid gap-4 py-2",children:[(0,b.jsxs)("div",{className:"grid gap-1.5",children:[(0,b.jsxs)(M.Label,{htmlFor:"version-number",children:[k("version.field.number"),(0,b.jsx)("span",{className:"text-destructive ml-0.5",children:"*"})]}),(0,b.jsx)(L.Input,{id:"version-number",value:n,onChange:a=>p(a.target.value),placeholder:k("version.placeholder.number"),disabled:ai})]}),(0,b.jsxs)("div",{className:"grid gap-1.5",children:[(0,b.jsxs)(M.Label,{htmlFor:"version-name",children:[k("version.field.name"),(0,b.jsx)("span",{className:"text-destructive ml-0.5",children:"*"})]}),(0,b.jsx)(L.Input,{id:"version-name",value:q,onChange:a=>r(a.target.value),placeholder:k("version.placeholder.name"),disabled:ai})]}),(0,b.jsxs)("div",{className:"grid gap-1.5",children:[(0,b.jsx)(M.Label,{children:k("version.field.type")}),(0,b.jsxs)(N.Select,{value:s||"__none__",onValueChange:a=>{t(a&&"__none__"!==a?a:"")},children:[(0,b.jsx)(N.SelectTrigger,{className:"w-full",disabled:ai,children:(0,b.jsx)("span",{className:"truncate",children:s?u.find(a=>a.id===s)?.name??k("version.type.uncategorized"):k("version.type.uncategorized")})}),(0,b.jsxs)(N.SelectContent,{children:[(0,b.jsx)(N.SelectItem,{value:"__none__",children:k("version.type.uncategorized")}),u.map(a=>(0,b.jsx)(N.SelectItem,{value:a.id,children:a.name},a.id))]})]}),(0,b.jsxs)(l.Button,{type:"button",variant:"ghost",size:"sm",className:"h-auto justify-start px-0 py-0.5 text-xs text-muted-foreground hover:text-foreground",onClick:()=>x(!0),disabled:ai,children:["+ ",k("version.manageTypes")]})]}),(0,b.jsxs)("div",{className:"grid gap-1.5",children:[(0,b.jsx)(M.Label,{children:k("version.field.baseBranch")}),_?(0,b.jsx)("div",{className:"text-sm text-muted-foreground",children:k("task.branchLoading")}):ah&&Z.length>0?(0,b.jsxs)(O.Popover,{open:af,onOpenChange:ag,children:[(0,b.jsxs)(O.PopoverTrigger,{className:"flex h-8 w-full items-center gap-2 rounded-lg border border-input bg-transparent px-3 text-sm transition-colors hover:bg-accent focus:outline-none focus-visible:ring-3 focus-visible:ring-ring/50 disabled:opacity-50",disabled:ai,"data-testid":"version-branch-selector",children:[(0,b.jsx)(o.GitBranch,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:`flex-1 truncate text-left text-xs ${y?"font-mono":"text-muted-foreground"}`,title:y||void 0,children:y||k("version.field.noBranch")}),(0,b.jsx)(J.ChevronsUpDown,{className:"h-3.5 w-3.5 shrink-0 opacity-50"})]}),(0,b.jsx)(O.PopoverContent,{className:"w-[min(32rem,90vw)] p-0",align:"start",children:(0,b.jsxs)(P.Command,{children:[(0,b.jsx)(P.CommandInput,{placeholder:k("task.branchSearch")}),(0,b.jsxs)(P.CommandList,{children:[(0,b.jsx)(P.CommandEmpty,{children:k("task.branchNone")}),(0,b.jsxs)(P.CommandGroup,{children:[(0,b.jsxs)(P.CommandItem,{value:"__none__",onSelect:()=>{z(""),ag(!1)},children:[(0,b.jsx)("span",{className:"flex-1 truncate text-muted-foreground",children:k("version.field.noBranch")}),!y&&(0,b.jsx)(I.Check,{className:"ml-auto h-3 w-3 shrink-0 text-primary"})]}),Z.map(a=>(0,b.jsxs)(P.CommandItem,{value:a,onSelect:()=>{z(a),ag(!1)},children:[(0,b.jsx)(o.GitBranch,{className:"mr-2 h-3 w-3 shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"flex-1 truncate font-mono",title:a,children:a}),a===y&&(0,b.jsx)(I.Check,{className:"ml-auto h-3 w-3 shrink-0 text-primary"})]},a))]})]})]})})]}):(0,b.jsx)(L.Input,{id:"version-base-branch",value:y,onChange:a=>z(a.target.value),placeholder:"main",disabled:ai})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,b.jsxs)("div",{className:"grid gap-1.5",children:[(0,b.jsx)(M.Label,{htmlFor:"version-start-date",children:k("version.field.startDate")}),(0,b.jsx)("input",{id:"version-start-date",type:"date",value:A,onChange:a=>C(a.target.value),disabled:ai,className:"h-8 w-full rounded-lg border border-input bg-transparent px-2.5 py-1 text-sm outline-none transition-colors focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50"})]}),(0,b.jsxs)("div",{className:"grid gap-1.5",children:[(0,b.jsx)(M.Label,{htmlFor:"version-target-date",children:k("version.field.targetDate")}),(0,b.jsx)("input",{id:"version-target-date",type:"date",value:D,onChange:a=>E(a.target.value),disabled:ai,className:"h-8 w-full rounded-lg border border-input bg-transparent px-2.5 py-1 text-sm outline-none transition-colors focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50"})]})]}),(0,b.jsxs)("div",{className:"grid gap-1.5",children:[(0,b.jsx)(M.Label,{htmlFor:"version-description",children:k("version.field.description")}),(0,b.jsx)(R.Textarea,{id:"version-description",value:F,onChange:a=>G(a.target.value),rows:3,disabled:ai})]}),!m&&(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(Q.Switch,{id:"version-set-current",checked:S,onCheckedChange:Y,disabled:ai}),(0,b.jsx)(M.Label,{htmlFor:"version-set-current",className:"cursor-pointer",children:k("version.field.setCurrent")})]})]}),(0,b.jsxs)(K.DialogFooter,{children:[(0,b.jsx)(l.Button,{variant:"outline",onClick:()=>d(!1),disabled:ai,children:k("common.cancel")}),(0,b.jsx)(l.Button,{onClick:()=>{n.trim()&&q.trim()&&aj(async()=>{try{m&&g?await U(g.id,{number:n.trim(),name:q.trim(),typeId:s||null,baseBranch:y.trim()||null,startDate:ac(A)??null,targetDate:ac(D)??null,description:F.trim()||null}):await T({projectId:e,number:n.trim(),name:q.trim(),typeId:s||void 0,baseBranch:y.trim()||void 0,startDate:ac(A),targetDate:ac(D),description:F.trim()||void 0,setCurrent:S}),H.toast.success(m?k("version.edit"):k("version.new")),d(!1),j?.()}catch(a){H.toast.error(a instanceof Error?a.message:String(a))}})},disabled:ai||!n.trim()||!q.trim(),children:m?k("common.save"):k("common.create")})]})]}),(0,b.jsx)(aa,{open:w,onOpenChange:x,workspaceId:f,onChanged:()=>V(f).then(v)})]})}let ae=(0,S.createServerReference)("6003fee002a3b86e015e3b3901d151146beba6d7a4",S.callServer,void 0,S.findSourceMapURL,"releaseVersion");function af({open:a,onOpenChange:d,version:e,candidates:f,onSuccess:g}){let{t:h}=(0,B.useI18n)(),[i,j]=(0,c.useState)(""),[k,m]=(0,c.useTransition)();(0,c.useEffect)(()=>{a&&j("")},[a,e]);let n=f.find(a=>a.id===i),o=f.length>0,p=o&&!!i&&!k;return(0,b.jsx)(K.Dialog,{open:a,onOpenChange:d,children:(0,b.jsxs)(K.DialogContent,{className:"sm:max-w-md",children:[(0,b.jsx)(K.DialogHeader,{children:(0,b.jsx)(K.DialogTitle,{children:h("version.releaseAction")})}),(0,b.jsxs)("div",{className:"grid gap-4 py-2",children:[e&&(0,b.jsxs)("p",{className:"text-sm text-muted-foreground",children:[e.number," · ",e.name]}),(0,b.jsxs)("div",{className:"text-sm",children:[(0,b.jsx)("span",{children:h("version.release.rolloverHint")}),e?.unfinishedCount!==void 0&&e.unfinishedCount>0&&(0,b.jsxs)("span",{className:"ml-1 font-medium text-foreground",children:["(",e.unfinishedCount,")"]})]}),(0,b.jsxs)("div",{className:"grid gap-1.5",children:[(0,b.jsx)("label",{className:"text-sm font-medium",children:h("version.release.nextVersion")}),o?(0,b.jsxs)(N.Select,{value:i,onValueChange:a=>{a&&j(a)},disabled:k,children:[(0,b.jsx)(N.SelectTrigger,{className:"w-full",children:(0,b.jsx)("span",{className:"truncate",children:n?`${n.number} \xb7 ${n.name}`:""})}),(0,b.jsx)(N.SelectContent,{children:f.map(a=>(0,b.jsxs)(N.SelectItem,{value:a.id,children:[a.number," · ",a.name]},a.id))})]}):(0,b.jsx)("p",{className:"text-xs text-destructive",children:h("version.release.noCandidates")})]})]}),(0,b.jsxs)(K.DialogFooter,{children:[(0,b.jsx)(l.Button,{variant:"outline",onClick:()=>d(!1),disabled:k,children:h("common.cancel")}),(0,b.jsx)(l.Button,{onClick:()=>{e&&i&&m(async()=>{try{await ae(e.id,i),H.toast.success(h("version.release")),d(!1),g?.()}catch(a){H.toast.error(a instanceof Error?a.message:String(a))}})},disabled:!p,children:h("version.release")})]})]})})}var ag=a.i(704494);let ah=(0,S.createServerReference)("405446caa6b89c6ec1309722d66f1a6f6c5e15df32",S.callServer,void 0,S.findSourceMapURL,"getVersionDiff");var ai=a.i(514872);function aj({file:a}){let{t:d}=(0,B.useI18n)(),[e,f]=(0,c.useState)(!0),g=a.to&&"/dev/null"!==a.to?a.to:a.from??"",i=a.additions??0,j=a.deletions??0,k=[];for(let b of a.chunks)for(let a of(k.push({type:"normal",content:b.content,chunkHeader:b.content}),b.changes))k.push({type:a.type,content:a.content});let l=k.length>500,m=l?k.slice(0,500):k;return(0,b.jsxs)("div",{className:"overflow-hidden rounded-[10px] border border-border",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>f(a=>!a),className:"flex w-full items-center gap-2 bg-muted/40 px-3 py-2 text-left transition-colors hover:bg-accent/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,b.jsx)(h.ChevronRight,{className:`h-3.5 w-3.5 flex-none text-muted-foreground/60 transition-transform duration-150 ${e?"rotate-90":""}`}),(0,b.jsx)("span",{className:"flex-1 truncate font-mono text-[12px] font-medium text-foreground",children:g}),(0,b.jsxs)("span",{className:"shrink-0 font-mono text-[11px] font-bold text-emerald-400",children:["+",i]}),(0,b.jsxs)("span",{className:"shrink-0 font-mono text-[11px] font-bold text-rose-400",children:["−",j]})]}),e&&(0,b.jsxs)("div",{className:"overflow-x-auto",children:[(0,b.jsx)("pre",{className:"m-0 p-0",children:m.map((a,c)=>void 0!==a.chunkHeader?(0,b.jsx)("div",{className:"whitespace-pre px-3 py-px font-mono text-xs text-muted-foreground bg-muted/40",children:a.content},c):"add"===a.type?(0,b.jsx)("div",{className:"whitespace-pre px-3 py-px font-mono text-xs text-emerald-300 bg-emerald-500/10",children:a.content},c):"del"===a.type?(0,b.jsx)("div",{className:"whitespace-pre px-3 py-px font-mono text-xs text-rose-300 bg-rose-500/10",children:a.content},c):(0,b.jsx)("div",{className:"whitespace-pre px-3 py-px font-mono text-xs text-muted-foreground",children:a.content},c))}),l&&(0,b.jsx)("p",{className:"border-t border-border px-3 py-2 text-[11px] text-muted-foreground/70 italic",children:d("version.diff.truncated")})]})]})}function ak({open:a,onOpenChange:d,versionId:e,versionLabel:f}){let{t:g}=(0,B.useI18n)(),[h,i]=(0,c.useTransition)(),[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{a&&e&&(k(null),m(!1),i(async()=>{let a=await ah(e);if(!a)return void m(!0);let b=(0,ai.parseUnifiedDiff)(a.patch);0===b.length||""===a.patch?m(!0):k(b)}))},[a,e]),(0,b.jsx)(K.Dialog,{open:a,onOpenChange:d,children:(0,b.jsxs)(K.DialogContent,{className:"sm:max-w-3xl max-h-[80vh] overflow-auto",children:[(0,b.jsx)(K.DialogHeader,{children:(0,b.jsxs)(K.DialogTitle,{children:[g("version.diff.title"),f?` — ${f}`:""]})}),h&&(0,b.jsxs)("div",{className:"flex items-center justify-center gap-2 py-12 text-muted-foreground",children:[(0,b.jsx)(ag.Loader2,{className:"h-5 w-5 animate-spin"}),(0,b.jsx)("span",{className:"text-sm",children:g("version.diff.loading")})]}),!h&&l&&(0,b.jsx)("p",{className:"py-10 text-center text-sm text-muted-foreground",children:g("version.diff.empty")}),!h&&j&&j.length>0&&(0,b.jsx)("div",{className:"flex flex-col gap-2",children:j.map((a,c)=>(0,b.jsx)(aj,{file:a},c))})]})})}var al=a.i(972420),am=a.i(258815);function an({version:a,isFirst:c,isLast:d,dashed:e=!1,diffStat:f,onEdit:g,onRelease:h,onViewDiff:i,onOpenTaskDetail:j}){return(0,b.jsxs)("div",{className:"flex gap-4",children:[(0,b.jsxs)("div",{className:"relative flex w-5 flex-none flex-col items-center",children:[(0,b.jsx)("div",{className:["w-px flex-none",c?"h-0":"h-6",e?"bg-[repeating-linear-gradient(to_bottom,var(--border)_0_4px,transparent_4px_8px)]":"bg-border"].filter(Boolean).join(" ")}),(0,b.jsx)("div",{className:["z-10 h-3.5 w-3.5 flex-none rounded-full border-2",a.isCurrent?"border-primary bg-primary ring-2 ring-primary/30":"ACTIVE"===a.status?"border-emerald-400 bg-emerald-400":"RELEASED"===a.status?"border-zinc-500 bg-zinc-500":"border-muted-foreground/40 bg-transparent border-dashed"].join(" ")}),!d&&(0,b.jsx)("div",{className:["w-px flex-1",e?"bg-[repeating-linear-gradient(to_bottom,var(--border)_0_4px,transparent_4px_8px)]":"bg-border"].join(" ")})]}),(0,b.jsx)("div",{className:"min-w-0 flex-1 pb-5",children:(0,b.jsx)(G,{version:a,diffStat:f??null,onEdit:g,onRelease:h,onViewDiff:i,onOpenTaskDetail:j})})]})}a.s(["VersionTimelineClient",0,function({project:a,workspaceId:j,versions:n,diffStats:o,backlog:p}){let q,{t:r}=(0,B.useI18n)(),s=(0,d.useRouter)();(0,c.useEffect)(()=>{(0,am.setLastProjectId)(j,a.id)},[j,a.id]);let[t,u]=(0,c.useState)(!1),[v,w]=(0,c.useState)(null),[x,y]=(0,c.useState)(!1),[z,A]=(0,c.useState)(!1),[C,D]=(0,c.useState)(null),[E,G]=(0,c.useState)(null),[H,I]=(0,c.useState)(null),[J,K]=(0,c.useState)(!1),L=[...[...n.filter(a=>"RELEASED"!==a.status)].sort((a,b)=>{if(!a.targetDate&&!b.targetDate)return 0;if(!a.targetDate)return 1;if(!b.targetDate)return -1;let c=new Date(b.targetDate).getTime()-new Date(a.targetDate).getTime();return 0!==c?c:new Date(b.createdAt).getTime()-new Date(a.createdAt).getTime()}),...[...n.filter(a=>"RELEASED"===a.status)].sort((a,b)=>a.releasedAt||b.releasedAt?a.releasedAt?b.releasedAt?new Date(b.releasedAt).getTime()-new Date(a.releasedAt).getTime():-1:1:0)],M=a=>{let b=n.find(b=>b.id===a);b&&(w({id:b.id,number:b.number,name:b.name,typeId:b.typeId??null,baseBranch:b.baseBranch,startDate:b.startDate,targetDate:b.targetDate,description:b.description}),u(!0))},N=a=>{let b=n.find(b=>b.id===a);b&&(D(b),A(!0))},O=a=>{G(a)},P=()=>{w(null),u(!0)},Q=()=>{s.refresh()},R=C?n.filter(a=>a.id!==C.id&&("PLANNED"===a.status||"ACTIVE"===a.status)).map(a=>({id:a.id,number:a.number,name:a.name})):[],S=C?C.tasks.filter(a=>"DONE"!==a.status&&"CANCELLED"!==a.status).length:void 0;return(0,b.jsxs)("div",{className:"flex h-full flex-col overflow-hidden",children:[(0,b.jsxs)("div",{className:"header-xl flex shrink-0 items-center gap-4 border-b px-6",children:[(0,b.jsxs)(e.default,{href:`/workspaces/${j}?projectId=${a.id}`,className:"flex items-center gap-1.5 text-sm text-muted-foreground transition-colors hover:text-foreground",children:[(0,b.jsx)(i.ArrowLeft,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:r("archive.backToBoard")})]}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)("span",{className:"truncate font-medium",children:a.name}),(0,b.jsx)("span",{children:"/"}),(0,b.jsx)("span",{children:r("version.timeline")})]}),(0,b.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground/70",children:r("version.historyHint")})]}),(0,b.jsxs)(l.Button,{variant:"outline",onClick:()=>y(!0),children:[(0,b.jsx)(k,{className:"h-4 w-4"}),r("version.manageTypes")]}),(0,b.jsxs)(l.Button,{onClick:P,children:[(0,b.jsx)(f.Plus,{className:"h-4 w-4"}),r("version.new")]})]}),(0,b.jsx)(m.ScrollArea,{className:"min-h-0 flex-1",children:(0,b.jsx)("div",{className:"px-6 py-6",children:(0,b.jsxs)("div",{className:"mx-auto max-w-3xl",children:[0===n.length&&0===p.length&&(0,b.jsxs)("div",{className:"flex flex-col items-center gap-4 py-20 text-center text-muted-foreground",children:[(0,b.jsx)("p",{className:"text-sm",children:r("version.empty.list")}),(0,b.jsxs)(l.Button,{variant:"outline",onClick:P,children:[(0,b.jsx)(f.Plus,{className:"h-4 w-4"}),r("version.new")]})]}),L.length>0&&(0,b.jsx)("div",{className:"relative",children:L.map((a,c)=>(0,b.jsx)(an,{version:a,isFirst:0===c,isLast:c===L.length-1&&0===p.length,diffStat:o[a.id],onEdit:M,onRelease:N,onViewDiff:O,onOpenTaskDetail:I},a.id))}),p.length>0&&(0,b.jsxs)("div",{className:"flex gap-4",children:[(0,b.jsxs)("div",{className:"relative flex w-5 flex-none flex-col items-center",children:[(0,b.jsx)("div",{className:"h-6 w-px bg-[repeating-linear-gradient(to_bottom,var(--border)_0_4px,transparent_4px_8px)]"}),(0,b.jsx)("div",{className:"z-10 h-3.5 w-3.5 flex-none rounded-full border-2 border-dashed border-muted-foreground/40 bg-transparent"})]}),(0,b.jsx)("div",{className:"min-w-0 flex-1 pb-5",children:(0,b.jsxs)("div",{className:"overflow-hidden rounded-[14px] border border-dashed bg-muted/40 shadow-sm",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>K(a=>!a),className:"w-full px-4 py-3 text-left transition-colors hover:bg-accent/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,b.jsx)(h.ChevronRight,{className:`h-3.5 w-3.5 flex-none text-muted-foreground/60 transition-transform duration-150 ${J?"rotate-90":""}`}),(0,b.jsx)(g.Archive,{className:"h-4 w-4 flex-none text-muted-foreground/70"}),(0,b.jsx)("span",{className:"text-sm font-semibold text-foreground",children:r("version.history")}),(0,b.jsx)("span",{className:"text-xs text-muted-foreground",children:r("version.historySub")}),(0,b.jsx)("span",{className:"flex-1"}),(0,b.jsxs)("span",{className:"text-[11.5px] text-muted-foreground",children:[p.length," ",r("version.tasksCount")]})]}),(0,b.jsx)("p",{className:"mt-2 text-xs text-muted-foreground/70",children:r("version.historyHint")})]}),J&&(0,b.jsx)("div",{className:"border-t border-dashed border-border px-2 pb-2 pt-1.5",children:p.map(a=>(0,b.jsx)(F,{task:a,onOpenDetail:I},a.id))})]})})]})]})})}),(0,b.jsx)(ad,{open:t,onOpenChange:a=>{u(a),a||w(null)},projectId:a.id,workspaceId:j,editVersion:v,defaultBaseBranch:null,projectLocalPath:a.localPath,onSuccess:Q}),(0,b.jsx)(aa,{open:x,onOpenChange:y,workspaceId:j,onChanged:()=>s.refresh()}),(0,b.jsx)(af,{open:z,onOpenChange:a=>{A(a),a||D(null)},version:C?{id:C.id,number:C.number,name:C.name,unfinishedCount:S}:null,candidates:R,onSuccess:Q}),(0,b.jsx)(ak,{open:!!E,onOpenChange:a=>{a||G(null)},versionId:E,versionLabel:E&&(q=n.find(a=>a.id===E))?`${q.number} ${q.name}`:void 0}),(0,b.jsx)(al.TaskOverviewDrawer,{open:!!H,onOpenChange:a=>{a||I(null)},taskId:H})]})}],144016)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=0iu._%5BworkspaceId%5D_projects_%5BprojectId%5D_versions_version-timeline-client_tsx_07o_kyi._.js.map
|