@leanspec/ui 0.2.6-dev.20251125092039 → 0.2.6-dev.20251125100207

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 (523) hide show
  1. package/.next/standalone/packages/ui/.next/BUILD_ID +1 -1
  2. package/.next/standalone/packages/ui/.next/build-manifest.json +8 -8
  3. package/.next/standalone/packages/ui/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/packages/ui/.next/server/app/_global-error/page/build-manifest.json +6 -6
  5. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js +2 -2
  6. package/.next/standalone/packages/ui/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  7. package/.next/standalone/packages/ui/.next/server/app/_global-error.html +2 -2
  8. package/.next/standalone/packages/ui/.next/server/app/_global-error.rsc +7 -7
  9. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  10. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  11. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  12. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +3 -3
  13. package/.next/standalone/packages/ui/.next/server/app/_not-found/page/build-manifest.json +6 -6
  14. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js +2 -2
  15. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js.nft.json +1 -1
  16. package/.next/standalone/packages/ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/packages/ui/.next/server/app/_not-found.html +2 -2
  18. package/.next/standalone/packages/ui/.next/server/app/_not-found.rsc +19 -19
  19. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +19 -19
  20. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +12 -12
  21. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  22. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  23. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +5 -5
  24. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js.nft.json +1 -1
  25. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js +2 -2
  26. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js.nft.json +1 -1
  27. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js +2 -2
  28. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js.nft.json +1 -1
  29. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js +2 -2
  30. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js.nft.json +1 -1
  31. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  32. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js +2 -2
  33. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js.nft.json +1 -1
  34. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js.nft.json +1 -1
  35. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js +2 -2
  36. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
  37. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js.nft.json +1 -1
  38. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js +2 -2
  39. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js.nft.json +1 -1
  40. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js +2 -2
  41. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js.nft.json +1 -1
  42. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js +2 -2
  43. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
  44. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js +2 -2
  45. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js.nft.json +1 -1
  46. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js +2 -2
  47. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js +2 -2
  48. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
  49. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js +2 -2
  50. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js.nft.json +1 -1
  51. package/.next/standalone/packages/ui/.next/server/app/page/build-manifest.json +6 -6
  52. package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
  53. package/.next/standalone/packages/ui/.next/server/app/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page/build-manifest.json +6 -6
  55. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js +2 -2
  56. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.nft.json +1 -1
  57. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +1 -1
  58. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/build-manifest.json +6 -6
  59. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js +2 -2
  60. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.nft.json +1 -1
  61. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page_client-reference-manifest.js +1 -1
  62. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/build-manifest.json +6 -6
  63. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js +2 -2
  64. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.nft.json +1 -1
  65. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page_client-reference-manifest.js +1 -1
  66. package/.next/standalone/packages/ui/.next/server/app/projects/page/build-manifest.json +6 -6
  67. package/.next/standalone/packages/ui/.next/server/app/projects/page.js +2 -2
  68. package/.next/standalone/packages/ui/.next/server/app/projects/page.js.nft.json +1 -1
  69. package/.next/standalone/packages/ui/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  70. package/.next/standalone/packages/ui/.next/server/app/projects.html +2 -2
  71. package/.next/standalone/packages/ui/.next/server/app/projects.rsc +28 -29
  72. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +28 -29
  73. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +12 -12
  74. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_tree.segment.rsc +5 -5
  75. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +4 -4
  76. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects.segment.rsc +3 -3
  77. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page/build-manifest.json +6 -6
  78. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js +2 -2
  79. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js.nft.json +1 -1
  80. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
  81. package/.next/standalone/packages/ui/.next/server/app/specs/page/build-manifest.json +6 -6
  82. package/.next/standalone/packages/ui/.next/server/app/specs/page.js +2 -2
  83. package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
  84. package/.next/standalone/packages/ui/.next/server/app/specs/page_client-reference-manifest.js +1 -1
  85. package/.next/standalone/packages/ui/.next/server/app/stats/page/build-manifest.json +6 -6
  86. package/.next/standalone/packages/ui/.next/server/app/stats/page.js +2 -2
  87. package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
  88. package/.next/standalone/packages/ui/.next/server/app/stats/page_client-reference-manifest.js +1 -1
  89. package/.next/standalone/packages/ui/.next/server/chunks/6681a__next-internal_server_app_api_specs_[id]_subspecs_[file]_route_actions_556a9993.js +1 -1
  90. package/.next/standalone/packages/ui/.next/server/chunks/6e9bd_next_952b10e2._.js +2 -2
  91. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_local-projects_[id]_route_actions_664abe9c.js +1 -1
  92. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_local-projects_discover_route_actions_e6ec3fa7.js +1 -1
  93. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_specs_route_actions_6d03fd1f.js +1 -1
  94. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_stats_route_actions_a0bb04a8.js +1 -1
  95. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_specs_[id]_status_route_actions_5d700407.js +1 -1
  96. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0fbfea15._.js +1 -1
  97. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__126dea7b._.js +1 -1
  98. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__1f037512._.js +1 -1
  99. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3559376c._.js +4 -4
  100. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__548e27d4._.js +1 -1
  101. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__65667b70._.js +1 -1
  102. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__675a763e._.js +1 -1
  103. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__803d07f0._.js +1 -1
  104. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8075fe29._.js +1 -1
  105. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8233e09b._.js +1 -1
  106. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__84cdc14a._.js +1 -1
  107. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9ce722b4._.js +1 -1
  108. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__a2d7cbed._.js +1 -1
  109. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__aa677b0d._.js +1 -1
  110. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__ac744182._.js +1 -1
  111. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__ae726e9c._.js +1 -1
  112. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bb9fca84._.js +2 -2
  113. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bdc3963a._.js +1 -1
  114. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f06435b0._.js +1 -1
  115. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f5c6d6b8._.js +1 -1
  116. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__fb91986f._.js +1 -1
  117. package/.next/standalone/packages/ui/.next/server/chunks/e0876_tiktoken_3efea2dc._.js +1 -1
  118. package/.next/standalone/packages/ui/.next/server/chunks/f825c_server_app_api_local-projects_list-directory_route_actions_d620ec1a.js +1 -1
  119. package/.next/standalone/packages/ui/.next/server/chunks/f825c_server_app_api_projects_[id]_specs_[spec]_status_route_actions_e9f1bdc5.js +1 -1
  120. package/.next/standalone/packages/ui/.next/server/chunks/node_modules__pnpm_731b55aa._.js +1 -1
  121. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_local-projects_route_actions_9142d5ad.js +1 -1
  122. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_projects_route_actions_73e4c2a1.js +1 -1
  123. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_revalidate_route_actions_a8bf21b5.js +1 -1
  124. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_specs_[id]_route_actions_0793bd75.js +1 -1
  125. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_stats_route_actions_8e042245.js +1 -1
  126. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_db_index_ts_556307fa._.js +4 -4
  127. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_0bd881ee._.js +1 -1
  128. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_baa0160d._.js +1 -1
  129. package/.next/standalone/packages/ui/.next/server/chunks/ssr/1ce3b_dagre-d3-es_src_dagre_index_f9cad90b.js +3 -0
  130. package/.next/standalone/packages/ui/.next/server/chunks/ssr/38a22_sonner_dist_index_mjs_207730fe._.js +1 -1
  131. package/.next/standalone/packages/ui/.next/server/chunks/ssr/4e76f_cytoscape_dist_cytoscape_esm_mjs_56d6d0a1._.js +3 -0
  132. package/.next/standalone/packages/ui/.next/server/chunks/ssr/54964_d3-scale_src_c504aad0._.js +3 -0
  133. package/.next/standalone/packages/ui/.next/server/chunks/ssr/54964_d3-scale_src_linear_5b8914dd.js +3 -0
  134. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_057c0674._.js +3 -0
  135. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_4b57a3a3._.js +3 -0
  136. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_4d3de843._.js +3 -0
  137. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_5f3103e1._.js +3 -0
  138. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_bcc35893._.js +3 -0
  139. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_f2ef1919._.js +3 -0
  140. 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
  141. 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
  142. 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
  143. 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
  144. 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
  145. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_40720940._.js +2 -2
  146. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_1decfd3f._.js +1 -1
  147. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_69a12422._.js +2 -2
  148. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_7af75658._.js +1 -1
  149. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_client_components_0f429de8._.js +1 -1
  150. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_client_components_builtin_global-error_3666c25c.js +1 -1
  151. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_client_components_builtin_unauthorized_78af867c.js +1 -1
  152. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_df5dcbe9._.js +2 -2
  153. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_esm_25672c28._.js +2 -2
  154. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_esm_build_templates_app-page_4f278283.js +2 -2
  155. package/.next/standalone/packages/ui/.next/server/chunks/ssr/730ea_ui__next-internal_server_app_projects_[projectId]_specs_page_actions_82e32fe4.js +1 -1
  156. package/.next/standalone/packages/ui/.next/server/chunks/ssr/8b009_parser_dist_chunks_mermaid-parser_core_architecture-U656AL7Q_mjs_64f0e692._.js +3 -0
  157. package/.next/standalone/packages/ui/.next/server/chunks/ssr/8b009_parser_dist_chunks_mermaid-parser_core_gitGraph-F6HP7TQM_mjs_6383c425._.js +3 -0
  158. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_0b254b71._.js +3 -0
  159. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_8167bfdd._.js +17 -0
  160. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_blockDiagram-VD42YOAC_mjs_99bfbaf9._.js +119 -0
  161. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_c4Diagram-YG6GDRKO_mjs_0683be9f._.js +7 -0
  162. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_c5b1d4f9._.js +17 -0
  163. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-ABZYJK2D_mjs_4034a85b._.js +79 -0
  164. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-B4BG7PRW_mjs_3190ac39._.js +162 -0
  165. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-DI55MBZ5_mjs_2e49cdd9._.js +217 -0
  166. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-FMBD7UC4_mjs_69c9238e._.js +17 -0
  167. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-JA3XYJ7Z_mjs_4c9b0254._.js +62 -0
  168. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-JZLCHNYA_mjs_e1210981._.js +55 -0
  169. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-MI3HLSF2_mjs_4494daf0._.js +3 -0
  170. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-QXUST7PY_mjs_3e69582d._.js +9 -0
  171. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-S3R3BYOJ_mjs_0c8df0bf._.js +4 -0
  172. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-TZMSLE5B_mjs_72a0311f._.js +3 -0
  173. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_dagre-6UL2VRFP_mjs_2a0e551c._.js +3 -0
  174. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_diagram-PSM6KHXK_mjs_f109b802._.js +26 -0
  175. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_erDiagram-Q2GNP2WA_mjs_2956542e._.js +57 -0
  176. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_f71564d9._.js +3 -0
  177. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_ffd8fbee._.js +3 -0
  178. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_flowDiagram-NV44I4VS_mjs_c11db931._.js +154 -0
  179. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_gitGraphDiagram-NY62KEGX_mjs_fe41f076._.js +65 -0
  180. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_journeyDiagram-XKPGCS4Q_mjs_8b9c3e68._.js +136 -0
  181. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_kanban-definition-3W4ZIXB7_mjs_d8e6de34._.js +81 -0
  182. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_quadrantDiagram-AYHSOK5B_mjs_50c2110d._.js +3 -0
  183. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_requirementDiagram-UZGBJVZJ_mjs_8f86dea7._.js +61 -0
  184. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_sankeyDiagram-TZEHDZUN_mjs_9fa014df._.js +6 -0
  185. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_sequenceDiagram-WL72ISMW_mjs_4d5ee2b1._.js +138 -0
  186. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_stateDiagram-FKZM4ZOC_mjs_2bd67ce9._.js +3 -0
  187. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_timeline-definition-IT6M3QCI_mjs_96b04d43._.js +58 -0
  188. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_xychartDiagram-PRI3JC2R_mjs_7eec04e0._.js +3 -0
  189. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_mermaid_core_mjs_1c407865._.js +9 -0
  190. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[externals]_better-sqlite3_a1cc22cb._.js +1 -1
  191. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__015fceb2._.js +1 -1
  192. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__01bfc8ff._.js +1 -1
  193. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__0f0dade1._.js +1 -1
  194. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__1d0c2012._.js +1 -1
  195. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__2977636f._.js +3 -3
  196. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__338c65fe._.js +1 -1
  197. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__4ec37765._.js +1 -1
  198. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__50122e7e._.js +1 -1
  199. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__5382b397._.js +1 -1
  200. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__73f60f12._.js +2 -2
  201. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__7f55abaa._.js +1 -1
  202. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__88a691ee._.js +1 -1
  203. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__8b019a26._.js +1 -1
  204. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a7ae8552._.js +2 -2
  205. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__bdbbba01._.js +1 -1
  206. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__cc589a54._.js +1 -1
  207. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__daee3355._.js +3 -0
  208. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__e4a2bcdd._.js +64 -0
  209. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__ec5b96a5._.js +1 -1
  210. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__fd80e4dd._.js +1 -1
  211. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_000dd317._.js +1 -1
  212. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_0f9ffe32._.js +3 -0
  213. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_14118969._.js +1 -1
  214. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_22274047._.js +3 -0
  215. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_39562b2a._.js +2 -2
  216. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3b617676._.js +1 -1
  217. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3fac7eca._.js +1 -1
  218. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_4129cc0f._.js +1 -1
  219. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_497c8b73._.js +1 -1
  220. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_85effc18._.js +2 -2
  221. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_8f9656c4._.js +2 -2
  222. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_911f204b._.js +1 -1
  223. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ac867463._.js +3 -0
  224. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ad8c1e99._.js +1 -1
  225. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b6ac86b4._.js +3 -0
  226. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b9dc2415._.js +2 -2
  227. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_bae6d2b8._.js +2 -2
  228. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_c2f54661._.js +3 -3
  229. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f7344ef6._.js +2 -2
  230. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_fdd7780b._.js +2 -2
  231. package/.next/standalone/packages/ui/.next/server/chunks/ssr/c7b92_d3-shape_src_arc_9341f572.js +3 -0
  232. package/.next/standalone/packages/ui/.next/server/chunks/ssr/f0bdc_katex_dist_katex_mjs_27a6c950._.js +3 -0
  233. package/.next/standalone/packages/ui/.next/server/chunks/ssr/f825c_server_app_projects_[projectId]_specs_[specId]_page_actions_22d9c35e.js +1 -1
  234. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_03d68913._.js +62 -0
  235. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_1aec4342._.js +17 -0
  236. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_2a29db83._.js +3 -0
  237. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_3ba1438c._.js +3 -0
  238. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_472d6274._.js +3 -0
  239. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_50944832._.js +1 -1
  240. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_5237fdd7._.js +3 -0
  241. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_69372f5b._.js +3 -0
  242. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_76d4233c._.js +17 -0
  243. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_7791e3b8._.js +3 -0
  244. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_79befbed._.js +3 -0
  245. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_88c8b88b._.js +3 -0
  246. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_a01fbd8e._.js +3 -0
  247. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_a3f2a370._.js +3 -0
  248. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_ab5a8afc._.js +3 -0
  249. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b23175bb._.js +38 -0
  250. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b247a526._.js +264 -0
  251. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b5a3d3a5._.js +3 -0
  252. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_c17f27b1._.js +45 -0
  253. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_c22df304._.js +17 -0
  254. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_c766836f._.js +3 -0
  255. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_cb5a045f._.js +3 -0
  256. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_d8037b10._.js +3 -0
  257. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_e175b92a._.js +31 -0
  258. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_e440897f._.js +3 -0
  259. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_ea1bddc7._.js +3 -0
  260. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_f5b29533._.js +3 -0
  261. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_f732d0bb._.js +26 -0
  262. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app__global-error_page_actions_e9e4a8e1.js +1 -1
  263. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app__not-found_page_actions_428c805d.js +1 -1
  264. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_page_actions_f4c42a31.js +1 -1
  265. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_projects_[projectId]_page_actions_f2986585.js +1 -1
  266. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_projects_page_actions_715940ea.js +1 -1
  267. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_specs_[id]_page_actions_555bb544.js +1 -1
  268. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_specs_page_actions_b92ceb22.js +1 -1
  269. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_stats_page_actions_35d53654.js +1 -1
  270. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_19541980._.js +1 -1
  271. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_error_tsx_7bf5aa01._.js +1 -1
  272. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_error_tsx_d8203bfe._.js +1 -1
  273. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_loading_tsx_9304a706._.js +1 -1
  274. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_[projectId]_be242d6c._.js +1 -1
  275. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_[projectId]_project-context-syncer_tsx_7954ea3b._.js +1 -1
  276. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_page_tsx_6e166c8e._.js +1 -1
  277. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_specs_specs-client_tsx_0bb8f8f8._.js +1 -1
  278. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_specs-nav-sidebar_tsx_8237ed13._.js +1 -1
  279. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_ui_select_tsx_7e21d40f._.js +1 -1
  280. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_lib_specs_sources_database-source_ts_f7186c2a._.js +2 -2
  281. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_lib_utils_ts_259f88e4._.js +1 -1
  282. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_lib_utils_ts_c47f8e19._.js +1 -1
  283. package/.next/standalone/packages/ui/.next/server/middleware-build-manifest.js +6 -6
  284. package/.next/standalone/packages/ui/.next/server/pages/404.html +2 -2
  285. package/.next/standalone/packages/ui/.next/server/pages/500.html +2 -2
  286. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.js +1 -1
  287. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.json +1 -1
  288. package/.next/standalone/packages/ui/.next/static/chunks/038fb2d565c88582.js +2 -0
  289. package/.next/standalone/packages/ui/.next/static/chunks/0f108f65249f8820.js +19 -0
  290. package/.next/standalone/packages/ui/.next/static/chunks/1104de0c16e0b792.js +59 -0
  291. package/.next/standalone/packages/ui/.next/static/chunks/1490995adc7829e2.js +136 -0
  292. package/.next/standalone/packages/ui/.next/static/chunks/16b742746668b9d6.js +56 -0
  293. package/.next/standalone/packages/ui/.next/static/chunks/16ff9833ae1bb3ae.js +1 -0
  294. package/.next/standalone/packages/ui/.next/static/chunks/192b2f6118d057e2.js +60 -0
  295. package/.next/standalone/packages/ui/.next/static/chunks/1a910f137d27fff0.js +63 -0
  296. package/.next/standalone/packages/ui/.next/static/chunks/1f052e076ca9a3ff.js +1 -0
  297. package/.next/standalone/packages/ui/.next/static/chunks/20f4141ccb5d4eb4.js +1 -0
  298. package/.next/standalone/packages/ui/.next/static/chunks/2136b3131f74188f.js +1 -0
  299. package/.next/standalone/packages/ui/.next/static/chunks/2204c0f16b23ec4c.js +3 -0
  300. package/.next/standalone/packages/ui/.next/static/chunks/294dea6dbec43ca6.js +1 -0
  301. package/.next/standalone/packages/ui/.next/static/chunks/2a33b9246ea4be03.js +2 -0
  302. package/.next/standalone/packages/ui/.next/static/chunks/2c85b8059e42248a.js +1 -0
  303. package/.next/standalone/packages/ui/.next/static/chunks/305b74f3c20cb4ef.js +1 -0
  304. package/.next/standalone/packages/ui/.next/static/chunks/3276ca6fd9005903.js +13 -0
  305. package/.next/standalone/packages/ui/.next/static/chunks/37f2e45cf97245d9.js +117 -0
  306. package/.next/standalone/packages/ui/.next/static/chunks/39691fae9a3463fe.js +262 -0
  307. package/.next/standalone/packages/ui/.next/static/chunks/3b6b058ebd14dbed.js +1 -0
  308. package/.next/standalone/packages/ui/.next/static/chunks/3ed1465109fecc2d.js +1 -0
  309. package/.next/standalone/packages/ui/.next/static/chunks/3f94c1ef6e27c8bd.js +1 -0
  310. package/.next/standalone/packages/ui/.next/static/chunks/414a78f7b9b58d11.js +53 -0
  311. package/.next/standalone/packages/ui/.next/static/chunks/4e85dea329906168.js +1 -0
  312. package/.next/standalone/packages/ui/.next/static/chunks/525d6cb99a13c44a.js +215 -0
  313. package/.next/standalone/packages/ui/.next/static/chunks/5295f0e82fd2a6d3.js +24 -0
  314. package/.next/standalone/packages/ui/.next/static/chunks/567bc31005c31006.js +1 -0
  315. package/.next/standalone/packages/ui/.next/static/chunks/56894ea818ee2a54.js +1 -0
  316. package/.next/standalone/packages/ui/.next/static/chunks/569b4347ce55d973.js +1 -0
  317. package/.next/standalone/packages/ui/.next/static/chunks/5fffdea0623d8a25.js +1 -0
  318. package/.next/standalone/packages/ui/.next/static/chunks/642374ace530e2bd.js +1 -0
  319. package/.next/standalone/packages/ui/.next/static/chunks/64543dbd7a7a99b7.js +1 -0
  320. package/.next/standalone/packages/ui/.next/static/chunks/6483096c16d96f2c.js +15 -0
  321. package/.next/standalone/packages/ui/.next/static/chunks/66d3fa1af3ff1fbf.js +1 -0
  322. package/.next/standalone/packages/ui/.next/static/chunks/67a1d37727697340.js +1 -0
  323. package/.next/standalone/packages/ui/.next/static/chunks/6f3c460ef90843d6.js +215 -0
  324. package/.next/standalone/packages/ui/.next/static/chunks/6ff7b0a8653036b2.js +1 -0
  325. package/.next/standalone/packages/ui/.next/static/chunks/72dde43947381f78.js +1 -0
  326. package/.next/standalone/packages/ui/.next/static/chunks/7590e65bcaa41e8b.js +1 -0
  327. package/.next/standalone/packages/ui/.next/static/chunks/762fe8c3999a1965.js +1 -0
  328. package/.next/standalone/packages/ui/.next/static/chunks/794f3931f1ca12d2.js +1 -0
  329. package/.next/standalone/packages/ui/.next/static/chunks/7b70989270600907.js +148 -0
  330. package/.next/standalone/packages/ui/.next/static/chunks/8287406f2fe1c1c3.js +1 -0
  331. package/.next/standalone/packages/ui/.next/static/chunks/839e44eec90aa73d.js +60 -0
  332. package/.next/standalone/packages/ui/.next/static/chunks/85b2b8ec762b7c79.js +62 -0
  333. package/.next/standalone/packages/ui/.next/static/chunks/89a8f922ce491ce9.js +93 -0
  334. package/.next/standalone/packages/ui/.next/static/chunks/8ff23db3e3143bc7.js +5 -0
  335. package/.next/standalone/packages/ui/.next/static/chunks/942cf63b4032c808.js +29 -0
  336. package/.next/standalone/packages/ui/.next/static/chunks/95bd0faa6092d8ba.js +1 -0
  337. package/.next/standalone/packages/ui/.next/static/chunks/97bd44afaee5f129.js +1 -0
  338. package/.next/standalone/packages/ui/.next/static/chunks/97c8160044aea609.js +77 -0
  339. package/.next/standalone/packages/ui/.next/static/chunks/9d06bd5d701ace73.js +1 -0
  340. package/.next/standalone/packages/ui/.next/static/chunks/a0b34f852bfa3d1b.js +36 -0
  341. package/.next/standalone/packages/ui/.next/static/chunks/a1ca5af350378f72.js +1 -0
  342. package/.next/standalone/packages/ui/.next/static/chunks/af643629ba393b18.js +15 -0
  343. package/.next/standalone/packages/ui/.next/static/chunks/b6976cf6c48996e5.js +1 -0
  344. package/.next/standalone/packages/ui/.next/static/chunks/b6ffd44cbe740f15.js +1 -0
  345. package/.next/standalone/packages/ui/.next/static/chunks/b8353eb8c6fb895e.js +1 -0
  346. package/.next/standalone/packages/ui/.next/static/chunks/b845813463167db0.js +5 -0
  347. package/.next/standalone/packages/ui/.next/static/chunks/b900efab2eee69a0.js +15 -0
  348. package/.next/standalone/packages/ui/.next/static/chunks/bd9893e28f8f6a9a.css +1 -0
  349. package/.next/standalone/packages/ui/.next/static/chunks/c762baa705e11b30.js +1 -0
  350. package/.next/standalone/packages/ui/.next/static/chunks/cbfb9d957f708c08.js +1 -0
  351. package/.next/standalone/packages/ui/.next/static/chunks/cca4441cde342ae3.js +1 -0
  352. package/.next/standalone/packages/ui/.next/static/chunks/cf53882a2c15630f.js +1 -0
  353. package/.next/standalone/packages/ui/.next/static/chunks/d43971093c91d3b2.js +160 -0
  354. package/.next/standalone/packages/ui/.next/static/chunks/d784d84d5b880e48.js +1 -0
  355. package/.next/standalone/packages/ui/.next/static/chunks/db44023a744297d1.js +1 -0
  356. package/.next/standalone/packages/ui/.next/static/chunks/dbe7840308be36b8.js +1 -0
  357. package/.next/standalone/packages/ui/.next/static/chunks/dc0a4df8f7080b29.js +1 -0
  358. package/.next/standalone/packages/ui/.next/static/chunks/dd8e053aa48c6398.js +1 -0
  359. package/.next/standalone/packages/ui/.next/static/chunks/ddc7726e19e5e25c.js +43 -0
  360. package/.next/standalone/packages/ui/.next/static/chunks/df7e61b074dee049.js +152 -0
  361. package/.next/standalone/packages/ui/.next/static/chunks/e20849e3abe63aa5.js +55 -0
  362. package/.next/standalone/packages/ui/.next/static/chunks/e2792c100b4041a1.js +15 -0
  363. package/.next/standalone/packages/ui/.next/static/chunks/e2dce648399ad4d4.js +1 -0
  364. package/.next/standalone/packages/ui/.next/static/chunks/e3bc96a996e2a314.js +24 -0
  365. package/.next/standalone/packages/ui/.next/static/chunks/e5aab2c562822175.js +1 -0
  366. package/.next/standalone/packages/ui/.next/static/chunks/efbbc4dc4b32a270.js +4 -0
  367. package/.next/standalone/packages/ui/.next/static/chunks/f0376ba3b56dbf10.js +4 -0
  368. package/.next/standalone/packages/ui/.next/static/chunks/f88536b96f1df686.js +1 -0
  369. package/.next/standalone/packages/ui/.next/static/chunks/turbopack-5fa55215af0efb15.js +3 -0
  370. package/.next/standalone/packages/ui/leanspec.db +0 -0
  371. package/.next/standalone/packages/ui/package.json +2 -1
  372. package/.next/standalone/packages/ui/src/components/mermaid-diagram.test.ts +92 -0
  373. package/.next/standalone/packages/ui/src/components/mermaid-diagram.tsx +139 -0
  374. package/.next/standalone/packages/ui/src/components/spec-detail-client.tsx +22 -0
  375. package/.next/standalone/packages/ui/src/contexts/project-context.tsx +14 -14
  376. package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
  377. package/.next/static/chunks/038fb2d565c88582.js +2 -0
  378. package/.next/static/chunks/0f108f65249f8820.js +19 -0
  379. package/.next/static/chunks/1104de0c16e0b792.js +59 -0
  380. package/.next/static/chunks/1490995adc7829e2.js +136 -0
  381. package/.next/static/chunks/16b742746668b9d6.js +56 -0
  382. package/.next/static/chunks/16ff9833ae1bb3ae.js +1 -0
  383. package/.next/static/chunks/192b2f6118d057e2.js +60 -0
  384. package/.next/static/chunks/1a910f137d27fff0.js +63 -0
  385. package/.next/static/chunks/1f052e076ca9a3ff.js +1 -0
  386. package/.next/static/chunks/20f4141ccb5d4eb4.js +1 -0
  387. package/.next/static/chunks/2136b3131f74188f.js +1 -0
  388. package/.next/static/chunks/2204c0f16b23ec4c.js +3 -0
  389. package/.next/static/chunks/294dea6dbec43ca6.js +1 -0
  390. package/.next/static/chunks/2a33b9246ea4be03.js +2 -0
  391. package/.next/static/chunks/2c85b8059e42248a.js +1 -0
  392. package/.next/static/chunks/305b74f3c20cb4ef.js +1 -0
  393. package/.next/static/chunks/3276ca6fd9005903.js +13 -0
  394. package/.next/static/chunks/37f2e45cf97245d9.js +117 -0
  395. package/.next/static/chunks/39691fae9a3463fe.js +262 -0
  396. package/.next/static/chunks/3b6b058ebd14dbed.js +1 -0
  397. package/.next/static/chunks/3ed1465109fecc2d.js +1 -0
  398. package/.next/static/chunks/3f94c1ef6e27c8bd.js +1 -0
  399. package/.next/static/chunks/414a78f7b9b58d11.js +53 -0
  400. package/.next/static/chunks/4e85dea329906168.js +1 -0
  401. package/.next/static/chunks/525d6cb99a13c44a.js +215 -0
  402. package/.next/static/chunks/5295f0e82fd2a6d3.js +24 -0
  403. package/.next/static/chunks/567bc31005c31006.js +1 -0
  404. package/.next/static/chunks/56894ea818ee2a54.js +1 -0
  405. package/.next/static/chunks/569b4347ce55d973.js +1 -0
  406. package/.next/static/chunks/5fffdea0623d8a25.js +1 -0
  407. package/.next/static/chunks/642374ace530e2bd.js +1 -0
  408. package/.next/static/chunks/64543dbd7a7a99b7.js +1 -0
  409. package/.next/static/chunks/6483096c16d96f2c.js +15 -0
  410. package/.next/static/chunks/66d3fa1af3ff1fbf.js +1 -0
  411. package/.next/static/chunks/67a1d37727697340.js +1 -0
  412. package/.next/static/chunks/6f3c460ef90843d6.js +215 -0
  413. package/.next/static/chunks/6ff7b0a8653036b2.js +1 -0
  414. package/.next/static/chunks/72dde43947381f78.js +1 -0
  415. package/.next/static/chunks/7590e65bcaa41e8b.js +1 -0
  416. package/.next/static/chunks/762fe8c3999a1965.js +1 -0
  417. package/.next/static/chunks/794f3931f1ca12d2.js +1 -0
  418. package/.next/static/chunks/7b70989270600907.js +148 -0
  419. package/.next/static/chunks/8287406f2fe1c1c3.js +1 -0
  420. package/.next/static/chunks/839e44eec90aa73d.js +60 -0
  421. package/.next/static/chunks/85b2b8ec762b7c79.js +62 -0
  422. package/.next/static/chunks/89a8f922ce491ce9.js +93 -0
  423. package/.next/static/chunks/8ff23db3e3143bc7.js +5 -0
  424. package/.next/static/chunks/942cf63b4032c808.js +29 -0
  425. package/.next/static/chunks/95bd0faa6092d8ba.js +1 -0
  426. package/.next/static/chunks/97bd44afaee5f129.js +1 -0
  427. package/.next/static/chunks/97c8160044aea609.js +77 -0
  428. package/.next/static/chunks/9d06bd5d701ace73.js +1 -0
  429. package/.next/static/chunks/a0b34f852bfa3d1b.js +36 -0
  430. package/.next/static/chunks/a1ca5af350378f72.js +1 -0
  431. package/.next/static/chunks/af643629ba393b18.js +15 -0
  432. package/.next/static/chunks/b6976cf6c48996e5.js +1 -0
  433. package/.next/static/chunks/b6ffd44cbe740f15.js +1 -0
  434. package/.next/static/chunks/b8353eb8c6fb895e.js +1 -0
  435. package/.next/static/chunks/b845813463167db0.js +5 -0
  436. package/.next/static/chunks/b900efab2eee69a0.js +15 -0
  437. package/.next/static/chunks/bd9893e28f8f6a9a.css +1 -0
  438. package/.next/static/chunks/c762baa705e11b30.js +1 -0
  439. package/.next/static/chunks/cbfb9d957f708c08.js +1 -0
  440. package/.next/static/chunks/cca4441cde342ae3.js +1 -0
  441. package/.next/static/chunks/cf53882a2c15630f.js +1 -0
  442. package/.next/static/chunks/d43971093c91d3b2.js +160 -0
  443. package/.next/static/chunks/d784d84d5b880e48.js +1 -0
  444. package/.next/static/chunks/db44023a744297d1.js +1 -0
  445. package/.next/static/chunks/dbe7840308be36b8.js +1 -0
  446. package/.next/static/chunks/dc0a4df8f7080b29.js +1 -0
  447. package/.next/static/chunks/dd8e053aa48c6398.js +1 -0
  448. package/.next/static/chunks/ddc7726e19e5e25c.js +43 -0
  449. package/.next/static/chunks/df7e61b074dee049.js +152 -0
  450. package/.next/static/chunks/e20849e3abe63aa5.js +55 -0
  451. package/.next/static/chunks/e2792c100b4041a1.js +15 -0
  452. package/.next/static/chunks/e2dce648399ad4d4.js +1 -0
  453. package/.next/static/chunks/e3bc96a996e2a314.js +24 -0
  454. package/.next/static/chunks/e5aab2c562822175.js +1 -0
  455. package/.next/static/chunks/efbbc4dc4b32a270.js +4 -0
  456. package/.next/static/chunks/f0376ba3b56dbf10.js +4 -0
  457. package/.next/static/chunks/f88536b96f1df686.js +1 -0
  458. package/.next/static/chunks/turbopack-5fa55215af0efb15.js +3 -0
  459. package/package.json +2 -1
  460. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__c592f5d1._.js +0 -3
  461. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_6174313a._.js +0 -3
  462. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_7fa1d4b1._.js +0 -3
  463. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_e1889307._.js +0 -3
  464. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_af9d3830._.js +0 -3
  465. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_spec-detail-loading-shell_tsx_f7136fb6._.js +0 -3
  466. package/.next/standalone/packages/ui/.next/static/chunks/07f48b316e895080.js +0 -1
  467. package/.next/standalone/packages/ui/.next/static/chunks/0a7be410b438418a.js +0 -1
  468. package/.next/standalone/packages/ui/.next/static/chunks/1089ca88f6bef846.js +0 -1
  469. package/.next/standalone/packages/ui/.next/static/chunks/15ea4a571afd2593.css +0 -1
  470. package/.next/standalone/packages/ui/.next/static/chunks/1c1c8333e0a19d47.js +0 -1
  471. package/.next/standalone/packages/ui/.next/static/chunks/1fe09300b3bcaa23.js +0 -1
  472. package/.next/standalone/packages/ui/.next/static/chunks/220ba5cb8fe4dd69.js +0 -1
  473. package/.next/standalone/packages/ui/.next/static/chunks/3f4207bc02becc30.js +0 -1
  474. package/.next/standalone/packages/ui/.next/static/chunks/43bc30cd222b1e74.js +0 -3
  475. package/.next/standalone/packages/ui/.next/static/chunks/4a7396c9a77e64d5.js +0 -1
  476. package/.next/standalone/packages/ui/.next/static/chunks/50aead33b660f05c.js +0 -1
  477. package/.next/standalone/packages/ui/.next/static/chunks/571033caca823138.js +0 -1
  478. package/.next/standalone/packages/ui/.next/static/chunks/5c2072ad938de8ed.js +0 -1
  479. package/.next/standalone/packages/ui/.next/static/chunks/5f0014bb843d2f45.js +0 -1
  480. package/.next/standalone/packages/ui/.next/static/chunks/7f732ea69e643219.js +0 -2
  481. package/.next/standalone/packages/ui/.next/static/chunks/86bf3f94f2b0b8fc.js +0 -5
  482. package/.next/standalone/packages/ui/.next/static/chunks/96339d2504976e86.js +0 -1
  483. package/.next/standalone/packages/ui/.next/static/chunks/a02c1f50ff00204f.js +0 -1
  484. package/.next/standalone/packages/ui/.next/static/chunks/b760a3a9c2c8be28.js +0 -1
  485. package/.next/standalone/packages/ui/.next/static/chunks/b9b9d7565bc2c2ad.js +0 -1
  486. package/.next/standalone/packages/ui/.next/static/chunks/d4de5562fb8f6e76.js +0 -1
  487. package/.next/standalone/packages/ui/.next/static/chunks/db281fdc89c063c5.js +0 -1
  488. package/.next/standalone/packages/ui/.next/static/chunks/dcdd95180149fa10.js +0 -1
  489. package/.next/standalone/packages/ui/.next/static/chunks/ebd89051637b9a47.js +0 -4
  490. package/.next/standalone/packages/ui/.next/static/chunks/f3ec9fd77a8618b1.js +0 -19
  491. package/.next/standalone/packages/ui/.next/static/chunks/turbopack-b9690cacbf9fe48c.js +0 -3
  492. package/.next/static/chunks/07f48b316e895080.js +0 -1
  493. package/.next/static/chunks/0a7be410b438418a.js +0 -1
  494. package/.next/static/chunks/1089ca88f6bef846.js +0 -1
  495. package/.next/static/chunks/15ea4a571afd2593.css +0 -1
  496. package/.next/static/chunks/1c1c8333e0a19d47.js +0 -1
  497. package/.next/static/chunks/1fe09300b3bcaa23.js +0 -1
  498. package/.next/static/chunks/220ba5cb8fe4dd69.js +0 -1
  499. package/.next/static/chunks/3f4207bc02becc30.js +0 -1
  500. package/.next/static/chunks/43bc30cd222b1e74.js +0 -3
  501. package/.next/static/chunks/4a7396c9a77e64d5.js +0 -1
  502. package/.next/static/chunks/50aead33b660f05c.js +0 -1
  503. package/.next/static/chunks/571033caca823138.js +0 -1
  504. package/.next/static/chunks/5c2072ad938de8ed.js +0 -1
  505. package/.next/static/chunks/5f0014bb843d2f45.js +0 -1
  506. package/.next/static/chunks/7f732ea69e643219.js +0 -2
  507. package/.next/static/chunks/86bf3f94f2b0b8fc.js +0 -5
  508. package/.next/static/chunks/96339d2504976e86.js +0 -1
  509. package/.next/static/chunks/a02c1f50ff00204f.js +0 -1
  510. package/.next/static/chunks/b760a3a9c2c8be28.js +0 -1
  511. package/.next/static/chunks/b9b9d7565bc2c2ad.js +0 -1
  512. package/.next/static/chunks/d4de5562fb8f6e76.js +0 -1
  513. package/.next/static/chunks/db281fdc89c063c5.js +0 -1
  514. package/.next/static/chunks/dcdd95180149fa10.js +0 -1
  515. package/.next/static/chunks/ebd89051637b9a47.js +0 -4
  516. package/.next/static/chunks/f3ec9fd77a8618b1.js +0 -19
  517. package/.next/static/chunks/turbopack-b9690cacbf9fe48c.js +0 -3
  518. /package/.next/standalone/packages/ui/.next/static/{XaKCij6ONZQYRwoNl_cx7 → NJ6eN22Yi47Zt5lURJ0az}/_buildManifest.js +0 -0
  519. /package/.next/standalone/packages/ui/.next/static/{XaKCij6ONZQYRwoNl_cx7 → NJ6eN22Yi47Zt5lURJ0az}/_clientMiddlewareManifest.json +0 -0
  520. /package/.next/standalone/packages/ui/.next/static/{XaKCij6ONZQYRwoNl_cx7 → NJ6eN22Yi47Zt5lURJ0az}/_ssgManifest.js +0 -0
  521. /package/.next/static/{XaKCij6ONZQYRwoNl_cx7 → NJ6eN22Yi47Zt5lURJ0az}/_buildManifest.js +0 -0
  522. /package/.next/static/{XaKCij6ONZQYRwoNl_cx7 → NJ6eN22Yi47Zt5lURJ0az}/_clientMiddlewareManifest.json +0 -0
  523. /package/.next/static/{XaKCij6ONZQYRwoNl_cx7 → NJ6eN22Yi47Zt5lURJ0az}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/b8353eb8c6fb895e.js","static/chunks/f0376ba3b56dbf10.js","static/chunks/1f052e076ca9a3ff.js","static/chunks/0f108f65249f8820.js","static/chunks/2a33b9246ea4be03.js"],runtimeModuleIds:[979757]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;let t="/_next/",r=new WeakMap;function n(e,t){this.m=e,this.e=t}let o=n.prototype,l=Object.prototype.hasOwnProperty,i="undefined"!=typeof Symbol&&Symbol.toStringTag;function s(e,t,r){l.call(e,t)||Object.defineProperty(e,t,r)}function u(e,t){let r=e[t];return r||(r=a(t),e[t]=r),r}function a(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function c(e,t){s(e,"__esModule",{value:!0}),i&&s(e,i,{value:"Module"});let r=0;for(;r<t.length;){let n=t[r++],o=t[r++];if("number"==typeof o)if(0===o)s(e,n,{value:t[r++],enumerable:!0,writable:!1});else throw Error(`unexpected tag: ${o}`);else"function"==typeof t[r]?s(e,n,{get:o,set:t[r++],enumerable:!0}):s(e,n,{get:o,enumerable:!0})}Object.seal(e)}o.s=function(e,t){let r,n;null!=t?n=(r=u(this.c,t)).exports:(r=this.m,n=this.e),r.namespaceObject=n,c(n,e)},o.j=function(e,t){var n,o;let i,s,a;null!=t?s=(i=u(this.c,t)).exports:(i=this.m,s=this.e);let c=(n=i,o=s,(a=r.get(n))||(r.set(n,a=[]),n.exports=n.namespaceObject=new Proxy(o,{get(e,t){if(l.call(e,t)||"default"===t||"__esModule"===t)return Reflect.get(e,t);for(let e of a){let r=Reflect.get(e,t);if(void 0!==r)return r}},ownKeys(e){let t=Reflect.ownKeys(e);for(let e of a)for(let r of Reflect.ownKeys(e))"default"===r||t.includes(r)||t.push(r);return t}})),a);"object"==typeof e&&null!==e&&c.push(e)},o.v=function(e,t){(null!=t?u(this.c,t):this.m).exports=e},o.n=function(e,t){let r;(r=null!=t?u(this.c,t):this.m).exports=r.namespaceObject=e};let f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,p=[null,f({}),f([]),f(f)];function h(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!p.includes(t);t=f(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n.splice(o,1,0,e):n.push("default",0,e)),c(t,n),t}function d(e){let t=N(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=h(r,"function"==typeof r?function(...e){return r.apply(this,e)}:Object.create(null),r&&r.__esModule)}function m(){let e,t;return{promise:new Promise((r,n)=>{t=n,e=r}),resolve:e,reject:t}}o.i=d,o.A=function(e){return this.r(e)(d.bind(this))},o.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},o.r=function(e){return N(e,this.m).exports},o.f=function(e){function t(t){if(l.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(l.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let b=Symbol("turbopack queues"),y=Symbol("turbopack exports"),O=Symbol("turbopack error");function g(e){e&&1!==e.status&&(e.status=1,e.forEach(e=>e.queueCount--),e.forEach(e=>e.queueCount--?e.queueCount++:e()))}o.a=function(e,t){let r=this.m,n=t?Object.assign([],{status:-1}):void 0,o=new Set,{resolve:l,reject:i,promise:s}=m(),u=Object.assign(s,{[y]:r.exports,[b]:e=>{n&&e(n),o.forEach(e),u.catch(()=>{})}}),a={get:()=>u,set(e){e!==u&&(u[y]=e)}};Object.defineProperty(r,"exports",a),Object.defineProperty(r,"namespaceObject",a),e(function(e){let t=e.map(e=>{if(null!==e&&"object"==typeof e){if(b in e)return e;if(null!=e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then){let t=Object.assign([],{status:0}),r={[y]:{},[b]:e=>e(t)};return e.then(e=>{r[y]=e,g(t)},e=>{r[O]=e,g(t)}),r}}return{[y]:e,[b]:()=>{}}}),r=()=>t.map(e=>{if(e[O])throw e[O];return e[y]}),{promise:l,resolve:i}=m(),s=Object.assign(()=>i(r),{queueCount:0});function u(e){e!==n&&!o.has(e)&&(o.add(e),e&&0===e.status&&(s.queueCount++,e.push(s)))}return t.map(e=>e[b](u)),s.queueCount?l:r()},function(e){e?i(u[O]=e):l(u[y]),g(n)}),n&&-1===n.status&&(n.status=0)};let w=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function j(e,t){throw Error(`Invariant: ${t(e)}`)}w.prototype=URL.prototype,o.U=w,o.z=function(e){throw Error("dynamic usage of require is not supported")},o.g=globalThis;let R=n.prototype;var C,U=((C=U||{})[C.Runtime=0]="Runtime",C[C.Parent=1]="Parent",C[C.Update=2]="Update",C);let k=new Map;o.M=k;let v=new Map,_=new Map;async function P(e,t,r){let n;if("string"==typeof r)return A(e,t,S(r));let o=r.included||[],l=o.map(e=>!!k.has(e)||v.get(e));if(l.length>0&&l.every(e=>e))return void await Promise.all(l);let i=r.moduleChunks||[],s=i.map(e=>_.get(e)).filter(e=>e);if(s.length>0){if(s.length===i.length)return void await Promise.all(s);let r=new Set;for(let e of i)_.has(e)||r.add(e);for(let n of r){let r=A(e,t,S(n));_.set(n,r),s.push(r)}n=Promise.all(s)}else{for(let o of(n=A(e,t,S(r.path)),i))_.has(o)||_.set(o,n)}for(let e of o)v.has(e)||v.set(e,n);await n}R.l=function(e){return P(1,this.m.id,e)};let $=Promise.resolve(void 0),T=new WeakMap;function A(t,r,n){let o=e.loadChunkCached(t,n),l=T.get(o);if(void 0===l){let e=T.set.bind(T,o,$);l=o.then(e).catch(e=>{let o;switch(t){case 0:o=`as a runtime dependency of chunk ${r}`;break;case 1:o=`from module ${r}`;break;case 2:o="from an HMR update";break;default:j(t,e=>`Unknown source type: ${e}`)}throw Error(`Failed to load chunk ${n} ${o}${e?`: ${e}`:""}`,e?{cause:e}:void 0)}),T.set(o,l)}return l}function S(e){return`${t}${e.split("/").map(e=>encodeURIComponent(e)).join("/")}`}R.L=function(e){return A(1,this.m.id,e)},R.R=function(e){let t=this.r(e);return t?.default??t},R.P=function(e){return`/ROOT/${e??""}`},R.b=function(e){let t=new Blob([`self.TURBOPACK_WORKER_LOCATION = ${JSON.stringify(location.origin)};
