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
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/app/api/settings/route.ts","../../../src/lib/settings.ts","../../../node_modules/.pnpm/next%4016.3.6_%40babel%2Bcore%407.29.7_%40types%2Bnode%4022.20.4_react-dom%4019.3.0_react%4019.3.0__react%4019.3.0/node_modules/next/src/build/templates/app-route.ts"],"sourcesContent":["import { NextRequest, NextResponse } from 'next/server'\r\nimport fs from 'fs/promises'\r\nimport path from 'path'\r\nimport { getConfiguredRoot } from '@/lib/core'\r\nimport { DEFAULT_SETTINGS, DEFAULT_SKILLS, DEFAULT_AGENTS, type AppSettings, type Skill, type Agent } from '@/lib/settings'\r\n\r\nconst VIBEDOC_DIR = '.vibedoc'\r\nconst SETTINGS_FILE = 'settings.json'\r\nconst SKILLS_FILE = 'skills.json'\r\nconst AGENTS_FILE = 'agents.json'\r\n\r\nasync function ensureVibedocDir(root: string) {\r\n const dir = path.join(root, VIBEDOC_DIR)\r\n try {\r\n await fs.mkdir(dir, { recursive: true })\r\n } catch {}\r\n return dir\r\n}\r\n\r\nasync function readJsonFile<T>(filePath: string, defaultValue: T): Promise<T> {\r\n try {\r\n const content = await fs.readFile(filePath, 'utf8')\r\n return { ...defaultValue, ...JSON.parse(content) }\r\n } catch {\r\n return defaultValue\r\n }\r\n}\r\n\r\nasync function writeJsonFile(filePath: string, data: unknown): Promise<void> {\r\n await fs.writeFile(filePath, JSON.stringify(data, null, 2), 'utf8')\r\n}\r\n\r\nexport async function GET(req: NextRequest) {\r\n const root = req.nextUrl.searchParams.get('root') || getConfiguredRoot()\r\n const type = req.nextUrl.searchParams.get('type') || 'all'\r\n const dir = await ensureVibedocDir(root)\r\n\r\n try {\r\n if (type === 'settings' || type === 'all') {\r\n const settings = await readJsonFile<AppSettings>(path.join(dir, SETTINGS_FILE), DEFAULT_SETTINGS)\r\n if (type === 'settings') return NextResponse.json(settings)\r\n }\r\n\r\n if (type === 'skills' || type === 'all') {\r\n const skills = await readJsonFile<{ skills: Skill[] }>(path.join(dir, SKILLS_FILE), { skills: DEFAULT_SKILLS })\r\n if (type === 'skills') return NextResponse.json(skills)\r\n }\r\n\r\n if (type === 'agents' || type === 'all') {\r\n const agents = await readJsonFile<{ agents: Agent[] }>(path.join(dir, AGENTS_FILE), { agents: DEFAULT_AGENTS })\r\n if (type === 'agents') return NextResponse.json(agents)\r\n }\r\n\r\n // Return all\r\n const [settings, skillsData, agentsData] = await Promise.all([\r\n readJsonFile<AppSettings>(path.join(dir, SETTINGS_FILE), DEFAULT_SETTINGS),\r\n readJsonFile<{ skills: Skill[] }>(path.join(dir, SKILLS_FILE), { skills: DEFAULT_SKILLS }),\r\n readJsonFile<{ agents: Agent[] }>(path.join(dir, AGENTS_FILE), { agents: DEFAULT_AGENTS }),\r\n ])\r\n\r\n return NextResponse.json({\r\n settings,\r\n skills: skillsData.skills,\r\n agents: agentsData.agents,\r\n })\r\n } catch (e) {\r\n return NextResponse.json({ error: (e as Error).message }, { status: 500 })\r\n }\r\n}\r\n\r\nexport async function PUT(req: NextRequest) {\r\n const root = req.nextUrl.searchParams.get('root') || getConfiguredRoot()\r\n const type = req.nextUrl.searchParams.get('type')\r\n const dir = await ensureVibedocDir(root)\r\n\r\n try {\r\n const data = await req.json()\r\n\r\n switch (type) {\r\n case 'settings':\r\n await writeJsonFile(path.join(dir, SETTINGS_FILE), data)\r\n break\r\n case 'skills':\r\n await writeJsonFile(path.join(dir, SKILLS_FILE), { skills: data })\r\n break\r\n case 'agents':\r\n await writeJsonFile(path.join(dir, AGENTS_FILE), { agents: data })\r\n break\r\n default:\r\n return NextResponse.json({ error: 'Invalid type' }, { status: 400 })\r\n }\r\n\r\n return NextResponse.json({ ok: true })\r\n } catch (e) {\r\n return NextResponse.json({ error: (e as Error).message }, { status: 500 })\r\n }\r\n}\r\n","export interface AppSettings {\n theme: 'dark' | 'light' | 'system'\n accentColor: 'blue' | 'purple' | 'green' | 'orange'\n fontSize: 'small' | 'medium' | 'large'\n fontSans: FontSans\n fontMono: FontMono\n editor: {\n autoSave: number // 0 = off, otherwise seconds\n wordWrap: boolean\n lineNumbers: boolean\n previewMode: 'split' | 'tab' | 'preview'\n }\n project: {\n autoRefresh: number // 0 = off, otherwise seconds\n showHidden: boolean\n }\n mcp: {\n endpoint: string\n }\n}\n\nexport interface Skill {\n id: string\n name: string\n description: string\n trigger: string\n prompt: string\n tools: string[]\n icon?: string\n}\n\nexport interface Agent {\n id: string\n name: string\n icon: string\n description: string\n skills: string[]\n prompt: string\n active: boolean\n}\n\nexport const SANS_FONTS = [\n { id: 'geist', label: 'Geist', note: 'Made for developer tools. Clean and neutral.' },\n { id: 'inter', label: 'Inter', note: 'The standard UI font. Very clear at small sizes.' },\n { id: 'ibm-plex-sans', label: 'IBM Plex Sans', note: 'Warm and humanist. Good for long reading.' },\n { id: 'atkinson', label: 'Atkinson Hyperlegible', note: 'Letters are easy to tell apart. Best for legibility.' },\n { id: 'dm-sans', label: 'DM Sans', note: 'Geometric. The previous default.' },\n { id: 'system', label: 'System', note: 'Your OS font. Nothing to download.' },\n] as const\n\nexport const MONO_FONTS = [\n { id: 'geist-mono', label: 'Geist Mono', note: 'Pairs with Geist.' },\n { id: 'jetbrains-mono', label: 'JetBrains Mono', note: 'Tall letters, made for code.' },\n { id: 'ibm-plex-mono', label: 'IBM Plex Mono', note: 'Pairs with IBM Plex Sans.' },\n { id: 'dm-mono', label: 'DM Mono', note: 'The previous default.' },\n { id: 'system', label: 'System', note: 'Your OS monospace font.' },\n] as const\n\nexport type FontSans = (typeof SANS_FONTS)[number]['id']\nexport type FontMono = (typeof MONO_FONTS)[number]['id']\n\nexport const DEFAULT_SETTINGS: AppSettings = {\n theme: 'dark',\n accentColor: 'blue',\n fontSize: 'medium',\n fontSans: 'geist',\n fontMono: 'geist-mono',\n editor: {\n autoSave: 10,\n wordWrap: true,\n lineNumbers: true,\n previewMode: 'split',\n },\n project: {\n autoRefresh: 10,\n showHidden: false,\n },\n mcp: {\n endpoint: 'http://localhost:3000/api/mcp',\n },\n}\n\nexport const DEFAULT_SKILLS: Skill[] = [\n {\n id: 'code-review',\n name: 'Code Review',\n description: 'Analyzes code for quality, security, and performance issues',\n trigger: '/review',\n prompt: 'You are an expert code reviewer. Analyze the provided code for:\\n- Code quality and best practices\\n- Security vulnerabilities\\n- Performance issues\\n- Maintainability concerns\\n\\nProvide actionable feedback.',\n tools: ['vibedoc_read_doc', 'vibedoc_search_docs'],\n icon: '🔧',\n },\n {\n id: 'doc-generator',\n name: 'Documentation Generator',\n description: 'Creates documentation from code and comments',\n trigger: '/docs',\n prompt: 'You are a technical documentation writer. Generate clear, comprehensive documentation for the provided code or feature.',\n tools: ['vibedoc_read_doc', 'vibedoc_write_doc'],\n icon: '📝',\n },\n {\n id: 'test-writer',\n name: 'Test Writer',\n description: 'Generates unit tests for functions and components',\n trigger: '/test',\n prompt: 'You are a testing expert. Write comprehensive unit tests for the provided code, covering edge cases and ensuring good test coverage.',\n tools: ['vibedoc_read_doc', 'vibedoc_search_docs'],\n icon: '🧪',\n },\n]\n\nexport const DEFAULT_AGENTS: Agent[] = [\n {\n id: 'code-assistant',\n name: 'Code Assistant',\n icon: '🤖',\n description: 'General-purpose coding help',\n skills: ['code-review', 'test-writer'],\n prompt: 'You are a helpful coding assistant. Help the user with their coding tasks.',\n active: true,\n },\n {\n id: 'doc-bot',\n name: 'Documentation Bot',\n icon: '📚',\n description: 'Focused on docs and comments',\n skills: ['doc-generator'],\n prompt: 'You are a documentation specialist. Focus on creating and improving documentation.',\n active: true,\n },\n]\n","import {\n AppRouteRouteModule,\n type AppRouteRouteHandlerContext,\n type AppRouteRouteModuleOptions,\n} from '../../server/route-modules/app-route/module.compiled'\nimport { RouteKind } from '../../server/route-kind'\nimport { patchFetch as _patchFetch } from '../../server/lib/patch-fetch'\nimport type { IncomingMessage, ServerResponse } from 'node:http'\nimport {\n addRequestMeta,\n getRequestMeta,\n setRequestMeta,\n type RequestMeta,\n} from '../../server/request-meta'\nimport {\n getTracer,\n type Span,\n SpanKind,\n SpanStatusCode,\n} from '../../server/lib/trace/tracer'\nimport { setManifestsSingleton } from '../../server/app-render/manifests-singleton'\nimport { normalizeAppPath } from '../../shared/lib/router/utils/app-paths'\nimport { NodeNextRequest, NodeNextResponse } from '../../server/base-http/node'\nimport {\n NextRequestAdapter,\n signalFromNodeResponse,\n} from '../../server/web/spec-extension/adapters/next-request'\nimport { BaseServerSpan } from '../../server/lib/trace/constants'\nimport { getRevalidateReason } from '../../server/instrumentation/utils'\nimport { sendResponse } from '../../server/send-response'\nimport {\n fromNodeOutgoingHttpHeaders,\n toNodeOutgoingHttpHeaders,\n} from '../../server/web/utils'\nimport { getCacheControlHeader } from '../../server/lib/cache-control'\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from '../../lib/constants'\nimport { NoFallbackError } from '../../shared/lib/no-fallback-error.external'\nimport {\n CachedRouteKind,\n type ResponseCacheEntry,\n type ResponseGenerator,\n} from '../../server/response-cache'\n\n// These are injected by the loader afterwards. This is injected as a variable\n// instead of a replacement because this could also be `undefined` instead of\n// an empty string.\ndeclare const nextConfigOutput: AppRouteRouteModuleOptions['nextConfigOutput']\n\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\n// INJECT:nextConfigOutput\n\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: 'VAR_DEFINITION_PAGE',\n pathname: 'VAR_DEFINITION_PATHNAME',\n filename: 'VAR_DEFINITION_FILENAME',\n bundlePath: 'VAR_DEFINITION_BUNDLE_PATH',\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: 'VAR_RESOLVED_PAGE_PATH',\n nextConfigOutput,\n // The lazy require factory ensures that:\n // - In dev: devRequestTimingInternalsEnd is set before userland executes,\n // correctly attributing module load time to application-code rather than\n // framework internals.\n // - In all modes: async modules (route files with top-level await) are\n // handled correctly — require() returns a Promise for such modules, which\n // ensureUserland() awaits before the first request is handled.\n userland: () => require('VAR_USERLAND') as typeof import('VAR_USERLAND'),\n // In Turbopack dev mode, also provide a synchronous per-request getter so\n // server HMR updates are picked up without re-executing the entry chunk.\n // Using require() (synchronous) avoids adding async overhead that would be\n // incorrectly attributed to application-code time in devRequestTiming.\n ...(process.env.TURBOPACK && process.env.__NEXT_DEV_SERVER\n ? {\n getUserland: () =>\n require('VAR_USERLAND') as typeof import('VAR_USERLAND'),\n }\n : {}),\n})\n\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule\n\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage,\n })\n}\n\nexport {\n routeModule,\n workAsyncStorage,\n workUnitAsyncStorage,\n serverHooks,\n patchFetch,\n}\n\nexport async function handler(\n req: IncomingMessage,\n res: ServerResponse,\n ctx: {\n waitUntil?: (prom: Promise<void>) => void\n requestMeta?: RequestMeta\n }\n) {\n if (ctx.requestMeta) {\n setRequestMeta(req, ctx.requestMeta)\n }\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint())\n }\n let srcPage = 'VAR_DEFINITION_PAGE'\n\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/'\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/'\n }\n const multiZoneDraftMode = process.env\n .__NEXT_MULTI_ZONE_DRAFT_MODE as any as boolean\n\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode,\n })\n\n if (!prepareResult) {\n res.statusCode = 400\n res.end('Bad Request')\n ctx.waitUntil?.(Promise.resolve())\n return null\n }\n\n const {\n buildId,\n deploymentId,\n params,\n nextConfig,\n parsedUrl,\n isDraftMode,\n prerenderManifest,\n routerServerContext,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n resolvedPathname,\n clientReferenceManifest,\n serverActionsManifest,\n } = prepareResult\n\n const normalizedSrcPage = normalizeAppPath(srcPage)\n\n let isIsr = Boolean(\n prerenderManifest.dynamicRoutes[normalizedSrcPage] ||\n prerenderManifest.routes[resolvedPathname]\n )\n\n const render404 = async () => {\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext?.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false)\n } else {\n res.end('This page could not be found')\n }\n return null\n }\n\n if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname])\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage]\n\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n if (nextConfig.adapterPath) {\n return await render404()\n }\n throw new NoFallbackError()\n }\n }\n }\n\n let cacheKey: string | null = null\n\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey\n }\n\n const supportsDynamicResponse: boolean =\n // If we're in development, we always support dynamic HTML\n routeModule.isDev === true ||\n // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr\n\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse\n\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest,\n })\n }\n\n const method = req.method || 'GET'\n const tracer = getTracer()\n const activeSpan = tracer.getActiveScopeSpan()\n const isWrappedByNextServer = Boolean(\n routerServerContext?.isWrappedByNextServer\n )\n const isMinimalMode = Boolean(getRequestMeta(req, 'minimalMode'))\n\n const incrementalCache =\n getRequestMeta(req, 'incrementalCache') ||\n (await routeModule.getIncrementalCache(\n req,\n nextConfig,\n prerenderManifest,\n isMinimalMode\n ))\n\n incrementalCache?.resetRequestCache()\n ;(globalThis as any).__incrementalCache = incrementalCache\n\n const context: AppRouteRouteHandlerContext = {\n params,\n previewProps: prerenderManifest.preview,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts),\n useCacheTimeout: nextConfig.experimental.useCacheTimeout,\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n validationLevel: nextConfig.experimental.instantInsights.validationLevel,\n supportsDynamicResponse,\n incrementalCache,\n hmrRefreshHash: getRequestMeta(req, 'hmrRefreshHash'),\n cacheLifeProfiles: nextConfig.cacheLife,\n staticPageGenerationTimeout: nextConfig.staticPageGenerationTimeout,\n waitUntil: ctx.waitUntil,\n onClose: (cb) => {\n res.on('close', cb)\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (\n error,\n _request,\n errorContext,\n silenceLog\n ) =>\n routeModule.onRequestError(\n req,\n error,\n errorContext,\n silenceLog,\n routerServerContext\n ),\n },\n sharedContext: {\n buildId,\n deploymentId,\n },\n }\n const nodeNextReq = new NodeNextRequest(req)\n const nodeNextRes = new NodeNextResponse(res)\n\n const nextReq = NextRequestAdapter.fromNodeNextRequest(\n nodeNextReq,\n signalFromNodeResponse(res)\n )\n\n const responseGenerator: ResponseGenerator = async ({\n previousCacheEntry,\n }) => {\n try {\n if (\n !isMinimalMode &&\n isOnDemandRevalidate &&\n revalidateOnlyGenerated &&\n !previousCacheEntry\n ) {\n res.statusCode = 404\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED')\n res.end('This page could not be found')\n return null\n }\n\n const response = await routeModule.handle(nextReq, context)\n\n ;(req as any).fetchMetrics = (context.renderOpts as any).fetchMetrics\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil\n\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil)\n pendingWaitUntil = undefined\n }\n }\n const cacheTags = context.renderOpts.collectedTags\n\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob()\n\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers)\n\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags\n }\n\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type\n }\n\n const revalidate =\n typeof context.renderOpts.collectedRevalidate === 'undefined' ||\n context.renderOpts.collectedRevalidate >= INFINITE_CACHE\n ? false\n : context.renderOpts.collectedRevalidate\n\n const expire =\n typeof context.renderOpts.collectedExpire === 'undefined' ||\n context.renderOpts.collectedExpire >= INFINITE_CACHE\n ? // Fall back to the global `expireTime` config when the\n // route has a numeric `revalidate` but didn't declare an\n // explicit `expire` (e.g. via `cacheLife`). This mirrors the\n // build-time fallback in `build/index.ts` so cache entries\n // and the response Cache-Control header agree on the route's\n // effective expire. Routes that opt out of revalidation\n // (`revalidate: false`) or that are dynamic (`revalidate: 0`)\n // keep `expire: undefined`.\n revalidate !== false && revalidate > 0\n ? nextConfig.expireTime\n : undefined\n : context.renderOpts.collectedExpire\n\n // Create the cache entry for the response.\n const cacheEntry: ResponseCacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers,\n },\n cacheControl: { revalidate, expire },\n }\n\n return cacheEntry\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, pendingWaitUntil)\n return null\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry?.isStale) {\n const silenceLog = false\n await routeModule.onRequestError(\n req,\n err,\n {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate,\n }),\n },\n silenceLog,\n routerServerContext\n )\n }\n throw err\n }\n }\n\n const handleResponse = async (\n currentSpan: Span | undefined,\n parentSpan: Span | undefined\n ) => {\n try {\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode,\n })\n\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return\n }\n\n if (cacheEntry?.value?.kind !== CachedRouteKind.APP_ROUTE) {\n throw new Error(\n `Invariant: app-route received invalid cache entry ${cacheEntry?.value?.kind}`\n )\n }\n\n if (!isMinimalMode) {\n res.setHeader(\n 'x-nextjs-cache',\n isOnDemandRevalidate\n ? 'REVALIDATED'\n : cacheEntry.isMiss\n ? 'MISS'\n : cacheEntry.isStale\n ? 'STALE'\n : 'HIT'\n )\n }\n\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader(\n 'Cache-Control',\n 'private, no-cache, no-store, max-age=0, must-revalidate'\n )\n }\n\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers)\n\n if (!(isMinimalMode && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER)\n }\n\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (\n cacheEntry.cacheControl &&\n !res.getHeader('Cache-Control') &&\n !headers.get('Cache-Control')\n ) {\n headers.set(\n 'Cache-Control',\n getCacheControlHeader(cacheEntry.cacheControl)\n )\n }\n\n await sendResponse(\n nodeNextReq,\n nodeNextRes,\n // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.\n new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200,\n })\n )\n return\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n const silenceLog = false\n await routeModule.onRequestError(\n req,\n err,\n {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate,\n }),\n },\n silenceLog,\n routerServerContext\n )\n }\n\n // rethrow so that we can handle serving error page\n\n // If this is during static generation, throw the error again.\n if (isIsr) throw err\n\n // Otherwise, send a 500 response.\n await sendResponse(\n nodeNextReq,\n nodeNextRes,\n new Response(null, { status: 500 })\n )\n return\n } finally {\n ;(() => {\n if (!currentSpan) {\n return\n }\n\n let statusCode = res.statusCode\n\n currentSpan.setAttributes({\n 'http.status_code': statusCode,\n 'next.rsc': false,\n })\n\n if (statusCode && statusCode >= 500) {\n // For 5xx status codes: SHOULD be set to 'Error' span status.\n // x-ref: https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status\n currentSpan.setStatus({\n code: SpanStatusCode.ERROR,\n })\n // For span status 'Error', SHOULD set 'error.type' attribute.\n currentSpan.setAttribute('error.type', statusCode.toString())\n }\n\n const rootSpanAttributes = tracer.getRootSpanAttributes()\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return\n }\n\n if (\n rootSpanAttributes.get('next.span_type') !==\n BaseServerSpan.handleRequest\n ) {\n console.warn(\n `Unexpected root span type '${rootSpanAttributes.get(\n 'next.span_type'\n )}'. Please report this Next.js issue https://github.com/vercel/next.js`\n )\n return\n }\n\n const route = rootSpanAttributes.get('next.route') || normalizedSrcPage\n const name = `${method} ${route}`\n\n currentSpan.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name,\n })\n currentSpan.updateName(name)\n\n // Propagate http.route to the parent span if one exists (e.g.\n // a platform-created HTTP span in adapter deployments).\n if (parentSpan && parentSpan !== currentSpan) {\n parentSpan.setAttribute('http.route', route)\n parentSpan.updateName(name)\n }\n })()\n }\n }\n\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (isWrappedByNextServer && activeSpan) {\n await handleResponse(activeSpan, undefined)\n } else {\n let parentSpan = tracer.getActiveScopeSpan()\n await tracer.withPropagatedContext(\n req.headers,\n () =>\n tracer.trace(\n BaseServerSpan.handleRequest,\n {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url,\n },\n },\n (span) => handleResponse(span, parentSpan)\n ),\n undefined,\n !isWrappedByNextServer\n )\n }\n}\n"],"names":["SANS_FONTS","id","label","note","MONO_FONTS","DEFAULT_SETTINGS","theme","accentColor","fontSize","fontSans","fontMono","editor","autoSave","wordWrap","lineNumbers","previewMode","project","autoRefresh","showHidden","mcp","endpoint","DEFAULT_SKILLS","name","description","trigger","prompt","tools","icon","DEFAULT_AGENTS","skills","active","AppRouteRouteModule","RouteKind","patchFetch","_patchFetch","addRequestMeta","getRequestMeta","setRequestMeta","getTracer","SpanKind","SpanStatusCode","setManifestsSingleton","normalizeAppPath","NodeNextRequest","NodeNextResponse","NextRequestAdapter","signalFromNodeResponse","BaseServerSpan","getRevalidateReason","sendResponse","fromNodeOutgoingHttpHeaders","toNodeOutgoingHttpHeaders","getCacheControlHeader","INFINITE_CACHE","NEXT_CACHE_TAGS_HEADER","NoFallbackError","CachedRouteKind","routeModule","definition","kind","APP_ROUTE","page","pathname","filename","bundlePath","distDir","process","env","__NEXT_RELATIVE_DIST_DIR","relativeProjectDir","__NEXT_RELATIVE_PROJECT_DIR","resolvedPagePath","nextConfigOutput","userland","require","TURBOPACK","__NEXT_DEV_SERVER","getUserland","workAsyncStorage","workUnitAsyncStorage","serverHooks","handler","req","res","ctx","requestMeta","isDev","hrtime","bigint","srcPage","replace","multiZoneDraftMode","__NEXT_MULTI_ZONE_DRAFT_MODE","prepareResult","prepare","statusCode","end","waitUntil","Promise","resolve","buildId","deploymentId","params","nextConfig","parsedUrl","isDraftMode","prerenderManifest","routerServerContext","isOnDemandRevalidate","revalidateOnlyGenerated","resolvedPathname","clientReferenceManifest","serverActionsManifest","normalizedSrcPage","isIsr","Boolean","dynamicRoutes","routes","render404","isPrerendered","prerenderInfo","fallback","adapterPath","cacheKey","supportsDynamicResponse","isStaticGeneration","method","tracer","activeSpan","getActiveScopeSpan","isWrappedByNextServer","isMinimalMode","incrementalCache","getIncrementalCache","resetRequestCache","globalThis","__incrementalCache","context","previewProps","preview","renderOpts","experimental","authInterrupts","useCacheTimeout","cacheComponents","validationLevel","instantInsights","hmrRefreshHash","cacheLifeProfiles","cacheLife","staticPageGenerationTimeout","onClose","cb","on","onAfterTaskError","undefined","onInstrumentationRequestError","error","_request","errorContext","silenceLog","onRequestError","sharedContext","nodeNextReq","nodeNextRes","nextReq","fromNodeNextRequest","responseGenerator","previousCacheEntry","setHeader","response","handle","fetchMetrics","pendingWaitUntil","cacheTags","collectedTags","blob","headers","type","revalidate","collectedRevalidate","expire","collectedExpire","expireTime","cacheEntry","value","status","body","Buffer","from","arrayBuffer","cacheControl","err","isStale","routerKind","routePath","routeType","revalidateReason","handleResponse","currentSpan","parentSpan","routeKind","isFallback","isRoutePPREnabled","Error","isMiss","delete","getHeader","get","set","Response","setAttributes","setStatus","code","ERROR","setAttribute","toString","rootSpanAttributes","getRootSpanAttributes","handleRequest","console","warn","route","updateName","withPropagatedContext","trace","spanName","SERVER","attributes","url","span"],"mappings":"wCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QC0DO,IAAMK,EAAgC,CAC3CC,MAAO,OACPC,YAAa,OACbC,SAAU,SACVC,SAAU,QACVC,SAAU,aACVC,OAAQ,CACNC,SAAU,GACVC,UAAU,EACVC,aAAa,EACbC,YAAa,OACf,EACAC,QAAS,CACPC,YAAa,GACbC,YAAY,CACd,EACAC,IAAK,CACHC,SAAU,+BACZ,CACF,EAEaC,EAA0B,CACrC,CACEpB,GAAI,cACJqB,KAAM,cACNC,YAAa,8DACbC,QAAS,UACTC,OAAQ,mNACRC,MAAO,CAAC,mBAAoB,sBAAsB,CAClDC,KAAM,IACR,EACA,CACE1B,GAAI,gBACJqB,KAAM,0BACNC,YAAa,+CACbC,QAAS,QACTC,OAAQ,0HACRC,MAAO,CAAC,mBAAoB,oBAAoB,CAChDC,KAAM,IACR,EACA,CACE1B,GAAI,cACJqB,KAAM,cACNC,YAAa,oDACbC,QAAS,QACTC,OAAQ,uIACRC,MAAO,CAAC,mBAAoB,sBAAsB,CAClDC,KAAM,IACR,EACD,CAEYC,EAA0B,CACrC,CACE3B,GAAI,iBACJqB,KAAM,iBACNK,KAAM,KACNJ,YAAa,8BACbM,OAAQ,CAAC,cAAe,cAAc,CACtCJ,OAAQ,6EACRK,QAAQ,CACV,EACA,CACE7B,GAAI,UACJqB,KAAM,oBACNK,KAAM,KACNJ,YAAa,+BACbM,OAAQ,CAAC,gBAAgB,CACzBJ,OAAQ,qFACRK,QAAQ,CACV,EACD,CD5HK,EAAgB,gBAChB,EAAc,cACd,EAAc,cAEpB,eAAe,EAAiB,CAAY,EAC1C,IAAM,EAAM,EAAA,OAAI,CAAC,IAAI,CAAC,EANJ,IAMU,QAC5B,GAAI,CACF,MAAM,EAAA,OAAE,CAAC,KAAK,CAAC,EAAK,CAAE,WAAW,CAAK,EACxC,CAAE,KAAM,CAAC,CACT,OAAO,CACT,CAEA,eAAe,EAAgB,CAAgB,CAAE,CAAe,EAC9D,GAAI,CACF,IAAM,EAAU,MAAM,EAAA,OAAE,CAAC,QAAQ,CAAC,EAAU,QAC5C,MAAO,CAAE,GAAG,CAAY,CAAE,GAAG,KAAK,KAAK,CAAC,EAAQ,AAAC,CACnD,CAAE,KAAM,CACN,OAAO,CACT,CACF,CAEA,eAAe,EAAc,CAAgB,CAAE,CAAa,EAC1D,MAAM,EAAA,OAAE,CAAC,SAAS,CAAC,EAAU,KAAK,SAAS,CAAC,EAAM,KAAM,GAAI7B,OAC9D,CAEOC,eAAe,EAAI,CAAgB,EACxC,IAAM,EAAO,EAAI,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,SAAW,CAAA,EAAA,EAAA,iBAAA,AAAiB,IAChE,EAAO,EAAI,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,SAAW,MAC/C,EAAM,MAAM,EAAiB,GAEnC,GAAIC,CACF,GAAa,aAAT,GAAuB,AAAS,UAAO,CACzC,IAAM,EAAW,MAAM,EAA0B,EAAA,OAAI,CAAC,IAAI,CAAC,EAAK,GAAgB,GAChF,GAAa,aAAT,EAAqB,OAAO,EAAA,YAAYA,CAAC,IAAI,CAAC,EACpD,CAEA,GAAa,WAAT,GAA8B,QAATD,EAAgB,CACvCC,IAAM,EAAS,MAAM,EAAkC,EAAA,OAAI,CAAC,IAAI,CAACD,EAAK,GAAc,CAAE,OAAQ,CAAe,GAC7G,GAAa,WAAT,EAAmB,OAAO,EAAA,YAAY,CAAC,IAAI,CAAC,EAClD,CAEA,GAAa,WAAT,GAA8B,QAATA,EAAgB,CACvC,IAAM,EAAS,MAAM,EAAkC,EAAA,OAAI,CAAC,IAAI,CAAC,EAAK,GAAc,CAAE,OAAQ,CAAe,GAC7G,GAAa,WAAT,EAAmB,OAAO,EAAA,YAAY,CAAC,IAAI,CAACG,EAClD,CAGA,GAAM,CAAC,EAAU,EAAY,EAAW,CAAG,MAAM,QAAQI,GAAG,CAAC,CAC3D,EAA0B,EAAA,OAAI,CAAC,IAAI,CAAC,EAAK,GAAgB,GACzD,EAAkC,EAAA,OAAI,CAAC,IAAI,CAAC,EAAK,GAAc,CAAE,OAAQ,CAAe,GACxF,EAAkC,EAAA,OAAI,CAAC,IAAI,CAAC,EAAK,GAAc,CAAE,OAAQ,CAAe,GACzF,EAED,OAAO,EAAA,YAAY,CAAC,IAAI,CAAC,CACvB,WACA,OAAQ,EAAWc,MAAM,CACzB,OAAQ,EAAW,MAAM,AAC3B,EACF,CAAE,MAAO,EAAG,CACV,OAAO,EAAA,YAAY,CAAC,IAAI,CAAC,CAAE,MAAQ,EAAY,OAAQ,AAAD,EAAI,CAAE,OAAQ,GAAI,EAC1E,CACF,CAEO,eAAe,EAAI,CAAgB,EACxC,IAAM,EAAO,EAAI,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,SAAW,CAAA,EAAA,EAAA,iBAAA,AAAiB,IAChE,EAAO,EAAI,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,QACpC,EAAM,MAAM,EAAiB,GAEnC,GAAI,CACF,IAAM,EAAO,MAAM,EAAI,IAAI,GAE3B,OAAQ,GACN,IAAK,WACH,MAAM,EAAc,EAAA,OAAI,CAAC,IAAI,CAAC,EAAK,GAAgB,GACnD,KACF,KAAK,SACH,MAAM,EAAc,EAAA,OAAI,CAAC,IAAI,CAAC,EAAK,GAAc,CAAE,OAAQ,CAAK,GAChE,KACF,KAAK,SACHG,MAAM,EAAc,EAAA,OAAI,CAAC,IAAI,CAAC,EAAK,GAAc,CAAE,OAAQ,CAAK,GAChE,KACF,SACE,OAAO,EAAA,YAAY,CAAC,IAAI,CAAC,CAAE,MAAO,cAAe,EAAG,CAAE,OAAQ,GAAI,EACtE,CAEA,OAAO,EAAA,YAAY,CAAC,IAAI,CAAC,CAAE,IAAID,CAAK,EACtC,CAAE,MAAO,EAAG,CACV,OAAO,EAAA,YAAY,CAAC,IAAI,CAAC,CAAE,MAAQ,EAAY,OAAQ,AAAD,EAAI,CAAE,OAAQ,GAAI,EAC1E,CACF,4DEhGA,IAAA,EAIO,EAAA,CAHLM,AAGK,CAAA,QACP,EAA0B,EAAyB,CAAA,AAA1CC,CAA0C,EAAA,EAJ9B,GAGwC,CAE7D,AADkB,EACwB,EAFnC,AAEmC,CAAjCC,AAAiC,CAAA,EADhB,CAC8C,KAExE,EAGEI,EAEK,CAJLF,AAIK,AAPgBD,CAOhB,KAFS,GAGhB,EAIgB,AAZkB,EAa3B,CAVS,AAIT,AAELI,AAIK,CAAA,CATLF,CASK,EAbmC,GAOR,CAEvB,AAKX,EAAsC,AAHpCG,EAGoC,CAA7BE,AAA6B,CADA,AACA,CAVtB,EACdJ,CAMQ,EACRG,EAGF,EAAiC,EAAA,CAAxBE,AAAwB,CADkD,AAClD,KAAyC,CAD5C,AAFd,EAIhB,EAA0C,EAAQ,CAAA,AAAzCC,CAF6B,AAEY,CADzB,OAEzB,CAFiC,CAC8C,AAG7EG,EACK,CAFLD,AAEK,CAAA,AAJiB,CAGA,CAHED,MAK1B,CADO,CACwB,EAAkC,CAAxDG,AAAwD,CAAA,GAH7C,CAFsB,CAGxCD,GAGF,EAAoC,EAAA,CADb,AACa,AAA3BE,CAA2B,EAD6B,CACO,IADzC,CAE/B,EAA6B,EAA4B,CAAhDC,AAAgD,CAAA,GAHK,CAElC,IAC6B,AACzD,EAEEE,CAHmB,CAGM,AAJS,CAIT,AADzBD,CACyB,CACpB,IAJsB,GAK7B,EAAsC,EAAA,CAFX,AAElBE,AAA6B,CAAA,CAAgC,OACtE,EAAyBE,CAAsB,CAFhB,AAEwB,AAJ1B,CAI0B,AAA9CD,CAA8C,AAHrDF,KAGqD,CADzB,CAC8C,CAC5E,EAAgC,EAAA,CAAvBI,AAAuB,AADT,CADe,AAEN,CADPD,OACoD,MAArD,MACxB,EADgC,EAChC,EAIO,EAA6B,CAHlCE,AAGkC,CAAA,QAWpC,IAAMC,AAX8B,EAWhB,AAdH,IAcO1B,EAAAA,EAXjB,iBAWiBA,CAAoB,CAC1C2B,WAAY,CACVC,KAAM3B,EAAAA,SAAAA,CAAU4B,SAAS,CACzBC,KAAM,sBACNC,SAAU,gBACVC,SAAU,QACVC,WAAY,EACd,EACAC,QAAqBG,CAAZF,EAAoC,KAC7CG,CADiBF,GAAgC,AAA7B,CAACC,cAC0C,CAA3CF,EACpBK,MAD4BJ,GAAG,CAACG,OACd,oBADyC,sBAE3DE,iBAbF,CAA0B,EAqBxBC,SAAU,IAAMC,EAAQ,CAAA,CAAA,IAAA,IAKxB,GAAIR,AAKA,CAAC,CAAC,AACR,GAKM,GAXQC,GAAG,CAACQ,SAAS,EAWnBG,CAAgB,CAXOZ,QAAQC,GAAG,CAACS,CACrC,QAUoBG,CAAoB,OAXc,MAWZC,CAAW,CAAE,CAAGvB,EAiBzD,eAAewB,EACpBC,CAAoB,CACpBC,CAAmB,CACnBC,CAGC,EAEGA,EAAIC,WAAW,EAAE,GACnBhD,EAAAA,cAAAA,EAAe6C,EAAKE,EAAIC,WAAW,EAEjC5B,EAAY6B,KAAK,EAAE,GACrBnD,EAAAA,cAAAA,EAAe+C,EAAK,+BAAgChB,QAAQqB,MAAM,CAACC,MAAM,IAE3E,IAAIC,EAAU,sBAMZA,EAAUA,EAAQC,OAAO,CAAC,WAAY,KAAO,IAQ/C,IAAMG,EAAgB,MAAMpC,EAAYqC,OAAO,CAACZ,EAAKC,EAAK,SACxDM,EACAE,mBAJCC,CAAAA,CAKH,GAEA,EAP+B,CAO3B,CAACC,EAIH,OAHAV,EAAIY,IADc,MACJ,CAAG,IACjBZ,EAAIa,GAAG,CAAC,eACK,MAAbZ,CAAa,CAATa,IAAS,KAAA,EAAbb,EAAIa,SAAS,CAAA,IAAA,CAAbb,EAAgBc,QAAQC,OAAO,IACxB,KAGT,GAAM,CACJC,SAAO,cACPC,CAAY,QACZC,CAAM,YACNC,CAAU,WACVC,CAAS,aACTC,CAAW,CACXC,mBAAiB,qBACjBC,CAAmB,sBACnBC,CAAoB,yBACpBC,CAAuB,kBACvBC,CAAgB,yBAChBC,CAAuB,uBACvBC,CAAqB,CACtB,CAAGnB,EAEEoB,EAAAA,CAAAA,EAAoBvE,EAAAA,gBAAAA,EAAiB+C,GAEvCyB,GAAQC,EACVT,EAAkBU,aAAa,CAACH,EAAkB,EAChDP,EAAkBW,MAAM,CAACP,EAAAA,AAAiB,EAGxCQ,EAAY,WAEZX,MAAAA,EAAAA,KAAAA,EAAAA,EAAqBW,SAAAA,AAAS,EAAE,AAClC,MAAMX,EAAoBW,SAAS,CAACpC,EAAKC,EAAKqB,GAAW,GAEzDrB,EAAIa,GAAG,CAAC,gCAEH,MAGT,GAAIkB,GAAS,CAACT,EAAa,CACzB,IAAMc,EAAgBJ,EAAQT,EAAkBW,MAAM,CAACP,EAAiB,CAClEU,EAAgBd,EAAkBU,aAAa,CAACH,EAAkB,CAExE,GAAIO,IAC6B,IAA3BA,EAAcC,KADD,GACS,EAAc,CAACF,EAAe,CACtD,GAAIhB,EAAWmB,WAAW,CACxB,CAD0B,MACnB,MAAMJ,GAEf,OAAM,IAAI/D,EAAAA,eAAAA,AACZ,CAEJ,CAEA,IAAIoE,EAA0B,MAE1BT,GAAUzD,EAAY6B,IAAb,CAAkB,EAAKmB,EAAD,EAGjCkB,EAAWA,AAAa,OAHuB,KAC/CA,EAAWb,CAAAA,EAEwB,IAAMa,CAAAA,EAG3C,IAAMC,GAEkB,IAAtBnE,EAAY6B,EACZ,GADiB,EAGjB,CAAC4B,EAMGW,EAAqBX,GAAS,CAACU,EAKjCZ,GAAyBD,MAC3BtE,EAAAA,CAhB0D,gBAeN,IACpDA,EAAsB,CACpBoB,KAAM4B,aAf6D,aAgBnEsB,wBACAC,CACF,GAGF,IAAMc,EAAS5C,EAAI4C,MAAM,EAAI,MACvBC,EAAAA,CAAAA,EAASzF,EAAAA,SAAAA,IACT0F,EAAaD,EAAOE,kBAAkB,GACtCC,EAAwBf,GAC5BR,MAAAA,EAAAA,KAAAA,EAAAA,EAAqBuB,qBAAAA,AAAqB,EAEtCC,EAAgBhB,EAAAA,CAAAA,EAAQ/E,EAAAA,cAAAA,EAAe8C,EAAK,eAE5CkD,EAAAA,CAAAA,EACJhG,EAAAA,cAAAA,EAAe8C,EAAK,qBACnB,MAAMzB,EAAY4E,mBAAmB,CACpCnD,EACAqB,EACAG,EACAyB,EAGJC,OAAAA,GAAAA,EAAAA,AAAkBE,iBAAiB,GACjCC,WAAmBC,kBAAkB,CAAGJ,EAE1C,IAAMK,EAAuC,QAC3CnC,EACAoC,aAAchC,EAAkBiC,OAAO,CACvCC,WAAY,CACVC,aAAc,CACZC,gBAAgB3B,CAAQZ,EAAWsC,YAAY,CAACC,cAAc,CAC9DC,gBAAiBxC,EAAWsC,YAAY,CAACE,eAAe,AAC1D,EACAC,iBAAiB7B,CAAQZ,EAAWyC,eAAe,CACnDC,gBAAiB1C,EAAWsC,YAAY,CAACK,eAAe,CAACD,eAAe,yBACxErB,EACAQ,mBACAe,eAAAA,CAAAA,EAAgB/G,EAAAA,cAAAA,EAAe8C,EAAK,kBACpCkE,kBAAmB7C,EAAW8C,SAAS,CACvCC,4BAA6B/C,EAAW+C,2BAA2B,CACnErD,UAAWb,EAAIa,SAAS,CACxBsD,QAAS,AAACC,IACRrE,EAAIsE,EAAE,CAAC,QAASD,EAClB,EACAE,sBAAkBC,EAClBC,8BAA+B,CAC7BC,EACAC,EACAC,EACAC,IAEAvG,EAAYwG,cAAc,CACxB/E,EACA2E,EACAE,EACAC,EACArD,EAEN,EACAuD,cAAe,SACb9D,eACAC,CACF,CACF,EACM8D,EAAc,IAAIxH,EAAAA,eAAAA,CAAgBuC,GAClCkF,EAAc,IAAIxH,EAAAA,gBAAAA,CAAiBuC,GAEnCkF,EAAUxH,EAAAA,kBAAAA,CAAmByH,mBAAmB,CACpDH,EAAAA,CAAAA,EACArH,EAAAA,sBAAAA,EAAuBqC,IAGnBoF,EAAuC,MAAO,oBAClDC,CAAkB,CACnB,IACC,GAAI,CACF,GACE,CAACrC,GACDvB,GACAC,GACA,CAAC2D,EAMD,OAJArF,EAAIY,SADJ,CACc,CAAG,IAEjBZ,EAAIsF,SAAS,CAAC,iBAAkB,eAChCtF,EAAIa,GAAG,CAAC,gCACD,KAGT,IAAM0E,EAAW,MAAMjH,EAAYkH,MAAM,CAACN,EAAS5B,GAEjDvD,EAAY0F,YAAY,CAAInC,EAAQG,UAAU,CAASgC,YAAY,CACrE,IAAIC,EAAmBpC,EAAQG,UAAU,CAACiC,gBAAgB,CAItDA,GACEzF,EAAIa,SAAS,EAAE,CACjBb,CAFkB,CAEda,SAAS,CAAC4E,GACdA,EAAmBlB,QAGvB,IAAMmB,EAAYrC,EAAQG,UAAU,CAACmC,aAAa,CAIlD,IAAI7D,EAmDF,OADA,MAAA,CAAA,EAAMjE,EAAAA,YAAAA,EAAakH,EAAaC,EAAaM,EAAUG,GAChD,IAnDE,EACT,IAAMG,EAAO,MAAMN,EAASM,IAAI,GAG1BC,EAAAA,CAAAA,EAAU9H,EAAAA,yBAAAA,EAA0BuH,EAASO,OAAO,EAEtDH,IACFG,CAAO,CAAC3H,EAAAA,GADK,mBACLA,CAAuB,CAAGwH,CAAAA,EAGhC,CAACG,CAAO,CAAC,eAAe,EAAID,EAAKE,IAAI,EAAE,CACzCD,CAAO,CAAC,eAAe,CAAGD,EAAKE,IAAAA,AAAI,EAGrC,IAAMC,EACJ,KAAkD,IAA3C1C,EAAQG,UAAU,CAACwC,mBAAmB,IAC7C3C,EAAQG,UAAU,CAACwC,mBAAmB,EAAI/H,EAAAA,cAAAA,GACtC,AACAoF,EAAQG,UAAU,CAACwC,mBAAmB,CAEtCC,EACJ,KAA8C,IAAvC5C,EAAQG,UAAU,CAAC0C,eAAe,EACzC7C,EAAQG,UAAU,CAAC0C,eAAe,EAAIjI,EAAAA,cAAAA,EASnB,CAPf,AACA,GAMA8H,GAAwBA,EAAa,EACnC5E,EAAWgF,UAAU,MACrB5B,EACFlB,EAAQG,UAAU,CAAC0C,cAVsC,CAUvB,CAaxC,EAtBmE,IAY5B,CACrCG,AASKD,MATE,CACL7H,KAAMH,EAAAA,eAAAA,CAAgBI,SAAS,CAC/B8H,OAAQhB,EAASgB,MAAM,CACvBC,KAAMC,OAAOC,IAAI,CAAC,MAAMb,EAAKc,WAAW,YACxCb,CACF,EACAc,aAAc,CAAEZ,oBAAYE,CAAO,CACrC,CAGF,CAKF,CAAE,KALO,CAKAW,EAAK,CAqBZ,MAlBIxB,MAAAA,EAAAA,KAAAA,EAAAA,EAAoByB,OAAAA,AAAO,EAAE,CAE/B,MAAMxI,EAAYwG,cAAc,CAC9B/E,EACA8G,EACA,CACEE,WAAY,aACZC,UAAW1G,EACX2G,UAAW,QACXC,iBAAAA,CAAAA,EAAkBrJ,EAAAA,mBAAAA,EAAoB,oBACpC6E,uBACAjB,CACF,EACF,GACAoD,AAbiB,EAcjBrD,GAGEqF,CACR,CACF,EAEMM,EAAiB,MACrBC,EACAC,KAEA,GAAI,KAqBEhB,EAEqDA,EAtBzD,IAAMA,EAAa,MAAM/H,EAAY6I,cAAc,CAAC,KAClDpH,aACAqB,WACAoB,EACA8E,UAAWzK,EAAAA,SAAAA,CAAU4B,SAAS,CAC9B8I,YAAY,EACZhG,oBACAiG,mBAAmB,uBACnB/F,0BACAC,oBACA0D,EACAtE,UAAWb,EAAIa,SAAS,eACxBkC,CACF,GAGA,GAAI,CAACjB,EACH,KADU,EAIZ,GAAIsE,CAAAA,MAAAA,CAAAA,EAAAA,AAAiB,GAAjBA,GAAAA,GAAAA,EAAYC,KAAAA,AAAK,EAAA,KAAA,EAAjBD,EAAmB7H,IAAI,IAAKH,EAAAA,eAAAA,CAAgBI,SAAS,CACvD,CADyD,KACnD,OAAA,cAEL,CAFK,AAAIgJ,MACR,CAAC,kDAAkD,EAAEpB,MAAAA,CAAAA,EAAAA,AAAiB,GAAjBA,IAAAA,EAAAA,EAAYC,KAAAA,AAAK,EAAA,KAAA,EAAjBD,EAAmB7H,IAAI,CAAA,CAAE,EAD1E,oBAAA,OAAA,mBAAA,gBAAA,CAEN,EAGE,CAACwE,GACHhD,EAAIsF,SAAS,CADK,AAEhB,iBACA7D,EACI,cACA4E,EAAWqB,MAAM,CACf,OACArB,EAAWS,OAAO,CAChB,QACA,OAKRxF,GACFtB,EAAIsF,QADW,CACF,CACX,gBACA,2DAIJ,IAAMQ,EAAAA,CAAAA,EAAU/H,EAAAA,2BAAAA,EAA4BsI,EAAWC,KAAK,CAACR,OAAO,CAEhE,CAAE9C,GAAiBjB,GACrB+D,EADyB,AACjB6B,GADqB,GACf,CAACxJ,EAAAA,sBAAAA,GAMfkI,EAAWO,YAAY,EACtB5G,EAAD,AAAK4H,SAAS,CAAC,kBACd9B,EAAD,AAAS+B,GAAG,CAAC,kBACb,AACA/B,EAAQgC,GAAG,CACT,gBAAA,CAAA,EACA7J,EAAAA,qBAAAA,EAAsBoI,EAAWO,YAAY,GAIjD,MAAA,CAAA,EAAM9I,EAAAA,YAAAA,EACJkH,EACAC,EAEA,IAAI8C,SAAS1B,EAAWC,KAAK,CAACE,IAAI,CAAE,SAClCV,EACAS,OAAQF,EAAWC,KAAK,CAACC,MAAM,EAAI,GACrC,IAEF,MACF,CAAE,MAAOM,EAAK,CAuBZ,GAtBMA,aAAezI,EAAAA,eAAc,EAEjC,CAFqC,KARiG,AAUhIE,EAAYwG,cAAc,CAC9B/E,EACA8G,EACA,CACEE,WAAY,aACZC,UAAWlF,EACXmF,UAAW,QACXC,iBAAAA,CAAAA,EAAkBrJ,EAAAA,mBAAAA,EAAoB,oBACpC6E,uBACAjB,CACF,EACF,GACAoD,AAbiB,EAcjBrD,GAOAO,EAAO,MAAM8E,CAGjB,OAAA,CAAA,EAAM/I,EAAAA,YAAAA,EACJkH,EACAC,EACA,IAAI8C,SAAS,KAAM,CAAExB,OAAQ,GAAI,IAEnC,MACF,QAAU,CACN,CAAA,KACA,GAAI,CAACa,EACH,OAGF,IAAIxG,AAJc,EAIDZ,EAAIY,UAAU,CAE/BwG,EAAYY,aAAa,CAAC,CACxB,mBAAoBpH,EACpB,YAAY,CACd,GAEIA,GAAcA,GAAc,KAAK,CAGnCwG,EAAYa,SAAS,CAAC,CACpBC,KAAM7K,EAAAA,cAAAA,CAAe8K,KAAK,AAC5B,GAEAf,EAAYgB,YAAY,CAAC,aAAcxH,EAAWyH,QAAQ,KAG5D,IAAMC,EAAqB1F,EAAO2F,qBAAqB,GAEvD,GAAI,CAACD,EACH,OAGF,GACEA,EAAmBT,GAAG,CAAC,EALA,kBAMvBjK,EAAAA,cAAAA,CAAe4K,aAAa,CAC5B,OACAC,QAAQC,IAAI,CACV,CAAC,2BAA2B,EAAEJ,EAAmBT,GAAG,CAClD,kBACA,qEAAqE,CAAC,EAK5E,IAAMc,EAAQL,EAAmBT,GAAG,CAAC,eAAiB/F,EAChD3F,EAAO,CAAA,EAAGwG,EAAO,CAAC,EAAEgG,EAAAA,CAAO,CAEjCvB,EAAYY,aAAa,CAAC,CACxB,aAAcW,EACd,aAAcA,EACd,iBAAkBxM,CACpB,GACAiL,EAAYwB,UAAU,CAACzM,GAInBkL,GAAcA,IAAeD,IAC/BC,EAAWe,OADiC,KACrB,CAAC,aAAcO,GACtCtB,EAAWuB,UAAU,CAACzM,IAE1B,CAAA,EACF,CACF,EAIA,GAAI4G,GAAyBF,EAC3B,MAAMsE,EAAetE,EADkB,AACN2B,YAC5B,CACL,IAAI6C,EAAazE,EAAOE,kBAAkB,EAC1C,OAAMF,EAAOiG,qBAAqB,CAChC9I,EAAI+F,OAAO,CACX,IACElD,EAAOkG,KAAK,CACVlL,EAAAA,cAAAA,CAAe4K,aAAa,CAC5B,CACEO,SAAU,CAAA,EAAGpG,EAAO,CAAC,EAAErC,EAAAA,CAAS,CAChC9B,KAAMpB,EAAAA,QAAAA,CAAS4L,MAAM,CACrBC,WAAY,CACV,cAAetG,EACf,cAAe5C,EAAImJ,GAAG,AACxB,CACF,EACA,AAACC,GAAShC,EAAegC,EAAM9B,IAEnC7C,OACA,CAACzB,EAEL,CACF,mCAhgBA,SAASjG,EACP,MAAA,CAAA,EAAOC,EAAAA,UAAAA,EAAY,kBACjB4C,uBACAC,CACF,EACF","ignoreList":[2]}
@@ -1,10 +1,10 @@
1
- module.exports=[378936,e=>e.a(async(t,a)=>{try{var n=e.i(192258),r=e.i(552681),s=e.i(799501),o=t([s]);function i(e){let t=[];return e.linting.length>0&&t.push(`- Linting: ${e.linting.join(", ")}`),e.testFramework&&t.push(`- Testing: ${e.testFramework}`),e.ciCd.length>0&&t.push(`- CI/CD: ${e.ciCd.join(", ")}`),e.branchStrategy&&t.push(`- Branch strategy: ${e.branchStrategy}`),e.deploymentTarget.length>0&&t.push(`- Deployment: ${e.deploymentTarget.join(", ")}`),e.conventions&&t.push(`- ${e.conventions}`),t.length>0?t.join("\n"):"- Follow existing code patterns\n- Write tests for new features"}[s]=o.then?(await o)():o;async function l(e){try{let t,a=e.nextUrl.searchParams.get("root")||(0,s.getConfiguredRoot)(),{templates:o,answers:l,mode:c}=await e.json(),p=await (0,s.listDocs)(a),u=new Set(p.map(e=>e.path));return t=function(e,t,a){let n=[],s=t.techStackTags.length>0?t.techStackTags.join(", "):"Not specified",o=i(t);for(let l of e){let e=r.TEMPLATES.find(e=>e.id===l.id);if(!e)continue;let c=l.path;if(a.has(c)){n.push({path:c,content:"",skipped:!0,reason:"already exists"});continue}let p=e.content;p="claude-md"===l.id?`# ${t.projectName} — Agent Instructions
1
+ module.exports=[378936,e=>{"use strict";var t=e.i(192258),a=e.i(552681),n=e.i(799501);function r(e){let t=[];return e.linting.length>0&&t.push(`- Linting: ${e.linting.join(", ")}`),e.testFramework&&t.push(`- Testing: ${e.testFramework}`),e.ciCd.length>0&&t.push(`- CI/CD: ${e.ciCd.join(", ")}`),e.branchStrategy&&t.push(`- Branch strategy: ${e.branchStrategy}`),e.deploymentTarget.length>0&&t.push(`- Deployment: ${e.deploymentTarget.join(", ")}`),e.conventions&&t.push(`- ${e.conventions}`),t.length>0?t.join("\n"):"- Follow existing code patterns\n- Write tests for new features"}async function s(e){try{let s,o=e.nextUrl.searchParams.get("root")||(0,n.getConfiguredRoot)(),{templates:i,answers:l,mode:c}=await e.json(),p=await (0,n.listDocs)(o),u=new Set(p.map(e=>e.path));return s=function(e,t,n){let s=[],o=t.techStackTags.length>0?t.techStackTags.join(", "):"Not specified",i=r(t);for(let l of e){let e=a.TEMPLATES.find(e=>e.id===l.id);if(!e)continue;let c=l.path;if(n.has(c)){s.push({path:c,content:"",skipped:!0,reason:"already exists"});continue}let p=e.content;p=function(e,t){let a=t.techStackTags.map(e=>e.toLowerCase()),n={DOCKER:a.some(e=>e.includes("docker")),POSTGRES:a.some(e=>e.includes("postgres")||e.includes("postgresql")),REDIS:a.some(e=>e.includes("redis")),CI:t.ciCd.length>0,TYPESCRIPT:a.some(e=>e.includes("typescript")),NEXTJS:a.some(e=>e.includes("next"))},r=e;for(let[e,t]of Object.entries(n)){let a=RegExp(`\\{\\{#IF_${e}\\}\\}([\\s\\S]*?)\\{\\{\\/IF_${e}\\}\\}`,"g");r=r.replace(a,t?"$1":"")}return r}(p="claude-md"===l.id?`# ${t.projectName} — Agent Instructions
2
2
 
3
3
  ## What this is
4
4
  ${t.description||"A software project."}
5
5
 
6
6
  ## Stack
7
- ${s}
7
+ ${o}
8
8
 
9
9
  ## Project type
10
10
  ${t.projectType.replace(/-/g," ")}
@@ -25,7 +25,7 @@ npm test
25
25
  \`\`\`
26
26
 
27
27
  ## Key conventions
28
- ${o}
28
+ ${i}
29
29
 
30
30
  ## Key features
31
31
  ${t.keyFeatures?t.keyFeatures.split(",").map(e=>`- ${e.trim()}`).join("\n"):"- Core functionality"}
@@ -39,17 +39,17 @@ ${t.keyFeatures?t.keyFeatures.split(",").map(e=>`- ${e.trim()}`).join("\n"):"- C
39
39
  See CLAUDE.md for detailed instructions.
40
40
 
41
41
  ## Stack
42
- ${s}
42
+ ${o}
43
43
 
44
44
  ## Key conventions
45
- ${o}
45
+ ${i}
46
46
  `:"gemini-md"===l.id?`# ${t.projectName} — Gemini Agent Instructions
47
47
 
48
48
  ## What this is
49
49
  ${t.description||"A software project."}
50
50
 
51
51
  ## Stack
52
- ${s}
52
+ ${o}
53
53
 
54
54
  ## Commands
55
55
  \`\`\`bash
@@ -60,12 +60,12 @@ npm test
60
60
  \`\`\`
61
61
 
62
62
  ## Key conventions
63
- ${o}
63
+ ${i}
64
64
 
65
65
  ## Non-negotiables
66
66
  - Follow existing code patterns
67
67
  - Write tests for new features
68
68
  - Never commit secrets or credentials
69
- `:function(e,t){let a=new Date().toISOString().split("T")[0],n=t.techStackTags.length>0?t.techStackTags.join(", "):"Not specified",r=t.keyFeatures?t.keyFeatures.split(",").map(e=>`- ${e.trim()}`).join("\n"):"",s=i(t),o=t.techStackTags.some(e=>e.toLowerCase().includes("pnpm"))?"pnpm":t.techStackTags.some(e=>e.toLowerCase().includes("yarn"))?"yarn":"npm",l=["typescript","javascript","python","go","rust","java","ruby","php","swift","kotlin","c#","elixir"].find(e=>t.techStackTags.some(t=>t.toLowerCase().includes(e)))??t.techStackTags[0]??"TypeScript",c=t.techStackTags.map(e=>e.toLowerCase()),p=c.some(e=>e.includes("postgres")||e.includes("postgresql"))?"postgresql://user:password@localhost:5432/mydb":c.some(e=>e.includes("mysql"))?"mysql://user:password@localhost:3306/mydb":c.some(e=>e.includes("mongodb")||e.includes("mongo"))?"mongodb://localhost:27017/mydb":c.some(e=>e.includes("sqlite"))?"sqlite:./data.db":"postgresql://user:password@localhost:5432/mydb",u=t.deploymentTarget[0]??"your-platform";return e.replace(/\{\{PROJECT_NAME\}\}/g,t.projectName||"My Project").replace(/\{\{PROJECT_TYPE\}\}/g,t.projectType||"web-app").replace(/\{\{TECH_STACK\}\}/g,n).replace(/\{\{DESCRIPTION\}\}/g,t.description||"").replace(/\{\{KEY_FEATURES\}\}/g,r).replace(/\{\{CONVENTIONS\}\}/g,s).replace(/\{\{DATE\}\}/g,a).replace(/\{\{REPO_URL\}\}/g,t.repoUrl||"").replace(/\{\{TEAM_SIZE\}\}/g,t.teamSize||"").replace(/\{\{TEST_FRAMEWORK\}\}/g,t.testFramework||"Jest").replace(/\{\{CI_CD\}\}/g,t.ciCd.join(", ")||"").replace(/\{\{BRANCH_STRATEGY\}\}/g,t.branchStrategy||"").replace(/\{\{PACKAGE_MANAGER\}\}/g,o).replace(/\{\{PRIMARY_LANGUAGE\}\}/g,l).replace(/\{\{DB_URL_EXAMPLE\}\}/g,p).replace(/\{\{DEPLOYMENT_PLATFORM\}\}/g,u)}(p,t),p=function(e,t){let a=t.techStackTags.map(e=>e.toLowerCase()),n={DOCKER:a.some(e=>e.includes("docker")),POSTGRES:a.some(e=>e.includes("postgres")||e.includes("postgresql")),REDIS:a.some(e=>e.includes("redis")),CI:t.ciCd.length>0,TYPESCRIPT:a.some(e=>e.includes("typescript")),NEXTJS:a.some(e=>e.includes("next"))},r=e;for(let[e,t]of Object.entries(n)){let a=RegExp(`\\{\\{#IF_${e}\\}\\}([\\s\\S]*?)\\{\\{\\/IF_${e}\\}\\}`,"g");r=r.replace(a,t?"$1":"")}return r}(p,t),n.push({path:c,content:p})}return n}(o,l,u),n.NextResponse.json({files:t})}catch(e){return n.NextResponse.json({error:e.message},{status:500})}}e.s(["POST",0,l]),a()}catch(e){a(e)}},!1),291692,e=>{"use strict";var t=e.i(440807),a=e.i(381144),n=e.i(522639),r=e.i(165892),s=e.i(781831),o=e.i(740095),i=e.i(931106),l=e.i(253258),c=e.i(488026),p=e.i(571998),u=e.i(666314),d=e.i(598783),h=e.i(759703),g=e.i(163677),m=e.i(450859),R=e.i(193695);e.i(582432);var E=e.i(274687);let f=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/setup/generate/route",pathname:"/api/setup/generate",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/setup/generate/route.ts",nextConfigOutput:"",userland:()=>e.r(378936),...{}}),{workAsyncStorage:T,workUnitAsyncStorage:C,serverHooks:y}=f;async function v(e,t,n){n.requestMeta&&(0,r.setRequestMeta)(e,n.requestMeta),f.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let T="/api/setup/generate/route";T=T.replace(/\/index$/,"")||"/";let C=await f.prepare(e,t,{srcPage:T,multiZoneDraftMode:!1});if(!C)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:y,deploymentId:v,params:w,nextConfig:S,parsedUrl:A,isDraftMode:N,prerenderManifest:b,routerServerContext:P,isOnDemandRevalidate:x,revalidateOnlyGenerated:_,resolvedPathname:k,clientReferenceManifest:O,serverActionsManifest:I}=C,j=(0,i.normalizeAppPath)(T),$=!!(b.dynamicRoutes[j]||b.routes[k]),q=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,A,!1):t.end("This page could not be found"),null);if($&&!N){let e=!!b.routes[k],t=b.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(S.adapterPath)return await q();throw new R.NoFallbackError}}let M=null;!$||f.isDev||N||(M="/index"===(M=k)?"/":M);let D=!0===f.isDev||!$,F=$&&!D;I&&O&&(0,o.setManifestsSingleton)({page:T,clientReferenceManifest:O,serverActionsManifest:I});let U=e.method||"GET",H=(0,s.getTracer)(),L=H.getActiveScopeSpan(),K=!!(null==P?void 0:P.isWrappedByNextServer),G=!!(0,r.getRequestMeta)(e,"minimalMode"),B=(0,r.getRequestMeta)(e,"incrementalCache")||await f.getIncrementalCache(e,S,b,G);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let W={params:w,previewProps:b.preview,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts,useCacheTimeout:S.experimental.useCacheTimeout},cacheComponents:!!S.cacheComponents,validationLevel:S.experimental.instantInsights.validationLevel,supportsDynamicResponse:D,incrementalCache:B,hmrRefreshHash:(0,r.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:S.cacheLife,staticPageGenerationTimeout:S.staticPageGenerationTimeout,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,n,r)=>f.onRequestError(e,t,n,r,P)},sharedContext:{buildId:y,deploymentId:v}},Y=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),J=c.NextRequestAdapter.fromNodeNextRequest(Y,(0,c.signalFromNodeResponse)(t)),V=async({previousCacheEntry:a})=>{try{if(!G&&x&&_&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await f.handle(J,W);e.fetchMetrics=W.renderOpts.fetchMetrics;let s=W.renderOpts.pendingWaitUntil;s&&n.waitUntil&&(n.waitUntil(s),s=void 0);let o=W.renderOpts.collectedTags;if(!$)return await (0,d.sendResponse)(Y,X,r,s),null;{let e=await r.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(r.headers);o&&(t[m.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,n=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=m.INFINITE_CACHE?!1!==a&&a>0?S.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:E.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==a?void 0:a.isStale)&&await f.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:x})},!1,P),t}},z=async(r,o)=>{try{var i,l;let r=await f.handleResponse({req:e,nextConfig:S,cacheKey:M,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:x,revalidateOnlyGenerated:_,responseGenerator:V,waitUntil:n.waitUntil,isMinimalMode:G});if(!$)return;if((null==r||null==(i=r.value)?void 0:i.kind)!==E.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==r||null==(l=r.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",x?"REVALIDATED":r.isMiss?"MISS":r.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(r.value.headers);G&&$||s.delete(m.NEXT_CACHE_TAGS_HEADER),!r.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,g.getCacheControlHeader)(r.cacheControl)),await (0,d.sendResponse)(Y,X,new Response(r.value.body,{headers:s,status:r.value.status||200}));return}catch(t){if(t instanceof R.NoFallbackError||await f.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:x})},!1,P),$)throw t;await (0,d.sendResponse)(Y,X,new Response(null,{status:500}));return}finally{(()=>{if(!r)return;let e=t.statusCode;r.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(r.setStatus({code:s.SpanStatusCode.ERROR}),r.setAttribute("error.type",e.toString()));let a=H.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.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 n=a.get("next.route")||j,i=`${U} ${n}`;r.setAttributes({"next.route":n,"http.route":n,"next.span_name":i}),r.updateName(i),o&&o!==r&&(o.setAttribute("http.route",n),o.updateName(i))})()}};if(K&&L)await z(L,void 0);else{let t=H.getActiveScopeSpan();await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${T}`,kind:s.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},e=>z(e,t)),void 0,!K)}}e.s(["handler",0,v,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:C})},"routeModule",0,f,"serverHooks",0,y,"workAsyncStorage",0,T,"workUnitAsyncStorage",0,C])}];
69
+ `:function(e,t){let a=new Date().toISOString().split("T")[0],n=t.techStackTags.length>0?t.techStackTags.join(", "):"Not specified",s=t.keyFeatures?t.keyFeatures.split(",").map(e=>`- ${e.trim()}`).join("\n"):"",o=r(t),i=t.techStackTags.some(e=>e.toLowerCase().includes("pnpm"))?"pnpm":t.techStackTags.some(e=>e.toLowerCase().includes("yarn"))?"yarn":"npm",l=["typescript","javascript","python","go","rust","java","ruby","php","swift","kotlin","c#","elixir"].find(e=>t.techStackTags.some(t=>t.toLowerCase().includes(e)))??t.techStackTags[0]??"TypeScript",c=t.techStackTags.map(e=>e.toLowerCase()),p=c.some(e=>e.includes("postgres")||e.includes("postgresql"))?"postgresql://user:password@localhost:5432/mydb":c.some(e=>e.includes("mysql"))?"mysql://user:password@localhost:3306/mydb":c.some(e=>e.includes("mongodb")||e.includes("mongo"))?"mongodb://localhost:27017/mydb":c.some(e=>e.includes("sqlite"))?"sqlite:./data.db":"postgresql://user:password@localhost:5432/mydb",u=t.deploymentTarget[0]??"your-platform";return e.replace(/\{\{PROJECT_NAME\}\}/g,t.projectName||"My Project").replace(/\{\{PROJECT_TYPE\}\}/g,t.projectType||"web-app").replace(/\{\{TECH_STACK\}\}/g,n).replace(/\{\{DESCRIPTION\}\}/g,t.description||"").replace(/\{\{KEY_FEATURES\}\}/g,s).replace(/\{\{CONVENTIONS\}\}/g,o).replace(/\{\{DATE\}\}/g,a).replace(/\{\{REPO_URL\}\}/g,t.repoUrl||"").replace(/\{\{TEAM_SIZE\}\}/g,t.teamSize||"").replace(/\{\{TEST_FRAMEWORK\}\}/g,t.testFramework||"Jest").replace(/\{\{CI_CD\}\}/g,t.ciCd.join(", ")||"").replace(/\{\{BRANCH_STRATEGY\}\}/g,t.branchStrategy||"").replace(/\{\{PACKAGE_MANAGER\}\}/g,i).replace(/\{\{PRIMARY_LANGUAGE\}\}/g,l).replace(/\{\{DB_URL_EXAMPLE\}\}/g,p).replace(/\{\{DEPLOYMENT_PLATFORM\}\}/g,u)}(p,t),t),s.push({path:c,content:p})}return s}(i,l,u),t.NextResponse.json({files:s})}catch(e){return t.NextResponse.json({error:e.message},{status:500})}}e.s(["POST",0,s])},291692,e=>{"use strict";var t=e.i(440807),a=e.i(381144),n=e.i(522639),r=e.i(165892),s=e.i(781831),o=e.i(740095),i=e.i(931106),l=e.i(253258),c=e.i(488026),p=e.i(571998),u=e.i(666314),d=e.i(598783),h=e.i(759703),g=e.i(163677),m=e.i(450859),R=e.i(193695);e.i(582432);var E=e.i(274687);let f=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/setup/generate/route",pathname:"/api/setup/generate",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/setup/generate/route.ts",nextConfigOutput:"",userland:()=>e.r(378936),...{}}),{workAsyncStorage:T,workUnitAsyncStorage:C,serverHooks:v}=f;async function y(e,t,n){n.requestMeta&&(0,r.setRequestMeta)(e,n.requestMeta),f.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let T="/api/setup/generate/route";T=T.replace(/\/index$/,"")||"/";let C=await f.prepare(e,t,{srcPage:T,multiZoneDraftMode:!1});if(!C)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:v,deploymentId:y,params:w,nextConfig:S,parsedUrl:A,isDraftMode:N,prerenderManifest:b,routerServerContext:P,isOnDemandRevalidate:x,revalidateOnlyGenerated:_,resolvedPathname:k,clientReferenceManifest:O,serverActionsManifest:I}=C,j=(0,i.normalizeAppPath)(T),$=!!(b.dynamicRoutes[j]||b.routes[k]),q=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,A,!1):t.end("This page could not be found"),null);if($&&!N){let e=!!b.routes[k],t=b.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(S.adapterPath)return await q();throw new R.NoFallbackError}}let M=null;!$||f.isDev||N||(M="/index"===(M=k)?"/":M);let D=!0===f.isDev||!$,F=$&&!D;I&&O&&(0,o.setManifestsSingleton)({page:T,clientReferenceManifest:O,serverActionsManifest:I});let U=e.method||"GET",H=(0,s.getTracer)(),L=H.getActiveScopeSpan(),K=!!(null==P?void 0:P.isWrappedByNextServer),G=!!(0,r.getRequestMeta)(e,"minimalMode"),B=(0,r.getRequestMeta)(e,"incrementalCache")||await f.getIncrementalCache(e,S,b,G);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let W={params:w,previewProps:b.preview,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts,useCacheTimeout:S.experimental.useCacheTimeout},cacheComponents:!!S.cacheComponents,validationLevel:S.experimental.instantInsights.validationLevel,supportsDynamicResponse:D,incrementalCache:B,hmrRefreshHash:(0,r.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:S.cacheLife,staticPageGenerationTimeout:S.staticPageGenerationTimeout,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,n,r)=>f.onRequestError(e,t,n,r,P)},sharedContext:{buildId:v,deploymentId:y}},Y=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),J=c.NextRequestAdapter.fromNodeNextRequest(Y,(0,c.signalFromNodeResponse)(t)),V=async({previousCacheEntry:a})=>{try{if(!G&&x&&_&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await f.handle(J,W);e.fetchMetrics=W.renderOpts.fetchMetrics;let s=W.renderOpts.pendingWaitUntil;s&&n.waitUntil&&(n.waitUntil(s),s=void 0);let o=W.renderOpts.collectedTags;if(!$)return await (0,d.sendResponse)(Y,X,r,s),null;{let e=await r.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(r.headers);o&&(t[m.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,n=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=m.INFINITE_CACHE?!1!==a&&a>0?S.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:E.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==a?void 0:a.isStale)&&await f.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:x})},!1,P),t}},z=async(r,o)=>{try{var i,l;let r=await f.handleResponse({req:e,nextConfig:S,cacheKey:M,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:b,isRoutePPREnabled:!1,isOnDemandRevalidate:x,revalidateOnlyGenerated:_,responseGenerator:V,waitUntil:n.waitUntil,isMinimalMode:G});if(!$)return;if((null==r||null==(i=r.value)?void 0:i.kind)!==E.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==r||null==(l=r.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",x?"REVALIDATED":r.isMiss?"MISS":r.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(r.value.headers);G&&$||s.delete(m.NEXT_CACHE_TAGS_HEADER),!r.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,g.getCacheControlHeader)(r.cacheControl)),await (0,d.sendResponse)(Y,X,new Response(r.value.body,{headers:s,status:r.value.status||200}));return}catch(t){if(t instanceof R.NoFallbackError||await f.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:x})},!1,P),$)throw t;await (0,d.sendResponse)(Y,X,new Response(null,{status:500}));return}finally{(()=>{if(!r)return;let e=t.statusCode;r.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(r.setStatus({code:s.SpanStatusCode.ERROR}),r.setAttribute("error.type",e.toString()));let a=H.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==p.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 n=a.get("next.route")||j,i=`${U} ${n}`;r.setAttributes({"next.route":n,"http.route":n,"next.span_name":i}),r.updateName(i),o&&o!==r&&(o.setAttribute("http.route",n),o.updateName(i))})()}};if(K&&L)await z(L,void 0);else{let t=H.getActiveScopeSpan();await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${T}`,kind:s.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},e=>z(e,t)),void 0,!K)}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:C})},"routeModule",0,f,"serverHooks",0,v,"workAsyncStorage",0,T,"workUnitAsyncStorage",0,C])}];
70
70
 
