@leanspec/ui 0.2.6 → 0.2.7-dev.20251126090633

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (747) hide show
  1. package/.next/standalone/node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  2. package/.next/standalone/packages/ui/.next/BUILD_ID +1 -1
  3. package/.next/standalone/packages/ui/.next/build-manifest.json +8 -8
  4. package/.next/standalone/packages/ui/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/packages/ui/.next/required-server-files.json +10 -4
  6. package/.next/standalone/packages/ui/.next/server/app/_global-error/page/build-manifest.json +6 -6
  7. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js +2 -2
  8. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js.nft.json +1 -1
  9. package/.next/standalone/packages/ui/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/packages/ui/.next/server/app/_global-error.html +2 -2
  11. package/.next/standalone/packages/ui/.next/server/app/_global-error.rsc +7 -7
  12. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  13. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  14. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  15. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +3 -3
  16. package/.next/standalone/packages/ui/.next/server/app/_not-found/page/build-manifest.json +6 -6
  17. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js +2 -2
  18. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js.nft.json +1 -1
  19. package/.next/standalone/packages/ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/packages/ui/.next/server/app/_not-found.html +2 -2
  21. package/.next/standalone/packages/ui/.next/server/app/_not-found.rsc +19 -19
  22. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +19 -19
  23. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +12 -12
  24. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  25. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  26. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +5 -5
  27. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js.nft.json +1 -1
  28. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js +2 -2
  29. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js.nft.json +1 -1
  30. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js +2 -2
  31. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js.nft.json +1 -1
  32. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js +2 -2
  33. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js.nft.json +1 -1
  34. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  35. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js +2 -2
  36. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js.nft.json +1 -1
  37. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js.nft.json +1 -1
  38. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js +2 -2
  39. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
  40. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js.nft.json +1 -1
  41. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js +2 -2
  42. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js.nft.json +1 -1
  43. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js +2 -2
  44. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js.nft.json +1 -1
  45. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js +2 -2
  46. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
  47. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js +2 -2
  48. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js.nft.json +1 -1
  49. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js +2 -2
  50. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js.nft.json +1 -1
  51. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js +2 -2
  52. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
  53. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js +2 -2
  54. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js.nft.json +1 -1
  55. package/.next/standalone/packages/ui/.next/server/app/page/build-manifest.json +6 -6
  56. package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
  57. package/.next/standalone/packages/ui/.next/server/app/page_client-reference-manifest.js +1 -1
  58. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page/build-manifest.json +6 -6
  59. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js +2 -2
  60. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.nft.json +1 -1
  61. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +1 -1
  62. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/build-manifest.json +6 -6
  63. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js +2 -2
  64. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.nft.json +1 -1
  65. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page_client-reference-manifest.js +1 -1
  66. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/build-manifest.json +6 -6
  67. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js +2 -2
  68. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.nft.json +1 -1
  69. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page_client-reference-manifest.js +1 -1
  70. package/.next/standalone/packages/ui/.next/server/app/projects/page/build-manifest.json +6 -6
  71. package/.next/standalone/packages/ui/.next/server/app/projects/page.js +2 -2
  72. package/.next/standalone/packages/ui/.next/server/app/projects/page.js.nft.json +1 -1
  73. package/.next/standalone/packages/ui/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  74. package/.next/standalone/packages/ui/.next/server/app/projects.html +2 -2
  75. package/.next/standalone/packages/ui/.next/server/app/projects.rsc +28 -29
  76. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +28 -29
  77. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +12 -12
  78. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_tree.segment.rsc +5 -5
  79. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +4 -4
  80. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects.segment.rsc +3 -3
  81. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page/build-manifest.json +6 -6
  82. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js +2 -2
  83. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js.nft.json +1 -1
  84. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
  85. package/.next/standalone/packages/ui/.next/server/app/specs/page/build-manifest.json +6 -6
  86. package/.next/standalone/packages/ui/.next/server/app/specs/page.js +2 -2
  87. package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
  88. package/.next/standalone/packages/ui/.next/server/app/specs/page_client-reference-manifest.js +1 -1
  89. package/.next/standalone/packages/ui/.next/server/app/stats/page/build-manifest.json +6 -6
  90. package/.next/standalone/packages/ui/.next/server/app/stats/page.js +2 -2
  91. package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
  92. package/.next/standalone/packages/ui/.next/server/app/stats/page_client-reference-manifest.js +1 -1
  93. package/.next/standalone/packages/ui/.next/server/chunks/6681a__next-internal_server_app_api_specs_[id]_subspecs_[file]_route_actions_556a9993.js +1 -1
  94. package/.next/standalone/packages/ui/.next/server/chunks/6e9bd_next_952b10e2._.js +2 -2
  95. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_local-projects_[id]_route_actions_664abe9c.js +1 -1
  96. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_local-projects_discover_route_actions_e6ec3fa7.js +1 -1
  97. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_specs_route_actions_6d03fd1f.js +1 -1
  98. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_stats_route_actions_a0bb04a8.js +1 -1
  99. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_specs_[id]_status_route_actions_5d700407.js +1 -1
  100. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0fbfea15._.js +1 -1
  101. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__126dea7b._.js +1 -1
  102. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__1f037512._.js +1 -1
  103. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3559376c._.js +4 -4
  104. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__548e27d4._.js +1 -1
  105. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__65667b70._.js +1 -1
  106. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__675a763e._.js +1 -1
  107. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__803d07f0._.js +1 -1
  108. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8075fe29._.js +1 -1
  109. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8233e09b._.js +1 -1
  110. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__84cdc14a._.js +1 -1
  111. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9ce722b4._.js +1 -1
  112. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__a2d7cbed._.js +1 -1
  113. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__aa677b0d._.js +1 -1
  114. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__ac744182._.js +1 -1
  115. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__ae726e9c._.js +1 -1
  116. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bb9fca84._.js +2 -2
  117. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bdc3963a._.js +1 -1
  118. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f06435b0._.js +1 -1
  119. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f5c6d6b8._.js +1 -1
  120. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__fb91986f._.js +1 -1
  121. package/.next/standalone/packages/ui/.next/server/chunks/e0876_tiktoken_3efea2dc._.js +1 -1
  122. package/.next/standalone/packages/ui/.next/server/chunks/f825c_server_app_api_local-projects_list-directory_route_actions_d620ec1a.js +1 -1
  123. package/.next/standalone/packages/ui/.next/server/chunks/f825c_server_app_api_projects_[id]_specs_[spec]_status_route_actions_e9f1bdc5.js +1 -1
  124. package/.next/standalone/packages/ui/.next/server/chunks/node_modules__pnpm_731b55aa._.js +1 -1
  125. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_local-projects_route_actions_9142d5ad.js +1 -1
  126. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_projects_route_actions_73e4c2a1.js +1 -1
  127. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_revalidate_route_actions_a8bf21b5.js +1 -1
  128. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_specs_[id]_route_actions_0793bd75.js +1 -1
  129. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_stats_route_actions_8e042245.js +1 -1
  130. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_db_index_ts_556307fa._.js +4 -4
  131. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_0bd881ee._.js +1 -1
  132. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_baa0160d._.js +1 -1
  133. package/.next/standalone/packages/ui/.next/server/chunks/ssr/1ce3b_dagre-d3-es_src_dagre_index_f9cad90b.js +3 -0
  134. package/.next/standalone/packages/ui/.next/server/chunks/ssr/38a22_sonner_dist_index_mjs_207730fe._.js +1 -1
  135. package/.next/standalone/packages/ui/.next/server/chunks/ssr/4e76f_cytoscape_dist_cytoscape_esm_mjs_56d6d0a1._.js +3 -0
  136. package/.next/standalone/packages/ui/.next/server/chunks/ssr/54964_d3-scale_src_c504aad0._.js +3 -0
  137. package/.next/standalone/packages/ui/.next/server/chunks/ssr/54964_d3-scale_src_linear_5b8914dd.js +3 -0
  138. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_057c0674._.js +3 -0
  139. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_4b57a3a3._.js +3 -0
  140. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_4d3de843._.js +3 -0
  141. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_5f3103e1._.js +3 -0
  142. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_bcc35893._.js +3 -0
  143. package/.next/standalone/packages/ui/.next/server/chunks/ssr/641df_lodash-es_f2ef1919._.js +3 -0
  144. package/.next/standalone/packages/ui/.next/server/chunks/ssr/676f9_@mermaid-js_parser_dist_chunks_mermaid-parser_core_info-NVLQJR56_mjs_cc500a11._.js +3 -0
  145. package/.next/standalone/packages/ui/.next/server/chunks/ssr/676f9_@mermaid-js_parser_dist_chunks_mermaid-parser_core_packet-BFZMPI3H_mjs_06a9c7d7._.js +3 -0
  146. package/.next/standalone/packages/ui/.next/server/chunks/ssr/676f9_@mermaid-js_parser_dist_chunks_mermaid-parser_core_pie-7BOR55EZ_mjs_1167f1a1._.js +3 -0
  147. package/.next/standalone/packages/ui/.next/server/chunks/ssr/676f9_@mermaid-js_parser_dist_chunks_mermaid-parser_core_radar-NHE76QYJ_mjs_962e6256._.js +3 -0
  148. package/.next/standalone/packages/ui/.next/server/chunks/ssr/676f9_@mermaid-js_parser_dist_chunks_mermaid-parser_core_treemap-KMMF4GRG_mjs_a12f0fad._.js +3 -0
  149. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_40720940._.js +2 -2
  150. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_1decfd3f._.js +1 -1
  151. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_69a12422._.js +2 -2
  152. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_7af75658._.js +1 -1
  153. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_client_components_0f429de8._.js +1 -1
  154. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_client_components_builtin_global-error_3666c25c.js +1 -1
  155. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_client_components_builtin_unauthorized_78af867c.js +1 -1
  156. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_df5dcbe9._.js +2 -2
  157. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_esm_25672c28._.js +2 -2
  158. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_esm_build_templates_app-page_4f278283.js +2 -2
  159. package/.next/standalone/packages/ui/.next/server/chunks/ssr/730ea_ui__next-internal_server_app_projects_[projectId]_specs_page_actions_82e32fe4.js +1 -1
  160. package/.next/standalone/packages/ui/.next/server/chunks/ssr/8b009_parser_dist_chunks_mermaid-parser_core_architecture-U656AL7Q_mjs_64f0e692._.js +3 -0
  161. package/.next/standalone/packages/ui/.next/server/chunks/ssr/8b009_parser_dist_chunks_mermaid-parser_core_gitGraph-F6HP7TQM_mjs_6383c425._.js +3 -0
  162. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_0b254b71._.js +3 -0
  163. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_8167bfdd._.js +17 -0
  164. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_blockDiagram-VD42YOAC_mjs_99bfbaf9._.js +119 -0
  165. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_c4Diagram-YG6GDRKO_mjs_0683be9f._.js +7 -0
  166. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_c5b1d4f9._.js +17 -0
  167. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-ABZYJK2D_mjs_4034a85b._.js +79 -0
  168. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-B4BG7PRW_mjs_3190ac39._.js +162 -0
  169. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-DI55MBZ5_mjs_2e49cdd9._.js +217 -0
  170. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-FMBD7UC4_mjs_69c9238e._.js +17 -0
  171. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-JA3XYJ7Z_mjs_4c9b0254._.js +62 -0
  172. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-JZLCHNYA_mjs_e1210981._.js +55 -0
  173. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-MI3HLSF2_mjs_4494daf0._.js +3 -0
  174. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-QXUST7PY_mjs_3e69582d._.js +9 -0
  175. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-S3R3BYOJ_mjs_0c8df0bf._.js +4 -0
  176. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_chunk-TZMSLE5B_mjs_72a0311f._.js +3 -0
  177. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_dagre-6UL2VRFP_mjs_2a0e551c._.js +3 -0
  178. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_diagram-PSM6KHXK_mjs_f109b802._.js +26 -0
  179. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_erDiagram-Q2GNP2WA_mjs_2956542e._.js +57 -0
  180. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_f71564d9._.js +3 -0
  181. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_ffd8fbee._.js +3 -0
  182. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_flowDiagram-NV44I4VS_mjs_c11db931._.js +154 -0
  183. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_gitGraphDiagram-NY62KEGX_mjs_fe41f076._.js +65 -0
  184. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_journeyDiagram-XKPGCS4Q_mjs_8b9c3e68._.js +136 -0
  185. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_kanban-definition-3W4ZIXB7_mjs_d8e6de34._.js +81 -0
  186. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_quadrantDiagram-AYHSOK5B_mjs_50c2110d._.js +3 -0
  187. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_requirementDiagram-UZGBJVZJ_mjs_8f86dea7._.js +61 -0
  188. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_sankeyDiagram-TZEHDZUN_mjs_9fa014df._.js +6 -0
  189. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_sequenceDiagram-WL72ISMW_mjs_4d5ee2b1._.js +138 -0
  190. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_stateDiagram-FKZM4ZOC_mjs_2bd67ce9._.js +3 -0
  191. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_timeline-definition-IT6M3QCI_mjs_96b04d43._.js +58 -0
  192. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_chunks_mermaid_core_xychartDiagram-PRI3JC2R_mjs_7eec04e0._.js +3 -0
  193. package/.next/standalone/packages/ui/.next/server/chunks/ssr/931bf_mermaid_dist_mermaid_core_mjs_1c407865._.js +9 -0
  194. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[externals]_better-sqlite3_a1cc22cb._.js +1 -1
  195. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__015fceb2._.js +1 -1
  196. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__01bfc8ff._.js +1 -1
  197. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__0f0dade1._.js +1 -1
  198. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__1d0c2012._.js +1 -1
  199. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__2977636f._.js +3 -3
  200. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__338c65fe._.js +1 -1
  201. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__4ec37765._.js +1 -1
  202. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__50122e7e._.js +1 -1
  203. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__5382b397._.js +1 -1
  204. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__73f60f12._.js +2 -2
  205. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__7f55abaa._.js +1 -1
  206. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__88a691ee._.js +1 -1
  207. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__8b019a26._.js +1 -1
  208. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a7ae8552._.js +2 -2
  209. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__bdbbba01._.js +1 -1
  210. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__cc589a54._.js +1 -1
  211. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__daee3355._.js +3 -0
  212. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__e4a2bcdd._.js +64 -0
  213. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__ec5b96a5._.js +1 -1
  214. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__fd80e4dd._.js +1 -1
  215. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_000dd317._.js +1 -1
  216. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_0f9ffe32._.js +3 -0
  217. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_14118969._.js +3 -0
  218. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_22274047._.js +3 -0
  219. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_39562b2a._.js +2 -2
  220. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3b617676._.js +1 -1
  221. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3fac7eca._.js +1 -1
  222. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_4129cc0f._.js +1 -1
  223. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_196b5a83._.js → _497c8b73._.js} +2 -2
  224. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_85effc18._.js +2 -2
  225. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_8f9656c4._.js +2 -2
  226. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_911f204b._.js +1 -1
  227. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ac867463._.js +3 -0
  228. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ad8c1e99._.js +1 -1
  229. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b6ac86b4._.js +3 -0
  230. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b9dc2415._.js +2 -2
  231. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_bae6d2b8._.js +2 -2
  232. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_c2f54661._.js +3 -3
  233. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f7344ef6._.js +2 -2
  234. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_fdd7780b._.js +2 -2
  235. package/.next/standalone/packages/ui/.next/server/chunks/ssr/c7b92_d3-shape_src_arc_9341f572.js +3 -0
  236. package/.next/standalone/packages/ui/.next/server/chunks/ssr/f0bdc_katex_dist_katex_mjs_27a6c950._.js +3 -0
  237. package/.next/standalone/packages/ui/.next/server/chunks/ssr/f825c_server_app_projects_[projectId]_specs_[specId]_page_actions_22d9c35e.js +1 -1
  238. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_03d68913._.js +62 -0
  239. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_1aec4342._.js +17 -0
  240. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_2a29db83._.js +3 -0
  241. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_3ba1438c._.js +3 -0
  242. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_472d6274._.js +3 -0
  243. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_50944832._.js +1 -1
  244. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_5237fdd7._.js +3 -0
  245. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_69372f5b._.js +3 -0
  246. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_76d4233c._.js +17 -0
  247. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_7791e3b8._.js +3 -0
  248. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_79befbed._.js +3 -0
  249. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_88c8b88b._.js +3 -0
  250. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_a01fbd8e._.js +3 -0
  251. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_a3f2a370._.js +3 -0
  252. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_ab5a8afc._.js +3 -0
  253. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b23175bb._.js +38 -0
  254. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b247a526._.js +264 -0
  255. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b5a3d3a5._.js +3 -0
  256. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_c17f27b1._.js +45 -0
  257. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_c22df304._.js +17 -0
  258. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_c766836f._.js +3 -0
  259. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_cb5a045f._.js +3 -0
  260. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_d8037b10._.js +3 -0
  261. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_e175b92a._.js +31 -0
  262. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_e440897f._.js +3 -0
  263. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_ea1bddc7._.js +3 -0
  264. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_f5b29533._.js +3 -0
  265. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_f732d0bb._.js +26 -0
  266. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app__global-error_page_actions_e9e4a8e1.js +1 -1
  267. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app__not-found_page_actions_428c805d.js +1 -1
  268. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_page_actions_f4c42a31.js +1 -1
  269. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_projects_[projectId]_page_actions_f2986585.js +1 -1
  270. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_projects_page_actions_715940ea.js +1 -1
  271. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_specs_[id]_page_actions_555bb544.js +1 -1
  272. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_specs_page_actions_b92ceb22.js +1 -1
  273. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_stats_page_actions_35d53654.js +1 -1
  274. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_19541980._.js +1 -1
  275. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_error_tsx_7bf5aa01._.js +1 -1
  276. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_error_tsx_d8203bfe._.js +1 -1
  277. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_loading_tsx_9304a706._.js +1 -1
  278. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_[projectId]_be242d6c._.js +1 -1
  279. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_[projectId]_project-context-syncer_tsx_7954ea3b._.js +1 -1
  280. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_page_tsx_6e166c8e._.js +1 -1
  281. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_specs_specs-client_tsx_0bb8f8f8._.js +1 -1
  282. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_specs-nav-sidebar_tsx_8237ed13._.js +1 -1
  283. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_ui_select_tsx_7e21d40f._.js +1 -1
  284. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_lib_specs_sources_database-source_ts_f7186c2a._.js +2 -2
  285. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_lib_utils_ts_259f88e4._.js +1 -1
  286. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_lib_utils_ts_c47f8e19._.js +1 -1
  287. package/.next/standalone/packages/ui/.next/server/middleware-build-manifest.js +6 -6
  288. package/.next/standalone/packages/ui/.next/server/pages/404.html +2 -2
  289. package/.next/standalone/packages/ui/.next/server/pages/500.html +2 -2
  290. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.js +1 -1
  291. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.json +1 -1
  292. package/.next/standalone/packages/ui/.next/static/chunks/038fb2d565c88582.js +2 -0
  293. package/.next/standalone/packages/ui/.next/static/chunks/0f108f65249f8820.js +19 -0
  294. package/.next/standalone/packages/ui/.next/static/chunks/1104de0c16e0b792.js +59 -0
  295. package/.next/standalone/packages/ui/.next/static/chunks/1490995adc7829e2.js +136 -0
  296. package/.next/standalone/packages/ui/.next/static/chunks/16b742746668b9d6.js +56 -0
  297. package/.next/standalone/packages/ui/.next/static/chunks/16ff9833ae1bb3ae.js +1 -0
  298. package/.next/standalone/packages/ui/.next/static/chunks/192b2f6118d057e2.js +60 -0
  299. package/.next/standalone/packages/ui/.next/static/chunks/1a910f137d27fff0.js +63 -0
  300. package/.next/standalone/packages/ui/.next/static/chunks/1f052e076ca9a3ff.js +1 -0
  301. package/.next/standalone/packages/ui/.next/static/chunks/20f4141ccb5d4eb4.js +1 -0
  302. package/.next/standalone/packages/ui/.next/static/chunks/2136b3131f74188f.js +1 -0
  303. package/.next/standalone/packages/ui/.next/static/chunks/2204c0f16b23ec4c.js +3 -0
  304. package/.next/standalone/packages/ui/.next/static/chunks/294dea6dbec43ca6.js +1 -0
  305. package/.next/standalone/packages/ui/.next/static/chunks/2a33b9246ea4be03.js +2 -0
  306. package/.next/standalone/packages/ui/.next/static/chunks/2c85b8059e42248a.js +1 -0
  307. package/.next/standalone/packages/ui/.next/static/chunks/305b74f3c20cb4ef.js +1 -0
  308. package/.next/standalone/packages/ui/.next/static/chunks/3276ca6fd9005903.js +13 -0
  309. package/.next/standalone/packages/ui/.next/static/chunks/37f2e45cf97245d9.js +117 -0
  310. package/.next/standalone/packages/ui/.next/static/chunks/39691fae9a3463fe.js +262 -0
  311. package/.next/standalone/packages/ui/.next/static/chunks/3b6b058ebd14dbed.js +1 -0
  312. package/.next/standalone/packages/ui/.next/static/chunks/3ed1465109fecc2d.js +1 -0
  313. package/.next/standalone/packages/ui/.next/static/chunks/3f94c1ef6e27c8bd.js +1 -0
  314. package/.next/standalone/packages/ui/.next/static/chunks/414a78f7b9b58d11.js +53 -0
  315. package/.next/standalone/packages/ui/.next/static/chunks/4e85dea329906168.js +1 -0
  316. package/.next/standalone/packages/ui/.next/static/chunks/525d6cb99a13c44a.js +215 -0
  317. package/.next/standalone/packages/ui/.next/static/chunks/5295f0e82fd2a6d3.js +24 -0
  318. package/.next/standalone/packages/ui/.next/static/chunks/567bc31005c31006.js +1 -0
  319. package/.next/standalone/packages/ui/.next/static/chunks/56894ea818ee2a54.js +1 -0
  320. package/.next/standalone/packages/ui/.next/static/chunks/569b4347ce55d973.js +1 -0
  321. package/.next/standalone/packages/ui/.next/static/chunks/5fffdea0623d8a25.js +1 -0
  322. package/.next/standalone/packages/ui/.next/static/chunks/642374ace530e2bd.js +1 -0
  323. package/.next/standalone/packages/ui/.next/static/chunks/64543dbd7a7a99b7.js +1 -0
  324. package/.next/standalone/packages/ui/.next/static/chunks/6483096c16d96f2c.js +15 -0
  325. package/.next/standalone/packages/ui/.next/static/chunks/66d3fa1af3ff1fbf.js +1 -0
  326. package/.next/standalone/packages/ui/.next/static/chunks/67a1d37727697340.js +1 -0
  327. package/.next/standalone/packages/ui/.next/static/chunks/6f3c460ef90843d6.js +215 -0
  328. package/.next/standalone/packages/ui/.next/static/chunks/6ff7b0a8653036b2.js +1 -0
  329. package/.next/standalone/packages/ui/.next/static/chunks/72dde43947381f78.js +1 -0
  330. package/.next/standalone/packages/ui/.next/static/chunks/7590e65bcaa41e8b.js +1 -0
  331. package/.next/standalone/packages/ui/.next/static/chunks/762fe8c3999a1965.js +1 -0
  332. package/.next/standalone/packages/ui/.next/static/chunks/794f3931f1ca12d2.js +1 -0
  333. package/.next/standalone/packages/ui/.next/static/chunks/7b70989270600907.js +148 -0
  334. package/.next/standalone/packages/ui/.next/static/chunks/8287406f2fe1c1c3.js +1 -0
  335. package/.next/standalone/packages/ui/.next/static/chunks/839e44eec90aa73d.js +60 -0
  336. package/.next/standalone/packages/ui/.next/static/chunks/85b2b8ec762b7c79.js +62 -0
  337. package/.next/standalone/packages/ui/.next/static/chunks/89a8f922ce491ce9.js +93 -0
  338. package/.next/standalone/packages/ui/.next/static/chunks/8ff23db3e3143bc7.js +5 -0
  339. package/.next/standalone/packages/ui/.next/static/chunks/942cf63b4032c808.js +29 -0
  340. package/.next/standalone/packages/ui/.next/static/chunks/95bd0faa6092d8ba.js +1 -0
  341. package/.next/standalone/packages/ui/.next/static/chunks/97bd44afaee5f129.js +1 -0
  342. package/.next/standalone/packages/ui/.next/static/chunks/97c8160044aea609.js +77 -0
  343. package/.next/standalone/packages/ui/.next/static/chunks/9d06bd5d701ace73.js +1 -0
  344. package/.next/standalone/packages/ui/.next/static/chunks/a0b34f852bfa3d1b.js +36 -0
  345. package/.next/standalone/packages/ui/.next/static/chunks/a1ca5af350378f72.js +1 -0
  346. package/.next/standalone/packages/ui/.next/static/chunks/af643629ba393b18.js +15 -0
  347. package/.next/standalone/packages/ui/.next/static/chunks/b6976cf6c48996e5.js +1 -0
  348. package/.next/standalone/packages/ui/.next/static/chunks/b6ffd44cbe740f15.js +1 -0
  349. package/.next/standalone/packages/ui/.next/static/chunks/b8353eb8c6fb895e.js +1 -0
  350. package/.next/standalone/packages/ui/.next/static/chunks/b845813463167db0.js +5 -0
  351. package/.next/standalone/packages/ui/.next/static/chunks/b900efab2eee69a0.js +15 -0
  352. package/.next/standalone/packages/ui/.next/static/chunks/bd9893e28f8f6a9a.css +1 -0
  353. package/.next/standalone/packages/ui/.next/static/chunks/c762baa705e11b30.js +1 -0
  354. package/.next/standalone/packages/ui/.next/static/chunks/cbfb9d957f708c08.js +1 -0
  355. package/.next/standalone/packages/ui/.next/static/chunks/cca4441cde342ae3.js +1 -0
  356. package/.next/standalone/packages/ui/.next/static/chunks/cf53882a2c15630f.js +1 -0
  357. package/.next/standalone/packages/ui/.next/static/chunks/d43971093c91d3b2.js +160 -0
  358. package/.next/standalone/packages/ui/.next/static/chunks/d784d84d5b880e48.js +1 -0
  359. package/.next/standalone/packages/ui/.next/static/chunks/db44023a744297d1.js +1 -0
  360. package/.next/standalone/packages/ui/.next/static/chunks/dbe7840308be36b8.js +1 -0
  361. package/.next/standalone/packages/ui/.next/static/chunks/dc0a4df8f7080b29.js +1 -0
  362. package/.next/standalone/packages/ui/.next/static/chunks/dd8e053aa48c6398.js +1 -0
  363. package/.next/standalone/packages/ui/.next/static/chunks/ddc7726e19e5e25c.js +43 -0
  364. package/.next/standalone/packages/ui/.next/static/chunks/df7e61b074dee049.js +152 -0
  365. package/.next/standalone/packages/ui/.next/static/chunks/e20849e3abe63aa5.js +55 -0
  366. package/.next/standalone/packages/ui/.next/static/chunks/e2792c100b4041a1.js +15 -0
  367. package/.next/standalone/packages/ui/.next/static/chunks/e2dce648399ad4d4.js +1 -0
  368. package/.next/standalone/packages/ui/.next/static/chunks/e3bc96a996e2a314.js +24 -0
  369. package/.next/standalone/packages/ui/.next/static/chunks/e5aab2c562822175.js +1 -0
  370. package/.next/standalone/packages/ui/.next/static/chunks/efbbc4dc4b32a270.js +4 -0
  371. package/.next/standalone/packages/ui/.next/static/chunks/f0376ba3b56dbf10.js +4 -0
  372. package/.next/standalone/packages/ui/.next/static/chunks/f88536b96f1df686.js +1 -0
  373. package/.next/standalone/packages/ui/.next/static/chunks/turbopack-5fa55215af0efb15.js +3 -0
  374. package/.next/standalone/packages/ui/next.config.ts +5 -0
  375. package/.next/standalone/packages/ui/package.json +2 -1
  376. package/.next/standalone/packages/ui/scripts/post-build.mjs +15 -1
  377. package/.next/standalone/packages/ui/server.js +1 -1
  378. package/.next/standalone/packages/ui/src/app/globals.css +25 -0
  379. package/.next/standalone/packages/ui/src/app/specs/specs-client.tsx +180 -140
  380. package/.next/standalone/packages/ui/src/components/main-sidebar.tsx +3 -3
  381. package/.next/standalone/packages/ui/src/components/mermaid-diagram.test.ts +92 -0
  382. package/.next/standalone/packages/ui/src/components/mermaid-diagram.tsx +139 -0
  383. package/.next/standalone/packages/ui/src/components/spec-detail-client.tsx +47 -7
  384. package/.next/standalone/packages/ui/src/components/specs-nav-sidebar.tsx +3 -13
  385. package/.next/standalone/packages/ui/src/contexts/project-context.tsx +14 -14
  386. package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
  387. package/.next/static/chunks/038fb2d565c88582.js +2 -0
  388. package/.next/static/chunks/0f108f65249f8820.js +19 -0
  389. package/.next/static/chunks/1104de0c16e0b792.js +59 -0
  390. package/.next/static/chunks/1490995adc7829e2.js +136 -0
  391. package/.next/static/chunks/16b742746668b9d6.js +56 -0
  392. package/.next/static/chunks/16ff9833ae1bb3ae.js +1 -0
  393. package/.next/static/chunks/192b2f6118d057e2.js +60 -0
  394. package/.next/static/chunks/1a910f137d27fff0.js +63 -0
  395. package/.next/static/chunks/1f052e076ca9a3ff.js +1 -0
  396. package/.next/static/chunks/20f4141ccb5d4eb4.js +1 -0
  397. package/.next/static/chunks/2136b3131f74188f.js +1 -0
  398. package/.next/static/chunks/2204c0f16b23ec4c.js +3 -0
  399. package/.next/static/chunks/294dea6dbec43ca6.js +1 -0
  400. package/.next/static/chunks/2a33b9246ea4be03.js +2 -0
  401. package/.next/static/chunks/2c85b8059e42248a.js +1 -0
  402. package/.next/static/chunks/305b74f3c20cb4ef.js +1 -0
  403. package/.next/static/chunks/3276ca6fd9005903.js +13 -0
  404. package/.next/static/chunks/37f2e45cf97245d9.js +117 -0
  405. package/.next/static/chunks/39691fae9a3463fe.js +262 -0
  406. package/.next/static/chunks/3b6b058ebd14dbed.js +1 -0
  407. package/.next/static/chunks/3ed1465109fecc2d.js +1 -0
  408. package/.next/static/chunks/3f94c1ef6e27c8bd.js +1 -0
  409. package/.next/static/chunks/414a78f7b9b58d11.js +53 -0
  410. package/.next/static/chunks/4e85dea329906168.js +1 -0
  411. package/.next/static/chunks/525d6cb99a13c44a.js +215 -0
  412. package/.next/static/chunks/5295f0e82fd2a6d3.js +24 -0
  413. package/.next/static/chunks/567bc31005c31006.js +1 -0
  414. package/.next/static/chunks/56894ea818ee2a54.js +1 -0
  415. package/.next/static/chunks/569b4347ce55d973.js +1 -0
  416. package/.next/static/chunks/5fffdea0623d8a25.js +1 -0
  417. package/.next/static/chunks/642374ace530e2bd.js +1 -0
  418. package/.next/static/chunks/64543dbd7a7a99b7.js +1 -0
  419. package/.next/static/chunks/6483096c16d96f2c.js +15 -0
  420. package/.next/static/chunks/66d3fa1af3ff1fbf.js +1 -0
  421. package/.next/static/chunks/67a1d37727697340.js +1 -0
  422. package/.next/static/chunks/6f3c460ef90843d6.js +215 -0
  423. package/.next/static/chunks/6ff7b0a8653036b2.js +1 -0
  424. package/.next/static/chunks/72dde43947381f78.js +1 -0
  425. package/.next/static/chunks/7590e65bcaa41e8b.js +1 -0
  426. package/.next/static/chunks/762fe8c3999a1965.js +1 -0
  427. package/.next/static/chunks/794f3931f1ca12d2.js +1 -0
  428. package/.next/static/chunks/7b70989270600907.js +148 -0
  429. package/.next/static/chunks/8287406f2fe1c1c3.js +1 -0
  430. package/.next/static/chunks/839e44eec90aa73d.js +60 -0
  431. package/.next/static/chunks/85b2b8ec762b7c79.js +62 -0
  432. package/.next/static/chunks/89a8f922ce491ce9.js +93 -0
  433. package/.next/static/chunks/8ff23db3e3143bc7.js +5 -0
  434. package/.next/static/chunks/942cf63b4032c808.js +29 -0
  435. package/.next/static/chunks/95bd0faa6092d8ba.js +1 -0
  436. package/.next/static/chunks/97bd44afaee5f129.js +1 -0
  437. package/.next/static/chunks/97c8160044aea609.js +77 -0
  438. package/.next/static/chunks/9d06bd5d701ace73.js +1 -0
  439. package/.next/static/chunks/a0b34f852bfa3d1b.js +36 -0
  440. package/.next/static/chunks/a1ca5af350378f72.js +1 -0
  441. package/.next/static/chunks/af643629ba393b18.js +15 -0
  442. package/.next/static/chunks/b6976cf6c48996e5.js +1 -0
  443. package/.next/static/chunks/b6ffd44cbe740f15.js +1 -0
  444. package/.next/static/chunks/b8353eb8c6fb895e.js +1 -0
  445. package/.next/static/chunks/b845813463167db0.js +5 -0
  446. package/.next/static/chunks/b900efab2eee69a0.js +15 -0
  447. package/.next/static/chunks/bd9893e28f8f6a9a.css +1 -0
  448. package/.next/static/chunks/c762baa705e11b30.js +1 -0
  449. package/.next/static/chunks/cbfb9d957f708c08.js +1 -0
  450. package/.next/static/chunks/cca4441cde342ae3.js +1 -0
  451. package/.next/static/chunks/cf53882a2c15630f.js +1 -0
  452. package/.next/static/chunks/d43971093c91d3b2.js +160 -0
  453. package/.next/static/chunks/d784d84d5b880e48.js +1 -0
  454. package/.next/static/chunks/db44023a744297d1.js +1 -0
  455. package/.next/static/chunks/dbe7840308be36b8.js +1 -0
  456. package/.next/static/chunks/dc0a4df8f7080b29.js +1 -0
  457. package/.next/static/chunks/dd8e053aa48c6398.js +1 -0
  458. package/.next/static/chunks/ddc7726e19e5e25c.js +43 -0
  459. package/.next/static/chunks/df7e61b074dee049.js +152 -0
  460. package/.next/static/chunks/e20849e3abe63aa5.js +55 -0
  461. package/.next/static/chunks/e2792c100b4041a1.js +15 -0
  462. package/.next/static/chunks/e2dce648399ad4d4.js +1 -0
  463. package/.next/static/chunks/e3bc96a996e2a314.js +24 -0
  464. package/.next/static/chunks/e5aab2c562822175.js +1 -0
  465. package/.next/static/chunks/efbbc4dc4b32a270.js +4 -0
  466. package/.next/static/chunks/f0376ba3b56dbf10.js +4 -0
  467. package/.next/static/chunks/f88536b96f1df686.js +1 -0
  468. package/.next/static/chunks/turbopack-5fa55215af0efb15.js +3 -0
  469. package/package.json +3 -2
  470. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__c592f5d1._.js +0 -3
  471. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_6174313a._.js +0 -3
  472. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_6e4dd8b6._.js +0 -3
  473. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_7fa1d4b1._.js +0 -3
  474. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_e1889307._.js +0 -3
  475. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f1e82b43._.js +0 -3
  476. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_af9d3830._.js +0 -3
  477. package/.next/standalone/packages/ui/.next/static/chunks/07f48b316e895080.js +0 -1
  478. package/.next/standalone/packages/ui/.next/static/chunks/0a7be410b438418a.js +0 -1
  479. package/.next/standalone/packages/ui/.next/static/chunks/1089ca88f6bef846.js +0 -1
  480. package/.next/standalone/packages/ui/.next/static/chunks/17471c87082c392c.js +0 -5
  481. package/.next/standalone/packages/ui/.next/static/chunks/220ba5cb8fe4dd69.js +0 -1
  482. package/.next/standalone/packages/ui/.next/static/chunks/35ccd3286e538bd2.js +0 -1
  483. package/.next/standalone/packages/ui/.next/static/chunks/4a7396c9a77e64d5.js +0 -1
  484. package/.next/standalone/packages/ui/.next/static/chunks/50aead33b660f05c.js +0 -1
  485. package/.next/standalone/packages/ui/.next/static/chunks/571033caca823138.js +0 -1
  486. package/.next/standalone/packages/ui/.next/static/chunks/5a6fc30cd64085b4.css +0 -1
  487. package/.next/standalone/packages/ui/.next/static/chunks/5c2072ad938de8ed.js +0 -1
  488. package/.next/standalone/packages/ui/.next/static/chunks/7f732ea69e643219.js +0 -2
  489. package/.next/standalone/packages/ui/.next/static/chunks/843e1dfdc28e1385.js +0 -1
  490. package/.next/standalone/packages/ui/.next/static/chunks/9dad7fd31627df80.js +0 -1
  491. package/.next/standalone/packages/ui/.next/static/chunks/a02c1f50ff00204f.js +0 -1
  492. package/.next/standalone/packages/ui/.next/static/chunks/a055d4b2866ff8d4.js +0 -1
  493. package/.next/standalone/packages/ui/.next/static/chunks/afb7c5a4255f4081.js +0 -3
  494. package/.next/standalone/packages/ui/.next/static/chunks/b760a3a9c2c8be28.js +0 -1
  495. package/.next/standalone/packages/ui/.next/static/chunks/b9b9d7565bc2c2ad.js +0 -1
  496. package/.next/standalone/packages/ui/.next/static/chunks/db281fdc89c063c5.js +0 -1
  497. package/.next/standalone/packages/ui/.next/static/chunks/dcdd95180149fa10.js +0 -1
  498. package/.next/standalone/packages/ui/.next/static/chunks/ebd89051637b9a47.js +0 -4
  499. package/.next/standalone/packages/ui/.next/static/chunks/f3ec9fd77a8618b1.js +0 -19
  500. package/.next/standalone/packages/ui/.next/static/chunks/f9db24028d8c058e.js +0 -1
  501. package/.next/standalone/packages/ui/.next/static/chunks/fb640f50455ba34f.js +0 -1
  502. package/.next/standalone/packages/ui/.next/static/chunks/turbopack-b9690cacbf9fe48c.js +0 -3
  503. package/.next/standalone/packages/ui/dist/BUILD_ID +0 -1
  504. package/.next/standalone/packages/ui/dist/public/f864aa7e7061c0600e35cf3d879b27cf.txt +0 -1
  505. package/.next/standalone/packages/ui/dist/public/favicon.ico +0 -0
  506. package/.next/standalone/packages/ui/dist/public/file.svg +0 -1
  507. package/.next/standalone/packages/ui/dist/public/github-mark-white.svg +0 -1
  508. package/.next/standalone/packages/ui/dist/public/github-mark.svg +0 -1
  509. package/.next/standalone/packages/ui/dist/public/globe.svg +0 -1
  510. package/.next/standalone/packages/ui/dist/public/icon.svg +0 -7
  511. package/.next/standalone/packages/ui/dist/public/logo-dark-bg.svg +0 -17
  512. package/.next/standalone/packages/ui/dist/public/logo-with-bg.svg +0 -17
  513. package/.next/standalone/packages/ui/dist/public/logo.svg +0 -17
  514. package/.next/standalone/packages/ui/dist/public/next.svg +0 -1
  515. package/.next/standalone/packages/ui/dist/public/vercel.svg +0 -1
  516. package/.next/standalone/packages/ui/dist/public/window.svg +0 -1
  517. package/.next/standalone/packages/ui/dist/standalone/packages/web/README.md +0 -196
  518. package/.next/standalone/packages/ui/dist/standalone/packages/web/leanspec.db +0 -0
  519. package/.next/standalone/packages/ui/dist/standalone/packages/web/package.json +0 -75
  520. package/.next/standalone/packages/ui/dist/standalone/packages/web/server.js +0 -44
  521. package/.next/standalone/packages/ui/dist/standalone/specs/014-complete-custom-frontmatter/README.md +0 -175
  522. package/.next/standalone/packages/ui/dist/standalone/specs/016-github-action/README.md +0 -317
  523. package/.next/standalone/packages/ui/dist/standalone/specs/017-vscode-extension/README.md +0 -261
  524. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CLI-DESIGN.md +0 -380
  525. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION-EXAMPLES.md +0 -230
  526. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION.md +0 -285
  527. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/IMPLEMENTATION.md +0 -358
  528. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/README.md +0 -303
  529. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/TESTING.md +0 -368
  530. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/VALIDATION-RULES.md +0 -327
  531. package/.next/standalone/packages/ui/dist/standalone/specs/024-pattern-aware-list-grouping/README.md +0 -117
  532. package/.next/standalone/packages/ui/dist/standalone/specs/025-template-config-updates/README.md +0 -73
  533. package/.next/standalone/packages/ui/dist/standalone/specs/026-init-pattern-selection/README.md +0 -109
  534. package/.next/standalone/packages/ui/dist/standalone/specs/034-copilot-slash-commands/README.md +0 -107
  535. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/ARCHITECTURE.md +0 -244
  536. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/IMPLEMENTATION.md +0 -429
  537. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/README.md +0 -302
  538. package/.next/standalone/packages/ui/dist/standalone/specs/036-pm-integrations/README.md +0 -158
  539. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-AI-ASSISTED.md +0 -359
  540. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-FULL-LIFECYCLE.md +0 -86
  541. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-REAL-FEATURE.md +0 -437
  542. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-SCRIPT.md +0 -365
  543. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-FINAL.md +0 -203
  544. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SESSION-2025-11-06.md +0 -174
  545. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SUMMARY.md +0 -156
  546. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/IMPLEMENTATION.md +0 -183
  547. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/MARKETING.md +0 -229
  548. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/NEXT-STEPS-DEMO.md +0 -243
  549. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/README.md +0 -217
  550. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/SESSION-2025-11-06.md +0 -166
  551. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/TESTING.md +0 -126
  552. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/ACTUAL-IMPLEMENTATION.md +0 -108
  553. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/DESIGN.md +0 -382
  554. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/IMPLEMENTATION.md +0 -144
  555. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/RATIONALE.md +0 -146
  556. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/README.md +0 -208
  557. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/TESTING.md +0 -182
  558. package/.next/standalone/packages/ui/dist/standalone/specs/047-git-backfill-timestamps/README.md +0 -314
  559. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/FINDINGS.md +0 -113
  560. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/GUIDELINES.md +0 -237
  561. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/README.md +0 -149
  562. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-COMPARISONS.md +0 -175
  563. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-CONSTRAINTS.md +0 -254
  564. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/FIRST-PRINCIPLES.md +0 -376
  565. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-ROADMAP.md +0 -240
  566. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-TOOLS.md +0 -175
  567. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/README.md +0 -374
  568. package/.next/standalone/packages/ui/dist/standalone/specs/051-docs-system-prompt-principles/README.md +0 -339
  569. package/.next/standalone/packages/ui/dist/standalone/specs/052-branding-assets/README.md +0 -128
  570. package/.next/standalone/packages/ui/dist/standalone/specs/053-spec-assets-philosophy/README.md +0 -97
  571. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/DESIGN-DECISIONS.md +0 -93
  572. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/OUTPUT-FORMAT-SPEC.md +0 -146
  573. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/README.md +0 -175
  574. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART1.md +0 -397
  575. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART2.md +0 -342
  576. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS.md +0 -44
  577. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CHANGES.md +0 -150
  578. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CONCERNS-ANALYSIS.md +0 -351
  579. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/DOCS-ALIGNMENT-ANALYSIS.md +0 -238
  580. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/README.md +0 -280
  581. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-DRAFT.md +0 -372
  582. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-REFINED.md +0 -466
  583. package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/AUDIT-RESULTS.md +0 -178
  584. package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/README.md +0 -174
  585. package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/README.md +0 -295
  586. package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/VALIDATION-RESULTS.md +0 -487
  587. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/ANALYSIS.md +0 -241
  588. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/DESIGN.md +0 -279
  589. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/IMPLEMENTATION.md +0 -642
  590. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/NOTES.md +0 -125
  591. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/README.md +0 -286
  592. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/ARCHITECTURE.md +0 -392
  593. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/COMMANDS.md +0 -1002
  594. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/CONTEXT-ENGINEERING.md +0 -411
  595. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/IMPLEMENTATION.md +0 -812
  596. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/README.md +0 -504
  597. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/TESTING.md +0 -724
  598. package/.next/standalone/packages/ui/dist/standalone/specs/060-core-concepts-coherence/README.md +0 -125
  599. package/.next/standalone/packages/ui/dist/standalone/specs/061-ai-assisted-spec-writing/README.md +0 -299
  600. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/IMPLEMENTATION-PLAN.md +0 -174
  601. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PAGE-SPECIFICATIONS.md +0 -265
  602. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PROBLEM-ANALYSIS.md +0 -36
  603. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/README.md +0 -243
  604. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/SOLUTION-DESIGN.md +0 -82
  605. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/DESIGN.md +0 -338
  606. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/EXAMPLES.md +0 -354
  607. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/IMPLEMENTATION.md +0 -189
  608. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/README.md +0 -119
  609. package/.next/standalone/packages/ui/dist/standalone/specs/064-docs-site-zh-translation/README.md +0 -170
  610. package/.next/standalone/packages/ui/dist/standalone/specs/065-v03-planning/README.md +0 -158
  611. package/.next/standalone/packages/ui/dist/standalone/specs/066-context-economy-thresholds-refinement/README.md +0 -842
  612. package/.next/standalone/packages/ui/dist/standalone/specs/067-monorepo-core-extraction/README.md +0 -358
  613. package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/DESIGN.md +0 -444
  614. package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/README.md +0 -357
  615. package/.next/standalone/packages/ui/dist/standalone/specs/069-token-counting-utils/README.md +0 -551
  616. package/.next/standalone/packages/ui/dist/standalone/specs/070-mcp-token-counting-tool/README.md +0 -372
  617. package/.next/standalone/packages/ui/dist/standalone/specs/071-simplified-token-validation/README.md +0 -489
  618. package/.next/standalone/packages/ui/dist/standalone/specs/072-ai-agent-first-use-workflow/README.md +0 -285
  619. package/.next/standalone/packages/ui/dist/standalone/specs/073-template-engine-agents-md/README.md +0 -323
  620. package/.next/standalone/packages/ui/dist/standalone/specs/074-content-at-creation/README.md +0 -136
  621. package/.next/standalone/packages/ui/dist/standalone/specs/075-intelligent-search-engine/README.md +0 -399
  622. package/.next/standalone/packages/ui/dist/standalone/specs/076-programmatic-spec-relationships/README.md +0 -301
  623. package/.next/standalone/packages/ui/dist/standalone/specs/077-archiving-strategy/README.md +0 -235
  624. package/.next/standalone/packages/ui/dist/standalone/specs/078-sub-spec-template-system/README.md +0 -303
  625. package/.next/standalone/packages/ui/dist/standalone/specs/079-cli-alphabetical-organization/README.md +0 -196
  626. package/.next/standalone/packages/ui/dist/standalone/specs/080-mcp-server-modular-architecture/README.md +0 -388
  627. package/.next/standalone/packages/ui/dist/standalone/specs/081-web-app-ux-redesign/README.md +0 -824
  628. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DATABASE.md +0 -111
  629. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DEPLOYMENT.md +0 -69
  630. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/FILESYSTEM.md +0 -77
  631. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/IMPLEMENTATION.md +0 -184
  632. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/README.md +0 -496
  633. package/.next/standalone/packages/ui/dist/standalone/specs/083-web-navigation-performance/README.md +0 -490
  634. package/.next/standalone/packages/ui/dist/standalone/specs/084-sub-spec-visibility-in-tools/README.md +0 -389
  635. package/.next/standalone/packages/ui/dist/standalone/specs/085-cli-relationship-commands/README.md +0 -920
  636. package/.next/standalone/packages/ui/dist/standalone/specs/086-template-component-deduplication/README.md +0 -146
  637. package/.next/standalone/packages/ui/dist/standalone/specs/087-cli-ui-command/README.md +0 -607
  638. package/.next/standalone/packages/ui/dist/standalone/specs/088-core-concepts-terminology-only/README.md +0 -104
  639. package/.next/standalone/packages/ui/dist/standalone/specs/089-sdd-practical-tutorials/README.md +0 -124
  640. package/.next/standalone/packages/ui/dist/standalone/specs/090-leanspec-sdd-case-studies/README.md +0 -129
  641. package/.next/standalone/packages/ui/dist/standalone/specs/091-chinese-localization-strategy/README.md +0 -244
  642. package/.next/standalone/packages/ui/dist/standalone/specs/092-docs-site-submodule-migration/README.md +0 -148
  643. package/.next/standalone/packages/ui/dist/standalone/specs/093-spec-detail-ui-improvements/README.md +0 -54
  644. package/.next/standalone/packages/ui/dist/standalone/specs/archived/001-typescript-cli-migration/README.md +0 -37
  645. package/.next/standalone/packages/ui/dist/standalone/specs/archived/002-template-system-redesign/README.md +0 -60
  646. package/.next/standalone/packages/ui/dist/standalone/specs/archived/003-init-system-redesign/README.md +0 -113
  647. package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/README.md +0 -69
  648. package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/SUMMARY.md +0 -112
  649. package/.next/standalone/packages/ui/dist/standalone/specs/archived/005-structured-frontmatter/README.md +0 -229
  650. package/.next/standalone/packages/ui/dist/standalone/specs/archived/006-pm-visualization-tools/README.md +0 -406
  651. package/.next/standalone/packages/ui/dist/standalone/specs/archived/007-system-prompt-updates/README.md +0 -168
  652. package/.next/standalone/packages/ui/dist/standalone/specs/archived/008-commander-migration/README.md +0 -174
  653. package/.next/standalone/packages/ui/dist/standalone/specs/archived/009-cli-ux-enhancement/README.md +0 -212
  654. package/.next/standalone/packages/ui/dist/standalone/specs/archived/010-commands-refactor/README.md +0 -249
  655. package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/README.md +0 -60
  656. package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/TEST_SUMMARY.md +0 -139
  657. package/.next/standalone/packages/ui/dist/standalone/specs/archived/012-sub-spec-files/README.md +0 -722
  658. package/.next/standalone/packages/ui/dist/standalone/specs/archived/013-custom-spec-templates/README.md +0 -413
  659. package/.next/standalone/packages/ui/dist/standalone/specs/archived/015-npm-publishing/README.md +0 -255
  660. package/.next/standalone/packages/ui/dist/standalone/specs/archived/019-readme-improvement/README.md +0 -252
  661. package/.next/standalone/packages/ui/dist/standalone/specs/archived/020-documentation-website/README.md +0 -253
  662. package/.next/standalone/packages/ui/dist/standalone/specs/archived/021-docusaurus-vercel-migration/README.md +0 -612
  663. package/.next/standalone/packages/ui/dist/standalone/specs/archived/022-flexible-folder-structure/README.md +0 -794
  664. package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/DESIGN.md +0 -834
  665. package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/README.md +0 -255
  666. package/.next/standalone/packages/ui/dist/standalone/specs/archived/027-cli-ui-ux-optimization/README.md +0 -454
  667. package/.next/standalone/packages/ui/dist/standalone/specs/archived/028-cli-ui-modernization/README.md +0 -172
  668. package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/IMPLEMENTATION.md +0 -152
  669. package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/README.md +0 -95
  670. package/.next/standalone/packages/ui/dist/standalone/specs/archived/030-created-date-format-bug/README.md +0 -87
  671. package/.next/standalone/packages/ui/dist/standalone/specs/archived/031-gantt-ux-improvements/README.md +0 -230
  672. package/.next/standalone/packages/ui/dist/standalone/specs/archived/032-console-log-chalk-security/README.md +0 -89
  673. package/.next/standalone/packages/ui/dist/standalone/specs/archived/033-mcp-server/README.md +0 -89
  674. package/.next/standalone/packages/ui/dist/standalone/specs/archived/037-docs-overhaul/README.md +0 -166
  675. package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-flat-structure-migration/README.md +0 -276
  676. package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-mcp-frontmatter-bug-fix/README.md +0 -122
  677. package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-simplify-viewer-commands/README.md +0 -198
  678. package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-template-variable-sync/README.md +0 -192
  679. package/.next/standalone/packages/ui/dist/standalone/specs/archived/040-spec-viewer-commands/README.md +0 -171
  680. package/.next/standalone/packages/ui/dist/standalone/specs/archived/042-mcp-error-handling/README.md +0 -200
  681. package/.next/standalone/packages/ui/dist/standalone/specs/archived/044-spec-relationships-clarity/README.md +0 -317
  682. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/DESIGN.md +0 -276
  683. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/IMPLEMENTATION.md +0 -241
  684. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/README.md +0 -139
  685. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/TESTING.md +0 -328
  686. package/.next/standalone/packages/ui/dist/standalone/specs/archived/050-tool-redesign-first-principles/README.md +0 -400
  687. package/.next/standalone/packages/ui/dist/static/chunks/0c19c69aa7625475.js +0 -1
  688. package/.next/standalone/packages/ui/dist/static/chunks/116800b03245a1e5.js +0 -1
  689. package/.next/standalone/packages/ui/dist/static/chunks/15843a3d7584e314.js +0 -1
  690. package/.next/standalone/packages/ui/dist/static/chunks/19e80edf527aef5c.js +0 -1
  691. package/.next/standalone/packages/ui/dist/static/chunks/465954d5af3284a9.js +0 -1
  692. package/.next/standalone/packages/ui/dist/static/chunks/5abeeb89f1412a80.js +0 -3
  693. package/.next/standalone/packages/ui/dist/static/chunks/5c2072ad938de8ed.js +0 -1
  694. package/.next/standalone/packages/ui/dist/static/chunks/6a05a93ec8fa7b83.js +0 -1
  695. package/.next/standalone/packages/ui/dist/static/chunks/778e42188e450b39.css +0 -1
  696. package/.next/standalone/packages/ui/dist/static/chunks/a02c1f50ff00204f.js +0 -1
  697. package/.next/standalone/packages/ui/dist/static/chunks/a45464b9776dd88e.js +0 -1
  698. package/.next/standalone/packages/ui/dist/static/chunks/a6dad97d9634a72d.js +0 -1
  699. package/.next/standalone/packages/ui/dist/static/chunks/b0ea0ac61604f843.js +0 -1
  700. package/.next/standalone/packages/ui/dist/static/chunks/c06e85b449720194.js +0 -1
  701. package/.next/standalone/packages/ui/dist/static/chunks/c557ac675be79771.js +0 -1
  702. package/.next/standalone/packages/ui/dist/static/chunks/cad005a57ffbb2d3.js +0 -1
  703. package/.next/standalone/packages/ui/dist/static/chunks/cdf6fe33bc65efbc.js +0 -1
  704. package/.next/standalone/packages/ui/dist/static/chunks/d12ed5dbe44caed7.js +0 -1
  705. package/.next/standalone/packages/ui/dist/static/chunks/d1ebe5c1a344f4ca.js +0 -5
  706. package/.next/standalone/packages/ui/dist/static/chunks/d42cf1682bc46652.js +0 -1
  707. package/.next/standalone/packages/ui/dist/static/chunks/dde5d8bddd7fbfcf.js +0 -1
  708. package/.next/standalone/packages/ui/dist/static/chunks/ebd89051637b9a47.js +0 -4
  709. package/.next/standalone/packages/ui/dist/static/chunks/ec82875d18b29f47.js +0 -2
  710. package/.next/standalone/packages/ui/dist/static/chunks/f0b701df9769bcc5.js +0 -19
  711. package/.next/standalone/packages/ui/dist/static/chunks/turbopack-1c09a99f4c9e28d3.js +0 -3
  712. package/.next/standalone/packages/ui/leanspec.db +0 -0
  713. package/.next/static/T_KGFP0pHt_xSaaYUJa3L/_buildManifest.js +0 -11
  714. package/.next/static/T_KGFP0pHt_xSaaYUJa3L/_clientMiddlewareManifest.json +0 -1
  715. package/.next/static/T_KGFP0pHt_xSaaYUJa3L/_ssgManifest.js +0 -1
  716. package/.next/static/chunks/07f48b316e895080.js +0 -1
  717. package/.next/static/chunks/0a7be410b438418a.js +0 -1
  718. package/.next/static/chunks/1089ca88f6bef846.js +0 -1
  719. package/.next/static/chunks/17471c87082c392c.js +0 -5
  720. package/.next/static/chunks/220ba5cb8fe4dd69.js +0 -1
  721. package/.next/static/chunks/35ccd3286e538bd2.js +0 -1
  722. package/.next/static/chunks/4a7396c9a77e64d5.js +0 -1
  723. package/.next/static/chunks/50aead33b660f05c.js +0 -1
  724. package/.next/static/chunks/571033caca823138.js +0 -1
  725. package/.next/static/chunks/5a6fc30cd64085b4.css +0 -1
  726. package/.next/static/chunks/5c2072ad938de8ed.js +0 -1
  727. package/.next/static/chunks/7f732ea69e643219.js +0 -2
  728. package/.next/static/chunks/843e1dfdc28e1385.js +0 -1
  729. package/.next/static/chunks/9dad7fd31627df80.js +0 -1
  730. package/.next/static/chunks/a02c1f50ff00204f.js +0 -1
  731. package/.next/static/chunks/a055d4b2866ff8d4.js +0 -1
  732. package/.next/static/chunks/afb7c5a4255f4081.js +0 -3
  733. package/.next/static/chunks/b760a3a9c2c8be28.js +0 -1
  734. package/.next/static/chunks/b9b9d7565bc2c2ad.js +0 -1
  735. package/.next/static/chunks/db281fdc89c063c5.js +0 -1
  736. package/.next/static/chunks/dcdd95180149fa10.js +0 -1
  737. package/.next/static/chunks/ebd89051637b9a47.js +0 -4
  738. package/.next/static/chunks/f3ec9fd77a8618b1.js +0 -19
  739. package/.next/static/chunks/f9db24028d8c058e.js +0 -1
  740. package/.next/static/chunks/fb640f50455ba34f.js +0 -1
  741. package/.next/static/chunks/turbopack-b9690cacbf9fe48c.js +0 -3
  742. /package/.next/standalone/packages/ui/.next/static/{T_KGFP0pHt_xSaaYUJa3L → gmEkSwWc7AIWzMK9b0WXr}/_buildManifest.js +0 -0
  743. /package/.next/standalone/packages/ui/.next/static/{T_KGFP0pHt_xSaaYUJa3L → gmEkSwWc7AIWzMK9b0WXr}/_clientMiddlewareManifest.json +0 -0
  744. /package/.next/standalone/packages/ui/.next/static/{T_KGFP0pHt_xSaaYUJa3L → gmEkSwWc7AIWzMK9b0WXr}/_ssgManifest.js +0 -0
  745. /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/gmEkSwWc7AIWzMK9b0WXr}/_buildManifest.js +0 -0
  746. /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/gmEkSwWc7AIWzMK9b0WXr}/_clientMiddlewareManifest.json +0 -0
  747. /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/gmEkSwWc7AIWzMK9b0WXr}/_ssgManifest.js +0 -0
