@leanspec/ui 0.2.6-dev.20251125092944 → 0.2.6-dev.20251125125653

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]/status/route.js.nft.json +1 -1
  48. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js +2 -2
  49. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
  50. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js +2 -2
  51. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js.nft.json +1 -1
  52. package/.next/standalone/packages/ui/.next/server/app/page/build-manifest.json +6 -6
  53. package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
  54. package/.next/standalone/packages/ui/.next/server/app/page_client-reference-manifest.js +1 -1
  55. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page/build-manifest.json +6 -6
  56. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js +2 -2
  57. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.nft.json +1 -1
  58. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +1 -1
  59. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/build-manifest.json +6 -6
  60. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js +2 -2
  61. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.nft.json +1 -1
  62. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page_client-reference-manifest.js +1 -1
  63. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/build-manifest.json +6 -6
  64. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js +2 -2
  65. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.nft.json +1 -1
  66. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page_client-reference-manifest.js +1 -1
  67. package/.next/standalone/packages/ui/.next/server/app/projects/page/build-manifest.json +6 -6
  68. package/.next/standalone/packages/ui/.next/server/app/projects/page.js +2 -2
  69. package/.next/standalone/packages/ui/.next/server/app/projects/page.js.nft.json +1 -1
  70. package/.next/standalone/packages/ui/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  71. package/.next/standalone/packages/ui/.next/server/app/projects.html +2 -2
  72. package/.next/standalone/packages/ui/.next/server/app/projects.rsc +28 -29
  73. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +28 -29
  74. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +12 -12
  75. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_tree.segment.rsc +5 -5
  76. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +4 -4
  77. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects.segment.rsc +3 -3
  78. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page/build-manifest.json +6 -6
  79. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js +2 -2
  80. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js.nft.json +1 -1
  81. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
  82. package/.next/standalone/packages/ui/.next/server/app/specs/page/build-manifest.json +6 -6
  83. package/.next/standalone/packages/ui/.next/server/app/specs/page.js +2 -2
  84. package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
  85. package/.next/standalone/packages/ui/.next/server/app/specs/page_client-reference-manifest.js +1 -1
  86. package/.next/standalone/packages/ui/.next/server/app/stats/page/build-manifest.json +6 -6
  87. package/.next/standalone/packages/ui/.next/server/app/stats/page.js +2 -2
  88. package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
  89. package/.next/standalone/packages/ui/.next/server/app/stats/page_client-reference-manifest.js +1 -1
  90. package/.next/standalone/packages/ui/.next/server/chunks/6681a__next-internal_server_app_api_specs_[id]_subspecs_[file]_route_actions_556a9993.js +1 -1
  91. package/.next/standalone/packages/ui/.next/server/chunks/6e9bd_next_952b10e2._.js +2 -2
  92. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_local-projects_[id]_route_actions_664abe9c.js +1 -1
  93. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_local-projects_discover_route_actions_e6ec3fa7.js +1 -1
  94. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_specs_route_actions_6d03fd1f.js +1 -1
  95. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_stats_route_actions_a0bb04a8.js +1 -1
  96. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_specs_[id]_status_route_actions_5d700407.js +1 -1
  97. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0fbfea15._.js +1 -1
  98. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__126dea7b._.js +1 -1
  99. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__1f037512._.js +1 -1
  100. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3559376c._.js +4 -4
  101. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__548e27d4._.js +1 -1
  102. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__65667b70._.js +1 -1
  103. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__675a763e._.js +1 -1
  104. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__803d07f0._.js +1 -1
  105. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8075fe29._.js +1 -1
  106. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8233e09b._.js +1 -1
  107. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__84cdc14a._.js +1 -1
  108. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9ce722b4._.js +1 -1
  109. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__a2d7cbed._.js +1 -1
  110. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__aa677b0d._.js +1 -1
  111. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__ac744182._.js +1 -1
  112. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__ae726e9c._.js +1 -1
  113. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bb9fca84._.js +2 -2
  114. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bdc3963a._.js +1 -1
  115. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f06435b0._.js +1 -1
  116. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f5c6d6b8._.js +1 -1
  117. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__fb91986f._.js +1 -1
  118. package/.next/standalone/packages/ui/.next/server/chunks/e0876_tiktoken_3efea2dc._.js +1 -1
  119. package/.next/standalone/packages/ui/.next/server/chunks/f825c_server_app_api_local-projects_list-directory_route_actions_d620ec1a.js +1 -1
  120. package/.next/standalone/packages/ui/.next/server/chunks/f825c_server_app_api_projects_[id]_specs_[spec]_status_route_actions_e9f1bdc5.js +1 -1
  121. package/.next/standalone/packages/ui/.next/server/chunks/node_modules__pnpm_731b55aa._.js +1 -1
  122. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_local-projects_route_actions_9142d5ad.js +1 -1
  123. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_projects_route_actions_73e4c2a1.js +1 -1
  124. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_revalidate_route_actions_a8bf21b5.js +1 -1
  125. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_specs_[id]_route_actions_0793bd75.js +1 -1
  126. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_stats_route_actions_8e042245.js +1 -1
  127. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_db_index_ts_556307fa._.js +4 -4
  128. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_0bd881ee._.js +1 -1
  129. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_baa0160d._.js +1 -1
  130. package/.next/standalone/packages/ui/.next/server/chunks/ssr/1ce3b_dagre-d3-es_src_dagre_index_f9cad90b.js +3 -0
  131. package/.next/standalone/packages/ui/.next/server/chunks/ssr/38a22_sonner_dist_index_mjs_207730fe._.js +1 -1
  132. package/.next/standalone/packages/ui/.next/server/chunks/ssr/4e76f_cytoscape_dist_cytoscape_esm_mjs_56d6d0a1._.js +3 -0
  133. package/.next/standalone/packages/ui/.next/server/chunks/ssr/54964_d3-scale_src_c504aad0._.js +3 -0
  134. package/.next/standalone/packages/ui/.next/server/chunks/ssr/54964_d3-scale_src_linear_5b8914dd.js +3 -0
  135. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_057c0674._.js +3 -0
  136. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_4b57a3a3._.js +3 -0
  137. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_4d3de843._.js +3 -0
  138. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_5f3103e1._.js +3 -0
  139. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_bcc35893._.js +3 -0
  140. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_f2ef1919._.js +3 -0
  141. 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
  142. 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
  143. 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
  144. 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
  145. 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
  146. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_40720940._.js +2 -2
  147. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_1decfd3f._.js +1 -1
  148. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_69a12422._.js +2 -2
  149. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_7af75658._.js +1 -1
  150. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_client_components_0f429de8._.js +1 -1
  151. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_client_components_builtin_global-error_3666c25c.js +1 -1
  152. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_client_components_builtin_unauthorized_78af867c.js +1 -1
  153. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_df5dcbe9._.js +2 -2
  154. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_esm_25672c28._.js +2 -2
  155. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_esm_build_templates_app-page_4f278283.js +2 -2
  156. package/.next/standalone/packages/ui/.next/server/chunks/ssr/730ea_ui__next-internal_server_app_projects_[projectId]_specs_page_actions_82e32fe4.js +1 -1
  157. package/.next/standalone/packages/ui/.next/server/chunks/ssr/8b009_parser_dist_chunks_mermaid-parser_core_architecture-U656AL7Q_mjs_64f0e692._.js +3 -0
  158. package/.next/standalone/packages/ui/.next/server/chunks/ssr/8b009_parser_dist_chunks_mermaid-parser_core_gitGraph-F6HP7TQM_mjs_6383c425._.js +3 -0
  159. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_0b254b71._.js +3 -0
  160. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_8167bfdd._.js +17 -0
  161. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_blockDiagram-VD42YOAC_mjs_99bfbaf9._.js +119 -0
  162. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_c4Diagram-YG6GDRKO_mjs_0683be9f._.js +7 -0
  163. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_c5b1d4f9._.js +17 -0
  164. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-ABZYJK2D_mjs_4034a85b._.js +79 -0
  165. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-B4BG7PRW_mjs_3190ac39._.js +162 -0
  166. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-DI55MBZ5_mjs_2e49cdd9._.js +217 -0
  167. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-FMBD7UC4_mjs_69c9238e._.js +17 -0
  168. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-JA3XYJ7Z_mjs_4c9b0254._.js +62 -0
  169. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-JZLCHNYA_mjs_e1210981._.js +55 -0
  170. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-MI3HLSF2_mjs_4494daf0._.js +3 -0
  171. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-QXUST7PY_mjs_3e69582d._.js +9 -0
  172. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-S3R3BYOJ_mjs_0c8df0bf._.js +4 -0
  173. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-TZMSLE5B_mjs_72a0311f._.js +3 -0
  174. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_dagre-6UL2VRFP_mjs_2a0e551c._.js +3 -0
  175. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_diagram-PSM6KHXK_mjs_f109b802._.js +26 -0
  176. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_erDiagram-Q2GNP2WA_mjs_2956542e._.js +57 -0
  177. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_f71564d9._.js +3 -0
  178. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_ffd8fbee._.js +3 -0
  179. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_flowDiagram-NV44I4VS_mjs_c11db931._.js +154 -0
  180. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_gitGraphDiagram-NY62KEGX_mjs_fe41f076._.js +65 -0
  181. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_journeyDiagram-XKPGCS4Q_mjs_8b9c3e68._.js +136 -0
  182. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_kanban-definition-3W4ZIXB7_mjs_d8e6de34._.js +81 -0
  183. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_quadrantDiagram-AYHSOK5B_mjs_50c2110d._.js +3 -0
  184. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_requirementDiagram-UZGBJVZJ_mjs_8f86dea7._.js +61 -0
  185. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_sankeyDiagram-TZEHDZUN_mjs_9fa014df._.js +6 -0
  186. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_sequenceDiagram-WL72ISMW_mjs_4d5ee2b1._.js +138 -0
  187. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_stateDiagram-FKZM4ZOC_mjs_2bd67ce9._.js +3 -0
  188. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_timeline-definition-IT6M3QCI_mjs_96b04d43._.js +58 -0
  189. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_xychartDiagram-PRI3JC2R_mjs_7eec04e0._.js +3 -0
  190. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_mermaid_core_mjs_1c407865._.js +9 -0
  191. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[externals]_better-sqlite3_a1cc22cb._.js +1 -1
  192. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__015fceb2._.js +1 -1
  193. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__01bfc8ff._.js +1 -1
  194. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__0f0dade1._.js +1 -1
  195. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__1d0c2012._.js +1 -1
  196. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__2977636f._.js +3 -3
  197. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__338c65fe._.js +1 -1
  198. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__4ec37765._.js +1 -1
  199. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__50122e7e._.js +1 -1
  200. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__5382b397._.js +1 -1
  201. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__73f60f12._.js +2 -2
  202. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__7f55abaa._.js +1 -1
  203. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__88a691ee._.js +1 -1
  204. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__8b019a26._.js +1 -1
  205. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a7ae8552._.js +2 -2
  206. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__bdbbba01._.js +1 -1
  207. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__cc589a54._.js +1 -1
  208. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__daee3355._.js +3 -0
  209. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__e4a2bcdd._.js +64 -0
  210. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__ec5b96a5._.js +1 -1
  211. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__fd80e4dd._.js +1 -1
  212. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_000dd317._.js +1 -1
  213. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_0f9ffe32._.js +3 -0
  214. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_14118969._.js +1 -1
  215. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_22274047._.js +3 -0
  216. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_39562b2a._.js +2 -2
  217. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3b617676._.js +1 -1
  218. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3fac7eca._.js +1 -1
  219. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_4129cc0f._.js +1 -1
  220. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_497c8b73._.js +1 -1
  221. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_85effc18._.js +2 -2
  222. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_8f9656c4._.js +2 -2
  223. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_911f204b._.js +1 -1
  224. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ac867463._.js +3 -0
  225. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ad8c1e99._.js +1 -1
  226. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b6ac86b4._.js +3 -0
  227. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b9dc2415._.js +2 -2
  228. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_bae6d2b8._.js +2 -2
  229. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_c2f54661._.js +3 -3
  230. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f7344ef6._.js +2 -2
  231. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_fdd7780b._.js +2 -2
  232. package/.next/standalone/packages/ui/.next/server/chunks/ssr/c7b92_d3-shape_src_arc_9341f572.js +3 -0
  233. package/.next/standalone/packages/ui/.next/server/chunks/ssr/f0bdc_katex_dist_katex_mjs_27a6c950._.js +3 -0
  234. package/.next/standalone/packages/ui/.next/server/chunks/ssr/f825c_server_app_projects_[projectId]_specs_[specId]_page_actions_22d9c35e.js +1 -1
  235. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_03d68913._.js +62 -0
  236. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_1aec4342._.js +17 -0
  237. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_2a29db83._.js +3 -0
  238. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_3ba1438c._.js +3 -0
  239. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_472d6274._.js +3 -0
  240. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_50944832._.js +1 -1
  241. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_5237fdd7._.js +3 -0
  242. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_69372f5b._.js +3 -0
  243. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_76d4233c._.js +17 -0
  244. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_7791e3b8._.js +3 -0
  245. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_79befbed._.js +3 -0
  246. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_88c8b88b._.js +3 -0
  247. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_a01fbd8e._.js +3 -0
  248. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_a3f2a370._.js +3 -0
  249. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_ab5a8afc._.js +3 -0
  250. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b23175bb._.js +38 -0
  251. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b247a526._.js +264 -0
  252. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b5a3d3a5._.js +3 -0
  253. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_c17f27b1._.js +45 -0
  254. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_c22df304._.js +17 -0
  255. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_c766836f._.js +3 -0
  256. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_cb5a045f._.js +3 -0
  257. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_d8037b10._.js +3 -0
  258. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_e175b92a._.js +31 -0
  259. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_e440897f._.js +3 -0
  260. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_ea1bddc7._.js +3 -0
  261. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_f5b29533._.js +3 -0
  262. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_f732d0bb._.js +26 -0
  263. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app__global-error_page_actions_e9e4a8e1.js +1 -1
  264. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app__not-found_page_actions_428c805d.js +1 -1
  265. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_page_actions_f4c42a31.js +1 -1
  266. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_projects_[projectId]_page_actions_f2986585.js +1 -1
  267. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_projects_page_actions_715940ea.js +1 -1
  268. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_specs_[id]_page_actions_555bb544.js +1 -1
  269. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_specs_page_actions_b92ceb22.js +1 -1
  270. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_stats_page_actions_35d53654.js +1 -1
  271. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_19541980._.js +1 -1
  272. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_error_tsx_7bf5aa01._.js +1 -1
  273. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_error_tsx_d8203bfe._.js +1 -1
  274. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_loading_tsx_9304a706._.js +1 -1
  275. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_[projectId]_be242d6c._.js +1 -1
  276. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_[projectId]_project-context-syncer_tsx_7954ea3b._.js +1 -1
  277. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_page_tsx_6e166c8e._.js +1 -1
  278. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_specs_specs-client_tsx_0bb8f8f8._.js +1 -1
  279. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_specs-nav-sidebar_tsx_8237ed13._.js +1 -1
  280. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_ui_select_tsx_7e21d40f._.js +1 -1
  281. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_lib_specs_sources_database-source_ts_f7186c2a._.js +2 -2
  282. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_lib_utils_ts_259f88e4._.js +1 -1
  283. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_lib_utils_ts_c47f8e19._.js +1 -1
  284. package/.next/standalone/packages/ui/.next/server/middleware-build-manifest.js +6 -6
  285. package/.next/standalone/packages/ui/.next/server/pages/404.html +2 -2
  286. package/.next/standalone/packages/ui/.next/server/pages/500.html +2 -2
  287. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.js +1 -1
  288. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.json +1 -1
  289. package/.next/standalone/packages/ui/.next/static/chunks/038fb2d565c88582.js +2 -0
  290. package/.next/standalone/packages/ui/.next/static/chunks/0f108f65249f8820.js +19 -0
  291. package/.next/standalone/packages/ui/.next/static/chunks/1104de0c16e0b792.js +59 -0
  292. package/.next/standalone/packages/ui/.next/static/chunks/1490995adc7829e2.js +136 -0
  293. package/.next/standalone/packages/ui/.next/static/chunks/16b742746668b9d6.js +56 -0
  294. package/.next/standalone/packages/ui/.next/static/chunks/16ff9833ae1bb3ae.js +1 -0
  295. package/.next/standalone/packages/ui/.next/static/chunks/192b2f6118d057e2.js +60 -0
  296. package/.next/standalone/packages/ui/.next/static/chunks/1a910f137d27fff0.js +63 -0
  297. package/.next/standalone/packages/ui/.next/static/chunks/1f052e076ca9a3ff.js +1 -0
  298. package/.next/standalone/packages/ui/.next/static/chunks/20f4141ccb5d4eb4.js +1 -0
  299. package/.next/standalone/packages/ui/.next/static/chunks/2136b3131f74188f.js +1 -0
  300. package/.next/standalone/packages/ui/.next/static/chunks/2204c0f16b23ec4c.js +3 -0
  301. package/.next/standalone/packages/ui/.next/static/chunks/294dea6dbec43ca6.js +1 -0
  302. package/.next/standalone/packages/ui/.next/static/chunks/2a33b9246ea4be03.js +2 -0
  303. package/.next/standalone/packages/ui/.next/static/chunks/2c85b8059e42248a.js +1 -0
  304. package/.next/standalone/packages/ui/.next/static/chunks/305b74f3c20cb4ef.js +1 -0
  305. package/.next/standalone/packages/ui/.next/static/chunks/3276ca6fd9005903.js +13 -0
  306. package/.next/standalone/packages/ui/.next/static/chunks/37f2e45cf97245d9.js +117 -0
  307. package/.next/standalone/packages/ui/.next/static/chunks/39691fae9a3463fe.js +262 -0
  308. package/.next/standalone/packages/ui/.next/static/chunks/3b6b058ebd14dbed.js +1 -0
  309. package/.next/standalone/packages/ui/.next/static/chunks/3ed1465109fecc2d.js +1 -0
  310. package/.next/standalone/packages/ui/.next/static/chunks/3f94c1ef6e27c8bd.js +1 -0
  311. package/.next/standalone/packages/ui/.next/static/chunks/414a78f7b9b58d11.js +53 -0
  312. package/.next/standalone/packages/ui/.next/static/chunks/4e85dea329906168.js +1 -0
  313. package/.next/standalone/packages/ui/.next/static/chunks/525d6cb99a13c44a.js +215 -0
  314. package/.next/standalone/packages/ui/.next/static/chunks/5295f0e82fd2a6d3.js +24 -0
  315. package/.next/standalone/packages/ui/.next/static/chunks/567bc31005c31006.js +1 -0
  316. package/.next/standalone/packages/ui/.next/static/chunks/56894ea818ee2a54.js +1 -0
  317. package/.next/standalone/packages/ui/.next/static/chunks/569b4347ce55d973.js +1 -0
  318. package/.next/standalone/packages/ui/.next/static/chunks/5fffdea0623d8a25.js +1 -0
  319. package/.next/standalone/packages/ui/.next/static/chunks/642374ace530e2bd.js +1 -0
  320. package/.next/standalone/packages/ui/.next/static/chunks/64543dbd7a7a99b7.js +1 -0
  321. package/.next/standalone/packages/ui/.next/static/chunks/6483096c16d96f2c.js +15 -0
  322. package/.next/standalone/packages/ui/.next/static/chunks/66d3fa1af3ff1fbf.js +1 -0
  323. package/.next/standalone/packages/ui/.next/static/chunks/67a1d37727697340.js +1 -0
  324. package/.next/standalone/packages/ui/.next/static/chunks/6f3c460ef90843d6.js +215 -0
  325. package/.next/standalone/packages/ui/.next/static/chunks/6ff7b0a8653036b2.js +1 -0
  326. package/.next/standalone/packages/ui/.next/static/chunks/72dde43947381f78.js +1 -0
  327. package/.next/standalone/packages/ui/.next/static/chunks/7590e65bcaa41e8b.js +1 -0
  328. package/.next/standalone/packages/ui/.next/static/chunks/762fe8c3999a1965.js +1 -0
  329. package/.next/standalone/packages/ui/.next/static/chunks/794f3931f1ca12d2.js +1 -0
  330. package/.next/standalone/packages/ui/.next/static/chunks/7b70989270600907.js +148 -0
  331. package/.next/standalone/packages/ui/.next/static/chunks/8287406f2fe1c1c3.js +1 -0
  332. package/.next/standalone/packages/ui/.next/static/chunks/839e44eec90aa73d.js +60 -0
  333. package/.next/standalone/packages/ui/.next/static/chunks/85b2b8ec762b7c79.js +62 -0
  334. package/.next/standalone/packages/ui/.next/static/chunks/89a8f922ce491ce9.js +93 -0
  335. package/.next/standalone/packages/ui/.next/static/chunks/8ff23db3e3143bc7.js +5 -0
  336. package/.next/standalone/packages/ui/.next/static/chunks/942cf63b4032c808.js +29 -0
  337. package/.next/standalone/packages/ui/.next/static/chunks/95bd0faa6092d8ba.js +1 -0
  338. package/.next/standalone/packages/ui/.next/static/chunks/97bd44afaee5f129.js +1 -0
  339. package/.next/standalone/packages/ui/.next/static/chunks/97c8160044aea609.js +77 -0
  340. package/.next/standalone/packages/ui/.next/static/chunks/9d06bd5d701ace73.js +1 -0
  341. package/.next/standalone/packages/ui/.next/static/chunks/a0b34f852bfa3d1b.js +36 -0
  342. package/.next/standalone/packages/ui/.next/static/chunks/a1ca5af350378f72.js +1 -0
  343. package/.next/standalone/packages/ui/.next/static/chunks/af643629ba393b18.js +15 -0
  344. package/.next/standalone/packages/ui/.next/static/chunks/b6976cf6c48996e5.js +1 -0
  345. package/.next/standalone/packages/ui/.next/static/chunks/b6ffd44cbe740f15.js +1 -0
  346. package/.next/standalone/packages/ui/.next/static/chunks/b8353eb8c6fb895e.js +1 -0
  347. package/.next/standalone/packages/ui/.next/static/chunks/b845813463167db0.js +5 -0
  348. package/.next/standalone/packages/ui/.next/static/chunks/b900efab2eee69a0.js +15 -0
  349. package/.next/standalone/packages/ui/.next/static/chunks/bd9893e28f8f6a9a.css +1 -0
  350. package/.next/standalone/packages/ui/.next/static/chunks/c762baa705e11b30.js +1 -0
  351. package/.next/standalone/packages/ui/.next/static/chunks/cbfb9d957f708c08.js +1 -0
  352. package/.next/standalone/packages/ui/.next/static/chunks/cca4441cde342ae3.js +1 -0
  353. package/.next/standalone/packages/ui/.next/static/chunks/cf53882a2c15630f.js +1 -0
  354. package/.next/standalone/packages/ui/.next/static/chunks/d43971093c91d3b2.js +160 -0
  355. package/.next/standalone/packages/ui/.next/static/chunks/d784d84d5b880e48.js +1 -0
  356. package/.next/standalone/packages/ui/.next/static/chunks/db44023a744297d1.js +1 -0
  357. package/.next/standalone/packages/ui/.next/static/chunks/dbe7840308be36b8.js +1 -0
  358. package/.next/standalone/packages/ui/.next/static/chunks/dc0a4df8f7080b29.js +1 -0
  359. package/.next/standalone/packages/ui/.next/static/chunks/dd8e053aa48c6398.js +1 -0
  360. package/.next/standalone/packages/ui/.next/static/chunks/ddc7726e19e5e25c.js +43 -0
  361. package/.next/standalone/packages/ui/.next/static/chunks/df7e61b074dee049.js +152 -0
  362. package/.next/standalone/packages/ui/.next/static/chunks/e20849e3abe63aa5.js +55 -0
  363. package/.next/standalone/packages/ui/.next/static/chunks/e2792c100b4041a1.js +15 -0
  364. package/.next/standalone/packages/ui/.next/static/chunks/e2dce648399ad4d4.js +1 -0
  365. package/.next/standalone/packages/ui/.next/static/chunks/e3bc96a996e2a314.js +24 -0
  366. package/.next/standalone/packages/ui/.next/static/chunks/e5aab2c562822175.js +1 -0
  367. package/.next/standalone/packages/ui/.next/static/chunks/efbbc4dc4b32a270.js +4 -0
  368. package/.next/standalone/packages/ui/.next/static/chunks/f0376ba3b56dbf10.js +4 -0
  369. package/.next/standalone/packages/ui/.next/static/chunks/f88536b96f1df686.js +1 -0
  370. package/.next/standalone/packages/ui/.next/static/chunks/turbopack-5fa55215af0efb15.js +3 -0
  371. package/.next/standalone/packages/ui/leanspec.db +0 -0
  372. package/.next/standalone/packages/ui/package.json +2 -1
  373. package/.next/standalone/packages/ui/src/components/mermaid-diagram.test.ts +92 -0
  374. package/.next/standalone/packages/ui/src/components/mermaid-diagram.tsx +139 -0
  375. package/.next/standalone/packages/ui/src/components/spec-detail-client.tsx +22 -0
  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/3f4207bc02becc30.js +0 -1
  473. package/.next/standalone/packages/ui/.next/static/chunks/43bc30cd222b1e74.js +0 -3
  474. package/.next/standalone/packages/ui/.next/static/chunks/4a7396c9a77e64d5.js +0 -1
  475. package/.next/standalone/packages/ui/.next/static/chunks/50aead33b660f05c.js +0 -1
  476. package/.next/standalone/packages/ui/.next/static/chunks/571033caca823138.js +0 -1
  477. package/.next/standalone/packages/ui/.next/static/chunks/5c2072ad938de8ed.js +0 -1
  478. package/.next/standalone/packages/ui/.next/static/chunks/5f0014bb843d2f45.js +0 -1
  479. package/.next/standalone/packages/ui/.next/static/chunks/7e0dbfe036ccd85d.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/3f4207bc02becc30.js +0 -1
  499. package/.next/static/chunks/43bc30cd222b1e74.js +0 -3
  500. package/.next/static/chunks/4a7396c9a77e64d5.js +0 -1
  501. package/.next/static/chunks/50aead33b660f05c.js +0 -1
  502. package/.next/static/chunks/571033caca823138.js +0 -1
  503. package/.next/static/chunks/5c2072ad938de8ed.js +0 -1
  504. package/.next/static/chunks/5f0014bb843d2f45.js +0 -1
  505. package/.next/static/chunks/7e0dbfe036ccd85d.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/{iWGI_kVMs-xybaG9ZCyWK → WnsJTWzH-NbohZKhTwAkN}/_buildManifest.js +0 -0
  519. /package/.next/standalone/packages/ui/.next/static/{iWGI_kVMs-xybaG9ZCyWK → WnsJTWzH-NbohZKhTwAkN}/_clientMiddlewareManifest.json +0 -0
  520. /package/.next/standalone/packages/ui/.next/static/{iWGI_kVMs-xybaG9ZCyWK → WnsJTWzH-NbohZKhTwAkN}/_ssgManifest.js +0 -0
  521. /package/.next/static/{iWGI_kVMs-xybaG9ZCyWK → WnsJTWzH-NbohZKhTwAkN}/_buildManifest.js +0 -0
  522. /package/.next/static/{iWGI_kVMs-xybaG9ZCyWK → WnsJTWzH-NbohZKhTwAkN}/_clientMiddlewareManifest.json +0 -0
  523. /package/.next/static/{iWGI_kVMs-xybaG9ZCyWK → WnsJTWzH-NbohZKhTwAkN}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},84347,e=>{"use strict";var t=e.i(12714),r=e.i(50227),a=e.i(66680),i=e.i(60526),s=e.i(81347);let c=r.join((0,i.homedir)(),".lean-spec","projects.yaml"),o=new class{config=null;generateProjectId(e){return(0,a.createHash)("sha256").update(e).digest("hex").substring(0,12)}async loadConfig(){if(this.config)return this.config;try{let e=r.dirname(c);await t.mkdir(e,{recursive:!0});let a=await t.readFile(c,"utf-8"),i=s.default.load(a),o=(i.projects||[]).map(e=>({...e,lastAccessed:e.lastAccessed?new Date(e.lastAccessed):new Date}));this.config={projects:o,recentProjects:i.recentProjects||[]}}catch(e){if("ENOENT"===e.code)this.config={projects:[],recentProjects:[]};else throw e}return this.config}async saveConfig(){if(!this.config)return;let e=r.dirname(c);await t.mkdir(e,{recursive:!0});let a={projects:this.config.projects.map(e=>({...e,lastAccessed:e.lastAccessed.toISOString()})),recentProjects:this.config.recentProjects},i=s.default.dump(a,{indent:2,lineWidth:100});await t.writeFile(c,i,"utf-8")}async validateProject(e){try{let a,i,c=r.resolve(e);if(!(await t.stat(c)).isDirectory())return{isValid:!1,path:c,error:"Path is not a directory"};let o=r.join(c,".lean-spec"),n=r.join(c,"specs");try{await t.access(o);let e=r.join(o,"../specs");try{await t.access(e),a=e}catch{a=n}}catch{try{await t.access(n),a=n}catch{return{isValid:!1,path:c,error:"No .lean-spec directory or specs directory found"}}}let l=r.basename(c);try{let e=r.join(c,"leanspec.yaml"),a=await t.readFile(e,"utf-8"),o=s.default.load(a);o.name&&(l=o.name),o.description&&(i=o.description)}catch{try{let e=r.join(c,"package.json"),a=await t.readFile(e,"utf-8"),s=JSON.parse(a);s.name&&(l=s.name),s.description&&(i=s.description)}catch{}}return{isValid:!0,path:c,specsDir:r.resolve(a),name:l,description:i}}catch(t){return{isValid:!1,path:e,error:t instanceof Error?t.message:"Unknown error"}}}async addProject(e,t){let r=await this.validateProject(e);if(!r.isValid)throw Error(`Invalid project: ${r.error}`);let a=await this.loadConfig(),i=this.generateProjectId(r.path),s=a.projects.findIndex(e=>e.id===i),c={id:i,name:r.name,path:r.path,specsDir:r.specsDir,lastAccessed:new Date,favorite:t?.favorite||!1,color:t?.color,description:r.description};return s>=0?a.projects[s]=c:a.projects.push(c),this.updateRecentProjects(a,i),await this.saveConfig(),c}async removeProject(e){let t=await this.loadConfig();t.projects=t.projects.filter(t=>t.id!==e),t.recentProjects=t.recentProjects.filter(t=>t!==e),await this.saveConfig()}async getProject(e){return(await this.loadConfig()).projects.find(t=>t.id===e)||null}async findProjectRoot(e){let a=r.resolve(e),{root:i}=r.parse(a);for(;;){let e=r.join(a,".lean-spec");try{return await t.access(e),a}catch{}if(a===i)break;a=r.dirname(a)}return null}async getProjects(){let e=await this.loadConfig();if(0===e.projects.length){let e=await this.findProjectRoot(process.cwd());if(e)try{return[await this.addProject(e)]}catch(e){console.warn("Failed to auto-add default project:",e)}}return e.projects}async touchProject(e){let t=await this.loadConfig(),r=t.projects.find(t=>t.id===e);r&&(r.lastAccessed=new Date,this.updateRecentProjects(t,e),await this.saveConfig())}async toggleFavorite(e){let t=(await this.loadConfig()).projects.find(t=>t.id===e);if(!t)throw Error("Project not found");return t.favorite=!t.favorite,await this.saveConfig(),t.favorite}async updateProject(e,t){let r=(await this.loadConfig()).projects.find(t=>t.id===e);if(!r)throw Error("Project not found");return Object.assign(r,t),await this.saveConfig(),r}async discoverProjects(e,a=3){let i=[],s=this;async function c(e,o){if(!(o>a))try{for(let a of(await t.readdir(e,{withFileTypes:!0}))){if(!a.isDirectory()||"node_modules"===a.name||".git"===a.name||a.name.startsWith("."))continue;let t=r.join(e,a.name),n=await s.validateProject(t);n.isValid?i.push(n):await c(t,o+1)}}catch(e){}}return await c(e,0),i}async listDirectory(e=(0,i.homedir)()){try{let a=r.resolve(e),i=(await t.readdir(a,{withFileTypes:!0})).filter(e=>e.isDirectory()&&!e.name.startsWith(".")).map(e=>({name:e.name,path:r.join(a,e.name),isDirectory:!0})).sort((e,t)=>e.name.localeCompare(t.name)),s=r.dirname(a);return s!==a&&i.unshift({name:"..",path:s,isDirectory:!0}),i}catch(e){throw Error(`Failed to list directory: ${e.message}`)}}async getRecentProjects(e=10){let t=await this.loadConfig();return t.recentProjects.slice(0,e).map(e=>t.projects.find(t=>t.id===e)).filter(e=>void 0!==e)}async getFavoriteProjects(){return(await this.loadConfig()).projects.filter(e=>e.favorite)}updateRecentProjects(e,t){e.recentProjects=e.recentProjects.filter(e=>e!==t),e.recentProjects.unshift(t),e.recentProjects=e.recentProjects.slice(0,10)}invalidateCache(){this.config=null}};e.s(["projectRegistry",0,o])},89213,e=>{"use strict";e.i(84347),e.s([],89213)},44271,e=>{"use strict";var t=e.i(12714),r=e.i(50227),a=e.i(92194);let i=parseInt(process.env.CACHE_TTL||"60000",10);class s{cache=new Map;specsDir;constructor(e){this.specsDir=e||r.join(process.cwd(),"../../specs")}async getAllSpecs(){let e="__all_specs__",t=this.cache.get(e);if(t&&Date.now()<t.expiresAt)return t.data;let r=await this.loadSpecsFromFilesystem();return this.cache.set(e,{data:r,expiresAt:Date.now()+i}),r}async getSpec(e){let t=`spec:${e}`,r=this.cache.get(t);if(r&&Date.now()<r.expiresAt)return r.data;let a=parseInt(e.split("-")[0],10);if(isNaN(a))return null;let s=await this.loadSpecByNumber(a);return s&&this.cache.set(t,{data:s,expiresAt:Date.now()+i}),s}async getSpecsByStatus(e){return(await this.getAllSpecs()).filter(t=>t.status===e)}async searchSpecs(e){let t=await this.getAllSpecs(),r=e.toLowerCase();return t.filter(e=>e.specName.toLowerCase().includes(r)||e.title?.toLowerCase().includes(r)||e.contentMd.toLowerCase().includes(r))}invalidateCache(e){e?(this.cache.delete(`spec:${e}`),this.cache.delete("__all_specs__")):this.cache.clear()}async loadSpecsFromFilesystem(){let e=[];try{await t.access(this.specsDir)}catch{return[]}let a=/^(\d{2,})-/;for(let i of(await t.readdir(this.specsDir,{withFileTypes:!0})))if(i.isDirectory()){if("archived"===i.name){let i=r.join(this.specsDir,"archived");for(let s of(await t.readdir(i,{withFileTypes:!0})))if(s.isDirectory()&&a.test(s.name)){let t=r.join(i,s.name),a=await this.loadSpecFromDirectory(t,s.name,!0);a&&e.push(a)}continue}if(a.test(i.name)){let t=r.join(this.specsDir,i.name),a=await this.loadSpecFromDirectory(t,i.name,!1);a&&e.push(a)}}return e.sort((e,t)=>(e.specNumber||0)-(t.specNumber||0))}async loadSpecByNumber(e){try{await t.access(this.specsDir)}catch{return null}let a=await t.readdir(this.specsDir,{withFileTypes:!0}),i=RegExp(`^0*${e}-`);for(let e of a)if(e.isDirectory()&&"archived"!==e.name&&i.test(e.name)){let t=r.join(this.specsDir,e.name);return await this.loadSpecFromDirectory(t,e.name,!1)}try{let e=r.join(this.specsDir,"archived");for(let a of(await t.readdir(e,{withFileTypes:!0})))if(a.isDirectory()&&i.test(a.name)){let t=r.join(e,a.name);return await this.loadSpecFromDirectory(t,a.name,!0)}}catch{}return null}async loadSpecFromDirectory(e,i,s=!1){let c=r.join(e,"README.md");try{let e=await t.readFile(c,"utf-8"),{data:r,content:o}=(0,a.default)(e);if(!r||!r.status)return null;let n=i.match(/^(\d+)/),l=n?parseInt(n[1],10):null,d=`fs-${i}`,u=r.created_at??r.created,p=r.updated_at??r.updated,h=r.completed_at??r.completed,f=e=>{if(!e)return null;let t=new Date(e);return isNaN(t.getTime())?null:t},w=`${s?"specs/archived/":"specs/"}${i}/README.md`;return{id:d,projectId:"leanspec",specNumber:l,specName:i,title:this.extractTitle(o),status:r.status||"planned",priority:r.priority||null,tags:r.tags?JSON.stringify(r.tags):null,assignee:r.assignee||null,contentMd:o,contentHtml:null,createdAt:f(u),updatedAt:f(p),completedAt:f(h),filePath:w,githubUrl:`https://github.com/codervisor/lean-spec/tree/main/${w}`,syncedAt:new Date}}catch{return null}}extractTitle(e){for(let t of e.split("\n")){let e=t.match(/^#\s+(.+)$/);if(e)return e[1].trim()}return null}}e.i(89213);var c=e.i(84347);let o=parseInt(process.env.CACHE_TTL||"60000",10);class n{cache=new Map;async getAllSpecs(e){if(!e)return[];let t=`project:${e}:all`,r=this.cache.get(t);if(r&&Date.now()<r.expiresAt)return r.data;let a=await c.projectRegistry.getProject(e);if(!a)throw Error(`Project not found: ${e}`);let i=await this.loadSpecsFromDirectory(a.specsDir,e);return this.cache.set(t,{data:i,expiresAt:Date.now()+o}),i}async getSpec(e,t){if(!t)return null;let r=`project:${t}:spec:${e}`,a=this.cache.get(r);if(a&&Date.now()<a.expiresAt)return a.data;let i=await c.projectRegistry.getProject(t);if(!i)throw Error(`Project not found: ${t}`);let s=parseInt(e.split("-")[0],10);if(isNaN(s))return null;let n=await this.loadSpecByNumber(i.specsDir,s,t);return n&&this.cache.set(r,{data:n,expiresAt:Date.now()+o}),n}async getSpecsByStatus(e,t){return(await this.getAllSpecs(t)).filter(t=>t.status===e)}async searchSpecs(e,t){let r=await this.getAllSpecs(t),a=e.toLowerCase();return r.filter(e=>e.specName.toLowerCase().includes(a)||e.title?.toLowerCase().includes(a)||e.contentMd.toLowerCase().includes(a))}invalidateCache(e){if(e)for(let t of this.cache.keys())t.includes(`:spec:${e}`)&&this.cache.delete(t);else this.cache.clear()}async loadSpecsFromDirectory(e,a){try{let i=await t.readdir(e,{withFileTypes:!0}),s=[];for(let c of i){if(!c.isDirectory())continue;let i=c.name.match(/^(\d+)-(.+)$/);if(!i)continue;let o=parseInt(i[1],10),n=i[2],l=r.join(e,c.name),d=r.join(l,"README.md");try{let e=await t.readFile(d,"utf-8"),r=this.parseSpec(e,o,n,d,a);r&&s.push(r)}catch(e){console.warn(`Failed to read spec ${c.name}:`,e)}}return s.sort((e,t)=>(e.specNumber||0)-(t.specNumber||0))}catch(t){return console.error(`Error loading specs from ${e}:`,t),[]}}async loadSpecByNumber(e,a,i){try{for(let s of(await t.readdir(e,{withFileTypes:!0}))){if(!s.isDirectory())continue;let c=s.name.match(/^(\d+)-(.+)$/);if(c&&parseInt(c[1],10)===a){let o=c[2],n=r.join(e,s.name),l=r.join(n,"README.md"),d=await t.readFile(l,"utf-8");return this.parseSpec(d,a,o,l,i)}}return null}catch(e){return console.error(`Error loading spec ${a}:`,e),null}}parseSpec(e,t,r,i,s){try{let{data:c,content:o}=(0,a.default)(e),n=o.match(/^#\s+(.+)$/m),l=n?n[1]:c.title||r;return{id:`${s}:${t.toString().padStart(3,"0")}`,projectId:s,specNumber:t,specName:r,title:l,status:c.status,priority:c.priority,tags:c.tags?JSON.stringify(c.tags):null,assignee:c.assignee||null,contentMd:e,contentHtml:null,createdAt:c.created_at?new Date(c.created_at):null,updatedAt:c.updated_at?new Date(c.updated_at):null,completedAt:c.completed_at?new Date(c.completed_at):null,filePath:i,githubUrl:null,syncedAt:new Date}}catch(e){return console.error(`Error parsing spec ${r}:`,e),null}}}let l=null,d=new class{filesystemSource;multiProjectSource;databaseSource;mode;constructor(){if(this.mode=process.env.SPECS_MODE||"filesystem","filesystem"===this.mode||"both"===this.mode){const e=process.env.SPECS_DIR;this.filesystemSource=new s(e)}"multi-project"===this.mode&&(this.multiProjectSource=new n)}async getDatabaseSource(){if(!this.databaseSource){if(!l){let{DatabaseSource:t}=await e.A(14430);l=t}this.databaseSource=new l}return this.databaseSource}async getAllSpecs(e){let t=await this.getSource(e);return await t.getAllSpecs(e)}async getSpec(e,t){let r=await this.getSource(t);return await r.getSpec(e,t)}async getSpecsByStatus(e,t){let r=await this.getSource(t);return await r.getSpecsByStatus(e,t)}async searchSpecs(e,t){let r=await this.getSource(t);return await r.searchSpecs(e,t)}async invalidateCache(e,t){(await this.getSource(t)).invalidateCache(e)}async getSource(e){if("multi-project"===this.mode&&this.multiProjectSource)return this.multiProjectSource;if(e&&("database"===this.mode||"both"===this.mode))return await this.getDatabaseSource();if(this.filesystemSource)return this.filesystemSource;throw Error("No spec source configured")}};e.s(["specsService",0,d],44271)}];
1
+ module.exports=[193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},84347,e=>{"use strict";var t=e.i(912714),r=e.i(750227),a=e.i(666680),i=e.i(660526),s=e.i(481347);let c=r.join((0,i.homedir)(),".lean-spec","projects.yaml"),o=new class{config=null;generateProjectId(e){return(0,a.createHash)("sha256").update(e).digest("hex").substring(0,12)}async loadConfig(){if(this.config)return this.config;try{let e=r.dirname(c);await t.mkdir(e,{recursive:!0});let a=await t.readFile(c,"utf-8"),i=s.default.load(a),o=(i.projects||[]).map(e=>({...e,lastAccessed:e.lastAccessed?new Date(e.lastAccessed):new Date}));this.config={projects:o,recentProjects:i.recentProjects||[]}}catch(e){if("ENOENT"===e.code)this.config={projects:[],recentProjects:[]};else throw e}return this.config}async saveConfig(){if(!this.config)return;let e=r.dirname(c);await t.mkdir(e,{recursive:!0});let a={projects:this.config.projects.map(e=>({...e,lastAccessed:e.lastAccessed.toISOString()})),recentProjects:this.config.recentProjects},i=s.default.dump(a,{indent:2,lineWidth:100});await t.writeFile(c,i,"utf-8")}async validateProject(e){try{let a,i,c=r.resolve(e);if(!(await t.stat(c)).isDirectory())return{isValid:!1,path:c,error:"Path is not a directory"};let o=r.join(c,".lean-spec"),n=r.join(c,"specs");try{await t.access(o);let e=r.join(o,"../specs");try{await t.access(e),a=e}catch{a=n}}catch{try{await t.access(n),a=n}catch{return{isValid:!1,path:c,error:"No .lean-spec directory or specs directory found"}}}let l=r.basename(c);try{let e=r.join(c,"leanspec.yaml"),a=await t.readFile(e,"utf-8"),o=s.default.load(a);o.name&&(l=o.name),o.description&&(i=o.description)}catch{try{let e=r.join(c,"package.json"),a=await t.readFile(e,"utf-8"),s=JSON.parse(a);s.name&&(l=s.name),s.description&&(i=s.description)}catch{}}return{isValid:!0,path:c,specsDir:r.resolve(a),name:l,description:i}}catch(t){return{isValid:!1,path:e,error:t instanceof Error?t.message:"Unknown error"}}}async addProject(e,t){let r=await this.validateProject(e);if(!r.isValid)throw Error(`Invalid project: ${r.error}`);let a=await this.loadConfig(),i=this.generateProjectId(r.path),s=a.projects.findIndex(e=>e.id===i),c={id:i,name:r.name,path:r.path,specsDir:r.specsDir,lastAccessed:new Date,favorite:t?.favorite||!1,color:t?.color,description:r.description};return s>=0?a.projects[s]=c:a.projects.push(c),this.updateRecentProjects(a,i),await this.saveConfig(),c}async removeProject(e){let t=await this.loadConfig();t.projects=t.projects.filter(t=>t.id!==e),t.recentProjects=t.recentProjects.filter(t=>t!==e),await this.saveConfig()}async getProject(e){return(await this.loadConfig()).projects.find(t=>t.id===e)||null}async findProjectRoot(e){let a=r.resolve(e),{root:i}=r.parse(a);for(;;){let e=r.join(a,".lean-spec");try{return await t.access(e),a}catch{}if(a===i)break;a=r.dirname(a)}return null}async getProjects(){let e=await this.loadConfig();if(0===e.projects.length){let e=await this.findProjectRoot(process.cwd());if(e)try{return[await this.addProject(e)]}catch(e){console.warn("Failed to auto-add default project:",e)}}return e.projects}async touchProject(e){let t=await this.loadConfig(),r=t.projects.find(t=>t.id===e);r&&(r.lastAccessed=new Date,this.updateRecentProjects(t,e),await this.saveConfig())}async toggleFavorite(e){let t=(await this.loadConfig()).projects.find(t=>t.id===e);if(!t)throw Error("Project not found");return t.favorite=!t.favorite,await this.saveConfig(),t.favorite}async updateProject(e,t){let r=(await this.loadConfig()).projects.find(t=>t.id===e);if(!r)throw Error("Project not found");return Object.assign(r,t),await this.saveConfig(),r}async discoverProjects(e,a=3){let i=[],s=this;async function c(e,o){if(!(o>a))try{for(let a of(await t.readdir(e,{withFileTypes:!0}))){if(!a.isDirectory()||"node_modules"===a.name||".git"===a.name||a.name.startsWith("."))continue;let t=r.join(e,a.name),n=await s.validateProject(t);n.isValid?i.push(n):await c(t,o+1)}}catch(e){}}return await c(e,0),i}async listDirectory(e=(0,i.homedir)()){try{let a=r.resolve(e),i=(await t.readdir(a,{withFileTypes:!0})).filter(e=>e.isDirectory()&&!e.name.startsWith(".")).map(e=>({name:e.name,path:r.join(a,e.name),isDirectory:!0})).sort((e,t)=>e.name.localeCompare(t.name)),s=r.dirname(a);return s!==a&&i.unshift({name:"..",path:s,isDirectory:!0}),i}catch(e){throw Error(`Failed to list directory: ${e.message}`)}}async getRecentProjects(e=10){let t=await this.loadConfig();return t.recentProjects.slice(0,e).map(e=>t.projects.find(t=>t.id===e)).filter(e=>void 0!==e)}async getFavoriteProjects(){return(await this.loadConfig()).projects.filter(e=>e.favorite)}updateRecentProjects(e,t){e.recentProjects=e.recentProjects.filter(e=>e!==t),e.recentProjects.unshift(t),e.recentProjects=e.recentProjects.slice(0,10)}invalidateCache(){this.config=null}};e.s(["projectRegistry",0,o])},789213,e=>{"use strict";e.i(84347),e.s([],789213)},344271,e=>{"use strict";var t=e.i(912714),r=e.i(750227),a=e.i(392194);let i=parseInt(process.env.CACHE_TTL||"60000",10);class s{cache=new Map;specsDir;constructor(e){this.specsDir=e||r.join(process.cwd(),"../../specs")}async getAllSpecs(){let e="__all_specs__",t=this.cache.get(e);if(t&&Date.now()<t.expiresAt)return t.data;let r=await this.loadSpecsFromFilesystem();return this.cache.set(e,{data:r,expiresAt:Date.now()+i}),r}async getSpec(e){let t=`spec:${e}`,r=this.cache.get(t);if(r&&Date.now()<r.expiresAt)return r.data;let a=parseInt(e.split("-")[0],10);if(isNaN(a))return null;let s=await this.loadSpecByNumber(a);return s&&this.cache.set(t,{data:s,expiresAt:Date.now()+i}),s}async getSpecsByStatus(e){return(await this.getAllSpecs()).filter(t=>t.status===e)}async searchSpecs(e){let t=await this.getAllSpecs(),r=e.toLowerCase();return t.filter(e=>e.specName.toLowerCase().includes(r)||e.title?.toLowerCase().includes(r)||e.contentMd.toLowerCase().includes(r))}invalidateCache(e){e?(this.cache.delete(`spec:${e}`),this.cache.delete("__all_specs__")):this.cache.clear()}async loadSpecsFromFilesystem(){let e=[];try{await t.access(this.specsDir)}catch{return[]}let a=/^(\d{2,})-/;for(let i of(await t.readdir(this.specsDir,{withFileTypes:!0})))if(i.isDirectory()){if("archived"===i.name){let i=r.join(this.specsDir,"archived");for(let s of(await t.readdir(i,{withFileTypes:!0})))if(s.isDirectory()&&a.test(s.name)){let t=r.join(i,s.name),a=await this.loadSpecFromDirectory(t,s.name,!0);a&&e.push(a)}continue}if(a.test(i.name)){let t=r.join(this.specsDir,i.name),a=await this.loadSpecFromDirectory(t,i.name,!1);a&&e.push(a)}}return e.sort((e,t)=>(e.specNumber||0)-(t.specNumber||0))}async loadSpecByNumber(e){try{await t.access(this.specsDir)}catch{return null}let a=await t.readdir(this.specsDir,{withFileTypes:!0}),i=RegExp(`^0*${e}-`);for(let e of a)if(e.isDirectory()&&"archived"!==e.name&&i.test(e.name)){let t=r.join(this.specsDir,e.name);return await this.loadSpecFromDirectory(t,e.name,!1)}try{let e=r.join(this.specsDir,"archived");for(let a of(await t.readdir(e,{withFileTypes:!0})))if(a.isDirectory()&&i.test(a.name)){let t=r.join(e,a.name);return await this.loadSpecFromDirectory(t,a.name,!0)}}catch{}return null}async loadSpecFromDirectory(e,i,s=!1){let c=r.join(e,"README.md");try{let e=await t.readFile(c,"utf-8"),{data:r,content:o}=(0,a.default)(e);if(!r||!r.status)return null;let n=i.match(/^(\d+)/),l=n?parseInt(n[1],10):null,d=`fs-${i}`,u=r.created_at??r.created,p=r.updated_at??r.updated,h=r.completed_at??r.completed,f=e=>{if(!e)return null;let t=new Date(e);return isNaN(t.getTime())?null:t},w=`${s?"specs/archived/":"specs/"}${i}/README.md`;return{id:d,projectId:"leanspec",specNumber:l,specName:i,title:this.extractTitle(o),status:r.status||"planned",priority:r.priority||null,tags:r.tags?JSON.stringify(r.tags):null,assignee:r.assignee||null,contentMd:o,contentHtml:null,createdAt:f(u),updatedAt:f(p),completedAt:f(h),filePath:w,githubUrl:`https://github.com/codervisor/lean-spec/tree/main/${w}`,syncedAt:new Date}}catch{return null}}extractTitle(e){for(let t of e.split("\n")){let e=t.match(/^#\s+(.+)$/);if(e)return e[1].trim()}return null}}e.i(789213);var c=e.i(84347);let o=parseInt(process.env.CACHE_TTL||"60000",10);class n{cache=new Map;async getAllSpecs(e){if(!e)return[];let t=`project:${e}:all`,r=this.cache.get(t);if(r&&Date.now()<r.expiresAt)return r.data;let a=await c.projectRegistry.getProject(e);if(!a)throw Error(`Project not found: ${e}`);let i=await this.loadSpecsFromDirectory(a.specsDir,e);return this.cache.set(t,{data:i,expiresAt:Date.now()+o}),i}async getSpec(e,t){if(!t)return null;let r=`project:${t}:spec:${e}`,a=this.cache.get(r);if(a&&Date.now()<a.expiresAt)return a.data;let i=await c.projectRegistry.getProject(t);if(!i)throw Error(`Project not found: ${t}`);let s=parseInt(e.split("-")[0],10);if(isNaN(s))return null;let n=await this.loadSpecByNumber(i.specsDir,s,t);return n&&this.cache.set(r,{data:n,expiresAt:Date.now()+o}),n}async getSpecsByStatus(e,t){return(await this.getAllSpecs(t)).filter(t=>t.status===e)}async searchSpecs(e,t){let r=await this.getAllSpecs(t),a=e.toLowerCase();return r.filter(e=>e.specName.toLowerCase().includes(a)||e.title?.toLowerCase().includes(a)||e.contentMd.toLowerCase().includes(a))}invalidateCache(e){if(e)for(let t of this.cache.keys())t.includes(`:spec:${e}`)&&this.cache.delete(t);else this.cache.clear()}async loadSpecsFromDirectory(e,a){try{let i=await t.readdir(e,{withFileTypes:!0}),s=[];for(let c of i){if(!c.isDirectory())continue;let i=c.name.match(/^(\d+)-(.+)$/);if(!i)continue;let o=parseInt(i[1],10),n=i[2],l=r.join(e,c.name),d=r.join(l,"README.md");try{let e=await t.readFile(d,"utf-8"),r=this.parseSpec(e,o,n,d,a);r&&s.push(r)}catch(e){console.warn(`Failed to read spec ${c.name}:`,e)}}return s.sort((e,t)=>(e.specNumber||0)-(t.specNumber||0))}catch(t){return console.error(`Error loading specs from ${e}:`,t),[]}}async loadSpecByNumber(e,a,i){try{for(let s of(await t.readdir(e,{withFileTypes:!0}))){if(!s.isDirectory())continue;let c=s.name.match(/^(\d+)-(.+)$/);if(c&&parseInt(c[1],10)===a){let o=c[2],n=r.join(e,s.name),l=r.join(n,"README.md"),d=await t.readFile(l,"utf-8");return this.parseSpec(d,a,o,l,i)}}return null}catch(e){return console.error(`Error loading spec ${a}:`,e),null}}parseSpec(e,t,r,i,s){try{let{data:c,content:o}=(0,a.default)(e),n=o.match(/^#\s+(.+)$/m),l=n?n[1]:c.title||r;return{id:`${s}:${t.toString().padStart(3,"0")}`,projectId:s,specNumber:t,specName:r,title:l,status:c.status,priority:c.priority,tags:c.tags?JSON.stringify(c.tags):null,assignee:c.assignee||null,contentMd:e,contentHtml:null,createdAt:c.created_at?new Date(c.created_at):null,updatedAt:c.updated_at?new Date(c.updated_at):null,completedAt:c.completed_at?new Date(c.completed_at):null,filePath:i,githubUrl:null,syncedAt:new Date}}catch(e){return console.error(`Error parsing spec ${r}:`,e),null}}}let l=null,d=new class{filesystemSource;multiProjectSource;databaseSource;mode;constructor(){if(this.mode=process.env.SPECS_MODE||"filesystem","filesystem"===this.mode||"both"===this.mode){const e=process.env.SPECS_DIR;this.filesystemSource=new s(e)}"multi-project"===this.mode&&(this.multiProjectSource=new n)}async getDatabaseSource(){if(!this.databaseSource){if(!l){let{DatabaseSource:t}=await e.A(614430);l=t}this.databaseSource=new l}return this.databaseSource}async getAllSpecs(e){let t=await this.getSource(e);return await t.getAllSpecs(e)}async getSpec(e,t){let r=await this.getSource(t);return await r.getSpec(e,t)}async getSpecsByStatus(e,t){let r=await this.getSource(t);return await r.getSpecsByStatus(e,t)}async searchSpecs(e,t){let r=await this.getSource(t);return await r.searchSpecs(e,t)}async invalidateCache(e,t){(await this.getSource(t)).invalidateCache(e)}async getSource(e){if("multi-project"===this.mode&&this.multiProjectSource)return this.multiProjectSource;if(e&&("database"===this.mode||"both"===this.mode))return await this.getDatabaseSource();if(this.filesystemSource)return this.filesystemSource;throw Error("No spec source configured")}};e.s(["specsService",0,d],344271)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__1f037512._.js.map