@sureshdsk/devflow-mcp 3.0.0 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +4 -4
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/_global-error/page.js +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +2 -2
- 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/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/_not-found/page.js +2 -2
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +14 -13
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +14 -13
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +5 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/projects/[id]/route.js +2 -2
- package/.next/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/route.js +2 -2
- package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/specs/[name]/artifacts/[artifactType]/approve/route.js +2 -2
- package/.next/standalone/.next/server/app/api/specs/[name]/artifacts/[artifactType]/approve/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/specs/[name]/artifacts/[artifactType]/route.js +2 -2
- package/.next/standalone/.next/server/app/api/specs/[name]/artifacts/[artifactType]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/specs/[name]/promote/route.js +2 -2
- package/.next/standalone/.next/server/app/api/specs/[name]/promote/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/specs/[name]/route.js +2 -2
- package/.next/standalone/.next/server/app/api/specs/[name]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/specs/route.js +2 -2
- package/.next/standalone/.next/server/app/api/specs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[id]/route.js +2 -2
- package/.next/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/route.js +2 -2
- package/.next/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +15 -14
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -14
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +5 -4
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/page.js +2 -2
- 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/specs/[name]/page/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/specs/[name]/page.js +2 -2
- package/.next/standalone/.next/server/app/specs/[name]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/specs/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0be0eb8b._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__a9d478ee._.js → [root-of-the-server]__160c54ca._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__17ac51e3._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1bb083e9._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1dc1e944._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__22ecfa2c._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__13a93eb6._.js → [root-of-the-server]__64710c0d._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a2b7e5f2._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__cf302bda._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d85482cd._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__dfa21757._.js +3 -0
- package/.next/standalone/.next/server/chunks/_3f452afe._.js +2 -2
- package/.next/standalone/.next/server/chunks/src_db_index_ts_a71f50f0._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__023e2c69._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0a1a1435._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0c49a387._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1be1fc5f._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__3a2f2efb._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__4693399c._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__937c9212._.js → [root-of-the-server]__72a14301._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__8064ca06._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__8b786d48._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__8c052461._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__8d306066._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__9532fd59._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__a119dd75._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__7fb6ef14._.js → [root-of-the-server]__a57b312b._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__a80bd0ea._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__abe095b3._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__ad3bd783._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1e05fe0e._.js → [root-of-the-server]__ae9f05d6._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__c8781469._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__c8a25070._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__e8c1e595._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0ff3de19._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_01a5cd4b._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_05c6819f._.js +31 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_06c2c30a._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_09efe605._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_mermaid_dist_chunks_mermaid_core_ef601841._.js → node_modules_0a439e3b._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_3507b41a._.js → node_modules_0e73ad6c._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_0e7ff06d._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_0f73e25c._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_14cf9cea._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_19801f01._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_2235b8cf._.js +17 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_23096c6d._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_23db4cf7._.js +17 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_24381e95._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_24ca0eb6._.js +17 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_27525793._.js +17 -0
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_mermaid_dist_chunks_mermaid_core_4cfa6360._.js → node_modules_27c20382._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_2c901b92._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_33b818b7._.js +45 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_345d7791._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_36185c24._.js +45 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_3ac7ce09._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_41b77cc7._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_ed317ff6._.js → node_modules_42acd8db._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_434aa5ec._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_54a9e72d._.js +17 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_54f1273a._.js +26 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_58d64491._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_5e012e3d._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_5ea9e4cf._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_5ecf8270._.js +26 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_611c99b5._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_d3-scale_src_e02ef77f._.js → node_modules_6629853d._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_6fe2661c._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_7fe65a84._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_860f971a._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_882f3743._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_8e047938._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_9268cdc4._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_942541c9._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_9d52c0d6._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_@tanstack_query-core_build_modern_21ece5ea._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_ae6841d2._.js +17 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_ba280bb0._.js +31 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_bffdb8ec._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_c00f1821._.js +17 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_c142ba86._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_d1a47cde._.js +17 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_d9b454fe._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_dbe36b1d._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_ddbe26b7._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_e76b8bf2._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_e945b74d._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_fbd8a2ee._.js +17 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_katex_dist_katex_mjs_31d456ba._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_katex_dist_katex_mjs_e1edc676._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_lodash-es_33e24dce._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-QXUST7PY_mjs_159fba97._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-S3R3BYOJ_mjs_dbeeb277._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_mermaid_core_mjs_a11916de._.js +9 -0
- package/.next/standalone/.next/server/chunks/ssr/src_66a70595._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_components_kanban-board_tsx_7b875e8e._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +2 -2
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +2 -2
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/4f23f64d46848f57.js +1 -0
- package/.next/standalone/.next/static/chunks/53081dcdcad4f31e.js +1 -0
- package/.next/{static/chunks/6a3d582315f1c214.js → standalone/.next/static/chunks/701cfcbb41e0ab47.js} +1 -1
- package/.next/standalone/.next/static/chunks/ac4b6b4d5b7e486e.css +1 -0
- package/.next/standalone/.next/static/chunks/d0309ea872db5d9f.js +1 -0
- package/.next/standalone/.next/static/chunks/d4cf8893a018e965.js +1 -0
- package/.next/standalone/.next/static/chunks/e6c0233269a4bd69.js +13 -0
- package/.next/{static/chunks/7e65cfa9841f66a5.js → standalone/.next/static/chunks/e7d83ce855afe416.js} +2 -2
- package/.next/standalone/.next/static/chunks/ee7035560fc9e5e9.js +1 -0
- package/.next/{static/chunks/turbopack-f4d3806ab575051d.js → standalone/.next/static/chunks/turbopack-8b3b66a22a5e0fb4.js} +2 -2
- package/.next/standalone/.next/static/static/V6JvQiyb7wzYpHUOLB6BC/_buildManifest.js +11 -0
- package/.next/standalone/.next/static/static/V6JvQiyb7wzYpHUOLB6BC/_clientMiddlewareManifest.json +1 -0
- package/.next/standalone/.next/static/static/V6JvQiyb7wzYpHUOLB6BC/_ssgManifest.js +1 -0
- package/.next/standalone/.next/static/static/chunks/01c05b0fdc89fc0c.js +2 -0
- package/.next/standalone/.next/static/static/chunks/034e8cfdbd1cf3ac.js +24 -0
- package/.next/standalone/.next/static/static/chunks/0356b23e9d8fbd11.js +160 -0
- package/.next/standalone/.next/static/static/chunks/0697f660af9a95f1.js +1 -0
- package/.next/standalone/.next/static/static/chunks/09e4e9409aadc2fe.js +1 -0
- package/.next/standalone/.next/static/static/chunks/09ec2e3c3d2d294f.js +29 -0
- package/.next/standalone/.next/static/static/chunks/1bdb5b021c9a4e61.js +62 -0
- package/.next/standalone/.next/static/static/chunks/1cec4d71237d0c89.js +15 -0
- package/.next/standalone/.next/static/static/chunks/20337e5244416041.js +1 -0
- package/.next/standalone/.next/static/static/chunks/20c1169c30c95e0f.js +1 -0
- package/.next/standalone/.next/static/static/chunks/27f5fab49d8a5395.js +1 -0
- package/.next/standalone/.next/static/static/chunks/31965ae569bf807f.js +24 -0
- package/.next/standalone/.next/static/static/chunks/34e2788a0be7ee63.js +1 -0
- package/.next/standalone/.next/static/static/chunks/3e6042c77fa8e7ac.js +1 -0
- package/.next/standalone/.next/static/static/chunks/46d959abf8046f0e.js +15 -0
- package/.next/standalone/.next/static/static/chunks/483effa74d32093a.js +1 -0
- package/.next/standalone/.next/static/static/chunks/4f23f64d46848f57.js +1 -0
- package/.next/standalone/.next/static/static/chunks/53081dcdcad4f31e.js +1 -0
- package/.next/standalone/.next/static/static/chunks/539636bf51e84308.js +1 -0
- package/.next/standalone/.next/static/static/chunks/559e55a53f22f5d1.js +1 -0
- package/.next/standalone/.next/static/static/chunks/5623d8a1c99eba62.js +1 -0
- package/.next/standalone/.next/static/static/chunks/581c7f8a86cc86fb.js +1 -0
- package/.next/standalone/.next/static/static/chunks/5c05dda6ed4d92bf.js +1 -0
- package/.next/standalone/.next/static/static/chunks/5eac621951969859.js +60 -0
- package/.next/standalone/.next/static/static/chunks/6f4c5a75f38f686b.js +1 -0
- package/.next/standalone/.next/static/static/chunks/6fee5c7b5d483c8a.js +5 -0
- package/.next/standalone/.next/static/static/chunks/701cfcbb41e0ab47.js +1 -0
- package/.next/standalone/.next/static/static/chunks/70b3258c508216b5.js +4 -0
- package/.next/standalone/.next/static/static/chunks/762121739217e5da.js +1 -0
- package/.next/standalone/.next/static/static/chunks/808075c416a273c9.js +2 -0
- package/.next/standalone/.next/static/static/chunks/8321c26033c9fc5b.js +1 -0
- package/.next/standalone/.next/static/static/chunks/87f01c0a5d4010ab.js +1 -0
- package/.next/standalone/.next/static/static/chunks/89ebb4231102677a.js +77 -0
- package/.next/standalone/.next/static/static/chunks/909ac8a87c0dd9cb.js +215 -0
- package/.next/standalone/.next/static/static/chunks/9525dc246b363870.js +262 -0
- package/.next/standalone/.next/static/static/chunks/957a5dae245bbc84.js +1 -0
- package/.next/standalone/.next/static/static/chunks/9a52b8ded6a9ee38.js +215 -0
- package/.next/standalone/.next/static/static/chunks/9eb0474ddf7f6238.js +80 -0
- package/.next/standalone/.next/static/static/chunks/a6dad97d9634a72d.js +1 -0
- package/.next/standalone/.next/static/static/chunks/a6dad97d9634a72d.js.map +1 -0
- package/.next/standalone/.next/static/static/chunks/a85d55e8b6841436.js +1 -0
- package/.next/standalone/.next/static/static/chunks/ac4b6b4d5b7e486e.css +1 -0
- package/.next/standalone/.next/static/static/chunks/ad24b3b0881818aa.js +4 -0
- package/.next/standalone/.next/static/static/chunks/ae52f8e72d4127b1.js +59 -0
- package/.next/standalone/.next/static/static/chunks/af66c50a65af610b.js +93 -0
- package/.next/standalone/.next/static/static/chunks/b8b36494d4330f5f.js +152 -0
- package/.next/standalone/.next/static/static/chunks/b8ca88454bfa8e05.js +148 -0
- package/.next/standalone/.next/static/static/chunks/b9a047fc90291dbd.js +63 -0
- package/.next/standalone/.next/static/static/chunks/be28d13ded360528.js +117 -0
- package/.next/standalone/.next/static/static/chunks/c231010aae14914b.js +1 -0
- package/.next/standalone/.next/static/static/chunks/c36e148ece9c20ae.js +43 -0
- package/.next/standalone/.next/static/static/chunks/cb863a7e46548566.js +15 -0
- package/.next/standalone/.next/static/static/chunks/ce4052f386943efb.js +1 -0
- package/.next/standalone/.next/static/static/chunks/d0309ea872db5d9f.js +1 -0
- package/.next/standalone/.next/static/static/chunks/d4cf8893a018e965.js +1 -0
- package/.next/standalone/.next/static/static/chunks/d5b700b8aafeea3b.js +55 -0
- package/.next/standalone/.next/static/static/chunks/dc16aeb5aabadbd8.js +136 -0
- package/.next/standalone/.next/static/static/chunks/de9c5219846f92bb.js +53 -0
- package/.next/standalone/.next/static/static/chunks/df3c9c7fcf3e0a3d.js +15 -0
- package/.next/standalone/.next/static/static/chunks/e6c0233269a4bd69.js +13 -0
- package/.next/standalone/.next/static/static/chunks/e7d83ce855afe416.js +5 -0
- package/.next/standalone/.next/static/static/chunks/eb22f55ae829d296.js +36 -0
- package/.next/standalone/.next/static/static/chunks/ec0de430276c8209.js +1 -0
- package/.next/standalone/.next/static/static/chunks/ed2e02f2db03c1dc.js +1 -0
- package/.next/standalone/.next/static/static/chunks/ee7035560fc9e5e9.js +1 -0
- package/.next/standalone/.next/static/static/chunks/f1f8594d5ec7b93e.js +1 -0
- package/.next/standalone/.next/static/static/chunks/f42ff7863eb4c3ff.js +1 -0
- package/.next/standalone/.next/static/static/chunks/f678cdcec3cea0de.js +1 -0
- package/.next/standalone/.next/static/static/chunks/f7a6fed60fb079dd.js +1 -0
- package/.next/standalone/.next/static/static/chunks/f9eb3f4ff87b8d8d.js +56 -0
- package/.next/standalone/.next/static/static/chunks/ff1a16fafef87110.js +1 -0
- package/.next/standalone/.next/static/static/chunks/ff49535ba8193dec.js +1 -0
- package/.next/standalone/.next/static/static/chunks/turbopack-8b3b66a22a5e0fb4.js +4 -0
- package/.next/standalone/.next/static/static/media/favicon.0b3bf435.ico +0 -0
- package/.next/standalone/AGENTS.md +13 -7
- package/.next/standalone/CONTRIBUTING.md +42 -26
- package/.next/standalone/README.md +166 -25
- package/.next/standalone/bin/devflow.js +12 -5
- package/.next/standalone/bun.lock +78 -24
- package/.next/standalone/devflow/project-config.json +4 -0
- package/.next/standalone/devflow/schemas/api-first/schema.yaml +39 -0
- package/.next/standalone/devflow/schemas/api-first/templates/api-design.md +41 -0
- package/.next/standalone/devflow/schemas/api-first/templates/db-design.md +28 -0
- package/.next/standalone/devflow/schemas/api-first/templates/final-architecture.md +31 -0
- package/.next/standalone/devflow/schemas/api-first/templates/proposal.md +22 -0
- package/.next/standalone/devflow/schemas/api-first/templates/tasks.md +16 -0
- package/.next/standalone/devflow/specs/autodetect-skill-and-slash-command-installation/.approvals.json +1 -1
- package/.next/standalone/devflow/specs/autodetect-skill-and-slash-command-installation/.meta.json +1 -1
- package/.next/standalone/devflow/specs/autodetect-skill-and-slash-command-installation/design.md +11 -0
- package/.next/standalone/devflow/specs/autodetect-skill-and-slash-command-installation/proposal.md +3 -0
- package/.next/standalone/devflow/specs/autodetect-skill-and-slash-command-installation/tasks.md +34 -2
- package/.next/standalone/devflow/specs/precommit/.approvals.json +26 -0
- package/.next/standalone/devflow/specs/precommit/.meta.json +7 -0
- package/.next/standalone/devflow/specs/precommit/design.md +105 -0
- package/.next/standalone/devflow/specs/precommit/proposal.md +43 -0
- package/.next/standalone/devflow/specs/precommit/specs.md +89 -0
- package/.next/standalone/devflow/specs/precommit/tasks.md +283 -0
- package/.next/standalone/docs/custom-schemas.md +117 -0
- package/.next/standalone/docs/local-dev-guide.md +73 -0
- package/.next/standalone/drizzle.config.ts +7 -7
- package/.next/standalone/eslint.config.mjs +2 -2
- package/.next/standalone/instrumentation.ts +3 -5
- package/.next/standalone/next.config.ts +11 -2
- package/.next/standalone/node_modules/{sharp → libsql}/node_modules/detect-libc/package.json +4 -8
- package/.next/standalone/package-lock.json +5257 -2085
- package/.next/standalone/package.json +18 -9
- package/.next/standalone/postcss.config.mjs +1 -1
- package/.next/standalone/scripts/init-db.js +3 -5
- package/.next/standalone/scripts/init-db.test.js +6 -6
- package/.next/standalone/scripts/init-schema.js +22 -22
- package/.next/standalone/scripts/init-schema.test.js +45 -45
- package/.next/standalone/scripts/install-environments.js +27 -8
- package/.next/standalone/scripts/install-environments.test.js +19 -10
- package/.next/standalone/scripts/install-skills.js +104 -31
- package/.next/standalone/scripts/install-skills.test.js +6 -6
- package/.next/standalone/server.js +1 -1
- package/.next/standalone/src/app/api/agents/route.ts +2 -2
- package/.next/standalone/src/app/api/projects/[id]/route.ts +10 -19
- package/.next/standalone/src/app/api/projects/route.ts +4 -10
- package/.next/standalone/src/app/api/specs/[name]/artifacts/[artifactType]/approve/route.ts +8 -8
- package/.next/standalone/src/app/api/specs/[name]/artifacts/[artifactType]/route.ts +14 -14
- package/.next/standalone/src/app/api/specs/[name]/promote/route.ts +17 -23
- package/.next/standalone/src/app/api/specs/[name]/route.ts +34 -36
- package/.next/standalone/src/app/api/specs/route.ts +10 -10
- package/.next/standalone/src/app/api/tasks/[id]/route.ts +11 -33
- package/.next/standalone/src/app/api/tasks/route.ts +3 -6
- package/.next/standalone/src/app/globals.css +3 -3
- package/.next/standalone/src/app/layout.tsx +9 -5
- package/.next/standalone/src/app/page.tsx +1 -1
- package/.next/standalone/src/app/specs/[name]/page.tsx +26 -68
- package/.next/standalone/src/components/kanban-board.tsx +78 -157
- package/.next/standalone/src/components/kanban-column.tsx +10 -12
- package/.next/standalone/src/components/markdown-preview.tsx +36 -19
- package/.next/standalone/src/components/providers.tsx +20 -0
- package/.next/standalone/src/components/specs/artifact-dag-status.tsx +12 -14
- package/.next/standalone/src/components/specs/artifact-editor.tsx +55 -26
- package/.next/standalone/src/components/specs/spec-detail.tsx +48 -40
- package/.next/standalone/src/components/specs/spec-kanban-column.tsx +49 -68
- package/.next/standalone/src/components/specs/spec-modal.tsx +119 -83
- package/.next/standalone/src/components/task-card.tsx +34 -38
- package/.next/standalone/src/components/task-dialog.tsx +16 -31
- package/.next/standalone/src/components/ui/badge.tsx +12 -18
- package/.next/standalone/src/components/ui/button.tsx +23 -28
- package/.next/standalone/src/components/ui/card.tsx +42 -62
- package/.next/standalone/src/components/ui/dialog.tsx +17 -35
- package/.next/standalone/src/db/index.ts +10 -10
- package/.next/standalone/src/db/schema.ts +37 -37
- package/.next/standalone/src/hooks/use-queries.ts +81 -0
- package/.next/standalone/src/hooks/use-websocket.ts +74 -0
- package/.next/standalone/src/lib/schema.test.ts +37 -37
- package/.next/standalone/src/lib/schema.ts +77 -31
- package/.next/standalone/src/lib/specs-dir.ts +8 -8
- package/.next/standalone/src/lib/specs.ts +98 -92
- package/.next/standalone/src/lib/utils.ts +2 -2
- package/.next/standalone/src/mcp/server.ts +556 -349
- package/.next/standalone/src/mcp/websocket.ts +26 -23
- package/.next/standalone/src/schemas/backend-api/templates/proposal.md +6 -4
- package/.next/standalone/src/schemas/backend-api/templates/tasks.md +6 -0
- package/.next/standalone/src/schemas/data-engineering/templates/proposal.md +6 -4
- package/.next/standalone/src/schemas/data-engineering/templates/tasks.md +6 -0
- package/.next/standalone/src/schemas/devops-platform/templates/proposal.md +6 -4
- package/.next/standalone/src/schemas/devops-platform/templates/tasks.md +6 -0
- package/.next/standalone/src/schemas/frontend-product/templates/proposal.md +6 -4
- package/.next/standalone/src/schemas/frontend-product/templates/tasks.md +6 -0
- package/.next/standalone/src/schemas/spec-driven/templates/proposal.md +6 -4
- package/.next/standalone/src/schemas/spec-driven/templates/tasks.md +26 -0
- package/.next/standalone/src/websocket/server.ts +20 -18
- package/.next/standalone/tsconfig.json +3 -12
- package/.next/standalone/tsconfig.tsbuildinfo +1 -1
- package/README.md +166 -25
- package/bin/devflow.js +12 -5
- package/drizzle.config.ts +7 -7
- package/next.config.ts +11 -2
- package/package.json +18 -9
- package/scripts/init-db.js +3 -5
- package/scripts/init-db.test.js +6 -6
- package/scripts/init-schema.js +22 -22
- package/scripts/init-schema.test.js +45 -45
- package/scripts/install-environments.js +27 -8
- package/scripts/install-environments.test.js +19 -10
- package/scripts/install-skills.js +104 -31
- package/scripts/install-skills.test.js +6 -6
- package/src/app/api/agents/route.ts +2 -2
- package/src/app/api/projects/[id]/route.ts +10 -19
- package/src/app/api/projects/route.ts +4 -10
- package/src/app/api/specs/[name]/artifacts/[artifactType]/approve/route.ts +8 -8
- package/src/app/api/specs/[name]/artifacts/[artifactType]/route.ts +14 -14
- package/src/app/api/specs/[name]/promote/route.ts +17 -23
- package/src/app/api/specs/[name]/route.ts +34 -36
- package/src/app/api/specs/route.ts +10 -10
- package/src/app/api/tasks/[id]/route.ts +11 -33
- package/src/app/api/tasks/route.ts +3 -6
- package/src/app/globals.css +3 -3
- package/src/app/layout.tsx +9 -5
- package/src/app/page.tsx +1 -1
- package/src/app/specs/[name]/page.tsx +26 -68
- package/src/components/kanban-board.tsx +78 -157
- package/src/components/kanban-column.tsx +10 -12
- package/src/components/markdown-preview.tsx +36 -19
- package/src/components/providers.tsx +20 -0
- package/src/components/specs/artifact-dag-status.tsx +12 -14
- package/src/components/specs/artifact-editor.tsx +55 -26
- package/src/components/specs/spec-detail.tsx +48 -40
- package/src/components/specs/spec-kanban-column.tsx +49 -68
- package/src/components/specs/spec-modal.tsx +119 -83
- package/src/components/task-card.tsx +34 -38
- package/src/components/task-dialog.tsx +16 -31
- package/src/components/ui/badge.tsx +12 -18
- package/src/components/ui/button.tsx +23 -28
- package/src/components/ui/card.tsx +42 -62
- package/src/components/ui/dialog.tsx +17 -35
- package/src/db/index.ts +10 -10
- package/src/db/schema.ts +37 -37
- package/src/hooks/use-queries.ts +81 -0
- package/src/hooks/use-websocket.ts +74 -0
- package/src/lib/schema.test.ts +37 -37
- package/src/lib/schema.ts +77 -31
- package/src/lib/specs-dir.ts +8 -8
- package/src/lib/specs.ts +98 -92
- package/src/lib/utils.ts +2 -2
- package/src/mcp/server.ts +556 -349
- package/src/mcp/websocket.ts +26 -23
- package/src/schemas/backend-api/templates/proposal.md +6 -4
- package/src/schemas/backend-api/templates/tasks.md +6 -0
- package/src/schemas/data-engineering/templates/proposal.md +6 -4
- package/src/schemas/data-engineering/templates/tasks.md +6 -0
- package/src/schemas/devops-platform/templates/proposal.md +6 -4
- package/src/schemas/devops-platform/templates/tasks.md +6 -0
- package/src/schemas/frontend-product/templates/proposal.md +6 -4
- package/src/schemas/frontend-product/templates/tasks.md +6 -0
- package/src/schemas/spec-driven/templates/proposal.md +6 -4
- package/src/schemas/spec-driven/templates/tasks.md +26 -0
- package/src/types/bun-sqlite.d.ts +1 -1
- package/src/websocket/server.ts +20 -18
- package/tsconfig.json +3 -12
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1be4e4b6._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__492a4a24._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__67c59ae1._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6cc7aecd._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__83a77b07._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__88d91cb5._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9e095e8._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b367d327._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__eb413bbc._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0b8c072a._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12b2191f._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__15316462._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__19c9c409._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__19e5e22f._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__25b5ccb3._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__2f78c3da._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__3160b3f4._.js +0 -9
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__319559be._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__34f7cbcb._.js +0 -31
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__3abab94b._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__3b3d8930._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__4250799b._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__4c29cbc3._.js +0 -26
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__4e0bb6eb._.js +0 -9
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__5678d2e3._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__673445e0._.js +0 -31
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__934de06b._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__9b6c6f09._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__a1b83a98._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__b00a15c5._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__b8567be3._.js +0 -26
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__ce64536e._.js +0 -45
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__e96d33d2._.js +0 -45
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__fd7ec054._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_16a3f9e7._.js +0 -17
- package/.next/standalone/.next/server/chunks/ssr/node_modules_45bce0e1._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_5e5a372d._.js +0 -17
- package/.next/standalone/.next/server/chunks/ssr/node_modules_6ece6f1e._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_d173e749._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_d3-shape_src_arc_fb1ac087.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1f73a830._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_663ac803._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-FMBD7UC4_mjs_4f485529._.js +0 -17
- package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-TZMSLE5B_mjs_8436a62a._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_f78d2dc4._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_app_layout_tsx_cc8184fa._.js +0 -3
- package/.next/standalone/devflow/specs/add-default-schema-template-selection/.approvals.json +0 -26
- package/.next/standalone/devflow/specs/add-default-schema-template-selection/.meta.json +0 -8
- package/.next/standalone/devflow/specs/add-default-schema-template-selection/design.md +0 -126
- package/.next/standalone/devflow/specs/add-default-schema-template-selection/proposal.md +0 -65
- package/.next/standalone/devflow/specs/add-default-schema-template-selection/specs.md +0 -107
- package/.next/standalone/devflow/specs/add-default-schema-template-selection/tasks.md +0 -235
- package/.next/standalone/devflow/specs/test-no-project/.approvals.json +0 -17
- package/.next/standalone/devflow/specs/test-no-project/.meta.json +0 -6
- package/.next/standalone/devflow/specs/ui-cleanup/.approvals.json +0 -29
- package/.next/standalone/devflow/specs/ui-cleanup/.meta.json +0 -6
- package/.next/standalone/devflow/specs/ui-cleanup/design.md +0 -49
- package/.next/standalone/devflow/specs/ui-cleanup/proposal.md +0 -34
- package/.next/standalone/devflow/specs/ui-cleanup/specs.md +0 -55
- package/.next/standalone/devflow/specs/ui-cleanup/tasks.md +0 -28
- package/.next/standalone/node_modules/@img/colour/color.cjs +0 -1594
- package/.next/standalone/node_modules/@img/colour/index.cjs +0 -1
- package/.next/standalone/node_modules/@img/colour/package.json +0 -45
- package/.next/standalone/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
- package/.next/standalone/node_modules/@img/sharp-darwin-arm64/package.json +0 -40
- package/.next/standalone/node_modules/@img/sharp-libvips-darwin-arm64/README.md +0 -46
- package/.next/standalone/node_modules/@img/sharp-libvips-darwin-arm64/lib/glib-2.0/include/glibconfig.h +0 -220
- package/.next/standalone/node_modules/@img/sharp-libvips-darwin-arm64/lib/index.js +0 -1
- package/.next/standalone/node_modules/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib +0 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-darwin-arm64/package.json +0 -36
- package/.next/standalone/node_modules/@img/sharp-libvips-darwin-arm64/versions.json +0 -30
- package/.next/standalone/node_modules/buffer-from/index.js +0 -72
- package/.next/standalone/node_modules/buffer-from/package.json +0 -19
- package/.next/standalone/node_modules/sharp/lib/channel.js +0 -177
- package/.next/standalone/node_modules/sharp/lib/colour.js +0 -195
- package/.next/standalone/node_modules/sharp/lib/composite.js +0 -212
- package/.next/standalone/node_modules/sharp/lib/constructor.js +0 -499
- package/.next/standalone/node_modules/sharp/lib/index.js +0 -16
- package/.next/standalone/node_modules/sharp/lib/input.js +0 -809
- package/.next/standalone/node_modules/sharp/lib/is.js +0 -143
- package/.next/standalone/node_modules/sharp/lib/libvips.js +0 -207
- package/.next/standalone/node_modules/sharp/lib/operation.js +0 -1016
- package/.next/standalone/node_modules/sharp/lib/output.js +0 -1666
- package/.next/standalone/node_modules/sharp/lib/resize.js +0 -595
- package/.next/standalone/node_modules/sharp/lib/sharp.js +0 -121
- package/.next/standalone/node_modules/sharp/lib/utility.js +0 -291
- package/.next/standalone/node_modules/sharp/node_modules/detect-libc/lib/detect-libc.js +0 -313
- package/.next/standalone/node_modules/sharp/node_modules/detect-libc/lib/elf.js +0 -39
- package/.next/standalone/node_modules/sharp/node_modules/detect-libc/lib/filesystem.js +0 -51
- package/.next/standalone/node_modules/sharp/node_modules/detect-libc/lib/process.js +0 -24
- package/.next/standalone/node_modules/sharp/node_modules/semver/classes/comparator.js +0 -143
- package/.next/standalone/node_modules/sharp/node_modules/semver/classes/range.js +0 -557
- package/.next/standalone/node_modules/sharp/node_modules/semver/classes/semver.js +0 -333
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/cmp.js +0 -54
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/coerce.js +0 -62
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/compare.js +0 -7
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/eq.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/gt.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/gte.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/lt.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/lte.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/neq.js +0 -5
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/parse.js +0 -18
- package/.next/standalone/node_modules/sharp/node_modules/semver/functions/satisfies.js +0 -12
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/constants.js +0 -37
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/debug.js +0 -11
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/identifiers.js +0 -29
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/lrucache.js +0 -42
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/parse-options.js +0 -17
- package/.next/standalone/node_modules/sharp/node_modules/semver/internal/re.js +0 -223
- package/.next/standalone/node_modules/sharp/node_modules/semver/package.json +0 -78
- package/.next/standalone/node_modules/sharp/package.json +0 -202
- package/.next/standalone/node_modules/source-map/lib/array-set.js +0 -121
- package/.next/standalone/node_modules/source-map/lib/base64-vlq.js +0 -140
- package/.next/standalone/node_modules/source-map/lib/base64.js +0 -67
- package/.next/standalone/node_modules/source-map/lib/binary-search.js +0 -111
- package/.next/standalone/node_modules/source-map/lib/mapping-list.js +0 -79
- package/.next/standalone/node_modules/source-map/lib/quick-sort.js +0 -114
- package/.next/standalone/node_modules/source-map/lib/source-map-consumer.js +0 -1145
- package/.next/standalone/node_modules/source-map/lib/source-map-generator.js +0 -425
- package/.next/standalone/node_modules/source-map/lib/source-node.js +0 -413
- package/.next/standalone/node_modules/source-map/lib/util.js +0 -488
- package/.next/standalone/node_modules/source-map/package.json +0 -73
- package/.next/standalone/node_modules/source-map/source-map.js +0 -8
- package/.next/standalone/node_modules/source-map-support/LICENSE.md +0 -21
- package/.next/standalone/node_modules/source-map-support/README.md +0 -284
- package/.next/standalone/node_modules/source-map-support/browser-source-map-support.js +0 -114
- package/.next/standalone/node_modules/source-map-support/package.json +0 -31
- package/.next/standalone/node_modules/source-map-support/register-hook-require.js +0 -1
- package/.next/standalone/node_modules/source-map-support/register.js +0 -1
- package/.next/standalone/node_modules/source-map-support/source-map-support.js +0 -625
- package/.next/standalone/node_modules/typescript/lib/_tsc.js +0 -133818
- package/.next/standalone/node_modules/typescript/lib/_tsserver.js +0 -659
- package/.next/standalone/node_modules/typescript/lib/_typingsInstaller.js +0 -222
- package/.next/standalone/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/de/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/es/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/it/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/tsc.js +0 -8
- package/.next/standalone/node_modules/typescript/lib/tsserver.js +0 -8
- package/.next/standalone/node_modules/typescript/lib/tsserverlibrary.js +0 -21
- package/.next/standalone/node_modules/typescript/lib/typesMap.json +0 -497
- package/.next/standalone/node_modules/typescript/lib/typescript.js +0 -200276
- package/.next/standalone/node_modules/typescript/lib/typingsInstaller.js +0 -8
- package/.next/standalone/node_modules/typescript/lib/watchGuard.js +0 -53
- package/.next/standalone/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +0 -2122
- package/.next/standalone/node_modules/typescript/package.json +0 -120
- package/.next/standalone/src/components/ui/collapsible.tsx +0 -12
- package/.next/standalone/src/components/ui/sheet.tsx +0 -130
- package/.next/standalone/src/components/ui/tabs.tsx +0 -58
- package/.next/static/chunks/0177331b8adf7346.js +0 -7
- package/.next/static/chunks/06af74e2f3e207c5.js +0 -7
- package/.next/static/chunks/1748d5cd2443723b.css +0 -1
- package/.next/static/chunks/7ae917cb100be2b9.js +0 -7
- package/.next/static/chunks/7c4b901b394c3a8c.js +0 -7
- package/src/components/ui/collapsible.tsx +0 -12
- package/src/components/ui/sheet.tsx +0 -130
- package/src/components/ui/tabs.tsx +0 -58
- /package/.next/{static/5YFrdIQd1UU2IxLxekrU9 → standalone/.next/static/V6JvQiyb7wzYpHUOLB6BC}/_buildManifest.js +0 -0
- /package/.next/{static/5YFrdIQd1UU2IxLxekrU9 → standalone/.next/static/V6JvQiyb7wzYpHUOLB6BC}/_clientMiddlewareManifest.json +0 -0
- /package/.next/{static/5YFrdIQd1UU2IxLxekrU9 → standalone/.next/static/V6JvQiyb7wzYpHUOLB6BC}/_ssgManifest.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/01c05b0fdc89fc0c.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/034e8cfdbd1cf3ac.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/0356b23e9d8fbd11.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/0697f660af9a95f1.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/09e4e9409aadc2fe.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/09ec2e3c3d2d294f.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/1bdb5b021c9a4e61.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/1cec4d71237d0c89.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/20337e5244416041.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/20c1169c30c95e0f.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/27f5fab49d8a5395.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/31965ae569bf807f.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/34e2788a0be7ee63.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/3e6042c77fa8e7ac.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/46d959abf8046f0e.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/483effa74d32093a.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/539636bf51e84308.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/559e55a53f22f5d1.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/5623d8a1c99eba62.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/581c7f8a86cc86fb.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/5c05dda6ed4d92bf.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/5eac621951969859.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/6f4c5a75f38f686b.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/6fee5c7b5d483c8a.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/70b3258c508216b5.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/762121739217e5da.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/808075c416a273c9.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/8321c26033c9fc5b.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/87f01c0a5d4010ab.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/89ebb4231102677a.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/909ac8a87c0dd9cb.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/9525dc246b363870.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/957a5dae245bbc84.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/9a52b8ded6a9ee38.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/9eb0474ddf7f6238.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/a6dad97d9634a72d.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/a6dad97d9634a72d.js.map +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/a85d55e8b6841436.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/ad24b3b0881818aa.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/ae52f8e72d4127b1.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/af66c50a65af610b.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/b8b36494d4330f5f.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/b8ca88454bfa8e05.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/b9a047fc90291dbd.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/be28d13ded360528.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/c231010aae14914b.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/c36e148ece9c20ae.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/cb863a7e46548566.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/ce4052f386943efb.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/d5b700b8aafeea3b.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/dc16aeb5aabadbd8.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/de9c5219846f92bb.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/df3c9c7fcf3e0a3d.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/eb22f55ae829d296.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/ec0de430276c8209.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/ed2e02f2db03c1dc.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/f1f8594d5ec7b93e.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/f42ff7863eb4c3ff.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/f678cdcec3cea0de.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/f7a6fed60fb079dd.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/f9eb3f4ff87b8d8d.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/ff1a16fafef87110.js +0 -0
- /package/.next/{static → standalone/.next/static}/chunks/ff49535ba8193dec.js +0 -0
- /package/.next/{static → standalone/.next/static}/media/favicon.0b3bf435.ico +0 -0
- /package/.next/standalone/node_modules/{detect-libc → libsql/node_modules/detect-libc}/lib/detect-libc.js +0 -0
- /package/.next/standalone/node_modules/{detect-libc → libsql/node_modules/detect-libc}/lib/filesystem.js +0 -0
- /package/.next/standalone/node_modules/{detect-libc → libsql/node_modules/detect-libc}/lib/process.js +0 -0
package/.next/standalone/.next/server/chunks/ssr/src_components_kanban-board_tsx_7b875e8e._.js
CHANGED
|
@@ -2,6 +2,6 @@ module.exports=[89077,a=>{"use strict";let b,c,d,e,f,g,h;var i,j,k,l,m,n,o,p,q,r
|
|
|
2
2
|
|
|
3
3
|
If you want to hide the \`${b.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
4
4
|
|
|
5
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${b.docsSlug}`;return L.useEffect(()=>{a&&(document.getElementById(a)||console.error(c))},[c,a]),null},dE=({contentRef:a,descriptionId:b})=>{let c=dC("DialogDescriptionWarning"),d=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${c.contentName}}.`;return L.useEffect(()=>{let c=a.current?.getAttribute("aria-describedby");b&&c&&(document.getElementById(b)||console.warn(d))},[d,a,b]),null};let dF=bW("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),dG=L.forwardRef(({className:a,...b},c)=>(0,K.jsx)(dk,{ref:c,className:(0,bK.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...b}));dG.displayName=dk.displayName;let dH=L.forwardRef(({className:a,children:b,...c},d)=>(0,K.jsxs)(di,{children:[(0,K.jsx)(dG,{}),(0,K.jsxs)(dp,{ref:d,className:(0,bK.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border-4 border-black bg-white p-6 neubrutalism-shadow-xl duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]",a),...c,children:[b,(0,K.jsxs)(dy,{className:"absolute right-4 top-4 border-2 border-black bg-white p-1 hover:bg-gray-100 focus:outline-none",children:[(0,K.jsx)(dF,{className:"h-4 w-4"}),(0,K.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));dH.displayName=dp.displayName;let dI=({className:a,...b})=>(0,K.jsx)("div",{className:(0,bK.cn)("flex flex-col space-y-1.5 text-center sm:text-left",a),...b});dI.displayName="DialogHeader";let dJ=L.forwardRef(({className:a,...b},c)=>(0,K.jsx)(du,{ref:c,className:(0,bK.cn)("text-2xl font-bold uppercase tracking-wide leading-none",a),...b}));dJ.displayName=du.displayName,L.forwardRef(({className:a,...b},c)=>(0,K.jsx)(dw,{ref:c,className:(0,bK.cn)("text-sm text-muted-foreground",a),...b})).displayName=dw.displayName;let dK=bW("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var dL=a.i(22249);function dM({task:a,open:b,onOpenChange:c,onRefresh:d}){let[e,f]=(0,L.useState)(a.title),[g,h]=(0,L.useState)(a.priority),[i,j]=(0,L.useState)(a.status),[k,l]=(0,L.useState)(a.body),[m,n]=(0,L.useState)(!1);async function o(){n(!0);try{await fetch(`/api/tasks/${a.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:e,priority:g,status:i})}),d(),c(!1)}catch(a){console.error("Failed to update task:",a)}finally{n(!1)}}return(0,L.useEffect)(()=>{b&&fetch(`/api/tasks/${a.id}`).then(a=>a.json()).then(a=>{f(a.title),h(a.priority),j(a.status),l(a.body)}).catch(()=>{f(a.title),h(a.priority),j(a.status),l(a.body)})},[b,a.id]),(0,K.jsx)(dd,{open:b,onOpenChange:c,children:(0,K.jsxs)(dH,{className:"max-w-2xl max-h-[90vh] overflow-y-auto",children:[(0,K.jsx)(dI,{children:(0,K.jsx)(dJ,{children:"Edit Task"})}),(0,K.jsxs)("div",{className:"space-y-4",children:[(0,K.jsxs)("div",{children:[(0,K.jsx)("label",{className:"text-xs font-bold uppercase tracking-wide mb-2 block",children:"Title"}),(0,K.jsx)("input",{type:"text",value:e,onChange:a=>f(a.target.value),className:"w-full px-4 py-3 border-3 border-black font-bold focus:outline-none focus:shadow-[4px_4px_0px_0px_rgba(0,0,0,1)]",placeholder:"Task title"})]}),(0,K.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,K.jsxs)("div",{children:[(0,K.jsx)("label",{className:"text-xs font-bold uppercase tracking-wide mb-2 block",children:"Priority"}),(0,K.jsxs)("select",{value:g,onChange:a=>h(a.target.value),className:"w-full px-4 py-3 border-3 border-black font-bold uppercase focus:outline-none focus:shadow-[4px_4px_0px_0px_rgba(0,0,0,1)]",children:[(0,K.jsx)("option",{value:"low",children:"Low"}),(0,K.jsx)("option",{value:"medium",children:"Medium"}),(0,K.jsx)("option",{value:"high",children:"High"}),(0,K.jsx)("option",{value:"urgent",children:"Urgent"})]})]}),(0,K.jsxs)("div",{children:[(0,K.jsx)("label",{className:"text-xs font-bold uppercase tracking-wide mb-2 block",children:"Status"}),(0,K.jsxs)("select",{value:i,onChange:a=>j(a.target.value),className:"w-full px-4 py-3 border-3 border-black font-bold uppercase focus:outline-none focus:shadow-[4px_4px_0px_0px_rgba(0,0,0,1)]",children:[(0,K.jsx)("option",{value:"backlog",children:"Backlog"}),(0,K.jsx)("option",{value:"todo",children:"To Do"}),(0,K.jsx)("option",{value:"in_progress",children:"In Progress"}),(0,K.jsx)("option",{value:"interrupted",children:"Interrupted"}),(0,K.jsx)("option",{value:"done",children:"Done"})]})]})]}),a.specName&&(0,K.jsxs)("div",{children:[(0,K.jsx)("label",{className:"text-xs font-bold uppercase tracking-wide mb-2 block",children:"Spec"}),(0,K.jsx)("div",{className:"px-4 py-2 border-2 border-black bg-gray-50 font-mono text-sm",children:a.specName})]}),k&&(0,K.jsxs)("div",{children:[(0,K.jsx)("label",{className:"text-xs font-bold uppercase tracking-wide mb-2 block",children:"Task Card"}),(0,K.jsx)("div",{className:"w-full px-4 py-3 border-2 border-black bg-gray-50 min-h-[100px] text-sm overflow-auto max-h-[300px]",children:(0,K.jsx)(dL.MarkdownPreview,{content:k})})]}),(0,K.jsxs)("div",{className:"flex flex-wrap gap-3 pt-4 border-t-3 border-black",children:[a.assignedAgent&&(0,K.jsxs)(bQ,{variant:"secondary",className:"gap-1",children:[(0,K.jsx)(bY,{className:"h-3 w-3"}),a.assignedAgent]}),(0,K.jsxs)(bQ,{variant:"outline",className:"gap-1",children:[(0,K.jsx)(dK,{className:"h-3 w-3"}),"Created: ",new Date(a.createdAt).toLocaleDateString()]}),a.updatedAt&&a.updatedAt!==a.createdAt&&(0,K.jsxs)(bQ,{variant:"outline",className:"gap-1",children:[(0,K.jsx)(dK,{className:"h-3 w-3"}),"Updated: ",new Date(a.updatedAt).toLocaleDateString()]})]}),(0,K.jsxs)("div",{className:"flex justify-end gap-3 pt-4 border-t-3 border-black",children:[(0,K.jsx)(bR.Button,{variant:"outline",onClick:()=>c(!1),disabled:m,children:"Cancel"}),(0,K.jsx)(bR.Button,{onClick:o,disabled:m,children:m?"Saving...":"Save Changes"})]})]})]})})}let dN={low:"bg-[--color-primary] text-black",medium:"bg-[--color-secondary] text-black",high:"bg-orange-300 text-black",urgent:"bg-[--color-accent] text-black"};function dO({task:a,onRefresh:b}){let[c,d]=(0,L.useState)(!1),{attributes:e,listeners:f,setNodeRef:g,transform:h,transition:i,isDragging:j}=function(a){var b,c,d,e;let{animateLayoutChanges:f=bF,attributes:g,disabled:h,data:i,getNewIndex:j=bE,id:k,strategy:l,resizeObserverConfig:m,transition:n=bG}=a,{items:o,containerId:p,activeIndex:q,disabled:r,disableTransforms:s,sortedRects:t,overIndex:u,useDragOverlay:v,strategy:w}=(0,L.useContext)(bC),x=(b=h,c=r,"boolean"==typeof b?{draggable:b,droppable:!1}:{draggable:null!=(d=null==b?void 0:b.draggable)?d:c.draggable,droppable:null!=(e=null==b?void 0:b.droppable)?e:c.droppable}),y=o.indexOf(k),z=(0,L.useMemo)(()=>({sortable:{containerId:p,index:y,items:o},...i}),[p,i,y,o]),A=(0,L.useMemo)(()=>o.slice(o.indexOf(k)),[o,k]),{rect:B,node:C,isOver:D,setNodeRef:E}=bm({id:k,data:z,disabled:x.droppable,resizeObserverConfig:{updateMeasurementsFor:A,...m}}),{active:F,activatorEvent:G,activeNodeRect:H,attributes:I,setNodeRef:J,listeners:K,isDragging:M,over:N,setActivatorNodeRef:O,transform:P}=function(a){let{id:b,data:c,disabled:d=!1,attributes:e}=a,f=_("Draggable"),{activators:g,activatorEvent:h,active:i,activeNodeRect:j,ariaDescribedById:k,draggableNodes:l,over:m}=(0,L.useContext)(ba),{role:n=bj,roleDescription:o="draggable",tabIndex:p=0}=null!=e?e:{},q=(null==i?void 0:i.id)===b,r=(0,L.useContext)(q?bg:bi),[s,t]=Y(),[u,v]=Y(),w=(0,L.useMemo)(()=>g.reduce((a,c)=>{let{eventName:d,handler:e}=c;return a[d]=a=>{e(a,b)},a},{}),[g,b]),x=W(c);return U(()=>(l.set(b,{id:b,key:f,node:s,activatorNode:u,data:x}),()=>{let a=l.get(b);a&&a.key===f&&l.delete(b)}),[l,b]),{active:i,activatorEvent:h,activeNodeRect:j,attributes:(0,L.useMemo)(()=>({role:n,tabIndex:p,"aria-disabled":d,"aria-pressed":!!q&&n===bj||void 0,"aria-roledescription":o,"aria-describedby":k.draggable}),[d,n,p,q,o,k.draggable]),isDragging:q,listeners:d?void 0:w,node:s,over:m,setNodeRef:t,setActivatorNodeRef:v,transform:r}}({id:k,data:z,attributes:{...bJ,...g},disabled:x.draggable}),Q=function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return(0,L.useMemo)(()=>a=>{b.forEach(b=>b(a))},b)}(E,J),R=!!F,S=R&&!s&&bx(q)&&bx(u),T=!v&&M,V=T&&S?P:null,X=S?null!=V?V:(null!=l?l:w)({rects:t,activeNodeRect:H,activeIndex:q,overIndex:u,index:y}):null,Z=bx(q)&&bx(u)?j({id:k,items:o,activeIndex:q,overIndex:u}):y,$=null==F?void 0:F.id,aa=(0,L.useRef)({activeId:$,items:o,newIndex:Z,containerId:p}),ab=o!==aa.current.items,ac=f({active:F,containerId:p,isDragging:M,isSorting:R,id:k,index:y,items:o,newIndex:aa.current.newIndex,previousItems:aa.current.items,previousContainerId:aa.current.containerId,transition:n,wasDragging:null!=aa.current.activeId}),ae=function(a){let{disabled:b,index:c,node:d,rect:e}=a,[f,g]=(0,L.useState)(null),h=(0,L.useRef)(c);return U(()=>{if(!b&&c!==h.current&&d.current){let a=e.current;if(a){let b=aw(d.current,{ignoreTransform:!0}),c={x:a.left-b.left,y:a.top-b.top,scaleX:a.width/b.width,scaleY:a.height/b.height};(c.x||c.y)&&g(c)}}c!==h.current&&(h.current=c)},[b,c,d,e]),(0,L.useEffect)(()=>{f&&g(null)},[f]),f}({disabled:!ac,index:y,node:C,rect:B});return(0,L.useEffect)(()=>{R&&aa.current.newIndex!==Z&&(aa.current.newIndex=Z),p!==aa.current.containerId&&(aa.current.containerId=p),o!==aa.current.items&&(aa.current.items=o)},[R,Z,p,o]),(0,L.useEffect)(()=>{if($===aa.current.activeId)return;if(null!=$&&null==aa.current.activeId){aa.current.activeId=$;return}let a=setTimeout(()=>{aa.current.activeId=$},50);return()=>clearTimeout(a)},[$]),{active:F,activeIndex:q,attributes:I,data:z,rect:B,index:y,newIndex:Z,items:o,isOver:D,isSorting:R,isDragging:M,listeners:K,node:C,overIndex:u,over:N,setNodeRef:Q,setActivatorNodeRef:O,setDroppableNodeRef:E,setDraggableNodeRef:J,transform:null!=ae?ae:X,transition:ae||ab&&aa.current.newIndex===y?bI:(!T||ad(G))&&n&&(R||ac)?af.Transition.toString({...n,property:bH}):void 0}}({id:a.id}),k={transform:af.Transform.toString(h),transition:i};async function l(c){if(c.stopPropagation(),confirm("Are you sure you want to delete this task?"))try{await fetch(`/api/tasks/${a.id}`,{method:"DELETE"}),b()}catch(a){console.error("Failed to delete task:",a)}}return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("div",{ref:g,style:k,className:(0,bK.cn)("cursor-pointer transition-opacity",j&&"opacity-50"),children:(0,K.jsxs)(bL,{className:(0,bK.cn)("hover:translate-x-0.5 hover:translate-y-0.5 transition-transform cursor-pointer","interrupted"===a.status&&"border-amber-500 bg-amber-50"),onClick:()=>d(!0),children:[(0,K.jsx)(bM,{className:"pb-3",children:(0,K.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,K.jsx)("div",{className:"flex-1 min-w-0",children:(0,K.jsx)(bN,{className:"text-sm line-clamp-2",children:a.title})}),(0,K.jsxs)("div",{className:"flex items-center gap-1",children:[(0,K.jsx)(bR.Button,{variant:"ghost",size:"icon",className:"h-6 w-6 cursor-grab active:cursor-grabbing border-2 border-black",...e,...f,onClick:a=>a.stopPropagation(),children:(0,K.jsx)(bX,{className:"h-4 w-4"})}),(0,K.jsx)(bR.Button,{variant:"ghost",size:"icon",className:"h-6 w-6 border-2 border-black bg-[--color-accent] hover:bg-red-400",onClick:l,children:(0,K.jsx)(b$,{className:"h-3 w-3"})})]})]})}),(0,K.jsx)(bO,{className:"space-y-2",children:(0,K.jsxs)("div",{className:"flex flex-wrap gap-2",children:["interrupted"===a.status&&(0,K.jsxs)(bQ,{variant:"outline",className:"text-xs gap-1 border-amber-500 text-amber-700 bg-amber-50",children:[(0,K.jsx)(b_,{className:"h-3 w-3"}),"Interrupted"]}),a.specName&&(0,K.jsx)(bQ,{variant:"outline",className:"text-xs font-mono",children:a.specName}),(0,K.jsx)(bQ,{variant:"outline",className:(0,bK.cn)("text-xs",dN[a.priority]),children:a.priority}),a.assignedAgent&&(0,K.jsxs)(bQ,{variant:"secondary",className:"text-xs gap-1",children:[(0,K.jsx)(bY,{className:"h-3 w-3"}),a.assignedAgent]}),a.body&&(0,K.jsxs)(bQ,{variant:"outline",className:"text-xs gap-1",children:[(0,K.jsx)(bZ,{className:"h-3 w-3"}),"Notes"]})]})})]})}),(0,K.jsx)(dM,{task:a,features:[],open:c,onOpenChange:d,onRefresh:b})]})}function dP({id:a,title:b,color:c,tasks:d,onRefresh:e}){let{setNodeRef:f,isOver:g}=bm({id:a});return(0,K.jsxs)("div",{className:"flex flex-col h-full min-h-0",children:[(0,K.jsx)("div",{className:(0,bK.cn)("px-4 py-3 border-3 border-black border-b-0",c),children:(0,K.jsxs)("h2",{className:"font-black uppercase tracking-wide text-black flex items-center justify-between",children:[(0,K.jsx)("span",{children:b}),(0,K.jsx)("span",{className:"text-sm font-bold bg-black text-white px-2 py-1",children:d.length})]})}),(0,K.jsxs)("div",{ref:f,className:(0,bK.cn)("flex-1 overflow-y-auto p-4 space-y-3 bg-white border-3 border-black transition-colors",g&&"bg-gray-100"),children:[(0,K.jsx)(bD,{items:d.map(a=>a.id),strategy:bA,children:d.map(a=>(0,K.jsx)(dO,{task:a,feature:void 0,features:[],onRefresh:e},a.id))}),0===d.length&&(0,K.jsx)("div",{className:"text-center text-gray-500 font-bold text-sm py-8 uppercase",children:"Drop tasks here"})]})]})}let dQ=bW("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),dR=bW("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),dS=bW("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),dT=bW("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),dU={blocked:"bg-gray-300",ready:"bg-blue-400",in_review:"bg-yellow-400",in_progress:"bg-orange-400",done:"bg-green-500"},dV={done:(0,K.jsx)(dR,{className:"h-3 w-3 text-green-600"}),in_review:(0,K.jsx)(dK,{className:"h-3 w-3 text-yellow-500"}),in_progress:(0,K.jsx)(dK,{className:"h-3 w-3 text-orange-500"}),ready:(0,K.jsx)(dS,{className:"h-3 w-3 text-blue-500"}),blocked:(0,K.jsx)(dT,{className:"h-3 w-3 text-gray-400"})},dW={done:"done",in_review:"in review",in_progress:"in progress",ready:"ready",blocked:"blocked"};function dX({spec:a,selected:b,onClick:c}){let d,e=a.statuses?0===(d=a.statuses.filter(a=>"development"!==a.id)).length?"ready":d.every(a=>"done"===a.state)?"done":d.some(a=>"in_review"===a.state||"in_progress"===a.state)?"in_review":d.some(a=>"ready"===a.state)?"ready":"blocked":"ready",f=a.statuses?.filter(a=>"development"!==a.id)??[];return(0,K.jsxs)("button",{onClick:c,className:`w-full text-left p-3 border-4 transition-all ${b?"border-black bg-black text-white shadow-none translate-x-[2px] translate-y-[2px]":"border-black bg-white shadow-[4px_4px_0px_0px_rgba(0,0,0,1)] hover:translate-x-[2px] hover:translate-y-[2px] hover:shadow-none"}`,children:[(0,K.jsxs)("div",{className:"flex items-start justify-between gap-1 mb-2",children:[(0,K.jsx)("span",{className:`font-black text-xs uppercase leading-tight line-clamp-2 flex-1 ${b?"text-white":""}`,children:a.title||a.name}),(0,K.jsx)("span",{className:"flex-shrink-0 mt-0.5",children:dV[e]})]}),(0,K.jsx)("p",{className:`font-mono text-[10px] mb-2 truncate ${b?"text-gray-300":"text-gray-400"}`,children:a.name}),f.length>0&&(0,K.jsxs)("div",{className:"flex gap-1 items-center",children:[f.map(a=>(0,K.jsx)("div",{title:`${a.id}: ${a.state}`,className:`w-2 h-2 rounded-full border border-black ${b?"border-gray-400":""} ${dU[a.state]}`},a.id)),(0,K.jsx)("span",{className:`text-[10px] font-bold uppercase ml-1 ${b?"text-gray-300":"text-gray-400"}`,children:dW[e]})]})]})}function dY({selectedSpecName:a,onSelectSpec:b}){let[c,d]=(0,L.useState)([]),[e,f]=(0,L.useState)(!0);return(0,L.useEffect)(()=>{!async function(){try{let a=await fetch("/api/specs"),b=await a.json(),c=await Promise.all(b.map(async a=>{try{let b=await fetch(`/api/specs/${a.name}`),c=await b.json();return{...a,statuses:c.statuses}}catch{return a}}));d(c)}catch(a){console.error(a)}finally{f(!1)}}()},[]),(0,K.jsxs)("div",{className:"flex flex-col h-full min-h-0 border-r-4 border-black bg-[--color-bg]",style:{width:220,flexShrink:0},children:[(0,K.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b-4 border-black bg-[--color-secondary] flex-shrink-0",children:[(0,K.jsx)("h2",{className:"font-black uppercase text-sm tracking-wide",children:"Specs"}),(0,K.jsxs)("span",{className:"text-xs font-bold opacity-60",children:["(",c.length,")"]})]}),(0,K.jsxs)("div",{className:"flex-1 overflow-y-auto p-3 flex flex-col gap-2",children:[e&&(0,K.jsx)("p",{className:"text-xs text-gray-400 font-mono px-1",children:"Loading..."}),!e&&0===c.length&&(0,K.jsx)("p",{className:"text-xs text-gray-400 font-mono px-1",children:"No specs yet."}),c.map(c=>(0,K.jsx)(dX,{spec:c,selected:a===c.name,onClick:()=>b(c.name)},c.name))]})]})}let dZ=bW("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);var d$=a.i(56631),d_=a.i(66132);let d0={blocked:(0,K.jsx)(dT,{className:"h-3 w-3 text-gray-400 flex-shrink-0"}),ready:(0,K.jsx)(dS,{className:"h-3 w-3 text-blue-500 flex-shrink-0"}),in_review:(0,K.jsx)(dK,{className:"h-3 w-3 text-yellow-500 flex-shrink-0"}),in_progress:(0,K.jsx)(dK,{className:"h-3 w-3 text-orange-500 flex-shrink-0"}),done:(0,K.jsx)(dR,{className:"h-3 w-3 text-green-600 flex-shrink-0"})},d1={backlog:"bg-gray-100 border-gray-400 text-gray-600",todo:"bg-blue-100 border-blue-400 text-blue-700",in_progress:"bg-orange-100 border-orange-400 text-orange-700",interrupted:"bg-red-100 border-red-400 text-red-700",done:"bg-green-100 border-green-500 text-green-700"},d2={urgent:"text-red-600",high:"text-orange-500",medium:"text-gray-500",low:"text-gray-400"};function d3({tasks:a,status:b}){let c=a.length,d=a.filter(a=>"done"===a.status).length,e=a.filter(a=>"in_progress"===a.status).length;return b?.state==="blocked"?(0,K.jsxs)("div",{className:"p-6 bg-gray-100 border-4 border-gray-300 text-center",children:[(0,K.jsx)("p",{className:"font-bold text-gray-600 uppercase",children:"Blocked — approve and promote tasks first"}),(0,K.jsx)("p",{className:"text-sm text-gray-500 mt-1",children:"Approve all artifacts, then click “Promote to Tasks”"})]}):0===a.length?(0,K.jsxs)("div",{className:"p-6 bg-blue-50 border-4 border-blue-300 text-center",children:[(0,K.jsx)("p",{className:"font-bold text-blue-700 uppercase",children:"Ready to promote"}),(0,K.jsx)("p",{className:"text-sm text-blue-600 mt-1",children:"All artifacts approved. Promote tasks to start development."})]}):(0,K.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,K.jsxs)("div",{className:"flex items-center gap-3",children:[(0,K.jsx)("div",{className:"flex-1 h-3 bg-gray-200 border-2 border-black overflow-hidden",children:(0,K.jsx)("div",{className:"h-full bg-green-500 transition-all",style:{width:`${c>0?d/c*100:0}%`}})}),(0,K.jsxs)("span",{className:"font-mono text-sm font-bold whitespace-nowrap",children:[d,"/",c," done",e>0&&(0,K.jsxs)("span",{className:"text-orange-600 ml-2",children:["· ",e," in progress"]})]})]}),(0,K.jsx)("div",{className:"flex flex-col gap-2",children:a.map(a=>(0,K.jsxs)("div",{className:"flex items-center gap-3 p-3 border-4 border-black bg-white",children:[(0,K.jsx)("span",{className:`text-lg ${"done"===a.status?"opacity-100":"opacity-30"}`,children:"done"===a.status?"✓":"in_progress"===a.status?"⟳":"○"}),(0,K.jsx)("span",{className:`flex-1 font-bold text-sm ${"done"===a.status?"line-through text-gray-400":""}`,children:a.title}),(0,K.jsx)("span",{className:`text-xs font-mono uppercase font-bold ${d2[a.priority]||""}`,children:a.priority}),(0,K.jsx)("span",{className:`px-2 py-0.5 border-2 text-xs font-bold uppercase ${d1[a.status]||""}`,children:a.status.replace("_"," ")}),a.assignedAgent&&(0,K.jsxs)("span",{className:"text-xs font-mono text-gray-500 truncate max-w-[120px]",title:a.assignedAgent,children:["@",a.assignedAgent]})]},a.id))})]})}function d4({specName:a,onClose:b}){let[c,d]=(0,L.useState)(null),[e,f]=(0,L.useState)(null),[g,h]=(0,L.useState)(!1);async function i(){let b=await fetch(`/api/specs/${a}`),c=await b.json();d(c),!e&&c.statuses?.length&&f(c.statuses[0].id)}async function j(){h(!0);try{let b=await fetch(`/api/specs/${a}/promote`,{method:"POST"}),c=await b.json();b.ok?(alert(`Promoted ${c.promoted} tasks to Kanban board!`),i()):alert(`Error: ${c.error}`)}finally{h(!1)}}(0,L.useEffect)(()=>{i()},[a]);let k=c?.statuses.filter(a=>"development"!==a.id)??[],l=c?.statuses.find(a=>"development"===a.id),m=k.every(a=>"done"===a.state),n=c?.statuses.find(a=>a.id===e),o="development"===e;return(0,K.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",onClick:a=>{a.target===a.currentTarget&&b()},children:(0,K.jsxs)("div",{className:"bg-white border-4 border-black shadow-[8px_8px_0px_0px_rgba(0,0,0,1)] flex flex-col",style:{width:"min(1300px, 96vw)",height:"min(920px, 94vh)"},children:[(0,K.jsxs)("div",{className:"flex items-center justify-between px-6 py-4 border-b-4 border-black bg-white flex-shrink-0",children:[(0,K.jsxs)("div",{children:[(0,K.jsx)("h2",{className:"text-2xl font-black uppercase leading-tight",children:c?.title||a}),(0,K.jsx)("p",{className:"font-mono text-xs text-gray-500 mt-0.5",children:a})]}),(0,K.jsx)("button",{onClick:b,className:"p-2 border-4 border-black hover:bg-black hover:text-white transition-colors",children:(0,K.jsx)(dF,{className:"h-5 w-5"})})]}),c&&(0,K.jsx)("div",{className:"px-6 py-3 border-b-4 border-black bg-white flex-shrink-0",children:(0,K.jsx)(d_.ArtifactDagStatus,{statuses:c.statuses})}),m&&c?.tasks.length===0&&(0,K.jsxs)("div",{className:"px-6 py-3 border-b-4 border-green-600 bg-green-100 flex-shrink-0 flex items-center justify-between",children:[(0,K.jsx)("p",{className:"font-black text-green-800 uppercase text-sm",children:"All artifacts approved!"}),(0,K.jsx)(bR.Button,{onClick:j,disabled:g,className:"bg-green-600 hover:bg-green-700 text-white",children:g?"Promoting...":"Promote to Tasks"})]}),l?.state==="done"&&(0,K.jsx)("div",{className:"px-6 py-3 border-b-4 border-green-600 bg-green-100 flex-shrink-0",children:(0,K.jsxs)("p",{className:"font-black text-green-800 uppercase text-sm",children:["✓ Spec complete — all ",c?.tasks.length," tasks done"]})}),(0,K.jsxs)("div",{className:"flex flex-1 min-h-0",children:[(0,K.jsxs)("div",{className:"w-60 border-r-4 border-black bg-white flex flex-col flex-shrink-0 overflow-y-auto",children:[(0,K.jsx)("div",{className:"px-3 py-2 border-b-2 border-gray-200",children:(0,K.jsxs)("span",{className:"font-mono text-[10px] text-gray-400 uppercase tracking-widest",children:[a,"/"]})}),(0,K.jsx)("div",{className:"flex-1 py-1",children:c?(0,K.jsxs)(K.Fragment,{children:[k.map(a=>(0,K.jsxs)("button",{onClick:()=>f(a.id),className:`w-full flex items-center gap-2 px-3 py-2 text-left transition-colors group ${e===a.id?"bg-black text-white":"hover:bg-gray-100"}`,children:[(0,K.jsx)(dZ,{className:`h-3 w-3 flex-shrink-0 ${e===a.id?"text-white":"text-gray-300"}`}),(0,K.jsx)(bZ,{className:`h-3.5 w-3.5 flex-shrink-0 ${e===a.id?"text-white":"text-gray-400"}`}),(0,K.jsxs)("span",{className:"font-mono text-xs font-bold flex-1 truncate",children:[a.id,".md"]}),(0,K.jsx)("span",{className:e===a.id?"text-white opacity-70":"",children:d0[a.state]})]},a.id)),(m||c.tasks.length>0)&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("div",{className:"mx-3 my-1 border-t border-dashed border-gray-200"}),(0,K.jsxs)("button",{onClick:()=>f("development"),className:`w-full flex items-center gap-2 px-3 py-2 text-left transition-colors ${"development"===e?"bg-black text-white":"hover:bg-gray-100"}`,children:[(0,K.jsx)(dZ,{className:`h-3 w-3 flex-shrink-0 ${"development"===e?"text-white":"text-gray-300"}`}),(0,K.jsx)(bZ,{className:`h-3.5 w-3.5 flex-shrink-0 ${"development"===e?"text-white":"text-gray-400"}`}),(0,K.jsx)("span",{className:"font-mono text-xs font-bold flex-1",children:"development"}),(0,K.jsx)("span",{className:"development"===e?"text-white opacity-70":"",children:l?d0[l.state]:null})]})]})]}):(0,K.jsx)("div",{className:"px-4 py-3 text-xs text-gray-400 font-mono",children:"Loading..."})})]}),(0,K.jsx)("div",{className:"flex-1 flex flex-col min-h-0 p-6",children:c?e?o?(0,K.jsx)(d3,{tasks:c.tasks,status:l}):n?(0,K.jsx)(d$.ArtifactEditor,{specName:a,artifactType:e,content:c.artifacts[e]??null,status:n,onSave:i,defaultMode:"preview"},e):null:null:(0,K.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,K.jsx)("span",{className:"text-gray-400 font-mono text-sm",children:"Loading..."})})})]})]})})}let d5=[{id:"backlog",title:"Backlog",color:"bg-gray-200"},{id:"todo",title:"To Do",color:"bg-[--color-primary]"},{id:"in_progress",title:"In Progress",color:"bg-[--color-secondary]"},{id:"done",title:"Done",color:"bg-[--color-success]"}],d6=new Set(d5.map(a=>a.id)),d7="devflow-selected-project";function d8(){var a;let[b,c]=(0,L.useState)([]),[d,e]=(0,L.useState)([]),[f,g]=(0,L.useState)(null),[h,i]=(0,L.useState)(null),[j,k]=(0,L.useState)(!1),[l,m]=(0,L.useState)(null),[n,o]=(0,L.useState)(!0),[p,q]=(0,L.useState)(!1),[r,s]=(0,L.useState)(!1);(0,L.useRef)(null).current=f;let t=function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return(0,L.useMemo)(()=>[...b].filter(a=>null!=a),[...b])}((a={activationConstraint:{distance:8}},(0,L.useMemo)(()=>({sensor:aU,options:null!=a?a:{}}),[aU,a])));(0,L.useEffect)(()=>{let a=localStorage.getItem(d7);a&&g("all"===a?null:a),s(!0)},[]);let u=(0,L.useCallback)(a=>{g(a),i(null),localStorage.setItem(d7,a||"all"),q(!1)},[]);async function v(){try{let a=await fetch("/api/projects"),b=await a.json();e(b),r&&f?!b.some(a=>a.id===f)&&b.length>0&&u(b[0].id):r&&!f&&!localStorage.getItem(d7)&&b.length>0&&u(b[0].id)}catch(a){console.error("Failed to fetch projects:",a)}}async function w(){try{let a=await fetch("/api/tasks"),b=await a.json();c(b)}catch(a){console.error("Failed to fetch tasks:",a)}finally{o(!1)}}async function x(a,b){try{await fetch(`/api/tasks/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:b})}),await w()}catch(a){console.error("Failed to update task:",a)}}async function y(a,c){let d=b.filter(b=>b.projectId===a).length;if(confirm(d>0?`Delete "${c}" and its ${d} task${1===d?"":"s"}? This cannot be undone.`:`Delete "${c}"? This cannot be undone.`))try{(await fetch(`/api/projects/${a}`,{method:"DELETE"})).ok&&(f===a&&u(null),await v(),await w())}catch(a){console.error("Failed to delete project:",a)}}if((0,L.useEffect)(()=>{v(),w();let a=setInterval(()=>{w(),v()},5e3);return()=>clearInterval(a)},[]),(0,L.useEffect)(()=>{let a,b=null,c=!1;return!function d(){if(!c)try{(b=new WebSocket("ws://localhost:3001")).onopen=()=>{console.log("WebSocket connected")},b.onmessage=a=>{let b=JSON.parse(a.data);"agent_count"!==b.type&&(b.type?.includes("project")&&v(),w())},b.onerror=()=>{},b.onclose=()=>{c||(a=setTimeout(d,3e3))}}catch{c||(a=setTimeout(d,3e3))}}(),()=>{c=!0,clearTimeout(a),b?.close()}},[]),n)return(0,K.jsx)("div",{className:"flex items-center justify-center h-screen",children:(0,K.jsx)("div",{className:"text-lg",children:"Loading tasks..."})});let z=d.find(a=>a.id===f),A=f?b.filter(a=>a.projectId===f):b,B=(h?A.filter(a=>a.specName===h):A).length;return(0,K.jsxs)("div",{className:"h-screen flex flex-col bg-[--color-bg]",children:[(0,K.jsx)("header",{className:"border-b-4 border-black bg-white neubrutalism-shadow",children:(0,K.jsx)("div",{className:"container mx-auto px-6 py-4",children:(0,K.jsxs)("div",{className:"flex items-center justify-between",children:[(0,K.jsxs)("div",{className:"flex items-center gap-6",children:[(0,K.jsx)("div",{className:"flex items-center gap-4",children:(0,K.jsx)("h1",{className:"text-3xl font-black uppercase tracking-tight",children:"DevFlow"})}),(0,K.jsxs)("div",{className:"relative",children:[(0,K.jsxs)("button",{onClick:()=>q(!p),className:"flex items-center gap-2 px-4 py-2 bg-[--color-primary] border-4 border-black font-bold text-sm uppercase hover:translate-x-[2px] hover:translate-y-[2px] hover:shadow-none transition-all shadow-[4px_4px_0px_0px_rgba(0,0,0,1)]",children:[(0,K.jsx)("span",{className:"max-w-[200px] truncate",children:z?z.name:"All Projects"}),(0,K.jsxs)("span",{className:"text-xs opacity-70",children:["(",B,")"]}),(0,K.jsx)(dQ,{className:`h-4 w-4 transition-transform ${p?"rotate-180":""}`})]}),p&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("div",{className:"fixed inset-0 z-10",onClick:()=>q(!1)}),(0,K.jsxs)("div",{className:"absolute top-full left-0 mt-2 w-64 bg-white border-4 border-black shadow-[4px_4px_0px_0px_rgba(0,0,0,1)] z-20 max-h-80 overflow-y-auto",children:[(0,K.jsxs)("button",{onClick:()=>u(null),className:`w-full px-4 py-3 text-left font-bold text-sm uppercase border-b-2 border-black hover:bg-gray-100 flex items-center justify-between ${!f?"bg-black text-white hover:bg-gray-800":""}`,children:[(0,K.jsx)("span",{children:"All Projects"}),(0,K.jsxs)("span",{className:"text-xs opacity-70",children:["(",b.length,")"]})]}),d.map(a=>{let c=b.filter(b=>b.projectId===a.id).length;return(0,K.jsxs)("div",{className:`flex items-center border-b border-gray-200 last:border-b-0 ${f===a.id?"bg-[--color-primary]":"hover:bg-gray-100"}`,children:[(0,K.jsxs)("button",{onClick:()=>u(a.id),className:"flex-1 px-4 py-3 text-left font-bold text-sm flex items-center justify-between",children:[(0,K.jsx)("span",{className:"truncate",children:a.name}),(0,K.jsxs)("span",{className:"text-xs opacity-70 ml-2",children:["(",c,")"]})]}),(0,K.jsx)("button",{onClick:b=>{b.stopPropagation(),y(a.id,a.name)},className:"px-3 py-3 text-red-600 hover:bg-red-100 hover:text-red-800 transition-colors",title:"Delete project",children:(0,K.jsx)(b$,{className:"h-4 w-4"})})]},a.id)}),0===d.length&&(0,K.jsx)("div",{className:"px-4 py-3 text-sm text-gray-500",children:"No projects yet"})]})]})]})]}),(0,K.jsx)("div",{})]})})}),z&&(0,K.jsx)("div",{className:"bg-[--color-primary] border-b-4 border-black px-6 py-2",children:(0,K.jsxs)("div",{className:"container mx-auto flex items-center justify-between",children:[(0,K.jsxs)("div",{className:"flex items-center gap-4",children:[(0,K.jsx)("h2",{className:"text-lg font-black uppercase",children:z.name}),z.description&&(0,K.jsxs)("p",{className:"text-sm font-medium opacity-80",children:["— ",z.description]})]}),(0,K.jsxs)("div",{className:"flex items-center gap-4 text-sm font-bold",children:[(0,K.jsxs)("span",{children:[A.filter(a=>"in_progress"===a.status).length," in progress"]}),(0,K.jsxs)("span",{children:[A.filter(a=>"done"===a.status).length," done"]})]})]})}),(0,K.jsxs)("div",{className:"flex-1 min-h-0 overflow-hidden flex",children:[(0,K.jsx)(dY,{selectedSpecName:h,onSelectSpec:a=>{h===a&&j?k(!1):(i(a),k(!0))}}),(0,K.jsx)("main",{className:"flex-1 min-h-0 overflow-hidden",children:(0,K.jsxs)(bh,{sensors:t,onDragStart:function(a){m(b.find(b=>b.id===a.active.id)||null)},onDragEnd:function(a){let c,{active:d,over:e}=a;if(m(null),!e)return;let f=d.id,g=e.id;if(d6.has(g))c=g;else{let a=b.find(a=>a.id===g);if(!a)return;c=a.status}let h=b.find(a=>a.id===f);h&&h.status!==c&&x(f,c)},children:[(0,K.jsx)("div",{className:"h-full px-6 py-6",children:(0,K.jsx)("div",{className:"grid grid-cols-4 gap-6 h-full min-h-0",children:d5.map(a=>{var c;return(0,K.jsx)(dP,{id:a.id,title:a.title,color:a.color,tasks:(c=a.id,b.filter(a=>"interrupted"===a.status?"in_progress"===c:a.status===c).filter(a=>!f||a.projectId===f).filter(a=>!h||a.specName===h)),features:[],onRefresh:w},a.id)})})}),(0,K.jsx)(bv,{children:l?(0,K.jsx)("div",{className:"rotate-3 opacity-80",children:(0,K.jsx)(dO,{task:l,feature:void 0,features:[],onRefresh:w})}):null})]})}),j&&h&&(0,K.jsx)(d4,{specName:h,onClose:()=>k(!1)})]})]})}a.s(["KanbanBoard",()=>d8],89077)}];
|
|
5
|
+
For more information, see https://radix-ui.com/primitives/docs/components/${b.docsSlug}`;return L.useEffect(()=>{a&&(document.getElementById(a)||console.error(c))},[c,a]),null},dE=({contentRef:a,descriptionId:b})=>{let c=dC("DialogDescriptionWarning"),d=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${c.contentName}}.`;return L.useEffect(()=>{let c=a.current?.getAttribute("aria-describedby");b&&c&&(document.getElementById(b)||console.warn(d))},[d,a,b]),null};let dF=bW("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),dG=L.forwardRef(({className:a,...b},c)=>(0,K.jsx)(dk,{ref:c,className:(0,bK.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...b}));dG.displayName=dk.displayName;let dH=L.forwardRef(({className:a,children:b,...c},d)=>(0,K.jsxs)(di,{children:[(0,K.jsx)(dG,{}),(0,K.jsxs)(dp,{ref:d,className:(0,bK.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border-4 border-black bg-white p-6 neubrutalism-shadow-xl duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]",a),...c,children:[b,(0,K.jsxs)(dy,{className:"absolute right-4 top-4 border-2 border-black bg-white p-1 hover:bg-gray-100 focus:outline-none",children:[(0,K.jsx)(dF,{className:"h-4 w-4"}),(0,K.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));dH.displayName=dp.displayName;let dI=({className:a,...b})=>(0,K.jsx)("div",{className:(0,bK.cn)("flex flex-col space-y-1.5 text-center sm:text-left",a),...b});dI.displayName="DialogHeader";let dJ=L.forwardRef(({className:a,...b},c)=>(0,K.jsx)(du,{ref:c,className:(0,bK.cn)("text-2xl font-bold uppercase tracking-wide leading-none",a),...b}));dJ.displayName=du.displayName,L.forwardRef(({className:a,...b},c)=>(0,K.jsx)(dw,{ref:c,className:(0,bK.cn)("text-sm text-muted-foreground",a),...b})).displayName=dw.displayName;let dK=bW("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var dL=a.i(22249);function dM({task:a,open:b,onOpenChange:c,onRefresh:d}){let[e,f]=(0,L.useState)(a.title),[g,h]=(0,L.useState)(a.priority),[i,j]=(0,L.useState)(a.status),[k,l]=(0,L.useState)(a.body),[m,n]=(0,L.useState)(!1);async function o(){n(!0);try{await fetch(`/api/tasks/${a.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:e,priority:g,status:i})}),d(),c(!1)}catch(a){console.error("Failed to update task:",a)}finally{n(!1)}}return(0,L.useEffect)(()=>{b&&fetch(`/api/tasks/${a.id}`).then(a=>a.json()).then(a=>{f(a.title),h(a.priority),j(a.status),l(a.body)}).catch(()=>{f(a.title),h(a.priority),j(a.status),l(a.body)})},[b,a.id]),(0,K.jsx)(dd,{open:b,onOpenChange:c,children:(0,K.jsxs)(dH,{className:"max-w-2xl max-h-[90vh] overflow-y-auto",children:[(0,K.jsx)(dI,{children:(0,K.jsx)(dJ,{children:"Edit Task"})}),(0,K.jsxs)("div",{className:"space-y-4",children:[(0,K.jsxs)("div",{children:[(0,K.jsx)("label",{className:"text-xs font-bold uppercase tracking-wide mb-2 block",children:"Title"}),(0,K.jsx)("input",{type:"text",value:e,onChange:a=>f(a.target.value),className:"w-full px-4 py-3 border-3 border-black font-bold focus:outline-none focus:shadow-[4px_4px_0px_0px_rgba(0,0,0,1)]",placeholder:"Task title"})]}),(0,K.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,K.jsxs)("div",{children:[(0,K.jsx)("label",{className:"text-xs font-bold uppercase tracking-wide mb-2 block",children:"Priority"}),(0,K.jsxs)("select",{value:g,onChange:a=>h(a.target.value),className:"w-full px-4 py-3 border-3 border-black font-bold uppercase focus:outline-none focus:shadow-[4px_4px_0px_0px_rgba(0,0,0,1)]",children:[(0,K.jsx)("option",{value:"low",children:"Low"}),(0,K.jsx)("option",{value:"medium",children:"Medium"}),(0,K.jsx)("option",{value:"high",children:"High"}),(0,K.jsx)("option",{value:"urgent",children:"Urgent"})]})]}),(0,K.jsxs)("div",{children:[(0,K.jsx)("label",{className:"text-xs font-bold uppercase tracking-wide mb-2 block",children:"Status"}),(0,K.jsxs)("select",{value:i,onChange:a=>j(a.target.value),className:"w-full px-4 py-3 border-3 border-black font-bold uppercase focus:outline-none focus:shadow-[4px_4px_0px_0px_rgba(0,0,0,1)]",children:[(0,K.jsx)("option",{value:"backlog",children:"Backlog"}),(0,K.jsx)("option",{value:"todo",children:"To Do"}),(0,K.jsx)("option",{value:"in_progress",children:"In Progress"}),(0,K.jsx)("option",{value:"interrupted",children:"Interrupted"}),(0,K.jsx)("option",{value:"done",children:"Done"})]})]})]}),a.specName&&(0,K.jsxs)("div",{children:[(0,K.jsx)("label",{className:"text-xs font-bold uppercase tracking-wide mb-2 block",children:"Spec"}),(0,K.jsx)("div",{className:"px-4 py-2 border-2 border-black bg-gray-50 font-mono text-sm",children:a.specName})]}),k&&(0,K.jsxs)("div",{children:[(0,K.jsx)("label",{className:"text-xs font-bold uppercase tracking-wide mb-2 block",children:"Task Card"}),(0,K.jsx)("div",{className:"w-full px-4 py-3 border-2 border-black bg-gray-50 min-h-[100px] text-sm overflow-auto max-h-[300px]",children:(0,K.jsx)(dL.MarkdownPreview,{content:k})})]}),(0,K.jsxs)("div",{className:"flex flex-wrap gap-3 pt-4 border-t-3 border-black",children:[a.assignedAgent&&(0,K.jsxs)(bQ,{variant:"secondary",className:"gap-1",children:[(0,K.jsx)(bY,{className:"h-3 w-3"}),a.assignedAgent]}),(0,K.jsxs)(bQ,{variant:"outline",className:"gap-1",children:[(0,K.jsx)(dK,{className:"h-3 w-3"}),"Created: ",new Date(a.createdAt).toLocaleDateString()]}),a.updatedAt&&a.updatedAt!==a.createdAt&&(0,K.jsxs)(bQ,{variant:"outline",className:"gap-1",children:[(0,K.jsx)(dK,{className:"h-3 w-3"}),"Updated: ",new Date(a.updatedAt).toLocaleDateString()]})]}),(0,K.jsxs)("div",{className:"flex justify-end gap-3 pt-4 border-t-3 border-black",children:[(0,K.jsx)(bR.Button,{variant:"outline",onClick:()=>c(!1),disabled:m,children:"Cancel"}),(0,K.jsx)(bR.Button,{onClick:o,disabled:m,children:m?"Saving...":"Save Changes"})]})]})]})})}let dN={low:"bg-[--color-primary] text-black",medium:"bg-[--color-secondary] text-black",high:"bg-orange-300 text-black",urgent:"bg-[--color-accent] text-black"};function dO({task:a,onRefresh:b}){let[c,d]=(0,L.useState)(!1),{attributes:e,listeners:f,setNodeRef:g,transform:h,transition:i,isDragging:j}=function(a){var b,c,d,e;let{animateLayoutChanges:f=bF,attributes:g,disabled:h,data:i,getNewIndex:j=bE,id:k,strategy:l,resizeObserverConfig:m,transition:n=bG}=a,{items:o,containerId:p,activeIndex:q,disabled:r,disableTransforms:s,sortedRects:t,overIndex:u,useDragOverlay:v,strategy:w}=(0,L.useContext)(bC),x=(b=h,c=r,"boolean"==typeof b?{draggable:b,droppable:!1}:{draggable:null!=(d=null==b?void 0:b.draggable)?d:c.draggable,droppable:null!=(e=null==b?void 0:b.droppable)?e:c.droppable}),y=o.indexOf(k),z=(0,L.useMemo)(()=>({sortable:{containerId:p,index:y,items:o},...i}),[p,i,y,o]),A=(0,L.useMemo)(()=>o.slice(o.indexOf(k)),[o,k]),{rect:B,node:C,isOver:D,setNodeRef:E}=bm({id:k,data:z,disabled:x.droppable,resizeObserverConfig:{updateMeasurementsFor:A,...m}}),{active:F,activatorEvent:G,activeNodeRect:H,attributes:I,setNodeRef:J,listeners:K,isDragging:M,over:N,setActivatorNodeRef:O,transform:P}=function(a){let{id:b,data:c,disabled:d=!1,attributes:e}=a,f=_("Draggable"),{activators:g,activatorEvent:h,active:i,activeNodeRect:j,ariaDescribedById:k,draggableNodes:l,over:m}=(0,L.useContext)(ba),{role:n=bj,roleDescription:o="draggable",tabIndex:p=0}=null!=e?e:{},q=(null==i?void 0:i.id)===b,r=(0,L.useContext)(q?bg:bi),[s,t]=Y(),[u,v]=Y(),w=(0,L.useMemo)(()=>g.reduce((a,c)=>{let{eventName:d,handler:e}=c;return a[d]=a=>{e(a,b)},a},{}),[g,b]),x=W(c);return U(()=>(l.set(b,{id:b,key:f,node:s,activatorNode:u,data:x}),()=>{let a=l.get(b);a&&a.key===f&&l.delete(b)}),[l,b]),{active:i,activatorEvent:h,activeNodeRect:j,attributes:(0,L.useMemo)(()=>({role:n,tabIndex:p,"aria-disabled":d,"aria-pressed":!!q&&n===bj||void 0,"aria-roledescription":o,"aria-describedby":k.draggable}),[d,n,p,q,o,k.draggable]),isDragging:q,listeners:d?void 0:w,node:s,over:m,setNodeRef:t,setActivatorNodeRef:v,transform:r}}({id:k,data:z,attributes:{...bJ,...g},disabled:x.draggable}),Q=function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return(0,L.useMemo)(()=>a=>{b.forEach(b=>b(a))},b)}(E,J),R=!!F,S=R&&!s&&bx(q)&&bx(u),T=!v&&M,V=T&&S?P:null,X=S?null!=V?V:(null!=l?l:w)({rects:t,activeNodeRect:H,activeIndex:q,overIndex:u,index:y}):null,Z=bx(q)&&bx(u)?j({id:k,items:o,activeIndex:q,overIndex:u}):y,$=null==F?void 0:F.id,aa=(0,L.useRef)({activeId:$,items:o,newIndex:Z,containerId:p}),ab=o!==aa.current.items,ac=f({active:F,containerId:p,isDragging:M,isSorting:R,id:k,index:y,items:o,newIndex:aa.current.newIndex,previousItems:aa.current.items,previousContainerId:aa.current.containerId,transition:n,wasDragging:null!=aa.current.activeId}),ae=function(a){let{disabled:b,index:c,node:d,rect:e}=a,[f,g]=(0,L.useState)(null),h=(0,L.useRef)(c);return U(()=>{if(!b&&c!==h.current&&d.current){let a=e.current;if(a){let b=aw(d.current,{ignoreTransform:!0}),c={x:a.left-b.left,y:a.top-b.top,scaleX:a.width/b.width,scaleY:a.height/b.height};(c.x||c.y)&&g(c)}}c!==h.current&&(h.current=c)},[b,c,d,e]),(0,L.useEffect)(()=>{f&&g(null)},[f]),f}({disabled:!ac,index:y,node:C,rect:B});return(0,L.useEffect)(()=>{R&&aa.current.newIndex!==Z&&(aa.current.newIndex=Z),p!==aa.current.containerId&&(aa.current.containerId=p),o!==aa.current.items&&(aa.current.items=o)},[R,Z,p,o]),(0,L.useEffect)(()=>{if($===aa.current.activeId)return;if(null!=$&&null==aa.current.activeId){aa.current.activeId=$;return}let a=setTimeout(()=>{aa.current.activeId=$},50);return()=>clearTimeout(a)},[$]),{active:F,activeIndex:q,attributes:I,data:z,rect:B,index:y,newIndex:Z,items:o,isOver:D,isSorting:R,isDragging:M,listeners:K,node:C,overIndex:u,over:N,setNodeRef:Q,setActivatorNodeRef:O,setDroppableNodeRef:E,setDraggableNodeRef:J,transform:null!=ae?ae:X,transition:ae||ab&&aa.current.newIndex===y?bI:(!T||ad(G))&&n&&(R||ac)?af.Transition.toString({...n,property:bH}):void 0}}({id:a.id}),k={transform:af.Transform.toString(h),transition:i};async function l(c){if(c.stopPropagation(),confirm("Are you sure you want to delete this task?"))try{await fetch(`/api/tasks/${a.id}`,{method:"DELETE"}),b()}catch(a){console.error("Failed to delete task:",a)}}return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("div",{ref:g,style:k,className:(0,bK.cn)("cursor-pointer transition-opacity",j&&"opacity-50"),children:(0,K.jsxs)(bL,{className:(0,bK.cn)("hover:translate-x-0.5 hover:translate-y-0.5 transition-transform cursor-pointer","interrupted"===a.status&&"border-amber-500 bg-amber-50"),onClick:()=>d(!0),children:[(0,K.jsx)(bM,{className:"pb-3",children:(0,K.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,K.jsx)("div",{className:"flex-1 min-w-0",children:(0,K.jsx)(bN,{className:"text-sm line-clamp-2",children:a.title})}),(0,K.jsxs)("div",{className:"flex items-center gap-1",children:[(0,K.jsx)(bR.Button,{variant:"ghost",size:"icon",className:"h-6 w-6 cursor-grab active:cursor-grabbing border-2 border-black",...e,...f,onClick:a=>a.stopPropagation(),children:(0,K.jsx)(bX,{className:"h-4 w-4"})}),(0,K.jsx)(bR.Button,{variant:"ghost",size:"icon",className:"h-6 w-6 border-2 border-black bg-[--color-accent] hover:bg-red-400",onClick:l,children:(0,K.jsx)(b$,{className:"h-3 w-3"})})]})]})}),(0,K.jsx)(bO,{className:"space-y-2",children:(0,K.jsxs)("div",{className:"flex flex-wrap gap-2",children:["interrupted"===a.status&&(0,K.jsxs)(bQ,{variant:"outline",className:"text-xs gap-1 border-amber-500 text-amber-700 bg-amber-50",children:[(0,K.jsx)(b_,{className:"h-3 w-3"}),"Interrupted"]}),a.specName&&(0,K.jsx)(bQ,{variant:"outline",className:"text-xs font-mono",children:a.specName}),(0,K.jsx)(bQ,{variant:"outline",className:(0,bK.cn)("text-xs",dN[a.priority]),children:a.priority}),a.assignedAgent&&(0,K.jsxs)(bQ,{variant:"secondary",className:"text-xs gap-1",children:[(0,K.jsx)(bY,{className:"h-3 w-3"}),a.assignedAgent]}),a.body&&(0,K.jsxs)(bQ,{variant:"outline",className:"text-xs gap-1",children:[(0,K.jsx)(bZ,{className:"h-3 w-3"}),"Notes"]})]})})]})}),(0,K.jsx)(dM,{task:a,features:[],open:c,onOpenChange:d,onRefresh:b})]})}function dP({id:a,title:b,color:c,tasks:d,onRefresh:e}){let{setNodeRef:f,isOver:g}=bm({id:a});return(0,K.jsxs)("div",{className:"flex flex-col h-full min-h-0",children:[(0,K.jsx)("div",{className:(0,bK.cn)("px-4 py-3 border-3 border-black border-b-0",c),children:(0,K.jsxs)("h2",{className:"font-black uppercase tracking-wide text-black flex items-center justify-between",children:[(0,K.jsx)("span",{children:b}),(0,K.jsx)("span",{className:"text-sm font-bold bg-black text-white px-2 py-1",children:d.length})]})}),(0,K.jsxs)("div",{ref:f,className:(0,bK.cn)("flex-1 overflow-y-auto p-4 space-y-3 bg-white border-3 border-black transition-colors",g&&"bg-gray-100"),children:[(0,K.jsx)(bD,{items:d.map(a=>a.id),strategy:bA,children:d.map(a=>(0,K.jsx)(dO,{task:a,feature:void 0,features:[],onRefresh:e},a.id))}),0===d.length&&(0,K.jsx)("div",{className:"text-center text-gray-500 font-bold text-sm py-8 uppercase",children:"Drop tasks here"})]})]})}let dQ=bW("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),dR=bW("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),dS=bW("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),dT=bW("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);var dU=a.i(61149);let dV={blocked:"bg-gray-300",ready:"bg-blue-400",in_review:"bg-yellow-400",in_progress:"bg-orange-400",done:"bg-green-500"},dW={done:(0,K.jsx)(dR,{className:"h-3 w-3 text-green-600"}),in_review:(0,K.jsx)(dK,{className:"h-3 w-3 text-yellow-500"}),in_progress:(0,K.jsx)(dK,{className:"h-3 w-3 text-orange-500"}),ready:(0,K.jsx)(dS,{className:"h-3 w-3 text-blue-500"}),blocked:(0,K.jsx)(dT,{className:"h-3 w-3 text-gray-400"})},dX={done:"done",in_review:"in review",in_progress:"in progress",ready:"ready",blocked:"blocked"};function dY({spec:a,selected:b,onClick:c}){let d,e=a.statuses?0===(d=a.statuses.filter(a=>"development"!==a.id)).length?"ready":d.every(a=>"done"===a.state)?"done":d.some(a=>"in_review"===a.state||"in_progress"===a.state)?"in_review":d.some(a=>"ready"===a.state)?"ready":"blocked":"ready",f=a.statuses?.filter(a=>"development"!==a.id)??[];return(0,K.jsxs)("button",{onClick:c,className:`w-full text-left p-3 border-4 transition-all ${b?"border-black bg-black text-white shadow-none translate-x-[2px] translate-y-[2px]":"border-black bg-white shadow-[4px_4px_0px_0px_rgba(0,0,0,1)] hover:translate-x-[2px] hover:translate-y-[2px] hover:shadow-none"}`,children:[(0,K.jsxs)("div",{className:"flex items-start justify-between gap-1 mb-2",children:[(0,K.jsx)("span",{className:`font-black text-xs uppercase leading-tight line-clamp-2 flex-1 ${b?"text-white":""}`,children:a.title||a.name}),(0,K.jsx)("span",{className:"flex-shrink-0 mt-0.5",children:dW[e]})]}),(0,K.jsx)("p",{className:`font-mono text-[10px] mb-2 truncate ${b?"text-gray-300":"text-gray-400"}`,children:a.name}),f.length>0&&(0,K.jsxs)("div",{className:"flex gap-1 items-center",children:[f.map(a=>(0,K.jsx)("div",{title:`${a.id}: ${a.state}`,className:`w-2 h-2 rounded-full border border-black ${b?"border-gray-400":""} ${dV[a.state]}`},a.id)),(0,K.jsx)("span",{className:`text-[10px] font-bold uppercase ml-1 ${b?"text-gray-300":"text-gray-400"}`,children:dX[e]})]})]})}function dZ({selectedSpecName:a,onSelectSpec:b}){let{data:c=[],isLoading:d}=(0,dU.useSpecs)();return(0,K.jsxs)("div",{className:"flex flex-col h-full min-h-0 border-r-4 border-black bg-[--color-bg]",style:{width:220,flexShrink:0},children:[(0,K.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b-4 border-black bg-[--color-secondary] flex-shrink-0",children:[(0,K.jsx)("h2",{className:"font-black uppercase text-sm tracking-wide",children:"Specs"}),(0,K.jsxs)("span",{className:"text-xs font-bold opacity-60",children:["(",c.length,")"]})]}),(0,K.jsxs)("div",{className:"flex-1 overflow-y-auto p-3 flex flex-col gap-2",children:[d&&(0,K.jsx)("p",{className:"text-xs text-gray-400 font-mono px-1",children:"Loading..."}),!d&&0===c.length&&(0,K.jsx)("p",{className:"text-xs text-gray-400 font-mono px-1",children:"No specs yet."}),c.map(c=>(0,K.jsx)(dY,{spec:c,selected:a===c.name,onClick:()=>b(c.name)},c.name))]})]})}let d$=bW("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);var d_=a.i(56631),d0=a.i(66132);let d1={blocked:(0,K.jsx)(dT,{className:"h-3 w-3 text-gray-400 flex-shrink-0"}),ready:(0,K.jsx)(dS,{className:"h-3 w-3 text-blue-500 flex-shrink-0"}),in_review:(0,K.jsx)(dK,{className:"h-3 w-3 text-yellow-500 flex-shrink-0"}),in_progress:(0,K.jsx)(dK,{className:"h-3 w-3 text-orange-500 flex-shrink-0"}),done:(0,K.jsx)(dR,{className:"h-3 w-3 text-green-600 flex-shrink-0"})},d2={backlog:"bg-gray-100 border-gray-400 text-gray-600",todo:"bg-blue-100 border-blue-400 text-blue-700",in_progress:"bg-orange-100 border-orange-400 text-orange-700",interrupted:"bg-red-100 border-red-400 text-red-700",done:"bg-green-100 border-green-500 text-green-700"},d3={urgent:"text-red-600",high:"text-orange-500",medium:"text-gray-500",low:"text-gray-400"};function d4({tasks:a,status:b}){let c=a.length,d=a.filter(a=>"done"===a.status).length,e=a.filter(a=>"in_progress"===a.status).length;return b?.state==="blocked"?(0,K.jsxs)("div",{className:"p-6 bg-gray-100 border-4 border-gray-300 text-center",children:[(0,K.jsx)("p",{className:"font-bold text-gray-600 uppercase",children:"Blocked — approve and promote tasks first"}),(0,K.jsx)("p",{className:"text-sm text-gray-500 mt-1",children:"Approve all artifacts, then click “Promote to Tasks”"})]}):0===a.length?(0,K.jsxs)("div",{className:"p-6 bg-blue-50 border-4 border-blue-300 text-center",children:[(0,K.jsx)("p",{className:"font-bold text-blue-700 uppercase",children:"Ready to promote"}),(0,K.jsx)("p",{className:"text-sm text-blue-600 mt-1",children:"All artifacts approved. Promote tasks to start development."})]}):(0,K.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,K.jsxs)("div",{className:"flex items-center gap-3",children:[(0,K.jsx)("div",{className:"flex-1 h-3 bg-gray-200 border-2 border-black overflow-hidden",children:(0,K.jsx)("div",{className:"h-full bg-green-500 transition-all",style:{width:`${c>0?d/c*100:0}%`}})}),(0,K.jsxs)("span",{className:"font-mono text-sm font-bold whitespace-nowrap",children:[d,"/",c," done",e>0&&(0,K.jsxs)("span",{className:"text-orange-600 ml-2",children:["· ",e," in progress"]})]})]}),(0,K.jsx)("div",{className:"flex flex-col gap-2",children:a.map(a=>(0,K.jsxs)("div",{className:"flex items-center gap-3 p-3 border-4 border-black bg-white",children:[(0,K.jsx)("span",{className:`text-lg ${"done"===a.status?"opacity-100":"opacity-30"}`,children:"done"===a.status?"✓":"in_progress"===a.status?"⟳":"○"}),(0,K.jsx)("span",{className:`flex-1 font-bold text-sm ${"done"===a.status?"line-through text-gray-400":""}`,children:a.title}),(0,K.jsx)("span",{className:`text-xs font-mono uppercase font-bold ${d3[a.priority]||""}`,children:a.priority}),(0,K.jsx)("span",{className:`px-2 py-0.5 border-2 text-xs font-bold uppercase ${d2[a.status]||""}`,children:a.status.replace("_"," ")}),a.assignedAgent&&(0,K.jsxs)("span",{className:"text-xs font-mono text-gray-500 truncate max-w-[120px]",title:a.assignedAgent,children:["@",a.assignedAgent]})]},a.id))})]})}function d5({specName:a,onClose:b}){let{data:c,isLoading:d}=(0,dU.useSpec)(a),{invalidateSpec:e,invalidateSpecs:f,invalidateTasks:g}=(0,dU.useInvalidate)(),[h,i]=(0,L.useState)(null),[j,k]=(0,L.useState)(!1);function l(){e(a),f()}async function m(){k(!0);try{let b=await fetch(`/api/specs/${a}/promote`,{method:"POST"}),c=await b.json();b.ok?(alert(`Promoted ${c.promoted} tasks to Kanban board!`),l(),g()):alert(`Error: ${c.error}`)}finally{k(!1)}}c&&!h&&c.statuses?.length&&i(c.statuses[0].id);let n=c?.statuses.filter(a=>"development"!==a.id)??[],o=c?.statuses.find(a=>"development"===a.id),p=n.every(a=>"done"===a.state),q=c?.statuses.find(a=>a.id===h),r="development"===h;return(0,K.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",onClick:a=>{a.target===a.currentTarget&&b()},children:(0,K.jsxs)("div",{className:"bg-white border-4 border-black shadow-[8px_8px_0px_0px_rgba(0,0,0,1)] flex flex-col",style:{width:"min(1300px, 96vw)",height:"min(920px, 94vh)"},children:[(0,K.jsxs)("div",{className:"flex items-center justify-between px-6 py-4 border-b-4 border-black bg-white flex-shrink-0",children:[(0,K.jsxs)("div",{children:[(0,K.jsx)("h2",{className:"text-2xl font-black uppercase leading-tight",children:c?.title||a}),(0,K.jsx)("p",{className:"font-mono text-xs text-gray-500 mt-0.5",children:a})]}),(0,K.jsx)("button",{onClick:b,className:"p-2 border-4 border-black hover:bg-black hover:text-white transition-colors",children:(0,K.jsx)(dF,{className:"h-5 w-5"})})]}),c&&(0,K.jsx)("div",{className:"px-6 py-3 border-b-4 border-black bg-white flex-shrink-0",children:(0,K.jsx)(d0.ArtifactDagStatus,{statuses:c.statuses})}),p&&c?.tasks.length===0&&(0,K.jsxs)("div",{className:"px-6 py-3 border-b-4 border-green-600 bg-green-100 flex-shrink-0 flex items-center justify-between",children:[(0,K.jsx)("p",{className:"font-black text-green-800 uppercase text-sm",children:"All artifacts approved!"}),(0,K.jsx)(bR.Button,{onClick:m,disabled:j,className:"bg-green-600 hover:bg-green-700 text-white",children:j?"Promoting...":"Promote to Tasks"})]}),o?.state==="done"&&(0,K.jsx)("div",{className:"px-6 py-3 border-b-4 border-green-600 bg-green-100 flex-shrink-0",children:(0,K.jsxs)("p",{className:"font-black text-green-800 uppercase text-sm",children:["✓ Spec complete — all ",c?.tasks.length," tasks done"]})}),(0,K.jsxs)("div",{className:"flex flex-1 min-h-0",children:[(0,K.jsxs)("div",{className:"w-60 border-r-4 border-black bg-white flex flex-col flex-shrink-0 overflow-y-auto",children:[(0,K.jsx)("div",{className:"px-3 py-2 border-b-2 border-gray-200",children:(0,K.jsxs)("span",{className:"font-mono text-[10px] text-gray-400 uppercase tracking-widest",children:[a,"/"]})}),(0,K.jsx)("div",{className:"flex-1 py-1",children:c?(0,K.jsxs)(K.Fragment,{children:[n.map(a=>(0,K.jsxs)("button",{onClick:()=>i(a.id),className:`w-full flex items-center gap-2 px-3 py-2 text-left transition-colors group ${h===a.id?"bg-black text-white":"hover:bg-gray-100"}`,children:[(0,K.jsx)(d$,{className:`h-3 w-3 flex-shrink-0 ${h===a.id?"text-white":"text-gray-300"}`}),(0,K.jsx)(bZ,{className:`h-3.5 w-3.5 flex-shrink-0 ${h===a.id?"text-white":"text-gray-400"}`}),(0,K.jsxs)("span",{className:"font-mono text-xs font-bold flex-1 truncate",children:[a.id,".md"]}),(0,K.jsx)("span",{className:h===a.id?"text-white opacity-70":"",children:d1[a.state]})]},a.id)),(p||c.tasks.length>0)&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("div",{className:"mx-3 my-1 border-t border-dashed border-gray-200"}),(0,K.jsxs)("button",{onClick:()=>i("development"),className:`w-full flex items-center gap-2 px-3 py-2 text-left transition-colors ${"development"===h?"bg-black text-white":"hover:bg-gray-100"}`,children:[(0,K.jsx)(d$,{className:`h-3 w-3 flex-shrink-0 ${"development"===h?"text-white":"text-gray-300"}`}),(0,K.jsx)(bZ,{className:`h-3.5 w-3.5 flex-shrink-0 ${"development"===h?"text-white":"text-gray-400"}`}),(0,K.jsx)("span",{className:"font-mono text-xs font-bold flex-1",children:"development"}),(0,K.jsx)("span",{className:"development"===h?"text-white opacity-70":"",children:o?d1[o.state]:null})]})]})]}):(0,K.jsx)("div",{className:"px-4 py-3 text-xs text-gray-400 font-mono",children:"Loading..."})})]}),(0,K.jsx)("div",{className:"flex-1 flex flex-col min-h-0 p-6",children:d?(0,K.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,K.jsx)("span",{className:"text-gray-400 font-mono text-sm",children:"Loading..."})}):h?r?(0,K.jsx)(d4,{tasks:c?.tasks??[],status:o}):q?(0,K.jsx)(d_.ArtifactEditor,{specName:a,artifactType:h,content:c?.artifacts[h]??null,status:q,onSave:l,defaultMode:"preview"},h):null:null})]})]})})}var d6=a.i(45066);let d7=[{id:"backlog",title:"Backlog",color:"bg-gray-200"},{id:"todo",title:"To Do",color:"bg-[--color-primary]"},{id:"in_progress",title:"In Progress",color:"bg-[--color-secondary]"},{id:"done",title:"Done",color:"bg-[--color-success]"}],d8=new Set(d7.map(a=>a.id)),d9="devflow-selected-project";function ea(){var a;let{data:b=[],isLoading:c}=(0,dU.useProjects)(),{data:d=[],isLoading:e}=(0,dU.useTasks)(),{invalidateTasks:f,invalidateProjects:g}=(0,dU.useInvalidate)();(0,d6.useWebSocket)();let[h,i]=(0,L.useState)(null),[j,k]=(0,L.useState)(null),[l,m]=(0,L.useState)(!1),[n,o]=(0,L.useState)(null),[p,q]=(0,L.useState)(!1),[r,s]=(0,L.useState)(!1),t=function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return(0,L.useMemo)(()=>[...b].filter(a=>null!=a),[...b])}((a={activationConstraint:{distance:8}},(0,L.useMemo)(()=>({sensor:aU,options:null!=a?a:{}}),[aU,a])));(0,L.useEffect)(()=>{let a=localStorage.getItem(d9);a&&i("all"===a?null:a),s(!0)},[]),(0,L.useEffect)(()=>{r&&!c&&(h?!b.some(a=>a.id===h)&&b.length>0&&u(b[0].id):!localStorage.getItem(d9)&&b.length>0&&u(b[0].id))},[r,c,b]);let u=(0,L.useCallback)(a=>{i(a),k(null),localStorage.setItem(d9,a||"all"),q(!1)},[]);async function v(a,b){try{await fetch(`/api/tasks/${a}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:b})}),f()}catch(a){console.error("Failed to update task:",a)}}async function w(a,b){let c=d.filter(b=>b.projectId===a).length;if(confirm(c>0?`Delete "${b}" and its ${c} task${1===c?"":"s"}? This cannot be undone.`:`Delete "${b}"? This cannot be undone.`))try{(await fetch(`/api/projects/${a}`,{method:"DELETE"})).ok&&(h===a&&u(null),g(),f())}catch(a){console.error("Failed to delete project:",a)}}if(e&&!d.length)return(0,K.jsx)("div",{className:"flex items-center justify-center h-screen",children:(0,K.jsx)("div",{className:"text-lg",children:"Loading tasks..."})});let x=b.find(a=>a.id===h),y=h?d.filter(a=>a.projectId===h):d,z=(j?y.filter(a=>a.specName===j):y).length;return(0,K.jsxs)("div",{className:"h-screen flex flex-col bg-[--color-bg]",children:[(0,K.jsx)("header",{className:"border-b-4 border-black bg-white neubrutalism-shadow",children:(0,K.jsx)("div",{className:"container mx-auto px-6 py-4",children:(0,K.jsxs)("div",{className:"flex items-center justify-between",children:[(0,K.jsxs)("div",{className:"flex items-center gap-6",children:[(0,K.jsx)("div",{className:"flex items-center gap-4",children:(0,K.jsx)("h1",{className:"text-3xl font-black uppercase tracking-tight",children:"DevFlow"})}),(0,K.jsxs)("div",{className:"relative",children:[(0,K.jsxs)("button",{onClick:()=>q(!p),className:"flex items-center gap-2 px-4 py-2 bg-[--color-primary] border-4 border-black font-bold text-sm uppercase hover:translate-x-[2px] hover:translate-y-[2px] hover:shadow-none transition-all shadow-[4px_4px_0px_0px_rgba(0,0,0,1)]",children:[(0,K.jsx)("span",{className:"max-w-[200px] truncate",children:x?x.name:"All Projects"}),(0,K.jsxs)("span",{className:"text-xs opacity-70",children:["(",z,")"]}),(0,K.jsx)(dQ,{className:`h-4 w-4 transition-transform ${p?"rotate-180":""}`})]}),p&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("div",{className:"fixed inset-0 z-10",onClick:()=>q(!1)}),(0,K.jsxs)("div",{className:"absolute top-full left-0 mt-2 w-64 bg-white border-4 border-black shadow-[4px_4px_0px_0px_rgba(0,0,0,1)] z-20 max-h-80 overflow-y-auto",children:[(0,K.jsxs)("button",{onClick:()=>u(null),className:`w-full px-4 py-3 text-left font-bold text-sm uppercase border-b-2 border-black hover:bg-gray-100 flex items-center justify-between ${!h?"bg-black text-white hover:bg-gray-800":""}`,children:[(0,K.jsx)("span",{children:"All Projects"}),(0,K.jsxs)("span",{className:"text-xs opacity-70",children:["(",d.length,")"]})]}),b.map(a=>{let b=d.filter(b=>b.projectId===a.id).length;return(0,K.jsxs)("div",{className:`flex items-center border-b border-gray-200 last:border-b-0 ${h===a.id?"bg-[--color-primary]":"hover:bg-gray-100"}`,children:[(0,K.jsxs)("button",{onClick:()=>u(a.id),className:"flex-1 px-4 py-3 text-left font-bold text-sm flex items-center justify-between",children:[(0,K.jsx)("span",{className:"truncate",children:a.name}),(0,K.jsxs)("span",{className:"text-xs opacity-70 ml-2",children:["(",b,")"]})]}),(0,K.jsx)("button",{onClick:b=>{b.stopPropagation(),w(a.id,a.name)},className:"px-3 py-3 text-red-600 hover:bg-red-100 hover:text-red-800 transition-colors",title:"Delete project",children:(0,K.jsx)(b$,{className:"h-4 w-4"})})]},a.id)}),0===b.length&&(0,K.jsx)("div",{className:"px-4 py-3 text-sm text-gray-500",children:"No projects yet"})]})]})]})]}),(0,K.jsx)("div",{})]})})}),x&&(0,K.jsx)("div",{className:"bg-[--color-primary] border-b-4 border-black px-6 py-2",children:(0,K.jsxs)("div",{className:"container mx-auto flex items-center justify-between",children:[(0,K.jsxs)("div",{className:"flex items-center gap-4",children:[(0,K.jsx)("h2",{className:"text-lg font-black uppercase",children:x.name}),x.description&&(0,K.jsxs)("p",{className:"text-sm font-medium opacity-80",children:["— ",x.description]})]}),(0,K.jsxs)("div",{className:"flex items-center gap-4 text-sm font-bold",children:[(0,K.jsxs)("span",{children:[y.filter(a=>"in_progress"===a.status).length," in progress"]}),(0,K.jsxs)("span",{children:[y.filter(a=>"done"===a.status).length," done"]})]})]})}),(0,K.jsxs)("div",{className:"flex-1 min-h-0 overflow-hidden flex",children:[(0,K.jsx)(dZ,{selectedSpecName:j,onSelectSpec:a=>{j===a&&l?m(!1):(k(a),m(!0))}}),(0,K.jsx)("main",{className:"flex-1 min-h-0 overflow-hidden",children:(0,K.jsxs)(bh,{sensors:t,onDragStart:function(a){o(d.find(b=>b.id===a.active.id)||null)},onDragEnd:function(a){let b,{active:c,over:e}=a;if(o(null),!e)return;let f=c.id,g=e.id;if(d8.has(g))b=g;else{let a=d.find(a=>a.id===g);if(!a)return;b=a.status}let h=d.find(a=>a.id===f);h&&h.status!==b&&v(f,b)},children:[(0,K.jsx)("div",{className:"h-full px-6 py-6",children:(0,K.jsx)("div",{className:"grid grid-cols-4 gap-6 h-full min-h-0",children:d7.map(a=>{var b;return(0,K.jsx)(dP,{id:a.id,title:a.title,color:a.color,tasks:(b=a.id,d.filter(a=>"interrupted"===a.status?"in_progress"===b:a.status===b).filter(a=>!h||a.projectId===h).filter(a=>!j||a.specName===j)),features:[],onRefresh:()=>f()},a.id)})})}),(0,K.jsx)(bv,{children:n?(0,K.jsx)("div",{className:"rotate-3 opacity-80",children:(0,K.jsx)(dO,{task:n,feature:void 0,features:[],onRefresh:()=>f()})}):null})]})}),l&&j&&(0,K.jsx)(d5,{specName:j,onClose:()=>m(!1)})]})]})}a.s(["KanbanBoard",()=>ea],89077)}];
|
|
6
6
|
|
|
7
7
|
//# sourceMappingURL=src_components_kanban-board_tsx_7b875e8e._.js.map
|
|
@@ -8,11 +8,11 @@ globalThis.__BUILD_MANIFEST = {
|
|
|
8
8
|
],
|
|
9
9
|
"lowPriorityFiles": [],
|
|
10
10
|
"rootMainFiles": [
|
|
11
|
-
"static/chunks/
|
|
11
|
+
"static/chunks/701cfcbb41e0ab47.js",
|
|
12
12
|
"static/chunks/ad24b3b0881818aa.js",
|
|
13
13
|
"static/chunks/01c05b0fdc89fc0c.js",
|
|
14
14
|
"static/chunks/87f01c0a5d4010ab.js",
|
|
15
|
-
"static/chunks/turbopack-
|
|
15
|
+
"static/chunks/turbopack-8b3b66a22a5e0fb4.js"
|
|
16
16
|
]
|
|
17
17
|
};
|
|
18
18
|
globalThis.__BUILD_MANIFEST.lowPriorityFiles = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
1
|
+
<!DOCTYPE html><!--V6JvQiyb7wzYpHUOLB6BC--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/ac4b6b4d5b7e486e.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/701cfcbb41e0ab47.js"/><script src="/_next/static/chunks/ad24b3b0881818aa.js" async=""></script><script src="/_next/static/chunks/01c05b0fdc89fc0c.js" async=""></script><script src="/_next/static/chunks/87f01c0a5d4010ab.js" async=""></script><script src="/_next/static/chunks/turbopack-8b3b66a22a5e0fb4.js" async=""></script><script src="/_next/static/chunks/53081dcdcad4f31e.js" async=""></script><script src="/_next/static/chunks/ff1a16fafef87110.js" async=""></script><script src="/_next/static/chunks/483effa74d32093a.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>DevFlow MCP - Context-First Kanban for AI Agents</title><meta name="description" content="Plan management and task management system with Model Context Protocol integration for AI agents"/><link rel="icon" href="/favicon.ico?favicon.0b3bf435.ico" sizes="256x256" type="image/x-icon"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/701cfcbb41e0ab47.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[1661,[\"/_next/static/chunks/53081dcdcad4f31e.js\"],\"Providers\"]\n3:I[39756,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"default\"]\n4:I[37457,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"default\"]\n5:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"default\"]\n:HL[\"/_next/static/chunks/ac4b6b4d5b7e486e.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"V6JvQiyb7wzYpHUOLB6BC\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/ac4b6b4d5b7e486e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/53081dcdcad4f31e.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"d:I[27201,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"IconMark\"]\n7:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"DevFlow MCP - Context-First Kanban for AI Agents\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Plan management and task management system with Model Context Protocol integration for AI agents\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0b3bf435.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Ld\",\"3\",{}]]\n"])</script></body></html>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
2
|
-
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/
|
|
1
|
+
<!DOCTYPE html><!--V6JvQiyb7wzYpHUOLB6BC--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/701cfcbb41e0ab47.js"/><script src="/_next/static/chunks/ad24b3b0881818aa.js" async=""></script><script src="/_next/static/chunks/01c05b0fdc89fc0c.js" async=""></script><script src="/_next/static/chunks/87f01c0a5d4010ab.js" async=""></script><script src="/_next/static/chunks/turbopack-8b3b66a22a5e0fb4.js" async=""></script><script src="/_next/static/chunks/ff1a16fafef87110.js" async=""></script><script src="/_next/static/chunks/483effa74d32093a.js" async=""></script><title>500: Internal Server Error.</title><link rel="icon" href="/favicon.ico?favicon.0b3bf435.ico" sizes="256x256" type="image/x-icon"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
|
|
2
|
+
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/701cfcbb41e0ab47.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"ViewportBoundary\"]\n9:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"MetadataBoundary\"]\nb:I[68027,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"V6JvQiyb7wzYpHUOLB6BC\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"c:I[27201,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"IconMark\"]\n6:null\na:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0b3bf435.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Lc\",\"1\",{}]]\n"])</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"
|
|
1
|
+
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"tgHD+6NRmMcL5+La3uQltK12rpt4uIkpWu+9O8XbqcE=\"\n}"
|