@leanspec/ui 0.2.5 → 0.2.6-dev.20251125015611

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 (695) hide show
  1. package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/README.md +2 -2
  2. package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/lib/glib-2.0/include/glibconfig.h +9 -8
  3. package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3} +0 -0
  4. package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/package.json +11 -5
  5. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
  6. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  7. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
  8. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  9. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
  10. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
  11. package/.next/standalone/node_modules/.pnpm/@img+sharp-linux-x64@0.34.5/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  12. package/.next/standalone/node_modules/.pnpm/{@img+sharp-darwin-arm64@0.34.5/node_modules/@img/sharp-darwin-arm64 → @img+sharp-linux-x64@0.34.5/node_modules/@img/sharp-linux-x64}/package.json +13 -7
  13. package/.next/standalone/node_modules/.pnpm/@img+sharp-linuxmusl-x64@0.34.5/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  14. package/.next/standalone/node_modules/.pnpm/@img+sharp-linuxmusl-x64@0.34.5/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
  15. package/.next/standalone/node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  16. package/.next/standalone/node_modules/.pnpm/source-map@0.8.0-beta.0/node_modules/source-map/package.json +95 -0
  17. package/.next/standalone/node_modules/.pnpm/tiktoken@1.0.22/node_modules/tiktoken/tiktoken_bg.wasm +0 -0
  18. package/.next/standalone/packages/ui/.next/BUILD_ID +1 -1
  19. package/.next/standalone/packages/ui/.next/app-path-routes-manifest.json +13 -1
  20. package/.next/standalone/packages/ui/.next/build-manifest.json +6 -6
  21. package/.next/standalone/packages/ui/.next/prerender-manifest.json +6 -6
  22. package/.next/standalone/packages/ui/.next/required-server-files.json +4 -4
  23. package/.next/standalone/packages/ui/.next/routes-manifest.json +96 -3
  24. package/.next/standalone/packages/ui/.next/server/app/_global-error/page/build-manifest.json +4 -4
  25. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js +1 -1
  26. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js.nft.json +1 -1
  27. package/.next/standalone/packages/ui/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  28. package/.next/standalone/packages/ui/.next/server/app/_global-error.html +2 -2
  29. package/.next/standalone/packages/ui/.next/server/app/_global-error.rsc +1 -1
  30. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  31. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  32. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  33. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  34. package/.next/standalone/packages/ui/.next/server/app/_not-found/page/build-manifest.json +4 -4
  35. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js +3 -3
  36. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js.nft.json +1 -1
  37. package/.next/standalone/packages/ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/packages/ui/.next/server/app/_not-found.html +2 -2
  39. package/.next/standalone/packages/ui/.next/server/app/_not-found.rsc +21 -20
  40. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +21 -20
  41. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +26 -25
  42. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  43. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  44. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +6 -6
  45. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route/app-paths-manifest.json +3 -0
  46. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route/build-manifest.json +11 -0
  47. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js +6 -0
  48. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js.nft.json +1 -0
  49. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route_client-reference-manifest.js +2 -0
  50. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route/app-paths-manifest.json +3 -0
  51. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route/build-manifest.json +11 -0
  52. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route/server-reference-manifest.json +4 -0
  53. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js +6 -0
  54. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js.map +5 -0
  55. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js.nft.json +1 -0
  56. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route_client-reference-manifest.js +2 -0
  57. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route/app-paths-manifest.json +3 -0
  58. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route/build-manifest.json +11 -0
  59. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route/server-reference-manifest.json +4 -0
  60. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js +6 -0
  61. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js.map +5 -0
  62. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js.nft.json +1 -0
  63. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route_client-reference-manifest.js +2 -0
  64. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route/app-paths-manifest.json +3 -0
  65. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route/build-manifest.json +11 -0
  66. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route/server-reference-manifest.json +4 -0
  67. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js +6 -0
  68. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js.map +5 -0
  69. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js.nft.json +1 -0
  70. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route_client-reference-manifest.js +2 -0
  71. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route/app-paths-manifest.json +3 -0
  72. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route/build-manifest.json +11 -0
  73. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route/server-reference-manifest.json +4 -0
  74. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js +8 -0
  75. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.map +5 -0
  76. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.nft.json +1 -0
  77. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +2 -0
  78. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route/app-paths-manifest.json +3 -0
  79. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route/build-manifest.json +11 -0
  80. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route/server-reference-manifest.json +4 -0
  81. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js +9 -0
  82. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js.map +5 -0
  83. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js.nft.json +1 -0
  84. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route_client-reference-manifest.js +2 -0
  85. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route/app-paths-manifest.json +3 -0
  86. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route/build-manifest.json +11 -0
  87. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route/server-reference-manifest.json +4 -0
  88. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js +8 -0
  89. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js.map +5 -0
  90. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js.nft.json +1 -0
  91. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route_client-reference-manifest.js +2 -0
  92. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js +4 -2
  93. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
  94. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route/app-paths-manifest.json +3 -0
  95. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route/build-manifest.json +11 -0
  96. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route/server-reference-manifest.json +4 -0
  97. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js +8 -0
  98. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js.map +5 -0
  99. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js.nft.json +1 -0
  100. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route_client-reference-manifest.js +2 -0
  101. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js +3 -2
  102. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js.nft.json +1 -1
  103. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js +4 -2
  104. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js.nft.json +1 -1
  105. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js +4 -2
  106. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
  107. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js +4 -2
  108. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js.nft.json +1 -1
  109. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route/app-paths-manifest.json +3 -0
  110. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route/build-manifest.json +11 -0
  111. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route/server-reference-manifest.json +4 -0
  112. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js +8 -0
  113. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js.map +5 -0
  114. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js.nft.json +1 -0
  115. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route_client-reference-manifest.js +2 -0
  116. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js +4 -2
  117. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
  118. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js +4 -2
  119. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js.nft.json +1 -1
  120. package/.next/standalone/packages/ui/.next/server/app/page/build-manifest.json +4 -4
  121. package/.next/standalone/packages/ui/.next/server/app/page.js +3 -3
  122. package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
  123. package/.next/standalone/packages/ui/.next/server/app/page_client-reference-manifest.js +1 -1
  124. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page/app-paths-manifest.json +3 -0
  125. package/.next/standalone/packages/ui/.next/server/app/{board → projects/[projectId]}/page/build-manifest.json +4 -4
  126. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page/server-reference-manifest.json +4 -0
  127. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js +21 -0
  128. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.map +5 -0
  129. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.nft.json +1 -0
  130. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +2 -0
  131. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/app-paths-manifest.json +3 -0
  132. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/build-manifest.json +18 -0
  133. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/next-font-manifest.json +6 -0
  134. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/react-loadable-manifest.json +1 -0
  135. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/server-reference-manifest.json +4 -0
  136. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js +21 -0
  137. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.map +5 -0
  138. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.nft.json +1 -0
  139. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page_client-reference-manifest.js +2 -0
  140. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/app-paths-manifest.json +3 -0
  141. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/build-manifest.json +18 -0
  142. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/next-font-manifest.json +6 -0
  143. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/react-loadable-manifest.json +1 -0
  144. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/server-reference-manifest.json +4 -0
  145. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js +20 -0
  146. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.map +5 -0
  147. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.nft.json +1 -0
  148. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page_client-reference-manifest.js +2 -0
  149. package/.next/standalone/packages/ui/.next/server/app/projects/page/app-paths-manifest.json +3 -0
  150. package/.next/standalone/packages/ui/.next/server/app/projects/page/build-manifest.json +18 -0
  151. package/.next/standalone/packages/ui/.next/server/app/projects/page/next-font-manifest.json +6 -0
  152. package/.next/standalone/packages/ui/.next/server/app/projects/page/react-loadable-manifest.json +1 -0
  153. package/.next/standalone/packages/ui/.next/server/app/projects/page/server-reference-manifest.json +4 -0
  154. package/.next/standalone/packages/ui/.next/server/app/{board → projects}/page.js +9 -10
  155. package/.next/standalone/packages/ui/.next/server/app/projects/page.js.map +5 -0
  156. package/.next/standalone/packages/ui/.next/server/app/projects/page.js.nft.json +1 -0
  157. package/.next/standalone/packages/ui/.next/server/app/projects/page_client-reference-manifest.js +2 -0
  158. package/.next/standalone/packages/ui/.next/server/app/projects.html +2 -0
  159. package/.next/standalone/packages/ui/.next/server/app/{board.meta → projects.meta} +3 -3
  160. package/.next/standalone/packages/ui/.next/server/app/projects.rsc +34 -0
  161. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +34 -0
  162. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +27 -0
  163. package/.next/standalone/packages/ui/.next/server/app/{board.segments → projects.segments}/_tree.segment.rsc +3 -3
  164. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +9 -0
  165. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects.segment.rsc +4 -0
  166. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page/build-manifest.json +4 -4
  167. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js +5 -5
  168. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js.nft.json +1 -1
  169. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
  170. package/.next/standalone/packages/ui/.next/server/app/specs/page/build-manifest.json +4 -4
  171. package/.next/standalone/packages/ui/.next/server/app/specs/page.js +3 -3
  172. package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
  173. package/.next/standalone/packages/ui/.next/server/app/specs/page_client-reference-manifest.js +1 -1
  174. package/.next/standalone/packages/ui/.next/server/app/stats/page/build-manifest.json +4 -4
  175. package/.next/standalone/packages/ui/.next/server/app/stats/page.js +3 -3
  176. package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
  177. package/.next/standalone/packages/ui/.next/server/app/stats/page_client-reference-manifest.js +1 -1
  178. package/.next/standalone/packages/ui/.next/server/app-paths-manifest.json +13 -1
  179. package/.next/standalone/packages/ui/.next/server/chunks/6681a__next-internal_server_app_api_projects_[id]_specs_[spec]_route_actions_d018d9e0.js +3 -0
  180. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_local-projects_[id]_route_actions_664abe9c.js +3 -0
  181. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_local-projects_discover_route_actions_e6ec3fa7.js +3 -0
  182. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_stats_route_actions_a0bb04a8.js +3 -0
  183. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_specs_[id]_status_route_actions_5d700407.js +3 -0
  184. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0fbfea15._.js +3 -0
  185. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__126dea7b._.js +3 -0
  186. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__1f037512._.js +3 -0
  187. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3559376c._.js +21 -0
  188. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__548e27d4._.js +3 -0
  189. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__65667b70._.js +3 -0
  190. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__675a763e._.js +3 -0
  191. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__803d07f0._.js +3 -0
  192. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8075fe29._.js +3 -0
  193. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8233e09b._.js +3 -0
  194. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__84cdc14a._.js +3 -0
  195. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9ce722b4._.js +3 -0
  196. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__a2d7cbed._.js +3 -0
  197. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__aa677b0d._.js +3 -0
  198. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__ac744182._.js +3 -0
  199. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bb9fca84._.js +4 -0
  200. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bdc3963a._.js +3 -0
  201. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f5c6d6b8._.js +3 -0
  202. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__fb91986f._.js +3 -0
  203. package/.next/standalone/packages/ui/.next/server/chunks/e0876_tiktoken_3efea2dc._.js +3 -0
  204. package/.next/standalone/packages/ui/.next/server/chunks/f825c_server_app_api_local-projects_list-directory_route_actions_d620ec1a.js +3 -0
  205. package/.next/standalone/packages/ui/.next/server/chunks/f825c_server_app_api_projects_[id]_specs_[spec]_status_route_actions_e9f1bdc5.js +3 -0
  206. package/.next/standalone/packages/ui/.next/server/chunks/node_modules__pnpm_731b55aa._.js +3 -0
  207. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_local-projects_route_actions_9142d5ad.js +3 -0
  208. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_projects_[id]_route_actions_bff49675.js +3 -0
  209. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_db_index_ts_556307fa._.js +64 -5
  210. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_0bd881ee._.js +3 -0
  211. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_baa0160d._.js +3 -0
  212. package/.next/standalone/packages/ui/.next/server/chunks/ssr/38a22_sonner_dist_index_mjs_207730fe._.js +3 -0
  213. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_a5b58449._.js → 6e9bd_next_dist_df5dcbe9._.js} +2 -2
  214. package/.next/standalone/packages/ui/.next/server/chunks/ssr/730ea_ui__next-internal_server_app_projects_[projectId]_specs_page_actions_82e32fe4.js +3 -0
  215. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__01bfc8ff._.js +3 -0
  216. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__1d0c2012._.js +1 -1
  217. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__4ec37765._.js +3 -0
  218. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__1af33d49._.js → [root-of-the-server]__50122e7e._.js} +2 -2
  219. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__5382b397._.js +3 -0
  220. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__73f60f12._.js +7 -0
  221. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__7f55abaa._.js +1 -1
  222. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__88a691ee._.js +3 -0
  223. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a7ae8552._.js +7 -0
  224. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__bdbbba01._.js +3 -0
  225. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__c592f5d1._.js +3 -0
  226. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__cc589a54._.js +3 -0
  227. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__ec5b96a5._.js +3 -0
  228. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__e5891e5a._.js → [root-of-the-server]__fd80e4dd._.js} +2 -2
  229. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_000dd317._.js +1 -1
  230. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_196b5a83._.js +3 -0
  231. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_39562b2a._.js +4 -0
  232. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3b617676._.js +1 -1
  233. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_4129cc0f._.js +3 -0
  234. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_6174313a._.js +3 -0
  235. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_6e4dd8b6._.js +3 -0
  236. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_85effc18._.js +4 -0
  237. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ad8c1e99._.js +1 -1
  238. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_bae6d2b8._.js +4 -0
  239. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_c2f54661._.js +5 -0
  240. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_e1889307._.js +3 -0
  241. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_4f2c4868._.js → _fdd7780b._.js} +3 -3
  242. package/.next/standalone/packages/ui/.next/server/chunks/ssr/f825c_server_app_projects_[projectId]_specs_[specId]_page_actions_22d9c35e.js +3 -0
  243. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_af9d3830._.js +3 -0
  244. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_projects_[projectId]_page_actions_f2986585.js +3 -0
  245. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_projects_page_actions_715940ea.js +3 -0
  246. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_loading_tsx_9304a706._.js +3 -0
  247. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_[projectId]_be242d6c._.js +3 -0
  248. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_[projectId]_project-context-syncer_tsx_7954ea3b._.js +3 -0
  249. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_page_tsx_6e166c8e._.js +3 -0
  250. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_specs_specs-client_tsx_0bb8f8f8._.js +3 -0
  251. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_specs-nav-sidebar_tsx_8237ed13._.js +3 -0
  252. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_ui_select_tsx_7e21d40f._.js +3 -0
  253. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_lib_specs_sources_database-source_ts_f7186c2a._.js +60 -1
  254. package/.next/standalone/packages/ui/.next/server/middleware-build-manifest.js +4 -4
  255. package/.next/standalone/packages/ui/.next/server/pages/404.html +2 -2
  256. package/.next/standalone/packages/ui/.next/server/pages/500.html +2 -2
  257. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.js +1 -1
  258. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.json +1 -1
  259. package/.next/standalone/packages/ui/.next/static/chunks/07f48b316e895080.js +1 -0
  260. package/.next/standalone/packages/ui/.next/static/chunks/0a7be410b438418a.js +1 -0
  261. package/.next/standalone/packages/ui/.next/static/chunks/1089ca88f6bef846.js +1 -0
  262. package/.next/standalone/packages/ui/.next/static/chunks/17471c87082c392c.js +5 -0
  263. package/.next/standalone/packages/ui/.next/static/chunks/220ba5cb8fe4dd69.js +1 -0
  264. package/.next/standalone/packages/ui/.next/static/chunks/35ccd3286e538bd2.js +1 -0
  265. package/.next/standalone/packages/ui/.next/static/chunks/571033caca823138.js +1 -0
  266. package/.next/standalone/packages/ui/.next/static/chunks/5a6fc30cd64085b4.css +1 -0
  267. package/.next/standalone/packages/ui/.next/static/chunks/843e1dfdc28e1385.js +1 -0
  268. package/.next/standalone/packages/ui/.next/static/chunks/9dad7fd31627df80.js +1 -0
  269. package/.next/standalone/packages/ui/.next/static/chunks/{f2151fb88f8fc70a.js → a055d4b2866ff8d4.js} +1 -1
  270. package/.next/standalone/packages/ui/.next/static/chunks/afb7c5a4255f4081.js +3 -0
  271. package/.next/standalone/packages/ui/.next/static/chunks/{c557ac675be79771.js → b760a3a9c2c8be28.js} +1 -1
  272. package/.next/standalone/packages/ui/.next/static/chunks/dcdd95180149fa10.js +1 -0
  273. package/.next/standalone/packages/ui/.next/static/chunks/f9db24028d8c058e.js +1 -0
  274. package/.next/standalone/packages/ui/.next/static/chunks/fb640f50455ba34f.js +1 -0
  275. package/.next/standalone/packages/ui/.next/static/chunks/{turbopack-7450632b40b2e378.js → turbopack-b9690cacbf9fe48c.js} +1 -1
  276. package/.next/standalone/packages/ui/bin/ui.js +17 -7
  277. package/.next/standalone/packages/ui/package.json +4 -2
  278. package/.next/standalone/packages/ui/server.js +1 -1
  279. package/.next/standalone/packages/ui/src/app/api/local-projects/[id]/route.ts +117 -0
  280. package/.next/standalone/packages/ui/src/app/api/local-projects/discover/route.ts +41 -0
  281. package/.next/standalone/packages/ui/src/app/api/local-projects/list-directory/route.ts +38 -0
  282. package/.next/standalone/packages/ui/src/app/api/local-projects/route.ts +63 -0
  283. package/.next/standalone/packages/ui/src/app/api/projects/[id]/route.ts +97 -0
  284. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/route.ts +38 -0
  285. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/status/route.ts +97 -0
  286. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/route.ts +7 -0
  287. package/.next/standalone/packages/ui/{dist/standalone/packages/web/src/app/api → src/app/api/projects/[id]}/stats/route.ts +7 -7
  288. package/.next/standalone/packages/ui/src/app/api/projects/route.ts +48 -1
  289. package/.next/standalone/packages/ui/src/app/api/specs/[id]/status/route.ts +122 -0
  290. package/.next/standalone/packages/ui/src/app/dashboard-client.tsx +67 -6
  291. package/.next/standalone/packages/ui/src/app/globals.css +37 -0
  292. package/.next/standalone/packages/ui/src/app/layout.tsx +18 -14
  293. package/.next/standalone/packages/ui/src/app/not-found.tsx +1 -1
  294. package/.next/standalone/packages/ui/src/app/projects/[projectId]/layout.tsx +18 -0
  295. package/.next/standalone/packages/ui/src/app/projects/[projectId]/page.tsx +10 -0
  296. package/.next/standalone/packages/ui/src/app/projects/[projectId]/project-context-syncer.tsx +16 -0
  297. package/.next/standalone/packages/ui/{dist/standalone/packages/web/src/app/specs/[id] → src/app/projects/[projectId]/specs/[specId]}/page.tsx +7 -16
  298. package/.next/standalone/packages/ui/src/app/projects/[projectId]/specs/page.tsx +20 -0
  299. package/.next/standalone/packages/ui/src/app/projects/page.tsx +156 -0
  300. package/.next/standalone/packages/ui/src/app/specs/page.tsx +2 -2
  301. package/.next/standalone/packages/ui/src/app/specs/specs-client.tsx +495 -223
  302. package/.next/standalone/packages/ui/src/components/create-project-dialog.tsx +139 -0
  303. package/.next/standalone/packages/ui/src/components/directory-picker.tsx +191 -0
  304. package/.next/standalone/packages/ui/src/components/main-sidebar.tsx +4 -0
  305. package/.next/standalone/packages/ui/src/components/project-switcher.tsx +139 -0
  306. package/.next/standalone/packages/ui/src/components/spec-detail-client.tsx +71 -27
  307. package/.next/standalone/packages/ui/src/components/table-of-contents.tsx +56 -37
  308. package/.next/standalone/packages/ui/src/components/ui/dropdown-menu.tsx +200 -0
  309. package/.next/standalone/packages/ui/src/components/ui/popover.tsx +31 -0
  310. package/.next/standalone/packages/ui/src/contexts/project-context.tsx +229 -0
  311. package/.next/standalone/packages/ui/src/lib/db/index.ts +100 -0
  312. package/.next/standalone/packages/ui/src/lib/db/service-queries.ts +23 -0
  313. package/.next/standalone/packages/ui/src/lib/projects/index.ts +7 -0
  314. package/.next/standalone/packages/ui/src/lib/projects/registry.ts +467 -0
  315. package/.next/standalone/packages/ui/src/lib/projects/types.ts +37 -0
  316. package/.next/standalone/packages/ui/src/lib/specs/service.ts +13 -1
  317. package/.next/standalone/packages/ui/src/lib/specs/sources/filesystem-source.ts +46 -6
  318. package/.next/standalone/packages/ui/src/lib/specs/sources/multi-project-source.ts +258 -0
  319. package/.next/standalone/packages/ui/tsconfig.json +2 -1
  320. package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
  321. package/.next/standalone/packages/ui/vitest.config.ts +1 -0
  322. package/.next/static/chunks/07f48b316e895080.js +1 -0
  323. package/.next/static/chunks/0a7be410b438418a.js +1 -0
  324. package/.next/static/chunks/1089ca88f6bef846.js +1 -0
  325. package/.next/static/chunks/17471c87082c392c.js +5 -0
  326. package/.next/static/chunks/220ba5cb8fe4dd69.js +1 -0
  327. package/.next/static/chunks/35ccd3286e538bd2.js +1 -0
  328. package/.next/static/chunks/571033caca823138.js +1 -0
  329. package/.next/static/chunks/5a6fc30cd64085b4.css +1 -0
  330. package/.next/static/chunks/843e1dfdc28e1385.js +1 -0
  331. package/.next/static/chunks/9dad7fd31627df80.js +1 -0
  332. package/.next/static/chunks/{f2151fb88f8fc70a.js → a055d4b2866ff8d4.js} +1 -1
  333. package/.next/static/chunks/afb7c5a4255f4081.js +3 -0
  334. package/.next/static/chunks/{c557ac675be79771.js → b760a3a9c2c8be28.js} +1 -1
  335. package/.next/static/chunks/dcdd95180149fa10.js +1 -0
  336. package/.next/static/chunks/f9db24028d8c058e.js +1 -0
  337. package/.next/static/chunks/fb640f50455ba34f.js +1 -0
  338. package/.next/static/chunks/{turbopack-7450632b40b2e378.js → turbopack-b9690cacbf9fe48c.js} +1 -1
  339. package/bin/ui.js +17 -7
  340. package/package.json +4 -2
  341. package/.next/standalone/node_modules/.pnpm/@img+sharp-darwin-arm64@0.34.5/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
  342. package/.next/standalone/packages/ui/.next/server/app/board/page/app-paths-manifest.json +0 -3
  343. package/.next/standalone/packages/ui/.next/server/app/board/page.js.nft.json +0 -1
  344. package/.next/standalone/packages/ui/.next/server/app/board/page_client-reference-manifest.js +0 -2
  345. package/.next/standalone/packages/ui/.next/server/app/board.html +0 -1
  346. package/.next/standalone/packages/ui/.next/server/app/board.rsc +0 -41
  347. package/.next/standalone/packages/ui/.next/server/app/board.segments/_full.segment.rsc +0 -41
  348. package/.next/standalone/packages/ui/.next/server/app/board.segments/_index.segment.rsc +0 -26
  349. package/.next/standalone/packages/ui/.next/server/app/board.segments/board/__PAGE__.segment.rsc +0 -9
  350. package/.next/standalone/packages/ui/.next/server/app/board.segments/board.segment.rsc +0 -8
  351. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__003ee184._.js +0 -3
  352. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__21119265._.js +0 -3
  353. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__482b093a._.js +0 -21
  354. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__6ec5cafb._.js +0 -3
  355. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__7acaa6ec._.js +0 -3
  356. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__a2c55ffb._.js +0 -3
  357. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__d169fe70._.js +0 -3
  358. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f4ea2112._.js +0 -3
  359. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__3fffdda5._.js +0 -3
  360. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__4b343655._.js +0 -3
  361. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__68015eee._.js +0 -3
  362. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b161f033._.js +0 -7
  363. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b50fa24c._.js +0 -7
  364. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__c65aedd0._.js +0 -3
  365. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__eefaabd3._.js +0 -3
  366. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_64a39e38._.js +0 -3
  367. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_66209e84._.js +0 -3
  368. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_a527620e._.js +0 -3
  369. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_d7e4bd50._.js +0 -5
  370. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f8b2190a._.js +0 -3
  371. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b8ff10b9._.js +0 -3
  372. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_board_page_actions_c5a3cb3c.js +0 -3
  373. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_board_loading_tsx_03dfd70d._.js +0 -3
  374. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_board_page_tsx_9415dc46._.js +0 -3
  375. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_ui_input_tsx_190a7701._.js +0 -3
  376. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_d725c10c._.js +0 -3
  377. package/.next/standalone/packages/ui/.next/static/chunks/107411d1a2f4b31d.js +0 -1
  378. package/.next/standalone/packages/ui/.next/static/chunks/17ac52d909def83e.js +0 -1
  379. package/.next/standalone/packages/ui/.next/static/chunks/212881511f73fc12.js +0 -5
  380. package/.next/standalone/packages/ui/.next/static/chunks/5057c3e1e7e13ca3.js +0 -1
  381. package/.next/standalone/packages/ui/.next/static/chunks/5d646f493d4c6928.js +0 -1
  382. package/.next/standalone/packages/ui/.next/static/chunks/88f695d32910a4ac.js +0 -1
  383. package/.next/standalone/packages/ui/.next/static/chunks/aa47b212786d8695.js +0 -1
  384. package/.next/standalone/packages/ui/.next/static/chunks/ae04dcd433be6dab.js +0 -1
  385. package/.next/standalone/packages/ui/.next/static/chunks/c210559fdfe60fef.js +0 -1
  386. package/.next/standalone/packages/ui/.next/static/chunks/df1731c03abf1aee.css +0 -1
  387. package/.next/standalone/packages/ui/.next/static/chunks/e237e00fd3a84178.js +0 -3
  388. package/.next/standalone/packages/ui/dist/standalone/packages/web/README.md +0 -196
  389. package/.next/standalone/packages/ui/dist/standalone/packages/web/components.json +0 -20
  390. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/0000_reflective_thena.sql +0 -59
  391. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/0001_fresh_carmella_unuscione.sql +0 -1
  392. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/0000_snapshot.json +0 -427
  393. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/0001_snapshot.json +0 -436
  394. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/_journal.json +0 -20
  395. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle.config.ts +0 -10
  396. package/.next/standalone/packages/ui/dist/standalone/packages/web/eslint.config.mjs +0 -18
  397. package/.next/standalone/packages/ui/dist/standalone/packages/web/leanspec.db +0 -0
  398. package/.next/standalone/packages/ui/dist/standalone/packages/web/next.config.ts +0 -7
  399. package/.next/standalone/packages/ui/dist/standalone/packages/web/package.json +0 -83
  400. package/.next/standalone/packages/ui/dist/standalone/packages/web/postcss.config.mjs +0 -8
  401. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/f864aa7e7061c0600e35cf3d879b27cf.txt +0 -1
  402. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/favicon.ico +0 -0
  403. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/file.svg +0 -1
  404. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/github-mark-white.svg +0 -1
  405. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/github-mark.svg +0 -1
  406. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/globe.svg +0 -1
  407. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/icon.svg +0 -7
  408. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/logo-dark-bg.svg +0 -17
  409. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/logo-with-bg.svg +0 -17
  410. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/logo.svg +0 -17
  411. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/next.svg +0 -1
  412. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/vercel.svg +0 -1
  413. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/window.svg +0 -1
  414. package/.next/standalone/packages/ui/dist/standalone/packages/web/server.js +0 -44
  415. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/projects/[id]/specs/route.ts +0 -23
  416. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/projects/route.ts +0 -19
  417. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/revalidate/route.ts +0 -63
  418. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/dependency-graph/route.test.ts +0 -51
  419. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/dependency-graph/route.ts +0 -171
  420. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/route.ts +0 -36
  421. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/subspecs/[file]/route.ts +0 -46
  422. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/board-client.tsx +0 -162
  423. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/loading.tsx +0 -43
  424. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/page.tsx +0 -18
  425. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/dashboard-client.tsx +0 -364
  426. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/error.tsx +0 -43
  427. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/globals.css +0 -531
  428. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/home-client.tsx +0 -277
  429. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/layout.tsx +0 -70
  430. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/loading.tsx +0 -87
  431. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/not-found.tsx +0 -27
  432. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/page.tsx +0 -18
  433. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/[id]/loading.tsx +0 -5
  434. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/page.tsx +0 -18
  435. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/specs-client.tsx +0 -425
  436. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/stats/page.tsx +0 -18
  437. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/stats/stats-client.tsx +0 -283
  438. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/back-to-top.tsx +0 -46
  439. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/empty-state.tsx +0 -52
  440. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/main-sidebar.tsx +0 -175
  441. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/markdown-link.test.ts +0 -96
  442. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/markdown-link.tsx +0 -95
  443. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/navigation.tsx +0 -210
  444. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/priority-badge.tsx +0 -53
  445. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/quick-search.tsx +0 -180
  446. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/skeletons.tsx +0 -119
  447. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-dependency-graph.tsx +0 -369
  448. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-client.tsx +0 -372
  449. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-loading-shell.tsx +0 -42
  450. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-wrapper.tsx +0 -70
  451. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-metadata.tsx +0 -136
  452. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-sidebar.tsx +0 -127
  453. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-timeline.tsx +0 -186
  454. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/specs-nav-sidebar.tsx +0 -561
  455. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/status-badge.tsx +0 -53
  456. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/sub-spec-tabs.tsx +0 -143
  457. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/table-of-contents.tsx +0 -130
  458. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/theme-provider.tsx +0 -11
  459. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/theme-toggle.tsx +0 -37
  460. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/avatar.tsx +0 -50
  461. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/badge.tsx +0 -36
  462. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/breadcrumb.tsx +0 -110
  463. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/button.tsx +0 -57
  464. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/card.tsx +0 -76
  465. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/command.tsx +0 -153
  466. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/dialog.tsx +0 -122
  467. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/input.tsx +0 -24
  468. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/select.tsx +0 -159
  469. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/separator.tsx +0 -31
  470. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/skeleton.tsx +0 -15
  471. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/tabs.tsx +0 -55
  472. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/toast.tsx +0 -30
  473. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/tooltip.tsx +0 -32
  474. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/date-utils.ts +0 -76
  475. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/index.ts +0 -42
  476. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/migrate.ts +0 -18
  477. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/queries.ts +0 -114
  478. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/schema.ts +0 -123
  479. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/seed.ts +0 -156
  480. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/service-queries.ts +0 -216
  481. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/dependency-graph.ts +0 -105
  482. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/service.ts +0 -120
  483. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/sources/database-source.ts +0 -94
  484. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/sources/filesystem-source.ts +0 -249
  485. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/types.ts +0 -55
  486. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/stores/specs-sidebar-store.ts +0 -152
  487. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/sub-specs.ts +0 -171
  488. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/utils.ts +0 -17
  489. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/types/specs.ts +0 -18
  490. package/.next/standalone/packages/ui/dist/standalone/packages/web/tailwind.config.ts +0 -58
  491. package/.next/standalone/packages/ui/dist/standalone/packages/web/tsconfig.json +0 -34
  492. package/.next/standalone/packages/ui/dist/standalone/packages/web/tsconfig.tsbuildinfo +0 -1
  493. package/.next/standalone/packages/ui/dist/standalone/packages/web/vitest.config.ts +0 -14
  494. package/.next/standalone/packages/ui/dist/standalone/specs/014-complete-custom-frontmatter/README.md +0 -175
  495. package/.next/standalone/packages/ui/dist/standalone/specs/016-github-action/README.md +0 -317
  496. package/.next/standalone/packages/ui/dist/standalone/specs/017-vscode-extension/README.md +0 -261
  497. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CLI-DESIGN.md +0 -380
  498. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION-EXAMPLES.md +0 -230
  499. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION.md +0 -285
  500. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/IMPLEMENTATION.md +0 -358
  501. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/README.md +0 -303
  502. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/TESTING.md +0 -368
  503. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/VALIDATION-RULES.md +0 -327
  504. package/.next/standalone/packages/ui/dist/standalone/specs/024-pattern-aware-list-grouping/README.md +0 -117
  505. package/.next/standalone/packages/ui/dist/standalone/specs/025-template-config-updates/README.md +0 -73
  506. package/.next/standalone/packages/ui/dist/standalone/specs/026-init-pattern-selection/README.md +0 -109
  507. package/.next/standalone/packages/ui/dist/standalone/specs/034-copilot-slash-commands/README.md +0 -107
  508. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/ARCHITECTURE.md +0 -244
  509. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/IMPLEMENTATION.md +0 -429
  510. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/README.md +0 -306
  511. package/.next/standalone/packages/ui/dist/standalone/specs/036-pm-integrations/README.md +0 -158
  512. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-AI-ASSISTED.md +0 -359
  513. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-FULL-LIFECYCLE.md +0 -86
  514. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-REAL-FEATURE.md +0 -437
  515. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-SCRIPT.md +0 -365
  516. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-FINAL.md +0 -203
  517. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SESSION-2025-11-06.md +0 -174
  518. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SUMMARY.md +0 -156
  519. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/IMPLEMENTATION.md +0 -183
  520. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/MARKETING.md +0 -229
  521. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/NEXT-STEPS-DEMO.md +0 -243
  522. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/README.md +0 -217
  523. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/SESSION-2025-11-06.md +0 -166
  524. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/TESTING.md +0 -126
  525. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/ACTUAL-IMPLEMENTATION.md +0 -108
  526. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/DESIGN.md +0 -382
  527. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/IMPLEMENTATION.md +0 -144
  528. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/RATIONALE.md +0 -146
  529. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/README.md +0 -208
  530. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/TESTING.md +0 -182
  531. package/.next/standalone/packages/ui/dist/standalone/specs/047-git-backfill-timestamps/README.md +0 -314
  532. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/FINDINGS.md +0 -113
  533. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/GUIDELINES.md +0 -237
  534. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/README.md +0 -149
  535. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-COMPARISONS.md +0 -175
  536. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-CONSTRAINTS.md +0 -254
  537. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/FIRST-PRINCIPLES.md +0 -376
  538. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-ROADMAP.md +0 -240
  539. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-TOOLS.md +0 -175
  540. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/README.md +0 -374
  541. package/.next/standalone/packages/ui/dist/standalone/specs/051-docs-system-prompt-principles/README.md +0 -339
  542. package/.next/standalone/packages/ui/dist/standalone/specs/052-branding-assets/README.md +0 -128
  543. package/.next/standalone/packages/ui/dist/standalone/specs/053-spec-assets-philosophy/README.md +0 -97
  544. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/DESIGN-DECISIONS.md +0 -93
  545. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/OUTPUT-FORMAT-SPEC.md +0 -146
  546. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/README.md +0 -175
  547. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART1.md +0 -397
  548. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART2.md +0 -342
  549. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS.md +0 -44
  550. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CHANGES.md +0 -150
  551. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CONCERNS-ANALYSIS.md +0 -351
  552. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/DOCS-ALIGNMENT-ANALYSIS.md +0 -238
  553. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/README.md +0 -280
  554. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-DRAFT.md +0 -372
  555. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-REFINED.md +0 -466
  556. package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/AUDIT-RESULTS.md +0 -178
  557. package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/README.md +0 -174
  558. package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/README.md +0 -295
  559. package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/VALIDATION-RESULTS.md +0 -487
  560. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/ANALYSIS.md +0 -241
  561. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/DESIGN.md +0 -279
  562. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/IMPLEMENTATION.md +0 -642
  563. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/NOTES.md +0 -125
  564. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/README.md +0 -286
  565. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/ARCHITECTURE.md +0 -392
  566. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/COMMANDS.md +0 -1002
  567. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/CONTEXT-ENGINEERING.md +0 -411
  568. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/IMPLEMENTATION.md +0 -812
  569. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/README.md +0 -504
  570. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/TESTING.md +0 -724
  571. package/.next/standalone/packages/ui/dist/standalone/specs/060-core-concepts-coherence/README.md +0 -125
  572. package/.next/standalone/packages/ui/dist/standalone/specs/061-ai-assisted-spec-writing/README.md +0 -299
  573. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/IMPLEMENTATION-PLAN.md +0 -174
  574. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PAGE-SPECIFICATIONS.md +0 -265
  575. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PROBLEM-ANALYSIS.md +0 -36
  576. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/README.md +0 -243
  577. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/SOLUTION-DESIGN.md +0 -82
  578. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/DESIGN.md +0 -338
  579. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/EXAMPLES.md +0 -354
  580. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/IMPLEMENTATION.md +0 -189
  581. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/README.md +0 -119
  582. package/.next/standalone/packages/ui/dist/standalone/specs/064-docs-site-zh-translation/README.md +0 -170
  583. package/.next/standalone/packages/ui/dist/standalone/specs/065-v03-planning/README.md +0 -158
  584. package/.next/standalone/packages/ui/dist/standalone/specs/066-context-economy-thresholds-refinement/README.md +0 -842
  585. package/.next/standalone/packages/ui/dist/standalone/specs/067-monorepo-core-extraction/README.md +0 -358
  586. package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/DESIGN.md +0 -444
  587. package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/README.md +0 -357
  588. package/.next/standalone/packages/ui/dist/standalone/specs/069-token-counting-utils/README.md +0 -551
  589. package/.next/standalone/packages/ui/dist/standalone/specs/070-mcp-token-counting-tool/README.md +0 -372
  590. package/.next/standalone/packages/ui/dist/standalone/specs/071-simplified-token-validation/README.md +0 -489
  591. package/.next/standalone/packages/ui/dist/standalone/specs/072-ai-agent-first-use-workflow/README.md +0 -287
  592. package/.next/standalone/packages/ui/dist/standalone/specs/073-template-engine-agents-md/README.md +0 -323
  593. package/.next/standalone/packages/ui/dist/standalone/specs/074-content-at-creation/README.md +0 -136
  594. package/.next/standalone/packages/ui/dist/standalone/specs/075-intelligent-search-engine/README.md +0 -399
  595. package/.next/standalone/packages/ui/dist/standalone/specs/076-programmatic-spec-relationships/README.md +0 -301
  596. package/.next/standalone/packages/ui/dist/standalone/specs/077-archiving-strategy/README.md +0 -235
  597. package/.next/standalone/packages/ui/dist/standalone/specs/078-sub-spec-template-system/README.md +0 -303
  598. package/.next/standalone/packages/ui/dist/standalone/specs/079-cli-alphabetical-organization/README.md +0 -196
  599. package/.next/standalone/packages/ui/dist/standalone/specs/080-mcp-server-modular-architecture/README.md +0 -388
  600. package/.next/standalone/packages/ui/dist/standalone/specs/081-web-app-ux-redesign/README.md +0 -825
  601. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DATABASE.md +0 -111
  602. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DEPLOYMENT.md +0 -69
  603. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/FILESYSTEM.md +0 -77
  604. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/IMPLEMENTATION.md +0 -184
  605. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/README.md +0 -501
  606. package/.next/standalone/packages/ui/dist/standalone/specs/083-web-navigation-performance/README.md +0 -490
  607. package/.next/standalone/packages/ui/dist/standalone/specs/084-sub-spec-visibility-in-tools/README.md +0 -389
  608. package/.next/standalone/packages/ui/dist/standalone/specs/085-cli-relationship-commands/README.md +0 -920
  609. package/.next/standalone/packages/ui/dist/standalone/specs/086-template-component-deduplication/README.md +0 -146
  610. package/.next/standalone/packages/ui/dist/standalone/specs/087-cli-ui-command/README.md +0 -421
  611. package/.next/standalone/packages/ui/dist/standalone/specs/088-core-concepts-terminology-only/README.md +0 -106
  612. package/.next/standalone/packages/ui/dist/standalone/specs/089-sdd-practical-tutorials/README.md +0 -126
  613. package/.next/standalone/packages/ui/dist/standalone/specs/090-leanspec-sdd-case-studies/README.md +0 -131
  614. package/.next/standalone/packages/ui/dist/standalone/specs/091-chinese-localization-strategy/README.md +0 -254
  615. package/.next/standalone/packages/ui/dist/standalone/specs/092-docs-site-submodule-migration/README.md +0 -152
  616. package/.next/standalone/packages/ui/dist/standalone/specs/093-spec-detail-ui-improvements/README.md +0 -65
  617. package/.next/standalone/packages/ui/dist/standalone/specs/094-ai-chatbot-web-integration/README.md +0 -332
  618. package/.next/standalone/packages/ui/dist/standalone/specs/095-pr-migration-verification/README.md +0 -339
  619. package/.next/standalone/packages/ui/dist/standalone/specs/096-docs-beginner-first-reorg/README.md +0 -399
  620. package/.next/standalone/packages/ui/dist/standalone/specs/097-dag-visualization-library/README.md +0 -525
  621. package/.next/standalone/packages/ui/dist/standalone/specs/098-github-multi-project-integration/README.md +0 -387
  622. package/.next/standalone/packages/ui/dist/standalone/specs/099-enhanced-dependency-commands-cli-mcp/README.md +0 -613
  623. package/.next/standalone/packages/ui/dist/standalone/specs/100-release-process-typecheck-failure/README.md +0 -266
  624. package/.next/standalone/packages/ui/dist/standalone/specs/101-sidebar-scroll-position-drift/README.md +0 -100
  625. package/.next/standalone/packages/ui/dist/standalone/specs/102-mcp-wrapper-package/README.md +0 -172
  626. package/.next/standalone/packages/ui/dist/standalone/specs/archived/001-typescript-cli-migration/README.md +0 -37
  627. package/.next/standalone/packages/ui/dist/standalone/specs/archived/002-template-system-redesign/README.md +0 -60
  628. package/.next/standalone/packages/ui/dist/standalone/specs/archived/003-init-system-redesign/README.md +0 -113
  629. package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/README.md +0 -69
  630. package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/SUMMARY.md +0 -112
  631. package/.next/standalone/packages/ui/dist/standalone/specs/archived/005-structured-frontmatter/README.md +0 -229
  632. package/.next/standalone/packages/ui/dist/standalone/specs/archived/006-pm-visualization-tools/README.md +0 -406
  633. package/.next/standalone/packages/ui/dist/standalone/specs/archived/007-system-prompt-updates/README.md +0 -168
  634. package/.next/standalone/packages/ui/dist/standalone/specs/archived/008-commander-migration/README.md +0 -174
  635. package/.next/standalone/packages/ui/dist/standalone/specs/archived/009-cli-ux-enhancement/README.md +0 -212
  636. package/.next/standalone/packages/ui/dist/standalone/specs/archived/010-commands-refactor/README.md +0 -249
  637. package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/README.md +0 -60
  638. package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/TEST_SUMMARY.md +0 -139
  639. package/.next/standalone/packages/ui/dist/standalone/specs/archived/012-sub-spec-files/README.md +0 -722
  640. package/.next/standalone/packages/ui/dist/standalone/specs/archived/013-custom-spec-templates/README.md +0 -413
  641. package/.next/standalone/packages/ui/dist/standalone/specs/archived/015-npm-publishing/README.md +0 -255
  642. package/.next/standalone/packages/ui/dist/standalone/specs/archived/019-readme-improvement/README.md +0 -252
  643. package/.next/standalone/packages/ui/dist/standalone/specs/archived/020-documentation-website/README.md +0 -253
  644. package/.next/standalone/packages/ui/dist/standalone/specs/archived/021-docusaurus-vercel-migration/README.md +0 -612
  645. package/.next/standalone/packages/ui/dist/standalone/specs/archived/022-flexible-folder-structure/README.md +0 -794
  646. package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/DESIGN.md +0 -834
  647. package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/README.md +0 -255
  648. package/.next/standalone/packages/ui/dist/standalone/specs/archived/027-cli-ui-ux-optimization/README.md +0 -454
  649. package/.next/standalone/packages/ui/dist/standalone/specs/archived/028-cli-ui-modernization/README.md +0 -172
  650. package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/IMPLEMENTATION.md +0 -152
  651. package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/README.md +0 -95
  652. package/.next/standalone/packages/ui/dist/standalone/specs/archived/030-created-date-format-bug/README.md +0 -87
  653. package/.next/standalone/packages/ui/dist/standalone/specs/archived/031-gantt-ux-improvements/README.md +0 -230
  654. package/.next/standalone/packages/ui/dist/standalone/specs/archived/032-console-log-chalk-security/README.md +0 -89
  655. package/.next/standalone/packages/ui/dist/standalone/specs/archived/033-mcp-server/README.md +0 -89
  656. package/.next/standalone/packages/ui/dist/standalone/specs/archived/037-docs-overhaul/README.md +0 -166
  657. package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-flat-structure-migration/README.md +0 -276
  658. package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-mcp-frontmatter-bug-fix/README.md +0 -122
  659. package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-simplify-viewer-commands/README.md +0 -198
  660. package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-template-variable-sync/README.md +0 -192
  661. package/.next/standalone/packages/ui/dist/standalone/specs/archived/040-spec-viewer-commands/README.md +0 -171
  662. package/.next/standalone/packages/ui/dist/standalone/specs/archived/042-mcp-error-handling/README.md +0 -200
  663. package/.next/standalone/packages/ui/dist/standalone/specs/archived/044-spec-relationships-clarity/README.md +0 -317
  664. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/DESIGN.md +0 -276
  665. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/IMPLEMENTATION.md +0 -241
  666. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/README.md +0 -139
  667. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/TESTING.md +0 -328
  668. package/.next/standalone/packages/ui/dist/standalone/specs/archived/050-tool-redesign-first-principles/README.md +0 -400
  669. package/.next/standalone/packages/ui/package.json.backup +0 -119
  670. package/.next/standalone/packages/ui/src/app/board/board-client.tsx +0 -162
  671. package/.next/standalone/packages/ui/src/app/board/loading.tsx +0 -43
  672. package/.next/standalone/packages/ui/src/app/board/page.tsx +0 -18
  673. package/.next/static/chunks/107411d1a2f4b31d.js +0 -1
  674. package/.next/static/chunks/17ac52d909def83e.js +0 -1
  675. package/.next/static/chunks/212881511f73fc12.js +0 -5
  676. package/.next/static/chunks/5057c3e1e7e13ca3.js +0 -1
  677. package/.next/static/chunks/5d646f493d4c6928.js +0 -1
  678. package/.next/static/chunks/88f695d32910a4ac.js +0 -1
  679. package/.next/static/chunks/aa47b212786d8695.js +0 -1
  680. package/.next/static/chunks/ae04dcd433be6dab.js +0 -1
  681. package/.next/static/chunks/c210559fdfe60fef.js +0 -1
  682. package/.next/static/chunks/df1731c03abf1aee.css +0 -1
  683. package/.next/static/chunks/e237e00fd3a84178.js +0 -3
  684. /package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/lib/index.js +0 -0
  685. /package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/versions.json +0 -0
  686. /package/.next/standalone/packages/ui/.next/server/app/{board/page → api/local-projects/[id]/route}/server-reference-manifest.json +0 -0
  687. /package/.next/standalone/packages/ui/.next/server/app/{board/page.js.map → api/local-projects/[id]/route.js.map} +0 -0
  688. /package/.next/standalone/packages/ui/.next/server/app/{board → projects/[projectId]}/page/next-font-manifest.json +0 -0
  689. /package/.next/standalone/packages/ui/.next/server/app/{board → projects/[projectId]}/page/react-loadable-manifest.json +0 -0
  690. /package/.next/standalone/packages/ui/.next/static/{mY96Srm2xq4N3LlCirdvZ → q_RJXo9ZqWIVUq3kCY65L}/_buildManifest.js +0 -0
  691. /package/.next/standalone/packages/ui/.next/static/{mY96Srm2xq4N3LlCirdvZ → q_RJXo9ZqWIVUq3kCY65L}/_clientMiddlewareManifest.json +0 -0
  692. /package/.next/standalone/packages/ui/.next/static/{mY96Srm2xq4N3LlCirdvZ → q_RJXo9ZqWIVUq3kCY65L}/_ssgManifest.js +0 -0
  693. /package/.next/static/{mY96Srm2xq4N3LlCirdvZ → q_RJXo9ZqWIVUq3kCY65L}/_buildManifest.js +0 -0
  694. /package/.next/static/{mY96Srm2xq4N3LlCirdvZ → q_RJXo9ZqWIVUq3kCY65L}/_clientMiddlewareManifest.json +0 -0
  695. /package/.next/static/{mY96Srm2xq4N3LlCirdvZ → q_RJXo9ZqWIVUq3kCY65L}/_ssgManifest.js +0 -0
