constellai 0.3.9 → 0.3.10
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 +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/(app)/activity/page.js +1 -1
- 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 +2 -2
- 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 +3 -3
- 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 +1 -1
- 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 +1 -1
- 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 +2 -2
- 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 +2 -2
- 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 +1 -1
- 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_client-reference-manifest.js +1 -1
- package/.next/server/app/(auth)/onboarding/page.js +1 -1
- package/.next/server/app/(auth)/onboarding/page_client-reference-manifest.js +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 +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/cron/tick/route.js +2 -2
- package/.next/server/app/api/passkey/authenticate/verify/route.js +1 -1
- package/.next/server/app/api/passkey/register/verify/route.js +1 -1
- package/.next/server/app/api/sync/file/route.js +1 -1
- package/.next/server/app/api/telegram/poll/route.js +3 -3
- package/.next/server/app/api/v1/[[...path]]/route.js +1 -1
- package/.next/server/chunks/1033.js +1 -1
- package/.next/server/chunks/1881.js +1 -0
- package/.next/server/chunks/1986.js +1 -1
- package/.next/server/chunks/2118.js +1 -1
- package/.next/server/chunks/2170.js +1 -0
- package/.next/server/chunks/{3481.js → 2718.js} +17 -17
- package/.next/server/chunks/3987.js +3 -3
- package/.next/server/chunks/4288.js +1 -1
- package/.next/server/chunks/5580.js +12 -0
- package/.next/server/chunks/5878.js +1 -1
- package/.next/server/chunks/{7348.js → 6296.js} +2 -2
- package/.next/server/chunks/7867.js +1 -1
- package/.next/server/chunks/7905.js +1 -1
- package/.next/server/chunks/8013.js +1 -0
- package/.next/server/chunks/8134.js +1 -1
- package/.next/server/chunks/8211.js +1 -1
- package/.next/server/chunks/8236.js +21 -0
- package/.next/server/chunks/907.js +1 -1
- package/.next/server/chunks/9344.js +3 -3
- package/.next/server/middleware-build-manifest.js +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/{4365-c5eb5b6af7bfc653.js → 1352-1e5e6e2ea57a0821.js} +2 -2
- package/.next/static/chunks/2171-7d8bf2df1d540a82.js +1 -0
- package/.next/static/chunks/2636-13f5de5bc9726cc3.js +1 -0
- package/.next/static/chunks/{7218-44d9a247cf4980fa.js → 7218-9fbc00e6cec34afa.js} +2 -2
- package/.next/static/chunks/8834-3c7f77ceebbeb079.js +1 -0
- package/.next/static/chunks/app/(app)/activity/{page-8cf9b4c853ca9c69.js → page-c6f3b54a1401c391.js} +1 -1
- package/.next/static/chunks/app/(app)/agents/[handle]/page-38922257bbd82998.js +1 -0
- package/.next/static/chunks/app/(app)/code/page-51869dcdc0b0a50f.js +1 -0
- package/.next/static/chunks/app/(app)/config/page-ccaa231f4f64912a.js +1 -0
- package/.next/static/chunks/app/(app)/costs/page-864fe3407d0dc6c0.js +1 -0
- package/.next/static/chunks/app/(app)/cron/page-7be322a05e559da8.js +1 -0
- package/.next/static/chunks/app/(app)/dashboard/page-f181d957748f8f27.js +1 -0
- package/.next/static/chunks/app/(app)/design/{page-3ff2eae843e8b7ea.js → page-dac84fe4a5e31454.js} +3 -3
- package/.next/static/chunks/app/(app)/docs/[id]/page-74da9f8a13f14a07.js +1 -0
- package/.next/static/chunks/app/(app)/docs/page-689045673b039708.js +1 -0
- package/.next/static/chunks/app/(app)/github/page-7b8ae16a0cd14bd3.js +1 -0
- package/.next/static/chunks/app/(app)/goals/page-49682d30eb297a16.js +1 -0
- package/.next/static/chunks/app/(app)/inbox/page-000769b0e849a435.js +12 -0
- package/.next/static/chunks/app/(app)/knowledge/page-c329694479ee85cb.js +1 -0
- package/.next/static/chunks/app/(app)/layout-21e16931eac987ab.js +1 -0
- package/.next/static/chunks/app/(app)/models/page-3e92db0acfbf844b.js +1 -0
- package/.next/static/chunks/app/(app)/notifications/page-646bdc5a20cac43b.js +12 -0
- package/.next/static/chunks/app/(app)/org/page-08141e549fea39ad.js +12 -0
- package/.next/static/chunks/app/(app)/organizations/page-b5617487ef2255ce.js +1 -0
- package/.next/static/chunks/app/(app)/page-f2a05b3f92886a0c.js +1 -0
- package/.next/static/chunks/app/(app)/planner/{page-a2c45cb14b53454a.js → page-4241aa863f23a96d.js} +1 -1
- package/.next/static/chunks/app/(app)/plugins/page-2e96b6b32d288dca.js +1 -0
- package/.next/static/chunks/app/(app)/pm/page-182d8faa90ed2643.js +1 -0
- package/.next/static/chunks/app/(app)/prepare-deploy/page-15ba476bf716d7e2.js +1 -0
- package/.next/static/chunks/app/(app)/profile/page-e18ad0668e7e7305.js +1 -0
- package/.next/static/chunks/app/(app)/pulse/page-d528de016fb3ec49.js +1 -0
- package/.next/static/chunks/app/(app)/reports/[id]/page-7be322a05e559da8.js +1 -0
- package/.next/static/chunks/app/(app)/reports/page-67f64d0e809c2bca.js +1 -0
- package/.next/static/chunks/app/(app)/routines/page-cdb5f6e2ca82640b.js +1 -0
- package/.next/static/chunks/app/(app)/search/page-a91bfaab25cd6aff.js +1 -0
- package/.next/static/chunks/app/(app)/security/page-79d44198dd58f2dd.js +1 -0
- package/.next/static/chunks/app/(app)/skills/page-2af4de1e97575285.js +1 -0
- package/.next/static/chunks/app/(app)/tasks/{page-0750ff77f17bdd9d.js → page-c975303be89aaee5.js} +1 -1
- package/.next/static/chunks/app/(app)/test-dev/page-2e0b655d1a79a326.js +1 -0
- package/.next/static/chunks/app/(app)/update/page-a1f8b007304e9bdc.js +1 -0
- package/.next/static/chunks/app/(auth)/login/page-a8d0d8f09f9794ef.js +1 -0
- package/.next/static/chunks/app/(auth)/onboarding/page-7ce367a9bc0bcbeb.js +1 -0
- package/.next/static/chunks/app/layout-c717657a60a7f62c.js +1 -0
- package/.next/trace-build +1 -1
- package/CHANGELOG.md +15 -0
- package/README.md +1 -1
- package/README.pt-BR.md +1 -1
- package/bin/constella.mjs +22 -0
- package/docs/UPDATE.md +9 -3
- package/package.json +1 -1
- package/.next/server/chunks/1190.js +0 -12
- package/.next/server/chunks/4435.js +0 -1
- package/.next/server/chunks/4732.js +0 -1
- package/.next/server/chunks/739.js +0 -1
- package/.next/server/chunks/8868.js +0 -21
- package/.next/static/chunks/1738-28b6824e2a707b93.js +0 -1
- package/.next/static/chunks/6871-a079ac1b4f0caec2.js +0 -1
- package/.next/static/chunks/7466-6d8ba01f169a6a1e.js +0 -1
- package/.next/static/chunks/app/(app)/agents/[handle]/page-068e58bd327db429.js +0 -1
- package/.next/static/chunks/app/(app)/code/page-98becb790f9aeedf.js +0 -1
- package/.next/static/chunks/app/(app)/config/page-b5447ad490de11f7.js +0 -1
- package/.next/static/chunks/app/(app)/costs/page-02324b05660bad50.js +0 -1
- package/.next/static/chunks/app/(app)/cron/page-5c9c6fea5aee299c.js +0 -1
- package/.next/static/chunks/app/(app)/dashboard/page-742ac16dbfce548b.js +0 -1
- package/.next/static/chunks/app/(app)/docs/[id]/page-f7cc168b103da51e.js +0 -1
- package/.next/static/chunks/app/(app)/docs/page-bc93a2e0342c61af.js +0 -1
- package/.next/static/chunks/app/(app)/github/page-44b09f94c19f56f0.js +0 -1
- package/.next/static/chunks/app/(app)/goals/page-b66ec65a7221b023.js +0 -1
- package/.next/static/chunks/app/(app)/inbox/page-57a8ab9347276aa2.js +0 -12
- package/.next/static/chunks/app/(app)/knowledge/page-fb3902b3c7348818.js +0 -1
- package/.next/static/chunks/app/(app)/layout-98aa9e760faf2331.js +0 -1
- package/.next/static/chunks/app/(app)/models/page-92f957c7400497f0.js +0 -1
- package/.next/static/chunks/app/(app)/notifications/page-e3fcdad57e7a94fd.js +0 -12
- package/.next/static/chunks/app/(app)/org/page-9030d33729e45e07.js +0 -12
- package/.next/static/chunks/app/(app)/organizations/page-f29c3dc4b3327b8d.js +0 -1
- package/.next/static/chunks/app/(app)/page-0e7e7cfd98d44f59.js +0 -1
- package/.next/static/chunks/app/(app)/plugins/page-792b3dc0ae8571db.js +0 -1
- package/.next/static/chunks/app/(app)/pm/page-4624950feadad3be.js +0 -1
- package/.next/static/chunks/app/(app)/prepare-deploy/page-a5d2911069317635.js +0 -1
- package/.next/static/chunks/app/(app)/profile/page-10ce6fd89387a1f0.js +0 -1
- package/.next/static/chunks/app/(app)/pulse/page-793ce0d2074d2cd7.js +0 -1
- package/.next/static/chunks/app/(app)/reports/[id]/page-5c9c6fea5aee299c.js +0 -1
- package/.next/static/chunks/app/(app)/reports/page-cfa78938aef16acc.js +0 -1
- package/.next/static/chunks/app/(app)/routines/page-06df804a8db66b2d.js +0 -1
- package/.next/static/chunks/app/(app)/search/page-eec2f135e6af9c70.js +0 -1
- package/.next/static/chunks/app/(app)/security/page-23dd0b8308ee48b8.js +0 -1
- package/.next/static/chunks/app/(app)/skills/page-d3d63cac10ce08e1.js +0 -1
- package/.next/static/chunks/app/(app)/test-dev/page-7c09ba848265ffe6.js +0 -1
- package/.next/static/chunks/app/(app)/update/page-e70ac9974eb7bf03.js +0 -1
- package/.next/static/chunks/app/(auth)/login/page-0ee8f367460d835a.js +0 -1
- package/.next/static/chunks/app/(auth)/onboarding/page-1de0c42322e9f296.js +0 -1
- package/.next/static/chunks/app/layout-a80704c0fd0a9e29.js +0 -1
- /package/.next/static/{vW8upousaXo7DvSlRwFbb → PjU7M0g-BKQT9AfTuZvgl}/_buildManifest.js +0 -0
- /package/.next/static/{vW8upousaXo7DvSlRwFbb → PjU7M0g-BKQT9AfTuZvgl}/_ssgManifest.js +0 -0
|
@@ -48,8 +48,7 @@ An APPROVED design already exists (design-mock/APPROVED.md) — the official vis
|
|
|
48
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
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
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")},33873:a=>{"use strict";a.exports=require("path")},37067:a=>{"use strict";a.exports=require("node:http")},37878:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"000841b225cd318c6b6e1b74681a04446c2fc49827":()=>e.PE,"001dd8c9d00bd6c066bcf76069721ed4629efea404":()=>n.e9,"001f06b8e5d1dae22ea9780fa3e8d2a12e364bdd06":()=>n.wP,"0026719cdabaa7470871210fe05e7dbbc601e59e93":()=>o.Fy,"003649be107c69af410f5b59dc57988238c9b2ccb4":()=>o.j0,"004609cc8fda5b9551472b8f08684533ed82369738":()=>j.O,"0057fef5f4c3a7908b17ebee99b5fafa167cb86c7a":()=>n.Tu,"0065245bcdbe5768c989195823cf77b2811ce397d4":()=>n.PO,"00693e54844bbe9066f8a5473c488cc194c2bd4e5a":()=>k.eg,"006a170afb6abc35cef34fd85cf16f40dd0635121c":()=>o.Rr,"0074379a2535bd5392e0dbde1f2463ed56bde60f53":()=>n.Ni,"00764b2da920c3558828f457bb503a3b1e197fb2e6":()=>o.nx,"0083f7ee1dc6ce9ec6bd0c12b600eb53328ba0fb2e":()=>e.KO,"0095f11f333d7bcdf5602f400aea375fada9d68c1d":()=>i.V,"0096f6fb82c612c03f93f9ebd24c474faa12f23fe3":()=>p.PG,"009e150de570f488c6b8dbc495936ae183dd6c7616":()=>k.io,"00acc17f0a5dd16286b178a08a5b8989ce5e3c9959":()=>d.xU,"00ae804b8f08d9be53e841dedfae723956105acfe0":()=>n.gn,"00b7343b9be87a777c99551a954722031c66d9a178":()=>n.I_,"00ba86d367299f75e022572c6e1e95a941f2c6d7ef":()=>d.bt,"00c1203e4de4a3f7c59b6e117bce32c5f9f8e1bb59":()=>n.ME,"00c44c46f3451d048415ed2966467e9049247d364b":()=>o.zC,"00c77541def75536050d1e662a4b64ee8fa577538c":()=>h.x7,"00d0f3628462a983000d3a144f0fea8952be03118a":()=>h.Mp,"00d8efef48b73ec337df23f7ab530632cab6662c03":()=>n.o3,"00de50f827186209568d4473a153e7029805645f82":()=>j.f,"00de5c63e670d2bd9579fceacf36b317be3727c745":()=>k.dj,"00df4ab050d844889b2d0ba8dec8981130081da1dc":()=>p.pM,"00e0d80384e6e10ca7ab9d59884a0bc960b9c46260":()=>n.yL,"00e679961093600765d5177e2b3cde814e84a11766":()=>n.oS,"00f19c590f424939eff454ea8eef8b17ffbbaad8bf":()=>p.eU,"00fc098e676b165a642943c5e06fcd724ef5a74ff6":()=>e.y_,"00fcbefe6ec2a1a891b8dbc0a7f4e21444bd632f7f":()=>e.GK,"40013167334e9c5909d5a49208cd7bdd390497efe3":()=>n.is,"400131ca77bbfb1ac4d799e619f1aa13d27cdcee48":()=>n.lj,"400f09679fbb3399982b683f027ff6e04946b8404d":()=>k.De,"402eeadb31eb2f5e60056cac29b659dd532df68954":()=>d.VL,"4038033f4f6fcc7c8c7ae4142336630f2c339a8d8c":()=>p.Kg,"403e95b7d8ae811fc9c94823902961f5efd9aae4e0":()=>g.L,"403f0c1322179601c99169bfc630a12c33910f2ff0":()=>p.lP,"40481e759c0032df6828ed1515136b2c254b38f242":()=>d.H7,"405c8b7e8f39ec0ca9ccff67449314122e269c4ee2":()=>e.RG,"405daeb99ac0dc584448e0a82ebd446353e1df4370":()=>e.r7,"406446417d1e902c37f8bd18abb427c8fbbcacee3e":()=>h.lR,"4065a8605d2b51d7b64c3e8d3d63abe311f0726dd5":()=>n.NM,"4072e95d4eeea0593600570929aeebdb4783bfc7ba":()=>d.rd,"4078d148218374f7578a97565bb9a808e0d439a458":()=>i.zS,"407f17cfaeafb77b61206820355d8e1c297b48cb88":()=>d.gg,"40827dab442f71c707bd0e721f259179891be9b5d9":()=>m.y,"408acc42ba98211dcb2ed5698525048120214a2795":()=>e.S,"408e36e5fc942856e7846646e50a0ffb880040d1ac":()=>e.lJ,"40930525e94ac0b0cf8c69a77b18ea75797697ede7":()=>n.fb,"4096d75401f65b0aa8ba36eea0623e2e3577f65f29":()=>h.sE,"409885a154f76f49c496538d9aed35c80648a5e32e":()=>l.IL,"4098adb7b9cb6d8ece6a5d5da39e8c06941be1f196":()=>n.DX,"40a0f062a8cf5bed06418f1201c86a1ee1dafce5dc":()=>l.q4,"40a1227b56f23bc58dfd91bd85d1b5abfb5eb9daed":()=>g.p,"40a7743715198e7409c8a4cd0a07beb4c5e0468668":()=>n.R6,"40abdf7aae1b6c1eb3a4f2b3e7ee903de41565d01d":()=>n.a4,"40b7b0aafd77ebee4bf58f8a190c6e1aa4f872b27f":()=>e.ey,"40b7f0298b5d7562b02b0db827a94fcfe4619d2a7a":()=>i.E_,"40ba827778cc9afae5ab41aa5cd8e4cfb89b37e3db":()=>n.h_,"40bae138b46868f9b0e8f1affa2906d86a42269771":()=>i.VJ,"40d1b0145d7680e7365af98919ae9af17a85857f40":()=>d.Wu,"40d566a39bf39a39d982aa905355fadb88fd5966e0":()=>i.F,"40ebc4494ff674327f4f0bdde94c626e1970bff237":()=>n.$_,"40ecfef3afd4364a9f849ddb6e027a9b67be65ada4":()=>d.GW,"40f08079ab7689af208b79eda5b6e422eba52d8b4d":()=>o.Xu,"40f4edd374e432e6657aea53c1202eefb711b7f6cb":()=>o.KD,"40f51ff321012914f13823c293c8e24340007774ea":()=>e.jc,"40f727c4725f83381768196103bac004bbc3b8e443":()=>l.TX,"6008156461d0c2379888e1b1db64a646787ee241e0":()=>l.Jp,"60099e58904f04f5679bb3adca0aceb7ca2a23755e":()=>e.AA,"600a2886a60cdf75d89400f6f0461b75b5e1af28c1":()=>d.ME,"600adfc269778741217c31377d7e0b633650bc2ec9":()=>f.k,"600cb7ae668798f94b0ce0b2259e8147ef45bad893":()=>d.n4,"60136817abc4c7875aee5d791bcf4965f4ce15582a":()=>o.TH,"601886d36b903eae39aa2d6755f8cda894f37cbad5":()=>n.Fo,"60207b3edb388e4b1f4c6add9fe87c45038c85803c":()=>n.RS,"603a0bee748da70ce7c6eeb9eed35eb5791ca34fd5":()=>n.ft,"603bf0d1081d45bf74f51b1d97e886245d20a09039":()=>d.rm,"603dece8cb304470bc9693f7ff674be4f1310cb608":()=>d.Fu,"606af0fc590574400bb3424d3b678eaa11902fb114":()=>n.NW,"6071acd600fbb10587d980179307f0fd094a5f115a":()=>n.pG,"6093001ac03ac32892149c155ca2e88fc2ccf57b6c":()=>l.bV,"60a408a3a21b681b16b206149fd9e0790a4304056e":()=>f.I,"60b01b94effbac0ba086f6db9ca70bfa6850dafeb8":()=>d.jw,"60bb60af78eb2e0494e29b19cbc5dd6b653ff0e9ec":()=>n.qw,"60cd05b6970937c9be25ff9559aad958cda9108eee":()=>e.q$,"60e6a3f0a9d48006009dc02ade0ec2b69ff94e73fe":()=>l.bk,"60e6d0387bb44d263eb1212066de048c606793e5c2":()=>e.LZ,"60f8cc90db98cfdc08de4403875a6eb7a03b924ec9":()=>n.EQ,"704f8b8b0844d526a7840066d6e99fc851e9902780":()=>n.fM,"7053230fcc82cc3fdd37196885d8475eeb89f396ff":()=>n.sy,"70597648c34d00471da008672cbce28984ac84dc26":()=>e.M8,"7064a5f752cc0107884224a36b01befc2f6fd6fba4":()=>n.Sy,"707c7fd0696d03085cd45440035e098cd78345649c":()=>n.a7,"70f96de32bbfe1507e590c7730f5ef1477412ef98a":()=>d._z,"7c22b8b2c3d793c3aaaa313b550ba7e274863d17dc":()=>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)},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}`:""}
|
|
52
|
-
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,99620)),Promise.resolve().then(c.bind(c,87335)),Promise.resolve().then(c.bind(c,4865)),Promise.resolve().then(c.bind(c,86728)),Promise.resolve().then(c.bind(c,21616)),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")},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")},99620:(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(24623);c(23589),c(56946);var k=c(26021);let l=(0,k.createServerReference)("4098adb7b9cb6d8ece6a5d5da39e8c06941be1f196",k.callServer,void 0,k.findSourceMapURL,"getDesignScreen");k.callServer,k.findSourceMapURL;let m=(0,k.createServerReference)("7064a5f752cc0107884224a36b01befc2f6fd6fba4",k.callServer,void 0,k.findSourceMapURL,"askDesign");k.callServer,k.findSourceMapURL,k.callServer,k.findSourceMapURL,k.callServer,k.findSourceMapURL;let n=(0,k.createServerReference)("400131ca77bbfb1ac4d799e619f1aa13d27cdcee48",k.callServer,void 0,k.findSourceMapURL,"readDesignDoc"),o=(0,k.createServerReference)("0057fef5f4c3a7908b17ebee99b5fafa167cb86c7a",k.callServer,void 0,k.findSourceMapURL,"scaffoldDesignFromBrief"),p=(0,k.createServerReference)("60f8cc90db98cfdc08de4403875a6eb7a03b924ec9",k.callServer,void 0,k.findSourceMapURL,"commitDesignScreen"),q=(0,k.createServerReference)("40abdf7aae1b6c1eb3a4f2b3e7ee903de41565d01d",k.callServer,void 0,k.findSourceMapURL,"saveDesignCheckpoint");k.callServer,k.findSourceMapURL;let r=(0,k.createServerReference)("40013167334e9c5909d5a49208cd7bdd390497efe3",k.callServer,void 0,k.findSourceMapURL,"approveDesign"),s=(0,k.createServerReference)("00e679961093600765d5177e2b3cde814e84a11766",k.callServer,void 0,k.findSourceMapURL,"handoffToExecution"),t=(0,k.createServerReference)("00b7343b9be87a777c99551a954722031c66d9a178",k.callServer,void 0,k.findSourceMapURL,"resumeDesignHandoff"),u=(0,k.createServerReference)("001dd8c9d00bd6c066bcf76069721ed4629efea404",k.callServer,void 0,k.findSourceMapURL,"buildDesignProduction"),v=(0,k.createServerReference)("707c7fd0696d03085cd45440035e098cd78345649c",k.callServer,void 0,k.findSourceMapURL,"addDesignMarkup"),w=(0,k.createServerReference)("7c22b8b2c3d793c3aaaa313b550ba7e274863d17dc",k.callServer,void 0,k.findSourceMapURL,"addDesignComment"),x=(0,k.createServerReference)("4065a8605d2b51d7b64c3e8d3d63abe311f0726dd5",k.callServer,void 0,k.findSourceMapURL,"deleteDesignComment"),y=(0,k.createServerReference)("40930525e94ac0b0cf8c69a77b18ea75797697ede7",k.callServer,void 0,k.findSourceMapURL,"restoreDesignCheckpoint"),z=(0,k.createServerReference)("6071acd600fbb10587d980179307f0fd094a5f115a",k.callServer,void 0,k.findSourceMapURL,"restoreDesignVersion");var A=c(80019),B=c(26933);let C=`(function(){
|
|
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")},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")},41792:(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(86495);c(77395),c(33595);var k=c(26021);let l=(0,k.createServerReference)("409118314a7a1407dced0019746ab3104f7f606cc9",k.callServer,void 0,k.findSourceMapURL,"getDesignScreen");k.callServer,k.findSourceMapURL;let m=(0,k.createServerReference)("704a45ad07676351351b4cca4b8ab85e3d36edc44b",k.callServer,void 0,k.findSourceMapURL,"askDesign");k.callServer,k.findSourceMapURL,k.callServer,k.findSourceMapURL,k.callServer,k.findSourceMapURL;let n=(0,k.createServerReference)("408e51a879a77d25604c2b85bb002e2373ab8c0ae1",k.callServer,void 0,k.findSourceMapURL,"readDesignDoc"),o=(0,k.createServerReference)("00f7e3bbdceff614c56d9c0618217f6a37237e9dad",k.callServer,void 0,k.findSourceMapURL,"scaffoldDesignFromBrief"),p=(0,k.createServerReference)("60a685a091cc086759e0a7d00c75403864402da012",k.callServer,void 0,k.findSourceMapURL,"commitDesignScreen"),q=(0,k.createServerReference)("40617eca80dbc17c4fc05884e3336cce12cb2fa80c",k.callServer,void 0,k.findSourceMapURL,"saveDesignCheckpoint");k.callServer,k.findSourceMapURL;let r=(0,k.createServerReference)("40b3031c8c4279dc082ccfde198b7db577a038b4ab",k.callServer,void 0,k.findSourceMapURL,"approveDesign"),s=(0,k.createServerReference)("00efa77c9d731961785a5b1e7f07bb860469145e1c",k.callServer,void 0,k.findSourceMapURL,"handoffToExecution"),t=(0,k.createServerReference)("00fea79ea40487a21c226cf5b24f305d5e64f4526a",k.callServer,void 0,k.findSourceMapURL,"resumeDesignHandoff"),u=(0,k.createServerReference)("001425f60c0da2dd1d0eee8afc70c30f2d6d02d1d7",k.callServer,void 0,k.findSourceMapURL,"buildDesignProduction"),v=(0,k.createServerReference)("7030d12184597a6da83165a9b71b4d847ac22e61cc",k.callServer,void 0,k.findSourceMapURL,"addDesignMarkup"),w=(0,k.createServerReference)("7cda87ea6eaf270f89f1eabe473a45cb38fb38794a",k.callServer,void 0,k.findSourceMapURL,"addDesignComment"),x=(0,k.createServerReference)("404dd3ea890bd8d8c53efffa4c45fa5c32992979cf",k.callServer,void 0,k.findSourceMapURL,"deleteDesignComment"),y=(0,k.createServerReference)("4047586cae3d36c60610b8172dd5f77a78848f6cf2",k.callServer,void 0,k.findSourceMapURL,"restoreDesignCheckpoint"),z=(0,k.createServerReference)("60fc13c761fc83ddb2f356490bc36ff0752e8ee7a3",k.callServer,void 0,k.findSourceMapURL,"restoreDesignVersion");var A=c(80019),B=c(26933);let C=`(function(){
|
|
53
52
|
var MODE = "select";
|
|
54
53
|
var ZOOM = 1, ZOX = 0, ZOY = 0;
|
|
55
54
|
|
|
@@ -351,4 +350,5 @@ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__
|
|
|
351
350
|
post("canvas:ready", { interactive: INTERACTIVE });
|
|
352
351
|
if(!INTERACTIVE) post("canvas:baseline", { html: serializeBody() }); // history/persist only for static screens
|
|
353
352
|
setTimeout(emitTree, 80);
|
|
354
|
-
})();`;var D=c(11143),E=c(26405),F=c(8169);c(80488),c(42372);var G=c(54082);let H=(0,k.createServerReference)("00c44c46f3451d048415ed2966467e9049247d364b",k.callServer,void 0,k.findSourceMapURL,"stopLiveInspectAction"),I=(0,k.createServerReference)("00764b2da920c3558828f457bb503a3b1e197fb2e6",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})}}};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,3481,6807,7905,4732],()=>b(b.s=55863));module.exports=c})();
|
|
353
|
+
})();`;var D=c(78769),E=c(80540),F=c(8169);c(66151),c(1186);var G=c(35023);let H=(0,k.createServerReference)("00dcead2b0a30143fabfb7089cd18130a9e2493036",k.callServer,void 0,k.findSourceMapURL,"stopLiveInspectAction"),I=(0,k.createServerReference)("00cc6a4a8d7fbc1c44ae2272bd07ec8b2505315ca0",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})}},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}}},56260:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"00139cfd8b058e81fd1f5a24e4095013e8a715ec60":()=>n.gn,"001425f60c0da2dd1d0eee8afc70c30f2d6d02d1d7":()=>n.e9,"001753190fa67d17b5d60448ac668d6e682a0b8106":()=>k.io,"001c80e5c76a900238fcefc34ad7fb27d2674c43b3":()=>o.Rr,"001d0063b3096499a8ec0f764994e221c6f50cabec":()=>n.ME,"001e0576d5722123766a79fcba07b464a665a26402":()=>n.yL,"001f48cc922c18bb43a165e0ce05529ac7a6dd765e":()=>d.bt,"0032ba29fe2163f67cc17abd0182466fd3daea7438":()=>i.V,"003ae871834a9af5eb24abfdfe21f3064c90e62de2":()=>e.y_,"004f9b95e1741322e3112550681c550c997c145596":()=>h.x7,"0055942e891435647cabc6c599617ed4a8a193419a":()=>k.eg,"0066100dc8904c58a270ededd9857f10c67f424e9a":()=>n.wP,"006b6ae0772c20c457f52763c8b4793a7746279525":()=>k.dj,"0077f2278034c406de1ccda97e8e5a1cb8b4778021":()=>n.PO,"008ed9fe976118b805388b321772fcf38c55ff881e":()=>p.pM,"0093cdb3723759f8b886121f7b3645c05b0ada7266":()=>e.PE,"0098fd0858edaddfb6c02d1de1be8dd97b9a28589d":()=>p.PG,"009a802d7a10b4fa53ab94c5ea252e140c419cfddc":()=>j.f,"00a201ea9d490512db00e808a0522d59e16f95e635":()=>e.KO,"00a4ea65e1d6c843f9aa4e405ea7dc3fc687587fad":()=>e.GK,"00a544ce011932a4f86247c0404dc9738b9cde64e5":()=>d.xU,"00b498e03039c3b92608017ce7cca973d20d814eb9":()=>o.j0,"00cc6a4a8d7fbc1c44ae2272bd07ec8b2505315ca0":()=>o.nx,"00cc8dfdd18e2ae71e708ee33dac193a2c30f1b512":()=>n.Ni,"00d1bff8cab30eda9c022a4bf2bf5b522c0b9c9f87":()=>o.Fy,"00dcead2b0a30143fabfb7089cd18130a9e2493036":()=>o.zC,"00ea39c63126fa6fef31973d3d768a7cb76f836fe2":()=>p.eU,"00efa77c9d731961785a5b1e7f07bb860469145e1c":()=>n.oS,"00f305a272d492a750d1d84b3b6fd0ef76438f31e3":()=>h.Mp,"00f54d59905f1573397b6c6dfb47d2518383a0e842":()=>j.O,"00f7e3bbdceff614c56d9c0618217f6a37237e9dad":()=>n.Tu,"00fb26efe45ffbcc8d00c2a42ec6f861d86d7e3d1e":()=>n.o3,"00fea79ea40487a21c226cf5b24f305d5e64f4526a":()=>n.I_,"4014900b76ae4e93f9d64d32eeef8f3c8b6c055901":()=>d.VL,"401dcf593491c959aa2941197e9844da28852318de":()=>e.ey,"40293c48ef9855275a704947ae0948f08794f5b5a6":()=>d.gg,"4032e516c941a709ed429b1b33031dbe93cba24473":()=>e.S,"40343fb2c7a295742ebca1767fa14fcd2c21b904e5":()=>i.VJ,"40366fb416ed85ef99ca10414516ad9562c1c58c2f":()=>h.sE,"4038ee006992bbe00c928c2a081d59d03db17e434a":()=>n.R6,"403f611b66e137fb6023eed4a17ed731ade4e08c27":()=>i.E_,"4047586cae3d36c60610b8172dd5f77a78848f6cf2":()=>n.fb,"4047b8b9ef3c77625328ca8205b8496fc9717a7808":()=>i.zS,"404aec4627a3cd9e917472cfe7b25e811c767adcb6":()=>m.y,"404cfe0365356f68d9ab8cc0460ce0038113a3d3b7":()=>e.lJ,"404d32bd38a894413e933deedd06e31bfa181a6524":()=>n.h_,"404dd3ea890bd8d8c53efffa4c45fa5c32992979cf":()=>n.NM,"405bf50b285cb36f1c7d322eabd52fce61258b81b4":()=>e.RG,"40617eca80dbc17c4fc05884e3336cce12cb2fa80c":()=>n.a4,"406432a294113c63a023aac9034323bed88e594c72":()=>d.H7,"40644e55de636cef1c787d94b0eec56070b94d360d":()=>p.Kg,"4069fb27cc316df45124b669f08c4ac45fa8492163":()=>l.TX,"406ec5456555044ff621f786671ee4e35d94b2f65f":()=>d.Wu,"4074b44a5cb46ad2bdf5bcb2edd58f00358bc2068b":()=>e.jc,"407c9a869e794c461ec1b8cf091f5e6ca94e51e94b":()=>d.rd,"4082706f8ace57ddac49e2fd8033b1c7e464d0c082":()=>l.q4,"4089c7c6d599f9d772a060655cf3aed9d7e7d87481":()=>i.F,"408e51a879a77d25604c2b85bb002e2373ab8c0ae1":()=>n.lj,"409118314a7a1407dced0019746ab3104f7f606cc9":()=>n.DX,"40aadad454b3fc484d18736e506b6a2a32819a21ab":()=>g.L,"40ae3fb3067456973e13f9899fb17d02e903c10635":()=>p.lP,"40b3031c8c4279dc082ccfde198b7db577a038b4ab":()=>n.is,"40c3b9140f05ada027c6e018f19b0cd88916d79baa":()=>o.Xu,"40da78b7a5e90d5964458af7c93b47c292977675d4":()=>d.GW,"40ddcb3ade0787a2037bdf513d2e0e2c32c0098173":()=>e.r7,"40e1d428a35224b686669e65eb8c74dc34e5ce1d04":()=>o.KD,"40e6adc406e47d04473ea0bc19a8a1ffcc9ab842f2":()=>l.IL,"40f7f2996bbcd52ba2ad38b79d1c5e7df5007ddc03":()=>h.lR,"40f888aafd1073418e5f8a3f6e24eb8de1c2793eba":()=>g.p,"40f95e0db5e9b267d12150b25b4ec0751b2d6eddb2":()=>k.De,"40ff7bcf6eba2ac7a44d3ed359c8235598c2700580":()=>n.$_,"600a283d3c155b52846ffdf59d78d6fb8408c82a2b":()=>f.I,"600ebacb31118bedff5d6ae08b9bcb8222f114b274":()=>e.LZ,"6013a509fc0601f5fb3412b8cf3e40d7acccace553":()=>n.RS,"603c4915dad1c1fc6d7767b2122640c79ec86c517a":()=>d.jw,"60430815af320310f550540902bb24e9a101760d26":()=>d.rm,"6049fcc984ff3dff10cb80876482ae59126967a274":()=>n.Fo,"60553f6dbe343d8b101946e5db9ff495afb68a9e43":()=>e.AA,"6055e32d18d1e47a4180ef8ac3c12189f2fd108244":()=>n.ft,"6061a072b77be02b25ff2b1d07ee0156b064a93376":()=>n.qw,"60626d0409e32354c4ff8aca40af49144d115b3b13":()=>l.bV,"60631bd184ec0f172d4bf794ce7b4eac7caa9fd5d8":()=>d.ME,"60687b23eb88a4b6d050ea1eff119a716ca285d2f1":()=>f.k,"606e0d84167d264aa8fddbb0e6797ac1f3f814e9f7":()=>d.Fu,"607f771aba769575c8218d60f1a0437f7dfc84de80":()=>e.q$,"6084d53ea1253e43f080b2cf0d5c63f3e19b2379cf":()=>n.NW,"60a685a091cc086759e0a7d00c75403864402da012":()=>n.EQ,"60b77e74d6b20877d163d94b4e0332fc17d9a5da72":()=>l.bk,"60e179d438e55fab7e87067be4ecd9ee6954962299":()=>l.Jp,"60eb5dad694b28ac8e7faed523b4073fc551ba4eb9":()=>d.n4,"60eebdcd0502ac56444fb6454b2a523d2998fb16ae":()=>o.TH,"60fc13c761fc83ddb2f356490bc36ff0752e8ee7a3":()=>n.pG,"7005da7d2727c971fded555e72ed66d88f62bda987":()=>d._z,"702407577e954ae5e1358c72dcfba53d656fff783e":()=>e.M8,"7030d12184597a6da83165a9b71b4d847ac22e61cc":()=>n.a7,"704a45ad07676351351b4cca4b8ab85e3d36edc44b":()=>n.Sy,"7082813cc5d60c4c7e6099074897c0c6b957669cb1":()=>n.sy,"709d782c26c7e7854baca9ee5d66ab588938cab663":()=>n.fM,"7cda87ea6eaf270f89f1eabe473a45cb38fb38794a":()=>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)},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,41792)),Promise.resolve().then(c.bind(c,18416)),Promise.resolve().then(c.bind(c,4865)),Promise.resolve().then(c.bind(c,86728)),Promise.resolve().then(c.bind(c,69565)),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")},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,2718,6807,7905,1881],()=>b(b.s=55863));module.exports=c})();
|