vibedoc 1.5.0 → 1.6.0

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 (405) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +4 -4
  3. package/.next/prerender-manifest.json +11 -11
  4. package/.next/required-server-files.json +0 -4
  5. package/.next/server/app/(app)/activity/page/build-manifest.json +1 -1
  6. package/.next/server/app/(app)/activity/page.js.nft.json +1 -1
  7. package/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/(app)/board/page/build-manifest.json +1 -1
  9. package/.next/server/app/(app)/board/page.js.nft.json +1 -1
  10. package/.next/server/app/(app)/board/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/(app)/docs/page/build-manifest.json +1 -1
  12. package/.next/server/app/(app)/docs/page.js.nft.json +1 -1
  13. package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -1
  14. package/.next/server/app/(app)/explorer/page/build-manifest.json +1 -1
  15. package/.next/server/app/(app)/explorer/page.js.nft.json +1 -1
  16. package/.next/server/app/(app)/explorer/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/(app)/memory/page/build-manifest.json +1 -1
  18. package/.next/server/app/(app)/memory/page.js.nft.json +1 -1
  19. package/.next/server/app/(app)/memory/page_client-reference-manifest.js +1 -1
  20. package/.next/server/app/(app)/roadmap/page/build-manifest.json +1 -1
  21. package/.next/server/app/(app)/roadmap/page.js.nft.json +1 -1
  22. package/.next/server/app/(app)/roadmap/page_client-reference-manifest.js +1 -1
  23. package/.next/server/app/(app)/settings/page/build-manifest.json +1 -1
  24. package/.next/server/app/(app)/settings/page.js.nft.json +1 -1
  25. package/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
  26. package/.next/server/app/(app)/setup/page/build-manifest.json +1 -1
  27. package/.next/server/app/(app)/setup/page.js.nft.json +1 -1
  28. package/.next/server/app/(app)/setup/page_client-reference-manifest.js +1 -1
  29. package/.next/server/app/_global-error/page/build-manifest.json +1 -1
  30. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  31. package/.next/server/app/_global-error.html +1 -1
  32. package/.next/server/app/_global-error.rsc +1 -1
  33. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  34. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  35. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  36. package/.next/server/app/_not-found/page/build-manifest.json +1 -1
  37. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  38. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  39. package/.next/server/app/_not-found.html +1 -1
  40. package/.next/server/app/_not-found.rsc +2 -2
  41. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  42. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  43. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  44. package/.next/server/app/activity.html +1 -1
  45. package/.next/server/app/activity.rsc +23 -22
  46. package/.next/server/app/activity.segments/!KGFwcCk/activity/__PAGE__.segment.rsc +5 -5
  47. package/.next/server/app/activity.segments/_full.segment.rsc +23 -22
  48. package/.next/server/app/activity.segments/_tree.segment.rsc +2 -2
  49. package/.next/server/app/api/activity/route.js +3 -3
  50. package/.next/server/app/api/activity/route.js.nft.json +1 -1
  51. package/.next/server/app/api/backlinks/route.js +3 -3
  52. package/.next/server/app/api/backlinks/route.js.nft.json +1 -1
  53. package/.next/server/app/api/chat/route.js +3 -3
  54. package/.next/server/app/api/chat/route.js.nft.json +1 -1
  55. package/.next/server/app/api/context/route.js +3 -3
  56. package/.next/server/app/api/context/route.js.nft.json +1 -1
  57. package/.next/server/app/api/decisions/route.js +3 -3
  58. package/.next/server/app/api/decisions/route.js.nft.json +1 -1
  59. package/.next/server/app/api/docs/route.js +3 -3
  60. package/.next/server/app/api/docs/route.js.nft.json +1 -1
  61. package/.next/server/app/api/events/route.js.nft.json +1 -1
  62. package/.next/server/app/api/explorer/route.js +4 -3
  63. package/.next/server/app/api/explorer/route.js.nft.json +1 -1
  64. package/.next/server/app/api/mcp/route.js +4 -4
  65. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  66. package/.next/server/app/api/memory/route.js +3 -3
  67. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  68. package/.next/server/app/api/plan/apply/route.js +4 -4
  69. package/.next/server/app/api/plan/apply/route.js.nft.json +1 -1
  70. package/.next/server/app/api/projects/route.js +3 -3
  71. package/.next/server/app/api/projects/route.js.nft.json +1 -1
  72. package/.next/server/app/api/registry/route.js +3 -3
  73. package/.next/server/app/api/registry/route.js.nft.json +1 -1
  74. package/.next/server/app/api/roadmap/create/route.js +4 -4
  75. package/.next/server/app/api/roadmap/create/route.js.nft.json +1 -1
  76. package/.next/server/app/api/roadmap/delete/route.js +4 -4
  77. package/.next/server/app/api/roadmap/delete/route.js.nft.json +1 -1
  78. package/.next/server/app/api/roadmap/generate/route.js +4 -4
  79. package/.next/server/app/api/roadmap/generate/route.js.nft.json +1 -1
  80. package/.next/server/app/api/roadmap/layout/route.js +4 -4
  81. package/.next/server/app/api/roadmap/layout/route.js.nft.json +1 -1
  82. package/.next/server/app/api/roadmap/route.js +3 -3
  83. package/.next/server/app/api/roadmap/route.js.nft.json +1 -1
  84. package/.next/server/app/api/roadmap/update/route.js +4 -4
  85. package/.next/server/app/api/roadmap/update/route.js.nft.json +1 -1
  86. package/.next/server/app/api/sessions/route.js +3 -3
  87. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  88. package/.next/server/app/api/settings/route.js +4 -4
  89. package/.next/server/app/api/settings/route.js.nft.json +1 -1
  90. package/.next/server/app/api/setup/generate/route.js +2 -2
  91. package/.next/server/app/api/setup/generate/route.js.nft.json +1 -1
  92. package/.next/server/app/api/setup/write/route.js +3 -3
  93. package/.next/server/app/api/setup/write/route.js.nft.json +1 -1
  94. package/.next/server/app/api/summary/route.js +3 -3
  95. package/.next/server/app/api/summary/route.js.nft.json +1 -1
  96. package/.next/server/app/api/tasks/create/route.js +3 -3
  97. package/.next/server/app/api/tasks/create/route.js.nft.json +1 -1
  98. package/.next/server/app/api/tasks/route.js +3 -3
  99. package/.next/server/app/api/tasks/route.js.nft.json +1 -1
  100. package/.next/server/app/board.html +1 -1
  101. package/.next/server/app/board.rsc +23 -21
  102. package/.next/server/app/board.segments/!KGFwcCk/board/__PAGE__.segment.rsc +5 -5
  103. package/.next/server/app/board.segments/_full.segment.rsc +23 -21
  104. package/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  105. package/.next/server/app/docs.html +1 -1
  106. package/.next/server/app/docs.rsc +27 -25
  107. package/.next/server/app/docs.segments/!KGFwcCk/docs/__PAGE__.segment.rsc +9 -10
  108. package/.next/server/app/docs.segments/_full.segment.rsc +27 -25
  109. package/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  110. package/.next/server/app/explorer.html +1 -1
  111. package/.next/server/app/explorer.rsc +23 -22
  112. package/.next/server/app/explorer.segments/!KGFwcCk/explorer/__PAGE__.segment.rsc +5 -5
  113. package/.next/server/app/explorer.segments/_full.segment.rsc +23 -22
  114. package/.next/server/app/explorer.segments/_tree.segment.rsc +2 -2
  115. package/.next/server/app/index.html +1 -1
  116. package/.next/server/app/index.rsc +2 -2
  117. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  118. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  119. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  120. package/.next/server/app/memory.html +1 -1
  121. package/.next/server/app/memory.rsc +23 -22
  122. package/.next/server/app/memory.segments/!KGFwcCk/memory/__PAGE__.segment.rsc +5 -5
  123. package/.next/server/app/memory.segments/_full.segment.rsc +23 -22
  124. package/.next/server/app/memory.segments/_tree.segment.rsc +2 -2
  125. package/.next/server/app/page/build-manifest.json +1 -1
  126. package/.next/server/app/page.js.nft.json +1 -1
  127. package/.next/server/app/page_client-reference-manifest.js +1 -1
  128. package/.next/server/app/roadmap.html +1 -1
  129. package/.next/server/app/roadmap.rsc +26 -25
  130. package/.next/server/app/roadmap.segments/!KGFwcCk/roadmap/__PAGE__.segment.rsc +11 -9
  131. package/.next/server/app/roadmap.segments/_full.segment.rsc +26 -25
  132. package/.next/server/app/roadmap.segments/_tree.segment.rsc +2 -2
  133. package/.next/server/app/settings.html +1 -1
  134. package/.next/server/app/settings.rsc +23 -22
  135. package/.next/server/app/settings.segments/!KGFwcCk/settings/__PAGE__.segment.rsc +5 -5
  136. package/.next/server/app/settings.segments/_full.segment.rsc +23 -22
  137. package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  138. package/.next/server/app/setup.html +1 -1
  139. package/.next/server/app/setup.rsc +23 -21
  140. package/.next/server/app/setup.segments/!KGFwcCk/setup/__PAGE__.segment.rsc +5 -5
  141. package/.next/server/app/setup.segments/_full.segment.rsc +23 -21
  142. package/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  143. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0-q4v32._.js → 11mp_@anthropic-ai_sdk_0-5bkpj._.js} +2 -2
  144. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_05hfnhc._.js → 11mp_@anthropic-ai_sdk_00psb_y._.js} +2 -2
  145. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_05dmim9._.js → 11mp_@anthropic-ai_sdk_01l5h3i._.js} +2 -2
  146. package/.next/server/chunks/{11mp_@anthropic-ai_sdk_07xtb0h._.js → 11mp_@anthropic-ai_sdk_072r2bd._.js} +2 -2
  147. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0am8bw2._.js +3 -0
  148. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0enefn6._.js +3 -0
  149. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0k3n_5f._.js +3 -0
  150. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0lcfjm4._.js +3 -0
  151. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0lfx9av._.js +3 -0
  152. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0qau3qw._.js +3 -0
  153. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0r1pmvm._.js +3 -0
  154. package/.next/server/chunks/11mp_@anthropic-ai_sdk_11t-z2t._.js +3 -0
  155. package/.next/server/chunks/11mp_@anthropic-ai_sdk_15hyn79._.js +3 -0
  156. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_qk07x._.js +3 -0
  157. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1b2929e._.js +3 -0
  158. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1e72c89._.js +3 -0
  159. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1eq7asn._.js +3 -0
  160. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1fhdojs._.js +3 -0
  161. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1lh_vwq._.js +3 -0
  162. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ludf-o._.js +3 -0
  163. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1m3luz3._.js +3 -0
  164. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1x1iz3d._.js +3 -0
  165. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1xsmwlh._.js +3 -0
  166. package/.next/server/chunks/11mp_@anthropic-ai_sdk_202spah._.js +3 -0
  167. package/.next/server/chunks/11mp_@anthropic-ai_sdk_215hw9u._.js +3 -0
  168. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0n-i0pd._.js +3 -0
  169. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_13pos4j._.js +3 -0
  170. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_17b4pqr._.js +3 -0
  171. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1bkcmom._.js +3 -0
  172. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1hlj_3l._.js +3 -0
  173. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1ip-sor._.js +3 -0
  174. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1pex5o1._.js +3 -0
  175. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1s8lc8_._.js +3 -0
  176. package/.next/server/chunks/[root-of-the-server]__03upgv8._.js +3 -0
  177. package/.next/server/chunks/[root-of-the-server]__03upgv8._.js.map +1 -0
  178. package/.next/server/chunks/[root-of-the-server]__05l6129._.js +3 -0
  179. package/.next/server/chunks/{[root-of-the-server]__0u2rl0m._.js.map → [root-of-the-server]__05l6129._.js.map} +1 -1
  180. package/.next/server/chunks/[root-of-the-server]__06zf_sh._.js +3 -0
  181. package/.next/server/chunks/{[root-of-the-server]__01yk8oi._.js.map → [root-of-the-server]__06zf_sh._.js.map} +1 -1
  182. package/.next/server/chunks/[root-of-the-server]__093hlkh._.js +3 -0
  183. package/.next/server/chunks/{[root-of-the-server]__1337jpl._.js.map → [root-of-the-server]__093hlkh._.js.map} +1 -1
  184. package/.next/server/chunks/[root-of-the-server]__0aynzrb._.js +3 -0
  185. package/.next/server/chunks/{[root-of-the-server]__0b49g9i._.js.map → [root-of-the-server]__0aynzrb._.js.map} +1 -1
  186. package/.next/server/chunks/[root-of-the-server]__0e59y5j._.js +3 -0
  187. package/.next/server/chunks/[root-of-the-server]__0eqd-tw._.js +3 -0
  188. package/.next/server/chunks/{[root-of-the-server]__0yd6wlm._.js.map → [root-of-the-server]__0eqd-tw._.js.map} +1 -1
  189. package/.next/server/chunks/[root-of-the-server]__0nfvvy9._.js +3 -0
  190. package/.next/server/chunks/{[root-of-the-server]__0j-xjbf._.js.map → [root-of-the-server]__0nfvvy9._.js.map} +1 -1
  191. package/.next/server/chunks/{[root-of-the-server]__03t5uqz._.js → [root-of-the-server]__0qac4k0._.js} +2 -2
  192. package/.next/server/chunks/{[root-of-the-server]__03t5uqz._.js.map → [root-of-the-server]__0qac4k0._.js.map} +1 -1
  193. package/.next/server/chunks/[root-of-the-server]__106gpvh._.js +3 -0
  194. package/.next/server/chunks/{[root-of-the-server]__0kaegk7._.js.map → [root-of-the-server]__106gpvh._.js.map} +1 -1
  195. package/.next/server/chunks/[root-of-the-server]__11s-8eg._.js +3 -0
  196. package/.next/server/chunks/{[root-of-the-server]__02k1gkk._.js.map → [root-of-the-server]__11s-8eg._.js.map} +1 -1
  197. package/.next/server/chunks/[root-of-the-server]__11s76m8._.js +3 -0
  198. package/.next/server/chunks/[root-of-the-server]__11s76m8._.js.map +1 -0
  199. package/.next/server/chunks/[root-of-the-server]__142icjb._.js +3 -0
  200. package/.next/server/chunks/{[root-of-the-server]__1yow6hw._.js.map → [root-of-the-server]__142icjb._.js.map} +1 -1
  201. package/.next/server/chunks/[root-of-the-server]__14aeqoi._.js +3 -0
  202. package/.next/server/chunks/[root-of-the-server]__14aeqoi._.js.map +1 -0
  203. package/.next/server/chunks/[root-of-the-server]__1613hjb._.js +88 -0
  204. package/.next/server/chunks/[root-of-the-server]__1613hjb._.js.map +1 -0
  205. package/.next/server/chunks/[root-of-the-server]__169hmq_._.js +10 -0
  206. package/.next/server/chunks/{[root-of-the-server]__0d4jkve._.js.map → [root-of-the-server]__169hmq_._.js.map} +1 -1
  207. package/.next/server/chunks/[root-of-the-server]__17p0rkn._.js +3 -0
  208. package/.next/server/chunks/{[root-of-the-server]__0v8x64y._.js.map → [root-of-the-server]__17p0rkn._.js.map} +1 -1
  209. package/.next/server/chunks/[root-of-the-server]__17xb02p._.js +3 -0
  210. package/.next/server/chunks/{[root-of-the-server]__0zybyuh._.js.map → [root-of-the-server]__17xb02p._.js.map} +1 -1
  211. package/.next/server/chunks/[root-of-the-server]__18kxo4a._.js +3 -0
  212. package/.next/server/chunks/{[root-of-the-server]__1znbm9i._.js.map → [root-of-the-server]__18kxo4a._.js.map} +1 -1
  213. package/.next/server/chunks/[root-of-the-server]__1c55c2q._.js +3 -0
  214. package/.next/server/chunks/{[root-of-the-server]__0l3voov._.js.map → [root-of-the-server]__1c55c2q._.js.map} +1 -1
  215. package/.next/server/chunks/[root-of-the-server]__1j0rrps._.js +3 -0
  216. package/.next/server/chunks/{[root-of-the-server]__0635d15._.js.map → [root-of-the-server]__1j0rrps._.js.map} +1 -1
  217. package/.next/server/chunks/[root-of-the-server]__1lj_2cv._.js +3 -0
  218. package/.next/server/chunks/{[root-of-the-server]__0qsx33x._.js.map → [root-of-the-server]__1lj_2cv._.js.map} +1 -1
  219. package/.next/server/chunks/[root-of-the-server]__1o4a-4j._.js +3 -0
  220. package/.next/server/chunks/{[root-of-the-server]__1vaownn._.js.map → [root-of-the-server]__1o4a-4j._.js.map} +1 -1
  221. package/.next/server/chunks/[root-of-the-server]__1q4ahvz._.js +3 -0
  222. package/.next/server/chunks/{[root-of-the-server]__1hsybai._.js.map → [root-of-the-server]__1q4ahvz._.js.map} +1 -1
  223. package/.next/server/chunks/{[root-of-the-server]__1337jpl._.js → [root-of-the-server]__1u_q61h._.js} +2 -2
  224. package/.next/server/chunks/{[root-of-the-server]__0kkefbq._.js.map → [root-of-the-server]__1u_q61h._.js.map} +1 -1
  225. package/.next/server/chunks/[root-of-the-server]__1wr0m-s._.js +3 -0
  226. package/.next/server/chunks/{[root-of-the-server]__0-rjzmv._.js.map → [root-of-the-server]__1wr0m-s._.js.map} +1 -1
  227. package/.next/server/chunks/[root-of-the-server]__1xb0fmp._.js +3 -0
  228. package/.next/server/chunks/{[root-of-the-server]__15suc44._.js.map → [root-of-the-server]__1xb0fmp._.js.map} +1 -1
  229. package/.next/server/chunks/{[root-of-the-server]__1hsybai._.js → [root-of-the-server]__1y-tt29._.js} +2 -2
  230. package/.next/server/chunks/{[root-of-the-server]__0af0ma6._.js.map → [root-of-the-server]__1y-tt29._.js.map} +1 -1
  231. package/.next/server/chunks/[root-of-the-server]__1y3u5ud._.js +3 -0
  232. package/.next/server/chunks/{[root-of-the-server]__0xqsv4h._.js.map → [root-of-the-server]__1y3u5ud._.js.map} +1 -1
  233. package/.next/server/chunks/[turbopack]_runtime.js +0 -132
  234. package/.next/server/chunks/[turbopack]_runtime.js.map +4 -5
  235. package/.next/server/chunks/_04byth9._.js +34 -0
  236. package/.next/server/chunks/_04byth9._.js.map +1 -0
  237. package/.next/server/chunks/_1au4syj._.js +1 -1
  238. package/.next/server/chunks/_1au4syj._.js.map +1 -1
  239. package/.next/server/chunks/_1b5fqxy._.js +3 -0
  240. package/.next/server/chunks/_1b5fqxy._.js.map +1 -0
  241. package/.next/server/chunks/_1si7nb_._.js +8 -8
  242. package/.next/server/chunks/_1si7nb_._.js.map +1 -1
  243. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_08ca0b4._.js +3 -0
  244. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_08ca0b4._.js.map +1 -0
  245. package/.next/server/chunks/ssr/[turbopack]_runtime.js +0 -132
  246. package/.next/server/chunks/ssr/[turbopack]_runtime.js.map +4 -5
  247. package/.next/server/chunks/ssr/_01suk2m._.js +3 -0
  248. package/.next/server/chunks/ssr/_01suk2m._.js.map +1 -0
  249. package/.next/server/chunks/ssr/_04xff_2._.js +1 -1
  250. package/.next/server/chunks/ssr/_04xff_2._.js.map +1 -1
  251. package/.next/server/chunks/ssr/_0qyglif._.js +2 -2
  252. package/.next/server/chunks/ssr/_0qyglif._.js.map +1 -1
  253. package/.next/server/chunks/ssr/_0skuoxv._.js +3 -1
  254. package/.next/server/chunks/ssr/_0skuoxv._.js.map +1 -1
  255. package/.next/server/chunks/ssr/{_1alz6n5._.js → _14i_6yb._.js} +2 -2
  256. package/.next/server/chunks/ssr/_14i_6yb._.js.map +1 -0
  257. package/.next/server/chunks/ssr/{_1s08bv8._.js → _1cbhuz4._.js} +2 -2
  258. package/.next/server/chunks/ssr/_1cbhuz4._.js.map +1 -0
  259. package/.next/server/chunks/ssr/_1ewk_mn._.js +3 -0
  260. package/.next/server/chunks/ssr/_1ewk_mn._.js.map +1 -0
  261. package/.next/server/chunks/ssr/node_modules__pnpm_1dcmsrg._.js +3 -0
  262. package/.next/server/chunks/ssr/node_modules__pnpm_1dcmsrg._.js.map +1 -0
  263. package/.next/server/chunks/ssr/src_components_008q3v8._.js +3 -0
  264. package/.next/server/chunks/ssr/src_components_008q3v8._.js.map +1 -0
  265. package/.next/server/middleware-build-manifest.js +4 -4
  266. package/.next/server/pages/404.html +1 -1
  267. package/.next/server/pages/500.html +1 -1
  268. package/.next/server/server-reference-manifest.js +1 -1
  269. package/.next/server/server-reference-manifest.json +1 -1
  270. package/.next/static/chunks/0eggcu0ovk8sd.js +68 -0
  271. package/.next/static/chunks/{145g20k60txhc.js → 0iva6rdtfqpbz.js} +1 -1
  272. package/.next/static/chunks/0qm101bdsxdyh.css +10 -0
  273. package/.next/static/chunks/0wg9n5zb8mo2p.js +1 -0
  274. package/.next/static/chunks/{2-faknwci76np.js → 0wjw1laqwg-cr.js} +1 -1
  275. package/.next/static/chunks/0z_y7el6m76yk.js +1 -0
  276. package/.next/static/chunks/1-ekntoveuxzd.js +4 -0
  277. package/.next/static/chunks/1r7z33e9jk3vp.js +1 -0
  278. package/.next/static/chunks/{2f7yju8yks2m9.js → 1xyepk9227yej.js} +6 -73
  279. package/.next/static/chunks/{1lfr973ckp6by.js → 1ytqu-ra-fylk.js} +2 -2
  280. package/.next/static/chunks/3dlnlsyyysw5m.js +1 -0
  281. package/.next/static/chunks/{0aiy7o5bsiixt.js → 3kkg030rcpz7l.js} +1 -1
  282. package/.next/static/chunks/3pf_4ye6ju8gt.js +1 -0
  283. package/.next/static/chunks/turbopack-2qsbj8zx38t0j.js +1 -0
  284. package/README.md +2 -0
  285. package/next.config.js +4 -7
  286. package/package.json +1 -1
  287. package/skills/epic-breakdown/SKILL.md +11 -1
  288. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0fw_tls._.js +0 -3
  289. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0q6tm_c._.js +0 -3
  290. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0qyh79u._.js +0 -3
  291. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0rfkb6q._.js +0 -3
  292. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0x1yqfb._.js +0 -3
  293. package/.next/server/chunks/11mp_@anthropic-ai_sdk_0yt3ewg._.js +0 -3
  294. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1-kttjy._.js +0 -3
  295. package/.next/server/chunks/11mp_@anthropic-ai_sdk_12h8gza._.js +0 -3
  296. package/.next/server/chunks/11mp_@anthropic-ai_sdk_18c2w1i._.js +0 -3
  297. package/.next/server/chunks/11mp_@anthropic-ai_sdk_18fnlqa._.js +0 -3
  298. package/.next/server/chunks/11mp_@anthropic-ai_sdk_19on0yg._.js +0 -3
  299. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1alh48t._.js +0 -3
  300. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ck56ir._.js +0 -3
  301. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1daia98._.js +0 -3
  302. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1f6snvo._.js +0 -3
  303. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1p6s626._.js +0 -3
  304. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ps921l._.js +0 -3
  305. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1rqxfdf._.js +0 -3
  306. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1s7maye._.js +0 -3
  307. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1vuy6_x._.js +0 -3
  308. package/.next/server/chunks/11mp_@anthropic-ai_sdk_1xv39eu._.js +0 -3
  309. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_078qkb6._.js +0 -3
  310. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0q7-hjh._.js +0 -3
  311. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_165bzk6._.js +0 -3
  312. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1hfbfb5._.js +0 -3
  313. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1sa-8tw._.js +0 -3
  314. package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1xq_gof._.js +0 -3
  315. package/.next/server/chunks/[root-of-the-server]__0-rjzmv._.js +0 -3
  316. package/.next/server/chunks/[root-of-the-server]__01yk8oi._.js +0 -3
  317. package/.next/server/chunks/[root-of-the-server]__02k1gkk._.js +0 -3
  318. package/.next/server/chunks/[root-of-the-server]__0635d15._.js +0 -3
  319. package/.next/server/chunks/[root-of-the-server]__0af0ma6._.js +0 -3
  320. package/.next/server/chunks/[root-of-the-server]__0b49g9i._.js +0 -3
  321. package/.next/server/chunks/[root-of-the-server]__0d4jkve._.js +0 -10
  322. package/.next/server/chunks/[root-of-the-server]__0j-xjbf._.js +0 -3
  323. package/.next/server/chunks/[root-of-the-server]__0kaegk7._.js +0 -3
  324. package/.next/server/chunks/[root-of-the-server]__0kkefbq._.js +0 -3
  325. package/.next/server/chunks/[root-of-the-server]__0l3voov._.js +0 -3
  326. package/.next/server/chunks/[root-of-the-server]__0qsx33x._.js +0 -3
  327. package/.next/server/chunks/[root-of-the-server]__0sc44r6._.js +0 -86
  328. package/.next/server/chunks/[root-of-the-server]__0sc44r6._.js.map +0 -1
  329. package/.next/server/chunks/[root-of-the-server]__0u2rl0m._.js +0 -3
  330. package/.next/server/chunks/[root-of-the-server]__0uk0tga._.js +0 -3
  331. package/.next/server/chunks/[root-of-the-server]__0v8x64y._.js +0 -3
  332. package/.next/server/chunks/[root-of-the-server]__0xqsv4h._.js +0 -3
  333. package/.next/server/chunks/[root-of-the-server]__0yd6wlm._.js +0 -3
  334. package/.next/server/chunks/[root-of-the-server]__0zybyuh._.js +0 -3
  335. package/.next/server/chunks/[root-of-the-server]__134sb3d._.js +0 -3
  336. package/.next/server/chunks/[root-of-the-server]__134sb3d._.js.map +0 -1
  337. package/.next/server/chunks/[root-of-the-server]__15suc44._.js +0 -3
  338. package/.next/server/chunks/[root-of-the-server]__1jeqjz6._.js +0 -3
  339. package/.next/server/chunks/[root-of-the-server]__1kfohrq._.js +0 -3
  340. package/.next/server/chunks/[root-of-the-server]__1mz21a2._.js +0 -3
  341. package/.next/server/chunks/[root-of-the-server]__1mz21a2._.js.map +0 -1
  342. package/.next/server/chunks/[root-of-the-server]__1vaownn._.js +0 -3
  343. package/.next/server/chunks/[root-of-the-server]__1yow6hw._.js +0 -3
  344. package/.next/server/chunks/[root-of-the-server]__1znbm9i._.js +0 -3
  345. package/.next/server/chunks/_0csymdc._.js +0 -34
  346. package/.next/server/chunks/_0csymdc._.js.map +0 -1
  347. package/.next/server/chunks/_1f1rssd._.js +0 -3
  348. package/.next/server/chunks/_1f1rssd._.js.map +0 -1
  349. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_1v0h3_3._.js +0 -3
  350. package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_1v0h3_3._.js.map +0 -1
  351. package/.next/server/chunks/ssr/_0v7muti._.js +0 -3
  352. package/.next/server/chunks/ssr/_0v7muti._.js.map +0 -1
  353. package/.next/server/chunks/ssr/_1a9mqm1._.js +0 -3
  354. package/.next/server/chunks/ssr/_1a9mqm1._.js.map +0 -1
  355. package/.next/server/chunks/ssr/_1alz6n5._.js.map +0 -1
  356. package/.next/server/chunks/ssr/_1s08bv8._.js.map +0 -1
  357. package/.next/server/chunks/ssr/node_modules__pnpm_051nq8c._.js +0 -3
  358. package/.next/server/chunks/ssr/node_modules__pnpm_051nq8c._.js.map +0 -1
  359. package/.next/server/chunks/ssr/src_components_0wg3bi2._.js +0 -3
  360. package/.next/server/chunks/ssr/src_components_0wg3bi2._.js.map +0 -1
  361. package/.next/static/chunks/05qw7-fs1exlt.js +0 -1
  362. package/.next/static/chunks/0_vu3y1bvg843.js +0 -1
  363. package/.next/static/chunks/0fvzbdfwiu4a2.js +0 -1
  364. package/.next/static/chunks/14ewdzt8piprq.js +0 -1
  365. package/.next/static/chunks/2g08tblvdp0t_.js +0 -2
  366. package/.next/static/chunks/2gdlf-xhbpc75.css +0 -10
  367. package/.next/static/chunks/2xu8bb_0152j-.js +0 -1
  368. package/.next/static/chunks/turbopack-181pehyg9iyaw.js +0 -1
  369. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0-q4v32._.js.map → 11mp_@anthropic-ai_sdk_0-5bkpj._.js.map} +0 -0
  370. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_05dmim9._.js.map → 11mp_@anthropic-ai_sdk_00psb_y._.js.map} +0 -0
  371. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_05hfnhc._.js.map → 11mp_@anthropic-ai_sdk_01l5h3i._.js.map} +0 -0
  372. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_07xtb0h._.js.map → 11mp_@anthropic-ai_sdk_072r2bd._.js.map} +0 -0
  373. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0fw_tls._.js.map → 11mp_@anthropic-ai_sdk_0am8bw2._.js.map} +0 -0
  374. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0q6tm_c._.js.map → 11mp_@anthropic-ai_sdk_0enefn6._.js.map} +0 -0
  375. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0qyh79u._.js.map → 11mp_@anthropic-ai_sdk_0k3n_5f._.js.map} +0 -0
  376. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0rfkb6q._.js.map → 11mp_@anthropic-ai_sdk_0lcfjm4._.js.map} +0 -0
  377. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0x1yqfb._.js.map → 11mp_@anthropic-ai_sdk_0lfx9av._.js.map} +0 -0
  378. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0yt3ewg._.js.map → 11mp_@anthropic-ai_sdk_0qau3qw._.js.map} +0 -0
  379. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1-kttjy._.js.map → 11mp_@anthropic-ai_sdk_0r1pmvm._.js.map} +0 -0
  380. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_12h8gza._.js.map → 11mp_@anthropic-ai_sdk_11t-z2t._.js.map} +0 -0
  381. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_18c2w1i._.js.map → 11mp_@anthropic-ai_sdk_15hyn79._.js.map} +0 -0
  382. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_18fnlqa._.js.map → 11mp_@anthropic-ai_sdk_1_qk07x._.js.map} +0 -0
  383. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_19on0yg._.js.map → 11mp_@anthropic-ai_sdk_1b2929e._.js.map} +0 -0
  384. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1alh48t._.js.map → 11mp_@anthropic-ai_sdk_1e72c89._.js.map} +0 -0
  385. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1ck56ir._.js.map → 11mp_@anthropic-ai_sdk_1eq7asn._.js.map} +0 -0
  386. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1daia98._.js.map → 11mp_@anthropic-ai_sdk_1fhdojs._.js.map} +0 -0
  387. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1f6snvo._.js.map → 11mp_@anthropic-ai_sdk_1lh_vwq._.js.map} +0 -0
  388. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1p6s626._.js.map → 11mp_@anthropic-ai_sdk_1ludf-o._.js.map} +0 -0
  389. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1ps921l._.js.map → 11mp_@anthropic-ai_sdk_1m3luz3._.js.map} +0 -0
  390. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1rqxfdf._.js.map → 11mp_@anthropic-ai_sdk_1x1iz3d._.js.map} +0 -0
  391. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1s7maye._.js.map → 11mp_@anthropic-ai_sdk_1xsmwlh._.js.map} +0 -0
  392. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1vuy6_x._.js.map → 11mp_@anthropic-ai_sdk_202spah._.js.map} +0 -0
  393. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1xv39eu._.js.map → 11mp_@anthropic-ai_sdk_215hw9u._.js.map} +0 -0
  394. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_078qkb6._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0n-i0pd._.js.map} +0 -0
  395. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0q7-hjh._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_13pos4j._.js.map} +0 -0
  396. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_165bzk6._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_17b4pqr._.js.map} +0 -0
  397. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1hfbfb5._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1bkcmom._.js.map} +0 -0
  398. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1sa-8tw._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1hlj_3l._.js.map} +0 -0
  399. /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1xq_gof._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1ip-sor._.js.map} +0 -0
  400. /package/.next/server/chunks/{[root-of-the-server]__0uk0tga._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1pex5o1._.js.map} +0 -0
  401. /package/.next/server/chunks/{[root-of-the-server]__1jeqjz6._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1s8lc8_._.js.map} +0 -0
  402. /package/.next/server/chunks/{[root-of-the-server]__1kfohrq._.js.map → [root-of-the-server]__0e59y5j._.js.map} +0 -0
  403. /package/.next/static/{cmDLf8WOU5PVmUOcSPh2H → ICaoXcRMmgrIFWk8C_Z6D}/_buildManifest.js +0 -0
  404. /package/.next/static/{cmDLf8WOU5PVmUOcSPh2H → ICaoXcRMmgrIFWk8C_Z6D}/_clientMiddlewareManifest.js +0 -0
  405. /package/.next/static/{cmDLf8WOU5PVmUOcSPh2H → ICaoXcRMmgrIFWk8C_Z6D}/_ssgManifest.js +0 -0