@@ -1,41 +0,0 @@
1
- 1:"$Sreact.fragment"
2
- 3:I[24050,["/_next/static/chunks/6a05a93ec8fa7b83.js","/_next/static/chunks/a02c1f50ff00204f.js"],"default"]
3
- 4:I[70127,["/_next/static/chunks/6a05a93ec8fa7b83.js","/_next/static/chunks/a02c1f50ff00204f.js"],"default"]
4
- 5:I[5451,["/_next/static/chunks/6a05a93ec8fa7b83.js","/_next/static/chunks/a02c1f50ff00204f.js"],"ClientPageRoot"]
5
- 6:I[5052,["/_next/static/chunks/212881511f73fc12.js","/_next/static/chunks/5d646f493d4c6928.js","/_next/static/chunks/e237e00fd3a84178.js","/_next/static/chunks/ae04dcd433be6dab.js","/_next/static/chunks/b9b9d7565bc2c2ad.js","/_next/static/chunks/c210559fdfe60fef.js"],"default"]
6
- 9:I[45442,["/_next/static/chunks/6a05a93ec8fa7b83.js","/_next/static/chunks/a02c1f50ff00204f.js"],"OutletBoundary"]
7
- a:"$Sreact.suspense"
8
- 11:I[65393,["/_next/static/chunks/6a05a93ec8fa7b83.js","/_next/static/chunks/a02c1f50ff00204f.js"],"default"]
9
- :HL["/_next/static/chunks/df1731c03abf1aee.css","style"]
10
- 0:{"P":null,"b":"mY96Srm2xq4N3LlCirdvZ","c":["","board"],"q":"","i":false,"f":[[["",{"children":["board",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/df1731c03abf1aee.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/212881511f73fc12.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/5d646f493d4c6928.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/e237e00fd3a84178.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/ae04dcd433be6dab.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/b9b9d7565bc2c2ad.js","async":true,"nonce":"$undefined"}]],"$L2"]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","$L5",null,{"Component":"$6","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@7","$@8"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/c210559fdfe60fef.js","async":true,"nonce":"$undefined"}]],["$","$L9",null,{"children":["$","$a",null,{"name":"Next.MetadataOutlet","children":"$@b"}]}]]}],{},null,false,false]},[["$","div","l",{"className":"min-h-screen bg-background","children":["$","section",null,{"className":"container mx-auto px-4 py-8","children":[["$","div",null,{"className":"mb-8","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-10 w-48 mb-2"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-96"}]]}],["$","div",null,{"className":"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6","children":[["$","div","0",{"className":"flex flex-col","children":[["$","div",null,{"className":"mb-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-7 w-32"}]}],["$","div",null,{"className":"space-y-3 flex-1","children":[["$","div","0",{"ref":"$undefined","className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]]}],["$","div","1",{"ref":"$undefined","className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]]}],["$","div","2",{"ref":"$undefined","className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]]}]]}]]}],["$","div","1",{"className":"flex flex-col","children":[["$","div",null,{"className":"mb-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-7 w-32"}]}],"$Lc"]}],"$Ld","$Le"]}]]}]}],[],[]],false,false]},["$Lf",[],[]],false,false],"$L10",false]],"m":"$undefined","G":["$11",[]],"s":false,"S":true}
11
- 1b:I[45442,["/_next/static/chunks/6a05a93ec8fa7b83.js","/_next/static/chunks/a02c1f50ff00204f.js"],"ViewportBoundary"]
12
- 1d:I[45442,["/_next/static/chunks/6a05a93ec8fa7b83.js","/_next/static/chunks/a02c1f50ff00204f.js"],"MetadataBoundary"]
13
- c:["$","div",null,{"className":"space-y-3 flex-1","children":[["$","div","0",{"ref":"$undefined","className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]]}],["$","div","1",{"ref":"$undefined","className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]]}],["$","div","2",{"ref":"$undefined","className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]]}]]}]
14
- d:["$","div","2",{"className":"flex flex-col","children":[["$","div",null,{"className":"mb-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-7 w-32"}]}],["$","div",null,{"className":"space-y-3 flex-1","children":[["$","div","0",{"ref":"$undefined","className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]]}],["$","div","1",{"ref":"$undefined","className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]]}],["$","div","2",{"ref":"$undefined","className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]]}]]}]]}]
15
- e:["$","div","3",{"className":"flex flex-col","children":[["$","div",null,{"className":"mb-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-7 w-32"}]}],["$","div",null,{"className":"space-y-3 flex-1","children":[["$","div","0",{"ref":"$undefined","className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]]}],["$","div","1",{"ref":"$undefined","className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]]}],["$","div","2",{"ref":"$undefined","className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]]}]]}]]}]
16
- f:["$","div","l",{"className":"min-h-screen bg-background","children":[["$","section",null,{"className":"container mx-auto px-4 py-8","children":[["$","div",null,{"className":"mb-8","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-10 w-64 mb-2"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-96"}]]}],["$","div",null,{"className":"grid grid-cols-1 md:grid-cols-4 gap-4 mb-8","children":[["$","div","0",{"ref":"$undefined","className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-24"}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-9 w-16"}]}]]}],["$","div","1",{"ref":"$undefined","className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-24"}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-9 w-16"}]}]]}],["$","div","2",{"ref":"$undefined","className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-24"}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-9 w-16"}]}]]}],["$","div","3",{"ref":"$undefined","className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-24"}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-9 w-16"}]}]]}]]}]]}],["$","section",null,{"className":"container mx-auto px-4 py-8","children":[["$","div",null,{"className":"mb-6","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-8 w-48 mb-4"}],["$","div",null,{"className":"flex flex-col sm:flex-row gap-4 mb-6","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-9 flex-1"}],["$","div",null,{"className":"flex gap-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-9 w-32"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-9 w-32"}]]}]]}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-48 mb-4"}]]}],["$","div",null,{"ref":"$undefined","className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":["$","div",null,{"className":"overflow-x-auto","children":["$","table",null,{"className":"w-full","children":[["$","thead",null,{"className":"border-b","children":["$","tr",null,{"children":[["$","th",null,{"className":"px-6 py-3 text-left","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-12"}]}],["$","th",null,{"className":"px-6 py-3 text-left","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-16"}]}],["$","th",null,{"className":"px-6 py-3 text-left","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-16"}]}],["$","th",null,{"className":"px-6 py-3 text-left","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-16"}]}]]}]}],["$","tbody",null,{"className":"divide-y","children":[["$","tr","0",{"children":[["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-12"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-64"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-20"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-16"}]}]]}],"$L12","$L13","$L14","$L15","$L16","$L17","$L18","$L19","$L1a"]}]]}]}]}]]}]]}]
17
- 10:["$","$1","h",{"children":[null,["$","$L1b",null,{"children":"$@1c"}],["$","div",null,{"hidden":true,"children":["$","$L1d",null,{"children":["$","$a",null,{"name":"Next.Metadata","children":"$@1e"}]}]}],null]}]
18
- 7:{}
19
- 8:"$0:f:0:1:1:children:1:children:0:props:children:0:props:serverProvidedParams:params"
20
- 12:["$","tr","1",{"children":[["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-12"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-64"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-20"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-16"}]}]]}]
21
- 13:["$","tr","2",{"children":[["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-12"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-64"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-20"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-16"}]}]]}]
22
- 14:["$","tr","3",{"children":[["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-12"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-64"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-20"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-16"}]}]]}]
23
- 15:["$","tr","4",{"children":[["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-12"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-64"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-20"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-16"}]}]]}]
24
- 16:["$","tr","5",{"children":[["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-12"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-64"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-20"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-16"}]}]]}]
25
- 17:["$","tr","6",{"children":[["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-12"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-64"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-20"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-16"}]}]]}]
26
- 18:["$","tr","7",{"children":[["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-12"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-64"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-20"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-16"}]}]]}]
27
- 19:["$","tr","8",{"children":[["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-12"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-64"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-20"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-16"}]}]]}]
28
- 1a:["$","tr","9",{"children":[["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-12"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-64"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-20"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-16"}]}]]}]
29
- 1c:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
30
- 1f:I[90269,["/_next/static/chunks/6a05a93ec8fa7b83.js","/_next/static/chunks/a02c1f50ff00204f.js"],"IconMark"]
31
- 1e:[["$","title","0",{"children":"LeanSpec Web - Interactive Spec Showcase"}],["$","meta","1",{"name":"description","content":"Browse and explore LeanSpec specifications in a rich, interactive format"}],["$","meta","2",{"property":"og:title","content":"LeanSpec Web"}],["$","meta","3",{"property":"og:description","content":"Browse and explore LeanSpec specifications in a rich, interactive format"}],["$","meta","4",{"property":"og:type","content":"website"}],["$","meta","5",{"name":"twitter:card","content":"summary"}],["$","meta","6",{"name":"twitter:title","content":"LeanSpec Web"}],["$","meta","7",{"name":"twitter:description","content":"Browse and explore LeanSpec specifications in a rich, interactive format"}],["$","link","8",{"rel":"icon","href":"/favicon.ico"}],["$","link","9",{"rel":"icon","href":"/logo.svg","type":"image/svg+xml"}],["$","link","10",{"rel":"apple-touch-icon","href":"/logo.svg"}],["$","$L1f","11",{}]]
32
- b:null
33
- 20:I[14636,["/_next/static/chunks/212881511f73fc12.js","/_next/static/chunks/5d646f493d4c6928.js","/_next/static/chunks/e237e00fd3a84178.js","/_next/static/chunks/ae04dcd433be6dab.js","/_next/static/chunks/b9b9d7565bc2c2ad.js"],"ThemeProvider"]
34
- 21:I[26160,["/_next/static/chunks/212881511f73fc12.js","/_next/static/chunks/5d646f493d4c6928.js","/_next/static/chunks/e237e00fd3a84178.js","/_next/static/chunks/ae04dcd433be6dab.js","/_next/static/chunks/b9b9d7565bc2c2ad.js"],"Navigation"]
35
- 2:["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"antialiased bg-background overflow-x-hidden","children":["$","$L20",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":[["$","$L21",null,{"specs":[{"id":"fs-014-complete-custom-frontmatter","specNumber":"14","title":"complete-custom-frontmatter","status":"complete","priority":"high","tags":["enhancement","frontmatter","customization"],"createdAt":"2025-11-02T00:00:00.000Z"},{"id":"fs-016-github-action","specNumber":"16","title":"github-action","status":"planned","priority":"low","tags":["feature","ci","automation"],"createdAt":"2025-11-02T00:00:00.000Z"},{"id":"fs-017-vscode-extension","specNumber":"17","title":"vscode-extension","status":"planned","priority":"low","tags":["feature","ide","vscode"],"createdAt":"2025-11-02T00:00:00.000Z"},{"id":"fs-018-spec-validation","specNumber":"18","title":"Comprehensive Spec Validation","status":"complete","priority":"critical","tags":["quality","validation","cli","first-principles","v0.2.0"],"createdAt":"2025-11-02T00:00:00.000Z"},{"id":"fs-024-pattern-aware-list-grouping","specNumber":"24","title":"Pattern-Aware List Grouping","status":"complete","priority":"high","tags":["ux","polish","v0.2.0"],"createdAt":"2025-11-03T00:00:00.000Z"},{"id":"fs-025-template-config-updates","specNumber":"25","title":"Template Config Updates","status":"planned","priority":"low","tags":["templates","polish"],"createdAt":"2025-11-03T00:00:00.000Z"},{"id":"fs-026-init-pattern-selection","specNumber":"26","title":"Init Pattern Selection","status":"complete","priority":"high","tags":["ux","init","v0.2.0"],"createdAt":"2025-11-03T00:00:00.000Z"},{"id":"fs-034-copilot-slash-commands","specNumber":"34","title":"GitHub Copilot Chat Slash Commands & Prompts","status":"planned","priority":"medium","tags":["vscode","copilot","ai","ux","v0.2.0-optional"],"createdAt":"2025-11-03T00:00:00.000Z"},{"id":"fs-035-live-specs-showcase","specNumber":"35","title":"LeanSpec Web: Fullstack Spec Showcase Platform","status":"complete","priority":"high","tags":["docs","dogfooding","web","v0.3.0-launch"],"createdAt":"2025-11-03T00:00:00.000Z"},{"id":"fs-036-pm-integrations","specNumber":"36","title":"External PM Systems Integration","status":"planned","priority":"low","tags":["integration","pm","github","jira","ado"],"createdAt":"2025-11-03T00:00:00.000Z"},{"id":"fs-043-official-launch-02","specNumber":"43","title":"Official Launch: v0.2.0","status":"complete","priority":"critical","tags":["release","launch","milestone","stability"],"createdAt":"2025-11-04T00:00:00.000Z"},{"id":"fs-045-unified-dashboard","specNumber":"45","title":"Unified Analytics & Velocity Tracking","status":"complete","priority":"high","tags":["ux","visualization","analytics","launch","v0.2.0"],"createdAt":"2025-11-04T00:00:00.000Z"},{"id":"fs-047-git-backfill-timestamps","specNumber":"47","title":"Backfill Timestamp Frontmatter from Git History","status":"complete","priority":"medium","tags":["enhancement","git","timestamps","analytics","migration"],"createdAt":"2025-11-04T14:58:23.000Z"},{"id":"fs-048-spec-complexity-analysis","specNumber":"48","title":"When Specs Become Too Complex","status":"complete","priority":"critical","tags":["philosophy","quality","lean-principle","meta"],"createdAt":"2025-11-04T00:00:00.000Z"},{"id":"fs-049-leanspec-first-principles","specNumber":"49","title":"LeanSpec First Principles (第一性原理)","status":"complete","priority":"critical","tags":["philosophy","meta","foundation","principles"],"createdAt":"2025-11-04T00:00:00.000Z"},{"id":"fs-051-docs-system-prompt-principles","specNumber":"51","title":"Update System Prompt and Docs with First Principles","status":"complete","priority":"critical","tags":["documentation","ai-agents","first-principles","system-prompt","philosophy","v0.2.0"],"createdAt":"2025-11-05T00:00:00.000Z"},{"id":"fs-052-branding-assets","specNumber":"52","title":"Export and Deploy Brand Assets","status":"complete","priority":"high","tags":["design","launch","v0.2.0"],"createdAt":"2025-11-05T00:00:00.000Z"},{"id":"fs-053-spec-assets-philosophy","specNumber":"53","title":"Spec Assets and Artifact Management Philosophy","status":"planned","priority":"low","tags":["philosophy","documentation","guidelines"],"createdAt":"2025-11-05T00:00:00.000Z"},{"id":"fs-054-validate-output-lint-style","specNumber":"54","title":"Lint-Style Validate Output","status":"complete","priority":"high","tags":["validation","cli","ux","v0.2.0"],"createdAt":"2025-11-07T03:20:34.342Z"},{"id":"fs-055-readme-redesign-ai-first","specNumber":"55","title":"README Redesign: AI-First Positioning","status":"complete","priority":"high","tags":["documentation","ux","conversion","marketing"],"createdAt":"2025-11-06T14:15:28.191Z"},{"id":"fs-056-docs-site-accuracy-audit","specNumber":"56","title":"Documentation Site Accuracy Audit","status":"complete","priority":"high","tags":["documentation","quality","launch","v0.2.0"],"createdAt":"2025-11-06T16:05:09.955Z"},{"id":"fs-057-docs-validation-comprehensive","specNumber":"57","title":"Comprehensive Documentation Validation","status":"complete","priority":"high","tags":["documentation","quality","validation","v0.2.0"],"createdAt":"2025-11-06T16:12:08.914Z"},{"id":"fs-058-docs-overview-polish","specNumber":"58","title":"Docs-Site Comprehensive Restructure","status":"complete","priority":"high","tags":["documentation","quality","restructure","first-principles"],"createdAt":"2025-11-07T01:53:09.673Z"},{"id":"fs-059-programmatic-spec-management","specNumber":"59","title":"Programmatic Spec Management & Context Engineering","status":"complete","priority":"critical","tags":["context-engineering","automation","tooling","ai-agents","performance","v0.3.0"],"createdAt":"2025-11-07T11:28:43.206Z"},{"id":"fs-060-core-concepts-coherence","specNumber":"60","title":"Core Concepts Documentation Coherence","status":"complete","priority":"high","tags":["docs","ux","information-architecture"],"createdAt":"2025-11-07T12:20:31.352Z"},{"id":"fs-061-ai-assisted-spec-writing","specNumber":"61","title":"AI-Assisted Spec Writing","status":"complete","priority":"high","tags":["ai","philosophy","docs"],"createdAt":"2025-11-07T15:44:34.381Z"},{"id":"fs-062-docs-info-architecture-v2","specNumber":"62","title":"Documentation Information Architecture v2","status":"complete","priority":"high","tags":["docs","information-architecture","ux","v0.2.0"],"createdAt":"2025-11-08T13:02:31.871Z"},{"id":"fs-063-migration-from-existing-tools","specNumber":"63","title":"Migration from Existing SDD Tools","status":"complete","priority":"high","tags":["cli","migration","ai-assisted","v0.2"],"createdAt":"2025-11-10T05:35:31.293Z"},{"id":"fs-064-docs-site-zh-translation","specNumber":"64","title":"Docs Site Chinese (ZH) Translation","status":"complete","priority":"medium","tags":["docs","i18n","translation","chinese"],"createdAt":"2025-11-10T14:32:32.477Z"},{"id":"fs-065-v03-planning","specNumber":"65","title":"LeanSpec v0.3 - Performance & AI Agent Optimization","status":"planned","priority":"critical","tags":["release","planning","milestone","v0.3.0","performance","ai-agents"],"createdAt":"2025-11-11T06:41:08.335Z"},{"id":"fs-066-context-economy-thresholds-refinement","specNumber":"66","title":"Context Economy Thresholds Refinement","status":"complete","priority":"high","tags":["validation","philosophy","context-economy","quality"],"createdAt":"2025-11-11T06:58:44.846Z"},{"id":"fs-067-monorepo-core-extraction","specNumber":"67","title":"Monorepo Structure & Core Package Extraction","status":"complete","priority":"high","tags":["architecture","refactor","monorepo","v0.3.0-launch"],"createdAt":"2025-11-11T13:33:33.321Z"},{"id":"fs-068-live-specs-ux-enhancements","specNumber":"68","title":"LeanSpec Web: UX/UI Enhancements Phase 2","status":"complete","priority":"high","tags":["web","ux","enhancement","v0.3.0-launch"],"createdAt":"2025-11-12T21:49:12.069Z"},{"id":"fs-069-token-counting-utils","specNumber":"69","title":"Token Counting Utilities for LLM Context Management","status":"complete","priority":"high","tags":["core","tooling","context-economy","llm","validation"],"createdAt":"2025-11-13T02:17:52.074Z"},{"id":"fs-070-mcp-token-counting-tool","specNumber":"70","title":"MCP Token Counting Tool","status":"complete","priority":"medium","tags":["core","mcp","llm","tooling"],"createdAt":"2025-11-13T02:56:09.580Z"},{"id":"fs-071-simplified-token-validation","specNumber":"71","title":"Simplified Token-Based Validation","status":"complete","priority":"high","tags":["validation","simplification","tokens"],"createdAt":"2025-11-13T03:11:29.739Z"},{"id":"fs-072-ai-agent-first-use-workflow","specNumber":"72","title":"ai-agent-first-use-workflow","status":"planned","priority":"high","tags":["onboarding","ai-agents","ux","mcp"],"createdAt":"2025-11-13T08:20:28.110Z"},{"id":"fs-073-template-engine-agents-md","specNumber":"73","title":"template-engine-agents-md","status":"complete","priority":"medium","tags":["templates","maintainability","dx","refactor","ai-first"],"createdAt":"2025-11-13T08:35:40.229Z"},{"id":"fs-074-content-at-creation","specNumber":"74","title":"Pass Content Directly to lean-spec create","status":"planned","priority":"medium","tags":["cli","dx"],"createdAt":"2025-11-13T08:40:40.882Z"},{"id":"fs-075-intelligent-search-engine","specNumber":"75","title":"Intelligent Search Engine","status":"complete","priority":"critical","tags":["search","mcp","cli","core","ranking","v0.3.0"],"createdAt":"2025-11-13T09:01:46.579Z"},{"id":"fs-076-programmatic-spec-relationships","specNumber":"76","title":"Programmatic Spec Relationship Management","status":"complete","priority":"high","tags":["cli","mcp","dx","ai-agents","relationships"],"createdAt":"2025-11-13T09:03:06.741Z"},{"id":"fs-077-archiving-strategy","specNumber":"77","title":"archiving-strategy","status":"planned","priority":"high","tags":["process","maintenance","workflow","best-practices"],"createdAt":"2025-11-13T13:08:46.014Z"},{"id":"fs-078-sub-spec-template-system","specNumber":"78","title":"sub-spec-template-system","status":"planned","priority":"medium","tags":["templates","cli","dx","ai-first","sub-specs"],"createdAt":"2025-11-13T13:31:48.324Z"},{"id":"fs-079-cli-alphabetical-organization","specNumber":"79","title":"CLI Alphabetical Organization","status":"complete","priority":"medium","tags":[],"createdAt":"2025-11-13T13:58:57.973Z"},{"id":"fs-080-mcp-server-modular-architecture","specNumber":"80","title":"MCP Server Modular Architecture","status":"complete","priority":"medium","tags":["refactor","mcp","architecture"],"createdAt":"2025-11-13T14:18:24.298Z"},{"id":"fs-081-web-app-ux-redesign","specNumber":"81","title":"Web App UX/UI Comprehensive Redesign","status":"complete","priority":"high","tags":["web","ux","design","enhancement"],"createdAt":"2025-11-14T03:21:43.076Z"},{"id":"fs-082-web-realtime-sync-architecture","specNumber":"82","title":"Web App Realtime Spec Sync Architecture","status":"complete","priority":"critical","tags":["web","architecture","deployment","realtime","v0.3.0"],"createdAt":"2025-11-14T05:33:26.170Z"},{"id":"fs-083-web-navigation-performance","specNumber":"83","title":"Web App Navigation Performance Optimization","status":"complete","priority":"high","tags":["web","performance","ux","v0.3"],"createdAt":"2025-11-16T13:27:26.767Z"},{"id":"fs-084-sub-spec-visibility-in-tools","specNumber":"84","title":"Sub-Spec File Visibility in MCP Tools and Commands","status":"complete","priority":"high","tags":["mcp","tools","sub-specs","ai-agents","ux"],"createdAt":"2025-11-16T13:30:17.281Z"},{"id":"fs-085-cli-relationship-commands","specNumber":"85","title":"CLI Commands for Spec Relationship Management","status":"complete","priority":"medium","tags":["cli","metadata","relationships","dx"],"createdAt":"2025-11-16T13:33:40.858Z"},{"id":"fs-086-template-component-deduplication","specNumber":"86","title":"template-component-deduplication","status":"complete","priority":"high","tags":["refactoring","templates","maintenance"],"createdAt":"2025-11-17T01:27:01.679Z"},{"id":"fs-087-cli-ui-command","specNumber":"87","title":"CLI UI Command: `lean-spec ui`","status":"complete","priority":"medium","tags":["cli","web","dx","integration"],"createdAt":"2025-11-17T01:31:21.397Z"},{"id":"fs-088-core-concepts-terminology-only","specNumber":"88","title":"Core Concepts: Real SDD Terminology Only","status":"complete","priority":"high","tags":[],"createdAt":"2025-11-17T02:09:38.041Z"},{"id":"fs-089-sdd-practical-tutorials","specNumber":"89","title":"Step-by-Step SDD Tutorials for Real Practice","status":"complete","priority":"high","tags":[],"createdAt":"2025-11-17T02:10:56.366Z"},{"id":"fs-090-leanspec-sdd-case-studies","specNumber":"90","title":"LeanSpec Dogfooding: Real SDD Case Studies","status":"complete","priority":"high","tags":[],"createdAt":"2025-11-17T02:11:56.264Z"},{"id":"fs-091-chinese-localization-strategy","specNumber":"91","title":"Comprehensive Chinese Localization for LeanSpec","status":"planned","priority":"high","tags":[],"createdAt":"2025-11-17T02:12:58.531Z"},{"id":"fs-092-docs-site-submodule-migration","specNumber":"92","title":"Migrate docs-site to separate repository as submodule","status":"complete","priority":"high","tags":["infrastructure","docs","monorepo"],"createdAt":"2025-11-17T04:54:37.212Z"},{"id":"fs-093-spec-detail-ui-improvements","specNumber":"93","title":"spec-detail-ui-improvements","status":"complete","priority":"medium","tags":[],"createdAt":"2025-11-17T06:07:38.678Z"},{"id":"fs-094-ai-chatbot-web-integration","specNumber":"94","title":"AI Chatbot for Web UI","status":"planned","priority":"high","tags":["web","ai","ux","v0.3.0"],"createdAt":"2025-11-17T06:31:22.346Z"},{"id":"fs-095-pr-migration-verification","specNumber":"95","title":"PR Migration Verification: docs-site → lean-spec-docs","status":"complete","priority":"high","tags":["migration","docs","verification"],"createdAt":"2025-11-17T06:39:54.583Z"},{"id":"fs-096-docs-beginner-first-reorg","specNumber":"96","title":"Documentation: Beginner-First Reorganization","status":"complete","priority":"high","tags":["docs","ux","beginner-friendly"],"createdAt":"2025-11-17T07:51:56.155Z"},{"id":"fs-097-dag-visualization-library","specNumber":"97","title":"Replace Manual DAG with Visualization Library","status":"complete","priority":"high","tags":["web","ux","dependencies","technical-debt"],"createdAt":"2025-11-17T08:02:23.227Z"},{"id":"fs-098-github-multi-project-integration","specNumber":"98","title":"GitHub Multi-Project Integration","status":"planned","priority":"high","tags":["web","github","integration","v0.3"],"createdAt":"2025-11-17T08:19:16.821Z"},{"id":"fs-099-enhanced-dependency-commands-cli-mcp","specNumber":"99","title":"Enhanced Dependency Commands for CLI/MCP","status":"complete","priority":"high","tags":["cli","mcp","dependencies","core"],"createdAt":"2025-11-17T08:45:47.025Z"},{"id":"fs-100-release-process-typecheck-failure","specNumber":"100","title":"Post-Mortem: v0.2.3 TypeScript Check Failure","status":"complete","priority":"high","tags":["process","quality","ci-cd","post-mortem"],"createdAt":"2025-11-17T21:12:06.305Z"},{"id":"fs-101-sidebar-scroll-position-drift","specNumber":"101","title":"Fix Sidebar Scroll Position Drift","status":"complete","priority":"high","tags":[],"createdAt":"2025-11-17T14:22:14.161Z"},{"id":"fs-102-mcp-wrapper-package","specNumber":"102","title":"@leanspec/mcp - MCP Server Integration Wrapper","status":"complete","priority":"high","tags":["mcp","integration","npm-package","developer-experience"],"createdAt":"2025-11-18T03:06:33.496Z"},{"id":"fs-103-ui-standalone-consolidation","specNumber":"103","title":"UI Standalone Consolidation","status":"complete","priority":"high","tags":["ui","architecture","simplification"],"createdAt":"2025-11-18T06:55:41.560Z"},{"id":"fs-104-ui-packaging-fix","specNumber":"104","title":"Fix @leanspec/ui standalone packaging issue","status":"complete","priority":"high","tags":["packaging","bug-fix"],"createdAt":"2025-11-18T09:26:38.346Z"}]}],"$L22","$L23"]}]}]}]
36
- 24:I[42634,["/_next/static/chunks/212881511f73fc12.js","/_next/static/chunks/5d646f493d4c6928.js","/_next/static/chunks/e237e00fd3a84178.js","/_next/static/chunks/ae04dcd433be6dab.js","/_next/static/chunks/b9b9d7565bc2c2ad.js"],"MainSidebar"]
37
- 25:I[68399,["/_next/static/chunks/212881511f73fc12.js","/_next/static/chunks/5d646f493d4c6928.js","/_next/static/chunks/e237e00fd3a84178.js","/_next/static/chunks/ae04dcd433be6dab.js","/_next/static/chunks/b9b9d7565bc2c2ad.js","/_next/static/chunks/4a7396c9a77e64d5.js"],"default"]
38
- 26:I[87985,["/_next/static/chunks/212881511f73fc12.js","/_next/static/chunks/5d646f493d4c6928.js","/_next/static/chunks/e237e00fd3a84178.js","/_next/static/chunks/ae04dcd433be6dab.js","/_next/static/chunks/b9b9d7565bc2c2ad.js"],""]
39
- 27:I[74916,["/_next/static/chunks/212881511f73fc12.js","/_next/static/chunks/5d646f493d4c6928.js","/_next/static/chunks/e237e00fd3a84178.js","/_next/static/chunks/ae04dcd433be6dab.js","/_next/static/chunks/b9b9d7565bc2c2ad.js"],"Toast"]
40
- 22:["$","div",null,{"className":"flex w-full min-w-0","children":[["$","$L24",null,{}],["$","main",null,{"className":"flex-1 min-h-[calc(100vh-3.5rem)] min-w-0 w-full lg:w-[calc(100vw-var(--main-sidebar-width,240px))]","children":["$","$L3",null,{"parallelRouterKey":"children","error":"$25","errorStyles":[],"errorScripts":[["$","script","script-0",{"src":"/_next/static/chunks/4a7396c9a77e64d5.js","async":true}]],"template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","div",null,{"className":"min-h-screen bg-background flex items-center justify-center px-4","children":["$","div",null,{"className":"text-center space-y-6","children":[["$","div",null,{"className":"space-y-2","children":[["$","h1",null,{"className":"text-6xl font-bold text-primary","children":"404"}],["$","h2",null,{"className":"text-2xl font-semibold","children":"Page Not Found"}],["$","p",null,{"className":"text-muted-foreground max-w-md mx-auto","children":"The page you’re looking for doesn’t exist or has been moved."}]]}],["$","div",null,{"className":"flex gap-4 justify-center","children":[["$","$L26",null,{"href":"/","children":"Go Home","className":"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground shadow hover:bg-primary/90 h-9 px-4 py-2","ref":null}],["$","$L26",null,{"href":"/board","children":"View Board","className":"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground h-9 px-4 py-2","ref":null}]]}]]}]}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]
41
- 23:["$","$L27",null,{}]
@@ -1,26 +0,0 @@
1
- 1:"$Sreact.fragment"
2
- 2:I[14636,["/_next/static/chunks/212881511f73fc12.js","/_next/static/chunks/5d646f493d4c6928.js","/_next/static/chunks/e237e00fd3a84178.js","/_next/static/chunks/ae04dcd433be6dab.js","/_next/static/chunks/b9b9d7565bc2c2ad.js"],"ThemeProvider"]
3
- 3:I[26160,["/_next/static/chunks/212881511f73fc12.js","/_next/static/chunks/5d646f493d4c6928.js","/_next/static/chunks/e237e00fd3a84178.js","/_next/static/chunks/ae04dcd433be6dab.js","/_next/static/chunks/b9b9d7565bc2c2ad.js"],"Navigation"]
4
- 7:I[42634,["/_next/static/chunks/212881511f73fc12.js","/_next/static/chunks/5d646f493d4c6928.js","/_next/static/chunks/e237e00fd3a84178.js","/_next/static/chunks/ae04dcd433be6dab.js","/_next/static/chunks/b9b9d7565bc2c2ad.js"],"MainSidebar"]
5
- 8:I[24050,["/_next/static/chunks/6a05a93ec8fa7b83.js","/_next/static/chunks/a02c1f50ff00204f.js"],"default"]
6
- 9:I[68399,["/_next/static/chunks/212881511f73fc12.js","/_next/static/chunks/5d646f493d4c6928.js","/_next/static/chunks/e237e00fd3a84178.js","/_next/static/chunks/ae04dcd433be6dab.js","/_next/static/chunks/b9b9d7565bc2c2ad.js","/_next/static/chunks/4a7396c9a77e64d5.js"],"default"]
7
- a:I[70127,["/_next/static/chunks/6a05a93ec8fa7b83.js","/_next/static/chunks/a02c1f50ff00204f.js"],"default"]
8
- b:I[87985,["/_next/static/chunks/212881511f73fc12.js","/_next/static/chunks/5d646f493d4c6928.js","/_next/static/chunks/e237e00fd3a84178.js","/_next/static/chunks/ae04dcd433be6dab.js","/_next/static/chunks/b9b9d7565bc2c2ad.js"],""]
9
- c:I[74916,["/_next/static/chunks/212881511f73fc12.js","/_next/static/chunks/5d646f493d4c6928.js","/_next/static/chunks/e237e00fd3a84178.js","/_next/static/chunks/ae04dcd433be6dab.js","/_next/static/chunks/b9b9d7565bc2c2ad.js"],"Toast"]
10
- :HL["/_next/static/chunks/df1731c03abf1aee.css","style"]
11
- 0:{"buildId":"mY96Srm2xq4N3LlCirdvZ","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/df1731c03abf1aee.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/212881511f73fc12.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/5d646f493d4c6928.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/e237e00fd3a84178.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/ae04dcd433be6dab.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/b9b9d7565bc2c2ad.js","async":true}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"antialiased bg-background overflow-x-hidden","children":["$","$L2",null,{"attribute":"class","defaultTheme":"system","enableSystem":true,"disableTransitionOnChange":true,"children":[["$","$L3",null,{"specs":[{"id":"fs-014-complete-custom-frontmatter","specNumber":"14","title":"complete-custom-frontmatter","status":"complete","priority":"high","tags":["enhancement","frontmatter","customization"],"createdAt":"2025-11-02T00:00:00.000Z"},{"id":"fs-016-github-action","specNumber":"16","title":"github-action","status":"planned","priority":"low","tags":["feature","ci","automation"],"createdAt":"2025-11-02T00:00:00.000Z"},{"id":"fs-017-vscode-extension","specNumber":"17","title":"vscode-extension","status":"planned","priority":"low","tags":["feature","ide","vscode"],"createdAt":"2025-11-02T00:00:00.000Z"},{"id":"fs-018-spec-validation","specNumber":"18","title":"Comprehensive Spec Validation","status":"complete","priority":"critical","tags":["quality","validation","cli","first-principles","v0.2.0"],"createdAt":"2025-11-02T00:00:00.000Z"},{"id":"fs-024-pattern-aware-list-grouping","specNumber":"24","title":"Pattern-Aware List Grouping","status":"complete","priority":"high","tags":["ux","polish","v0.2.0"],"createdAt":"2025-11-03T00:00:00.000Z"},{"id":"fs-025-template-config-updates","specNumber":"25","title":"Template Config Updates","status":"planned","priority":"low","tags":["templates","polish"],"createdAt":"2025-11-03T00:00:00.000Z"},{"id":"fs-026-init-pattern-selection","specNumber":"26","title":"Init Pattern Selection","status":"complete","priority":"high","tags":["ux","init","v0.2.0"],"createdAt":"2025-11-03T00:00:00.000Z"},{"id":"fs-034-copilot-slash-commands","specNumber":"34","title":"GitHub Copilot Chat Slash Commands & Prompts","status":"planned","priority":"medium","tags":["vscode","copilot","ai","ux","v0.2.0-optional"],"createdAt":"2025-11-03T00:00:00.000Z"},{"id":"fs-035-live-specs-showcase","specNumber":"35","title":"LeanSpec Web: Fullstack Spec Showcase Platform","status":"complete","priority":"high","tags":["docs","dogfooding","web","v0.3.0-launch"],"createdAt":"2025-11-03T00:00:00.000Z"},{"id":"fs-036-pm-integrations","specNumber":"36","title":"External PM Systems Integration","status":"planned","priority":"low","tags":["integration","pm","github","jira","ado"],"createdAt":"2025-11-03T00:00:00.000Z"},{"id":"fs-043-official-launch-02","specNumber":"43","title":"Official Launch: v0.2.0","status":"complete","priority":"critical","tags":["release","launch","milestone","stability"],"createdAt":"2025-11-04T00:00:00.000Z"},{"id":"fs-045-unified-dashboard","specNumber":"45","title":"Unified Analytics & Velocity Tracking","status":"complete","priority":"high","tags":["ux","visualization","analytics","launch","v0.2.0"],"createdAt":"2025-11-04T00:00:00.000Z"},{"id":"fs-047-git-backfill-timestamps","specNumber":"47","title":"Backfill Timestamp Frontmatter from Git History","status":"complete","priority":"medium","tags":["enhancement","git","timestamps","analytics","migration"],"createdAt":"2025-11-04T14:58:23.000Z"},{"id":"fs-048-spec-complexity-analysis","specNumber":"48","title":"When Specs Become Too Complex","status":"complete","priority":"critical","tags":["philosophy","quality","lean-principle","meta"],"createdAt":"2025-11-04T00:00:00.000Z"},{"id":"fs-049-leanspec-first-principles","specNumber":"49","title":"LeanSpec First Principles (第一性原理)","status":"complete","priority":"critical","tags":["philosophy","meta","foundation","principles"],"createdAt":"2025-11-04T00:00:00.000Z"},{"id":"fs-051-docs-system-prompt-principles","specNumber":"51","title":"Update System Prompt and Docs with First Principles","status":"complete","priority":"critical","tags":["documentation","ai-agents","first-principles","system-prompt","philosophy","v0.2.0"],"createdAt":"2025-11-05T00:00:00.000Z"},{"id":"fs-052-branding-assets","specNumber":"52","title":"Export and Deploy Brand Assets","status":"complete","priority":"high","tags":["design","launch","v0.2.0"],"createdAt":"2025-11-05T00:00:00.000Z"},{"id":"fs-053-spec-assets-philosophy","specNumber":"53","title":"Spec Assets and Artifact Management Philosophy","status":"planned","priority":"low","tags":["philosophy","documentation","guidelines"],"createdAt":"2025-11-05T00:00:00.000Z"},{"id":"fs-054-validate-output-lint-style","specNumber":"54","title":"Lint-Style Validate Output","status":"complete","priority":"high","tags":["validation","cli","ux","v0.2.0"],"createdAt":"2025-11-07T03:20:34.342Z"},{"id":"fs-055-readme-redesign-ai-first","specNumber":"55","title":"README Redesign: AI-First Positioning","status":"complete","priority":"high","tags":["documentation","ux","conversion","marketing"],"createdAt":"2025-11-06T14:15:28.191Z"},{"id":"fs-056-docs-site-accuracy-audit","specNumber":"56","title":"Documentation Site Accuracy Audit","status":"complete","priority":"high","tags":["documentation","quality","launch","v0.2.0"],"createdAt":"2025-11-06T16:05:09.955Z"},{"id":"fs-057-docs-validation-comprehensive","specNumber":"57","title":"Comprehensive Documentation Validation","status":"complete","priority":"high","tags":["documentation","quality","validation","v0.2.0"],"createdAt":"2025-11-06T16:12:08.914Z"},{"id":"fs-058-docs-overview-polish","specNumber":"58","title":"Docs-Site Comprehensive Restructure","status":"complete","priority":"high","tags":["documentation","quality","restructure","first-principles"],"createdAt":"2025-11-07T01:53:09.673Z"},{"id":"fs-059-programmatic-spec-management","specNumber":"59","title":"Programmatic Spec Management & Context Engineering","status":"complete","priority":"critical","tags":["context-engineering","automation","tooling","ai-agents","performance","v0.3.0"],"createdAt":"2025-11-07T11:28:43.206Z"},{"id":"fs-060-core-concepts-coherence","specNumber":"60","title":"Core Concepts Documentation Coherence","status":"complete","priority":"high","tags":["docs","ux","information-architecture"],"createdAt":"2025-11-07T12:20:31.352Z"},{"id":"fs-061-ai-assisted-spec-writing","specNumber":"61","title":"AI-Assisted Spec Writing","status":"complete","priority":"high","tags":["ai","philosophy","docs"],"createdAt":"2025-11-07T15:44:34.381Z"},{"id":"fs-062-docs-info-architecture-v2","specNumber":"62","title":"Documentation Information Architecture v2","status":"complete","priority":"high","tags":["docs","information-architecture","ux","v0.2.0"],"createdAt":"2025-11-08T13:02:31.871Z"},{"id":"fs-063-migration-from-existing-tools","specNumber":"63","title":"Migration from Existing SDD Tools","status":"complete","priority":"high","tags":["cli","migration","ai-assisted","v0.2"],"createdAt":"2025-11-10T05:35:31.293Z"},{"id":"fs-064-docs-site-zh-translation","specNumber":"64","title":"Docs Site Chinese (ZH) Translation","status":"complete","priority":"medium","tags":["docs","i18n","translation","chinese"],"createdAt":"2025-11-10T14:32:32.477Z"},{"id":"fs-065-v03-planning","specNumber":"65","title":"LeanSpec v0.3 - Performance & AI Agent Optimization","status":"planned","priority":"critical","tags":["release","planning","milestone","v0.3.0","performance","ai-agents"],"createdAt":"2025-11-11T06:41:08.335Z"},{"id":"fs-066-context-economy-thresholds-refinement","specNumber":"66","title":"Context Economy Thresholds Refinement","status":"complete","priority":"high","tags":["validation","philosophy","context-economy","quality"],"createdAt":"2025-11-11T06:58:44.846Z"},{"id":"fs-067-monorepo-core-extraction","specNumber":"67","title":"Monorepo Structure & Core Package Extraction","status":"complete","priority":"high","tags":["architecture","refactor","monorepo","v0.3.0-launch"],"createdAt":"2025-11-11T13:33:33.321Z"},{"id":"fs-068-live-specs-ux-enhancements","specNumber":"68","title":"LeanSpec Web: UX/UI Enhancements Phase 2","status":"complete","priority":"high","tags":["web","ux","enhancement","v0.3.0-launch"],"createdAt":"2025-11-12T21:49:12.069Z"},{"id":"fs-069-token-counting-utils","specNumber":"69","title":"Token Counting Utilities for LLM Context Management","status":"complete","priority":"high","tags":["core","tooling","context-economy","llm","validation"],"createdAt":"2025-11-13T02:17:52.074Z"},{"id":"fs-070-mcp-token-counting-tool","specNumber":"70","title":"MCP Token Counting Tool","status":"complete","priority":"medium","tags":["core","mcp","llm","tooling"],"createdAt":"2025-11-13T02:56:09.580Z"},{"id":"fs-071-simplified-token-validation","specNumber":"71","title":"Simplified Token-Based Validation","status":"complete","priority":"high","tags":["validation","simplification","tokens"],"createdAt":"2025-11-13T03:11:29.739Z"},{"id":"fs-072-ai-agent-first-use-workflow","specNumber":"72","title":"ai-agent-first-use-workflow","status":"planned","priority":"high","tags":["onboarding","ai-agents","ux","mcp"],"createdAt":"2025-11-13T08:20:28.110Z"},{"id":"fs-073-template-engine-agents-md","specNumber":"73","title":"template-engine-agents-md","status":"complete","priority":"medium","tags":["templates","maintainability","dx","refactor","ai-first"],"createdAt":"2025-11-13T08:35:40.229Z"},{"id":"fs-074-content-at-creation","specNumber":"74","title":"Pass Content Directly to lean-spec create","status":"planned","priority":"medium","tags":["cli","dx"],"createdAt":"2025-11-13T08:40:40.882Z"},{"id":"fs-075-intelligent-search-engine","specNumber":"75","title":"Intelligent Search Engine","status":"complete","priority":"critical","tags":["search","mcp","cli","core","ranking","v0.3.0"],"createdAt":"2025-11-13T09:01:46.579Z"},{"id":"fs-076-programmatic-spec-relationships","specNumber":"76","title":"Programmatic Spec Relationship Management","status":"complete","priority":"high","tags":["cli","mcp","dx","ai-agents","relationships"],"createdAt":"2025-11-13T09:03:06.741Z"},{"id":"fs-077-archiving-strategy","specNumber":"77","title":"archiving-strategy","status":"planned","priority":"high","tags":["process","maintenance","workflow","best-practices"],"createdAt":"2025-11-13T13:08:46.014Z"},{"id":"fs-078-sub-spec-template-system","specNumber":"78","title":"sub-spec-template-system","status":"planned","priority":"medium","tags":["templates","cli","dx","ai-first","sub-specs"],"createdAt":"2025-11-13T13:31:48.324Z"},{"id":"fs-079-cli-alphabetical-organization","specNumber":"79","title":"CLI Alphabetical Organization","status":"complete","priority":"medium","tags":[],"createdAt":"2025-11-13T13:58:57.973Z"},{"id":"fs-080-mcp-server-modular-architecture","specNumber":"80","title":"MCP Server Modular Architecture","status":"complete","priority":"medium","tags":["refactor","mcp","architecture"],"createdAt":"2025-11-13T14:18:24.298Z"},{"id":"fs-081-web-app-ux-redesign","specNumber":"81","title":"Web App UX/UI Comprehensive Redesign","status":"complete","priority":"high","tags":["web","ux","design","enhancement"],"createdAt":"2025-11-14T03:21:43.076Z"},{"id":"fs-082-web-realtime-sync-architecture","specNumber":"82","title":"Web App Realtime Spec Sync Architecture","status":"complete","priority":"critical","tags":["web","architecture","deployment","realtime","v0.3.0"],"createdAt":"2025-11-14T05:33:26.170Z"},{"id":"fs-083-web-navigation-performance","specNumber":"83","title":"Web App Navigation Performance Optimization","status":"complete","priority":"high","tags":["web","performance","ux","v0.3"],"createdAt":"2025-11-16T13:27:26.767Z"},{"id":"fs-084-sub-spec-visibility-in-tools","specNumber":"84","title":"Sub-Spec File Visibility in MCP Tools and Commands","status":"complete","priority":"high","tags":["mcp","tools","sub-specs","ai-agents","ux"],"createdAt":"2025-11-16T13:30:17.281Z"},{"id":"fs-085-cli-relationship-commands","specNumber":"85","title":"CLI Commands for Spec Relationship Management","status":"complete","priority":"medium","tags":["cli","metadata","relationships","dx"],"createdAt":"2025-11-16T13:33:40.858Z"},{"id":"fs-086-template-component-deduplication","specNumber":"86","title":"template-component-deduplication","status":"complete","priority":"high","tags":["refactoring","templates","maintenance"],"createdAt":"2025-11-17T01:27:01.679Z"},{"id":"fs-087-cli-ui-command","specNumber":"87","title":"CLI UI Command: `lean-spec ui`","status":"complete","priority":"medium","tags":["cli","web","dx","integration"],"createdAt":"2025-11-17T01:31:21.397Z"},{"id":"fs-088-core-concepts-terminology-only","specNumber":"88","title":"Core Concepts: Real SDD Terminology Only","status":"complete","priority":"high","tags":[],"createdAt":"2025-11-17T02:09:38.041Z"},{"id":"fs-089-sdd-practical-tutorials","specNumber":"89","title":"Step-by-Step SDD Tutorials for Real Practice","status":"complete","priority":"high","tags":[],"createdAt":"2025-11-17T02:10:56.366Z"},{"id":"fs-090-leanspec-sdd-case-studies","specNumber":"90","title":"LeanSpec Dogfooding: Real SDD Case Studies","status":"complete","priority":"high","tags":[],"createdAt":"2025-11-17T02:11:56.264Z"},{"id":"fs-091-chinese-localization-strategy","specNumber":"91","title":"Comprehensive Chinese Localization for LeanSpec","status":"planned","priority":"high","tags":[],"createdAt":"2025-11-17T02:12:58.531Z"},{"id":"fs-092-docs-site-submodule-migration","specNumber":"92","title":"Migrate docs-site to separate repository as submodule","status":"complete","priority":"high","tags":["infrastructure","docs","monorepo"],"createdAt":"2025-11-17T04:54:37.212Z"},{"id":"fs-093-spec-detail-ui-improvements","specNumber":"93","title":"spec-detail-ui-improvements","status":"complete","priority":"medium","tags":[],"createdAt":"2025-11-17T06:07:38.678Z"},{"id":"fs-094-ai-chatbot-web-integration","specNumber":"94","title":"AI Chatbot for Web UI","status":"planned","priority":"high","tags":["web","ai","ux","v0.3.0"],"createdAt":"2025-11-17T06:31:22.346Z"},{"id":"fs-095-pr-migration-verification","specNumber":"95","title":"PR Migration Verification: docs-site → lean-spec-docs","status":"complete","priority":"high","tags":["migration","docs","verification"],"createdAt":"2025-11-17T06:39:54.583Z"},{"id":"fs-096-docs-beginner-first-reorg","specNumber":"96","title":"Documentation: Beginner-First Reorganization","status":"complete","priority":"high","tags":["docs","ux","beginner-friendly"],"createdAt":"2025-11-17T07:51:56.155Z"},{"id":"fs-097-dag-visualization-library","specNumber":"97","title":"Replace Manual DAG with Visualization Library","status":"complete","priority":"high","tags":["web","ux","dependencies","technical-debt"],"createdAt":"2025-11-17T08:02:23.227Z"},{"id":"fs-098-github-multi-project-integration","specNumber":"98","title":"GitHub Multi-Project Integration","status":"planned","priority":"high","tags":["web","github","integration","v0.3"],"createdAt":"2025-11-17T08:19:16.821Z"},{"id":"fs-099-enhanced-dependency-commands-cli-mcp","specNumber":"99","title":"Enhanced Dependency Commands for CLI/MCP","status":"complete","priority":"high","tags":["cli","mcp","dependencies","core"],"createdAt":"2025-11-17T08:45:47.025Z"},{"id":"fs-100-release-process-typecheck-failure","specNumber":"100","title":"Post-Mortem: v0.2.3 TypeScript Check Failure","status":"complete","priority":"high","tags":["process","quality","ci-cd","post-mortem"],"createdAt":"2025-11-17T21:12:06.305Z"},{"id":"fs-101-sidebar-scroll-position-drift","specNumber":"101","title":"Fix Sidebar Scroll Position Drift","status":"complete","priority":"high","tags":[],"createdAt":"2025-11-17T14:22:14.161Z"},{"id":"fs-102-mcp-wrapper-package","specNumber":"102","title":"@leanspec/mcp - MCP Server Integration Wrapper","status":"complete","priority":"high","tags":["mcp","integration","npm-package","developer-experience"],"createdAt":"2025-11-18T03:06:33.496Z"},{"id":"fs-103-ui-standalone-consolidation","specNumber":"103","title":"UI Standalone Consolidation","status":"complete","priority":"high","tags":["ui","architecture","simplification"],"createdAt":"2025-11-18T06:55:41.560Z"},{"id":"fs-104-ui-packaging-fix","specNumber":"104","title":"Fix @leanspec/ui standalone packaging issue","status":"complete","priority":"high","tags":["packaging","bug-fix"],"createdAt":"2025-11-18T09:26:38.346Z"}]}],"$L4","$L5"]}]}]}]]}],"loading":["$L6",[],[]],"isPartial":false}
12
- 4:["$","div",null,{"className":"flex w-full min-w-0","children":[["$","$L7",null,{}],["$","main",null,{"className":"flex-1 min-h-[calc(100vh-3.5rem)] min-w-0 w-full lg:w-[calc(100vw-var(--main-sidebar-width,240px))]","children":["$","$L8",null,{"parallelRouterKey":"children","error":"$9","errorStyles":[],"errorScripts":[["$","script","script-0",{"src":"/_next/static/chunks/4a7396c9a77e64d5.js","async":true}]],"template":["$","$La",null,{}],"notFound":[["$","div",null,{"className":"min-h-screen bg-background flex items-center justify-center px-4","children":["$","div",null,{"className":"text-center space-y-6","children":[["$","div",null,{"className":"space-y-2","children":[["$","h1",null,{"className":"text-6xl font-bold text-primary","children":"404"}],["$","h2",null,{"className":"text-2xl font-semibold","children":"Page Not Found"}],["$","p",null,{"className":"text-muted-foreground max-w-md mx-auto","children":"The page you’re looking for doesn’t exist or has been moved."}]]}],["$","div",null,{"className":"flex gap-4 justify-center","children":[["$","$Lb",null,{"href":"/","children":"Go Home","className":"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground shadow hover:bg-primary/90 h-9 px-4 py-2","ref":null}],["$","$Lb",null,{"href":"/board","children":"View Board","className":"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground h-9 px-4 py-2","ref":null}]]}]]}]}],[]]}]}]]}]
13
- 5:["$","$Lc",null,{}]
14
- 6:["$","div","l",{"className":"min-h-screen bg-background","children":[["$","section",null,{"className":"container mx-auto px-4 py-8","children":[["$","div",null,{"className":"mb-8","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-10 w-64 mb-2"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-96"}]]}],["$","div",null,{"className":"grid grid-cols-1 md:grid-cols-4 gap-4 mb-8","children":[["$","div","0",{"className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-24"}]}],["$","div",null,{"className":"p-6 pt-0","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-9 w-16"}]}]]}],["$","div","1",{"className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-24"}]}],["$","div",null,{"className":"p-6 pt-0","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-9 w-16"}]}]]}],["$","div","2",{"className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-24"}]}],["$","div",null,{"className":"p-6 pt-0","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-9 w-16"}]}]]}],["$","div","3",{"className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-24"}]}],["$","div",null,{"className":"p-6 pt-0","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-9 w-16"}]}]]}]]}]]}],["$","section",null,{"className":"container mx-auto px-4 py-8","children":[["$","div",null,{"className":"mb-6","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-8 w-48 mb-4"}],["$","div",null,{"className":"flex flex-col sm:flex-row gap-4 mb-6","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-9 flex-1"}],["$","div",null,{"className":"flex gap-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-9 w-32"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-9 w-32"}]]}]]}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-48 mb-4"}]]}],["$","div",null,{"className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":["$","div",null,{"className":"overflow-x-auto","children":["$","table",null,{"className":"w-full","children":[["$","thead",null,{"className":"border-b","children":["$","tr",null,{"children":[["$","th",null,{"className":"px-6 py-3 text-left","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-12"}]}],["$","th",null,{"className":"px-6 py-3 text-left","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-16"}]}],["$","th",null,{"className":"px-6 py-3 text-left","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-16"}]}],["$","th",null,{"className":"px-6 py-3 text-left","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-16"}]}]]}]}],["$","tbody",null,{"className":"divide-y","children":[["$","tr","0",{"children":[["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-12"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-64"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-20"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-16"}]}]]}],["$","tr","1",{"children":[["$","td",null,{"className":"px-6 py-4","children":"$Ld"}],"$Le","$Lf","$L10"]}],"$L11","$L12","$L13","$L14","$L15","$L16","$L17","$L18"]}]]}]}]}]]}]]}]
15
- d:["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-12"}]
16
- e:["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-64"}]}]
17
- f:["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-20"}]}]
18
- 10:["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-16"}]}]
19
- 11:["$","tr","2",{"children":[["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-12"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-64"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-20"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-16"}]}]]}]
20
- 12:["$","tr","3",{"children":[["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-12"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-64"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-20"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-16"}]}]]}]
21
- 13:["$","tr","4",{"children":[["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-12"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-64"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-20"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-16"}]}]]}]
22
- 14:["$","tr","5",{"children":[["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-12"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-64"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-20"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-16"}]}]]}]
23
- 15:["$","tr","6",{"children":[["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-12"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-64"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-20"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-16"}]}]]}]
24
- 16:["$","tr","7",{"children":[["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-12"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-64"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-20"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-16"}]}]]}]
25
- 17:["$","tr","8",{"children":[["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-12"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-64"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-20"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-16"}]}]]}]
26
- 18:["$","tr","9",{"children":[["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-12"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-64"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-20"}]}],["$","td",null,{"className":"px-6 py-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-6 w-16"}]}]]}]
@@ -1,9 +0,0 @@
1
- 1:"$Sreact.fragment"
2
- 2:I[5451,["/_next/static/chunks/6a05a93ec8fa7b83.js","/_next/static/chunks/a02c1f50ff00204f.js"],"ClientPageRoot"]
3
- 3:I[5052,["/_next/static/chunks/212881511f73fc12.js","/_next/static/chunks/5d646f493d4c6928.js","/_next/static/chunks/e237e00fd3a84178.js","/_next/static/chunks/ae04dcd433be6dab.js","/_next/static/chunks/b9b9d7565bc2c2ad.js","/_next/static/chunks/c210559fdfe60fef.js"],"default"]
4
- 6:I[45442,["/_next/static/chunks/6a05a93ec8fa7b83.js","/_next/static/chunks/a02c1f50ff00204f.js"],"OutletBoundary"]
5
- 7:"$Sreact.suspense"
6
- 0:{"buildId":"mY96Srm2xq4N3LlCirdvZ","rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/c210559fdfe60fef.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"loading":null,"isPartial":false}
7
- 4:{}
8
- 5:"$0:rsc:props:children:0:props:serverProvidedParams:params"
9
- 8:null
@@ -1,8 +0,0 @@
1
- 1:"$Sreact.fragment"
2
- 2:I[24050,["/_next/static/chunks/6a05a93ec8fa7b83.js","/_next/static/chunks/a02c1f50ff00204f.js"],"default"]
3
- 3:I[70127,["/_next/static/chunks/6a05a93ec8fa7b83.js","/_next/static/chunks/a02c1f50ff00204f.js"],"default"]
4
- 0:{"buildId":"mY96Srm2xq4N3LlCirdvZ","rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"loading":[["$","div","l",{"className":"min-h-screen bg-background","children":["$","section",null,{"className":"container mx-auto px-4 py-8","children":[["$","div",null,{"className":"mb-8","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-10 w-48 mb-2"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-96"}]]}],["$","div",null,{"className":"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6","children":[["$","div","0",{"className":"flex flex-col","children":[["$","div",null,{"className":"mb-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-7 w-32"}]}],["$","div",null,{"className":"space-y-3 flex-1","children":[["$","div","0",{"className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],["$","div",null,{"className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]]}],["$","div","1",{"className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],["$","div",null,{"className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]]}],["$","div","2",{"className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],["$","div",null,{"className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]]}]]}]]}],["$","div","1",{"className":"flex flex-col","children":[["$","div",null,{"className":"mb-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-7 w-32"}]}],["$","div",null,{"className":"space-y-3 flex-1","children":[["$","div","0",{"className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],["$","div",null,{"className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]]}],["$","div","1",{"className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],"$L4"]}],"$L5"]}]]}],"$L6","$L7"]}]]}]}],[],[]],"isPartial":false}
5
- 4:["$","div",null,{"className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]
6
- 5:["$","div","2",{"className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],["$","div",null,{"className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]]}]
7
- 6:["$","div","2",{"className":"flex flex-col","children":[["$","div",null,{"className":"mb-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-7 w-32"}]}],["$","div",null,{"className":"space-y-3 flex-1","children":[["$","div","0",{"className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],["$","div",null,{"className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]]}],["$","div","1",{"className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],["$","div",null,{"className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]]}],["$","div","2",{"className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],["$","div",null,{"className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]]}]]}]]}]
8
- 7:["$","div","3",{"className":"flex flex-col","children":[["$","div",null,{"className":"mb-4","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-7 w-32"}]}],["$","div",null,{"className":"space-y-3 flex-1","children":[["$","div","0",{"className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],["$","div",null,{"className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]]}],["$","div","1",{"className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],["$","div",null,{"className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]]}],["$","div","2",{"className":"rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow","children":[["$","div",null,{"className":"flex flex-col space-y-1.5 p-6 pb-3","children":["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-24"}]}],["$","div",null,{"className":"p-6 pt-0 space-y-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-full"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-4 w-3/4"}],["$","div",null,{"className":"flex gap-2 pt-2","children":[["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}],["$","div",null,{"className":"animate-pulse rounded-md bg-muted h-5 w-16"}]]}]]}]]}]]}]]}]
@@ -1,3 +0,0 @@
1
- module.exports=[12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},68239,e=>{"use strict";var t=e.i(44271),r=e.i(67708),a=e.i(14747),s=e.i(2157),n=e.i(92194);let i=(0,a.resolve)(process.cwd(),"../../specs");function o(e){return e?Array.isArray(e)?e.map(e=>String(e)):"string"==typeof e?[e]:[]:[]}async function c(e,c){let l=await t.specsService.getSpec(e,c);if(!l)return null;let p={...l,tags:l.tags?"string"==typeof l.tags?JSON.parse(l.tags):l.tags:null};if(!c){let e,t,c=(e=l.filePath.replace(/^specs\//,"").replace(/\/README\.md$/,""),(0,a.join)((t=process.env.SPECS_DIR)?t.startsWith("/")?t:(0,a.resolve)(process.cwd(),t):i,e)),u=(0,r.detectSubSpecs)(c),d=function(e){try{let t=(0,a.join)(e,"README.md"),r=(0,s.readFileSync)(t,"utf-8"),{data:i}=(0,n.default)(r),c=o(i?.depends_on??i?.dependsOn),l=o(i?.related);return{dependsOn:c,related:l}}catch(e){return console.warn("Unable to parse spec relationships",e),{dependsOn:[],related:[]}}}(c);return{...p,subSpecs:u,relationships:d}}return p}async function l(e){let r=await t.specsService.getAllSpecs(e),a=new Map,s=new Map;for(let e of r)e.status&&a.set(e.status,(a.get(e.status)||0)+1),e.priority&&s.set(e.priority,(s.get(e.priority)||0)+1);let n=a.get("complete")||0,i=r.length>0?n/r.length*100:0;return{totalProjects:1,totalSpecs:r.length,specsByStatus:Array.from(a.entries()).map(([e,t])=>({status:e,count:t})),specsByPriority:Array.from(s.entries()).map(([e,t])=>({priority:e,count:t})),completionRate:Math.round(10*i)/10}}e.s(["getSpecById",()=>c,"getStats",()=>l])},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},67708,e=>{"use strict";var t=e.i(22734),r=e.i(14747),a=e.i(92194);let s=[{pattern:/design|ui|ux|mockup|wireframe|prototype/i,iconName:"Palette",color:"text-purple-600"},{pattern:/architecture|structure|system|diagram/i,iconName:"Map",color:"text-indigo-600"},{pattern:/implementation|code|develop|build/i,iconName:"Code",color:"text-green-600"},{pattern:/api|endpoint|integration|interface/i,iconName:"Code",color:"text-blue-600"},{pattern:/test|qa|quality|validation/i,iconName:"TestTube",color:"text-orange-600"},{pattern:/task|todo|checklist|milestone/i,iconName:"CheckSquare",color:"text-gray-600"},{pattern:/config|setup|settings|environment/i,iconName:"Wrench",color:"text-yellow-600"},{pattern:/deploy|devops|ci|cd|pipeline|release/i,iconName:"Wrench",color:"text-orange-600"},{pattern:/migration|upgrade|refactor|transition/i,iconName:"GitBranch",color:"text-cyan-600"},{pattern:/security|auth|permission|access|encryption/i,iconName:"CheckSquare",color:"text-red-600"},{pattern:/performance|optimization|speed|cache|benchmark/i,iconName:"TrendingUp",color:"text-green-600"},{pattern:/database|data|schema|model|query/i,iconName:"FileText",color:"text-blue-600"},{pattern:/doc|guide|manual|reference/i,iconName:"FileText",color:"text-gray-500"},{pattern:/github|git|vcs|version/i,iconName:"GitBranch",color:"text-pink-600"}],n={iconName:"FileText",color:"text-gray-600"};function i(e){let i=[];if(!(0,t.existsSync)(e))return i;try{for(let o of(0,t.readdirSync)(e)){if("README.md"===o||!o.endsWith(".md"))continue;let c=(0,r.join)(e,o);if((0,t.statSync)(c).isFile())try{let e=(0,t.readFileSync)(c,"utf-8"),{content:r}=(0,a.default)(e),l=function(e){let t=e.replace(/\.md$/i,"");for(let{pattern:e,iconName:r,color:a}of s)if(e.test(t))return{iconName:r,color:a};return n}(o);i.push({name:o.replace(/\.md$/i,"").split(/[-_]/).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" "),file:o,iconName:l.iconName,color:l.color,content:r})}catch(e){console.error(`Error reading sub-spec ${o}:`,e)}}i.sort((e,t)=>e.file.localeCompare(t.file))}catch(t){console.error(`Error reading spec directory ${e}:`,t)}return i}e.s(["detectSubSpecs",()=>i])},44271,e=>{"use strict";var t=e.i(12714),r=e.i(50227),a=e.i(92194);let s=parseInt(process.env.CACHE_TTL||"60000",10);class n{cache=new Map;specsDir;constructor(e){this.specsDir=e||r.join(process.cwd(),"../../specs")}async getAllSpecs(){let e="__all_specs__",t=this.cache.get(e);if(t&&Date.now()<t.expiresAt)return t.data;let r=await this.loadSpecsFromFilesystem();return this.cache.set(e,{data:r,expiresAt:Date.now()+s}),r}async getSpec(e){let t=`spec:${e}`,r=this.cache.get(t);if(r&&Date.now()<r.expiresAt)return r.data;let a=parseInt(e.split("-")[0],10);if(isNaN(a))return null;let n=await this.loadSpecByNumber(a);return n&&this.cache.set(t,{data:n,expiresAt:Date.now()+s}),n}async getSpecsByStatus(e){return(await this.getAllSpecs()).filter(t=>t.status===e)}async searchSpecs(e){let t=await this.getAllSpecs(),r=e.toLowerCase();return t.filter(e=>e.specName.toLowerCase().includes(r)||e.title?.toLowerCase().includes(r)||e.contentMd.toLowerCase().includes(r))}invalidateCache(e){e?(this.cache.delete(`spec:${e}`),this.cache.delete("__all_specs__")):this.cache.clear()}async loadSpecsFromFilesystem(){let e=[];try{await t.access(this.specsDir)}catch{return[]}let a=/^(\d{2,})-/;for(let s of(await t.readdir(this.specsDir,{withFileTypes:!0})))if(s.isDirectory()&&"archived"!==s.name&&a.test(s.name)){let t=r.join(this.specsDir,s.name),a=await this.loadSpecFromDirectory(t,s.name);a&&e.push(a)}return e.sort((e,t)=>(e.specNumber||0)-(t.specNumber||0))}async loadSpecByNumber(e){try{await t.access(this.specsDir)}catch{return null}let a=await t.readdir(this.specsDir,{withFileTypes:!0}),s=RegExp(`^0*${e}-`);for(let e of a)if(e.isDirectory()&&s.test(e.name)){let t=r.join(this.specsDir,e.name);return await this.loadSpecFromDirectory(t,e.name)}return null}async loadSpecFromDirectory(e,s){let n=r.join(e,"README.md");try{let e=await t.readFile(n,"utf-8"),{data:r,content:i}=(0,a.default)(e);if(!r||!r.status)return null;let o=s.match(/^(\d+)/),c=o?parseInt(o[1],10):null,l=`fs-${s}`,p=r.created_at??r.created,u=r.updated_at??r.updated,d=r.completed_at??r.completed,h=e=>{if(!e)return null;let t=new Date(e);return isNaN(t.getTime())?null:t};return{id:l,projectId:"leanspec",specNumber:c,specName:s,title:this.extractTitle(i),status:r.status||"planned",priority:r.priority||null,tags:r.tags?JSON.stringify(r.tags):null,assignee:r.assignee||null,contentMd:i,contentHtml:null,createdAt:h(p),updatedAt:h(u),completedAt:h(d),filePath:`specs/${s}/README.md`,githubUrl:`https://github.com/codervisor/lean-spec/tree/main/specs/${s}/README.md`,syncedAt:new Date}}catch{return null}}extractTitle(e){for(let t of e.split("\n")){let e=t.match(/^#\s+(.+)$/);if(e)return e[1].trim()}return null}}let i=null,o=new class{filesystemSource;databaseSource;mode;constructor(){if(this.mode=process.env.SPECS_MODE||"filesystem","filesystem"===this.mode||"both"===this.mode){const e=process.env.SPECS_DIR;this.filesystemSource=new n(e)}}async getDatabaseSource(){if(!this.databaseSource){if(!i){let{DatabaseSource:t}=await e.A(14430);i=t}this.databaseSource=new i}return this.databaseSource}async getAllSpecs(e){let t=await this.getSource(e);return await t.getAllSpecs(e)}async getSpec(e,t){let r=await this.getSource(t);return await r.getSpec(e,t)}async getSpecsByStatus(e,t){let r=await this.getSource(t);return await r.getSpecsByStatus(e,t)}async searchSpecs(e,t){let r=await this.getSource(t);return await r.searchSpecs(e,t)}async invalidateCache(e,t){(await this.getSource(t)).invalidateCache(e)}async getSource(e){if(e&&("database"===this.mode||"both"===this.mode))return await this.getDatabaseSource();if(this.filesystemSource)return this.filesystemSource;throw Error("No spec source configured")}};e.s(["specsService",0,o],44271)},81961,e=>{"use strict";var t=e.i(6169),r=e.i(25864),a=e.i(71648),s=e.i(30064),n=e.i(74222),i=e.i(2043),o=e.i(71408),c=e.i(26527),l=e.i(30592),p=e.i(34639),u=e.i(88935),d=e.i(68515),h=e.i(87166),m=e.i(76718),f=e.i(76529),g=e.i(51151),y=e.i(93695);e.i(59704);var x=e.i(8259),w=e.i(31511),S=e.i(68239);async function v(){try{let e=await (0,S.getStats)();return w.NextResponse.json(e)}catch(e){return console.error("Error fetching stats:",e),w.NextResponse.json({error:"Failed to fetch stats"},{status:500})}}e.s(["GET",()=>v],90210);var R=e.i(90210);let E=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/stats/route",pathname:"/api/stats",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/packages/ui/src/app/api/stats/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:b,workUnitAsyncStorage:A,serverHooks:C}=E;function N(){return(0,a.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:A})}async function _(e,t,a){E.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/stats/route";w=w.replace(/\/index$/,"")||"/";let S=await E.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!S)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,params:R,nextConfig:b,parsedUrl:A,isDraftMode:C,prerenderManifest:N,routerServerContext:_,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,resolvedPathname:k,clientReferenceManifest:P,serverActionsManifest:j}=S,q=(0,c.normalizeAppPath)(w),M=!!(N.dynamicRoutes[q]||N.routes[k]),O=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,A,!1):t.end("This page could not be found"),null);if(M&&!C){let e=!!N.routes[k],t=N.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await O();throw new y.NoFallbackError}}let F=null;!M||E.isDev||C||(F="/index"===(F=k)?"/":F);let I=!0===E.isDev||!M,$=M&&!I;j&&P&&(0,i.setReferenceManifestsSingleton)({page:w,clientReferenceManifest:P,serverActionsManifest:j,serverModuleMap:(0,o.createServerModuleMap)({serverActionsManifest:j})});let U=e.method||"GET",H=(0,n.getTracer)(),B=H.getActiveScopeSpan(),L={params:R,prerenderManifest:N,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:I,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a)=>E.onRequestError(e,t,a,_)},sharedContext:{buildId:v}},K=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),W=p.NextRequestAdapter.fromNodeNextRequest(K,(0,p.signalFromNodeResponse)(t));try{let i=async e=>E.handle(W,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${w}`)}),o=!!(0,s.getRequestMeta)(e,"minimalMode"),c=async s=>{var n,c;let l=async({previousCacheEntry:r})=>{try{if(!o&&D&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=L.renderOpts.fetchMetrics;let c=L.renderOpts.pendingWaitUntil;c&&a.waitUntil&&(a.waitUntil(c),c=void 0);let l=L.renderOpts.collectedTags;if(!M)return await (0,h.sendResponse)(K,G,n,L.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[g.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,a=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:D})},_),t}},p=await E.handleResponse({req:e,nextConfig:b,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:o});if(!M)return null;if((null==p||null==(n=p.value)?void 0:n.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(c=p.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",D?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,m.fromNodeOutgoingHttpHeaders)(p.value.headers);return o&&M||u.delete(g.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(p.cacheControl)),await (0,h.sendResponse)(K,G,new Response(p.value.body,{headers:u,status:p.value.status||200})),null};B?await c(B):await H.withPropagatedContext(e.headers,()=>H.trace(u.BaseServerSpan.handleRequest,{spanName:`${U} ${w}`,kind:n.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},c))}catch(t){if(t instanceof y.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:D})}),M)throw t;return await (0,h.sendResponse)(K,G,new Response(null,{status:500})),null}}e.s(["handler",()=>_,"patchFetch",()=>N,"routeModule",()=>E,"serverHooks",()=>C,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>A],81961)},14430,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__ae726e9c._.js","server/chunks/packages_ui_src_lib_db_index_ts_556307fa._.js"].map(t=>e.l(t))).then(()=>t(18146)))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__003ee184._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},68239,e=>{"use strict";var t=e.i(44271),r=e.i(67708),a=e.i(14747),s=e.i(2157),n=e.i(92194);let i=(0,a.resolve)(process.cwd(),"../../specs");function o(e){return e?Array.isArray(e)?e.map(e=>String(e)):"string"==typeof e?[e]:[]:[]}async function c(e,c){let l=await t.specsService.getSpec(e,c);if(!l)return null;let p={...l,tags:l.tags?"string"==typeof l.tags?JSON.parse(l.tags):l.tags:null};if(!c){let e,t,c=(e=l.filePath.replace(/^specs\//,"").replace(/\/README\.md$/,""),(0,a.join)((t=process.env.SPECS_DIR)?t.startsWith("/")?t:(0,a.resolve)(process.cwd(),t):i,e)),d=(0,r.detectSubSpecs)(c),u=function(e){try{let t=(0,a.join)(e,"README.md"),r=(0,s.readFileSync)(t,"utf-8"),{data:i}=(0,n.default)(r),c=o(i?.depends_on??i?.dependsOn),l=o(i?.related);return{dependsOn:c,related:l}}catch(e){return console.warn("Unable to parse spec relationships",e),{dependsOn:[],related:[]}}}(c);return{...p,subSpecs:d,relationships:u}}return p}async function l(e){let r=await t.specsService.getAllSpecs(e),a=new Map,s=new Map;for(let e of r)e.status&&a.set(e.status,(a.get(e.status)||0)+1),e.priority&&s.set(e.priority,(s.get(e.priority)||0)+1);let n=a.get("complete")||0,i=r.length>0?n/r.length*100:0;return{totalProjects:1,totalSpecs:r.length,specsByStatus:Array.from(a.entries()).map(([e,t])=>({status:e,count:t})),specsByPriority:Array.from(s.entries()).map(([e,t])=>({priority:e,count:t})),completionRate:Math.round(10*i)/10}}e.s(["getSpecById",()=>c,"getStats",()=>l])},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},67708,e=>{"use strict";var t=e.i(22734),r=e.i(14747),a=e.i(92194);let s=[{pattern:/design|ui|ux|mockup|wireframe|prototype/i,iconName:"Palette",color:"text-purple-600"},{pattern:/architecture|structure|system|diagram/i,iconName:"Map",color:"text-indigo-600"},{pattern:/implementation|code|develop|build/i,iconName:"Code",color:"text-green-600"},{pattern:/api|endpoint|integration|interface/i,iconName:"Code",color:"text-blue-600"},{pattern:/test|qa|quality|validation/i,iconName:"TestTube",color:"text-orange-600"},{pattern:/task|todo|checklist|milestone/i,iconName:"CheckSquare",color:"text-gray-600"},{pattern:/config|setup|settings|environment/i,iconName:"Wrench",color:"text-yellow-600"},{pattern:/deploy|devops|ci|cd|pipeline|release/i,iconName:"Wrench",color:"text-orange-600"},{pattern:/migration|upgrade|refactor|transition/i,iconName:"GitBranch",color:"text-cyan-600"},{pattern:/security|auth|permission|access|encryption/i,iconName:"CheckSquare",color:"text-red-600"},{pattern:/performance|optimization|speed|cache|benchmark/i,iconName:"TrendingUp",color:"text-green-600"},{pattern:/database|data|schema|model|query/i,iconName:"FileText",color:"text-blue-600"},{pattern:/doc|guide|manual|reference/i,iconName:"FileText",color:"text-gray-500"},{pattern:/github|git|vcs|version/i,iconName:"GitBranch",color:"text-pink-600"}],n={iconName:"FileText",color:"text-gray-600"};function i(e){let i=[];if(!(0,t.existsSync)(e))return i;try{for(let o of(0,t.readdirSync)(e)){if("README.md"===o||!o.endsWith(".md"))continue;let c=(0,r.join)(e,o);if((0,t.statSync)(c).isFile())try{let e=(0,t.readFileSync)(c,"utf-8"),{content:r}=(0,a.default)(e),l=function(e){let t=e.replace(/\.md$/i,"");for(let{pattern:e,iconName:r,color:a}of s)if(e.test(t))return{iconName:r,color:a};return n}(o);i.push({name:o.replace(/\.md$/i,"").split(/[-_]/).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" "),file:o,iconName:l.iconName,color:l.color,content:r})}catch(e){console.error(`Error reading sub-spec ${o}:`,e)}}i.sort((e,t)=>e.file.localeCompare(t.file))}catch(t){console.error(`Error reading spec directory ${e}:`,t)}return i}e.s(["detectSubSpecs",()=>i])},44271,e=>{"use strict";var t=e.i(12714),r=e.i(50227),a=e.i(92194);let s=parseInt(process.env.CACHE_TTL||"60000",10);class n{cache=new Map;specsDir;constructor(e){this.specsDir=e||r.join(process.cwd(),"../../specs")}async getAllSpecs(){let e="__all_specs__",t=this.cache.get(e);if(t&&Date.now()<t.expiresAt)return t.data;let r=await this.loadSpecsFromFilesystem();return this.cache.set(e,{data:r,expiresAt:Date.now()+s}),r}async getSpec(e){let t=`spec:${e}`,r=this.cache.get(t);if(r&&Date.now()<r.expiresAt)return r.data;let a=parseInt(e.split("-")[0],10);if(isNaN(a))return null;let n=await this.loadSpecByNumber(a);return n&&this.cache.set(t,{data:n,expiresAt:Date.now()+s}),n}async getSpecsByStatus(e){return(await this.getAllSpecs()).filter(t=>t.status===e)}async searchSpecs(e){let t=await this.getAllSpecs(),r=e.toLowerCase();return t.filter(e=>e.specName.toLowerCase().includes(r)||e.title?.toLowerCase().includes(r)||e.contentMd.toLowerCase().includes(r))}invalidateCache(e){e?(this.cache.delete(`spec:${e}`),this.cache.delete("__all_specs__")):this.cache.clear()}async loadSpecsFromFilesystem(){let e=[];try{await t.access(this.specsDir)}catch{return[]}let a=/^(\d{2,})-/;for(let s of(await t.readdir(this.specsDir,{withFileTypes:!0})))if(s.isDirectory()&&"archived"!==s.name&&a.test(s.name)){let t=r.join(this.specsDir,s.name),a=await this.loadSpecFromDirectory(t,s.name);a&&e.push(a)}return e.sort((e,t)=>(e.specNumber||0)-(t.specNumber||0))}async loadSpecByNumber(e){try{await t.access(this.specsDir)}catch{return null}let a=await t.readdir(this.specsDir,{withFileTypes:!0}),s=RegExp(`^0*${e}-`);for(let e of a)if(e.isDirectory()&&s.test(e.name)){let t=r.join(this.specsDir,e.name);return await this.loadSpecFromDirectory(t,e.name)}return null}async loadSpecFromDirectory(e,s){let n=r.join(e,"README.md");try{let e=await t.readFile(n,"utf-8"),{data:r,content:i}=(0,a.default)(e);if(!r||!r.status)return null;let o=s.match(/^(\d+)/),c=o?parseInt(o[1],10):null,l=`fs-${s}`,p=r.created_at??r.created,d=r.updated_at??r.updated,u=r.completed_at??r.completed,h=e=>{if(!e)return null;let t=new Date(e);return isNaN(t.getTime())?null:t};return{id:l,projectId:"leanspec",specNumber:c,specName:s,title:this.extractTitle(i),status:r.status||"planned",priority:r.priority||null,tags:r.tags?JSON.stringify(r.tags):null,assignee:r.assignee||null,contentMd:i,contentHtml:null,createdAt:h(p),updatedAt:h(d),completedAt:h(u),filePath:`specs/${s}/README.md`,githubUrl:`https://github.com/codervisor/lean-spec/tree/main/specs/${s}/README.md`,syncedAt:new Date}}catch{return null}}extractTitle(e){for(let t of e.split("\n")){let e=t.match(/^#\s+(.+)$/);if(e)return e[1].trim()}return null}}let i=null,o=new class{filesystemSource;databaseSource;mode;constructor(){if(this.mode=process.env.SPECS_MODE||"filesystem","filesystem"===this.mode||"both"===this.mode){const e=process.env.SPECS_DIR;this.filesystemSource=new n(e)}}async getDatabaseSource(){if(!this.databaseSource){if(!i){let{DatabaseSource:t}=await e.A(14430);i=t}this.databaseSource=new i}return this.databaseSource}async getAllSpecs(e){let t=await this.getSource(e);return await t.getAllSpecs(e)}async getSpec(e,t){let r=await this.getSource(t);return await r.getSpec(e,t)}async getSpecsByStatus(e,t){let r=await this.getSource(t);return await r.getSpecsByStatus(e,t)}async searchSpecs(e,t){let r=await this.getSource(t);return await r.searchSpecs(e,t)}async invalidateCache(e,t){(await this.getSource(t)).invalidateCache(e)}async getSource(e){if(e&&("database"===this.mode||"both"===this.mode))return await this.getDatabaseSource();if(this.filesystemSource)return this.filesystemSource;throw Error("No spec source configured")}};e.s(["specsService",0,o],44271)},33368,e=>{"use strict";var t=e.i(6169),r=e.i(25864),a=e.i(71648),s=e.i(30064),n=e.i(74222),i=e.i(2043),o=e.i(71408),c=e.i(26527),l=e.i(30592),p=e.i(34639),d=e.i(88935),u=e.i(68515),h=e.i(87166),m=e.i(76718),f=e.i(76529),g=e.i(51151),y=e.i(93695);e.i(59704);var x=e.i(8259),w=e.i(31511),S=e.i(68239);class v{graph;specs;constructor(e){this.graph=new Map,this.specs=new Map,this.buildGraph(e)}buildGraph(e){for(let t of e)this.specs.set(t.path,t),this.graph.set(t.path,{dependsOn:new Set(t.frontmatter.depends_on||[]),requiredBy:new Set,related:new Set(t.frontmatter.related||[])});for(let[e,t]of this.graph.entries()){for(let r of t.dependsOn){let t=this.graph.get(r);t&&t.requiredBy.add(e)}for(let r of t.related){let t=this.graph.get(r);t&&t.related.add(e)}}}getCompleteGraph(e){let t=this.specs.get(e);if(!t)throw Error(`Spec not found: ${e}`);let r=this.graph.get(e);if(!r)throw Error(`Graph node not found: ${e}`);return{current:t,dependsOn:this.getSpecsByPaths(Array.from(r.dependsOn)),requiredBy:this.getSpecsByPaths(Array.from(r.requiredBy)),related:this.getSpecsByPaths(Array.from(r.related))}}getSpecsByPaths(e){return e.map(e=>this.specs.get(e)).filter(e=>void 0!==e)}}var R=e.i(2157),E=e.i(50227),N=e.i(92194);async function b(e,{params:t}){try{let{id:e}=await t,r=await (0,S.getSpecById)(e);if(!r)return w.NextResponse.json({error:"Spec not found"},{status:404});let a=(0,E.join)(process.cwd(),"../../specs"),s=function(e){let t=[];try{for(let r of(0,R.readdirSync)(e)){let a=(0,E.join)(e,r);if((0,R.statSync)(a).isDirectory()&&"archived"!==r&&/^\d{2,}-/.test(r))try{let e=(0,E.join)(a,"README.md"),s=(0,R.readFileSync)(e,"utf-8"),{data:n}=(0,N.default)(s);if(!n||!n.status)continue;let i={status:n.status||"planned",created:n.created_at||n.created||new Date().toISOString().split("T")[0]};n.depends_on?i.depends_on=Array.isArray(n.depends_on)?n.depends_on:[n.depends_on]:i.depends_on=[],n.related?i.related=Array.isArray(n.related)?n.related:[n.related]:i.related=[],n.priority&&(i.priority=n.priority),n.tags&&(i.tags=n.tags),n.assignee&&(i.assignee=n.assignee),t.push({path:r,fullPath:a,filePath:e,name:r,frontmatter:i})}catch(e){console.warn(`Failed to parse spec ${r}:`,e)}}}catch(e){console.error("Failed to load specs:",e)}return t}(a),n=new v(s).getCompleteGraph(r.specName),i=e=>{let t=e.match(/^(\d+)/);return t?parseInt(t[1],10):null},o=e=>{let t=e.split("-");return t.length>1?t.slice(1).join("-").replace(/-/g," "):e},c={current:{id:r.id,specNumber:r.specNumber,specName:r.specName,title:r.title,status:r.status,priority:r.priority},dependsOn:n.dependsOn.map(e=>({specNumber:i(e.name),specName:e.name,title:o(e.name),status:e.frontmatter.status,priority:e.frontmatter.priority})),requiredBy:n.requiredBy.map(e=>({specNumber:i(e.name),specName:e.name,title:o(e.name),status:e.frontmatter.status,priority:e.frontmatter.priority})),related:n.related.map(e=>({specNumber:i(e.name),specName:e.name,title:o(e.name),status:e.frontmatter.status,priority:e.frontmatter.priority}))};return w.NextResponse.json(c,{headers:{"Cache-Control":"public, s-maxage=60, stale-while-revalidate=120"}})}catch(e){return console.error("Error fetching dependency graph:",e),w.NextResponse.json({error:"Failed to fetch dependency graph"},{status:500})}}e.s(["GET",()=>b],15671);var A=e.i(15671);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/specs/[id]/dependency-graph/route",pathname:"/api/specs/[id]/dependency-graph",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/packages/ui/src/app/api/specs/[id]/dependency-graph/route.ts",nextConfigOutput:"standalone",userland:A}),{workAsyncStorage:_,workUnitAsyncStorage:D,serverHooks:T}=C;function P(){return(0,a.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:D})}async function j(e,t,a){C.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/specs/[id]/dependency-graph/route";w=w.replace(/\/index$/,"")||"/";let S=await C.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!S)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,params:R,nextConfig:E,parsedUrl:N,isDraftMode:b,prerenderManifest:A,routerServerContext:_,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,resolvedPathname:P,clientReferenceManifest:j,serverActionsManifest:q}=S,M=(0,c.normalizeAppPath)(w),O=!!(A.dynamicRoutes[M]||A.routes[P]),k=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,N,!1):t.end("This page could not be found"),null);if(O&&!b){let e=!!A.routes[P],t=A.dynamicRoutes[M];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await k();throw new y.NoFallbackError}}let F=null;!O||C.isDev||b||(F="/index"===(F=P)?"/":F);let B=!0===C.isDev||!O,I=O&&!B;q&&j&&(0,i.setReferenceManifestsSingleton)({page:w,clientReferenceManifest:j,serverActionsManifest:q,serverModuleMap:(0,o.createServerModuleMap)({serverActionsManifest:q})});let $=e.method||"GET",U=(0,n.getTracer)(),H=U.getActiveScopeSpan(),G={params:R,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:B,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a)=>C.onRequestError(e,t,a,_)},sharedContext:{buildId:v}},L=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),W=p.NextRequestAdapter.fromNodeNextRequest(L,(0,p.signalFromNodeResponse)(t));try{let i=async e=>C.handle(W,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${$} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${$} ${w}`)}),o=!!(0,s.getRequestMeta)(e,"minimalMode"),c=async s=>{var n,c;let l=async({previousCacheEntry:r})=>{try{if(!o&&D&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=G.renderOpts.fetchMetrics;let c=G.renderOpts.pendingWaitUntil;c&&a.waitUntil&&(a.waitUntil(c),c=void 0);let l=G.renderOpts.collectedTags;if(!O)return await (0,h.sendResponse)(L,K,n,G.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[g.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,a=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:D})},_),t}},p=await C.handleResponse({req:e,nextConfig:E,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:o});if(!O)return null;if((null==p||null==(n=p.value)?void 0:n.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(c=p.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",D?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,m.fromNodeOutgoingHttpHeaders)(p.value.headers);return o&&O||d.delete(g.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,f.getCacheControlHeader)(p.cacheControl)),await (0,h.sendResponse)(L,K,new Response(p.value.body,{headers:d,status:p.value.status||200})),null};H?await c(H):await U.withPropagatedContext(e.headers,()=>U.trace(d.BaseServerSpan.handleRequest,{spanName:`${$} ${w}`,kind:n.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},c))}catch(t){if(t instanceof y.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:D})}),O)throw t;return await (0,h.sendResponse)(L,K,new Response(null,{status:500})),null}}e.s(["handler",()=>j,"patchFetch",()=>P,"routeModule",()=>C,"serverHooks",()=>T,"workAsyncStorage",()=>_,"workUnitAsyncStorage",()=>D],33368)},14430,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__ae726e9c._.js","server/chunks/packages_ui_src_lib_db_index_ts_556307fa._.js"].map(t=>e.l(t))).then(()=>t(18146)))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__21119265._.js.map