@@ -1,111 +0,0 @@
1
- ### Mode 2: Database-Backed (External GitHub Repos)
2
-
3
- **Use Case:** Multi-project showcase (spec 035), external public repos
4
-
5
- **Data Flow:**
6
- ```
7
- GitHub API → Sync Service → PostgreSQL → Web App
8
- ↓ ↓ ↓
9
- Rate limits Orchestration Cache layer
10
- (5000/hr) (scheduled) (fast queries)
11
- ```
12
-
13
- **Architecture:**
14
- ```typescript
15
- // packages/web/src/lib/specs/sources/database-source.ts
16
- export class DatabaseSource implements SpecSource {
17
- async getAllSpecs(projectId?: string): Promise<Spec[]> {
18
- const query = projectId
19
- ? db.select().from(specs).where(eq(specs.projectId, projectId))
20
- : db.select().from(specs);
21
-
22
- return await query.orderBy(specs.specNumber);
23
- }
24
-
25
- async getSpec(specPath: string, projectId: string): Promise<Spec | null> {
26
- // Parse spec number from path (e.g., "035" or "035-my-spec")
27
- const specNum = parseInt(specPath.split('-')[0], 10);
28
-
29
- const results = await db.select()
30
- .from(specs)
31
- .where(and(
32
- eq(specs.projectId, projectId),
33
- eq(specs.specNumber, specNum)
34
- ))
35
- .limit(1);
36
-
37
- return results[0] || null;
38
- }
39
- }
40
-
41
- // packages/web/src/lib/github/sync-service.ts
42
- export class GitHubSyncService {
43
- private octokit = new Octokit({ auth: process.env.GITHUB_TOKEN });
44
-
45
- async syncProject(owner: string, repo: string, projectId: string) {
46
- // 1. Fetch specs from GitHub
47
- const repoSpecs = await this.discoverSpecs(owner, repo);
48
-
49
- // 2. Compare with database
50
- const dbSpecs = await db.select()
51
- .from(specs)
52
- .where(eq(specs.projectId, projectId));
53
-
54
- // 3. Compute diff (added, updated, deleted)
55
- const diff = this.computeDiff(repoSpecs, dbSpecs);
56
-
57
- // 4. Apply changes
58
- await this.applyDiff(projectId, diff);
59
-
60
- // 5. Log sync result
61
- await db.insert(syncLogs).values({
62
- projectId,
63
- status: 'success',
64
- specsAdded: diff.added.length,
65
- specsUpdated: diff.updated.length,
66
- specsDeleted: diff.deleted.length,
67
- completedAt: new Date(),
68
- });
69
- }
70
-
71
- private async discoverSpecs(owner: string, repo: string) {
72
- // Fetch specs directory listing
73
- const { data } = await this.octokit.repos.getContent({
74
- owner,
75
- repo,
76
- path: 'specs',
77
- });
78
-
79
- // Filter directories (ignore archived)
80
- const specDirs = Array.isArray(data)
81
- ? data.filter(item => item.type === 'dir' && item.name !== 'archived')
82
- : [];
83
-
84
- // Fetch each spec's README.md
85
- const specs = await Promise.all(
86
- specDirs.map(dir => this.fetchSpec(owner, repo, dir.name))
87
- );
88
-
89
- return specs.filter(Boolean);
90
- }
91
- }
92
- ```
93
-
94
- **Pros:**
95
- - ✅ **Handles rate limits**: Database caches GitHub data
96
- - ✅ **Fast queries**: Database optimized for filtering/sorting/search
97
- - ✅ **Multi-project support**: Can showcase many repos
98
- - ✅ **Scheduled sync**: Background jobs handle updates
99
- - ✅ **Relationships**: Can query cross-spec dependencies
100
- - ✅ **Audit trail**: Sync logs track changes
101
-
102
- **Cons:**
103
- - ⚠️ **Not realtime**: Sync delay (5-60 min typical)
104
- - ⚠️ **Database dependency**: PostgreSQL required (Vercel Postgres)
105
- - ⚠️ **Sync orchestration**: Need cron jobs or webhooks
106
- - ⚠️ **Complexity**: More moving parts
107
-
108
- **Mitigation:**
109
- - Webhooks for near-realtime (optional, Phase 2+)
110
- - Database is cache layer, not source of truth
111
- - Fallback to GitHub API if sync fails
@@ -1,69 +0,0 @@
1
- ### Production Deployment Configuration
2
-
3
- #### v0.3.0 (Filesystem Mode)
4
-
5
- **Vercel Configuration:**
6
- ```json
7
- // vercel.json (web app deployment)
8
- {
9
- "buildCommand": "pnpm -F @leanspec/web build",
10
- "outputDirectory": "packages/web/.next",
11
- "framework": "nextjs",
12
- "installCommand": "pnpm install"
13
- }
14
- ```
15
-
16
- **Environment Variables (Vercel Dashboard):**
17
- ```bash
18
- SPECS_MODE=filesystem
19
- SPECS_DIR=../../specs
20
- CACHE_TTL=60000
21
- REVALIDATION_SECRET=<random-secret>
22
- ```
23
-
24
- **Key Points:**
25
- - Specs directory (`specs/`) must be in git repo
26
- - No database required for v0.3.0
27
- - Specs read at runtime from filesystem
28
- - In-memory cache keeps performance <100ms
29
- - Vercel serverless functions have filesystem access
30
-
31
- #### v0.3.1+ (Dual Mode)
32
-
33
- **Vercel Configuration:**
34
- ```json
35
- // vercel.json (unchanged)
36
- {
37
- "buildCommand": "pnpm -F @leanspec/web build",
38
- "outputDirectory": "packages/web/.next",
39
- "framework": "nextjs",
40
- "installCommand": "pnpm install",
41
- "crons": [{
42
- "path": "/api/cron/sync",
43
- "schedule": "0 * * * *"
44
- }]
45
- }
46
- ```
47
-
48
- **Environment Variables (Vercel Dashboard):**
49
- ```bash
50
- SPECS_MODE=both
51
- SPECS_DIR=../../specs
52
- CACHE_TTL=60000
53
- DATABASE_URL=postgres://...
54
- GITHUB_TOKEN=ghp_...
55
- CRON_SECRET=<random-secret>
56
- REVALIDATION_SECRET=<random-secret>
57
- ```
58
-
59
- **Database Setup (Vercel Postgres):**
60
- 1. Create Vercel Postgres database
61
- 2. Run migrations: `pnpm -F @leanspec/web db:migrate`
62
- 3. Seed LeanSpec project: `pnpm -F @leanspec/web db:seed`
63
- 4. Cron job handles external repos
64
-
65
- **Key Points:**
66
- - Both filesystem and database sources active
67
- - LeanSpec's specs use filesystem (fast, realtime)
68
- - External repos use database (cached, scheduled sync)
69
- - Cron job syncs external repos every hour
@@ -1,77 +0,0 @@
1
- ### Mode 1: Filesystem-Based (Local Specs)
2
-
3
- **Use Case:** LeanSpec's own specs in monorepo
4
-
5
- **Data Flow:**
6
- ```
7
- specs/ directory → @leanspec/core → In-Memory Cache → Web App
8
-
9
- Single source of truth
10
- Git is the version control
11
- ```
12
-
13
- **Architecture:**
14
- ```typescript
15
- // packages/web/src/lib/specs/sources/filesystem-source.ts
16
- export class FilesystemSource implements SpecSource {
17
- private cache = new Map<string, CachedSpec>();
18
- private reader = new SpecReader({ specsDir: '../../specs' });
19
-
20
- async getAllSpecs(): Promise<Spec[]> {
21
- const cacheKey = '__all_specs__';
22
- const cached = this.cache.get(cacheKey);
23
-
24
- if (cached && Date.now() < cached.expiresAt) {
25
- return cached.data;
26
- }
27
-
28
- const specs = await this.reader.getAllSpecs();
29
- this.cache.set(cacheKey, {
30
- data: specs,
31
- expiresAt: Date.now() + CACHE_TTL,
32
- });
33
-
34
- return specs;
35
- }
36
-
37
- async getSpec(specPath: string): Promise<Spec | null> {
38
- const cached = this.cache.get(specPath);
39
- if (cached && Date.now() < cached.expiresAt) {
40
- return cached.data;
41
- }
42
-
43
- const spec = await this.reader.readSpec(specPath);
44
- this.cache.set(specPath, {
45
- data: spec,
46
- expiresAt: Date.now() + CACHE_TTL,
47
- });
48
-
49
- return spec;
50
- }
51
-
52
- invalidateCache(specPath?: string) {
53
- if (specPath) {
54
- this.cache.delete(specPath);
55
- } else {
56
- this.cache.clear();
57
- }
58
- }
59
- }
60
- ```
61
-
62
- **Pros:**
63
- - ✅ **Realtime sync**: Changes appear within cache TTL (60s)
64
- - ✅ **No database dependency**: Simpler deployment
65
- - ✅ **Fast**: In-memory cache keeps performance <100ms
66
- - ✅ **Source of truth**: Filesystem is authoritative
67
- - ✅ **Works everywhere**: Dev, staging, production (Vercel)
68
-
69
- **Cons:**
70
- - ⚠️ Cache invalidation: TTL-based (not event-driven)
71
- - ⚠️ Cold starts: Cache empty after deployment
72
- - ⚠️ No cross-instance cache: Each Vercel function has own cache
73
-
74
- **Mitigation:**
75
- - Use Next.js `revalidate` for additional CDN caching
76
- - File watcher in dev mode for instant invalidation (optional)
77
- - Acceptable trade-off for simplicity
@@ -1,184 +0,0 @@
1
- ### v0.3 Implementation Plan
2
-
3
- #### Phase 1: Filesystem Mode (v0.3.0 - Days 1-4)
4
-
5
- **Goal**: Ship filesystem-based architecture for LeanSpec's own specs
6
-
7
- **Changes Required:**
8
-
9
- 1. **Create Unified Service Layer**
10
- ```typescript
11
- // packages/web/src/lib/specs/service.ts
12
- export interface SpecSource { ... }
13
- export class SpecsService { ... }
14
- ```
15
-
16
- 2. **Implement Filesystem Source**
17
- ```typescript
18
- // packages/web/src/lib/specs/sources/filesystem-source.ts
19
- export class FilesystemSource implements SpecSource {
20
- private cache: Map<string, CachedSpec>;
21
- private reader: SpecReader;
22
- // ... implementation
23
- }
24
- ```
25
-
26
- 3. **Update All Data Fetching**
27
- - Replace `db.select()` calls with `specsService.getAllSpecs()`
28
- - Update API routes to use service layer
29
- - Update page components to use service layer
30
-
31
- 4. **Add Cache Invalidation API** (optional, nice-to-have)
32
- ```typescript
33
- // packages/web/src/app/api/revalidate/route.ts
34
- export async function POST(request: Request) {
35
- const { secret, specPath } = await request.json();
36
- if (secret !== process.env.REVALIDATION_SECRET) {
37
- return Response.json({ error: 'Unauthorized' }, { status: 401 });
38
- }
39
- specsService.invalidateCache(specPath);
40
- revalidatePath('/specs');
41
- return Response.json({ revalidated: true });
42
- }
43
- ```
44
-
45
- 5. **Environment Configuration**
46
- ```bash
47
- # .env.local (development)
48
- SPECS_MODE=filesystem
49
- SPECS_DIR=../../specs
50
- CACHE_TTL=60000
51
-
52
- # Vercel (production)
53
- SPECS_MODE=filesystem
54
- SPECS_DIR=../../specs
55
- CACHE_TTL=60000
56
- ```
57
-
58
- 6. **Keep Database Schema (for Phase 2)**
59
- - Don't delete database code yet
60
- - Add feature flag to switch between modes
61
- - Document migration path for Phase 2
62
-
63
- **Testing:**
64
- - [ ] All specs load from filesystem
65
- - [ ] Cache works (verify hit rate)
66
- - [ ] Performance <100ms
67
- - [ ] Deployment to Vercel succeeds
68
- - [ ] Specs update within 60s of file change
69
-
70
- #### Phase 2: Database Mode (v0.3.1 - Days 5-8)
71
-
72
- **Goal**: Add multi-project support with GitHub integration
73
-
74
- **Changes Required:**
75
-
76
- 1. **Implement Database Source**
77
- ```typescript
78
- // packages/web/src/lib/specs/sources/database-source.ts
79
- export class DatabaseSource implements SpecSource {
80
- async getAllSpecs(projectId?: string): Promise<Spec[]> { ... }
81
- async getSpec(specPath: string, projectId: string): Promise<Spec | null> { ... }
82
- }
83
- ```
84
-
85
- 2. **Implement GitHub Sync Service**
86
- ```typescript
87
- // packages/web/src/lib/github/sync-service.ts
88
- export class GitHubSyncService {
89
- async syncProject(owner: string, repo: string, projectId: string) { ... }
90
- private async discoverSpecs(owner: string, repo: string) { ... }
91
- private computeDiff(repoSpecs: Spec[], dbSpecs: Spec[]) { ... }
92
- }
93
- ```
94
-
95
- 3. **Add Project Management UI**
96
- - Add project page (admin only)
97
- - Add project form (owner, repo, sync frequency)
98
- - Add sync status dashboard
99
-
100
- 4. **Add Scheduled Sync (Vercel Cron)**
101
- ```typescript
102
- // packages/web/src/app/api/cron/sync/route.ts
103
- export async function GET(request: Request) {
104
- // Verify cron secret
105
- if (request.headers.get('Authorization') !== `Bearer ${process.env.CRON_SECRET}`) {
106
- return Response.json({ error: 'Unauthorized' }, { status: 401 });
107
- }
108
-
109
- // Sync all projects
110
- const projects = await db.select().from(schema.projects);
111
- for (const project of projects) {
112
- await syncService.syncProject(project.githubOwner, project.githubRepo, project.id);
113
- }
114
-
115
- return Response.json({ synced: projects.length });
116
- }
117
- ```
118
-
119
- 5. **Update Configuration**
120
- ```bash
121
- # Vercel (production)
122
- SPECS_MODE=both # Enable both modes
123
- DATABASE_URL=postgres://...
124
- GITHUB_TOKEN=ghp_...
125
- CRON_SECRET=...
126
- ```
127
-
128
- 6. **Update Service Layer Routing**
129
- - If `projectId` provided → use database source
130
- - Otherwise → use filesystem source
131
- - Graceful fallback if one fails
132
-
133
- **Testing:**
134
- - [ ] Can add external GitHub repo
135
- - [ ] Sync discovers all specs
136
- - [ ] Database stores specs correctly
137
- - [ ] UI shows both local and external specs
138
- - [ ] Cron job runs successfully
139
-
140
- #### Phase 3: Webhooks & Optimization (v0.4 - Future)
141
-
142
- **Goal**: Near-realtime sync with webhooks
143
-
144
- **Changes Required:**
145
-
146
- 1. **GitHub Webhook Endpoint**
147
- ```typescript
148
- // packages/web/src/app/api/webhooks/github/route.ts
149
- export async function POST(request: Request) {
150
- const payload = await request.json();
151
- const event = request.headers.get('X-GitHub-Event');
152
-
153
- if (event === 'push') {
154
- const { repository, commits } = payload;
155
- const changedFiles = commits.flatMap(c => c.modified);
156
-
157
- if (changedFiles.some(f => f.startsWith('specs/'))) {
158
- // Trigger sync for this project
159
- await syncService.syncProject(
160
- repository.owner.login,
161
- repository.name,
162
- projectId
163
- );
164
- }
165
- }
166
-
167
- return Response.json({ ok: true });
168
- }
169
- ```
170
-
171
- 2. **Webhook Management UI**
172
- - Auto-configure webhook on project add
173
- - Show webhook status and delivery logs
174
- - Retry failed deliveries
175
-
176
- 3. **Incremental Sync**
177
- - Only sync changed specs (not full resync)
178
- - Use webhook payload to identify changed files
179
- - Much faster than full sync
180
-
181
- **Testing:**
182
- - [ ] Webhook receives push events
183
- - [ ] Only changed specs are synced
184
- - [ ] Latency <10 seconds from push to UI update