@leanspec/ui 0.2.8 → 0.2.9-dev.20251205030455

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 (640) 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/node_modules/.pnpm/source-map@0.8.0-beta.0/node_modules/source-map/package.json +95 -0
  3. package/.next/standalone/packages/ui/.next/BUILD_ID +1 -1
  4. package/.next/standalone/packages/ui/.next/app-path-routes-manifest.json +8 -0
  5. package/.next/standalone/packages/ui/.next/build-manifest.json +4 -4
  6. package/.next/standalone/packages/ui/.next/prerender-manifest.json +3 -3
  7. package/.next/standalone/packages/ui/.next/required-server-files.json +4 -4
  8. package/.next/standalone/packages/ui/.next/routes-manifest.json +60 -0
  9. package/.next/standalone/packages/ui/.next/server/app/_global-error/page/build-manifest.json +2 -2
  10. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js +1 -1
  11. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js.nft.json +1 -1
  12. package/.next/standalone/packages/ui/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/packages/ui/.next/server/app/_global-error.html +2 -2
  14. package/.next/standalone/packages/ui/.next/server/app/_global-error.rsc +1 -1
  15. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  16. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  17. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  18. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  19. package/.next/standalone/packages/ui/.next/server/app/_not-found/page/build-manifest.json +2 -2
  20. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js +2 -2
  21. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js.nft.json +1 -1
  22. package/.next/standalone/packages/ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/packages/ui/.next/server/app/_not-found.html +2 -2
  24. package/.next/standalone/packages/ui/.next/server/app/_not-found.rsc +18 -18
  25. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +18 -18
  26. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
  27. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  28. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  29. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +5 -5
  30. package/.next/standalone/packages/ui/.next/server/app/api/context/route.js +1 -1
  31. package/.next/standalone/packages/ui/.next/server/app/api/context/route.js.nft.json +1 -1
  32. package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route/app-paths-manifest.json +3 -0
  33. package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route/build-manifest.json +11 -0
  34. package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route/server-reference-manifest.json +4 -0
  35. package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js +8 -0
  36. package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js.map +5 -0
  37. package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js.nft.json +1 -0
  38. package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route_client-reference-manifest.js +2 -0
  39. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js.nft.json +1 -1
  40. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js.nft.json +1 -1
  41. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js.nft.json +1 -1
  42. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js.nft.json +1 -1
  43. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route/app-paths-manifest.json +3 -0
  44. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route/build-manifest.json +11 -0
  45. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route/server-reference-manifest.json +4 -0
  46. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js +8 -0
  47. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js.map +5 -0
  48. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js.nft.json +1 -0
  49. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route_client-reference-manifest.js +2 -0
  50. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route/app-paths-manifest.json +3 -0
  51. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route/build-manifest.json +11 -0
  52. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route/server-reference-manifest.json +4 -0
  53. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js +8 -0
  54. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js.map +5 -0
  55. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js.nft.json +1 -0
  56. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route_client-reference-manifest.js +2 -0
  57. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js +1 -3
  58. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  59. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js +1 -2
  60. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js.nft.json +1 -1
  61. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js +1 -1
  62. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js.nft.json +1 -1
  63. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js +1 -2
  64. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
  65. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js +1 -1
  66. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js.nft.json +1 -1
  67. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route/app-paths-manifest.json +3 -0
  68. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route/build-manifest.json +11 -0
  69. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route/server-reference-manifest.json +4 -0
  70. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js +6 -0
  71. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js.map +5 -0
  72. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js.nft.json +1 -0
  73. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route_client-reference-manifest.js +2 -0
  74. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js +1 -3
  75. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js.nft.json +1 -1
  76. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js +1 -1
  77. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js.nft.json +1 -1
  78. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js +1 -1
  79. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
  80. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js +1 -1
  81. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js.nft.json +1 -1
  82. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js.nft.json +1 -1
  83. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js +1 -1
  84. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
  85. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js +1 -1
  86. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js.nft.json +1 -1
  87. package/.next/standalone/packages/ui/.next/server/app/context/page/build-manifest.json +2 -2
  88. package/.next/standalone/packages/ui/.next/server/app/context/page.js +2 -2
  89. package/.next/standalone/packages/ui/.next/server/app/context/page.js.nft.json +1 -1
  90. package/.next/standalone/packages/ui/.next/server/app/context/page_client-reference-manifest.js +1 -1
  91. package/.next/standalone/packages/ui/.next/server/app/dependencies/page/app-paths-manifest.json +3 -0
  92. package/.next/standalone/packages/ui/.next/server/app/dependencies/page/build-manifest.json +18 -0
  93. package/.next/standalone/packages/ui/.next/server/app/dependencies/page/next-font-manifest.json +6 -0
  94. package/.next/standalone/packages/ui/.next/server/app/dependencies/page/react-loadable-manifest.json +1 -0
  95. package/.next/standalone/packages/ui/.next/server/app/dependencies/page/server-reference-manifest.json +4 -0
  96. package/.next/standalone/packages/ui/.next/server/app/dependencies/page.js +19 -0
  97. package/.next/standalone/packages/ui/.next/server/app/dependencies/page.js.map +5 -0
  98. package/.next/standalone/packages/ui/.next/server/app/dependencies/page.js.nft.json +1 -0
  99. package/.next/standalone/packages/ui/.next/server/app/dependencies/page_client-reference-manifest.js +2 -0
  100. package/.next/standalone/packages/ui/.next/server/app/page/build-manifest.json +2 -2
  101. package/.next/standalone/packages/ui/.next/server/app/page.js +4 -3
  102. package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
  103. package/.next/standalone/packages/ui/.next/server/app/page_client-reference-manifest.js +1 -1
  104. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/app-paths-manifest.json +3 -0
  105. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/build-manifest.json +18 -0
  106. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/next-font-manifest.json +6 -0
  107. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/react-loadable-manifest.json +1 -0
  108. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/server-reference-manifest.json +4 -0
  109. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js +21 -0
  110. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js.map +5 -0
  111. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js.nft.json +1 -0
  112. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page_client-reference-manifest.js +2 -0
  113. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/app-paths-manifest.json +3 -0
  114. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/build-manifest.json +18 -0
  115. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/next-font-manifest.json +6 -0
  116. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/react-loadable-manifest.json +1 -0
  117. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/server-reference-manifest.json +4 -0
  118. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js +21 -0
  119. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js.map +5 -0
  120. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js.nft.json +1 -0
  121. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page_client-reference-manifest.js +2 -0
  122. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page/build-manifest.json +2 -2
  123. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js +7 -7
  124. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.nft.json +1 -1
  125. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +1 -1
  126. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/build-manifest.json +2 -2
  127. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js +8 -7
  128. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.nft.json +1 -1
  129. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page_client-reference-manifest.js +1 -1
  130. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/build-manifest.json +2 -2
  131. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js +7 -6
  132. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.nft.json +1 -1
  133. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page_client-reference-manifest.js +1 -1
  134. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/app-paths-manifest.json +3 -0
  135. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/build-manifest.json +18 -0
  136. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/next-font-manifest.json +6 -0
  137. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/react-loadable-manifest.json +1 -0
  138. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/server-reference-manifest.json +4 -0
  139. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js +21 -0
  140. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js.map +5 -0
  141. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js.nft.json +1 -0
  142. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page_client-reference-manifest.js +2 -0
  143. package/.next/standalone/packages/ui/.next/server/app/projects/page/build-manifest.json +2 -2
  144. package/.next/standalone/packages/ui/.next/server/app/projects/page.js +7 -6
  145. package/.next/standalone/packages/ui/.next/server/app/projects/page.js.nft.json +1 -1
  146. package/.next/standalone/packages/ui/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  147. package/.next/standalone/packages/ui/.next/server/app/projects.html +2 -2
  148. package/.next/standalone/packages/ui/.next/server/app/projects.rsc +24 -23
  149. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +24 -23
  150. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +9 -9
  151. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  152. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  153. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  154. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page/build-manifest.json +2 -2
  155. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js +2 -2
  156. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js.nft.json +1 -1
  157. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
  158. package/.next/standalone/packages/ui/.next/server/app/specs/page/build-manifest.json +2 -2
  159. package/.next/standalone/packages/ui/.next/server/app/specs/page.js +2 -2
  160. package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
  161. package/.next/standalone/packages/ui/.next/server/app/specs/page_client-reference-manifest.js +1 -1
  162. package/.next/standalone/packages/ui/.next/server/app/stats/page/build-manifest.json +2 -2
  163. package/.next/standalone/packages/ui/.next/server/app/stats/page.js +2 -2
  164. package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
  165. package/.next/standalone/packages/ui/.next/server/app/stats/page_client-reference-manifest.js +1 -1
  166. package/.next/standalone/packages/ui/.next/server/app-paths-manifest.json +8 -0
  167. package/.next/standalone/packages/ui/.next/server/chunks/6681a__next-internal_server_app_api_projects_[id]_dependencies_route_actions_7ac49581.js +3 -0
  168. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_context_route_actions_96adca70.js +3 -0
  169. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_validate_route_actions_b60372c9.js +3 -0
  170. package/.next/standalone/packages/ui/.next/server/chunks/[externals]_better-sqlite3_a1cc22cb._.js +3 -0
  171. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__1706515f._.js +3 -0
  172. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__18aca702._.js +3 -0
  173. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__27348781._.js +3 -0
  174. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3a7f0840._.js +3 -0
  175. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3e17db24._.js +3 -0
  176. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__5f1e0195._.js +3 -0
  177. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__6e06fd2a._.js +3 -0
  178. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__71d98924._.js +3 -0
  179. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__97b99cc0._.js +3 -0
  180. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9d9758e1._.js +3 -0
  181. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b1ad8b69._.js +3 -0
  182. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b212b9bd._.js +3 -0
  183. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b9c03a57._.js +3 -0
  184. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__e99e7672._.js +3 -0
  185. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f38a5f20._.js +3 -0
  186. package/.next/standalone/packages/ui/.next/server/chunks/{[root-of-the-server]__126dea7b._.js → [root-of-the-server]__fa8cf2bc._.js} +2 -2
  187. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_dependencies_route_actions_cf6b14c3.js +3 -0
  188. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_b8c1af87._.js +3 -0
  189. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_baa0160d._.js +72 -1
  190. package/.next/standalone/packages/ui/.next/server/chunks/ssr/730ea_ui__next-internal_server_app_projects_[projectId]_context_page_actions_e4940a48.js +3 -0
  191. package/.next/standalone/packages/ui/.next/server/chunks/ssr/730ea_ui__next-internal_server_app_projects_[projectId]_stats_page_actions_82a85203.js +3 -0
  192. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__0f0dade1._.js +1 -1
  193. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__13f96ef4._.js +3 -0
  194. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__212c8580._.js +3 -0
  195. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__2b66bcca._.js +3 -0
  196. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__312221a2._.js +3 -0
  197. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__366688dd._.js +3 -0
  198. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__fd80e4dd._.js → [root-of-the-server]__38c56adc._.js} +2 -2
  199. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__44b603f9._.js +3 -0
  200. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__46b71f61._.js +3 -0
  201. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__53f4506c._.js +3 -0
  202. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__665ae766._.js +3 -0
  203. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__84124d4b._.js +3 -0
  204. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__921689ca._.js +3 -0
  205. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a34731d8._.js +3 -0
  206. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a9d7fd42._.js +3 -0
  207. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b0d6e2ad._.js +3 -0
  208. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b27b2469._.js +3 -0
  209. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b3633d6e._.js +3 -0
  210. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__dcee62dd._.js +3 -0
  211. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_000dd317._.js +1 -1
  212. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_03aa8d19._.js +7 -0
  213. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_39562b2a._.js → _170362f4._.js} +3 -3
  214. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_1a642e67._.js +4 -0
  215. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_28fe1532._.js +1 -1
  216. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_85effc18._.js → _2bc76f88._.js} +3 -3
  217. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_fdd7780b._.js → _3f059230._.js} +3 -3
  218. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_58b98a8f._.js +4 -0
  219. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_8ab6f9ca._.js +3 -0
  220. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_90eed09a._.js +3 -0
  221. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_22274047._.js → _adb9d7cb._.js} +2 -2
  222. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b303aeea._.js +3 -0
  223. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_bae6d2b8._.js → _b421ba4a._.js} +3 -3
  224. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_d840ffc6._.js +3 -0
  225. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_da18b655._.js +3 -0
  226. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ec637d7c._.js +3 -0
  227. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f05260d6._.js +4 -0
  228. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f38e75b7._.js +4 -0
  229. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f9129aae._.js +3 -0
  230. package/.next/standalone/packages/ui/.next/server/chunks/ssr/f825c_server_app_projects_[projectId]_dependencies_page_actions_ba2321b8.js +3 -0
  231. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_0056f1f2._.js +3 -0
  232. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_015f83ca._.js +3 -0
  233. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_30b0b05a._.js +3 -0
  234. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_478d57e5._.js +3 -0
  235. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_4e3e790c._.js +3 -0
  236. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_80605a06._.js +3 -0
  237. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_f5b29533._.js → node_modules__pnpm_8680dc29._.js} +2 -2
  238. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_e175b92a._.js → node_modules__pnpm_94a0b1f5._.js} +2 -2
  239. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b4ff5c78._.js +3 -0
  240. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_bb80de48._.js +3 -0
  241. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_7791e3b8._.js → node_modules__pnpm_d3262b3d._.js} +2 -2
  242. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_e8075f9b._.js +3 -0
  243. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_f919ef4a._.js +3 -0
  244. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_dependencies_page_actions_57387d47.js +3 -0
  245. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_context_context-client_tsx_4ba99a62._.js +2 -2
  246. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_dependencies_dependencies-client_tsx_0e82443a._.js +4 -0
  247. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_layout_tsx_86c2ce0f._.js +3 -0
  248. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_page_tsx_6e166c8e._.js +1 -1
  249. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_specs_specs-client_tsx_0bb8f8f8._.js +1 -1
  250. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_spec-detail-wrapper_tsx_fd35401c._.js +3 -0
  251. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_specs-nav-sidebar_tsx_8237ed13._.js +1 -1
  252. package/.next/standalone/packages/ui/.next/server/middleware-build-manifest.js +2 -2
  253. package/.next/standalone/packages/ui/.next/server/pages/404.html +2 -2
  254. package/.next/standalone/packages/ui/.next/server/pages/500.html +2 -2
  255. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.js +1 -1
  256. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.json +1 -1
  257. package/.next/standalone/packages/ui/.next/static/chunks/04de9ed512b8098b.js +10 -0
  258. package/.next/standalone/packages/ui/.next/static/chunks/1e0689744f87e958.js +2 -0
  259. package/.next/standalone/packages/ui/.next/static/chunks/3d12a8c3152b526d.js +3 -0
  260. package/.next/standalone/packages/ui/.next/static/chunks/4610aea3ca2e69eb.js +2 -0
  261. package/.next/standalone/packages/ui/.next/static/chunks/46275d9d67603bf5.js +1 -0
  262. package/.next/standalone/packages/ui/.next/static/chunks/7931c6cb379305b1.js +1 -0
  263. package/.next/standalone/packages/ui/.next/static/chunks/7a00633903e066b4.js +1 -0
  264. package/.next/standalone/packages/ui/.next/static/chunks/{942cf63b4032c808.js → 7df6308e6cfcf902.js} +1 -1
  265. package/.next/standalone/packages/ui/.next/static/chunks/7f9a218732be8099.js +5 -0
  266. package/.next/standalone/packages/ui/.next/static/chunks/840c6743a491a398.js +1 -0
  267. package/.next/standalone/packages/ui/.next/static/chunks/8a6e8f3394240dbb.js +1 -0
  268. package/.next/standalone/packages/ui/.next/static/chunks/8d8c106c6848d15b.js +1 -0
  269. package/.next/standalone/packages/ui/.next/static/chunks/a5e25b9fa6b88eee.js +1 -0
  270. package/.next/standalone/packages/ui/.next/static/chunks/a640b005f2e15d98.js +1 -0
  271. package/.next/standalone/packages/ui/.next/static/chunks/a7075a240adea8e8.js +1 -0
  272. package/.next/standalone/packages/ui/.next/static/chunks/b53250480fde6816.js +1 -0
  273. package/.next/{static/chunks/794f3931f1ca12d2.js → standalone/packages/ui/.next/static/chunks/bbd498aa5689c057.js} +1 -1
  274. package/.next/standalone/packages/ui/.next/static/chunks/c26909a25ca9fc9b.js +1 -0
  275. package/.next/standalone/packages/ui/.next/static/chunks/c658e22a605e0ed1.js +1 -0
  276. package/.next/standalone/packages/ui/.next/static/chunks/c92660d8d0c4763d.js +1 -0
  277. package/.next/standalone/packages/ui/.next/static/chunks/{e3bc96a996e2a314.js → d26f4109b44eb240.js} +1 -1
  278. package/.next/standalone/packages/ui/.next/static/chunks/{3276ca6fd9005903.js → d52a048b511c32bd.js} +1 -1
  279. package/.next/standalone/packages/ui/.next/static/chunks/ddb2935cfe5310c7.css +1 -0
  280. package/.next/standalone/packages/ui/.next/static/chunks/e399b4afc7936907.js +1 -0
  281. package/.next/standalone/packages/ui/.next/static/chunks/f924ae32752e1583.js +1 -0
  282. package/.next/standalone/packages/ui/.next/static/chunks/ff11efb770d5a0bc.js +1 -0
  283. package/.next/{static/chunks/turbopack-5fa55215af0efb15.js → standalone/packages/ui/.next/static/chunks/turbopack-261c5dcdd873f310.js} +1 -1
  284. package/.next/standalone/packages/ui/package.json +3 -1
  285. package/.next/standalone/packages/ui/server.js +1 -1
  286. package/.next/standalone/packages/ui/src/app/api/dependencies/route.ts +81 -0
  287. package/.next/standalone/packages/ui/src/app/api/projects/[id]/context/route.ts +39 -0
  288. package/.next/standalone/packages/ui/src/app/api/projects/[id]/dependencies/route.ts +69 -0
  289. package/.next/standalone/packages/ui/src/app/api/projects/[id]/route.ts +25 -9
  290. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/route.ts +14 -14
  291. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/route.ts +9 -8
  292. package/.next/standalone/packages/ui/src/app/api/projects/[id]/validate/route.ts +49 -0
  293. package/.next/standalone/packages/ui/src/app/api/projects/route.ts +18 -5
  294. package/.next/standalone/packages/ui/src/app/api/specs/[id]/dependency-graph/route.test.ts +0 -2
  295. package/.next/standalone/packages/ui/src/app/api/specs/[id]/dependency-graph/route.ts +0 -15
  296. package/.next/standalone/packages/ui/src/app/context/context-client.tsx +23 -1
  297. package/.next/standalone/packages/ui/src/app/dashboard-client.tsx +29 -58
  298. package/.next/standalone/packages/ui/src/app/dependencies/constants.ts +25 -0
  299. package/.next/standalone/packages/ui/src/app/dependencies/dependencies-client.tsx +700 -0
  300. package/.next/standalone/packages/ui/src/app/dependencies/index.ts +19 -0
  301. package/.next/standalone/packages/ui/src/app/dependencies/page.tsx +38 -0
  302. package/.next/standalone/packages/ui/src/app/dependencies/spec-node.tsx +80 -0
  303. package/.next/standalone/packages/ui/src/app/dependencies/spec-sidebar.tsx +171 -0
  304. package/.next/standalone/packages/ui/src/app/dependencies/types.ts +37 -0
  305. package/.next/standalone/packages/ui/src/app/dependencies/utils.ts +194 -0
  306. package/.next/standalone/packages/ui/src/app/page.tsx +24 -0
  307. package/.next/standalone/packages/ui/src/app/projects/[projectId]/context/page.tsx +41 -0
  308. package/.next/standalone/packages/ui/src/app/projects/[projectId]/dependencies/page.tsx +43 -0
  309. package/.next/standalone/packages/ui/src/app/projects/[projectId]/page.tsx +18 -2
  310. package/.next/standalone/packages/ui/src/app/projects/[projectId]/stats/page.tsx +24 -0
  311. package/.next/standalone/packages/ui/src/app/projects/layout.tsx +7 -0
  312. package/.next/standalone/packages/ui/src/app/projects/page.tsx +167 -20
  313. package/.next/standalone/packages/ui/src/app/specs/specs-client.tsx +27 -17
  314. package/.next/standalone/packages/ui/src/components/color-picker.tsx +73 -0
  315. package/.next/standalone/packages/ui/src/components/context-file-detail.tsx +308 -0
  316. package/.next/standalone/packages/ui/src/components/context-file-viewer.tsx +96 -2
  317. package/.next/standalone/packages/ui/src/components/create-project-dialog.tsx +3 -5
  318. package/.next/standalone/packages/ui/src/components/directory-picker.tsx +1 -0
  319. package/.next/standalone/packages/ui/src/components/main-sidebar.tsx +31 -6
  320. package/.next/standalone/packages/ui/src/components/markdown-link.tsx +15 -8
  321. package/.next/standalone/packages/ui/src/components/project-switcher.tsx +24 -5
  322. package/.next/standalone/packages/ui/src/components/quick-search.tsx +3 -1
  323. package/.next/standalone/packages/ui/src/components/spec-dependency-graph.tsx +13 -52
  324. package/.next/standalone/packages/ui/src/components/spec-detail-client.tsx +36 -11
  325. package/.next/standalone/packages/ui/src/components/spec-detail-wrapper.tsx +3 -4
  326. package/.next/standalone/packages/ui/src/components/specs-nav-sidebar.tsx +8 -6
  327. package/.next/standalone/packages/ui/src/contexts/project-context.tsx +24 -0
  328. package/.next/standalone/packages/ui/src/lib/db/service-queries.ts +85 -31
  329. package/.next/standalone/packages/ui/src/lib/dependency-graph.ts +0 -13
  330. package/.next/standalone/packages/ui/src/types/specs.ts +6 -4
  331. package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
  332. package/.next/static/chunks/04de9ed512b8098b.js +10 -0
  333. package/.next/static/chunks/1e0689744f87e958.js +2 -0
  334. package/.next/static/chunks/3d12a8c3152b526d.js +3 -0
  335. package/.next/static/chunks/4610aea3ca2e69eb.js +2 -0
  336. package/.next/static/chunks/46275d9d67603bf5.js +1 -0
  337. package/.next/static/chunks/7931c6cb379305b1.js +1 -0
  338. package/.next/static/chunks/7a00633903e066b4.js +1 -0
  339. package/.next/static/chunks/{942cf63b4032c808.js → 7df6308e6cfcf902.js} +1 -1
  340. package/.next/static/chunks/7f9a218732be8099.js +5 -0
  341. package/.next/static/chunks/840c6743a491a398.js +1 -0
  342. package/.next/static/chunks/8a6e8f3394240dbb.js +1 -0
  343. package/.next/static/chunks/8d8c106c6848d15b.js +1 -0
  344. package/.next/static/chunks/a5e25b9fa6b88eee.js +1 -0
  345. package/.next/static/chunks/a640b005f2e15d98.js +1 -0
  346. package/.next/static/chunks/a7075a240adea8e8.js +1 -0
  347. package/.next/static/chunks/b53250480fde6816.js +1 -0
  348. package/.next/{standalone/packages/ui/.next/static/chunks/794f3931f1ca12d2.js → static/chunks/bbd498aa5689c057.js} +1 -1
  349. package/.next/static/chunks/c26909a25ca9fc9b.js +1 -0
  350. package/.next/static/chunks/c658e22a605e0ed1.js +1 -0
  351. package/.next/static/chunks/c92660d8d0c4763d.js +1 -0
  352. package/.next/static/chunks/{e3bc96a996e2a314.js → d26f4109b44eb240.js} +1 -1
  353. package/.next/static/chunks/{3276ca6fd9005903.js → d52a048b511c32bd.js} +1 -1
  354. package/.next/static/chunks/ddb2935cfe5310c7.css +1 -0
  355. package/.next/static/chunks/e399b4afc7936907.js +1 -0
  356. package/.next/static/chunks/f924ae32752e1583.js +1 -0
  357. package/.next/static/chunks/ff11efb770d5a0bc.js +1 -0
  358. package/.next/{standalone/packages/ui/.next/static/chunks/turbopack-5fa55215af0efb15.js → static/chunks/turbopack-261c5dcdd873f310.js} +1 -1
  359. package/package.json +4 -2
  360. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__65667b70._.js +0 -3
  361. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__675a763e._.js +0 -3
  362. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__803d07f0._.js +0 -3
  363. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8233e09b._.js +0 -3
  364. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__84cdc14a._.js +0 -3
  365. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8a9ab1a3._.js +0 -3
  366. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__aa677b0d._.js +0 -3
  367. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__ae726e9c._.js +0 -3
  368. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bdc3963a._.js +0 -3
  369. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f06435b0._.js +0 -3
  370. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f5c6d6b8._.js +0 -3
  371. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__fb91986f._.js +0 -3
  372. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_db_index_ts_556307fa._.js +0 -74
  373. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_0bd881ee._.js +0 -3
  374. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__01bfc8ff._.js +0 -3
  375. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__12b4eb41._.js +0 -3
  376. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__4ec37765._.js +0 -3
  377. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__50122e7e._.js +0 -3
  378. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__6e739186._.js +0 -7
  379. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__88a691ee._.js +0 -3
  380. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a4c56419._.js +0 -7
  381. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b6632d78._.js +0 -3
  382. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__bdbbba01._.js +0 -3
  383. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__cc589a54._.js +0 -3
  384. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__daee3355._.js +0 -3
  385. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__ead1539c._.js +0 -3
  386. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_0f9ffe32._.js +0 -3
  387. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_315f3b3a._.js +0 -3
  388. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3b617676._.js +0 -3
  389. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_9dcf102b._.js +0 -3
  390. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ac867463._.js +0 -3
  391. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b397e94a._.js +0 -3
  392. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_3ba1438c._.js +0 -3
  393. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_8272a49c._.js +0 -3
  394. package/.next/standalone/packages/ui/.next/static/chunks/1eb8283995f370c6.js +0 -1
  395. package/.next/standalone/packages/ui/.next/static/chunks/20f4141ccb5d4eb4.js +0 -1
  396. package/.next/standalone/packages/ui/.next/static/chunks/2c85b8059e42248a.js +0 -1
  397. package/.next/standalone/packages/ui/.next/static/chunks/336e8e8fc6b0fba8.js +0 -1
  398. package/.next/standalone/packages/ui/.next/static/chunks/37a1236ed50645a6.js +0 -1
  399. package/.next/standalone/packages/ui/.next/static/chunks/3b6b058ebd14dbed.js +0 -1
  400. package/.next/standalone/packages/ui/.next/static/chunks/9d84ba08a41145ec.js +0 -5
  401. package/.next/standalone/packages/ui/.next/static/chunks/b8353eb8c6fb895e.js +0 -1
  402. package/.next/standalone/packages/ui/.next/static/chunks/c4b1faff3361a749.js +0 -1
  403. package/.next/standalone/packages/ui/.next/static/chunks/d7420d2a867e57b5.js +0 -1
  404. package/.next/standalone/packages/ui/.next/static/chunks/dae403679aae65f4.js +0 -1
  405. package/.next/standalone/packages/ui/.next/static/chunks/efded9da04c960d8.js +0 -1
  406. package/.next/standalone/packages/ui/.next/static/chunks/f382932f1a5d6359.js +0 -10
  407. package/.next/standalone/packages/ui/.next/static/chunks/f43b6e43b4da1a32.css +0 -1
  408. package/.next/standalone/packages/ui/.next/static/chunks/f6dd06e6d22d2d12.js +0 -3
  409. package/.next/standalone/packages/ui/dist/BUILD_ID +0 -1
  410. package/.next/standalone/packages/ui/dist/public/f864aa7e7061c0600e35cf3d879b27cf.txt +0 -1
  411. package/.next/standalone/packages/ui/dist/public/favicon.ico +0 -0
  412. package/.next/standalone/packages/ui/dist/public/file.svg +0 -1
  413. package/.next/standalone/packages/ui/dist/public/github-mark-white.svg +0 -1
  414. package/.next/standalone/packages/ui/dist/public/github-mark.svg +0 -1
  415. package/.next/standalone/packages/ui/dist/public/globe.svg +0 -1
  416. package/.next/standalone/packages/ui/dist/public/icon.svg +0 -7
  417. package/.next/standalone/packages/ui/dist/public/logo-dark-bg.svg +0 -17
  418. package/.next/standalone/packages/ui/dist/public/logo-with-bg.svg +0 -17
  419. package/.next/standalone/packages/ui/dist/public/logo.svg +0 -17
  420. package/.next/standalone/packages/ui/dist/public/next.svg +0 -1
  421. package/.next/standalone/packages/ui/dist/public/vercel.svg +0 -1
  422. package/.next/standalone/packages/ui/dist/public/window.svg +0 -1
  423. package/.next/standalone/packages/ui/dist/standalone/packages/web/README.md +0 -196
  424. package/.next/standalone/packages/ui/dist/standalone/packages/web/package.json +0 -75
  425. package/.next/standalone/packages/ui/dist/standalone/packages/web/server.js +0 -44
  426. package/.next/standalone/packages/ui/dist/standalone/specs/014-complete-custom-frontmatter/README.md +0 -175
  427. package/.next/standalone/packages/ui/dist/standalone/specs/016-github-action/README.md +0 -317
  428. package/.next/standalone/packages/ui/dist/standalone/specs/017-vscode-extension/README.md +0 -261
  429. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CLI-DESIGN.md +0 -380
  430. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION-EXAMPLES.md +0 -230
  431. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION.md +0 -285
  432. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/IMPLEMENTATION.md +0 -358
  433. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/README.md +0 -303
  434. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/TESTING.md +0 -368
  435. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/VALIDATION-RULES.md +0 -327
  436. package/.next/standalone/packages/ui/dist/standalone/specs/024-pattern-aware-list-grouping/README.md +0 -117
  437. package/.next/standalone/packages/ui/dist/standalone/specs/025-template-config-updates/README.md +0 -73
  438. package/.next/standalone/packages/ui/dist/standalone/specs/026-init-pattern-selection/README.md +0 -109
  439. package/.next/standalone/packages/ui/dist/standalone/specs/034-copilot-slash-commands/README.md +0 -107
  440. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/ARCHITECTURE.md +0 -244
  441. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/IMPLEMENTATION.md +0 -429
  442. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/README.md +0 -302
  443. package/.next/standalone/packages/ui/dist/standalone/specs/036-pm-integrations/README.md +0 -158
  444. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-AI-ASSISTED.md +0 -359
  445. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-FULL-LIFECYCLE.md +0 -86
  446. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-REAL-FEATURE.md +0 -437
  447. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-SCRIPT.md +0 -365
  448. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-FINAL.md +0 -203
  449. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SESSION-2025-11-06.md +0 -174
  450. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SUMMARY.md +0 -156
  451. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/IMPLEMENTATION.md +0 -183
  452. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/MARKETING.md +0 -229
  453. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/NEXT-STEPS-DEMO.md +0 -243
  454. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/README.md +0 -217
  455. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/SESSION-2025-11-06.md +0 -166
  456. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/TESTING.md +0 -126
  457. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/ACTUAL-IMPLEMENTATION.md +0 -108
  458. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/DESIGN.md +0 -382
  459. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/IMPLEMENTATION.md +0 -144
  460. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/RATIONALE.md +0 -146
  461. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/README.md +0 -208
  462. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/TESTING.md +0 -182
  463. package/.next/standalone/packages/ui/dist/standalone/specs/047-git-backfill-timestamps/README.md +0 -314
  464. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/FINDINGS.md +0 -113
  465. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/GUIDELINES.md +0 -237
  466. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/README.md +0 -149
  467. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-COMPARISONS.md +0 -175
  468. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-CONSTRAINTS.md +0 -254
  469. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/FIRST-PRINCIPLES.md +0 -376
  470. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-ROADMAP.md +0 -240
  471. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-TOOLS.md +0 -175
  472. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/README.md +0 -374
  473. package/.next/standalone/packages/ui/dist/standalone/specs/051-docs-system-prompt-principles/README.md +0 -339
  474. package/.next/standalone/packages/ui/dist/standalone/specs/052-branding-assets/README.md +0 -128
  475. package/.next/standalone/packages/ui/dist/standalone/specs/053-spec-assets-philosophy/README.md +0 -97
  476. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/DESIGN-DECISIONS.md +0 -93
  477. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/OUTPUT-FORMAT-SPEC.md +0 -146
  478. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/README.md +0 -175
  479. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART1.md +0 -397
  480. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART2.md +0 -342
  481. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS.md +0 -44
  482. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CHANGES.md +0 -150
  483. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CONCERNS-ANALYSIS.md +0 -351
  484. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/DOCS-ALIGNMENT-ANALYSIS.md +0 -238
  485. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/README.md +0 -280
  486. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-DRAFT.md +0 -372
  487. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-REFINED.md +0 -466
  488. package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/AUDIT-RESULTS.md +0 -178
  489. package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/README.md +0 -174
  490. package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/README.md +0 -295
  491. package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/VALIDATION-RESULTS.md +0 -487
  492. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/ANALYSIS.md +0 -241
  493. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/DESIGN.md +0 -279
  494. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/IMPLEMENTATION.md +0 -642
  495. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/NOTES.md +0 -125
  496. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/README.md +0 -286
  497. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/ARCHITECTURE.md +0 -392
  498. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/COMMANDS.md +0 -1002
  499. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/CONTEXT-ENGINEERING.md +0 -411
  500. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/IMPLEMENTATION.md +0 -812
  501. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/README.md +0 -504
  502. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/TESTING.md +0 -724
  503. package/.next/standalone/packages/ui/dist/standalone/specs/060-core-concepts-coherence/README.md +0 -125
  504. package/.next/standalone/packages/ui/dist/standalone/specs/061-ai-assisted-spec-writing/README.md +0 -299
  505. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/IMPLEMENTATION-PLAN.md +0 -174
  506. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PAGE-SPECIFICATIONS.md +0 -265
  507. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PROBLEM-ANALYSIS.md +0 -36
  508. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/README.md +0 -243
  509. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/SOLUTION-DESIGN.md +0 -82
  510. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/DESIGN.md +0 -338
  511. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/EXAMPLES.md +0 -354
  512. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/IMPLEMENTATION.md +0 -189
  513. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/README.md +0 -119
  514. package/.next/standalone/packages/ui/dist/standalone/specs/064-docs-site-zh-translation/README.md +0 -170
  515. package/.next/standalone/packages/ui/dist/standalone/specs/065-v03-planning/README.md +0 -158
  516. package/.next/standalone/packages/ui/dist/standalone/specs/066-context-economy-thresholds-refinement/README.md +0 -842
  517. package/.next/standalone/packages/ui/dist/standalone/specs/067-monorepo-core-extraction/README.md +0 -358
  518. package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/DESIGN.md +0 -444
  519. package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/README.md +0 -357
  520. package/.next/standalone/packages/ui/dist/standalone/specs/069-token-counting-utils/README.md +0 -551
  521. package/.next/standalone/packages/ui/dist/standalone/specs/070-mcp-token-counting-tool/README.md +0 -372
  522. package/.next/standalone/packages/ui/dist/standalone/specs/071-simplified-token-validation/README.md +0 -489
  523. package/.next/standalone/packages/ui/dist/standalone/specs/072-ai-agent-first-use-workflow/README.md +0 -285
  524. package/.next/standalone/packages/ui/dist/standalone/specs/073-template-engine-agents-md/README.md +0 -323
  525. package/.next/standalone/packages/ui/dist/standalone/specs/074-content-at-creation/README.md +0 -136
  526. package/.next/standalone/packages/ui/dist/standalone/specs/075-intelligent-search-engine/README.md +0 -399
  527. package/.next/standalone/packages/ui/dist/standalone/specs/076-programmatic-spec-relationships/README.md +0 -301
  528. package/.next/standalone/packages/ui/dist/standalone/specs/077-archiving-strategy/README.md +0 -235
  529. package/.next/standalone/packages/ui/dist/standalone/specs/078-sub-spec-template-system/README.md +0 -303
  530. package/.next/standalone/packages/ui/dist/standalone/specs/079-cli-alphabetical-organization/README.md +0 -196
  531. package/.next/standalone/packages/ui/dist/standalone/specs/080-mcp-server-modular-architecture/README.md +0 -388
  532. package/.next/standalone/packages/ui/dist/standalone/specs/081-web-app-ux-redesign/README.md +0 -824
  533. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DATABASE.md +0 -111
  534. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DEPLOYMENT.md +0 -69
  535. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/FILESYSTEM.md +0 -77
  536. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/IMPLEMENTATION.md +0 -184
  537. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/README.md +0 -496
  538. package/.next/standalone/packages/ui/dist/standalone/specs/083-web-navigation-performance/README.md +0 -490
  539. package/.next/standalone/packages/ui/dist/standalone/specs/084-sub-spec-visibility-in-tools/README.md +0 -389
  540. package/.next/standalone/packages/ui/dist/standalone/specs/085-cli-relationship-commands/README.md +0 -920
  541. package/.next/standalone/packages/ui/dist/standalone/specs/086-template-component-deduplication/README.md +0 -146
  542. package/.next/standalone/packages/ui/dist/standalone/specs/087-cli-ui-command/README.md +0 -607
  543. package/.next/standalone/packages/ui/dist/standalone/specs/088-core-concepts-terminology-only/README.md +0 -104
  544. package/.next/standalone/packages/ui/dist/standalone/specs/089-sdd-practical-tutorials/README.md +0 -124
  545. package/.next/standalone/packages/ui/dist/standalone/specs/090-leanspec-sdd-case-studies/README.md +0 -129
  546. package/.next/standalone/packages/ui/dist/standalone/specs/091-chinese-localization-strategy/README.md +0 -244
  547. package/.next/standalone/packages/ui/dist/standalone/specs/092-docs-site-submodule-migration/README.md +0 -148
  548. package/.next/standalone/packages/ui/dist/standalone/specs/093-spec-detail-ui-improvements/README.md +0 -54
  549. package/.next/standalone/packages/ui/dist/standalone/specs/archived/001-typescript-cli-migration/README.md +0 -37
  550. package/.next/standalone/packages/ui/dist/standalone/specs/archived/002-template-system-redesign/README.md +0 -60
  551. package/.next/standalone/packages/ui/dist/standalone/specs/archived/003-init-system-redesign/README.md +0 -113
  552. package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/README.md +0 -69
  553. package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/SUMMARY.md +0 -112
  554. package/.next/standalone/packages/ui/dist/standalone/specs/archived/005-structured-frontmatter/README.md +0 -229
  555. package/.next/standalone/packages/ui/dist/standalone/specs/archived/006-pm-visualization-tools/README.md +0 -406
  556. package/.next/standalone/packages/ui/dist/standalone/specs/archived/007-system-prompt-updates/README.md +0 -168
  557. package/.next/standalone/packages/ui/dist/standalone/specs/archived/008-commander-migration/README.md +0 -174
  558. package/.next/standalone/packages/ui/dist/standalone/specs/archived/009-cli-ux-enhancement/README.md +0 -212
  559. package/.next/standalone/packages/ui/dist/standalone/specs/archived/010-commands-refactor/README.md +0 -249
  560. package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/README.md +0 -60
  561. package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/TEST_SUMMARY.md +0 -139
  562. package/.next/standalone/packages/ui/dist/standalone/specs/archived/012-sub-spec-files/README.md +0 -722
  563. package/.next/standalone/packages/ui/dist/standalone/specs/archived/013-custom-spec-templates/README.md +0 -413
  564. package/.next/standalone/packages/ui/dist/standalone/specs/archived/015-npm-publishing/README.md +0 -255
  565. package/.next/standalone/packages/ui/dist/standalone/specs/archived/019-readme-improvement/README.md +0 -252
  566. package/.next/standalone/packages/ui/dist/standalone/specs/archived/020-documentation-website/README.md +0 -253
  567. package/.next/standalone/packages/ui/dist/standalone/specs/archived/021-docusaurus-vercel-migration/README.md +0 -612
  568. package/.next/standalone/packages/ui/dist/standalone/specs/archived/022-flexible-folder-structure/README.md +0 -794
  569. package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/DESIGN.md +0 -834
  570. package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/README.md +0 -255
  571. package/.next/standalone/packages/ui/dist/standalone/specs/archived/027-cli-ui-ux-optimization/README.md +0 -454
  572. package/.next/standalone/packages/ui/dist/standalone/specs/archived/028-cli-ui-modernization/README.md +0 -172
  573. package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/IMPLEMENTATION.md +0 -152
  574. package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/README.md +0 -95
  575. package/.next/standalone/packages/ui/dist/standalone/specs/archived/030-created-date-format-bug/README.md +0 -87
  576. package/.next/standalone/packages/ui/dist/standalone/specs/archived/031-gantt-ux-improvements/README.md +0 -230
  577. package/.next/standalone/packages/ui/dist/standalone/specs/archived/032-console-log-chalk-security/README.md +0 -89
  578. package/.next/standalone/packages/ui/dist/standalone/specs/archived/033-mcp-server/README.md +0 -89
  579. package/.next/standalone/packages/ui/dist/standalone/specs/archived/037-docs-overhaul/README.md +0 -166
  580. package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-flat-structure-migration/README.md +0 -276
  581. package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-mcp-frontmatter-bug-fix/README.md +0 -122
  582. package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-simplify-viewer-commands/README.md +0 -198
  583. package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-template-variable-sync/README.md +0 -192
  584. package/.next/standalone/packages/ui/dist/standalone/specs/archived/040-spec-viewer-commands/README.md +0 -171
  585. package/.next/standalone/packages/ui/dist/standalone/specs/archived/042-mcp-error-handling/README.md +0 -200
  586. package/.next/standalone/packages/ui/dist/standalone/specs/archived/044-spec-relationships-clarity/README.md +0 -317
  587. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/DESIGN.md +0 -276
  588. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/IMPLEMENTATION.md +0 -241
  589. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/README.md +0 -139
  590. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/TESTING.md +0 -328
  591. package/.next/standalone/packages/ui/dist/standalone/specs/archived/050-tool-redesign-first-principles/README.md +0 -400
  592. package/.next/standalone/packages/ui/dist/static/chunks/0c19c69aa7625475.js +0 -1
  593. package/.next/standalone/packages/ui/dist/static/chunks/116800b03245a1e5.js +0 -1
  594. package/.next/standalone/packages/ui/dist/static/chunks/15843a3d7584e314.js +0 -1
  595. package/.next/standalone/packages/ui/dist/static/chunks/19e80edf527aef5c.js +0 -1
  596. package/.next/standalone/packages/ui/dist/static/chunks/465954d5af3284a9.js +0 -1
  597. package/.next/standalone/packages/ui/dist/static/chunks/5abeeb89f1412a80.js +0 -3
  598. package/.next/standalone/packages/ui/dist/static/chunks/5c2072ad938de8ed.js +0 -1
  599. package/.next/standalone/packages/ui/dist/static/chunks/6a05a93ec8fa7b83.js +0 -1
  600. package/.next/standalone/packages/ui/dist/static/chunks/778e42188e450b39.css +0 -1
  601. package/.next/standalone/packages/ui/dist/static/chunks/a02c1f50ff00204f.js +0 -1
  602. package/.next/standalone/packages/ui/dist/static/chunks/a45464b9776dd88e.js +0 -1
  603. package/.next/standalone/packages/ui/dist/static/chunks/a6dad97d9634a72d.js +0 -1
  604. package/.next/standalone/packages/ui/dist/static/chunks/b0ea0ac61604f843.js +0 -1
  605. package/.next/standalone/packages/ui/dist/static/chunks/c06e85b449720194.js +0 -1
  606. package/.next/standalone/packages/ui/dist/static/chunks/c557ac675be79771.js +0 -1
  607. package/.next/standalone/packages/ui/dist/static/chunks/cad005a57ffbb2d3.js +0 -1
  608. package/.next/standalone/packages/ui/dist/static/chunks/cdf6fe33bc65efbc.js +0 -1
  609. package/.next/standalone/packages/ui/dist/static/chunks/d12ed5dbe44caed7.js +0 -1
  610. package/.next/standalone/packages/ui/dist/static/chunks/d1ebe5c1a344f4ca.js +0 -5
  611. package/.next/standalone/packages/ui/dist/static/chunks/d42cf1682bc46652.js +0 -1
  612. package/.next/standalone/packages/ui/dist/static/chunks/dde5d8bddd7fbfcf.js +0 -1
  613. package/.next/standalone/packages/ui/dist/static/chunks/ebd89051637b9a47.js +0 -4
  614. package/.next/standalone/packages/ui/dist/static/chunks/ec82875d18b29f47.js +0 -2
  615. package/.next/standalone/packages/ui/dist/static/chunks/f0b701df9769bcc5.js +0 -19
  616. package/.next/standalone/packages/ui/dist/static/chunks/turbopack-1c09a99f4c9e28d3.js +0 -3
  617. package/.next/static/-Mn9iD4O5f_khGd1P3kmB/_buildManifest.js +0 -11
  618. package/.next/static/-Mn9iD4O5f_khGd1P3kmB/_clientMiddlewareManifest.json +0 -1
  619. package/.next/static/-Mn9iD4O5f_khGd1P3kmB/_ssgManifest.js +0 -1
  620. package/.next/static/chunks/1eb8283995f370c6.js +0 -1
  621. package/.next/static/chunks/20f4141ccb5d4eb4.js +0 -1
  622. package/.next/static/chunks/2c85b8059e42248a.js +0 -1
  623. package/.next/static/chunks/336e8e8fc6b0fba8.js +0 -1
  624. package/.next/static/chunks/37a1236ed50645a6.js +0 -1
  625. package/.next/static/chunks/3b6b058ebd14dbed.js +0 -1
  626. package/.next/static/chunks/9d84ba08a41145ec.js +0 -5
  627. package/.next/static/chunks/b8353eb8c6fb895e.js +0 -1
  628. package/.next/static/chunks/c4b1faff3361a749.js +0 -1
  629. package/.next/static/chunks/d7420d2a867e57b5.js +0 -1
  630. package/.next/static/chunks/dae403679aae65f4.js +0 -1
  631. package/.next/static/chunks/efded9da04c960d8.js +0 -1
  632. package/.next/static/chunks/f382932f1a5d6359.js +0 -10
  633. package/.next/static/chunks/f43b6e43b4da1a32.css +0 -1
  634. package/.next/static/chunks/f6dd06e6d22d2d12.js +0 -3
  635. /package/.next/standalone/packages/ui/.next/static/{-Mn9iD4O5f_khGd1P3kmB → T8X9UGfigRL0qWZiBHNjy}/_buildManifest.js +0 -0
  636. /package/.next/standalone/packages/ui/.next/static/{-Mn9iD4O5f_khGd1P3kmB → T8X9UGfigRL0qWZiBHNjy}/_clientMiddlewareManifest.json +0 -0
  637. /package/.next/standalone/packages/ui/.next/static/{-Mn9iD4O5f_khGd1P3kmB → T8X9UGfigRL0qWZiBHNjy}/_ssgManifest.js +0 -0
  638. /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/T8X9UGfigRL0qWZiBHNjy}/_buildManifest.js +0 -0
  639. /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/T8X9UGfigRL0qWZiBHNjy}/_clientMiddlewareManifest.json +0 -0
  640. /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/T8X9UGfigRL0qWZiBHNjy}/_ssgManifest.js +0 -0