@@ -1,3 +0,0 @@
1
- module.exports=[270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},918622,(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"))},120635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},324725,(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"))},556704,(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"))},832319,(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"))},559043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},400829,e=>{e.v(t=>Promise.all(["server/chunks/11mp_@anthropic-ai_sdk_07xtb0h._.js","server/chunks/node_modules__pnpm_01mvudn._.js"].map(t=>e.l(t))).then(()=>t(292987)))},32338,e=>e.a(async(t,r)=>{try{var a=e.i(192258),n=e.i(799501),s=t([n]);async function i(e){let t=e.nextUrl.searchParams.get("root")||(0,n.getConfiguredRoot)(),r=await (0,n.getProjectSummary)(t);return a.NextResponse.json(r)}[n]=s.then?(await s)():s,e.s(["GET",0,i]),r()}catch(e){r(e)}},!1),422377,e=>{"use strict";var t=e.i(440807),r=e.i(381144),a=e.i(522639),n=e.i(165892),s=e.i(781831),i=e.i(740095),o=e.i(931106),l=e.i(253258),u=e.i(488026),d=e.i(571998),p=e.i(666314),c=e.i(598783),h=e.i(759703),x=e.i(163677),m=e.i(450859),v=e.i(193695);e.i(582432);var R=e.i(274687);let g=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/summary/route",pathname:"/api/summary",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/summary/route.ts",nextConfigOutput:"",userland:()=>e.r(32338),...{}}),{workAsyncStorage:f,workUnitAsyncStorage:w,serverHooks:y}=g;async function E(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),g.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/summary/route";f=f.replace(/\/index$/,"")||"/";let w=await g.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,deploymentId:E,params:C,nextConfig:A,parsedUrl:b,isDraftMode:T,prerenderManifest:_,routerServerContext:q,isOnDemandRevalidate:P,revalidateOnlyGenerated:S,resolvedPathname:j,clientReferenceManifest:N,serverActionsManifest:k}=w,O=(0,o.normalizeAppPath)(f),H=!!(_.dynamicRoutes[O]||_.routes[j]),I=async()=>((null==q?void 0:q.render404)?await q.render404(e,t,b,!1):t.end("This page could not be found"),null);if(H&&!T){let e=!!_.routes[j],t=_.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await I();throw new v.NoFallbackError}}let M=null;!H||g.isDev||T||(M="/index"===(M=j)?"/":M);let U=!0===g.isDev||!H,D=H&&!U;k&&N&&(0,i.setManifestsSingleton)({page:f,clientReferenceManifest:N,serverActionsManifest:k});let F=e.method||"GET",K=(0,s.getTracer)(),L=K.getActiveScopeSpan(),$=!!(null==q?void 0:q.isWrappedByNextServer),B=!!(0,n.getRequestMeta)(e,"minimalMode"),G=(0,n.getRequestMeta)(e,"incrementalCache")||await g.getIncrementalCache(e,A,_,B);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let V={params:C,previewProps:_.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts,useCacheTimeout:A.experimental.useCacheTimeout},cacheComponents:!!A.cacheComponents,validationLevel:A.experimental.instantInsights.validationLevel,supportsDynamicResponse:U,incrementalCache:G,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:A.cacheLife,staticPageGenerationTimeout:A.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>g.onRequestError(e,t,a,n,q)},sharedContext:{buildId:y,deploymentId:E}},X=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(X,(0,u.signalFromNodeResponse)(t)),Z=async({previousCacheEntry:r})=>{try{if(!B&&P&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await g.handle(z,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let s=V.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let i=V.renderOpts.collectedTags;if(!H)return await (0,c.sendResponse)(X,W,n,s),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);i&&(t[m.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,a=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=m.INFINITE_CACHE?!1!==r&&r>0?A.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:R.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 g.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,q),t}},J=async(n,i)=>{try{var o,l;let n=await g.handleResponse({req:e,nextConfig:A,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:S,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:B});if(!H)return;if((null==n||null==(o=n.value)?void 0:o.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",P?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);B&&H||s.delete(m.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,x.getCacheControlHeader)(n.cacheControl)),await (0,c.sendResponse)(X,W,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(t){if(t instanceof v.NoFallbackError||await g.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,q),H)throw t;await (0,c.sendResponse)(X,W,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:s.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=K.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return 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")||O,o=`${F} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),n.updateName(o),i&&i!==n&&(i.setAttribute("http.route",a),i.updateName(o))})()}};if($&&L)await J(L,void 0);else{let t=K.getActiveScopeSpan();await K.withPropagatedContext(e.headers,()=>K.trace(d.BaseServerSpan.handleRequest,{spanName:`${F} ${f}`,kind:s.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>J(e,t)),void 0,!$)}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:f,workUnitAsyncStorage:w})},"routeModule",0,g,"serverHooks",0,y,"workAsyncStorage",0,f,"workUnitAsyncStorage",0,w])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__01yk8oi._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},918622,(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"))},120635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},324725,(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"))},556704,(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"))},832319,(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"))},559043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},915069,e=>e.a(async(t,r)=>{try{var a=e.i(192258),n=e.i(799501),s=t([n]);async function o(e){let t;try{t=await e.json()}catch{throw new n.RoadmapError("Invalid JSON body")}if(!t||"object"!=typeof t||Array.isArray(t))throw new n.RoadmapError("Body must be a JSON object");return t}[n]=s.then?(await s)():s,e.s(["errorResponse",0,function(e){let t=e instanceof n.RoadmapError?e.status:500;return a.NextResponse.json({error:e instanceof Error?e.message:String(e)},{status:t})},"jsonBody",0,o,"rootOf",0,function(e){return e.nextUrl.searchParams.get("root")||(0,n.getConfiguredRoot)()}]),r()}catch(e){r(e)}},!1),194892,e=>e.a(async(t,r)=>{try{var a=e.i(192258),n=e.i(799501),s=e.i(498768),o=e.i(915069),i=t([n,o]);async function l(e){try{let{id:t,patch:r}=await (0,o.jsonBody)(e);if(!r||"object"!=typeof r||Array.isArray(r))throw new n.RoadmapError("patch must be an object");let i=await (0,n.updateRoadmapItem)(String(t??""),r,(0,o.rootOf)(e));return(0,s.emitUpdate)("roadmap_updated",{kind:"update",id:i.id}),a.NextResponse.json({item:i})}catch(e){return(0,o.errorResponse)(e)}}[n,o]=i.then?(await i)():i,e.s(["POST",0,l]),r()}catch(e){r(e)}},!1),859009,e=>{"use strict";var t=e.i(440807),r=e.i(381144),a=e.i(522639),n=e.i(165892),s=e.i(781831),o=e.i(740095),i=e.i(931106),l=e.i(253258),d=e.i(488026),u=e.i(571998),p=e.i(666314),c=e.i(598783),h=e.i(759703),x=e.i(163677),R=e.i(450859),m=e.i(193695);e.i(582432);var v=e.i(274687);let g=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/roadmap/update/route",pathname:"/api/roadmap/update",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/roadmap/update/route.ts",nextConfigOutput:"",userland:()=>e.r(194892),...{}}),{workAsyncStorage:f,workUnitAsyncStorage:w,serverHooks:y}=g;async function E(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),g.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/roadmap/update/route";f=f.replace(/\/index$/,"")||"/";let w=await g.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,deploymentId:E,params:b,nextConfig:C,parsedUrl:A,isDraftMode:S,prerenderManifest:T,routerServerContext:j,isOnDemandRevalidate:q,revalidateOnlyGenerated:N,resolvedPathname:P,clientReferenceManifest:O,serverActionsManifest:_}=w,k=(0,i.normalizeAppPath)(f),I=!!(T.dynamicRoutes[k]||T.routes[P]),H=async()=>((null==j?void 0:j.render404)?await j.render404(e,t,A,!1):t.end("This page could not be found"),null);if(I&&!S){let e=!!T.routes[P],t=T.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(C.adapterPath)return await H();throw new m.NoFallbackError}}let U=null;!I||g.isDev||S||(U="/index"===(U=P)?"/":U);let M=!0===g.isDev||!I,D=I&&!M;_&&O&&(0,o.setManifestsSingleton)({page:f,clientReferenceManifest:O,serverActionsManifest:_});let B=e.method||"GET",F=(0,s.getTracer)(),K=F.getActiveScopeSpan(),L=!!(null==j?void 0:j.isWrappedByNextServer),$=!!(0,n.getRequestMeta)(e,"minimalMode"),G=(0,n.getRequestMeta)(e,"incrementalCache")||await g.getIncrementalCache(e,C,T,$);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let V={params:b,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:G,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>g.onRequestError(e,t,a,n,j)},sharedContext:{buildId:y,deploymentId:E}},X=new l.NodeNextRequest(e),J=new l.NodeNextResponse(t),W=d.NextRequestAdapter.fromNodeNextRequest(X,(0,d.signalFromNodeResponse)(t)),z=async({previousCacheEntry:r})=>{try{if(!$&&q&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await g.handle(W,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let s=V.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let o=V.renderOpts.collectedTags;if(!I)return await (0,c.sendResponse)(X,J,n,s),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);o&&(t[R.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,a=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=R.INFINITE_CACHE?!1!==r&&r>0?C.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:v.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 g.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:q})},!1,j),t}},Z=async(n,o)=>{try{var i,l;let n=await g.handleResponse({req:e,nextConfig:C,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:N,responseGenerator:z,waitUntil:a.waitUntil,isMinimalMode:$});if(!I)return;if((null==n||null==(i=n.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});$||t.setHeader("x-nextjs-cache",q?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);$&&I||s.delete(R.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,x.getCacheControlHeader)(n.cacheControl)),await (0,c.sendResponse)(X,J,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(t){if(t instanceof m.NoFallbackError||await g.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:q})},!1,j),I)throw t;await (0,c.sendResponse)(X,J,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:s.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return 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")||k,i=`${B} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":i}),n.updateName(i),o&&o!==n&&(o.setAttribute("http.route",a),o.updateName(i))})()}};if(L&&K)await Z(K,void 0);else{let t=F.getActiveScopeSpan();await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${B} ${f}`,kind:s.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},e=>Z(e,t)),void 0,!L)}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:f,workUnitAsyncStorage:w})},"routeModule",0,g,"serverHooks",0,y,"workAsyncStorage",0,f,"workUnitAsyncStorage",0,w])},498768,e=>{"use strict";class t{listeners=new Set;subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}emit(e){this.listeners.forEach(t=>{try{t(e)}catch{}})}}let r=globalThis,a=r.vibedocBus??(r.vibedocBus=new t);e.s(["bus",0,a,"emitUpdate",0,function(e,t){a.emit({type:e,payload:t,ts:new Date().toISOString()})}])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__02k1gkk._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},918622,(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"))},120635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},324725,(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"))},556704,(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"))},832319,(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"))},559043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},400829,e=>{e.v(t=>Promise.all(["server/chunks/11mp_@anthropic-ai_sdk_0yt3ewg._.js","server/chunks/node_modules__pnpm_01mvudn._.js"].map(t=>e.l(t))).then(()=>t(292987)))},782104,e=>e.a(async(t,r)=>{try{var a=e.i(192258),n=e.i(799501),s=t([n]);async function o(e){try{let t=e.nextUrl.searchParams.get("root")||(0,n.getConfiguredRoot)(),{paths:r}=await e.json();if(!Array.isArray(r))return a.NextResponse.json({error:"paths must be an array"},{status:400});let s=await (0,n.getContext)(r,t);return a.NextResponse.json({context:s})}catch(e){return a.NextResponse.json({error:e.message},{status:400})}}[n]=s.then?(await s)():s,e.s(["POST",0,o]),r()}catch(e){r(e)}},!1),895565,e=>{"use strict";var t=e.i(440807),r=e.i(381144),a=e.i(522639),n=e.i(165892),s=e.i(781831),o=e.i(740095),i=e.i(931106),l=e.i(253258),u=e.i(488026),d=e.i(571998),p=e.i(666314),c=e.i(598783),x=e.i(759703),h=e.i(163677),v=e.i(450859),R=e.i(193695);e.i(582432);var m=e.i(274687);let g=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/context/route",pathname:"/api/context",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/context/route.ts",nextConfigOutput:"",userland:()=>e.r(782104),...{}}),{workAsyncStorage:f,workUnitAsyncStorage:w,serverHooks:y}=g;async function C(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),g.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/context/route";f=f.replace(/\/index$/,"")||"/";let w=await g.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,deploymentId:C,params:E,nextConfig:A,parsedUrl:b,isDraftMode:T,prerenderManifest:_,routerServerContext:q,isOnDemandRevalidate:P,revalidateOnlyGenerated:j,resolvedPathname:N,clientReferenceManifest:S,serverActionsManifest:k}=w,O=(0,i.normalizeAppPath)(f),H=!!(_.dynamicRoutes[O]||_.routes[N]),I=async()=>((null==q?void 0:q.render404)?await q.render404(e,t,b,!1):t.end("This page could not be found"),null);if(H&&!T){let e=!!_.routes[N],t=_.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await I();throw new R.NoFallbackError}}let M=null;!H||g.isDev||T||(M="/index"===(M=N)?"/":M);let U=!0===g.isDev||!H,D=H&&!U;k&&S&&(0,o.setManifestsSingleton)({page:f,clientReferenceManifest:S,serverActionsManifest:k});let F=e.method||"GET",K=(0,s.getTracer)(),L=K.getActiveScopeSpan(),$=!!(null==q?void 0:q.isWrappedByNextServer),B=!!(0,n.getRequestMeta)(e,"minimalMode"),G=(0,n.getRequestMeta)(e,"incrementalCache")||await g.getIncrementalCache(e,A,_,B);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let V={params:E,previewProps:_.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts,useCacheTimeout:A.experimental.useCacheTimeout},cacheComponents:!!A.cacheComponents,validationLevel:A.experimental.instantInsights.validationLevel,supportsDynamicResponse:U,incrementalCache:G,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:A.cacheLife,staticPageGenerationTimeout:A.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>g.onRequestError(e,t,a,n,q)},sharedContext:{buildId:y,deploymentId:C}},X=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(X,(0,u.signalFromNodeResponse)(t)),Z=async({previousCacheEntry:r})=>{try{if(!B&&P&&j&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await g.handle(z,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let s=V.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let o=V.renderOpts.collectedTags;if(!H)return await (0,c.sendResponse)(X,W,n,s),null;{let e=await n.blob(),t=(0,x.toNodeOutgoingHttpHeaders)(n.headers);o&&(t[v.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,a=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=v.INFINITE_CACHE?!1!==r&&r>0?A.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:m.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 g.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,q),t}},J=async(n,o)=>{try{var i,l;let n=await g.handleResponse({req:e,nextConfig:A,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:j,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:B});if(!H)return;if((null==n||null==(i=n.value)?void 0:i.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",P?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,x.fromNodeOutgoingHttpHeaders)(n.value.headers);B&&H||s.delete(v.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,h.getCacheControlHeader)(n.cacheControl)),await (0,c.sendResponse)(X,W,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(t){if(t instanceof R.NoFallbackError||await g.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,q),H)throw t;await (0,c.sendResponse)(X,W,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:s.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=K.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return 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")||O,i=`${F} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":i}),n.updateName(i),o&&o!==n&&(o.setAttribute("http.route",a),o.updateName(i))})()}};if($&&L)await J(L,void 0);else{let t=K.getActiveScopeSpan();await K.withPropagatedContext(e.headers,()=>K.trace(d.BaseServerSpan.handleRequest,{spanName:`${F} ${f}`,kind:s.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>J(e,t)),void 0,!$)}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:f,workUnitAsyncStorage:w})},"routeModule",0,g,"serverHooks",0,y,"workAsyncStorage",0,f,"workUnitAsyncStorage",0,w])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0635d15._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},918622,(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"))},120635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},324725,(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"))},556704,(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"))},832319,(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"))},559043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},400829,e=>{e.v(t=>Promise.all(["server/chunks/11mp_@anthropic-ai_sdk_1ck56ir._.js","server/chunks/node_modules__pnpm_01mvudn._.js"].map(t=>e.l(t))).then(()=>t(292987)))},106587,e=>e.a(async(t,r)=>{try{var a=e.i(192258),n=e.i(799501),s=t([n]);async function i(e){let t=e.nextUrl.searchParams.get("root")||(0,n.getConfiguredRoot)(),r=parseInt(e.nextUrl.searchParams.get("limit")||"50"),s=await (0,n.readActivity)(t,r);return a.NextResponse.json(s)}[n]=s.then?(await s)():s,e.s(["GET",0,i]),r()}catch(e){r(e)}},!1),376095,e=>{"use strict";var t=e.i(440807),r=e.i(381144),a=e.i(522639),n=e.i(165892),s=e.i(781831),i=e.i(740095),o=e.i(931106),l=e.i(253258),d=e.i(488026),u=e.i(571998),p=e.i(666314),c=e.i(598783),h=e.i(759703),x=e.i(163677),v=e.i(450859),R=e.i(193695);e.i(582432);var m=e.i(274687);let g=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/activity/route",pathname:"/api/activity",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/activity/route.ts",nextConfigOutput:"",userland:()=>e.r(106587),...{}}),{workAsyncStorage:f,workUnitAsyncStorage:w,serverHooks:y}=g;async function E(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),g.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/activity/route";f=f.replace(/\/index$/,"")||"/";let w=await g.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,deploymentId:E,params:C,nextConfig:A,parsedUrl:T,isDraftMode:_,prerenderManifest:b,routerServerContext:q,isOnDemandRevalidate:P,revalidateOnlyGenerated:S,resolvedPathname:k,clientReferenceManifest:N,serverActionsManifest:j}=w,O=(0,o.normalizeAppPath)(f),H=!!(b.dynamicRoutes[O]||b.routes[k]),I=async()=>((null==q?void 0:q.render404)?await q.render404(e,t,T,!1):t.end("This page could not be found"),null);if(H&&!_){let e=!!b.routes[k],t=b.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await I();throw new R.NoFallbackError}}let U=null;!H||g.isDev||_||(U="/index"===(U=k)?"/":U);let M=!0===g.isDev||!H,D=H&&!M;j&&N&&(0,i.setManifestsSingleton)({page:f,clientReferenceManifest:N,serverActionsManifest:j});let F=e.method||"GET",K=(0,s.getTracer)(),L=K.getActiveScopeSpan(),$=!!(null==q?void 0:q.isWrappedByNextServer),B=!!(0,n.getRequestMeta)(e,"minimalMode"),G=(0,n.getRequestMeta)(e,"incrementalCache")||await g.getIncrementalCache(e,A,b,B);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let V={params:C,previewProps:b.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts,useCacheTimeout:A.experimental.useCacheTimeout},cacheComponents:!!A.cacheComponents,validationLevel:A.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:G,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:A.cacheLife,staticPageGenerationTimeout:A.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>g.onRequestError(e,t,a,n,q)},sharedContext:{buildId:y,deploymentId:E}},X=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),z=d.NextRequestAdapter.fromNodeNextRequest(X,(0,d.signalFromNodeResponse)(t)),Z=async({previousCacheEntry:r})=>{try{if(!B&&P&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await g.handle(z,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let s=V.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let i=V.renderOpts.collectedTags;if(!H)return await (0,c.sendResponse)(X,W,n,s),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);i&&(t[v.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,a=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=v.INFINITE_CACHE?!1!==r&&r>0?A.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:m.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 g.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,q),t}},J=async(n,i)=>{try{var o,l;let n=await g.handleResponse({req:e,nextConfig:A,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:S,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:B});if(!H)return;if((null==n||null==(o=n.value)?void 0:o.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",P?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);B&&H||s.delete(v.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,x.getCacheControlHeader)(n.cacheControl)),await (0,c.sendResponse)(X,W,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(t){if(t instanceof R.NoFallbackError||await g.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,q),H)throw t;await (0,c.sendResponse)(X,W,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:s.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=K.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return 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")||O,o=`${F} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),n.updateName(o),i&&i!==n&&(i.setAttribute("http.route",a),i.updateName(o))})()}};if($&&L)await J(L,void 0);else{let t=K.getActiveScopeSpan();await K.withPropagatedContext(e.headers,()=>K.trace(u.BaseServerSpan.handleRequest,{spanName:`${F} ${f}`,kind:s.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>J(e,t)),void 0,!$)}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:f,workUnitAsyncStorage:w})},"routeModule",0,g,"serverHooks",0,y,"workAsyncStorage",0,f,"workUnitAsyncStorage",0,w])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0af0ma6._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[270406,(e,r,t)=>{r.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},918622,(e,r,t)=>{r.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"))},120635,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},324725,(e,r,t)=>{r.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"))},556704,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,r,t)=>{r.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"))},559043,(e,r,t)=>{r.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},193695,(e,r,t)=>{r.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},81111,(e,r,t)=>{r.exports=e.x("node:stream",()=>require("node:stream"))},814747,(e,r,t)=>{r.exports=e.x("path",()=>require("path"))},400829,e=>{e.v(r=>Promise.all(["server/chunks/11mp_@anthropic-ai_sdk_0fw_tls._.js","server/chunks/node_modules__pnpm_01mvudn._.js"].map(r=>e.l(r))).then(()=>r(292987)))},498768,e=>{"use strict";class r{listeners=new Set;subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}emit(e){this.listeners.forEach(r=>{try{r(e)}catch{}})}}let t=globalThis,s=t.vibedocBus??(t.vibedocBus=new r);e.s(["bus",0,s,"emitUpdate",0,function(e,r){s.emit({type:e,payload:r,ts:new Date().toISOString()})}])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0b49g9i._.js.map
@@ -1,10 +0,0 @@
1
- module.exports=[233405,(e,t,a)=>{t.exports=e.x("child_process",()=>require("child_process"))},1351,e=>e.a(async(t,a)=>{try{var r=e.i(233405),n=e.i(799501),o=t([n]);[n]=o.then?(await o)():o;let s=`You are the VibeDoc assistant, embedded in a docs/kanban web UI.
2
- You can only act through the vibedoc_* MCP tools. To edit a doc: read it with vibedoc_read_doc,
3
- then call vibedoc_propose_edit with only the spans that change (old_string → new_string), never the
4
- whole file. The user reviews a diff and accepts or rejects it, so never claim an edit is applied until they say so.
5
- For requests to plan a roadmap or break an epic into tasks, first call vibedoc_get_planning_guide and follow it.
6
- Paths are relative to the project root. Keep replies short and answer in the user's language.`;async function i(e){let t=e.nextUrl.searchParams.get("root")||(0,n.getConfiguredRoot)(),{message:a,sessionId:o,docPath:i}=await e.json();if("string"!=typeof a||!a.trim())return Response.json({error:"message is required"},{status:400});let l=i?`[Currently open doc: ${i}]
7
-
8
- ${a}`:a,d=`${e.nextUrl.origin}/api/mcp?root=${encodeURIComponent(t)}`,c=["-p",l,"--output-format","stream-json","--verbose","--include-partial-messages","--mcp-config",JSON.stringify({mcpServers:{vibedoc:{type:"http",url:d}}}),"--strict-mcp-config","--tools","","--allowedTools","mcp__vibedoc__*","--disallowedTools","mcp__vibedoc__vibedoc_write_doc","mcp__vibedoc__vibedoc_append_doc","mcp__vibedoc__vibedoc_delete_doc","mcp__vibedoc__vibedoc_create_roadmap_item","--setting-sources","","--disable-slash-commands","--append-system-prompt",s];"string"==typeof o&&o&&c.push("--resume",o);let u={...process.env};delete u.ANTHROPIC_API_KEY;let p=new TextEncoder,h=new ReadableStream({start(a){let n=(0,r.spawn)("claude",c,{cwd:t,env:u,stdio:["ignore","pipe","pipe"]}),o="",i=!1,s=e=>{i||a.enqueue(p.encode(e))},l=()=>{i||(i=!0,a.close())},d=e=>s(JSON.stringify({type:"error",message:e})+"\n");n.stdout.on("data",e=>s(e.toString("utf8"))),n.stderr.on("data",e=>{o+=e.toString("utf8")}),n.on("error",e=>{d("ENOENT"===e.code?"Claude Code CLI not found on PATH. Install it and run `claude` once to log in.":e.message),l()}),n.on("close",e=>{0!==e&&null!==e&&d(o.trim()||`claude exited with code ${e}`),l()}),e.signal.addEventListener("abort",()=>{n.kill("SIGTERM"),l()})}});return new Response(h,{headers:{"Content-Type":"application/x-ndjson","Cache-Control":"no-cache, no-transform"}})}e.s(["POST",0,i,"dynamic",0,"force-dynamic","runtime",0,"nodejs"]),a()}catch(e){a(e)}},!1),756173,e=>{"use strict";var t=e.i(440807),a=e.i(381144),r=e.i(522639),n=e.i(165892),o=e.i(781831),i=e.i(740095),s=e.i(931106),l=e.i(253258),d=e.i(488026),c=e.i(571998),u=e.i(666314),p=e.i(598783),h=e.i(759703),v=e.i(163677),m=e.i(450859),g=e.i(193695);e.i(582432);var R=e.i(274687);let _=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/chat/route",pathname:"/api/chat",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/chat/route.ts",nextConfigOutput:"",userland:()=>e.r(1351),...{}}),{workAsyncStorage:f,workUnitAsyncStorage:w,serverHooks:C}=_;async function E(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),_.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/chat/route";f=f.replace(/\/index$/,"")||"/";let w=await _.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:C,deploymentId:E,params:b,nextConfig:y,parsedUrl:x,isDraftMode:T,prerenderManifest:A,routerServerContext:S,isOnDemandRevalidate:P,revalidateOnlyGenerated:N,resolvedPathname:O,clientReferenceManifest:I,serverActionsManifest:q}=w,H=(0,s.normalizeAppPath)(f),U=!!(A.dynamicRoutes[H]||A.routes[O]),M=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,x,!1):t.end("This page could not be found"),null);if(U&&!T){let e=!!A.routes[O],t=A.dynamicRoutes[H];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await M();throw new g.NoFallbackError}}let k=null;!U||_.isDev||T||(k="/index"===(k=O)?"/":k);let j=!0===_.isDev||!U,D=U&&!j;q&&I&&(0,i.setManifestsSingleton)({page:f,clientReferenceManifest:I,serverActionsManifest:q});let $=e.method||"GET",K=(0,o.getTracer)(),F=K.getActiveScopeSpan(),L=!!(null==S?void 0:S.isWrappedByNextServer),B=!!(0,n.getRequestMeta)(e,"minimalMode"),G=(0,n.getRequestMeta)(e,"incrementalCache")||await _.getIncrementalCache(e,y,A,B);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let V={params:b,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,supportsDynamicResponse:j,incrementalCache:G,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>_.onRequestError(e,t,r,n,S)},sharedContext:{buildId:C,deploymentId:E}},X=new l.NodeNextRequest(e),Y=new l.NodeNextResponse(t),J=d.NextRequestAdapter.fromNodeNextRequest(X,(0,d.signalFromNodeResponse)(t)),W=async({previousCacheEntry:a})=>{try{if(!B&&P&&N&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await _.handle(J,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let o=V.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let i=V.renderOpts.collectedTags;if(!U)return await (0,p.sendResponse)(X,Y,n,o),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);i&&(t[m.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,r=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=m.INFINITE_CACHE?!1!==a&&a>0?y.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await _.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,S),t}},z=async(n,i)=>{try{var s,l;let n=await _.handleResponse({req:e,nextConfig:y,cacheKey:k,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:N,responseGenerator:W,waitUntil:r.waitUntil,isMinimalMode:B});if(!U)return;if((null==n||null==(s=n.value)?void 0:s.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",P?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let o=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);B&&U||o.delete(m.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||o.get("Cache-Control")||o.set("Cache-Control",(0,v.getCacheControlHeader)(n.cacheControl)),await (0,p.sendResponse)(X,Y,new Response(n.value.body,{headers:o,status:n.value.status||200}));return}catch(t){if(t instanceof g.NoFallbackError||await _.onRequestError(e,t,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,S),U)throw t;await (0,p.sendResponse)(X,Y,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:o.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let a=K.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==c.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route")||H,s=`${$} ${r}`;n.setAttributes({"next.route":r,"http.route":r,"next.span_name":s}),n.updateName(s),i&&i!==n&&(i.setAttribute("http.route",r),i.updateName(s))})()}};if(L&&F)await z(F,void 0);else{let t=K.getActiveScopeSpan();await K.withPropagatedContext(e.headers,()=>K.trace(c.BaseServerSpan.handleRequest,{spanName:`${$} ${f}`,kind:o.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},e=>z(e,t)),void 0,!L)}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:f,workUnitAsyncStorage:w})},"routeModule",0,_,"serverHooks",0,C,"workAsyncStorage",0,f,"workUnitAsyncStorage",0,w])}];
9
-
10
- //# sourceMappingURL=%5Broot-of-the-server%5D__0d4jkve._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},918622,(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"))},120635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},324725,(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"))},556704,(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"))},832319,(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"))},559043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},400829,e=>{e.v(t=>Promise.all(["server/chunks/11mp_@anthropic-ai_sdk_1p6s626._.js","server/chunks/node_modules__pnpm_01mvudn._.js"].map(t=>e.l(t))).then(()=>t(292987)))},177314,e=>e.a(async(t,r)=>{try{var a=e.i(192258),n=e.i(799501),s=t([n]);async function i(e){let t=e.nextUrl.searchParams.get("root")||(0,n.getConfiguredRoot)(),r=e.nextUrl.searchParams.get("path");if(!r)return a.NextResponse.json({error:"path required"},{status:400});let s=await (0,n.findBacklinks)(r,t);return a.NextResponse.json({links:s})}[n]=s.then?(await s)():s,e.s(["GET",0,i]),r()}catch(e){r(e)}},!1),364169,e=>{"use strict";var t=e.i(440807),r=e.i(381144),a=e.i(522639),n=e.i(165892),s=e.i(781831),i=e.i(740095),o=e.i(931106),l=e.i(253258),d=e.i(488026),u=e.i(571998),p=e.i(666314),c=e.i(598783),h=e.i(759703),x=e.i(163677),v=e.i(450859),R=e.i(193695);e.i(582432);var m=e.i(274687);let g=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/backlinks/route",pathname:"/api/backlinks",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/backlinks/route.ts",nextConfigOutput:"",userland:()=>e.r(177314),...{}}),{workAsyncStorage:f,workUnitAsyncStorage:w,serverHooks:E}=g;async function C(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),g.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/backlinks/route";f=f.replace(/\/index$/,"")||"/";let w=await g.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:E,deploymentId:C,params:y,nextConfig:b,parsedUrl:k,isDraftMode:A,prerenderManifest:T,routerServerContext:_,isOnDemandRevalidate:q,revalidateOnlyGenerated:P,resolvedPathname:N,clientReferenceManifest:S,serverActionsManifest:j}=w,O=(0,o.normalizeAppPath)(f),H=!!(T.dynamicRoutes[O]||T.routes[N]),I=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,k,!1):t.end("This page could not be found"),null);if(H&&!A){let e=!!T.routes[N],t=T.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await I();throw new R.NoFallbackError}}let U=null;!H||g.isDev||A||(U="/index"===(U=N)?"/":U);let M=!0===g.isDev||!H,D=H&&!M;j&&S&&(0,i.setManifestsSingleton)({page:f,clientReferenceManifest:S,serverActionsManifest:j});let F=e.method||"GET",K=(0,s.getTracer)(),B=K.getActiveScopeSpan(),L=!!(null==_?void 0:_.isWrappedByNextServer),$=!!(0,n.getRequestMeta)(e,"minimalMode"),G=(0,n.getRequestMeta)(e,"incrementalCache")||await g.getIncrementalCache(e,b,T,$);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let V={params:y,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts,useCacheTimeout:b.experimental.useCacheTimeout},cacheComponents:!!b.cacheComponents,validationLevel:b.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:G,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:b.cacheLife,staticPageGenerationTimeout:b.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>g.onRequestError(e,t,a,n,_)},sharedContext:{buildId:E,deploymentId:C}},X=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),z=d.NextRequestAdapter.fromNodeNextRequest(X,(0,d.signalFromNodeResponse)(t)),Z=async({previousCacheEntry:r})=>{try{if(!$&&q&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await g.handle(z,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let s=V.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let i=V.renderOpts.collectedTags;if(!H)return await (0,c.sendResponse)(X,W,n,s),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);i&&(t[v.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,a=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=v.INFINITE_CACHE?!1!==r&&r>0?b.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:m.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 g.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:q})},!1,_),t}},J=async(n,i)=>{try{var o,l;let n=await g.handleResponse({req:e,nextConfig:b,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:P,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:$});if(!H)return;if((null==n||null==(o=n.value)?void 0:o.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});$||t.setHeader("x-nextjs-cache",q?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);$&&H||s.delete(v.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,x.getCacheControlHeader)(n.cacheControl)),await (0,c.sendResponse)(X,W,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(t){if(t instanceof R.NoFallbackError||await g.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:q})},!1,_),H)throw t;await (0,c.sendResponse)(X,W,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:s.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=K.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return 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")||O,o=`${F} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),n.updateName(o),i&&i!==n&&(i.setAttribute("http.route",a),i.updateName(o))})()}};if(L&&B)await J(B,void 0);else{let t=K.getActiveScopeSpan();await K.withPropagatedContext(e.headers,()=>K.trace(u.BaseServerSpan.handleRequest,{spanName:`${F} ${f}`,kind:s.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>J(e,t)),void 0,!L)}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:f,workUnitAsyncStorage:w})},"routeModule",0,g,"serverHooks",0,E,"workAsyncStorage",0,f,"workUnitAsyncStorage",0,w])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0j-xjbf._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},918622,(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"))},120635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},324725,(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"))},556704,(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"))},832319,(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"))},559043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},400829,e=>{e.v(t=>Promise.all(["server/chunks/11mp_@anthropic-ai_sdk_1s7maye._.js","server/chunks/node_modules__pnpm_01mvudn._.js"].map(t=>e.l(t))).then(()=>t(292987)))},772375,e=>e.a(async(t,r)=>{try{var a=e.i(192258),s=e.i(799501),n=e.i(498768),i=t([s]);async function o(e){try{let t=e.nextUrl.searchParams.get("root")||(0,s.getConfiguredRoot)(),r=await (0,s.readRegistry)(t);return a.NextResponse.json(r)}catch(e){return a.NextResponse.json({error:e.message},{status:500})}}async function l(e){try{let t=e.nextUrl.searchParams.get("root")||(0,s.getConfiguredRoot)(),r=await (0,s.rebuildRegistry)(t,"human");return(0,n.emitUpdate)("registry_rebuilt",{path:r.path,totalFiles:r.totalFiles}),a.NextResponse.json(r)}catch(e){return a.NextResponse.json({error:e.message},{status:500})}}[s]=i.then?(await i)():i,e.s(["GET",0,o,"POST",0,l]),r()}catch(e){r(e)}},!1),16453,e=>{"use strict";var t=e.i(440807),r=e.i(381144),a=e.i(522639),s=e.i(165892),n=e.i(781831),i=e.i(740095),o=e.i(931106),l=e.i(253258),u=e.i(488026),d=e.i(571998),p=e.i(666314),c=e.i(598783),h=e.i(759703),x=e.i(163677),v=e.i(450859),R=e.i(193695);e.i(582432);var g=e.i(274687);let m=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/registry/route",pathname:"/api/registry",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/registry/route.ts",nextConfigOutput:"",userland:()=>e.r(772375),...{}}),{workAsyncStorage:f,workUnitAsyncStorage:y,serverHooks:w}=m;async function E(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),m.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/registry/route";f=f.replace(/\/index$/,"")||"/";let y=await m.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,deploymentId:E,params:C,nextConfig:b,parsedUrl:T,isDraftMode:A,prerenderManifest:_,routerServerContext:P,isOnDemandRevalidate:S,revalidateOnlyGenerated:q,resolvedPathname:N,clientReferenceManifest:j,serverActionsManifest:k}=y,O=(0,o.normalizeAppPath)(f),H=!!(_.dynamicRoutes[O]||_.routes[N]),U=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,T,!1):t.end("This page could not be found"),null);if(H&&!A){let e=!!_.routes[N],t=_.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await U();throw new R.NoFallbackError}}let I=null;!H||m.isDev||A||(I="/index"===(I=N)?"/":I);let M=!0===m.isDev||!H,D=H&&!M;k&&j&&(0,i.setManifestsSingleton)({page:f,clientReferenceManifest:j,serverActionsManifest:k});let F=e.method||"GET",B=(0,n.getTracer)(),K=B.getActiveScopeSpan(),L=!!(null==P?void 0:P.isWrappedByNextServer),$=!!(0,s.getRequestMeta)(e,"minimalMode"),G=(0,s.getRequestMeta)(e,"incrementalCache")||await m.getIncrementalCache(e,b,_,$);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let V={params:C,previewProps:_.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts,useCacheTimeout:b.experimental.useCacheTimeout},cacheComponents:!!b.cacheComponents,validationLevel:b.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:G,hmrRefreshHash:(0,s.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:b.cacheLife,staticPageGenerationTimeout:b.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>m.onRequestError(e,t,a,s,P)},sharedContext:{buildId:w,deploymentId:E}},X=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(X,(0,u.signalFromNodeResponse)(t)),Z=async({previousCacheEntry:r})=>{try{if(!$&&S&&q&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await m.handle(z,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let n=V.renderOpts.pendingWaitUntil;n&&a.waitUntil&&(a.waitUntil(n),n=void 0);let i=V.renderOpts.collectedTags;if(!H)return await (0,c.sendResponse)(X,W,s,n),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);i&&(t[v.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,a=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=v.INFINITE_CACHE?!1!==r&&r>0?b.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await m.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:S})},!1,P),t}},J=async(s,i)=>{try{var o,l;let s=await m.handleResponse({req:e,nextConfig:b,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:S,revalidateOnlyGenerated:q,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:$});if(!H)return;if((null==s||null==(o=s.value)?void 0:o.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==s||null==(l=s.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});$||t.setHeader("x-nextjs-cache",S?"REVALIDATED":s.isMiss?"MISS":s.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let n=(0,h.fromNodeOutgoingHttpHeaders)(s.value.headers);$&&H||n.delete(v.NEXT_CACHE_TAGS_HEADER),!s.cacheControl||t.getHeader("Cache-Control")||n.get("Cache-Control")||n.set("Cache-Control",(0,x.getCacheControlHeader)(s.cacheControl)),await (0,c.sendResponse)(X,W,new Response(s.value.body,{headers:n,status:s.value.status||200}));return}catch(t){if(t instanceof R.NoFallbackError||await m.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:S})},!1,P),H)throw t;await (0,c.sendResponse)(X,W,new Response(null,{status:500}));return}finally{(()=>{if(!s)return;let e=t.statusCode;s.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(s.setStatus({code:n.SpanStatusCode.ERROR}),s.setAttribute("error.type",e.toString()));let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return 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")||O,o=`${F} ${a}`;s.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),s.updateName(o),i&&i!==s&&(i.setAttribute("http.route",a),i.updateName(o))})()}};if(L&&K)await J(K,void 0);else{let t=B.getActiveScopeSpan();await B.withPropagatedContext(e.headers,()=>B.trace(d.BaseServerSpan.handleRequest,{spanName:`${F} ${f}`,kind:n.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>J(e,t)),void 0,!L)}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:f,workUnitAsyncStorage:y})},"routeModule",0,m,"serverHooks",0,w,"workAsyncStorage",0,f,"workUnitAsyncStorage",0,y])},498768,e=>{"use strict";class t{listeners=new Set;subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}emit(e){this.listeners.forEach(t=>{try{t(e)}catch{}})}}let r=globalThis,a=r.vibedocBus??(r.vibedocBus=new t);e.s(["bus",0,a,"emitUpdate",0,function(e,t){a.emit({type:e,payload:t,ts:new Date().toISOString()})}])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0kaegk7._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},918622,(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"))},120635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},324725,(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"))},556704,(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"))},832319,(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"))},559043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},400829,e=>{e.v(t=>Promise.all(["server/chunks/11mp_@anthropic-ai_sdk_18c2w1i._.js","server/chunks/node_modules__pnpm_01mvudn._.js"].map(t=>e.l(t))).then(()=>t(292987)))},229890,e=>e.a(async(t,r)=>{try{var a=e.i(192258),n=e.i(799501),s=e.i(498768),i=t([n]);async function o(e){let t=e.nextUrl.searchParams.get("root")||(0,n.getConfiguredRoot)(),{actor:r,...i}=await e.json(),o=await (0,n.logDecision)(i,t,r||"human");return(0,s.emitUpdate)("decision_logged",o),a.NextResponse.json(o)}[n]=i.then?(await i)():i,e.s(["POST",0,o]),r()}catch(e){r(e)}},!1),886956,e=>{"use strict";var t=e.i(440807),r=e.i(381144),a=e.i(522639),n=e.i(165892),s=e.i(781831),i=e.i(740095),o=e.i(931106),l=e.i(253258),d=e.i(488026),u=e.i(571998),p=e.i(666314),c=e.i(598783),h=e.i(759703),x=e.i(163677),v=e.i(450859),m=e.i(193695);e.i(582432);var R=e.i(274687);let g=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/decisions/route",pathname:"/api/decisions",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/decisions/route.ts",nextConfigOutput:"",userland:()=>e.r(229890),...{}}),{workAsyncStorage:f,workUnitAsyncStorage:w,serverHooks:E}=g;async function y(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),g.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/decisions/route";f=f.replace(/\/index$/,"")||"/";let w=await g.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:E,deploymentId:y,params:C,nextConfig:b,parsedUrl:A,isDraftMode:T,prerenderManifest:_,routerServerContext:S,isOnDemandRevalidate:q,revalidateOnlyGenerated:P,resolvedPathname:j,clientReferenceManifest:N,serverActionsManifest:k}=w,O=(0,o.normalizeAppPath)(f),H=!!(_.dynamicRoutes[O]||_.routes[j]),I=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,A,!1):t.end("This page could not be found"),null);if(H&&!T){let e=!!_.routes[j],t=_.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await I();throw new m.NoFallbackError}}let U=null;!H||g.isDev||T||(U="/index"===(U=j)?"/":U);let M=!0===g.isDev||!H,D=H&&!M;k&&N&&(0,i.setManifestsSingleton)({page:f,clientReferenceManifest:N,serverActionsManifest:k});let B=e.method||"GET",F=(0,s.getTracer)(),K=F.getActiveScopeSpan(),L=!!(null==S?void 0:S.isWrappedByNextServer),$=!!(0,n.getRequestMeta)(e,"minimalMode"),G=(0,n.getRequestMeta)(e,"incrementalCache")||await g.getIncrementalCache(e,b,_,$);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let V={params:C,previewProps:_.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts,useCacheTimeout:b.experimental.useCacheTimeout},cacheComponents:!!b.cacheComponents,validationLevel:b.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:G,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:b.cacheLife,staticPageGenerationTimeout:b.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>g.onRequestError(e,t,a,n,S)},sharedContext:{buildId:E,deploymentId:y}},X=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),z=d.NextRequestAdapter.fromNodeNextRequest(X,(0,d.signalFromNodeResponse)(t)),Z=async({previousCacheEntry:r})=>{try{if(!$&&q&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await g.handle(z,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let s=V.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let i=V.renderOpts.collectedTags;if(!H)return await (0,c.sendResponse)(X,W,n,s),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);i&&(t[v.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,a=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=v.INFINITE_CACHE?!1!==r&&r>0?b.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:R.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 g.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:q})},!1,S),t}},J=async(n,i)=>{try{var o,l;let n=await g.handleResponse({req:e,nextConfig:b,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:P,responseGenerator:Z,waitUntil:a.waitUntil,isMinimalMode:$});if(!H)return;if((null==n||null==(o=n.value)?void 0:o.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});$||t.setHeader("x-nextjs-cache",q?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);$&&H||s.delete(v.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,x.getCacheControlHeader)(n.cacheControl)),await (0,c.sendResponse)(X,W,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(t){if(t instanceof m.NoFallbackError||await g.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:q})},!1,S),H)throw t;await (0,c.sendResponse)(X,W,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:s.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return 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")||O,o=`${B} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),n.updateName(o),i&&i!==n&&(i.setAttribute("http.route",a),i.updateName(o))})()}};if(L&&K)await J(K,void 0);else{let t=F.getActiveScopeSpan();await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${B} ${f}`,kind:s.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},e=>J(e,t)),void 0,!L)}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:f,workUnitAsyncStorage:w})},"routeModule",0,g,"serverHooks",0,E,"workAsyncStorage",0,f,"workUnitAsyncStorage",0,w])},498768,e=>{"use strict";class t{listeners=new Set;subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}emit(e){this.listeners.forEach(t=>{try{t(e)}catch{}})}}let r=globalThis,a=r.vibedocBus??(r.vibedocBus=new t);e.s(["bus",0,a,"emitUpdate",0,function(e,t){a.emit({type:e,payload:t,ts:new Date().toISOString()})}])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0kkefbq._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[874533,(e,o,r)=>{o.exports=e.x("node:child_process",()=>require("node:child_process"))},666680,(e,o,r)=>{o.exports=e.x("node:crypto",()=>require("node:crypto"))},902157,(e,o,r)=>{o.exports=e.x("node:fs",()=>require("node:fs"))},660526,(e,o,r)=>{o.exports=e.x("node:os",()=>require("node:os"))},750227,(e,o,r)=>{o.exports=e.x("node:path",()=>require("node:path"))},812057,(e,o,r)=>{o.exports=e.x("node:util",()=>require("node:util"))},29731,e=>{"use strict";e.i(874533),e.i(666680);var o=e.i(902157);e.i(660526);var r=e.i(750227);e.i(81111),e.i(812057),e.s([],889887),e.i(889887),e.s(["fs",0,o,"path",0,r],29731)}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0l3voov._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[270406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},918622,(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"))},120635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},324725,(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"))},556704,(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"))},832319,(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"))},559043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},915069,e=>e.a(async(t,r)=>{try{var a=e.i(192258),n=e.i(799501),s=t([n]);async function o(e){let t;try{t=await e.json()}catch{throw new n.RoadmapError("Invalid JSON body")}if(!t||"object"!=typeof t||Array.isArray(t))throw new n.RoadmapError("Body must be a JSON object");return t}[n]=s.then?(await s)():s,e.s(["errorResponse",0,function(e){let t=e instanceof n.RoadmapError?e.status:500;return a.NextResponse.json({error:e instanceof Error?e.message:String(e)},{status:t})},"jsonBody",0,o,"rootOf",0,function(e){return e.nextUrl.searchParams.get("root")||(0,n.getConfiguredRoot)()}]),r()}catch(e){r(e)}},!1),47e3,e=>e.a(async(t,r)=>{try{var a=e.i(192258),n=e.i(799501),s=e.i(498768),o=e.i(915069),i=t([n,o]);async function l(e){try{let t=await (0,o.jsonBody)(e),r=await (0,n.createRoadmapItem)(t,(0,o.rootOf)(e));return(0,s.emitUpdate)("roadmap_updated",{kind:"create",id:r.id}),a.NextResponse.json({item:r},{status:201})}catch(e){return(0,o.errorResponse)(e)}}[n,o]=i.then?(await i)():i,e.s(["POST",0,l]),r()}catch(e){r(e)}},!1),406155,e=>{"use strict";var t=e.i(440807),r=e.i(381144),a=e.i(522639),n=e.i(165892),s=e.i(781831),o=e.i(740095),i=e.i(931106),l=e.i(253258),d=e.i(488026),u=e.i(571998),p=e.i(666314),c=e.i(598783),h=e.i(759703),x=e.i(163677),R=e.i(450859),m=e.i(193695);e.i(582432);var v=e.i(274687);let g=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/roadmap/create/route",pathname:"/api/roadmap/create",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/roadmap/create/route.ts",nextConfigOutput:"",userland:()=>e.r(47e3),...{}}),{workAsyncStorage:f,workUnitAsyncStorage:w,serverHooks:y}=g;async function E(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),g.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/roadmap/create/route";f=f.replace(/\/index$/,"")||"/";let w=await g.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,deploymentId:E,params:C,nextConfig:b,parsedUrl:A,isDraftMode:S,prerenderManifest:T,routerServerContext:q,isOnDemandRevalidate:j,revalidateOnlyGenerated:N,resolvedPathname:P,clientReferenceManifest:O,serverActionsManifest:_}=w,k=(0,i.normalizeAppPath)(f),I=!!(T.dynamicRoutes[k]||T.routes[P]),H=async()=>((null==q?void 0:q.render404)?await q.render404(e,t,A,!1):t.end("This page could not be found"),null);if(I&&!S){let e=!!T.routes[P],t=T.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await H();throw new m.NoFallbackError}}let U=null;!I||g.isDev||S||(U="/index"===(U=P)?"/":U);let M=!0===g.isDev||!I,D=I&&!M;_&&O&&(0,o.setManifestsSingleton)({page:f,clientReferenceManifest:O,serverActionsManifest:_});let B=e.method||"GET",F=(0,s.getTracer)(),K=F.getActiveScopeSpan(),L=!!(null==q?void 0:q.isWrappedByNextServer),$=!!(0,n.getRequestMeta)(e,"minimalMode"),G=(0,n.getRequestMeta)(e,"incrementalCache")||await g.getIncrementalCache(e,b,T,$);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let V={params:C,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts,useCacheTimeout:b.experimental.useCacheTimeout},cacheComponents:!!b.cacheComponents,validationLevel:b.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:G,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:b.cacheLife,staticPageGenerationTimeout:b.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>g.onRequestError(e,t,a,n,q)},sharedContext:{buildId:y,deploymentId:E}},X=new l.NodeNextRequest(e),J=new l.NodeNextResponse(t),W=d.NextRequestAdapter.fromNodeNextRequest(X,(0,d.signalFromNodeResponse)(t)),z=async({previousCacheEntry:r})=>{try{if(!$&&j&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await g.handle(W,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let s=V.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let o=V.renderOpts.collectedTags;if(!I)return await (0,c.sendResponse)(X,J,n,s),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);o&&(t[R.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,a=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=R.INFINITE_CACHE?!1!==r&&r>0?b.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:v.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 g.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:j})},!1,q),t}},Z=async(n,o)=>{try{var i,l;let n=await g.handleResponse({req:e,nextConfig:b,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:N,responseGenerator:z,waitUntil:a.waitUntil,isMinimalMode:$});if(!I)return;if((null==n||null==(i=n.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});$||t.setHeader("x-nextjs-cache",j?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);$&&I||s.delete(R.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,x.getCacheControlHeader)(n.cacheControl)),await (0,c.sendResponse)(X,J,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(t){if(t instanceof m.NoFallbackError||await g.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:j})},!1,q),I)throw t;await (0,c.sendResponse)(X,J,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:s.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return 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")||k,i=`${B} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":i}),n.updateName(i),o&&o!==n&&(o.setAttribute("http.route",a),o.updateName(i))})()}};if(L&&K)await Z(K,void 0);else{let t=F.getActiveScopeSpan();await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${B} ${f}`,kind:s.SpanKind.SERVER,attributes:{"http.method":B,"http.target":e.url}},e=>Z(e,t)),void 0,!L)}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:f,workUnitAsyncStorage:w})},"routeModule",0,g,"serverHooks",0,y,"workAsyncStorage",0,f,"workUnitAsyncStorage",0,w])},498768,e=>{"use strict";class t{listeners=new Set;subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}emit(e){this.listeners.forEach(t=>{try{t(e)}catch{}})}}let r=globalThis,a=r.vibedocBus??(r.vibedocBus=new t);e.s(["bus",0,a,"emitUpdate",0,function(e,t){a.emit({type:e,payload:t,ts:new Date().toISOString()})}])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0qsx33x._.js.map
@@ -1,86 +0,0 @@
1
- module.exports=[924868,(e,t,a)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},963521,e=>e.a(async(t,a)=>{try{var i=await e.y("glob-4acf5de5cc0de77a");e.n(i),a()}catch(e){a(e)}},!0),471448,e=>{"use strict";e.s(["applyEdits",0,function(e,t){let a=e;for(let[e,i]of t.entries()){if("string"!=typeof i?.old_string||"string"!=typeof i?.new_string)return{error:`Edit ${e+1}: old_string and new_string must be strings`};if(""===i.old_string){if(""!==a)return{error:`Edit ${e+1}: empty old_string is only allowed for a new, empty doc`};a=i.new_string;continue}let t=a.indexOf(i.old_string);if(-1===t)return{error:`Edit ${e+1}: old_string not found in the doc`};if(-1!==a.indexOf(i.old_string,t+1))return{error:`Edit ${e+1}: old_string matches more than once; include more surrounding text`};a=a.slice(0,t)+i.new_string+a.slice(t+i.old_string.length)}return{content:a}}])},388985,e=>{"use strict";let t=/\b(shipped|done|released|complete[d]?)\b/i;function a(e){return e.replace(/\[([^\]]+)\]\([^)]*\)/g,"$1").replace(/[*_`]/g,"").replace(/\s+/g," ").trim()}function i(e){return e.length>80?`${e.slice(0,79).trimEnd()}…`:e}function n(e){return e.length&&e.every(e=>"done"===e)?"done":e.some(e=>"planned"!==e)?"in-progress":"planned"}let r=e=>{let t=parseFloat(e);return Number.isFinite(t)?t:1/0};e.s(["roadmapFromMarkdown",0,function(e){let r=[],s=null,o=[],l=null,d=0,u=()=>{if(s&&d>0){s.body=o.join(" ").trim();let e=r.filter(e=>e.parent===s?.key).map(e=>e.status);"done"!==s.status&&(s.status=n(e))}else s&&r.splice(r.indexOf(s),1);s=null,l=null,o=[],d=0};for(let n of e.split("\n")){let e=n.match(/^##\s+(.+?)\s*#*\s*$/);if(e){u();let n=i(a(e[1]));s={key:`h${r.length}`,title:n,parent:null,status:t.test(n)?"done":"planned",tasks:[],body:""},r.push(s);continue}if(!s)continue;if(/^#/.test(n)){u();continue}let c=n.match(/^[-*]\s+(?:\[([ xX])\]\s+)?(.*)$/);if(c){let e=c[2],t=e.match(/^\*\*(.+?)\*\*\s*(?:[—–:-]\s*)?(.*)$/),n=i(a(t?t[1]:e));if(!n)continue;let o=c[1]?"x"===c[1].toLowerCase()?"done":"planned":"done"===s.status?"done":"planned";l={key:`f${r.length}`,title:n,parent:s.key,status:o,tasks:[],body:t?t[2].trim():""},r.push(l),d++;continue}let f=n.match(/^\s+(\S.*)$/);l&&f?l.body=[l.body,f[1].replace(/^[-*]\s+/,"- ")].filter(Boolean).join("\n"):!l&&n.trim()&&!/^-{3,}$/.test(n.trim())&&o.push(n.trim())}return u(),r},"roadmapFromTasks",0,function(e){let t=new Map;for(let i of e){if("cancelled"===i.status)continue;let e=a(i.phase||"").replace(/^—$/,"")||"Unphased";t.set(e,[...t.get(e)??[],i])}let s=[...t.keys()].sort((e,t)=>r(e)-r(t)||e.localeCompare(t)),o=[];for(let e of s){let a=`h${o.length}`,r=(t.get(e)??[]).map(e=>({key:`f${e.id}`,title:i(e.title),parent:a,status:"done"===e.status?"done":"in-progress"===e.status?"in-progress":"planned",tasks:[e.id],body:""}));o.push({key:a,title:i(e),parent:null,status:n(r.map(e=>e.status)),tasks:[],body:""},...r)}return o},"starterRoadmap",0,function(){let e=(e,t,a,i)=>({key:e,title:t,parent:null,status:a,tasks:[],body:i});return[e("shipped","Shipped","done","What is already live."),e("now","Now","planned","What we are building right now."),e("next","Next","planned","Planned once the current work ships."),e("later","Later","planned","Ideas — not committed.")]}])},731946,e=>{"use strict";let t=e=>"done"===e||"cancelled"===e;e.s(["pickNextTask",0,function(e,a){let i=new Map(a.map(e=>[e.id,e])),n=e.tasks.map(e=>i.get(e)).filter(e=>!!e),r=e=>[...new Set((e.dependsOn.match(/\bT\d+\b/gi)??[]).map(e=>e.toUpperCase()))].filter(e=>{let a=i.get(e);return!a||!t(a.status)});for(let e of n)if("todo"===e.status&&!r(e).length)return{kind:"ready",taskId:e.id};if(n.every(e=>t(e.status)))return{kind:"finished"};let s=new Set(e.tasks),o=new Map,l=e=>{if(o.has(e))return o.get(e)??!1;o.set(e,!1);let t=i.get(e),a=!!t&&"blocked"!==t.status&&("todo"!==t.status||s.has(e)&&r(t).every(l));return o.set(e,a),a},d=[];for(let t of e.tasks){let e=i.get(t);if(e){if("in-progress"===e.status)d.push({taskId:t,reason:`${t} is in progress (claimed)`});else if("blocked"===e.status)d.push({taskId:t,reason:`${t} is blocked`});else if("todo"===e.status){let a=r(e).map(e=>`${e} (${i.get(e)?.status??"missing"})`);d.push({taskId:t,reason:`${t} waits on ${a.join(", ")}`})}}else d.push({taskId:t,reason:`${t} has no task file`})}return{kind:"waiting",waiting:d,needsHuman:d.every(e=>!l(e.taskId))}}])},799501,e=>e.a(async(t,a)=>{try{var i=e.i(924868),n=e.i(814747),r=e.i(963521),s=e.i(471448),o=e.i(388985),l=e.i(731946),d=e.i(975283),u=e.i(31451),c=t([r]);[r]=c.then?(await c)():c;let ej={todo:"📋","in-progress":"🔨",blocked:"🚫",done:"✅",cancelled:"❌"},ex={ready:"todo",planned:"todo","not started":"todo",wip:"in-progress",doing:"in-progress",active:"in-progress",start:"in-progress",started:"in-progress",complete:"done",completed:"done",finished:"done",finish:"done",block:"blocked",cancel:"cancelled",skip:"cancelled"};function f(){return process.env.VIBEDOC_ROOT||process.cwd()}async function p(e){let t=e||n.default.dirname(f()),a=[];try{for(let e of(await i.default.readdir(t,{withFileTypes:!0}))){if(!e.isDirectory())continue;let r=n.default.join(t,e.name),s=!1;for(let e of["CLAUDE.md","AGENTS.md","docs/architecture",".vibedoc"])try{await i.default.access(n.default.join(r,e)),s=!0;break}catch{}s&&a.push({id:e.name,name:e.name,root:r,hasVibedoc:!0})}}catch{}let r=f(),s=n.default.basename(r),o=a.findIndex(e=>e.root===r);if(o>0){let[e]=a.splice(o,1);a.unshift(e)}else -1===o&&a.unshift({id:s,name:s,root:r,hasVibedoc:!0});return a}async function m(e){return(await (0,r.glob)("**/*.md",{cwd:e,ignore:["node_modules/**",".git/**",".next/**"],nodir:!0})).sort().map(e=>{var t;return{path:e,section:(t=e).includes("/")?t.startsWith("memory/")?"memory":t.startsWith("plans/")?"plans":t.includes("01-overview")?"overview":t.includes("02-high-level")||t.includes("high-level-design")?"high-level-design":t.includes("03-services")||t.includes("/services/")?"services":t.includes("04-data")||t.includes("/data/")?"data":t.includes("05-infra")||t.includes("/infrastructure/")?"infrastructure":t.includes("06-security")||t.includes("/security/")?"security":t.includes("07-observ")||t.includes("/observability/")?"observability":t.includes("08-resil")||t.includes("/resilience/")?"resilience":t.includes("decisions/")||t.includes("ADR")?"decisions":"other":"root",name:n.default.basename(e,".md")}})}async function h(e,t){for(let a of[n.default.join(t,e),n.default.join(t,`${e}.md`),n.default.join(t,"docs",e),n.default.join(t,"docs",`${e}.md`),n.default.join(t,"docs","architecture",e),n.default.join(t,"docs","architecture",`${e}.md`),n.default.join(t,"memory",e),n.default.join(t,"memory",`${e}.md`),n.default.join(t,"plans",e),n.default.join(t,"plans",`${e}.md`)])try{let e=await i.default.readFile(a,"utf8");return{path:n.default.relative(t,a),content:e}}catch{}for(let a of[`**/${e}.md`,`**/${e}*.md`,`**/*${e}*.md`]){let e=await (0,r.glob)(a,{cwd:t,ignore:["node_modules/**",".git/**",".next/**"],nodir:!0,nocase:!0});if(e.length>0){let a=await i.default.readFile(n.default.join(t,e[0]),"utf8");return{path:e[0],content:a}}}throw Error(`Doc not found: "${e}"`)}async function w(e,t,a){let r=n.default.resolve(a),s=n.default.resolve(a,e);if(!s.startsWith(r+n.default.sep)&&s!==r)throw Error("Path outside root");await i.default.mkdir(n.default.dirname(s),{recursive:!0}),await i.default.writeFile(s,t,"utf8")}async function y(e,t,a,r=!1){let o=n.default.resolve(a),l=n.default.resolve(a,e);if(!l.startsWith(o+n.default.sep))throw Error("Path outside root");let d=await i.default.readFile(l,"utf8").catch(e=>{if("ENOENT"===e.code)return"";throw e}),u=(0,s.applyEdits)(d,t);if("error"in u)throw Error(u.error);return r||(await i.default.mkdir(n.default.dirname(l),{recursive:!0}),await i.default.writeFile(l,u.content,"utf8")),{before:d,content:u.content}}async function g(e,t){let a=[];for(let i of e)try{let{content:e}=await h(i,t);a.push(`--- FILE: ${i} ---
2
-
3
- ${e.trim()}`)}catch{}return a.join("\n\n---\n\n")}async function $(e,t,a){let r=n.default.resolve(a),s=n.default.resolve(a,e);if(!s.startsWith(r+n.default.sep)&&s!==r)throw Error("Path outside root");try{await i.default.access(s);let t=Error(`File already exists: ${e}`);throw t.code="EEXIST",t}catch(e){if("ENOENT"!==e.code)throw e}await i.default.mkdir(n.default.dirname(s),{recursive:!0}),await i.default.writeFile(s,t,"utf8"),await P(a,{type:"doc_created",actor:"human",title:`Created: ${e}`,detail:e});try{let{exists:e}=await q(a);e&&await G(a)}catch{}}async function k(e,t){let a=await (0,r.glob)("**/*.md",{cwd:t,ignore:["node_modules/**",".git/**",".next/**"],nodir:!0}),s=e.toLowerCase(),o=[];for(let e of a)try{let a=(await i.default.readFile(n.default.join(t,e),"utf8")).split("\n").map((e,t)=>({line:t+1,text:e.trim().slice(0,120)})).filter(e=>e.text.toLowerCase().includes(s));a.length>0&&o.push({file:e,hits:a.slice(0,4),totalHits:a.length})}catch{}return o.sort((e,t)=>t.totalHits-e.totalHits).slice(0,20)}function b(e,t){let a,i=t.split("\n"),r=n.default.basename(e,".md"),s=(i.find(e=>e.startsWith("# "))||"").replace(/^#+\s*/,"").replace(/^T\d+\s*[:—–-]\s*/i,"").trim()||r,o={};for(let e of i.slice(0,en(i))){let t=e.match(/\*\*([^*]+):\*\*\s*(.+)/);t&&(o[t[1].toLowerCase().trim()]=t[2].trim())}let l=ex[a=(o.status||"todo").replace(/[📋🔨✅🚫❌]/g,"").trim().toLowerCase().trim().replace(/[📋🔨✅🚫❌\s]+$/,"").trim()]||a,d=r.match(/^(T\d+)/i);return{id:d?d[1].toUpperCase():r.toUpperCase(),title:s,status:l,size:o.size||"",phase:o.phase||"",dependsOn:o["depends on"]||"",due:et(o.due||""),file:e,raw:t}}async function v(e){let t=await (0,r.glob)("plans/tasks/T*.md",{cwd:e,nodir:!0});0===t.length&&(t=await (0,r.glob)("plans/T*.md",{cwd:e,nodir:!0}));let a=[];for(let r of t.sort())try{let t=await i.default.readFile(n.default.join(e,r),"utf8");a.push(b(r,t))}catch{}let s={todo:[],"in-progress":[],blocked:[],done:[],cancelled:[]};for(let e of a){let t=s[e.status]?e.status:"todo";s[t].push(e)}return{tasks:a,board:s}}async function S(e,t){let a=e.toUpperCase().startsWith("T")?e.toUpperCase():`T${e}`;for(let e of[`plans/tasks/${a}*.md`,`plans/${a}*.md`]){let a=await (0,r.glob)(e,{cwd:t,nodir:!0});if(a.length>0){let e=await i.default.readFile(n.default.join(t,a[0]),"utf8");return b(a[0],e)}}throw Error(`Task not found: ${e}`)}async function j(e,t,a,r="human"){let s=await S(e,a),o=s.status,l=ej[t],d=s.raw,u=/(\*\*Status:\*\*\s*).+/;return d=u.test(d)?d.replace(u,`$1${l} ${D(t)}`):d.replace(/^(#[^\n]+\n)/,`$1**Status:** ${l} ${D(t)}
4
- `),await i.default.writeFile(n.default.join(a,s.file),d,"utf8"),await P(a,{type:"task_updated",actor:r,title:`${s.id} moved to ${t}`,detail:s.title,taskId:s.id,taskStatus:t}),{task:{...s,status:t,raw:d},previousStatus:o}}let eO=Promise.resolve();function x(e){let t=eO.then(e,e);return eO=t.catch(()=>{}),t}async function O(e,t){let{tasks:a}=await v(t),r=e.title.replace(/\s+/g," ").trim(),s=a.map(e=>parseInt(e.id.replace(/^T/i,""),10)).filter(e=>!isNaN(e)),o=s.length>0?Math.max(...s)+1:1,l=`T${String(o).padStart(3,"0")}`,d=r.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,40)||"task",u=`${l}-${d}.md`,c=n.default.join(t,"plans","tasks");await i.default.mkdir(c,{recursive:!0});let f=n.default.join(c,u),p=e.due?et(e.due):null;if(e.due&&!p)throw new eT(`due must be a date YYYY-MM-DD (got ${JSON.stringify(e.due)})`);let m=`# ${l}: ${r}
5
- **Status:** 📋 Ready
6
- **Phase:** ${e.phase||"—"}
7
- **Size:** ${e.size||"—"}
8
- **Depends on:** ${e.dependsOn||"—"}
9
- ${p?`**Due:** ${p}
10
- `:""}`,h=void 0!==e.body?`${m}
11
- ${e.body.trim()}
12
- `:`${m}
13
- ## What to build
14
- ${e.description||"—"}
15
-
16
- ## Scope
17
- - [ ]
18
-
19
- ## Acceptance criteria
20
- - [ ]
21
-
22
- ## Definition of done
23
- —
24
- `;return await i.default.writeFile(f,h,{flag:"wx",encoding:"utf8"}),S(l,t)}function A(e,t,a,i){let n=(0,d.validatePlan)(e,{roadmap:a,taskIds:i});if(n.length>0)throw new eT(n.join("\n"));if(!Array.isArray(t))throw new eT("selected must be an array of plan keys");let{plan:r,errors:s}=(0,d.selectPlan)(e,t.map(String));if(s.length>0)throw new eT(s.join("\n"));return r}function D(e){return e.charAt(0).toUpperCase()+e.slice(1)}async function E(e,t,a="human"){let{title:s,context:o,decision:l,rationale:d,alternatives:u=[],consequences:c}=e,f=(await (0,r.glob)("docs/architecture/decisions/ADR-*.md",{cwd:t,nodir:!0})).map(e=>parseInt(n.default.basename(e).match(/ADR-(\d+)/)?.[1]||"0")).filter(e=>!isNaN(e)),p=f.length>0?Math.max(...f)+1:1,m=String(p).padStart(3,"0"),h=s.toLowerCase().replace(/[^a-z0-9\s-]/g,"").replace(/\s+/g,"-").slice(0,50),w=`ADR-${m}-${h}.md`,y=new Date().toISOString().split("T")[0],g=u.length>0?u.map(e=>`| ${e.option} | ${e.reason} |`).join("\n"):"| (none) | — |",$=`# ADR-${m}: ${s}
25
-
26
- **Status:** ✅ Accepted
27
- **Date:** ${y}
28
-
29
- ## Context
30
- ${o}
31
-
32
- ## Decision
33
- ${l}
34
-
35
- ## Rationale
36
- ${d||""}
37
-
38
- ## Alternatives considered
39
- | Option | Why rejected |
40
- |--------|-------------|
41
- ${g}
42
-
43
- ## Consequences
44
- ${c||""}
45
- `,k=n.default.join(t,"docs/architecture/decisions",w);await i.default.mkdir(n.default.dirname(k),{recursive:!0}),await i.default.writeFile(k,$,"utf8");let b=n.default.join(t,"docs/architecture/decisions/_INDEX.md");try{let e=await i.default.readFile(b,"utf8");e=e.trimEnd()+`
46
- | ADR-${m} | ${s} | ✅ Accepted | ${y} |
47
- `,await i.default.writeFile(b,e,"utf8")}catch{await i.default.writeFile(b,`# ADR Index
48
-
49
- | ADR | Title | Status | Date |
50
- |-----|-------|--------|------|
51
- | ADR-${m} | ${s} | ✅ Accepted | ${y} |
52
- `,"utf8")}return await P(t,{type:"decision_logged",actor:a,title:`ADR-${m}: ${s}`,detail:l.slice(0,100)}),{adrNumber:`ADR-${m}`,path:`docs/architecture/decisions/${w}`}}async function _(e){try{return{content:await i.default.readFile(n.default.join(e,"memory","MEMORY.md"),"utf8"),exists:!0}}catch{return{content:"*(No MEMORY.md found — AI will create one at end of session)*",exists:!1}}}async function R(e,t,a="human"){let{currentState:r,justCompleted:s=[],workingOn:o="",upNext:l=[],issues:d=[],decisions:u=[],techDebt:c=[],handoff:f}=e,p=new Date,m=p.toISOString().split("T")[0],h=p.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"}),w=`# Project Memory
53
- **Last updated:** ${m} at ${h}
54
-
55
- ## Current state
56
- ${r}
57
-
58
- ## Just completed
59
- ${s.map(e=>`- ${e}`).join("\n")||"- (nothing this session)"}
60
-
61
- ## Working on now
62
- ${o||"(nothing active)"}
63
-
64
- ## Up next
65
- ${l.map((e,t)=>`${t+1}. ${e}`).join("\n")||"1. (define next steps)"}
66
-
67
- ## Active issues
68
- | Issue | Severity | Status |
69
- |-------|----------|--------|
70
- ${d.map(e=>"string"==typeof e?`| ${e} | medium | open |`:`| ${e.issue} | ${e.severity||"medium"} | ${e.status||"open"} |`).join("\n")||"| None | — | — |"}
71
-
72
- ## Recent decisions
73
- ${u.map(e=>`- ${e}`).join("\n")||"- (none this session)"}
74
-
75
- ## Tech debt
76
- ${c.map(e=>`- ${e}`).join("\n")||"- (none noted)"}
77
-
78
- ## Handoff for next session
79
- ${f}
80
- `;await i.default.mkdir(n.default.join(t,"memory"),{recursive:!0}),await i.default.writeFile(n.default.join(t,"memory","MEMORY.md"),w,"utf8"),await P(t,{type:"memory_updated",actor:a,title:"Session memory updated",detail:f.slice(0,120)})}let eA=".vibedoc-activity.json",eD=".vibedoc-descriptions.json";async function F(e){try{let t=await i.default.readFile(n.default.join(e,eD),"utf8");return JSON.parse(t)}catch{return{}}}async function I(e,t){let a=n.default.join(e,eD);await i.default.mkdir(n.default.dirname(a),{recursive:!0}),await i.default.writeFile(a,JSON.stringify(t,null,2),"utf8")}async function N(e,t,a){let i=n.default.normalize(t).replace(/\\/g,"/"),r=await F(e);r[i]=a,await I(e,r)}let eE=null;async function T(){if(!eE){let{default:t}=await e.A(400829);eE=new t({apiKey:process.env.ANTHROPIC_API_KEY})}return eE}async function C(e,t){let a=n.default.resolve(t),r=n.default.resolve(t,e);if(!r.startsWith(a+n.default.sep)&&r!==a)throw Error("Path outside root");let s=await T(),o=await i.default.readFile(r,"utf8"),l=(await s.messages.create({model:"claude-haiku-4-5-20251001",max_tokens:100,messages:[{role:"user",content:`Write a single sentence (max 120 characters) describing what this file is about. Output ONLY the sentence, nothing else.
81
-
82
- ${o.slice(0,2e3)}`}]})).content.find(e=>"text"===e.type);if(!l)throw Error("No text block in Anthropic response");let d=l.text.trim().slice(0,120);return await N(t,e,{description:d,source:"ai",updatedAt:new Date().toISOString()}),d}async function M(e){let t=await m(e),a=await F(e);return Promise.all(t.map(async t=>{let r=a[t.path],s=r?.description??"",o=r?.source??"extracted",l=new Date().toISOString();try{l=(await i.default.stat(n.default.join(e,t.path))).mtime.toISOString()}catch{}let d=r?.updatedAt??l;if(!r)try{let a=await i.default.readFile(n.default.join(e,t.path),"utf8");s=function(e){let t=e.split("\n"),a="";for(let e of t){let t=e.match(/^#{1,3}\s+(.+)/);if(t&&!a){a=t[1].trim().slice(0,120);continue}let i=e.trim();if(i&&!i.startsWith("#")&&!i.startsWith("```")&&!i.startsWith("|")&&!i.startsWith("-")&&!i.startsWith("*")&&i.length>20)return i.slice(0,120)}return a}(a)}catch{}return{path:t.path,name:t.name,section:t.section,description:s,source:o,updatedAt:d,mtime:l}}))}let e_=globalThis,eR=e_.vibedocSessions??(e_.vibedocSessions=new Map);async function P(e,t){let a,r,s=Date.now(),o={id:`evt_${s}_${Math.random().toString(36).slice(2,7)}`,timestamp:new Date(s).toISOString(),...t,sessionId:(a=`${e}\0${t.actor}`,(r=eR.get(a))&&"session_start"!==t.type&&!(s-r.lastAt>u.SESSION_GAP_MS)||(r={id:`ses_${s}_${Math.random().toString(36).slice(2,7)}`,lastAt:s},eR.set(a,r)),r.lastAt=s,r.id)},l=n.default.join(e,eA),d=[];try{let e=await i.default.readFile(l,"utf8");d=JSON.parse(e)}catch{}d.unshift(o),d.length>2e3&&(d=d.slice(0,2e3)),await i.default.writeFile(l,JSON.stringify(d,null,2),"utf8")}async function z(e,t=50){try{let a=await i.default.readFile(n.default.join(e,eA),"utf8");return JSON.parse(a).slice(0,t)}catch{return[]}}async function W(e,t="ai"){await P(e,{type:"session_start",actor:t,title:"Session started",detail:"Agent connected"})}async function U(e,t,a){let r,s=n.default.resolve(a),o=n.default.resolve(a,e);if(!o.startsWith(s+n.default.sep)&&o!==s)throw Error("Path outside root");try{r=await i.default.readFile(o,"utf8")}catch{throw Error(`Doc not found: ${e}`)}await i.default.writeFile(o,r.trimEnd()+"\n\n"+t,"utf8")}async function L(e,t,a){let r=n.default.resolve(a),s=n.default.resolve(a,e),o=n.default.resolve(a,t);if(!s.startsWith(r+n.default.sep)&&s!==r||!o.startsWith(r+n.default.sep)&&o!==r)throw Error("Path outside root");await i.default.mkdir(n.default.dirname(o),{recursive:!0});try{await i.default.rename(s,o)}catch(e){if("EXDEV"===e.code)await i.default.copyFile(s,o),await i.default.unlink(s);else throw e}await P(a,{type:"doc_renamed",actor:"human",title:`Renamed ${e} → ${t}`});try{let{exists:e}=await q(a);e&&await G(a)}catch{}}async function Y(e,t){let a=n.default.resolve(t),r=n.default.resolve(t,e);if(!r.startsWith(a+n.default.sep)&&r!==a)throw Error("Path outside root");await i.default.unlink(r),await P(t,{type:"doc_deleted",actor:"human",title:`Deleted ${e}`});try{let{exists:e}=await q(t);e&&await G(t)}catch{}}let eF="docs/REGISTRY.md",eI="<!-- REGISTRY_ANNOTATIONS_START -->",eN="<!-- REGISTRY_ANNOTATIONS_END -->";function J(e){let t=new Map,a=e.indexOf(eI),i=e.indexOf(eN);if(-1===a||-1===i)return t;for(let n of e.slice(a+eI.length,i).split("\n").filter(e=>e.startsWith("|")&&!e.includes("---")&&!e.includes("Path"))){let e=n.split("|").map(e=>e.trim()).filter(Boolean);e.length>=3&&t.set(e[0],{description:e[1],keywords:e[2]})}return t}async function q(e){try{return{content:await i.default.readFile(n.default.join(e,eF),"utf8"),exists:!0}}catch{return{content:"*(No REGISTRY.md found — call vibedoc_rebuild_registry to generate it)*",exists:!1}}}async function G(e,t="human"){let a=(await m(e)).map(e=>e.path),r="";try{r=await i.default.readFile(n.default.join(e,eF),"utf8")}catch{}let s=J(r),o=function(e){let t=new Map;for(let a of e){let e=n.default.dirname(a);t.has(e)||t.set(e,[]),t.get(e).push(n.default.basename(a))}let a=[],i=Array.from(t.keys()).sort(),r=new Set;return!function e(s,o){if(r.has(s))return;r.add(s);let l=" ".repeat(o);if("."!==s){let e=s.split("/");a.push(`${l}${e[e.length-1]}/`)}let d="."===s?0:o+1,u=" ".repeat(d);for(let e of(t.get(s)||[]).sort())a.push(`${u}${e}`);for(let t of i)t!==s&&n.default.dirname(t)===s&&e(t,d)}(".",0),a.join("\n")}(a),l=[];for(let e of a){let t=s.get(e);l.push(`| ${e} | ${t?.description??""} | ${t?.keywords??""} |`)}let d=new Date().toISOString(),u=["# Document Registry",`**Generated:** ${d} **Total:** ${a.length} files`,"","> Edit the Annotations table — it survives rebuilds.","> Run `vibedoc_rebuild_registry` after adding/removing docs.","","## File Tree","```",o,"```","","## Annotations","",eI,"| Path | Description | Keywords |","|------|-------------|----------|",...l,eN,""].join("\n");return await w(eF,u,e),await P(e,{type:"registry_rebuilt",actor:t,title:"Document registry rebuilt",detail:`${a.length} files indexed`}),{path:eF,totalFiles:a.length}}async function H(e,t,a,i){let{content:n,exists:r}=await q(i);if(!r)throw Error("Registry not found — call vibedoc_rebuild_registry first");let s=J(n);s.set(e,{description:t,keywords:a});let o=n.indexOf(eI),l=n.indexOf(eN);if(-1===o||-1===l)throw Error("Registry format invalid — rebuild first");let d=Array.from(s.entries()).map(([e,t])=>`| ${e} | ${t.description} | ${t.keywords} |`),u=[eI,"| Path | Description | Keywords |","|------|-------------|----------|",...d,eN].join("\n"),c=n.slice(0,o)+u+n.slice(l+eN.length);await w(eF,c,i)}async function B(e,t){let a=await (0,r.glob)("**/*.md",{cwd:t,ignore:["node_modules/**",".git/**",".next/**"],nodir:!0}),s=e.replace(/\\/g,"/"),o=n.default.basename(s),l=[];for(let e of a)if(e.replace(/\\/g,"/")!==s)try{(await i.default.readFile(n.default.join(t,e),"utf8")).split("\n").forEach((t,a)=>{/\[.*\]\(.*\)/.test(t)&&(t.includes(o)||t.includes(s))&&l.push({file:e,line:a+1,text:t.trim().slice(0,120)})})}catch{}return l}async function K(e){let[{tasks:t,board:a},i,r,s]=await Promise.all([v(e),m(e),_(e),z(e,10)]);return{root:e,name:n.default.basename(e),tasks:{total:t.length,board:{todo:a.todo.length,"in-progress":a["in-progress"].length,blocked:a.blocked.length,done:a.done.length,cancelled:a.cancelled.length},active:a["in-progress"],blocked:a.blocked},docs:{total:i.length},memory:r,activity:s}}class eT extends Error{status;constructor(e,t=400){super(e),this.status=t,this.name="RoadmapError"}}let eC=n.default.join("plans","roadmap"),eM=n.default.join(eC,"layout.json"),eP=["planned","in-progress","done"],ez=/^\*\*([^*]+):\*\*/;function V(e){let t=String(e??"").trim().toUpperCase();if(!/^R\d+$/.test(t))throw new eT(`Invalid roadmap id: ${String(e)}`);return t}function X(e){let t=n.default.basename(e).match(/^(R\d+)(?:-|\.md$)/i);return t?t[1].toUpperCase():null}function Q(e){let t=String(e??"").toLowerCase().trim().replace(/\s+/g,"-");if(!eP.includes(t))throw new eT(`Invalid status "${String(e)}" (expected ${eP.join(" | ")})`);return t}function Z(e){if(!Array.isArray(e))throw new eT("tasks must be an array of task ids");return e.map(e=>{let t=String(e).trim().toUpperCase();if(!/^T\d+$/.test(t))throw new eT(`Invalid task id: ${String(e)}`);return t})}function ee(e){let t=String(e??"").replace(/\s+/g," ").trim();if(!t)throw new eT("Title is required");return t}function et(e){let t=e.match(/^(\d{4})-(\d{2})-(\d{2})$/);return t&&new Date(Date.UTC(+t[1],t[2]-1,+t[3])).toISOString().slice(0,10)===e?e:null}function ea(e){if(null===e||""===e)return null;let t="string"==typeof e?et(e.trim()):null;if(!t)throw new eT(`due must be a date YYYY-MM-DD (got ${JSON.stringify(e)})`);return t}function ei(e){let t=Number(e);if("number"!=typeof e||!Number.isFinite(t))throw new eT("order must be a finite number");return t}function en(e){let t=e.findIndex(e=>e.startsWith("# ")),a=t=t<0?0:t+1;for(;a<e.length&&""===e[a].trim();)a++;for(a<e.length&&ez.test(e[a])&&(t=a);t<e.length&&ez.test(e[t]);)t++;return t}function er(e,t){let a=t.split("\n"),i=a.find(e=>e.startsWith("# ")),r=X(e)??n.default.basename(e,".md").toUpperCase(),s=(i||"").replace(/^#+\s*/,"").replace(/^R\d+:\s*/i,"").trim()||r,o=en(a),l={};for(let e of a.slice(0,Math.min(o,30))){let t=e.match(/\*\*([^*]+):\*\*\s*(.+)/);t&&(l[t[1].toLowerCase().trim()]=t[2].trim())}let d=(l.parent||"").toUpperCase(),u="planned";try{u=Q((l.status||"").replace(/[^a-z\s-]/gi,""))}catch{}let c=parseFloat(l.order||"");return{id:r,title:s,parent:/^R\d+$/.test(d)?d:null,status:u,order:Number.isFinite(c)?c:0,tasks:(l.tasks||"").split(/[,\s]+/).map(e=>e.toUpperCase()).filter(e=>/^T\d+$/.test(e)),due:et(l.due||""),body:a.slice(o).join("\n").trim(),file:e}}async function es(e){let t=await (0,r.glob)("plans/roadmap/R*.md",{cwd:e,nodir:!0}),a=[];for(let r of t)if(X(r))try{let t=await i.default.readFile(n.default.join(e,r),"utf8");a.push({item:er(r,t),raw:t})}catch{}return a}async function eo(e,t){let a=V(e),s=(await (0,r.glob)(`plans/roadmap/${a}*.md`,{cwd:t,nodir:!0})).filter(e=>X(e)===a).sort();if(0===s.length)throw new eT(`Roadmap item not found: ${a}`,404);let o=await i.default.readFile(n.default.join(t,s[0]),"utf8");return{item:er(s[0],o),raw:o}}function el(e,t,a){if(e===t)throw new eT("An item cannot be its own parent");let i=a.find(t=>t.id===e);if(!i)throw new eT(`Parent not found: ${e}`);if(null!==i.parent)throw new eT(`Parent ${e} is not a horizon (max depth is 2)`)}function ed(e){if("string"!=typeof e)throw new eT("body must be a string");return e.trim()}let eW=Promise.resolve();function eu(e){let t=eW.then(e,e);return eW=t.catch(()=>{}),t}function ec(e){return e.length>0?e.join(", "):"—"}async function ef(e){var t;let a,[i,n]=await Promise.all([es(e),eb(e)]);return{items:(t=i.map(e=>e.item),a=e=>parseInt(e.slice(1),10),t.sort((e,t)=>e.order-t.order||a(e.id)-a(t.id))),layout:n}}async function ep(e,t){return(await eo(e,t)).item}let eU=e=>`R${String(e).padStart(3,"0")}`;async function em(e,t){let a=t.title.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,40),r=a?`${t.id}-${a}.md`:`${t.id}.md`,s=[`# ${t.id}: ${t.title}`,...t.parent?[`**Parent:** ${t.parent}`]:[],`**Status:** ${t.status}`,`**Order:** ${t.order}`,`**Tasks:** ${ec(t.tasks)}`,...t.due?[`**Due:** ${t.due}`]:[],""].join("\n")+(t.body?`
83
- ${t.body}
84
- `:"");await i.default.writeFile(n.default.join(e,eC,r),s,{flag:"wx",encoding:"utf8"})}async function eh(e){return(await ew(e)).source}async function ew(e){try{let t=(0,o.roadmapFromMarkdown)(await i.default.readFile(n.default.join(e,"ROADMAP.md"),"utf8"));if(t.length>0)return{source:"roadmap-md",drafts:t}}catch{}let{tasks:t}=await v(e),a=(0,o.roadmapFromTasks)(t);return a.length>0?{source:"tasks",drafts:a}:{source:"starter",drafts:(0,o.starterRoadmap)()}}async function ey(e,t,a){let r=ee(e.title),s=void 0===e.status?"planned":Q(e.status),o=void 0===e.tasks?[]:Z(e.tasks),l=void 0===e.body?"":ed(e.body),d=void 0===e.due?null:ea(e.due),u=(await es(t)).map(e=>e.item),c=null==e.parent||""===e.parent?null:V(e.parent);c&&el(c,null,u);let f=u.filter(e=>e.parent===c).map(e=>e.order),p=void 0===e.order?(f.length>0?Math.max(...f):0)+10:ei(e.order),m=u.map(e=>parseInt(e.id.slice(1),10)).filter(e=>!isNaN(e)),h=eU(m.length>0?Math.max(...m)+1:1);return await i.default.mkdir(n.default.join(t,eC),{recursive:!0}),await em(t,{id:h,title:r,parent:c,status:s,order:p,tasks:o,due:d,body:l}),await P(t,{type:"roadmap_updated",actor:a,title:`${h} created`,detail:r}),ep(h,t)}function eg(e,t,a,i="human"){return eu(()=>e$(e,t,a,i))}async function e$(e,t,a,r){let s,{item:o,raw:l}=await eo(e,a),d=t??{},u=void 0===d.title?void 0:ee(d.title),c=void 0===d.status?void 0:Q(d.status),f=void 0===d.order?void 0:ei(d.order),p=void 0===d.tasks?void 0:Z(d.tasks),m=void 0===d.body?void 0:ed(d.body),h=void 0===d.due?void 0:ea(d.due);if(void 0!==d.parent&&(s=null===d.parent||""===d.parent?null:V(d.parent),null!==s)){let e=(await es(a)).map(e=>e.item);if(el(s,o.id,e),e.some(e=>e.parent===o.id))throw new eT(`${o.id} has children and cannot be given a parent`)}let w=l.split("\n");if(void 0!==u){let e=w.findIndex(e=>e.startsWith("# "));e>=0?w[e]=`# ${o.id}: ${u}`:w.unshift(`# ${o.id}: ${u}`)}let y=en(w),g=w.slice(0,y),$=w.slice(y),k=(e,t)=>{let a=g.findIndex(t=>t.match(ez)?.[1].trim().toLowerCase()===e.toLowerCase());if(null===t){a>=0&&g.splice(a,1);return}let i=`**${e}:** ${t}`;a>=0?g[a]=i:g.push(i)};void 0!==s&&k("Parent",s),void 0!==c&&k("Status",c),void 0!==f&&k("Order",String(f)),void 0!==p&&k("Tasks",ec(p)),void 0!==h&&k("Due",h),void 0!==m&&($=m?["",m,""]:[""]),await i.default.writeFile(n.default.join(a,o.file),[...g,...$].join("\n"),"utf8");let b=await ep(o.id,a);return await P(a,{type:"roadmap_updated",actor:r,title:`${o.id} updated`,detail:b.title}),b}async function ek(e,t,a){let{item:r}=await eo(e,t),s=(await es(t)).map(e=>e.item).filter(e=>e.parent===r.id).map(e=>e.id);if(s.length>0)throw new eT(`${r.id} still has children (${s.join(", ")}); move or delete them first`);await i.default.unlink(n.default.join(t,r.file)),await ev({},t),await P(t,{type:"roadmap_updated",actor:a,title:`${r.id} deleted`,detail:r.title})}async function eb(e){try{let t=JSON.parse(await i.default.readFile(n.default.join(e,eM),"utf8"));if(!t||"object"!=typeof t||Array.isArray(t))return{};let a={};for(let[e,i]of Object.entries(t))i&&Number.isFinite(i.x)&&Number.isFinite(i.y)&&(a[e]={x:i.x,y:i.y});return a}catch{return{}}}async function ev(e,t){let a={};for(let[t,i]of Object.entries(e??{})){let e=t.trim().toUpperCase();if(!(/^R\d+$/.test(e)&&i&&"object"==typeof i&&"number"==typeof i.x&&"number"==typeof i.y&&Number.isFinite(i.x)&&Number.isFinite(i.y)))throw new eT(`Invalid position for ${t}`);a[e]={x:i.x,y:i.y}}let r={...await eb(t),...a},s=new Set((await es(t)).map(e=>e.item.id)),o={};for(let e of Object.keys(r).sort())s.has(e)&&(o[e]=r[e]);return await i.default.mkdir(n.default.join(t,eC),{recursive:!0}),await i.default.writeFile(n.default.join(t,eM),JSON.stringify(o,null,2)+"\n","utf8"),o}let eL={roadmap:"roadmap-planner",breakdown:"epic-breakdown"};async function eS(e){if(!Object.hasOwn(eL,e))throw Error(`Unknown planning kind "${e}" (expected: ${Object.keys(eL).join(", ")})`);return(await i.default.readFile(n.default.join(process.cwd(),"skills",eL[e],"SKILL.md"),"utf-8")).replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n/,"").trimStart()}e.s(["RoadmapError",0,eT,"appendDoc",0,U,"applyPlan",0,function(e,t,a,i="human"){return e?.kind==="roadmap"?eu(async()=>{let[n,{tasks:r}]=await Promise.all([es(a),v(a)]),s=A(e,t,n.map(e=>e.item),r.map(e=>e.id));if("roadmap"!==s.kind)throw new eT("expected a roadmap plan");let o=new Map,l=[];for(let e of s.horizons){let t=await ey({title:e.title.trim(),body:e.body},a,i);o.set(e.key.trim(),t.id),l.push({key:e.key,id:t.id,file:t.file})}for(let e of s.epics){let t=o.get(e.parent.trim())??e.parent.trim().toUpperCase(),n=await ey({title:e.title.trim(),parent:t,status:e.status,body:e.body},a,i);l.push({key:e.key,id:n.id,file:n.file})}return{created:l,epic:null}}):x(async()=>{let[{items:n},{tasks:r}]=await Promise.all([ef(a),v(a)]),s=A(e,t,n,r.map(e=>e.id));if("breakdown"!==s.kind)throw new eT("expected a breakdown plan");let o=await ep(s.epic,a),l=new Map,d=[];for(let e of s.tasks){let t=(e.dependsOn??[]).map(e=>l.get(e.trim())??e.trim().toUpperCase()),i=await O({title:e.title.trim(),phase:`${o.id} — ${o.title}`,size:e.size,dependsOn:t.join(", ")||void 0,due:e.due,body:e.body},a);l.set(e.key.trim(),i.id),d.push({key:e.key,id:i.id,file:i.file})}let u=await ep(o.id,a),c=await eg(o.id,{tasks:[...u.tasks,...d.map(e=>e.id)]},a,i);return{created:d,epic:c}})},"claimNextTask",0,function(e,t){return x(async()=>{let a=await ep(e,t);if(!a.parent)throw Error(`${a.id} is a horizon; pass an epic id`);let{tasks:i}=await v(t),n=(0,l.pickNextTask)(a,i);if("ready"!==n.kind)return{result:n};let{task:r,previousStatus:s}=await j(n.taskId,"in-progress",t,"ai");return{result:n,task:r,previousStatus:s}})},"createDoc",0,$,"createRoadmapItem",0,function(e,t,a="human"){return eu(()=>ey(e??{},t,a))},"createTask",0,function(e,t){return x(()=>O(e,t))},"deleteDoc",0,Y,"deleteRoadmapItem",0,function(e,t,a="human"){return eu(()=>ek(e,t,a))},"detectRoadmapSource",0,eh,"discoverProjects",0,p,"editDoc",0,y,"enrichDescription",0,C,"findBacklinks",0,B,"generateRoadmap",0,function(e,t="human"){return eu(async()=>{if((await es(e)).length>0)throw new eT("Roadmap already exists");let{source:a,drafts:r}=await ew(e),s=new Map(r.map((e,t)=>[e.key,eU(t+1)])),o=new Map;for(let t of(await i.default.mkdir(n.default.join(e,eC),{recursive:!0}),r)){let a=(o.get(t.parent)??0)+1;o.set(t.parent,a),await em(e,{id:s.get(t.key),title:t.title,parent:null===t.parent?null:s.get(t.parent)??null,status:t.status,order:10*a,tasks:t.tasks,due:null,body:t.body})}await P(e,{type:"roadmap_updated",actor:t,title:`Roadmap generated (${r.length} items)`,detail:`from ${a}`});let{items:l}=await ef(e);return{items:l,source:a}})},"getConfiguredRoot",0,f,"getContext",0,g,"getProjectSummary",0,K,"getTask",0,S,"listDocs",0,m,"listExplorerFiles",0,M,"listRoadmap",0,ef,"listTasks",0,v,"logDecision",0,E,"logSessionStart",0,W,"readActivity",0,z,"readDoc",0,h,"readMemory",0,_,"readPlanningSkill",0,eS,"readRegistry",0,q,"rebuildRegistry",0,G,"renameDoc",0,L,"searchDocs",0,k,"updateMemory",0,R,"updateRegistryAnnotation",0,H,"updateRoadmapItem",0,eg,"updateTaskStatus",0,j,"writeDoc",0,w,"writeRoadmapLayout",0,function(e,t){return eu(()=>ev(e,t))}]),a()}catch(e){a(e)}},!1),975283,e=>{"use strict";let t=e=>!!e&&"object"==typeof e&&!Array.isArray(e),a=e=>"string"==typeof e?e.trim():"",i=["planned","in-progress","done"];e.s(["selectPlan",0,function(e,t){if("roadmap"===e.kind)return function(e,t){let a=[],i=e.horizons??[],n=e.epics??[],r=new Set(i.map(e=>e.key)),s=new Set([...r,...n.map(e=>e.key)]),o=new Set(t);for(let e of o)s.has(e)||a.push(`unknown key "${e}"`);let l=i.filter(e=>o.has(e.key)),d=n.filter(e=>o.has(e.key));for(let e of(l.length+d.length===0&&a.push("nothing selected"),d)){let t=e.parent.trim();r.has(t)&&!o.has(t)&&a.push(`${e.key} is under ${t}, which you unchecked; check ${t} or uncheck ${e.key}`)}return{plan:{...e,horizons:l,epics:d},errors:a}}(e,t);let a=[],i=new Set(e.tasks.map(e=>e.key.trim())),n=new Set(t.map(e=>e.trim()));for(let e of n)i.has(e)||a.push(`unknown key "${e}"`);let r=e.tasks.filter(e=>n.has(e.key.trim()));for(let e of(0===r.length&&a.push("nothing selected"),r))for(let t of(e.dependsOn??[]).map(e=>e.trim()))i.has(t)&&!n.has(t)&&a.push(`${e.key.trim()} depends on ${t}, which you unchecked`);return{plan:{...e,tasks:r},errors:a}},"validatePlan",0,function(e,n){if(!t(e))return["plan must be an object"];if("roadmap"===e.kind)return function(e,n){let r=[],s=e.horizons??[],o=e.epics??[];if(Array.isArray(s)||r.push("horizons must be an array"),Array.isArray(o)||r.push("epics must be an array"),r.length>0)return r;if(s.length+o.length===0)return["a roadmap plan needs at least one horizon or epic"];let l=new Set,d=new Set,u=(e,i,n)=>{let s=t(e)?a(e.key):"";s?l.has(s)?r.push(`duplicate key "${s}"`):(l.add(s),n&&d.add(s)):r.push(`${i}: key is required`)};s.forEach((e,t)=>u(e,`horizon #${t+1}`,!0)),o.forEach((e,t)=>u(e,`epic #${t+1}`,!1));let c=new Map;for(let e of n.roadmap)c.set(`${e.parent??""}\0${e.title.trim().toLowerCase()}`,e.id);let f=(e,t,a)=>{let i=`${e}\0${t.toLowerCase()}`,n=c.get(i);n?r.push(`${a}: "${t}" already exists ${e?`under ${e}`:"as a horizon"} (${n})`):c.set(i,a)};return s.forEach((e,i)=>{if(!t(e))return void r.push(`horizon #${i+1} must be an object`);let n=a(e.key)||`horizon #${i+1}`,s=a(e.title);s?f("",s,n):r.push(`${n}: title is required`),void 0!==e.body&&"string"!=typeof e.body&&r.push(`${n}: body must be a markdown string`)}),o.forEach((e,s)=>{if(!t(e))return void r.push(`epic #${s+1} must be an object`);let o=a(e.key)||`epic #${s+1}`,u=a(e.title);u||r.push(`${o}: title is required`),"string"!=typeof e.body&&r.push(`${o}: body must be a markdown string`),void 0===e.status||i.includes(e.status)||r.push(`${o}: status must be one of ${i.join(", ")} (got ${JSON.stringify(e.status)})`);let c=a(e.parent),p="";if(c)if(d.has(c))p=c;else if(l.has(c))r.push(`${o}: parent "${c}" is an epic in this plan; an epic's parent must be a horizon`);else{let e=n.roadmap.find(e=>e.id===c.toUpperCase());e?null!==e.parent?r.push(`${o}: parent ${e.id} is an epic, not a horizon (max depth is 2)`):p=e.id:r.push(`${o}: parent "${c}" is neither a horizon key in this plan nor an existing roadmap item`)}else r.push(`${o}: parent is required (an existing horizon id or a horizon key in this plan)`);u&&p&&f(p,u,o)}),r}(e,n);if("breakdown"!==e.kind)return[`plan.kind must be "breakdown" or "roadmap" (got ${JSON.stringify(e.kind)})`];let r=[],s=a(e.epic).toUpperCase(),o=n.roadmap.find(e=>e.id===s);if(o?o.parent||r.push(`${o.id} is a horizon, not an epic; pass an epic id`):r.push(`Epic ${JSON.stringify(e.epic)} not found`),!Array.isArray(e.tasks)||0===e.tasks.length)return r.push("tasks must be a non-empty array"),r;let l=e.tasks,d=new Set(n.taskIds.map(e=>e.toUpperCase())),u=new Map;l.forEach((e,i)=>{let n=t(e)?a(e.key):"";n?u.has(n)?r.push(`duplicate key "${n}"`):u.set(n,i):r.push(`task #${i+1}: key is required`)});let c=new Map;l.forEach((e,i)=>{var n;let s;if(!t(e))return void r.push(`task #${i+1} must be an object`);let o=a(e.key)||`task #${i+1}`;if(a(e.title)||r.push(`${o}: title is required`),"string"!=typeof e.body&&r.push(`${o}: body must be a markdown string`),void 0!==e.size&&"string"!=typeof e.size&&r.push(`${o}: size must be a string`),void 0===e.due||"string"==typeof e.due&&(s=(n=e.due).match(/^(\d{4})-(\d{2})-(\d{2})$/))&&new Date(Date.UTC(+s[1],s[2]-1,+s[3])).toISOString().slice(0,10)===n||r.push(`${o}: due must be a date YYYY-MM-DD (got ${JSON.stringify(e.due)})`),void 0===e.dependsOn)return;if(!Array.isArray(e.dependsOn))return void r.push(`${o}: dependsOn must be an array`);let l=[];for(let t of e.dependsOn){let e=a(t);u.has(e)?l.push(e):d.has(e.toUpperCase())||r.push(`${o}: dependsOn "${String(t)}" is neither a key in this plan nor an existing task`)}a(e.key)&&c.set(a(e.key),l)});let f=new Map,p=new Set,m=(e,t)=>{if("done"!==f.get(e)){if("open"===f.get(e)){let a=[...t.slice(t.indexOf(e)),e];a.some(e=>p.has(e))||r.push(`dependency cycle: ${a.join(" → ")}`),a.forEach(e=>p.add(e));return}for(let a of(f.set(e,"open"),c.get(e)??[]))m(a,[...t,e]);f.set(e,"done")}};for(let e of c.keys())m(e,[]);for(let[e,t]of c)if(!p.has(e))for(let a of t)(u.get(a)??0)>(u.get(e)??0)&&r.push(`${e} depends on ${a}, which comes later; list ${a} first`);return r}])},31451,e=>{"use strict";let t=(e,t)=>`${e} ${t}${1===e?"":"s"}`;e.s(["SESSION_GAP_MS",0,18e5,"groupSessions",0,function(e,a={}){let i=a.gapMs??18e5,n=[...e].sort((e,t)=>e.timestamp.localeCompare(t.timestamp)),r=new Map,s=new Map;for(let e of n){let t=e.sessionId;if(!t){let a=Date.parse(e.timestamp),n=s.get(e.actor);(!n||"session_start"===e.type||a-n.lastAt>i)&&(n={id:`legacy_${e.id}`,lastAt:a},s.set(e.actor,n)),n.lastAt=a,t=n.id}let a=r.get(t);a?a.push(e):r.set(t,[e])}return[...r].map(([e,a])=>(function(e,a){let i=new Map,n=new Set,r=[],s=!1,o=0;for(let e of a){"task_updated"===e.type&&e.taskId&&e.taskStatus&&i.set(e.taskId,e.taskStatus);let t=function(e){switch(e.type){case"doc_created":return e.detail??e.title.replace(/^Created: /,"");case"doc_deleted":return e.title.replace(/^Deleted /,"");case"doc_renamed":return e.title.split(" → ")[1]??null;default:return null}}(e);t&&n.add(t),"decision_logged"===e.type&&r.push(e.title),"memory_updated"===e.type&&(s=!0),"roadmap_updated"===e.type&&o++}let l=[...i].map(([e,t])=>({id:e,lastStatus:t})),d=l.filter(e=>"done"===e.lastStatus).length,u=[l.length?`${t(l.length,"task")} moved${d?` (${d} done)`:""}`:"",n.size?`${t(n.size,"doc")} changed`:"",r.length?t(r.length,"ADR"):"",o?t(o,"roadmap edit"):"",s?"memory updated":""].filter(Boolean);return{id:e,actor:a[0].actor,start:a[0].timestamp,end:a[a.length-1].timestamp,eventCount:a.length,eventIds:a.map(e=>e.id),tasks:l,docs:[...n],decisions:r,memoryUpdated:s,headline:u.join(" · ")||t(a.length,"event")}})(e,a)).sort((e,t)=>t.start.localeCompare(e.start))},"sessionDuration",0,function(e){let t=Math.round((Date.parse(e.end)-Date.parse(e.start))/6e4);return t<1?"<1m":t<60?`${t}m`:`${Math.floor(t/60)}h ${t%60}m`},"sessionsForTask",0,function(e,t){return e.filter(e=>e.tasks.some(e=>e.id===t))}])}];
85
-
86
- //# sourceMappingURL=%5Broot-of-the-server%5D__0sc44r6._.js.map