71
71
  //# sourceMappingURL=_1si7nb_._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/app/api/setup/generate/route.ts","../../../node_modules/.pnpm/next%4016.3.6_%40babel%2Bcore%407.29.7_%40types%2Bnode%4022.20.4_react-dom%4019.3.0_react%4019.3.0__react%4019.3.0/node_modules/next/src/build/templates/app-route.ts"],"sourcesContent":["import { NextRequest, NextResponse } from \"next/server\";\nimport { TEMPLATES } from \"@/lib/templates\";\nimport { getConfiguredRoot, listDocs } from \"@/lib/core\";\n\ninterface TemplateSelection {\n id: string;\n name: string;\n path: string;\n}\n\n// Keep in sync with src/components/setup/ProjectQuestionnaire.tsx\ninterface ProjectAnswers {\n projectName: string;\n projectType: string;\n description: string;\n repoUrl: string;\n techStackTags: string[];\n keyFeatures: string;\n teamSize: string;\n linting: string[];\n testFramework: string;\n ciCd: string[];\n branchStrategy: string;\n deploymentTarget: string[];\n conventions: string;\n}\n\nfunction applyPlaceholders(content: string, answers: ProjectAnswers): string {\n const today = new Date().toISOString().split(\"T\")[0];\n const techStack =\n answers.techStackTags.length > 0\n ? answers.techStackTags.join(\", \")\n : \"Not specified\";\n const features = answers.keyFeatures\n ? answers.keyFeatures\n .split(\",\")\n .map((f) => `- ${f.trim()}`)\n .join(\"\\n\")\n : \"\";\n const conventions = buildConventions(answers);\n\n const pkgManager = answers.techStackTags.some((t) =>\n t.toLowerCase().includes(\"pnpm\"),\n )\n ? \"pnpm\"\n : answers.techStackTags.some((t) => t.toLowerCase().includes(\"yarn\"))\n ? \"yarn\"\n : \"npm\";\n\n const languageKeywords = [\n \"typescript\",\n \"javascript\",\n \"python\",\n \"go\",\n \"rust\",\n \"java\",\n \"ruby\",\n \"php\",\n \"swift\",\n \"kotlin\",\n \"c#\",\n \"elixir\",\n ];\n const primaryLanguage =\n languageKeywords.find((lang) =>\n answers.techStackTags.some((t) => t.toLowerCase().includes(lang)),\n ) ??\n answers.techStackTags[0] ??\n \"TypeScript\";\n\n const dbTags = answers.techStackTags.map((t) => t.toLowerCase());\n const dbUrl = dbTags.some(\n (t) => t.includes(\"postgres\") || t.includes(\"postgresql\"),\n )\n ? \"postgresql://user:password@localhost:5432/mydb\"\n : dbTags.some((t) => t.includes(\"mysql\"))\n ? \"mysql://user:password@localhost:3306/mydb\"\n : dbTags.some((t) => t.includes(\"mongodb\") || t.includes(\"mongo\"))\n ? \"mongodb://localhost:27017/mydb\"\n : dbTags.some((t) => t.includes(\"sqlite\"))\n ? \"sqlite:./data.db\"\n : \"postgresql://user:password@localhost:5432/mydb\";\n\n const deploymentPlatform = answers.deploymentTarget[0] ?? \"your-platform\";\n\n return content\n .replace(/\\{\\{PROJECT_NAME\\}\\}/g, answers.projectName || \"My Project\")\n .replace(/\\{\\{PROJECT_TYPE\\}\\}/g, answers.projectType || \"web-app\")\n .replace(/\\{\\{TECH_STACK\\}\\}/g, techStack)\n .replace(/\\{\\{DESCRIPTION\\}\\}/g, answers.description || \"\")\n .replace(/\\{\\{KEY_FEATURES\\}\\}/g, features)\n .replace(/\\{\\{CONVENTIONS\\}\\}/g, conventions)\n .replace(/\\{\\{DATE\\}\\}/g, today)\n .replace(/\\{\\{REPO_URL\\}\\}/g, answers.repoUrl || \"\")\n .replace(/\\{\\{TEAM_SIZE\\}\\}/g, answers.teamSize || \"\")\n .replace(/\\{\\{TEST_FRAMEWORK\\}\\}/g, answers.testFramework || \"Jest\")\n .replace(/\\{\\{CI_CD\\}\\}/g, answers.ciCd.join(\", \") || \"\")\n .replace(/\\{\\{BRANCH_STRATEGY\\}\\}/g, answers.branchStrategy || \"\")\n .replace(/\\{\\{PACKAGE_MANAGER\\}\\}/g, pkgManager)\n .replace(/\\{\\{PRIMARY_LANGUAGE\\}\\}/g, primaryLanguage)\n .replace(/\\{\\{DB_URL_EXAMPLE\\}\\}/g, dbUrl)\n .replace(/\\{\\{DEPLOYMENT_PLATFORM\\}\\}/g, deploymentPlatform);\n}\n\nfunction buildConventions(answers: ProjectAnswers): string {\n const parts: string[] = [];\n if (answers.linting.length > 0)\n parts.push(`- Linting: ${answers.linting.join(\", \")}`);\n if (answers.testFramework) parts.push(`- Testing: ${answers.testFramework}`);\n if (answers.ciCd.length > 0)\n parts.push(`- CI/CD: ${answers.ciCd.join(\", \")}`);\n if (answers.branchStrategy)\n parts.push(`- Branch strategy: ${answers.branchStrategy}`);\n if (answers.deploymentTarget.length > 0)\n parts.push(`- Deployment: ${answers.deploymentTarget.join(\", \")}`);\n if (answers.conventions) parts.push(`- ${answers.conventions}`);\n return parts.length > 0\n ? parts.join(\"\\n\")\n : \"- Follow existing code patterns\\n- Write tests for new features\";\n}\n\nfunction applyConditionalSections(\n content: string,\n answers: ProjectAnswers,\n): string {\n const tags = answers.techStackTags.map((t) => t.toLowerCase());\n\n const conditions: Record<string, boolean> = {\n DOCKER: tags.some((t) => t.includes(\"docker\")),\n POSTGRES: tags.some(\n (t) => t.includes(\"postgres\") || t.includes(\"postgresql\"),\n ),\n REDIS: tags.some((t) => t.includes(\"redis\")),\n CI: answers.ciCd.length > 0,\n TYPESCRIPT: tags.some((t) => t.includes(\"typescript\")),\n NEXTJS: tags.some((t) => t.includes(\"next\")),\n };\n\n let result = content;\n for (const [key, enabled] of Object.entries(conditions)) {\n const regex = new RegExp(\n `\\\\{\\\\{#IF_${key}\\\\}\\\\}([\\\\s\\\\S]*?)\\\\{\\\\{\\\\/IF_${key}\\\\}\\\\}`,\n \"g\",\n );\n result = result.replace(regex, enabled ? \"$1\" : \"\");\n }\n return result;\n}\n\nfunction generateQuickMode(\n templates: TemplateSelection[],\n answers: ProjectAnswers,\n existingPaths: Set<string>,\n) {\n const files: {\n path: string;\n content: string;\n skipped?: boolean;\n reason?: string;\n }[] = [];\n const techStack =\n answers.techStackTags.length > 0\n ? answers.techStackTags.join(\", \")\n : \"Not specified\";\n const conventions = buildConventions(answers);\n\n for (const selection of templates) {\n const template = TEMPLATES.find((t) => t.id === selection.id);\n if (!template) continue;\n\n const path = selection.path;\n\n if (existingPaths.has(path)) {\n files.push({\n path,\n content: \"\",\n skipped: true,\n reason: \"already exists\",\n });\n continue;\n }\n\n let content = template.content;\n\n if (selection.id === \"claude-md\") {\n content = `# ${answers.projectName} — Agent Instructions\n\n## What this is\n${answers.description || \"A software project.\"}\n\n## Stack\n${techStack}\n\n## Project type\n${answers.projectType.replace(/-/g, \" \")}\n\n## Commands\n\\`\\`\\`bash\n# Install dependencies\nnpm install\n\n# Start development\nnpm run dev\n\n# Build for production\nnpm run build\n\n# Run tests\nnpm test\n\\`\\`\\`\n\n## Key conventions\n${conventions}\n\n## Key features\n${\n answers.keyFeatures\n ? answers.keyFeatures\n .split(\",\")\n .map((f) => `- ${f.trim()}`)\n .join(\"\\n\")\n : \"- Core functionality\"\n}\n\n## Non-negotiables\n- Keep code clean and well-documented\n- Maintain test coverage\n- Follow security best practices\n`;\n } else if (selection.id === \"agents-md\") {\n content = `# ${answers.projectName} — Agent Config\n\nSee CLAUDE.md for detailed instructions.\n\n## Stack\n${techStack}\n\n## Key conventions\n${conventions}\n`;\n } else if (selection.id === \"gemini-md\") {\n content = `# ${answers.projectName} — Gemini Agent Instructions\n\n## What this is\n${answers.description || \"A software project.\"}\n\n## Stack\n${techStack}\n\n## Commands\n\\`\\`\\`bash\nnpm install\nnpm run dev\nnpm run build\nnpm test\n\\`\\`\\`\n\n## Key conventions\n${conventions}\n\n## Non-negotiables\n- Follow existing code patterns\n- Write tests for new features\n- Never commit secrets or credentials\n`;\n } else {\n content = applyPlaceholders(content, answers);\n }\n\n content = applyConditionalSections(content, answers);\n\n files.push({ path, content });\n }\n\n return files;\n}\n\nexport async function POST(req: NextRequest) {\n try {\n const root = req.nextUrl.searchParams.get(\"root\") || getConfiguredRoot();\n const { templates, answers, mode } = (await req.json()) as {\n templates: TemplateSelection[];\n answers: ProjectAnswers;\n mode: \"quick\" | \"ai\";\n };\n\n // Get existing docs to check for conflicts\n const existingDocs = await listDocs(root);\n const existingPaths = new Set(existingDocs.map((d) => d.path));\n\n let files: {\n path: string;\n content: string;\n skipped?: boolean;\n reason?: string;\n }[];\n\n if (mode === \"ai\") {\n // AI mode would use MCP connection\n // For now, fall back to quick mode\n files = generateQuickMode(templates, answers, existingPaths);\n } else {\n files = generateQuickMode(templates, answers, existingPaths);\n }\n\n return NextResponse.json({ files });\n } catch (e) {\n return NextResponse.json({ error: (e as Error).message }, { status: 500 });\n }\n}\n","import {\n AppRouteRouteModule,\n type AppRouteRouteHandlerContext,\n type AppRouteRouteModuleOptions,\n} from '../../server/route-modules/app-route/module.compiled'\nimport { RouteKind } from '../../server/route-kind'\nimport { patchFetch as _patchFetch } from '../../server/lib/patch-fetch'\nimport type { IncomingMessage, ServerResponse } from 'node:http'\nimport {\n addRequestMeta,\n getRequestMeta,\n setRequestMeta,\n type RequestMeta,\n} from '../../server/request-meta'\nimport {\n getTracer,\n type Span,\n SpanKind,\n SpanStatusCode,\n} from '../../server/lib/trace/tracer'\nimport { setManifestsSingleton } from '../../server/app-render/manifests-singleton'\nimport { normalizeAppPath } from '../../shared/lib/router/utils/app-paths'\nimport { NodeNextRequest, NodeNextResponse } from '../../server/base-http/node'\nimport {\n NextRequestAdapter,\n signalFromNodeResponse,\n} from '../../server/web/spec-extension/adapters/next-request'\nimport { BaseServerSpan } from '../../server/lib/trace/constants'\nimport { getRevalidateReason } from '../../server/instrumentation/utils'\nimport { sendResponse } from '../../server/send-response'\nimport {\n fromNodeOutgoingHttpHeaders,\n toNodeOutgoingHttpHeaders,\n} from '../../server/web/utils'\nimport { getCacheControlHeader } from '../../server/lib/cache-control'\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from '../../lib/constants'\nimport { NoFallbackError } from '../../shared/lib/no-fallback-error.external'\nimport {\n CachedRouteKind,\n type ResponseCacheEntry,\n type ResponseGenerator,\n} from '../../server/response-cache'\n\n// These are injected by the loader afterwards. This is injected as a variable\n// instead of a replacement because this could also be `undefined` instead of\n// an empty string.\ndeclare const nextConfigOutput: AppRouteRouteModuleOptions['nextConfigOutput']\n\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\n// INJECT:nextConfigOutput\n\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: 'VAR_DEFINITION_PAGE',\n pathname: 'VAR_DEFINITION_PATHNAME',\n filename: 'VAR_DEFINITION_FILENAME',\n bundlePath: 'VAR_DEFINITION_BUNDLE_PATH',\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: 'VAR_RESOLVED_PAGE_PATH',\n nextConfigOutput,\n // The lazy require factory ensures that:\n // - In dev: devRequestTimingInternalsEnd is set before userland executes,\n // correctly attributing module load time to application-code rather than\n // framework internals.\n // - In all modes: async modules (route files with top-level await) are\n // handled correctly — require() returns a Promise for such modules, which\n // ensureUserland() awaits before the first request is handled.\n userland: () => require('VAR_USERLAND') as typeof import('VAR_USERLAND'),\n // In Turbopack dev mode, also provide a synchronous per-request getter so\n // server HMR updates are picked up without re-executing the entry chunk.\n // Using require() (synchronous) avoids adding async overhead that would be\n // incorrectly attributed to application-code time in devRequestTiming.\n ...(process.env.TURBOPACK && process.env.__NEXT_DEV_SERVER\n ? {\n getUserland: () =>\n require('VAR_USERLAND') as typeof import('VAR_USERLAND'),\n }\n : {}),\n})\n\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule\n\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage,\n })\n}\n\nexport {\n routeModule,\n workAsyncStorage,\n workUnitAsyncStorage,\n serverHooks,\n patchFetch,\n}\n\nexport async function handler(\n req: IncomingMessage,\n res: ServerResponse,\n ctx: {\n waitUntil?: (prom: Promise<void>) => void\n requestMeta?: RequestMeta\n }\n) {\n if (ctx.requestMeta) {\n setRequestMeta(req, ctx.requestMeta)\n }\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint())\n }\n let srcPage = 'VAR_DEFINITION_PAGE'\n\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/'\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/'\n }\n const multiZoneDraftMode = process.env\n .__NEXT_MULTI_ZONE_DRAFT_MODE as any as boolean\n\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode,\n })\n\n if (!prepareResult) {\n res.statusCode = 400\n res.end('Bad Request')\n ctx.waitUntil?.(Promise.resolve())\n return null\n }\n\n const {\n buildId,\n deploymentId,\n params,\n nextConfig,\n parsedUrl,\n isDraftMode,\n prerenderManifest,\n routerServerContext,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n resolvedPathname,\n clientReferenceManifest,\n serverActionsManifest,\n } = prepareResult\n\n const normalizedSrcPage = normalizeAppPath(srcPage)\n\n let isIsr = Boolean(\n prerenderManifest.dynamicRoutes[normalizedSrcPage] ||\n prerenderManifest.routes[resolvedPathname]\n )\n\n const render404 = async () => {\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext?.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false)\n } else {\n res.end('This page could not be found')\n }\n return null\n }\n\n if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname])\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage]\n\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n if (nextConfig.adapterPath) {\n return await render404()\n }\n throw new NoFallbackError()\n }\n }\n }\n\n let cacheKey: string | null = null\n\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey\n }\n\n const supportsDynamicResponse: boolean =\n // If we're in development, we always support dynamic HTML\n routeModule.isDev === true ||\n // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr\n\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse\n\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest,\n })\n }\n\n const method = req.method || 'GET'\n const tracer = getTracer()\n const activeSpan = tracer.getActiveScopeSpan()\n const isWrappedByNextServer = Boolean(\n routerServerContext?.isWrappedByNextServer\n )\n const isMinimalMode = Boolean(getRequestMeta(req, 'minimalMode'))\n\n const incrementalCache =\n getRequestMeta(req, 'incrementalCache') ||\n (await routeModule.getIncrementalCache(\n req,\n nextConfig,\n prerenderManifest,\n isMinimalMode\n ))\n\n incrementalCache?.resetRequestCache()\n ;(globalThis as any).__incrementalCache = incrementalCache\n\n const context: AppRouteRouteHandlerContext = {\n params,\n previewProps: prerenderManifest.preview,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts),\n useCacheTimeout: nextConfig.experimental.useCacheTimeout,\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n validationLevel: nextConfig.experimental.instantInsights.validationLevel,\n supportsDynamicResponse,\n incrementalCache,\n hmrRefreshHash: getRequestMeta(req, 'hmrRefreshHash'),\n cacheLifeProfiles: nextConfig.cacheLife,\n staticPageGenerationTimeout: nextConfig.staticPageGenerationTimeout,\n waitUntil: ctx.waitUntil,\n onClose: (cb) => {\n res.on('close', cb)\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (\n error,\n _request,\n errorContext,\n silenceLog\n ) =>\n routeModule.onRequestError(\n req,\n error,\n errorContext,\n silenceLog,\n routerServerContext\n ),\n },\n sharedContext: {\n buildId,\n deploymentId,\n },\n }\n const nodeNextReq = new NodeNextRequest(req)\n const nodeNextRes = new NodeNextResponse(res)\n\n const nextReq = NextRequestAdapter.fromNodeNextRequest(\n nodeNextReq,\n signalFromNodeResponse(res)\n )\n\n const responseGenerator: ResponseGenerator = async ({\n previousCacheEntry,\n }) => {\n try {\n if (\n !isMinimalMode &&\n isOnDemandRevalidate &&\n revalidateOnlyGenerated &&\n !previousCacheEntry\n ) {\n res.statusCode = 404\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED')\n res.end('This page could not be found')\n return null\n }\n\n const response = await routeModule.handle(nextReq, context)\n\n ;(req as any).fetchMetrics = (context.renderOpts as any).fetchMetrics\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil\n\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil)\n pendingWaitUntil = undefined\n }\n }\n const cacheTags = context.renderOpts.collectedTags\n\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob()\n\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers)\n\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags\n }\n\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type\n }\n\n const revalidate =\n typeof context.renderOpts.collectedRevalidate === 'undefined' ||\n context.renderOpts.collectedRevalidate >= INFINITE_CACHE\n ? false\n : context.renderOpts.collectedRevalidate\n\n const expire =\n typeof context.renderOpts.collectedExpire === 'undefined' ||\n context.renderOpts.collectedExpire >= INFINITE_CACHE\n ? // Fall back to the global `expireTime` config when the\n // route has a numeric `revalidate` but didn't declare an\n // explicit `expire` (e.g. via `cacheLife`). This mirrors the\n // build-time fallback in `build/index.ts` so cache entries\n // and the response Cache-Control header agree on the route's\n // effective expire. Routes that opt out of revalidation\n // (`revalidate: false`) or that are dynamic (`revalidate: 0`)\n // keep `expire: undefined`.\n revalidate !== false && revalidate > 0\n ? nextConfig.expireTime\n : undefined\n : context.renderOpts.collectedExpire\n\n // Create the cache entry for the response.\n const cacheEntry: ResponseCacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers,\n },\n cacheControl: { revalidate, expire },\n }\n\n return cacheEntry\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, pendingWaitUntil)\n return null\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry?.isStale) {\n const silenceLog = false\n await routeModule.onRequestError(\n req,\n err,\n {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate,\n }),\n },\n silenceLog,\n routerServerContext\n )\n }\n throw err\n }\n }\n\n const handleResponse = async (\n currentSpan: Span | undefined,\n parentSpan: Span | undefined\n ) => {\n try {\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode,\n })\n\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return\n }\n\n if (cacheEntry?.value?.kind !== CachedRouteKind.APP_ROUTE) {\n throw new Error(\n `Invariant: app-route received invalid cache entry ${cacheEntry?.value?.kind}`\n )\n }\n\n if (!isMinimalMode) {\n res.setHeader(\n 'x-nextjs-cache',\n isOnDemandRevalidate\n ? 'REVALIDATED'\n : cacheEntry.isMiss\n ? 'MISS'\n : cacheEntry.isStale\n ? 'STALE'\n : 'HIT'\n )\n }\n\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader(\n 'Cache-Control',\n 'private, no-cache, no-store, max-age=0, must-revalidate'\n )\n }\n\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers)\n\n if (!(isMinimalMode && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER)\n }\n\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (\n cacheEntry.cacheControl &&\n !res.getHeader('Cache-Control') &&\n !headers.get('Cache-Control')\n ) {\n headers.set(\n 'Cache-Control',\n getCacheControlHeader(cacheEntry.cacheControl)\n )\n }\n\n await sendResponse(\n nodeNextReq,\n nodeNextRes,\n // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.\n new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200,\n })\n )\n return\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n const silenceLog = false\n await routeModule.onRequestError(\n req,\n err,\n {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate,\n }),\n },\n silenceLog,\n routerServerContext\n )\n }\n\n // rethrow so that we can handle serving error page\n\n // If this is during static generation, throw the error again.\n if (isIsr) throw err\n\n // Otherwise, send a 500 response.\n await sendResponse(\n nodeNextReq,\n nodeNextRes,\n new Response(null, { status: 500 })\n )\n return\n } finally {\n ;(() => {\n if (!currentSpan) {\n return\n }\n\n let statusCode = res.statusCode\n\n currentSpan.setAttributes({\n 'http.status_code': statusCode,\n 'next.rsc': false,\n })\n\n if (statusCode && statusCode >= 500) {\n // For 5xx status codes: SHOULD be set to 'Error' span status.\n // x-ref: https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status\n currentSpan.setStatus({\n code: SpanStatusCode.ERROR,\n })\n // For span status 'Error', SHOULD set 'error.type' attribute.\n currentSpan.setAttribute('error.type', statusCode.toString())\n }\n\n const rootSpanAttributes = tracer.getRootSpanAttributes()\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return\n }\n\n if (\n rootSpanAttributes.get('next.span_type') !==\n BaseServerSpan.handleRequest\n ) {\n console.warn(\n `Unexpected root span type '${rootSpanAttributes.get(\n 'next.span_type'\n )}'. Please report this Next.js issue https://github.com/vercel/next.js`\n )\n return\n }\n\n const route = rootSpanAttributes.get('next.route') || normalizedSrcPage\n const name = `${method} ${route}`\n\n currentSpan.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name,\n })\n currentSpan.updateName(name)\n\n // Propagate http.route to the parent span if one exists (e.g.\n // a platform-created HTTP span in adapter deployments).\n if (parentSpan && parentSpan !== currentSpan) {\n parentSpan.setAttribute('http.route', route)\n parentSpan.updateName(name)\n }\n })()\n }\n }\n\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (isWrappedByNextServer && activeSpan) {\n await handleResponse(activeSpan, undefined)\n } else {\n let parentSpan = tracer.getActiveScopeSpan()\n await tracer.withPropagatedContext(\n req.headers,\n () =>\n tracer.trace(\n BaseServerSpan.handleRequest,\n {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url,\n },\n },\n (span) => handleResponse(span, parentSpan)\n ),\n undefined,\n !isWrappedByNextServer\n )\n }\n}\n"],"names":["applyPlaceholders","content","answers","today","Date","toISOString","split","techStack","techStackTags","length","join","features","keyFeatures","map","f","trim","conventions","buildConventions","pkgManager","some","t","toLowerCase","includes","languageKeywords","primaryLanguage","find","lang","dbTags","dbUrl","deploymentPlatform","deploymentTarget","replace","projectName","projectType","description","repoUrl","teamSize","testFramework","ciCd","branchStrategy","parts","linting","push","applyConditionalSections","tags","conditions","DOCKER","POSTGRES","REDIS","CI","TYPESCRIPT","NEXTJS","result","key","enabled","Object","entries","regex","RegExp","generateQuickMode","templates","existingPaths","files","selection","template","id","path","has","skipped","reason","POST","req","root","nextUrl","searchParams","get","mode","json","existingDocs","Set","d","e","error","message","status","AppRouteRouteModule","RouteKind","patchFetch","_patchFetch","addRequestMeta","getRequestMeta","setRequestMeta","getTracer","SpanKind","SpanStatusCode","setManifestsSingleton","normalizeAppPath","NodeNextRequest","NodeNextResponse","NextRequestAdapter","signalFromNodeResponse","BaseServerSpan","getRevalidateReason","sendResponse","fromNodeOutgoingHttpHeaders","toNodeOutgoingHttpHeaders","getCacheControlHeader","INFINITE_CACHE","NEXT_CACHE_TAGS_HEADER","NoFallbackError","CachedRouteKind","routeModule","definition","kind","APP_ROUTE","page","pathname","filename","bundlePath","distDir","process","env","__NEXT_RELATIVE_DIST_DIR","relativeProjectDir","__NEXT_RELATIVE_PROJECT_DIR","resolvedPagePath","nextConfigOutput","userland","require","TURBOPACK","__NEXT_DEV_SERVER","getUserland","workAsyncStorage","workUnitAsyncStorage","serverHooks","handler","res","ctx","requestMeta","isDev","hrtime","bigint","srcPage","multiZoneDraftMode","__NEXT_MULTI_ZONE_DRAFT_MODE","prepareResult","prepare","statusCode","end","waitUntil","Promise","resolve","buildId","deploymentId","params","nextConfig","parsedUrl","isDraftMode","prerenderManifest","routerServerContext","isOnDemandRevalidate","revalidateOnlyGenerated","resolvedPathname","clientReferenceManifest","serverActionsManifest","normalizedSrcPage","isIsr","Boolean","dynamicRoutes","routes","render404","isPrerendered","prerenderInfo","fallback","adapterPath","cacheKey","supportsDynamicResponse","isStaticGeneration","method","tracer","activeSpan","getActiveScopeSpan","isWrappedByNextServer","isMinimalMode","incrementalCache","getIncrementalCache","resetRequestCache","globalThis","__incrementalCache","context","previewProps","preview","renderOpts","experimental","authInterrupts","useCacheTimeout","cacheComponents","validationLevel","instantInsights","hmrRefreshHash","cacheLifeProfiles","cacheLife","staticPageGenerationTimeout","onClose","cb","on","onAfterTaskError","undefined","onInstrumentationRequestError","_request","errorContext","silenceLog","onRequestError","sharedContext","nodeNextReq","nodeNextRes","nextReq","fromNodeNextRequest","responseGenerator","previousCacheEntry","setHeader","response","handle","fetchMetrics","pendingWaitUntil","cacheTags","collectedTags","blob","headers","type","revalidate","collectedRevalidate","expire","collectedExpire","expireTime","cacheEntry","value","body","Buffer","from","arrayBuffer","cacheControl","err","isStale","routerKind","routePath","routeType","revalidateReason","handleResponse","currentSpan","parentSpan","routeKind","isFallback","isRoutePPREnabled","Error","isMiss","delete","getHeader","set","Response","setAttributes","setStatus","code","ERROR","setAttribute","toString","rootSpanAttributes","getRootSpanAttributes","handleRequest","console","warn","route","name","updateName","withPropagatedContext","trace","spanName","SERVER","attributes","url","span"],"mappings":"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","ignoreList":[1]}
