constellai 0.3.7 → 0.3.8
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.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +6 -6
- package/.next/next-minimal-server.js.nft.json +1 -1
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +3 -3
- package/.next/react-loadable-manifest.json +6 -6
- package/.next/server/app/(app)/activity/page.js +2 -2
- package/.next/server/app/(app)/activity/page.js.nft.json +1 -1
- package/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/agents/[handle]/page.js +3 -3
- package/.next/server/app/(app)/agents/[handle]/page.js.nft.json +1 -1
- package/.next/server/app/(app)/agents/[handle]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/code/page.js +2 -2
- package/.next/server/app/(app)/code/page.js.nft.json +1 -1
- package/.next/server/app/(app)/code/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/config/page.js +2 -2
- package/.next/server/app/(app)/config/page.js.nft.json +1 -1
- package/.next/server/app/(app)/config/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/costs/page.js +2 -2
- package/.next/server/app/(app)/costs/page.js.nft.json +1 -1
- package/.next/server/app/(app)/costs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/cron/page.js +2 -2
- package/.next/server/app/(app)/cron/page.js.nft.json +1 -1
- package/.next/server/app/(app)/cron/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/dashboard/page.js +2 -2
- package/.next/server/app/(app)/dashboard/page.js.nft.json +1 -1
- package/.next/server/app/(app)/dashboard/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/design/page.js +14 -14
- package/.next/server/app/(app)/design/page.js.nft.json +1 -1
- package/.next/server/app/(app)/design/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/docs/[id]/page.js +2 -2
- package/.next/server/app/(app)/docs/[id]/page.js.nft.json +1 -1
- package/.next/server/app/(app)/docs/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/docs/page.js +2 -2
- package/.next/server/app/(app)/docs/page.js.nft.json +1 -1
- package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/github/page.js +2 -2
- package/.next/server/app/(app)/github/page.js.nft.json +1 -1
- package/.next/server/app/(app)/github/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/goals/page.js +2 -2
- package/.next/server/app/(app)/goals/page.js.nft.json +1 -1
- package/.next/server/app/(app)/goals/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/inbox/page.js +2 -2
- package/.next/server/app/(app)/inbox/page.js.nft.json +1 -1
- package/.next/server/app/(app)/inbox/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/knowledge/page.js +3 -3
- package/.next/server/app/(app)/knowledge/page.js.nft.json +1 -1
- package/.next/server/app/(app)/knowledge/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/models/page.js +2 -2
- package/.next/server/app/(app)/models/page.js.nft.json +1 -1
- package/.next/server/app/(app)/models/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/notifications/page.js +2 -2
- package/.next/server/app/(app)/notifications/page.js.nft.json +1 -1
- package/.next/server/app/(app)/notifications/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/org/page.js +4 -4
- package/.next/server/app/(app)/org/page.js.nft.json +1 -1
- package/.next/server/app/(app)/org/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/organizations/page.js +2 -2
- package/.next/server/app/(app)/organizations/page.js.nft.json +1 -1
- package/.next/server/app/(app)/organizations/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/page.js +3 -3
- package/.next/server/app/(app)/page.js.nft.json +1 -1
- package/.next/server/app/(app)/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/planner/page.js +3 -3
- package/.next/server/app/(app)/planner/page.js.nft.json +1 -1
- package/.next/server/app/(app)/planner/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/plugins/page.js +2 -2
- package/.next/server/app/(app)/plugins/page.js.nft.json +1 -1
- package/.next/server/app/(app)/plugins/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/pm/page.js +2 -2
- package/.next/server/app/(app)/pm/page.js.nft.json +1 -1
- package/.next/server/app/(app)/pm/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/prepare-deploy/page.js +3 -3
- package/.next/server/app/(app)/prepare-deploy/page.js.nft.json +1 -1
- package/.next/server/app/(app)/prepare-deploy/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/profile/page.js +2 -2
- package/.next/server/app/(app)/profile/page.js.nft.json +1 -1
- package/.next/server/app/(app)/profile/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/pulse/page.js +2 -2
- package/.next/server/app/(app)/pulse/page.js.nft.json +1 -1
- package/.next/server/app/(app)/pulse/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/reports/[id]/page.js +3 -3
- package/.next/server/app/(app)/reports/[id]/page.js.nft.json +1 -1
- package/.next/server/app/(app)/reports/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/reports/page.js +3 -3
- package/.next/server/app/(app)/reports/page.js.nft.json +1 -1
- package/.next/server/app/(app)/reports/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/routines/page.js +2 -2
- package/.next/server/app/(app)/routines/page.js.nft.json +1 -1
- package/.next/server/app/(app)/routines/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/search/page.js +2 -2
- package/.next/server/app/(app)/search/page.js.nft.json +1 -1
- package/.next/server/app/(app)/search/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/security/page.js +2 -2
- package/.next/server/app/(app)/security/page.js.nft.json +1 -1
- package/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/skills/page.js +3 -3
- package/.next/server/app/(app)/skills/page.js.nft.json +1 -1
- package/.next/server/app/(app)/skills/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/tasks/page.js +2 -2
- package/.next/server/app/(app)/tasks/page.js.nft.json +1 -1
- package/.next/server/app/(app)/tasks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/test-dev/page.js +2 -2
- package/.next/server/app/(app)/test-dev/page.js.nft.json +1 -1
- package/.next/server/app/(app)/test-dev/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/update/page.js +3 -3
- package/.next/server/app/(app)/update/page.js.nft.json +1 -1
- package/.next/server/app/(app)/update/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(auth)/login/page.js +2 -2
- package/.next/server/app/(auth)/login/page.js.nft.json +1 -1
- package/.next/server/app/(auth)/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(auth)/onboarding/page.js +2 -2
- package/.next/server/app/(auth)/onboarding/page.js.nft.json +1 -1
- package/.next/server/app/(auth)/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error/page.js +3 -3
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +8 -8
- package/.next/server/app/_global-error.segments/_full.segment.rsc +8 -8
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +3 -3
- package/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/.next/server/app/_global-error.segments/_index.segment.rsc +4 -4
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +2 -2
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/[...all]/route.js +1 -1
- package/.next/server/app/api/auth/[...all]/route.js.nft.json +1 -1
- package/.next/server/app/api/cron/tick/route.js +5 -5
- package/.next/server/app/api/cron/tick/route.js.nft.json +1 -1
- package/.next/server/app/api/health/route.js +1 -1
- package/.next/server/app/api/health/route.js.nft.json +1 -1
- package/.next/server/app/api/locks/acquire/route.js +1 -1
- package/.next/server/app/api/locks/acquire/route.js.nft.json +1 -1
- package/.next/server/app/api/models/progress/route.js +1 -1
- package/.next/server/app/api/models/progress/route.js.nft.json +1 -1
- package/.next/server/app/api/passkey/authenticate/options/route.js +1 -1
- package/.next/server/app/api/passkey/authenticate/options/route.js.nft.json +1 -1
- package/.next/server/app/api/passkey/authenticate/verify/route.js +1 -1
- package/.next/server/app/api/passkey/authenticate/verify/route.js.nft.json +1 -1
- package/.next/server/app/api/passkey/register/options/route.js +1 -1
- package/.next/server/app/api/passkey/register/options/route.js.nft.json +1 -1
- package/.next/server/app/api/passkey/register/verify/route.js +1 -1
- package/.next/server/app/api/passkey/register/verify/route.js.nft.json +1 -1
- package/.next/server/app/api/stream/route.js +2 -2
- package/.next/server/app/api/stream/route.js.nft.json +1 -1
- package/.next/server/app/api/sync/file/route.js +2 -2
- package/.next/server/app/api/sync/file/route.js.nft.json +1 -1
- package/.next/server/app/api/telegram/poll/route.js +19 -19
- package/.next/server/app/api/telegram/poll/route.js.nft.json +1 -1
- package/.next/server/app/api/upload/route.js +1 -1
- package/.next/server/app/api/upload/route.js.nft.json +1 -1
- package/.next/server/app/api/v1/[[...path]]/route.js +1 -1
- package/.next/server/app/api/v1/[[...path]]/route.js.nft.json +1 -1
- package/.next/server/chunks/1033.js +14 -0
- package/.next/server/chunks/1243.js +1 -0
- package/.next/server/chunks/{6719.js → 1304.js} +1 -1
- package/.next/server/chunks/1678.js +417 -0
- package/.next/server/chunks/1952.js +1 -0
- package/.next/server/chunks/{8561.js → 1986.js} +2 -2
- package/.next/server/chunks/2118.js +869 -0
- package/.next/server/chunks/2323.js +1 -0
- package/.next/server/chunks/{7336.js → 2392.js} +1 -1
- package/.next/server/chunks/2559.js +479 -0
- package/.next/server/chunks/26.js +1 -0
- package/.next/server/chunks/{5278.js → 3140.js} +1 -1
- package/.next/server/chunks/{6479.js → 3172.js} +1 -1
- package/.next/server/chunks/3205.js +1 -0
- package/.next/server/chunks/3392.js +1 -0
- package/.next/server/chunks/{4979.js → 3987.js} +4 -4
- package/.next/server/chunks/404.js +1 -0
- package/.next/server/chunks/415.js +1 -0
- package/.next/server/chunks/4288.js +1 -0
- package/.next/server/chunks/{2599.js → 4411.js} +1 -1
- package/.next/server/chunks/{7912.js → 4561.js} +1 -1
- package/.next/server/chunks/4587.js +1 -0
- package/.next/server/chunks/4679.js +462 -1
- package/.next/server/chunks/4769.js +1 -0
- package/.next/server/chunks/4882.js +2 -0
- package/.next/server/chunks/4897.js +15 -0
- package/.next/server/chunks/5015.js +15 -0
- package/.next/server/chunks/{658.js → 5361.js} +3 -3
- package/.next/server/chunks/5557.js +1 -0
- package/.next/server/chunks/{2517.js → 5593.js} +1 -1
- package/.next/server/chunks/5661.js +1 -0
- package/.next/server/chunks/5802.js +1 -0
- package/.next/server/chunks/5878.js +1 -0
- package/.next/server/chunks/5911.js +18 -0
- package/.next/server/chunks/6083.js +1 -0
- package/.next/server/chunks/{4302.js → 6121.js} +13 -13
- package/.next/server/chunks/6309.js +1 -0
- package/.next/server/chunks/6538.js +4 -0
- package/.next/server/chunks/6585.js +1 -0
- package/.next/server/chunks/{3243.js → 6778.js} +2 -2
- package/.next/server/chunks/6807.js +1 -0
- package/.next/server/chunks/{1388.js → 6948.js} +1 -1
- package/.next/server/chunks/{1591.js → 699.js} +2 -2
- package/.next/server/chunks/7109.js +1 -0
- package/.next/server/chunks/714.js +1 -0
- package/.next/server/chunks/7474.js +1 -0
- package/.next/server/chunks/{7037.js → 7677.js} +1 -1
- package/.next/server/chunks/77.js +3 -0
- package/.next/server/chunks/7727.js +1 -0
- package/.next/server/chunks/7867.js +22 -0
- package/.next/server/chunks/{259.js → 7905.js} +5 -5
- package/.next/server/chunks/{3609.js → 7911.js} +1 -1
- package/.next/server/chunks/{2867.js → 8134.js} +2 -2
- package/.next/server/chunks/{9783.js → 8211.js} +2 -2
- package/.next/server/chunks/8224.js +1 -0
- package/.next/server/chunks/8237.js +12 -0
- package/.next/server/chunks/8498.js +1 -0
- package/.next/server/chunks/{8823.js → 907.js} +10 -10
- package/.next/server/chunks/{7778.js → 9099.js} +1 -1
- package/.next/server/chunks/912.js +1 -0
- package/.next/server/chunks/9180.js +1 -0
- package/.next/server/chunks/9344.js +910 -0
- package/.next/server/chunks/9374.js +1 -0
- package/.next/server/chunks/939.js +1 -0
- package/.next/server/chunks/9419.js +1 -0
- package/.next/server/chunks/9426.js +188 -0
- package/.next/server/chunks/9677.js +17 -0
- package/.next/server/chunks/978.js +1 -0
- package/.next/server/chunks/9795.js +21 -0
- package/.next/server/instrumentation.js +1 -1
- package/.next/server/instrumentation.js.nft.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/middleware.js +6 -6
- package/.next/server/middleware.js.nft.json +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/171-2a8b8f61f7ab0828.js +1 -0
- package/.next/static/chunks/{23550918-ff694f70f4b0648c.js → 1ceccf25-731706dbe95504b9.js} +1 -1
- package/.next/static/chunks/3556-dbb9200143640484.js +1 -0
- package/.next/static/chunks/{2320-fc8b39380e69d465.js → 3703-b09be945970ea475.js} +1 -1
- package/.next/static/chunks/5452-d0ce3b51601a5815.js +1 -0
- package/.next/static/chunks/5523-9c369c915ee6d9c9.js +1 -0
- package/.next/static/chunks/7066-c10959874b2315bf.js +32 -0
- package/.next/static/chunks/717-1d1163010e3b541d.js +1 -0
- package/.next/static/chunks/7218-21f40f9caef5d658.js +12 -0
- package/.next/static/chunks/7363-b9ebe28fed23b997.js +1 -0
- package/.next/static/chunks/7621-87d8d0d0568de3ca.js +4 -0
- package/.next/static/chunks/{5920.6451a68b63918988.js → 7790.b648690cf25f29eb.js} +1 -1
- package/.next/static/chunks/{7509.721cd47a931c5518.js → 8251.6fedb7dc4d720bab.js} +1 -1
- package/.next/static/chunks/9279-467412113ad55642.js +1 -0
- package/.next/static/chunks/928-6dec8198101bc3e6.js +1 -0
- package/.next/static/chunks/9874-dc2fbf114916382b.js +1 -0
- package/.next/static/chunks/app/(app)/activity/page-ce3fc6003368f592.js +1 -0
- package/.next/static/chunks/app/(app)/agents/[handle]/page-236e13b8edadd480.js +1 -0
- package/.next/static/chunks/app/(app)/code/page-18ae765c81a2c709.js +1 -0
- package/.next/static/chunks/app/(app)/config/page-8a6fcf6c04337210.js +1 -0
- package/.next/static/chunks/app/(app)/costs/page-230b0ef03a2024b0.js +1 -0
- package/.next/static/chunks/app/(app)/cron/page-ca89769e2522191d.js +1 -0
- package/.next/static/chunks/app/(app)/dashboard/page-6237c3a35cce55ce.js +1 -0
- package/.next/static/chunks/app/(app)/design/{page-11b9cc40f32fe34f.js → page-5997054187e59e74.js} +3 -3
- package/.next/static/chunks/app/(app)/docs/[id]/page-3362d323e0f4dada.js +1 -0
- package/.next/static/chunks/app/(app)/docs/page-d7d8018a7884a4b4.js +1 -0
- package/.next/static/chunks/app/(app)/error-f9a3caa63e064a7e.js +1 -0
- package/.next/static/chunks/app/(app)/github/page-f5c1cae725d080fb.js +1 -0
- package/.next/static/chunks/app/(app)/goals/page-95e85ce115ed9ff3.js +1 -0
- package/.next/static/chunks/app/(app)/inbox/page-474c3f0a181bbbd3.js +12 -0
- package/.next/static/chunks/app/(app)/knowledge/page-08596428ca34b620.js +1 -0
- package/.next/static/chunks/app/(app)/layout-720a1171f7152d86.js +1 -0
- package/.next/static/chunks/app/(app)/models/page-fa1eb257e6911c9a.js +1 -0
- package/.next/static/chunks/app/(app)/notifications/page-31f2a041bdb497b9.js +12 -0
- package/.next/static/chunks/app/(app)/org/page-666438930ddc4639.js +12 -0
- package/.next/static/chunks/app/(app)/organizations/page-0de7da829c9b2249.js +1 -0
- package/.next/static/chunks/app/(app)/page-bfcf3d25f468240f.js +1 -0
- package/.next/static/chunks/app/(app)/planner/page-0fc0ebe2d338769a.js +1 -0
- package/.next/static/chunks/app/(app)/plugins/page-ad369fbfec6f3d1c.js +1 -0
- package/.next/static/chunks/app/(app)/pm/page-bb39c9d9a4f0d597.js +1 -0
- package/.next/static/chunks/app/(app)/prepare-deploy/page-f182991e68b159c1.js +1 -0
- package/.next/static/chunks/app/(app)/profile/page-cf5fe16bfad2a7ba.js +1 -0
- package/.next/static/chunks/app/(app)/pulse/page-03877c467c491e8a.js +1 -0
- package/.next/static/chunks/app/(app)/reports/[id]/page-ca89769e2522191d.js +1 -0
- package/.next/static/chunks/app/(app)/reports/page-7741b6a25e582791.js +1 -0
- package/.next/static/chunks/app/(app)/routines/page-ea83e6337e7502c2.js +1 -0
- package/.next/static/chunks/app/(app)/search/page-5e7f7cf0cc51b76f.js +1 -0
- package/.next/static/chunks/app/(app)/security/page-410144cdc35e19cc.js +1 -0
- package/.next/static/chunks/app/(app)/skills/page-90e5d8a24920c275.js +1 -0
- package/.next/static/chunks/app/(app)/tasks/page-4d535f34ae9c44ca.js +1 -0
- package/.next/static/chunks/app/(app)/test-dev/page-782c8cadd8a10feb.js +1 -0
- package/.next/static/chunks/app/(app)/update/page-decdb0ece526b50f.js +1 -0
- package/.next/static/chunks/app/(auth)/login/page-147a9be880c44d42.js +1 -0
- package/.next/static/chunks/app/(auth)/onboarding/page-8548be7e3ab3659e.js +1 -0
- package/.next/static/chunks/app/_global-error/{page-eacef2b697bd0982.js → page-ffc45e65538b6024.js} +1 -1
- package/.next/static/chunks/app/_not-found/page-405e53afca481eab.js +1 -0
- package/.next/static/chunks/app/api/auth/[...all]/{route-eacef2b697bd0982.js → route-ffc45e65538b6024.js} +1 -1
- package/.next/static/chunks/app/api/cron/tick/{route-eacef2b697bd0982.js → route-ffc45e65538b6024.js} +1 -1
- package/.next/static/chunks/app/api/health/{route-eacef2b697bd0982.js → route-ffc45e65538b6024.js} +1 -1
- package/.next/static/chunks/app/api/locks/acquire/route-ffc45e65538b6024.js +1 -0
- package/.next/static/chunks/app/api/models/progress/route-ffc45e65538b6024.js +1 -0
- package/.next/static/chunks/app/api/passkey/authenticate/options/route-ffc45e65538b6024.js +1 -0
- package/.next/static/chunks/app/api/passkey/authenticate/verify/route-ffc45e65538b6024.js +1 -0
- package/.next/static/chunks/app/api/passkey/register/options/route-ffc45e65538b6024.js +1 -0
- package/.next/static/chunks/app/api/passkey/register/verify/route-ffc45e65538b6024.js +1 -0
- package/.next/static/chunks/app/api/stream/route-ffc45e65538b6024.js +1 -0
- package/.next/static/chunks/app/api/sync/file/route-ffc45e65538b6024.js +1 -0
- package/.next/static/chunks/app/api/telegram/poll/route-ffc45e65538b6024.js +1 -0
- package/.next/static/chunks/app/api/upload/route-ffc45e65538b6024.js +1 -0
- package/.next/static/chunks/app/api/v1/[[...path]]/route-ffc45e65538b6024.js +1 -0
- package/.next/static/chunks/app/error-e128df085a794b38.js +1 -0
- package/.next/static/chunks/app/global-error-339c61c4184d384a.js +1 -0
- package/.next/static/chunks/app/layout-c717657a60a7f62c.js +1 -0
- package/.next/static/chunks/main-143b6dbf9c5dc129.js +5 -0
- package/.next/static/chunks/main-app-8ce4eaae11d4f233.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-ffc45e65538b6024.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-ffc45e65538b6024.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-ffc45e65538b6024.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-ffc45e65538b6024.js +1 -0
- package/.next/static/chunks/webpack-0e63b9ea83aeb0a2.js +1 -0
- package/.next/trace-build +1 -1
- package/CHANGELOG.md +19 -0
- package/README.md +1 -1
- package/README.pt-BR.md +1 -1
- package/docs/UPDATE.md +10 -3
- package/package.json +9 -9
- package/.next/server/chunks/1249.js +0 -910
- package/.next/server/chunks/1572.js +0 -1
- package/.next/server/chunks/1619.js +0 -188
- package/.next/server/chunks/162.js +0 -1
- package/.next/server/chunks/1845.js +0 -462
- package/.next/server/chunks/2341.js +0 -1
- package/.next/server/chunks/260.js +0 -1
- package/.next/server/chunks/288.js +0 -1
- package/.next/server/chunks/2960.js +0 -14
- package/.next/server/chunks/3050.js +0 -18
- package/.next/server/chunks/3056.js +0 -1
- package/.next/server/chunks/3131.js +0 -1
- package/.next/server/chunks/3234.js +0 -869
- package/.next/server/chunks/3266.js +0 -15
- package/.next/server/chunks/3550.js +0 -1
- package/.next/server/chunks/4574.js +0 -1
- package/.next/server/chunks/4616.js +0 -479
- package/.next/server/chunks/4619.js +0 -1
- package/.next/server/chunks/4804.js +0 -1
- package/.next/server/chunks/4832.js +0 -2
- package/.next/server/chunks/5060.js +0 -1
- package/.next/server/chunks/5614.js +0 -1
- package/.next/server/chunks/6431.js +0 -1
- package/.next/server/chunks/6658.js +0 -1
- package/.next/server/chunks/6706.js +0 -1
- package/.next/server/chunks/6753.js +0 -1
- package/.next/server/chunks/683.js +0 -1
- package/.next/server/chunks/6873.js +0 -1
- package/.next/server/chunks/7236.js +0 -4
- package/.next/server/chunks/73.js +0 -17
- package/.next/server/chunks/7514.js +0 -1
- package/.next/server/chunks/7589.js +0 -22
- package/.next/server/chunks/7621.js +0 -12
- package/.next/server/chunks/7622.js +0 -1
- package/.next/server/chunks/7949.js +0 -1
- package/.next/server/chunks/7971.js +0 -1
- package/.next/server/chunks/7989.js +0 -1
- package/.next/server/chunks/7993.js +0 -21
- package/.next/server/chunks/8497.js +0 -1
- package/.next/server/chunks/850.js +0 -1
- package/.next/server/chunks/8623.js +0 -1
- package/.next/server/chunks/8762.js +0 -15
- package/.next/server/chunks/8846.js +0 -1
- package/.next/server/chunks/9160.js +0 -417
- package/.next/server/chunks/9676.js +0 -1
- package/.next/server/chunks/9680.js +0 -1
- package/.next/server/chunks/9969.js +0 -3
- package/.next/static/chunks/215-18ea748d2ff2caff.js +0 -1
- package/.next/static/chunks/27-b49ec46cfcce75b7.js +0 -1
- package/.next/static/chunks/2989-2dd9a66d007a96e8.js +0 -4
- package/.next/static/chunks/3219-92e75397858f3f1f.js +0 -1
- package/.next/static/chunks/4263-adecb5b466380b6e.js +0 -1
- package/.next/static/chunks/4643-d0ab4088e129651f.js +0 -1
- package/.next/static/chunks/6834-4759af1ce7d95fb6.js +0 -32
- package/.next/static/chunks/7555-d2209e697b0a798e.js +0 -1
- package/.next/static/chunks/8370-e88907d9c72435e7.js +0 -12
- package/.next/static/chunks/9219-4a39a98b5502d9d1.js +0 -1
- package/.next/static/chunks/9562-4b50b4e408bc0a42.js +0 -1
- package/.next/static/chunks/9690-53d5222618cbeddb.js +0 -1
- package/.next/static/chunks/app/(app)/activity/page-93d4012627ea70d5.js +0 -1
- package/.next/static/chunks/app/(app)/agents/[handle]/page-bfe740784bdf239c.js +0 -1
- package/.next/static/chunks/app/(app)/code/page-5e24874f11857823.js +0 -1
- package/.next/static/chunks/app/(app)/config/page-12c5487a8d55c2c2.js +0 -1
- package/.next/static/chunks/app/(app)/costs/page-6edcec363617f5ef.js +0 -1
- package/.next/static/chunks/app/(app)/cron/page-f9167770757921f7.js +0 -1
- package/.next/static/chunks/app/(app)/dashboard/page-103f172e762911d1.js +0 -1
- package/.next/static/chunks/app/(app)/docs/[id]/page-eaae80c3d47e1ba7.js +0 -1
- package/.next/static/chunks/app/(app)/docs/page-87457e514ea7de32.js +0 -1
- package/.next/static/chunks/app/(app)/error-988cd28480809861.js +0 -1
- package/.next/static/chunks/app/(app)/github/page-ff62b7618c594632.js +0 -1
- package/.next/static/chunks/app/(app)/goals/page-d4d854c091020a92.js +0 -1
- package/.next/static/chunks/app/(app)/inbox/page-1bcfc50e9df5ed6f.js +0 -12
- package/.next/static/chunks/app/(app)/knowledge/page-0a55ce74e274817c.js +0 -1
- package/.next/static/chunks/app/(app)/layout-825ba765e8034dfb.js +0 -1
- package/.next/static/chunks/app/(app)/models/page-cd077c548916b8cb.js +0 -1
- package/.next/static/chunks/app/(app)/notifications/page-c5c7945f6f6f18d6.js +0 -12
- package/.next/static/chunks/app/(app)/org/page-a83804854bd0d44a.js +0 -12
- package/.next/static/chunks/app/(app)/organizations/page-b38db8e364e3a108.js +0 -1
- package/.next/static/chunks/app/(app)/page-733340fec4cd0173.js +0 -1
- package/.next/static/chunks/app/(app)/planner/page-06b2841d0438d92d.js +0 -1
- package/.next/static/chunks/app/(app)/plugins/page-535ed062643077fc.js +0 -1
- package/.next/static/chunks/app/(app)/pm/page-dc0296761e1af17c.js +0 -1
- package/.next/static/chunks/app/(app)/prepare-deploy/page-6f0c5081caf1d013.js +0 -1
- package/.next/static/chunks/app/(app)/profile/page-cef1aa72ffc02e9c.js +0 -1
- package/.next/static/chunks/app/(app)/pulse/page-d4bdec1709913581.js +0 -1
- package/.next/static/chunks/app/(app)/reports/[id]/page-f9167770757921f7.js +0 -1
- package/.next/static/chunks/app/(app)/reports/page-5c37a53bbd4fd1c3.js +0 -1
- package/.next/static/chunks/app/(app)/routines/page-e274160cfbb3c594.js +0 -1
- package/.next/static/chunks/app/(app)/search/page-f0e082b9b0402981.js +0 -1
- package/.next/static/chunks/app/(app)/security/page-a12f04656bde8aad.js +0 -1
- package/.next/static/chunks/app/(app)/skills/page-583f9780fa981aa8.js +0 -1
- package/.next/static/chunks/app/(app)/tasks/page-7bb09650b84e0755.js +0 -1
- package/.next/static/chunks/app/(app)/test-dev/page-ce66efbb83b2ed21.js +0 -1
- package/.next/static/chunks/app/(app)/update/page-6a8082f1c1b3b762.js +0 -1
- package/.next/static/chunks/app/(auth)/login/page-b512c906a1566d8c.js +0 -1
- package/.next/static/chunks/app/(auth)/onboarding/page-8f6bf1259bb5aab5.js +0 -1
- package/.next/static/chunks/app/_not-found/page-dc38b02aebeab535.js +0 -1
- package/.next/static/chunks/app/api/locks/acquire/route-eacef2b697bd0982.js +0 -1
- package/.next/static/chunks/app/api/models/progress/route-eacef2b697bd0982.js +0 -1
- package/.next/static/chunks/app/api/passkey/authenticate/options/route-eacef2b697bd0982.js +0 -1
- package/.next/static/chunks/app/api/passkey/authenticate/verify/route-eacef2b697bd0982.js +0 -1
- package/.next/static/chunks/app/api/passkey/register/options/route-eacef2b697bd0982.js +0 -1
- package/.next/static/chunks/app/api/passkey/register/verify/route-eacef2b697bd0982.js +0 -1
- package/.next/static/chunks/app/api/stream/route-eacef2b697bd0982.js +0 -1
- package/.next/static/chunks/app/api/sync/file/route-eacef2b697bd0982.js +0 -1
- package/.next/static/chunks/app/api/telegram/poll/route-eacef2b697bd0982.js +0 -1
- package/.next/static/chunks/app/api/upload/route-eacef2b697bd0982.js +0 -1
- package/.next/static/chunks/app/api/v1/[[...path]]/route-eacef2b697bd0982.js +0 -1
- package/.next/static/chunks/app/error-09899a13c38b6e89.js +0 -1
- package/.next/static/chunks/app/global-error-c2ea8fef715f226d.js +0 -1
- package/.next/static/chunks/app/layout-e6008e66aea1a849.js +0 -1
- package/.next/static/chunks/main-722e16032e7764d1.js +0 -5
- package/.next/static/chunks/main-app-761880af2b6f1962.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-eacef2b697bd0982.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-eacef2b697bd0982.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-eacef2b697bd0982.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-eacef2b697bd0982.js +0 -1
- package/.next/static/chunks/webpack-222e3894b78c67db.js +0 -1
- /package/.next/static/{Mx3bcAGWI83SQ6PqC4kYX → ehoxBsPzAtE_FyZ2VpMF0}/_buildManifest.js +0 -0
- /package/.next/static/{Mx3bcAGWI83SQ6PqC4kYX → ehoxBsPzAtE_FyZ2VpMF0}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(()=>{var a={};a.id=338,a.ids=[338],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1708:a=>{"use strict";a.exports=require("node:process")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},5006:a=>{"use strict";a.exports=import("@playwright/test")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},
|
|
1
|
+
(()=>{var a={};a.id=338,a.ids=[338],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1708:a=>{"use strict";a.exports=require("node:process")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},5006:a=>{"use strict";a.exports=import("@playwright/test")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12407:(a,b,c)=>{"use strict";c.d(b,{DesignClient:()=>d});let d=(0,c(97879).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")},12851:(a,b,c)=>{"use strict";c.d(b,{I:()=>f});var d=c(12940);let e=!1;function f(){e||(e=!0,d.F.exec(`
|
|
2
2
|
CREATE TABLE IF NOT EXISTS design_session (
|
|
3
3
|
id TEXT PRIMARY KEY,
|
|
4
4
|
workspace_id TEXT NOT NULL REFERENCES workspace(id) ON DELETE CASCADE,
|
|
@@ -38,8 +38,17 @@
|
|
|
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
|
-
`))}},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}}},23719:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"00051c91c7dca5b2ed9baa8e3c2004af4875169699":()=>n.e9,"001a3a28426f79abc91d40fa7dd4cbfd43e3d36131":()=>o.Fy,"001b9ae4c2ecf53ff029edf2f641e5c766015dc45a":()=>e.y_,"00239816275c839b806db62964632e16a93c1f70f2":()=>n.wP,"0025702d9be00ab981752267c30f22148e1156d08d":()=>o.Rr,"002b0e1a6cbadd698c849dff2fb3a3f7c779f3f410":()=>p.PG,"002b81a5ac2b55ecc8d0337fcf394b1b5997bf57bf":()=>h.x7,"002d170169b404dfa07563c61f709ed86ed7649c07":()=>j.f,"003313fcedf1513e66577ac56f5f63a9dc25f333a3":()=>o.zC,"00368d513d83907a8f4ba8986f1aa4b666abb6ad3f":()=>n.I_,"003b06d797273823125ca9af0efeb730b9e96ebdf9":()=>d.xU,"00455199924707d963d9938c5b404ae813f90064c7":()=>n.gn,"004d8d9e8033cc5ebc8e4bc28d5a0b17c3a5f1a42c":()=>o.j0,"00559e73fec16acf73cac021e62ec0e900348d99f4":()=>p.pM,"005a571e9f925fc3e12976cc4f07b437bcea1f0f12":()=>p.eU,"005aed0ec5d7865de82822cea6e37e04ed711483b0":()=>e.GK,"005d6236fdcebaa4d6b5134a005c8ae844ae5da28b":()=>n.yL,"005d90d568d42db379104c20b60d90b9287e50b1ea":()=>e.PE,"006debeee382aeab3cec4a1512b243e5752158bddb":()=>n.PO,"00720e15b692af52616f0db65016380609680e9374":()=>n.oS,"007b1dcf147417c0e0a8911b079e83c4c09dbc97c8":()=>n.Ni,"0084309fb44ce269483fc8999928b4a0ba04581c5a":()=>j.O,"008abaabb379d9fbbd4d309ffb88d9371bd171a3d1":()=>k.io,"008b42e84247688609d4d11af390d02199cca0d384":()=>n.ME,"009219bf65517888133423afd094deafd381a5895b":()=>n.o3,"0092e74bde6eae11a5647039382ef248fb7eddaf80":()=>n.Tu,"00c4dd9d99c4d6a26d18945e406f7cde2515944c2e":()=>k.eg,"00ca307e338ad5c4eab62b9e08bc77d4373a600b0e":()=>i.V,"00db26a073944d2d371310b169dcba82ab4bdf3b35":()=>k.dj,"00e7096e00c8dea3583e5b0ed9bcdf52d4b3b42bd5":()=>o.nx,"00e8c93fad2e12a8a2d973aa8eac769b42bd0f47a0":()=>e.KO,"00ea05b9ea50055e383eedb9db7a20a0a377095e71":()=>h.Mp,"00ea21e753d9d278e1b3555dd56af4f2daed118c74":()=>d.bt,"400207e71c80a9d2076c6b25b6f57a85f1d812b1a2":()=>n.fb,"400d5f8b83cd2cbcd61cc0e98214c40a80328b81bd":()=>d.gg,"4013575da004bdd1b0a98c979bec6d3ea8c847b87a":()=>k.De,"4014fad5d4a6c0cdadbe2426bd996cce51ad2b8539":()=>i.F,"401913117624f76d855c3dee8e73690e05128d58bc":()=>n.is,"4030178e8daf36e04142f59d0b5d0c42fa5ddb26a8":()=>i.VJ,"4032ce36226d2272a3df9a36cf1933b6c28baccdd3":()=>p.Kg,"40371aa295d2eda44fb458b2c8e23e6e2b9313938d":()=>n.DX,"40390c538324b2d9e4bffc648514a3ed6e0dc4da3c":()=>n.NM,"403efa02985947bb2e55947842896a8b3bb0fbdebb":()=>h.lR,"404118134d93aa31bf95ed5fb006a338a57841c620":()=>d.VL,"4043659367e07630c7e4ee817d265baadc7bf68b34":()=>n.$_,"40491c74154aedc3bfa423d1b839aa0e79a0901a39":()=>o.KD,"404abb8b6333ddb838d1d08be265ef5ac941458557":()=>e.ey,"404fe2e7af3aeb0bd58b9edb36a05dda84fdcf7b70":()=>n.a4,"405ad4cd34827706eef52f506339446771d01deade":()=>g.p,"4061b0fc50632faed18dc136cef71539c43b0a646b":()=>d.rd,"4067bdd8eed7e5307f4e420d295c94f85df5b88fff":()=>i.E_,"406daa9a26c598e859f8399f373c73dbefc1167f05":()=>d.GW,"4071b32bf6585d7bc4fcb2e4b5ca0158cbf0cbfa31":()=>d.Wu,"4072b2947cae9c50aafd25582c4e391bd17034d89e":()=>e.RG,"4076cc6b6cff1859f96df3b69ea5748fc1694546a4":()=>e.r7,"407aa8a5d4460f484c3868d791e7f99366c3c7ebf6":()=>n.h_,"407ed950674c9518df668a6c77e9261ad5fd411859":()=>l.q4,"4080fd438c1b3c444b71999be816e9aacd959ad4e7":()=>o.Xu,"4081819487c7b4a3ca7c0ea79ee3b1adcc076b3dfc":()=>h.sE,"4083c241ed22d1569697ed1b7954f452bccb0dfbe9":()=>e.lJ,"4083c3a91894ca82258f9de7f07bc9efc0ef9c31f1":()=>n.R6,"40868c53dcde67d6e8a29cfa083b154cf5be2c774f":()=>l.TX,"408cbc1b9a1e5b6f456bdb17a31c2aa3ead960be5a":()=>e.S,"40b0da75104ac6ed9b3d63a24573082c88b5e3dca6":()=>n.lj,"40b976e0ca8c2141852ea542ea13b8eceaffc367c6":()=>e.jc,"40bb6b44a7c7968528b50ab5312676084e3834259a":()=>l.IL,"40dffad47bc5304514a3e51316ca72022ad3b21ffb":()=>g.L,"40e5a89c27197733d772c2a88cd60b5054b3c26077":()=>m.y,"40e5b955789eec4a1e5972dc536d0f77c54abb0372":()=>d.H7,"40e976bc870ce1c7b3f38b0d9673cb9eb9fe7e3699":()=>p.lP,"40f111930771729d33726ba9d580ec819563b9cb6f":()=>i.zS,"60002bb8da7f2c3a630af3e2165a1a12199f7770f8":()=>e.AA,"6003b268e82f53efcb72087982c8bd31646cbe734f":()=>d.Fu,"600e4c29037ec9fae5202a4a4d0890a44c2d2743c9":()=>f.k,"602d64cbbf4e40e223808485255b7956d79297971c":()=>d.n4,"6033ddf0ff1861a759f52f595fd5deaf65d294436a":()=>n.ft,"604a66e8eb6f8700bbb29af86dad5acb34f19ed658":()=>n.NW,"607069e2bfec182c53a5c62cb6f81a08ef780eb58f":()=>l.Jp,"6075eef0f0b461e465382461b6bc2e3d8c9f970e02":()=>d.ME,"607d87ba6080e0a18f7515163eaa0c8deb323a9e9d":()=>e.q$,"607e0e42f61eac7689406cd04620ba0c8f1afcaf87":()=>n.Fo,"60837a1694af21f238a015786df16d115ded01e9cc":()=>n.EQ,"6085c1eff9ee8fe3f7c3f226f3b0b18fb5be02165a":()=>n.qw,"60a1530818f1466351c9506fe097350848042a9afa":()=>d.jw,"60b7be3ed20547cfe6e958bf0bc7cd7597b4cd7cd9":()=>d.rm,"60cb5532c7e73a92965d6c8c43deae1bc445658948":()=>l.bk,"60d4ee67d4835094e07f66aebe55ebbf965ee7aef0":()=>o.TH,"60df683925211e3fe2c339ccf9e922d11e098ccd23":()=>l.bV,"60dfe5517f88ae8541c0250966511da5c29416ccb5":()=>f.I,"60e0b0224a321119849c4906ec560f96898033d2de":()=>n.pG,"60e3c6341b7c8308309300fac949db6ba63d9ad540":()=>e.LZ,"60faf696704adc383be5bef2511d5e563a72644ea1":()=>n.RS,"7000739402aa8ff411bd2a910e87e78b8a4fdf8ad4":()=>n.fM,"701428695eeaccf59f2cbd6516dfe63831d54a5449":()=>n.sy,"7031f18298206b9eed07915789c732e983d508c7ca":()=>n.Sy,"7079e05add04a9ac5f434e8fbfa4aea018130164fb":()=>n.a7,"70883b63909498b35c556806231bb1479efe0b3add":()=>e.M8,"709c95f1955b8a7cfcf2b4aed1aa1d7f02e091c6bf":()=>d._z,"7c59630ab1449d3b9501c2f2524df8ee3e64aa4648":()=>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)},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")},38522:a=>{"use strict";a.exports=require("node:zlib")},41012:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,63885,23)),Promise.resolve().then(c.bind(c,64596)),Promise.resolve().then(c.bind(c,79315)),Promise.resolve().then(c.bind(c,93209)),Promise.resolve().then(c.bind(c,55872)),Promise.resolve().then(c.bind(c,36651)),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")},64596:(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(82792);c(92542),c(5199);var k=c(2910);let l=(0,k.createServerReference)("40371aa295d2eda44fb458b2c8e23e6e2b9313938d",k.callServer,void 0,k.findSourceMapURL,"getDesignScreen");k.callServer,k.findSourceMapURL;let m=(0,k.createServerReference)("7031f18298206b9eed07915789c732e983d508c7ca",k.callServer,void 0,k.findSourceMapURL,"askDesign");k.callServer,k.findSourceMapURL,k.callServer,k.findSourceMapURL,k.callServer,k.findSourceMapURL;let n=(0,k.createServerReference)("40b0da75104ac6ed9b3d63a24573082c88b5e3dca6",k.callServer,void 0,k.findSourceMapURL,"readDesignDoc"),o=(0,k.createServerReference)("0092e74bde6eae11a5647039382ef248fb7eddaf80",k.callServer,void 0,k.findSourceMapURL,"scaffoldDesignFromBrief"),p=(0,k.createServerReference)("60837a1694af21f238a015786df16d115ded01e9cc",k.callServer,void 0,k.findSourceMapURL,"commitDesignScreen"),q=(0,k.createServerReference)("404fe2e7af3aeb0bd58b9edb36a05dda84fdcf7b70",k.callServer,void 0,k.findSourceMapURL,"saveDesignCheckpoint");k.callServer,k.findSourceMapURL;let r=(0,k.createServerReference)("401913117624f76d855c3dee8e73690e05128d58bc",k.callServer,void 0,k.findSourceMapURL,"approveDesign"),s=(0,k.createServerReference)("00720e15b692af52616f0db65016380609680e9374",k.callServer,void 0,k.findSourceMapURL,"handoffToExecution"),t=(0,k.createServerReference)("00368d513d83907a8f4ba8986f1aa4b666abb6ad3f",k.callServer,void 0,k.findSourceMapURL,"resumeDesignHandoff"),u=(0,k.createServerReference)("00051c91c7dca5b2ed9baa8e3c2004af4875169699",k.callServer,void 0,k.findSourceMapURL,"buildDesignProduction"),v=(0,k.createServerReference)("7079e05add04a9ac5f434e8fbfa4aea018130164fb",k.callServer,void 0,k.findSourceMapURL,"addDesignMarkup"),w=(0,k.createServerReference)("7c59630ab1449d3b9501c2f2524df8ee3e64aa4648",k.callServer,void 0,k.findSourceMapURL,"addDesignComment"),x=(0,k.createServerReference)("40390c538324b2d9e4bffc648514a3ed6e0dc4da3c",k.callServer,void 0,k.findSourceMapURL,"deleteDesignComment"),y=(0,k.createServerReference)("400207e71c80a9d2076c6b25b6f57a85f1d812b1a2",k.callServer,void 0,k.findSourceMapURL,"restoreDesignCheckpoint"),z=(0,k.createServerReference)("60e0b0224a321119849c4906ec560f96898033d2de",k.callServer,void 0,k.findSourceMapURL,"restoreDesignVersion");var A=c(89814),B=c(77954);let C=`(function(){
|
|
41
|
+
`))}},13171:(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(66408),e=c(36329),f=c(96807);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?`
|
|
42
|
+
Project brief:
|
|
43
|
+
${a.brief.slice(0,3e3)}`:"",a.mockFiles.length?`
|
|
44
|
+
Attached mock/prototype (${a.mockFiles.length} files): ${a.mockFiles.slice(0,14).join(", ")} — read them and match the product precisely.`:"",a.designMockFiles.length?`
|
|
45
|
+
Design module output so far (design-mock/): ${a.designMockFiles.slice(0,14).join(", ")}.`:"",a.designSkills.length?`
|
|
46
|
+
Design skills available (design-skills/): ${a.designSkills.map(a=>a.replace(/^design-skills\//,"")).slice(0,20).join(", ")} — consult the relevant ones.`:"",a.approved?`
|
|
47
|
+
An APPROVED design already exists (design-mock/APPROVED.md) — the official visual reference. Honor it; do not drift.`:"",a.hasImported?`
|
|
48
|
+
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?`
|
|
49
|
+
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?`
|
|
50
|
+
MOST RELEVANT seeded skills for THIS request — READ the matching \`.claude/skills/<name>.md\` FIRST before building:
|
|
51
|
+
${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)}},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")},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")},32459:(a,b,c)=>{"use strict";c.d(b,{DesignClient:()=>Z});var d=c(40201),e=c(98604),f=c(27499),g=c(71955),h=c(77758),i=c(20178),j=c(10146);c(97865),c(16679);var k=c(26021);let l=(0,k.createServerReference)("40bac470c1253b0cd0dc683537b3cf5462d92020bc",k.callServer,void 0,k.findSourceMapURL,"getDesignScreen");k.callServer,k.findSourceMapURL;let m=(0,k.createServerReference)("7080b27ff6dfc3db037e16c1bfcb0dbdd6e39da61a",k.callServer,void 0,k.findSourceMapURL,"askDesign");k.callServer,k.findSourceMapURL,k.callServer,k.findSourceMapURL,k.callServer,k.findSourceMapURL;let n=(0,k.createServerReference)("40aa8544982f3077cdbc78e57a1bc7a1d078a5035f",k.callServer,void 0,k.findSourceMapURL,"readDesignDoc"),o=(0,k.createServerReference)("00a3c4b5a13e1dde6efab6d5421a9232dfd87a4689",k.callServer,void 0,k.findSourceMapURL,"scaffoldDesignFromBrief"),p=(0,k.createServerReference)("602d70d47f8248807f19f7af7595ad03cb510362f1",k.callServer,void 0,k.findSourceMapURL,"commitDesignScreen"),q=(0,k.createServerReference)("400df4e1324216021f528585fdf52bcbb465ae43c6",k.callServer,void 0,k.findSourceMapURL,"saveDesignCheckpoint");k.callServer,k.findSourceMapURL;let r=(0,k.createServerReference)("40c1f693730c73d3ea25cb7fead89fbeddc38941bf",k.callServer,void 0,k.findSourceMapURL,"approveDesign"),s=(0,k.createServerReference)("007d2d9dd848b3415490b6f32875e692d898958ab6",k.callServer,void 0,k.findSourceMapURL,"handoffToExecution"),t=(0,k.createServerReference)("00881dc144c821d03ec1349f977507a79eb62c08b9",k.callServer,void 0,k.findSourceMapURL,"resumeDesignHandoff"),u=(0,k.createServerReference)("000775aa288b626c1a9d42728f9f4ff7d9d3d468d4",k.callServer,void 0,k.findSourceMapURL,"buildDesignProduction"),v=(0,k.createServerReference)("7092594720b30422789b60560e0e360acd53a13329",k.callServer,void 0,k.findSourceMapURL,"addDesignMarkup"),w=(0,k.createServerReference)("7cd67f9da791307c34e973ce5935ff3ebdb540ece0",k.callServer,void 0,k.findSourceMapURL,"addDesignComment"),x=(0,k.createServerReference)("40b8490ba2b7dd406f11ea61518ad8761bb15ca558",k.callServer,void 0,k.findSourceMapURL,"deleteDesignComment"),y=(0,k.createServerReference)("40103701dbb018905c3123a247995125d8a7bd4d7a",k.callServer,void 0,k.findSourceMapURL,"restoreDesignCheckpoint"),z=(0,k.createServerReference)("60e6e05368a96761ba5c0fb9a1542975b0e1812ac5",k.callServer,void 0,k.findSourceMapURL,"restoreDesignVersion");var A=c(80019),B=c(26933);let C=`(function(){
|
|
43
52
|
var MODE = "select";
|
|
44
53
|
var ZOOM = 1, ZOX = 0, ZOY = 0;
|
|
45
54
|
|
|
@@ -341,14 +350,5 @@ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__
|
|
|
341
350
|
post("canvas:ready", { interactive: INTERACTIVE });
|
|
342
351
|
if(!INTERACTIVE) post("canvas:baseline", { html: serializeBody() }); // history/persist only for static screens
|
|
343
352
|
setTimeout(emitTree, 80);
|
|
344
|
-
})();`;var D=c(12480),E=c(31008),F=c(26945);c(90328),c(44167);var G=c(34215);let H=(0,k.createServerReference)("003313fcedf1513e66577ac56f5f63a9dc25f333a3",k.callServer,void 0,k.findSourceMapURL,"stopLiveInspectAction"),I=(0,k.createServerReference)("00e7096e00c8dea3583e5b0ed9bcdf52d4b3b42bd5",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,e.useRef)(c.status).current=c.status,(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' 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})}},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?`
|
|
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,9160,6873,259,8846],()=>b(b.s=21308));module.exports=c})();
|
|
353
|
+
})();`;var D=c(89933),E=c(49963),F=c(8169);c(27115),c(96529);var G=c(2015);let H=(0,k.createServerReference)("0011588f6fe8674c7176a940ff9feb94f0d7019cbf",k.callServer,void 0,k.findSourceMapURL,"stopLiveInspectAction"),I=(0,k.createServerReference)("00e5801971a984c426a1d1c4adcd9eaff741489733",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,e.useRef)(c.status).current=c.status,(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' 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})}},33873:a=>{"use strict";a.exports=require("path")},37067:a=>{"use strict";a.exports=require("node:http")},38522:a=>{"use strict";a.exports=require("node:zlib")},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")},44578:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,35222,23)),Promise.resolve().then(c.bind(c,12407)),Promise.resolve().then(c.bind(c,26949)),Promise.resolve().then(c.bind(c,17819)),Promise.resolve().then(c.bind(c,68442)),Promise.resolve().then(c.bind(c,83032)),Promise.resolve().then(c.bind(c,9212)),Promise.resolve().then(c.bind(c,57740)),Promise.resolve().then(c.bind(c,41323))},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")},55863:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>O,handler:()=>Q,routeModule:()=>P});var d=c(9345),e=c(35526),f=c(70486),g=c(68279),h=c(49421),i=c(17653),j=c(32732),k=c(47341),l=c(45469),m=c(25239),n=c(59317),o=c(49795),p=c(22827),q=c(99330),r=c(261),s=c(59398),t=c(81787),u=c(26713),v=c(4535),w=c(56420),x=c(52696),y=c(7001),z=c(25087),A=c(9493),B=c(9893),C=c(86439),D=c(77068),E=c(11941),F=c(89845),G=c(74855),H=c(25494),I=c(70722),J=c(29825),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,56332)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\(app)\\design\\page.tsx"]}]},{"global-error":[()=>Promise.resolve().then(c.bind(c,31595)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\global-error.tsx"]},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,83748)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\(app)\\layout.tsx"],error:[()=>Promise.resolve().then(c.bind(c,21422)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\(app)\\error.tsx"],"global-error":[()=>Promise.resolve().then(c.bind(c,31595)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\global-error.tsx"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,90515,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,97142,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,81665,23)),"next/dist/client/components/builtin/unauthorized.js"]},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,13273)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\layout.tsx"],error:[()=>Promise.resolve().then(c.bind(c,13377)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\error.tsx"],"global-error":[()=>Promise.resolve().then(c.bind(c,31595)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\global-error.tsx"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,90515,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,97142,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,81665,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(5518).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}`:""}
|
|
354
|
+
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}}},56332:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>o});var d=c(50727),e=c(50730),f=c(23888),g=c(12940),h=c(76561),i=c(2148),j=c(64543),k=c(47385),l=c(13171),m=c(12851),n=c(12407);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})})}},57075:a=>{"use strict";a.exports=require("node:stream")},62730:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,42644,23)),Promise.resolve().then(c.bind(c,32459)),Promise.resolve().then(c.bind(c,76253)),Promise.resolve().then(c.bind(c,4865)),Promise.resolve().then(c.bind(c,86728)),Promise.resolve().then(c.bind(c,56858)),Promise.resolve().then(c.bind(c,83774)),Promise.resolve().then(c.bind(c,97406)),Promise.resolve().then(c.bind(c,13389))},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66713:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"000197b130ec53acb1bf865af0bd6cf00016ba34f4":()=>o.j0,"000620f675346f8a12b50bfbe6296aad9ae5464e72":()=>p.pM,"000775aa288b626c1a9d42728f9f4ff7d9d3d468d4":()=>n.e9,"000bae14a63337ad112175da81b78bcd62ba42a2df":()=>n.gn,"000bbac63e43218df5325751fe3a032ead4c842701":()=>e.PE,"000e9041aeb30b4c8ca71341990e208d68b7b21b7f":()=>n.wP,"0011588f6fe8674c7176a940ff9feb94f0d7019cbf":()=>o.zC,"001bcb77638d1a46912a15a081572ce5f0ffdf5db9":()=>d.bt,"0024362c5f4091f01256d62c3fcde45a2be385d457":()=>j.f,"00491a4a12afe57900974b078cd17d6d523cb8b1d4":()=>p.PG,"005b10ac4df7ed0f7392e991bb82ed4f88d3b61d74":()=>n.ME,"006e272f908ea17d464c2c19bd5e38be70801d59d4":()=>k.eg,"007d2d9dd848b3415490b6f32875e692d898958ab6":()=>n.oS,"008126545795d71c4020cb6427d4d06868907eecde":()=>e.KO,"00881dc144c821d03ec1349f977507a79eb62c08b9":()=>n.I_,"008ecd70d86cfcfb6ba359f7d9d64ff803ad6de30c":()=>h.x7,"008f3863abc603d341052a4bbab8ce9243ad029880":()=>n.yL,"008f74f15b7461eaee38fef26bef041c64508e00ef":()=>e.y_,"00930ce046f9bfbd1af19ed9f127d55e5366f84688":()=>o.Rr,"00956b8eaaf169063abde5cb3f59badefbe71915f6":()=>n.Ni,"00a3c4b5a13e1dde6efab6d5421a9232dfd87a4689":()=>n.Tu,"00a88340d83bb29f97492219dfdec374cfd0ebedaa":()=>i.V,"00ac20ad63e61fa51e22e465ec134d88bed9156f99":()=>e.GK,"00b16060dadcf7702f25b3430981d23623457e7044":()=>k.dj,"00ba0232091ba4ed048391fa668752ce34b548bcf0":()=>n.o3,"00c0f420f325381667e547899b541bd24ba3680fa3":()=>o.Fy,"00c24fecd5d4e2c99b78f6cfba9771178469d3d57b":()=>p.eU,"00c53c1e02e86178027b1dce76718c7af197262ff1":()=>k.io,"00c62021056f8b2c00829a8b7d390353eaabc724a4":()=>n.PO,"00e5801971a984c426a1d1c4adcd9eaff741489733":()=>o.nx,"00e5a7f8864d03b3328583f0e3dda9f57d64f869e9":()=>h.Mp,"00eb291ba544141c60d7958f9e959b79f2f9d8a400":()=>d.xU,"00f929c9a5e363c2627d22d93ff6d78e2099e26e96":()=>j.O,"40019c929b3f4d4dbb0df8da0a5f7b239141e4ed0a":()=>o.KD,"400536d238039aead05bf7f4d7fbdfc8c51c7843c2":()=>h.sE,"40080b9ecb374ab8d6da637636f1c5f0ec1a5ed545":()=>d.Wu,"400df4e1324216021f528585fdf52bcbb465ae43c6":()=>n.a4,"40103701dbb018905c3123a247995125d8a7bd4d7a":()=>n.fb,"4011628d48357ed1452fb7c9a5f731afd0db9fcaf6":()=>i.F,"402081a0915ac82ebc6d340fbf82e3746a4925eb8b":()=>n.$_,"402bec7c2456984c1fe884f1c5da4d6fffe97bd7f7":()=>i.VJ,"405df6a9c5e07f494d2e2032d2fb70d41ed8071913":()=>g.p,"4060d995219b189ddd8b5bde8460b4966a0ce1a3fc":()=>e.r7,"4064f7013178539e80988a48c2bcbf7f2601b7a2ef":()=>d.H7,"406652da6c1842257203f196ca974dde11bf297c94":()=>e.lJ,"4067307ce089b31d3e494ed9c0f93d9847b649e934":()=>n.h_,"406895dd20d52dd9c079a834a9d1fe20fbe760e87c":()=>h.lR,"406b43f46b12343c4308031ba6dd85cf6d8c9959fc":()=>k.De,"407047434e130c3e1022a9cc24db08f4a9e37444c0":()=>i.E_,"4074b7e3f11b1ff2a4e1742e92f6d0873d579a2bf5":()=>d.rd,"4076a371abe9c34149b659b394b2666988596376c6":()=>d.GW,"4076f26374203461e3fa42db08eeccaf5e73e0b859":()=>e.S,"4077791d811243b5d88aa224120766f1193c0e7cf2":()=>l.TX,"4079ee52aca558bf2ca3c25800d73e82a85654fb12":()=>p.Kg,"408f6af3b89d125b561686db9d333c71405d1e8c92":()=>d.gg,"409ed8e3ac05d42abbb31aa9cc912fa47dccab739e":()=>g.L,"40a59af64de8dd4c8d03251aa8cc453031ffc5d116":()=>e.jc,"40a8566bc9a80a001d82131f509bd374af991b76ff":()=>n.R6,"40aa8544982f3077cdbc78e57a1bc7a1d078a5035f":()=>n.lj,"40b0fa67493bf00906e35587dde30dc745f2b72ef6":()=>o.Xu,"40b8490ba2b7dd406f11ea61518ad8761bb15ca558":()=>n.NM,"40bac470c1253b0cd0dc683537b3cf5462d92020bc":()=>n.DX,"40c0fd577da36c5f011829089eec1fc8c31c716f68":()=>m.y,"40c1f693730c73d3ea25cb7fead89fbeddc38941bf":()=>n.is,"40c37cc1e125e055ed670d73b257ae5a5289e3994b":()=>d.VL,"40c8a00bca9795dcead5557c89316aa13bf29f6529":()=>i.zS,"40ca19ba5e5ac6d02d5ea6b1d572dd761a6f6c509e":()=>e.ey,"40ca5a4f5b7457845b609654f7573812403c35c26d":()=>e.RG,"40e5f88f9498cf2c409c2918a99261a817f8cddba0":()=>l.IL,"40e88545faa11118461ff49b6570d9874017fd8a38":()=>p.lP,"40f401348df793ff9a669dc89781ca136c988ecc8b":()=>l.q4,"6021c456fc57cc4afc301239c8ce96b2f55ebeaab6":()=>n.ft,"6025ee6c7011b182ab578cd5b8c01983a71f4f639b":()=>l.bV,"602d70d47f8248807f19f7af7595ad03cb510362f1":()=>n.EQ,"6030713e9e3de30ff38e3753735a3c265b9a67af32":()=>e.LZ,"603c43bef66e43b540b8445b0c3fe4ee8e746a3329":()=>f.k,"60447775cf485fddc20528ff35db35dac16ae22f1b":()=>l.bk,"605bf856d868caf0ec9c966cf3519de2ae7419a298":()=>e.AA,"6069d55c3f4e1783abfd4728ea381d7c4de7169b17":()=>f.I,"6073003353f53fe87153ecaf2dc6e40469864fe288":()=>d.rm,"607792cfb0a03c9e049cb9bb4af483172312da6ee7":()=>e.q$,"60816c6010080d0c3b54871286f36bd24e0618aaa6":()=>n.NW,"608ffe8f599176ad0d19760c947a74041925422f1a":()=>o.TH,"60a086bbd97cfbf602cbe04606aa1b54802fc1d3fe":()=>n.RS,"60a65a814a082be9bda3295b3d75e80fdfd21299d3":()=>d.jw,"60ab2f384d8d0bf6d3965f78790349443f4ce97c9f":()=>l.Jp,"60b0ddcf7c11d05035cea005577a5d7b6ec4a099f7":()=>d.ME,"60b2749ebc40600e93b4d9b6be93528555dea63350":()=>n.Fo,"60dafaec9dc5c3f4d443518bf5cdb9bbea36f18f71":()=>d.Fu,"60df6fc6cfbfdc1eb8f9a039646193c4d8d1b3ecfa":()=>n.qw,"60e6e05368a96761ba5c0fb9a1542975b0e1812ac5":()=>n.pG,"60f0620d53918ab11292cea0a76fff7f37b9d107b3":()=>d.n4,"700861576230a313df69af7bb3b2ad32c90963e9fe":()=>n.sy,"7029fdc89f3e11a536c5f3bf9ab215d735dbe62f8b":()=>d._z,"704df4210e0ac1fe8d16aab94af799b5a1dd447d2d":()=>e.M8,"704f3c299b2a26f4c589dae77dd538aca487aaa71c":()=>n.fM,"7080b27ff6dfc3db037e16c1bfcb0dbdd6e39da61a":()=>n.Sy,"7092594720b30422789b60560e0e360acd53a13329":()=>n.a7,"7cd67f9da791307c34e973ce5935ff3ebdb540ece0":()=>n.Hg});var d=c(13712),e=c(4619),f=c(37181),g=c(8937),h=c(86591),i=c(10222),j=c(34567),k=c(78387),l=c(74774),m=c(51773),n=c(87905),o=c(9450),p=c(51439)},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")}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[5911,5361,6309,4679,7474,4897,2559,1304,5015,4882,912,4769,5661,1952,2118,1678,6807,7905,3392],()=>b(b.s=55863));module.exports=c})();
|