@@ -0,0 +1,69 @@
1
+ import { NextResponse } from 'next/server';
2
+ import { getSpecsWithMetadata } from '@/lib/db/service-queries';
3
+ import type { ProjectDependencyGraph } from '@/app/api/dependencies/route';
4
+
5
+ export async function GET(
6
+ request: Request,
7
+ { params }: { params: Promise<{ id: string }> }
8
+ ) {
9
+ try {
10
+ const { id: projectId } = await params;
11
+ const specs = await getSpecsWithMetadata(projectId);
12
+
13
+ const nodes = specs
14
+ .filter(spec => spec.specNumber !== null)
15
+ .map(spec => ({
16
+ id: spec.id,
17
+ name: spec.title || spec.specName || `Spec ${spec.specNumber}`,
18
+ number: spec.specNumber!,
19
+ status: spec.status || 'planned',
20
+ priority: spec.priority || 'medium',
21
+ tags: spec.tags || [],
22
+ }));
23
+
24
+ const edges: ProjectDependencyGraph['edges'] = [];
25
+ const specIdByFolder = new Map<string, string>();
26
+
27
+ specs.forEach(spec => {
28
+ if (spec.specNumber !== null) {
29
+ const folderName = spec.filePath
30
+ .replace(/^specs\//, '')
31
+ .replace(/\/README\.md$/, '');
32
+ specIdByFolder.set(folderName, spec.id);
33
+
34
+ const paddedNumber = spec.specNumber.toString().padStart(3, '0');
35
+ specIdByFolder.set(paddedNumber, spec.id);
36
+ specIdByFolder.set(spec.specNumber.toString(), spec.id);
37
+ }
38
+ });
39
+
40
+ specs.forEach(spec => {
41
+ if (!spec.specNumber) return;
42
+
43
+ spec.relationships.dependsOn.forEach(dep => {
44
+ const depTrimmed = dep.trim();
45
+ const match = depTrimmed.match(/^(\d+)/);
46
+ const targetId = match
47
+ ? specIdByFolder.get(match[1]) || specIdByFolder.get(match[1].padStart(3, '0'))
48
+ : specIdByFolder.get(depTrimmed);
49
+
50
+ if (targetId && targetId !== spec.id) {
51
+ edges.push({
52
+ source: targetId,
53
+ target: spec.id,
54
+ type: 'dependsOn',
55
+ });
56
+ }
57
+ });
58
+ });
59
+
60
+ const graph: ProjectDependencyGraph = { nodes, edges };
61
+ return NextResponse.json(graph);
62
+ } catch (error) {
63
+ console.error('Error fetching dependency graph:', error);
64
+ return NextResponse.json(
65
+ { error: 'Failed to fetch dependency graph' },
66
+ { status: 500 }
67
+ );
68
+ }
69
+ }
@@ -1,5 +1,11 @@
1
+ /**
2
+ * Project API routes
3
+ *
4
+ * Uses filesystem-based project registry for all modes.
5
+ * Database mode was planned for external GitHub repos (spec 035/082) but not yet implemented.
6
+ */
7
+
1
8
  import { NextResponse } from 'next/server';
2
- import { getProjectById } from '@/lib/db/queries';
3
9
  import { projectRegistry } from '@/lib/projects/registry';
4
10
 
5
11
  export async function GET(
@@ -8,8 +14,9 @@ export async function GET(
8
14
  ) {
9
15
  try {
10
16
  const { id } = await params;
17
+ const specsMode = process.env.SPECS_MODE || 'filesystem';
11
18
 
12
- if (process.env.SPECS_MODE === 'multi-project') {
19
+ if (specsMode === 'multi-project') {
13
20
  const project = await projectRegistry.getProject(id);
14
21
  if (!project) {
15
22
  return NextResponse.json(
@@ -22,14 +29,23 @@ export async function GET(
22
29
  return NextResponse.json({ project });
23
30
  }
24
31
 
25
- const project = await getProjectById(id);
26
- if (!project) {
27
- return NextResponse.json(
28
- { error: 'Project not found' },
29
- { status: 404 }
30
- );
32
+ // Filesystem mode: return a virtual single project
33
+ if (id === 'local') {
34
+ const specsDir = process.env.SPECS_DIR || 'specs';
35
+ return NextResponse.json({
36
+ project: {
37
+ id: 'local',
38
+ displayName: 'Local Project',
39
+ specsDir,
40
+ isFeatured: true,
41
+ }
42
+ });
31
43
  }
32
- return NextResponse.json({ project });
44
+
45
+ return NextResponse.json(
46
+ { error: 'Project not found' },
47
+ { status: 404 }
48
+ );
33
49
  } catch (error) {
34
50
  console.error('Error fetching project:', error);
35
51
  return NextResponse.json(
@@ -1,6 +1,12 @@
1
+ /**
2
+ * GET /api/projects/[id]/specs/[spec] - Get a single spec
3
+ *
4
+ * Uses filesystem-based service-queries for all modes.
5
+ * Database mode was planned for external GitHub repos (spec 035/082) but not yet implemented.
6
+ */
7
+
1
8
  import { NextResponse } from 'next/server';
2
- import { getSpecById } from '@/lib/db/queries';
3
- import { specsService } from '@/lib/specs/service';
9
+ import { getSpecById } from '@/lib/db/service-queries';
4
10
 
5
11
  export async function GET(
6
12
  request: Request,
@@ -8,25 +14,19 @@ export async function GET(
8
14
  ) {
9
15
  try {
10
16
  const { id, spec: specId } = await params;
17
+ const specsMode = process.env.SPECS_MODE || 'filesystem';
11
18
 
12
- if (process.env.SPECS_MODE === 'multi-project') {
13
- const spec = await specsService.getSpec(specId, id);
14
- if (!spec) {
15
- return NextResponse.json(
16
- { error: 'Spec not found' },
17
- { status: 404 }
18
- );
19
- }
20
- return NextResponse.json({ spec });
21
- }
22
-
23
- const spec = await getSpecById(specId);
19
+ // Pass projectId only for multi-project mode
20
+ const projectId = specsMode === 'multi-project' ? id : undefined;
21
+ const spec = await getSpecById(specId, projectId);
22
+
24
23
  if (!spec) {
25
24
  return NextResponse.json(
26
25
  { error: 'Spec not found' },
27
26
  { status: 404 }
28
27
  );
29
28
  }
29
+
30
30
  return NextResponse.json({ spec });
31
31
  } catch (error) {
32
32
  console.error('Error fetching spec:', error);
@@ -1,10 +1,12 @@
1
1
  /**
2
2
  * GET /api/projects/[id]/specs - Get specs for a project
3
+ *
4
+ * Uses filesystem-based service-queries for all modes.
5
+ * Database mode was planned for external GitHub repos (spec 035/082) but not yet implemented.
3
6
  */
4
7
 
5
8
  import { NextResponse } from 'next/server';
6
- import { getSpecsByProjectId } from '@/lib/db/queries';
7
- import { specsService } from '@/lib/specs/service';
9
+ import { getSpecs } from '@/lib/db/service-queries';
8
10
 
9
11
  export async function GET(
10
12
  request: Request,
@@ -12,13 +14,12 @@ export async function GET(
12
14
  ) {
13
15
  try {
14
16
  const { id } = await params;
17
+ const specsMode = process.env.SPECS_MODE || 'filesystem';
15
18
 
16
- if (process.env.SPECS_MODE === 'multi-project') {
17
- const specs = await specsService.getAllSpecs(id);
18
- return NextResponse.json({ specs });
19
- }
20
-
21
- const specs = await getSpecsByProjectId(id);
19
+ // Pass projectId only for multi-project mode
20
+ const projectId = specsMode === 'multi-project' ? id : undefined;
21
+ const specs = await getSpecs(projectId);
22
+
22
23
  return NextResponse.json({ specs });
23
24
  } catch (error) {
24
25
  console.error('Error fetching specs:', error);
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Project Validation API route
3
+ * Re-validates a project path to check if it still exists and is valid
4
+ */
5
+
6
+ import { NextResponse } from 'next/server';
7
+ import { projectRegistry } from '@/lib/projects/registry';
8
+
9
+ export async function POST(
10
+ request: Request,
11
+ { params }: { params: Promise<{ id: string }> }
12
+ ) {
13
+ try {
14
+ if (process.env.SPECS_MODE !== 'multi-project') {
15
+ return NextResponse.json(
16
+ { error: 'Multi-project mode is not enabled' },
17
+ { status: 400 }
18
+ );
19
+ }
20
+
21
+ const { id } = await params;
22
+ const project = await projectRegistry.getProject(id);
23
+
24
+ if (!project) {
25
+ return NextResponse.json(
26
+ { error: 'Project not found' },
27
+ { status: 404 }
28
+ );
29
+ }
30
+
31
+ const validation = await projectRegistry.validateProject(project.path);
32
+
33
+ return NextResponse.json({
34
+ projectId: id,
35
+ path: project.path,
36
+ validation: {
37
+ isValid: validation.isValid,
38
+ error: validation.error,
39
+ specsDir: validation.specsDir,
40
+ }
41
+ });
42
+ } catch (error) {
43
+ console.error('Error validating project:', error);
44
+ return NextResponse.json(
45
+ { error: 'Failed to validate project' },
46
+ { status: 500 }
47
+ );
48
+ }
49
+ }
@@ -1,15 +1,22 @@
1
1
  /**
2
2
  * GET /api/projects - List all projects
3
+ *
4
+ * Modes:
5
+ * - filesystem (default): returns a single virtual project for the local specs
6
+ * - multi-project: reads from project registry (filesystem-based)
7
+ *
8
+ * Database mode was planned for external GitHub repos (spec 035/082) but not yet implemented.
3
9
  */
4
10
 
5
11
  import { NextResponse } from 'next/server';
6
- import { getProjects } from '@/lib/db/queries';
7
12
  import { projectRegistry } from '@/lib/projects/registry';
8
13
 
9
14
  export async function GET() {
10
15
  try {
11
- // Check if running in multi-project mode
12
- if (process.env.SPECS_MODE === 'multi-project') {
16
+ const specsMode = process.env.SPECS_MODE || 'filesystem';
17
+
18
+ // Multi-project mode: use project registry (filesystem-based)
19
+ if (specsMode === 'multi-project') {
13
20
  const projects = await projectRegistry.getProjects();
14
21
  const recentProjects = await projectRegistry.getRecentProjects();
15
22
  const favoriteProjects = await projectRegistry.getFavoriteProjects();
@@ -21,10 +28,16 @@ export async function GET() {
21
28
  });
22
29
  }
23
30
 
24
- const projects = await getProjects();
31
+ // Filesystem mode: return a virtual single project (no database needed)
32
+ const specsDir = process.env.SPECS_DIR || 'specs';
25
33
  return NextResponse.json({
26
34
  mode: 'single-project',
27
- projects
35
+ projects: [{
36
+ id: 'local',
37
+ displayName: 'Local Project',
38
+ specsDir,
39
+ isFeatured: true,
40
+ }]
28
41
  });
29
42
  } catch (error) {
30
43
  console.error('Error fetching projects:', error);
@@ -30,12 +30,10 @@ describe('Dependency Graph API', () => {
30
30
  expect(data).toHaveProperty('current');
31
31
  expect(data).toHaveProperty('dependsOn');
32
32
  expect(data).toHaveProperty('requiredBy');
33
- expect(data).toHaveProperty('related');
34
33
 
35
34
  // Verify arrays
36
35
  expect(data.dependsOn).toBeInstanceOf(Array);
37
36
  expect(data.requiredBy).toBeInstanceOf(Array);
38
- expect(data.related).toBeInstanceOf(Array);
39
37
  });
40
38
 
41
39
  it('should return 404 for non-existent spec', async () => {
@@ -50,14 +50,6 @@ function loadAllSpecsWithRelationships(specsDir: string): SpecInfo[] {
50
50
  frontmatter.depends_on = [];
51
51
  }
52
52
 
53
- if (data.related) {
54
- frontmatter.related = Array.isArray(data.related)
55
- ? data.related
56
- : [data.related];
57
- } else {
58
- frontmatter.related = [];
59
- }
60
-
61
53
  // Add optional fields
62
54
  if (data.priority) frontmatter.priority = data.priority;
63
55
  if (data.tags) frontmatter.tags = data.tags;
@@ -146,13 +138,6 @@ export async function GET(
146
138
  status: s.frontmatter.status,
147
139
  priority: s.frontmatter.priority,
148
140
  })),
149
- related: completeGraph.related.map(s => ({
150
- specNumber: getSpecNumber(s.name),
151
- specName: s.name,
152
- title: getTitle(s.name),
153
- status: s.frontmatter.status,
154
- priority: s.frontmatter.priority,
155
- })),
156
141
  };
157
142
 
158
143
  // Return with cache headers
@@ -1,18 +1,20 @@
1
1
  /**
2
2
  * Project Context Client Component
3
3
  * Displays project-level context files (AGENTS.md, config, README, etc.)
4
+ * Uses sidebar + content layout similar to spec detail page
4
5
  * Phases 2 & 4: Spec 131 - UI Project Context Visibility
5
6
  */
6
7
 
7
8
  'use client';
8
9
 
9
10
  import * as React from 'react';
10
- import { BookOpen, Settings, FileText, Copy, Check, AlertCircle, Coins, Info, Search, X } from 'lucide-react';
11
+ import { BookOpen, Settings, FileText, Copy, Check, AlertCircle, Coins, Info, Search, X, ChevronRight, ChevronDown } from 'lucide-react';
11
12
  import { Card, CardHeader, CardTitle, CardDescription, CardContent } from '@/components/ui/card';
12
13
  import { Button } from '@/components/ui/button';
13
14
  import { Badge } from '@/components/ui/badge';
14
15
  import { Input } from '@/components/ui/input';
15
16
  import { ContextFileCard, countMatches } from '@/components/context-file-viewer';
17
+ import { ContextFileDetail } from '@/components/context-file-detail';
16
18
  import type { ProjectContext, ContextFile } from '@/lib/specs/types';
17
19
  import { cn } from '@/lib/utils';
18
20
 
@@ -69,6 +71,7 @@ function ContextSection({
69
71
  defaultExpanded = true,
70
72
  searchQuery,
71
73
  projectRoot,
74
+ onFileSelect,
72
75
  }: {
73
76
  title: string;
74
77
  description: string;
@@ -79,6 +82,7 @@ function ContextSection({
79
82
  defaultExpanded?: boolean;
80
83
  searchQuery?: string;
81
84
  projectRoot?: string;
85
+ onFileSelect?: (file: ContextFile) => void;
82
86
  }) {
83
87
  const totalTokens = files.reduce((sum, f) => sum + f.tokenCount, 0);
84
88
 
@@ -149,6 +153,7 @@ function ContextSection({
149
153
  lastModified={file.lastModified}
150
154
  searchQuery={searchQuery}
151
155
  projectRoot={projectRoot}
156
+ onViewDetail={onFileSelect ? () => onFileSelect(file) : undefined}
152
157
  />
153
158
  ))}
154
159
  </div>
@@ -161,6 +166,7 @@ function ContextSection({
161
166
  export function ContextClient({ context }: ContextClientProps) {
162
167
  const [copiedAll, setCopiedAll] = React.useState(false);
163
168
  const [searchQuery, setSearchQuery] = React.useState('');
169
+ const [selectedFile, setSelectedFile] = React.useState<ContextFile | null>(null);
164
170
 
165
171
  // Collect all content for "Copy All" feature
166
172
  const handleCopyAll = async () => {
@@ -211,6 +217,19 @@ export function ContextClient({ context }: ContextClientProps) {
211
217
  return total;
212
218
  }, [context, searchQuery]);
213
219
 
220
+ // If a file is selected, show the detail view
221
+ if (selectedFile) {
222
+ return (
223
+ <div className="min-h-screen bg-background">
224
+ <ContextFileDetail
225
+ file={selectedFile}
226
+ projectRoot={context.projectRoot}
227
+ onBack={() => setSelectedFile(null)}
228
+ />
229
+ </div>
230
+ );
231
+ }
232
+
214
233
  return (
215
234
  <div className="min-h-screen bg-background">
216
235
  <div className="container mx-auto px-4 py-8 max-w-5xl">
@@ -323,6 +342,7 @@ export function ContextClient({ context }: ContextClientProps) {
323
342
  defaultExpanded={context.agentInstructions.length <= 2}
324
343
  searchQuery={searchQuery}
325
344
  projectRoot={context.projectRoot}
345
+ onFileSelect={setSelectedFile}
326
346
  />
327
347
 
328
348
  {/* Configuration */}
@@ -336,6 +356,7 @@ export function ContextClient({ context }: ContextClientProps) {
336
356
  defaultExpanded={true}
337
357
  searchQuery={searchQuery}
338
358
  projectRoot={context.projectRoot}
359
+ onFileSelect={setSelectedFile}
339
360
  />
340
361
 
341
362
  {/* Project Documentation */}
@@ -349,6 +370,7 @@ export function ContextClient({ context }: ContextClientProps) {
349
370
  defaultExpanded={false}
350
371
  searchQuery={searchQuery}
351
372
  projectRoot={context.projectRoot}
373
+ onFileSelect={setSelectedFile}
352
374
  />
353
375
  </div>
354
376
 
@@ -19,7 +19,6 @@ import {
19
19
  import { StatusBadge } from '@/components/status-badge';
20
20
  import { PriorityBadge } from '@/components/priority-badge';
21
21
  import { Badge } from '@/components/ui/badge';
22
- import { extractH1Title } from '@/lib/utils';
23
22
 
24
23
  interface Spec {
25
24
  id: string;
@@ -31,7 +30,6 @@ interface Spec {
31
30
  tags: string[] | null;
32
31
  createdAt: Date | null;
33
32
  updatedAt: Date | null;
34
- contentMd?: string;
35
33
  }
36
34
 
37
35
  interface Stats {
@@ -43,6 +41,7 @@ interface Stats {
43
41
  interface DashboardClientProps {
44
42
  initialSpecs: Spec[];
45
43
  initialStats: Stats;
44
+ projectId?: string;
46
45
  }
47
46
 
48
47
  function formatRelativeTime(date: Date | null): string {
@@ -60,14 +59,16 @@ function formatRelativeTime(date: Date | null): string {
60
59
  return date.toLocaleDateString();
61
60
  }
62
61
 
63
- function SpecListItem({ spec }: { spec: Spec }) {
64
- // Extract H1 title from content if available, fallback to title or name
65
- const h1Title = spec.contentMd ? extractH1Title(spec.contentMd) : null;
66
- const displayTitle = h1Title || spec.title || spec.specName;
62
+ function SpecListItem({ spec, projectId }: { spec: Spec; projectId?: string }) {
63
+ // Use title from server-side extraction, fallback to name
64
+ const displayTitle = spec.title || spec.specName;
65
+ const specUrl = projectId
66
+ ? `/projects/${projectId}/specs/${spec.specNumber}`
67
+ : `/specs/${spec.specNumber}`;
67
68
 
68
69
  return (
69
70
  <Link
70
- href={`/specs/${spec.specNumber}`}
71
+ href={specUrl}
71
72
  className="block p-3 rounded-lg hover:bg-accent transition-colors"
72
73
  title={spec.specName} /* Show name as tooltip */
73
74
  >
@@ -108,9 +109,11 @@ function SpecListItem({ spec }: { spec: Spec }) {
108
109
  );
109
110
  }
110
111
 
111
- function ActivityItem({ spec, action, time }: { spec: Spec; action: string; time: Date | null }) {
112
- const h1Title = spec.contentMd ? extractH1Title(spec.contentMd) : null;
113
- const displayTitle = h1Title || spec.title || spec.specName;
112
+ function ActivityItem({ spec, action, time, projectId }: { spec: Spec; action: string; time: Date | null; projectId?: string }) {
113
+ const displayTitle = spec.title || spec.specName;
114
+ const specUrl = projectId
115
+ ? `/projects/${projectId}/specs/${spec.specNumber}`
116
+ : `/specs/${spec.specNumber}`;
114
117
 
115
118
  return (
116
119
  <div className="flex items-start gap-3 py-2">
@@ -118,7 +121,7 @@ function ActivityItem({ spec, action, time }: { spec: Spec; action: string; time
118
121
  <div className="flex-1 min-w-0">
119
122
  <p className="text-sm">
120
123
  <Link
121
- href={`/specs/${spec.specNumber}`}
124
+ href={specUrl}
122
125
  className="font-medium hover:underline"
123
126
  title={spec.specName}
124
127
  >
@@ -135,52 +138,23 @@ function ActivityItem({ spec, action, time }: { spec: Spec; action: string; time
135
138
  );
136
139
  }
137
140
 
138
- export function DashboardClient({ initialSpecs, initialStats }: DashboardClientProps) {
141
+ export function DashboardClient({ initialSpecs, initialStats, projectId }: DashboardClientProps) {
139
142
  const { mode, currentProject, isLoading: isProjectLoading } = useProject();
140
143
  const [specs, setSpecs] = useState<Spec[]>(initialSpecs);
141
144
  const [stats, setStats] = useState<Stats>(initialStats);
142
- const [isLoadingData, setIsLoadingData] = useState(false);
145
+
146
+ // Use the projectId prop directly - it comes from the URL via server component
147
+ // and is always reliable, unlike currentProject from context during transitions
148
+ const effectiveProjectId = projectId;
143
149
 
150
+ // Update state when initialSpecs/initialStats change (e.g., on navigation)
144
151
  useEffect(() => {
145
- if (mode === 'multi-project') {
146
- if (currentProject) {
147
- fetchProjectData(currentProject.id);
148
- } else {
149
- setSpecs([]);
150
- setStats({ totalSpecs: 0, completionRate: 0, specsByStatus: [] });
151
- }
152
- }
153
- }, [mode, currentProject]);
154
-
155
- const fetchProjectData = async (projectId: string) => {
156
- setIsLoadingData(true);
157
- try {
158
- const [specsRes, statsRes] = await Promise.all([
159
- fetch(`/api/projects/${projectId}/specs`),
160
- fetch(`/api/projects/${projectId}/stats`)
161
- ]);
162
-
163
- if (specsRes.ok && statsRes.ok) {
164
- const specsData = await specsRes.json();
165
- const statsData = await statsRes.json();
166
-
167
- const parsedSpecs = specsData.specs.map((s: any) => ({
168
- ...s,
169
- createdAt: s.createdAt ? new Date(s.createdAt) : null,
170
- updatedAt: s.updatedAt ? new Date(s.updatedAt) : null,
171
- }));
172
-
173
- setSpecs(parsedSpecs);
174
- setStats(statsData.stats);
175
- }
176
- } catch (e) {
177
- console.error(e);
178
- } finally {
179
- setIsLoadingData(false);
180
- }
181
- };
152
+ setSpecs(initialSpecs);
153
+ setStats(initialStats);
154
+ }, [initialSpecs, initialStats]);
182
155
 
183
- if (mode === 'multi-project' && !currentProject) {
156
+ // Show loading state only when in multi-project mode and no project selected
157
+ if (mode === 'multi-project' && !projectId && !currentProject) {
184
158
  if (isProjectLoading) {
185
159
  return <div className="flex items-center justify-center h-screen"><Loader2 className="animate-spin" /></div>;
186
160
  }
@@ -191,10 +165,6 @@ export function DashboardClient({ initialSpecs, initialStats }: DashboardClientP
191
165
  </div>
192
166
  );
193
167
  }
194
-
195
- if (isLoadingData) {
196
- return <div className="flex items-center justify-center h-screen"><Loader2 className="animate-spin" /></div>;
197
- }
198
168
 
199
169
  // Get specs by status
200
170
  const inProgressSpecs = specs
@@ -324,7 +294,7 @@ export function DashboardClient({ initialSpecs, initialStats }: DashboardClientP
324
294
  </CardHeader>
325
295
  <CardContent className="space-y-1">
326
296
  {recentlyAdded.slice(0, 5).map(spec => (
327
- <SpecListItem key={spec.id} spec={spec} />
297
+ <SpecListItem key={spec.id} spec={spec} projectId={effectiveProjectId} />
328
298
  ))}
329
299
  </CardContent>
330
300
  </Card>
@@ -340,7 +310,7 @@ export function DashboardClient({ initialSpecs, initialStats }: DashboardClientP
340
310
  <CardContent className="space-y-1">
341
311
  {plannedSpecs.length > 0 ? (
342
312
  plannedSpecs.map(spec => (
343
- <SpecListItem key={spec.id} spec={spec} />
313
+ <SpecListItem key={spec.id} spec={spec} projectId={effectiveProjectId} />
344
314
  ))
345
315
  ) : (
346
316
  <p className="text-sm text-muted-foreground py-4 text-center">
@@ -361,7 +331,7 @@ export function DashboardClient({ initialSpecs, initialStats }: DashboardClientP
361
331
  <CardContent className="space-y-1">
362
332
  {inProgressSpecs.length > 0 ? (
363
333
  inProgressSpecs.map(spec => (
364
- <SpecListItem key={spec.id} spec={spec} />
334
+ <SpecListItem key={spec.id} spec={spec} projectId={effectiveProjectId} />
365
335
  ))
366
336
  ) : (
367
337
  <p className="text-sm text-muted-foreground py-4 text-center">
@@ -385,6 +355,7 @@ export function DashboardClient({ initialSpecs, initialStats }: DashboardClientP
385
355
  spec={spec}
386
356
  action="updated"
387
357
  time={spec.updatedAt}
358
+ projectId={effectiveProjectId}
388
359
  />
389
360
  ))}
390
361
  </div>
@@ -0,0 +1,25 @@
1
+ // Node dimensions
2
+ export const NODE_WIDTH = 180;
3
+ export const NODE_HEIGHT = 60;
4
+ export const COMPACT_NODE_WIDTH = 120;
5
+ export const COMPACT_NODE_HEIGHT = 40;
6
+
7
+ // Edge colors
8
+ export const DEPENDS_ON_COLOR = '#f59e0b';
9
+
10
+ // Status tone classes for node styling (aligned with StatusBadge component)
11
+ // Using light/dark mode compatible colors
12
+ export const toneClasses: Record<string, string> = {
13
+ planned: 'border-blue-500 bg-blue-100 text-blue-800 dark:bg-blue-950/60 dark:text-blue-200',
14
+ 'in-progress': 'border-orange-500 bg-orange-100 text-orange-800 dark:bg-orange-950/60 dark:text-orange-200',
15
+ complete: 'border-green-500 bg-green-100 text-green-800 dark:bg-green-950/60 dark:text-green-200',
16
+ archived: 'border-gray-400 bg-gray-100 text-gray-600 dark:border-gray-500/80 dark:bg-gray-900/60 dark:text-gray-400',
17
+ };
18
+
19
+ // Background colors for minimap (aligned with StatusBadge component)
20
+ export const toneBgColors: Record<string, string> = {
21
+ planned: '#3b82f6', // blue-500 (works in both themes)
22
+ 'in-progress': '#f97316', // orange-500
23
+ complete: '#22c55e', // green-500
24
+ archived: '#6b7280', // gray-500
25
+ };