constellai 0.3.2 → 0.3.4

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 (238) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/react-loadable-manifest.json +2 -2
  5. package/.next/server/app/(app)/activity/page.js +2 -2
  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)/agents/[handle]/page.js +2 -2
  9. package/.next/server/app/(app)/agents/[handle]/page.js.nft.json +1 -1
  10. package/.next/server/app/(app)/agents/[handle]/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/(app)/code/page.js +2 -2
  12. package/.next/server/app/(app)/code/page.js.nft.json +1 -1
  13. package/.next/server/app/(app)/code/page_client-reference-manifest.js +1 -1
  14. package/.next/server/app/(app)/config/page.js +2 -2
  15. package/.next/server/app/(app)/config/page.js.nft.json +1 -1
  16. package/.next/server/app/(app)/config/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/(app)/costs/page.js +2 -2
  18. package/.next/server/app/(app)/costs/page.js.nft.json +1 -1
  19. package/.next/server/app/(app)/costs/page_client-reference-manifest.js +1 -1
  20. package/.next/server/app/(app)/cron/page.js +2 -2
  21. package/.next/server/app/(app)/cron/page.js.nft.json +1 -1
  22. package/.next/server/app/(app)/cron/page_client-reference-manifest.js +1 -1
  23. package/.next/server/app/(app)/dashboard/page.js +2 -2
  24. package/.next/server/app/(app)/dashboard/page.js.nft.json +1 -1
  25. package/.next/server/app/(app)/dashboard/page_client-reference-manifest.js +1 -1
  26. package/.next/server/app/(app)/design/page.js +13 -13
  27. package/.next/server/app/(app)/design/page.js.nft.json +1 -1
  28. package/.next/server/app/(app)/design/page_client-reference-manifest.js +1 -1
  29. package/.next/server/app/(app)/docs/[id]/page.js +2 -2
  30. package/.next/server/app/(app)/docs/[id]/page.js.nft.json +1 -1
  31. package/.next/server/app/(app)/docs/[id]/page_client-reference-manifest.js +1 -1
  32. package/.next/server/app/(app)/docs/page.js +2 -2
  33. package/.next/server/app/(app)/docs/page.js.nft.json +1 -1
  34. package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -1
  35. package/.next/server/app/(app)/github/page.js +1 -1
  36. package/.next/server/app/(app)/github/page.js.nft.json +1 -1
  37. package/.next/server/app/(app)/github/page_client-reference-manifest.js +1 -1
  38. package/.next/server/app/(app)/goals/page.js +2 -2
  39. package/.next/server/app/(app)/goals/page.js.nft.json +1 -1
  40. package/.next/server/app/(app)/goals/page_client-reference-manifest.js +1 -1
  41. package/.next/server/app/(app)/inbox/page.js +2 -2
  42. package/.next/server/app/(app)/inbox/page.js.nft.json +1 -1
  43. package/.next/server/app/(app)/inbox/page_client-reference-manifest.js +1 -1
  44. package/.next/server/app/(app)/knowledge/page.js +3 -3
  45. package/.next/server/app/(app)/knowledge/page.js.nft.json +1 -1
  46. package/.next/server/app/(app)/knowledge/page_client-reference-manifest.js +1 -1
  47. package/.next/server/app/(app)/models/page.js +2 -2
  48. package/.next/server/app/(app)/models/page.js.nft.json +1 -1
  49. package/.next/server/app/(app)/models/page_client-reference-manifest.js +1 -1
  50. package/.next/server/app/(app)/notifications/page.js +2 -2
  51. package/.next/server/app/(app)/notifications/page.js.nft.json +1 -1
  52. package/.next/server/app/(app)/notifications/page_client-reference-manifest.js +1 -1
  53. package/.next/server/app/(app)/org/page.js +4 -4
  54. package/.next/server/app/(app)/org/page.js.nft.json +1 -1
  55. package/.next/server/app/(app)/org/page_client-reference-manifest.js +1 -1
  56. package/.next/server/app/(app)/organizations/page.js +2 -2
  57. package/.next/server/app/(app)/organizations/page.js.nft.json +1 -1
  58. package/.next/server/app/(app)/organizations/page_client-reference-manifest.js +1 -1
  59. package/.next/server/app/(app)/page.js +3 -3
  60. package/.next/server/app/(app)/page.js.nft.json +1 -1
  61. package/.next/server/app/(app)/page_client-reference-manifest.js +1 -1
  62. package/.next/server/app/(app)/planner/page.js +2 -2
  63. package/.next/server/app/(app)/planner/page.js.nft.json +1 -1
  64. package/.next/server/app/(app)/planner/page_client-reference-manifest.js +1 -1
  65. package/.next/server/app/(app)/plugins/page.js +2 -2
  66. package/.next/server/app/(app)/plugins/page.js.nft.json +1 -1
  67. package/.next/server/app/(app)/plugins/page_client-reference-manifest.js +1 -1
  68. package/.next/server/app/(app)/pm/page.js +2 -2
  69. package/.next/server/app/(app)/pm/page.js.nft.json +1 -1
  70. package/.next/server/app/(app)/pm/page_client-reference-manifest.js +1 -1
  71. package/.next/server/app/(app)/prepare-deploy/page.js +2 -2
  72. package/.next/server/app/(app)/prepare-deploy/page.js.nft.json +1 -1
  73. package/.next/server/app/(app)/prepare-deploy/page_client-reference-manifest.js +1 -1
  74. package/.next/server/app/(app)/profile/page.js +2 -2
  75. package/.next/server/app/(app)/profile/page.js.nft.json +1 -1
  76. package/.next/server/app/(app)/profile/page_client-reference-manifest.js +1 -1
  77. package/.next/server/app/(app)/pulse/page.js +2 -2
  78. package/.next/server/app/(app)/pulse/page.js.nft.json +1 -1
  79. package/.next/server/app/(app)/pulse/page_client-reference-manifest.js +1 -1
  80. package/.next/server/app/(app)/reports/[id]/page.js +2 -2
  81. package/.next/server/app/(app)/reports/[id]/page.js.nft.json +1 -1
  82. package/.next/server/app/(app)/reports/[id]/page_client-reference-manifest.js +1 -1
  83. package/.next/server/app/(app)/reports/page.js +3 -3
  84. package/.next/server/app/(app)/reports/page.js.nft.json +1 -1
  85. package/.next/server/app/(app)/reports/page_client-reference-manifest.js +1 -1
  86. package/.next/server/app/(app)/routines/page.js +2 -2
  87. package/.next/server/app/(app)/routines/page.js.nft.json +1 -1
  88. package/.next/server/app/(app)/routines/page_client-reference-manifest.js +1 -1
  89. package/.next/server/app/(app)/search/page.js +2 -2
  90. package/.next/server/app/(app)/search/page.js.nft.json +1 -1
  91. package/.next/server/app/(app)/search/page_client-reference-manifest.js +1 -1
  92. package/.next/server/app/(app)/security/page.js +2 -2
  93. package/.next/server/app/(app)/security/page.js.nft.json +1 -1
  94. package/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -1
  95. package/.next/server/app/(app)/skills/page.js +2 -2
  96. package/.next/server/app/(app)/skills/page.js.nft.json +1 -1
  97. package/.next/server/app/(app)/skills/page_client-reference-manifest.js +1 -1
  98. package/.next/server/app/(app)/tasks/page.js +2 -2
  99. package/.next/server/app/(app)/tasks/page.js.nft.json +1 -1
  100. package/.next/server/app/(app)/tasks/page_client-reference-manifest.js +1 -1
  101. package/.next/server/app/(app)/test-dev/page.js +2 -2
  102. package/.next/server/app/(app)/test-dev/page.js.nft.json +1 -1
  103. package/.next/server/app/(app)/test-dev/page_client-reference-manifest.js +1 -1
  104. package/.next/server/app/(app)/update/page.js +3 -3
  105. package/.next/server/app/(app)/update/page.js.nft.json +1 -1
  106. package/.next/server/app/(app)/update/page_client-reference-manifest.js +1 -1
  107. package/.next/server/app/(auth)/login/page.js +2 -2
  108. package/.next/server/app/(auth)/login/page_client-reference-manifest.js +1 -1
  109. package/.next/server/app/(auth)/onboarding/page.js +1 -1
  110. package/.next/server/app/(auth)/onboarding/page_client-reference-manifest.js +1 -1
  111. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  112. package/.next/server/app/_global-error.html +1 -1
  113. package/.next/server/app/_global-error.rsc +1 -1
  114. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  115. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  116. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  117. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  118. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  119. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  120. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  121. package/.next/server/app/api/cron/tick/route.js +2 -2
  122. package/.next/server/app/api/sync/file/route.js +1 -1
  123. package/.next/server/app/api/telegram/poll/route.js +3 -3
  124. package/.next/server/app/api/v1/[[...path]]/route.js +1 -1
  125. package/.next/server/chunks/1249.js +5 -5
  126. package/.next/server/chunks/259.js +1 -1
  127. package/.next/server/chunks/2867.js +1 -1
  128. package/.next/server/chunks/2960.js +1 -1
  129. package/.next/server/chunks/319.js +1 -0
  130. package/.next/server/chunks/3234.js +1 -1
  131. package/.next/server/chunks/4828.js +1 -0
  132. package/.next/server/chunks/4979.js +2 -2
  133. package/.next/server/chunks/5697.js +1 -0
  134. package/.next/server/chunks/6151.js +12 -0
  135. package/.next/server/chunks/6431.js +1 -1
  136. package/.next/server/chunks/6798.js +21 -0
  137. package/.next/server/chunks/{3078.js → 6903.js} +15 -15
  138. package/.next/server/chunks/7589.js +1 -1
  139. package/.next/server/chunks/7989.js +1 -1
  140. package/.next/server/chunks/8486.js +4 -0
  141. package/.next/server/chunks/8561.js +1 -1
  142. package/.next/server/chunks/8823.js +1 -1
  143. package/.next/server/chunks/9783.js +1 -1
  144. package/.next/server/middleware-build-manifest.js +1 -1
  145. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  146. package/.next/server/pages/500.html +1 -1
  147. package/.next/server/server-reference-manifest.js +1 -1
  148. package/.next/server/server-reference-manifest.json +1 -1
  149. package/.next/static/chunks/4353-12629098ed83e468.js +1 -0
  150. package/.next/static/chunks/4398-e798770ae782576f.js +1 -0
  151. package/.next/static/chunks/4428-09f7d473d9e33d59.js +1 -0
  152. package/.next/static/chunks/7457-c37382c6f4e115f8.js +4 -0
  153. package/.next/static/chunks/{7509.8d3cbebb5fbe6247.js → 7509.721cd47a931c5518.js} +1 -1
  154. package/.next/static/chunks/{8370-4a29b1affcb7dc68.js → 8370-6da6aa10d687b8ae.js} +2 -2
  155. package/.next/static/chunks/9690-00ad96a74abac075.js +1 -0
  156. package/.next/static/chunks/app/(app)/activity/{page-02fbf7cf46282feb.js → page-09bc1c776962737c.js} +1 -1
  157. package/.next/static/chunks/app/(app)/agents/[handle]/page-b11e5f8f25fb2f88.js +1 -0
  158. package/.next/static/chunks/app/(app)/code/{page-8f8ae22136752631.js → page-ff6925db6e10e3cc.js} +1 -1
  159. package/.next/static/chunks/app/(app)/config/page-4df2facd9c81adb5.js +1 -0
  160. package/.next/static/chunks/app/(app)/costs/{page-aadb60fb329974f3.js → page-c0a07c0283731a8c.js} +1 -1
  161. package/.next/static/chunks/app/(app)/cron/{page-0219c7a0530ad628.js → page-662e6e1a25b14025.js} +1 -1
  162. package/.next/static/chunks/app/(app)/dashboard/page-e6f62eaecc0f9926.js +1 -0
  163. package/.next/static/chunks/app/(app)/design/{page-f889489d70e0e839.js → page-d457cdfa525acb85.js} +3 -3
  164. package/.next/static/chunks/app/(app)/docs/[id]/{page-f2e1f3d72634fb4b.js → page-4a1be0c9bd6ca402.js} +1 -1
  165. package/.next/static/chunks/app/(app)/docs/page-e6db758a14f57ec8.js +1 -0
  166. package/.next/static/chunks/app/(app)/github/{page-0e47c2c1c9c927e4.js → page-57bb812627d083a1.js} +1 -1
  167. package/.next/static/chunks/app/(app)/goals/page-81e1af515f78e13b.js +1 -0
  168. package/.next/static/chunks/app/(app)/inbox/page-0baef1b01009c832.js +12 -0
  169. package/.next/static/chunks/app/(app)/knowledge/page-eb1317bf385e31ed.js +1 -0
  170. package/.next/static/chunks/app/(app)/layout-dcd4f30b53cb140f.js +1 -0
  171. package/.next/static/chunks/app/(app)/models/page-d73965ae6ca317e8.js +1 -0
  172. package/.next/static/chunks/app/(app)/notifications/page-b3ff14483cb6694e.js +12 -0
  173. package/.next/static/chunks/app/(app)/org/{page-30bb71b216cc152e.js → page-3075b218dbc681ce.js} +2 -2
  174. package/.next/static/chunks/app/(app)/organizations/page-a6d35dbb21a61b7c.js +1 -0
  175. package/.next/static/chunks/app/(app)/page-c9e4fc0616a0083e.js +1 -0
  176. package/.next/static/chunks/app/(app)/planner/{page-5177b5fd72d529f4.js → page-809dd3edda4ada93.js} +1 -1
  177. package/.next/static/chunks/app/(app)/plugins/page-7e2aad1b702b5c88.js +1 -0
  178. package/.next/static/chunks/app/(app)/pm/page-709f9ac68ac98693.js +1 -0
  179. package/.next/static/chunks/app/(app)/prepare-deploy/page-f9609626153c2483.js +1 -0
  180. package/.next/static/chunks/app/(app)/profile/page-6d22c7bd0adb7a52.js +1 -0
  181. package/.next/static/chunks/app/(app)/pulse/{page-a0895a89c74c1d4c.js → page-f529917828ff4884.js} +1 -1
  182. package/.next/static/chunks/app/(app)/reports/[id]/{page-0219c7a0530ad628.js → page-662e6e1a25b14025.js} +1 -1
  183. package/.next/static/chunks/app/(app)/reports/page-5248735b18767054.js +1 -0
  184. package/.next/static/chunks/app/(app)/routines/{page-eaba9756a33d98a6.js → page-cf4e597389865ae8.js} +1 -1
  185. package/.next/static/chunks/app/(app)/search/{page-d975712d07eed70d.js → page-4d1e07c4c43a7489.js} +1 -1
  186. package/.next/static/chunks/app/(app)/security/{page-4b126307f9963c2a.js → page-db7b8840d9cc6b72.js} +1 -1
  187. package/.next/static/chunks/app/(app)/skills/page-a98da9e415efc310.js +1 -0
  188. package/.next/static/chunks/app/(app)/tasks/page-ab33402626a50c88.js +1 -0
  189. package/.next/static/chunks/app/(app)/test-dev/page-34612a4b47ec9aa2.js +1 -0
  190. package/.next/static/chunks/app/(app)/update/page-99d63495bfdd56a9.js +1 -0
  191. package/.next/static/chunks/app/(auth)/login/{page-3df648bab2319a0b.js → page-c7b372a5053512f0.js} +1 -1
  192. package/.next/static/chunks/app/(auth)/onboarding/{page-ee09eb3fd38f3365.js → page-450bfc87fb942f9b.js} +1 -1
  193. package/.next/static/chunks/{main-2e2f6e1d0f3b78b1.js → main-722e16032e7764d1.js} +1 -1
  194. package/.next/static/chunks/webpack-222e3894b78c67db.js +1 -0
  195. package/.next/trace-build +1 -1
  196. package/CHANGELOG.md +32 -0
  197. package/README.md +1 -1
  198. package/README.pt-BR.md +1 -1
  199. package/bin/constella-update.mjs +44 -0
  200. package/docs/UPDATE.md +51 -6
  201. package/package.json +1 -1
  202. package/scripts/vps-install.sh +22 -0
  203. package/scripts/vps-update.sh +22 -0
  204. package/.next/server/chunks/104.js +0 -1
  205. package/.next/server/chunks/1082.js +0 -1
  206. package/.next/server/chunks/2359.js +0 -1
  207. package/.next/server/chunks/7970.js +0 -21
  208. package/.next/server/chunks/8071.js +0 -4
  209. package/.next/server/chunks/8102.js +0 -12
  210. package/.next/static/chunks/1068-50497be19315ccfb.js +0 -1
  211. package/.next/static/chunks/4991-0306ad0e6cd8cb8a.js +0 -1
  212. package/.next/static/chunks/6061-f3ad54a48323cba0.js +0 -1
  213. package/.next/static/chunks/6121-37930472292e5a6c.js +0 -4
  214. package/.next/static/chunks/9690-53d5222618cbeddb.js +0 -1
  215. package/.next/static/chunks/app/(app)/agents/[handle]/page-e3eda42a3f20e3e5.js +0 -1
  216. package/.next/static/chunks/app/(app)/config/page-84216e49b0b08248.js +0 -1
  217. package/.next/static/chunks/app/(app)/dashboard/page-1e7ecb2bdefcdc19.js +0 -1
  218. package/.next/static/chunks/app/(app)/docs/page-ab10f655b932f175.js +0 -1
  219. package/.next/static/chunks/app/(app)/goals/page-9a68e61bbc392281.js +0 -1
  220. package/.next/static/chunks/app/(app)/inbox/page-6ee42cdd99664d11.js +0 -12
  221. package/.next/static/chunks/app/(app)/knowledge/page-c02936180f61550f.js +0 -1
  222. package/.next/static/chunks/app/(app)/layout-7d2d377b224620c8.js +0 -1
  223. package/.next/static/chunks/app/(app)/models/page-8635495017d696c1.js +0 -1
  224. package/.next/static/chunks/app/(app)/notifications/page-72f15bd4b6289bf1.js +0 -12
  225. package/.next/static/chunks/app/(app)/organizations/page-50c64b60a6850870.js +0 -1
  226. package/.next/static/chunks/app/(app)/page-638517264806ba7e.js +0 -1
  227. package/.next/static/chunks/app/(app)/plugins/page-66921b5b398f2c05.js +0 -1
  228. package/.next/static/chunks/app/(app)/pm/page-a1f93d19d3c28627.js +0 -1
  229. package/.next/static/chunks/app/(app)/prepare-deploy/page-de7dc9413e3dbf82.js +0 -1
  230. package/.next/static/chunks/app/(app)/profile/page-e73d191fce633cd7.js +0 -1
  231. package/.next/static/chunks/app/(app)/reports/page-fd0b0d0fa742819e.js +0 -1
  232. package/.next/static/chunks/app/(app)/skills/page-f1fc99f1d15e26a4.js +0 -1
  233. package/.next/static/chunks/app/(app)/tasks/page-a4b78a8d76fd9432.js +0 -1
  234. package/.next/static/chunks/app/(app)/test-dev/page-55cef74633b3cf4c.js +0 -1
  235. package/.next/static/chunks/app/(app)/update/page-92764fc98b253709.js +0 -1
  236. package/.next/static/chunks/webpack-94c9726ec79ee4b4.js +0 -1
  237. /package/.next/static/{N4KMSOY3i-qyXrbfm97sO → mOVW9EdxrQ1xPT7vDdRdK}/_buildManifest.js +0 -0
  238. /package/.next/static/{N4KMSOY3i-qyXrbfm97sO → mOVW9EdxrQ1xPT7vDdRdK}/_ssgManifest.js +0 -0
@@ -38,18 +38,8 @@
38
38
  created_at INTEGER NOT NULL DEFAULT (unixepoch())
39
39
  );
40
40
  CREATE INDEX IF NOT EXISTS design_comment_sess_idx ON design_comment (session_id);
