@leanspec/ui 0.2.6 → 0.2.7-dev.20251126090057

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.
Files changed (747) hide show
  1. package/.next/standalone/node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  2. package/.next/standalone/packages/ui/.next/BUILD_ID +1 -1
  3. package/.next/standalone/packages/ui/.next/build-manifest.json +8 -8
  4. package/.next/standalone/packages/ui/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/packages/ui/.next/required-server-files.json +10 -4
  6. package/.next/standalone/packages/ui/.next/server/app/_global-error/page/build-manifest.json +6 -6
  7. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js +2 -2
  8. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js.nft.json +1 -1
  9. package/.next/standalone/packages/ui/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/packages/ui/.next/server/app/_global-error.html +2 -2
  11. package/.next/standalone/packages/ui/.next/server/app/_global-error.rsc +7 -7
  12. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  13. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  14. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  15. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +3 -3
  16. package/.next/standalone/packages/ui/.next/server/app/_not-found/page/build-manifest.json +6 -6
  17. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js +2 -2
  18. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js.nft.json +1 -1
  19. package/.next/standalone/packages/ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/packages/ui/.next/server/app/_not-found.html +2 -2
  21. package/.next/standalone/packages/ui/.next/server/app/_not-found.rsc +19 -19
  22. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +19 -19
  23. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +12 -12
  24. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  25. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  26. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +5 -5
  27. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js.nft.json +1 -1
  28. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js +2 -2
  29. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js.nft.json +1 -1
  30. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js +2 -2
  31. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js.nft.json +1 -1
  32. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js +2 -2
  33. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js.nft.json +1 -1
  34. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  35. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js +2 -2
  36. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js.nft.json +1 -1
  37. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js.nft.json +1 -1
  38. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js +2 -2
  39. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
  40. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js.nft.json +1 -1
  41. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js +2 -2
  42. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js.nft.json +1 -1
  43. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js +2 -2
  44. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js.nft.json +1 -1
  45. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js +2 -2
  46. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
  47. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js +2 -2
  48. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js.nft.json +1 -1
  49. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js +2 -2
  50. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js.nft.json +1 -1
  51. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js +2 -2
  52. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
  53. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js +2 -2
  54. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js.nft.json +1 -1
  55. package/.next/standalone/packages/ui/.next/server/app/page/build-manifest.json +6 -6
  56. package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
  57. package/.next/standalone/packages/ui/.next/server/app/page_client-reference-manifest.js +1 -1
  58. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page/build-manifest.json +6 -6
  59. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js +2 -2
  60. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.nft.json +1 -1
  61. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +1 -1
  62. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/build-manifest.json +6 -6
  63. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js +2 -2
  64. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.nft.json +1 -1
  65. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page_client-reference-manifest.js +1 -1
  66. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/build-manifest.json +6 -6
  67. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js +2 -2
  68. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.nft.json +1 -1
  69. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page_client-reference-manifest.js +1 -1
  70. package/.next/standalone/packages/ui/.next/server/app/projects/page/build-manifest.json +6 -6
  71. package/.next/standalone/packages/ui/.next/server/app/projects/page.js +2 -2
  72. package/.next/standalone/packages/ui/.next/server/app/projects/page.js.nft.json +1 -1
  73. package/.next/standalone/packages/ui/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  74. package/.next/standalone/packages/ui/.next/server/app/projects.html +2 -2
  75. package/.next/standalone/packages/ui/.next/server/app/projects.rsc +28 -29
  76. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +28 -29
  77. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +12 -12
  78. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_tree.segment.rsc +5 -5
  79. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +4 -4
  80. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects.segment.rsc +3 -3
  81. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page/build-manifest.json +6 -6
  82. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js +2 -2
  83. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js.nft.json +1 -1
  84. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
  85. package/.next/standalone/packages/ui/.next/server/app/specs/page/build-manifest.json +6 -6
  86. package/.next/standalone/packages/ui/.next/server/app/specs/page.js +2 -2
  87. package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
  88. package/.next/standalone/packages/ui/.next/server/app/specs/page_client-reference-manifest.js +1 -1
  89. package/.next/standalone/packages/ui/.next/server/app/stats/page/build-manifest.json +6 -6
  90. package/.next/standalone/packages/ui/.next/server/app/stats/page.js +2 -2
  91. package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
  92. package/.next/standalone/packages/ui/.next/server/app/stats/page_client-reference-manifest.js +1 -1
  93. package/.next/standalone/packages/ui/.next/server/chunks/6681a__next-internal_server_app_api_specs_[id]_subspecs_[file]_route_actions_556a9993.js +1 -1
  94. package/.next/standalone/packages/ui/.next/server/chunks/6e9bd_next_952b10e2._.js +2 -2
  95. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_local-projects_[id]_route_actions_664abe9c.js +1 -1
  96. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_local-projects_discover_route_actions_e6ec3fa7.js +1 -1
  97. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_specs_route_actions_6d03fd1f.js +1 -1
  98. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_stats_route_actions_a0bb04a8.js +1 -1
  99. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_specs_[id]_status_route_actions_5d700407.js +1 -1
  100. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0fbfea15._.js +1 -1
  101. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__126dea7b._.js +1 -1
  102. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__1f037512._.js +1 -1
  103. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3559376c._.js +4 -4
  104. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__548e27d4._.js +1 -1
  105. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__65667b70._.js +1 -1
  106. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__675a763e._.js +1 -1
  107. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__803d07f0._.js +1 -1
  108. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8075fe29._.js +1 -1
  109. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8233e09b._.js +1 -1
  110. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__84cdc14a._.js +1 -1
  111. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9ce722b4._.js +1 -1
  112. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__a2d7cbed._.js +1 -1
  113. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__aa677b0d._.js +1 -1
  114. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__ac744182._.js +1 -1
  115. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__ae726e9c._.js +1 -1
  116. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bb9fca84._.js +2 -2
  117. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bdc3963a._.js +1 -1
  118. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f06435b0._.js +1 -1
  119. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f5c6d6b8._.js +1 -1
  120. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__fb91986f._.js +1 -1
  121. package/.next/standalone/packages/ui/.next/server/chunks/e0876_tiktoken_3efea2dc._.js +1 -1
  122. package/.next/standalone/packages/ui/.next/server/chunks/f825c_server_app_api_local-projects_list-directory_route_actions_d620ec1a.js +1 -1
  123. package/.next/standalone/packages/ui/.next/server/chunks/f825c_server_app_api_projects_[id]_specs_[spec]_status_route_actions_e9f1bdc5.js +1 -1
  124. package/.next/standalone/packages/ui/.next/server/chunks/node_modules__pnpm_731b55aa._.js +1 -1
  125. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_local-projects_route_actions_9142d5ad.js +1 -1
  126. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_projects_route_actions_73e4c2a1.js +1 -1
  127. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_revalidate_route_actions_a8bf21b5.js +1 -1
  128. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_specs_[id]_route_actions_0793bd75.js +1 -1
  129. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_stats_route_actions_8e042245.js +1 -1
  130. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_db_index_ts_556307fa._.js +4 -4
  131. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_0bd881ee._.js +1 -1
  132. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_baa0160d._.js +1 -1
  133. package/.next/standalone/packages/ui/.next/server/chunks/ssr/1ce3b_dagre-d3-es_src_dagre_index_f9cad90b.js +3 -0
  134. package/.next/standalone/packages/ui/.next/server/chunks/ssr/38a22_sonner_dist_index_mjs_207730fe._.js +1 -1
  135. package/.next/standalone/packages/ui/.next/server/chunks/ssr/4e76f_cytoscape_dist_cytoscape_esm_mjs_56d6d0a1._.js +3 -0
  136. package/.next/standalone/packages/ui/.next/server/chunks/ssr/54964_d3-scale_src_c504aad0._.js +3 -0
  137. package/.next/standalone/packages/ui/.next/server/chunks/ssr/54964_d3-scale_src_linear_5b8914dd.js +3 -0
  138. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_057c0674._.js +3 -0
  139. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_4b57a3a3._.js +3 -0
  140. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_4d3de843._.js +3 -0
  141. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_5f3103e1._.js +3 -0
  142. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_bcc35893._.js +3 -0
  143. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_f2ef1919._.js +3 -0
  144. package/.next/standalone/packages/ui/.next/server/chunks/ssr/676f9_@mermaid-js_parser_dist_chunks_mermaid-parser_core_info-NVLQJR56_mjs_cc500a11._.js +3 -0
  145. package/.next/standalone/packages/ui/.next/server/chunks/ssr/676f9_@mermaid-js_parser_dist_chunks_mermaid-parser_core_packet-BFZMPI3H_mjs_06a9c7d7._.js +3 -0
  146. package/.next/standalone/packages/ui/.next/server/chunks/ssr/676f9_@mermaid-js_parser_dist_chunks_mermaid-parser_core_pie-7BOR55EZ_mjs_1167f1a1._.js +3 -0
  147. package/.next/standalone/packages/ui/.next/server/chunks/ssr/676f9_@mermaid-js_parser_dist_chunks_mermaid-parser_core_radar-NHE76QYJ_mjs_962e6256._.js +3 -0
  148. package/.next/standalone/packages/ui/.next/server/chunks/ssr/676f9_@mermaid-js_parser_dist_chunks_mermaid-parser_core_treemap-KMMF4GRG_mjs_a12f0fad._.js +3 -0
  149. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_40720940._.js +2 -2
  150. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_1decfd3f._.js +1 -1
  151. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_69a12422._.js +2 -2
  152. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_7af75658._.js +1 -1
  153. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_client_components_0f429de8._.js +1 -1
  154. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_client_components_builtin_global-error_3666c25c.js +1 -1
  155. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_client_components_builtin_unauthorized_78af867c.js +1 -1
  156. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_df5dcbe9._.js +2 -2
  157. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_esm_25672c28._.js +2 -2
  158. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_esm_build_templates_app-page_4f278283.js +2 -2
  159. package/.next/standalone/packages/ui/.next/server/chunks/ssr/730ea_ui__next-internal_server_app_projects_[projectId]_specs_page_actions_82e32fe4.js +1 -1
  160. package/.next/standalone/packages/ui/.next/server/chunks/ssr/8b009_parser_dist_chunks_mermaid-parser_core_architecture-U656AL7Q_mjs_64f0e692._.js +3 -0
  161. package/.next/standalone/packages/ui/.next/server/chunks/ssr/8b009_parser_dist_chunks_mermaid-parser_core_gitGraph-F6HP7TQM_mjs_6383c425._.js +3 -0
  162. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_0b254b71._.js +3 -0
  163. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_8167bfdd._.js +17 -0
  164. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_blockDiagram-VD42YOAC_mjs_99bfbaf9._.js +119 -0
  165. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_c4Diagram-YG6GDRKO_mjs_0683be9f._.js +7 -0
  166. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_c5b1d4f9._.js +17 -0
  167. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-ABZYJK2D_mjs_4034a85b._.js +79 -0
  168. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-B4BG7PRW_mjs_3190ac39._.js +162 -0
  169. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-DI55MBZ5_mjs_2e49cdd9._.js +217 -0
  170. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-FMBD7UC4_mjs_69c9238e._.js +17 -0
  171. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-JA3XYJ7Z_mjs_4c9b0254._.js +62 -0
  172. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-JZLCHNYA_mjs_e1210981._.js +55 -0
  173. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-MI3HLSF2_mjs_4494daf0._.js +3 -0
  174. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-QXUST7PY_mjs_3e69582d._.js +9 -0
  175. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-S3R3BYOJ_mjs_0c8df0bf._.js +4 -0
  176. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-TZMSLE5B_mjs_72a0311f._.js +3 -0
  177. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_dagre-6UL2VRFP_mjs_2a0e551c._.js +3 -0
  178. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_diagram-PSM6KHXK_mjs_f109b802._.js +26 -0
  179. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_erDiagram-Q2GNP2WA_mjs_2956542e._.js +57 -0
  180. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_f71564d9._.js +3 -0
  181. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_ffd8fbee._.js +3 -0
  182. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_flowDiagram-NV44I4VS_mjs_c11db931._.js +154 -0
  183. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_gitGraphDiagram-NY62KEGX_mjs_fe41f076._.js +65 -0
  184. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_journeyDiagram-XKPGCS4Q_mjs_8b9c3e68._.js +136 -0
  185. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_kanban-definition-3W4ZIXB7_mjs_d8e6de34._.js +81 -0
  186. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_quadrantDiagram-AYHSOK5B_mjs_50c2110d._.js +3 -0
  187. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_requirementDiagram-UZGBJVZJ_mjs_8f86dea7._.js +61 -0
  188. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_sankeyDiagram-TZEHDZUN_mjs_9fa014df._.js +6 -0
  189. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_sequenceDiagram-WL72ISMW_mjs_4d5ee2b1._.js +138 -0
  190. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_stateDiagram-FKZM4ZOC_mjs_2bd67ce9._.js +3 -0
  191. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_timeline-definition-IT6M3QCI_mjs_96b04d43._.js +58 -0
  192. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_xychartDiagram-PRI3JC2R_mjs_7eec04e0._.js +3 -0
  193. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_mermaid_core_mjs_1c407865._.js +9 -0
  194. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[externals]_better-sqlite3_a1cc22cb._.js +1 -1
  195. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__015fceb2._.js +1 -1
  196. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__01bfc8ff._.js +1 -1
  197. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__0f0dade1._.js +1 -1
  198. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__1d0c2012._.js +1 -1
  199. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__2977636f._.js +3 -3
  200. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__338c65fe._.js +1 -1
  201. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__4ec37765._.js +1 -1
  202. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__50122e7e._.js +1 -1
  203. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__5382b397._.js +1 -1
  204. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__73f60f12._.js +2 -2
  205. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__7f55abaa._.js +1 -1
  206. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__88a691ee._.js +1 -1
  207. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__8b019a26._.js +1 -1
  208. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a7ae8552._.js +2 -2
  209. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__bdbbba01._.js +1 -1
  210. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__cc589a54._.js +1 -1
  211. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__daee3355._.js +3 -0
  212. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__e4a2bcdd._.js +64 -0
  213. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__ec5b96a5._.js +1 -1
  214. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__fd80e4dd._.js +1 -1
  215. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_000dd317._.js +1 -1
  216. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_0f9ffe32._.js +3 -0
  217. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_14118969._.js +3 -0
  218. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_22274047._.js +3 -0
  219. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_39562b2a._.js +2 -2
  220. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3b617676._.js +1 -1
  221. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3fac7eca._.js +1 -1
  222. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_4129cc0f._.js +1 -1
  223. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_196b5a83._.js → _497c8b73._.js} +2 -2
  224. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_85effc18._.js +2 -2
  225. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_8f9656c4._.js +2 -2
  226. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_911f204b._.js +1 -1
  227. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ac867463._.js +3 -0
  228. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ad8c1e99._.js +1 -1
  229. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b6ac86b4._.js +3 -0
  230. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b9dc2415._.js +2 -2
  231. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_bae6d2b8._.js +2 -2
  232. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_c2f54661._.js +3 -3
  233. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f7344ef6._.js +2 -2
  234. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_fdd7780b._.js +2 -2
  235. package/.next/standalone/packages/ui/.next/server/chunks/ssr/c7b92_d3-shape_src_arc_9341f572.js +3 -0
  236. package/.next/standalone/packages/ui/.next/server/chunks/ssr/f0bdc_katex_dist_katex_mjs_27a6c950._.js +3 -0
  237. package/.next/standalone/packages/ui/.next/server/chunks/ssr/f825c_server_app_projects_[projectId]_specs_[specId]_page_actions_22d9c35e.js +1 -1
  238. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_03d68913._.js +62 -0
  239. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_1aec4342._.js +17 -0
  240. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_2a29db83._.js +3 -0
  241. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_3ba1438c._.js +3 -0
  242. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_472d6274._.js +3 -0
  243. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_50944832._.js +1 -1
  244. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_5237fdd7._.js +3 -0
  245. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_69372f5b._.js +3 -0
  246. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_76d4233c._.js +17 -0
  247. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_7791e3b8._.js +3 -0
  248. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_79befbed._.js +3 -0
  249. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_88c8b88b._.js +3 -0
  250. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_a01fbd8e._.js +3 -0
  251. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_a3f2a370._.js +3 -0
  252. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_ab5a8afc._.js +3 -0
  253. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b23175bb._.js +38 -0
  254. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b247a526._.js +264 -0
  255. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b5a3d3a5._.js +3 -0
  256. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_c17f27b1._.js +45 -0
  257. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_c22df304._.js +17 -0
  258. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_c766836f._.js +3 -0
  259. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_cb5a045f._.js +3 -0
  260. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_d8037b10._.js +3 -0
  261. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_e175b92a._.js +31 -0
  262. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_e440897f._.js +3 -0
  263. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_ea1bddc7._.js +3 -0
  264. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_f5b29533._.js +3 -0
  265. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_f732d0bb._.js +26 -0
  266. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app__global-error_page_actions_e9e4a8e1.js +1 -1
  267. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app__not-found_page_actions_428c805d.js +1 -1
  268. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_page_actions_f4c42a31.js +1 -1
  269. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_projects_[projectId]_page_actions_f2986585.js +1 -1
  270. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_projects_page_actions_715940ea.js +1 -1
  271. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_specs_[id]_page_actions_555bb544.js +1 -1
  272. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_specs_page_actions_b92ceb22.js +1 -1
  273. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_stats_page_actions_35d53654.js +1 -1
  274. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_19541980._.js +1 -1
  275. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_error_tsx_7bf5aa01._.js +1 -1
  276. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_error_tsx_d8203bfe._.js +1 -1
  277. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_loading_tsx_9304a706._.js +1 -1
  278. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_[projectId]_be242d6c._.js +1 -1
  279. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_[projectId]_project-context-syncer_tsx_7954ea3b._.js +1 -1
  280. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_page_tsx_6e166c8e._.js +1 -1
  281. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_specs_specs-client_tsx_0bb8f8f8._.js +1 -1
  282. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_specs-nav-sidebar_tsx_8237ed13._.js +1 -1
  283. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_ui_select_tsx_7e21d40f._.js +1 -1
  284. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_lib_specs_sources_database-source_ts_f7186c2a._.js +2 -2
  285. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_lib_utils_ts_259f88e4._.js +1 -1
  286. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_lib_utils_ts_c47f8e19._.js +1 -1
  287. package/.next/standalone/packages/ui/.next/server/middleware-build-manifest.js +6 -6
  288. package/.next/standalone/packages/ui/.next/server/pages/404.html +2 -2
  289. package/.next/standalone/packages/ui/.next/server/pages/500.html +2 -2
  290. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.js +1 -1
  291. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.json +1 -1
  292. package/.next/standalone/packages/ui/.next/static/chunks/038fb2d565c88582.js +2 -0
  293. package/.next/standalone/packages/ui/.next/static/chunks/0f108f65249f8820.js +19 -0
  294. package/.next/standalone/packages/ui/.next/static/chunks/1104de0c16e0b792.js +59 -0
  295. package/.next/standalone/packages/ui/.next/static/chunks/1490995adc7829e2.js +136 -0
  296. package/.next/standalone/packages/ui/.next/static/chunks/16b742746668b9d6.js +56 -0
  297. package/.next/standalone/packages/ui/.next/static/chunks/16ff9833ae1bb3ae.js +1 -0
  298. package/.next/standalone/packages/ui/.next/static/chunks/192b2f6118d057e2.js +60 -0
  299. package/.next/standalone/packages/ui/.next/static/chunks/1a910f137d27fff0.js +63 -0
  300. package/.next/standalone/packages/ui/.next/static/chunks/1f052e076ca9a3ff.js +1 -0
  301. package/.next/standalone/packages/ui/.next/static/chunks/20f4141ccb5d4eb4.js +1 -0
  302. package/.next/standalone/packages/ui/.next/static/chunks/2136b3131f74188f.js +1 -0
  303. package/.next/standalone/packages/ui/.next/static/chunks/2204c0f16b23ec4c.js +3 -0
  304. package/.next/standalone/packages/ui/.next/static/chunks/294dea6dbec43ca6.js +1 -0
  305. package/.next/standalone/packages/ui/.next/static/chunks/2a33b9246ea4be03.js +2 -0
  306. package/.next/standalone/packages/ui/.next/static/chunks/2c85b8059e42248a.js +1 -0
  307. package/.next/standalone/packages/ui/.next/static/chunks/305b74f3c20cb4ef.js +1 -0
  308. package/.next/standalone/packages/ui/.next/static/chunks/3276ca6fd9005903.js +13 -0
  309. package/.next/standalone/packages/ui/.next/static/chunks/37f2e45cf97245d9.js +117 -0
  310. package/.next/standalone/packages/ui/.next/static/chunks/39691fae9a3463fe.js +262 -0
  311. package/.next/standalone/packages/ui/.next/static/chunks/3b6b058ebd14dbed.js +1 -0
  312. package/.next/standalone/packages/ui/.next/static/chunks/3ed1465109fecc2d.js +1 -0
  313. package/.next/standalone/packages/ui/.next/static/chunks/3f94c1ef6e27c8bd.js +1 -0
  314. package/.next/standalone/packages/ui/.next/static/chunks/414a78f7b9b58d11.js +53 -0
  315. package/.next/standalone/packages/ui/.next/static/chunks/4e85dea329906168.js +1 -0
  316. package/.next/standalone/packages/ui/.next/static/chunks/525d6cb99a13c44a.js +215 -0
  317. package/.next/standalone/packages/ui/.next/static/chunks/5295f0e82fd2a6d3.js +24 -0
  318. package/.next/standalone/packages/ui/.next/static/chunks/567bc31005c31006.js +1 -0
  319. package/.next/standalone/packages/ui/.next/static/chunks/56894ea818ee2a54.js +1 -0
  320. package/.next/standalone/packages/ui/.next/static/chunks/569b4347ce55d973.js +1 -0
  321. package/.next/standalone/packages/ui/.next/static/chunks/5fffdea0623d8a25.js +1 -0
  322. package/.next/standalone/packages/ui/.next/static/chunks/642374ace530e2bd.js +1 -0
  323. package/.next/standalone/packages/ui/.next/static/chunks/64543dbd7a7a99b7.js +1 -0
  324. package/.next/standalone/packages/ui/.next/static/chunks/6483096c16d96f2c.js +15 -0
  325. package/.next/standalone/packages/ui/.next/static/chunks/66d3fa1af3ff1fbf.js +1 -0
  326. package/.next/standalone/packages/ui/.next/static/chunks/67a1d37727697340.js +1 -0
  327. package/.next/standalone/packages/ui/.next/static/chunks/6f3c460ef90843d6.js +215 -0
  328. package/.next/standalone/packages/ui/.next/static/chunks/6ff7b0a8653036b2.js +1 -0
  329. package/.next/standalone/packages/ui/.next/static/chunks/72dde43947381f78.js +1 -0
  330. package/.next/standalone/packages/ui/.next/static/chunks/7590e65bcaa41e8b.js +1 -0
  331. package/.next/standalone/packages/ui/.next/static/chunks/762fe8c3999a1965.js +1 -0
  332. package/.next/standalone/packages/ui/.next/static/chunks/794f3931f1ca12d2.js +1 -0
  333. package/.next/standalone/packages/ui/.next/static/chunks/7b70989270600907.js +148 -0
  334. package/.next/standalone/packages/ui/.next/static/chunks/8287406f2fe1c1c3.js +1 -0
  335. package/.next/standalone/packages/ui/.next/static/chunks/839e44eec90aa73d.js +60 -0
  336. package/.next/standalone/packages/ui/.next/static/chunks/85b2b8ec762b7c79.js +62 -0
  337. package/.next/standalone/packages/ui/.next/static/chunks/89a8f922ce491ce9.js +93 -0
  338. package/.next/standalone/packages/ui/.next/static/chunks/8ff23db3e3143bc7.js +5 -0
  339. package/.next/standalone/packages/ui/.next/static/chunks/942cf63b4032c808.js +29 -0
  340. package/.next/standalone/packages/ui/.next/static/chunks/95bd0faa6092d8ba.js +1 -0
  341. package/.next/standalone/packages/ui/.next/static/chunks/97bd44afaee5f129.js +1 -0
  342. package/.next/standalone/packages/ui/.next/static/chunks/97c8160044aea609.js +77 -0
  343. package/.next/standalone/packages/ui/.next/static/chunks/9d06bd5d701ace73.js +1 -0
  344. package/.next/standalone/packages/ui/.next/static/chunks/a0b34f852bfa3d1b.js +36 -0
  345. package/.next/standalone/packages/ui/.next/static/chunks/a1ca5af350378f72.js +1 -0
  346. package/.next/standalone/packages/ui/.next/static/chunks/af643629ba393b18.js +15 -0
  347. package/.next/standalone/packages/ui/.next/static/chunks/b6976cf6c48996e5.js +1 -0
  348. package/.next/standalone/packages/ui/.next/static/chunks/b6ffd44cbe740f15.js +1 -0
  349. package/.next/standalone/packages/ui/.next/static/chunks/b8353eb8c6fb895e.js +1 -0
  350. package/.next/standalone/packages/ui/.next/static/chunks/b845813463167db0.js +5 -0
  351. package/.next/standalone/packages/ui/.next/static/chunks/b900efab2eee69a0.js +15 -0
  352. package/.next/standalone/packages/ui/.next/static/chunks/bd9893e28f8f6a9a.css +1 -0
  353. package/.next/standalone/packages/ui/.next/static/chunks/c762baa705e11b30.js +1 -0
  354. package/.next/standalone/packages/ui/.next/static/chunks/cbfb9d957f708c08.js +1 -0
  355. package/.next/standalone/packages/ui/.next/static/chunks/cca4441cde342ae3.js +1 -0
  356. package/.next/standalone/packages/ui/.next/static/chunks/cf53882a2c15630f.js +1 -0
  357. package/.next/standalone/packages/ui/.next/static/chunks/d43971093c91d3b2.js +160 -0
  358. package/.next/standalone/packages/ui/.next/static/chunks/d784d84d5b880e48.js +1 -0
  359. package/.next/standalone/packages/ui/.next/static/chunks/db44023a744297d1.js +1 -0
  360. package/.next/standalone/packages/ui/.next/static/chunks/dbe7840308be36b8.js +1 -0
  361. package/.next/standalone/packages/ui/.next/static/chunks/dc0a4df8f7080b29.js +1 -0
  362. package/.next/standalone/packages/ui/.next/static/chunks/dd8e053aa48c6398.js +1 -0
  363. package/.next/standalone/packages/ui/.next/static/chunks/ddc7726e19e5e25c.js +43 -0
  364. package/.next/standalone/packages/ui/.next/static/chunks/df7e61b074dee049.js +152 -0
  365. package/.next/standalone/packages/ui/.next/static/chunks/e20849e3abe63aa5.js +55 -0
  366. package/.next/standalone/packages/ui/.next/static/chunks/e2792c100b4041a1.js +15 -0
  367. package/.next/standalone/packages/ui/.next/static/chunks/e2dce648399ad4d4.js +1 -0
  368. package/.next/standalone/packages/ui/.next/static/chunks/e3bc96a996e2a314.js +24 -0
  369. package/.next/standalone/packages/ui/.next/static/chunks/e5aab2c562822175.js +1 -0
  370. package/.next/standalone/packages/ui/.next/static/chunks/efbbc4dc4b32a270.js +4 -0
  371. package/.next/standalone/packages/ui/.next/static/chunks/f0376ba3b56dbf10.js +4 -0
  372. package/.next/standalone/packages/ui/.next/static/chunks/f88536b96f1df686.js +1 -0
  373. package/.next/standalone/packages/ui/.next/static/chunks/turbopack-5fa55215af0efb15.js +3 -0
  374. package/.next/standalone/packages/ui/next.config.ts +5 -0
  375. package/.next/standalone/packages/ui/package.json +2 -1
  376. package/.next/standalone/packages/ui/scripts/post-build.mjs +15 -1
  377. package/.next/standalone/packages/ui/server.js +1 -1
  378. package/.next/standalone/packages/ui/src/app/globals.css +25 -0
  379. package/.next/standalone/packages/ui/src/app/specs/specs-client.tsx +180 -140
  380. package/.next/standalone/packages/ui/src/components/main-sidebar.tsx +3 -3
  381. package/.next/standalone/packages/ui/src/components/mermaid-diagram.test.ts +92 -0
  382. package/.next/standalone/packages/ui/src/components/mermaid-diagram.tsx +139 -0
  383. package/.next/standalone/packages/ui/src/components/spec-detail-client.tsx +47 -7
  384. package/.next/standalone/packages/ui/src/components/specs-nav-sidebar.tsx +3 -13
  385. package/.next/standalone/packages/ui/src/contexts/project-context.tsx +14 -14
  386. package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
  387. package/.next/static/chunks/038fb2d565c88582.js +2 -0
  388. package/.next/static/chunks/0f108f65249f8820.js +19 -0
  389. package/.next/static/chunks/1104de0c16e0b792.js +59 -0
  390. package/.next/static/chunks/1490995adc7829e2.js +136 -0
  391. package/.next/static/chunks/16b742746668b9d6.js +56 -0
  392. package/.next/static/chunks/16ff9833ae1bb3ae.js +1 -0
  393. package/.next/static/chunks/192b2f6118d057e2.js +60 -0
  394. package/.next/static/chunks/1a910f137d27fff0.js +63 -0
  395. package/.next/static/chunks/1f052e076ca9a3ff.js +1 -0
  396. package/.next/static/chunks/20f4141ccb5d4eb4.js +1 -0
  397. package/.next/static/chunks/2136b3131f74188f.js +1 -0
  398. package/.next/static/chunks/2204c0f16b23ec4c.js +3 -0
  399. package/.next/static/chunks/294dea6dbec43ca6.js +1 -0
  400. package/.next/static/chunks/2a33b9246ea4be03.js +2 -0
  401. package/.next/static/chunks/2c85b8059e42248a.js +1 -0
  402. package/.next/static/chunks/305b74f3c20cb4ef.js +1 -0
  403. package/.next/static/chunks/3276ca6fd9005903.js +13 -0
  404. package/.next/static/chunks/37f2e45cf97245d9.js +117 -0
  405. package/.next/static/chunks/39691fae9a3463fe.js +262 -0
  406. package/.next/static/chunks/3b6b058ebd14dbed.js +1 -0
  407. package/.next/static/chunks/3ed1465109fecc2d.js +1 -0
  408. package/.next/static/chunks/3f94c1ef6e27c8bd.js +1 -0
  409. package/.next/static/chunks/414a78f7b9b58d11.js +53 -0
  410. package/.next/static/chunks/4e85dea329906168.js +1 -0
  411. package/.next/static/chunks/525d6cb99a13c44a.js +215 -0
  412. package/.next/static/chunks/5295f0e82fd2a6d3.js +24 -0
  413. package/.next/static/chunks/567bc31005c31006.js +1 -0
  414. package/.next/static/chunks/56894ea818ee2a54.js +1 -0
  415. package/.next/static/chunks/569b4347ce55d973.js +1 -0
  416. package/.next/static/chunks/5fffdea0623d8a25.js +1 -0
  417. package/.next/static/chunks/642374ace530e2bd.js +1 -0
  418. package/.next/static/chunks/64543dbd7a7a99b7.js +1 -0
  419. package/.next/static/chunks/6483096c16d96f2c.js +15 -0
  420. package/.next/static/chunks/66d3fa1af3ff1fbf.js +1 -0
  421. package/.next/static/chunks/67a1d37727697340.js +1 -0
  422. package/.next/static/chunks/6f3c460ef90843d6.js +215 -0
  423. package/.next/static/chunks/6ff7b0a8653036b2.js +1 -0
  424. package/.next/static/chunks/72dde43947381f78.js +1 -0
  425. package/.next/static/chunks/7590e65bcaa41e8b.js +1 -0
  426. package/.next/static/chunks/762fe8c3999a1965.js +1 -0
  427. package/.next/static/chunks/794f3931f1ca12d2.js +1 -0
  428. package/.next/static/chunks/7b70989270600907.js +148 -0
  429. package/.next/static/chunks/8287406f2fe1c1c3.js +1 -0
  430. package/.next/static/chunks/839e44eec90aa73d.js +60 -0
  431. package/.next/static/chunks/85b2b8ec762b7c79.js +62 -0
  432. package/.next/static/chunks/89a8f922ce491ce9.js +93 -0
  433. package/.next/static/chunks/8ff23db3e3143bc7.js +5 -0
  434. package/.next/static/chunks/942cf63b4032c808.js +29 -0
  435. package/.next/static/chunks/95bd0faa6092d8ba.js +1 -0
  436. package/.next/static/chunks/97bd44afaee5f129.js +1 -0
  437. package/.next/static/chunks/97c8160044aea609.js +77 -0
  438. package/.next/static/chunks/9d06bd5d701ace73.js +1 -0
  439. package/.next/static/chunks/a0b34f852bfa3d1b.js +36 -0
  440. package/.next/static/chunks/a1ca5af350378f72.js +1 -0
  441. package/.next/static/chunks/af643629ba393b18.js +15 -0
  442. package/.next/static/chunks/b6976cf6c48996e5.js +1 -0
  443. package/.next/static/chunks/b6ffd44cbe740f15.js +1 -0
  444. package/.next/static/chunks/b8353eb8c6fb895e.js +1 -0
  445. package/.next/static/chunks/b845813463167db0.js +5 -0
  446. package/.next/static/chunks/b900efab2eee69a0.js +15 -0
  447. package/.next/static/chunks/bd9893e28f8f6a9a.css +1 -0
  448. package/.next/static/chunks/c762baa705e11b30.js +1 -0
  449. package/.next/static/chunks/cbfb9d957f708c08.js +1 -0
  450. package/.next/static/chunks/cca4441cde342ae3.js +1 -0
  451. package/.next/static/chunks/cf53882a2c15630f.js +1 -0
  452. package/.next/static/chunks/d43971093c91d3b2.js +160 -0
  453. package/.next/static/chunks/d784d84d5b880e48.js +1 -0
  454. package/.next/static/chunks/db44023a744297d1.js +1 -0
  455. package/.next/static/chunks/dbe7840308be36b8.js +1 -0
  456. package/.next/static/chunks/dc0a4df8f7080b29.js +1 -0
  457. package/.next/static/chunks/dd8e053aa48c6398.js +1 -0
  458. package/.next/static/chunks/ddc7726e19e5e25c.js +43 -0
  459. package/.next/static/chunks/df7e61b074dee049.js +152 -0
  460. package/.next/static/chunks/e20849e3abe63aa5.js +55 -0
  461. package/.next/static/chunks/e2792c100b4041a1.js +15 -0
  462. package/.next/static/chunks/e2dce648399ad4d4.js +1 -0
  463. package/.next/static/chunks/e3bc96a996e2a314.js +24 -0
  464. package/.next/static/chunks/e5aab2c562822175.js +1 -0
  465. package/.next/static/chunks/efbbc4dc4b32a270.js +4 -0
  466. package/.next/static/chunks/f0376ba3b56dbf10.js +4 -0
  467. package/.next/static/chunks/f88536b96f1df686.js +1 -0
  468. package/.next/static/chunks/turbopack-5fa55215af0efb15.js +3 -0
  469. package/package.json +3 -2
  470. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__c592f5d1._.js +0 -3
  471. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_6174313a._.js +0 -3
  472. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_6e4dd8b6._.js +0 -3
  473. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_7fa1d4b1._.js +0 -3
  474. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_e1889307._.js +0 -3
  475. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f1e82b43._.js +0 -3
  476. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_af9d3830._.js +0 -3
  477. package/.next/standalone/packages/ui/.next/static/chunks/07f48b316e895080.js +0 -1
  478. package/.next/standalone/packages/ui/.next/static/chunks/0a7be410b438418a.js +0 -1
  479. package/.next/standalone/packages/ui/.next/static/chunks/1089ca88f6bef846.js +0 -1
  480. package/.next/standalone/packages/ui/.next/static/chunks/17471c87082c392c.js +0 -5
  481. package/.next/standalone/packages/ui/.next/static/chunks/220ba5cb8fe4dd69.js +0 -1
  482. package/.next/standalone/packages/ui/.next/static/chunks/35ccd3286e538bd2.js +0 -1
  483. package/.next/standalone/packages/ui/.next/static/chunks/4a7396c9a77e64d5.js +0 -1
  484. package/.next/standalone/packages/ui/.next/static/chunks/50aead33b660f05c.js +0 -1
  485. package/.next/standalone/packages/ui/.next/static/chunks/571033caca823138.js +0 -1
  486. package/.next/standalone/packages/ui/.next/static/chunks/5a6fc30cd64085b4.css +0 -1
  487. package/.next/standalone/packages/ui/.next/static/chunks/5c2072ad938de8ed.js +0 -1
  488. package/.next/standalone/packages/ui/.next/static/chunks/7f732ea69e643219.js +0 -2
  489. package/.next/standalone/packages/ui/.next/static/chunks/843e1dfdc28e1385.js +0 -1
  490. package/.next/standalone/packages/ui/.next/static/chunks/9dad7fd31627df80.js +0 -1
  491. package/.next/standalone/packages/ui/.next/static/chunks/a02c1f50ff00204f.js +0 -1
  492. package/.next/standalone/packages/ui/.next/static/chunks/a055d4b2866ff8d4.js +0 -1
  493. package/.next/standalone/packages/ui/.next/static/chunks/afb7c5a4255f4081.js +0 -3
  494. package/.next/standalone/packages/ui/.next/static/chunks/b760a3a9c2c8be28.js +0 -1
  495. package/.next/standalone/packages/ui/.next/static/chunks/b9b9d7565bc2c2ad.js +0 -1
  496. package/.next/standalone/packages/ui/.next/static/chunks/db281fdc89c063c5.js +0 -1
  497. package/.next/standalone/packages/ui/.next/static/chunks/dcdd95180149fa10.js +0 -1
  498. package/.next/standalone/packages/ui/.next/static/chunks/ebd89051637b9a47.js +0 -4
  499. package/.next/standalone/packages/ui/.next/static/chunks/f3ec9fd77a8618b1.js +0 -19
  500. package/.next/standalone/packages/ui/.next/static/chunks/f9db24028d8c058e.js +0 -1
  501. package/.next/standalone/packages/ui/.next/static/chunks/fb640f50455ba34f.js +0 -1
  502. package/.next/standalone/packages/ui/.next/static/chunks/turbopack-b9690cacbf9fe48c.js +0 -3
  503. package/.next/standalone/packages/ui/dist/BUILD_ID +0 -1
  504. package/.next/standalone/packages/ui/dist/public/f864aa7e7061c0600e35cf3d879b27cf.txt +0 -1
  505. package/.next/standalone/packages/ui/dist/public/favicon.ico +0 -0
  506. package/.next/standalone/packages/ui/dist/public/file.svg +0 -1
  507. package/.next/standalone/packages/ui/dist/public/github-mark-white.svg +0 -1
  508. package/.next/standalone/packages/ui/dist/public/github-mark.svg +0 -1
  509. package/.next/standalone/packages/ui/dist/public/globe.svg +0 -1
  510. package/.next/standalone/packages/ui/dist/public/icon.svg +0 -7
  511. package/.next/standalone/packages/ui/dist/public/logo-dark-bg.svg +0 -17
  512. package/.next/standalone/packages/ui/dist/public/logo-with-bg.svg +0 -17
  513. package/.next/standalone/packages/ui/dist/public/logo.svg +0 -17
  514. package/.next/standalone/packages/ui/dist/public/next.svg +0 -1
  515. package/.next/standalone/packages/ui/dist/public/vercel.svg +0 -1
  516. package/.next/standalone/packages/ui/dist/public/window.svg +0 -1
  517. package/.next/standalone/packages/ui/dist/standalone/packages/web/README.md +0 -196
  518. package/.next/standalone/packages/ui/dist/standalone/packages/web/leanspec.db +0 -0
  519. package/.next/standalone/packages/ui/dist/standalone/packages/web/package.json +0 -75
  520. package/.next/standalone/packages/ui/dist/standalone/packages/web/server.js +0 -44
  521. package/.next/standalone/packages/ui/dist/standalone/specs/014-complete-custom-frontmatter/README.md +0 -175
  522. package/.next/standalone/packages/ui/dist/standalone/specs/016-github-action/README.md +0 -317
  523. package/.next/standalone/packages/ui/dist/standalone/specs/017-vscode-extension/README.md +0 -261
  524. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CLI-DESIGN.md +0 -380
  525. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION-EXAMPLES.md +0 -230
  526. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION.md +0 -285
  527. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/IMPLEMENTATION.md +0 -358
  528. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/README.md +0 -303
  529. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/TESTING.md +0 -368
  530. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/VALIDATION-RULES.md +0 -327
  531. package/.next/standalone/packages/ui/dist/standalone/specs/024-pattern-aware-list-grouping/README.md +0 -117
  532. package/.next/standalone/packages/ui/dist/standalone/specs/025-template-config-updates/README.md +0 -73
  533. package/.next/standalone/packages/ui/dist/standalone/specs/026-init-pattern-selection/README.md +0 -109
  534. package/.next/standalone/packages/ui/dist/standalone/specs/034-copilot-slash-commands/README.md +0 -107
  535. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/ARCHITECTURE.md +0 -244
  536. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/IMPLEMENTATION.md +0 -429
  537. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/README.md +0 -302
  538. package/.next/standalone/packages/ui/dist/standalone/specs/036-pm-integrations/README.md +0 -158
  539. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-AI-ASSISTED.md +0 -359
  540. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-FULL-LIFECYCLE.md +0 -86
  541. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-REAL-FEATURE.md +0 -437
  542. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-SCRIPT.md +0 -365
  543. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-FINAL.md +0 -203
  544. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SESSION-2025-11-06.md +0 -174
  545. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SUMMARY.md +0 -156
  546. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/IMPLEMENTATION.md +0 -183
  547. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/MARKETING.md +0 -229
  548. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/NEXT-STEPS-DEMO.md +0 -243
  549. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/README.md +0 -217
  550. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/SESSION-2025-11-06.md +0 -166
  551. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/TESTING.md +0 -126
  552. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/ACTUAL-IMPLEMENTATION.md +0 -108
  553. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/DESIGN.md +0 -382
  554. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/IMPLEMENTATION.md +0 -144
  555. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/RATIONALE.md +0 -146
  556. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/README.md +0 -208
  557. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/TESTING.md +0 -182
  558. package/.next/standalone/packages/ui/dist/standalone/specs/047-git-backfill-timestamps/README.md +0 -314
  559. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/FINDINGS.md +0 -113
  560. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/GUIDELINES.md +0 -237
  561. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/README.md +0 -149
  562. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-COMPARISONS.md +0 -175
  563. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-CONSTRAINTS.md +0 -254
  564. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/FIRST-PRINCIPLES.md +0 -376
  565. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-ROADMAP.md +0 -240
  566. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-TOOLS.md +0 -175
  567. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/README.md +0 -374
  568. package/.next/standalone/packages/ui/dist/standalone/specs/051-docs-system-prompt-principles/README.md +0 -339
  569. package/.next/standalone/packages/ui/dist/standalone/specs/052-branding-assets/README.md +0 -128
  570. package/.next/standalone/packages/ui/dist/standalone/specs/053-spec-assets-philosophy/README.md +0 -97
  571. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/DESIGN-DECISIONS.md +0 -93
  572. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/OUTPUT-FORMAT-SPEC.md +0 -146
  573. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/README.md +0 -175
  574. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART1.md +0 -397
  575. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART2.md +0 -342
  576. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS.md +0 -44
  577. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CHANGES.md +0 -150
  578. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CONCERNS-ANALYSIS.md +0 -351
  579. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/DOCS-ALIGNMENT-ANALYSIS.md +0 -238
  580. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/README.md +0 -280
  581. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-DRAFT.md +0 -372
  582. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-REFINED.md +0 -466
  583. package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/AUDIT-RESULTS.md +0 -178
  584. package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/README.md +0 -174
  585. package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/README.md +0 -295
  586. package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/VALIDATION-RESULTS.md +0 -487
  587. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/ANALYSIS.md +0 -241
  588. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/DESIGN.md +0 -279
  589. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/IMPLEMENTATION.md +0 -642
  590. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/NOTES.md +0 -125
  591. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/README.md +0 -286
  592. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/ARCHITECTURE.md +0 -392
  593. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/COMMANDS.md +0 -1002
  594. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/CONTEXT-ENGINEERING.md +0 -411
  595. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/IMPLEMENTATION.md +0 -812
  596. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/README.md +0 -504
  597. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/TESTING.md +0 -724
  598. package/.next/standalone/packages/ui/dist/standalone/specs/060-core-concepts-coherence/README.md +0 -125
  599. package/.next/standalone/packages/ui/dist/standalone/specs/061-ai-assisted-spec-writing/README.md +0 -299
  600. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/IMPLEMENTATION-PLAN.md +0 -174
  601. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PAGE-SPECIFICATIONS.md +0 -265
  602. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PROBLEM-ANALYSIS.md +0 -36
  603. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/README.md +0 -243
  604. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/SOLUTION-DESIGN.md +0 -82
  605. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/DESIGN.md +0 -338
  606. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/EXAMPLES.md +0 -354
  607. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/IMPLEMENTATION.md +0 -189
  608. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/README.md +0 -119
  609. package/.next/standalone/packages/ui/dist/standalone/specs/064-docs-site-zh-translation/README.md +0 -170
  610. package/.next/standalone/packages/ui/dist/standalone/specs/065-v03-planning/README.md +0 -158
  611. package/.next/standalone/packages/ui/dist/standalone/specs/066-context-economy-thresholds-refinement/README.md +0 -842
  612. package/.next/standalone/packages/ui/dist/standalone/specs/067-monorepo-core-extraction/README.md +0 -358
  613. package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/DESIGN.md +0 -444
  614. package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/README.md +0 -357
  615. package/.next/standalone/packages/ui/dist/standalone/specs/069-token-counting-utils/README.md +0 -551
  616. package/.next/standalone/packages/ui/dist/standalone/specs/070-mcp-token-counting-tool/README.md +0 -372
  617. package/.next/standalone/packages/ui/dist/standalone/specs/071-simplified-token-validation/README.md +0 -489
  618. package/.next/standalone/packages/ui/dist/standalone/specs/072-ai-agent-first-use-workflow/README.md +0 -285
  619. package/.next/standalone/packages/ui/dist/standalone/specs/073-template-engine-agents-md/README.md +0 -323
  620. package/.next/standalone/packages/ui/dist/standalone/specs/074-content-at-creation/README.md +0 -136
  621. package/.next/standalone/packages/ui/dist/standalone/specs/075-intelligent-search-engine/README.md +0 -399
  622. package/.next/standalone/packages/ui/dist/standalone/specs/076-programmatic-spec-relationships/README.md +0 -301
  623. package/.next/standalone/packages/ui/dist/standalone/specs/077-archiving-strategy/README.md +0 -235
  624. package/.next/standalone/packages/ui/dist/standalone/specs/078-sub-spec-template-system/README.md +0 -303
  625. package/.next/standalone/packages/ui/dist/standalone/specs/079-cli-alphabetical-organization/README.md +0 -196
  626. package/.next/standalone/packages/ui/dist/standalone/specs/080-mcp-server-modular-architecture/README.md +0 -388
  627. package/.next/standalone/packages/ui/dist/standalone/specs/081-web-app-ux-redesign/README.md +0 -824
  628. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DATABASE.md +0 -111
  629. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DEPLOYMENT.md +0 -69
  630. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/FILESYSTEM.md +0 -77
  631. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/IMPLEMENTATION.md +0 -184
  632. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/README.md +0 -496
  633. package/.next/standalone/packages/ui/dist/standalone/specs/083-web-navigation-performance/README.md +0 -490
  634. package/.next/standalone/packages/ui/dist/standalone/specs/084-sub-spec-visibility-in-tools/README.md +0 -389
  635. package/.next/standalone/packages/ui/dist/standalone/specs/085-cli-relationship-commands/README.md +0 -920
  636. package/.next/standalone/packages/ui/dist/standalone/specs/086-template-component-deduplication/README.md +0 -146
  637. package/.next/standalone/packages/ui/dist/standalone/specs/087-cli-ui-command/README.md +0 -607
  638. package/.next/standalone/packages/ui/dist/standalone/specs/088-core-concepts-terminology-only/README.md +0 -104
  639. package/.next/standalone/packages/ui/dist/standalone/specs/089-sdd-practical-tutorials/README.md +0 -124
  640. package/.next/standalone/packages/ui/dist/standalone/specs/090-leanspec-sdd-case-studies/README.md +0 -129
  641. package/.next/standalone/packages/ui/dist/standalone/specs/091-chinese-localization-strategy/README.md +0 -244
  642. package/.next/standalone/packages/ui/dist/standalone/specs/092-docs-site-submodule-migration/README.md +0 -148
  643. package/.next/standalone/packages/ui/dist/standalone/specs/093-spec-detail-ui-improvements/README.md +0 -54
  644. package/.next/standalone/packages/ui/dist/standalone/specs/archived/001-typescript-cli-migration/README.md +0 -37
  645. package/.next/standalone/packages/ui/dist/standalone/specs/archived/002-template-system-redesign/README.md +0 -60
  646. package/.next/standalone/packages/ui/dist/standalone/specs/archived/003-init-system-redesign/README.md +0 -113
  647. package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/README.md +0 -69
  648. package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/SUMMARY.md +0 -112
  649. package/.next/standalone/packages/ui/dist/standalone/specs/archived/005-structured-frontmatter/README.md +0 -229
  650. package/.next/standalone/packages/ui/dist/standalone/specs/archived/006-pm-visualization-tools/README.md +0 -406
  651. package/.next/standalone/packages/ui/dist/standalone/specs/archived/007-system-prompt-updates/README.md +0 -168
  652. package/.next/standalone/packages/ui/dist/standalone/specs/archived/008-commander-migration/README.md +0 -174
  653. package/.next/standalone/packages/ui/dist/standalone/specs/archived/009-cli-ux-enhancement/README.md +0 -212
  654. package/.next/standalone/packages/ui/dist/standalone/specs/archived/010-commands-refactor/README.md +0 -249
  655. package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/README.md +0 -60
  656. package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/TEST_SUMMARY.md +0 -139
  657. package/.next/standalone/packages/ui/dist/standalone/specs/archived/012-sub-spec-files/README.md +0 -722
  658. package/.next/standalone/packages/ui/dist/standalone/specs/archived/013-custom-spec-templates/README.md +0 -413
  659. package/.next/standalone/packages/ui/dist/standalone/specs/archived/015-npm-publishing/README.md +0 -255
  660. package/.next/standalone/packages/ui/dist/standalone/specs/archived/019-readme-improvement/README.md +0 -252
  661. package/.next/standalone/packages/ui/dist/standalone/specs/archived/020-documentation-website/README.md +0 -253
  662. package/.next/standalone/packages/ui/dist/standalone/specs/archived/021-docusaurus-vercel-migration/README.md +0 -612
  663. package/.next/standalone/packages/ui/dist/standalone/specs/archived/022-flexible-folder-structure/README.md +0 -794
  664. package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/DESIGN.md +0 -834
  665. package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/README.md +0 -255
  666. package/.next/standalone/packages/ui/dist/standalone/specs/archived/027-cli-ui-ux-optimization/README.md +0 -454
  667. package/.next/standalone/packages/ui/dist/standalone/specs/archived/028-cli-ui-modernization/README.md +0 -172
  668. package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/IMPLEMENTATION.md +0 -152
  669. package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/README.md +0 -95
  670. package/.next/standalone/packages/ui/dist/standalone/specs/archived/030-created-date-format-bug/README.md +0 -87
  671. package/.next/standalone/packages/ui/dist/standalone/specs/archived/031-gantt-ux-improvements/README.md +0 -230
  672. package/.next/standalone/packages/ui/dist/standalone/specs/archived/032-console-log-chalk-security/README.md +0 -89
  673. package/.next/standalone/packages/ui/dist/standalone/specs/archived/033-mcp-server/README.md +0 -89
  674. package/.next/standalone/packages/ui/dist/standalone/specs/archived/037-docs-overhaul/README.md +0 -166
  675. package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-flat-structure-migration/README.md +0 -276
  676. package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-mcp-frontmatter-bug-fix/README.md +0 -122
  677. package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-simplify-viewer-commands/README.md +0 -198
  678. package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-template-variable-sync/README.md +0 -192
  679. package/.next/standalone/packages/ui/dist/standalone/specs/archived/040-spec-viewer-commands/README.md +0 -171
  680. package/.next/standalone/packages/ui/dist/standalone/specs/archived/042-mcp-error-handling/README.md +0 -200
  681. package/.next/standalone/packages/ui/dist/standalone/specs/archived/044-spec-relationships-clarity/README.md +0 -317
  682. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/DESIGN.md +0 -276
  683. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/IMPLEMENTATION.md +0 -241
  684. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/README.md +0 -139
  685. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/TESTING.md +0 -328
  686. package/.next/standalone/packages/ui/dist/standalone/specs/archived/050-tool-redesign-first-principles/README.md +0 -400
  687. package/.next/standalone/packages/ui/dist/static/chunks/0c19c69aa7625475.js +0 -1
  688. package/.next/standalone/packages/ui/dist/static/chunks/116800b03245a1e5.js +0 -1
  689. package/.next/standalone/packages/ui/dist/static/chunks/15843a3d7584e314.js +0 -1
  690. package/.next/standalone/packages/ui/dist/static/chunks/19e80edf527aef5c.js +0 -1
  691. package/.next/standalone/packages/ui/dist/static/chunks/465954d5af3284a9.js +0 -1
  692. package/.next/standalone/packages/ui/dist/static/chunks/5abeeb89f1412a80.js +0 -3
  693. package/.next/standalone/packages/ui/dist/static/chunks/5c2072ad938de8ed.js +0 -1
  694. package/.next/standalone/packages/ui/dist/static/chunks/6a05a93ec8fa7b83.js +0 -1
  695. package/.next/standalone/packages/ui/dist/static/chunks/778e42188e450b39.css +0 -1
  696. package/.next/standalone/packages/ui/dist/static/chunks/a02c1f50ff00204f.js +0 -1
  697. package/.next/standalone/packages/ui/dist/static/chunks/a45464b9776dd88e.js +0 -1
  698. package/.next/standalone/packages/ui/dist/static/chunks/a6dad97d9634a72d.js +0 -1
  699. package/.next/standalone/packages/ui/dist/static/chunks/b0ea0ac61604f843.js +0 -1
  700. package/.next/standalone/packages/ui/dist/static/chunks/c06e85b449720194.js +0 -1
  701. package/.next/standalone/packages/ui/dist/static/chunks/c557ac675be79771.js +0 -1
  702. package/.next/standalone/packages/ui/dist/static/chunks/cad005a57ffbb2d3.js +0 -1
  703. package/.next/standalone/packages/ui/dist/static/chunks/cdf6fe33bc65efbc.js +0 -1
  704. package/.next/standalone/packages/ui/dist/static/chunks/d12ed5dbe44caed7.js +0 -1
  705. package/.next/standalone/packages/ui/dist/static/chunks/d1ebe5c1a344f4ca.js +0 -5
  706. package/.next/standalone/packages/ui/dist/static/chunks/d42cf1682bc46652.js +0 -1
  707. package/.next/standalone/packages/ui/dist/static/chunks/dde5d8bddd7fbfcf.js +0 -1
  708. package/.next/standalone/packages/ui/dist/static/chunks/ebd89051637b9a47.js +0 -4
  709. package/.next/standalone/packages/ui/dist/static/chunks/ec82875d18b29f47.js +0 -2
  710. package/.next/standalone/packages/ui/dist/static/chunks/f0b701df9769bcc5.js +0 -19
  711. package/.next/standalone/packages/ui/dist/static/chunks/turbopack-1c09a99f4c9e28d3.js +0 -3
  712. package/.next/standalone/packages/ui/leanspec.db +0 -0
  713. package/.next/static/T_KGFP0pHt_xSaaYUJa3L/_buildManifest.js +0 -11
  714. package/.next/static/T_KGFP0pHt_xSaaYUJa3L/_clientMiddlewareManifest.json +0 -1
  715. package/.next/static/T_KGFP0pHt_xSaaYUJa3L/_ssgManifest.js +0 -1
  716. package/.next/static/chunks/07f48b316e895080.js +0 -1
  717. package/.next/static/chunks/0a7be410b438418a.js +0 -1
  718. package/.next/static/chunks/1089ca88f6bef846.js +0 -1
  719. package/.next/static/chunks/17471c87082c392c.js +0 -5
  720. package/.next/static/chunks/220ba5cb8fe4dd69.js +0 -1
  721. package/.next/static/chunks/35ccd3286e538bd2.js +0 -1
  722. package/.next/static/chunks/4a7396c9a77e64d5.js +0 -1
  723. package/.next/static/chunks/50aead33b660f05c.js +0 -1
  724. package/.next/static/chunks/571033caca823138.js +0 -1
  725. package/.next/static/chunks/5a6fc30cd64085b4.css +0 -1
  726. package/.next/static/chunks/5c2072ad938de8ed.js +0 -1
  727. package/.next/static/chunks/7f732ea69e643219.js +0 -2
  728. package/.next/static/chunks/843e1dfdc28e1385.js +0 -1
  729. package/.next/static/chunks/9dad7fd31627df80.js +0 -1
  730. package/.next/static/chunks/a02c1f50ff00204f.js +0 -1
  731. package/.next/static/chunks/a055d4b2866ff8d4.js +0 -1
  732. package/.next/static/chunks/afb7c5a4255f4081.js +0 -3
  733. package/.next/static/chunks/b760a3a9c2c8be28.js +0 -1
  734. package/.next/static/chunks/b9b9d7565bc2c2ad.js +0 -1
  735. package/.next/static/chunks/db281fdc89c063c5.js +0 -1
  736. package/.next/static/chunks/dcdd95180149fa10.js +0 -1
  737. package/.next/static/chunks/ebd89051637b9a47.js +0 -4
  738. package/.next/static/chunks/f3ec9fd77a8618b1.js +0 -19
  739. package/.next/static/chunks/f9db24028d8c058e.js +0 -1
  740. package/.next/static/chunks/fb640f50455ba34f.js +0 -1
  741. package/.next/static/chunks/turbopack-b9690cacbf9fe48c.js +0 -3
  742. /package/.next/standalone/packages/ui/.next/static/{T_KGFP0pHt_xSaaYUJa3L → tgNrtgJYzuVQ9macE49yx}/_buildManifest.js +0 -0
  743. /package/.next/standalone/packages/ui/.next/static/{T_KGFP0pHt_xSaaYUJa3L → tgNrtgJYzuVQ9macE49yx}/_clientMiddlewareManifest.json +0 -0
  744. /package/.next/standalone/packages/ui/.next/static/{T_KGFP0pHt_xSaaYUJa3L → tgNrtgJYzuVQ9macE49yx}/_ssgManifest.js +0 -0
  745. /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/tgNrtgJYzuVQ9macE49yx}/_buildManifest.js +0 -0
  746. /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/tgNrtgJYzuVQ9macE49yx}/_clientMiddlewareManifest.json +0 -0
  747. /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/tgNrtgJYzuVQ9macE49yx}/_ssgManifest.js +0 -0