2
+ self.TURBOPACK_NEXT_CHUNK_URLS = ${JSON.stringify(e.reverse().map(S),null,2)};
3
+ importScripts(...self.TURBOPACK_NEXT_CHUNK_URLS.map(c => self.TURBOPACK_WORKER_LOCATION + c).reverse());`],{type:"text/javascript"});return URL.createObjectURL(t)};let E=/\.js(?:\?[^#]*)?(?:#.*)?$/,K=/\.css(?:\?[^#]*)?(?:#.*)?$/;function x(e){return K.test(e)}o.w=function(t,r,n){return e.loadWebAssembly(1,this.m.id,t,r,n)},o.u=function(t,r){return e.loadWebAssemblyModule(1,this.m.id,t,r)};let M={};o.c=M;let N=(e,t)=>{let r=M[e];if(r){if(r.error)throw r.error;return r}return L(e,U.Parent,t.id)};function L(e,t,r){let o=k.get(e);if("function"!=typeof o)throw Error(function(e,t,r){let n;switch(t){case 0:n=`as a runtime entry of chunk ${r}`;break;case 1:n=`because it was required from module ${r}`;break;case 2:n="because of an HMR update";break;default:j(t,e=>`Unknown source type: ${e}`)}return`Module ${e} was instantiated ${n}, but the module factory is not available.`}(e,t,r));let l=a(e),i=l.exports;M[e]=l;let s=new n(l,i);try{o(s,l,i)}catch(e){throw l.error=e,e}return l.namespaceObject&&l.exports!==l.namespaceObject&&h(l.exports,l.namespaceObject),l}function q(r){let n,o=function(e){if("string"==typeof e)return e;let r=decodeURIComponent(("undefined"!=typeof TURBOPACK_NEXT_CHUNK_URLS?TURBOPACK_NEXT_CHUNK_URLS.pop():e.getAttribute("src")).replace(/[?#].*$/,""));return r.startsWith(t)?r.slice(t.length):r}(r[0]);return 2===r.length?n=r[1]:(n=void 0,!function(e,t,r,n){let o=1;for(;o<e.length;){let t=e[o],n=o+1;for(;n<e.length&&"function"!=typeof e[n];)n++;if(n===e.length)throw Error("malformed chunk format, expected a factory function");if(!r.has(t)){let l=e[n];for(Object.defineProperty(l,"name",{value:"module evaluation"});o<n;o++)t=e[o],r.set(t,l)}o=n+1}}(r,0,k)),e.registerChunk(o,n)}let B=new Map;function W(e){let t=B.get(e);if(!t){let r,n;t={resolved:!1,loadingStarted:!1,promise:new Promise((e,t)=>{r=e,n=t}),resolve:()=>{t.resolved=!0,r()},reject:n},B.set(e,t)}return t}e={async registerChunk(e,t){if(W(S(e)).resolve(),null!=t){for(let e of t.otherChunks)W(S("string"==typeof e?e:e.path));if(await Promise.all(t.otherChunks.map(t=>P(0,e,t))),t.runtimeModuleIds.length>0)for(let r of t.runtimeModuleIds)!function(e,t){let r=M[t];if(r){if(r.error)throw r.error;return}L(t,U.Runtime,e)}(e,r)}},loadChunkCached:(e,t)=>(function(e,t){let r=W(t);if(r.loadingStarted)return r.promise;if(e===U.Runtime)return r.loadingStarted=!0,x(t)&&r.resolve(),r.promise;if("function"==typeof importScripts)if(x(t));else if(E.test(t))self.TURBOPACK_NEXT_CHUNK_URLS.push(t),importScripts(TURBOPACK_WORKER_LOCATION+t);else throw Error(`can't infer type of chunk from URL ${t} in worker`);else{let e=decodeURI(t);if(x(t))if(document.querySelectorAll(`link[rel=stylesheet][href="${t}"],link[rel=stylesheet][href^="${t}?"],link[rel=stylesheet][href="${e}"],link[rel=stylesheet][href^="${e}?"]`).length>0)r.resolve();else{let e=document.createElement("link");e.rel="stylesheet",e.href=t,e.onerror=()=>{r.reject()},e.onload=()=>{r.resolve()},document.head.appendChild(e)}else if(E.test(t)){let n=document.querySelectorAll(`script[src="${t}"],script[src^="${t}?"],script[src="${e}"],script[src^="${e}?"]`);if(n.length>0)for(let e of Array.from(n))e.addEventListener("error",()=>{r.reject()});else{let e=document.createElement("script");e.src=t,e.onerror=()=>{r.reject()},document.head.appendChild(e)}}else throw Error(`can't infer type of chunk from URL ${t}`)}return r.loadingStarted=!0,r.promise})(e,t),async loadWebAssembly(e,t,r,n,o){let l=fetch(S(r)),{instance:i}=await WebAssembly.instantiateStreaming(l,o);return i.exports},async loadWebAssemblyModule(e,t,r,n){let o=fetch(S(r));return await WebAssembly.compileStreaming(o)}};let I=globalThis.TURBOPACK;globalThis.TURBOPACK={push:q},I.forEach(q)})();
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leanspec/ui",
3
- "version": "0.2.6-dev.20251125092039",
3
+ "version": "0.2.6-dev.20251125100207",
4
4
  "description": "LeanSpec web UI launcher for visual spec management",
5
5
  "type": "module",
6
6
  "bin": {
@@ -78,6 +78,7 @@
78
78
  "highlight.js": "^11.11.1",
79
79
  "js-yaml": "^4.1.0",
80
80
  "lucide-react": "^0.553.0",
81
+ "mermaid": "^11.12.1",
81
82
  "next": "16.0.1",
82
83
  "next-themes": "^0.4.6",
83
84
  "open": "^11.0.0",
@@ -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
+ });
@@ -0,0 +1,139 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ import { useTheme } from 'next-themes';
5
+ import { Skeleton } from '@/components/ui/skeleton';
6
+ import { Button } from '@/components/ui/button';
7
+ import { Code2, AlertCircle } from 'lucide-react';
8
+
9
+ interface MermaidDiagramProps {
10
+ code: string;
11
+ }
12
+
13
+ // Counter for generating unique IDs
14
+ let diagramIdCounter = 0;
15
+
16
+ export function MermaidDiagram({ code }: MermaidDiagramProps) {
17
+ const containerRef = React.useRef<HTMLDivElement>(null);
18
+ const [svg, setSvg] = React.useState<string>('');
19
+ const [error, setError] = React.useState<string | null>(null);
20
+ const [isLoading, setIsLoading] = React.useState(true);
21
+ const [showSource, setShowSource] = React.useState(false);
22
+ const { resolvedTheme } = useTheme();
23
+ const [mounted, setMounted] = React.useState(false);
24
+
25
+ // Track mount state for SSR safety
26
+ React.useEffect(() => {
27
+ setMounted(true);
28
+ }, []);
29
+
30
+ // Render the mermaid diagram
31
+ React.useEffect(() => {
32
+ if (!mounted) return;
33
+
34
+ const renderDiagram = async () => {
35
+ setIsLoading(true);
36
+ setError(null);
37
+
38
+ try {
39
+ // Dynamically import mermaid to avoid SSR issues
40
+ const mermaid = (await import('mermaid')).default;
41
+
42
+ mermaid.initialize({
43
+ startOnLoad: false,
44
+ theme: resolvedTheme === 'dark' ? 'dark' : 'default',
45
+ // Use 'strict' for security - specs are developer-authored
46
+ // but we still want to prevent potential XSS from code blocks
47
+ securityLevel: 'strict',
48
+ fontFamily: 'inherit',
49
+ });
50
+
51
+ // Generate unique ID for the diagram using counter
52
+ const id = `mermaid-${Date.now()}-${++diagramIdCounter}`;
53
+ const cleanedCode = code.trim();
54
+
55
+ const { svg: renderedSvg } = await mermaid.render(id, cleanedCode);
56
+ setSvg(renderedSvg);
57
+ setError(null);
58
+ } catch (err) {
59
+ const errorMessage = err instanceof Error ? err.message : 'Diagram render failed';
60
+ setError(errorMessage);
61
+ setSvg('');
62
+ } finally {
63
+ setIsLoading(false);
64
+ }
65
+ };
66
+
67
+ renderDiagram();
68
+ }, [code, resolvedTheme, mounted]);
69
+
70
+ // Show skeleton during SSR or initial mount
71
+ if (!mounted) {
72
+ return <DiagramSkeleton />;
73
+ }
74
+
75
+ // Show loading state
76
+ if (isLoading) {
77
+ return <DiagramSkeleton />;
78
+ }
79
+
80
+ // Show error state with fallback to source
81
+ if (error) {
82
+ return (
83
+ <div className="my-4 border border-destructive/50 bg-destructive/10 rounded-md overflow-hidden">
84
+ <div className="flex items-center gap-2 px-4 py-2 bg-destructive/20 border-b border-destructive/30">
85
+ <AlertCircle className="h-4 w-4 text-destructive" />
86
+ <span className="text-sm font-medium text-destructive">Diagram error</span>
87
+ </div>
88
+ <div className="p-4">
89
+ <p className="text-sm text-destructive mb-3">{error}</p>
90
+ <pre className="text-xs overflow-x-auto bg-muted/50 p-3 rounded border">
91
+ <code>{code}</code>
92
+ </pre>
93
+ </div>
94
+ </div>
95
+ );
96
+ }
97
+
98
+ // Show rendered diagram with source toggle
99
+ return (
100
+ <div className="my-4 border rounded-md overflow-hidden">
101
+ <div className="flex items-center justify-end px-3 py-1.5 bg-muted/30 border-b">
102
+ <Button
103
+ variant="ghost"
104
+ size="sm"
105
+ onClick={() => setShowSource(!showSource)}
106
+ className="h-7 text-xs"
107
+ >
108
+ <Code2 className="h-3.5 w-3.5 mr-1.5" />
109
+ {showSource ? 'View Diagram' : 'View Source'}
110
+ </Button>
111
+ </div>
112
+
113
+ {showSource ? (
114
+ <pre className="text-xs overflow-x-auto p-4 bg-muted/20">
115
+ <code className="language-mermaid">{code}</code>
116
+ </pre>
117
+ ) : (
118
+ <div
119
+ ref={containerRef}
120
+ className="flex justify-center overflow-x-auto p-4 bg-background"
121
+ dangerouslySetInnerHTML={{ __html: svg }}
122
+ />
123
+ )}
124
+ </div>
125
+ );
126
+ }
127
+
128
+ function DiagramSkeleton() {
129
+ return (
130
+ <div className="my-4 border rounded-md overflow-hidden">
131
+ <div className="flex items-center justify-end px-3 py-1.5 bg-muted/30 border-b">
132
+ <Skeleton className="h-7 w-24" />
133
+ </div>
134
+ <div className="flex justify-center items-center p-8">
135
+ <Skeleton className="h-48 w-full max-w-md" />
136
+ </div>
137
+ </div>
138
+ );
139
+ }
@@ -21,6 +21,7 @@ import { MarkdownLink } from '@/components/markdown-link';
21
21
  import { TableOfContents, TableOfContentsSidebar } from '@/components/table-of-contents';
22
22
  import { BackToTop } from '@/components/back-to-top';
23
23
  import { SpecDependencyGraph } from '@/components/spec-dependency-graph';
24
+ import { MermaidDiagram } from '@/components/mermaid-diagram';
24
25
  import {
25
26
  Dialog,
26
27
  DialogContent,
@@ -411,6 +412,27 @@ export function SpecDetailClient({ initialSpec, initialSubSpec }: SpecDetailClie
411
412
  rehypePlugins={[rehypeHighlight, rehypeSlug]}
412
413
  components={{
413
414
  a: (props) => <MarkdownLink {...props} currentSpecNumber={spec.specNumber || undefined} />,
415
+ pre: ({ children, ...props }) => {
416
+ // Safely get the first child element
417
+ const childArray = React.Children.toArray(children);
418
+ const firstChild = childArray[0];
419
+
420
+ // Check if this is a mermaid code block
421
+ if (
422
+ React.isValidElement(firstChild) &&
423
+ firstChild.type === 'code' &&
424
+ typeof (firstChild.props as { className?: string }).className === 'string' &&
425
+ (firstChild.props as { className?: string }).className?.includes('language-mermaid')
426
+ ) {
427
+ const codeProps = firstChild.props as { children?: React.ReactNode };
428
+ const code = typeof codeProps.children === 'string'
429
+ ? codeProps.children
430
+ : '';
431
+ return <MermaidDiagram code={code} />;
432
+ }
433
+ // Default pre rendering
434
+ return <pre {...props}>{children}</pre>;
435
+ },
414
436
  }}
415
437
  >
416
438
  {displayContent}
@@ -69,15 +69,15 @@ export function ProjectProvider({ children, initialProjectId }: ProjectProviderP
69
69
  if (!currentProject && data.projects.length > 0) {
70
70
  const projectToSet = initialProjectId
71
71
  ? data.projects.find((p: LocalProject) => p.id === initialProjectId)
72
- : data.recentProjects[0] || data.projects[0];
72
+ : data.recentProjects?.[0] || data.projects[0];
73
73
 
74
74
  if (projectToSet) {
75
75
  setCurrentProject(projectToSet);
76
76
  }
77
77
  }
78
- } catch (err: any) {
78
+ } catch (err: unknown) {
79
79
  console.error('Error fetching projects:', err);
80
- setError(err.message || 'Failed to load projects');
80
+ setError(err instanceof Error ? err.message : 'Failed to load projects');
81
81
  } finally {
82
82
  setIsLoading(false);
83
83
  }
@@ -96,9 +96,9 @@ export function ProjectProvider({ children, initialProjectId }: ProjectProviderP
96
96
 
97
97
  // Refresh recent projects list
98
98
  await refreshProjects();
99
- } catch (err: any) {
99
+ } catch (err: unknown) {
100
100
  console.error('Error switching project:', err);
101
- setError(err.message || 'Failed to switch project');
101
+ setError(err instanceof Error ? err.message : 'Failed to switch project');
102
102
  throw err;
103
103
  }
104
104
  }, [refreshProjects]);
@@ -123,9 +123,9 @@ export function ProjectProvider({ children, initialProjectId }: ProjectProviderP
123
123
  const data = await response.json();
124
124
  await refreshProjects();
125
125
  return data.project;
126
- } catch (err: any) {
126
+ } catch (err: unknown) {
127
127
  console.error('Error adding project:', err);
128
- setError(err.message || 'Failed to add project');
128
+ setError(err instanceof Error ? err.message : 'Failed to add project');
129
129
  throw err;
130
130
  }
131
131
  }, [refreshProjects]);
@@ -148,9 +148,9 @@ export function ProjectProvider({ children, initialProjectId }: ProjectProviderP
148
148
  }
149
149
 
150
150
  await refreshProjects();
151
- } catch (err: any) {
151
+ } catch (err: unknown) {
152
152
  console.error('Error removing project:', err);
153
- setError(err.message || 'Failed to remove project');
153
+ setError(err instanceof Error ? err.message : 'Failed to remove project');
154
154
  throw err;
155
155
  }
156
156
  }, [currentProject, projects, refreshProjects]);
@@ -169,9 +169,9 @@ export function ProjectProvider({ children, initialProjectId }: ProjectProviderP
169
169
  }
170
170
 
171
171
  await refreshProjects();
172
- } catch (err: any) {
172
+ } catch (err: unknown) {
173
173
  console.error('Error toggling favorite:', err);
174
- setError(err.message || 'Failed to toggle favorite');
174
+ setError(err instanceof Error ? err.message : 'Failed to toggle favorite');
175
175
  throw err;
176
176
  }
177
177
  }, [refreshProjects]);
@@ -193,9 +193,9 @@ export function ProjectProvider({ children, initialProjectId }: ProjectProviderP
193
193
  }
194
194
 
195
195
  await refreshProjects();
196
- } catch (err: any) {
196
+ } catch (err: unknown) {
197
197
  console.error('Error updating project:', err);
198
- setError(err.message || 'Failed to update project');
198
+ setError(err instanceof Error ? err.message : 'Failed to update project');
199
199
  throw err;
200
200
  }
201
201
  }, [refreshProjects]);
@@ -203,7 +203,7 @@ export function ProjectProvider({ children, initialProjectId }: ProjectProviderP
203
203
  // Load projects on mount
204
204
  useEffect(() => {
205
205
  refreshProjects();
206
- }, []);
206
+ }, [refreshProjects]);
207
207
 
208
208
  const value: ProjectContextType = {
209
209
  mode,