1
+ {"version":3,"sources":["../../../src/app/api/setup/generate/route.ts","../../../node_modules/.pnpm/next%4016.3.6_%40babel%2Bcore%407.29.7_%40types%2Bnode%4022.20.4_react-dom%4019.3.0_react%4019.3.0__react%4019.3.0/node_modules/next/src/build/templates/app-route.ts"],"sourcesContent":["import { NextRequest, NextResponse } from \"next/server\";\nimport { TEMPLATES } from \"@/lib/templates\";\nimport { getConfiguredRoot, listDocs } from \"@/lib/core\";\n\ninterface TemplateSelection {\n id: string;\n name: string;\n path: string;\n}\n\n// Keep in sync with src/components/setup/ProjectQuestionnaire.tsx\ninterface ProjectAnswers {\n projectName: string;\n projectType: string;\n description: string;\n repoUrl: string;\n techStackTags: string[];\n keyFeatures: string;\n teamSize: string;\n linting: string[];\n testFramework: string;\n ciCd: string[];\n branchStrategy: string;\n deploymentTarget: string[];\n conventions: string;\n}\n\nfunction applyPlaceholders(content: string, answers: ProjectAnswers): string {\n const today = new Date().toISOString().split(\"T\")[0];\n const techStack =\n answers.techStackTags.length > 0\n ? answers.techStackTags.join(\", \")\n : \"Not specified\";\n const features = answers.keyFeatures\n ? answers.keyFeatures\n .split(\",\")\n .map((f) => `- ${f.trim()}`)\n .join(\"\\n\")\n : \"\";\n const conventions = buildConventions(answers);\n\n const pkgManager = answers.techStackTags.some((t) =>\n t.toLowerCase().includes(\"pnpm\"),\n )\n ? \"pnpm\"\n : answers.techStackTags.some((t) => t.toLowerCase().includes(\"yarn\"))\n ? \"yarn\"\n : \"npm\";\n\n const languageKeywords = [\n \"typescript\",\n \"javascript\",\n \"python\",\n \"go\",\n \"rust\",\n \"java\",\n \"ruby\",\n \"php\",\n \"swift\",\n \"kotlin\",\n \"c#\",\n \"elixir\",\n ];\n const primaryLanguage =\n languageKeywords.find((lang) =>\n answers.techStackTags.some((t) => t.toLowerCase().includes(lang)),\n ) ??\n answers.techStackTags[0] ??\n \"TypeScript\";\n\n const dbTags = answers.techStackTags.map((t) => t.toLowerCase());\n const dbUrl = dbTags.some(\n (t) => t.includes(\"postgres\") || t.includes(\"postgresql\"),\n )\n ? \"postgresql://user:password@localhost:5432/mydb\"\n : dbTags.some((t) => t.includes(\"mysql\"))\n ? \"mysql://user:password@localhost:3306/mydb\"\n : dbTags.some((t) => t.includes(\"mongodb\") || t.includes(\"mongo\"))\n ? \"mongodb://localhost:27017/mydb\"\n : dbTags.some((t) => t.includes(\"sqlite\"))\n ? \"sqlite:./data.db\"\n : \"postgresql://user:password@localhost:5432/mydb\";\n\n const deploymentPlatform = answers.deploymentTarget[0] ?? \"your-platform\";\n\n return content\n .replace(/\\{\\{PROJECT_NAME\\}\\}/g, answers.projectName || \"My Project\")\n .replace(/\\{\\{PROJECT_TYPE\\}\\}/g, answers.projectType || \"web-app\")\n .replace(/\\{\\{TECH_STACK\\}\\}/g, techStack)\n .replace(/\\{\\{DESCRIPTION\\}\\}/g, answers.description || \"\")\n .replace(/\\{\\{KEY_FEATURES\\}\\}/g, features)\n .replace(/\\{\\{CONVENTIONS\\}\\}/g, conventions)\n .replace(/\\{\\{DATE\\}\\}/g, today)\n .replace(/\\{\\{REPO_URL\\}\\}/g, answers.repoUrl || \"\")\n .replace(/\\{\\{TEAM_SIZE\\}\\}/g, answers.teamSize || \"\")\n .replace(/\\{\\{TEST_FRAMEWORK\\}\\}/g, answers.testFramework || \"Jest\")\n .replace(/\\{\\{CI_CD\\}\\}/g, answers.ciCd.join(\", \") || \"\")\n .replace(/\\{\\{BRANCH_STRATEGY\\}\\}/g, answers.branchStrategy || \"\")\n .replace(/\\{\\{PACKAGE_MANAGER\\}\\}/g, pkgManager)\n .replace(/\\{\\{PRIMARY_LANGUAGE\\}\\}/g, primaryLanguage)\n .replace(/\\{\\{DB_URL_EXAMPLE\\}\\}/g, dbUrl)\n .replace(/\\{\\{DEPLOYMENT_PLATFORM\\}\\}/g, deploymentPlatform);\n}\n\nfunction buildConventions(answers: ProjectAnswers): string {\n const parts: string[] = [];\n if (answers.linting.length > 0)\n parts.push(`- Linting: ${answers.linting.join(\", \")}`);\n if (answers.testFramework) parts.push(`- Testing: ${answers.testFramework}`);\n if (answers.ciCd.length > 0)\n parts.push(`- CI/CD: ${answers.ciCd.join(\", \")}`);\n if (answers.branchStrategy)\n parts.push(`- Branch strategy: ${answers.branchStrategy}`);\n if (answers.deploymentTarget.length > 0)\n parts.push(`- Deployment: ${answers.deploymentTarget.join(\", \")}`);\n if (answers.conventions) parts.push(`- ${answers.conventions}`);\n return parts.length > 0\n ? parts.join(\"\\n\")\n : \"- Follow existing code patterns\\n- Write tests for new features\";\n}\n\nfunction applyConditionalSections(\n content: string,\n answers: ProjectAnswers,\n): string {\n const tags = answers.techStackTags.map((t) => t.toLowerCase());\n\n const conditions: Record<string, boolean> = {\n DOCKER: tags.some((t) => t.includes(\"docker\")),\n POSTGRES: tags.some(\n (t) => t.includes(\"postgres\") || t.includes(\"postgresql\"),\n ),\n REDIS: tags.some((t) => t.includes(\"redis\")),\n CI: answers.ciCd.length > 0,\n TYPESCRIPT: tags.some((t) => t.includes(\"typescript\")),\n NEXTJS: tags.some((t) => t.includes(\"next\")),\n };\n\n let result = content;\n for (const [key, enabled] of Object.entries(conditions)) {\n const regex = new RegExp(\n `\\\\{\\\\{#IF_${key}\\\\}\\\\}([\\\\s\\\\S]*?)\\\\{\\\\{\\\\/IF_${key}\\\\}\\\\}`,\n \"g\",\n );\n result = result.replace(regex, enabled ? \"$1\" : \"\");\n }\n return result;\n}\n\nfunction generateQuickMode(\n templates: TemplateSelection[],\n answers: ProjectAnswers,\n existingPaths: Set<string>,\n) {\n const files: {\n path: string;\n content: string;\n skipped?: boolean;\n reason?: string;\n }[] = [];\n const techStack =\n answers.techStackTags.length > 0\n ? answers.techStackTags.join(\", \")\n : \"Not specified\";\n const conventions = buildConventions(answers);\n\n for (const selection of templates) {\n const template = TEMPLATES.find((t) => t.id === selection.id);\n if (!template) continue;\n\n const path = selection.path;\n\n if (existingPaths.has(path)) {\n files.push({\n path,\n content: \"\",\n skipped: true,\n reason: \"already exists\",\n });\n continue;\n }\n\n let content = template.content;\n\n if (selection.id === \"claude-md\") {\n content = `# ${answers.projectName} — Agent Instructions\n\n## What this is\n${answers.description || \"A software project.\"}\n\n## Stack\n${techStack}\n\n## Project type\n${answers.projectType.replace(/-/g, \" \")}\n\n## Commands\n\\`\\`\\`bash\n# Install dependencies\nnpm install\n\n# Start development\nnpm run dev\n\n# Build for production\nnpm run build\n\n# Run tests\nnpm test\n\\`\\`\\`\n\n## Key conventions\n${conventions}\n\n## Key features\n${\n answers.keyFeatures\n ? answers.keyFeatures\n .split(\",\")\n .map((f) => `- ${f.trim()}`)\n .join(\"\\n\")\n : \"- Core functionality\"\n}\n\n## Non-negotiables\n- Keep code clean and well-documented\n- Maintain test coverage\n- Follow security best practices\n`;\n } else if (selection.id === \"agents-md\") {\n content = `# ${answers.projectName} — Agent Config\n\nSee CLAUDE.md for detailed instructions.\n\n## Stack\n${techStack}\n\n## Key conventions\n${conventions}\n`;\n } else if (selection.id === \"gemini-md\") {\n content = `# ${answers.projectName} — Gemini Agent Instructions\n\n## What this is\n${answers.description || \"A software project.\"}\n\n## Stack\n${techStack}\n\n## Commands\n\\`\\`\\`bash\nnpm install\nnpm run dev\nnpm run build\nnpm test\n\\`\\`\\`\n\n## Key conventions\n${conventions}\n\n## Non-negotiables\n- Follow existing code patterns\n- Write tests for new features\n- Never commit secrets or credentials\n`;\n } else {\n content = applyPlaceholders(content, answers);\n }\n\n content = applyConditionalSections(content, answers);\n\n files.push({ path, content });\n }\n\n return files;\n}\n\nexport async function POST(req: NextRequest) {\n try {\n const root = req.nextUrl.searchParams.get(\"root\") || getConfiguredRoot();\n const { templates, answers, mode } = (await req.json()) as {\n templates: TemplateSelection[];\n answers: ProjectAnswers;\n mode: \"quick\" | \"ai\";\n };\n\n // Get existing docs to check for conflicts\n const existingDocs = await listDocs(root);\n const existingPaths = new Set(existingDocs.map((d) => d.path));\n\n let files: {\n path: string;\n content: string;\n skipped?: boolean;\n reason?: string;\n }[];\n\n if (mode === \"ai\") {\n // AI mode would use MCP connection\n // For now, fall back to quick mode\n files = generateQuickMode(templates, answers, existingPaths);\n } else {\n files = generateQuickMode(templates, answers, existingPaths);\n }\n\n return NextResponse.json({ files });\n } catch (e) {\n return NextResponse.json({ error: (e as Error).message }, { status: 500 });\n }\n}\n","import {\n AppRouteRouteModule,\n type AppRouteRouteHandlerContext,\n type AppRouteRouteModuleOptions,\n} from '../../server/route-modules/app-route/module.compiled'\nimport { RouteKind } from '../../server/route-kind'\nimport { patchFetch as _patchFetch } from '../../server/lib/patch-fetch'\nimport type { IncomingMessage, ServerResponse } from 'node:http'\nimport {\n addRequestMeta,\n getRequestMeta,\n setRequestMeta,\n type RequestMeta,\n} from '../../server/request-meta'\nimport {\n getTracer,\n type Span,\n SpanKind,\n SpanStatusCode,\n} from '../../server/lib/trace/tracer'\nimport { setManifestsSingleton } from '../../server/app-render/manifests-singleton'\nimport { normalizeAppPath } from '../../shared/lib/router/utils/app-paths'\nimport { NodeNextRequest, NodeNextResponse } from '../../server/base-http/node'\nimport {\n NextRequestAdapter,\n signalFromNodeResponse,\n} from '../../server/web/spec-extension/adapters/next-request'\nimport { BaseServerSpan } from '../../server/lib/trace/constants'\nimport { getRevalidateReason } from '../../server/instrumentation/utils'\nimport { sendResponse } from '../../server/send-response'\nimport {\n fromNodeOutgoingHttpHeaders,\n toNodeOutgoingHttpHeaders,\n} from '../../server/web/utils'\nimport { getCacheControlHeader } from '../../server/lib/cache-control'\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from '../../lib/constants'\nimport { NoFallbackError } from '../../shared/lib/no-fallback-error.external'\nimport {\n CachedRouteKind,\n type ResponseCacheEntry,\n type ResponseGenerator,\n} from '../../server/response-cache'\n\n// These are injected by the loader afterwards. This is injected as a variable\n// instead of a replacement because this could also be `undefined` instead of\n// an empty string.\ndeclare const nextConfigOutput: AppRouteRouteModuleOptions['nextConfigOutput']\n\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\n// INJECT:nextConfigOutput\n\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: 'VAR_DEFINITION_PAGE',\n pathname: 'VAR_DEFINITION_PATHNAME',\n filename: 'VAR_DEFINITION_FILENAME',\n bundlePath: 'VAR_DEFINITION_BUNDLE_PATH',\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: 'VAR_RESOLVED_PAGE_PATH',\n nextConfigOutput,\n // The lazy require factory ensures that:\n // - In dev: devRequestTimingInternalsEnd is set before userland executes,\n // correctly attributing module load time to application-code rather than\n // framework internals.\n // - In all modes: async modules (route files with top-level await) are\n // handled correctly — require() returns a Promise for such modules, which\n // ensureUserland() awaits before the first request is handled.\n userland: () => require('VAR_USERLAND') as typeof import('VAR_USERLAND'),\n // In Turbopack dev mode, also provide a synchronous per-request getter so\n // server HMR updates are picked up without re-executing the entry chunk.\n // Using require() (synchronous) avoids adding async overhead that would be\n // incorrectly attributed to application-code time in devRequestTiming.\n ...(process.env.TURBOPACK && process.env.__NEXT_DEV_SERVER\n ? {\n getUserland: () =>\n require('VAR_USERLAND') as typeof import('VAR_USERLAND'),\n }\n : {}),\n})\n\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule\n\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage,\n })\n}\n\nexport {\n routeModule,\n workAsyncStorage,\n workUnitAsyncStorage,\n serverHooks,\n patchFetch,\n}\n\nexport async function handler(\n req: IncomingMessage,\n res: ServerResponse,\n ctx: {\n waitUntil?: (prom: Promise<void>) => void\n requestMeta?: RequestMeta\n }\n) {\n if (ctx.requestMeta) {\n setRequestMeta(req, ctx.requestMeta)\n }\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint())\n }\n let srcPage = 'VAR_DEFINITION_PAGE'\n\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/'\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/'\n }\n const multiZoneDraftMode = process.env\n .__NEXT_MULTI_ZONE_DRAFT_MODE as any as boolean\n\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode,\n })\n\n if (!prepareResult) {\n res.statusCode = 400\n res.end('Bad Request')\n ctx.waitUntil?.(Promise.resolve())\n return null\n }\n\n const {\n buildId,\n deploymentId,\n params,\n nextConfig,\n parsedUrl,\n isDraftMode,\n prerenderManifest,\n routerServerContext,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n resolvedPathname,\n clientReferenceManifest,\n serverActionsManifest,\n } = prepareResult\n\n const normalizedSrcPage = normalizeAppPath(srcPage)\n\n let isIsr = Boolean(\n prerenderManifest.dynamicRoutes[normalizedSrcPage] ||\n prerenderManifest.routes[resolvedPathname]\n )\n\n const render404 = async () => {\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext?.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false)\n } else {\n res.end('This page could not be found')\n }\n return null\n }\n\n if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname])\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage]\n\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n if (nextConfig.adapterPath) {\n return await render404()\n }\n throw new NoFallbackError()\n }\n }\n }\n\n let cacheKey: string | null = null\n\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey\n }\n\n const supportsDynamicResponse: boolean =\n // If we're in development, we always support dynamic HTML\n routeModule.isDev === true ||\n // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr\n\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse\n\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest,\n })\n }\n\n const method = req.method || 'GET'\n const tracer = getTracer()\n const activeSpan = tracer.getActiveScopeSpan()\n const isWrappedByNextServer = Boolean(\n routerServerContext?.isWrappedByNextServer\n )\n const isMinimalMode = Boolean(getRequestMeta(req, 'minimalMode'))\n\n const incrementalCache =\n getRequestMeta(req, 'incrementalCache') ||\n (await routeModule.getIncrementalCache(\n req,\n nextConfig,\n prerenderManifest,\n isMinimalMode\n ))\n\n incrementalCache?.resetRequestCache()\n ;(globalThis as any).__incrementalCache = incrementalCache\n\n const context: AppRouteRouteHandlerContext = {\n params,\n previewProps: prerenderManifest.preview,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts),\n useCacheTimeout: nextConfig.experimental.useCacheTimeout,\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n validationLevel: nextConfig.experimental.instantInsights.validationLevel,\n supportsDynamicResponse,\n incrementalCache,\n hmrRefreshHash: getRequestMeta(req, 'hmrRefreshHash'),\n cacheLifeProfiles: nextConfig.cacheLife,\n staticPageGenerationTimeout: nextConfig.staticPageGenerationTimeout,\n waitUntil: ctx.waitUntil,\n onClose: (cb) => {\n res.on('close', cb)\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (\n error,\n _request,\n errorContext,\n silenceLog\n ) =>\n routeModule.onRequestError(\n req,\n error,\n errorContext,\n silenceLog,\n routerServerContext\n ),\n },\n sharedContext: {\n buildId,\n deploymentId,\n },\n }\n const nodeNextReq = new NodeNextRequest(req)\n const nodeNextRes = new NodeNextResponse(res)\n\n const nextReq = NextRequestAdapter.fromNodeNextRequest(\n nodeNextReq,\n signalFromNodeResponse(res)\n )\n\n const responseGenerator: ResponseGenerator = async ({\n previousCacheEntry,\n }) => {\n try {\n if (\n !isMinimalMode &&\n isOnDemandRevalidate &&\n revalidateOnlyGenerated &&\n !previousCacheEntry\n ) {\n res.statusCode = 404\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED')\n res.end('This page could not be found')\n return null\n }\n\n const response = await routeModule.handle(nextReq, context)\n\n ;(req as any).fetchMetrics = (context.renderOpts as any).fetchMetrics\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil\n\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil)\n pendingWaitUntil = undefined\n }\n }\n const cacheTags = context.renderOpts.collectedTags\n\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob()\n\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers)\n\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags\n }\n\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type\n }\n\n const revalidate =\n typeof context.renderOpts.collectedRevalidate === 'undefined' ||\n context.renderOpts.collectedRevalidate >= INFINITE_CACHE\n ? false\n : context.renderOpts.collectedRevalidate\n\n const expire =\n typeof context.renderOpts.collectedExpire === 'undefined' ||\n context.renderOpts.collectedExpire >= INFINITE_CACHE\n ? // Fall back to the global `expireTime` config when the\n // route has a numeric `revalidate` but didn't declare an\n // explicit `expire` (e.g. via `cacheLife`). This mirrors the\n // build-time fallback in `build/index.ts` so cache entries\n // and the response Cache-Control header agree on the route's\n // effective expire. Routes that opt out of revalidation\n // (`revalidate: false`) or that are dynamic (`revalidate: 0`)\n // keep `expire: undefined`.\n revalidate !== false && revalidate > 0\n ? nextConfig.expireTime\n : undefined\n : context.renderOpts.collectedExpire\n\n // Create the cache entry for the response.\n const cacheEntry: ResponseCacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers,\n },\n cacheControl: { revalidate, expire },\n }\n\n return cacheEntry\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, pendingWaitUntil)\n return null\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry?.isStale) {\n const silenceLog = false\n await routeModule.onRequestError(\n req,\n err,\n {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate,\n }),\n },\n silenceLog,\n routerServerContext\n )\n }\n throw err\n }\n }\n\n const handleResponse = async (\n currentSpan: Span | undefined,\n parentSpan: Span | undefined\n ) => {\n try {\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode,\n })\n\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return\n }\n\n if (cacheEntry?.value?.kind !== CachedRouteKind.APP_ROUTE) {\n throw new Error(\n `Invariant: app-route received invalid cache entry ${cacheEntry?.value?.kind}`\n )\n }\n\n if (!isMinimalMode) {\n res.setHeader(\n 'x-nextjs-cache',\n isOnDemandRevalidate\n ? 'REVALIDATED'\n : cacheEntry.isMiss\n ? 'MISS'\n : cacheEntry.isStale\n ? 'STALE'\n : 'HIT'\n )\n }\n\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader(\n 'Cache-Control',\n 'private, no-cache, no-store, max-age=0, must-revalidate'\n )\n }\n\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers)\n\n if (!(isMinimalMode && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER)\n }\n\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (\n cacheEntry.cacheControl &&\n !res.getHeader('Cache-Control') &&\n !headers.get('Cache-Control')\n ) {\n headers.set(\n 'Cache-Control',\n getCacheControlHeader(cacheEntry.cacheControl)\n )\n }\n\n await sendResponse(\n nodeNextReq,\n nodeNextRes,\n // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.\n new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200,\n })\n )\n return\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n const silenceLog = false\n await routeModule.onRequestError(\n req,\n err,\n {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate,\n }),\n },\n silenceLog,\n routerServerContext\n )\n }\n\n // rethrow so that we can handle serving error page\n\n // If this is during static generation, throw the error again.\n if (isIsr) throw err\n\n // Otherwise, send a 500 response.\n await sendResponse(\n nodeNextReq,\n nodeNextRes,\n new Response(null, { status: 500 })\n )\n return\n } finally {\n ;(() => {\n if (!currentSpan) {\n return\n }\n\n let statusCode = res.statusCode\n\n currentSpan.setAttributes({\n 'http.status_code': statusCode,\n 'next.rsc': false,\n })\n\n if (statusCode && statusCode >= 500) {\n // For 5xx status codes: SHOULD be set to 'Error' span status.\n // x-ref: https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status\n currentSpan.setStatus({\n code: SpanStatusCode.ERROR,\n })\n // For span status 'Error', SHOULD set 'error.type' attribute.\n currentSpan.setAttribute('error.type', statusCode.toString())\n }\n\n const rootSpanAttributes = tracer.getRootSpanAttributes()\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return\n }\n\n if (\n rootSpanAttributes.get('next.span_type') !==\n BaseServerSpan.handleRequest\n ) {\n console.warn(\n `Unexpected root span type '${rootSpanAttributes.get(\n 'next.span_type'\n )}'. Please report this Next.js issue https://github.com/vercel/next.js`\n )\n return\n }\n\n const route = rootSpanAttributes.get('next.route') || normalizedSrcPage\n const name = `${method} ${route}`\n\n currentSpan.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name,\n })\n currentSpan.updateName(name)\n\n // Propagate http.route to the parent span if one exists (e.g.\n // a platform-created HTTP span in adapter deployments).\n if (parentSpan && parentSpan !== currentSpan) {\n parentSpan.setAttribute('http.route', route)\n parentSpan.updateName(name)\n }\n })()\n }\n }\n\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (isWrappedByNextServer && activeSpan) {\n await handleResponse(activeSpan, undefined)\n } else {\n let parentSpan = tracer.getActiveScopeSpan()\n await tracer.withPropagatedContext(\n req.headers,\n () =>\n tracer.trace(\n BaseServerSpan.handleRequest,\n {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url,\n },\n },\n (span) => handleResponse(span, parentSpan)\n ),\n undefined,\n !isWrappedByNextServer\n )\n }\n}\n"],"names":["applyPlaceholders","content","answers","today","Date","toISOString","split","techStack","techStackTags","length","join","features","keyFeatures","map","f","trim","conventions","buildConventions","pkgManager","some","t","toLowerCase","includes","languageKeywords","primaryLanguage","find","lang","dbTags","dbUrl","deploymentPlatform","deploymentTarget","replace","projectName","projectType","description","repoUrl","teamSize","testFramework","ciCd","branchStrategy","parts","linting","push","applyConditionalSections","tags","conditions","DOCKER","POSTGRES","REDIS","CI","TYPESCRIPT","NEXTJS","result","key","enabled","Object","entries","regex","RegExp","generateQuickMode","templates","existingPaths","files","selection","template","id","path","has","skipped","reason","POST","req","root","nextUrl","searchParams","get","mode","json","existingDocs","Set","d","e","error","message","status","AppRouteRouteModule","RouteKind","patchFetch","_patchFetch","addRequestMeta","getRequestMeta","setRequestMeta","getTracer","SpanKind","SpanStatusCode","setManifestsSingleton","normalizeAppPath","NodeNextRequest","NodeNextResponse","NextRequestAdapter","signalFromNodeResponse","BaseServerSpan","getRevalidateReason","sendResponse","fromNodeOutgoingHttpHeaders","toNodeOutgoingHttpHeaders","getCacheControlHeader","INFINITE_CACHE","NEXT_CACHE_TAGS_HEADER","NoFallbackError","CachedRouteKind","routeModule","definition","kind","APP_ROUTE","page","pathname","filename","bundlePath","distDir","process","env","__NEXT_RELATIVE_DIST_DIR","relativeProjectDir","__NEXT_RELATIVE_PROJECT_DIR","resolvedPagePath","nextConfigOutput","userland","require","TURBOPACK","__NEXT_DEV_SERVER","getUserland","workAsyncStorage","workUnitAsyncStorage","serverHooks","handler","res","ctx","requestMeta","isDev","hrtime","bigint","srcPage","multiZoneDraftMode","__NEXT_MULTI_ZONE_DRAFT_MODE","prepareResult","prepare","statusCode","end","waitUntil","Promise","resolve","buildId","deploymentId","params","nextConfig","parsedUrl","isDraftMode","prerenderManifest","routerServerContext","isOnDemandRevalidate","revalidateOnlyGenerated","resolvedPathname","clientReferenceManifest","serverActionsManifest","normalizedSrcPage","isIsr","Boolean","dynamicRoutes","routes","render404","isPrerendered","prerenderInfo","fallback","adapterPath","cacheKey","supportsDynamicResponse","isStaticGeneration","method","tracer","activeSpan","getActiveScopeSpan","isWrappedByNextServer","isMinimalMode","incrementalCache","getIncrementalCache","resetRequestCache","globalThis","__incrementalCache","context","previewProps","preview","renderOpts","experimental","authInterrupts","useCacheTimeout","cacheComponents","validationLevel","instantInsights","hmrRefreshHash","cacheLifeProfiles","cacheLife","staticPageGenerationTimeout","onClose","cb","on","onAfterTaskError","undefined","onInstrumentationRequestError","_request","errorContext","silenceLog","onRequestError","sharedContext","nodeNextReq","nodeNextRes","nextReq","fromNodeNextRequest","responseGenerator","previousCacheEntry","setHeader","response","handle","fetchMetrics","pendingWaitUntil","cacheTags","collectedTags","blob","headers","type","revalidate","collectedRevalidate","expire","collectedExpire","expireTime","cacheEntry","value","body","Buffer","from","arrayBuffer","cacheControl","err","isStale","routerKind","routePath","routeType","revalidateReason","handleResponse","currentSpan","parentSpan","routeKind","isFallback","isRoutePPREnabled","Error","isMiss","delete","getHeader","set","Response","setAttributes","setStatus","code","ERROR","setAttribute","toString","rootSpanAttributes","getRootSpanAttributes","handleRequest","console","warn","route","name","updateName","withPropagatedContext","trace","spanName","SERVER","attributes","url","span"],"mappings":"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","ignoreList":[1]}
@@ -0,0 +1,3 @@
1
+ module.exports=[795667,a=>{"use strict";var b=a.i(256857);let c={name:"bot",size:24,node:[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]};c.node;let d=(0,b.default)(c);a.s(["Bot",0,d],795667)},60084,28386,a=>{"use strict";var b=a.i(256857);let c={name:"copy",size:24,node:[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]};c.node;let d=(0,b.default)(c);a.s(["Copy",0,d],60084);let e={name:"trash",size:24,node:[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aliases:["trash-2"]};e.node;let f=(0,b.default)(e);a.s(["Trash2",0,f],28386)},108280,a=>{"use strict";var b=a.i(256857);let c={name:"loader-circle",size:24,node:[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],aliases:["loader-2"]};c.node;let d=(0,b.default)(c);a.s(["Loader2",0,d],108280)},661661,a=>{"use strict";var b=a.i(256857);let c={name:"pencil",size:24,node:[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]};c.node;let d=(0,b.default)(c);a.s(["Pencil",0,d],661661)},200382,a=>{"use strict";var b=a.i(256857);let c={name:"plus",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]};c.node;let d=(0,b.default)(c);a.s(["Plus",0,d],200382)}];
2
+
3
+ //# sourceMappingURL=1x05_lucide-react_dist_esm_icons_08ca0b4._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/bot.ts","../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/trash.ts","../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/copy.ts","../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/loader-circle.ts","../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/pencil.ts","../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/plus.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'bot',\n size: 24,\n node: [\n ['path', { d: 'M12 8V4H8', key: 'hb8ula' }],\n ['rect', { width: '16', height: '12', x: '4', y: '8', rx: '2', key: 'enze0r' }],\n ['path', { d: 'M2 14h2', key: 'vft8re' }],\n ['path', { d: 'M20 14h2', key: '4cs60a' }],\n ['path', { d: 'M15 13v2', key: '1xurst' }],\n ['path', { d: 'M9 13v2', key: 'rq6x2g' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Bot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgOFY0SDgiIC8+CiAgPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjEyIiB4PSI0IiB5PSI4IiByeD0iMiIgLz4KICA8cGF0aCBkPSJNMiAxNGgyIiAvPgogIDxwYXRoIGQ9Ik0yMCAxNGgyIiAvPgogIDxwYXRoIGQ9Ik0xNSAxM3YyIiAvPgogIDxwYXRoIGQ9Ik05IDEzdjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bot\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Bot = createLucideIcon(__iconData);\n\nexport default Bot;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'trash',\n size: 24,\n node: [\n ['path', { d: 'M10 11v6', key: 'nco0om' }],\n ['path', { d: 'M14 11v6', key: 'outv1u' }],\n ['path', { d: 'M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6', key: 'miytrc' }],\n ['path', { d: 'M3 6h18', key: 'd0wm0j' }],\n ['path', { d: 'M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2', key: 'e791ji' }],\n ],\n aliases: ['trash-2'],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Trash\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTF2NiIgLz4KICA8cGF0aCBkPSJNMTQgMTF2NiIgLz4KICA8cGF0aCBkPSJNMTkgNnYxNGEyIDIgMCAwIDEtMiAySDdhMiAyIDAgMCAxLTItMlY2IiAvPgogIDxwYXRoIGQ9Ik0zIDZoMTgiIC8+CiAgPHBhdGggZD0iTTggNlY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/trash\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Trash = createLucideIcon(__iconData);\n\nexport default Trash;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'copy',\n size: 24,\n node: [\n ['rect', { width: '14', height: '14', x: '8', y: '8', rx: '2', ry: '2', key: '17jyea' }],\n ['path', { d: 'M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2', key: 'zix9uf' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Copy\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHg9IjgiIHk9IjgiIHJ4PSIyIiByeT0iMiIgLz4KICA8cGF0aCBkPSJNNCAxNmMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDEwYzEuMSAwIDIgLjkgMiAyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/copy\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Copy = createLucideIcon(__iconData);\n\nexport default Copy;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'loader-circle',\n size: 24,\n node: [['path', { d: 'M21 12a9 9 0 1 1-6.219-8.56', key: '13zald' }]],\n aliases: ['loader-2'],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name LoaderCircle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTJhOSA5IDAgMSAxLTYuMjE5LTguNTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/loader-circle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst LoaderCircle = createLucideIcon(__iconData);\n\nexport default LoaderCircle;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'pencil',\n size: 24,\n node: [\n [\n 'path',\n {\n d: 'M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z',\n key: '1a8usu',\n },\n ],\n ['path', { d: 'm15 5 4 4', key: '1mk7zo' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Pencil\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEuMTc0IDYuODEyYTEgMSAwIDAgMC0zLjk4Ni0zLjk4N0wzLjg0MiAxNi4xNzRhMiAyIDAgMCAwLS41LjgzbC0xLjMyMSA0LjM1MmEuNS41IDAgMCAwIC42MjMuNjIybDQuMzUzLTEuMzJhMiAyIDAgMCAwIC44My0uNDk3eiIgLz4KICA8cGF0aCBkPSJtMTUgNSA0IDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/pencil\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Pencil = createLucideIcon(__iconData);\n\nexport default Pencil;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'plus',\n size: 24,\n node: [\n ['path', { d: 'M5 12h14', key: '1ays0h' }],\n ['path', { d: 'M12 5v14', key: 's699le' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Plus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAxMmgxNCIgLz4KICA8cGF0aCBkPSJNMTIgNXYxNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/plus\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Plus = createLucideIcon(__iconData);\n\nexport default Plus;\n"],"names":[],"mappings":"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","ignoreList":[0,1,2,3,4,5]}