@@ -26,7 +26,9 @@ import {
26
26
  FileText,
27
27
  GitBranch,
28
28
  Maximize2,
29
- Minimize2
29
+ Minimize2,
30
+ ChevronDown,
31
+ ChevronRight
30
32
  } from 'lucide-react';
31
33
  import { StatusBadge } from '@/components/status-badge';
32
34
  import { PriorityBadge } from '@/components/priority-badge';
@@ -254,41 +256,44 @@ export function SpecsClient({ initialSpecs, projectId }: SpecsClientProps) {
254
256
  }, [specs, searchQuery, statusFilter, priorityFilter, sortBy, viewMode]);
255
257
 
256
258
  return (
257
- <div className="h-[calc(100vh-3.5rem)] flex flex-col overflow-hidden bg-background p-4">
259
+ <div className="h-[calc(100vh-3.5rem)] flex flex-col overflow-hidden bg-background p-2 sm:p-4">
258
260
  <div className={cn(
259
261
  "flex flex-col h-full mx-auto transition-all duration-300",
260
262
  isWideMode ? "w-full" : "max-w-7xl w-full"
261
263
  )}>
262
264
  {/* Unified Compact Header */}
263
- <div className="flex-none mb-4">
264
- <div className="flex flex-col gap-4">
265
- <div className="flex items-center justify-between gap-4">
266
- <div>
267
- <h1 className="text-2xl font-bold tracking-tight">Specifications</h1>
268
- <p className="text-sm text-muted-foreground">
265
+ <div className="flex-none mb-3 sm:mb-4">
266
+ <div className="flex flex-col gap-2 sm:gap-3 md:gap-4">
267
+ {/* Title and Controls Row */}
268
+ <div className="flex items-center justify-between gap-2">
269
+ <div className="min-w-0">
270
+ <h1 className="text-lg sm:text-xl md:text-2xl font-bold tracking-tight truncate">Specifications</h1>
271
+ <p className="text-xs sm:text-sm text-muted-foreground">
269
272
  {filteredAndSortedSpecs.length} specs
270
273
  </p>
271
274
  </div>
272
275
 
273
- <div className="flex items-center gap-2">
274
- <div className="flex items-center gap-2 bg-muted/50 p-1 rounded-lg">
276
+ <div className="flex items-center gap-1.5 sm:gap-2 flex-shrink-0">
277
+ <div className="flex items-center gap-0.5 sm:gap-1 bg-muted/50 p-0.5 sm:p-1 rounded-lg">
275
278
  <Button
276
279
  variant={viewMode === 'list' ? 'secondary' : 'ghost'}
277
280
  size="sm"
278
281
  onClick={() => setViewMode('list')}
279
- className="h-8 px-2 lg:px-3"
282
+ className="h-7 sm:h-8 px-2 sm:px-3"
283
+ title="List view"
280
284
  >
281
- <ListIcon className="h-4 w-4 lg:mr-2" />
282
- <span className="hidden lg:inline">List</span>
285
+ <ListIcon className="h-3.5 w-3.5 sm:h-4 sm:w-4" />
286
+ <span className="hidden lg:inline ml-2">List</span>
283
287
  </Button>
284
288
  <Button
285
289
  variant={viewMode === 'board' ? 'secondary' : 'ghost'}
286
290
  size="sm"
287
291
  onClick={() => setViewMode('board')}
288
- className="h-8 px-2 lg:px-3"
292
+ className="h-7 sm:h-8 px-2 sm:px-3"
293
+ title="Board view"
289
294
  >
290
- <LayoutGrid className="h-4 w-4 lg:mr-2" />
291
- <span className="hidden lg:inline">Board</span>
295
+ <LayoutGrid className="h-3.5 w-3.5 sm:h-4 sm:w-4" />
296
+ <span className="hidden lg:inline ml-2">Board</span>
292
297
  </Button>
293
298
  </div>
294
299
 
@@ -296,62 +301,67 @@ export function SpecsClient({ initialSpecs, projectId }: SpecsClientProps) {
296
301
  variant="ghost"
297
302
  size="icon"
298
303
  onClick={() => setIsWideMode(!isWideMode)}
299
- className="h-10 w-10 text-muted-foreground hover:text-foreground"
304
+ className="hidden md:flex h-8 w-8 sm:h-10 sm:w-10 text-muted-foreground hover:text-foreground"
300
305
  title={isWideMode ? "Exit wide mode" : "Enter wide mode"}
301
306
  >
302
- {isWideMode ? <Minimize2 className="h-4 w-4" /> : <Maximize2 className="h-4 w-4" />}
307
+ {isWideMode ? <Minimize2 className="h-3.5 w-3.5 sm:h-4 sm:w-4" /> : <Maximize2 className="h-3.5 w-3.5 sm:h-4 sm:w-4" />}
303
308
  </Button>
304
309
  </div>
305
310
  </div>
306
311
 
307
- <div className="flex items-center gap-2 overflow-x-auto pb-2">
308
- <div className="relative flex-1 min-w-[200px] max-w-md">
309
- <Search className="absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" />
312
+ {/* Search and Filters Row */}
313
+ <div className="flex flex-col gap-2">
314
+ {/* Search Bar - Full width on mobile */}
315
+ <div className="relative w-full">
316
+ <Search className="absolute left-2.5 top-1/2 -translate-y-1/2 h-3.5 w-3.5 sm:h-4 sm:w-4 text-muted-foreground pointer-events-none" />
310
317
  <Input
311
318
  placeholder="Search specs..."
312
319
  value={searchQuery}
313
320
  onChange={(e) => setSearchQuery(e.target.value)}
314
- className="pl-9 h-9"
321
+ className="pl-8 sm:pl-9 h-9 sm:h-10 w-full text-sm"
315
322
  />
316
323
  </div>
317
324
 
318
- <Select value={statusFilter} onValueChange={(value) => setStatusFilter(value as SpecStatus | 'all')}>
319
- <SelectTrigger className="w-[140px] h-9">
320
- <SelectValue placeholder="Status" />
321
- </SelectTrigger>
322
- <SelectContent>
323
- <SelectItem value="all">All Status</SelectItem>
324
- <SelectItem value="planned">Planned</SelectItem>
325
- <SelectItem value="in-progress">In Progress</SelectItem>
326
- <SelectItem value="complete">Complete</SelectItem>
327
- <SelectItem value="archived">Archived</SelectItem>
328
- </SelectContent>
329
- </Select>
330
-
331
- <Select value={priorityFilter} onValueChange={setPriorityFilter}>
332
- <SelectTrigger className="w-[140px] h-9">
333
- <SelectValue placeholder="Priority" />
334
- </SelectTrigger>
335
- <SelectContent>
336
- <SelectItem value="all">All Priority</SelectItem>
337
- <SelectItem value="critical">Critical</SelectItem>
338
- <SelectItem value="high">High</SelectItem>
339
- <SelectItem value="medium">Medium</SelectItem>
340
- <SelectItem value="low">Low</SelectItem>
341
- </SelectContent>
342
- </Select>
343
-
344
- <Select value={sortBy} onValueChange={(v) => setSortBy(v as SortBy)}>
345
- <SelectTrigger className="w-[180px] h-9">
346
- <SelectValue placeholder="Sort by" />
347
- </SelectTrigger>
348
- <SelectContent>
349
- <SelectItem value="id-desc">Newest First</SelectItem>
350
- <SelectItem value="id-asc">Oldest First</SelectItem>
351
- <SelectItem value="updated-desc">Recently Updated</SelectItem>
352
- <SelectItem value="title-asc">Title (A-Z)</SelectItem>
353
- </SelectContent>
354
- </Select>
325
+ {/* Filters - Horizontal scroll on mobile with snap points */}
326
+ <div className="flex items-center gap-2 overflow-x-auto snap-x snap-mandatory pb-1 -mx-2 px-2 sm:mx-0 sm:px-0 sm:pb-0 scrollbar-thin">
327
+ <Select value={statusFilter} onValueChange={(value) => setStatusFilter(value as SpecStatus | 'all')}>
328
+ <SelectTrigger className="w-[110px] sm:w-[130px] h-9 sm:h-10 flex-shrink-0 snap-start text-xs sm:text-sm">
329
+ <SelectValue placeholder="Status" />
330
+ </SelectTrigger>
331
+ <SelectContent>
332
+ <SelectItem value="all">All Status</SelectItem>
333
+ <SelectItem value="planned">Planned</SelectItem>
334
+ <SelectItem value="in-progress">In Progress</SelectItem>
335
+ <SelectItem value="complete">Complete</SelectItem>
336
+ <SelectItem value="archived">Archived</SelectItem>
337
+ </SelectContent>
338
+ </Select>
339
+
340
+ <Select value={priorityFilter} onValueChange={setPriorityFilter}>
341
+ <SelectTrigger className="w-[110px] sm:w-[130px] h-9 sm:h-10 flex-shrink-0 snap-start text-xs sm:text-sm">
342
+ <SelectValue placeholder="Priority" />
343
+ </SelectTrigger>
344
+ <SelectContent>
345
+ <SelectItem value="all">All Priority</SelectItem>
346
+ <SelectItem value="critical">Critical</SelectItem>
347
+ <SelectItem value="high">High</SelectItem>
348
+ <SelectItem value="medium">Medium</SelectItem>
349
+ <SelectItem value="low">Low</SelectItem>
350
+ </SelectContent>
351
+ </Select>
352
+
353
+ <Select value={sortBy} onValueChange={(v) => setSortBy(v as SortBy)}>
354
+ <SelectTrigger className="w-[130px] sm:w-[170px] h-9 sm:h-10 flex-shrink-0 snap-start text-xs sm:text-sm">
355
+ <SelectValue placeholder="Sort by" />
356
+ </SelectTrigger>
357
+ <SelectContent>
358
+ <SelectItem value="id-desc">Newest First</SelectItem>
359
+ <SelectItem value="id-asc">Oldest First</SelectItem>
360
+ <SelectItem value="updated-desc">Recently Updated</SelectItem>
361
+ <SelectItem value="title-asc">Title (A-Z)</SelectItem>
362
+ </SelectContent>
363
+ </Select>
364
+ </div>
355
365
  </div>
356
366
  </div>
357
367
  </div>
@@ -382,7 +392,7 @@ export function SpecsClient({ initialSpecs, projectId }: SpecsClientProps) {
382
392
 
383
393
  function ListView({ specs }: { specs: Spec[] }) {
384
394
  return (
385
- <div className="grid grid-cols-1 gap-4 pb-8">
395
+ <div className="grid grid-cols-1 gap-2 sm:gap-3 md:gap-4 pb-2 sm:pb-4 md:pb-8">
386
396
  {specs.map(spec => {
387
397
  const priorityColors = {
388
398
  'critical': 'border-l-red-500',
@@ -398,78 +408,83 @@ function ListView({ specs }: { specs: Spec[] }) {
398
408
  <Card
399
409
  key={spec.id}
400
410
  className={cn(
401
- "hover:shadow-lg transition-all duration-150 hover:scale-[1.01] border-l-4 cursor-pointer",
411
+ "hover:shadow-lg active:shadow-xl transition-all duration-150 hover:scale-[1.01] active:scale-[0.99] border-l-4 cursor-pointer touch-manipulation",
402
412
  borderColor
403
413
  )}
404
414
  onClick={() => window.location.href = `/specs/${spec.specNumber || spec.id}`}
405
415
  >
406
- <CardHeader className="pb-3">
407
- <div className="flex items-start justify-between gap-4">
416
+ {/* Mobile-optimized layout */}
417
+ <CardHeader className="pb-2 sm:pb-2.5 md:pb-3 px-3 sm:px-4 md:px-6 pt-3 sm:pt-4 md:pt-6">
418
+ <div className="flex flex-col gap-2 md:flex-row md:items-start md:justify-between md:gap-4">
408
419
  <div className="flex-1 min-w-0">
409
420
  <Link href={`/specs/${spec.specNumber || spec.id}`}>
410
- <CardTitle className="text-lg font-semibold hover:text-primary transition-colors flex items-center">
421
+ <CardTitle className="text-sm sm:text-base md:text-lg font-semibold hover:text-primary transition-colors flex items-start flex-wrap gap-1.5 sm:gap-2 leading-snug sm:leading-normal">
411
422
  {spec.specNumber ? (
412
- <span className="font-mono text-base font-normal text-muted-foreground mr-3">
423
+ <span className="font-mono text-xs sm:text-sm md:text-base font-normal text-muted-foreground flex-shrink-0">
413
424
  #{spec.specNumber.toString().padStart(3, '0')}
414
425
  </span>
415
426
  ) : null}
416
- {spec.title || spec.specName}
427
+ <span className="flex-1 break-words">{spec.title || spec.specName}</span>
417
428
  </CardTitle>
418
429
  </Link>
419
430
  {spec.title && spec.title !== spec.specName && (
420
- <p className="text-xs font-mono text-muted-foreground mt-1.5 truncate">{spec.specName}</p>
431
+ <p className="text-[11px] sm:text-xs font-mono text-muted-foreground mt-1 sm:mt-1.5 truncate">{spec.specName}</p>
421
432
  )}
422
433
  </div>
423
- <div className="flex gap-2 shrink-0">
434
+ {/* Badges: responsive layout */}
435
+ <div className="flex gap-1.5 sm:gap-2 flex-wrap md:shrink-0">
424
436
  {spec.status && <StatusBadge status={spec.status} />}
425
437
  {spec.priority && <PriorityBadge priority={spec.priority} />}
426
438
  </div>
427
439
  </div>
428
440
  </CardHeader>
429
441
 
430
- <CardContent className="flex items-center justify-between gap-4 pt-0">
431
- {/* Metadata (Left) */}
432
- <div className="flex items-center gap-4 text-sm text-muted-foreground flex-wrap">
433
- {(spec.updatedAt || hasSubSpecs || hasDependencies) ? (
434
- <>
435
- {spec.updatedAt && (
436
- <div className="flex items-center gap-1.5">
437
- <Clock className="h-3.5 w-3.5" />
438
- <span>Updated {formatRelativeTime(spec.updatedAt)}</span>
439
- </div>
440
- )}
441
- {hasSubSpecs && (
442
- <div className="flex items-center gap-1.5">
443
- <FileText className="h-3.5 w-3.5" />
444
- <span>+{spec.subSpecsCount} files</span>
445
- </div>
446
- )}
447
- {hasDependencies && (
448
- <div className="flex items-center gap-1.5">
449
- <GitBranch className="h-3.5 w-3.5" />
450
- <span>
451
- {spec.relationships!.dependsOn.length > 0 && `${spec.relationships!.dependsOn.length} deps`}
452
- {spec.relationships!.dependsOn.length > 0 && spec.relationships!.related.length > 0 && ', '}
453
- {spec.relationships!.related.length > 0 && `${spec.relationships!.related.length} related`}
454
- </span>
455
- </div>
456
- )}
457
- </>
458
- ) : (
459
- <span className="invisible">No metadata</span> /* Keep height consistent */
442
+ <CardContent className="px-3 sm:px-4 md:px-6 pb-2.5 sm:pb-3 md:pb-6 pt-0">
443
+ {/* Metadata and Tags - Stack on mobile */}
444
+ <div className="flex flex-col gap-2 md:flex-row md:items-center md:justify-between md:gap-4">
445
+ {/* Metadata (Left) */}
446
+ <div className="flex items-center gap-2 sm:gap-3 md:gap-4 text-[11px] sm:text-xs md:text-sm text-muted-foreground flex-wrap">
447
+ {(spec.updatedAt || hasSubSpecs || hasDependencies) ? (
448
+ <>
449
+ {spec.updatedAt && (
450
+ <div className="flex items-center gap-1 sm:gap-1.5">
451
+ <Clock className="h-3 w-3 sm:h-3.5 sm:w-3.5 flex-shrink-0" />
452
+ <span className="whitespace-nowrap">Updated {formatRelativeTime(spec.updatedAt)}</span>
453
+ </div>
454
+ )}
455
+ {hasSubSpecs && (
456
+ <div className="flex items-center gap-1 sm:gap-1.5">
457
+ <FileText className="h-3 w-3 sm:h-3.5 sm:w-3.5 flex-shrink-0" />
458
+ <span className="whitespace-nowrap">+{spec.subSpecsCount} files</span>
459
+ </div>
460
+ )}
461
+ {hasDependencies && (
462
+ <div className="flex items-center gap-1 sm:gap-1.5">
463
+ <GitBranch className="h-3 w-3 sm:h-3.5 sm:w-3.5 flex-shrink-0" />
464
+ <span className="whitespace-nowrap">
465
+ {spec.relationships!.dependsOn.length > 0 && `${spec.relationships!.dependsOn.length} deps`}
466
+ {spec.relationships!.dependsOn.length > 0 && spec.relationships!.related.length > 0 && ', '}
467
+ {spec.relationships!.related.length > 0 && `${spec.relationships!.related.length} related`}
468
+ </span>
469
+ </div>
470
+ )}
471
+ </>
472
+ ) : (
473
+ <span className="invisible hidden md:inline">No metadata</span> /* Keep height consistent on desktop */
474
+ )}
475
+ </div>
476
+
477
+ {/* Tags (Right on desktop, below on mobile) */}
478
+ {spec.tags && spec.tags.length > 0 && (
479
+ <div className="flex flex-wrap gap-1 sm:gap-1.5 md:gap-2 md:justify-end md:shrink-0">
480
+ {spec.tags.map(tag => (
481
+ <Badge key={tag} variant="outline" className="text-[10px] sm:text-xs font-mono text-muted-foreground hover:text-foreground transition-colors h-5 sm:h-auto px-1.5 sm:px-2">
482
+ {tag}
483
+ </Badge>
484
+ ))}
485
+ </div>
460
486
  )}
461
487
  </div>
462
-
463
- {/* Tags (Right) */}
464
- {spec.tags && spec.tags.length > 0 && (
465
- <div className="flex flex-wrap gap-2 justify-end shrink-0">
466
- {spec.tags.map(tag => (
467
- <Badge key={tag} variant="outline" className="text-xs font-mono text-muted-foreground hover:text-foreground transition-colors">
468
- {tag}
469
- </Badge>
470
- ))}
471
- </div>
472
- )}
473
488
  </CardContent>
474
489
  </Card>
475
490
  );
@@ -489,6 +504,14 @@ interface BoardViewProps {
489
504
  function BoardView({ specs, onStatusChange, pendingSpecIds, showArchived, onToggleArchived }: BoardViewProps) {
490
505
  const [draggingId, setDraggingId] = useState<string | null>(null);
491
506
  const [activeDropZone, setActiveDropZone] = useState<SpecStatus | null>(null);
507
+ const [collapsedColumns, setCollapsedColumns] = useState<Record<string, boolean>>({});
508
+
509
+ const toggleColumn = (status: string) => {
510
+ setCollapsedColumns(prev => ({
511
+ ...prev,
512
+ [status]: !prev[status]
513
+ }));
514
+ };
492
515
 
493
516
  const columns = useMemo(() => {
494
517
  // Always show all columns, including archived (it will be rendered as collapsed bar when showArchived=false)
@@ -548,51 +571,68 @@ function BoardView({ specs, onStatusChange, pendingSpecIds, showArchived, onTogg
548
571
  }, [draggingId, handleDragEnd, onStatusChange, specLookup]);
549
572
 
550
573
  return (
551
- <div className="flex gap-6 h-full pb-2">
574
+ <div className="flex flex-col md:flex-row gap-3 sm:gap-4 md:gap-6 h-full pb-2 md:snap-x md:snap-mandatory overflow-y-auto md:overflow-y-hidden md:overflow-x-auto">
552
575
  {columns.map(column => {
553
576
  const Icon = column.config.icon;
554
577
  const isArchivedColumn = column.status === 'archived';
578
+ const isCollapsed = collapsedColumns[column.status];
555
579
 
556
580
  return (
557
581
  <div key={column.status} className={cn(
558
- "flex flex-col h-full flex-1 min-w-[280px]",
559
- isArchivedColumn && !showArchived && "w-14 min-w-[3.5rem] flex-none flex-shrink-0"
582
+ "flex flex-col flex-1 snap-start",
583
+ "h-auto md:h-full w-full md:w-auto flex-shrink-0",
584
+ isArchivedColumn && !showArchived ? "md:w-12 md:sm:w-14 md:min-w-[3rem] md:sm:min-w-[3.5rem] flex-none" : "md:min-w-[260px] md:sm:min-w-[280px] md:md:min-w-[300px]"
560
585
  )}>
561
586
  <div className={cn(
562
- 'flex-none mb-4 rounded-lg border-2 bg-background transition-all',
587
+ 'flex-none mb-3 sm:mb-4 rounded-lg border-2 bg-background transition-all touch-manipulation',
563
588
  column.config.bgClass,
564
589
  column.config.borderClass,
565
- isArchivedColumn ? 'cursor-pointer hover:opacity-80' : '',
566
- isArchivedColumn && !showArchived ? 'py-6 px-2' : 'p-3'
590
+ isArchivedColumn ? 'cursor-pointer hover:opacity-80 active:opacity-70' : '',
591
+ isArchivedColumn && !showArchived ? 'py-4 sm:py-6 px-1.5 sm:px-2' : 'p-2.5 sm:p-3',
592
+ // Mobile collapsible header styling
593
+ 'md:cursor-default cursor-pointer'
567
594
  )}
568
- onClick={isArchivedColumn ? onToggleArchived : undefined}
595
+ onClick={() => {
596
+ if (isArchivedColumn) {
597
+ onToggleArchived();
598
+ } else {
599
+ // Only toggle collapse on mobile
600
+ if (window.innerWidth < 768) {
601
+ toggleColumn(column.status);
602
+ }
603
+ }
604
+ }}
569
605
  >
570
606
  <h2 className={cn(
571
- 'text-lg font-semibold flex items-center gap-2',
607
+ 'text-base sm:text-lg font-semibold flex items-center gap-1.5 sm:gap-2',
572
608
  column.config.colorClass,
573
- isArchivedColumn && !showArchived && 'flex-col text-sm gap-3'
609
+ isArchivedColumn && !showArchived && 'flex-col text-xs sm:text-sm gap-2 sm:gap-3'
574
610
  )}>
575
- <Icon className="h-5 w-5" />
611
+ <Icon className="h-4 w-4 sm:h-5 sm:w-5 flex-shrink-0" />
576
612
  {isArchivedColumn && !showArchived ? (
577
613
  <>
578
- <span className="vertical-text text-sm whitespace-nowrap">
614
+ <span className="vertical-text text-xs sm:text-sm whitespace-nowrap">
579
615
  {column.config.title}
580
616
  </span>
581
- <Badge variant="outline" className="text-xs">{column.specs.length}</Badge>
617
+ <Badge variant="outline" className="text-[10px] sm:text-xs px-1 sm:px-2 h-4 sm:h-5">{column.specs.length}</Badge>
582
618
  </>
583
619
  ) : (
584
620
  <>
585
- {column.config.title}
586
- <Badge variant="outline" className="ml-auto">{column.specs.length}</Badge>
621
+ <span className="truncate flex-1">{column.config.title}</span>
622
+ <Badge variant="outline" className="text-[10px] sm:text-xs px-1.5 sm:px-2 h-4 sm:h-5 flex-shrink-0">{column.specs.length}</Badge>
623
+ {/* Mobile collapse indicator */}
624
+ <div className="md:hidden ml-2 text-muted-foreground/50">
625
+ {isCollapsed ? <ChevronRight className="h-4 w-4" /> : <ChevronDown className="h-4 w-4" />}
626
+ </div>
587
627
  </>
588
628
  )}
589
629
  </h2>
590
630
  </div>
591
631
 
592
- {(!isArchivedColumn || showArchived) && (
632
+ {(!isArchivedColumn || showArchived) && !isCollapsed && (
593
633
  <div
594
634
  className={cn(
595
- 'space-y-3 flex-1 rounded-xl border border-transparent p-1 transition-colors overflow-y-auto min-h-0',
635
+ 'space-y-2 sm:space-y-2.5 md:space-y-3 flex-1 rounded-xl border border-transparent p-1 transition-colors overflow-y-auto min-h-0 scrollbar-thin',
596
636
  draggingId && 'border-dashed border-muted-foreground/40',
597
637
  draggingId && activeDropZone === column.status && 'bg-muted/40 border-primary/50'
598
638
  )}
@@ -624,49 +664,49 @@ function BoardView({ specs, onStatusChange, pendingSpecIds, showArchived, onTogg
624
664
  onDragEnd={handleDragEnd}
625
665
  aria-disabled={isUpdating}
626
666
  className={cn(
627
- 'relative hover:shadow-lg transition-all duration-150 hover:scale-[1.02] border-l-4 cursor-pointer group flex flex-col',
667
+ 'relative hover:shadow-lg active:shadow-xl transition-all duration-150 hover:scale-[1.02] active:scale-[0.99] border-l-4 cursor-pointer group flex flex-col touch-manipulation',
628
668
  borderColor,
629
669
  isUpdating && 'opacity-60 cursor-wait'
630
670
  )}
631
671
  onClick={() => window.location.href = `/specs/${spec.specNumber || spec.id}`}
632
672
  >
633
673
  {isUpdating && (
634
- <div className="absolute inset-0 rounded-lg bg-background/80 flex items-center justify-center text-xs font-medium z-10">
674
+ <div className="absolute inset-0 rounded-lg bg-background/80 flex items-center justify-center text-xs sm:text-sm font-medium z-10">
635
675
  Updating...
636
676
  </div>
637
677
  )}
638
- <CardHeader className="p-4 pb-2 space-y-1.5">
678
+ <CardHeader className="p-3 sm:p-4 pb-1.5 sm:pb-2 space-y-1 sm:space-y-1.5">
639
679
  <div className="flex items-center justify-between">
640
- <span className="font-mono text-xs text-muted-foreground/70 group-hover:text-primary/60 transition-colors">
680
+ <span className="font-mono text-[10px] sm:text-xs text-muted-foreground/70 group-hover:text-primary/60 transition-colors">
641
681
  {spec.specNumber ? `#${spec.specNumber}` : ''}
642
682
  </span>
643
683
  </div>
644
684
  <Link href={`/specs/${spec.specNumber || spec.id}`} className="block">
645
- <CardTitle className="text-sm font-semibold leading-snug hover:text-primary transition-colors line-clamp-3">
685
+ <CardTitle className="text-xs sm:text-sm font-semibold leading-snug hover:text-primary transition-colors line-clamp-3">
646
686
  {spec.title || spec.specName}
647
687
  </CardTitle>
648
688
  </Link>
649
689
  </CardHeader>
650
- <CardContent className="p-4 pt-2 flex-1 flex flex-col justify-end">
651
- <div className="flex flex-col gap-3">
690
+ <CardContent className="p-3 sm:p-4 pt-1.5 sm:pt-2 flex-1 flex flex-col justify-end">
691
+ <div className="flex flex-col gap-2 sm:gap-3">
652
692
  {spec.title && spec.title !== spec.specName && (
653
- <p className="text-xs font-mono text-muted-foreground truncate opacity-70">
693
+ <p className="text-[10px] sm:text-xs font-mono text-muted-foreground truncate opacity-70">
654
694
  {spec.specName}
655
695
  </p>
656
696
  )}
657
697
 
658
- <div className="flex items-center justify-between gap-2 pt-1">
698
+ <div className="flex items-center justify-between gap-1.5 sm:gap-2 pt-0.5 sm:pt-1">
659
699
  {spec.priority ? <PriorityBadge priority={spec.priority} /> : <div />}
660
700
 
661
701
  {spec.tags && spec.tags.length > 0 && (
662
- <div className="flex flex-wrap gap-1 justify-end">
702
+ <div className="flex flex-wrap gap-0.5 sm:gap-1 justify-end">
663
703
  {spec.tags.slice(0, 2).map(tag => (
664
- <Badge key={tag} variant="outline" className="text-[10px] px-1.5 h-5 font-mono text-muted-foreground/80">
704
+ <Badge key={tag} variant="outline" className="text-[9px] sm:text-[10px] px-1 sm:px-1.5 h-4 sm:h-5 font-mono text-muted-foreground/80">
665
705
  {tag}
666
706
  </Badge>
667
707
  ))}
668
708
  {spec.tags.length > 2 && (
669
- <Badge variant="outline" className="text-[10px] px-1.5 h-5 font-mono text-muted-foreground/80">
709
+ <Badge variant="outline" className="text-[9px] sm:text-[10px] px-1 sm:px-1.5 h-4 sm:h-5 font-mono text-muted-foreground/80">
670
710
  +{spec.tags.length - 2}
671
711
  </Badge>
672
712
  )}
@@ -681,9 +721,9 @@ function BoardView({ specs, onStatusChange, pendingSpecIds, showArchived, onTogg
681
721
 
682
722
  {column.specs.length === 0 && (
683
723
  <Card className="border-dashed border-gray-300 dark:border-gray-700 bg-transparent">
684
- <CardContent className="py-8 text-center">
685
- <Icon className={cn('mx-auto h-8 w-8 mb-2', column.config.colorClass, 'opacity-50')} />
686
- <p className="text-sm text-muted-foreground">Drop here to move specs</p>
724
+ <CardContent className="py-6 sm:py-8 text-center px-2">
725
+ <Icon className={cn('mx-auto h-6 w-6 sm:h-8 sm:w-8 mb-1.5 sm:mb-2', column.config.colorClass, 'opacity-50')} />
726
+ <p className="text-xs sm:text-sm text-muted-foreground">Drop here to move specs</p>
687
727
  </CardContent>
688
728
  </Card>
689
729
  )}
@@ -98,12 +98,12 @@ export function MainSidebar() {
98
98
  {/* Sidebar */}
99
99
  <aside
100
100
  className={cn(
101
- "sticky top-14 h-[calc(100vh-3.5rem)] border-r border-border bg-background transition-all duration-300 flex-shrink-0",
101
+ "border-r border-border bg-background transition-all duration-300 flex-shrink-0",
102
102
  // Desktop behavior
103
- "hidden lg:flex",
103
+ "hidden lg:flex lg:sticky lg:top-14 lg:h-[calc(100vh-3.5rem)]",
104
104
  mounted && isCollapsed ? "lg:w-[60px]" : "lg:w-[240px]",
105
105
  // Mobile behavior - show as overlay when open
106
- mobileOpen && "fixed left-0 top-14 z-50 flex w-[280px]"
106
+ mobileOpen && "fixed inset-y-0 left-0 z-[60] flex w-[280px]"
107
107
  )}
108
108
  >
109
109
  <div className="flex flex-col h-full w-full">
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Tests for MermaidDiagram component logic
3
+ */
4
+
5
+ import { describe, it, expect } from 'vitest';
6
+
7
+ /**
8
+ * Helper function to extract mermaid code from a pre/code block
9
+ * This mirrors the logic used in spec-detail-client.tsx to determine
10
+ * if a code block should be rendered as a mermaid diagram
11
+ */
12
+ function shouldRenderAsMermaid(className: string | undefined): boolean {
13
+ if (!className) return false;
14
+ return className.includes('language-mermaid');
15
+ }
16
+
17
+ /**
18
+ * Helper function to extract the mermaid code from child content
19
+ * Returns the code as a string, trimmed for rendering
20
+ */
21
+ function extractMermaidCode(children: unknown): string {
22
+ if (typeof children === 'string') {
23
+ return children.trim();
24
+ }
25
+ return '';
26
+ }
27
+
28
+ describe('Mermaid diagram detection', () => {
29
+ it('detects mermaid language class', () => {
30
+ expect(shouldRenderAsMermaid('language-mermaid')).toBe(true);
31
+ expect(shouldRenderAsMermaid('hljs language-mermaid')).toBe(true);
32
+ expect(shouldRenderAsMermaid('language-mermaid hljs')).toBe(true);
33
+ });
34
+
35
+ it('does not match other language classes', () => {
36
+ expect(shouldRenderAsMermaid('language-javascript')).toBe(false);
37
+ expect(shouldRenderAsMermaid('language-typescript')).toBe(false);
38
+ expect(shouldRenderAsMermaid('language-markdown')).toBe(false);
39
+ expect(shouldRenderAsMermaid(undefined)).toBe(false);
40
+ expect(shouldRenderAsMermaid('')).toBe(false);
41
+ });
42
+ });
43
+
44
+ describe('Mermaid code extraction', () => {
45
+ it('extracts string content directly', () => {
46
+ const code = 'graph TD\n A --> B';
47
+ expect(extractMermaidCode(code)).toBe('graph TD\n A --> B');
48
+ });
49
+
50
+ it('trims whitespace from content', () => {
51
+ const code = ' \ngraph TD\n A --> B\n ';
52
+ expect(extractMermaidCode(code)).toBe('graph TD\n A --> B');
53
+ });
54
+
55
+ it('returns empty string for non-string content', () => {
56
+ expect(extractMermaidCode(null)).toBe('');
57
+ expect(extractMermaidCode(undefined)).toBe('');
58
+ expect(extractMermaidCode(123)).toBe('');
59
+ expect(extractMermaidCode({})).toBe('');
60
+ });
61
+ });
62
+
63
+ describe('Mermaid diagram types', () => {
64
+ const validDiagrams = [
65
+ // Flowchart
66
+ 'graph TD\n A --> B',
67
+ 'graph LR\n A --> B --> C',
68
+ 'flowchart TB\n Start --> Stop',
69
+ // Sequence diagram
70
+ 'sequenceDiagram\n Alice->>John: Hello John',
71
+ // Class diagram
72
+ 'classDiagram\n Class01 <|-- Class02',
73
+ // State diagram
74
+ 'stateDiagram-v2\n [*] --> Still',
75
+ // ER diagram
76
+ 'erDiagram\n CUSTOMER ||--o{ ORDER : places',
77
+ // Gantt chart
78
+ 'gantt\n title A Gantt Diagram\n section Section',
79
+ // Pie chart
80
+ 'pie title Pets\n "Dogs" : 386',
81
+ ];
82
+
83
+ validDiagrams.forEach((diagram) => {
84
+ const type = diagram.split('\n')[0].split(' ')[0];
85
+ it(`recognizes ${type} diagram syntax`, () => {
86
+ // These are valid mermaid diagrams that should be detected
87
+ const extracted = extractMermaidCode(diagram);
88
+ expect(extracted).toBeTruthy();
89
+ expect(extracted.length).toBeGreaterThan(0);
90
+ });
91
+ });
92
+ });