41
- `))}},13666:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"001e793b6b9e17dd4f29b7fd68cfaf7432f33ca45b":()=>o.Rr,"001e9438ad79751b43a67274b6ace17c2e1c928bc8":()=>n.Ni,"001fccc7214a81eee4a828374a1cfd7cc92e5109fb":()=>o.Fy,"002234aea5fd2572718131ead1f05190985be74a33":()=>n.Tu,"00278cf083f0444f3a6e3424ad8e91620933154ebb":()=>n.oS,"003d1836382188603c5b40a8fd0c7735cec69e7922":()=>i.V,"003f7bfd00bce6e4642889640da92a0031cf3f1506":()=>o.j0,"0042e68aad222037eb8d73ca8b3ce5329de2cd3485":()=>n.PO,"004385fd0fd07982e82eeb3fc0a146319a0c4cddcf":()=>p.PG,"0046a7e4ebb2cccc6a87edb43c2997756f18bda59a":()=>n.ME,"004ec7f252351e38a9c4baf338040eebc632b425d2":()=>j.f,"0051a52502b49e09ad171c2a611bc2418ed1c1a9dc":()=>e.PE,"005a226f73ea851bb80ec4f9fdf3aedb50fb7fbcd1":()=>e.y_,"006e8af0a9d448c35929f30770e8bf32cf31d04059":()=>n.o3,"006e8b51bd97c68f55b9872060b05677c64a7c9f97":()=>o.zC,"00703229b811528142c40576d5c57f3467b87b9b61":()=>d.bt,"008945e940738840c2c3f8cf09a767e9dff2d1d34b":()=>k.dj,"0090131bcae50230e28748655379447741ab652359":()=>n.gn,"00989a2c152ceb87b200f52f9d56d6a1006b3ae418":()=>j.O,"009be10f119924c7536924e7aa423be2a59d4a0f40":()=>p.eU,"00a3d5009503b1be561d7520e2b68ce0587a6740c0":()=>p.pM,"00bb81b2ee7b45ce9f2c558b5098b2acbe223d936e":()=>k.eg,"00c1fb6ce74d62b438d138919be4f28d737bd5f89e":()=>n.wP,"00c32dabc548d014c4502a6c19526793c39dcf6941":()=>n.e9,"00c38194c9d1cef9ff1d75790c8f782badbc37b52a":()=>o.nx,"00cdd261029ea6d12df690e0b43e69818dbfeca142":()=>h.x7,"00ce8a19facd18b6c85993ebd6da347d63d0579dfa":()=>k.io,"00d423e1c54f47493dd9e26787f081501532d5754f":()=>d.xU,"00d5ab8ca58d06168c31e17224e74cd797dd553208":()=>n.I_,"00df7e6e08eaa29f35def8db35d7aefb6c9acb9ce2":()=>e.KO,"00e68579200e3df5cde1803035a93f8406aa41e3b0":()=>h.Mp,"00ee824db0a18ba9e4b113a979c27e43db14785003":()=>e.GK,"00fd90f8c566baf01d21da17be366b2d1e7491c93b":()=>n.yL,"4004cb652b9955d22ac032162768b4e0579a46079b":()=>e.ey,"400cec94da616f674817927789cb26482bba22cfbd":()=>p.Kg,"4010339d35fee3f9209079d6bec35c010e1bbd23f5":()=>m.y,"4012df9fe60cdc771539fe5ed6ee353f894150d310":()=>g.L,"40180769811ee904607ab5b31116043b8c5f8be1a1":()=>i.E_,"401b5fdc3d8fb095679094c177536777e53f9c06fd":()=>p.lP,"401faef2c147c7b8c76c625693c54ed86b549ee2b1":()=>n.a4,"4021ca58f6081eea2ecbd22b042f8eb7cb116a2fc3":()=>i.zS,"40242806df9ad69eb1c87ff62b4b2b34b3abad98dd":()=>e.jc,"40249f352fbd111bf83a85129254e9e18ef8ea9d64":()=>l.TX,"40351d5db9a1e50c1bd433937f063a80a1ce684789":()=>n.fb,"403749a90a6e9864bb036eaf2d190975f685b1ba05":()=>n.NM,"403f678d5d57534e9a4ef4af67527e65530a71636e":()=>n.DX,"404005f581c185523c57ba4de7b6e623b00422d422":()=>l.IL,"4043bf7bfb696cedd602c64d3cef7bf6dddbf9f469":()=>n.lj,"4049b65fc61de5f15ea027c832048d695017a2cadc":()=>d.GW,"404aa55a36511316cdf338b098de663d429f9e7c1f":()=>k.De,"4055d44350781ccf3333fcaf2f5cb371866c797769":()=>i.F,"405a2f4d5897167f5bd29ff4e7282eb422acfea757":()=>o.KD,"406201c1d173ad16581e88feb7fdf42ebbc95ef841":()=>d.VL,"4071f283e89c11613199ff14971015fe9755477e19":()=>n.$_,"4079f1999a35dc10b0cc2c6e51aea432b5ac1ec53e":()=>n.is,"407c52c4d4449ab61d90dcfa9cbf1ddd27160f6838":()=>e.RG,"4087e6e58cd4d57932fba61705c67f27c76e9dbebb":()=>d.Wu,"40972d5b822e66513389d5179af32bb5f9ab77ca88":()=>g.p,"409743adf88b2fc6a237494fd51038d3a4527b0203":()=>h.lR,"4098a30c32d55222f36022ce7f7db3cbe0c93e6725":()=>n.R6,"4098f6bc6c8bcf5e0704daf3a5a7bab7ffa82a196c":()=>d.H7,"40a6b782c452b9d7da8220c5630efb6277ba4077a1":()=>h.sE,"40a7dc12aa0d1b7b04c68ad7e482ba71fd189a44a7":()=>i.VJ,"40b05730806e4d6ca81c8b097bbe58fc8b2a6a9c19":()=>e.lJ,"40b85e5a61026f49480c36b5f71ce876512194b848":()=>e.S,"40d7c1696464f382355736732058cace6827a29770":()=>o.Xu,"40dd7a9ba904e27f9eeac05cd7a750583e8de84545":()=>d.rd,"40ddb3a3e1847684bcb12359709a495d1b88672736":()=>n.h_,"40e311db584b685c4692979c63d0c6e43ebfbb3776":()=>e.r7,"40eca98781164e186e8b92598018c0247eee2533ed":()=>l.q4,"40faf10ed1dd931e743694b6ab07acfffa9f1c5fff":()=>d.gg,"600d82e3d7031f663a63e6110ba9f565e1925bac77":()=>d.Fu,"60169bf18ab7ae25ef393ebad4eddece54ea85ff9d":()=>n.Fo,"602541726f950df2e46bd648c470b35caff4290401":()=>l.Jp,"60301fe28cb811b08550b91045a0558179995780c0":()=>d.ME,"603a0fc6b197de7e067fc7f41d783c28c3ee27f6f1":()=>n.qw,"603eb80a4d527822d9f493e45e76760002e3c2f6d1":()=>n.RS,"6043588d0686a7654ec852ff74b41a1990afb8ad5b":()=>l.bk,"60581df9364a1b92ebc0d853d7c78efa696792047f":()=>d.rm,"605cdb117d7636ebc2c1655a5624f369a8c5530ef3":()=>l.bV,"605ee4201fe65199f85db7180e840b038e2e8ffd10":()=>d.n4,"60641a6b24e31ba5d7c698743071a038d3366fc586":()=>e.AA,"6089bcc5361f39d22c01d6f92038ab1a71d519835f":()=>f.k,"609a3d386f1c90a49798f015e0cb71cab76d3d4c7c":()=>n.ft,"60b32ee464cb849770065f2600f4bf8f3af15e144e":()=>n.pG,"60b6a569caae9899b156707b836ab2851f5218fa91":()=>e.q$,"60c1724f6f00fd2d33760b52f4dde31de692d1b203":()=>f.I,"60df05f65ffaefc9f562b1958a9e2824fad101221e":()=>o.TH,"60e4f835be58e6ec4fe85c76b2c2ae336ad31fd96d":()=>n.NW,"60e6371f54999c9587eca32148839e4ce8eef9abc3":()=>e.LZ,"60e9b223d15847a611ea2b6fdf59614eceb4151ee9":()=>d.jw,"60f29f8713a8b485dea8d9e2d1884240e38a89b6e6":()=>n.EQ,"700e7dc42f9902ba897ac4e36d45bfd5032bd56211":()=>d._z,"704a3423d6c72aa30fdd11f5081bffe4f5027d7fd4":()=>n.fM,"706d88c745d18277356678742d9b6b2b19c4f6e86d":()=>e.M8,"70a7b7da6705b5473f8eab23ee846e5e8b6269abe5":()=>n.sy,"70ca472c6f426de98a024aae3317d1ee8f077a7057":()=>n.a7,"70cf763bbb17ccf53b2ef6f3c345c74339237887e6":()=>n.Sy,"7cbd83e15e47957dd9cc5c3255941cba10209ba921":()=>n.Hg});var d=c(97140),e=c(15487),f=c(79505),g=c(51605),h=c(46363),i=c(46282),j=c(387),k=c(13604),l=c(7482),m=c(58169),n=c(90259),o=c(60686),p=c(52932)},17891:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/get-segment-param")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21308:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>O,handler:()=>Q,routeModule:()=>P});var d=c(53488),e=c(69743),f=c(34185),g=c(65510),h=c(72584),i=c(75994),j=c(66273),k=c(50962),l=c(26936),m=c(14018),n=c(99048),o=c(45164),p=c(25026),q=c(47743),r=c(261),s=c(18619),t=c(61528),u=c(26713),v=c(26242),w=c(20599),x=c(23307),y=c(22204),z=c(6044),A=c(61840),B=c(7612),C=c(86439),D=c(77068),E=c(6944),F=c(66516),G=c(4984),H=c(60865),I=c(70722),J=c(77032),K=c(43954),L=c(17891),M={};for(let a in G)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(M[a]=()=>G[a]);c.d(b,M);let N={children:["",{children:["(app)",{children:["design",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,44616)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\(app)\\design\\page.tsx"]}]},{"global-error":[()=>Promise.resolve().then(c.bind(c,24759)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\global-error.tsx"]},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,94496)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\(app)\\layout.tsx"],error:[()=>Promise.resolve().then(c.bind(c,35266)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\(app)\\error.tsx"],"global-error":[()=>Promise.resolve().then(c.bind(c,24759)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\global-error.tsx"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,84946,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,22835,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,61238,23)),"next/dist/client/components/builtin/unauthorized.js"]},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,91517)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\layout.tsx"],error:[()=>Promise.resolve().then(c.bind(c,28173)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\error.tsx"],"global-error":[()=>Promise.resolve().then(c.bind(c,24759)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\global-error.tsx"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,84946,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,22835,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,61238,23)),"next/dist/client/components/builtin/unauthorized.js"]},[]]}.children,O={require:c,loadChunk:()=>Promise.resolve()},P=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/(app)/design/page",pathname:"/design",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:N},distDir:".next",relativeProjectDir:""});async function Q(a,b,d){var M,R,S,T,U;d.requestMeta&&(0,h.setRequestMeta)(a,d.requestMeta),P.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let V=!!(0,h.getRequestMeta)(a,"minimalMode"),W="/(app)/design/page";"/index"===W&&(W="/");let X=await P.prepare(a,b,{srcPage:W,multiZoneDraftMode:!1});if(!X)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Y,query:Z,params:$,pageIsDynamic:_,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,serverActionsManifest:ad,clientReferenceManifest:ae,subresourceIntegrityManifest:af,prerenderManifest:ag,isDraftMode:ah,resolvedPathname:ai,revalidateOnlyGenerated:aj,routerServerContext:ak,nextConfig:al,parsedUrl:am,interceptionRoutePatterns:an,deploymentId:ao,clientAssetToken:ap}=X,aq=(0,r.normalizeAppPath)(W),{isOnDemandRevalidate:ar}=X,as=al.experimental.ppr&&!al.cacheComponents&&(0,K.isInterceptionRouteAppPath)(ai)?null:P.match(ai,ag),at=(null==as?void 0:as.route)??null,au=!!ag.routes[ai],av=a.headers["user-agent"]||"",aw=(0,u.getBotType)(av),ax=(0,q.isHtmlBotRequest)(a),ay=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],az=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[t.RSC_HEADER]),aA=(0,s.getIsPossibleServerAction)(a),aB=(0,m.checkIsAppPPREnabled)(al.experimental.ppr),aC=a.headers[y.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,h.getRequestMeta)(a,"postponed")&&V&&aB&&aA&&aC&&"string"==typeof aC){let e=parseInt(aC,10),{maxPostponedStateSize:f,maxPostponedStateSizeBytes:g}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize);if(!isNaN(e)&&e>0){if(e>g)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(f)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let i="1 MB",j=(null==(U=al.experimental.serverActions)?void 0:U.bodySizeLimit)??i,k=e+(j!==i?c(98649).parse(j):1048576),l=await (0,E.readBodyWithSizeLimit)(a,k);if(null===l)return b.statusCode=413,b.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;if(l.length>=e){let b=l.subarray(0,e).toString("utf8");(0,h.addRequestMeta)(a,"postponed",b);let c=l.subarray(e);(0,h.addRequestMeta)(a,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${e} bytes of postponed state but only received ${l.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,h.getRequestMeta)(a,"postponed")&&aB&&"1"===a.headers[y.NEXT_RESUME_HEADER]&&"POST"===a.method){let{maxPostponedStateSize:c,maxPostponedStateSizeBytes:e}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize),f=await (0,E.readBodyWithSizeLimit)(a,e);if(null===f)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(c)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let g=f.toString("utf8");(0,h.addRequestMeta)(a,"postponed",g)}let aD=!0===P.isDev||!0===al.experimental.exposeTestingApiInProductionBuild,aE=aD&&("1"===a.headers[t.NEXT_INSTANT_PREFETCH_HEADER]||!(0,n.f)(a.headers[t.RSC_HEADER])&&"string"==typeof a.headers.cookie&&a.headers.cookie.includes(t.NEXT_INSTANT_TEST_COOKIE+"=")),aF=(aB||aE)&&((null==(M=ag.routes[aq]??ag.dynamicRoutes[aq])?void 0:M.renderingMode)==="PARTIALLY_STATIC"||aE&&(aD||(null==ak?void 0:ak.experimentalTestProxy)===!0)),aG=aE&&aF,aH=aG&&!0===P.isDev,aI=!1,aJ=aF?(0,h.getRequestMeta)(a,"postponed"):void 0,aK=null==(R=ag.routes[ai])?void 0:R.prefetchDataRoute,aL=aF&&az&&!ay&&!aK;V&&(aL=aL&&!!aJ);let aM=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),aN=(!aw||!aF)&&(!av||(0,q.shouldServeStreamingMetadata)(av,al.htmlLimitedBots)),aO=!!((at||au||ag.routes[aq])&&!(aw&&aF)),aP=aF&&!0===al.cacheComponents,aQ=!0===P.isDev||!aO||"string"==typeof aJ||(aP&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aL&&!V:aL),aR=!!aw&&aF,aS=(null==at?void 0:at.remainingPrerenderableParams)??[],aT=(null==at?void 0:at.fallback)===null&&((null==(S=at.fallbackRootParams)?void 0:S.length)??0)>0,aU=null;if(!ah&&aO&&!aQ&&!aA&&!aJ&&!aL){let a=as?"string"==typeof(null==at?void 0:at.fallback)?at.fallback:as.source:null;if(!0===al.experimental.partialFallbacks&&a&&(null==at?void 0:at.fallbackRouteParams)&&!aT){if(aS.length>0){let b,c=(b=new Map(aS.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,L.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==$?void 0:$[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace((0,o.buildDynamicSegmentPlaceholder)(d),f)}).join("/")||"/");aU=c!==a?c:null}}else aU=ai}let aV=aU;!aV&&(P.isDev||aO&&_&&(null==at?void 0:at.fallbackRouteParams)&&!aA)&&(aV=ai),P.isDev||ah||!aO||!az||aL||(0,k.d)(a.headers);let aW={...G,tree:N,handler:Q,routeModule:P,__next_app__:O};ad&&ae&&(0,p.setManifestsSingleton)({page:W,clientReferenceManifest:ae,serverActionsManifest:ad});let aX=a.method||"GET",aY=(0,g.getTracer)(),aZ=aY.getActiveScopeSpan(),a$=!!(null==ak?void 0:ak.isWrappedByNextServer),a_=!0===al.experimental.partialFallbacks&&aS.length>0?(null==at||null==(T=at.fallbackRouteParams)?void 0:T.filter(a=>!aS.some(b=>b.paramName===a.paramName)))??[]:[],a0=async()=>((null==ak?void 0:ak.render404)?await ak.render404(a,b,am,!1):b.end("This page could not be found"),null);try{let k,m=P.getVaryHeader(ai,an);b.setHeader("Vary",m);let n=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return P.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aY.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aX} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a),k&&k!==c&&(k.setAttribute("http.route",d),k.updateName(a))}else c.updateName(`${aX} ${W}`)})},p=(0,h.getRequestMeta)(a,"incrementalCache")||await P.getIncrementalCache(a,al,ag,V);null==p||p.resetRequestCache(),globalThis.__incrementalCache=p;let q=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let k={query:Z,params:$,page:aq,sharedContext:{buildId:Y,deploymentId:ao,clientAssetToken:ap},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aW,Component:(0,j.T)(aW),params:$,routeModule:P,page:W,postponed:f,shouldWaitOnAllReady:aR,serveStreamingMetadata:aN,supportsDynamicResponse:"string"==typeof f||aQ,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,subresourceIntegrityManifest:af,setCacheStatus:null==ak?void 0:ak.setCacheStatus,setIsrStatus:null==ak?void 0:ak.setIsrStatus,setReactDebugChannel:null==ak?void 0:ak.setReactDebugChannel,sendErrorsToBrowser:null==ak?void 0:ak.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),P.relativeProjectDir),isDraftMode:ah,botType:aw,isOnDemandRevalidate:ar,isPossibleServerAction:aA,assetPrefix:al.assetPrefix,nextConfigOutput:al.output,crossOrigin:al.crossOrigin,trailingSlash:al.trailingSlash,images:al.images,previewProps:ag.preview,enableTainting:al.experimental.taint,htmlLimitedBots:al.htmlLimitedBots,reactMaxHeadersLength:al.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:p,cacheLifeProfiles:al.cacheLife,basePath:al.basePath,serverActions:al.experimental.serverActions,logServerFunctions:"object"==typeof al.logging&&!!al.logging.serverFunctions,...aG||aH||aI?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aH}:{},cacheComponents:!!al.cacheComponents,experimental:{isRoutePPREnabled:aF,expireTime:al.expireTime,staleTimes:al.experimental.staleTimes,dynamicOnHover:!!al.experimental.dynamicOnHover,optimisticRouting:!!al.experimental.optimisticRouting,inlineCss:!!al.experimental.inlineCss,prefetchInlining:al.experimental.prefetchInlining??!1,authInterrupts:!!al.experimental.authInterrupts,cachedNavigations:!!al.experimental.cachedNavigations,clientTraceMetadata:al.experimental.clientTraceMetadata||[],clientParamParsingOrigins:al.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,D.parseMaxPostponedStateSize)(al.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>P.onRequestError(a,b,d,e,ak),err:(0,h.getRequestMeta)(a,"invokeError")}};i&&(k.renderOpts.supportsDynamicResponse=!1);let l=await n(e,k),{metadata:m}=l,{cacheControl:o,headers:q={},fetchTags:r,fetchMetrics:s}=m;if(r&&(q[y.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,aO&&(null==o?void 0:o.revalidate)===0&&!P.isDev&&!aF){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ai}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
42
- see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:q,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:o}},r=async({hasResolved:c,previousCacheEntry:g,isRevalidating:i,span:j,forceStaticRender:k=!1})=>{let l=!1===P.isDev,m=c||b.writableEnded;try{var n;let f;if(ar&&aj&&!g&&!V)return(null==ak?void 0:ak.render404)?await ak.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(at&&(f=(0,w.parseFallbackField)(at.fallback)),!0===al.experimental.partialFallbacks&&(null==at?void 0:at.fallback)===null&&!aT&&aS.length>0&&(f=w.FallbackMode.PRERENDER),f===w.FallbackMode.PRERENDER&&(0,u.isBot)(av)&&(!aF||ax)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==g?void 0:g.isStale)===-1&&(ar=!0),ar&&(f!==w.FallbackMode.NOT_FOUND||g)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),!V&&f!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aV&&!m&&!ah&&_&&(l||!au)){if((l||at)&&f===w.FallbackMode.NOT_FOUND){if(al.adapterPath)return await a0();throw new C.NoFallbackError}if(aF&&(al.cacheComponents?!aL:!az)){let b=l&&"string"==typeof(null==at?void 0:at.fallback)?at.fallback:aq,f=(l||aG)&&(null==at?void 0:at.fallbackRouteParams)?(0,o.createOpaqueFallbackRouteParams)(at.fallbackRouteParams):aI?(0,o.getFallbackRouteParams)(aq,P):null;aG&&f&&(0,h.addRequestMeta)(a,"fallbackParams",f);let g=await P.handleResponse({cacheKey:b,req:a,nextConfig:al,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ag,isRoutePPREnabled:aF,responseGenerator:async()=>q({span:j,postponed:void 0,fallbackRouteParams:f,forceStaticRender:!0}),waitUntil:d.waitUntil,isMinimalMode:V});if(null===g)return null;if(g)return V||!aF||!(aS.length>0)||!0!==al.experimental.partialFallbacks||!aU||!p||ar||aI||aD||aE||ay||(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(aU,p,aF,!1,a=>q({span:a.span,postponed:void 0,fallbackRouteParams:a_.length>0?(0,o.createOpaqueFallbackRouteParams)(a_):null,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete g.cacheControl,g}}let s=ar||i||!aJ?void 0:aJ;if(aP&&!V&&p&&(aL||aA)&&!k){let b=await p.get(ai,{kind:v.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===v.CachedRouteKind.APP_PAGE&&(s=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(ai,p,aF,!1,a=>r({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aG||aH)&&void 0!==s)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let t=!P.isDev&&_&&(null==at?void 0:at.fallbackRouteParams)?(0,o.getPlaceholderFallbackRouteParams)($,at.fallbackRouteParams):null,y=t&&t.length>0?t:null==at?void 0:at.fallbackRouteParams,z=null!=t&&t.length>0,A=null;if(al.cacheComponents&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,h.getRequestMeta)(a,"resolvedRouteParamKeys");b&&b.size>0&&(A=at.fallbackRouteParams.filter(a=>!b.has(a.paramName)))}let B=(l&&(0,h.getRequestMeta)(a,"renderFallbackShell")||z||aG&&!au)&&y?(0,o.createOpaqueFallbackRouteParams)(y):A&&A.length>0&&A.length<((null==at||null==(n=at.fallbackRouteParams)?void 0:n.length)??0)?(0,o.createOpaqueFallbackRouteParams)(A):aI?(0,o.getFallbackRouteParams)(aq,P):null;if((l||aG)&&al.cacheComponents&&!au&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,o.createOpaqueFallbackRouteParams)(y??at.fallbackRouteParams);b&&(0,h.addRequestMeta)(a,"fallbackParams",b)}return q({span:j,postponed:s,fallbackRouteParams:B,forceStaticRender:k})}catch(b){throw(null==g?void 0:g.isStale)&&await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}},s=async c=>{var f,g,i,j,k,l;let m,n=await P.handleResponse({cacheKey:aU,responseGenerator:a=>r({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ar,isRoutePPREnabled:aF,req:a,nextConfig:al,prerenderManifest:ag,waitUntil:d.waitUntil,isMinimalMode:V});if(ah&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),P.isDev&&b.setHeader("Cache-Control","no-cache, must-revalidate"),!n){if(aU)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof n.value.postponed;az&&!aA&&ao&&b.setHeader(y.NEXT_NAV_DEPLOYMENT_ID_HEADER,ao),aO&&!aL&&(!o||ay)&&(V||b.setHeader("x-nextjs-cache",ar?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=n;if(aJ)m={revalidate:0,expire:void 0};else if(aL)m={revalidate:0,expire:void 0};else if(!P.isDev)if(ah)m={revalidate:0,expire:void 0};else if(aO){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});m={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??al.expireTime}}else m={revalidate:y.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else b.getHeader("Cache-Control")||(m={revalidate:0,expire:void 0});if(n.cacheControl=m,"string"==typeof aM&&(null==p?void 0:p.kind)===v.CachedRouteKind.APP_PAGE&&p.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=p.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];V&&aO&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=p.segmentData.get(aM);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let s=aP?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(s){let b=(0,h.getRequestMeta)(a,"initURL")??a.url,c=b?(null==(l=(0,F.parseUrl)(b))?void 0:l.pathname)??b:void 0;if(await s(n,{url:c}))return null}if(p.headers){let a={...p.headers};for(let[c,d]of(V&&aO||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let u=null==(g=p.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(V&&aO&&u&&"string"==typeof u&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,u),!p.status||az&&aF||(b.statusCode=p.status),!V&&p.status&&H.RedirectStatusCode[p.status]&&az&&(b.statusCode=200),o&&!aL&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),az&&!ah){if(void 0===p.rscData){if(p.html.contentType!==t.RSC_CONTENT_TYPE_HEADER)if(al.cacheComponents)return b.statusCode=404,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl});else throw Object.defineProperty(new I.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:p.html,cacheControl:n.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(p.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let w=p.html;if(aE&&aG){let c=!0===P.isDev?crypto.randomUUID():null;return w.pipeThrough(await (0,A.createInstantTestScriptInsertionTransformStream)(c)),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})}if(!o||V||az)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:n.cacheControl});if(aG||aH)return w.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}});let C=new TransformStream;return w.push(C.readable),q({span:c,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(C.writable)}).catch(a=>{C.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})};if(!a$||!aZ)return k=aY.getActiveScopeSpan(),await aY.withPropagatedContext(a.headers,()=>aY.trace(i.BaseServerSpan.handleRequest,{spanName:`${aX} ${W}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aX,"http.target":a.url}},s),void 0,!a$);await s(aZ)}catch(b){throw b instanceof C.NoFallbackError||await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}}},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},33873:a=>{"use strict";a.exports=require("path")},37067:a=>{"use strict";a.exports=require("node:http")},41012:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,63885,23)),Promise.resolve().then(c.bind(c,97882)),Promise.resolve().then(c.bind(c,98459)),Promise.resolve().then(c.bind(c,93209)),Promise.resolve().then(c.bind(c,55872)),Promise.resolve().then(c.bind(c,17738)),Promise.resolve().then(c.bind(c,68294)),Promise.resolve().then(c.bind(c,46694)),Promise.resolve().then(c.bind(c,51221))},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},44616:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>o});var d=c(61576),e=c(1782),f=c(7852),g=c(80280),h=c(25533),i=c(95896),j=c(5323),k=c(67949),l=c(88639),m=c(13239),n=c(45011);async function o(){let a=await (0,k.l)(),{org:b,workspace:c}=await (0,i.nP)();(0,m.I)();let o=(0,l.zw)(b.id,c),p=(0,l.Iz)(b.id),q=(0,l.hp)(b.id),r=await g.db.select().from(h.agent).where((0,e.eq)(h.agent.workspaceId,c.id)),s=r.find(a=>"grace"===a.handle)??r.find(a=>/front\s?end|\bui\b|\bux\b/i.test(a.role))??null,[t]=await g.db.select().from(h.designSession).where((0,e.eq)(h.designSession.workspaceId,c.id)).orderBy((0,f.i)(h.designSession.createdAt)).limit(1);return(0,d.jsx)(j._,{title:a("mod.design"),sub:"Prototype the UI with the frontend agent before the plan",flush:!0,children:(0,d.jsx)(n.DesignClient,{context:{mission:o.mission,objective:o.objective,stackList:o.stackList,brief:!!o.brief,mockCount:o.mockFiles.length,designMockFiles:o.designMockFiles,designSkillCount:o.designSkills.length,hasImported:o.hasImported,approved:!!o.approved,gatePending:!!p.requestedPlanAt&&!p.skip,gateScaffolded:!!p.scaffoldedAt,handoffPending:!!p.handoffAt,handoffDone:!!q.at},grace:s?{id:s.id,name:s.name,handle:s.handle,color:s.color,image:s.image??null}:null,status:t?.status??"building",tokens:t?.tokens??null})})}},45011:(a,b,c)=>{"use strict";c.d(b,{DesignClient:()=>d});let d=(0,c(62060).registerClientReference)(function(){throw Error("Attempted to call DesignClient() from the server but DesignClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\(app)\\design\\design-client.tsx","DesignClient")},46466:a=>{"use strict";a.exports=require("node:stream/promises")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},55511:a=>{"use strict";a.exports=require("crypto")},57075:a=>{"use strict";a.exports=require("node:stream")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64980:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,4195,23)),Promise.resolve().then(c.bind(c,45011)),Promise.resolve().then(c.bind(c,32825)),Promise.resolve().then(c.bind(c,15783)),Promise.resolve().then(c.bind(c,67686)),Promise.resolve().then(c.bind(c,29876)),Promise.resolve().then(c.bind(c,16120)),Promise.resolve().then(c.bind(c,42328)),Promise.resolve().then(c.bind(c,4719))},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},74075:a=>{"use strict";a.exports=require("zlib")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},77598:a=>{"use strict";a.exports=require("node:crypto")},78474:a=>{"use strict";a.exports=require("node:events")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},88639:(a,b,c)=>{"use strict";c.d(b,{Bl:()=>y,DQ:()=>q,Er:()=>m,H5:()=>p,Iz:()=>o,Nt:()=>w,Oi:()=>g,e1:()=>t,hp:()=>s,iF:()=>u,uy:()=>i,zw:()=>h});var d=c(18612),e=c(85509),f=c(6873);let g="design-mock/APPROVED.md";function h(a,b){let c=(0,d.CS)(a),f=c.filter(a=>a.startsWith("mock/")&&"mock/README.md"!==a),h=c.filter(a=>a.startsWith("design-mock/")&&!/\/README\.md$/i.test(a)&&a!==g),i=c.filter(a=>a.startsWith("design-skills/")&&a.endsWith(".md")&&"design-skills/README.md"!==a),j=Object.entries(b.stack??{}).flatMap(([a,b])=>(0,e.jX)(b).filter(a=>"None"!==a).map(b=>`${a}: ${b}`)).join(", "),k=/^(\.claude\/|DOCS\/|PO\/|Reports\/|specs\/|issues\/|mock\/|design-mock\/|design-skills\/|README\.md$)/i,l=c.some(a=>!k.test(a));return{brief:(0,d.sL)(a,".claude/BRIEF.md")??"",mission:b.mission??"",objective:b.objective??"",stackList:j,mockFiles:f,designMockFiles:h,designSkills:i,approved:(0,d.sL)(a,g),hasImported:l}}function i(a){return[a.mission?`Mission: ${a.mission}`:"",a.objective?`Objective: ${a.objective}`:"",a.stackList?`Chosen stack: ${a.stackList}. Generate markup compatible with it — never generic.`:"",a.brief?`
43
- Project brief:
44
- ${a.brief.slice(0,3e3)}`:"",a.mockFiles.length?`
45
- Attached mock/prototype (${a.mockFiles.length} files): ${a.mockFiles.slice(0,14).join(", ")} — read them and match the product precisely.`:"",a.designMockFiles.length?`
46
- Design module output so far (design-mock/): ${a.designMockFiles.slice(0,14).join(", ")}.`:"",a.designSkills.length?`
47
- Design skills available (design-skills/): ${a.designSkills.map(a=>a.replace(/^design-skills\//,"")).slice(0,20).join(", ")} — consult the relevant ones.`:"",a.approved?`
48
- An APPROVED design already exists (design-mock/APPROVED.md) — the official visual reference. Honor it; do not drift.`:"",a.hasImported?`
49
- There is an existing imported/scaffolded project in this workspace — extend it, preserve its visual identity.`:""].filter(Boolean).join("\n")}let j={hotel:["hospitality","booking","reservation","rooms","travel","checkin","premium","gallery","amenities"],hospedagem:["hotel","booking","reservation","rooms","hospitality"],reserva:["booking","calendar","availability","checkout"],restaurant:["menu","food","reservation","hospitality","gallery"],restaurante:["menu","food","reservation","hospitality"],ecommerce:["product","cart","checkout","catalog","pricing","payment"],loja:["ecommerce","product","cart","checkout","catalog"],shop:["ecommerce","product","cart","checkout"],store:["ecommerce","product","cart","checkout"],dashboard:["charts","dataviz","tables","kpi","analytics","admin"],saas:["dashboard","pricing","onboarding","settings","billing"],fintech:["dashboard","charts","security","transactions","kpi"],banking:["fintech","transactions","security","cards","dashboard"],banco:["fintech","transactions","security","cards"],calculator:["mobile","grid","buttons","keypad","ios"],calculadora:["mobile","grid","buttons","keypad","ios"],apple:["ios","glassmorphism","minimal","typography","rounded","microinteractions"],ios:["apple","glassmorphism","mobile","rounded","microinteractions","minimal"],glassmorphism:["blur","translucent","frosted","depth","gradient"],neumorphism:["shadow","embossed","monochrome"],minimal:["whitespace","typography","restraint","grid"],minimalista:["whitespace","typography","grid"],brutalist:["bold","contrast","raw","monospace"],landing:["hero","cta","sections","features","testimonials","pricing","footer"],portfolio:["gallery","grid","casestudy","minimal","typography"],blog:["typography","reading","article","content"],social:["feed","cards","avatars","interactions","realtime"],chat:["messages","bubbles","realtime","input","avatars"],mobile:["responsive","touch","ios","android"],admin:["dashboard","tables","forms","crud","data"],dark:["theme","contrast"],premium:["luxury","typography","spacing","motion","elegant"],animation:["motion","transitions","keyframes","microinteractions"],motion:["animation","transitions","microinteractions"],accessibility:["a11y","contrast","focus","aria","wcag"]},k=new Set("the a an and or of to for with in on at is are be this that you your our it its build create make page screen app site website using use want need please can grace design quero uma para com que the and dos das uma novo nova".split(/\s+/));function l(a){return(a||"").toLowerCase().replace(/[^a-z0-9çãáéíóúâêôà\s-]/gi," ").split(/\s+/).filter(a=>a.length>=3&&!k.has(a))}function m(a,b){let c=function(a,b){let c=l([b||"",a.mission,a.objective,a.brief.slice(0,1500),a.stackList,a.mockFiles.map(a=>a.split("/").pop()||"").join(" ")].join(" ")),d={};for(let a of c)d[a]=(d[a]||0)+1;if(b)for(let a of l(b))d[a]=(d[a]||0)+3;let e=new Map;for(let a of Object.keys(d))e.set(a,(e.get(a)||0)+d[a]);for(let a of Object.keys(d))for(let[b,c]of Object.entries(j))if(a.includes(b)||b.includes(a))for(let a of c)e.set(a,(e.get(a)||0)+1);return Array.from(e.entries()).sort((a,b)=>b[1]-a[1]).map(([a])=>a).slice(0,24)}(a,b),d=function(a,b=8){let c=a.map(a=>a.toLowerCase());if(!c.length)return[];let d=[];for(let a of(0,f.Cg)().values()){let b=(a.tags||[]).map(a=>a.toLowerCase()),e=(a.name+" "+a.description+" "+a.domain+" "+a.category+" "+b.join(" ")).toLowerCase(),f=a.name.toLowerCase().split(/[^a-z0-9]+/).filter(Boolean),g=0;for(let a of c)f.includes(a)||b.includes(a)?g+=4:e.includes(a)&&(g+=1);("design"===a.domain||"design"===a.category)&&(g+=.5),g>0&&d.push({name:a.name,description:a.description,score:g})}return d.sort((a,b)=>b.score-a.score).slice(0,b).map(({name:a,description:b})=>({name:a,description:b}))}(c,8);return[c.length?`
50
- DETECTED CONTEXT (domain + visual intent): ${c.slice(0,16).join(", ")}. Ground the palette, typography, layout, components and motion in THIS product's domain and style — never a generic AI look.`:"",d.length?`
51
- MOST RELEVANT seeded skills for THIS request — READ the matching \`.claude/skills/<name>.md\` FIRST before building:
52
- ${d.map(a=>`- ${a.name}: ${a.description}`).join("\n")}`:""].filter(Boolean).join("\n")}let n=".claude/design-gate.json";function o(a){let b=(0,d.sL)(a,n);if(!b)return{};try{return JSON.parse(b)||{}}catch{return{}}}function p(a,b){try{(0,d.dx)(a,n,JSON.stringify(b,null,2))}catch{}}function q(a){p(a,{skip:!1})}let r=".claude/design-promoted.json";function s(a){let b=(0,d.sL)(a,r);if(!b)return{};try{return JSON.parse(b)||{}}catch{return{}}}function t(a,b){try{(0,d.dx)(a,r,JSON.stringify(b,null,2))}catch{}}function u(a){let b=a.designMockFiles.some(a=>/design-mock\/screens\/.+\.html?$/i.test(a));return!a.approved&&!b}let v=/\b(tela|telas|screen|screens|p[áa]gina|pagina|page|pages|web|webapp|web-?app|website|site|app|apps|aplicativo|aplica[çc][ãa]o|spa|single-?page|pwa|ui|ux|interface|frontend|front-?end|layout|component|componente|design|visual|dashboard|form|formul[áa]rio|formulario|bot[ãa]o|botao|button|modal|menu|nav|navbar|sidebar|card|landing|hero|gallery|galeria|theme|tema|palette|paleta|typography|tipografia|style|estilo|css|html|responsive|responsiv[oa]|mobile|desktop|tablet|anima[çc][ãa]o|animation|microintera[çc][õo]es|wizard|onboarding|checkout|perfil|profile|settings|configura[çc][õo]es|view|views|render)\b/i;function w(a){return!!a&&v.test(a)}let x=/\b(api|rest|restful|graphql|grpc|cli|command[\s-]?line|terminal|backend|back-?end|micro-?service|microservices|service|library|\bsdk\b|daemon|cron|scheduler|pipeline|etl|database|\bdb\b|infra|infrastructure|devops|webhook|message[\s-]?queue|\bqueue\b|worker|scraper|crawler|\bbot\b|middleware|server[\s-]?side|protocol|compiler|parser|scraping)\b/i;function y(a){return!!a&&x.test(a)&&!w(a)}},97882:(a,b,c)=>{"use strict";c.d(b,{DesignClient:()=>Z});var d=c(4374),e=c(74679),f=c(47104),g=c(31819),h=c(43526),i=c(14698),j=c(49137);c(55357),c(14631);var k=c(2910);let l=(0,k.createServerReference)("403f678d5d57534e9a4ef4af67527e65530a71636e",k.callServer,void 0,k.findSourceMapURL,"getDesignScreen");k.callServer,k.findSourceMapURL;let m=(0,k.createServerReference)("70cf763bbb17ccf53b2ef6f3c345c74339237887e6",k.callServer,void 0,k.findSourceMapURL,"askDesign");k.callServer,k.findSourceMapURL,k.callServer,k.findSourceMapURL,k.callServer,k.findSourceMapURL;let n=(0,k.createServerReference)("4043bf7bfb696cedd602c64d3cef7bf6dddbf9f469",k.callServer,void 0,k.findSourceMapURL,"readDesignDoc"),o=(0,k.createServerReference)("002234aea5fd2572718131ead1f05190985be74a33",k.callServer,void 0,k.findSourceMapURL,"scaffoldDesignFromBrief"),p=(0,k.createServerReference)("60f29f8713a8b485dea8d9e2d1884240e38a89b6e6",k.callServer,void 0,k.findSourceMapURL,"commitDesignScreen"),q=(0,k.createServerReference)("401faef2c147c7b8c76c625693c54ed86b549ee2b1",k.callServer,void 0,k.findSourceMapURL,"saveDesignCheckpoint");k.callServer,k.findSourceMapURL;let r=(0,k.createServerReference)("4079f1999a35dc10b0cc2c6e51aea432b5ac1ec53e",k.callServer,void 0,k.findSourceMapURL,"approveDesign"),s=(0,k.createServerReference)("00278cf083f0444f3a6e3424ad8e91620933154ebb",k.callServer,void 0,k.findSourceMapURL,"handoffToExecution"),t=(0,k.createServerReference)("00d5ab8ca58d06168c31e17224e74cd797dd553208",k.callServer,void 0,k.findSourceMapURL,"resumeDesignHandoff"),u=(0,k.createServerReference)("00c32dabc548d014c4502a6c19526793c39dcf6941",k.callServer,void 0,k.findSourceMapURL,"buildDesignProduction"),v=(0,k.createServerReference)("70ca472c6f426de98a024aae3317d1ee8f077a7057",k.callServer,void 0,k.findSourceMapURL,"addDesignMarkup"),w=(0,k.createServerReference)("7cbd83e15e47957dd9cc5c3255941cba10209ba921",k.callServer,void 0,k.findSourceMapURL,"addDesignComment"),x=(0,k.createServerReference)("403749a90a6e9864bb036eaf2d190975f685b1ba05",k.callServer,void 0,k.findSourceMapURL,"deleteDesignComment"),y=(0,k.createServerReference)("40351d5db9a1e50c1bd433937f063a80a1ce684789",k.callServer,void 0,k.findSourceMapURL,"restoreDesignCheckpoint"),z=(0,k.createServerReference)("60b32ee464cb849770065f2600f4bf8f3af15e144e",k.callServer,void 0,k.findSourceMapURL,"restoreDesignVersion");var A=c(89814),B=c(77954);let C=`(function(){
41
+ `))}},17891:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/get-segment-param")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21308:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>O,handler:()=>Q,routeModule:()=>P});var d=c(53488),e=c(69743),f=c(34185),g=c(65510),h=c(72584),i=c(75994),j=c(66273),k=c(50962),l=c(26936),m=c(14018),n=c(99048),o=c(45164),p=c(25026),q=c(47743),r=c(261),s=c(18619),t=c(61528),u=c(26713),v=c(26242),w=c(20599),x=c(23307),y=c(22204),z=c(6044),A=c(61840),B=c(7612),C=c(86439),D=c(77068),E=c(6944),F=c(66516),G=c(4984),H=c(60865),I=c(70722),J=c(77032),K=c(43954),L=c(17891),M={};for(let a in G)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(M[a]=()=>G[a]);c.d(b,M);let N={children:["",{children:["(app)",{children:["design",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,44616)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\(app)\\design\\page.tsx"]}]},{"global-error":[()=>Promise.resolve().then(c.bind(c,24759)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\global-error.tsx"]},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,94496)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\(app)\\layout.tsx"],error:[()=>Promise.resolve().then(c.bind(c,35266)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\(app)\\error.tsx"],"global-error":[()=>Promise.resolve().then(c.bind(c,24759)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\global-error.tsx"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,84946,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,22835,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,61238,23)),"next/dist/client/components/builtin/unauthorized.js"]},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,91517)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\layout.tsx"],error:[()=>Promise.resolve().then(c.bind(c,28173)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\error.tsx"],"global-error":[()=>Promise.resolve().then(c.bind(c,24759)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\global-error.tsx"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,84946,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,22835,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,61238,23)),"next/dist/client/components/builtin/unauthorized.js"]},[]]}.children,O={require:c,loadChunk:()=>Promise.resolve()},P=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/(app)/design/page",pathname:"/design",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:N},distDir:".next",relativeProjectDir:""});async function Q(a,b,d){var M,R,S,T,U;d.requestMeta&&(0,h.setRequestMeta)(a,d.requestMeta),P.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let V=!!(0,h.getRequestMeta)(a,"minimalMode"),W="/(app)/design/page";"/index"===W&&(W="/");let X=await P.prepare(a,b,{srcPage:W,multiZoneDraftMode:!1});if(!X)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Y,query:Z,params:$,pageIsDynamic:_,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,serverActionsManifest:ad,clientReferenceManifest:ae,subresourceIntegrityManifest:af,prerenderManifest:ag,isDraftMode:ah,resolvedPathname:ai,revalidateOnlyGenerated:aj,routerServerContext:ak,nextConfig:al,parsedUrl:am,interceptionRoutePatterns:an,deploymentId:ao,clientAssetToken:ap}=X,aq=(0,r.normalizeAppPath)(W),{isOnDemandRevalidate:ar}=X,as=al.experimental.ppr&&!al.cacheComponents&&(0,K.isInterceptionRouteAppPath)(ai)?null:P.match(ai,ag),at=(null==as?void 0:as.route)??null,au=!!ag.routes[ai],av=a.headers["user-agent"]||"",aw=(0,u.getBotType)(av),ax=(0,q.isHtmlBotRequest)(a),ay=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],az=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[t.RSC_HEADER]),aA=(0,s.getIsPossibleServerAction)(a),aB=(0,m.checkIsAppPPREnabled)(al.experimental.ppr),aC=a.headers[y.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,h.getRequestMeta)(a,"postponed")&&V&&aB&&aA&&aC&&"string"==typeof aC){let e=parseInt(aC,10),{maxPostponedStateSize:f,maxPostponedStateSizeBytes:g}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize);if(!isNaN(e)&&e>0){if(e>g)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(f)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let i="1 MB",j=(null==(U=al.experimental.serverActions)?void 0:U.bodySizeLimit)??i,k=e+(j!==i?c(98649).parse(j):1048576),l=await (0,E.readBodyWithSizeLimit)(a,k);if(null===l)return b.statusCode=413,b.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;if(l.length>=e){let b=l.subarray(0,e).toString("utf8");(0,h.addRequestMeta)(a,"postponed",b);let c=l.subarray(e);(0,h.addRequestMeta)(a,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${e} bytes of postponed state but only received ${l.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,h.getRequestMeta)(a,"postponed")&&aB&&"1"===a.headers[y.NEXT_RESUME_HEADER]&&"POST"===a.method){let{maxPostponedStateSize:c,maxPostponedStateSizeBytes:e}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize),f=await (0,E.readBodyWithSizeLimit)(a,e);if(null===f)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(c)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let g=f.toString("utf8");(0,h.addRequestMeta)(a,"postponed",g)}let aD=!0===P.isDev||!0===al.experimental.exposeTestingApiInProductionBuild,aE=aD&&("1"===a.headers[t.NEXT_INSTANT_PREFETCH_HEADER]||!(0,n.f)(a.headers[t.RSC_HEADER])&&"string"==typeof a.headers.cookie&&a.headers.cookie.includes(t.NEXT_INSTANT_TEST_COOKIE+"=")),aF=(aB||aE)&&((null==(M=ag.routes[aq]??ag.dynamicRoutes[aq])?void 0:M.renderingMode)==="PARTIALLY_STATIC"||aE&&(aD||(null==ak?void 0:ak.experimentalTestProxy)===!0)),aG=aE&&aF,aH=aG&&!0===P.isDev,aI=!1,aJ=aF?(0,h.getRequestMeta)(a,"postponed"):void 0,aK=null==(R=ag.routes[ai])?void 0:R.prefetchDataRoute,aL=aF&&az&&!ay&&!aK;V&&(aL=aL&&!!aJ);let aM=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),aN=(!aw||!aF)&&(!av||(0,q.shouldServeStreamingMetadata)(av,al.htmlLimitedBots)),aO=!!((at||au||ag.routes[aq])&&!(aw&&aF)),aP=aF&&!0===al.cacheComponents,aQ=!0===P.isDev||!aO||"string"==typeof aJ||(aP&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aL&&!V:aL),aR=!!aw&&aF,aS=(null==at?void 0:at.remainingPrerenderableParams)??[],aT=(null==at?void 0:at.fallback)===null&&((null==(S=at.fallbackRootParams)?void 0:S.length)??0)>0,aU=null;if(!ah&&aO&&!aQ&&!aA&&!aJ&&!aL){let a=as?"string"==typeof(null==at?void 0:at.fallback)?at.fallback:as.source:null;if(!0===al.experimental.partialFallbacks&&a&&(null==at?void 0:at.fallbackRouteParams)&&!aT){if(aS.length>0){let b,c=(b=new Map(aS.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,L.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==$?void 0:$[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace((0,o.buildDynamicSegmentPlaceholder)(d),f)}).join("/")||"/");aU=c!==a?c:null}}else aU=ai}let aV=aU;!aV&&(P.isDev||aO&&_&&(null==at?void 0:at.fallbackRouteParams)&&!aA)&&(aV=ai),P.isDev||ah||!aO||!az||aL||(0,k.d)(a.headers);let aW={...G,tree:N,handler:Q,routeModule:P,__next_app__:O};ad&&ae&&(0,p.setManifestsSingleton)({page:W,clientReferenceManifest:ae,serverActionsManifest:ad});let aX=a.method||"GET",aY=(0,g.getTracer)(),aZ=aY.getActiveScopeSpan(),a$=!!(null==ak?void 0:ak.isWrappedByNextServer),a_=!0===al.experimental.partialFallbacks&&aS.length>0?(null==at||null==(T=at.fallbackRouteParams)?void 0:T.filter(a=>!aS.some(b=>b.paramName===a.paramName)))??[]:[],a0=async()=>((null==ak?void 0:ak.render404)?await ak.render404(a,b,am,!1):b.end("This page could not be found"),null);try{let k,m=P.getVaryHeader(ai,an);b.setHeader("Vary",m);let n=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return P.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aY.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aX} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a),k&&k!==c&&(k.setAttribute("http.route",d),k.updateName(a))}else c.updateName(`${aX} ${W}`)})},p=(0,h.getRequestMeta)(a,"incrementalCache")||await P.getIncrementalCache(a,al,ag,V);null==p||p.resetRequestCache(),globalThis.__incrementalCache=p;let q=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let k={query:Z,params:$,page:aq,sharedContext:{buildId:Y,deploymentId:ao,clientAssetToken:ap},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aW,Component:(0,j.T)(aW),params:$,routeModule:P,page:W,postponed:f,shouldWaitOnAllReady:aR,serveStreamingMetadata:aN,supportsDynamicResponse:"string"==typeof f||aQ,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,subresourceIntegrityManifest:af,setCacheStatus:null==ak?void 0:ak.setCacheStatus,setIsrStatus:null==ak?void 0:ak.setIsrStatus,setReactDebugChannel:null==ak?void 0:ak.setReactDebugChannel,sendErrorsToBrowser:null==ak?void 0:ak.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),P.relativeProjectDir),isDraftMode:ah,botType:aw,isOnDemandRevalidate:ar,isPossibleServerAction:aA,assetPrefix:al.assetPrefix,nextConfigOutput:al.output,crossOrigin:al.crossOrigin,trailingSlash:al.trailingSlash,images:al.images,previewProps:ag.preview,enableTainting:al.experimental.taint,htmlLimitedBots:al.htmlLimitedBots,reactMaxHeadersLength:al.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:p,cacheLifeProfiles:al.cacheLife,basePath:al.basePath,serverActions:al.experimental.serverActions,logServerFunctions:"object"==typeof al.logging&&!!al.logging.serverFunctions,...aG||aH||aI?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aH}:{},cacheComponents:!!al.cacheComponents,experimental:{isRoutePPREnabled:aF,expireTime:al.expireTime,staleTimes:al.experimental.staleTimes,dynamicOnHover:!!al.experimental.dynamicOnHover,optimisticRouting:!!al.experimental.optimisticRouting,inlineCss:!!al.experimental.inlineCss,prefetchInlining:al.experimental.prefetchInlining??!1,authInterrupts:!!al.experimental.authInterrupts,cachedNavigations:!!al.experimental.cachedNavigations,clientTraceMetadata:al.experimental.clientTraceMetadata||[],clientParamParsingOrigins:al.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,D.parseMaxPostponedStateSize)(al.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>P.onRequestError(a,b,d,e,ak),err:(0,h.getRequestMeta)(a,"invokeError")}};i&&(k.renderOpts.supportsDynamicResponse=!1);let l=await n(e,k),{metadata:m}=l,{cacheControl:o,headers:q={},fetchTags:r,fetchMetrics:s}=m;if(r&&(q[y.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,aO&&(null==o?void 0:o.revalidate)===0&&!P.isDev&&!aF){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ai}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
42
+ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:q,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:o}},r=async({hasResolved:c,previousCacheEntry:g,isRevalidating:i,span:j,forceStaticRender:k=!1})=>{let l=!1===P.isDev,m=c||b.writableEnded;try{var n;let f;if(ar&&aj&&!g&&!V)return(null==ak?void 0:ak.render404)?await ak.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(at&&(f=(0,w.parseFallbackField)(at.fallback)),!0===al.experimental.partialFallbacks&&(null==at?void 0:at.fallback)===null&&!aT&&aS.length>0&&(f=w.FallbackMode.PRERENDER),f===w.FallbackMode.PRERENDER&&(0,u.isBot)(av)&&(!aF||ax)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==g?void 0:g.isStale)===-1&&(ar=!0),ar&&(f!==w.FallbackMode.NOT_FOUND||g)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),!V&&f!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aV&&!m&&!ah&&_&&(l||!au)){if((l||at)&&f===w.FallbackMode.NOT_FOUND){if(al.adapterPath)return await a0();throw new C.NoFallbackError}if(aF&&(al.cacheComponents?!aL:!az)){let b=l&&"string"==typeof(null==at?void 0:at.fallback)?at.fallback:aq,f=(l||aG)&&(null==at?void 0:at.fallbackRouteParams)?(0,o.createOpaqueFallbackRouteParams)(at.fallbackRouteParams):aI?(0,o.getFallbackRouteParams)(aq,P):null;aG&&f&&(0,h.addRequestMeta)(a,"fallbackParams",f);let g=await P.handleResponse({cacheKey:b,req:a,nextConfig:al,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ag,isRoutePPREnabled:aF,responseGenerator:async()=>q({span:j,postponed:void 0,fallbackRouteParams:f,forceStaticRender:!0}),waitUntil:d.waitUntil,isMinimalMode:V});if(null===g)return null;if(g)return V||!aF||!(aS.length>0)||!0!==al.experimental.partialFallbacks||!aU||!p||ar||aI||aD||aE||ay||(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(aU,p,aF,!1,a=>q({span:a.span,postponed:void 0,fallbackRouteParams:a_.length>0?(0,o.createOpaqueFallbackRouteParams)(a_):null,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete g.cacheControl,g}}let s=ar||i||!aJ?void 0:aJ;if(aP&&!V&&p&&(aL||aA)&&!k){let b=await p.get(ai,{kind:v.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===v.CachedRouteKind.APP_PAGE&&(s=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(ai,p,aF,!1,a=>r({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aG||aH)&&void 0!==s)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let t=!P.isDev&&_&&(null==at?void 0:at.fallbackRouteParams)?(0,o.getPlaceholderFallbackRouteParams)($,at.fallbackRouteParams):null,y=t&&t.length>0?t:null==at?void 0:at.fallbackRouteParams,z=null!=t&&t.length>0,A=null;if(al.cacheComponents&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,h.getRequestMeta)(a,"resolvedRouteParamKeys");b&&b.size>0&&(A=at.fallbackRouteParams.filter(a=>!b.has(a.paramName)))}let B=(l&&(0,h.getRequestMeta)(a,"renderFallbackShell")||z||aG&&!au)&&y?(0,o.createOpaqueFallbackRouteParams)(y):A&&A.length>0&&A.length<((null==at||null==(n=at.fallbackRouteParams)?void 0:n.length)??0)?(0,o.createOpaqueFallbackRouteParams)(A):aI?(0,o.getFallbackRouteParams)(aq,P):null;if((l||aG)&&al.cacheComponents&&!au&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,o.createOpaqueFallbackRouteParams)(y??at.fallbackRouteParams);b&&(0,h.addRequestMeta)(a,"fallbackParams",b)}return q({span:j,postponed:s,fallbackRouteParams:B,forceStaticRender:k})}catch(b){throw(null==g?void 0:g.isStale)&&await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}},s=async c=>{var f,g,i,j,k,l;let m,n=await P.handleResponse({cacheKey:aU,responseGenerator:a=>r({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ar,isRoutePPREnabled:aF,req:a,nextConfig:al,prerenderManifest:ag,waitUntil:d.waitUntil,isMinimalMode:V});if(ah&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),P.isDev&&b.setHeader("Cache-Control","no-cache, must-revalidate"),!n){if(aU)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof n.value.postponed;az&&!aA&&ao&&b.setHeader(y.NEXT_NAV_DEPLOYMENT_ID_HEADER,ao),aO&&!aL&&(!o||ay)&&(V||b.setHeader("x-nextjs-cache",ar?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=n;if(aJ)m={revalidate:0,expire:void 0};else if(aL)m={revalidate:0,expire:void 0};else if(!P.isDev)if(ah)m={revalidate:0,expire:void 0};else if(aO){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});m={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??al.expireTime}}else m={revalidate:y.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else b.getHeader("Cache-Control")||(m={revalidate:0,expire:void 0});if(n.cacheControl=m,"string"==typeof aM&&(null==p?void 0:p.kind)===v.CachedRouteKind.APP_PAGE&&p.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=p.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];V&&aO&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=p.segmentData.get(aM);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let s=aP?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(s){let b=(0,h.getRequestMeta)(a,"initURL")??a.url,c=b?(null==(l=(0,F.parseUrl)(b))?void 0:l.pathname)??b:void 0;if(await s(n,{url:c}))return null}if(p.headers){let a={...p.headers};for(let[c,d]of(V&&aO||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let u=null==(g=p.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(V&&aO&&u&&"string"==typeof u&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,u),!p.status||az&&aF||(b.statusCode=p.status),!V&&p.status&&H.RedirectStatusCode[p.status]&&az&&(b.statusCode=200),o&&!aL&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),az&&!ah){if(void 0===p.rscData){if(p.html.contentType!==t.RSC_CONTENT_TYPE_HEADER)if(al.cacheComponents)return b.statusCode=404,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl});else throw Object.defineProperty(new I.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:p.html,cacheControl:n.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(p.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let w=p.html;if(aE&&aG){let c=!0===P.isDev?crypto.randomUUID():null;return w.pipeThrough(await (0,A.createInstantTestScriptInsertionTransformStream)(c)),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})}if(!o||V||az)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:n.cacheControl});if(aG||aH)return w.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}});let C=new TransformStream;return w.push(C.readable),q({span:c,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(C.writable)}).catch(a=>{C.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})};if(!a$||!aZ)return k=aY.getActiveScopeSpan(),await aY.withPropagatedContext(a.headers,()=>aY.trace(i.BaseServerSpan.handleRequest,{spanName:`${aX} ${W}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aX,"http.target":a.url}},s),void 0,!a$);await s(aZ)}catch(b){throw b instanceof C.NoFallbackError||await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}}},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},33873:a=>{"use strict";a.exports=require("path")},37067:a=>{"use strict";a.exports=require("node:http")},41012:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,63885,23)),Promise.resolve().then(c.bind(c,41464)),Promise.resolve().then(c.bind(c,26331)),Promise.resolve().then(c.bind(c,93209)),Promise.resolve().then(c.bind(c,55872)),Promise.resolve().then(c.bind(c,66898)),Promise.resolve().then(c.bind(c,68294)),Promise.resolve().then(c.bind(c,46694)),Promise.resolve().then(c.bind(c,51221))},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41464:(a,b,c)=>{"use strict";c.d(b,{DesignClient:()=>Z});var d=c(4374),e=c(74679),f=c(47104),g=c(31819),h=c(43526),i=c(14698),j=c(6857);c(1662),c(27326);var k=c(2910);let l=(0,k.createServerReference)("40ef9327df3c76aeec61e899723f3a4fce0f04e0f4",k.callServer,void 0,k.findSourceMapURL,"getDesignScreen");k.callServer,k.findSourceMapURL;let m=(0,k.createServerReference)("702318f1552859b902907168b6bbd6d46cbb1cd8bd",k.callServer,void 0,k.findSourceMapURL,"askDesign");k.callServer,k.findSourceMapURL,k.callServer,k.findSourceMapURL,k.callServer,k.findSourceMapURL;let n=(0,k.createServerReference)("406e30e8c1f70608478aa34a2cfc9f472c06c1ade1",k.callServer,void 0,k.findSourceMapURL,"readDesignDoc"),o=(0,k.createServerReference)("009e146b7742c650ca216beeed8e617243a4a5c103",k.callServer,void 0,k.findSourceMapURL,"scaffoldDesignFromBrief"),p=(0,k.createServerReference)("60dbb220db735685b4802d9264fe095d42ffd507fa",k.callServer,void 0,k.findSourceMapURL,"commitDesignScreen"),q=(0,k.createServerReference)("400105d268e50cf405554ad50d07b6cf74ab3dfdfb",k.callServer,void 0,k.findSourceMapURL,"saveDesignCheckpoint");k.callServer,k.findSourceMapURL;let r=(0,k.createServerReference)("40a2ed61c41d82e88df9f715926555d4751d7925b2",k.callServer,void 0,k.findSourceMapURL,"approveDesign"),s=(0,k.createServerReference)("00c6849ba47e6e7fea083ff67d4e2a602a90900e03",k.callServer,void 0,k.findSourceMapURL,"handoffToExecution"),t=(0,k.createServerReference)("00041d8182167f36657652fa5117a86f04ad9fdac4",k.callServer,void 0,k.findSourceMapURL,"resumeDesignHandoff"),u=(0,k.createServerReference)("0053a9e20f5c5328aa2a2502d518180bfd6eed8f2f",k.callServer,void 0,k.findSourceMapURL,"buildDesignProduction"),v=(0,k.createServerReference)("7084c40999976496a9f63bf8a44a4c05630a91605b",k.callServer,void 0,k.findSourceMapURL,"addDesignMarkup"),w=(0,k.createServerReference)("7ca088c8458079633b65380437dffa61b3a503e9d8",k.callServer,void 0,k.findSourceMapURL,"addDesignComment"),x=(0,k.createServerReference)("40205db6b6772e5190d6280f495fecc4c49bb1880c",k.callServer,void 0,k.findSourceMapURL,"deleteDesignComment"),y=(0,k.createServerReference)("4036941845402c95b0a364055242692180e15d59a1",k.callServer,void 0,k.findSourceMapURL,"restoreDesignCheckpoint"),z=(0,k.createServerReference)("602c949d6b4f90259a9dd0bf28582677f4f84cdc82",k.callServer,void 0,k.findSourceMapURL,"restoreDesignVersion");var A=c(89814),B=c(77954);let C=`(function(){
53
43
  var MODE = "select";
54
44
  var ZOOM = 1, ZOX = 0, ZOY = 0;
55
45
 
@@ -351,4 +341,14 @@ ${d.map(a=>`- ${a.name}: ${a.description}`).join("\n")}`:""].filter(Boolean).joi
351
341
  post("canvas:ready", { interactive: INTERACTIVE });
352
342
  if(!INTERACTIVE) post("canvas:baseline", { html: serializeBody() }); // history/persist only for static screens
353
343
  setTimeout(emitTree, 80);
354
- })();`;var D=c(44964),E=c(65636),F=c(26945);c(4795),c(78564);var G=c(56662);let H=(0,k.createServerReference)("006e8b51bd97c68f55b9872060b05677c64a7c9f97",k.callServer,void 0,k.findSourceMapURL,"stopLiveInspectAction"),I=(0,k.createServerReference)("00c38194c9d1cef9ff1d75790c8f782badbc37b52a",k.callServer,void 0,k.findSourceMapURL,"startLiveInspectAction"),J=[{id:"desktop",w:"100%",label:"Desktop"},{id:"tablet",w:"768px",label:"Tablet"},{id:"mobile",w:"390px",label:"Mobile"}];function K({onAskGrace:a,asking:b}){let[c,f]=(0,e.useState)({running:!1,status:"idle",logs:[]}),[g,i]=(0,e.useTransition)(),[j,k]=(0,e.useState)(""),[l,m]=(0,e.useState)(""),[n,o]=(0,e.useState)(0),[p,q]=(0,e.useState)("desktop"),[r,s]=(0,e.useState)(!0),[t,u]=(0,e.useState)(""),[v,w]=(0,e.useState)(!1),[x,y]=(0,e.useState)(""),[z,A]=(0,e.useTransition)(),[B,C]=(0,e.useState)(""),[D,E]=(0,e.useState)(null),F=(0,e.useRef)(null),L=c.url??"",M="running"===c.status&&!!L,N=J.find(a=>a.id===p)?.w??"100%",O=(v&&x?x:l)||L;return(0,d.jsxs)("div",{style:{position:"absolute",inset:0,zIndex:40,display:"flex",flexDirection:"column",background:"var(--bg-app)"},children:[(0,d.jsxs)("div",{className:"dz-live-bar",children:[(0,d.jsx)("span",{className:"dz-live-dot "+(M?"on":"error"===c.status?"err":"")}),(0,d.jsx)("button",{className:"dz-ico",title:"Reload",disabled:!M,onClick:()=>o(a=>a+1),children:(0,d.jsx)(h.I,{name:"refresh",size:14})}),(0,d.jsxs)("form",{className:"dz-live-addr",onSubmit:function(a){let b;a?.preventDefault();let c=(b=j.trim())?/^https?:\/\//i.test(b)?b:L.replace(/\/$/,"")+(b.startsWith("/")?b:"/"+b):L;m(c),k(c),o(a=>a+1)},children:[(0,d.jsx)(h.I,{name:M?"shield":"goto",size:12}),(0,d.jsx)("input",{value:j,placeholder:L||"the app isn't running yet",disabled:!M||v,onChange:a=>k(a.target.value),spellCheck:!1})]}),(0,d.jsx)("button",{className:"dz-ico"+(v?" on":""),title:v?"Inspecting — click an element to target it (click again to turn off)":"Inspect: click a real element to ask Grace to change it",disabled:!M||z,onClick:function(){if(C(""),v){w(!1),E(null),o(a=>a+1),H().catch(()=>{});return}A(async()=>{try{let a=await I();if(!a.ok||!a.url)return void C(a.error||"Couldn't start inspect.");y(a.url),w(!0),E(null),o(a=>a+1)}catch{C("Couldn't start inspect.")}})},children:(0,d.jsx)(h.I,{name:z?"refresh":"target",size:14,className:z?"sync-spin":""})}),(0,d.jsx)("div",{className:"dz-seg",children:J.map(a=>(0,d.jsx)("button",{className:p===a.id?"on":"",disabled:!M,onClick:()=>q(a.id),children:a.label},a.id))}),M&&(0,d.jsx)("a",{className:"dz-ico",title:"Open in a new tab",href:l,target:"_blank",rel:"noreferrer",children:(0,d.jsx)(h.I,{name:"goto",size:14})})]}),B&&(0,d.jsx)("div",{className:"dz-uperr",style:{margin:"0 10px"},children:B}),(0,d.jsx)("div",{className:"dz-live-stage",children:M&&!r?(0,d.jsxs)("div",{className:"dz-live-empty",children:[(0,d.jsx)(h.I,{name:"shield",size:26}),(0,d.jsx)("div",{className:"t",children:"The app blocks embedding"}),(0,d.jsx)("div",{className:"s",children:"It sends X-Frame-Options / CSP that prevents the preview frame."}),(0,d.jsxs)("a",{className:"btn-accent",style:{marginTop:10},href:l,target:"_blank",rel:"noreferrer",children:[(0,d.jsx)(h.I,{name:"goto",size:13})," Open in a new tab"]})]}):M?(0,d.jsx)("iframe",{ref:F,className:"dz-live-frame",src:O,style:{width:N,maxWidth:"100%"},title:"Live app preview",onLoad:()=>{try{F.current?.contentWindow?.postMessage({__cstlaLiveHost:1,type:"live:setMode",mode:v?"inspect":"off"},"*")}catch{}},sandbox:"allow-scripts allow-same-origin allow-forms allow-popups allow-modals allow-downloads"},O+":"+n):(0,d.jsxs)("div",{className:"dz-live-empty",children:[(0,d.jsx)("span",{className:g||"starting"===c.status?"sync-spin":"",children:(0,d.jsx)(h.I,{name:g||"starting"===c.status?"refresh":"play",size:26})}),(0,d.jsx)("div",{className:"t",children:"error"===c.status?"The dev server failed to start":g||"starting"===c.status?"Starting the dev server…":"Run the real app"}),(0,d.jsx)("div",{className:"s",children:"error"===c.status?"Check the project boots (Test Dev shows the logs).":"Boot the project's dev server to see the real running app here — any stack."}),"running"!==c.status&&"starting"!==c.status&&!g&&(0,d.jsxs)("button",{className:"btn-accent",style:{marginTop:10},onClick:function(){i(async()=>{try{let a=await (0,G.R)();f(a)}catch{}})},children:[(0,d.jsx)(h.I,{name:"play",size:13})," Start the app"]})]})}),D&&(0,d.jsxs)("div",{className:"dz-attach",style:{margin:"0 10px 6px"},children:[(0,d.jsx)("span",{className:"sw",style:{background:"#6366f1"}})," Editing ",(0,d.jsxs)("b",{style:{fontWeight:700},children:["<",D.tag,">",D.id?" #"+D.id:""]}),D.text?` \xb7 “${D.text.slice(0,40)}”`:"",(0,d.jsx)("span",{className:"x",onClick:()=>E(null),children:(0,d.jsx)(h.I,{name:"close",size:12})})]}),(0,d.jsxs)("form",{className:"dz-live-ask",onSubmit:function(c){c?.preventDefault();let d=t.trim();if(d&&!b){if(D){let b=[`<${D.tag}>`,D.id?`#${D.id}`:"",D.text?`text "${D.text}"`:"",D.landmark?`in "${D.landmark}"`:"",`selector \`${D.selector}\``,`on route ${D.path}`].filter(Boolean).join(" \xb7 ");a(`On the live app, change THIS element (${b}) — edit the real source, keep everything else intact: ${d}`)}else a(`On the live app: ${d}`);u(""),E(null)}},children:[(0,d.jsx)(h.I,{name:"skill",size:14}),(0,d.jsx)("input",{value:t,placeholder:D?"Describe the change to this element — Grace edits the real source…":"Ask Grace to change the live app — she edits the real source (HMR repaints it)…",onChange:a=>u(a.target.value),disabled:b}),(0,d.jsxs)("button",{className:"dz-mini-btn accent",disabled:b||!t.trim(),type:"submit",children:[(0,d.jsx)(h.I,{name:b?"refresh":"send",size:13,className:b?"sync-spin":""})," Ask Grace"]})]})]})}let L=[{name:"Indigo",c:"#6366f1"},{name:"Violet",c:"#8b5cf6"},{name:"Blue",c:"#3b82f6"},{name:"Sky",c:"#0ea5e9"},{name:"Cyan",c:"#06b6d4"},{name:"Teal",c:"#14b8a6"},{name:"Emerald",c:"#10b981"},{name:"Lime",c:"#84cc16"},{name:"Amber",c:"#f59e0b"},{name:"Orange",c:"#f97316"},{name:"Rose",c:"#f43f5e"},{name:"Pink",c:"#ec4899"}],M=[{n:"Inter",s:"'Inter',system-ui,sans-serif"},{n:"IBM Plex",s:"'IBM Plex Sans',sans-serif"},{n:"Geist",s:"'Geist','Inter',ui-sans-serif,sans-serif"},{n:"System",s:"system-ui,-apple-system,Segoe UI,sans-serif"},{n:"Serif",s:"Georgia,'Times New Roman',serif"},{n:"Mono",s:"ui-monospace,'SF Mono',Menlo,monospace"},{n:"Display",s:"'Poppins','Inter',system-ui,sans-serif"}],N=[{n:"Sharp",r:6},{n:"Soft",r:16},{n:"Round",r:26}],O=[{id:"select",ic:"target"},{id:"edit",ic:"newFile"},{id:"markup",ic:"skill"},{id:"comments",ic:"chat"},{id:"inspect",ic:"search"},{id:"preview",ic:"play"}];function P(a,b){let c=parseInt(a.replace("#",""),16);return`rgba(${c>>16&255},${c>>8&255},${255&c},${b})`}function Q(a){return(a.split("/").pop()||a).replace(/\.html?$/i,"")}let R=/\b(remov(i|ido|eu|idos)|adicion(ei|ado|ou|ados)|cri(ei|ado|ou|ados)|corrig(i|ido|iu)|ajust(ei|ado|ou)|atualiz(ei|ado|ou)|mud(ei|ado|ou)|delet(ei|ado|ou)|limp(ei|ado|ou)|troqu(ei)|troc(ado|ou)|inseri|inserido|fiz|feit[oa]s?|pront[oa]s?|conclu(i|í|ido|ída)|finaliz(ei|ado|ou)|implement(ei|ado|ou)|ger(ei|ado|ou)|salv(ei|o|ado)|apliqu(ei)|aplic(ado|ou)|added|removed|deleted|created|fixed|updated|changed|cleaned|adjusted|renamed|moved|made|done|ready|here'?s|i'?ve|i\s+have|i\s+just|i\s+made)\b/i,S=[["design.sugg.adjustPalette","Adjust the color palette"],["design.sugg.improveSpacing","Improve the spacing"],["design.sugg.mobileVersion","Create a mobile version"],["design.sugg.darkTheme","Try a dark theme"],["design.sugg.addSection","Add a section"],["design.sugg.newScreen","Create a new screen"],["design.sugg.visualDocs","Generate the visual docs"],["design.sugg.askReview","Ask Grace for a review"],["design.sugg.approve","Approve design"],["design.sugg.sendExec","Send to execution"]],T=[["design.sugg.firstScreen","Build the first screen"],["design.sugg.proposePalette","Propose a color palette"],["design.sugg.defineTypography","Define the typography"],["design.sugg.mainFlow","Design the main flow"],["design.sugg.heroSection","Add a hero section"],["design.sugg.mobileVersion","Create a mobile version"]],U={accent:"#6366f1",accentName:"Indigo",accentFg:"",secondary:"",surface:"",success:"",warning:"",danger:"",theme:"dark",font:M[0].s,fontName:"Inter",headingFont:M[0].s,headingFontName:"Inter",fontWeight:400,lineHeight:1.5,letterSpacing:0,fontScale:1,radius:16,borderWidth:1,borderColor:"",shadow:"md",density:12,containerWidth:1200,motionMs:200,ease:"ease"};function V(a){return!!(a.selection&&"object"==typeof a.selection&&"markup"===a.selection.kind)}function W(a){return a.selection.rect}function X(a){let b=a.x+a.w/2,c=a.y+a.h/2;return`${c<33?"top":c<66?"middle":"bottom"}-${b<33?"left":b<66?"center":"right"} area, roughly ${Math.round(a.w)}%\xd7${Math.round(a.h)}% of the page`}function Y({grace:a,context:b,status:c,tokens:k}){var G;let H,I,J,Z,$,_=(0,f.useRouter)(),aa=(0,g.k)(),[ab,ac]=(0,e.useState)("approved"===c||b.approved?"approved":"building"),[ad,ae]=(0,e.useState)(!1),[af,ag]=(0,e.useState)("screens"),[ah,ai]=(0,e.useState)(!0),[aj,ak]=(0,e.useState)(!0),[al,am]=(0,e.useState)("desktop"),[an,ao]=(0,e.useState)(null),[ap,aq]=(0,e.useState)(!1),[ar,as]=(0,e.useState)(100),[at,au]=(0,e.useState)("select"),[av,aw]=(0,e.useState)({...U,...k??{}}),[ax,ay]=(0,e.useState)(""),[az,aA]=(0,e.useState)(!1),[aB,aC]=(0,e.useState)(!1),[aD,aE]=(0,e.useState)(""),[aF,aG]=(0,e.useState)([]),[aH,aI]=(0,e.useState)(!1),[aJ,aK]=(0,e.useState)(!1),[aL,aM]=(0,e.useState)(""),aN=(0,e.useRef)(null);(0,e.useRef)(!0);let[aO,aP]=(0,e.useState)(""),[aQ,aR]=(0,e.useState)(null),[aS,aT]=(0,e.useState)(""),[aU,aV]=(0,e.useState)([]),[aW,aX]=(0,e.useState)([]),[aY,aZ]=(0,e.useState)(!0),[a$,a_]=(0,e.useState)(!1);(0,e.useRef)(0),(0,e.useRef)(0),(0,e.useRef)(null);let[a0,a1]=(0,e.useState)([]),[a2,a3]=(0,e.useState)(null),[a4,a5]=(0,e.useState)(null),[a6,a7]=(0,e.useState)({scrollX:0,scrollY:0,viewportW:980,viewportH:560,docW:980,docH:560}),[a8,a9]=(0,e.useState)({w:1200,h:700}),[ba,bb]=(0,e.useState)([]),[bc,bd]=(0,e.useState)(!1);(0,e.useRef)(!1);let[be,bf]=(0,e.useState)(null),[bg,bh]=(0,e.useState)([]);(0,e.useRef)([]);let[bi,bj]=(0,e.useState)(!1),[bk,bl]=(0,e.useState)(null),[bm,bn]=(0,e.useState)(null),[bo,bp]=(0,e.useState)(null),[bq,br]=(0,e.useState)(""),[bs,bt]=(0,e.useState)([]),[bu,bv]=(0,e.useState)([]),[bw,bx]=(0,e.useState)(null),[by,bz]=(0,e.useState)(null),[bA,bB]=(0,e.useState)(!1),[bC,bD]=(0,e.useState)([]),[bE,bF]=(0,e.useState)(null),[bG,bH]=(0,e.useState)(""),[bI,bJ]=(0,e.useState)(0),[bK,bL]=(0,e.useState)("idle"),bM=(0,e.useRef)(!1),bN=(0,e.useRef)(""),bO=(0,e.useRef)(null),bP=(0,e.useRef)(new Map),[bQ,bR]=(0,e.useState)(0),bS=(0,e.useRef)(null),bT=(0,e.useRef)(null);(0,e.useRef)("");let bU=(0,e.useRef)(at),bV=(0,e.useRef)(""),bW=(0,e.useRef)(av),bX=(0,e.useRef)([]);(0,e.useRef)(null);let bY=(0,e.useRef)(!1),bZ=(0,e.useRef)(!1),b$=Array.from(new Set([...b.designMockFiles.filter(a=>/\.html?$/i.test(a)),...a0]));bX.current=b$;let b_=b.designMockFiles.filter(a=>a.startsWith("design-mock/components/")),b0="approved"===ab,b1=aO&&b$.includes(aO)?aO:b$[0]??"";bV.current=b1,bY.current=b0,bZ.current=a$,bU.current=at,bW.current=av;let b2=b$.length>0&&null!=aQ&&!aS,b3=ar/100,b4=null!=an?{w:Math.max(320,Math.min(1920,an)),h:Math.max(560,Math.round(1.5*Math.max(320,Math.min(1920,an))))}:"tablet"===al?{w:768,h:1024}:"mobile"===al?{w:390,h:844}:null,b5=null!=b4,b6=b5?b4.w:Math.max(1,a8.w/b3),b7=b5?b4.h:Math.max(1,a8.h/b3),b8=Math.max(1,a6.docW||a6.viewportW||1),b9=Math.max(1,a6.docH||a6.viewportH||1),ca=a=>({left:a.x-a6.scrollX,top:a.y-a6.scrollY,width:a.w,height:a.h}),cb=a=>({left:a.x/100*b8-a6.scrollX,top:a.y/100*b9-a6.scrollY,width:a.w/100*b8,height:a.h/100*b9}),cc=(a,b)=>({left:a/100*b8-a6.scrollX,top:b/100*b9-a6.scrollY}),{canUndo:cd,canRedo:ce}=(0,e.useMemo)(()=>{let a=bP.current.get(b1);return{canUndo:!!a&&a.pos>0,canRedo:!!a&&a.pos<a.stack.length-1}},[bQ,b1]);(0,e.useEffect)(()=>{if(!b1)return void aR(null);if(bM.current&&b1===bN.current)return;bM.current&&(bM.current=!1,bN.current="",bL("idle")),a7(a=>({...a,scrollX:0,scrollY:0}));let a=!0;return aT(""),l(b1).then(b=>{a&&(b.ok&&null!=b.html?aR(b.html):(aR(null),aT(b.error||aa("design.toast.screenLoadFail"))))}),()=>{a=!1}},[b$.join("|"),b1]);let cf=async()=>{try{let a=await (0,D.p)("design");if(a.used>=a.max&&!bA){bB(!0);try{await (0,E.L)("design"),a=await (0,D.p)("design")}finally{bB(!1)}}bz(a)}catch{}};async function cg(){if(!bA){bB(!0);try{await (0,E.L)("design"),await cf()}finally{bB(!1)}}}(0,e.useRef)(!1);let ch=a=>aw(b=>({...b,...a}));function ci(a,b,c=""){let e=String(av[b]??"");return(0,d.jsxs)("div",{className:"dz-trow",children:[(0,d.jsx)("label",{children:a}),(0,d.jsxs)("div",{className:"dz-colorrow",children:[(0,d.jsx)("input",{type:"color",value:e||c||"#888888",onChange:a=>ch({[b]:a.target.value})}),(0,d.jsx)("input",{type:"text",value:e,placeholder:c||aa("design.styles.auto"),spellCheck:!1,onChange:a=>ch({[b]:a.target.value})})]})]},String(b))}function cj(a,b,c,e,f,g=""){let h=Number(av[b]??0);return(0,d.jsxs)("div",{className:"dz-trow",children:[(0,d.jsxs)("label",{children:[a,(0,d.jsxs)("span",{className:"v",children:[h,g]})]}),(0,d.jsx)("input",{type:"range",min:c,max:e,step:f,value:h,onChange:a=>ch({[b]:Number(a.target.value)})})]},String(b))}function ck(a,b){let c=b.stack[b.pos];bf(null),bj(!1),bM.current=!0,bN.current=a,bL("saving"),bO.current&&(clearTimeout(bO.current),bO.current=null);try{bS.current?.contentWindow?.postMessage({__cstlaHost:1,type:"canvas:setBody",html:c},"*")}catch{}p(a,c).then(()=>{bL("saved"),bJ(a=>a+1),bO.current&&clearTimeout(bO.current),bO.current=setTimeout(()=>{bM.current=!1,bN.current="",bL("idle"),bO.current=null},1400)}),bR(a=>a+1)}async function cl(){let a=bV.current;if(!a||!b2)return;aA(!0);let b=await q(a);aA(!1),b.ok?(cm(aa("design.toast.savedCheckpoint",{label:b.label??""})),bJ(a=>a+1)):cm(b.error||aa("design.toast.couldNotSaveCheckpoint"))}function cm(a){aE(a),setTimeout(()=>aE(b=>b===a?"":b),2400)}async function cn(a){if(!a)return;let b=Array.from(a).filter(a=>a instanceof File);if(!b.length)return;aM("");let c=b.slice(0,Math.max(0,6-aF.length));if(!c.length)return void aM(aa("design.toast.upTo6"));let d=new FormData;for(let a of c)d.append("files",a);aK(!0);try{let a=await fetch("/api/upload",{method:"POST",body:d}),b=await a.json();if(!a.ok||!b.ok)return void aM(b.error||aa("design.toast.uploadFailed"));aG(a=>[...a,...b.attachments].slice(0,6))}catch{aM(aa("design.toast.uploadFailed"))}finally{aK(!1),aN.current&&(aN.current.value="")}}function co(a){let b=(a??ax).trim();if(!b&&!aF.length&&!bk||a$)return;a_(!0);let c=aF.slice();ay(""),aG([]),aM(""),bl(null),m(b||(bk?"Adjust this element.":"Use the attached image(s) as the visual reference."),c,bk??void 0).then(a=>{a.ok||(cm(a.error||aa("design.toast.couldNotStart")),a_(!1))})}async function cp(){aA(!0);let a=await r();(aA(!1),a.ok)?(ac("approved"),cm(aa("design.toast.designApproved")),_.refresh()):cm(a.error||aa("design.toast.approveFailed"))}async function cq(){aA(!0);let a=await s();(aA(!1),a.ok)?(ac("approved"),ae(!1),a_(!0),ag("docs"),cm(aa("design.toast.sentToExec"))):cm(a.error||aa("design.toast.couldNotSendExec"))}async function cr(){aA(!0);let a=await t();(aA(!1),a.ok)?(a_(!0),ag("docs"),cm("Resuming handoff — Grace is finishing the documentation, then Ada plans it.")):cm(a.error||"Couldn't resume the handoff.")}async function cs(){aA(!0);let a=await u();if(aA(!1),!a.ok)return void cm(a.error||aa("design.toast.buildFailed"));let b=a.built.reduce((a,b)=>a+b.before,0),c=a.built.reduce((a,b)=>a+b.after,0),d=b?Math.round((1-c/b)*100):0,e=a.built.filter(a=>a.obfuscated).length;cm(aa("design.toast.built",{count:a.built.length,plural:1===a.built.length?"":"s",pct:d,obf:e?aa("design.toast.builtObf",{n:e}):""})),_.refresh()}async function ct(a=!1){if(!bo){bp(null),br(""),bn(null);return}if(bo.markup){let b=bq.trim(),c=bo.markup;if(await v(bV.current,c,b),bp(null),br(""),bn(null),bJ(a=>a+1),ag("comments"),a){a_(!0);let a=X(c);m(`On screen ${bV.current}, I marked a region for review (${a}).${b?` My note: "${b}"`:" Please review and refine it."} Update the screen accordingly.`)}return}if(!bq.trim()){bp(null),br("");return}let b=bo.selection??be,c=b?{...b,pageId:bV.current}:void 0;await w(bV.current,bo.xpPct,bo.ypPct,bq.trim(),c),bp(null),br(""),bJ(a=>a+1),ag("comments")}let cu=[...aU].sort((a,b)=>(a.createdAt?new Date(a.createdAt).getTime():0)-(b.createdAt?new Date(b.createdAt).getTime():0)).at(-1),cv=a$||0!==aU.length&&cu?.fromKind!=="agent"?[]:function(a,b,c){let d=[],e=a=>(a??"").replace(/\s+/g," ").replace(/^[-•*\s]+/,"").replace(/[.:;,!?]+$/,"").trim(),f=(a,b)=>{let c=e(a);c.length>=2&&c.length<=42&&!d.some(a=>a.label.toLowerCase()===c.toLowerCase())&&d.push({label:c?c.charAt(0).toUpperCase()+c.slice(1):c,prompt:b})},g=[...a].reverse().find(a=>"agent"===a.fromKind&&a.text);if(g?.text)for(let a of g.text.matchAll(/\*\*(.+?)\*\*/g)){let b=e(a[1]);if(b.length<2||b.length>42||R.test(b)||(b.match(/\s+/g)||[]).length>6||f(b,b),d.length>=4)break}for(let[a,e]of b.designMockFiles.some(a=>/\.html?$/i.test(a))?S:T)if(f(c(a),e),d.length>=4)break;return d.slice(0,4)}(aU,b,aa),cw=a?{id:a.id,handle:a.handle,name:a.name,role:"Frontend",color:a.color,image:a.image??null,adapter:"claude",status:"idle",health:null}:null,cx=cw?[cw]:[],cy={};for(let a of aW)(cy[a.runId]??=[]).push(a);let cz=new Set(aU.map(a=>a.id)),cA=Object.entries(cy).filter(([a])=>!cz.has(a)),cB=a$||cA.length>0,cC=bs.filter(a=>a.pageKey===b1&&!V(a)),cD=bs.filter(a=>a.pageKey===b1&&V(a)),cE=[];cE.push(["layers",aa("design.tab.layers")],["screens",aa("design.tab.screens")],["docs",aa("design.tab.docs")],["styles",aa("design.tab.styles")],["history",aa("design.tab.history")],["comments",`${aa("design.tab.comments")}${cC.length?" "+cC.length:""}`],["versions",`${aa("design.tab.versions")}${bu.length?" "+bu.length:""}`]);let cF=cE.some(([a])=>a===af)?af:"screens",cG=a2?ca(a2):null,cH=be?ca(be.boundingBox):null;return(0,d.jsxs)("div",{className:"dz-wrap",children:[ah?(0,d.jsxs)("div",{className:"dz-chat",children:[(0,d.jsxs)("div",{className:"dz-chat-head",children:[(0,d.jsx)(i.e,{name:a?.name||"Grace",color:a?.color||"#84aef5",image:a?.image,size:28}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"dz-ch-t",children:[a?.name||"Grace"," \xb7 ",aa("design.chat.role")]}),(0,d.jsx)("div",{className:"dz-ch-s",children:aa("design.chat.subtitle")})]}),cB&&(0,d.jsxs)("span",{className:"dz-live",children:[(0,d.jsx)("span",{className:"dot"})," ",aa("design.chat.live")]}),(0,d.jsx)("button",{className:"dz-collapse-btn",title:aa("design.chat.collapse"),onClick:()=>ai(!1),children:(0,d.jsx)(h.I,{name:"chevronLeft",size:15})})]}),by&&(0,d.jsxs)("div",{className:"ctx-bar",children:[(0,d.jsx)(F.m,{stat:by,onCompact:cg,compacting:bA}),(0,d.jsx)("span",{})]}),(0,d.jsx)(j.H8,{msgs:aU,typing:a$&&cw?[cw.handle]:[],agents:cx,byRun:cy,liveRuns:cA,loading:aY,markdownAgent:!0,avatarSize:28,emptyHint:aa("design.chat.emptyHint")}),(0,d.jsxs)("div",{className:"dz-composer"+(aH?" drag":""),onDragOver:a=>{a.preventDefault(),aI(!0)},onDragLeave:a=>{a.preventDefault(),aI(!1)},onDrop:a=>{a.preventDefault(),aI(!1),cn(a.dataTransfer.files)},children:[!b0&&cv.length>0&&!bk&&(0,d.jsx)("div",{className:"dz-chips",children:cv.map(a=>(0,d.jsx)("span",{className:"dz-chip",onClick:()=>co(a.prompt),children:a.label},a.label))}),bk&&(0,d.jsxs)("div",{className:"dz-attach",children:[(0,d.jsx)("span",{className:"sw",style:{background:av.accent}})," ",aa("design.composer.elementLabel")," ",(0,d.jsx)("b",{style:{fontWeight:700},children:bk.componentName}),(0,d.jsx)("span",{className:"x",onClick:()=>bl(null),children:(0,d.jsx)(h.I,{name:"close",size:12})})]}),aL&&(0,d.jsx)("div",{className:"dz-uperr",children:aL}),aF.length>0&&(0,d.jsx)("div",{className:"dz-atts",children:aF.map((a,b)=>(0,d.jsxs)("span",{className:"dz-att",children:[a.type.startsWith("image/")&&(0,d.jsx)("img",{src:`/api/upload?path=${encodeURIComponent(a.path)}`,alt:""}),(0,d.jsx)("span",{className:"nm",children:a.name}),(0,d.jsx)("span",{className:"rm",title:aa("design.composer.remove"),onClick:()=>aG(a=>a.filter((a,c)=>c!==b)),children:(0,d.jsx)(h.I,{name:"close",size:11})})]},a.path))}),(0,d.jsxs)("div",{className:"dz-input",children:[(0,d.jsx)("button",{className:"dz-clip",disabled:a$||aJ,title:aa("design.composer.attach"),onClick:()=>aN.current?.click(),children:(0,d.jsx)(h.I,{name:aJ?"refresh":"add",size:15,className:aJ?"sync-spin":""})}),(0,d.jsx)("input",{placeholder:bk?aa("design.composer.changePlaceholder",{name:bk.componentName}):aa("design.composer.placeholder"),value:ax,disabled:a$,onChange:a=>ay(a.target.value),onKeyDown:a=>{"Enter"===a.key&&co()},onPaste:function(a){let b=Array.from(a.clipboardData?.items||[]).filter(a=>"file"===a.kind&&a.type.startsWith("image/")).map(a=>a.getAsFile()).filter(a=>!!a);b.length&&(a.preventDefault(),cn(b))}}),(0,d.jsx)("button",{className:"dz-send",disabled:a$||!ax.trim()&&!aF.length&&!bk,onClick:()=>co(),children:(0,d.jsx)(h.I,{name:a$?"refresh":"send",size:15,className:a$?"sync-spin":""})})]}),(0,d.jsx)("input",{ref:aN,type:"file",accept:"image/*,.pdf",multiple:!0,style:{display:"none"},onChange:a=>cn(a.target.files)})]})]}):(0,d.jsxs)("div",{className:"dz-strip left",onClick:()=>ai(!0),title:aa("design.chat.expand"),children:[(0,d.jsx)(h.I,{name:"chevronRight",size:16}),(0,d.jsx)(h.I,{name:"chat",size:16}),cB&&(0,d.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:"var(--accent)"}})]}),(0,d.jsxs)("div",{className:"dz-center",children:[b.handoffPending&&(0,d.jsxs)("div",{className:"dz-approve-banner",style:{background:"linear-gradient(90deg,rgba(224,164,78,.20),rgba(224,164,78,.03))"},children:[(0,d.jsx)("div",{className:"dz-ab-ic",style:{background:"rgba(224,164,78,.22)",color:"var(--accent)"},children:(0,d.jsx)(h.I,{name:cB?"refresh":"warn",size:17,className:cB?"sync-spin":""})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"dz-ab-t",children:cB?aa("design.handoff.finishing"):aa("design.handoff.interrupted")}),(0,d.jsx)("div",{className:"dz-ab-s",children:cB?aa("design.handoff.finishingSub"):aa("design.handoff.interruptedSub")})]}),!cB&&(0,d.jsx)("div",{className:"dz-ab-actions",children:(0,d.jsxs)("button",{className:"dz-mini-btn accent",disabled:az,onClick:cr,children:[(0,d.jsx)(h.I,{name:az?"refresh":"sync",size:13,className:az?"sync-spin":""})," ",aa("design.handoff.resume")]})})]}),b.handoffDone&&!b.handoffPending&&(0,d.jsxs)("div",{className:"dz-approve-banner",style:{background:ad?"linear-gradient(90deg,rgba(224,164,78,.22),rgba(224,164,78,.03))":"linear-gradient(90deg,rgba(74,165,114,.20),rgba(74,165,114,.03))"},children:[(0,d.jsx)("div",{className:"dz-ab-ic",style:{background:ad?"rgba(224,164,78,.22)":"rgba(74,165,114,.22)",color:ad?"var(--accent)":"#3fa971"},children:(0,d.jsx)(h.I,{name:ad?"edit":"goto",size:17})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"dz-ab-t",children:ad?"Design updated \xb7 send it to Ada":"Handed off to execution \xb7 Ada is building"}),(0,d.jsx)("div",{className:"dz-ab-s",children:ad?"You edited the design after the last hand-off — send the update so Ada applies it on top (backend wiring preserved).":"This design is the real frontend. Keep refining it with Grace — re-send to push an update (engineers&apos; backend wiring is preserved)."})]}),(0,d.jsx)("div",{className:"dz-ab-actions",children:(0,d.jsxs)("button",{className:"dz-mini-btn accent"+(ad?" dz-pulse":""),disabled:az,onClick:cq,children:[(0,d.jsx)(h.I,{name:az?"refresh":ad?"goto":"sync",size:13,className:az?"sync-spin":""})," ",ad?"Send update to execution":"Re-send update"]})})]}),b0&&!b.handoffPending&&!b.handoffDone&&(0,d.jsxs)("div",{className:"dz-approve-banner",children:[(0,d.jsx)("div",{className:"dz-ab-ic",children:(0,d.jsx)(h.I,{name:ad?"edit":"check",size:17})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"dz-ab-t",children:ad?"Design updated \xb7 ready to send":aa("design.banner.approvedTitle")}),(0,d.jsx)("div",{className:"dz-ab-s",children:ad?"You edited the approved design — send it to execution to push the update.":aa("design.banner.approvedSub")})]}),(0,d.jsx)("div",{className:"dz-ab-actions",children:(0,d.jsxs)("button",{className:"dz-mini-btn accent"+(ad?" dz-pulse":""),disabled:az,onClick:cq,children:[(0,d.jsx)(h.I,{name:az?"refresh":"goto",size:13,className:az?"sync-spin":""})," ",ad?"Send update to execution":aa("design.banner.sendToExecution")]})})]}),!b0&&b.gatePending&&(0,d.jsxs)("div",{className:"dz-approve-banner",style:{background:"linear-gradient(90deg,rgba(99,102,241,.16),rgba(99,102,241,.02))"},children:[(0,d.jsx)("div",{className:"dz-ab-ic",style:{background:"rgba(99,102,241,.18)",color:"#6366f1"},children:(0,d.jsx)(h.I,{name:"bot",size:17})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"dz-ab-t",children:aa("design.banner.adaWaitingTitle")}),(0,d.jsxs)("div",{className:"dz-ab-s",children:[aa("design.banner.adaWaitingPre")," ",(0,d.jsx)("b",{children:aa("design.banner.adaWaitingAction")})," ",aa("design.banner.adaWaitingPost")," ",cB?aa("design.banner.gridSettingUp"):aa("design.banner.gridStart")]})]}),(0,d.jsx)("div",{className:"dz-ab-actions",children:(0,d.jsxs)("button",{className:"dz-mini-btn",disabled:a$,onClick:()=>{a_(!0),o().then(a=>{a.ok||a_(!1)})},children:[(0,d.jsx)(h.I,{name:a$?"refresh":"skill",size:13,className:a$?"sync-spin":""})," ",aa("design.banner.setUpWithGrace")]})})]}),(0,d.jsxs)("div",{className:"dz-bar",children:[(0,d.jsx)("div",{className:"dz-modes",children:O.map(a=>(0,d.jsxs)("span",{className:"dz-mode "+(at===a.id?"on":""),onClick:()=>au(a.id),title:aa("design.mode."+a.id),children:[(0,d.jsx)(h.I,{name:a.ic,size:13})," ",aa("design.mode."+a.id)]},a.id))}),b$.length>0&&(0,d.jsxs)("div",{className:"dz-seg",children:[(0,d.jsx)("button",{onClick:function(){let a=bV.current,b=bP.current.get(a);b&&!(b.pos<=0)&&(b.pos--,ck(a,b))},disabled:!cd,title:aa("design.toolbar.undo"),children:(0,d.jsx)(h.I,{name:"chevronLeft",size:13})}),(0,d.jsx)("button",{onClick:function(){let a=bV.current,b=bP.current.get(a);b&&!(b.pos>=b.stack.length-1)&&(b.pos++,ck(a,b))},disabled:!ce,title:aa("design.toolbar.redo"),children:(0,d.jsx)(h.I,{name:"chevronRight",size:13})}),(0,d.jsxs)("button",{onClick:function(){let a=bV.current,b=bP.current.get(a);b&&!(b.pos<=0)&&(b.pos=0,ck(a,b),cm(aa("design.toast.reset")))},disabled:!cd,title:aa("design.toolbar.resetTitle"),children:[(0,d.jsx)(h.I,{name:"repeat",size:13})," ",aa("design.toolbar.reset")]}),(0,d.jsxs)("button",{onClick:cl,disabled:az||!b2,title:aa("design.toolbar.saveTitle"),children:[(0,d.jsx)(h.I,{name:"check",size:13})," ",aa("design.toolbar.save")]}),(0,d.jsxs)("button",{onClick:function(){let a=bV.current;a&&(a_(!0),m(`I manually edited the screen ${a} directly on the canvas — it now has inline-style overrides, transform:translate offsets and data-cstla-id/data-cstla-tx attributes added by the visual editor. Refactor it into CLEAN, token-driven, professional CSS per the CSS STANDARD: fold the inline styles into the <style> sheet under semantic BEM-ish classes, turn transform offsets into real layout (flex/grid/margins/gap), drop every data-cstla-* attribute, and keep the screen VISUALLY IDENTICAL. Then summarize what you cleaned up.`))},title:aa("design.toolbar.cleanUpTitle"),children:[(0,d.jsx)(h.I,{name:"skill",size:13})," ",aa("design.toolbar.cleanUp")]})]}),(0,d.jsx)("div",{className:"dz-spacer"}),(0,d.jsx)("div",{className:"dz-seg",children:[50,75,100].map(a=>(0,d.jsxs)("button",{className:ar===a?"on":"",onClick:()=>as(a),title:aa("design.toolbar.zoom",{pct:a}),children:[a,"%"]},a))}),(0,d.jsxs)("div",{className:"dz-seg",children:[(0,d.jsx)("button",{className:"desktop"===al&&null==an?"on":"",onClick:()=>{am("desktop"),ao(null)},title:aa("design.toolbar.desktop"),children:(0,d.jsx)(h.I,{name:"sidebarIcon",size:13})}),(0,d.jsx)("button",{className:"tablet"===al&&null==an?"on":"",onClick:()=>{am("tablet"),ao(null)},title:aa("design.toolbar.tabletTitle"),children:aa("design.toolbar.tablet")}),(0,d.jsx)("button",{className:"mobile"===al&&null==an?"on":"",onClick:()=>{am("mobile"),ao(null)},title:aa("design.toolbar.mobileTitle"),children:aa("design.toolbar.mobile")}),(0,d.jsx)("input",{className:"dz-bpw",type:"number",min:320,max:1920,placeholder:"px",value:an??"",title:aa("design.toolbar.customWidth"),onChange:a=>{let b=parseInt(a.target.value,10);ao(Number.isFinite(b)&&b>0?Math.max(320,Math.min(1920,b)):null)}})]}),(0,d.jsxs)("div",{className:"dz-seg",children:[(0,d.jsx)("button",{className:"dark"===av.theme?"on":"",onClick:()=>aw(a=>({...a,theme:"dark"})),title:aa("design.toolbar.dark"),children:(0,d.jsx)(h.I,{name:"moon",size:13})}),(0,d.jsx)("button",{className:"light"===av.theme?"on":"",onClick:()=>aw(a=>({...a,theme:"light"})),title:aa("design.toolbar.light"),children:(0,d.jsx)(h.I,{name:"sun",size:13})})]}),(0,d.jsxs)("div",{className:"dz-seg",title:aa("design.mode2.tip"),children:[(0,d.jsxs)("button",{className:ap?"":"on",onClick:()=>aq(!1),children:[(0,d.jsx)(h.I,{name:"grid",size:13})," ",aa("design.mode2.design")]}),(0,d.jsxs)("button",{className:ap?"on":"",onClick:()=>aq(!0),children:[(0,d.jsx)(h.I,{name:"play",size:13})," ",aa("design.mode2.live")]})]}),bc?(0,d.jsxs)("span",{className:"dz-save preview",title:aa("design.toolbar.previewOnlyTitle"),children:[(0,d.jsx)(h.I,{name:"play",size:12})," ",aa("design.toolbar.previewOnly")]}):"idle"!==bK&&(0,d.jsxs)("span",{className:"dz-save "+bK,title:"saving"===bK?aa("design.toolbar.savingTitle"):aa("design.toolbar.savedTitle"),children:[(0,d.jsx)(h.I,{name:"saving"===bK?"refresh":"check",size:12,className:"saving"===bK?"sync-spin":""})," ","saving"===bK?aa("design.toolbar.saving"):aa("design.toolbar.saved")]}),(0,d.jsxs)("button",{className:"dz-mini-btn",onClick:()=>aC(!0),children:[(0,d.jsx)(h.I,{name:"arrowDown",size:13})," ",aa("design.toolbar.export")]}),(0,d.jsxs)("button",{className:"dz-mini-btn accent",disabled:az,onClick:cp,title:b0?"Re-approve the current design as the official reference":void 0,children:[(0,d.jsx)(h.I,{name:"check",size:13})," ",b0?"Approve changes":aa("design.toolbar.approve")]})]}),b$.length>0&&(0,d.jsxs)("div",{className:"dz-pagestrip",children:[(0,d.jsx)("div",{className:"dz-ptabs",children:b$.slice(0,8).map(a=>(0,d.jsxs)("span",{className:"dz-ptab "+(b1===a?"active":""),onClick:()=>{aP(a),bf(null),bj(!1)},children:[(0,d.jsx)(h.I,{name:"grid",size:13})," ",Q(a)]},a))}),(0,d.jsxs)("span",{className:"dz-hint",children:[(0,d.jsx)(h.I,{name:O.find(a=>a.id===at).ic,size:12})," ","edit"===at?"Click to select \xb7 double-click to edit text (the design stays faithful to the mock — no move/resize/add)":"select"===at?"Click to select an element \xb7 switch to Edit to edit its text":aa("design.hint."+at)]})]}),(0,d.jsxs)("div",{className:"dz-canvas"+(b2?` has-screen ${b5?"framed":"desktop"}`:""),ref:bT,children:[ap&&(0,d.jsx)(K,{onAskGrace:a=>co(a),asking:a$}),b2?(0,d.jsxs)("div",{className:"dz-artwrap",style:{width:b6*b3,height:b7*b3},children:[(0,d.jsxs)("div",{className:"dz-art","data-viewport":al,style:{width:b6,height:b7,transform:`scale(${b3})`,transformOrigin:"top left"},children:[(0,d.jsx)("iframe",{ref:bS,title:aa("design.canvas.previewTitle"),sandbox:"allow-scripts",srcDoc:(G=aQ??"",H=`<script data-cstla-instrument>${C}</script>`,/<\/body>/i.test(G)?G.replace(/<\/body>/i,`${H}</body>`):G+H),onLoad:()=>{try{bS.current?.contentWindow?.postMessage({__cstlaHost:1,type:"canvas:setMode",mode:bU.current},"*")}catch{}let a=bW.current;try{let b,c;bS.current?.contentWindow?.postMessage({__cstlaHost:1,type:"canvas:applyTokens",tokens:{accent:a.accent,accentFg:a.accentFg||(b=a.accent.replace("#",""),c=parseInt(3===b.length?b.split("").map(a=>a+a).join(""):b,16),(.299*(c>>16&255)+.587*(c>>8&255)+.114*(255&c))/255>.6?"#15171c":"#ffffff"),secondary:a.secondary,surface:a.surface,success:a.success,warning:a.warning,danger:a.danger,font:a.font,headingFont:a.headingFont,fontWeight:a.fontWeight,lineHeight:a.lineHeight,letterSpacing:a.letterSpacing,radius:a.radius,borderWidth:a.borderWidth,borderColor:a.borderColor,shadow:a.shadow,space:a.density,containerWidth:a.containerWidth,motionMs:a.motionMs,ease:a.ease,fontScale:a.fontScale,theme:a.theme}},"*")}catch{}},style:{width:"100%",height:"100%",border:"none",background:"#fff",display:"block"}}),(0,d.jsxs)("div",{className:"dz-ovl",children:[a4&&"edit"===at&&(0,d.jsxs)(d.Fragment,{children:[a4.v.map((a,b)=>(0,d.jsx)("div",{className:"dz-guide v",style:{left:a-a6.scrollX}},"gv"+b)),a4.h.map((a,b)=>(0,d.jsx)("div",{className:"dz-guide h",style:{top:a-a6.scrollY}},"gh"+b))]}),a2&&cG&&!be&&"preview"!==at&&"markup"!==at&&"comments"!==at&&(0,d.jsx)("div",{className:"dz-hl",style:cG,children:(0,d.jsx)("span",{className:"tag",children:a2.label})}),"preview"!==at&&bg.map(a=>(0,d.jsx)("div",{className:"dz-selbox",style:ca(a.boundingBox)},a.cstlaId)),cD.map(a=>(0,d.jsx)("div",{className:"dz-mk",style:cb(W(a))},a.id)),bm&&(0,d.jsx)("div",{className:"dz-mk",style:cb({x:bm.xPct,y:bm.yPct,w:bm.wPct,h:bm.hPct})}),cC.map((a,b)=>(0,d.jsx)("div",{className:"dz-pin",style:cc(a.xp,a.yp),onClick:a=>{a.stopPropagation(),ag("comments")},children:b+1},a.id))]})]}),bi&&be&&cH&&"preview"!==at&&bg.length<=1&&(0,d.jsxs)("div",{className:"dz-ctx",style:{left:Math.max(6,cH.left*b3),top:Math.max(4,cH.top*b3-40)},onClick:a=>a.stopPropagation(),children:[(0,d.jsxs)("button",{className:"ask",onClick:()=>{bl(be),bj(!1),cm(aa("design.toast.elementAttached"))},children:[(0,d.jsx)(h.I,{name:"bot",size:13})," ",aa("design.ctx.askFront")]}),(0,d.jsx)("button",{onClick:()=>bj(!1),children:(0,d.jsx)(h.I,{name:"close",size:13})})]}),bo&&(0,d.jsxs)("div",{className:"dz-cpop",style:{left:Math.max(6,Math.min((I=cc(bo.xpPct,bo.ypPct)).left*b3,Math.max(6,b6*b3-226))),top:Math.max(6,Math.min(I.top*b3,Math.max(6,b7*b3-120)))},onClick:a=>a.stopPropagation(),children:[(0,d.jsx)("textarea",{rows:3,autoFocus:!0,placeholder:bo.markup?aa("design.cmt.markupPlaceholder"):aa("design.cmt.pointPlaceholder"),value:bq,onChange:a=>br(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.metaKey||a.ctrlKey)&&(a.preventDefault(),ct())}}),bo.markup?(0,d.jsxs)("div",{className:"row",style:{flexDirection:"column",alignItems:"stretch"},children:[(0,d.jsxs)("button",{className:"dz-mini-btn accent",style:{justifyContent:"center"},onClick:()=>ct(!0),children:[(0,d.jsx)(h.I,{name:"bot",size:12})," ",aa("design.cmt.markAskGrace")]}),(0,d.jsx)("button",{className:"dz-mini-btn",style:{justifyContent:"center"},onClick:()=>ct(!1),children:aa("design.cmt.markRegion")}),(0,d.jsx)("button",{className:"dz-mini-btn",style:{justifyContent:"center"},onClick:()=>{bp(null),br(""),bn(null)},children:aa("design.cmt.cancel")})]}):(0,d.jsxs)("div",{className:"row",children:[(0,d.jsx)("button",{className:"dz-mini-btn",onClick:()=>{bp(null),br(""),bn(null)},children:aa("design.cmt.cancel")}),(0,d.jsx)("button",{className:"dz-mini-btn accent",onClick:()=>ct(),children:aa("design.cmt.comment")})]})]}),cB&&(0,d.jsxs)("div",{className:"dz-build-bar",children:[(0,d.jsx)(h.I,{name:"skill",size:13})," ",aa("design.canvas.working")," ",(0,d.jsx)("span",{className:"sh"})]})]}):(0,d.jsx)("div",{className:"dz-emptywrap",children:aS?(0,d.jsxs)("div",{className:"dz-empty",children:[(0,d.jsx)("div",{className:"ic",children:(0,d.jsx)(h.I,{name:"error",size:22})}),(0,d.jsx)("div",{className:"t",children:aa("design.empty.loadErrTitle")}),(0,d.jsx)("div",{className:"s",children:aS})]}):0===b$.length&&b_.length>0?(0,d.jsxs)("div",{className:"dz-empty",children:[(0,d.jsx)("div",{className:"ic",children:(0,d.jsx)(h.I,{name:"doc",size:22})}),(0,d.jsx)("div",{className:"t",children:aa("design.empty.componentsTitle",{count:b_.length,plural:b_.length>1?"s":""})}),(0,d.jsx)("div",{className:"s",children:aa("design.empty.componentsBody")})]}):(0,d.jsxs)("div",{className:"dz-empty",children:[(0,d.jsx)("div",{className:"ic",children:(0,d.jsx)(h.I,{name:"grid",size:22})}),(0,d.jsx)("div",{className:"t",children:aa("design.empty.noPrototypeTitle")}),(0,d.jsxs)("div",{className:"s",children:[aa("design.empty.noPrototypePre")," ",(0,d.jsx)("span",{className:"mono",children:"design-mock/"}),". ",aa("design.empty.noPrototypePost")]})]})})]})]}),aj?(0,d.jsxs)("div",{className:"dz-rail",children:[(0,d.jsxs)("div",{className:"dz-rail-tabs",children:[cE.map(([a,b])=>(0,d.jsx)("div",{className:"dz-rt "+(cF===a?"active":""),onClick:()=>ag(a),children:b},a)),(0,d.jsx)("button",{className:"dz-collapse-btn",title:aa("design.rail.collapse"),onClick:()=>ak(!1),children:(0,d.jsx)(h.I,{name:"chevronRight",size:15})})]}),(0,d.jsxs)("div",{className:"dz-rail-body",children:["layers"===cF&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",children:aa("design.layers.title")}),b2?0===ba.length?(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)",lineHeight:1.5},children:aa("design.layers.reading")}):ba.map(a=>(0,d.jsxs)("div",{className:"dz-layer"+(be?.nodePath===a.path?" active":""),style:{paddingLeft:8+11*a.depth},onClick:()=>(function(a){try{bS.current?.contentWindow?.postMessage({__cstlaHost:1,type:"canvas:selectByPath",path:a},"*")}catch{}})(a.path),title:`<${a.tag}>`,children:[(0,d.jsx)(h.I,{name:a.kids>0?"grid":"dot",size:10}),(0,d.jsx)("span",{className:"lt",children:a.label}),(0,d.jsxs)("span",{className:"lg",children:[a.tag,a.kids>0?` \xb7 ${a.kids}`:""]})]},a.path)):(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)",lineHeight:1.5},children:aa("design.layers.openScreen")})]}),"screens"===cF&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",children:aa("design.screens.title")}),0===b$.length?(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)",lineHeight:1.5},children:aa("design.screens.empty")}):b$.map(a=>(0,d.jsxs)("div",{className:"dz-row "+(b1===a?"active":""),onClick:()=>{aP(a),bf(null),bj(!1)},children:[(0,d.jsx)("div",{className:"dz-r-ic",children:(0,d.jsx)(h.I,{name:"grid",size:14})}),(0,d.jsxs)("div",{style:{minWidth:0},children:[(0,d.jsx)("div",{className:"dz-r-t",children:Q(a)}),(0,d.jsx)("div",{className:"dz-r-s",children:a.replace(/^design-mock\//,"")})]}),b1===a&&(0,d.jsx)("span",{className:"dz-r-meta",children:aa("design.screens.active")})]},a)),(0,d.jsxs)("div",{className:"dz-addrow",onClick:()=>co("Build a new screen for the prototype."),children:[(0,d.jsx)(h.I,{name:"add",size:13})," ",aa("design.screens.newScreen")]}),b_.length>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",style:{marginTop:16},children:aa("design.screens.components",{count:b_.length})}),(0,d.jsx)("div",{className:"dz-comp-grid",children:b_.slice(0,8).map((a,b)=>(0,d.jsxs)("div",{className:"dz-comp",children:[(0,d.jsx)("div",{style:{height:30,borderRadius:7,background:b%2?P(av.accent,.16):"var(--bg-app)",border:"1px solid var(--border)",display:"grid",placeItems:"center",color:"var(--accent)",fontSize:12},children:"◧"}),(0,d.jsx)("div",{className:"nm",children:(a.split("/").pop()||a).replace(/\.[a-z]+$/i,"")})]},a))})]})]}),"docs"===cF&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",children:aa("design.docs.title")}),0===bC.length?(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)",lineHeight:1.5},children:aa("design.docs.empty")}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-docnav",children:bC.map(a=>(0,d.jsxs)("div",{className:"dz-doctab "+(bE===a.path?"active":""),onClick:()=>{var b;bF(b=a.path),bH(""),n(b).then(a=>{a.ok&&null!=a.body?bH(a.body):bH(aa("design.docs.readErr"))})},title:a.label,children:[(0,d.jsx)(h.I,{name:/APPROVED/i.test(a.path)?"check":"doc",size:12}),(0,d.jsx)("span",{children:a.label})]},a.path))}),(0,d.jsx)("div",{className:"dz-docbody md",children:bG?(0,d.jsx)(A.oz,{remarkPlugins:[B.A],children:bG}):(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)"},children:aa("design.docs.reading")})})]})]}),"styles"===cF&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",children:aa("design.styles.palette")}),(0,d.jsx)("div",{className:"dz-swatches",children:L.map(a=>(0,d.jsx)("span",{title:a.name,className:"dz-sw "+(av.accent===a.c?"on":""),style:{background:a.c},onClick:()=>ch({accent:a.c,accentName:a.name})},a.name))}),ci(aa("design.styles.accentCustom"),"accent"),ci(aa("design.styles.secondary"),"secondary"),ci(aa("design.styles.surface"),"surface"),(0,d.jsxs)("details",{className:"dz-adv",children:[(0,d.jsx)("summary",{children:aa("design.styles.semanticColors")}),ci(aa("design.styles.success"),"success","#10b981"),ci(aa("design.styles.warning"),"warning","#f59e0b"),ci(aa("design.styles.danger"),"danger","#ef4444"),ci(aa("design.styles.accentText"),"accentFg")]}),(0,d.jsx)("div",{className:"dz-sec",style:{marginTop:18},children:aa("design.styles.typography")}),(0,d.jsx)("div",{className:"dz-sub",children:aa("design.styles.bodyFont")}),(0,d.jsx)("div",{className:"dz-opt",children:M.map(a=>(0,d.jsx)("span",{className:"dz-pill2 "+(av.fontName===a.n?"on":""),onClick:()=>ch({font:a.s,fontName:a.n}),children:a.n},a.n))}),(0,d.jsx)("div",{className:"dz-sub",children:aa("design.styles.headingFont")}),(0,d.jsx)("div",{className:"dz-opt",children:M.map(a=>(0,d.jsx)("span",{className:"dz-pill2 "+(av.headingFontName===a.n?"on":""),onClick:()=>ch({headingFont:a.s,headingFontName:a.n}),children:a.n},a.n))}),cj(aa("design.styles.weight"),"fontWeight",300,800,100),cj(aa("design.styles.lineHeight"),"lineHeight",1,2,.05),cj(aa("design.styles.letterSpacing"),"letterSpacing",-1,4,.1,"px"),(0,d.jsx)("div",{className:"dz-sub",children:aa("design.styles.textSize")}),(0,d.jsx)("div",{className:"dz-opt",children:[[aa("design.styles.sizeSmall"),.9],[aa("design.styles.sizeDefault"),1],[aa("design.styles.sizeLarge"),1.15]].map(([a,b])=>(0,d.jsx)("span",{className:"dz-pill2 "+(av.fontScale===b?"on":""),onClick:()=>ch({fontScale:b}),children:a},a))}),(0,d.jsx)("div",{className:"dz-sec",style:{marginTop:18},children:aa("design.styles.shapeDepth")}),(0,d.jsx)("div",{className:"dz-opt",children:N.map(a=>(0,d.jsx)("span",{className:"dz-pill2 "+(av.radius===a.r?"on":""),onClick:()=>ch({radius:a.r}),children:aa("design.styles.radius"+a.n)},a.n))}),cj(aa("design.styles.radius"),"radius",0,32,1,"px"),cj(aa("design.styles.borderWidth"),"borderWidth",0,4,1,"px"),ci(aa("design.styles.borderColor"),"borderColor"),(0,d.jsx)("div",{className:"dz-sub",children:aa("design.styles.shadow")}),(0,d.jsx)("div",{className:"dz-opt",children:["none","sm","md","lg"].map(a=>(0,d.jsx)("span",{className:"dz-pill2 "+(av.shadow===a?"on":""),onClick:()=>ch({shadow:a}),children:"none"===a?aa("design.styles.shadowNone"):a.toUpperCase()},a))}),(0,d.jsx)("div",{className:"dz-sec",style:{marginTop:18},children:aa("design.styles.theme")}),(0,d.jsxs)("div",{className:"dz-opt",children:[(0,d.jsx)("span",{className:"dz-pill2 "+("dark"===av.theme?"on":""),onClick:()=>ch({theme:"dark"}),children:aa("design.styles.dark")}),(0,d.jsx)("span",{className:"dz-pill2 "+("light"===av.theme?"on":""),onClick:()=>ch({theme:"light"}),children:aa("design.styles.light")})]}),(0,d.jsx)("div",{className:"dz-sec",style:{marginTop:18},children:aa("design.styles.spacingLayoutMotion")}),(0,d.jsx)("div",{className:"dz-opt",children:[[aa("design.styles.densityCompact"),8],[aa("design.styles.densityCozy"),12],[aa("design.styles.densityComfy"),16]].map(([a,b])=>(0,d.jsx)("span",{className:"dz-pill2 "+(av.density===b?"on":""),onClick:()=>ch({density:b}),children:a},a))}),cj(aa("design.styles.density"),"density",4,28,1,"px"),cj(aa("design.styles.containerWidth"),"containerWidth",880,1600,20,"px"),cj(aa("design.styles.motionSpeed"),"motionMs",0,600,20,"ms"),(0,d.jsx)("div",{className:"dz-sub",children:aa("design.styles.easing")}),(0,d.jsx)("div",{className:"dz-opt",children:[[aa("design.styles.easeEase"),"ease"],[aa("design.styles.easeInOut"),"ease-in-out"],[aa("design.styles.easeLinear"),"linear"],[aa("design.styles.easeSmooth"),"cubic-bezier(.4,0,.2,1)"]].map(([a,b])=>(0,d.jsx)("span",{className:"dz-pill2 "+(av.ease===b?"on":""),onClick:()=>ch({ease:b}),children:a},a))}),(0,d.jsx)("div",{className:"dz-sec",style:{marginTop:18},children:aa("design.styles.spacingScale")}),(0,d.jsx)("div",{style:{display:"flex",gap:5,alignItems:"flex-end"},children:[.5,1,1.5,2,3,4].map(a=>{let b=Math.round(av.density*a);return(0,d.jsxs)("div",{style:{textAlign:"center"},children:[(0,d.jsx)("div",{style:{width:20,height:Math.max(3,b),background:P(av.accent,.5),borderRadius:3}}),(0,d.jsx)("div",{style:{fontSize:9,color:"var(--text-faint)",marginTop:3},children:b})]},a)})}),(0,d.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:16,gap:8},children:[(0,d.jsx)("span",{style:{fontSize:10.5,color:"var(--text-faint)"},children:aa("design.styles.restyleNote")}),(0,d.jsx)("button",{className:"dz-mini-btn",onClick:()=>ch(U),children:aa("design.styles.reset")})]})]}),"comments"===cF&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",children:aa("design.comments.title")}),0===cC.length&&(0,d.jsxs)("div",{style:{fontSize:11.5,color:"var(--text-dim)",lineHeight:1.5},children:[aa("design.comments.emptyPre")," ",(0,d.jsx)("b",{children:aa("design.comments.emptyTool")})," ",aa("design.comments.emptyPost")]}),cC.map((a,b)=>(0,d.jsxs)("div",{className:"dz-cmt",children:[(0,d.jsxs)("div",{className:"h",children:[(0,d.jsx)("span",{className:"pin",children:b+1})," ",aa("design.comments.comment")," ",(0,d.jsx)("span",{className:"x",onClick:()=>{x(a.id).then(()=>bJ(a=>a+1))},children:(0,d.jsx)(h.I,{name:"trash",size:12})})]}),(0,d.jsx)("div",{className:"bd",children:a.body}),a.reply?(0,d.jsxs)("div",{className:"rep",children:[(0,d.jsx)(h.I,{name:"bot",size:12})," ",a.reply]}):(0,d.jsxs)("button",{className:"dz-mini-btn",onClick:()=>{a_(!0);let b=a.selection&&"object"==typeof a.selection&&a.selection.componentName?a.selection:void 0;m(`Apply this canvas comment on screen ${b1}${b?` (it is pinned on the ${b.componentName} element)`:""}: "${a.body}"`,void 0,b)},children:[(0,d.jsx)(h.I,{name:"bot",size:12})," ",aa("design.comments.askGrace")]})]},a.id)),cD.length>0&&(0,d.jsx)("div",{className:"dz-sec",style:{marginTop:14},children:aa("design.comments.markedRegions",{count:cD.length})}),cD.map((a,b)=>{let c=a.body&&"(region marked for review)"!==a.body?a.body:"";return(0,d.jsxs)("div",{className:"dz-cmt",children:[(0,d.jsxs)("div",{className:"h",children:[(0,d.jsxs)("span",{className:"pin",children:["M",b+1]})," ",aa("design.comments.region")," ",(0,d.jsx)("span",{className:"x",onClick:()=>{x(a.id).then(()=>bJ(a=>a+1))},children:(0,d.jsx)(h.I,{name:"trash",size:12})})]}),c&&(0,d.jsx)("div",{className:"bd",children:c}),a.reply?(0,d.jsxs)("div",{className:"rep",children:[(0,d.jsx)(h.I,{name:"bot",size:12})," ",a.reply]}):(0,d.jsxs)("button",{className:"dz-mini-btn",onClick:()=>{a_(!0);let b=X(W(a));m(`On screen ${b1}, I marked a region for review (${b}).${c?` My note: "${c}"`:" Please review and refine it."} Update the screen accordingly.`)},children:[(0,d.jsx)(h.I,{name:"bot",size:12})," ",aa("design.comments.askGrace")]})]},a.id)})]}),"history"===cF&&(J=bP.current.get(b1),Z=J?.pos??-1,$=J?J.labels.map((a,b)=>({lab:a,i:b})):[],(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",children:J&&J.stack.length>1?aa("design.history.pos",{pos:Z+1,total:J.stack.length}):aa("design.history.title")}),b2?$.length<=1?(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)",lineHeight:1.5},children:aa("design.history.noEdits")}):(0,d.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:$.slice().reverse().map(({lab:a,i:b})=>(0,d.jsxs)("div",{onClick:()=>{let a,c;return a=bV.current,void((c=bP.current.get(a))&&!(b<0)&&!(b>=c.stack.length)&&b!==c.pos&&(c.pos=b,ck(a,c)))},style:{display:"flex",alignItems:"center",gap:8,padding:"7px 9px",borderRadius:8,cursor:"pointer",fontSize:12,background:b===Z?"rgba(224,164,78,.12)":"transparent",color:b===Z?"var(--accent)":"var(--text-dim)",border:"1px solid "+(b===Z?"var(--accent)":"transparent")},children:[(0,d.jsx)("span",{style:{fontVariantNumeric:"tabular-nums",opacity:.6,minWidth:16,textAlign:"right"},children:0===b?"•":b}),(0,d.jsx)("span",{style:{flex:1,fontWeight:b===Z?700:500},children:a||aa("design.history.edited")}),b===Z&&(0,d.jsx)("span",{style:{fontSize:10,fontWeight:700},children:aa("design.history.current")})]},b))}):(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)"},children:aa("design.history.openScreen")})]})),"versions"===cF&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",children:aa("design.versions.title")}),0===bu.length?(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)",lineHeight:1.5},children:aa("design.versions.empty")}):bu.map(a=>(0,d.jsxs)("div",{className:"dz-vnode"+(bw===a.id?" active":""),onClick:()=>bx(bw===a.id?null:a.id),title:aa("design.versions.revertHint"),children:[(0,d.jsxs)("div",{className:"vt",children:[a.label," ",(0,d.jsx)("span",{className:"dz-tag",children:aa("design.versions.files",{count:a.files.length,plural:1===a.files.length?"":"s"})})]}),(0,d.jsx)("div",{className:"vs",children:a.note}),(0,d.jsx)("div",{className:"vtime",children:function(a,b){let c=Math.max(0,Math.round((new Date().getTime()-a)/1e3));if(c<60)return b("design.time.justNow");let d=Math.round(c/60);if(d<60)return b("design.time.minAgo",{n:d});let e=Math.round(d/60);return e<24?b("design.time.hAgo",{n:e}):b("design.time.dAgo",{n:Math.round(e/24)})}(a.createdAt,aa)}),bw===a.id&&(0,d.jsxs)("div",{className:"dz-addrow",style:{marginTop:8,padding:"6px"},onClick:b=>{b.stopPropagation(),a.restorable?y(a.id).then(async b=>{if(!b.ok)return void cm(b.error||aa("design.toast.restoreFailed"));let c=bV.current;bM.current=!1,bN.current="",bP.current.delete(c),bR(a=>a+1);let d=await l(c);d.ok&&null!=d.html&&(aR(d.html),bf(null)),cm(aa("design.toast.restored",{label:a.label}))}):(a_(!0),z(a.label,a.note)),bx(null)},children:[(0,d.jsx)(h.I,{name:"refresh",size:12})," ",aa("design.versions.revertTo",{label:a.label})]})]},a.id))]})]})]}):(0,d.jsxs)("div",{className:"dz-strip right",onClick:()=>ak(!0),title:aa("design.rail.expand"),children:[(0,d.jsx)(h.I,{name:"chevronLeft",size:16}),(0,d.jsx)(h.I,{name:"sidebarIcon",size:16})]}),aB&&(0,d.jsx)("div",{className:"dz-modal-bg",onClick:()=>aC(!1),children:(0,d.jsxs)("div",{className:"dz-modal",onClick:a=>a.stopPropagation(),children:[(0,d.jsxs)("div",{className:"dz-modal-h",children:[(0,d.jsx)("div",{className:"ic",children:(0,d.jsx)(h.I,{name:"arrowDown",size:17})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"t",children:aa("design.export.title")}),(0,d.jsx)("div",{className:"s",children:aa("design.export.sub")})]}),(0,d.jsx)("div",{className:"x",onClick:()=>aC(!1),children:(0,d.jsx)(h.I,{name:"close",size:16})})]}),(0,d.jsx)("div",{className:"dz-modal-b",children:[[aa("design.export.row.screens"),String(b$.length)],[aa("design.export.row.comments"),String(bs.filter(a=>!V(a)).length)],[aa("design.export.row.versions"),String(bu.length)],[aa("design.export.row.tokens"),aa("design.export.row.tokensVal")],[aa("design.export.row.approvedMd"),""],[aa("design.export.row.kbRag"),""],[aa("design.export.row.adaNotified"),""],[aa("design.export.row.planner"),""]].map(a=>(0,d.jsxs)("div",{className:"dz-dl",children:[(0,d.jsx)("span",{className:"ck",children:(0,d.jsx)(h.I,{name:"check",size:11})}),a[0],a[1]&&(0,d.jsx)("span",{className:"n",children:a[1]})]},a[0]))}),(0,d.jsxs)("div",{className:"dz-modal-f",children:[(0,d.jsx)("span",{className:"note",children:aa("design.export.note")}),(0,d.jsx)("div",{className:"dz-spacer"}),(0,d.jsxs)("button",{className:"dz-mini-btn",disabled:az,onClick:cs,children:[(0,d.jsx)(h.I,{name:"cpu",size:13})," ",aa("design.export.buildProd")]}),(0,d.jsx)("button",{className:"dz-mini-btn",onClick:()=>aC(!1),children:aa("design.export.close")}),(0,d.jsxs)("button",{className:"dz-mini-btn accent",disabled:az||b0,onClick:()=>{aC(!1),cp()},children:[(0,d.jsx)(h.I,{name:"check",size:13})," ",aa("design.export.approveDesign")]})]})]})}),aD&&(0,d.jsx)("div",{className:"dz-flash",children:aD})]})}function Z(a){return(0,d.jsx)(Y,{grace:a.grace,context:a.context,status:a.status,tokens:a.tokens})}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[3050,658,9676,1845,7971,8762,4616,6719,3266,4832,1572,3131,8623,5060,3234,3078,6873,259,104],()=>b(b.s=21308));module.exports=c})();
344
+ })();`;var D=c(36549),E=c(1262),F=c(26945);c(67463),c(32367);var G=c(67919);let H=(0,k.createServerReference)("006d073b0c6542ef6eb5bdce823ce839aa00eb00ce",k.callServer,void 0,k.findSourceMapURL,"stopLiveInspectAction"),I=(0,k.createServerReference)("000b3acc60b4d2b8a70e8d2d829b9aacc71ab61f76",k.callServer,void 0,k.findSourceMapURL,"startLiveInspectAction"),J=[{id:"desktop",w:"100%",label:"Desktop"},{id:"tablet",w:"768px",label:"Tablet"},{id:"mobile",w:"390px",label:"Mobile"}];function K({onAskGrace:a,asking:b}){let[c,f]=(0,e.useState)({running:!1,status:"idle",logs:[]}),[g,i]=(0,e.useTransition)(),[j,k]=(0,e.useState)(""),[l,m]=(0,e.useState)(""),[n,o]=(0,e.useState)(0),[p,q]=(0,e.useState)("desktop"),[r,s]=(0,e.useState)(!0),[t,u]=(0,e.useState)(""),[v,w]=(0,e.useState)(!1),[x,y]=(0,e.useState)(""),[z,A]=(0,e.useTransition)(),[B,C]=(0,e.useState)(""),[D,E]=(0,e.useState)(null),F=(0,e.useRef)(null),L=c.url??"",M="running"===c.status&&!!L,N=J.find(a=>a.id===p)?.w??"100%",O=(v&&x?x:l)||L;return(0,d.jsxs)("div",{style:{position:"absolute",inset:0,zIndex:40,display:"flex",flexDirection:"column",background:"var(--bg-app)"},children:[(0,d.jsxs)("div",{className:"dz-live-bar",children:[(0,d.jsx)("span",{className:"dz-live-dot "+(M?"on":"error"===c.status?"err":"")}),(0,d.jsx)("button",{className:"dz-ico",title:"Reload",disabled:!M,onClick:()=>o(a=>a+1),children:(0,d.jsx)(h.I,{name:"refresh",size:14})}),(0,d.jsxs)("form",{className:"dz-live-addr",onSubmit:function(a){let b;a?.preventDefault();let c=(b=j.trim())?/^https?:\/\//i.test(b)?b:L.replace(/\/$/,"")+(b.startsWith("/")?b:"/"+b):L;m(c),k(c),o(a=>a+1)},children:[(0,d.jsx)(h.I,{name:M?"shield":"goto",size:12}),(0,d.jsx)("input",{value:j,placeholder:L||"the app isn't running yet",disabled:!M||v,onChange:a=>k(a.target.value),spellCheck:!1})]}),(0,d.jsx)("button",{className:"dz-ico"+(v?" on":""),title:v?"Inspecting — click an element to target it (click again to turn off)":"Inspect: click a real element to ask Grace to change it",disabled:!M||z,onClick:function(){if(C(""),v){w(!1),E(null),o(a=>a+1),H().catch(()=>{});return}A(async()=>{try{let a=await I();if(!a.ok||!a.url)return void C(a.error||"Couldn't start inspect.");y(a.url),w(!0),E(null),o(a=>a+1)}catch{C("Couldn't start inspect.")}})},children:(0,d.jsx)(h.I,{name:z?"refresh":"target",size:14,className:z?"sync-spin":""})}),(0,d.jsx)("div",{className:"dz-seg",children:J.map(a=>(0,d.jsx)("button",{className:p===a.id?"on":"",disabled:!M,onClick:()=>q(a.id),children:a.label},a.id))}),M&&(0,d.jsx)("a",{className:"dz-ico",title:"Open in a new tab",href:l,target:"_blank",rel:"noreferrer",children:(0,d.jsx)(h.I,{name:"goto",size:14})})]}),B&&(0,d.jsx)("div",{className:"dz-uperr",style:{margin:"0 10px"},children:B}),(0,d.jsx)("div",{className:"dz-live-stage",children:M&&!r?(0,d.jsxs)("div",{className:"dz-live-empty",children:[(0,d.jsx)(h.I,{name:"shield",size:26}),(0,d.jsx)("div",{className:"t",children:"The app blocks embedding"}),(0,d.jsx)("div",{className:"s",children:"It sends X-Frame-Options / CSP that prevents the preview frame."}),(0,d.jsxs)("a",{className:"btn-accent",style:{marginTop:10},href:l,target:"_blank",rel:"noreferrer",children:[(0,d.jsx)(h.I,{name:"goto",size:13})," Open in a new tab"]})]}):M?(0,d.jsx)("iframe",{ref:F,className:"dz-live-frame",src:O,style:{width:N,maxWidth:"100%"},title:"Live app preview",onLoad:()=>{try{F.current?.contentWindow?.postMessage({__cstlaLiveHost:1,type:"live:setMode",mode:v?"inspect":"off"},"*")}catch{}},sandbox:"allow-scripts allow-same-origin allow-forms allow-popups allow-modals allow-downloads"},O+":"+n):(0,d.jsxs)("div",{className:"dz-live-empty",children:[(0,d.jsx)("span",{className:g||"starting"===c.status?"sync-spin":"",children:(0,d.jsx)(h.I,{name:g||"starting"===c.status?"refresh":"play",size:26})}),(0,d.jsx)("div",{className:"t",children:"error"===c.status?"The dev server failed to start":g||"starting"===c.status?"Starting the dev server…":"Run the real app"}),(0,d.jsx)("div",{className:"s",children:"error"===c.status?"Check the project boots (Test Dev shows the logs).":"Boot the project's dev server to see the real running app here — any stack."}),"running"!==c.status&&"starting"!==c.status&&!g&&(0,d.jsxs)("button",{className:"btn-accent",style:{marginTop:10},onClick:function(){i(async()=>{try{let a=await (0,G.R)();f(a)}catch{}})},children:[(0,d.jsx)(h.I,{name:"play",size:13})," Start the app"]})]})}),D&&(0,d.jsxs)("div",{className:"dz-attach",style:{margin:"0 10px 6px"},children:[(0,d.jsx)("span",{className:"sw",style:{background:"#6366f1"}})," Editing ",(0,d.jsxs)("b",{style:{fontWeight:700},children:["<",D.tag,">",D.id?" #"+D.id:""]}),D.text?` \xb7 “${D.text.slice(0,40)}”`:"",(0,d.jsx)("span",{className:"x",onClick:()=>E(null),children:(0,d.jsx)(h.I,{name:"close",size:12})})]}),(0,d.jsxs)("form",{className:"dz-live-ask",onSubmit:function(c){c?.preventDefault();let d=t.trim();if(d&&!b){if(D){let b=[`<${D.tag}>`,D.id?`#${D.id}`:"",D.text?`text "${D.text}"`:"",D.landmark?`in "${D.landmark}"`:"",`selector \`${D.selector}\``,`on route ${D.path}`].filter(Boolean).join(" \xb7 ");a(`On the live app, change THIS element (${b}) — edit the real source, keep everything else intact: ${d}`)}else a(`On the live app: ${d}`);u(""),E(null)}},children:[(0,d.jsx)(h.I,{name:"skill",size:14}),(0,d.jsx)("input",{value:t,placeholder:D?"Describe the change to this element — Grace edits the real source…":"Ask Grace to change the live app — she edits the real source (HMR repaints it)…",onChange:a=>u(a.target.value),disabled:b}),(0,d.jsxs)("button",{className:"dz-mini-btn accent",disabled:b||!t.trim(),type:"submit",children:[(0,d.jsx)(h.I,{name:b?"refresh":"send",size:13,className:b?"sync-spin":""})," Ask Grace"]})]})]})}let L=[{name:"Indigo",c:"#6366f1"},{name:"Violet",c:"#8b5cf6"},{name:"Blue",c:"#3b82f6"},{name:"Sky",c:"#0ea5e9"},{name:"Cyan",c:"#06b6d4"},{name:"Teal",c:"#14b8a6"},{name:"Emerald",c:"#10b981"},{name:"Lime",c:"#84cc16"},{name:"Amber",c:"#f59e0b"},{name:"Orange",c:"#f97316"},{name:"Rose",c:"#f43f5e"},{name:"Pink",c:"#ec4899"}],M=[{n:"Inter",s:"'Inter',system-ui,sans-serif"},{n:"IBM Plex",s:"'IBM Plex Sans',sans-serif"},{n:"Geist",s:"'Geist','Inter',ui-sans-serif,sans-serif"},{n:"System",s:"system-ui,-apple-system,Segoe UI,sans-serif"},{n:"Serif",s:"Georgia,'Times New Roman',serif"},{n:"Mono",s:"ui-monospace,'SF Mono',Menlo,monospace"},{n:"Display",s:"'Poppins','Inter',system-ui,sans-serif"}],N=[{n:"Sharp",r:6},{n:"Soft",r:16},{n:"Round",r:26}],O=[{id:"select",ic:"target"},{id:"edit",ic:"newFile"},{id:"markup",ic:"skill"},{id:"comments",ic:"chat"},{id:"inspect",ic:"search"},{id:"preview",ic:"play"}];function P(a,b){let c=parseInt(a.replace("#",""),16);return`rgba(${c>>16&255},${c>>8&255},${255&c},${b})`}function Q(a){return(a.split("/").pop()||a).replace(/\.html?$/i,"")}let R=/\b(remov(i|ido|eu|idos)|adicion(ei|ado|ou|ados)|cri(ei|ado|ou|ados)|corrig(i|ido|iu)|ajust(ei|ado|ou)|atualiz(ei|ado|ou)|mud(ei|ado|ou)|delet(ei|ado|ou)|limp(ei|ado|ou)|troqu(ei)|troc(ado|ou)|inseri|inserido|fiz|feit[oa]s?|pront[oa]s?|conclu(i|í|ido|ída)|finaliz(ei|ado|ou)|implement(ei|ado|ou)|ger(ei|ado|ou)|salv(ei|o|ado)|apliqu(ei)|aplic(ado|ou)|added|removed|deleted|created|fixed|updated|changed|cleaned|adjusted|renamed|moved|made|done|ready|here'?s|i'?ve|i\s+have|i\s+just|i\s+made)\b/i,S=[["design.sugg.adjustPalette","Adjust the color palette"],["design.sugg.improveSpacing","Improve the spacing"],["design.sugg.mobileVersion","Create a mobile version"],["design.sugg.darkTheme","Try a dark theme"],["design.sugg.addSection","Add a section"],["design.sugg.newScreen","Create a new screen"],["design.sugg.visualDocs","Generate the visual docs"],["design.sugg.askReview","Ask Grace for a review"],["design.sugg.approve","Approve design"],["design.sugg.sendExec","Send to execution"]],T=[["design.sugg.firstScreen","Build the first screen"],["design.sugg.proposePalette","Propose a color palette"],["design.sugg.defineTypography","Define the typography"],["design.sugg.mainFlow","Design the main flow"],["design.sugg.heroSection","Add a hero section"],["design.sugg.mobileVersion","Create a mobile version"]],U={accent:"#6366f1",accentName:"Indigo",accentFg:"",secondary:"",surface:"",success:"",warning:"",danger:"",theme:"dark",font:M[0].s,fontName:"Inter",headingFont:M[0].s,headingFontName:"Inter",fontWeight:400,lineHeight:1.5,letterSpacing:0,fontScale:1,radius:16,borderWidth:1,borderColor:"",shadow:"md",density:12,containerWidth:1200,motionMs:200,ease:"ease"};function V(a){return!!(a.selection&&"object"==typeof a.selection&&"markup"===a.selection.kind)}function W(a){return a.selection.rect}function X(a){let b=a.x+a.w/2,c=a.y+a.h/2;return`${c<33?"top":c<66?"middle":"bottom"}-${b<33?"left":b<66?"center":"right"} area, roughly ${Math.round(a.w)}%\xd7${Math.round(a.h)}% of the page`}function Y({grace:a,context:b,status:c,tokens:k}){var G;let H,I,J,Z,$,_=(0,f.useRouter)(),aa=(0,g.k)(),[ab,ac]=(0,e.useState)("approved"===c||b.approved?"approved":"building"),[ad,ae]=(0,e.useState)(!1),[af,ag]=(0,e.useState)("screens"),[ah,ai]=(0,e.useState)(!0),[aj,ak]=(0,e.useState)(!0),[al,am]=(0,e.useState)("desktop"),[an,ao]=(0,e.useState)(null),[ap,aq]=(0,e.useState)(!1),[ar,as]=(0,e.useState)(100),[at,au]=(0,e.useState)("select"),[av,aw]=(0,e.useState)({...U,...k??{}}),[ax,ay]=(0,e.useState)(""),[az,aA]=(0,e.useState)(!1),[aB,aC]=(0,e.useState)(!1),[aD,aE]=(0,e.useState)(""),[aF,aG]=(0,e.useState)([]),[aH,aI]=(0,e.useState)(!1),[aJ,aK]=(0,e.useState)(!1),[aL,aM]=(0,e.useState)(""),aN=(0,e.useRef)(null);(0,e.useRef)(!0);let[aO,aP]=(0,e.useState)(""),[aQ,aR]=(0,e.useState)(null),[aS,aT]=(0,e.useState)(""),[aU,aV]=(0,e.useState)([]),[aW,aX]=(0,e.useState)([]),[aY,aZ]=(0,e.useState)(!0),[a$,a_]=(0,e.useState)(!1);(0,e.useRef)(0),(0,e.useRef)(0),(0,e.useRef)(null);let[a0,a1]=(0,e.useState)([]),[a2,a3]=(0,e.useState)(null),[a4,a5]=(0,e.useState)(null),[a6,a7]=(0,e.useState)({scrollX:0,scrollY:0,viewportW:980,viewportH:560,docW:980,docH:560}),[a8,a9]=(0,e.useState)({w:1200,h:700}),[ba,bb]=(0,e.useState)([]),[bc,bd]=(0,e.useState)(!1);(0,e.useRef)(!1);let[be,bf]=(0,e.useState)(null),[bg,bh]=(0,e.useState)([]);(0,e.useRef)([]);let[bi,bj]=(0,e.useState)(!1),[bk,bl]=(0,e.useState)(null),[bm,bn]=(0,e.useState)(null),[bo,bp]=(0,e.useState)(null),[bq,br]=(0,e.useState)(""),[bs,bt]=(0,e.useState)([]),[bu,bv]=(0,e.useState)([]),[bw,bx]=(0,e.useState)(null),[by,bz]=(0,e.useState)(null),[bA,bB]=(0,e.useState)(!1),[bC,bD]=(0,e.useState)([]),[bE,bF]=(0,e.useState)(null),[bG,bH]=(0,e.useState)(""),[bI,bJ]=(0,e.useState)(0),[bK,bL]=(0,e.useState)("idle"),bM=(0,e.useRef)(!1),bN=(0,e.useRef)(""),bO=(0,e.useRef)(null),bP=(0,e.useRef)(new Map),[bQ,bR]=(0,e.useState)(0),bS=(0,e.useRef)(null),bT=(0,e.useRef)(null);(0,e.useRef)("");let bU=(0,e.useRef)(at),bV=(0,e.useRef)(""),bW=(0,e.useRef)(av),bX=(0,e.useRef)([]);(0,e.useRef)(null);let bY=(0,e.useRef)(!1),bZ=(0,e.useRef)(!1),b$=Array.from(new Set([...b.designMockFiles.filter(a=>/\.html?$/i.test(a)),...a0]));bX.current=b$;let b_=b.designMockFiles.filter(a=>a.startsWith("design-mock/components/")),b0="approved"===ab,b1=aO&&b$.includes(aO)?aO:b$[0]??"";bV.current=b1,bY.current=b0,bZ.current=a$,bU.current=at,bW.current=av;let b2=b$.length>0&&null!=aQ&&!aS,b3=ar/100,b4=null!=an?{w:Math.max(320,Math.min(1920,an)),h:Math.max(560,Math.round(1.5*Math.max(320,Math.min(1920,an))))}:"tablet"===al?{w:768,h:1024}:"mobile"===al?{w:390,h:844}:null,b5=null!=b4,b6=b5?b4.w:Math.max(1,a8.w/b3),b7=b5?b4.h:Math.max(1,a8.h/b3),b8=Math.max(1,a6.docW||a6.viewportW||1),b9=Math.max(1,a6.docH||a6.viewportH||1),ca=a=>({left:a.x-a6.scrollX,top:a.y-a6.scrollY,width:a.w,height:a.h}),cb=a=>({left:a.x/100*b8-a6.scrollX,top:a.y/100*b9-a6.scrollY,width:a.w/100*b8,height:a.h/100*b9}),cc=(a,b)=>({left:a/100*b8-a6.scrollX,top:b/100*b9-a6.scrollY}),{canUndo:cd,canRedo:ce}=(0,e.useMemo)(()=>{let a=bP.current.get(b1);return{canUndo:!!a&&a.pos>0,canRedo:!!a&&a.pos<a.stack.length-1}},[bQ,b1]);(0,e.useEffect)(()=>{if(!b1)return void aR(null);if(bM.current&&b1===bN.current)return;bM.current&&(bM.current=!1,bN.current="",bL("idle")),a7(a=>({...a,scrollX:0,scrollY:0}));let a=!0;return aT(""),l(b1).then(b=>{a&&(b.ok&&null!=b.html?aR(b.html):(aR(null),aT(b.error||aa("design.toast.screenLoadFail"))))}),()=>{a=!1}},[b$.join("|"),b1]);let cf=async()=>{try{let a=await (0,D.p)("design");if(a.used>=a.max&&!bA){bB(!0);try{await (0,E.L)("design"),a=await (0,D.p)("design")}finally{bB(!1)}}bz(a)}catch{}};async function cg(){if(!bA){bB(!0);try{await (0,E.L)("design"),await cf()}finally{bB(!1)}}}(0,e.useRef)(!1);let ch=a=>aw(b=>({...b,...a}));function ci(a,b,c=""){let e=String(av[b]??"");return(0,d.jsxs)("div",{className:"dz-trow",children:[(0,d.jsx)("label",{children:a}),(0,d.jsxs)("div",{className:"dz-colorrow",children:[(0,d.jsx)("input",{type:"color",value:e||c||"#888888",onChange:a=>ch({[b]:a.target.value})}),(0,d.jsx)("input",{type:"text",value:e,placeholder:c||aa("design.styles.auto"),spellCheck:!1,onChange:a=>ch({[b]:a.target.value})})]})]},String(b))}function cj(a,b,c,e,f,g=""){let h=Number(av[b]??0);return(0,d.jsxs)("div",{className:"dz-trow",children:[(0,d.jsxs)("label",{children:[a,(0,d.jsxs)("span",{className:"v",children:[h,g]})]}),(0,d.jsx)("input",{type:"range",min:c,max:e,step:f,value:h,onChange:a=>ch({[b]:Number(a.target.value)})})]},String(b))}function ck(a,b){let c=b.stack[b.pos];bf(null),bj(!1),bM.current=!0,bN.current=a,bL("saving"),bO.current&&(clearTimeout(bO.current),bO.current=null);try{bS.current?.contentWindow?.postMessage({__cstlaHost:1,type:"canvas:setBody",html:c},"*")}catch{}p(a,c).then(()=>{bL("saved"),bJ(a=>a+1),bO.current&&clearTimeout(bO.current),bO.current=setTimeout(()=>{bM.current=!1,bN.current="",bL("idle"),bO.current=null},1400)}),bR(a=>a+1)}async function cl(){let a=bV.current;if(!a||!b2)return;aA(!0);let b=await q(a);aA(!1),b.ok?(cm(aa("design.toast.savedCheckpoint",{label:b.label??""})),bJ(a=>a+1)):cm(b.error||aa("design.toast.couldNotSaveCheckpoint"))}function cm(a){aE(a),setTimeout(()=>aE(b=>b===a?"":b),2400)}async function cn(a){if(!a)return;let b=Array.from(a).filter(a=>a instanceof File);if(!b.length)return;aM("");let c=b.slice(0,Math.max(0,6-aF.length));if(!c.length)return void aM(aa("design.toast.upTo6"));let d=new FormData;for(let a of c)d.append("files",a);aK(!0);try{let a=await fetch("/api/upload",{method:"POST",body:d}),b=await a.json();if(!a.ok||!b.ok)return void aM(b.error||aa("design.toast.uploadFailed"));aG(a=>[...a,...b.attachments].slice(0,6))}catch{aM(aa("design.toast.uploadFailed"))}finally{aK(!1),aN.current&&(aN.current.value="")}}function co(a){let b=(a??ax).trim();if(!b&&!aF.length&&!bk||a$)return;a_(!0);let c=aF.slice();ay(""),aG([]),aM(""),bl(null),m(b||(bk?"Adjust this element.":"Use the attached image(s) as the visual reference."),c,bk??void 0).then(a=>{a.ok||(cm(a.error||aa("design.toast.couldNotStart")),a_(!1))})}async function cp(){aA(!0);let a=await r();(aA(!1),a.ok)?(ac("approved"),cm(aa("design.toast.designApproved")),_.refresh()):cm(a.error||aa("design.toast.approveFailed"))}async function cq(){aA(!0);let a=await s();(aA(!1),a.ok)?(ac("approved"),ae(!1),a_(!0),ag("docs"),cm(aa("design.toast.sentToExec"))):cm(a.error||aa("design.toast.couldNotSendExec"))}async function cr(){aA(!0);let a=await t();(aA(!1),a.ok)?(a_(!0),ag("docs"),cm("Resuming handoff — Grace is finishing the documentation, then Ada plans it.")):cm(a.error||"Couldn't resume the handoff.")}async function cs(){aA(!0);let a=await u();if(aA(!1),!a.ok)return void cm(a.error||aa("design.toast.buildFailed"));let b=a.built.reduce((a,b)=>a+b.before,0),c=a.built.reduce((a,b)=>a+b.after,0),d=b?Math.round((1-c/b)*100):0,e=a.built.filter(a=>a.obfuscated).length;cm(aa("design.toast.built",{count:a.built.length,plural:1===a.built.length?"":"s",pct:d,obf:e?aa("design.toast.builtObf",{n:e}):""})),_.refresh()}async function ct(a=!1){if(!bo){bp(null),br(""),bn(null);return}if(bo.markup){let b=bq.trim(),c=bo.markup;if(await v(bV.current,c,b),bp(null),br(""),bn(null),bJ(a=>a+1),ag("comments"),a){a_(!0);let a=X(c);m(`On screen ${bV.current}, I marked a region for review (${a}).${b?` My note: "${b}"`:" Please review and refine it."} Update the screen accordingly.`)}return}if(!bq.trim()){bp(null),br("");return}let b=bo.selection??be,c=b?{...b,pageId:bV.current}:void 0;await w(bV.current,bo.xpPct,bo.ypPct,bq.trim(),c),bp(null),br(""),bJ(a=>a+1),ag("comments")}let cu=[...aU].sort((a,b)=>(a.createdAt?new Date(a.createdAt).getTime():0)-(b.createdAt?new Date(b.createdAt).getTime():0)).at(-1),cv=a$||0!==aU.length&&cu?.fromKind!=="agent"?[]:function(a,b,c){let d=[],e=a=>(a??"").replace(/\s+/g," ").replace(/^[-•*\s]+/,"").replace(/[.:;,!?]+$/,"").trim(),f=(a,b)=>{let c=e(a);c.length>=2&&c.length<=42&&!d.some(a=>a.label.toLowerCase()===c.toLowerCase())&&d.push({label:c?c.charAt(0).toUpperCase()+c.slice(1):c,prompt:b})},g=[...a].reverse().find(a=>"agent"===a.fromKind&&a.text);if(g?.text)for(let a of g.text.matchAll(/\*\*(.+?)\*\*/g)){let b=e(a[1]);if(b.length<2||b.length>42||R.test(b)||(b.match(/\s+/g)||[]).length>6||f(b,b),d.length>=4)break}for(let[a,e]of b.designMockFiles.some(a=>/\.html?$/i.test(a))?S:T)if(f(c(a),e),d.length>=4)break;return d.slice(0,4)}(aU,b,aa),cw=a?{id:a.id,handle:a.handle,name:a.name,role:"Frontend",color:a.color,image:a.image??null,adapter:"claude",status:"idle",health:null}:null,cx=cw?[cw]:[],cy={};for(let a of aW)(cy[a.runId]??=[]).push(a);let cz=new Set(aU.map(a=>a.id)),cA=Object.entries(cy).filter(([a])=>!cz.has(a)),cB=a$||cA.length>0,cC=bs.filter(a=>a.pageKey===b1&&!V(a)),cD=bs.filter(a=>a.pageKey===b1&&V(a)),cE=[];cE.push(["layers",aa("design.tab.layers")],["screens",aa("design.tab.screens")],["docs",aa("design.tab.docs")],["styles",aa("design.tab.styles")],["history",aa("design.tab.history")],["comments",`${aa("design.tab.comments")}${cC.length?" "+cC.length:""}`],["versions",`${aa("design.tab.versions")}${bu.length?" "+bu.length:""}`]);let cF=cE.some(([a])=>a===af)?af:"screens",cG=a2?ca(a2):null,cH=be?ca(be.boundingBox):null;return(0,d.jsxs)("div",{className:"dz-wrap",children:[ah?(0,d.jsxs)("div",{className:"dz-chat",children:[(0,d.jsxs)("div",{className:"dz-chat-head",children:[(0,d.jsx)(i.e,{name:a?.name||"Grace",color:a?.color||"#84aef5",image:a?.image,size:28}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"dz-ch-t",children:[a?.name||"Grace"," \xb7 ",aa("design.chat.role")]}),(0,d.jsx)("div",{className:"dz-ch-s",children:aa("design.chat.subtitle")})]}),cB&&(0,d.jsxs)("span",{className:"dz-live",children:[(0,d.jsx)("span",{className:"dot"})," ",aa("design.chat.live")]}),(0,d.jsx)("button",{className:"dz-collapse-btn",title:aa("design.chat.collapse"),onClick:()=>ai(!1),children:(0,d.jsx)(h.I,{name:"chevronLeft",size:15})})]}),by&&(0,d.jsxs)("div",{className:"ctx-bar",children:[(0,d.jsx)(F.m,{stat:by,onCompact:cg,compacting:bA}),(0,d.jsx)("span",{})]}),(0,d.jsx)(j.H8,{msgs:aU,typing:a$&&cw?[cw.handle]:[],agents:cx,byRun:cy,liveRuns:cA,loading:aY,markdownAgent:!0,avatarSize:28,emptyHint:aa("design.chat.emptyHint")}),(0,d.jsxs)("div",{className:"dz-composer"+(aH?" drag":""),onDragOver:a=>{a.preventDefault(),aI(!0)},onDragLeave:a=>{a.preventDefault(),aI(!1)},onDrop:a=>{a.preventDefault(),aI(!1),cn(a.dataTransfer.files)},children:[!b0&&cv.length>0&&!bk&&(0,d.jsx)("div",{className:"dz-chips",children:cv.map(a=>(0,d.jsx)("span",{className:"dz-chip",onClick:()=>co(a.prompt),children:a.label},a.label))}),bk&&(0,d.jsxs)("div",{className:"dz-attach",children:[(0,d.jsx)("span",{className:"sw",style:{background:av.accent}})," ",aa("design.composer.elementLabel")," ",(0,d.jsx)("b",{style:{fontWeight:700},children:bk.componentName}),(0,d.jsx)("span",{className:"x",onClick:()=>bl(null),children:(0,d.jsx)(h.I,{name:"close",size:12})})]}),aL&&(0,d.jsx)("div",{className:"dz-uperr",children:aL}),aF.length>0&&(0,d.jsx)("div",{className:"dz-atts",children:aF.map((a,b)=>(0,d.jsxs)("span",{className:"dz-att",children:[a.type.startsWith("image/")&&(0,d.jsx)("img",{src:`/api/upload?path=${encodeURIComponent(a.path)}`,alt:""}),(0,d.jsx)("span",{className:"nm",children:a.name}),(0,d.jsx)("span",{className:"rm",title:aa("design.composer.remove"),onClick:()=>aG(a=>a.filter((a,c)=>c!==b)),children:(0,d.jsx)(h.I,{name:"close",size:11})})]},a.path))}),(0,d.jsxs)("div",{className:"dz-input",children:[(0,d.jsx)("button",{className:"dz-clip",disabled:a$||aJ,title:aa("design.composer.attach"),onClick:()=>aN.current?.click(),children:(0,d.jsx)(h.I,{name:aJ?"refresh":"add",size:15,className:aJ?"sync-spin":""})}),(0,d.jsx)("input",{placeholder:bk?aa("design.composer.changePlaceholder",{name:bk.componentName}):aa("design.composer.placeholder"),value:ax,disabled:a$,onChange:a=>ay(a.target.value),onKeyDown:a=>{"Enter"===a.key&&co()},onPaste:function(a){let b=Array.from(a.clipboardData?.items||[]).filter(a=>"file"===a.kind&&a.type.startsWith("image/")).map(a=>a.getAsFile()).filter(a=>!!a);b.length&&(a.preventDefault(),cn(b))}}),(0,d.jsx)("button",{className:"dz-send",disabled:a$||!ax.trim()&&!aF.length&&!bk,onClick:()=>co(),children:(0,d.jsx)(h.I,{name:a$?"refresh":"send",size:15,className:a$?"sync-spin":""})})]}),(0,d.jsx)("input",{ref:aN,type:"file",accept:"image/*,.pdf",multiple:!0,style:{display:"none"},onChange:a=>cn(a.target.files)})]})]}):(0,d.jsxs)("div",{className:"dz-strip left",onClick:()=>ai(!0),title:aa("design.chat.expand"),children:[(0,d.jsx)(h.I,{name:"chevronRight",size:16}),(0,d.jsx)(h.I,{name:"chat",size:16}),cB&&(0,d.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:"var(--accent)"}})]}),(0,d.jsxs)("div",{className:"dz-center",children:[b.handoffPending&&(0,d.jsxs)("div",{className:"dz-approve-banner",style:{background:"linear-gradient(90deg,rgba(224,164,78,.20),rgba(224,164,78,.03))"},children:[(0,d.jsx)("div",{className:"dz-ab-ic",style:{background:"rgba(224,164,78,.22)",color:"var(--accent)"},children:(0,d.jsx)(h.I,{name:cB?"refresh":"warn",size:17,className:cB?"sync-spin":""})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"dz-ab-t",children:cB?aa("design.handoff.finishing"):aa("design.handoff.interrupted")}),(0,d.jsx)("div",{className:"dz-ab-s",children:cB?aa("design.handoff.finishingSub"):aa("design.handoff.interruptedSub")})]}),!cB&&(0,d.jsx)("div",{className:"dz-ab-actions",children:(0,d.jsxs)("button",{className:"dz-mini-btn accent",disabled:az,onClick:cr,children:[(0,d.jsx)(h.I,{name:az?"refresh":"sync",size:13,className:az?"sync-spin":""})," ",aa("design.handoff.resume")]})})]}),b.handoffDone&&!b.handoffPending&&(0,d.jsxs)("div",{className:"dz-approve-banner",style:{background:ad?"linear-gradient(90deg,rgba(224,164,78,.22),rgba(224,164,78,.03))":"linear-gradient(90deg,rgba(74,165,114,.20),rgba(74,165,114,.03))"},children:[(0,d.jsx)("div",{className:"dz-ab-ic",style:{background:ad?"rgba(224,164,78,.22)":"rgba(74,165,114,.22)",color:ad?"var(--accent)":"#3fa971"},children:(0,d.jsx)(h.I,{name:ad?"edit":"goto",size:17})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"dz-ab-t",children:ad?"Design updated \xb7 send it to Ada":"Handed off to execution \xb7 Ada is building"}),(0,d.jsx)("div",{className:"dz-ab-s",children:ad?"You edited the design after the last hand-off — send the update so Ada applies it on top (backend wiring preserved).":"This design is the real frontend. Keep refining it with Grace — re-send to push an update (engineers&apos; backend wiring is preserved)."})]}),(0,d.jsx)("div",{className:"dz-ab-actions",children:(0,d.jsxs)("button",{className:"dz-mini-btn accent"+(ad?" dz-pulse":""),disabled:az,onClick:cq,children:[(0,d.jsx)(h.I,{name:az?"refresh":ad?"goto":"sync",size:13,className:az?"sync-spin":""})," ",ad?"Send update to execution":"Re-send update"]})})]}),b0&&!b.handoffPending&&!b.handoffDone&&(0,d.jsxs)("div",{className:"dz-approve-banner",children:[(0,d.jsx)("div",{className:"dz-ab-ic",children:(0,d.jsx)(h.I,{name:ad?"edit":"check",size:17})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"dz-ab-t",children:ad?"Design updated \xb7 ready to send":aa("design.banner.approvedTitle")}),(0,d.jsx)("div",{className:"dz-ab-s",children:ad?"You edited the approved design — send it to execution to push the update.":aa("design.banner.approvedSub")})]}),(0,d.jsx)("div",{className:"dz-ab-actions",children:(0,d.jsxs)("button",{className:"dz-mini-btn accent"+(ad?" dz-pulse":""),disabled:az,onClick:cq,children:[(0,d.jsx)(h.I,{name:az?"refresh":"goto",size:13,className:az?"sync-spin":""})," ",ad?"Send update to execution":aa("design.banner.sendToExecution")]})})]}),!b0&&b.gatePending&&(0,d.jsxs)("div",{className:"dz-approve-banner",style:{background:"linear-gradient(90deg,rgba(99,102,241,.16),rgba(99,102,241,.02))"},children:[(0,d.jsx)("div",{className:"dz-ab-ic",style:{background:"rgba(99,102,241,.18)",color:"#6366f1"},children:(0,d.jsx)(h.I,{name:"bot",size:17})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"dz-ab-t",children:aa("design.banner.adaWaitingTitle")}),(0,d.jsxs)("div",{className:"dz-ab-s",children:[aa("design.banner.adaWaitingPre")," ",(0,d.jsx)("b",{children:aa("design.banner.adaWaitingAction")})," ",aa("design.banner.adaWaitingPost")," ",cB?aa("design.banner.gridSettingUp"):aa("design.banner.gridStart")]})]}),(0,d.jsx)("div",{className:"dz-ab-actions",children:(0,d.jsxs)("button",{className:"dz-mini-btn",disabled:a$,onClick:()=>{a_(!0),o().then(a=>{a.ok||a_(!1)})},children:[(0,d.jsx)(h.I,{name:a$?"refresh":"skill",size:13,className:a$?"sync-spin":""})," ",aa("design.banner.setUpWithGrace")]})})]}),(0,d.jsxs)("div",{className:"dz-bar",children:[(0,d.jsx)("div",{className:"dz-modes",children:O.map(a=>(0,d.jsxs)("span",{className:"dz-mode "+(at===a.id?"on":""),onClick:()=>au(a.id),title:aa("design.mode."+a.id),children:[(0,d.jsx)(h.I,{name:a.ic,size:13})," ",aa("design.mode."+a.id)]},a.id))}),b$.length>0&&(0,d.jsxs)("div",{className:"dz-seg",children:[(0,d.jsx)("button",{onClick:function(){let a=bV.current,b=bP.current.get(a);b&&!(b.pos<=0)&&(b.pos--,ck(a,b))},disabled:!cd,title:aa("design.toolbar.undo"),children:(0,d.jsx)(h.I,{name:"chevronLeft",size:13})}),(0,d.jsx)("button",{onClick:function(){let a=bV.current,b=bP.current.get(a);b&&!(b.pos>=b.stack.length-1)&&(b.pos++,ck(a,b))},disabled:!ce,title:aa("design.toolbar.redo"),children:(0,d.jsx)(h.I,{name:"chevronRight",size:13})}),(0,d.jsxs)("button",{onClick:function(){let a=bV.current,b=bP.current.get(a);b&&!(b.pos<=0)&&(b.pos=0,ck(a,b),cm(aa("design.toast.reset")))},disabled:!cd,title:aa("design.toolbar.resetTitle"),children:[(0,d.jsx)(h.I,{name:"repeat",size:13})," ",aa("design.toolbar.reset")]}),(0,d.jsxs)("button",{onClick:cl,disabled:az||!b2,title:aa("design.toolbar.saveTitle"),children:[(0,d.jsx)(h.I,{name:"check",size:13})," ",aa("design.toolbar.save")]}),(0,d.jsxs)("button",{onClick:function(){let a=bV.current;a&&(a_(!0),m(`I manually edited the screen ${a} directly on the canvas — it now has inline-style overrides, transform:translate offsets and data-cstla-id/data-cstla-tx attributes added by the visual editor. Refactor it into CLEAN, token-driven, professional CSS per the CSS STANDARD: fold the inline styles into the <style> sheet under semantic BEM-ish classes, turn transform offsets into real layout (flex/grid/margins/gap), drop every data-cstla-* attribute, and keep the screen VISUALLY IDENTICAL. Then summarize what you cleaned up.`))},title:aa("design.toolbar.cleanUpTitle"),children:[(0,d.jsx)(h.I,{name:"skill",size:13})," ",aa("design.toolbar.cleanUp")]})]}),(0,d.jsx)("div",{className:"dz-spacer"}),(0,d.jsx)("div",{className:"dz-seg",children:[50,75,100].map(a=>(0,d.jsxs)("button",{className:ar===a?"on":"",onClick:()=>as(a),title:aa("design.toolbar.zoom",{pct:a}),children:[a,"%"]},a))}),(0,d.jsxs)("div",{className:"dz-seg",children:[(0,d.jsx)("button",{className:"desktop"===al&&null==an?"on":"",onClick:()=>{am("desktop"),ao(null)},title:aa("design.toolbar.desktop"),children:(0,d.jsx)(h.I,{name:"sidebarIcon",size:13})}),(0,d.jsx)("button",{className:"tablet"===al&&null==an?"on":"",onClick:()=>{am("tablet"),ao(null)},title:aa("design.toolbar.tabletTitle"),children:aa("design.toolbar.tablet")}),(0,d.jsx)("button",{className:"mobile"===al&&null==an?"on":"",onClick:()=>{am("mobile"),ao(null)},title:aa("design.toolbar.mobileTitle"),children:aa("design.toolbar.mobile")}),(0,d.jsx)("input",{className:"dz-bpw",type:"number",min:320,max:1920,placeholder:"px",value:an??"",title:aa("design.toolbar.customWidth"),onChange:a=>{let b=parseInt(a.target.value,10);ao(Number.isFinite(b)&&b>0?Math.max(320,Math.min(1920,b)):null)}})]}),(0,d.jsxs)("div",{className:"dz-seg",children:[(0,d.jsx)("button",{className:"dark"===av.theme?"on":"",onClick:()=>aw(a=>({...a,theme:"dark"})),title:aa("design.toolbar.dark"),children:(0,d.jsx)(h.I,{name:"moon",size:13})}),(0,d.jsx)("button",{className:"light"===av.theme?"on":"",onClick:()=>aw(a=>({...a,theme:"light"})),title:aa("design.toolbar.light"),children:(0,d.jsx)(h.I,{name:"sun",size:13})})]}),(0,d.jsxs)("div",{className:"dz-seg",title:aa("design.mode2.tip"),children:[(0,d.jsxs)("button",{className:ap?"":"on",onClick:()=>aq(!1),children:[(0,d.jsx)(h.I,{name:"grid",size:13})," ",aa("design.mode2.design")]}),(0,d.jsxs)("button",{className:ap?"on":"",onClick:()=>aq(!0),children:[(0,d.jsx)(h.I,{name:"play",size:13})," ",aa("design.mode2.live")]})]}),bc?(0,d.jsxs)("span",{className:"dz-save preview",title:aa("design.toolbar.previewOnlyTitle"),children:[(0,d.jsx)(h.I,{name:"play",size:12})," ",aa("design.toolbar.previewOnly")]}):"idle"!==bK&&(0,d.jsxs)("span",{className:"dz-save "+bK,title:"saving"===bK?aa("design.toolbar.savingTitle"):aa("design.toolbar.savedTitle"),children:[(0,d.jsx)(h.I,{name:"saving"===bK?"refresh":"check",size:12,className:"saving"===bK?"sync-spin":""})," ","saving"===bK?aa("design.toolbar.saving"):aa("design.toolbar.saved")]}),(0,d.jsxs)("button",{className:"dz-mini-btn",onClick:()=>aC(!0),children:[(0,d.jsx)(h.I,{name:"arrowDown",size:13})," ",aa("design.toolbar.export")]}),(0,d.jsxs)("button",{className:"dz-mini-btn accent",disabled:az,onClick:cp,title:b0?"Re-approve the current design as the official reference":void 0,children:[(0,d.jsx)(h.I,{name:"check",size:13})," ",b0?"Approve changes":aa("design.toolbar.approve")]})]}),b$.length>0&&(0,d.jsxs)("div",{className:"dz-pagestrip",children:[(0,d.jsx)("div",{className:"dz-ptabs",children:b$.slice(0,8).map(a=>(0,d.jsxs)("span",{className:"dz-ptab "+(b1===a?"active":""),onClick:()=>{aP(a),bf(null),bj(!1)},children:[(0,d.jsx)(h.I,{name:"grid",size:13})," ",Q(a)]},a))}),(0,d.jsxs)("span",{className:"dz-hint",children:[(0,d.jsx)(h.I,{name:O.find(a=>a.id===at).ic,size:12})," ","edit"===at?"Click to select \xb7 double-click to edit text (the design stays faithful to the mock — no move/resize/add)":"select"===at?"Click to select an element \xb7 switch to Edit to edit its text":aa("design.hint."+at)]})]}),(0,d.jsxs)("div",{className:"dz-canvas"+(b2?` has-screen ${b5?"framed":"desktop"}`:""),ref:bT,children:[ap&&(0,d.jsx)(K,{onAskGrace:a=>co(a),asking:a$}),b2?(0,d.jsxs)("div",{className:"dz-artwrap",style:{width:b6*b3,height:b7*b3},children:[(0,d.jsxs)("div",{className:"dz-art","data-viewport":al,style:{width:b6,height:b7,transform:`scale(${b3})`,transformOrigin:"top left"},children:[(0,d.jsx)("iframe",{ref:bS,title:aa("design.canvas.previewTitle"),sandbox:"allow-scripts",srcDoc:(G=aQ??"",H=`<script data-cstla-instrument>${C}</script>`,/<\/body>/i.test(G)?G.replace(/<\/body>/i,`${H}</body>`):G+H),onLoad:()=>{try{bS.current?.contentWindow?.postMessage({__cstlaHost:1,type:"canvas:setMode",mode:bU.current},"*")}catch{}let a=bW.current;try{let b,c;bS.current?.contentWindow?.postMessage({__cstlaHost:1,type:"canvas:applyTokens",tokens:{accent:a.accent,accentFg:a.accentFg||(b=a.accent.replace("#",""),c=parseInt(3===b.length?b.split("").map(a=>a+a).join(""):b,16),(.299*(c>>16&255)+.587*(c>>8&255)+.114*(255&c))/255>.6?"#15171c":"#ffffff"),secondary:a.secondary,surface:a.surface,success:a.success,warning:a.warning,danger:a.danger,font:a.font,headingFont:a.headingFont,fontWeight:a.fontWeight,lineHeight:a.lineHeight,letterSpacing:a.letterSpacing,radius:a.radius,borderWidth:a.borderWidth,borderColor:a.borderColor,shadow:a.shadow,space:a.density,containerWidth:a.containerWidth,motionMs:a.motionMs,ease:a.ease,fontScale:a.fontScale,theme:a.theme}},"*")}catch{}},style:{width:"100%",height:"100%",border:"none",background:"#fff",display:"block"}}),(0,d.jsxs)("div",{className:"dz-ovl",children:[a4&&"edit"===at&&(0,d.jsxs)(d.Fragment,{children:[a4.v.map((a,b)=>(0,d.jsx)("div",{className:"dz-guide v",style:{left:a-a6.scrollX}},"gv"+b)),a4.h.map((a,b)=>(0,d.jsx)("div",{className:"dz-guide h",style:{top:a-a6.scrollY}},"gh"+b))]}),a2&&cG&&!be&&"preview"!==at&&"markup"!==at&&"comments"!==at&&(0,d.jsx)("div",{className:"dz-hl",style:cG,children:(0,d.jsx)("span",{className:"tag",children:a2.label})}),"preview"!==at&&bg.map(a=>(0,d.jsx)("div",{className:"dz-selbox",style:ca(a.boundingBox)},a.cstlaId)),cD.map(a=>(0,d.jsx)("div",{className:"dz-mk",style:cb(W(a))},a.id)),bm&&(0,d.jsx)("div",{className:"dz-mk",style:cb({x:bm.xPct,y:bm.yPct,w:bm.wPct,h:bm.hPct})}),cC.map((a,b)=>(0,d.jsx)("div",{className:"dz-pin",style:cc(a.xp,a.yp),onClick:a=>{a.stopPropagation(),ag("comments")},children:b+1},a.id))]})]}),bi&&be&&cH&&"preview"!==at&&bg.length<=1&&(0,d.jsxs)("div",{className:"dz-ctx",style:{left:Math.max(6,cH.left*b3),top:Math.max(4,cH.top*b3-40)},onClick:a=>a.stopPropagation(),children:[(0,d.jsxs)("button",{className:"ask",onClick:()=>{bl(be),bj(!1),cm(aa("design.toast.elementAttached"))},children:[(0,d.jsx)(h.I,{name:"bot",size:13})," ",aa("design.ctx.askFront")]}),(0,d.jsx)("button",{onClick:()=>bj(!1),children:(0,d.jsx)(h.I,{name:"close",size:13})})]}),bo&&(0,d.jsxs)("div",{className:"dz-cpop",style:{left:Math.max(6,Math.min((I=cc(bo.xpPct,bo.ypPct)).left*b3,Math.max(6,b6*b3-226))),top:Math.max(6,Math.min(I.top*b3,Math.max(6,b7*b3-120)))},onClick:a=>a.stopPropagation(),children:[(0,d.jsx)("textarea",{rows:3,autoFocus:!0,placeholder:bo.markup?aa("design.cmt.markupPlaceholder"):aa("design.cmt.pointPlaceholder"),value:bq,onChange:a=>br(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.metaKey||a.ctrlKey)&&(a.preventDefault(),ct())}}),bo.markup?(0,d.jsxs)("div",{className:"row",style:{flexDirection:"column",alignItems:"stretch"},children:[(0,d.jsxs)("button",{className:"dz-mini-btn accent",style:{justifyContent:"center"},onClick:()=>ct(!0),children:[(0,d.jsx)(h.I,{name:"bot",size:12})," ",aa("design.cmt.markAskGrace")]}),(0,d.jsx)("button",{className:"dz-mini-btn",style:{justifyContent:"center"},onClick:()=>ct(!1),children:aa("design.cmt.markRegion")}),(0,d.jsx)("button",{className:"dz-mini-btn",style:{justifyContent:"center"},onClick:()=>{bp(null),br(""),bn(null)},children:aa("design.cmt.cancel")})]}):(0,d.jsxs)("div",{className:"row",children:[(0,d.jsx)("button",{className:"dz-mini-btn",onClick:()=>{bp(null),br(""),bn(null)},children:aa("design.cmt.cancel")}),(0,d.jsx)("button",{className:"dz-mini-btn accent",onClick:()=>ct(),children:aa("design.cmt.comment")})]})]}),cB&&(0,d.jsxs)("div",{className:"dz-build-bar",children:[(0,d.jsx)(h.I,{name:"skill",size:13})," ",aa("design.canvas.working")," ",(0,d.jsx)("span",{className:"sh"})]})]}):(0,d.jsx)("div",{className:"dz-emptywrap",children:aS?(0,d.jsxs)("div",{className:"dz-empty",children:[(0,d.jsx)("div",{className:"ic",children:(0,d.jsx)(h.I,{name:"error",size:22})}),(0,d.jsx)("div",{className:"t",children:aa("design.empty.loadErrTitle")}),(0,d.jsx)("div",{className:"s",children:aS})]}):0===b$.length&&b_.length>0?(0,d.jsxs)("div",{className:"dz-empty",children:[(0,d.jsx)("div",{className:"ic",children:(0,d.jsx)(h.I,{name:"doc",size:22})}),(0,d.jsx)("div",{className:"t",children:aa("design.empty.componentsTitle",{count:b_.length,plural:b_.length>1?"s":""})}),(0,d.jsx)("div",{className:"s",children:aa("design.empty.componentsBody")})]}):(0,d.jsxs)("div",{className:"dz-empty",children:[(0,d.jsx)("div",{className:"ic",children:(0,d.jsx)(h.I,{name:"grid",size:22})}),(0,d.jsx)("div",{className:"t",children:aa("design.empty.noPrototypeTitle")}),(0,d.jsxs)("div",{className:"s",children:[aa("design.empty.noPrototypePre")," ",(0,d.jsx)("span",{className:"mono",children:"design-mock/"}),". ",aa("design.empty.noPrototypePost")]})]})})]})]}),aj?(0,d.jsxs)("div",{className:"dz-rail",children:[(0,d.jsxs)("div",{className:"dz-rail-tabs",children:[cE.map(([a,b])=>(0,d.jsx)("div",{className:"dz-rt "+(cF===a?"active":""),onClick:()=>ag(a),children:b},a)),(0,d.jsx)("button",{className:"dz-collapse-btn",title:aa("design.rail.collapse"),onClick:()=>ak(!1),children:(0,d.jsx)(h.I,{name:"chevronRight",size:15})})]}),(0,d.jsxs)("div",{className:"dz-rail-body",children:["layers"===cF&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",children:aa("design.layers.title")}),b2?0===ba.length?(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)",lineHeight:1.5},children:aa("design.layers.reading")}):ba.map(a=>(0,d.jsxs)("div",{className:"dz-layer"+(be?.nodePath===a.path?" active":""),style:{paddingLeft:8+11*a.depth},onClick:()=>(function(a){try{bS.current?.contentWindow?.postMessage({__cstlaHost:1,type:"canvas:selectByPath",path:a},"*")}catch{}})(a.path),title:`<${a.tag}>`,children:[(0,d.jsx)(h.I,{name:a.kids>0?"grid":"dot",size:10}),(0,d.jsx)("span",{className:"lt",children:a.label}),(0,d.jsxs)("span",{className:"lg",children:[a.tag,a.kids>0?` \xb7 ${a.kids}`:""]})]},a.path)):(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)",lineHeight:1.5},children:aa("design.layers.openScreen")})]}),"screens"===cF&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",children:aa("design.screens.title")}),0===b$.length?(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)",lineHeight:1.5},children:aa("design.screens.empty")}):b$.map(a=>(0,d.jsxs)("div",{className:"dz-row "+(b1===a?"active":""),onClick:()=>{aP(a),bf(null),bj(!1)},children:[(0,d.jsx)("div",{className:"dz-r-ic",children:(0,d.jsx)(h.I,{name:"grid",size:14})}),(0,d.jsxs)("div",{style:{minWidth:0},children:[(0,d.jsx)("div",{className:"dz-r-t",children:Q(a)}),(0,d.jsx)("div",{className:"dz-r-s",children:a.replace(/^design-mock\//,"")})]}),b1===a&&(0,d.jsx)("span",{className:"dz-r-meta",children:aa("design.screens.active")})]},a)),(0,d.jsxs)("div",{className:"dz-addrow",onClick:()=>co("Build a new screen for the prototype."),children:[(0,d.jsx)(h.I,{name:"add",size:13})," ",aa("design.screens.newScreen")]}),b_.length>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",style:{marginTop:16},children:aa("design.screens.components",{count:b_.length})}),(0,d.jsx)("div",{className:"dz-comp-grid",children:b_.slice(0,8).map((a,b)=>(0,d.jsxs)("div",{className:"dz-comp",children:[(0,d.jsx)("div",{style:{height:30,borderRadius:7,background:b%2?P(av.accent,.16):"var(--bg-app)",border:"1px solid var(--border)",display:"grid",placeItems:"center",color:"var(--accent)",fontSize:12},children:"◧"}),(0,d.jsx)("div",{className:"nm",children:(a.split("/").pop()||a).replace(/\.[a-z]+$/i,"")})]},a))})]})]}),"docs"===cF&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",children:aa("design.docs.title")}),0===bC.length?(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)",lineHeight:1.5},children:aa("design.docs.empty")}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-docnav",children:bC.map(a=>(0,d.jsxs)("div",{className:"dz-doctab "+(bE===a.path?"active":""),onClick:()=>{var b;bF(b=a.path),bH(""),n(b).then(a=>{a.ok&&null!=a.body?bH(a.body):bH(aa("design.docs.readErr"))})},title:a.label,children:[(0,d.jsx)(h.I,{name:/APPROVED/i.test(a.path)?"check":"doc",size:12}),(0,d.jsx)("span",{children:a.label})]},a.path))}),(0,d.jsx)("div",{className:"dz-docbody md",children:bG?(0,d.jsx)(A.oz,{remarkPlugins:[B.A],children:bG}):(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)"},children:aa("design.docs.reading")})})]})]}),"styles"===cF&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",children:aa("design.styles.palette")}),(0,d.jsx)("div",{className:"dz-swatches",children:L.map(a=>(0,d.jsx)("span",{title:a.name,className:"dz-sw "+(av.accent===a.c?"on":""),style:{background:a.c},onClick:()=>ch({accent:a.c,accentName:a.name})},a.name))}),ci(aa("design.styles.accentCustom"),"accent"),ci(aa("design.styles.secondary"),"secondary"),ci(aa("design.styles.surface"),"surface"),(0,d.jsxs)("details",{className:"dz-adv",children:[(0,d.jsx)("summary",{children:aa("design.styles.semanticColors")}),ci(aa("design.styles.success"),"success","#10b981"),ci(aa("design.styles.warning"),"warning","#f59e0b"),ci(aa("design.styles.danger"),"danger","#ef4444"),ci(aa("design.styles.accentText"),"accentFg")]}),(0,d.jsx)("div",{className:"dz-sec",style:{marginTop:18},children:aa("design.styles.typography")}),(0,d.jsx)("div",{className:"dz-sub",children:aa("design.styles.bodyFont")}),(0,d.jsx)("div",{className:"dz-opt",children:M.map(a=>(0,d.jsx)("span",{className:"dz-pill2 "+(av.fontName===a.n?"on":""),onClick:()=>ch({font:a.s,fontName:a.n}),children:a.n},a.n))}),(0,d.jsx)("div",{className:"dz-sub",children:aa("design.styles.headingFont")}),(0,d.jsx)("div",{className:"dz-opt",children:M.map(a=>(0,d.jsx)("span",{className:"dz-pill2 "+(av.headingFontName===a.n?"on":""),onClick:()=>ch({headingFont:a.s,headingFontName:a.n}),children:a.n},a.n))}),cj(aa("design.styles.weight"),"fontWeight",300,800,100),cj(aa("design.styles.lineHeight"),"lineHeight",1,2,.05),cj(aa("design.styles.letterSpacing"),"letterSpacing",-1,4,.1,"px"),(0,d.jsx)("div",{className:"dz-sub",children:aa("design.styles.textSize")}),(0,d.jsx)("div",{className:"dz-opt",children:[[aa("design.styles.sizeSmall"),.9],[aa("design.styles.sizeDefault"),1],[aa("design.styles.sizeLarge"),1.15]].map(([a,b])=>(0,d.jsx)("span",{className:"dz-pill2 "+(av.fontScale===b?"on":""),onClick:()=>ch({fontScale:b}),children:a},a))}),(0,d.jsx)("div",{className:"dz-sec",style:{marginTop:18},children:aa("design.styles.shapeDepth")}),(0,d.jsx)("div",{className:"dz-opt",children:N.map(a=>(0,d.jsx)("span",{className:"dz-pill2 "+(av.radius===a.r?"on":""),onClick:()=>ch({radius:a.r}),children:aa("design.styles.radius"+a.n)},a.n))}),cj(aa("design.styles.radius"),"radius",0,32,1,"px"),cj(aa("design.styles.borderWidth"),"borderWidth",0,4,1,"px"),ci(aa("design.styles.borderColor"),"borderColor"),(0,d.jsx)("div",{className:"dz-sub",children:aa("design.styles.shadow")}),(0,d.jsx)("div",{className:"dz-opt",children:["none","sm","md","lg"].map(a=>(0,d.jsx)("span",{className:"dz-pill2 "+(av.shadow===a?"on":""),onClick:()=>ch({shadow:a}),children:"none"===a?aa("design.styles.shadowNone"):a.toUpperCase()},a))}),(0,d.jsx)("div",{className:"dz-sec",style:{marginTop:18},children:aa("design.styles.theme")}),(0,d.jsxs)("div",{className:"dz-opt",children:[(0,d.jsx)("span",{className:"dz-pill2 "+("dark"===av.theme?"on":""),onClick:()=>ch({theme:"dark"}),children:aa("design.styles.dark")}),(0,d.jsx)("span",{className:"dz-pill2 "+("light"===av.theme?"on":""),onClick:()=>ch({theme:"light"}),children:aa("design.styles.light")})]}),(0,d.jsx)("div",{className:"dz-sec",style:{marginTop:18},children:aa("design.styles.spacingLayoutMotion")}),(0,d.jsx)("div",{className:"dz-opt",children:[[aa("design.styles.densityCompact"),8],[aa("design.styles.densityCozy"),12],[aa("design.styles.densityComfy"),16]].map(([a,b])=>(0,d.jsx)("span",{className:"dz-pill2 "+(av.density===b?"on":""),onClick:()=>ch({density:b}),children:a},a))}),cj(aa("design.styles.density"),"density",4,28,1,"px"),cj(aa("design.styles.containerWidth"),"containerWidth",880,1600,20,"px"),cj(aa("design.styles.motionSpeed"),"motionMs",0,600,20,"ms"),(0,d.jsx)("div",{className:"dz-sub",children:aa("design.styles.easing")}),(0,d.jsx)("div",{className:"dz-opt",children:[[aa("design.styles.easeEase"),"ease"],[aa("design.styles.easeInOut"),"ease-in-out"],[aa("design.styles.easeLinear"),"linear"],[aa("design.styles.easeSmooth"),"cubic-bezier(.4,0,.2,1)"]].map(([a,b])=>(0,d.jsx)("span",{className:"dz-pill2 "+(av.ease===b?"on":""),onClick:()=>ch({ease:b}),children:a},a))}),(0,d.jsx)("div",{className:"dz-sec",style:{marginTop:18},children:aa("design.styles.spacingScale")}),(0,d.jsx)("div",{style:{display:"flex",gap:5,alignItems:"flex-end"},children:[.5,1,1.5,2,3,4].map(a=>{let b=Math.round(av.density*a);return(0,d.jsxs)("div",{style:{textAlign:"center"},children:[(0,d.jsx)("div",{style:{width:20,height:Math.max(3,b),background:P(av.accent,.5),borderRadius:3}}),(0,d.jsx)("div",{style:{fontSize:9,color:"var(--text-faint)",marginTop:3},children:b})]},a)})}),(0,d.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:16,gap:8},children:[(0,d.jsx)("span",{style:{fontSize:10.5,color:"var(--text-faint)"},children:aa("design.styles.restyleNote")}),(0,d.jsx)("button",{className:"dz-mini-btn",onClick:()=>ch(U),children:aa("design.styles.reset")})]})]}),"comments"===cF&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",children:aa("design.comments.title")}),0===cC.length&&(0,d.jsxs)("div",{style:{fontSize:11.5,color:"var(--text-dim)",lineHeight:1.5},children:[aa("design.comments.emptyPre")," ",(0,d.jsx)("b",{children:aa("design.comments.emptyTool")})," ",aa("design.comments.emptyPost")]}),cC.map((a,b)=>(0,d.jsxs)("div",{className:"dz-cmt",children:[(0,d.jsxs)("div",{className:"h",children:[(0,d.jsx)("span",{className:"pin",children:b+1})," ",aa("design.comments.comment")," ",(0,d.jsx)("span",{className:"x",onClick:()=>{x(a.id).then(()=>bJ(a=>a+1))},children:(0,d.jsx)(h.I,{name:"trash",size:12})})]}),(0,d.jsx)("div",{className:"bd",children:a.body}),a.reply?(0,d.jsxs)("div",{className:"rep",children:[(0,d.jsx)(h.I,{name:"bot",size:12})," ",a.reply]}):(0,d.jsxs)("button",{className:"dz-mini-btn",onClick:()=>{a_(!0);let b=a.selection&&"object"==typeof a.selection&&a.selection.componentName?a.selection:void 0;m(`Apply this canvas comment on screen ${b1}${b?` (it is pinned on the ${b.componentName} element)`:""}: "${a.body}"`,void 0,b)},children:[(0,d.jsx)(h.I,{name:"bot",size:12})," ",aa("design.comments.askGrace")]})]},a.id)),cD.length>0&&(0,d.jsx)("div",{className:"dz-sec",style:{marginTop:14},children:aa("design.comments.markedRegions",{count:cD.length})}),cD.map((a,b)=>{let c=a.body&&"(region marked for review)"!==a.body?a.body:"";return(0,d.jsxs)("div",{className:"dz-cmt",children:[(0,d.jsxs)("div",{className:"h",children:[(0,d.jsxs)("span",{className:"pin",children:["M",b+1]})," ",aa("design.comments.region")," ",(0,d.jsx)("span",{className:"x",onClick:()=>{x(a.id).then(()=>bJ(a=>a+1))},children:(0,d.jsx)(h.I,{name:"trash",size:12})})]}),c&&(0,d.jsx)("div",{className:"bd",children:c}),a.reply?(0,d.jsxs)("div",{className:"rep",children:[(0,d.jsx)(h.I,{name:"bot",size:12})," ",a.reply]}):(0,d.jsxs)("button",{className:"dz-mini-btn",onClick:()=>{a_(!0);let b=X(W(a));m(`On screen ${b1}, I marked a region for review (${b}).${c?` My note: "${c}"`:" Please review and refine it."} Update the screen accordingly.`)},children:[(0,d.jsx)(h.I,{name:"bot",size:12})," ",aa("design.comments.askGrace")]})]},a.id)})]}),"history"===cF&&(J=bP.current.get(b1),Z=J?.pos??-1,$=J?J.labels.map((a,b)=>({lab:a,i:b})):[],(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",children:J&&J.stack.length>1?aa("design.history.pos",{pos:Z+1,total:J.stack.length}):aa("design.history.title")}),b2?$.length<=1?(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)",lineHeight:1.5},children:aa("design.history.noEdits")}):(0,d.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:$.slice().reverse().map(({lab:a,i:b})=>(0,d.jsxs)("div",{onClick:()=>{let a,c;return a=bV.current,void((c=bP.current.get(a))&&!(b<0)&&!(b>=c.stack.length)&&b!==c.pos&&(c.pos=b,ck(a,c)))},style:{display:"flex",alignItems:"center",gap:8,padding:"7px 9px",borderRadius:8,cursor:"pointer",fontSize:12,background:b===Z?"rgba(224,164,78,.12)":"transparent",color:b===Z?"var(--accent)":"var(--text-dim)",border:"1px solid "+(b===Z?"var(--accent)":"transparent")},children:[(0,d.jsx)("span",{style:{fontVariantNumeric:"tabular-nums",opacity:.6,minWidth:16,textAlign:"right"},children:0===b?"•":b}),(0,d.jsx)("span",{style:{flex:1,fontWeight:b===Z?700:500},children:a||aa("design.history.edited")}),b===Z&&(0,d.jsx)("span",{style:{fontSize:10,fontWeight:700},children:aa("design.history.current")})]},b))}):(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)"},children:aa("design.history.openScreen")})]})),"versions"===cF&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",children:aa("design.versions.title")}),0===bu.length?(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)",lineHeight:1.5},children:aa("design.versions.empty")}):bu.map(a=>(0,d.jsxs)("div",{className:"dz-vnode"+(bw===a.id?" active":""),onClick:()=>bx(bw===a.id?null:a.id),title:aa("design.versions.revertHint"),children:[(0,d.jsxs)("div",{className:"vt",children:[a.label," ",(0,d.jsx)("span",{className:"dz-tag",children:aa("design.versions.files",{count:a.files.length,plural:1===a.files.length?"":"s"})})]}),(0,d.jsx)("div",{className:"vs",children:a.note}),(0,d.jsx)("div",{className:"vtime",children:function(a,b){let c=Math.max(0,Math.round((new Date().getTime()-a)/1e3));if(c<60)return b("design.time.justNow");let d=Math.round(c/60);if(d<60)return b("design.time.minAgo",{n:d});let e=Math.round(d/60);return e<24?b("design.time.hAgo",{n:e}):b("design.time.dAgo",{n:Math.round(e/24)})}(a.createdAt,aa)}),bw===a.id&&(0,d.jsxs)("div",{className:"dz-addrow",style:{marginTop:8,padding:"6px"},onClick:b=>{b.stopPropagation(),a.restorable?y(a.id).then(async b=>{if(!b.ok)return void cm(b.error||aa("design.toast.restoreFailed"));let c=bV.current;bM.current=!1,bN.current="",bP.current.delete(c),bR(a=>a+1);let d=await l(c);d.ok&&null!=d.html&&(aR(d.html),bf(null)),cm(aa("design.toast.restored",{label:a.label}))}):(a_(!0),z(a.label,a.note)),bx(null)},children:[(0,d.jsx)(h.I,{name:"refresh",size:12})," ",aa("design.versions.revertTo",{label:a.label})]})]},a.id))]})]})]}):(0,d.jsxs)("div",{className:"dz-strip right",onClick:()=>ak(!0),title:aa("design.rail.expand"),children:[(0,d.jsx)(h.I,{name:"chevronLeft",size:16}),(0,d.jsx)(h.I,{name:"sidebarIcon",size:16})]}),aB&&(0,d.jsx)("div",{className:"dz-modal-bg",onClick:()=>aC(!1),children:(0,d.jsxs)("div",{className:"dz-modal",onClick:a=>a.stopPropagation(),children:[(0,d.jsxs)("div",{className:"dz-modal-h",children:[(0,d.jsx)("div",{className:"ic",children:(0,d.jsx)(h.I,{name:"arrowDown",size:17})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"t",children:aa("design.export.title")}),(0,d.jsx)("div",{className:"s",children:aa("design.export.sub")})]}),(0,d.jsx)("div",{className:"x",onClick:()=>aC(!1),children:(0,d.jsx)(h.I,{name:"close",size:16})})]}),(0,d.jsx)("div",{className:"dz-modal-b",children:[[aa("design.export.row.screens"),String(b$.length)],[aa("design.export.row.comments"),String(bs.filter(a=>!V(a)).length)],[aa("design.export.row.versions"),String(bu.length)],[aa("design.export.row.tokens"),aa("design.export.row.tokensVal")],[aa("design.export.row.approvedMd"),""],[aa("design.export.row.kbRag"),""],[aa("design.export.row.adaNotified"),""],[aa("design.export.row.planner"),""]].map(a=>(0,d.jsxs)("div",{className:"dz-dl",children:[(0,d.jsx)("span",{className:"ck",children:(0,d.jsx)(h.I,{name:"check",size:11})}),a[0],a[1]&&(0,d.jsx)("span",{className:"n",children:a[1]})]},a[0]))}),(0,d.jsxs)("div",{className:"dz-modal-f",children:[(0,d.jsx)("span",{className:"note",children:aa("design.export.note")}),(0,d.jsx)("div",{className:"dz-spacer"}),(0,d.jsxs)("button",{className:"dz-mini-btn",disabled:az,onClick:cs,children:[(0,d.jsx)(h.I,{name:"cpu",size:13})," ",aa("design.export.buildProd")]}),(0,d.jsx)("button",{className:"dz-mini-btn",onClick:()=>aC(!1),children:aa("design.export.close")}),(0,d.jsxs)("button",{className:"dz-mini-btn accent",disabled:az||b0,onClick:()=>{aC(!1),cp()},children:[(0,d.jsx)(h.I,{name:"check",size:13})," ",aa("design.export.approveDesign")]})]})]})}),aD&&(0,d.jsx)("div",{className:"dz-flash",children:aD})]})}function Z(a){return(0,d.jsx)(Y,{grace:a.grace,context:a.context,status:a.status,tokens:a.tokens})}},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},44616:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>o});var d=c(61576),e=c(1782),f=c(7852),g=c(80280),h=c(25533),i=c(95896),j=c(5323),k=c(67949),l=c(88639),m=c(13239),n=c(45011);async function o(){let a=await (0,k.l)(),{org:b,workspace:c}=await (0,i.nP)();(0,m.I)();let o=(0,l.zw)(b.id,c),p=(0,l.Iz)(b.id),q=(0,l.hp)(b.id),r=await g.db.select().from(h.agent).where((0,e.eq)(h.agent.workspaceId,c.id)),s=r.find(a=>"grace"===a.handle)??r.find(a=>/front\s?end|\bui\b|\bux\b/i.test(a.role))??null,[t]=await g.db.select().from(h.designSession).where((0,e.eq)(h.designSession.workspaceId,c.id)).orderBy((0,f.i)(h.designSession.createdAt)).limit(1);return(0,d.jsx)(j._,{title:a("mod.design"),sub:"Prototype the UI with the frontend agent before the plan",flush:!0,children:(0,d.jsx)(n.DesignClient,{context:{mission:o.mission,objective:o.objective,stackList:o.stackList,brief:!!o.brief,mockCount:o.mockFiles.length,designMockFiles:o.designMockFiles,designSkillCount:o.designSkills.length,hasImported:o.hasImported,approved:!!o.approved,gatePending:!!p.requestedPlanAt&&!p.skip,gateScaffolded:!!p.scaffoldedAt,handoffPending:!!p.handoffAt,handoffDone:!!q.at},grace:s?{id:s.id,name:s.name,handle:s.handle,color:s.color,image:s.image??null}:null,status:t?.status??"building",tokens:t?.tokens??null})})}},45011:(a,b,c)=>{"use strict";c.d(b,{DesignClient:()=>d});let d=(0,c(62060).registerClientReference)(function(){throw Error("Attempted to call DesignClient() from the server but DesignClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\(app)\\design\\design-client.tsx","DesignClient")},46466:a=>{"use strict";a.exports=require("node:stream/promises")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},55511:a=>{"use strict";a.exports=require("crypto")},57075:a=>{"use strict";a.exports=require("node:stream")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64980:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,4195,23)),Promise.resolve().then(c.bind(c,45011)),Promise.resolve().then(c.bind(c,32825)),Promise.resolve().then(c.bind(c,15783)),Promise.resolve().then(c.bind(c,67686)),Promise.resolve().then(c.bind(c,29876)),Promise.resolve().then(c.bind(c,16120)),Promise.resolve().then(c.bind(c,42328)),Promise.resolve().then(c.bind(c,4719))},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},74075:a=>{"use strict";a.exports=require("zlib")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},77598:a=>{"use strict";a.exports=require("node:crypto")},78474:a=>{"use strict";a.exports=require("node:events")},82262:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"00041d8182167f36657652fa5117a86f04ad9fdac4":()=>n.I_,"000b3acc60b4d2b8a70e8d2d829b9aacc71ab61f76":()=>o.nx,"00194592ad47500e882eca534f2a4293d58ced6167":()=>n.PO,"001b3f03a4be8dae997cef3766f261a8abe4f1f85a":()=>i.V,"001f7b38a3f729f9228f00bee7e2a5304a041ae35b":()=>o.j0,"0020ba3cad47f2e7c8173f78aff33a686a334486c7":()=>e.GK,"0025f5c700bf585074afe9a3d74daf5d034b95a18d":()=>d.xU,"002dfa6e2da323d4372c36e94679624da8728b1435":()=>e.PE,"002dfc0678550fd7b554d7d8b3301ed4c835ae2a9f":()=>n.wP,"00448c48579abd11cee040b8b9ddca4e41be6f184e":()=>p.PG,"004d9216cd0b492704be3f3914da6586dd305de8d5":()=>d.bt,"0052f8e2104f8633ca5df1d85c292d80b538d270cc":()=>o.Rr,"0053a9e20f5c5328aa2a2502d518180bfd6eed8f2f":()=>n.e9,"005693f47d654854560b9d0bc386173850cbf8240e":()=>n.o3,"0065234ec6235cc124d8268103b09cd0ad037b016f":()=>k.io,"006bc3f553199954dcf2c1a667ea89a5b6afe55440":()=>e.y_,"006d073b0c6542ef6eb5bdce823ce839aa00eb00ce":()=>o.zC,"006dde1a30becdb64e00136e2a0395ca3d1232afdf":()=>p.pM,"0072163f36363b48de78305a257f30f3daefa28c88":()=>n.gn,"0083096d6b88e89fee2e833270be160a64f9948543":()=>p.eU,"008385a17df8e9a6678d83c4e627af6724a6f6bd63":()=>h.Mp,"009e146b7742c650ca216beeed8e617243a4a5c103":()=>n.Tu,"00a15e709e3207ab4c46e487231119285bf1ecb00d":()=>j.f,"00b0578e37d9ebe94aea8c3a34edc1eb3072857776":()=>n.ME,"00ba8cc316d3085e76aed850bf0439194afd9bdec4":()=>n.Ni,"00c6849ba47e6e7fea083ff67d4e2a602a90900e03":()=>n.oS,"00cc51162e050f1938c1f15d597fdd4ebe929aa049":()=>j.O,"00d896599aa05f6b9b14826b3e2ffa5b7a98370f22":()=>e.KO,"00ee9b9abaabf91913653db0b6b047580fe9e40d61":()=>k.eg,"00f01dbe7e3288c64986b5cec39c20d584b4648648":()=>k.dj,"00f45798ef0b92ff36e203fd85a965da22d38dad47":()=>o.Fy,"00f53bdd7c80bb26d6c234682ff09d42c9fa8d285c":()=>n.yL,"00ffdd5039d3f6a2972d259f688e974bc22fce2faa":()=>h.x7,"400105d268e50cf405554ad50d07b6cf74ab3dfdfb":()=>n.a4,"4004a6c259bf62ad9da23ecac5c399dfdb19ad08e6":()=>p.Kg,"4017a2e91aac0e44c71e7dc8bdc64b91c86af6966e":()=>n.h_,"401b43fc7b171ab4f339d8b50f0126ae09197482ce":()=>k.De,"40205db6b6772e5190d6280f495fecc4c49bb1880c":()=>n.NM,"402a68b40ff3fcd1dda4de0258b9204475d0ee7d46":()=>e.RG,"4036941845402c95b0a364055242692180e15d59a1":()=>n.fb,"403917580efb407e1766db48881562b96dbf6c5fcb":()=>h.sE,"403972c138470189ab9c965aa2785e0f74d37a5ec3":()=>l.TX,"4042d732975c30e998b1b417f244d02bc240771b42":()=>n.R6,"40474231a88f9e8bd4f8bcb6d7e140a521cd469e9c":()=>i.VJ,"405e24180c17959a1265888000a45d837e7964045b":()=>h.lR,"405ee9cc58fe89e8c6f9f1f265a850575a129a7936":()=>p.lP,"40632f18c6e8cc524a1b65fbb8e73c1786b9759f01":()=>g.p,"40673eeabfff5b8aa941d94d53ce3478e168718e95":()=>d.rd,"406e30e8c1f70608478aa34a2cfc9f472c06c1ade1":()=>n.lj,"40703e1390372ba8fd666366ceb11519e934daad10":()=>e.S,"407c0cb497cd58cede6444312d86a0897e484fcbf4":()=>e.ey,"408bdae443a0482c1bfbd42dc2b720e682b1423fab":()=>d.VL,"408cb12118c88d982632feabb744bd15c77b28ff96":()=>i.zS,"408ebe3c75c8f47e1a33ca1ac0e850c6a92692ec67":()=>l.IL,"409593733c2627144a84b980b2909a9bf701a39f13":()=>i.E_,"40972e72e17f52772e05b1c26618888916aa0a95cc":()=>d.GW,"4097bf88873bcc36e56b144ef77ec8cea15fa3de24":()=>o.Xu,"409ca62ff6760c73fdd8c8c7267a97b16e88a526f7":()=>n.$_,"40a2ed61c41d82e88df9f715926555d4751d7925b2":()=>n.is,"40a38caeec3ba27df94e136db8976ff46f62348474":()=>o.KD,"40b05dffaf8ef88241a211ca40c5da2d954b5a412e":()=>m.y,"40bc3f927e0fe8d759dd0dea9050858496659453f6":()=>e.jc,"40bdecbf659bb86c86705318c2779dca409a75fc6a":()=>d.gg,"40cee959506187490f4f61c2b214db367eb7ce8ff4":()=>i.F,"40d9ef0b5544036e6021cca383858b56347d4c5411":()=>e.lJ,"40daf6dca3077229fd6d6cbccfd335893f03280125":()=>d.H7,"40e5564668bafedda17fe12ac371e358864fd39c63":()=>g.L,"40e6f8258f8df805f6fcd2e91a396cd355b0751db3":()=>l.q4,"40ef9327df3c76aeec61e899723f3a4fce0f04e0f4":()=>n.DX,"40fb601e332b01b2db0128c9248448e91ee1e8823a":()=>d.Wu,"40fe7401f127a1c1cc7a0858efa9433492cd7b6733":()=>e.r7,"601269a69c549fe5fca4611d91fa20388e33f4e50b":()=>d.rm,"601c6bff04fd688cd4118800632f7fbc53a64ee6a5":()=>n.ft,"60274f514b61483b6e070a65f4817ee1ad9fe43504":()=>f.k,"6029b8dd07385c22b79cec8930cd425924cfa64f1c":()=>d.n4,"602b26646ec90ca51fda510271d274904b830577d5":()=>l.bV,"602c949d6b4f90259a9dd0bf28582677f4f84cdc82":()=>n.pG,"603d5aa97fbe0bbf3427d3ee472365f0b23650bcda":()=>e.q$,"605cae860898064ae08c87ba7e942dd9d714085b87":()=>n.NW,"6061163d33474b69b44ca71969e7e32eea6632c216":()=>d.Fu,"60643b82a325d6fdb9a22f2326122b2156783fb109":()=>n.RS,"606c496fc7ae51c9732c206c25c0180519765eb1c5":()=>d.ME,"609bdc02d3153f832541f2c952a5e7cb917a504f2c":()=>l.bk,"60da31e678463e5daa11931edbba1bf33db81533f2":()=>n.qw,"60dbb220db735685b4802d9264fe095d42ffd507fa":()=>n.EQ,"60dbdf46cddec83114ce6551fd870fa84f68016765":()=>f.I,"60e384f0f20aad069f13d07666957fcf7fb2f9646f":()=>n.Fo,"60e3c5311af1bc54bbb9acfb1fdfd248223c4e1b8d":()=>e.LZ,"60e445cd55fb14a068d8f02683ec15e66fd3ae9758":()=>e.AA,"60e8f7ea058e6f0799881f6c5d494eca17a7a94e72":()=>o.TH,"60ebcc6da0ab0e901014ce384cb554138b17e7a52a":()=>l.Jp,"60face35dada2c40df11c8516d8fa9bd434df12801":()=>d.jw,"70134ed93c744753cbd112c32720864d9c20816aac":()=>e.M8,"702318f1552859b902907168b6bbd6d46cbb1cd8bd":()=>n.Sy,"702777ba042d40b1d5705ed063aec09cc357fcdd61":()=>d._z,"7084c40999976496a9f63bf8a44a4c05630a91605b":()=>n.a7,"7088368271648f6247e709bf8e6336af1a18845379":()=>n.fM,"70de449374fe32fcef6ed2f670f9dd29539a04eff1":()=>n.sy,"7ca088c8458079633b65380437dffa61b3a503e9d8":()=>n.Hg});var d=c(97140),e=c(15487),f=c(79505),g=c(51605),h=c(46363),i=c(46282),j=c(387),k=c(13604),l=c(7482),m=c(58169),n=c(90259),o=c(60686),p=c(52932)},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},88639:(a,b,c)=>{"use strict";c.d(b,{Bl:()=>y,DQ:()=>q,Er:()=>m,H5:()=>p,Iz:()=>o,Nt:()=>w,Oi:()=>g,e1:()=>t,hp:()=>s,iF:()=>u,uy:()=>i,zw:()=>h});var d=c(18612),e=c(85509),f=c(6873);let g="design-mock/APPROVED.md";function h(a,b){let c=(0,d.CS)(a),f=c.filter(a=>a.startsWith("mock/")&&"mock/README.md"!==a),h=c.filter(a=>a.startsWith("design-mock/")&&!/\/README\.md$/i.test(a)&&a!==g),i=c.filter(a=>a.startsWith("design-skills/")&&a.endsWith(".md")&&"design-skills/README.md"!==a),j=Object.entries(b.stack??{}).flatMap(([a,b])=>(0,e.jX)(b).filter(a=>"None"!==a).map(b=>`${a}: ${b}`)).join(", "),k=/^(\.claude\/|DOCS\/|PO\/|Reports\/|specs\/|issues\/|mock\/|design-mock\/|design-skills\/|README\.md$)/i,l=c.some(a=>!k.test(a));return{brief:(0,d.sL)(a,".claude/BRIEF.md")??"",mission:b.mission??"",objective:b.objective??"",stackList:j,mockFiles:f,designMockFiles:h,designSkills:i,approved:(0,d.sL)(a,g),hasImported:l}}function i(a){return[a.mission?`Mission: ${a.mission}`:"",a.objective?`Objective: ${a.objective}`:"",a.stackList?`Chosen stack: ${a.stackList}. Generate markup compatible with it — never generic.`:"",a.brief?`
345
+ Project brief:
346
+ ${a.brief.slice(0,3e3)}`:"",a.mockFiles.length?`
347
+ Attached mock/prototype (${a.mockFiles.length} files): ${a.mockFiles.slice(0,14).join(", ")} — read them and match the product precisely.`:"",a.designMockFiles.length?`
348
+ Design module output so far (design-mock/): ${a.designMockFiles.slice(0,14).join(", ")}.`:"",a.designSkills.length?`
349
+ Design skills available (design-skills/): ${a.designSkills.map(a=>a.replace(/^design-skills\//,"")).slice(0,20).join(", ")} — consult the relevant ones.`:"",a.approved?`
350
+ An APPROVED design already exists (design-mock/APPROVED.md) — the official visual reference. Honor it; do not drift.`:"",a.hasImported?`
351
+ There is an existing imported/scaffolded project in this workspace — extend it, preserve its visual identity.`:""].filter(Boolean).join("\n")}let j={hotel:["hospitality","booking","reservation","rooms","travel","checkin","premium","gallery","amenities"],hospedagem:["hotel","booking","reservation","rooms","hospitality"],reserva:["booking","calendar","availability","checkout"],restaurant:["menu","food","reservation","hospitality","gallery"],restaurante:["menu","food","reservation","hospitality"],ecommerce:["product","cart","checkout","catalog","pricing","payment"],loja:["ecommerce","product","cart","checkout","catalog"],shop:["ecommerce","product","cart","checkout"],store:["ecommerce","product","cart","checkout"],dashboard:["charts","dataviz","tables","kpi","analytics","admin"],saas:["dashboard","pricing","onboarding","settings","billing"],fintech:["dashboard","charts","security","transactions","kpi"],banking:["fintech","transactions","security","cards","dashboard"],banco:["fintech","transactions","security","cards"],calculator:["mobile","grid","buttons","keypad","ios"],calculadora:["mobile","grid","buttons","keypad","ios"],apple:["ios","glassmorphism","minimal","typography","rounded","microinteractions"],ios:["apple","glassmorphism","mobile","rounded","microinteractions","minimal"],glassmorphism:["blur","translucent","frosted","depth","gradient"],neumorphism:["shadow","embossed","monochrome"],minimal:["whitespace","typography","restraint","grid"],minimalista:["whitespace","typography","grid"],brutalist:["bold","contrast","raw","monospace"],landing:["hero","cta","sections","features","testimonials","pricing","footer"],portfolio:["gallery","grid","casestudy","minimal","typography"],blog:["typography","reading","article","content"],social:["feed","cards","avatars","interactions","realtime"],chat:["messages","bubbles","realtime","input","avatars"],mobile:["responsive","touch","ios","android"],admin:["dashboard","tables","forms","crud","data"],dark:["theme","contrast"],premium:["luxury","typography","spacing","motion","elegant"],animation:["motion","transitions","keyframes","microinteractions"],motion:["animation","transitions","microinteractions"],accessibility:["a11y","contrast","focus","aria","wcag"]},k=new Set("the a an and or of to for with in on at is are be this that you your our it its build create make page screen app site website using use want need please can grace design quero uma para com que the and dos das uma novo nova".split(/\s+/));function l(a){return(a||"").toLowerCase().replace(/[^a-z0-9çãáéíóúâêôà\s-]/gi," ").split(/\s+/).filter(a=>a.length>=3&&!k.has(a))}function m(a,b){let c=function(a,b){let c=l([b||"",a.mission,a.objective,a.brief.slice(0,1500),a.stackList,a.mockFiles.map(a=>a.split("/").pop()||"").join(" ")].join(" ")),d={};for(let a of c)d[a]=(d[a]||0)+1;if(b)for(let a of l(b))d[a]=(d[a]||0)+3;let e=new Map;for(let a of Object.keys(d))e.set(a,(e.get(a)||0)+d[a]);for(let a of Object.keys(d))for(let[b,c]of Object.entries(j))if(a.includes(b)||b.includes(a))for(let a of c)e.set(a,(e.get(a)||0)+1);return Array.from(e.entries()).sort((a,b)=>b[1]-a[1]).map(([a])=>a).slice(0,24)}(a,b),d=function(a,b=8){let c=a.map(a=>a.toLowerCase());if(!c.length)return[];let d=[];for(let a of(0,f.Cg)().values()){let b=(a.tags||[]).map(a=>a.toLowerCase()),e=(a.name+" "+a.description+" "+a.domain+" "+a.category+" "+b.join(" ")).toLowerCase(),f=a.name.toLowerCase().split(/[^a-z0-9]+/).filter(Boolean),g=0;for(let a of c)f.includes(a)||b.includes(a)?g+=4:e.includes(a)&&(g+=1);("design"===a.domain||"design"===a.category)&&(g+=.5),g>0&&d.push({name:a.name,description:a.description,score:g})}return d.sort((a,b)=>b.score-a.score).slice(0,b).map(({name:a,description:b})=>({name:a,description:b}))}(c,8);return[c.length?`
352
+ DETECTED CONTEXT (domain + visual intent): ${c.slice(0,16).join(", ")}. Ground the palette, typography, layout, components and motion in THIS product's domain and style — never a generic AI look.`:"",d.length?`
353
+ MOST RELEVANT seeded skills for THIS request — READ the matching \`.claude/skills/<name>.md\` FIRST before building:
354
+ ${d.map(a=>`- ${a.name}: ${a.description}`).join("\n")}`:""].filter(Boolean).join("\n")}let n=".claude/design-gate.json";function o(a){let b=(0,d.sL)(a,n);if(!b)return{};try{return JSON.parse(b)||{}}catch{return{}}}function p(a,b){try{(0,d.dx)(a,n,JSON.stringify(b,null,2))}catch{}}function q(a){p(a,{skip:!1})}let r=".claude/design-promoted.json";function s(a){let b=(0,d.sL)(a,r);if(!b)return{};try{return JSON.parse(b)||{}}catch{return{}}}function t(a,b){try{(0,d.dx)(a,r,JSON.stringify(b,null,2))}catch{}}function u(a){let b=a.designMockFiles.some(a=>/design-mock\/screens\/.+\.html?$/i.test(a));return!a.approved&&!b}let v=/\b(tela|telas|screen|screens|p[áa]gina|pagina|page|pages|web|webapp|web-?app|website|site|app|apps|aplicativo|aplica[çc][ãa]o|spa|single-?page|pwa|ui|ux|interface|frontend|front-?end|layout|component|componente|design|visual|dashboard|form|formul[áa]rio|formulario|bot[ãa]o|botao|button|modal|menu|nav|navbar|sidebar|card|landing|hero|gallery|galeria|theme|tema|palette|paleta|typography|tipografia|style|estilo|css|html|responsive|responsiv[oa]|mobile|desktop|tablet|anima[çc][ãa]o|animation|microintera[çc][õo]es|wizard|onboarding|checkout|perfil|profile|settings|configura[çc][õo]es|view|views|render)\b/i;function w(a){return!!a&&v.test(a)}let x=/\b(api|rest|restful|graphql|grpc|cli|command[\s-]?line|terminal|backend|back-?end|micro-?service|microservices|service|library|\bsdk\b|daemon|cron|scheduler|pipeline|etl|database|\bdb\b|infra|infrastructure|devops|webhook|message[\s-]?queue|\bqueue\b|worker|scraper|crawler|\bbot\b|middleware|server[\s-]?side|protocol|compiler|parser|scraping)\b/i;function y(a){return!!a&&x.test(a)&&!w(a)}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[3050,658,9676,1845,7971,8762,4616,6719,3266,4832,1572,3131,8623,5060,3234,6903,6873,259,319],()=>b(b.s=21308));module.exports=c})();